16241 lines
554 KiB
JavaScript
Vendored
16241 lines
554 KiB
JavaScript
Vendored
const scriptRel = "modulepreload";
|
|
const assetsURL = function(dep) {
|
|
return "/build/" + dep;
|
|
};
|
|
const seen = {};
|
|
const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
if (!deps || deps.length === 0) {
|
|
return baseModule();
|
|
}
|
|
return Promise.all(deps.map((dep) => {
|
|
dep = assetsURL(dep);
|
|
if (dep in seen)
|
|
return;
|
|
seen[dep] = true;
|
|
const isCss = dep.endsWith(".css");
|
|
const cssSelector = isCss ? '[rel="stylesheet"]' : "";
|
|
if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) {
|
|
return;
|
|
}
|
|
const link = document.createElement("link");
|
|
link.rel = isCss ? "stylesheet" : scriptRel;
|
|
if (!isCss) {
|
|
link.as = "script";
|
|
link.crossOrigin = "";
|
|
}
|
|
link.href = dep;
|
|
document.head.appendChild(link);
|
|
if (isCss) {
|
|
return new Promise((res, rej) => {
|
|
link.addEventListener("load", res);
|
|
link.addEventListener("error", () => rej(new Error(`Unable to preload CSS for ${dep}`)));
|
|
});
|
|
}
|
|
})).then(() => baseModule());
|
|
};
|
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
function getDefaultExportFromCjs(x) {
|
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
}
|
|
function getAugmentedNamespace(n2) {
|
|
var f2 = n2.default;
|
|
if (typeof f2 == "function") {
|
|
var a2 = function() {
|
|
return f2.apply(this, arguments);
|
|
};
|
|
a2.prototype = f2.prototype;
|
|
} else
|
|
a2 = {};
|
|
Object.defineProperty(a2, "__esModule", { value: true });
|
|
Object.keys(n2).forEach(function(k) {
|
|
var d2 = Object.getOwnPropertyDescriptor(n2, k);
|
|
Object.defineProperty(a2, k, d2.get ? d2 : {
|
|
enumerable: true,
|
|
get: function() {
|
|
return n2[k];
|
|
}
|
|
});
|
|
});
|
|
return a2;
|
|
}
|
|
var lodash_isequal = { exports: {} };
|
|
(function(module, exports) {
|
|
var LARGE_ARRAY_SIZE = 200;
|
|
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
|
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;
|
|
var MAX_SAFE_INTEGER2 = 9007199254740991;
|
|
var argsTag2 = "[object Arguments]", arrayTag2 = "[object Array]", asyncTag2 = "[object AsyncFunction]", boolTag2 = "[object Boolean]", dateTag2 = "[object Date]", errorTag2 = "[object Error]", funcTag2 = "[object Function]", genTag2 = "[object GeneratorFunction]", mapTag2 = "[object Map]", numberTag2 = "[object Number]", nullTag2 = "[object Null]", objectTag2 = "[object Object]", promiseTag = "[object Promise]", proxyTag2 = "[object Proxy]", regexpTag2 = "[object RegExp]", setTag2 = "[object Set]", stringTag2 = "[object String]", symbolTag = "[object Symbol]", undefinedTag2 = "[object Undefined]", weakMapTag2 = "[object WeakMap]";
|
|
var arrayBufferTag2 = "[object ArrayBuffer]", dataViewTag2 = "[object DataView]", float32Tag2 = "[object Float32Array]", float64Tag2 = "[object Float64Array]", int8Tag2 = "[object Int8Array]", int16Tag2 = "[object Int16Array]", int32Tag2 = "[object Int32Array]", uint8Tag2 = "[object Uint8Array]", uint8ClampedTag2 = "[object Uint8ClampedArray]", uint16Tag2 = "[object Uint16Array]", uint32Tag2 = "[object Uint32Array]";
|
|
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
var reIsUint2 = /^(?:0|[1-9]\d*)$/;
|
|
var typedArrayTags2 = {};
|
|
typedArrayTags2[float32Tag2] = typedArrayTags2[float64Tag2] = typedArrayTags2[int8Tag2] = typedArrayTags2[int16Tag2] = typedArrayTags2[int32Tag2] = typedArrayTags2[uint8Tag2] = typedArrayTags2[uint8ClampedTag2] = typedArrayTags2[uint16Tag2] = typedArrayTags2[uint32Tag2] = true;
|
|
typedArrayTags2[argsTag2] = typedArrayTags2[arrayTag2] = typedArrayTags2[arrayBufferTag2] = typedArrayTags2[boolTag2] = typedArrayTags2[dataViewTag2] = typedArrayTags2[dateTag2] = typedArrayTags2[errorTag2] = typedArrayTags2[funcTag2] = typedArrayTags2[mapTag2] = typedArrayTags2[numberTag2] = typedArrayTags2[objectTag2] = typedArrayTags2[regexpTag2] = typedArrayTags2[setTag2] = typedArrayTags2[stringTag2] = typedArrayTags2[weakMapTag2] = false;
|
|
var freeGlobal2 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
var freeSelf2 = typeof self == "object" && self && self.Object === Object && self;
|
|
var root2 = freeGlobal2 || freeSelf2 || Function("return this")();
|
|
var freeExports = exports && !exports.nodeType && exports;
|
|
var freeModule = freeExports && true && module && !module.nodeType && module;
|
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
var freeProcess = moduleExports && freeGlobal2.process;
|
|
var nodeUtil2 = function() {
|
|
try {
|
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
} catch (e2) {
|
|
}
|
|
}();
|
|
var nodeIsTypedArray2 = nodeUtil2 && nodeUtil2.isTypedArray;
|
|
function arrayFilter(array, predicate) {
|
|
var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
|
|
while (++index2 < length) {
|
|
var value = array[index2];
|
|
if (predicate(value, index2, array)) {
|
|
result[resIndex++] = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function arrayPush(array, values) {
|
|
var index2 = -1, length = values.length, offset = array.length;
|
|
while (++index2 < length) {
|
|
array[offset + index2] = values[index2];
|
|
}
|
|
return array;
|
|
}
|
|
function arraySome(array, predicate) {
|
|
var index2 = -1, length = array == null ? 0 : array.length;
|
|
while (++index2 < length) {
|
|
if (predicate(array[index2], index2, array)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function baseTimes2(n2, iteratee) {
|
|
var index2 = -1, result = Array(n2);
|
|
while (++index2 < n2) {
|
|
result[index2] = iteratee(index2);
|
|
}
|
|
return result;
|
|
}
|
|
function baseUnary2(func) {
|
|
return function(value) {
|
|
return func(value);
|
|
};
|
|
}
|
|
function cacheHas(cache, key) {
|
|
return cache.has(key);
|
|
}
|
|
function getValue2(object, key) {
|
|
return object == null ? void 0 : object[key];
|
|
}
|
|
function mapToArray(map) {
|
|
var index2 = -1, result = Array(map.size);
|
|
map.forEach(function(value, key) {
|
|
result[++index2] = [key, value];
|
|
});
|
|
return result;
|
|
}
|
|
function overArg2(func, transform) {
|
|
return function(arg) {
|
|
return func(transform(arg));
|
|
};
|
|
}
|
|
function setToArray(set2) {
|
|
var index2 = -1, result = Array(set2.size);
|
|
set2.forEach(function(value) {
|
|
result[++index2] = value;
|
|
});
|
|
return result;
|
|
}
|
|
var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto2 = Object.prototype;
|
|
var coreJsData = root2["__core-js_shared__"];
|
|
var funcToString = funcProto.toString;
|
|
var hasOwnProperty2 = objectProto2.hasOwnProperty;
|
|
var maskSrcKey = function() {
|
|
var uid2 = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
|
|
return uid2 ? "Symbol(src)_1." + uid2 : "";
|
|
}();
|
|
var nativeObjectToString2 = objectProto2.toString;
|
|
var reIsNative = RegExp(
|
|
"^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
);
|
|
var Buffer = moduleExports ? root2.Buffer : void 0, Symbol2 = root2.Symbol, Uint8Array2 = root2.Uint8Array, propertyIsEnumerable2 = objectProto2.propertyIsEnumerable, splice = arrayProto.splice, symToStringTag2 = Symbol2 ? Symbol2.toStringTag : void 0;
|
|
var nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0, nativeKeys2 = overArg2(Object.keys, Object);
|
|
var DataView2 = getNative(root2, "DataView"), Map2 = getNative(root2, "Map"), Promise2 = getNative(root2, "Promise"), Set2 = getNative(root2, "Set"), WeakMap2 = getNative(root2, "WeakMap"), nativeCreate = getNative(Object, "create");
|
|
var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
|
|
var symbolProto = Symbol2 ? Symbol2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
|
|
function Hash(entries) {
|
|
var index2 = -1, length = entries == null ? 0 : entries.length;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function hashClear() {
|
|
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
|
this.size = 0;
|
|
}
|
|
function hashDelete(key) {
|
|
var result = this.has(key) && delete this.__data__[key];
|
|
this.size -= result ? 1 : 0;
|
|
return result;
|
|
}
|
|
function hashGet(key) {
|
|
var data = this.__data__;
|
|
if (nativeCreate) {
|
|
var result = data[key];
|
|
return result === HASH_UNDEFINED ? void 0 : result;
|
|
}
|
|
return hasOwnProperty2.call(data, key) ? data[key] : void 0;
|
|
}
|
|
function hashHas(key) {
|
|
var data = this.__data__;
|
|
return nativeCreate ? data[key] !== void 0 : hasOwnProperty2.call(data, key);
|
|
}
|
|
function hashSet(key, value) {
|
|
var data = this.__data__;
|
|
this.size += this.has(key) ? 0 : 1;
|
|
data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
|
|
return this;
|
|
}
|
|
Hash.prototype.clear = hashClear;
|
|
Hash.prototype["delete"] = hashDelete;
|
|
Hash.prototype.get = hashGet;
|
|
Hash.prototype.has = hashHas;
|
|
Hash.prototype.set = hashSet;
|
|
function ListCache(entries) {
|
|
var index2 = -1, length = entries == null ? 0 : entries.length;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function listCacheClear() {
|
|
this.__data__ = [];
|
|
this.size = 0;
|
|
}
|
|
function listCacheDelete(key) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
if (index2 < 0) {
|
|
return false;
|
|
}
|
|
var lastIndex = data.length - 1;
|
|
if (index2 == lastIndex) {
|
|
data.pop();
|
|
} else {
|
|
splice.call(data, index2, 1);
|
|
}
|
|
--this.size;
|
|
return true;
|
|
}
|
|
function listCacheGet(key) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
return index2 < 0 ? void 0 : data[index2][1];
|
|
}
|
|
function listCacheHas(key) {
|
|
return assocIndexOf(this.__data__, key) > -1;
|
|
}
|
|
function listCacheSet(key, value) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
if (index2 < 0) {
|
|
++this.size;
|
|
data.push([key, value]);
|
|
} else {
|
|
data[index2][1] = value;
|
|
}
|
|
return this;
|
|
}
|
|
ListCache.prototype.clear = listCacheClear;
|
|
ListCache.prototype["delete"] = listCacheDelete;
|
|
ListCache.prototype.get = listCacheGet;
|
|
ListCache.prototype.has = listCacheHas;
|
|
ListCache.prototype.set = listCacheSet;
|
|
function MapCache(entries) {
|
|
var index2 = -1, length = entries == null ? 0 : entries.length;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function mapCacheClear() {
|
|
this.size = 0;
|
|
this.__data__ = {
|
|
"hash": new Hash(),
|
|
"map": new (Map2 || ListCache)(),
|
|
"string": new Hash()
|
|
};
|
|
}
|
|
function mapCacheDelete(key) {
|
|
var result = getMapData(this, key)["delete"](key);
|
|
this.size -= result ? 1 : 0;
|
|
return result;
|
|
}
|
|
function mapCacheGet(key) {
|
|
return getMapData(this, key).get(key);
|
|
}
|
|
function mapCacheHas(key) {
|
|
return getMapData(this, key).has(key);
|
|
}
|
|
function mapCacheSet(key, value) {
|
|
var data = getMapData(this, key), size2 = data.size;
|
|
data.set(key, value);
|
|
this.size += data.size == size2 ? 0 : 1;
|
|
return this;
|
|
}
|
|
MapCache.prototype.clear = mapCacheClear;
|
|
MapCache.prototype["delete"] = mapCacheDelete;
|
|
MapCache.prototype.get = mapCacheGet;
|
|
MapCache.prototype.has = mapCacheHas;
|
|
MapCache.prototype.set = mapCacheSet;
|
|
function SetCache(values) {
|
|
var index2 = -1, length = values == null ? 0 : values.length;
|
|
this.__data__ = new MapCache();
|
|
while (++index2 < length) {
|
|
this.add(values[index2]);
|
|
}
|
|
}
|
|
function setCacheAdd(value) {
|
|
this.__data__.set(value, HASH_UNDEFINED);
|
|
return this;
|
|
}
|
|
function setCacheHas(value) {
|
|
return this.__data__.has(value);
|
|
}
|
|
SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
|
|
SetCache.prototype.has = setCacheHas;
|
|
function Stack(entries) {
|
|
var data = this.__data__ = new ListCache(entries);
|
|
this.size = data.size;
|
|
}
|
|
function stackClear() {
|
|
this.__data__ = new ListCache();
|
|
this.size = 0;
|
|
}
|
|
function stackDelete(key) {
|
|
var data = this.__data__, result = data["delete"](key);
|
|
this.size = data.size;
|
|
return result;
|
|
}
|
|
function stackGet(key) {
|
|
return this.__data__.get(key);
|
|
}
|
|
function stackHas(key) {
|
|
return this.__data__.has(key);
|
|
}
|
|
function stackSet(key, value) {
|
|
var data = this.__data__;
|
|
if (data instanceof ListCache) {
|
|
var pairs = data.__data__;
|
|
if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
|
|
pairs.push([key, value]);
|
|
this.size = ++data.size;
|
|
return this;
|
|
}
|
|
data = this.__data__ = new MapCache(pairs);
|
|
}
|
|
data.set(key, value);
|
|
this.size = data.size;
|
|
return this;
|
|
}
|
|
Stack.prototype.clear = stackClear;
|
|
Stack.prototype["delete"] = stackDelete;
|
|
Stack.prototype.get = stackGet;
|
|
Stack.prototype.has = stackHas;
|
|
Stack.prototype.set = stackSet;
|
|
function arrayLikeKeys2(value, inherited) {
|
|
var isArr = isArray2(value), isArg = !isArr && isArguments2(value), isBuff = !isArr && !isArg && isBuffer3(value), isType = !isArr && !isArg && !isBuff && isTypedArray2(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes2(value.length, String) : [], length = result.length;
|
|
for (var key in value) {
|
|
if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex2(key, length)))) {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function assocIndexOf(array, key) {
|
|
var length = array.length;
|
|
while (length--) {
|
|
if (eq(array[length][0], key)) {
|
|
return length;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
|
|
var result = keysFunc(object);
|
|
return isArray2(object) ? result : arrayPush(result, symbolsFunc(object));
|
|
}
|
|
function baseGetTag2(value) {
|
|
if (value == null) {
|
|
return value === void 0 ? undefinedTag2 : nullTag2;
|
|
}
|
|
return symToStringTag2 && symToStringTag2 in Object(value) ? getRawTag2(value) : objectToString2(value);
|
|
}
|
|
function baseIsArguments2(value) {
|
|
return isObjectLike2(value) && baseGetTag2(value) == argsTag2;
|
|
}
|
|
function baseIsEqual(value, other, bitmask, customizer, stack2) {
|
|
if (value === other) {
|
|
return true;
|
|
}
|
|
if (value == null || other == null || !isObjectLike2(value) && !isObjectLike2(other)) {
|
|
return value !== value && other !== other;
|
|
}
|
|
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack2);
|
|
}
|
|
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack2) {
|
|
var objIsArr = isArray2(object), othIsArr = isArray2(other), objTag = objIsArr ? arrayTag2 : getTag(object), othTag = othIsArr ? arrayTag2 : getTag(other);
|
|
objTag = objTag == argsTag2 ? objectTag2 : objTag;
|
|
othTag = othTag == argsTag2 ? objectTag2 : othTag;
|
|
var objIsObj = objTag == objectTag2, othIsObj = othTag == objectTag2, isSameTag = objTag == othTag;
|
|
if (isSameTag && isBuffer3(object)) {
|
|
if (!isBuffer3(other)) {
|
|
return false;
|
|
}
|
|
objIsArr = true;
|
|
objIsObj = false;
|
|
}
|
|
if (isSameTag && !objIsObj) {
|
|
stack2 || (stack2 = new Stack());
|
|
return objIsArr || isTypedArray2(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack2) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack2);
|
|
}
|
|
if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
|
|
var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
|
|
if (objIsWrapped || othIsWrapped) {
|
|
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
|
|
stack2 || (stack2 = new Stack());
|
|
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack2);
|
|
}
|
|
}
|
|
if (!isSameTag) {
|
|
return false;
|
|
}
|
|
stack2 || (stack2 = new Stack());
|
|
return equalObjects(object, other, bitmask, customizer, equalFunc, stack2);
|
|
}
|
|
function baseIsNative(value) {
|
|
if (!isObject2(value) || isMasked(value)) {
|
|
return false;
|
|
}
|
|
var pattern = isFunction2(value) ? reIsNative : reIsHostCtor;
|
|
return pattern.test(toSource(value));
|
|
}
|
|
function baseIsTypedArray2(value) {
|
|
return isObjectLike2(value) && isLength2(value.length) && !!typedArrayTags2[baseGetTag2(value)];
|
|
}
|
|
function baseKeys2(object) {
|
|
if (!isPrototype2(object)) {
|
|
return nativeKeys2(object);
|
|
}
|
|
var result = [];
|
|
for (var key in Object(object)) {
|
|
if (hasOwnProperty2.call(object, key) && key != "constructor") {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function equalArrays(array, other, bitmask, customizer, equalFunc, stack2) {
|
|
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
|
|
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
|
return false;
|
|
}
|
|
var stacked = stack2.get(array);
|
|
if (stacked && stack2.get(other)) {
|
|
return stacked == other;
|
|
}
|
|
var index2 = -1, result = true, seen2 = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
|
|
stack2.set(array, other);
|
|
stack2.set(other, array);
|
|
while (++index2 < arrLength) {
|
|
var arrValue = array[index2], othValue = other[index2];
|
|
if (customizer) {
|
|
var compared = isPartial ? customizer(othValue, arrValue, index2, other, array, stack2) : customizer(arrValue, othValue, index2, array, other, stack2);
|
|
}
|
|
if (compared !== void 0) {
|
|
if (compared) {
|
|
continue;
|
|
}
|
|
result = false;
|
|
break;
|
|
}
|
|
if (seen2) {
|
|
if (!arraySome(other, function(othValue2, othIndex) {
|
|
if (!cacheHas(seen2, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack2))) {
|
|
return seen2.push(othIndex);
|
|
}
|
|
})) {
|
|
result = false;
|
|
break;
|
|
}
|
|
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack2))) {
|
|
result = false;
|
|
break;
|
|
}
|
|
}
|
|
stack2["delete"](array);
|
|
stack2["delete"](other);
|
|
return result;
|
|
}
|
|
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack2) {
|
|
switch (tag) {
|
|
case dataViewTag2:
|
|
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
|
|
return false;
|
|
}
|
|
object = object.buffer;
|
|
other = other.buffer;
|
|
case arrayBufferTag2:
|
|
if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
|
|
return false;
|
|
}
|
|
return true;
|
|
case boolTag2:
|
|
case dateTag2:
|
|
case numberTag2:
|
|
return eq(+object, +other);
|
|
case errorTag2:
|
|
return object.name == other.name && object.message == other.message;
|
|
case regexpTag2:
|
|
case stringTag2:
|
|
return object == other + "";
|
|
case mapTag2:
|
|
var convert = mapToArray;
|
|
case setTag2:
|
|
var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
|
|
convert || (convert = setToArray);
|
|
if (object.size != other.size && !isPartial) {
|
|
return false;
|
|
}
|
|
var stacked = stack2.get(object);
|
|
if (stacked) {
|
|
return stacked == other;
|
|
}
|
|
bitmask |= COMPARE_UNORDERED_FLAG;
|
|
stack2.set(object, other);
|
|
var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack2);
|
|
stack2["delete"](object);
|
|
return result;
|
|
case symbolTag:
|
|
if (symbolValueOf) {
|
|
return symbolValueOf.call(object) == symbolValueOf.call(other);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function equalObjects(object, other, bitmask, customizer, equalFunc, stack2) {
|
|
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
|
|
if (objLength != othLength && !isPartial) {
|
|
return false;
|
|
}
|
|
var index2 = objLength;
|
|
while (index2--) {
|
|
var key = objProps[index2];
|
|
if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) {
|
|
return false;
|
|
}
|
|
}
|
|
var stacked = stack2.get(object);
|
|
if (stacked && stack2.get(other)) {
|
|
return stacked == other;
|
|
}
|
|
var result = true;
|
|
stack2.set(object, other);
|
|
stack2.set(other, object);
|
|
var skipCtor = isPartial;
|
|
while (++index2 < objLength) {
|
|
key = objProps[index2];
|
|
var objValue = object[key], othValue = other[key];
|
|
if (customizer) {
|
|
var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack2) : customizer(objValue, othValue, key, object, other, stack2);
|
|
}
|
|
if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack2) : compared)) {
|
|
result = false;
|
|
break;
|
|
}
|
|
skipCtor || (skipCtor = key == "constructor");
|
|
}
|
|
if (result && !skipCtor) {
|
|
var objCtor = object.constructor, othCtor = other.constructor;
|
|
if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
|
|
result = false;
|
|
}
|
|
}
|
|
stack2["delete"](object);
|
|
stack2["delete"](other);
|
|
return result;
|
|
}
|
|
function getAllKeys(object) {
|
|
return baseGetAllKeys(object, keys2, getSymbols);
|
|
}
|
|
function getMapData(map, key) {
|
|
var data = map.__data__;
|
|
return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
|
|
}
|
|
function getNative(object, key) {
|
|
var value = getValue2(object, key);
|
|
return baseIsNative(value) ? value : void 0;
|
|
}
|
|
function getRawTag2(value) {
|
|
var isOwn = hasOwnProperty2.call(value, symToStringTag2), tag = value[symToStringTag2];
|
|
try {
|
|
value[symToStringTag2] = void 0;
|
|
var unmasked = true;
|
|
} catch (e2) {
|
|
}
|
|
var result = nativeObjectToString2.call(value);
|
|
if (unmasked) {
|
|
if (isOwn) {
|
|
value[symToStringTag2] = tag;
|
|
} else {
|
|
delete value[symToStringTag2];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
|
|
if (object == null) {
|
|
return [];
|
|
}
|
|
object = Object(object);
|
|
return arrayFilter(nativeGetSymbols(object), function(symbol) {
|
|
return propertyIsEnumerable2.call(object, symbol);
|
|
});
|
|
};
|
|
var getTag = baseGetTag2;
|
|
if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag2 || Map2 && getTag(new Map2()) != mapTag2 || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag2 || WeakMap2 && getTag(new WeakMap2()) != weakMapTag2) {
|
|
getTag = function(value) {
|
|
var result = baseGetTag2(value), Ctor = result == objectTag2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
|
|
if (ctorString) {
|
|
switch (ctorString) {
|
|
case dataViewCtorString:
|
|
return dataViewTag2;
|
|
case mapCtorString:
|
|
return mapTag2;
|
|
case promiseCtorString:
|
|
return promiseTag;
|
|
case setCtorString:
|
|
return setTag2;
|
|
case weakMapCtorString:
|
|
return weakMapTag2;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function isIndex2(value, length) {
|
|
length = length == null ? MAX_SAFE_INTEGER2 : length;
|
|
return !!length && (typeof value == "number" || reIsUint2.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
}
|
|
function isKeyable(value) {
|
|
var type = typeof value;
|
|
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
|
|
}
|
|
function isMasked(func) {
|
|
return !!maskSrcKey && maskSrcKey in func;
|
|
}
|
|
function isPrototype2(value) {
|
|
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto2;
|
|
return value === proto;
|
|
}
|
|
function objectToString2(value) {
|
|
return nativeObjectToString2.call(value);
|
|
}
|
|
function toSource(func) {
|
|
if (func != null) {
|
|
try {
|
|
return funcToString.call(func);
|
|
} catch (e2) {
|
|
}
|
|
try {
|
|
return func + "";
|
|
} catch (e2) {
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
function eq(value, other) {
|
|
return value === other || value !== value && other !== other;
|
|
}
|
|
var isArguments2 = baseIsArguments2(function() {
|
|
return arguments;
|
|
}()) ? baseIsArguments2 : function(value) {
|
|
return isObjectLike2(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable2.call(value, "callee");
|
|
};
|
|
var isArray2 = Array.isArray;
|
|
function isArrayLike2(value) {
|
|
return value != null && isLength2(value.length) && !isFunction2(value);
|
|
}
|
|
var isBuffer3 = nativeIsBuffer || stubFalse2;
|
|
function isEqual(value, other) {
|
|
return baseIsEqual(value, other);
|
|
}
|
|
function isFunction2(value) {
|
|
if (!isObject2(value)) {
|
|
return false;
|
|
}
|
|
var tag = baseGetTag2(value);
|
|
return tag == funcTag2 || tag == genTag2 || tag == asyncTag2 || tag == proxyTag2;
|
|
}
|
|
function isLength2(value) {
|
|
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
|
|
}
|
|
function isObject2(value) {
|
|
var type = typeof value;
|
|
return value != null && (type == "object" || type == "function");
|
|
}
|
|
function isObjectLike2(value) {
|
|
return value != null && typeof value == "object";
|
|
}
|
|
var isTypedArray2 = nodeIsTypedArray2 ? baseUnary2(nodeIsTypedArray2) : baseIsTypedArray2;
|
|
function keys2(object) {
|
|
return isArrayLike2(object) ? arrayLikeKeys2(object) : baseKeys2(object);
|
|
}
|
|
function stubArray() {
|
|
return [];
|
|
}
|
|
function stubFalse2() {
|
|
return false;
|
|
}
|
|
module.exports = isEqual;
|
|
})(lodash_isequal, lodash_isequal.exports);
|
|
function makeMap(str, expectsLowerCase) {
|
|
const map = /* @__PURE__ */ Object.create(null);
|
|
const list = str.split(",");
|
|
for (let i2 = 0; i2 < list.length; i2++) {
|
|
map[list[i2]] = true;
|
|
}
|
|
return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
|
|
}
|
|
const GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt";
|
|
const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
|
|
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
|
|
const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
|
|
function includeBooleanAttr(value) {
|
|
return !!value || value === "";
|
|
}
|
|
function normalizeStyle(value) {
|
|
if (isArray$8(value)) {
|
|
const res = {};
|
|
for (let i2 = 0; i2 < value.length; i2++) {
|
|
const item = value[i2];
|
|
const normalized = isString$2(item) ? parseStringStyle(item) : normalizeStyle(item);
|
|
if (normalized) {
|
|
for (const key in normalized) {
|
|
res[key] = normalized[key];
|
|
}
|
|
}
|
|
}
|
|
return res;
|
|
} else if (isString$2(value)) {
|
|
return value;
|
|
} else if (isObject$4(value)) {
|
|
return value;
|
|
}
|
|
}
|
|
const listDelimiterRE = /;(?![^(]*\))/g;
|
|
const propertyDelimiterRE = /:(.+)/;
|
|
function parseStringStyle(cssText) {
|
|
const ret = {};
|
|
cssText.split(listDelimiterRE).forEach((item) => {
|
|
if (item) {
|
|
const tmp = item.split(propertyDelimiterRE);
|
|
tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
|
|
}
|
|
});
|
|
return ret;
|
|
}
|
|
function normalizeClass(value) {
|
|
let res = "";
|
|
if (isString$2(value)) {
|
|
res = value;
|
|
} else if (isArray$8(value)) {
|
|
for (let i2 = 0; i2 < value.length; i2++) {
|
|
const normalized = normalizeClass(value[i2]);
|
|
if (normalized) {
|
|
res += normalized + " ";
|
|
}
|
|
}
|
|
} else if (isObject$4(value)) {
|
|
for (const name2 in value) {
|
|
if (value[name2]) {
|
|
res += name2 + " ";
|
|
}
|
|
}
|
|
}
|
|
return res.trim();
|
|
}
|
|
function normalizeProps(props) {
|
|
if (!props)
|
|
return null;
|
|
let { class: klass, style } = props;
|
|
if (klass && !isString$2(klass)) {
|
|
props.class = normalizeClass(klass);
|
|
}
|
|
if (style) {
|
|
props.style = normalizeStyle(style);
|
|
}
|
|
return props;
|
|
}
|
|
function looseCompareArrays(a2, b2) {
|
|
if (a2.length !== b2.length)
|
|
return false;
|
|
let equal = true;
|
|
for (let i2 = 0; equal && i2 < a2.length; i2++) {
|
|
equal = looseEqual(a2[i2], b2[i2]);
|
|
}
|
|
return equal;
|
|
}
|
|
function looseEqual(a2, b2) {
|
|
if (a2 === b2)
|
|
return true;
|
|
let aValidType = isDate$2(a2);
|
|
let bValidType = isDate$2(b2);
|
|
if (aValidType || bValidType) {
|
|
return aValidType && bValidType ? a2.getTime() === b2.getTime() : false;
|
|
}
|
|
aValidType = isSymbol$1(a2);
|
|
bValidType = isSymbol$1(b2);
|
|
if (aValidType || bValidType) {
|
|
return a2 === b2;
|
|
}
|
|
aValidType = isArray$8(a2);
|
|
bValidType = isArray$8(b2);
|
|
if (aValidType || bValidType) {
|
|
return aValidType && bValidType ? looseCompareArrays(a2, b2) : false;
|
|
}
|
|
aValidType = isObject$4(a2);
|
|
bValidType = isObject$4(b2);
|
|
if (aValidType || bValidType) {
|
|
if (!aValidType || !bValidType) {
|
|
return false;
|
|
}
|
|
const aKeysCount = Object.keys(a2).length;
|
|
const bKeysCount = Object.keys(b2).length;
|
|
if (aKeysCount !== bKeysCount) {
|
|
return false;
|
|
}
|
|
for (const key in a2) {
|
|
const aHasKey = a2.hasOwnProperty(key);
|
|
const bHasKey = b2.hasOwnProperty(key);
|
|
if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a2[key], b2[key])) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return String(a2) === String(b2);
|
|
}
|
|
function looseIndexOf(arr, val) {
|
|
return arr.findIndex((item) => looseEqual(item, val));
|
|
}
|
|
const toDisplayString = (val) => {
|
|
return isString$2(val) ? val : val == null ? "" : isArray$8(val) || isObject$4(val) && (val.toString === objectToString$3 || !isFunction$3(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);
|
|
};
|
|
const replacer = (_key, val) => {
|
|
if (val && val.__v_isRef) {
|
|
return replacer(_key, val.value);
|
|
} else if (isMap$1(val)) {
|
|
return {
|
|
[`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
|
|
entries[`${key} =>`] = val2;
|
|
return entries;
|
|
}, {})
|
|
};
|
|
} else if (isSet$1(val)) {
|
|
return {
|
|
[`Set(${val.size})`]: [...val.values()]
|
|
};
|
|
} else if (isObject$4(val) && !isArray$8(val) && !isPlainObject$1(val)) {
|
|
return String(val);
|
|
}
|
|
return val;
|
|
};
|
|
const EMPTY_OBJ = {};
|
|
const EMPTY_ARR = [];
|
|
const NOOP = () => {
|
|
};
|
|
const NO = () => false;
|
|
const onRE = /^on[^a-z]/;
|
|
const isOn = (key) => onRE.test(key);
|
|
const isModelListener = (key) => key.startsWith("onUpdate:");
|
|
const extend$1 = Object.assign;
|
|
const remove = (arr, el) => {
|
|
const i2 = arr.indexOf(el);
|
|
if (i2 > -1) {
|
|
arr.splice(i2, 1);
|
|
}
|
|
};
|
|
const hasOwnProperty$4 = Object.prototype.hasOwnProperty;
|
|
const hasOwn$2 = (val, key) => hasOwnProperty$4.call(val, key);
|
|
const isArray$8 = Array.isArray;
|
|
const isMap$1 = (val) => toTypeString(val) === "[object Map]";
|
|
const isSet$1 = (val) => toTypeString(val) === "[object Set]";
|
|
const isDate$2 = (val) => toTypeString(val) === "[object Date]";
|
|
const isFunction$3 = (val) => typeof val === "function";
|
|
const isString$2 = (val) => typeof val === "string";
|
|
const isSymbol$1 = (val) => typeof val === "symbol";
|
|
const isObject$4 = (val) => val !== null && typeof val === "object";
|
|
const isPromise$1 = (val) => {
|
|
return isObject$4(val) && isFunction$3(val.then) && isFunction$3(val.catch);
|
|
};
|
|
const objectToString$3 = Object.prototype.toString;
|
|
const toTypeString = (value) => objectToString$3.call(value);
|
|
const toRawType = (value) => {
|
|
return toTypeString(value).slice(8, -1);
|
|
};
|
|
const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]";
|
|
const isIntegerKey = (key) => isString$2(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
|
|
const isReservedProp = /* @__PURE__ */ makeMap(
|
|
",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
|
|
);
|
|
const cacheStringFunction = (fn) => {
|
|
const cache = /* @__PURE__ */ Object.create(null);
|
|
return (str) => {
|
|
const hit = cache[str];
|
|
return hit || (cache[str] = fn(str));
|
|
};
|
|
};
|
|
const camelizeRE = /-(\w)/g;
|
|
const camelize = cacheStringFunction((str) => {
|
|
return str.replace(camelizeRE, (_, c2) => c2 ? c2.toUpperCase() : "");
|
|
});
|
|
const hyphenateRE = /\B([A-Z])/g;
|
|
const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase());
|
|
const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));
|
|
const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);
|
|
const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
|
|
const invokeArrayFns = (fns, arg) => {
|
|
for (let i2 = 0; i2 < fns.length; i2++) {
|
|
fns[i2](arg);
|
|
}
|
|
};
|
|
const def = (obj, key, value) => {
|
|
Object.defineProperty(obj, key, {
|
|
configurable: true,
|
|
enumerable: false,
|
|
value
|
|
});
|
|
};
|
|
const toNumber = (val) => {
|
|
const n2 = parseFloat(val);
|
|
return isNaN(n2) ? val : n2;
|
|
};
|
|
let _globalThis;
|
|
const getGlobalThis = () => {
|
|
return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
|
|
};
|
|
let activeEffectScope;
|
|
class EffectScope {
|
|
constructor(detached = false) {
|
|
this.active = true;
|
|
this.effects = [];
|
|
this.cleanups = [];
|
|
if (!detached && activeEffectScope) {
|
|
this.parent = activeEffectScope;
|
|
this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
|
|
}
|
|
}
|
|
run(fn) {
|
|
if (this.active) {
|
|
const currentEffectScope = activeEffectScope;
|
|
try {
|
|
activeEffectScope = this;
|
|
return fn();
|
|
} finally {
|
|
activeEffectScope = currentEffectScope;
|
|
}
|
|
}
|
|
}
|
|
on() {
|
|
activeEffectScope = this;
|
|
}
|
|
off() {
|
|
activeEffectScope = this.parent;
|
|
}
|
|
stop(fromParent) {
|
|
if (this.active) {
|
|
let i2, l2;
|
|
for (i2 = 0, l2 = this.effects.length; i2 < l2; i2++) {
|
|
this.effects[i2].stop();
|
|
}
|
|
for (i2 = 0, l2 = this.cleanups.length; i2 < l2; i2++) {
|
|
this.cleanups[i2]();
|
|
}
|
|
if (this.scopes) {
|
|
for (i2 = 0, l2 = this.scopes.length; i2 < l2; i2++) {
|
|
this.scopes[i2].stop(true);
|
|
}
|
|
}
|
|
if (this.parent && !fromParent) {
|
|
const last = this.parent.scopes.pop();
|
|
if (last && last !== this) {
|
|
this.parent.scopes[this.index] = last;
|
|
last.index = this.index;
|
|
}
|
|
}
|
|
this.active = false;
|
|
}
|
|
}
|
|
}
|
|
function effectScope(detached) {
|
|
return new EffectScope(detached);
|
|
}
|
|
function recordEffectScope(effect2, scope = activeEffectScope) {
|
|
if (scope && scope.active) {
|
|
scope.effects.push(effect2);
|
|
}
|
|
}
|
|
function getCurrentScope() {
|
|
return activeEffectScope;
|
|
}
|
|
function onScopeDispose(fn) {
|
|
if (activeEffectScope) {
|
|
activeEffectScope.cleanups.push(fn);
|
|
}
|
|
}
|
|
const createDep = (effects) => {
|
|
const dep = new Set(effects);
|
|
dep.w = 0;
|
|
dep.n = 0;
|
|
return dep;
|
|
};
|
|
const wasTracked = (dep) => (dep.w & trackOpBit) > 0;
|
|
const newTracked = (dep) => (dep.n & trackOpBit) > 0;
|
|
const initDepMarkers = ({ deps }) => {
|
|
if (deps.length) {
|
|
for (let i2 = 0; i2 < deps.length; i2++) {
|
|
deps[i2].w |= trackOpBit;
|
|
}
|
|
}
|
|
};
|
|
const finalizeDepMarkers = (effect2) => {
|
|
const { deps } = effect2;
|
|
if (deps.length) {
|
|
let ptr = 0;
|
|
for (let i2 = 0; i2 < deps.length; i2++) {
|
|
const dep = deps[i2];
|
|
if (wasTracked(dep) && !newTracked(dep)) {
|
|
dep.delete(effect2);
|
|
} else {
|
|
deps[ptr++] = dep;
|
|
}
|
|
dep.w &= ~trackOpBit;
|
|
dep.n &= ~trackOpBit;
|
|
}
|
|
deps.length = ptr;
|
|
}
|
|
};
|
|
const targetMap = /* @__PURE__ */ new WeakMap();
|
|
let effectTrackDepth = 0;
|
|
let trackOpBit = 1;
|
|
const maxMarkerBits = 30;
|
|
let activeEffect;
|
|
const ITERATE_KEY = Symbol("");
|
|
const MAP_KEY_ITERATE_KEY = Symbol("");
|
|
class ReactiveEffect {
|
|
constructor(fn, scheduler = null, scope) {
|
|
this.fn = fn;
|
|
this.scheduler = scheduler;
|
|
this.active = true;
|
|
this.deps = [];
|
|
this.parent = void 0;
|
|
recordEffectScope(this, scope);
|
|
}
|
|
run() {
|
|
if (!this.active) {
|
|
return this.fn();
|
|
}
|
|
let parent = activeEffect;
|
|
let lastShouldTrack = shouldTrack;
|
|
while (parent) {
|
|
if (parent === this) {
|
|
return;
|
|
}
|
|
parent = parent.parent;
|
|
}
|
|
try {
|
|
this.parent = activeEffect;
|
|
activeEffect = this;
|
|
shouldTrack = true;
|
|
trackOpBit = 1 << ++effectTrackDepth;
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
initDepMarkers(this);
|
|
} else {
|
|
cleanupEffect(this);
|
|
}
|
|
return this.fn();
|
|
} finally {
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
finalizeDepMarkers(this);
|
|
}
|
|
trackOpBit = 1 << --effectTrackDepth;
|
|
activeEffect = this.parent;
|
|
shouldTrack = lastShouldTrack;
|
|
this.parent = void 0;
|
|
if (this.deferStop) {
|
|
this.stop();
|
|
}
|
|
}
|
|
}
|
|
stop() {
|
|
if (activeEffect === this) {
|
|
this.deferStop = true;
|
|
} else if (this.active) {
|
|
cleanupEffect(this);
|
|
if (this.onStop) {
|
|
this.onStop();
|
|
}
|
|
this.active = false;
|
|
}
|
|
}
|
|
}
|
|
function cleanupEffect(effect2) {
|
|
const { deps } = effect2;
|
|
if (deps.length) {
|
|
for (let i2 = 0; i2 < deps.length; i2++) {
|
|
deps[i2].delete(effect2);
|
|
}
|
|
deps.length = 0;
|
|
}
|
|
}
|
|
function effect(fn, options) {
|
|
if (fn.effect) {
|
|
fn = fn.effect.fn;
|
|
}
|
|
const _effect = new ReactiveEffect(fn);
|
|
if (options) {
|
|
extend$1(_effect, options);
|
|
if (options.scope)
|
|
recordEffectScope(_effect, options.scope);
|
|
}
|
|
if (!options || !options.lazy) {
|
|
_effect.run();
|
|
}
|
|
const runner = _effect.run.bind(_effect);
|
|
runner.effect = _effect;
|
|
return runner;
|
|
}
|
|
function stop(runner) {
|
|
runner.effect.stop();
|
|
}
|
|
let shouldTrack = true;
|
|
const trackStack = [];
|
|
function pauseTracking() {
|
|
trackStack.push(shouldTrack);
|
|
shouldTrack = false;
|
|
}
|
|
function resetTracking() {
|
|
const last = trackStack.pop();
|
|
shouldTrack = last === void 0 ? true : last;
|
|
}
|
|
function track(target, type, key) {
|
|
if (shouldTrack && activeEffect) {
|
|
let depsMap = targetMap.get(target);
|
|
if (!depsMap) {
|
|
targetMap.set(target, depsMap = /* @__PURE__ */ new Map());
|
|
}
|
|
let dep = depsMap.get(key);
|
|
if (!dep) {
|
|
depsMap.set(key, dep = createDep());
|
|
}
|
|
trackEffects(dep);
|
|
}
|
|
}
|
|
function trackEffects(dep, debuggerEventExtraInfo) {
|
|
let shouldTrack2 = false;
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
if (!newTracked(dep)) {
|
|
dep.n |= trackOpBit;
|
|
shouldTrack2 = !wasTracked(dep);
|
|
}
|
|
} else {
|
|
shouldTrack2 = !dep.has(activeEffect);
|
|
}
|
|
if (shouldTrack2) {
|
|
dep.add(activeEffect);
|
|
activeEffect.deps.push(dep);
|
|
}
|
|
}
|
|
function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
const depsMap = targetMap.get(target);
|
|
if (!depsMap) {
|
|
return;
|
|
}
|
|
let deps = [];
|
|
if (type === "clear") {
|
|
deps = [...depsMap.values()];
|
|
} else if (key === "length" && isArray$8(target)) {
|
|
depsMap.forEach((dep, key2) => {
|
|
if (key2 === "length" || key2 >= newValue) {
|
|
deps.push(dep);
|
|
}
|
|
});
|
|
} else {
|
|
if (key !== void 0) {
|
|
deps.push(depsMap.get(key));
|
|
}
|
|
switch (type) {
|
|
case "add":
|
|
if (!isArray$8(target)) {
|
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
if (isMap$1(target)) {
|
|
deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
|
|
}
|
|
} else if (isIntegerKey(key)) {
|
|
deps.push(depsMap.get("length"));
|
|
}
|
|
break;
|
|
case "delete":
|
|
if (!isArray$8(target)) {
|
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
if (isMap$1(target)) {
|
|
deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));
|
|
}
|
|
}
|
|
break;
|
|
case "set":
|
|
if (isMap$1(target)) {
|
|
deps.push(depsMap.get(ITERATE_KEY));
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (deps.length === 1) {
|
|
if (deps[0]) {
|
|
{
|
|
triggerEffects(deps[0]);
|
|
}
|
|
}
|
|
} else {
|
|
const effects = [];
|
|
for (const dep of deps) {
|
|
if (dep) {
|
|
effects.push(...dep);
|
|
}
|
|
}
|
|
{
|
|
triggerEffects(createDep(effects));
|
|
}
|
|
}
|
|
}
|
|
function triggerEffects(dep, debuggerEventExtraInfo) {
|
|
const effects = isArray$8(dep) ? dep : [...dep];
|
|
for (const effect2 of effects) {
|
|
if (effect2.computed) {
|
|
triggerEffect(effect2);
|
|
}
|
|
}
|
|
for (const effect2 of effects) {
|
|
if (!effect2.computed) {
|
|
triggerEffect(effect2);
|
|
}
|
|
}
|
|
}
|
|
function triggerEffect(effect2, debuggerEventExtraInfo) {
|
|
if (effect2 !== activeEffect || effect2.allowRecurse) {
|
|
if (effect2.scheduler) {
|
|
effect2.scheduler();
|
|
} else {
|
|
effect2.run();
|
|
}
|
|
}
|
|
}
|
|
const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
|
|
const builtInSymbols = new Set(
|
|
/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1)
|
|
);
|
|
const get = /* @__PURE__ */ createGetter();
|
|
const shallowGet = /* @__PURE__ */ createGetter(false, true);
|
|
const readonlyGet = /* @__PURE__ */ createGetter(true);
|
|
const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
|
|
const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
|
|
function createArrayInstrumentations() {
|
|
const instrumentations = {};
|
|
["includes", "indexOf", "lastIndexOf"].forEach((key) => {
|
|
instrumentations[key] = function(...args) {
|
|
const arr = toRaw(this);
|
|
for (let i2 = 0, l2 = this.length; i2 < l2; i2++) {
|
|
track(arr, "get", i2 + "");
|
|
}
|
|
const 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(...args) {
|
|
pauseTracking();
|
|
const res = toRaw(this)[key].apply(this, args);
|
|
resetTracking();
|
|
return res;
|
|
};
|
|
});
|
|
return instrumentations;
|
|
}
|
|
function createGetter(isReadonly2 = false, shallow = false) {
|
|
return function get3(target, key, receiver) {
|
|
if (key === "__v_isReactive") {
|
|
return !isReadonly2;
|
|
} else if (key === "__v_isReadonly") {
|
|
return isReadonly2;
|
|
} else if (key === "__v_isShallow") {
|
|
return shallow;
|
|
} else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
|
|
return target;
|
|
}
|
|
const targetIsArray = isArray$8(target);
|
|
if (!isReadonly2 && targetIsArray && hasOwn$2(arrayInstrumentations, key)) {
|
|
return Reflect.get(arrayInstrumentations, key, receiver);
|
|
}
|
|
const res = Reflect.get(target, key, receiver);
|
|
if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {
|
|
return res;
|
|
}
|
|
if (!isReadonly2) {
|
|
track(target, "get", key);
|
|
}
|
|
if (shallow) {
|
|
return res;
|
|
}
|
|
if (isRef(res)) {
|
|
return targetIsArray && isIntegerKey(key) ? res : res.value;
|
|
}
|
|
if (isObject$4(res)) {
|
|
return isReadonly2 ? readonly(res) : reactive(res);
|
|
}
|
|
return res;
|
|
};
|
|
}
|
|
const set = /* @__PURE__ */ createSetter();
|
|
const shallowSet = /* @__PURE__ */ createSetter(true);
|
|
function createSetter(shallow = false) {
|
|
return function set2(target, key, value, receiver) {
|
|
let oldValue = target[key];
|
|
if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
|
|
return false;
|
|
}
|
|
if (!shallow && !isReadonly(value)) {
|
|
if (!isShallow(value)) {
|
|
value = toRaw(value);
|
|
oldValue = toRaw(oldValue);
|
|
}
|
|
if (!isArray$8(target) && isRef(oldValue) && !isRef(value)) {
|
|
oldValue.value = value;
|
|
return true;
|
|
}
|
|
}
|
|
const hadKey = isArray$8(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$2(target, key);
|
|
const 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);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function deleteProperty(target, key) {
|
|
const hadKey = hasOwn$2(target, key);
|
|
target[key];
|
|
const result = Reflect.deleteProperty(target, key);
|
|
if (result && hadKey) {
|
|
trigger(target, "delete", key, void 0);
|
|
}
|
|
return result;
|
|
}
|
|
function has$4(target, key) {
|
|
const result = Reflect.has(target, key);
|
|
if (!isSymbol$1(key) || !builtInSymbols.has(key)) {
|
|
track(target, "has", key);
|
|
}
|
|
return result;
|
|
}
|
|
function ownKeys(target) {
|
|
track(target, "iterate", isArray$8(target) ? "length" : ITERATE_KEY);
|
|
return Reflect.ownKeys(target);
|
|
}
|
|
const mutableHandlers = {
|
|
get,
|
|
set,
|
|
deleteProperty,
|
|
has: has$4,
|
|
ownKeys
|
|
};
|
|
const readonlyHandlers = {
|
|
get: readonlyGet,
|
|
set(target, key) {
|
|
return true;
|
|
},
|
|
deleteProperty(target, key) {
|
|
return true;
|
|
}
|
|
};
|
|
const shallowReactiveHandlers = /* @__PURE__ */ extend$1({}, mutableHandlers, {
|
|
get: shallowGet,
|
|
set: shallowSet
|
|
});
|
|
const shallowReadonlyHandlers = /* @__PURE__ */ extend$1({}, readonlyHandlers, {
|
|
get: shallowReadonlyGet
|
|
});
|
|
const toShallow = (value) => value;
|
|
const getProto$1 = (v) => Reflect.getPrototypeOf(v);
|
|
function get$1(target, key, isReadonly2 = false, isShallow2 = false) {
|
|
target = target["__v_raw"];
|
|
const rawTarget = toRaw(target);
|
|
const rawKey = toRaw(key);
|
|
if (!isReadonly2) {
|
|
if (key !== rawKey) {
|
|
track(rawTarget, "get", key);
|
|
}
|
|
track(rawTarget, "get", rawKey);
|
|
}
|
|
const { has: has2 } = getProto$1(rawTarget);
|
|
const wrap = isShallow2 ? toShallow : isReadonly2 ? 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$1$1(key, isReadonly2 = false) {
|
|
const target = this["__v_raw"];
|
|
const rawTarget = toRaw(target);
|
|
const rawKey = toRaw(key);
|
|
if (!isReadonly2) {
|
|
if (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, isReadonly2 = false) {
|
|
target = target["__v_raw"];
|
|
!isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY);
|
|
return Reflect.get(target, "size", target);
|
|
}
|
|
function add(value) {
|
|
value = toRaw(value);
|
|
const target = toRaw(this);
|
|
const proto = getProto$1(target);
|
|
const hadKey = proto.has.call(target, value);
|
|
if (!hadKey) {
|
|
target.add(value);
|
|
trigger(target, "add", value, value);
|
|
}
|
|
return this;
|
|
}
|
|
function set$1(key, value) {
|
|
value = toRaw(value);
|
|
const target = toRaw(this);
|
|
const { has: has2, get: get3 } = getProto$1(target);
|
|
let hadKey = has2.call(target, key);
|
|
if (!hadKey) {
|
|
key = toRaw(key);
|
|
hadKey = has2.call(target, key);
|
|
}
|
|
const oldValue = get3.call(target, key);
|
|
target.set(key, value);
|
|
if (!hadKey) {
|
|
trigger(target, "add", key, value);
|
|
} else if (hasChanged(value, oldValue)) {
|
|
trigger(target, "set", key, value);
|
|
}
|
|
return this;
|
|
}
|
|
function deleteEntry(key) {
|
|
const target = toRaw(this);
|
|
const { has: has2, get: get3 } = getProto$1(target);
|
|
let hadKey = has2.call(target, key);
|
|
if (!hadKey) {
|
|
key = toRaw(key);
|
|
hadKey = has2.call(target, key);
|
|
}
|
|
get3 ? get3.call(target, key) : void 0;
|
|
const result = target.delete(key);
|
|
if (hadKey) {
|
|
trigger(target, "delete", key, void 0);
|
|
}
|
|
return result;
|
|
}
|
|
function clear() {
|
|
const target = toRaw(this);
|
|
const hadItems = target.size !== 0;
|
|
const result = target.clear();
|
|
if (hadItems) {
|
|
trigger(target, "clear", void 0, void 0);
|
|
}
|
|
return result;
|
|
}
|
|
function createForEach(isReadonly2, isShallow2) {
|
|
return function forEach3(callback, thisArg) {
|
|
const observed = this;
|
|
const target = observed["__v_raw"];
|
|
const rawTarget = toRaw(target);
|
|
const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
|
|
!isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY);
|
|
return target.forEach((value, key) => {
|
|
return callback.call(thisArg, wrap(value), wrap(key), observed);
|
|
});
|
|
};
|
|
}
|
|
function createIterableMethod(method, isReadonly2, isShallow2) {
|
|
return function(...args) {
|
|
const target = this["__v_raw"];
|
|
const rawTarget = toRaw(target);
|
|
const targetIsMap = isMap$1(rawTarget);
|
|
const isPair = method === "entries" || method === Symbol.iterator && targetIsMap;
|
|
const isKeyOnly = method === "keys" && targetIsMap;
|
|
const innerIterator = target[method](...args);
|
|
const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;
|
|
!isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);
|
|
return {
|
|
next() {
|
|
const { value, done } = innerIterator.next();
|
|
return done ? { value, done } : {
|
|
value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),
|
|
done
|
|
};
|
|
},
|
|
[Symbol.iterator]() {
|
|
return this;
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function createReadonlyMethod(type) {
|
|
return function(...args) {
|
|
return type === "delete" ? false : this;
|
|
};
|
|
}
|
|
function createInstrumentations() {
|
|
const mutableInstrumentations2 = {
|
|
get(key) {
|
|
return get$1(this, key);
|
|
},
|
|
get size() {
|
|
return size(this);
|
|
},
|
|
has: has$1$1,
|
|
add,
|
|
set: set$1,
|
|
delete: deleteEntry,
|
|
clear,
|
|
forEach: createForEach(false, false)
|
|
};
|
|
const shallowInstrumentations2 = {
|
|
get(key) {
|
|
return get$1(this, key, false, true);
|
|
},
|
|
get size() {
|
|
return size(this);
|
|
},
|
|
has: has$1$1,
|
|
add,
|
|
set: set$1,
|
|
delete: deleteEntry,
|
|
clear,
|
|
forEach: createForEach(false, true)
|
|
};
|
|
const readonlyInstrumentations2 = {
|
|
get(key) {
|
|
return get$1(this, key, true);
|
|
},
|
|
get size() {
|
|
return size(this, true);
|
|
},
|
|
has(key) {
|
|
return has$1$1.call(this, key, true);
|
|
},
|
|
add: createReadonlyMethod("add"),
|
|
set: createReadonlyMethod("set"),
|
|
delete: createReadonlyMethod("delete"),
|
|
clear: createReadonlyMethod("clear"),
|
|
forEach: createForEach(true, false)
|
|
};
|
|
const shallowReadonlyInstrumentations2 = {
|
|
get(key) {
|
|
return get$1(this, key, true, true);
|
|
},
|
|
get size() {
|
|
return size(this, true);
|
|
},
|
|
has(key) {
|
|
return has$1$1.call(this, key, true);
|
|
},
|
|
add: createReadonlyMethod("add"),
|
|
set: createReadonlyMethod("set"),
|
|
delete: createReadonlyMethod("delete"),
|
|
clear: createReadonlyMethod("clear"),
|
|
forEach: createForEach(true, true)
|
|
};
|
|
const 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
|
|
];
|
|
}
|
|
const [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations();
|
|
function createInstrumentationGetter(isReadonly2, shallow) {
|
|
const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;
|
|
return (target, key, receiver) => {
|
|
if (key === "__v_isReactive") {
|
|
return !isReadonly2;
|
|
} else if (key === "__v_isReadonly") {
|
|
return isReadonly2;
|
|
} else if (key === "__v_raw") {
|
|
return target;
|
|
}
|
|
return Reflect.get(hasOwn$2(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
|
|
};
|
|
}
|
|
const mutableCollectionHandlers = {
|
|
get: /* @__PURE__ */ createInstrumentationGetter(false, false)
|
|
};
|
|
const shallowCollectionHandlers = {
|
|
get: /* @__PURE__ */ createInstrumentationGetter(false, true)
|
|
};
|
|
const readonlyCollectionHandlers = {
|
|
get: /* @__PURE__ */ createInstrumentationGetter(true, false)
|
|
};
|
|
const shallowReadonlyCollectionHandlers = {
|
|
get: /* @__PURE__ */ createInstrumentationGetter(true, true)
|
|
};
|
|
const reactiveMap = /* @__PURE__ */ new WeakMap();
|
|
const shallowReactiveMap = /* @__PURE__ */ new WeakMap();
|
|
const readonlyMap = /* @__PURE__ */ new WeakMap();
|
|
const shallowReadonlyMap = /* @__PURE__ */ new WeakMap();
|
|
function targetTypeMap(rawType) {
|
|
switch (rawType) {
|
|
case "Object":
|
|
case "Array":
|
|
return 1;
|
|
case "Map":
|
|
case "Set":
|
|
case "WeakMap":
|
|
case "WeakSet":
|
|
return 2;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
function getTargetType(value) {
|
|
return value["__v_skip"] || !Object.isExtensible(value) ? 0 : 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$4(target)) {
|
|
return target;
|
|
}
|
|
if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) {
|
|
return target;
|
|
}
|
|
const existingProxy = proxyMap.get(target);
|
|
if (existingProxy) {
|
|
return existingProxy;
|
|
}
|
|
const targetType = getTargetType(target);
|
|
if (targetType === 0) {
|
|
return target;
|
|
}
|
|
const proxy = new Proxy(target, targetType === 2 ? 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) {
|
|
const raw = observed && observed["__v_raw"];
|
|
return raw ? toRaw(raw) : observed;
|
|
}
|
|
function markRaw(value) {
|
|
def(value, "__v_skip", true);
|
|
return value;
|
|
}
|
|
const toReactive = (value) => isObject$4(value) ? reactive(value) : value;
|
|
const toReadonly = (value) => isObject$4(value) ? readonly(value) : value;
|
|
function trackRefValue(ref2) {
|
|
if (shouldTrack && activeEffect) {
|
|
ref2 = toRaw(ref2);
|
|
{
|
|
trackEffects(ref2.dep || (ref2.dep = createDep()));
|
|
}
|
|
}
|
|
}
|
|
function triggerRefValue(ref2, newVal) {
|
|
ref2 = toRaw(ref2);
|
|
if (ref2.dep) {
|
|
{
|
|
triggerEffects(ref2.dep);
|
|
}
|
|
}
|
|
}
|
|
function isRef(r2) {
|
|
return !!(r2 && r2.__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) {
|
|
newVal = this.__v_isShallow ? newVal : toRaw(newVal);
|
|
if (hasChanged(newVal, this._rawValue)) {
|
|
this._rawValue = newVal;
|
|
this._value = this.__v_isShallow ? newVal : toReactive(newVal);
|
|
triggerRefValue(this);
|
|
}
|
|
}
|
|
}
|
|
function triggerRef(ref2) {
|
|
triggerRefValue(ref2);
|
|
}
|
|
function unref(ref2) {
|
|
return isRef(ref2) ? ref2.value : ref2;
|
|
}
|
|
const shallowUnwrapHandlers = {
|
|
get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
|
|
set: (target, key, value, receiver) => {
|
|
const 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;
|
|
const { get: get3, set: set2 } = factory(() => trackRefValue(this), () => triggerRefValue(this));
|
|
this._get = get3;
|
|
this._set = set2;
|
|
}
|
|
get value() {
|
|
return this._get();
|
|
}
|
|
set value(newVal) {
|
|
this._set(newVal);
|
|
}
|
|
}
|
|
function customRef(factory) {
|
|
return new CustomRefImpl(factory);
|
|
}
|
|
function toRefs(object) {
|
|
const ret = isArray$8(object) ? new Array(object.length) : {};
|
|
for (const key in object) {
|
|
ret[key] = toRef(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() {
|
|
const val = this._object[this._key];
|
|
return val === void 0 ? this._defaultValue : val;
|
|
}
|
|
set value(newVal) {
|
|
this._object[this._key] = newVal;
|
|
}
|
|
}
|
|
function toRef(object, key, defaultValue) {
|
|
const val = object[key];
|
|
return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue);
|
|
}
|
|
class ComputedRefImpl {
|
|
constructor(getter, _setter, isReadonly2, isSSR) {
|
|
this._setter = _setter;
|
|
this.dep = void 0;
|
|
this.__v_isRef = true;
|
|
this._dirty = true;
|
|
this.effect = new ReactiveEffect(getter, () => {
|
|
if (!this._dirty) {
|
|
this._dirty = true;
|
|
triggerRefValue(this);
|
|
}
|
|
});
|
|
this.effect.computed = this;
|
|
this.effect.active = this._cacheable = !isSSR;
|
|
this["__v_isReadonly"] = isReadonly2;
|
|
}
|
|
get value() {
|
|
const self2 = toRaw(this);
|
|
trackRefValue(self2);
|
|
if (self2._dirty || !self2._cacheable) {
|
|
self2._dirty = false;
|
|
self2._value = self2.effect.run();
|
|
}
|
|
return self2._value;
|
|
}
|
|
set value(newValue) {
|
|
this._setter(newValue);
|
|
}
|
|
}
|
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
let getter;
|
|
let setter;
|
|
const onlyGetter = isFunction$3(getterOrOptions);
|
|
if (onlyGetter) {
|
|
getter = getterOrOptions;
|
|
setter = NOOP;
|
|
} else {
|
|
getter = getterOrOptions.get;
|
|
setter = getterOrOptions.set;
|
|
}
|
|
const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
|
|
return cRef;
|
|
}
|
|
const stack = [];
|
|
function warn$1(msg, ...args) {
|
|
pauseTracking();
|
|
const instance = stack.length ? stack[stack.length - 1].component : null;
|
|
const appWarnHandler = instance && instance.appContext.config.warnHandler;
|
|
const trace = getComponentTrace();
|
|
if (appWarnHandler) {
|
|
callWithErrorHandling(appWarnHandler, instance, 11, [
|
|
msg + args.join(""),
|
|
instance && instance.proxy,
|
|
trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"),
|
|
trace
|
|
]);
|
|
} else {
|
|
const warnArgs = [`[Vue warn]: ${msg}`, ...args];
|
|
if (trace.length && true) {
|
|
warnArgs.push(`
|
|
`, ...formatTrace(trace));
|
|
}
|
|
console.warn(...warnArgs);
|
|
}
|
|
resetTracking();
|
|
}
|
|
function getComponentTrace() {
|
|
let currentVNode = stack[stack.length - 1];
|
|
if (!currentVNode) {
|
|
return [];
|
|
}
|
|
const normalizedStack = [];
|
|
while (currentVNode) {
|
|
const last = normalizedStack[0];
|
|
if (last && last.vnode === currentVNode) {
|
|
last.recurseCount++;
|
|
} else {
|
|
normalizedStack.push({
|
|
vnode: currentVNode,
|
|
recurseCount: 0
|
|
});
|
|
}
|
|
const parentInstance = currentVNode.component && currentVNode.component.parent;
|
|
currentVNode = parentInstance && parentInstance.vnode;
|
|
}
|
|
return normalizedStack;
|
|
}
|
|
function formatTrace(trace) {
|
|
const logs = [];
|
|
trace.forEach((entry, i2) => {
|
|
logs.push(...i2 === 0 ? [] : [`
|
|
`], ...formatTraceEntry(entry));
|
|
});
|
|
return logs;
|
|
}
|
|
function formatTraceEntry({ vnode, recurseCount }) {
|
|
const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;
|
|
const isRoot = vnode.component ? vnode.component.parent == null : false;
|
|
const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;
|
|
const close = `>` + postfix;
|
|
return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];
|
|
}
|
|
function formatProps(props) {
|
|
const res = [];
|
|
const keys2 = Object.keys(props);
|
|
keys2.slice(0, 3).forEach((key) => {
|
|
res.push(...formatProp(key, props[key]));
|
|
});
|
|
if (keys2.length > 3) {
|
|
res.push(` ...`);
|
|
}
|
|
return res;
|
|
}
|
|
function formatProp(key, value, raw) {
|
|
if (isString$2(value)) {
|
|
value = JSON.stringify(value);
|
|
return raw ? value : [`${key}=${value}`];
|
|
} else if (typeof value === "number" || typeof value === "boolean" || value == null) {
|
|
return raw ? value : [`${key}=${value}`];
|
|
} else if (isRef(value)) {
|
|
value = formatProp(key, toRaw(value.value), true);
|
|
return raw ? value : [`${key}=Ref<`, value, `>`];
|
|
} else if (isFunction$3(value)) {
|
|
return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
|
|
} else {
|
|
value = toRaw(value);
|
|
return raw ? value : [`${key}=`, value];
|
|
}
|
|
}
|
|
function callWithErrorHandling(fn, instance, type, args) {
|
|
let res;
|
|
try {
|
|
res = args ? fn(...args) : fn();
|
|
} catch (err) {
|
|
handleError(err, instance, type);
|
|
}
|
|
return res;
|
|
}
|
|
function callWithAsyncErrorHandling(fn, instance, type, args) {
|
|
if (isFunction$3(fn)) {
|
|
const res = callWithErrorHandling(fn, instance, type, args);
|
|
if (res && isPromise$1(res)) {
|
|
res.catch((err) => {
|
|
handleError(err, instance, type);
|
|
});
|
|
}
|
|
return res;
|
|
}
|
|
const values = [];
|
|
for (let i2 = 0; i2 < fn.length; i2++) {
|
|
values.push(callWithAsyncErrorHandling(fn[i2], instance, type, args));
|
|
}
|
|
return values;
|
|
}
|
|
function handleError(err, instance, type, throwInDev = true) {
|
|
const contextVNode = instance ? instance.vnode : null;
|
|
if (instance) {
|
|
let cur = instance.parent;
|
|
const exposedInstance = instance.proxy;
|
|
const errorInfo = type;
|
|
while (cur) {
|
|
const errorCapturedHooks = cur.ec;
|
|
if (errorCapturedHooks) {
|
|
for (let i2 = 0; i2 < errorCapturedHooks.length; i2++) {
|
|
if (errorCapturedHooks[i2](err, exposedInstance, errorInfo) === false) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
cur = cur.parent;
|
|
}
|
|
const appErrorHandler = instance.appContext.config.errorHandler;
|
|
if (appErrorHandler) {
|
|
callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]);
|
|
return;
|
|
}
|
|
}
|
|
logError(err, type, contextVNode, throwInDev);
|
|
}
|
|
function logError(err, type, contextVNode, throwInDev = true) {
|
|
{
|
|
console.error(err);
|
|
}
|
|
}
|
|
let isFlushing = false;
|
|
let isFlushPending = false;
|
|
const queue = [];
|
|
let flushIndex = 0;
|
|
const pendingPreFlushCbs = [];
|
|
let activePreFlushCbs = null;
|
|
let preFlushIndex = 0;
|
|
const pendingPostFlushCbs = [];
|
|
let activePostFlushCbs = null;
|
|
let postFlushIndex = 0;
|
|
const resolvedPromise = /* @__PURE__ */ Promise.resolve();
|
|
let currentFlushPromise = null;
|
|
let currentPreFlushParentJob = null;
|
|
function nextTick(fn) {
|
|
const p2 = currentFlushPromise || resolvedPromise;
|
|
return fn ? p2.then(this ? fn.bind(this) : fn) : p2;
|
|
}
|
|
function findInsertionIndex(id) {
|
|
let start = flushIndex + 1;
|
|
let end = queue.length;
|
|
while (start < end) {
|
|
const middle = start + end >>> 1;
|
|
const middleJobId = getId(queue[middle]);
|
|
middleJobId < id ? start = middle + 1 : end = middle;
|
|
}
|
|
return start;
|
|
}
|
|
function queueJob(job) {
|
|
if ((!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) && job !== currentPreFlushParentJob) {
|
|
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) {
|
|
const i2 = queue.indexOf(job);
|
|
if (i2 > flushIndex) {
|
|
queue.splice(i2, 1);
|
|
}
|
|
}
|
|
function queueCb(cb, activeQueue, pendingQueue, index2) {
|
|
if (!isArray$8(cb)) {
|
|
if (!activeQueue || !activeQueue.includes(cb, cb.allowRecurse ? index2 + 1 : index2)) {
|
|
pendingQueue.push(cb);
|
|
}
|
|
} else {
|
|
pendingQueue.push(...cb);
|
|
}
|
|
queueFlush();
|
|
}
|
|
function queuePreFlushCb(cb) {
|
|
queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);
|
|
}
|
|
function queuePostFlushCb(cb) {
|
|
queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);
|
|
}
|
|
function flushPreFlushCbs(seen2, parentJob = null) {
|
|
if (pendingPreFlushCbs.length) {
|
|
currentPreFlushParentJob = parentJob;
|
|
activePreFlushCbs = [...new Set(pendingPreFlushCbs)];
|
|
pendingPreFlushCbs.length = 0;
|
|
for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {
|
|
activePreFlushCbs[preFlushIndex]();
|
|
}
|
|
activePreFlushCbs = null;
|
|
preFlushIndex = 0;
|
|
currentPreFlushParentJob = null;
|
|
flushPreFlushCbs(seen2, parentJob);
|
|
}
|
|
}
|
|
function flushPostFlushCbs(seen2) {
|
|
flushPreFlushCbs();
|
|
if (pendingPostFlushCbs.length) {
|
|
const deduped = [...new Set(pendingPostFlushCbs)];
|
|
pendingPostFlushCbs.length = 0;
|
|
if (activePostFlushCbs) {
|
|
activePostFlushCbs.push(...deduped);
|
|
return;
|
|
}
|
|
activePostFlushCbs = deduped;
|
|
activePostFlushCbs.sort((a2, b2) => getId(a2) - getId(b2));
|
|
for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
|
|
activePostFlushCbs[postFlushIndex]();
|
|
}
|
|
activePostFlushCbs = null;
|
|
postFlushIndex = 0;
|
|
}
|
|
}
|
|
const getId = (job) => job.id == null ? Infinity : job.id;
|
|
function flushJobs(seen2) {
|
|
isFlushPending = false;
|
|
isFlushing = true;
|
|
flushPreFlushCbs(seen2);
|
|
queue.sort((a2, b2) => getId(a2) - getId(b2));
|
|
const check = NOOP;
|
|
try {
|
|
for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {
|
|
const job = queue[flushIndex];
|
|
if (job && job.active !== false) {
|
|
if (false)
|
|
;
|
|
callWithErrorHandling(job, null, 14);
|
|
}
|
|
}
|
|
} finally {
|
|
flushIndex = 0;
|
|
queue.length = 0;
|
|
flushPostFlushCbs();
|
|
isFlushing = false;
|
|
currentFlushPromise = null;
|
|
if (queue.length || pendingPreFlushCbs.length || pendingPostFlushCbs.length) {
|
|
flushJobs(seen2);
|
|
}
|
|
}
|
|
}
|
|
let devtools;
|
|
let buffer = [];
|
|
function setDevtoolsHook(hook, target) {
|
|
var _a, _b;
|
|
devtools = hook;
|
|
if (devtools) {
|
|
devtools.enabled = true;
|
|
buffer.forEach(({ event, args }) => devtools.emit(event, ...args));
|
|
buffer = [];
|
|
} else if (typeof window !== "undefined" && window.HTMLElement && !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes("jsdom"))) {
|
|
const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];
|
|
replay.push((newHook) => {
|
|
setDevtoolsHook(newHook, target);
|
|
});
|
|
setTimeout(() => {
|
|
if (!devtools) {
|
|
target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;
|
|
buffer = [];
|
|
}
|
|
}, 3e3);
|
|
} else {
|
|
buffer = [];
|
|
}
|
|
}
|
|
function warnDeprecation(key, instance, ...args) {
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
const globalCompatConfig = {
|
|
MODE: 2
|
|
};
|
|
function configureCompat(config) {
|
|
extend$1(globalCompatConfig, config);
|
|
}
|
|
function getCompatConfigForKey(key, instance) {
|
|
const instanceConfig = instance && instance.type.compatConfig;
|
|
if (instanceConfig && key in instanceConfig) {
|
|
return instanceConfig[key];
|
|
}
|
|
return globalCompatConfig[key];
|
|
}
|
|
function isCompatEnabled(key, instance, enableForBuiltIn = false) {
|
|
if (!enableForBuiltIn && instance && instance.type.__isBuiltIn) {
|
|
return false;
|
|
}
|
|
const rawMode = getCompatConfigForKey("MODE", instance) || 2;
|
|
const val = getCompatConfigForKey(key, instance);
|
|
const mode = isFunction$3(rawMode) ? rawMode(instance && instance.type) : rawMode;
|
|
if (mode === 2) {
|
|
return val !== false;
|
|
} else {
|
|
return val === true || val === "suppress-warning";
|
|
}
|
|
}
|
|
function assertCompatEnabled(key, instance, ...args) {
|
|
if (!isCompatEnabled(key, instance)) {
|
|
throw new Error(`${key} compat has been disabled.`);
|
|
}
|
|
}
|
|
function softAssertCompatEnabled(key, instance, ...args) {
|
|
return isCompatEnabled(key, instance);
|
|
}
|
|
function checkCompatEnabled(key, instance, ...args) {
|
|
const enabled = isCompatEnabled(key, instance);
|
|
return enabled;
|
|
}
|
|
const eventRegistryMap = /* @__PURE__ */ new WeakMap();
|
|
function getRegistry(instance) {
|
|
let events = eventRegistryMap.get(instance);
|
|
if (!events) {
|
|
eventRegistryMap.set(instance, events = /* @__PURE__ */ Object.create(null));
|
|
}
|
|
return events;
|
|
}
|
|
function on(instance, event, fn) {
|
|
if (isArray$8(event)) {
|
|
event.forEach((e2) => on(instance, e2, fn));
|
|
} else {
|
|
if (event.startsWith("hook:")) {
|
|
assertCompatEnabled("INSTANCE_EVENT_HOOKS", instance, event);
|
|
} else {
|
|
assertCompatEnabled("INSTANCE_EVENT_EMITTER", instance);
|
|
}
|
|
const events = getRegistry(instance);
|
|
(events[event] || (events[event] = [])).push(fn);
|
|
}
|
|
return instance.proxy;
|
|
}
|
|
function once(instance, event, fn) {
|
|
const wrapped = (...args) => {
|
|
off(instance, event, wrapped);
|
|
fn.call(instance.proxy, ...args);
|
|
};
|
|
wrapped.fn = fn;
|
|
on(instance, event, wrapped);
|
|
return instance.proxy;
|
|
}
|
|
function off(instance, event, fn) {
|
|
assertCompatEnabled("INSTANCE_EVENT_EMITTER", instance);
|
|
const vm = instance.proxy;
|
|
if (!event) {
|
|
eventRegistryMap.set(instance, /* @__PURE__ */ Object.create(null));
|
|
return vm;
|
|
}
|
|
if (isArray$8(event)) {
|
|
event.forEach((e2) => off(instance, e2, fn));
|
|
return vm;
|
|
}
|
|
const events = getRegistry(instance);
|
|
const cbs = events[event];
|
|
if (!cbs) {
|
|
return vm;
|
|
}
|
|
if (!fn) {
|
|
events[event] = void 0;
|
|
return vm;
|
|
}
|
|
events[event] = cbs.filter((cb) => !(cb === fn || cb.fn === fn));
|
|
return vm;
|
|
}
|
|
function emit$1(instance, event, args) {
|
|
const cbs = getRegistry(instance)[event];
|
|
if (cbs) {
|
|
callWithAsyncErrorHandling(cbs.map((cb) => cb.bind(instance.proxy)), instance, 6, args);
|
|
}
|
|
return instance.proxy;
|
|
}
|
|
const compatModelEventPrefix = `onModelCompat:`;
|
|
function convertLegacyVModelProps(vnode) {
|
|
const { type, shapeFlag, props, dynamicProps } = vnode;
|
|
const comp = type;
|
|
if (shapeFlag & 6 && props && "modelValue" in props) {
|
|
if (!isCompatEnabled(
|
|
"COMPONENT_V_MODEL",
|
|
{ type }
|
|
)) {
|
|
return;
|
|
}
|
|
const model = comp.model || {};
|
|
applyModelFromMixins(model, comp.mixins);
|
|
const { prop = "value", event = "input" } = model;
|
|
if (prop !== "modelValue") {
|
|
props[prop] = props.modelValue;
|
|
delete props.modelValue;
|
|
}
|
|
if (dynamicProps) {
|
|
dynamicProps[dynamicProps.indexOf("modelValue")] = prop;
|
|
}
|
|
props[compatModelEventPrefix + event] = props["onUpdate:modelValue"];
|
|
delete props["onUpdate:modelValue"];
|
|
}
|
|
}
|
|
function applyModelFromMixins(model, mixins2) {
|
|
if (mixins2) {
|
|
mixins2.forEach((m2) => {
|
|
if (m2.model)
|
|
extend$1(model, m2.model);
|
|
if (m2.mixins)
|
|
applyModelFromMixins(model, m2.mixins);
|
|
});
|
|
}
|
|
}
|
|
function compatModelEmit(instance, event, args) {
|
|
if (!isCompatEnabled("COMPONENT_V_MODEL", instance)) {
|
|
return;
|
|
}
|
|
const props = instance.vnode.props;
|
|
const modelHandler = props && props[compatModelEventPrefix + event];
|
|
if (modelHandler) {
|
|
callWithErrorHandling(modelHandler, instance, 6, args);
|
|
}
|
|
}
|
|
function emit$2(instance, event, ...rawArgs) {
|
|
if (instance.isUnmounted)
|
|
return;
|
|
const props = instance.vnode.props || EMPTY_OBJ;
|
|
let args = rawArgs;
|
|
const isModelListener2 = event.startsWith("update:");
|
|
const modelArg = isModelListener2 && event.slice(7);
|
|
if (modelArg && modelArg in props) {
|
|
const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`;
|
|
const { number, trim: trim2 } = props[modifiersKey] || EMPTY_OBJ;
|
|
if (trim2) {
|
|
args = rawArgs.map((a2) => a2.trim());
|
|
}
|
|
if (number) {
|
|
args = rawArgs.map(toNumber);
|
|
}
|
|
}
|
|
let handlerName;
|
|
let handler = props[handlerName = toHandlerKey(event)] || props[handlerName = toHandlerKey(camelize(event))];
|
|
if (!handler && isModelListener2) {
|
|
handler = props[handlerName = toHandlerKey(hyphenate(event))];
|
|
}
|
|
if (handler) {
|
|
callWithAsyncErrorHandling(handler, instance, 6, args);
|
|
}
|
|
const 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);
|
|
}
|
|
{
|
|
compatModelEmit(instance, event, args);
|
|
return emit$1(instance, event, args);
|
|
}
|
|
}
|
|
function normalizeEmitsOptions(comp, appContext, asMixin = false) {
|
|
const cache = appContext.emitsCache;
|
|
const cached = cache.get(comp);
|
|
if (cached !== void 0) {
|
|
return cached;
|
|
}
|
|
const raw = comp.emits;
|
|
let normalized = {};
|
|
let hasExtends = false;
|
|
if (!isFunction$3(comp)) {
|
|
const extendEmits = (raw2) => {
|
|
const 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) {
|
|
cache.set(comp, null);
|
|
return null;
|
|
}
|
|
if (isArray$8(raw)) {
|
|
raw.forEach((key) => normalized[key] = null);
|
|
} else {
|
|
extend$1(normalized, raw);
|
|
}
|
|
cache.set(comp, normalized);
|
|
return normalized;
|
|
}
|
|
function isEmitListener(options, key) {
|
|
if (!options || !isOn(key)) {
|
|
return false;
|
|
}
|
|
if (key.startsWith(compatModelEventPrefix)) {
|
|
return true;
|
|
}
|
|
key = key.slice(2).replace(/Once$/, "");
|
|
return hasOwn$2(options, key[0].toLowerCase() + key.slice(1)) || hasOwn$2(options, hyphenate(key)) || hasOwn$2(options, key);
|
|
}
|
|
let currentRenderingInstance = null;
|
|
let currentScopeId = null;
|
|
function setCurrentRenderingInstance(instance) {
|
|
const prev = currentRenderingInstance;
|
|
currentRenderingInstance = instance;
|
|
currentScopeId = instance && instance.type.__scopeId || null;
|
|
if (!currentScopeId) {
|
|
currentScopeId = instance && instance.type._scopeId || null;
|
|
}
|
|
return prev;
|
|
}
|
|
function pushScopeId(id) {
|
|
currentScopeId = id;
|
|
}
|
|
function popScopeId() {
|
|
currentScopeId = null;
|
|
}
|
|
const withScopeId = (_id) => withCtx;
|
|
function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {
|
|
if (!ctx)
|
|
return fn;
|
|
if (fn._n) {
|
|
return fn;
|
|
}
|
|
const renderFnWithContext = (...args) => {
|
|
if (renderFnWithContext._d) {
|
|
setBlockTracking(-1);
|
|
}
|
|
const prevInstance = setCurrentRenderingInstance(ctx);
|
|
const res = fn(...args);
|
|
setCurrentRenderingInstance(prevInstance);
|
|
if (renderFnWithContext._d) {
|
|
setBlockTracking(1);
|
|
}
|
|
return res;
|
|
};
|
|
renderFnWithContext._n = true;
|
|
renderFnWithContext._c = true;
|
|
renderFnWithContext._d = true;
|
|
if (isNonScopedSlot) {
|
|
renderFnWithContext._ns = true;
|
|
}
|
|
return renderFnWithContext;
|
|
}
|
|
function markAttrsAccessed() {
|
|
}
|
|
function renderComponentRoot(instance) {
|
|
const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render: render2, renderCache, data, setupState, ctx, inheritAttrs } = instance;
|
|
let result;
|
|
let fallthroughAttrs;
|
|
const prev = setCurrentRenderingInstance(instance);
|
|
try {
|
|
if (vnode.shapeFlag & 4) {
|
|
const proxyToUse = withProxy || proxy;
|
|
result = normalizeVNode(render2.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));
|
|
fallthroughAttrs = attrs;
|
|
} else {
|
|
const render3 = Component;
|
|
if (false)
|
|
;
|
|
result = normalizeVNode(render3.length > 1 ? render3(props, false ? {
|
|
get attrs() {
|
|
markAttrsAccessed();
|
|
return attrs;
|
|
},
|
|
slots,
|
|
emit
|
|
} : { attrs, slots, emit }) : render3(props, null));
|
|
fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);
|
|
}
|
|
} catch (err) {
|
|
blockStack.length = 0;
|
|
handleError(err, instance, 1);
|
|
result = createVNode(Comment);
|
|
}
|
|
let root2 = result;
|
|
if (fallthroughAttrs && inheritAttrs !== false) {
|
|
const keys2 = Object.keys(fallthroughAttrs);
|
|
const { shapeFlag } = root2;
|
|
if (keys2.length) {
|
|
if (shapeFlag & (1 | 6)) {
|
|
if (propsOptions && keys2.some(isModelListener)) {
|
|
fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);
|
|
}
|
|
root2 = cloneVNode(root2, fallthroughAttrs);
|
|
}
|
|
}
|
|
}
|
|
if (isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE", instance) && vnode.shapeFlag & 4 && root2.shapeFlag & (1 | 6)) {
|
|
const { class: cls, style } = vnode.props || {};
|
|
if (cls || style) {
|
|
root2 = cloneVNode(root2, {
|
|
class: cls,
|
|
style
|
|
});
|
|
}
|
|
}
|
|
if (vnode.dirs) {
|
|
root2 = cloneVNode(root2);
|
|
root2.dirs = root2.dirs ? root2.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
}
|
|
if (vnode.transition) {
|
|
root2.transition = vnode.transition;
|
|
}
|
|
{
|
|
result = root2;
|
|
}
|
|
setCurrentRenderingInstance(prev);
|
|
return result;
|
|
}
|
|
function filterSingleRoot(children) {
|
|
let singleRoot;
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
const child = children[i2];
|
|
if (isVNode(child)) {
|
|
if (child.type !== Comment || child.children === "v-if") {
|
|
if (singleRoot) {
|
|
return;
|
|
} else {
|
|
singleRoot = child;
|
|
}
|
|
}
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
return singleRoot;
|
|
}
|
|
const getFunctionalFallthrough = (attrs) => {
|
|
let res;
|
|
for (const key in attrs) {
|
|
if (key === "class" || key === "style" || isOn(key)) {
|
|
(res || (res = {}))[key] = attrs[key];
|
|
}
|
|
}
|
|
return res;
|
|
};
|
|
const filterModelListeners = (attrs, props) => {
|
|
const res = {};
|
|
for (const key in attrs) {
|
|
if (!isModelListener(key) || !(key.slice(9) in props)) {
|
|
res[key] = attrs[key];
|
|
}
|
|
}
|
|
return res;
|
|
};
|
|
function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
const { props: prevProps, children: prevChildren, component } = prevVNode;
|
|
const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;
|
|
const emits = component.emitsOptions;
|
|
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) {
|
|
const dynamicProps = nextVNode.dynamicProps;
|
|
for (let i2 = 0; i2 < dynamicProps.length; i2++) {
|
|
const key = dynamicProps[i2];
|
|
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) {
|
|
const nextKeys = Object.keys(nextProps);
|
|
if (nextKeys.length !== Object.keys(prevProps).length) {
|
|
return true;
|
|
}
|
|
for (let i2 = 0; i2 < nextKeys.length; i2++) {
|
|
const key = nextKeys[i2];
|
|
if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
while (parent && parent.subTree === vnode) {
|
|
(vnode = parent.vnode).el = el;
|
|
parent = parent.parent;
|
|
}
|
|
}
|
|
const isSuspense = (type) => type.__isSuspense;
|
|
const SuspenseImpl = {
|
|
name: "Suspense",
|
|
__isSuspense: true,
|
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
|
|
if (n1 == null) {
|
|
mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);
|
|
} else {
|
|
patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);
|
|
}
|
|
},
|
|
hydrate: hydrateSuspense,
|
|
create: createSuspenseBoundary,
|
|
normalize: normalizeSuspenseChildren
|
|
};
|
|
const Suspense = SuspenseImpl;
|
|
function triggerEvent(vnode, name2) {
|
|
const eventListener = vnode.props && vnode.props[name2];
|
|
if (isFunction$3(eventListener)) {
|
|
eventListener();
|
|
}
|
|
}
|
|
function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {
|
|
const { p: patch, o: { createElement } } = rendererInternals;
|
|
const hiddenContainer = createElement("div");
|
|
const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals);
|
|
patch(null, suspense.pendingBranch = vnode.ssContent, hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);
|
|
if (suspense.deps > 0) {
|
|
triggerEvent(vnode, "onPending");
|
|
triggerEvent(vnode, "onFallback");
|
|
patch(
|
|
null,
|
|
vnode.ssFallback,
|
|
container,
|
|
anchor,
|
|
parentComponent,
|
|
null,
|
|
isSVG,
|
|
slotScopeIds
|
|
);
|
|
setActiveBranch(suspense, vnode.ssFallback);
|
|
} else {
|
|
suspense.resolve();
|
|
}
|
|
}
|
|
function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {
|
|
const suspense = n2.suspense = n1.suspense;
|
|
suspense.vnode = n2;
|
|
n2.el = n1.el;
|
|
const newBranch = n2.ssContent;
|
|
const newFallback = n2.ssFallback;
|
|
const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
|
|
if (pendingBranch) {
|
|
suspense.pendingBranch = newBranch;
|
|
if (isSameVNodeType(newBranch, pendingBranch)) {
|
|
patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
|
|
if (suspense.deps <= 0) {
|
|
suspense.resolve();
|
|
} else if (isInFallback) {
|
|
patch(
|
|
activeBranch,
|
|
newFallback,
|
|
container,
|
|
anchor,
|
|
parentComponent,
|
|
null,
|
|
isSVG,
|
|
slotScopeIds,
|
|
optimized
|
|
);
|
|
setActiveBranch(suspense, newFallback);
|
|
}
|
|
} else {
|
|
suspense.pendingId++;
|
|
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, isSVG, slotScopeIds, optimized);
|
|
if (suspense.deps <= 0) {
|
|
suspense.resolve();
|
|
} else {
|
|
patch(
|
|
activeBranch,
|
|
newFallback,
|
|
container,
|
|
anchor,
|
|
parentComponent,
|
|
null,
|
|
isSVG,
|
|
slotScopeIds,
|
|
optimized
|
|
);
|
|
setActiveBranch(suspense, newFallback);
|
|
}
|
|
} else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
|
|
patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);
|
|
suspense.resolve(true);
|
|
} else {
|
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
|
|
if (suspense.deps <= 0) {
|
|
suspense.resolve();
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
|
|
patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);
|
|
setActiveBranch(suspense, newBranch);
|
|
} else {
|
|
triggerEvent(n2, "onPending");
|
|
suspense.pendingBranch = newBranch;
|
|
suspense.pendingId++;
|
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);
|
|
if (suspense.deps <= 0) {
|
|
suspense.resolve();
|
|
} else {
|
|
const { timeout, pendingId } = suspense;
|
|
if (timeout > 0) {
|
|
setTimeout(() => {
|
|
if (suspense.pendingId === pendingId) {
|
|
suspense.fallback(newFallback);
|
|
}
|
|
}, timeout);
|
|
} else if (timeout === 0) {
|
|
suspense.fallback(newFallback);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {
|
|
const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove: remove2 } } = rendererInternals;
|
|
const timeout = toNumber(vnode.props && vnode.props.timeout);
|
|
const suspense = {
|
|
vnode,
|
|
parent,
|
|
parentComponent,
|
|
isSVG,
|
|
container,
|
|
hiddenContainer,
|
|
anchor,
|
|
deps: 0,
|
|
pendingId: 0,
|
|
timeout: typeof timeout === "number" ? timeout : -1,
|
|
activeBranch: null,
|
|
pendingBranch: null,
|
|
isInFallback: true,
|
|
isHydrating,
|
|
isUnmounted: false,
|
|
effects: [],
|
|
resolve(resume = false) {
|
|
const { vnode: vnode2, activeBranch, pendingBranch, pendingId, effects, parentComponent: parentComponent2, container: container2 } = suspense;
|
|
if (suspense.isHydrating) {
|
|
suspense.isHydrating = false;
|
|
} else if (!resume) {
|
|
const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in";
|
|
if (delayEnter) {
|
|
activeBranch.transition.afterLeave = () => {
|
|
if (pendingId === suspense.pendingId) {
|
|
move(pendingBranch, container2, anchor2, 0);
|
|
}
|
|
};
|
|
}
|
|
let { anchor: anchor2 } = suspense;
|
|
if (activeBranch) {
|
|
anchor2 = next(activeBranch);
|
|
unmount(activeBranch, parentComponent2, suspense, true);
|
|
}
|
|
if (!delayEnter) {
|
|
move(pendingBranch, container2, anchor2, 0);
|
|
}
|
|
}
|
|
setActiveBranch(suspense, pendingBranch);
|
|
suspense.pendingBranch = null;
|
|
suspense.isInFallback = false;
|
|
let parent2 = suspense.parent;
|
|
let hasUnresolvedAncestor = false;
|
|
while (parent2) {
|
|
if (parent2.pendingBranch) {
|
|
parent2.effects.push(...effects);
|
|
hasUnresolvedAncestor = true;
|
|
break;
|
|
}
|
|
parent2 = parent2.parent;
|
|
}
|
|
if (!hasUnresolvedAncestor) {
|
|
queuePostFlushCb(effects);
|
|
}
|
|
suspense.effects = [];
|
|
triggerEvent(vnode2, "onResolve");
|
|
},
|
|
fallback(fallbackVNode) {
|
|
if (!suspense.pendingBranch) {
|
|
return;
|
|
}
|
|
const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;
|
|
triggerEvent(vnode2, "onFallback");
|
|
const anchor2 = next(activeBranch);
|
|
const mountFallback = () => {
|
|
if (!suspense.isInFallback) {
|
|
return;
|
|
}
|
|
patch(
|
|
null,
|
|
fallbackVNode,
|
|
container2,
|
|
anchor2,
|
|
parentComponent2,
|
|
null,
|
|
isSVG2,
|
|
slotScopeIds,
|
|
optimized
|
|
);
|
|
setActiveBranch(suspense, fallbackVNode);
|
|
};
|
|
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
|
|
if (delayEnter) {
|
|
activeBranch.transition.afterLeave = mountFallback;
|
|
}
|
|
suspense.isInFallback = true;
|
|
unmount(
|
|
activeBranch,
|
|
parentComponent2,
|
|
null,
|
|
true
|
|
);
|
|
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) {
|
|
const isInPendingSuspense = !!suspense.pendingBranch;
|
|
if (isInPendingSuspense) {
|
|
suspense.deps++;
|
|
}
|
|
const 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;
|
|
const { vnode: vnode2 } = instance;
|
|
handleSetupResult(instance, asyncSetupResult, false);
|
|
if (hydratedEl) {
|
|
vnode2.el = hydratedEl;
|
|
}
|
|
const placeholder = !hydratedEl && instance.subTree.el;
|
|
setupRenderEffect(
|
|
instance,
|
|
vnode2,
|
|
parentNode(hydratedEl || instance.subTree.el),
|
|
hydratedEl ? null : next(instance.subTree),
|
|
suspense,
|
|
isSVG,
|
|
optimized
|
|
);
|
|
if (placeholder) {
|
|
remove2(placeholder);
|
|
}
|
|
updateHOCHostEl(instance, vnode2.el);
|
|
if (isInPendingSuspense && --suspense.deps === 0) {
|
|
suspense.resolve();
|
|
}
|
|
});
|
|
},
|
|
unmount(parentSuspense, doRemove) {
|
|
suspense.isUnmounted = true;
|
|
if (suspense.activeBranch) {
|
|
unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);
|
|
}
|
|
if (suspense.pendingBranch) {
|
|
unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);
|
|
}
|
|
}
|
|
};
|
|
return suspense;
|
|
}
|
|
function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {
|
|
const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement("div"), null, isSVG, slotScopeIds, optimized, rendererInternals, true);
|
|
const result = hydrateNode(node, suspense.pendingBranch = vnode.ssContent, parentComponent, suspense, slotScopeIds, optimized);
|
|
if (suspense.deps === 0) {
|
|
suspense.resolve();
|
|
}
|
|
return result;
|
|
}
|
|
function normalizeSuspenseChildren(vnode) {
|
|
const { shapeFlag, children } = vnode;
|
|
const isSlotChildren = shapeFlag & 32;
|
|
vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);
|
|
vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);
|
|
}
|
|
function normalizeSuspenseSlot(s2) {
|
|
let block;
|
|
if (isFunction$3(s2)) {
|
|
const trackBlock = isBlockTreeEnabled && s2._c;
|
|
if (trackBlock) {
|
|
s2._d = false;
|
|
openBlock();
|
|
}
|
|
s2 = s2();
|
|
if (trackBlock) {
|
|
s2._d = true;
|
|
block = currentBlock;
|
|
closeBlock();
|
|
}
|
|
}
|
|
if (isArray$8(s2)) {
|
|
const singleChild = filterSingleRoot(s2);
|
|
s2 = singleChild;
|
|
}
|
|
s2 = normalizeVNode(s2);
|
|
if (block && !s2.dynamicChildren) {
|
|
s2.dynamicChildren = block.filter((c2) => c2 !== s2);
|
|
}
|
|
return s2;
|
|
}
|
|
function queueEffectWithSuspense(fn, suspense) {
|
|
if (suspense && suspense.pendingBranch) {
|
|
if (isArray$8(fn)) {
|
|
suspense.effects.push(...fn);
|
|
} else {
|
|
suspense.effects.push(fn);
|
|
}
|
|
} else {
|
|
queuePostFlushCb(fn);
|
|
}
|
|
}
|
|
function setActiveBranch(suspense, branch) {
|
|
suspense.activeBranch = branch;
|
|
const { vnode, parentComponent } = suspense;
|
|
const el = vnode.el = branch.el;
|
|
if (parentComponent && parentComponent.subTree === vnode) {
|
|
parentComponent.vnode.el = el;
|
|
updateHOCHostEl(parentComponent, el);
|
|
}
|
|
}
|
|
function provide(key, value) {
|
|
if (!currentInstance)
|
|
;
|
|
else {
|
|
let provides = currentInstance.provides;
|
|
const parentProvides = currentInstance.parent && currentInstance.parent.provides;
|
|
if (parentProvides === provides) {
|
|
provides = currentInstance.provides = Object.create(parentProvides);
|
|
}
|
|
provides[key] = value;
|
|
}
|
|
}
|
|
function inject(key, defaultValue, treatDefaultAsFactory = false) {
|
|
const instance = currentInstance || currentRenderingInstance;
|
|
if (instance) {
|
|
const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides;
|
|
if (provides && key in provides) {
|
|
return provides[key];
|
|
} else if (arguments.length > 1) {
|
|
return treatDefaultAsFactory && isFunction$3(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue;
|
|
} else
|
|
;
|
|
}
|
|
}
|
|
function watchEffect(effect2, options) {
|
|
return doWatch(effect2, null, options);
|
|
}
|
|
function watchPostEffect(effect2, options) {
|
|
return doWatch(effect2, null, { flush: "post" });
|
|
}
|
|
function watchSyncEffect(effect2, options) {
|
|
return doWatch(effect2, null, { flush: "sync" });
|
|
}
|
|
const INITIAL_WATCHER_VALUE = {};
|
|
function watch(source, cb, options) {
|
|
return doWatch(source, cb, options);
|
|
}
|
|
function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {
|
|
const instance = currentInstance;
|
|
let getter;
|
|
let forceTrigger = false;
|
|
let isMultiSource = false;
|
|
if (isRef(source)) {
|
|
getter = () => source.value;
|
|
forceTrigger = isShallow(source);
|
|
} else if (isReactive(source)) {
|
|
getter = () => source;
|
|
deep = true;
|
|
} else if (isArray$8(source)) {
|
|
isMultiSource = true;
|
|
forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2));
|
|
getter = () => source.map((s2) => {
|
|
if (isRef(s2)) {
|
|
return s2.value;
|
|
} else if (isReactive(s2)) {
|
|
return traverse(s2);
|
|
} else if (isFunction$3(s2)) {
|
|
return callWithErrorHandling(s2, instance, 2);
|
|
} else
|
|
;
|
|
});
|
|
} else if (isFunction$3(source)) {
|
|
if (cb) {
|
|
getter = () => callWithErrorHandling(source, instance, 2);
|
|
} else {
|
|
getter = () => {
|
|
if (instance && instance.isUnmounted) {
|
|
return;
|
|
}
|
|
if (cleanup) {
|
|
cleanup();
|
|
}
|
|
return callWithAsyncErrorHandling(source, instance, 3, [onCleanup]);
|
|
};
|
|
}
|
|
} else {
|
|
getter = NOOP;
|
|
}
|
|
if (cb && !deep) {
|
|
const baseGetter = getter;
|
|
getter = () => {
|
|
const val = baseGetter();
|
|
if (isArray$8(val) && checkCompatEnabled("WATCH_ARRAY", instance)) {
|
|
traverse(val);
|
|
}
|
|
return val;
|
|
};
|
|
}
|
|
if (cb && deep) {
|
|
const baseGetter = getter;
|
|
getter = () => traverse(baseGetter());
|
|
}
|
|
let cleanup;
|
|
let onCleanup = (fn) => {
|
|
cleanup = effect2.onStop = () => {
|
|
callWithErrorHandling(fn, instance, 4);
|
|
};
|
|
};
|
|
if (isInSSRComponentSetup) {
|
|
onCleanup = NOOP;
|
|
if (!cb) {
|
|
getter();
|
|
} else if (immediate) {
|
|
callWithAsyncErrorHandling(cb, instance, 3, [
|
|
getter(),
|
|
isMultiSource ? [] : void 0,
|
|
onCleanup
|
|
]);
|
|
}
|
|
return NOOP;
|
|
}
|
|
let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
|
|
const job = () => {
|
|
if (!effect2.active) {
|
|
return;
|
|
}
|
|
if (cb) {
|
|
const newValue = effect2.run();
|
|
if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i2) => hasChanged(v, oldValue[i2])) : hasChanged(newValue, oldValue)) || isArray$8(newValue) && isCompatEnabled("WATCH_ARRAY", instance)) {
|
|
if (cleanup) {
|
|
cleanup();
|
|
}
|
|
callWithAsyncErrorHandling(cb, instance, 3, [
|
|
newValue,
|
|
oldValue === INITIAL_WATCHER_VALUE ? void 0 : oldValue,
|
|
onCleanup
|
|
]);
|
|
oldValue = newValue;
|
|
}
|
|
} else {
|
|
effect2.run();
|
|
}
|
|
};
|
|
job.allowRecurse = !!cb;
|
|
let scheduler;
|
|
if (flush === "sync") {
|
|
scheduler = job;
|
|
} else if (flush === "post") {
|
|
scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
|
|
} else {
|
|
scheduler = () => queuePreFlushCb(job);
|
|
}
|
|
const effect2 = new ReactiveEffect(getter, scheduler);
|
|
if (cb) {
|
|
if (immediate) {
|
|
job();
|
|
} else {
|
|
oldValue = effect2.run();
|
|
}
|
|
} else if (flush === "post") {
|
|
queuePostRenderEffect(effect2.run.bind(effect2), instance && instance.suspense);
|
|
} else {
|
|
effect2.run();
|
|
}
|
|
return () => {
|
|
effect2.stop();
|
|
if (instance && instance.scope) {
|
|
remove(instance.scope.effects, effect2);
|
|
}
|
|
};
|
|
}
|
|
function instanceWatch(source, value, options) {
|
|
const publicThis = this.proxy;
|
|
const getter = isString$2(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);
|
|
let cb;
|
|
if (isFunction$3(value)) {
|
|
cb = value;
|
|
} else {
|
|
cb = value.handler;
|
|
options = value;
|
|
}
|
|
const cur = currentInstance;
|
|
setCurrentInstance(this);
|
|
const res = doWatch(getter, cb.bind(publicThis), options);
|
|
if (cur) {
|
|
setCurrentInstance(cur);
|
|
} else {
|
|
unsetCurrentInstance();
|
|
}
|
|
return res;
|
|
}
|
|
function createPathGetter(ctx, path) {
|
|
const segments = path.split(".");
|
|
return () => {
|
|
let cur = ctx;
|
|
for (let i2 = 0; i2 < segments.length && cur; i2++) {
|
|
cur = cur[segments[i2]];
|
|
}
|
|
return cur;
|
|
};
|
|
}
|
|
function traverse(value, seen2) {
|
|
if (!isObject$4(value) || value["__v_skip"]) {
|
|
return value;
|
|
}
|
|
seen2 = seen2 || /* @__PURE__ */ new Set();
|
|
if (seen2.has(value)) {
|
|
return value;
|
|
}
|
|
seen2.add(value);
|
|
if (isRef(value)) {
|
|
traverse(value.value, seen2);
|
|
} else if (isArray$8(value)) {
|
|
for (let i2 = 0; i2 < value.length; i2++) {
|
|
traverse(value[i2], seen2);
|
|
}
|
|
} else if (isSet$1(value) || isMap$1(value)) {
|
|
value.forEach((v) => {
|
|
traverse(v, seen2);
|
|
});
|
|
} else if (isPlainObject$1(value)) {
|
|
for (const key in value) {
|
|
traverse(value[key], seen2);
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
function useTransitionState() {
|
|
const state2 = {
|
|
isMounted: false,
|
|
isLeaving: false,
|
|
isUnmounting: false,
|
|
leavingVNodes: /* @__PURE__ */ new Map()
|
|
};
|
|
onMounted(() => {
|
|
state2.isMounted = true;
|
|
});
|
|
onBeforeUnmount(() => {
|
|
state2.isUnmounting = true;
|
|
});
|
|
return state2;
|
|
}
|
|
const TransitionHookValidator = [Function, Array];
|
|
const BaseTransitionImpl = {
|
|
name: `BaseTransition`,
|
|
props: {
|
|
mode: String,
|
|
appear: Boolean,
|
|
persisted: Boolean,
|
|
onBeforeEnter: TransitionHookValidator,
|
|
onEnter: TransitionHookValidator,
|
|
onAfterEnter: TransitionHookValidator,
|
|
onEnterCancelled: TransitionHookValidator,
|
|
onBeforeLeave: TransitionHookValidator,
|
|
onLeave: TransitionHookValidator,
|
|
onAfterLeave: TransitionHookValidator,
|
|
onLeaveCancelled: TransitionHookValidator,
|
|
onBeforeAppear: TransitionHookValidator,
|
|
onAppear: TransitionHookValidator,
|
|
onAfterAppear: TransitionHookValidator,
|
|
onAppearCancelled: TransitionHookValidator
|
|
},
|
|
setup(props, { slots }) {
|
|
const instance = getCurrentInstance();
|
|
const state2 = useTransitionState();
|
|
let prevTransitionKey;
|
|
return () => {
|
|
const children = slots.default && getTransitionRawChildren(slots.default(), true);
|
|
if (!children || !children.length) {
|
|
return;
|
|
}
|
|
let child = children[0];
|
|
if (children.length > 1) {
|
|
for (const c2 of children) {
|
|
if (c2.type !== Comment) {
|
|
child = c2;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
const rawProps = toRaw(props);
|
|
const { mode } = rawProps;
|
|
if (state2.isLeaving) {
|
|
return emptyPlaceholder(child);
|
|
}
|
|
const innerChild = getKeepAliveChild(child);
|
|
if (!innerChild) {
|
|
return emptyPlaceholder(child);
|
|
}
|
|
const enterHooks = resolveTransitionHooks(innerChild, rawProps, state2, instance);
|
|
setTransitionHooks(innerChild, enterHooks);
|
|
const oldChild = instance.subTree;
|
|
const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
|
|
let transitionKeyChanged = false;
|
|
const { getTransitionKey } = innerChild.type;
|
|
if (getTransitionKey) {
|
|
const key = getTransitionKey();
|
|
if (prevTransitionKey === void 0) {
|
|
prevTransitionKey = key;
|
|
} else if (key !== prevTransitionKey) {
|
|
prevTransitionKey = key;
|
|
transitionKeyChanged = true;
|
|
}
|
|
}
|
|
if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {
|
|
const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state2, instance);
|
|
setTransitionHooks(oldInnerChild, leavingHooks);
|
|
if (mode === "out-in") {
|
|
state2.isLeaving = true;
|
|
leavingHooks.afterLeave = () => {
|
|
state2.isLeaving = false;
|
|
instance.update();
|
|
};
|
|
return emptyPlaceholder(child);
|
|
} else if (mode === "in-out" && innerChild.type !== Comment) {
|
|
leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
|
|
const leavingVNodesCache = getLeavingNodesForType(state2, oldInnerChild);
|
|
leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
|
|
el._leaveCb = () => {
|
|
earlyRemove();
|
|
el._leaveCb = void 0;
|
|
delete enterHooks.delayedLeave;
|
|
};
|
|
enterHooks.delayedLeave = delayedLeave;
|
|
};
|
|
}
|
|
}
|
|
return child;
|
|
};
|
|
}
|
|
};
|
|
{
|
|
BaseTransitionImpl.__isBuiltIn = true;
|
|
}
|
|
const BaseTransition = BaseTransitionImpl;
|
|
function getLeavingNodesForType(state2, vnode) {
|
|
const { leavingVNodes } = state2;
|
|
let leavingVNodesCache = leavingVNodes.get(vnode.type);
|
|
if (!leavingVNodesCache) {
|
|
leavingVNodesCache = /* @__PURE__ */ Object.create(null);
|
|
leavingVNodes.set(vnode.type, leavingVNodesCache);
|
|
}
|
|
return leavingVNodesCache;
|
|
}
|
|
function resolveTransitionHooks(vnode, props, state2, instance) {
|
|
const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
|
|
const key = String(vnode.key);
|
|
const leavingVNodesCache = getLeavingNodesForType(state2, vnode);
|
|
const callHook2 = (hook, args) => {
|
|
hook && callWithAsyncErrorHandling(hook, instance, 9, args);
|
|
};
|
|
const callAsyncHook = (hook, args) => {
|
|
const done = args[1];
|
|
callHook2(hook, args);
|
|
if (isArray$8(hook)) {
|
|
if (hook.every((hook2) => hook2.length <= 1))
|
|
done();
|
|
} else if (hook.length <= 1) {
|
|
done();
|
|
}
|
|
};
|
|
const hooks = {
|
|
mode,
|
|
persisted,
|
|
beforeEnter(el) {
|
|
let hook = onBeforeEnter;
|
|
if (!state2.isMounted) {
|
|
if (appear) {
|
|
hook = onBeforeAppear || onBeforeEnter;
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
if (el._leaveCb) {
|
|
el._leaveCb(true);
|
|
}
|
|
const leavingVNode = leavingVNodesCache[key];
|
|
if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {
|
|
leavingVNode.el._leaveCb();
|
|
}
|
|
callHook2(hook, [el]);
|
|
},
|
|
enter(el) {
|
|
let hook = onEnter;
|
|
let afterHook = onAfterEnter;
|
|
let cancelHook = onEnterCancelled;
|
|
if (!state2.isMounted) {
|
|
if (appear) {
|
|
hook = onAppear || onEnter;
|
|
afterHook = onAfterAppear || onAfterEnter;
|
|
cancelHook = onAppearCancelled || onEnterCancelled;
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
let called = false;
|
|
const done = el._enterCb = (cancelled) => {
|
|
if (called)
|
|
return;
|
|
called = true;
|
|
if (cancelled) {
|
|
callHook2(cancelHook, [el]);
|
|
} else {
|
|
callHook2(afterHook, [el]);
|
|
}
|
|
if (hooks.delayedLeave) {
|
|
hooks.delayedLeave();
|
|
}
|
|
el._enterCb = void 0;
|
|
};
|
|
if (hook) {
|
|
callAsyncHook(hook, [el, done]);
|
|
} else {
|
|
done();
|
|
}
|
|
},
|
|
leave(el, remove2) {
|
|
const key2 = String(vnode.key);
|
|
if (el._enterCb) {
|
|
el._enterCb(true);
|
|
}
|
|
if (state2.isUnmounting) {
|
|
return remove2();
|
|
}
|
|
callHook2(onBeforeLeave, [el]);
|
|
let called = false;
|
|
const done = el._leaveCb = (cancelled) => {
|
|
if (called)
|
|
return;
|
|
called = true;
|
|
remove2();
|
|
if (cancelled) {
|
|
callHook2(onLeaveCancelled, [el]);
|
|
} else {
|
|
callHook2(onAfterLeave, [el]);
|
|
}
|
|
el._leaveCb = 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, state2, instance);
|
|
}
|
|
};
|
|
return hooks;
|
|
}
|
|
function emptyPlaceholder(vnode) {
|
|
if (isKeepAlive(vnode)) {
|
|
vnode = cloneVNode(vnode);
|
|
vnode.children = null;
|
|
return vnode;
|
|
}
|
|
}
|
|
function getKeepAliveChild(vnode) {
|
|
return isKeepAlive(vnode) ? 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, keepComment = false, parentKey) {
|
|
let ret = [];
|
|
let keyedFragmentCount = 0;
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
let child = children[i2];
|
|
const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i2);
|
|
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 (let i2 = 0; i2 < ret.length; i2++) {
|
|
ret[i2].patchFlag = -2;
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
function defineComponent(options) {
|
|
return isFunction$3(options) ? { setup: options, name: options.name } : options;
|
|
}
|
|
const isAsyncWrapper = (i2) => !!i2.type.__asyncLoader;
|
|
function defineAsyncComponent(source) {
|
|
if (isFunction$3(source)) {
|
|
source = { loader: source };
|
|
}
|
|
const {
|
|
loader,
|
|
loadingComponent,
|
|
errorComponent,
|
|
delay = 200,
|
|
timeout,
|
|
suspensible = true,
|
|
onError: userOnError
|
|
} = source;
|
|
let pendingRequest = null;
|
|
let resolvedComp;
|
|
let retries = 0;
|
|
const retry = () => {
|
|
retries++;
|
|
pendingRequest = null;
|
|
return load();
|
|
};
|
|
const load = () => {
|
|
let thisRequest;
|
|
return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
|
|
err = err instanceof Error ? err : new Error(String(err));
|
|
if (userOnError) {
|
|
return new Promise((resolve2, reject) => {
|
|
const userRetry = () => resolve2(retry());
|
|
const userFail = () => reject(err);
|
|
userOnError(err, userRetry, userFail, retries + 1);
|
|
});
|
|
} else {
|
|
throw err;
|
|
}
|
|
}).then((comp) => {
|
|
if (thisRequest !== pendingRequest && pendingRequest) {
|
|
return pendingRequest;
|
|
}
|
|
if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
|
|
comp = comp.default;
|
|
}
|
|
resolvedComp = comp;
|
|
return comp;
|
|
}));
|
|
};
|
|
return defineComponent({
|
|
name: "AsyncComponentWrapper",
|
|
__asyncLoader: load,
|
|
get __asyncResolved() {
|
|
return resolvedComp;
|
|
},
|
|
setup() {
|
|
const instance = currentInstance;
|
|
if (resolvedComp) {
|
|
return () => createInnerComp(resolvedComp, instance);
|
|
}
|
|
const 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;
|
|
});
|
|
}
|
|
const loaded = ref(false);
|
|
const error = ref();
|
|
const delayed = ref(!!delay);
|
|
if (delay) {
|
|
setTimeout(() => {
|
|
delayed.value = false;
|
|
}, delay);
|
|
}
|
|
if (timeout != null) {
|
|
setTimeout(() => {
|
|
if (!loaded.value && !error.value) {
|
|
const err = new Error(`Async component timed out after ${timeout}ms.`);
|
|
onError(err);
|
|
error.value = err;
|
|
}
|
|
}, timeout);
|
|
}
|
|
load().then(() => {
|
|
loaded.value = true;
|
|
if (instance.parent && isKeepAlive(instance.parent.vnode)) {
|
|
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, { vnode: { ref: ref2, props, children, shapeFlag }, parent }) {
|
|
const vnode = createVNode(comp, props, children);
|
|
vnode.ref = ref2;
|
|
return vnode;
|
|
}
|
|
const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
|
|
const KeepAliveImpl = {
|
|
name: `KeepAlive`,
|
|
__isKeepAlive: true,
|
|
props: {
|
|
include: [String, RegExp, Array],
|
|
exclude: [String, RegExp, Array],
|
|
max: [String, Number]
|
|
},
|
|
setup(props, { slots }) {
|
|
const instance = getCurrentInstance();
|
|
const sharedContext = instance.ctx;
|
|
if (!sharedContext.renderer) {
|
|
return () => {
|
|
const children = slots.default && slots.default();
|
|
return children && children.length === 1 ? children[0] : children;
|
|
};
|
|
}
|
|
const cache = /* @__PURE__ */ new Map();
|
|
const keys2 = /* @__PURE__ */ new Set();
|
|
let current = null;
|
|
const parentSuspense = instance.suspense;
|
|
const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;
|
|
const storageContainer = createElement("div");
|
|
sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {
|
|
const instance2 = vnode.component;
|
|
move(vnode, container, anchor, 0, parentSuspense);
|
|
patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, isSVG, vnode.slotScopeIds, optimized);
|
|
queuePostRenderEffect(() => {
|
|
instance2.isDeactivated = false;
|
|
if (instance2.a) {
|
|
invokeArrayFns(instance2.a);
|
|
}
|
|
const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
|
|
if (vnodeHook) {
|
|
invokeVNodeHook(vnodeHook, instance2.parent, vnode);
|
|
}
|
|
}, parentSuspense);
|
|
};
|
|
sharedContext.deactivate = (vnode) => {
|
|
const instance2 = vnode.component;
|
|
move(vnode, storageContainer, null, 1, parentSuspense);
|
|
queuePostRenderEffect(() => {
|
|
if (instance2.da) {
|
|
invokeArrayFns(instance2.da);
|
|
}
|
|
const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
|
|
if (vnodeHook) {
|
|
invokeVNodeHook(vnodeHook, instance2.parent, vnode);
|
|
}
|
|
instance2.isDeactivated = true;
|
|
}, parentSuspense);
|
|
};
|
|
function unmount(vnode) {
|
|
resetShapeFlag(vnode);
|
|
_unmount(vnode, instance, parentSuspense, true);
|
|
}
|
|
function pruneCache(filter) {
|
|
cache.forEach((vnode, key) => {
|
|
const name2 = getComponentName(vnode.type);
|
|
if (name2 && (!filter || !filter(name2))) {
|
|
pruneCacheEntry(key);
|
|
}
|
|
});
|
|
}
|
|
function pruneCacheEntry(key) {
|
|
const cached = cache.get(key);
|
|
if (!current || cached.type !== current.type) {
|
|
unmount(cached);
|
|
} else if (current) {
|
|
resetShapeFlag(current);
|
|
}
|
|
cache.delete(key);
|
|
keys2.delete(key);
|
|
}
|
|
watch(
|
|
() => [props.include, props.exclude],
|
|
([include, exclude]) => {
|
|
include && pruneCache((name2) => matches(include, name2));
|
|
exclude && pruneCache((name2) => !matches(exclude, name2));
|
|
},
|
|
{ flush: "post", deep: true }
|
|
);
|
|
let pendingCacheKey = null;
|
|
const cacheSubtree = () => {
|
|
if (pendingCacheKey != null) {
|
|
cache.set(pendingCacheKey, getInnerChild(instance.subTree));
|
|
}
|
|
};
|
|
onMounted(cacheSubtree);
|
|
onUpdated(cacheSubtree);
|
|
onBeforeUnmount(() => {
|
|
cache.forEach((cached) => {
|
|
const { subTree, suspense } = instance;
|
|
const vnode = getInnerChild(subTree);
|
|
if (cached.type === vnode.type) {
|
|
resetShapeFlag(vnode);
|
|
const da = vnode.component.da;
|
|
da && queuePostRenderEffect(da, suspense);
|
|
return;
|
|
}
|
|
unmount(cached);
|
|
});
|
|
});
|
|
return () => {
|
|
pendingCacheKey = null;
|
|
if (!slots.default) {
|
|
return null;
|
|
}
|
|
const children = slots.default();
|
|
const rawVNode = children[0];
|
|
if (children.length > 1) {
|
|
current = null;
|
|
return children;
|
|
} else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {
|
|
current = null;
|
|
return rawVNode;
|
|
}
|
|
let vnode = getInnerChild(rawVNode);
|
|
const comp = vnode.type;
|
|
const name2 = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp);
|
|
const { include, exclude, max } = props;
|
|
if (include && (!name2 || !matches(include, name2)) || exclude && name2 && matches(exclude, name2)) {
|
|
current = vnode;
|
|
return rawVNode;
|
|
}
|
|
const key = vnode.key == null ? comp : vnode.key;
|
|
const 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;
|
|
keys2.delete(key);
|
|
keys2.add(key);
|
|
} else {
|
|
keys2.add(key);
|
|
if (max && keys2.size > parseInt(max, 10)) {
|
|
pruneCacheEntry(keys2.values().next().value);
|
|
}
|
|
}
|
|
vnode.shapeFlag |= 256;
|
|
current = vnode;
|
|
return isSuspense(rawVNode.type) ? rawVNode : vnode;
|
|
};
|
|
}
|
|
};
|
|
{
|
|
KeepAliveImpl.__isBuildIn = true;
|
|
}
|
|
const KeepAlive = KeepAliveImpl;
|
|
function matches(pattern, name2) {
|
|
if (isArray$8(pattern)) {
|
|
return pattern.some((p2) => matches(p2, name2));
|
|
} else if (isString$2(pattern)) {
|
|
return pattern.split(",").includes(name2);
|
|
} else if (pattern.test) {
|
|
return pattern.test(name2);
|
|
}
|
|
return false;
|
|
}
|
|
function onActivated(hook, target) {
|
|
registerKeepAliveHook(hook, "a", target);
|
|
}
|
|
function onDeactivated(hook, target) {
|
|
registerKeepAliveHook(hook, "da", target);
|
|
}
|
|
function registerKeepAliveHook(hook, type, target = currentInstance) {
|
|
const wrappedHook = hook.__wdc || (hook.__wdc = () => {
|
|
let current = target;
|
|
while (current) {
|
|
if (current.isDeactivated) {
|
|
return;
|
|
}
|
|
current = current.parent;
|
|
}
|
|
return hook();
|
|
});
|
|
injectHook(type, wrappedHook, target);
|
|
if (target) {
|
|
let 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) {
|
|
const injected = injectHook(type, hook, keepAliveRoot, true);
|
|
onUnmounted(() => {
|
|
remove(keepAliveRoot[type], injected);
|
|
}, target);
|
|
}
|
|
function resetShapeFlag(vnode) {
|
|
let shapeFlag = vnode.shapeFlag;
|
|
if (shapeFlag & 256) {
|
|
shapeFlag -= 256;
|
|
}
|
|
if (shapeFlag & 512) {
|
|
shapeFlag -= 512;
|
|
}
|
|
vnode.shapeFlag = shapeFlag;
|
|
}
|
|
function getInnerChild(vnode) {
|
|
return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
|
|
}
|
|
function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
if (target) {
|
|
const hooks = target[type] || (target[type] = []);
|
|
const wrappedHook = hook.__weh || (hook.__weh = (...args) => {
|
|
if (target.isUnmounted) {
|
|
return;
|
|
}
|
|
pauseTracking();
|
|
setCurrentInstance(target);
|
|
const res = callWithAsyncErrorHandling(hook, target, type, args);
|
|
unsetCurrentInstance();
|
|
resetTracking();
|
|
return res;
|
|
});
|
|
if (prepend) {
|
|
hooks.unshift(wrappedHook);
|
|
} else {
|
|
hooks.push(wrappedHook);
|
|
}
|
|
return wrappedHook;
|
|
}
|
|
}
|
|
const createHook = (lifecycle) => (hook, target = currentInstance) => (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, hook, target);
|
|
const onBeforeMount = createHook("bm");
|
|
const onMounted = createHook("m");
|
|
const onBeforeUpdate = createHook("bu");
|
|
const onUpdated = createHook("u");
|
|
const onBeforeUnmount = createHook("bum");
|
|
const onUnmounted = createHook("um");
|
|
const onServerPrefetch = createHook("sp");
|
|
const onRenderTriggered = createHook("rtg");
|
|
const onRenderTracked = createHook("rtc");
|
|
function onErrorCaptured(hook, target = currentInstance) {
|
|
injectHook("ec", hook, target);
|
|
}
|
|
function getCompatChildren(instance) {
|
|
assertCompatEnabled("INSTANCE_CHILDREN", instance);
|
|
const root2 = instance.subTree;
|
|
const children = [];
|
|
if (root2) {
|
|
walk(root2, children);
|
|
}
|
|
return children;
|
|
}
|
|
function walk(vnode, children) {
|
|
if (vnode.component) {
|
|
children.push(vnode.component.proxy);
|
|
} else if (vnode.shapeFlag & 16) {
|
|
const vnodes = vnode.children;
|
|
for (let i2 = 0; i2 < vnodes.length; i2++) {
|
|
walk(vnodes[i2], children);
|
|
}
|
|
}
|
|
}
|
|
function getCompatListeners(instance) {
|
|
assertCompatEnabled("INSTANCE_LISTENERS", instance);
|
|
const listeners = {};
|
|
const rawProps = instance.vnode.props;
|
|
if (!rawProps) {
|
|
return listeners;
|
|
}
|
|
for (const key in rawProps) {
|
|
if (isOn(key)) {
|
|
listeners[key[2].toLowerCase() + key.slice(3)] = rawProps[key];
|
|
}
|
|
}
|
|
return listeners;
|
|
}
|
|
const legacyDirectiveHookMap = {
|
|
beforeMount: "bind",
|
|
mounted: "inserted",
|
|
updated: ["update", "componentUpdated"],
|
|
unmounted: "unbind"
|
|
};
|
|
function mapCompatDirectiveHook(name2, dir, instance) {
|
|
const mappedName = legacyDirectiveHookMap[name2];
|
|
if (mappedName) {
|
|
if (isArray$8(mappedName)) {
|
|
const hook = [];
|
|
mappedName.forEach((mapped) => {
|
|
const mappedHook = dir[mapped];
|
|
if (mappedHook) {
|
|
softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name2);
|
|
hook.push(mappedHook);
|
|
}
|
|
});
|
|
return hook.length ? hook : void 0;
|
|
} else {
|
|
if (dir[mappedName]) {
|
|
softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name2);
|
|
}
|
|
return dir[mappedName];
|
|
}
|
|
}
|
|
}
|
|
function withDirectives(vnode, directives) {
|
|
const internalInstance = currentRenderingInstance;
|
|
if (internalInstance === null) {
|
|
return vnode;
|
|
}
|
|
const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
|
|
const bindings = vnode.dirs || (vnode.dirs = []);
|
|
for (let i2 = 0; i2 < directives.length; i2++) {
|
|
let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i2];
|
|
if (isFunction$3(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, name2) {
|
|
const bindings = vnode.dirs;
|
|
const oldBindings = prevVNode && prevVNode.dirs;
|
|
for (let i2 = 0; i2 < bindings.length; i2++) {
|
|
const binding = bindings[i2];
|
|
if (oldBindings) {
|
|
binding.oldValue = oldBindings[i2].value;
|
|
}
|
|
let hook = binding.dir[name2];
|
|
if (!hook) {
|
|
hook = mapCompatDirectiveHook(name2, binding.dir, instance);
|
|
}
|
|
if (hook) {
|
|
pauseTracking();
|
|
callWithAsyncErrorHandling(hook, instance, 8, [
|
|
vnode.el,
|
|
binding,
|
|
vnode,
|
|
prevVNode
|
|
]);
|
|
resetTracking();
|
|
}
|
|
}
|
|
}
|
|
const COMPONENTS = "components";
|
|
const DIRECTIVES = "directives";
|
|
const FILTERS = "filters";
|
|
function resolveComponent(name2, maybeSelfReference) {
|
|
return resolveAsset(COMPONENTS, name2, true, maybeSelfReference) || name2;
|
|
}
|
|
const NULL_DYNAMIC_COMPONENT = Symbol();
|
|
function resolveDynamicComponent(component) {
|
|
if (isString$2(component)) {
|
|
return resolveAsset(COMPONENTS, component, false) || component;
|
|
} else {
|
|
return component || NULL_DYNAMIC_COMPONENT;
|
|
}
|
|
}
|
|
function resolveDirective(name2) {
|
|
return resolveAsset(DIRECTIVES, name2);
|
|
}
|
|
function resolveFilter(name2) {
|
|
return resolveAsset(FILTERS, name2);
|
|
}
|
|
function resolveAsset(type, name2, warnMissing = true, maybeSelfReference = false) {
|
|
const instance = currentRenderingInstance || currentInstance;
|
|
if (instance) {
|
|
const Component = instance.type;
|
|
if (type === COMPONENTS) {
|
|
const selfName = getComponentName(Component, false);
|
|
if (selfName && (selfName === name2 || selfName === camelize(name2) || selfName === capitalize(camelize(name2)))) {
|
|
return Component;
|
|
}
|
|
}
|
|
const res = resolve(instance[type] || Component[type], name2) || resolve(instance.appContext[type], name2);
|
|
if (!res && maybeSelfReference) {
|
|
return Component;
|
|
}
|
|
return res;
|
|
}
|
|
}
|
|
function resolve(registry, name2) {
|
|
return registry && (registry[name2] || registry[camelize(name2)] || registry[capitalize(camelize(name2))]);
|
|
}
|
|
function convertLegacyRenderFn(instance) {
|
|
const Component = instance.type;
|
|
const render2 = Component.render;
|
|
if (!render2 || render2._rc || render2._compatChecked || render2._compatWrapped) {
|
|
return;
|
|
}
|
|
if (render2.length >= 2) {
|
|
render2._compatChecked = true;
|
|
return;
|
|
}
|
|
if (checkCompatEnabled("RENDER_FUNCTION", instance)) {
|
|
const wrapped = Component.render = function compatRender() {
|
|
return render2.call(this, compatH);
|
|
};
|
|
wrapped._compatWrapped = true;
|
|
}
|
|
}
|
|
function compatH(type, propsOrChildren, children) {
|
|
if (!type) {
|
|
type = Comment;
|
|
}
|
|
if (typeof type === "string") {
|
|
const t2 = hyphenate(type);
|
|
if (t2 === "transition" || t2 === "transition-group" || t2 === "keep-alive") {
|
|
type = `__compat__${t2}`;
|
|
}
|
|
type = resolveDynamicComponent(type);
|
|
}
|
|
const l2 = arguments.length;
|
|
const is2ndArgArrayChildren = isArray$8(propsOrChildren);
|
|
if (l2 === 2 || is2ndArgArrayChildren) {
|
|
if (isObject$4(propsOrChildren) && !is2ndArgArrayChildren) {
|
|
if (isVNode(propsOrChildren)) {
|
|
return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
|
|
}
|
|
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
|
|
} else {
|
|
return convertLegacySlots(createVNode(type, null, propsOrChildren));
|
|
}
|
|
} else {
|
|
if (isVNode(children)) {
|
|
children = [children];
|
|
}
|
|
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
|
|
}
|
|
}
|
|
const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
|
|
function convertLegacyProps(legacyProps, type) {
|
|
if (!legacyProps) {
|
|
return null;
|
|
}
|
|
const converted = {};
|
|
for (const key in legacyProps) {
|
|
if (key === "attrs" || key === "domProps" || key === "props") {
|
|
extend$1(converted, legacyProps[key]);
|
|
} else if (key === "on" || key === "nativeOn") {
|
|
const listeners = legacyProps[key];
|
|
for (const event in listeners) {
|
|
let handlerKey = convertLegacyEventKey(event);
|
|
if (key === "nativeOn")
|
|
handlerKey += `Native`;
|
|
const existing = converted[handlerKey];
|
|
const incoming = listeners[event];
|
|
if (existing !== incoming) {
|
|
if (existing) {
|
|
converted[handlerKey] = [].concat(existing, incoming);
|
|
} else {
|
|
converted[handlerKey] = incoming;
|
|
}
|
|
}
|
|
}
|
|
} else if (!skipLegacyRootLevelProps(key)) {
|
|
converted[key] = legacyProps[key];
|
|
}
|
|
}
|
|
if (legacyProps.staticClass) {
|
|
converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
|
|
}
|
|
if (legacyProps.staticStyle) {
|
|
converted.style = normalizeStyle([legacyProps.staticStyle, converted.style]);
|
|
}
|
|
if (legacyProps.model && isObject$4(type)) {
|
|
const { prop = "value", event = "input" } = type.model || {};
|
|
converted[prop] = legacyProps.model.value;
|
|
converted[compatModelEventPrefix + event] = legacyProps.model.callback;
|
|
}
|
|
return converted;
|
|
}
|
|
function convertLegacyEventKey(event) {
|
|
if (event[0] === "&") {
|
|
event = event.slice(1) + "Passive";
|
|
}
|
|
if (event[0] === "~") {
|
|
event = event.slice(1) + "Once";
|
|
}
|
|
if (event[0] === "!") {
|
|
event = event.slice(1) + "Capture";
|
|
}
|
|
return toHandlerKey(event);
|
|
}
|
|
function convertLegacyDirectives(vnode, props) {
|
|
if (props && props.directives) {
|
|
return withDirectives(vnode, props.directives.map(({ name: name2, value, arg, modifiers }) => {
|
|
return [
|
|
resolveDirective(name2),
|
|
value,
|
|
arg,
|
|
modifiers
|
|
];
|
|
}));
|
|
}
|
|
return vnode;
|
|
}
|
|
function convertLegacySlots(vnode) {
|
|
const { props, children } = vnode;
|
|
let slots;
|
|
if (vnode.shapeFlag & 6 && isArray$8(children)) {
|
|
slots = {};
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
const child = children[i2];
|
|
const slotName = isVNode(child) && child.props && child.props.slot || "default";
|
|
const slot = slots[slotName] || (slots[slotName] = []);
|
|
if (isVNode(child) && child.type === "template") {
|
|
slot.push(child.children);
|
|
} else {
|
|
slot.push(child);
|
|
}
|
|
}
|
|
if (slots) {
|
|
for (const key in slots) {
|
|
const slotChildren = slots[key];
|
|
slots[key] = () => slotChildren;
|
|
slots[key]._ns = true;
|
|
}
|
|
}
|
|
}
|
|
const scopedSlots = props && props.scopedSlots;
|
|
if (scopedSlots) {
|
|
delete props.scopedSlots;
|
|
if (slots) {
|
|
extend$1(slots, scopedSlots);
|
|
} else {
|
|
slots = scopedSlots;
|
|
}
|
|
}
|
|
if (slots) {
|
|
normalizeChildren(vnode, slots);
|
|
}
|
|
return vnode;
|
|
}
|
|
function defineLegacyVNodeProperties(vnode) {
|
|
if (isCompatEnabled("RENDER_FUNCTION", currentRenderingInstance, true) && isCompatEnabled("PRIVATE_APIS", currentRenderingInstance, true)) {
|
|
const context = currentRenderingInstance;
|
|
const getInstance = () => vnode.component && vnode.component.proxy;
|
|
let componentOptions;
|
|
Object.defineProperties(vnode, {
|
|
tag: { get: () => vnode.type },
|
|
data: { get: () => vnode.props || {}, set: (p2) => vnode.props = p2 },
|
|
elm: { get: () => vnode.el },
|
|
componentInstance: { get: getInstance },
|
|
child: { get: getInstance },
|
|
text: { get: () => isString$2(vnode.children) ? vnode.children : null },
|
|
context: { get: () => context && context.proxy },
|
|
componentOptions: {
|
|
get: () => {
|
|
if (vnode.shapeFlag & 4) {
|
|
if (componentOptions) {
|
|
return componentOptions;
|
|
}
|
|
return componentOptions = {
|
|
Ctor: vnode.type,
|
|
propsData: vnode.props,
|
|
children: vnode.children
|
|
};
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
const normalizedFunctionalComponentMap = /* @__PURE__ */ new Map();
|
|
const legacySlotProxyHandlers = {
|
|
get(target, key) {
|
|
const slot = target[key];
|
|
return slot && slot();
|
|
}
|
|
};
|
|
function convertLegacyFunctionalComponent(comp) {
|
|
if (normalizedFunctionalComponentMap.has(comp)) {
|
|
return normalizedFunctionalComponentMap.get(comp);
|
|
}
|
|
const legacyFn = comp.render;
|
|
const Func = (props, ctx) => {
|
|
const instance = getCurrentInstance();
|
|
const legacyCtx = {
|
|
props,
|
|
children: instance.vnode.children || [],
|
|
data: instance.vnode.props || {},
|
|
scopedSlots: ctx.slots,
|
|
parent: instance.parent && instance.parent.proxy,
|
|
slots() {
|
|
return new Proxy(ctx.slots, legacySlotProxyHandlers);
|
|
},
|
|
get listeners() {
|
|
return getCompatListeners(instance);
|
|
},
|
|
get injections() {
|
|
if (comp.inject) {
|
|
const injections = {};
|
|
resolveInjections(comp.inject, injections);
|
|
return injections;
|
|
}
|
|
return {};
|
|
}
|
|
};
|
|
return legacyFn(compatH, legacyCtx);
|
|
};
|
|
Func.props = comp.props;
|
|
Func.displayName = comp.name;
|
|
Func.compatConfig = comp.compatConfig;
|
|
Func.inheritAttrs = false;
|
|
normalizedFunctionalComponentMap.set(comp, Func);
|
|
return Func;
|
|
}
|
|
function renderList(source, renderItem, cache, index2) {
|
|
let ret;
|
|
const cached = cache && cache[index2];
|
|
if (isArray$8(source) || isString$2(source)) {
|
|
ret = new Array(source.length);
|
|
for (let i2 = 0, l2 = source.length; i2 < l2; i2++) {
|
|
ret[i2] = renderItem(source[i2], i2, void 0, cached && cached[i2]);
|
|
}
|
|
} else if (typeof source === "number") {
|
|
ret = new Array(source);
|
|
for (let i2 = 0; i2 < source; i2++) {
|
|
ret[i2] = renderItem(i2 + 1, i2, void 0, cached && cached[i2]);
|
|
}
|
|
} else if (isObject$4(source)) {
|
|
if (source[Symbol.iterator]) {
|
|
ret = Array.from(source, (item, i2) => renderItem(item, i2, void 0, cached && cached[i2]));
|
|
} else {
|
|
const keys2 = Object.keys(source);
|
|
ret = new Array(keys2.length);
|
|
for (let i2 = 0, l2 = keys2.length; i2 < l2; i2++) {
|
|
const key = keys2[i2];
|
|
ret[i2] = renderItem(source[key], key, i2, cached && cached[i2]);
|
|
}
|
|
}
|
|
} else {
|
|
ret = [];
|
|
}
|
|
if (cache) {
|
|
cache[index2] = ret;
|
|
}
|
|
return ret;
|
|
}
|
|
function createSlots(slots, dynamicSlots) {
|
|
for (let i2 = 0; i2 < dynamicSlots.length; i2++) {
|
|
const slot = dynamicSlots[i2];
|
|
if (isArray$8(slot)) {
|
|
for (let j = 0; j < slot.length; j++) {
|
|
slots[slot[j].name] = slot[j].fn;
|
|
}
|
|
} else if (slot) {
|
|
slots[slot.name] = slot.fn;
|
|
}
|
|
}
|
|
return slots;
|
|
}
|
|
function renderSlot(slots, name2, props = {}, fallback, noSlotted) {
|
|
if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {
|
|
return createVNode("slot", name2 === "default" ? null : { name: name2 }, fallback && fallback());
|
|
}
|
|
let slot = slots[name2];
|
|
if (slot && slot._c) {
|
|
slot._d = false;
|
|
}
|
|
openBlock();
|
|
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
const rendered = createBlock(Fragment, { key: props.key || `_${name2}` }, 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) {
|
|
const ret = {};
|
|
for (const key in obj) {
|
|
ret[toHandlerKey(key)] = obj[key];
|
|
}
|
|
return ret;
|
|
}
|
|
function toObject(arr) {
|
|
const res = {};
|
|
for (let i2 = 0; i2 < arr.length; i2++) {
|
|
if (arr[i2]) {
|
|
extend$1(res, arr[i2]);
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
function legacyBindObjectProps(data, _tag, value, _asProp, isSync) {
|
|
if (value && isObject$4(value)) {
|
|
if (isArray$8(value)) {
|
|
value = toObject(value);
|
|
}
|
|
for (const key in value) {
|
|
if (isReservedProp(key)) {
|
|
data[key] = value[key];
|
|
} else if (key === "class") {
|
|
data.class = normalizeClass([data.class, value.class]);
|
|
} else if (key === "style") {
|
|
data.style = normalizeClass([data.style, value.style]);
|
|
} else {
|
|
const attrs = data.attrs || (data.attrs = {});
|
|
const camelizedKey = camelize(key);
|
|
const hyphenatedKey = hyphenate(key);
|
|
if (!(camelizedKey in attrs) && !(hyphenatedKey in attrs)) {
|
|
attrs[key] = value[key];
|
|
if (isSync) {
|
|
const on2 = data.on || (data.on = {});
|
|
on2[`update:${key}`] = function($event) {
|
|
value[key] = $event;
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
function legacyBindObjectListeners(props, listeners) {
|
|
return mergeProps(props, toHandlers(listeners));
|
|
}
|
|
function legacyRenderSlot(instance, name2, fallback, props, bindObject) {
|
|
if (bindObject) {
|
|
props = mergeProps(props, bindObject);
|
|
}
|
|
return renderSlot(instance.slots, name2, props, fallback && (() => fallback));
|
|
}
|
|
function legacyresolveScopedSlots(fns, raw, hasDynamicKeys) {
|
|
return createSlots(raw || { $stable: !hasDynamicKeys }, mapKeyToName(fns));
|
|
}
|
|
function mapKeyToName(slots) {
|
|
for (let i2 = 0; i2 < slots.length; i2++) {
|
|
const fn = slots[i2];
|
|
if (fn) {
|
|
if (isArray$8(fn)) {
|
|
mapKeyToName(fn);
|
|
} else {
|
|
fn.name = fn.key || "default";
|
|
}
|
|
}
|
|
}
|
|
return slots;
|
|
}
|
|
const staticCacheMap = /* @__PURE__ */ new WeakMap();
|
|
function legacyRenderStatic(instance, index2) {
|
|
let cache = staticCacheMap.get(instance);
|
|
if (!cache) {
|
|
staticCacheMap.set(instance, cache = []);
|
|
}
|
|
if (cache[index2]) {
|
|
return cache[index2];
|
|
}
|
|
const fn = instance.type.staticRenderFns[index2];
|
|
const ctx = instance.proxy;
|
|
return cache[index2] = fn.call(ctx, null, ctx);
|
|
}
|
|
function legacyCheckKeyCodes(instance, eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) {
|
|
const config = instance.appContext.config;
|
|
const configKeyCodes = config.keyCodes || {};
|
|
const mappedKeyCode = configKeyCodes[key] || builtInKeyCode;
|
|
if (builtInKeyName && eventKeyName && !configKeyCodes[key]) {
|
|
return isKeyNotMatch(builtInKeyName, eventKeyName);
|
|
} else if (mappedKeyCode) {
|
|
return isKeyNotMatch(mappedKeyCode, eventKeyCode);
|
|
} else if (eventKeyName) {
|
|
return hyphenate(eventKeyName) !== key;
|
|
}
|
|
}
|
|
function isKeyNotMatch(expect, actual) {
|
|
if (isArray$8(expect)) {
|
|
return !expect.includes(actual);
|
|
} else {
|
|
return expect !== actual;
|
|
}
|
|
}
|
|
function legacyMarkOnce(tree) {
|
|
return tree;
|
|
}
|
|
function legacyBindDynamicKeys(props, values) {
|
|
for (let i2 = 0; i2 < values.length; i2 += 2) {
|
|
const key = values[i2];
|
|
if (typeof key === "string" && key) {
|
|
props[values[i2]] = values[i2 + 1];
|
|
}
|
|
}
|
|
return props;
|
|
}
|
|
function legacyPrependModifier(value, symbol) {
|
|
return typeof value === "string" ? symbol + value : value;
|
|
}
|
|
function installCompatInstanceProperties(map) {
|
|
const set2 = (target, key, val) => {
|
|
target[key] = val;
|
|
};
|
|
const del = (target, key) => {
|
|
delete target[key];
|
|
};
|
|
extend$1(map, {
|
|
$set: (i2) => {
|
|
assertCompatEnabled("INSTANCE_SET", i2);
|
|
return set2;
|
|
},
|
|
$delete: (i2) => {
|
|
assertCompatEnabled("INSTANCE_DELETE", i2);
|
|
return del;
|
|
},
|
|
$mount: (i2) => {
|
|
assertCompatEnabled("GLOBAL_MOUNT", null);
|
|
return i2.ctx._compat_mount || NOOP;
|
|
},
|
|
$destroy: (i2) => {
|
|
assertCompatEnabled("INSTANCE_DESTROY", i2);
|
|
return i2.ctx._compat_destroy || NOOP;
|
|
},
|
|
$slots: (i2) => {
|
|
if (isCompatEnabled("RENDER_FUNCTION", i2) && i2.render && i2.render._compatWrapped) {
|
|
return new Proxy(i2.slots, legacySlotProxyHandlers);
|
|
}
|
|
return i2.slots;
|
|
},
|
|
$scopedSlots: (i2) => {
|
|
assertCompatEnabled("INSTANCE_SCOPED_SLOTS", i2);
|
|
const res = {};
|
|
for (const key in i2.slots) {
|
|
const fn = i2.slots[key];
|
|
if (!fn._ns) {
|
|
res[key] = fn;
|
|
}
|
|
}
|
|
return res;
|
|
},
|
|
$on: (i2) => on.bind(null, i2),
|
|
$once: (i2) => once.bind(null, i2),
|
|
$off: (i2) => off.bind(null, i2),
|
|
$children: getCompatChildren,
|
|
$listeners: getCompatListeners
|
|
});
|
|
if (isCompatEnabled("PRIVATE_APIS", null)) {
|
|
extend$1(map, {
|
|
$vnode: (i2) => i2.vnode,
|
|
$options: (i2) => {
|
|
const res = extend$1({}, resolveMergedOptions(i2));
|
|
res.parent = i2.proxy.$parent;
|
|
res.propsData = i2.vnode.props;
|
|
return res;
|
|
},
|
|
_self: (i2) => i2.proxy,
|
|
_uid: (i2) => i2.uid,
|
|
_data: (i2) => i2.data,
|
|
_isMounted: (i2) => i2.isMounted,
|
|
_isDestroyed: (i2) => i2.isUnmounted,
|
|
$createElement: () => compatH,
|
|
_c: () => compatH,
|
|
_o: () => legacyMarkOnce,
|
|
_n: () => toNumber,
|
|
_s: () => toDisplayString,
|
|
_l: () => renderList,
|
|
_t: (i2) => legacyRenderSlot.bind(null, i2),
|
|
_q: () => looseEqual,
|
|
_i: () => looseIndexOf,
|
|
_m: (i2) => legacyRenderStatic.bind(null, i2),
|
|
_f: () => resolveFilter,
|
|
_k: (i2) => legacyCheckKeyCodes.bind(null, i2),
|
|
_b: () => legacyBindObjectProps,
|
|
_v: () => createTextVNode,
|
|
_e: () => createCommentVNode,
|
|
_u: () => legacyresolveScopedSlots,
|
|
_g: () => legacyBindObjectListeners,
|
|
_d: () => legacyBindDynamicKeys,
|
|
_p: () => legacyPrependModifier
|
|
});
|
|
}
|
|
}
|
|
const getPublicInstance = (i2) => {
|
|
if (!i2)
|
|
return null;
|
|
if (isStatefulComponent(i2))
|
|
return getExposeProxy(i2) || i2.proxy;
|
|
return getPublicInstance(i2.parent);
|
|
};
|
|
const publicPropertiesMap = /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), {
|
|
$: (i2) => i2,
|
|
$el: (i2) => i2.vnode.el,
|
|
$data: (i2) => i2.data,
|
|
$props: (i2) => i2.props,
|
|
$attrs: (i2) => i2.attrs,
|
|
$slots: (i2) => i2.slots,
|
|
$refs: (i2) => i2.refs,
|
|
$parent: (i2) => getPublicInstance(i2.parent),
|
|
$root: (i2) => getPublicInstance(i2.root),
|
|
$emit: (i2) => i2.emit,
|
|
$options: (i2) => resolveMergedOptions(i2),
|
|
$forceUpdate: (i2) => i2.f || (i2.f = () => queueJob(i2.update)),
|
|
$nextTick: (i2) => i2.n || (i2.n = nextTick.bind(i2.proxy)),
|
|
$watch: (i2) => instanceWatch.bind(i2)
|
|
});
|
|
{
|
|
installCompatInstanceProperties(publicPropertiesMap);
|
|
}
|
|
const PublicInstanceProxyHandlers = {
|
|
get({ _: instance }, key) {
|
|
const { ctx, setupState, data, props, accessCache, type, appContext } = instance;
|
|
let normalizedProps;
|
|
if (key[0] !== "$") {
|
|
const n2 = accessCache[key];
|
|
if (n2 !== void 0) {
|
|
switch (n2) {
|
|
case 1:
|
|
return setupState[key];
|
|
case 2:
|
|
return data[key];
|
|
case 4:
|
|
return ctx[key];
|
|
case 3:
|
|
return props[key];
|
|
}
|
|
} else if (setupState !== EMPTY_OBJ && hasOwn$2(setupState, key)) {
|
|
accessCache[key] = 1;
|
|
return setupState[key];
|
|
} else if (data !== EMPTY_OBJ && hasOwn$2(data, key)) {
|
|
accessCache[key] = 2;
|
|
return data[key];
|
|
} else if ((normalizedProps = instance.propsOptions[0]) && hasOwn$2(normalizedProps, key)) {
|
|
accessCache[key] = 3;
|
|
return props[key];
|
|
} else if (ctx !== EMPTY_OBJ && hasOwn$2(ctx, key)) {
|
|
accessCache[key] = 4;
|
|
return ctx[key];
|
|
} else if (shouldCacheAccess) {
|
|
accessCache[key] = 0;
|
|
}
|
|
}
|
|
const publicGetter = publicPropertiesMap[key];
|
|
let cssModule, globalProperties;
|
|
if (publicGetter) {
|
|
if (key === "$attrs") {
|
|
track(instance, "get", key);
|
|
}
|
|
return publicGetter(instance);
|
|
} else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) {
|
|
return cssModule;
|
|
} else if (ctx !== EMPTY_OBJ && hasOwn$2(ctx, key)) {
|
|
accessCache[key] = 4;
|
|
return ctx[key];
|
|
} else if (globalProperties = appContext.config.globalProperties, hasOwn$2(globalProperties, key)) {
|
|
{
|
|
const desc = Object.getOwnPropertyDescriptor(globalProperties, key);
|
|
if (desc.get) {
|
|
return desc.get.call(instance.proxy);
|
|
} else {
|
|
const val = globalProperties[key];
|
|
return isFunction$3(val) ? Object.assign(val.bind(instance.proxy), val) : val;
|
|
}
|
|
}
|
|
} else
|
|
;
|
|
},
|
|
set({ _: instance }, key, value) {
|
|
const { data, setupState, ctx } = instance;
|
|
if (setupState !== EMPTY_OBJ && hasOwn$2(setupState, key)) {
|
|
setupState[key] = value;
|
|
return true;
|
|
} else if (data !== EMPTY_OBJ && hasOwn$2(data, key)) {
|
|
data[key] = value;
|
|
return true;
|
|
} else if (hasOwn$2(instance.props, key)) {
|
|
return false;
|
|
}
|
|
if (key[0] === "$" && key.slice(1) in instance) {
|
|
return false;
|
|
} else {
|
|
{
|
|
ctx[key] = value;
|
|
}
|
|
}
|
|
return true;
|
|
},
|
|
has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {
|
|
let normalizedProps;
|
|
return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn$2(data, key) || setupState !== EMPTY_OBJ && hasOwn$2(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn$2(normalizedProps, key) || hasOwn$2(ctx, key) || hasOwn$2(publicPropertiesMap, key) || hasOwn$2(appContext.config.globalProperties, key);
|
|
},
|
|
defineProperty(target, key, descriptor) {
|
|
if (descriptor.get != null) {
|
|
target._.accessCache[key] = 0;
|
|
} else if (hasOwn$2(descriptor, "value")) {
|
|
this.set(target, key, descriptor.value, null);
|
|
}
|
|
return Reflect.defineProperty(target, key, descriptor);
|
|
}
|
|
};
|
|
const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend$1({}, PublicInstanceProxyHandlers, {
|
|
get(target, key) {
|
|
if (key === Symbol.unscopables) {
|
|
return;
|
|
}
|
|
return PublicInstanceProxyHandlers.get(target, key, target);
|
|
},
|
|
has(_, key) {
|
|
const has2 = key[0] !== "_" && !isGloballyWhitelisted(key);
|
|
return has2;
|
|
}
|
|
});
|
|
function deepMergeData(to, from) {
|
|
for (const key in from) {
|
|
const toVal = to[key];
|
|
const fromVal = from[key];
|
|
if (key in to && isPlainObject$1(toVal) && isPlainObject$1(fromVal)) {
|
|
deepMergeData(toVal, fromVal);
|
|
} else {
|
|
to[key] = fromVal;
|
|
}
|
|
}
|
|
return to;
|
|
}
|
|
let shouldCacheAccess = true;
|
|
function applyOptions(instance) {
|
|
const options = resolveMergedOptions(instance);
|
|
const publicThis = instance.proxy;
|
|
const ctx = instance.ctx;
|
|
shouldCacheAccess = false;
|
|
if (options.beforeCreate) {
|
|
callHook(options.beforeCreate, instance, "bc");
|
|
}
|
|
const {
|
|
data: dataOptions,
|
|
computed: computedOptions,
|
|
methods,
|
|
watch: watchOptions,
|
|
provide: provideOptions,
|
|
inject: injectOptions,
|
|
created,
|
|
beforeMount,
|
|
mounted,
|
|
beforeUpdate,
|
|
updated,
|
|
activated,
|
|
deactivated,
|
|
beforeDestroy,
|
|
beforeUnmount,
|
|
destroyed,
|
|
unmounted,
|
|
render: render2,
|
|
renderTracked,
|
|
renderTriggered,
|
|
errorCaptured,
|
|
serverPrefetch,
|
|
expose,
|
|
inheritAttrs,
|
|
components,
|
|
directives,
|
|
filters
|
|
} = options;
|
|
const checkDuplicateProperties = null;
|
|
if (injectOptions) {
|
|
resolveInjections(injectOptions, ctx, checkDuplicateProperties, instance.appContext.config.unwrapInjectedRef);
|
|
}
|
|
if (methods) {
|
|
for (const key in methods) {
|
|
const methodHandler = methods[key];
|
|
if (isFunction$3(methodHandler)) {
|
|
{
|
|
ctx[key] = methodHandler.bind(publicThis);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (dataOptions) {
|
|
const data = dataOptions.call(publicThis, publicThis);
|
|
if (!isObject$4(data))
|
|
;
|
|
else {
|
|
instance.data = reactive(data);
|
|
}
|
|
}
|
|
shouldCacheAccess = true;
|
|
if (computedOptions) {
|
|
for (const key in computedOptions) {
|
|
const opt = computedOptions[key];
|
|
const get3 = isFunction$3(opt) ? opt.bind(publicThis, publicThis) : isFunction$3(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
|
|
const set2 = !isFunction$3(opt) && isFunction$3(opt.set) ? opt.set.bind(publicThis) : NOOP;
|
|
const c2 = computed$1({
|
|
get: get3,
|
|
set: set2
|
|
});
|
|
Object.defineProperty(ctx, key, {
|
|
enumerable: true,
|
|
configurable: true,
|
|
get: () => c2.value,
|
|
set: (v) => c2.value = v
|
|
});
|
|
}
|
|
}
|
|
if (watchOptions) {
|
|
for (const key in watchOptions) {
|
|
createWatcher(watchOptions[key], ctx, publicThis, key);
|
|
}
|
|
}
|
|
if (provideOptions) {
|
|
const provides = isFunction$3(provideOptions) ? provideOptions.call(publicThis) : provideOptions;
|
|
Reflect.ownKeys(provides).forEach((key) => {
|
|
provide(key, provides[key]);
|
|
});
|
|
}
|
|
if (created) {
|
|
callHook(created, instance, "c");
|
|
}
|
|
function registerLifecycleHook(register2, hook) {
|
|
if (isArray$8(hook)) {
|
|
hook.forEach((_hook) => register2(_hook.bind(publicThis)));
|
|
} else if (hook) {
|
|
register2(hook.bind(publicThis));
|
|
}
|
|
}
|
|
registerLifecycleHook(onBeforeMount, beforeMount);
|
|
registerLifecycleHook(onMounted, mounted);
|
|
registerLifecycleHook(onBeforeUpdate, beforeUpdate);
|
|
registerLifecycleHook(onUpdated, updated);
|
|
registerLifecycleHook(onActivated, activated);
|
|
registerLifecycleHook(onDeactivated, deactivated);
|
|
registerLifecycleHook(onErrorCaptured, errorCaptured);
|
|
registerLifecycleHook(onRenderTracked, renderTracked);
|
|
registerLifecycleHook(onRenderTriggered, renderTriggered);
|
|
registerLifecycleHook(onBeforeUnmount, beforeUnmount);
|
|
registerLifecycleHook(onUnmounted, unmounted);
|
|
registerLifecycleHook(onServerPrefetch, serverPrefetch);
|
|
{
|
|
if (beforeDestroy && softAssertCompatEnabled("OPTIONS_BEFORE_DESTROY", instance)) {
|
|
registerLifecycleHook(onBeforeUnmount, beforeDestroy);
|
|
}
|
|
if (destroyed && softAssertCompatEnabled("OPTIONS_DESTROYED", instance)) {
|
|
registerLifecycleHook(onUnmounted, destroyed);
|
|
}
|
|
}
|
|
if (isArray$8(expose)) {
|
|
if (expose.length) {
|
|
const exposed = instance.exposed || (instance.exposed = {});
|
|
expose.forEach((key) => {
|
|
Object.defineProperty(exposed, key, {
|
|
get: () => publicThis[key],
|
|
set: (val) => publicThis[key] = val
|
|
});
|
|
});
|
|
} else if (!instance.exposed) {
|
|
instance.exposed = {};
|
|
}
|
|
}
|
|
if (render2 && instance.render === NOOP) {
|
|
instance.render = render2;
|
|
}
|
|
if (inheritAttrs != null) {
|
|
instance.inheritAttrs = inheritAttrs;
|
|
}
|
|
if (components)
|
|
instance.components = components;
|
|
if (directives)
|
|
instance.directives = directives;
|
|
if (filters && isCompatEnabled("FILTERS", instance)) {
|
|
instance.filters = filters;
|
|
}
|
|
}
|
|
function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP, unwrapRef = false) {
|
|
if (isArray$8(injectOptions)) {
|
|
injectOptions = normalizeInject(injectOptions);
|
|
}
|
|
for (const key in injectOptions) {
|
|
const opt = injectOptions[key];
|
|
let injected;
|
|
if (isObject$4(opt)) {
|
|
if ("default" in opt) {
|
|
injected = inject(opt.from || key, opt.default, true);
|
|
} else {
|
|
injected = inject(opt.from || key);
|
|
}
|
|
} else {
|
|
injected = inject(opt);
|
|
}
|
|
if (isRef(injected)) {
|
|
if (unwrapRef) {
|
|
Object.defineProperty(ctx, key, {
|
|
enumerable: true,
|
|
configurable: true,
|
|
get: () => injected.value,
|
|
set: (v) => injected.value = v
|
|
});
|
|
} else {
|
|
ctx[key] = injected;
|
|
}
|
|
} else {
|
|
ctx[key] = injected;
|
|
}
|
|
}
|
|
}
|
|
function callHook(hook, instance, type) {
|
|
callWithAsyncErrorHandling(isArray$8(hook) ? hook.map((h2) => h2.bind(instance.proxy)) : hook.bind(instance.proxy), instance, type);
|
|
}
|
|
function createWatcher(raw, ctx, publicThis, key) {
|
|
const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];
|
|
if (isString$2(raw)) {
|
|
const handler = ctx[raw];
|
|
if (isFunction$3(handler)) {
|
|
watch(getter, handler);
|
|
}
|
|
} else if (isFunction$3(raw)) {
|
|
watch(getter, raw.bind(publicThis));
|
|
} else if (isObject$4(raw)) {
|
|
if (isArray$8(raw)) {
|
|
raw.forEach((r2) => createWatcher(r2, ctx, publicThis, key));
|
|
} else {
|
|
const handler = isFunction$3(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
|
|
if (isFunction$3(handler)) {
|
|
watch(getter, handler, raw);
|
|
}
|
|
}
|
|
} else
|
|
;
|
|
}
|
|
function resolveMergedOptions(instance) {
|
|
const base = instance.type;
|
|
const { mixins: mixins2, extends: extendsOptions } = base;
|
|
const { mixins: globalMixins, optionsCache: cache, config: { optionMergeStrategies } } = instance.appContext;
|
|
const cached = cache.get(base);
|
|
let resolved;
|
|
if (cached) {
|
|
resolved = cached;
|
|
} else if (!globalMixins.length && !mixins2 && !extendsOptions) {
|
|
if (isCompatEnabled("PRIVATE_APIS", instance)) {
|
|
resolved = extend$1({}, base);
|
|
resolved.parent = instance.parent && instance.parent.proxy;
|
|
resolved.propsData = instance.vnode.props;
|
|
} else {
|
|
resolved = base;
|
|
}
|
|
} else {
|
|
resolved = {};
|
|
if (globalMixins.length) {
|
|
globalMixins.forEach((m2) => mergeOptions(resolved, m2, optionMergeStrategies, true));
|
|
}
|
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
}
|
|
cache.set(base, resolved);
|
|
return resolved;
|
|
}
|
|
function mergeOptions(to, from, strats, asMixin = false) {
|
|
if (isFunction$3(from)) {
|
|
from = from.options;
|
|
}
|
|
const { mixins: mixins2, extends: extendsOptions } = from;
|
|
if (extendsOptions) {
|
|
mergeOptions(to, extendsOptions, strats, true);
|
|
}
|
|
if (mixins2) {
|
|
mixins2.forEach((m2) => mergeOptions(to, m2, strats, true));
|
|
}
|
|
for (const key in from) {
|
|
if (asMixin && key === "expose")
|
|
;
|
|
else {
|
|
const strat = internalOptionMergeStrats[key] || strats && strats[key];
|
|
to[key] = strat ? strat(to[key], from[key]) : from[key];
|
|
}
|
|
}
|
|
return to;
|
|
}
|
|
const internalOptionMergeStrats = {
|
|
data: mergeDataFn,
|
|
props: mergeObjectOptions,
|
|
emits: mergeObjectOptions,
|
|
methods: mergeObjectOptions,
|
|
computed: mergeObjectOptions,
|
|
beforeCreate: mergeAsArray,
|
|
created: mergeAsArray,
|
|
beforeMount: mergeAsArray,
|
|
mounted: mergeAsArray,
|
|
beforeUpdate: mergeAsArray,
|
|
updated: mergeAsArray,
|
|
beforeDestroy: mergeAsArray,
|
|
beforeUnmount: mergeAsArray,
|
|
destroyed: mergeAsArray,
|
|
unmounted: mergeAsArray,
|
|
activated: mergeAsArray,
|
|
deactivated: mergeAsArray,
|
|
errorCaptured: mergeAsArray,
|
|
serverPrefetch: mergeAsArray,
|
|
components: mergeObjectOptions,
|
|
directives: mergeObjectOptions,
|
|
watch: mergeWatchOptions,
|
|
provide: mergeDataFn,
|
|
inject: mergeInject
|
|
};
|
|
{
|
|
internalOptionMergeStrats.filters = mergeObjectOptions;
|
|
}
|
|
function mergeDataFn(to, from) {
|
|
if (!from) {
|
|
return to;
|
|
}
|
|
if (!to) {
|
|
return from;
|
|
}
|
|
return function mergedDataFn() {
|
|
return (isCompatEnabled("OPTIONS_DATA_MERGE", null) ? deepMergeData : extend$1)(isFunction$3(to) ? to.call(this, this) : to, isFunction$3(from) ? from.call(this, this) : from);
|
|
};
|
|
}
|
|
function mergeInject(to, from) {
|
|
return mergeObjectOptions(normalizeInject(to), normalizeInject(from));
|
|
}
|
|
function normalizeInject(raw) {
|
|
if (isArray$8(raw)) {
|
|
const res = {};
|
|
for (let i2 = 0; i2 < raw.length; i2++) {
|
|
res[raw[i2]] = raw[i2];
|
|
}
|
|
return res;
|
|
}
|
|
return raw;
|
|
}
|
|
function mergeAsArray(to, from) {
|
|
return to ? [...new Set([].concat(to, from))] : from;
|
|
}
|
|
function mergeObjectOptions(to, from) {
|
|
return to ? extend$1(extend$1(/* @__PURE__ */ Object.create(null), to), from) : from;
|
|
}
|
|
function mergeWatchOptions(to, from) {
|
|
if (!to)
|
|
return from;
|
|
if (!from)
|
|
return to;
|
|
const merged = extend$1(/* @__PURE__ */ Object.create(null), to);
|
|
for (const key in from) {
|
|
merged[key] = mergeAsArray(to[key], from[key]);
|
|
}
|
|
return merged;
|
|
}
|
|
function createPropsDefaultThis(instance, rawProps, propKey) {
|
|
return new Proxy({}, {
|
|
get(_, key) {
|
|
if (key === "$options") {
|
|
return resolveMergedOptions(instance);
|
|
}
|
|
if (key in rawProps) {
|
|
return rawProps[key];
|
|
}
|
|
const injections = instance.type.inject;
|
|
if (injections) {
|
|
if (isArray$8(injections)) {
|
|
if (injections.includes(key)) {
|
|
return inject(key);
|
|
}
|
|
} else if (key in injections) {
|
|
return inject(key);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function shouldSkipAttr(key, instance) {
|
|
if (key === "is") {
|
|
return true;
|
|
}
|
|
if ((key === "class" || key === "style") && isCompatEnabled("INSTANCE_ATTRS_CLASS_STYLE", instance)) {
|
|
return true;
|
|
}
|
|
if (isOn(key) && isCompatEnabled("INSTANCE_LISTENERS", instance)) {
|
|
return true;
|
|
}
|
|
if (key.startsWith("routerView") || key === "registerRouteInstance") {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function initProps(instance, rawProps, isStateful, isSSR = false) {
|
|
const props = {};
|
|
const attrs = {};
|
|
def(attrs, InternalObjectKey, 1);
|
|
instance.propsDefaults = /* @__PURE__ */ Object.create(null);
|
|
setFullProps(instance, rawProps, props, attrs);
|
|
for (const key in instance.propsOptions[0]) {
|
|
if (!(key in props)) {
|
|
props[key] = void 0;
|
|
}
|
|
}
|
|
if (isStateful) {
|
|
instance.props = isSSR ? props : shallowReactive(props);
|
|
} else {
|
|
if (!instance.type.props) {
|
|
instance.props = attrs;
|
|
} else {
|
|
instance.props = props;
|
|
}
|
|
}
|
|
instance.attrs = attrs;
|
|
}
|
|
function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
const { props, attrs, vnode: { patchFlag } } = instance;
|
|
const rawCurrentProps = toRaw(props);
|
|
const [options] = instance.propsOptions;
|
|
let hasAttrsChanged = false;
|
|
if ((optimized || patchFlag > 0) && !(patchFlag & 16)) {
|
|
if (patchFlag & 8) {
|
|
const propsToUpdate = instance.vnode.dynamicProps;
|
|
for (let i2 = 0; i2 < propsToUpdate.length; i2++) {
|
|
let key = propsToUpdate[i2];
|
|
if (isEmitListener(instance.emitsOptions, key)) {
|
|
continue;
|
|
}
|
|
const value = rawProps[key];
|
|
if (options) {
|
|
if (hasOwn$2(attrs, key)) {
|
|
if (value !== attrs[key]) {
|
|
attrs[key] = value;
|
|
hasAttrsChanged = true;
|
|
}
|
|
} else {
|
|
const camelizedKey = camelize(key);
|
|
props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance, false);
|
|
}
|
|
} else {
|
|
{
|
|
if (isOn(key) && key.endsWith("Native")) {
|
|
key = key.slice(0, -6);
|
|
} else if (shouldSkipAttr(key, instance)) {
|
|
continue;
|
|
}
|
|
}
|
|
if (value !== attrs[key]) {
|
|
attrs[key] = value;
|
|
hasAttrsChanged = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (setFullProps(instance, rawProps, props, attrs)) {
|
|
hasAttrsChanged = true;
|
|
}
|
|
let kebabKey;
|
|
for (const key in rawCurrentProps) {
|
|
if (!rawProps || !hasOwn$2(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn$2(rawProps, kebabKey))) {
|
|
if (options) {
|
|
if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) {
|
|
props[key] = resolvePropValue(options, rawCurrentProps, key, void 0, instance, true);
|
|
}
|
|
} else {
|
|
delete props[key];
|
|
}
|
|
}
|
|
}
|
|
if (attrs !== rawCurrentProps) {
|
|
for (const key in attrs) {
|
|
if (!rawProps || !hasOwn$2(rawProps, key) && !hasOwn$2(rawProps, key + "Native")) {
|
|
delete attrs[key];
|
|
hasAttrsChanged = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (hasAttrsChanged) {
|
|
trigger(instance, "set", "$attrs");
|
|
}
|
|
}
|
|
function setFullProps(instance, rawProps, props, attrs) {
|
|
const [options, needCastKeys] = instance.propsOptions;
|
|
let hasAttrsChanged = false;
|
|
let rawCastValues;
|
|
if (rawProps) {
|
|
for (let key in rawProps) {
|
|
if (isReservedProp(key)) {
|
|
continue;
|
|
}
|
|
{
|
|
if (key.startsWith("onHook:")) {
|
|
softAssertCompatEnabled("INSTANCE_EVENT_HOOKS", instance, key.slice(2).toLowerCase());
|
|
}
|
|
if (key === "inline-template") {
|
|
continue;
|
|
}
|
|
}
|
|
const value = rawProps[key];
|
|
let camelKey;
|
|
if (options && hasOwn$2(options, camelKey = camelize(key))) {
|
|
if (!needCastKeys || !needCastKeys.includes(camelKey)) {
|
|
props[camelKey] = value;
|
|
} else {
|
|
(rawCastValues || (rawCastValues = {}))[camelKey] = value;
|
|
}
|
|
} else if (!isEmitListener(instance.emitsOptions, key)) {
|
|
{
|
|
if (isOn(key) && key.endsWith("Native")) {
|
|
key = key.slice(0, -6);
|
|
} else if (shouldSkipAttr(key, instance)) {
|
|
continue;
|
|
}
|
|
}
|
|
if (!(key in attrs) || value !== attrs[key]) {
|
|
attrs[key] = value;
|
|
hasAttrsChanged = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (needCastKeys) {
|
|
const rawCurrentProps = toRaw(props);
|
|
const castValues = rawCastValues || EMPTY_OBJ;
|
|
for (let i2 = 0; i2 < needCastKeys.length; i2++) {
|
|
const key = needCastKeys[i2];
|
|
props[key] = resolvePropValue(options, rawCurrentProps, key, castValues[key], instance, !hasOwn$2(castValues, key));
|
|
}
|
|
}
|
|
return hasAttrsChanged;
|
|
}
|
|
function resolvePropValue(options, props, key, value, instance, isAbsent) {
|
|
const opt = options[key];
|
|
if (opt != null) {
|
|
const hasDefault = hasOwn$2(opt, "default");
|
|
if (hasDefault && value === void 0) {
|
|
const defaultValue = opt.default;
|
|
if (opt.type !== Function && isFunction$3(defaultValue)) {
|
|
const { propsDefaults } = instance;
|
|
if (key in propsDefaults) {
|
|
value = propsDefaults[key];
|
|
} else {
|
|
setCurrentInstance(instance);
|
|
value = propsDefaults[key] = defaultValue.call(isCompatEnabled("PROPS_DEFAULT_THIS", instance) ? createPropsDefaultThis(instance, props) : null, props);
|
|
unsetCurrentInstance();
|
|
}
|
|
} else {
|
|
value = defaultValue;
|
|
}
|
|
}
|
|
if (opt[0]) {
|
|
if (isAbsent && !hasDefault) {
|
|
value = false;
|
|
} else if (opt[1] && (value === "" || value === hyphenate(key))) {
|
|
value = true;
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
}
|
|
function normalizePropsOptions(comp, appContext, asMixin = false) {
|
|
const cache = appContext.propsCache;
|
|
const cached = cache.get(comp);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const raw = comp.props;
|
|
const normalized = {};
|
|
const needCastKeys = [];
|
|
let hasExtends = false;
|
|
if (!isFunction$3(comp)) {
|
|
const extendProps = (raw2) => {
|
|
if (isFunction$3(raw2)) {
|
|
raw2 = raw2.options;
|
|
}
|
|
hasExtends = true;
|
|
const [props, keys2] = normalizePropsOptions(raw2, appContext, true);
|
|
extend$1(normalized, props);
|
|
if (keys2)
|
|
needCastKeys.push(...keys2);
|
|
};
|
|
if (!asMixin && appContext.mixins.length) {
|
|
appContext.mixins.forEach(extendProps);
|
|
}
|
|
if (comp.extends) {
|
|
extendProps(comp.extends);
|
|
}
|
|
if (comp.mixins) {
|
|
comp.mixins.forEach(extendProps);
|
|
}
|
|
}
|
|
if (!raw && !hasExtends) {
|
|
cache.set(comp, EMPTY_ARR);
|
|
return EMPTY_ARR;
|
|
}
|
|
if (isArray$8(raw)) {
|
|
for (let i2 = 0; i2 < raw.length; i2++) {
|
|
const normalizedKey = camelize(raw[i2]);
|
|
if (validatePropName(normalizedKey)) {
|
|
normalized[normalizedKey] = EMPTY_OBJ;
|
|
}
|
|
}
|
|
} else if (raw) {
|
|
for (const key in raw) {
|
|
const normalizedKey = camelize(key);
|
|
if (validatePropName(normalizedKey)) {
|
|
const opt = raw[key];
|
|
const prop = normalized[normalizedKey] = isArray$8(opt) || isFunction$3(opt) ? { type: opt } : opt;
|
|
if (prop) {
|
|
const booleanIndex = getTypeIndex(Boolean, prop.type);
|
|
const stringIndex = getTypeIndex(String, prop.type);
|
|
prop[0] = booleanIndex > -1;
|
|
prop[1] = stringIndex < 0 || booleanIndex < stringIndex;
|
|
if (booleanIndex > -1 || hasOwn$2(prop, "default")) {
|
|
needCastKeys.push(normalizedKey);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const res = [normalized, needCastKeys];
|
|
cache.set(comp, res);
|
|
return res;
|
|
}
|
|
function validatePropName(key) {
|
|
if (key[0] !== "$") {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function getType(ctor) {
|
|
const match = ctor && ctor.toString().match(/^\s*function (\w+)/);
|
|
return match ? match[1] : ctor === null ? "null" : "";
|
|
}
|
|
function isSameType(a2, b2) {
|
|
return getType(a2) === getType(b2);
|
|
}
|
|
function getTypeIndex(type, expectedTypes) {
|
|
if (isArray$8(expectedTypes)) {
|
|
return expectedTypes.findIndex((t2) => isSameType(t2, type));
|
|
} else if (isFunction$3(expectedTypes)) {
|
|
return isSameType(expectedTypes, type) ? 0 : -1;
|
|
}
|
|
return -1;
|
|
}
|
|
const isInternalKey = (key) => key[0] === "_" || key === "$stable";
|
|
const normalizeSlotValue = (value) => isArray$8(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
|
|
const normalizeSlot = (key, rawSlot, ctx) => {
|
|
if (rawSlot._n) {
|
|
return rawSlot;
|
|
}
|
|
const normalized = withCtx((...args) => {
|
|
return normalizeSlotValue(rawSlot(...args));
|
|
}, ctx);
|
|
normalized._c = false;
|
|
return normalized;
|
|
};
|
|
const normalizeObjectSlots = (rawSlots, slots, instance) => {
|
|
const ctx = rawSlots._ctx;
|
|
for (const key in rawSlots) {
|
|
if (isInternalKey(key))
|
|
continue;
|
|
const value = rawSlots[key];
|
|
if (isFunction$3(value)) {
|
|
slots[key] = normalizeSlot(key, value, ctx);
|
|
} else if (value != null) {
|
|
const normalized = normalizeSlotValue(value);
|
|
slots[key] = () => normalized;
|
|
}
|
|
}
|
|
};
|
|
const normalizeVNodeSlots = (instance, children) => {
|
|
const normalized = normalizeSlotValue(children);
|
|
instance.slots.default = () => normalized;
|
|
};
|
|
const initSlots = (instance, children) => {
|
|
if (instance.vnode.shapeFlag & 32) {
|
|
const type = children._;
|
|
if (type) {
|
|
instance.slots = toRaw(children);
|
|
def(children, "_", type);
|
|
} else {
|
|
normalizeObjectSlots(children, instance.slots = {});
|
|
}
|
|
} else {
|
|
instance.slots = {};
|
|
if (children) {
|
|
normalizeVNodeSlots(instance, children);
|
|
}
|
|
}
|
|
def(instance.slots, InternalObjectKey, 1);
|
|
};
|
|
const updateSlots = (instance, children, optimized) => {
|
|
const { vnode, slots } = instance;
|
|
let needDeletionCheck = true;
|
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
if (vnode.shapeFlag & 32) {
|
|
const type = children._;
|
|
if (type) {
|
|
if (optimized && type === 1) {
|
|
needDeletionCheck = false;
|
|
} else {
|
|
extend$1(slots, children);
|
|
if (!optimized && type === 1) {
|
|
delete slots._;
|
|
}
|
|
}
|
|
} else {
|
|
needDeletionCheck = !children.$stable;
|
|
normalizeObjectSlots(children, slots);
|
|
}
|
|
deletionComparisonTarget = children;
|
|
} else if (children) {
|
|
normalizeVNodeSlots(instance, children);
|
|
deletionComparisonTarget = { default: 1 };
|
|
}
|
|
if (needDeletionCheck) {
|
|
for (const key in slots) {
|
|
if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
|
|
delete slots[key];
|
|
}
|
|
}
|
|
}
|
|
};
|
|
function installLegacyOptionMergeStrats(config) {
|
|
config.optionMergeStrategies = new Proxy({}, {
|
|
get(target, key) {
|
|
if (key in target) {
|
|
return target[key];
|
|
}
|
|
if (key in internalOptionMergeStrats && softAssertCompatEnabled("CONFIG_OPTION_MERGE_STRATS", null)) {
|
|
return internalOptionMergeStrats[key];
|
|
}
|
|
}
|
|
});
|
|
}
|
|
let singletonApp;
|
|
let singletonCtor;
|
|
function createCompatVue(createApp2, createSingletonApp) {
|
|
singletonApp = createSingletonApp({});
|
|
const Vue2 = singletonCtor = function Vue3(options = {}) {
|
|
return createCompatApp(options, Vue3);
|
|
};
|
|
function createCompatApp(options = {}, Ctor) {
|
|
assertCompatEnabled("GLOBAL_MOUNT", null);
|
|
const { data } = options;
|
|
if (data && !isFunction$3(data) && softAssertCompatEnabled("OPTIONS_DATA_FN", null)) {
|
|
options.data = () => data;
|
|
}
|
|
const app2 = createApp2(options);
|
|
if (Ctor !== Vue2) {
|
|
applySingletonPrototype(app2, Ctor);
|
|
}
|
|
const vm = app2._createRoot(options);
|
|
if (options.el) {
|
|
return vm.$mount(options.el);
|
|
} else {
|
|
return vm;
|
|
}
|
|
}
|
|
Vue2.version = `2.6.14-compat:${"3.2.37"}`;
|
|
Vue2.config = singletonApp.config;
|
|
Vue2.use = (p2, ...options) => {
|
|
if (p2 && isFunction$3(p2.install)) {
|
|
p2.install(Vue2, ...options);
|
|
} else if (isFunction$3(p2)) {
|
|
p2(Vue2, ...options);
|
|
}
|
|
return Vue2;
|
|
};
|
|
Vue2.mixin = (m2) => {
|
|
singletonApp.mixin(m2);
|
|
return Vue2;
|
|
};
|
|
Vue2.component = (name2, comp) => {
|
|
if (comp) {
|
|
singletonApp.component(name2, comp);
|
|
return Vue2;
|
|
} else {
|
|
return singletonApp.component(name2);
|
|
}
|
|
};
|
|
Vue2.directive = (name2, dir) => {
|
|
if (dir) {
|
|
singletonApp.directive(name2, dir);
|
|
return Vue2;
|
|
} else {
|
|
return singletonApp.directive(name2);
|
|
}
|
|
};
|
|
Vue2.options = { _base: Vue2 };
|
|
let cid = 1;
|
|
Vue2.cid = cid;
|
|
Vue2.nextTick = nextTick;
|
|
const extendCache = /* @__PURE__ */ new WeakMap();
|
|
function extendCtor(extendOptions = {}) {
|
|
assertCompatEnabled("GLOBAL_EXTEND", null);
|
|
if (isFunction$3(extendOptions)) {
|
|
extendOptions = extendOptions.options;
|
|
}
|
|
if (extendCache.has(extendOptions)) {
|
|
return extendCache.get(extendOptions);
|
|
}
|
|
const Super = this;
|
|
function SubVue(inlineOptions) {
|
|
if (!inlineOptions) {
|
|
return createCompatApp(SubVue.options, SubVue);
|
|
} else {
|
|
return createCompatApp(mergeOptions(extend$1({}, SubVue.options), inlineOptions, internalOptionMergeStrats), SubVue);
|
|
}
|
|
}
|
|
SubVue.super = Super;
|
|
SubVue.prototype = Object.create(Vue2.prototype);
|
|
SubVue.prototype.constructor = SubVue;
|
|
const mergeBase = {};
|
|
for (const key in Super.options) {
|
|
const superValue = Super.options[key];
|
|
mergeBase[key] = isArray$8(superValue) ? superValue.slice() : isObject$4(superValue) ? extend$1(/* @__PURE__ */ Object.create(null), superValue) : superValue;
|
|
}
|
|
SubVue.options = mergeOptions(mergeBase, extendOptions, internalOptionMergeStrats);
|
|
SubVue.options._base = SubVue;
|
|
SubVue.extend = extendCtor.bind(SubVue);
|
|
SubVue.mixin = Super.mixin;
|
|
SubVue.use = Super.use;
|
|
SubVue.cid = ++cid;
|
|
extendCache.set(extendOptions, SubVue);
|
|
return SubVue;
|
|
}
|
|
Vue2.extend = extendCtor.bind(Vue2);
|
|
Vue2.set = (target, key, value) => {
|
|
assertCompatEnabled("GLOBAL_SET", null);
|
|
target[key] = value;
|
|
};
|
|
Vue2.delete = (target, key) => {
|
|
assertCompatEnabled("GLOBAL_DELETE", null);
|
|
delete target[key];
|
|
};
|
|
Vue2.observable = (target) => {
|
|
assertCompatEnabled("GLOBAL_OBSERVABLE", null);
|
|
return reactive(target);
|
|
};
|
|
Vue2.filter = (name2, filter) => {
|
|
if (filter) {
|
|
singletonApp.filter(name2, filter);
|
|
return Vue2;
|
|
} else {
|
|
return singletonApp.filter(name2);
|
|
}
|
|
};
|
|
const util = {
|
|
warn: NOOP,
|
|
extend: extend$1,
|
|
mergeOptions: (parent, child, vm) => mergeOptions(parent, child, vm ? void 0 : internalOptionMergeStrats),
|
|
defineReactive
|
|
};
|
|
Object.defineProperty(Vue2, "util", {
|
|
get() {
|
|
assertCompatEnabled("GLOBAL_PRIVATE_UTIL", null);
|
|
return util;
|
|
}
|
|
});
|
|
Vue2.configureCompat = configureCompat;
|
|
return Vue2;
|
|
}
|
|
function installAppCompatProperties(app2, context, render2) {
|
|
installFilterMethod(app2, context);
|
|
installLegacyOptionMergeStrats(app2.config);
|
|
if (!singletonApp) {
|
|
return;
|
|
}
|
|
installCompatMount(app2, context, render2);
|
|
installLegacyAPIs(app2);
|
|
applySingletonAppMutations(app2);
|
|
}
|
|
function installFilterMethod(app2, context) {
|
|
context.filters = {};
|
|
app2.filter = (name2, filter) => {
|
|
assertCompatEnabled("FILTERS", null);
|
|
if (!filter) {
|
|
return context.filters[name2];
|
|
}
|
|
context.filters[name2] = filter;
|
|
return app2;
|
|
};
|
|
}
|
|
function installLegacyAPIs(app2) {
|
|
Object.defineProperties(app2, {
|
|
prototype: {
|
|
get() {
|
|
return app2.config.globalProperties;
|
|
}
|
|
},
|
|
nextTick: { value: nextTick },
|
|
extend: { value: singletonCtor.extend },
|
|
set: { value: singletonCtor.set },
|
|
delete: { value: singletonCtor.delete },
|
|
observable: { value: singletonCtor.observable },
|
|
util: {
|
|
get() {
|
|
return singletonCtor.util;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
function applySingletonAppMutations(app2) {
|
|
app2._context.mixins = [...singletonApp._context.mixins];
|
|
["components", "directives", "filters"].forEach((key) => {
|
|
app2._context[key] = Object.create(singletonApp._context[key]);
|
|
});
|
|
for (const key in singletonApp.config) {
|
|
if (key === "isNativeTag")
|
|
continue;
|
|
if (isRuntimeOnly() && (key === "isCustomElement" || key === "compilerOptions")) {
|
|
continue;
|
|
}
|
|
const val = singletonApp.config[key];
|
|
app2.config[key] = isObject$4(val) ? Object.create(val) : val;
|
|
if (key === "ignoredElements" && isCompatEnabled("CONFIG_IGNORED_ELEMENTS", null) && !isRuntimeOnly() && isArray$8(val)) {
|
|
app2.config.compilerOptions.isCustomElement = (tag) => {
|
|
return val.some((v) => isString$2(v) ? v === tag : v.test(tag));
|
|
};
|
|
}
|
|
}
|
|
applySingletonPrototype(app2, singletonCtor);
|
|
}
|
|
function applySingletonPrototype(app2, Ctor) {
|
|
const enabled = isCompatEnabled("GLOBAL_PROTOTYPE", null);
|
|
if (enabled) {
|
|
app2.config.globalProperties = Object.create(Ctor.prototype);
|
|
}
|
|
const descriptors = Object.getOwnPropertyDescriptors(Ctor.prototype);
|
|
for (const key in descriptors) {
|
|
if (key !== "constructor") {
|
|
if (enabled) {
|
|
Object.defineProperty(app2.config.globalProperties, key, descriptors[key]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function installCompatMount(app2, context, render2) {
|
|
let isMounted = false;
|
|
app2._createRoot = (options) => {
|
|
const component = app2._component;
|
|
const vnode = createVNode(component, options.propsData || null);
|
|
vnode.appContext = context;
|
|
const hasNoRender = !isFunction$3(component) && !component.render && !component.template;
|
|
const emptyRender = () => {
|
|
};
|
|
const instance = createComponentInstance(vnode, null, null);
|
|
if (hasNoRender) {
|
|
instance.render = emptyRender;
|
|
}
|
|
setupComponent(instance);
|
|
vnode.component = instance;
|
|
vnode.isCompatRoot = true;
|
|
instance.ctx._compat_mount = (selectorOrEl) => {
|
|
if (isMounted) {
|
|
return;
|
|
}
|
|
let container;
|
|
if (typeof selectorOrEl === "string") {
|
|
const result = document.querySelector(selectorOrEl);
|
|
if (!result) {
|
|
return;
|
|
}
|
|
container = result;
|
|
} else {
|
|
container = selectorOrEl || document.createElement("div");
|
|
}
|
|
const isSVG = container instanceof SVGElement;
|
|
if (hasNoRender && instance.render === emptyRender) {
|
|
instance.render = null;
|
|
component.template = container.innerHTML;
|
|
finishComponentSetup(instance, false, true);
|
|
}
|
|
container.innerHTML = "";
|
|
render2(vnode, container, isSVG);
|
|
if (container instanceof Element) {
|
|
container.removeAttribute("v-cloak");
|
|
container.setAttribute("data-v-app", "");
|
|
}
|
|
isMounted = true;
|
|
app2._container = container;
|
|
container.__vue_app__ = app2;
|
|
return instance.proxy;
|
|
};
|
|
instance.ctx._compat_destroy = () => {
|
|
if (isMounted) {
|
|
render2(null, app2._container);
|
|
delete app2._container.__vue_app__;
|
|
} else {
|
|
const { bum, scope, um } = instance;
|
|
if (bum) {
|
|
invokeArrayFns(bum);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
instance.emit("hook:beforeDestroy");
|
|
}
|
|
if (scope) {
|
|
scope.stop();
|
|
}
|
|
if (um) {
|
|
invokeArrayFns(um);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
instance.emit("hook:destroyed");
|
|
}
|
|
}
|
|
};
|
|
return instance.proxy;
|
|
};
|
|
}
|
|
const methodsToPatch = [
|
|
"push",
|
|
"pop",
|
|
"shift",
|
|
"unshift",
|
|
"splice",
|
|
"sort",
|
|
"reverse"
|
|
];
|
|
const patched = /* @__PURE__ */ new WeakSet();
|
|
function defineReactive(obj, key, val) {
|
|
if (isObject$4(val) && !isReactive(val) && !patched.has(val)) {
|
|
const reactiveVal = reactive(val);
|
|
if (isArray$8(val)) {
|
|
methodsToPatch.forEach((m2) => {
|
|
val[m2] = (...args) => {
|
|
Array.prototype[m2].call(reactiveVal, ...args);
|
|
};
|
|
});
|
|
} else {
|
|
Object.keys(val).forEach((key2) => {
|
|
try {
|
|
defineReactiveSimple(val, key2, val[key2]);
|
|
} catch (e2) {
|
|
}
|
|
});
|
|
}
|
|
}
|
|
const i2 = obj.$;
|
|
if (i2 && obj === i2.proxy) {
|
|
defineReactiveSimple(i2.ctx, key, val);
|
|
i2.accessCache = /* @__PURE__ */ Object.create(null);
|
|
} else if (isReactive(obj)) {
|
|
obj[key] = val;
|
|
} else {
|
|
defineReactiveSimple(obj, key, val);
|
|
}
|
|
}
|
|
function defineReactiveSimple(obj, key, val) {
|
|
val = isObject$4(val) ? reactive(val) : val;
|
|
Object.defineProperty(obj, key, {
|
|
enumerable: true,
|
|
configurable: true,
|
|
get() {
|
|
track(obj, "get", key);
|
|
return val;
|
|
},
|
|
set(newVal) {
|
|
val = isObject$4(newVal) ? reactive(newVal) : newVal;
|
|
trigger(obj, "set", key, newVal);
|
|
}
|
|
});
|
|
}
|
|
function createAppContext() {
|
|
return {
|
|
app: null,
|
|
config: {
|
|
isNativeTag: NO,
|
|
performance: false,
|
|
globalProperties: {},
|
|
optionMergeStrategies: {},
|
|
errorHandler: void 0,
|
|
warnHandler: void 0,
|
|
compilerOptions: {}
|
|
},
|
|
mixins: [],
|
|
components: {},
|
|
directives: {},
|
|
provides: /* @__PURE__ */ Object.create(null),
|
|
optionsCache: /* @__PURE__ */ new WeakMap(),
|
|
propsCache: /* @__PURE__ */ new WeakMap(),
|
|
emitsCache: /* @__PURE__ */ new WeakMap()
|
|
};
|
|
}
|
|
let uid = 0;
|
|
function createAppAPI(render2, hydrate2) {
|
|
return function createApp2(rootComponent, rootProps = null) {
|
|
if (!isFunction$3(rootComponent)) {
|
|
rootComponent = Object.assign({}, rootComponent);
|
|
}
|
|
if (rootProps != null && !isObject$4(rootProps)) {
|
|
rootProps = null;
|
|
}
|
|
const context = createAppContext();
|
|
const installedPlugins = /* @__PURE__ */ new Set();
|
|
let isMounted = false;
|
|
const app2 = context.app = {
|
|
_uid: uid++,
|
|
_component: rootComponent,
|
|
_props: rootProps,
|
|
_container: null,
|
|
_context: context,
|
|
_instance: null,
|
|
version: version$1,
|
|
get config() {
|
|
return context.config;
|
|
},
|
|
set config(v) {
|
|
},
|
|
use(plugin, ...options) {
|
|
if (installedPlugins.has(plugin))
|
|
;
|
|
else if (plugin && isFunction$3(plugin.install)) {
|
|
installedPlugins.add(plugin);
|
|
plugin.install(app2, ...options);
|
|
} else if (isFunction$3(plugin)) {
|
|
installedPlugins.add(plugin);
|
|
plugin(app2, ...options);
|
|
} else
|
|
;
|
|
return app2;
|
|
},
|
|
mixin(mixin) {
|
|
{
|
|
if (!context.mixins.includes(mixin)) {
|
|
context.mixins.push(mixin);
|
|
}
|
|
}
|
|
return app2;
|
|
},
|
|
component(name2, component) {
|
|
if (!component) {
|
|
return context.components[name2];
|
|
}
|
|
context.components[name2] = component;
|
|
return app2;
|
|
},
|
|
directive(name2, directive) {
|
|
if (!directive) {
|
|
return context.directives[name2];
|
|
}
|
|
context.directives[name2] = directive;
|
|
return app2;
|
|
},
|
|
mount(rootContainer, isHydrate, isSVG) {
|
|
if (!isMounted) {
|
|
const vnode = createVNode(rootComponent, rootProps);
|
|
vnode.appContext = context;
|
|
if (isHydrate && hydrate2) {
|
|
hydrate2(vnode, rootContainer);
|
|
} else {
|
|
render2(vnode, rootContainer, isSVG);
|
|
}
|
|
isMounted = true;
|
|
app2._container = rootContainer;
|
|
rootContainer.__vue_app__ = app2;
|
|
return getExposeProxy(vnode.component) || vnode.component.proxy;
|
|
}
|
|
},
|
|
unmount() {
|
|
if (isMounted) {
|
|
render2(null, app2._container);
|
|
delete app2._container.__vue_app__;
|
|
}
|
|
},
|
|
provide(key, value) {
|
|
context.provides[key] = value;
|
|
return app2;
|
|
}
|
|
};
|
|
{
|
|
installAppCompatProperties(app2, context, render2);
|
|
}
|
|
return app2;
|
|
};
|
|
}
|
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
if (isArray$8(rawRef)) {
|
|
rawRef.forEach((r2, i2) => setRef(r2, oldRawRef && (isArray$8(oldRawRef) ? oldRawRef[i2] : oldRawRef), parentSuspense, vnode, isUnmount));
|
|
return;
|
|
}
|
|
if (isAsyncWrapper(vnode) && !isUnmount) {
|
|
return;
|
|
}
|
|
const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;
|
|
const value = isUnmount ? null : refValue;
|
|
const { i: owner, r: ref2 } = rawRef;
|
|
const oldRef = oldRawRef && oldRawRef.r;
|
|
const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
|
|
const setupState = owner.setupState;
|
|
if (oldRef != null && oldRef !== ref2) {
|
|
if (isString$2(oldRef)) {
|
|
refs[oldRef] = null;
|
|
if (hasOwn$2(setupState, oldRef)) {
|
|
setupState[oldRef] = null;
|
|
}
|
|
} else if (isRef(oldRef)) {
|
|
oldRef.value = null;
|
|
}
|
|
}
|
|
if (isFunction$3(ref2)) {
|
|
callWithErrorHandling(ref2, owner, 12, [value, refs]);
|
|
} else {
|
|
const _isString = isString$2(ref2);
|
|
const _isRef = isRef(ref2);
|
|
if (_isString || _isRef) {
|
|
const doSet = () => {
|
|
if (rawRef.f) {
|
|
const existing = _isString ? refs[ref2] : ref2.value;
|
|
if (isUnmount) {
|
|
isArray$8(existing) && remove(existing, refValue);
|
|
} else {
|
|
if (!isArray$8(existing)) {
|
|
if (_isString) {
|
|
refs[ref2] = [refValue];
|
|
if (hasOwn$2(setupState, ref2)) {
|
|
setupState[ref2] = refs[ref2];
|
|
}
|
|
} else {
|
|
ref2.value = [refValue];
|
|
if (rawRef.k)
|
|
refs[rawRef.k] = ref2.value;
|
|
}
|
|
} else if (!existing.includes(refValue)) {
|
|
existing.push(refValue);
|
|
}
|
|
}
|
|
} else if (_isString) {
|
|
refs[ref2] = value;
|
|
if (hasOwn$2(setupState, ref2)) {
|
|
setupState[ref2] = value;
|
|
}
|
|
} else if (_isRef) {
|
|
ref2.value = value;
|
|
if (rawRef.k)
|
|
refs[rawRef.k] = value;
|
|
} else
|
|
;
|
|
};
|
|
if (value) {
|
|
doSet.id = -1;
|
|
queuePostRenderEffect(doSet, parentSuspense);
|
|
} else {
|
|
doSet();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let hasMismatch = false;
|
|
const isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== "foreignObject";
|
|
const isComment = (node) => node.nodeType === 8;
|
|
function createHydrationFunctions(rendererInternals) {
|
|
const { mt: mountComponent, p: patch, o: { patchProp: patchProp2, createText, nextSibling, parentNode, remove: remove2, insert, createComment } } = rendererInternals;
|
|
const hydrate2 = (vnode, container) => {
|
|
if (!container.hasChildNodes()) {
|
|
patch(null, vnode, container);
|
|
flushPostFlushCbs();
|
|
container._vnode = vnode;
|
|
return;
|
|
}
|
|
hasMismatch = false;
|
|
hydrateNode(container.firstChild, vnode, null, null, null);
|
|
flushPostFlushCbs();
|
|
container._vnode = vnode;
|
|
if (hasMismatch && true) {
|
|
console.error(`Hydration completed but contains mismatches.`);
|
|
}
|
|
};
|
|
const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
|
|
const isFragmentStart = isComment(node) && node.data === "[";
|
|
const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
|
|
const { type, ref: ref2, shapeFlag, patchFlag } = vnode;
|
|
const domType = node.nodeType;
|
|
vnode.el = node;
|
|
if (patchFlag === -2) {
|
|
optimized = false;
|
|
vnode.dynamicChildren = null;
|
|
}
|
|
let nextNode = null;
|
|
switch (type) {
|
|
case Text:
|
|
if (domType !== 3) {
|
|
if (vnode.children === "") {
|
|
insert(vnode.el = createText(""), parentNode(node), node);
|
|
nextNode = node;
|
|
} else {
|
|
nextNode = onMismatch();
|
|
}
|
|
} else {
|
|
if (node.data !== vnode.children) {
|
|
hasMismatch = true;
|
|
node.data = vnode.children;
|
|
}
|
|
nextNode = nextSibling(node);
|
|
}
|
|
break;
|
|
case Comment:
|
|
if (domType !== 8 || isFragmentStart) {
|
|
nextNode = onMismatch();
|
|
} else {
|
|
nextNode = nextSibling(node);
|
|
}
|
|
break;
|
|
case Static:
|
|
if (domType !== 1 && domType !== 3) {
|
|
nextNode = onMismatch();
|
|
} else {
|
|
nextNode = node;
|
|
const needToAdoptContent = !vnode.children.length;
|
|
for (let i2 = 0; i2 < vnode.staticCount; i2++) {
|
|
if (needToAdoptContent)
|
|
vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;
|
|
if (i2 === vnode.staticCount - 1) {
|
|
vnode.anchor = nextNode;
|
|
}
|
|
nextNode = nextSibling(nextNode);
|
|
}
|
|
return nextNode;
|
|
}
|
|
break;
|
|
case Fragment:
|
|
if (!isFragmentStart) {
|
|
nextNode = onMismatch();
|
|
} else {
|
|
nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
}
|
|
break;
|
|
default:
|
|
if (shapeFlag & 1) {
|
|
if (domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) {
|
|
nextNode = onMismatch();
|
|
} else {
|
|
nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
}
|
|
} else if (shapeFlag & 6) {
|
|
vnode.slotScopeIds = slotScopeIds;
|
|
const container = parentNode(node);
|
|
mountComponent(vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), optimized);
|
|
nextNode = isFragmentStart ? locateClosingAsyncAnchor(node) : nextSibling(node);
|
|
if (nextNode && isComment(nextNode) && nextNode.data === "teleport end") {
|
|
nextNode = nextSibling(nextNode);
|
|
}
|
|
if (isAsyncWrapper(vnode)) {
|
|
let subTree;
|
|
if (isFragmentStart) {
|
|
subTree = createVNode(Fragment);
|
|
subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
|
|
} else {
|
|
subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
|
|
}
|
|
subTree.el = node;
|
|
vnode.component.subTree = subTree;
|
|
}
|
|
} else if (shapeFlag & 64) {
|
|
if (domType !== 8) {
|
|
nextNode = onMismatch();
|
|
} else {
|
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
|
|
}
|
|
} else if (shapeFlag & 128) {
|
|
nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, isSVGContainer(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
|
|
} else
|
|
;
|
|
}
|
|
if (ref2 != null) {
|
|
setRef(ref2, null, parentSuspense, vnode);
|
|
}
|
|
return nextNode;
|
|
};
|
|
const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
|
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
const { type, props, patchFlag, shapeFlag, dirs } = vnode;
|
|
const forcePatchValue = type === "input" && dirs || type === "option";
|
|
if (forcePatchValue || patchFlag !== -1) {
|
|
if (dirs) {
|
|
invokeDirectiveHook(vnode, null, parentComponent, "created");
|
|
}
|
|
if (props) {
|
|
if (forcePatchValue || !optimized || patchFlag & (16 | 32)) {
|
|
for (const key in props) {
|
|
if (forcePatchValue && key.endsWith("value") || isOn(key) && !isReservedProp(key)) {
|
|
patchProp2(el, key, null, props[key], false, void 0, parentComponent);
|
|
}
|
|
}
|
|
} else if (props.onClick) {
|
|
patchProp2(el, "onClick", null, props.onClick, false, void 0, parentComponent);
|
|
}
|
|
}
|
|
let vnodeHooks;
|
|
if (vnodeHooks = props && props.onVnodeBeforeMount) {
|
|
invokeVNodeHook(vnodeHooks, parentComponent, vnode);
|
|
}
|
|
if (dirs) {
|
|
invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
|
|
}
|
|
if ((vnodeHooks = props && props.onVnodeMounted) || dirs) {
|
|
queueEffectWithSuspense(() => {
|
|
vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);
|
|
dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
|
|
}, parentSuspense);
|
|
}
|
|
if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) {
|
|
let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
while (next) {
|
|
hasMismatch = true;
|
|
const cur = next;
|
|
next = next.nextSibling;
|
|
remove2(cur);
|
|
}
|
|
} else if (shapeFlag & 8) {
|
|
if (el.textContent !== vnode.children) {
|
|
hasMismatch = true;
|
|
el.textContent = vnode.children;
|
|
}
|
|
}
|
|
}
|
|
return el.nextSibling;
|
|
};
|
|
const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {
|
|
optimized = optimized || !!parentVNode.dynamicChildren;
|
|
const children = parentVNode.children;
|
|
const l2 = children.length;
|
|
for (let i2 = 0; i2 < l2; i2++) {
|
|
const vnode = optimized ? children[i2] : children[i2] = normalizeVNode(children[i2]);
|
|
if (node) {
|
|
node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
} else if (vnode.type === Text && !vnode.children) {
|
|
continue;
|
|
} else {
|
|
hasMismatch = true;
|
|
patch(null, vnode, container, null, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);
|
|
}
|
|
}
|
|
return node;
|
|
};
|
|
const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {
|
|
const { slotScopeIds: fragmentSlotScopeIds } = vnode;
|
|
if (fragmentSlotScopeIds) {
|
|
slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
|
|
}
|
|
const container = parentNode(node);
|
|
const next = hydrateChildren(nextSibling(node), vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
if (next && isComment(next) && next.data === "]") {
|
|
return nextSibling(vnode.anchor = next);
|
|
} else {
|
|
hasMismatch = true;
|
|
insert(vnode.anchor = createComment(`]`), container, next);
|
|
return next;
|
|
}
|
|
};
|
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
hasMismatch = true;
|
|
vnode.el = null;
|
|
if (isFragment) {
|
|
const end = locateClosingAsyncAnchor(node);
|
|
while (true) {
|
|
const next2 = nextSibling(node);
|
|
if (next2 && next2 !== end) {
|
|
remove2(next2);
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
const next = nextSibling(node);
|
|
const container = parentNode(node);
|
|
remove2(node);
|
|
patch(null, vnode, container, next, parentComponent, parentSuspense, isSVGContainer(container), slotScopeIds);
|
|
return next;
|
|
};
|
|
const locateClosingAsyncAnchor = (node) => {
|
|
let match = 0;
|
|
while (node) {
|
|
node = nextSibling(node);
|
|
if (node && isComment(node)) {
|
|
if (node.data === "[")
|
|
match++;
|
|
if (node.data === "]") {
|
|
if (match === 0) {
|
|
return nextSibling(node);
|
|
} else {
|
|
match--;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return node;
|
|
};
|
|
return [hydrate2, hydrateNode];
|
|
}
|
|
const queuePostRenderEffect = queueEffectWithSuspense;
|
|
function createRenderer(options) {
|
|
return baseCreateRenderer(options);
|
|
}
|
|
function createHydrationRenderer(options) {
|
|
return baseCreateRenderer(options, createHydrationFunctions);
|
|
}
|
|
function baseCreateRenderer(options, createHydrationFns) {
|
|
const target = getGlobalThis();
|
|
target.__VUE__ = true;
|
|
const { insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent } = options;
|
|
const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = !!n2.dynamicChildren) => {
|
|
if (n1 === n2) {
|
|
return;
|
|
}
|
|
if (n1 && !isSameVNodeType(n1, n2)) {
|
|
anchor = getNextHostNode(n1);
|
|
unmount(n1, parentComponent, parentSuspense, true);
|
|
n1 = null;
|
|
}
|
|
if (n2.patchFlag === -2) {
|
|
optimized = false;
|
|
n2.dynamicChildren = null;
|
|
}
|
|
const { type, ref: ref2, shapeFlag } = n2;
|
|
switch (type) {
|
|
case Text:
|
|
processText(n1, n2, container, anchor);
|
|
break;
|
|
case Comment:
|
|
processCommentNode(n1, n2, container, anchor);
|
|
break;
|
|
case Static:
|
|
if (n1 == null) {
|
|
mountStaticNode(n2, container, anchor, isSVG);
|
|
}
|
|
break;
|
|
case Fragment:
|
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
break;
|
|
default:
|
|
if (shapeFlag & 1) {
|
|
processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else if (shapeFlag & 6) {
|
|
processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else if (shapeFlag & 64) {
|
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
} else if (shapeFlag & 128) {
|
|
type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals);
|
|
} else
|
|
;
|
|
}
|
|
if (ref2 != null && parentComponent) {
|
|
setRef(ref2, n1 && n1.ref, parentSuspense, n2 || n1, !n2);
|
|
}
|
|
};
|
|
const processText = (n1, n2, container, anchor) => {
|
|
if (n1 == null) {
|
|
hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
|
|
} else {
|
|
const el = n2.el = n1.el;
|
|
if (n2.children !== n1.children) {
|
|
hostSetText(el, n2.children);
|
|
}
|
|
}
|
|
};
|
|
const processCommentNode = (n1, n2, container, anchor) => {
|
|
if (n1 == null) {
|
|
hostInsert(n2.el = hostCreateComment(n2.children || ""), container, anchor);
|
|
} else {
|
|
n2.el = n1.el;
|
|
}
|
|
};
|
|
const mountStaticNode = (n2, container, anchor, isSVG) => {
|
|
[n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG, n2.el, n2.anchor);
|
|
};
|
|
const moveStaticNode = ({ el, anchor }, container, nextSibling) => {
|
|
let next;
|
|
while (el && el !== anchor) {
|
|
next = hostNextSibling(el);
|
|
hostInsert(el, container, nextSibling);
|
|
el = next;
|
|
}
|
|
hostInsert(anchor, container, nextSibling);
|
|
};
|
|
const removeStaticNode = ({ el, anchor }) => {
|
|
let next;
|
|
while (el && el !== anchor) {
|
|
next = hostNextSibling(el);
|
|
hostRemove(el);
|
|
el = next;
|
|
}
|
|
hostRemove(anchor);
|
|
};
|
|
const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
isSVG = isSVG || n2.type === "svg";
|
|
if (n1 == null) {
|
|
mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else {
|
|
patchElement(n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
};
|
|
const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
let el;
|
|
let vnodeHook;
|
|
const { type, props, shapeFlag, transition, patchFlag, dirs } = vnode;
|
|
if (vnode.el && hostCloneNode !== void 0 && patchFlag === -1) {
|
|
el = vnode.el = hostCloneNode(vnode.el);
|
|
} else {
|
|
el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is, props);
|
|
if (shapeFlag & 8) {
|
|
hostSetElementText(el, vnode.children);
|
|
} else if (shapeFlag & 16) {
|
|
mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== "foreignObject", slotScopeIds, optimized);
|
|
}
|
|
if (dirs) {
|
|
invokeDirectiveHook(vnode, null, parentComponent, "created");
|
|
}
|
|
if (props) {
|
|
for (const key in props) {
|
|
if (key !== "value" && !isReservedProp(key)) {
|
|
hostPatchProp(el, key, null, props[key], isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
|
|
}
|
|
}
|
|
if ("value" in props) {
|
|
hostPatchProp(el, "value", null, props.value);
|
|
}
|
|
if (vnodeHook = props.onVnodeBeforeMount) {
|
|
invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
}
|
|
}
|
|
setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);
|
|
}
|
|
if (dirs) {
|
|
invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
|
|
}
|
|
const needCallTransitionHooks = (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;
|
|
if (needCallTransitionHooks) {
|
|
transition.beforeEnter(el);
|
|
}
|
|
hostInsert(el, container, anchor);
|
|
if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
|
|
queuePostRenderEffect(() => {
|
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
needCallTransitionHooks && transition.enter(el);
|
|
dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
|
|
}, parentSuspense);
|
|
}
|
|
};
|
|
const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {
|
|
if (scopeId) {
|
|
hostSetScopeId(el, scopeId);
|
|
}
|
|
if (slotScopeIds) {
|
|
for (let i2 = 0; i2 < slotScopeIds.length; i2++) {
|
|
hostSetScopeId(el, slotScopeIds[i2]);
|
|
}
|
|
}
|
|
if (parentComponent) {
|
|
let subTree = parentComponent.subTree;
|
|
if (vnode === subTree) {
|
|
const parentVNode = parentComponent.vnode;
|
|
setScopeId(el, parentVNode, parentVNode.scopeId, parentVNode.slotScopeIds, parentComponent.parent);
|
|
}
|
|
}
|
|
};
|
|
const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {
|
|
for (let i2 = start; i2 < children.length; i2++) {
|
|
const child = children[i2] = optimized ? cloneIfMounted(children[i2]) : normalizeVNode(children[i2]);
|
|
patch(null, child, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
};
|
|
const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
const el = n2.el = n1.el;
|
|
let { patchFlag, dynamicChildren, dirs } = n2;
|
|
patchFlag |= n1.patchFlag & 16;
|
|
const oldProps = n1.props || EMPTY_OBJ;
|
|
const newProps = n2.props || EMPTY_OBJ;
|
|
let vnodeHook;
|
|
parentComponent && toggleRecurse(parentComponent, false);
|
|
if (vnodeHook = newProps.onVnodeBeforeUpdate) {
|
|
invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
}
|
|
if (dirs) {
|
|
invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
}
|
|
parentComponent && toggleRecurse(parentComponent, true);
|
|
const areChildrenSVG = isSVG && n2.type !== "foreignObject";
|
|
if (dynamicChildren) {
|
|
patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds);
|
|
} else if (!optimized) {
|
|
patchChildren(n1, n2, el, null, parentComponent, parentSuspense, areChildrenSVG, slotScopeIds, false);
|
|
}
|
|
if (patchFlag > 0) {
|
|
if (patchFlag & 16) {
|
|
patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
|
|
} else {
|
|
if (patchFlag & 2) {
|
|
if (oldProps.class !== newProps.class) {
|
|
hostPatchProp(el, "class", null, newProps.class, isSVG);
|
|
}
|
|
}
|
|
if (patchFlag & 4) {
|
|
hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG);
|
|
}
|
|
if (patchFlag & 8) {
|
|
const propsToUpdate = n2.dynamicProps;
|
|
for (let i2 = 0; i2 < propsToUpdate.length; i2++) {
|
|
const key = propsToUpdate[i2];
|
|
const prev = oldProps[key];
|
|
const next = newProps[key];
|
|
if (next !== prev || key === "value") {
|
|
hostPatchProp(el, key, prev, next, isSVG, n1.children, parentComponent, parentSuspense, unmountChildren);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (patchFlag & 1) {
|
|
if (n1.children !== n2.children) {
|
|
hostSetElementText(el, n2.children);
|
|
}
|
|
}
|
|
} else if (!optimized && dynamicChildren == null) {
|
|
patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);
|
|
}
|
|
if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {
|
|
queuePostRenderEffect(() => {
|
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
}, parentSuspense);
|
|
}
|
|
};
|
|
const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {
|
|
for (let i2 = 0; i2 < newChildren.length; i2++) {
|
|
const oldVNode = oldChildren[i2];
|
|
const newVNode = newChildren[i2];
|
|
const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : fallbackContainer;
|
|
patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, true);
|
|
}
|
|
};
|
|
const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {
|
|
if (oldProps !== newProps) {
|
|
for (const key in newProps) {
|
|
if (isReservedProp(key))
|
|
continue;
|
|
const next = newProps[key];
|
|
const prev = oldProps[key];
|
|
if (next !== prev && key !== "value") {
|
|
hostPatchProp(el, key, prev, next, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
|
|
}
|
|
}
|
|
if (oldProps !== EMPTY_OBJ) {
|
|
for (const key in oldProps) {
|
|
if (!isReservedProp(key) && !(key in newProps)) {
|
|
hostPatchProp(el, key, oldProps[key], null, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);
|
|
}
|
|
}
|
|
}
|
|
if ("value" in newProps) {
|
|
hostPatchProp(el, "value", oldProps.value, newProps.value);
|
|
}
|
|
}
|
|
};
|
|
const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");
|
|
const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");
|
|
let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;
|
|
if (fragmentSlotScopeIds) {
|
|
slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
|
|
}
|
|
if (n1 == null) {
|
|
hostInsert(fragmentStartAnchor, container, anchor);
|
|
hostInsert(fragmentEndAnchor, container, anchor);
|
|
mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else {
|
|
if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && n1.dynamicChildren) {
|
|
patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, isSVG, slotScopeIds);
|
|
if (n2.key != null || parentComponent && n2 === parentComponent.subTree) {
|
|
traverseStaticChildren(n1, n2, true);
|
|
}
|
|
} else {
|
|
patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
}
|
|
};
|
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
n2.slotScopeIds = slotScopeIds;
|
|
if (n1 == null) {
|
|
if (n2.shapeFlag & 512) {
|
|
parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);
|
|
} else {
|
|
mountComponent(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);
|
|
}
|
|
} else {
|
|
updateComponent(n1, n2, optimized);
|
|
}
|
|
};
|
|
const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {
|
|
const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
|
|
const instance = compatMountInstance || (initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense));
|
|
if (isKeepAlive(initialVNode)) {
|
|
instance.ctx.renderer = internals;
|
|
}
|
|
if (!compatMountInstance) {
|
|
setupComponent(instance);
|
|
}
|
|
if (instance.asyncDep) {
|
|
parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);
|
|
if (!initialVNode.el) {
|
|
const placeholder = instance.subTree = createVNode(Comment);
|
|
processCommentNode(null, placeholder, container, anchor);
|
|
}
|
|
return;
|
|
}
|
|
setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized);
|
|
};
|
|
const updateComponent = (n1, n2, optimized) => {
|
|
const instance = n2.component = n1.component;
|
|
if (shouldUpdateComponent(n1, n2, optimized)) {
|
|
if (instance.asyncDep && !instance.asyncResolved) {
|
|
updateComponentPreRender(instance, n2, optimized);
|
|
return;
|
|
} else {
|
|
instance.next = n2;
|
|
invalidateJob(instance.update);
|
|
instance.update();
|
|
}
|
|
} else {
|
|
n2.el = n1.el;
|
|
instance.vnode = n2;
|
|
}
|
|
};
|
|
const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {
|
|
const componentUpdateFn = () => {
|
|
if (!instance.isMounted) {
|
|
let vnodeHook;
|
|
const { el, props } = initialVNode;
|
|
const { bm, m: m2, parent } = instance;
|
|
const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
|
|
toggleRecurse(instance, false);
|
|
if (bm) {
|
|
invokeArrayFns(bm);
|
|
}
|
|
if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {
|
|
invokeVNodeHook(vnodeHook, parent, initialVNode);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
instance.emit("hook:beforeMount");
|
|
}
|
|
toggleRecurse(instance, true);
|
|
if (el && hydrateNode) {
|
|
const hydrateSubTree = () => {
|
|
instance.subTree = renderComponentRoot(instance);
|
|
hydrateNode(el, instance.subTree, instance, parentSuspense, null);
|
|
};
|
|
if (isAsyncWrapperVNode) {
|
|
initialVNode.type.__asyncLoader().then(
|
|
() => !instance.isUnmounted && hydrateSubTree()
|
|
);
|
|
} else {
|
|
hydrateSubTree();
|
|
}
|
|
} else {
|
|
const subTree = instance.subTree = renderComponentRoot(instance);
|
|
patch(null, subTree, container, anchor, instance, parentSuspense, isSVG);
|
|
initialVNode.el = subTree.el;
|
|
}
|
|
if (m2) {
|
|
queuePostRenderEffect(m2, parentSuspense);
|
|
}
|
|
if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {
|
|
const scopedInitialVNode = initialVNode;
|
|
queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode), parentSuspense);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
queuePostRenderEffect(() => instance.emit("hook:mounted"), parentSuspense);
|
|
}
|
|
if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {
|
|
instance.a && queuePostRenderEffect(instance.a, parentSuspense);
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
queuePostRenderEffect(() => instance.emit("hook:activated"), parentSuspense);
|
|
}
|
|
}
|
|
instance.isMounted = true;
|
|
initialVNode = container = anchor = null;
|
|
} else {
|
|
let { next, bu, u: u2, parent, vnode } = instance;
|
|
let originNext = next;
|
|
let vnodeHook;
|
|
toggleRecurse(instance, false);
|
|
if (next) {
|
|
next.el = vnode.el;
|
|
updateComponentPreRender(instance, next, optimized);
|
|
} else {
|
|
next = vnode;
|
|
}
|
|
if (bu) {
|
|
invokeArrayFns(bu);
|
|
}
|
|
if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {
|
|
invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
instance.emit("hook:beforeUpdate");
|
|
}
|
|
toggleRecurse(instance, true);
|
|
const nextTree = renderComponentRoot(instance);
|
|
const prevTree = instance.subTree;
|
|
instance.subTree = nextTree;
|
|
patch(
|
|
prevTree,
|
|
nextTree,
|
|
hostParentNode(prevTree.el),
|
|
getNextHostNode(prevTree),
|
|
instance,
|
|
parentSuspense,
|
|
isSVG
|
|
);
|
|
next.el = nextTree.el;
|
|
if (originNext === null) {
|
|
updateHOCHostEl(instance, nextTree.el);
|
|
}
|
|
if (u2) {
|
|
queuePostRenderEffect(u2, parentSuspense);
|
|
}
|
|
if (vnodeHook = next.props && next.props.onVnodeUpdated) {
|
|
queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), parentSuspense);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
queuePostRenderEffect(() => instance.emit("hook:updated"), parentSuspense);
|
|
}
|
|
}
|
|
};
|
|
const effect2 = instance.effect = new ReactiveEffect(
|
|
componentUpdateFn,
|
|
() => queueJob(update3),
|
|
instance.scope
|
|
);
|
|
const update3 = instance.update = () => effect2.run();
|
|
update3.id = instance.uid;
|
|
toggleRecurse(instance, true);
|
|
update3();
|
|
};
|
|
const updateComponentPreRender = (instance, nextVNode, optimized) => {
|
|
nextVNode.component = instance;
|
|
const prevProps = instance.vnode.props;
|
|
instance.vnode = nextVNode;
|
|
instance.next = null;
|
|
updateProps(instance, nextVNode.props, prevProps, optimized);
|
|
updateSlots(instance, nextVNode.children, optimized);
|
|
pauseTracking();
|
|
flushPreFlushCbs(void 0, instance.update);
|
|
resetTracking();
|
|
};
|
|
const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
|
|
const c1 = n1 && n1.children;
|
|
const prevShapeFlag = n1 ? n1.shapeFlag : 0;
|
|
const c2 = n2.children;
|
|
const { patchFlag, shapeFlag } = n2;
|
|
if (patchFlag > 0) {
|
|
if (patchFlag & 128) {
|
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
return;
|
|
} else if (patchFlag & 256) {
|
|
patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
return;
|
|
}
|
|
}
|
|
if (shapeFlag & 8) {
|
|
if (prevShapeFlag & 16) {
|
|
unmountChildren(c1, parentComponent, parentSuspense);
|
|
}
|
|
if (c2 !== c1) {
|
|
hostSetElementText(container, c2);
|
|
}
|
|
} else {
|
|
if (prevShapeFlag & 16) {
|
|
if (shapeFlag & 16) {
|
|
patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else {
|
|
unmountChildren(c1, parentComponent, parentSuspense, true);
|
|
}
|
|
} else {
|
|
if (prevShapeFlag & 8) {
|
|
hostSetElementText(container, "");
|
|
}
|
|
if (shapeFlag & 16) {
|
|
mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
c1 = c1 || EMPTY_ARR;
|
|
c2 = c2 || EMPTY_ARR;
|
|
const oldLength = c1.length;
|
|
const newLength = c2.length;
|
|
const commonLength = Math.min(oldLength, newLength);
|
|
let i2;
|
|
for (i2 = 0; i2 < commonLength; i2++) {
|
|
const nextChild = c2[i2] = optimized ? cloneIfMounted(c2[i2]) : normalizeVNode(c2[i2]);
|
|
patch(c1[i2], nextChild, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
if (oldLength > newLength) {
|
|
unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength);
|
|
} else {
|
|
mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, commonLength);
|
|
}
|
|
};
|
|
const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {
|
|
let i2 = 0;
|
|
const l2 = c2.length;
|
|
let e1 = c1.length - 1;
|
|
let e2 = l2 - 1;
|
|
while (i2 <= e1 && i2 <= e2) {
|
|
const n1 = c1[i2];
|
|
const n2 = c2[i2] = optimized ? cloneIfMounted(c2[i2]) : normalizeVNode(c2[i2]);
|
|
if (isSameVNodeType(n1, n2)) {
|
|
patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else {
|
|
break;
|
|
}
|
|
i2++;
|
|
}
|
|
while (i2 <= e1 && i2 <= e2) {
|
|
const n1 = c1[e1];
|
|
const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);
|
|
if (isSameVNodeType(n1, n2)) {
|
|
patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else {
|
|
break;
|
|
}
|
|
e1--;
|
|
e2--;
|
|
}
|
|
if (i2 > e1) {
|
|
if (i2 <= e2) {
|
|
const nextPos = e2 + 1;
|
|
const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;
|
|
while (i2 <= e2) {
|
|
patch(null, c2[i2] = optimized ? cloneIfMounted(c2[i2]) : normalizeVNode(c2[i2]), container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
i2++;
|
|
}
|
|
}
|
|
} else if (i2 > e2) {
|
|
while (i2 <= e1) {
|
|
unmount(c1[i2], parentComponent, parentSuspense, true);
|
|
i2++;
|
|
}
|
|
} else {
|
|
const s1 = i2;
|
|
const s2 = i2;
|
|
const keyToNewIndexMap = /* @__PURE__ */ new Map();
|
|
for (i2 = s2; i2 <= e2; i2++) {
|
|
const nextChild = c2[i2] = optimized ? cloneIfMounted(c2[i2]) : normalizeVNode(c2[i2]);
|
|
if (nextChild.key != null) {
|
|
keyToNewIndexMap.set(nextChild.key, i2);
|
|
}
|
|
}
|
|
let j;
|
|
let patched2 = 0;
|
|
const toBePatched = e2 - s2 + 1;
|
|
let moved = false;
|
|
let maxNewIndexSoFar = 0;
|
|
const newIndexToOldIndexMap = new Array(toBePatched);
|
|
for (i2 = 0; i2 < toBePatched; i2++)
|
|
newIndexToOldIndexMap[i2] = 0;
|
|
for (i2 = s1; i2 <= e1; i2++) {
|
|
const prevChild = c1[i2];
|
|
if (patched2 >= toBePatched) {
|
|
unmount(prevChild, parentComponent, parentSuspense, true);
|
|
continue;
|
|
}
|
|
let newIndex;
|
|
if (prevChild.key != null) {
|
|
newIndex = keyToNewIndexMap.get(prevChild.key);
|
|
} else {
|
|
for (j = s2; j <= e2; j++) {
|
|
if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {
|
|
newIndex = j;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (newIndex === void 0) {
|
|
unmount(prevChild, parentComponent, parentSuspense, true);
|
|
} else {
|
|
newIndexToOldIndexMap[newIndex - s2] = i2 + 1;
|
|
if (newIndex >= maxNewIndexSoFar) {
|
|
maxNewIndexSoFar = newIndex;
|
|
} else {
|
|
moved = true;
|
|
}
|
|
patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
patched2++;
|
|
}
|
|
}
|
|
const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;
|
|
j = increasingNewIndexSequence.length - 1;
|
|
for (i2 = toBePatched - 1; i2 >= 0; i2--) {
|
|
const nextIndex = s2 + i2;
|
|
const nextChild = c2[nextIndex];
|
|
const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
|
|
if (newIndexToOldIndexMap[i2] === 0) {
|
|
patch(null, nextChild, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
} else if (moved) {
|
|
if (j < 0 || i2 !== increasingNewIndexSequence[j]) {
|
|
move(nextChild, container, anchor, 2);
|
|
} else {
|
|
j--;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const move = (vnode, container, anchor, moveType, parentSuspense = null) => {
|
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
if (shapeFlag & 6) {
|
|
move(vnode.component.subTree, container, anchor, moveType);
|
|
return;
|
|
}
|
|
if (shapeFlag & 128) {
|
|
vnode.suspense.move(container, anchor, moveType);
|
|
return;
|
|
}
|
|
if (shapeFlag & 64) {
|
|
type.move(vnode, container, anchor, internals);
|
|
return;
|
|
}
|
|
if (type === Fragment) {
|
|
hostInsert(el, container, anchor);
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
move(children[i2], container, anchor, moveType);
|
|
}
|
|
hostInsert(vnode.anchor, container, anchor);
|
|
return;
|
|
}
|
|
if (type === Static) {
|
|
moveStaticNode(vnode, container, anchor);
|
|
return;
|
|
}
|
|
const needTransition = moveType !== 2 && shapeFlag & 1 && transition;
|
|
if (needTransition) {
|
|
if (moveType === 0) {
|
|
transition.beforeEnter(el);
|
|
hostInsert(el, container, anchor);
|
|
queuePostRenderEffect(() => transition.enter(el), parentSuspense);
|
|
} else {
|
|
const { leave, delayLeave, afterLeave } = transition;
|
|
const remove3 = () => hostInsert(el, container, anchor);
|
|
const performLeave = () => {
|
|
leave(el, () => {
|
|
remove3();
|
|
afterLeave && afterLeave();
|
|
});
|
|
};
|
|
if (delayLeave) {
|
|
delayLeave(el, remove3, performLeave);
|
|
} else {
|
|
performLeave();
|
|
}
|
|
}
|
|
} else {
|
|
hostInsert(el, container, anchor);
|
|
}
|
|
};
|
|
const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
|
|
const { type, props, ref: ref2, children, dynamicChildren, shapeFlag, patchFlag, dirs } = vnode;
|
|
if (ref2 != null) {
|
|
setRef(ref2, null, parentSuspense, vnode, true);
|
|
}
|
|
if (shapeFlag & 256) {
|
|
parentComponent.ctx.deactivate(vnode);
|
|
return;
|
|
}
|
|
const shouldInvokeDirs = shapeFlag & 1 && dirs;
|
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
let vnodeHook;
|
|
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {
|
|
invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
}
|
|
if (shapeFlag & 6) {
|
|
unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
} else {
|
|
if (shapeFlag & 128) {
|
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
return;
|
|
}
|
|
if (shouldInvokeDirs) {
|
|
invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
|
|
}
|
|
if (shapeFlag & 64) {
|
|
vnode.type.remove(vnode, parentComponent, parentSuspense, optimized, internals, doRemove);
|
|
} else if (dynamicChildren && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {
|
|
unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
|
|
} else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {
|
|
unmountChildren(children, parentComponent, parentSuspense);
|
|
}
|
|
if (doRemove) {
|
|
remove2(vnode);
|
|
}
|
|
}
|
|
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {
|
|
queuePostRenderEffect(() => {
|
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
|
|
}, parentSuspense);
|
|
}
|
|
};
|
|
const remove2 = (vnode) => {
|
|
const { type, el, anchor, transition } = vnode;
|
|
if (type === Fragment) {
|
|
{
|
|
removeFragment(el, anchor);
|
|
}
|
|
return;
|
|
}
|
|
if (type === Static) {
|
|
removeStaticNode(vnode);
|
|
return;
|
|
}
|
|
const performRemove = () => {
|
|
hostRemove(el);
|
|
if (transition && !transition.persisted && transition.afterLeave) {
|
|
transition.afterLeave();
|
|
}
|
|
};
|
|
if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
|
|
const { leave, delayLeave } = transition;
|
|
const performLeave = () => leave(el, performRemove);
|
|
if (delayLeave) {
|
|
delayLeave(vnode.el, performRemove, performLeave);
|
|
} else {
|
|
performLeave();
|
|
}
|
|
} else {
|
|
performRemove();
|
|
}
|
|
};
|
|
const removeFragment = (cur, end) => {
|
|
let next;
|
|
while (cur !== end) {
|
|
next = hostNextSibling(cur);
|
|
hostRemove(cur);
|
|
cur = next;
|
|
}
|
|
hostRemove(end);
|
|
};
|
|
const unmountComponent = (instance, parentSuspense, doRemove) => {
|
|
const { bum, scope, update: update3, subTree, um } = instance;
|
|
if (bum) {
|
|
invokeArrayFns(bum);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
instance.emit("hook:beforeDestroy");
|
|
}
|
|
scope.stop();
|
|
if (update3) {
|
|
update3.active = false;
|
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
}
|
|
if (um) {
|
|
queuePostRenderEffect(um, parentSuspense);
|
|
}
|
|
if (isCompatEnabled("INSTANCE_EVENT_HOOKS", instance)) {
|
|
queuePostRenderEffect(() => instance.emit("hook:destroyed"), parentSuspense);
|
|
}
|
|
queuePostRenderEffect(() => {
|
|
instance.isUnmounted = true;
|
|
}, parentSuspense);
|
|
if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
|
|
parentSuspense.deps--;
|
|
if (parentSuspense.deps === 0) {
|
|
parentSuspense.resolve();
|
|
}
|
|
}
|
|
};
|
|
const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {
|
|
for (let i2 = start; i2 < children.length; i2++) {
|
|
unmount(children[i2], parentComponent, parentSuspense, doRemove, optimized);
|
|
}
|
|
};
|
|
const getNextHostNode = (vnode) => {
|
|
if (vnode.shapeFlag & 6) {
|
|
return getNextHostNode(vnode.component.subTree);
|
|
}
|
|
if (vnode.shapeFlag & 128) {
|
|
return vnode.suspense.next();
|
|
}
|
|
return hostNextSibling(vnode.anchor || vnode.el);
|
|
};
|
|
const render2 = (vnode, container, isSVG) => {
|
|
if (vnode == null) {
|
|
if (container._vnode) {
|
|
unmount(container._vnode, null, null, true);
|
|
}
|
|
} else {
|
|
patch(container._vnode || null, vnode, container, null, null, null, isSVG);
|
|
}
|
|
flushPostFlushCbs();
|
|
container._vnode = vnode;
|
|
};
|
|
const internals = {
|
|
p: patch,
|
|
um: unmount,
|
|
m: move,
|
|
r: remove2,
|
|
mt: mountComponent,
|
|
mc: mountChildren,
|
|
pc: patchChildren,
|
|
pbc: patchBlockChildren,
|
|
n: getNextHostNode,
|
|
o: options
|
|
};
|
|
let hydrate2;
|
|
let hydrateNode;
|
|
if (createHydrationFns) {
|
|
[hydrate2, hydrateNode] = createHydrationFns(internals);
|
|
}
|
|
return {
|
|
render: render2,
|
|
hydrate: hydrate2,
|
|
createApp: createAppAPI(render2, hydrate2)
|
|
};
|
|
}
|
|
function toggleRecurse({ effect: effect2, update: update3 }, allowed) {
|
|
effect2.allowRecurse = update3.allowRecurse = allowed;
|
|
}
|
|
function traverseStaticChildren(n1, n2, shallow = false) {
|
|
const ch1 = n1.children;
|
|
const ch2 = n2.children;
|
|
if (isArray$8(ch1) && isArray$8(ch2)) {
|
|
for (let i2 = 0; i2 < ch1.length; i2++) {
|
|
const c1 = ch1[i2];
|
|
let c2 = ch2[i2];
|
|
if (c2.shapeFlag & 1 && !c2.dynamicChildren) {
|
|
if (c2.patchFlag <= 0 || c2.patchFlag === 32) {
|
|
c2 = ch2[i2] = cloneIfMounted(ch2[i2]);
|
|
c2.el = c1.el;
|
|
}
|
|
if (!shallow)
|
|
traverseStaticChildren(c1, c2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function getSequence(arr) {
|
|
const p2 = arr.slice();
|
|
const result = [0];
|
|
let i2, j, u2, v, c2;
|
|
const len = arr.length;
|
|
for (i2 = 0; i2 < len; i2++) {
|
|
const arrI = arr[i2];
|
|
if (arrI !== 0) {
|
|
j = result[result.length - 1];
|
|
if (arr[j] < arrI) {
|
|
p2[i2] = j;
|
|
result.push(i2);
|
|
continue;
|
|
}
|
|
u2 = 0;
|
|
v = result.length - 1;
|
|
while (u2 < v) {
|
|
c2 = u2 + v >> 1;
|
|
if (arr[result[c2]] < arrI) {
|
|
u2 = c2 + 1;
|
|
} else {
|
|
v = c2;
|
|
}
|
|
}
|
|
if (arrI < arr[result[u2]]) {
|
|
if (u2 > 0) {
|
|
p2[i2] = result[u2 - 1];
|
|
}
|
|
result[u2] = i2;
|
|
}
|
|
}
|
|
}
|
|
u2 = result.length;
|
|
v = result[u2 - 1];
|
|
while (u2-- > 0) {
|
|
result[u2] = v;
|
|
v = p2[v];
|
|
}
|
|
return result;
|
|
}
|
|
const isTeleport = (type) => type.__isTeleport;
|
|
const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");
|
|
const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement;
|
|
const resolveTarget = (props, select) => {
|
|
const targetSelector = props && props.to;
|
|
if (isString$2(targetSelector)) {
|
|
if (!select) {
|
|
return null;
|
|
} else {
|
|
const target = select(targetSelector);
|
|
return target;
|
|
}
|
|
} else {
|
|
return targetSelector;
|
|
}
|
|
};
|
|
const TeleportImpl = {
|
|
__isTeleport: true,
|
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {
|
|
const { mc: mountChildren, pc: patchChildren, pbc: patchBlockChildren, o: { insert, querySelector, createText, createComment } } = internals;
|
|
const disabled = isTeleportDisabled(n2.props);
|
|
let { shapeFlag, children, dynamicChildren } = n2;
|
|
if (n1 == null) {
|
|
const placeholder = n2.el = createText("");
|
|
const mainAnchor = n2.anchor = createText("");
|
|
insert(placeholder, container, anchor);
|
|
insert(mainAnchor, container, anchor);
|
|
const target = n2.target = resolveTarget(n2.props, querySelector);
|
|
const targetAnchor = n2.targetAnchor = createText("");
|
|
if (target) {
|
|
insert(targetAnchor, target);
|
|
isSVG = isSVG || isTargetSVG(target);
|
|
}
|
|
const mount = (container2, anchor2) => {
|
|
if (shapeFlag & 16) {
|
|
mountChildren(children, container2, anchor2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized);
|
|
}
|
|
};
|
|
if (disabled) {
|
|
mount(container, mainAnchor);
|
|
} else if (target) {
|
|
mount(target, targetAnchor);
|
|
}
|
|
} else {
|
|
n2.el = n1.el;
|
|
const mainAnchor = n2.anchor = n1.anchor;
|
|
const target = n2.target = n1.target;
|
|
const targetAnchor = n2.targetAnchor = n1.targetAnchor;
|
|
const wasDisabled = isTeleportDisabled(n1.props);
|
|
const currentContainer = wasDisabled ? container : target;
|
|
const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;
|
|
isSVG = isSVG || isTargetSVG(target);
|
|
if (dynamicChildren) {
|
|
patchBlockChildren(n1.dynamicChildren, dynamicChildren, currentContainer, parentComponent, parentSuspense, isSVG, slotScopeIds);
|
|
traverseStaticChildren(n1, n2, true);
|
|
} else if (!optimized) {
|
|
patchChildren(n1, n2, currentContainer, currentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, false);
|
|
}
|
|
if (disabled) {
|
|
if (!wasDisabled) {
|
|
moveTeleport(n2, container, mainAnchor, internals, 1);
|
|
}
|
|
} else {
|
|
if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
|
|
const nextTarget = n2.target = resolveTarget(n2.props, querySelector);
|
|
if (nextTarget) {
|
|
moveTeleport(n2, nextTarget, null, internals, 0);
|
|
}
|
|
} else if (wasDisabled) {
|
|
moveTeleport(n2, target, targetAnchor, internals, 1);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
|
|
const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
|
|
if (target) {
|
|
hostRemove(targetAnchor);
|
|
}
|
|
if (doRemove || !isTeleportDisabled(props)) {
|
|
hostRemove(anchor);
|
|
if (shapeFlag & 16) {
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
const child = children[i2];
|
|
unmount(child, parentComponent, parentSuspense, true, !!child.dynamicChildren);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
move: moveTeleport,
|
|
hydrate: hydrateTeleport
|
|
};
|
|
function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
|
|
if (moveType === 0) {
|
|
insert(vnode.targetAnchor, container, parentAnchor);
|
|
}
|
|
const { el, anchor, shapeFlag, children, props } = vnode;
|
|
const isReorder = moveType === 2;
|
|
if (isReorder) {
|
|
insert(el, container, parentAnchor);
|
|
}
|
|
if (!isReorder || isTeleportDisabled(props)) {
|
|
if (shapeFlag & 16) {
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
move(children[i2], container, parentAnchor, 2);
|
|
}
|
|
}
|
|
}
|
|
if (isReorder) {
|
|
insert(anchor, container, parentAnchor);
|
|
}
|
|
}
|
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector } }, hydrateChildren) {
|
|
const target = vnode.target = resolveTarget(vnode.props, querySelector);
|
|
if (target) {
|
|
const targetNode = target._lpa || target.firstChild;
|
|
if (vnode.shapeFlag & 16) {
|
|
if (isTeleportDisabled(vnode.props)) {
|
|
vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
vnode.targetAnchor = targetNode;
|
|
} else {
|
|
vnode.anchor = nextSibling(node);
|
|
let targetAnchor = targetNode;
|
|
while (targetAnchor) {
|
|
targetAnchor = nextSibling(targetAnchor);
|
|
if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
|
|
vnode.targetAnchor = targetAnchor;
|
|
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
break;
|
|
}
|
|
}
|
|
hydrateChildren(targetNode, vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
}
|
|
}
|
|
}
|
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
}
|
|
const Teleport = TeleportImpl;
|
|
const normalizedAsyncComponentMap = /* @__PURE__ */ new Map();
|
|
function convertLegacyAsyncComponent(comp) {
|
|
if (normalizedAsyncComponentMap.has(comp)) {
|
|
return normalizedAsyncComponentMap.get(comp);
|
|
}
|
|
let resolve2;
|
|
let reject;
|
|
const fallbackPromise = new Promise((r2, rj) => {
|
|
resolve2 = r2, reject = rj;
|
|
});
|
|
const res = comp(resolve2, reject);
|
|
let converted;
|
|
if (isPromise$1(res)) {
|
|
converted = defineAsyncComponent(() => res);
|
|
} else if (isObject$4(res) && !isVNode(res) && !isArray$8(res)) {
|
|
converted = defineAsyncComponent({
|
|
loader: () => res.component,
|
|
loadingComponent: res.loading,
|
|
errorComponent: res.error,
|
|
delay: res.delay,
|
|
timeout: res.timeout
|
|
});
|
|
} else if (res == null) {
|
|
converted = defineAsyncComponent(() => fallbackPromise);
|
|
} else {
|
|
converted = comp;
|
|
}
|
|
normalizedAsyncComponentMap.set(comp, converted);
|
|
return converted;
|
|
}
|
|
function convertLegacyComponent(comp, instance) {
|
|
if (comp.__isBuiltIn) {
|
|
return comp;
|
|
}
|
|
if (isFunction$3(comp) && comp.cid) {
|
|
comp = comp.options;
|
|
}
|
|
if (isFunction$3(comp) && checkCompatEnabled("COMPONENT_ASYNC", instance, comp)) {
|
|
return convertLegacyAsyncComponent(comp);
|
|
}
|
|
if (isObject$4(comp) && comp.functional && softAssertCompatEnabled("COMPONENT_FUNCTIONAL", instance, comp)) {
|
|
return convertLegacyFunctionalComponent(comp);
|
|
}
|
|
return comp;
|
|
}
|
|
const Fragment = Symbol(void 0);
|
|
const Text = Symbol(void 0);
|
|
const Comment = Symbol(void 0);
|
|
const Static = Symbol(void 0);
|
|
const blockStack = [];
|
|
let currentBlock = null;
|
|
function openBlock(disableTracking = false) {
|
|
blockStack.push(currentBlock = disableTracking ? null : []);
|
|
}
|
|
function closeBlock() {
|
|
blockStack.pop();
|
|
currentBlock = blockStack[blockStack.length - 1] || null;
|
|
}
|
|
let isBlockTreeEnabled = 1;
|
|
function setBlockTracking(value) {
|
|
isBlockTreeEnabled += value;
|
|
}
|
|
function setupBlock(vnode) {
|
|
vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;
|
|
closeBlock();
|
|
if (isBlockTreeEnabled > 0 && currentBlock) {
|
|
currentBlock.push(vnode);
|
|
}
|
|
return vnode;
|
|
}
|
|
function createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {
|
|
return setupBlock(createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, true));
|
|
}
|
|
function createBlock(type, props, children, patchFlag, dynamicProps) {
|
|
return setupBlock(createVNode(type, props, children, patchFlag, dynamicProps, true));
|
|
}
|
|
function isVNode(value) {
|
|
return value ? value.__v_isVNode === true : false;
|
|
}
|
|
function isSameVNodeType(n1, n2) {
|
|
return n1.type === n2.type && n1.key === n2.key;
|
|
}
|
|
function transformVNodeArgs(transformer) {
|
|
}
|
|
const InternalObjectKey = `__vInternal`;
|
|
const normalizeKey = ({ key }) => key != null ? key : null;
|
|
const normalizeRef = ({ ref: ref2, ref_key, ref_for }) => {
|
|
return ref2 != null ? isString$2(ref2) || isRef(ref2) || isFunction$3(ref2) ? { i: currentRenderingInstance, r: ref2, k: ref_key, f: !!ref_for } : ref2 : null;
|
|
};
|
|
function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
|
|
const vnode = {
|
|
__v_isVNode: true,
|
|
__v_skip: true,
|
|
type,
|
|
props,
|
|
key: props && normalizeKey(props),
|
|
ref: props && normalizeRef(props),
|
|
scopeId: currentScopeId,
|
|
slotScopeIds: null,
|
|
children,
|
|
component: null,
|
|
suspense: null,
|
|
ssContent: null,
|
|
ssFallback: null,
|
|
dirs: null,
|
|
transition: null,
|
|
el: null,
|
|
anchor: null,
|
|
target: null,
|
|
targetAnchor: null,
|
|
staticCount: 0,
|
|
shapeFlag,
|
|
patchFlag,
|
|
dynamicProps,
|
|
dynamicChildren: null,
|
|
appContext: null
|
|
};
|
|
if (needFullChildrenNormalization) {
|
|
normalizeChildren(vnode, children);
|
|
if (shapeFlag & 128) {
|
|
type.normalize(vnode);
|
|
}
|
|
} else if (children) {
|
|
vnode.shapeFlag |= isString$2(children) ? 8 : 16;
|
|
}
|
|
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock && (vnode.patchFlag > 0 || shapeFlag & 6) && vnode.patchFlag !== 32) {
|
|
currentBlock.push(vnode);
|
|
}
|
|
{
|
|
convertLegacyVModelProps(vnode);
|
|
defineLegacyVNodeProperties(vnode);
|
|
}
|
|
return vnode;
|
|
}
|
|
const createVNode = _createVNode;
|
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
type = Comment;
|
|
}
|
|
if (isVNode(type)) {
|
|
const cloned = cloneVNode(type, props, true);
|
|
if (children) {
|
|
normalizeChildren(cloned, children);
|
|
}
|
|
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
if (cloned.shapeFlag & 6) {
|
|
currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
} else {
|
|
currentBlock.push(cloned);
|
|
}
|
|
}
|
|
cloned.patchFlag |= -2;
|
|
return cloned;
|
|
}
|
|
if (isClassComponent(type)) {
|
|
type = type.__vccOpts;
|
|
}
|
|
{
|
|
type = convertLegacyComponent(type, currentRenderingInstance);
|
|
}
|
|
if (props) {
|
|
props = guardReactiveProps(props);
|
|
let { class: klass, style } = props;
|
|
if (klass && !isString$2(klass)) {
|
|
props.class = normalizeClass(klass);
|
|
}
|
|
if (isObject$4(style)) {
|
|
if (isProxy(style) && !isArray$8(style)) {
|
|
style = extend$1({}, style);
|
|
}
|
|
props.style = normalizeStyle(style);
|
|
}
|
|
}
|
|
const shapeFlag = isString$2(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject$4(type) ? 4 : isFunction$3(type) ? 2 : 0;
|
|
return createBaseVNode(type, props, children, patchFlag, dynamicProps, shapeFlag, isBlockNode, true);
|
|
}
|
|
function guardReactiveProps(props) {
|
|
if (!props)
|
|
return null;
|
|
return isProxy(props) || InternalObjectKey in props ? extend$1({}, props) : props;
|
|
}
|
|
function cloneVNode(vnode, extraProps, mergeRef = false) {
|
|
const { props, ref: ref2, patchFlag, children } = vnode;
|
|
const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
|
|
const cloned = {
|
|
__v_isVNode: true,
|
|
__v_skip: true,
|
|
type: vnode.type,
|
|
props: mergedProps,
|
|
key: mergedProps && normalizeKey(mergedProps),
|
|
ref: extraProps && extraProps.ref ? mergeRef && ref2 ? isArray$8(ref2) ? ref2.concat(normalizeRef(extraProps)) : [ref2, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref2,
|
|
scopeId: vnode.scopeId,
|
|
slotScopeIds: vnode.slotScopeIds,
|
|
children,
|
|
target: vnode.target,
|
|
targetAnchor: vnode.targetAnchor,
|
|
staticCount: vnode.staticCount,
|
|
shapeFlag: vnode.shapeFlag,
|
|
patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,
|
|
dynamicProps: vnode.dynamicProps,
|
|
dynamicChildren: vnode.dynamicChildren,
|
|
appContext: vnode.appContext,
|
|
dirs: vnode.dirs,
|
|
transition: vnode.transition,
|
|
component: vnode.component,
|
|
suspense: vnode.suspense,
|
|
ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
|
|
ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
|
|
el: vnode.el,
|
|
anchor: vnode.anchor
|
|
};
|
|
{
|
|
defineLegacyVNodeProperties(cloned);
|
|
}
|
|
return cloned;
|
|
}
|
|
function createTextVNode(text = " ", flag = 0) {
|
|
return createVNode(Text, null, text, flag);
|
|
}
|
|
function createStaticVNode(content, numberOfNodes) {
|
|
const vnode = createVNode(Static, null, content);
|
|
vnode.staticCount = numberOfNodes;
|
|
return vnode;
|
|
}
|
|
function createCommentVNode(text = "", asBlock = false) {
|
|
return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
|
|
}
|
|
function normalizeVNode(child) {
|
|
if (child == null || typeof child === "boolean") {
|
|
return createVNode(Comment);
|
|
} else if (isArray$8(child)) {
|
|
return createVNode(
|
|
Fragment,
|
|
null,
|
|
child.slice()
|
|
);
|
|
} else if (typeof child === "object") {
|
|
return cloneIfMounted(child);
|
|
} else {
|
|
return createVNode(Text, null, String(child));
|
|
}
|
|
}
|
|
function cloneIfMounted(child) {
|
|
return child.el === null || child.memo ? child : cloneVNode(child);
|
|
}
|
|
function normalizeChildren(vnode, children) {
|
|
let type = 0;
|
|
const { shapeFlag } = vnode;
|
|
if (children == null) {
|
|
children = null;
|
|
} else if (isArray$8(children)) {
|
|
type = 16;
|
|
} else if (typeof children === "object") {
|
|
if (shapeFlag & (1 | 64)) {
|
|
const slot = children.default;
|
|
if (slot) {
|
|
slot._c && (slot._d = false);
|
|
normalizeChildren(vnode, slot());
|
|
slot._c && (slot._d = true);
|
|
}
|
|
return;
|
|
} else {
|
|
type = 32;
|
|
const slotFlag = children._;
|
|
if (!slotFlag && !(InternalObjectKey in children)) {
|
|
children._ctx = currentRenderingInstance;
|
|
} else if (slotFlag === 3 && currentRenderingInstance) {
|
|
if (currentRenderingInstance.slots._ === 1) {
|
|
children._ = 1;
|
|
} else {
|
|
children._ = 2;
|
|
vnode.patchFlag |= 1024;
|
|
}
|
|
}
|
|
}
|
|
} else if (isFunction$3(children)) {
|
|
children = { default: children, _ctx: currentRenderingInstance };
|
|
type = 32;
|
|
} else {
|
|
children = String(children);
|
|
if (shapeFlag & 64) {
|
|
type = 16;
|
|
children = [createTextVNode(children)];
|
|
} else {
|
|
type = 8;
|
|
}
|
|
}
|
|
vnode.children = children;
|
|
vnode.shapeFlag |= type;
|
|
}
|
|
function mergeProps(...args) {
|
|
const ret = {};
|
|
for (let i2 = 0; i2 < args.length; i2++) {
|
|
const toMerge = args[i2];
|
|
for (const key in toMerge) {
|
|
if (key === "class") {
|
|
if (ret.class !== toMerge.class) {
|
|
ret.class = normalizeClass([ret.class, toMerge.class]);
|
|
}
|
|
} else if (key === "style") {
|
|
ret.style = normalizeStyle([ret.style, toMerge.style]);
|
|
} else if (isOn(key)) {
|
|
const existing = ret[key];
|
|
const incoming = toMerge[key];
|
|
if (incoming && existing !== incoming && !(isArray$8(existing) && existing.includes(incoming))) {
|
|
ret[key] = existing ? [].concat(existing, incoming) : incoming;
|
|
}
|
|
} else if (key !== "") {
|
|
ret[key] = toMerge[key];
|
|
}
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {
|
|
callWithAsyncErrorHandling(hook, instance, 7, [
|
|
vnode,
|
|
prevVNode
|
|
]);
|
|
}
|
|
const emptyAppContext = createAppContext();
|
|
let uid$1 = 0;
|
|
function createComponentInstance(vnode, parent, suspense) {
|
|
const type = vnode.type;
|
|
const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
|
|
const instance = {
|
|
uid: uid$1++,
|
|
vnode,
|
|
type,
|
|
parent,
|
|
appContext,
|
|
root: null,
|
|
next: null,
|
|
subTree: null,
|
|
effect: null,
|
|
update: null,
|
|
scope: new EffectScope(true),
|
|
render: null,
|
|
proxy: null,
|
|
exposed: null,
|
|
exposeProxy: null,
|
|
withProxy: null,
|
|
provides: parent ? parent.provides : Object.create(appContext.provides),
|
|
accessCache: null,
|
|
renderCache: [],
|
|
components: null,
|
|
directives: null,
|
|
propsOptions: normalizePropsOptions(type, appContext),
|
|
emitsOptions: normalizeEmitsOptions(type, appContext),
|
|
emit: null,
|
|
emitted: null,
|
|
propsDefaults: EMPTY_OBJ,
|
|
inheritAttrs: type.inheritAttrs,
|
|
ctx: EMPTY_OBJ,
|
|
data: EMPTY_OBJ,
|
|
props: EMPTY_OBJ,
|
|
attrs: EMPTY_OBJ,
|
|
slots: EMPTY_OBJ,
|
|
refs: EMPTY_OBJ,
|
|
setupState: EMPTY_OBJ,
|
|
setupContext: null,
|
|
suspense,
|
|
suspenseId: suspense ? suspense.pendingId : 0,
|
|
asyncDep: null,
|
|
asyncResolved: false,
|
|
isMounted: false,
|
|
isUnmounted: false,
|
|
isDeactivated: false,
|
|
bc: null,
|
|
c: null,
|
|
bm: null,
|
|
m: null,
|
|
bu: null,
|
|
u: null,
|
|
um: null,
|
|
bum: null,
|
|
da: null,
|
|
a: null,
|
|
rtg: null,
|
|
rtc: null,
|
|
ec: null,
|
|
sp: null
|
|
};
|
|
{
|
|
instance.ctx = { _: instance };
|
|
}
|
|
instance.root = parent ? parent.root : instance;
|
|
instance.emit = emit$2.bind(null, instance);
|
|
if (vnode.ce) {
|
|
vnode.ce(instance);
|
|
}
|
|
return instance;
|
|
}
|
|
let currentInstance = null;
|
|
const getCurrentInstance = () => currentInstance || currentRenderingInstance;
|
|
const setCurrentInstance = (instance) => {
|
|
currentInstance = instance;
|
|
instance.scope.on();
|
|
};
|
|
const unsetCurrentInstance = () => {
|
|
currentInstance && currentInstance.scope.off();
|
|
currentInstance = null;
|
|
};
|
|
function isStatefulComponent(instance) {
|
|
return instance.vnode.shapeFlag & 4;
|
|
}
|
|
let isInSSRComponentSetup = false;
|
|
function setupComponent(instance, isSSR = false) {
|
|
isInSSRComponentSetup = isSSR;
|
|
const { props, children } = instance.vnode;
|
|
const isStateful = isStatefulComponent(instance);
|
|
initProps(instance, props, isStateful, isSSR);
|
|
initSlots(instance, children);
|
|
const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
|
|
isInSSRComponentSetup = false;
|
|
return setupResult;
|
|
}
|
|
function setupStatefulComponent(instance, isSSR) {
|
|
const Component = instance.type;
|
|
instance.accessCache = /* @__PURE__ */ Object.create(null);
|
|
instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));
|
|
const { setup } = Component;
|
|
if (setup) {
|
|
const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;
|
|
setCurrentInstance(instance);
|
|
pauseTracking();
|
|
const setupResult = callWithErrorHandling(setup, instance, 0, [instance.props, setupContext]);
|
|
resetTracking();
|
|
unsetCurrentInstance();
|
|
if (isPromise$1(setupResult)) {
|
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
if (isSSR) {
|
|
return setupResult.then((resolvedResult) => {
|
|
handleSetupResult(instance, resolvedResult, isSSR);
|
|
}).catch((e2) => {
|
|
handleError(e2, instance, 0);
|
|
});
|
|
} else {
|
|
instance.asyncDep = setupResult;
|
|
}
|
|
} else {
|
|
handleSetupResult(instance, setupResult, isSSR);
|
|
}
|
|
} else {
|
|
finishComponentSetup(instance, isSSR);
|
|
}
|
|
}
|
|
function handleSetupResult(instance, setupResult, isSSR) {
|
|
if (isFunction$3(setupResult)) {
|
|
if (instance.type.__ssrInlineRender) {
|
|
instance.ssrRender = setupResult;
|
|
} else {
|
|
instance.render = setupResult;
|
|
}
|
|
} else if (isObject$4(setupResult)) {
|
|
instance.setupState = proxyRefs(setupResult);
|
|
} else
|
|
;
|
|
finishComponentSetup(instance, isSSR);
|
|
}
|
|
let compile;
|
|
let installWithProxy;
|
|
function registerRuntimeCompiler(_compile) {
|
|
compile = _compile;
|
|
installWithProxy = (i2) => {
|
|
if (i2.render._rc) {
|
|
i2.withProxy = new Proxy(i2.ctx, RuntimeCompiledPublicInstanceProxyHandlers);
|
|
}
|
|
};
|
|
}
|
|
const isRuntimeOnly = () => !compile;
|
|
function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
const Component = instance.type;
|
|
{
|
|
convertLegacyRenderFn(instance);
|
|
}
|
|
if (!instance.render) {
|
|
if (!isSSR && compile && !Component.render) {
|
|
const template = instance.vnode.props && instance.vnode.props["inline-template"] || Component.template;
|
|
if (template) {
|
|
const { isCustomElement, compilerOptions } = instance.appContext.config;
|
|
const { delimiters, compilerOptions: componentCompilerOptions } = Component;
|
|
const finalCompilerOptions = extend$1(extend$1({
|
|
isCustomElement,
|
|
delimiters
|
|
}, compilerOptions), componentCompilerOptions);
|
|
{
|
|
finalCompilerOptions.compatConfig = Object.create(globalCompatConfig);
|
|
if (Component.compatConfig) {
|
|
extend$1(finalCompilerOptions.compatConfig, Component.compatConfig);
|
|
}
|
|
}
|
|
Component.render = compile(template, finalCompilerOptions);
|
|
}
|
|
}
|
|
instance.render = Component.render || NOOP;
|
|
if (installWithProxy) {
|
|
installWithProxy(instance);
|
|
}
|
|
}
|
|
if (!skipOptions) {
|
|
setCurrentInstance(instance);
|
|
pauseTracking();
|
|
applyOptions(instance);
|
|
resetTracking();
|
|
unsetCurrentInstance();
|
|
}
|
|
}
|
|
function createAttrsProxy(instance) {
|
|
return new Proxy(instance.attrs, {
|
|
get(target, key) {
|
|
track(instance, "get", "$attrs");
|
|
return target[key];
|
|
}
|
|
});
|
|
}
|
|
function createSetupContext(instance) {
|
|
const expose = (exposed) => {
|
|
instance.exposed = exposed || {};
|
|
};
|
|
let attrs;
|
|
{
|
|
return {
|
|
get attrs() {
|
|
return attrs || (attrs = createAttrsProxy(instance));
|
|
},
|
|
slots: instance.slots,
|
|
emit: instance.emit,
|
|
expose
|
|
};
|
|
}
|
|
}
|
|
function getExposeProxy(instance) {
|
|
if (instance.exposed) {
|
|
return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
|
|
get(target, key) {
|
|
if (key in target) {
|
|
return target[key];
|
|
} else if (key in publicPropertiesMap) {
|
|
return publicPropertiesMap[key](instance);
|
|
}
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
const classifyRE = /(?:^|[-_])(\w)/g;
|
|
const classify = (str) => str.replace(classifyRE, (c2) => c2.toUpperCase()).replace(/[-_]/g, "");
|
|
function getComponentName(Component, includeInferred = true) {
|
|
return isFunction$3(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
|
|
}
|
|
function formatComponentName(instance, Component, isRoot = false) {
|
|
let name2 = getComponentName(Component);
|
|
if (!name2 && Component.__file) {
|
|
const match = Component.__file.match(/([^/\\]+)\.\w+$/);
|
|
if (match) {
|
|
name2 = match[1];
|
|
}
|
|
}
|
|
if (!name2 && instance && instance.parent) {
|
|
const inferFromRegistry = (registry) => {
|
|
for (const key in registry) {
|
|
if (registry[key] === Component) {
|
|
return key;
|
|
}
|
|
}
|
|
};
|
|
name2 = inferFromRegistry(instance.components || instance.parent.type.components) || inferFromRegistry(instance.appContext.components);
|
|
}
|
|
return name2 ? classify(name2) : isRoot ? `App` : `Anonymous`;
|
|
}
|
|
function isClassComponent(value) {
|
|
return isFunction$3(value) && "__vccOpts" in value;
|
|
}
|
|
const computed$1 = (getterOrOptions, debugOptions) => {
|
|
return computed(getterOrOptions, debugOptions, isInSSRComponentSetup);
|
|
};
|
|
function defineProps() {
|
|
return null;
|
|
}
|
|
function defineEmits() {
|
|
return null;
|
|
}
|
|
function defineExpose(exposed) {
|
|
}
|
|
function withDefaults(props, defaults2) {
|
|
return null;
|
|
}
|
|
function useSlots() {
|
|
return getContext().slots;
|
|
}
|
|
function useAttrs() {
|
|
return getContext().attrs;
|
|
}
|
|
function getContext() {
|
|
const i2 = getCurrentInstance();
|
|
return i2.setupContext || (i2.setupContext = createSetupContext(i2));
|
|
}
|
|
function mergeDefaults(raw, defaults2) {
|
|
const props = isArray$8(raw) ? raw.reduce((normalized, p2) => (normalized[p2] = {}, normalized), {}) : raw;
|
|
for (const key in defaults2) {
|
|
const opt = props[key];
|
|
if (opt) {
|
|
if (isArray$8(opt) || isFunction$3(opt)) {
|
|
props[key] = { type: opt, default: defaults2[key] };
|
|
} else {
|
|
opt.default = defaults2[key];
|
|
}
|
|
} else if (opt === null) {
|
|
props[key] = { default: defaults2[key] };
|
|
} else
|
|
;
|
|
}
|
|
return props;
|
|
}
|
|
function createPropsRestProxy(props, excludedKeys) {
|
|
const ret = {};
|
|
for (const key in props) {
|
|
if (!excludedKeys.includes(key)) {
|
|
Object.defineProperty(ret, key, {
|
|
enumerable: true,
|
|
get: () => props[key]
|
|
});
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
function withAsyncContext(getAwaitable) {
|
|
const ctx = getCurrentInstance();
|
|
let awaitable = getAwaitable();
|
|
unsetCurrentInstance();
|
|
if (isPromise$1(awaitable)) {
|
|
awaitable = awaitable.catch((e2) => {
|
|
setCurrentInstance(ctx);
|
|
throw e2;
|
|
});
|
|
}
|
|
return [awaitable, () => setCurrentInstance(ctx)];
|
|
}
|
|
function h$2(type, propsOrChildren, children) {
|
|
const l2 = arguments.length;
|
|
if (l2 === 2) {
|
|
if (isObject$4(propsOrChildren) && !isArray$8(propsOrChildren)) {
|
|
if (isVNode(propsOrChildren)) {
|
|
return createVNode(type, null, [propsOrChildren]);
|
|
}
|
|
return createVNode(type, propsOrChildren);
|
|
} else {
|
|
return createVNode(type, null, propsOrChildren);
|
|
}
|
|
} else {
|
|
if (l2 > 3) {
|
|
children = Array.prototype.slice.call(arguments, 2);
|
|
} else if (l2 === 3 && isVNode(children)) {
|
|
children = [children];
|
|
}
|
|
return createVNode(type, propsOrChildren, children);
|
|
}
|
|
}
|
|
const ssrContextKey = Symbol(``);
|
|
const useSSRContext = () => {
|
|
{
|
|
const 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 initCustomFormatter() {
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
function withMemo(memo, render2, cache, index2) {
|
|
const cached = cache[index2];
|
|
if (cached && isMemoSame(cached, memo)) {
|
|
return cached;
|
|
}
|
|
const ret = render2();
|
|
ret.memo = memo.slice();
|
|
return cache[index2] = ret;
|
|
}
|
|
function isMemoSame(cached, memo) {
|
|
const prev = cached.memo;
|
|
if (prev.length != memo.length) {
|
|
return false;
|
|
}
|
|
for (let i2 = 0; i2 < prev.length; i2++) {
|
|
if (hasChanged(prev[i2], memo[i2])) {
|
|
return false;
|
|
}
|
|
}
|
|
if (isBlockTreeEnabled > 0 && currentBlock) {
|
|
currentBlock.push(cached);
|
|
}
|
|
return true;
|
|
}
|
|
const version$1 = "3.2.37";
|
|
const _ssrUtils = {
|
|
createComponentInstance,
|
|
setupComponent,
|
|
renderComponentRoot,
|
|
setCurrentRenderingInstance,
|
|
isVNode,
|
|
normalizeVNode
|
|
};
|
|
const ssrUtils = _ssrUtils;
|
|
const resolveFilter$1 = resolveFilter;
|
|
const _compatUtils = {
|
|
warnDeprecation,
|
|
createCompatVue,
|
|
isCompatEnabled,
|
|
checkCompatEnabled,
|
|
softAssertCompatEnabled
|
|
};
|
|
const compatUtils = _compatUtils;
|
|
const svgNS = "http://www.w3.org/2000/svg";
|
|
const doc = typeof document !== "undefined" ? document : null;
|
|
const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
|
|
const nodeOps = {
|
|
insert: (child, parent, anchor) => {
|
|
parent.insertBefore(child, anchor || null);
|
|
},
|
|
remove: (child) => {
|
|
const parent = child.parentNode;
|
|
if (parent) {
|
|
parent.removeChild(child);
|
|
}
|
|
},
|
|
createElement: (tag, isSVG, is, props) => {
|
|
const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0);
|
|
if (tag === "select" && props && props.multiple != null) {
|
|
el.setAttribute("multiple", props.multiple);
|
|
}
|
|
return el;
|
|
},
|
|
createText: (text) => doc.createTextNode(text),
|
|
createComment: (text) => doc.createComment(text),
|
|
setText: (node, text) => {
|
|
node.nodeValue = text;
|
|
},
|
|
setElementText: (el, text) => {
|
|
el.textContent = text;
|
|
},
|
|
parentNode: (node) => node.parentNode,
|
|
nextSibling: (node) => node.nextSibling,
|
|
querySelector: (selector) => doc.querySelector(selector),
|
|
setScopeId(el, id) {
|
|
el.setAttribute(id, "");
|
|
},
|
|
cloneNode(el) {
|
|
const cloned = el.cloneNode(true);
|
|
if (`_value` in el) {
|
|
cloned._value = el._value;
|
|
}
|
|
return cloned;
|
|
},
|
|
insertStaticContent(content, parent, anchor, isSVG, start, end) {
|
|
const before = anchor ? anchor.previousSibling : parent.lastChild;
|
|
if (start && (start === end || start.nextSibling)) {
|
|
while (true) {
|
|
parent.insertBefore(start.cloneNode(true), anchor);
|
|
if (start === end || !(start = start.nextSibling))
|
|
break;
|
|
}
|
|
} else {
|
|
templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;
|
|
const template = templateContainer.content;
|
|
if (isSVG) {
|
|
const wrapper = template.firstChild;
|
|
while (wrapper.firstChild) {
|
|
template.appendChild(wrapper.firstChild);
|
|
}
|
|
template.removeChild(wrapper);
|
|
}
|
|
parent.insertBefore(template, anchor);
|
|
}
|
|
return [
|
|
before ? before.nextSibling : parent.firstChild,
|
|
anchor ? anchor.previousSibling : parent.lastChild
|
|
];
|
|
}
|
|
};
|
|
function patchClass(el, value, isSVG) {
|
|
const transitionClasses = el._vtc;
|
|
if (transitionClasses) {
|
|
value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
|
|
}
|
|
if (value == null) {
|
|
el.removeAttribute("class");
|
|
} else if (isSVG) {
|
|
el.setAttribute("class", value);
|
|
} else {
|
|
el.className = value;
|
|
}
|
|
}
|
|
function patchStyle(el, prev, next) {
|
|
const style = el.style;
|
|
const isCssString = isString$2(next);
|
|
if (next && !isCssString) {
|
|
for (const key in next) {
|
|
setStyle(style, key, next[key]);
|
|
}
|
|
if (prev && !isString$2(prev)) {
|
|
for (const key in prev) {
|
|
if (next[key] == null) {
|
|
setStyle(style, key, "");
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
const currentDisplay = style.display;
|
|
if (isCssString) {
|
|
if (prev !== next) {
|
|
style.cssText = next;
|
|
}
|
|
} else if (prev) {
|
|
el.removeAttribute("style");
|
|
}
|
|
if ("_vod" in el) {
|
|
style.display = currentDisplay;
|
|
}
|
|
}
|
|
}
|
|
const importantRE = /\s*!important$/;
|
|
function setStyle(style, name2, val) {
|
|
if (isArray$8(val)) {
|
|
val.forEach((v) => setStyle(style, name2, v));
|
|
} else {
|
|
if (val == null)
|
|
val = "";
|
|
if (name2.startsWith("--")) {
|
|
style.setProperty(name2, val);
|
|
} else {
|
|
const prefixed = autoPrefix(style, name2);
|
|
if (importantRE.test(val)) {
|
|
style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
|
|
} else {
|
|
style[prefixed] = val;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const prefixes = ["Webkit", "Moz", "ms"];
|
|
const prefixCache = {};
|
|
function autoPrefix(style, rawName) {
|
|
const cached = prefixCache[rawName];
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
let name2 = camelize(rawName);
|
|
if (name2 !== "filter" && name2 in style) {
|
|
return prefixCache[rawName] = name2;
|
|
}
|
|
name2 = capitalize(name2);
|
|
for (let i2 = 0; i2 < prefixes.length; i2++) {
|
|
const prefixed = prefixes[i2] + name2;
|
|
if (prefixed in style) {
|
|
return prefixCache[rawName] = prefixed;
|
|
}
|
|
}
|
|
return rawName;
|
|
}
|
|
const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
function patchAttr(el, key, value, isSVG, instance) {
|
|
if (isSVG && key.startsWith("xlink:")) {
|
|
if (value == null) {
|
|
el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
} else {
|
|
el.setAttributeNS(xlinkNS, key, value);
|
|
}
|
|
} else {
|
|
if (compatCoerceAttr(el, key, value, instance)) {
|
|
return;
|
|
}
|
|
const isBoolean2 = isSpecialBooleanAttr(key);
|
|
if (value == null || isBoolean2 && !includeBooleanAttr(value)) {
|
|
el.removeAttribute(key);
|
|
} else {
|
|
el.setAttribute(key, isBoolean2 ? "" : value);
|
|
}
|
|
}
|
|
}
|
|
const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
|
|
function compatCoerceAttr(el, key, value, instance = null) {
|
|
if (isEnumeratedAttr(key)) {
|
|
const v2CocercedValue = value === null ? "false" : typeof value !== "boolean" && value !== void 0 ? "true" : null;
|
|
if (v2CocercedValue && compatUtils.softAssertCompatEnabled("ATTR_ENUMERATED_COERCION", instance, key, value, v2CocercedValue)) {
|
|
el.setAttribute(key, v2CocercedValue);
|
|
return true;
|
|
}
|
|
} else if (value === false && !isSpecialBooleanAttr(key) && compatUtils.softAssertCompatEnabled("ATTR_FALSE_VALUE", instance, key)) {
|
|
el.removeAttribute(key);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {
|
|
if (key === "innerHTML" || key === "textContent") {
|
|
if (prevChildren) {
|
|
unmountChildren(prevChildren, parentComponent, parentSuspense);
|
|
}
|
|
el[key] = value == null ? "" : value;
|
|
return;
|
|
}
|
|
if (key === "value" && el.tagName !== "PROGRESS" && !el.tagName.includes("-")) {
|
|
el._value = value;
|
|
const newValue = value == null ? "" : value;
|
|
if (el.value !== newValue || el.tagName === "OPTION") {
|
|
el.value = newValue;
|
|
}
|
|
if (value == null) {
|
|
el.removeAttribute(key);
|
|
}
|
|
return;
|
|
}
|
|
let needRemove = false;
|
|
if (value === "" || value == null) {
|
|
const type = typeof el[key];
|
|
if (type === "boolean") {
|
|
value = includeBooleanAttr(value);
|
|
} else if (value == null && type === "string") {
|
|
value = "";
|
|
needRemove = true;
|
|
} else if (type === "number") {
|
|
value = 0;
|
|
needRemove = true;
|
|
}
|
|
} else {
|
|
if (value === false && compatUtils.isCompatEnabled("ATTR_FALSE_VALUE", parentComponent)) {
|
|
const type = typeof el[key];
|
|
if (type === "string" || type === "number") {
|
|
value = type === "number" ? 0 : "";
|
|
needRemove = true;
|
|
}
|
|
}
|
|
}
|
|
try {
|
|
el[key] = value;
|
|
} catch (e2) {
|
|
}
|
|
needRemove && el.removeAttribute(key);
|
|
}
|
|
const [_getNow, skipTimestampCheck] = /* @__PURE__ */ (() => {
|
|
let _getNow2 = Date.now;
|
|
let skipTimestampCheck2 = false;
|
|
if (typeof window !== "undefined") {
|
|
if (Date.now() > document.createEvent("Event").timeStamp) {
|
|
_getNow2 = performance.now.bind(performance);
|
|
}
|
|
const ffMatch = navigator.userAgent.match(/firefox\/(\d+)/i);
|
|
skipTimestampCheck2 = !!(ffMatch && Number(ffMatch[1]) <= 53);
|
|
}
|
|
return [_getNow2, skipTimestampCheck2];
|
|
})();
|
|
let cachedNow = 0;
|
|
const p$1 = /* @__PURE__ */ Promise.resolve();
|
|
const reset = () => {
|
|
cachedNow = 0;
|
|
};
|
|
const getNow = () => cachedNow || (p$1.then(reset), cachedNow = _getNow());
|
|
function addEventListener(el, event, handler, options) {
|
|
el.addEventListener(event, handler, options);
|
|
}
|
|
function removeEventListener(el, event, handler, options) {
|
|
el.removeEventListener(event, handler, options);
|
|
}
|
|
function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
|
|
const invokers = el._vei || (el._vei = {});
|
|
const existingInvoker = invokers[rawName];
|
|
if (nextValue && existingInvoker) {
|
|
existingInvoker.value = nextValue;
|
|
} else {
|
|
const [name2, options] = parseName(rawName);
|
|
if (nextValue) {
|
|
const invoker = invokers[rawName] = createInvoker(nextValue, instance);
|
|
addEventListener(el, name2, invoker, options);
|
|
} else if (existingInvoker) {
|
|
removeEventListener(el, name2, existingInvoker, options);
|
|
invokers[rawName] = void 0;
|
|
}
|
|
}
|
|
}
|
|
const optionsModifierRE = /(?:Once|Passive|Capture)$/;
|
|
function parseName(name2) {
|
|
let options;
|
|
if (optionsModifierRE.test(name2)) {
|
|
options = {};
|
|
let m2;
|
|
while (m2 = name2.match(optionsModifierRE)) {
|
|
name2 = name2.slice(0, name2.length - m2[0].length);
|
|
options[m2[0].toLowerCase()] = true;
|
|
}
|
|
}
|
|
return [hyphenate(name2.slice(2)), options];
|
|
}
|
|
function createInvoker(initialValue, instance) {
|
|
const invoker = (e2) => {
|
|
const timeStamp = e2.timeStamp || _getNow();
|
|
if (skipTimestampCheck || timeStamp >= invoker.attached - 1) {
|
|
callWithAsyncErrorHandling(patchStopImmediatePropagation(e2, invoker.value), instance, 5, [e2]);
|
|
}
|
|
};
|
|
invoker.value = initialValue;
|
|
invoker.attached = getNow();
|
|
return invoker;
|
|
}
|
|
function patchStopImmediatePropagation(e2, value) {
|
|
if (isArray$8(value)) {
|
|
const originalStop = e2.stopImmediatePropagation;
|
|
e2.stopImmediatePropagation = () => {
|
|
originalStop.call(e2);
|
|
e2._stopped = true;
|
|
};
|
|
return value.map((fn) => (e3) => !e3._stopped && fn && fn(e3));
|
|
} else {
|
|
return value;
|
|
}
|
|
}
|
|
const nativeOnRE = /^on[a-z]/;
|
|
const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
|
|
if (key === "class") {
|
|
patchClass(el, nextValue, isSVG);
|
|
} else if (key === "style") {
|
|
patchStyle(el, prevValue, nextValue);
|
|
} else if (isOn(key)) {
|
|
if (!isModelListener(key)) {
|
|
patchEvent(el, key, prevValue, nextValue, parentComponent);
|
|
}
|
|
} else if (key[0] === "." ? (key = key.slice(1), true) : key[0] === "^" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {
|
|
patchDOMProp(el, key, nextValue, prevChildren, parentComponent, parentSuspense, unmountChildren);
|
|
} else {
|
|
if (key === "true-value") {
|
|
el._trueValue = nextValue;
|
|
} else if (key === "false-value") {
|
|
el._falseValue = nextValue;
|
|
}
|
|
patchAttr(el, key, nextValue, isSVG, parentComponent);
|
|
}
|
|
};
|
|
function shouldSetAsProp(el, key, value, isSVG) {
|
|
if (isSVG) {
|
|
if (key === "innerHTML" || key === "textContent") {
|
|
return true;
|
|
}
|
|
if (key in el && nativeOnRE.test(key) && isFunction$3(value)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
if (key === "spellcheck" || key === "draggable" || key === "translate") {
|
|
return false;
|
|
}
|
|
if (key === "form") {
|
|
return false;
|
|
}
|
|
if (key === "list" && el.tagName === "INPUT") {
|
|
return false;
|
|
}
|
|
if (key === "type" && el.tagName === "TEXTAREA") {
|
|
return false;
|
|
}
|
|
if (nativeOnRE.test(key) && isString$2(value)) {
|
|
return false;
|
|
}
|
|
return key in el;
|
|
}
|
|
function defineCustomElement(options, hydrate2) {
|
|
const Comp = defineComponent(options);
|
|
class VueCustomElement extends VueElement {
|
|
constructor(initialProps) {
|
|
super(Comp, initialProps, hydrate2);
|
|
}
|
|
}
|
|
VueCustomElement.def = Comp;
|
|
return VueCustomElement;
|
|
}
|
|
const defineSSRCustomElement = (options) => {
|
|
return defineCustomElement(options, hydrate);
|
|
};
|
|
const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
|
|
};
|
|
class VueElement extends BaseClass {
|
|
constructor(_def, _props = {}, hydrate2) {
|
|
super();
|
|
this._def = _def;
|
|
this._props = _props;
|
|
this._instance = null;
|
|
this._connected = false;
|
|
this._resolved = false;
|
|
this._numberProps = null;
|
|
if (this.shadowRoot && hydrate2) {
|
|
hydrate2(this._createVNode(), this.shadowRoot);
|
|
} else {
|
|
this.attachShadow({ mode: "open" });
|
|
}
|
|
}
|
|
connectedCallback() {
|
|
this._connected = true;
|
|
if (!this._instance) {
|
|
this._resolveDef();
|
|
}
|
|
}
|
|
disconnectedCallback() {
|
|
this._connected = false;
|
|
nextTick(() => {
|
|
if (!this._connected) {
|
|
render(null, this.shadowRoot);
|
|
this._instance = null;
|
|
}
|
|
});
|
|
}
|
|
_resolveDef() {
|
|
if (this._resolved) {
|
|
return;
|
|
}
|
|
this._resolved = true;
|
|
for (let i2 = 0; i2 < this.attributes.length; i2++) {
|
|
this._setAttr(this.attributes[i2].name);
|
|
}
|
|
new MutationObserver((mutations2) => {
|
|
for (const m2 of mutations2) {
|
|
this._setAttr(m2.attributeName);
|
|
}
|
|
}).observe(this, { attributes: true });
|
|
const resolve2 = (def2) => {
|
|
const { props, styles } = def2;
|
|
const hasOptions = !isArray$8(props);
|
|
const rawKeys = props ? hasOptions ? Object.keys(props) : props : [];
|
|
let numberProps;
|
|
if (hasOptions) {
|
|
for (const key in this._props) {
|
|
const opt = props[key];
|
|
if (opt === Number || opt && opt.type === Number) {
|
|
this._props[key] = toNumber(this._props[key]);
|
|
(numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[key] = true;
|
|
}
|
|
}
|
|
}
|
|
this._numberProps = numberProps;
|
|
for (const key of Object.keys(this)) {
|
|
if (key[0] !== "_") {
|
|
this._setProp(key, this[key], true, false);
|
|
}
|
|
}
|
|
for (const key of rawKeys.map(camelize)) {
|
|
Object.defineProperty(this, key, {
|
|
get() {
|
|
return this._getProp(key);
|
|
},
|
|
set(val) {
|
|
this._setProp(key, val);
|
|
}
|
|
});
|
|
}
|
|
this._applyStyles(styles);
|
|
this._update();
|
|
};
|
|
const asyncDef = this._def.__asyncLoader;
|
|
if (asyncDef) {
|
|
asyncDef().then(resolve2);
|
|
} else {
|
|
resolve2(this._def);
|
|
}
|
|
}
|
|
_setAttr(key) {
|
|
let value = this.getAttribute(key);
|
|
if (this._numberProps && this._numberProps[key]) {
|
|
value = toNumber(value);
|
|
}
|
|
this._setProp(camelize(key), value, false);
|
|
}
|
|
_getProp(key) {
|
|
return this._props[key];
|
|
}
|
|
_setProp(key, val, shouldReflect = true, shouldUpdate = true) {
|
|
if (val !== this._props[key]) {
|
|
this._props[key] = val;
|
|
if (shouldUpdate && this._instance) {
|
|
this._update();
|
|
}
|
|
if (shouldReflect) {
|
|
if (val === true) {
|
|
this.setAttribute(hyphenate(key), "");
|
|
} else if (typeof val === "string" || typeof val === "number") {
|
|
this.setAttribute(hyphenate(key), val + "");
|
|
} else if (!val) {
|
|
this.removeAttribute(hyphenate(key));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
_update() {
|
|
render(this._createVNode(), this.shadowRoot);
|
|
}
|
|
_createVNode() {
|
|
const vnode = createVNode(this._def, extend$1({}, this._props));
|
|
if (!this._instance) {
|
|
vnode.ce = (instance) => {
|
|
this._instance = instance;
|
|
instance.isCE = true;
|
|
instance.emit = (event, ...args) => {
|
|
this.dispatchEvent(new CustomEvent(event, {
|
|
detail: args
|
|
}));
|
|
};
|
|
let parent = this;
|
|
while (parent = parent && (parent.parentNode || parent.host)) {
|
|
if (parent instanceof VueElement) {
|
|
instance.parent = parent._instance;
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
return vnode;
|
|
}
|
|
_applyStyles(styles) {
|
|
if (styles) {
|
|
styles.forEach((css) => {
|
|
const s2 = document.createElement("style");
|
|
s2.textContent = css;
|
|
this.shadowRoot.appendChild(s2);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
function useCssModule(name2 = "$style") {
|
|
{
|
|
const instance = getCurrentInstance();
|
|
if (!instance) {
|
|
return EMPTY_OBJ;
|
|
}
|
|
const modules = instance.type.__cssModules;
|
|
if (!modules) {
|
|
return EMPTY_OBJ;
|
|
}
|
|
const mod = modules[name2];
|
|
if (!mod) {
|
|
return EMPTY_OBJ;
|
|
}
|
|
return mod;
|
|
}
|
|
}
|
|
function useCssVars(getter) {
|
|
const instance = getCurrentInstance();
|
|
if (!instance) {
|
|
return;
|
|
}
|
|
const setVars = () => setVarsOnVNode(instance.subTree, getter(instance.proxy));
|
|
watchPostEffect(setVars);
|
|
onMounted(() => {
|
|
const ob = new MutationObserver(setVars);
|
|
ob.observe(instance.subTree.el.parentNode, { childList: true });
|
|
onUnmounted(() => ob.disconnect());
|
|
});
|
|
}
|
|
function setVarsOnVNode(vnode, vars) {
|
|
if (vnode.shapeFlag & 128) {
|
|
const suspense = vnode.suspense;
|
|
vnode = suspense.activeBranch;
|
|
if (suspense.pendingBranch && !suspense.isHydrating) {
|
|
suspense.effects.push(() => {
|
|
setVarsOnVNode(suspense.activeBranch, vars);
|
|
});
|
|
}
|
|
}
|
|
while (vnode.component) {
|
|
vnode = vnode.component.subTree;
|
|
}
|
|
if (vnode.shapeFlag & 1 && vnode.el) {
|
|
setVarsOnNode(vnode.el, vars);
|
|
} else if (vnode.type === Fragment) {
|
|
vnode.children.forEach((c2) => setVarsOnVNode(c2, vars));
|
|
} else if (vnode.type === Static) {
|
|
let { el, anchor } = vnode;
|
|
while (el) {
|
|
setVarsOnNode(el, vars);
|
|
if (el === anchor)
|
|
break;
|
|
el = el.nextSibling;
|
|
}
|
|
}
|
|
}
|
|
function setVarsOnNode(el, vars) {
|
|
if (el.nodeType === 1) {
|
|
const style = el.style;
|
|
for (const key in vars) {
|
|
style.setProperty(`--${key}`, vars[key]);
|
|
}
|
|
}
|
|
}
|
|
const TRANSITION = "transition";
|
|
const ANIMATION = "animation";
|
|
const Transition = (props, { slots }) => h$2(BaseTransition, resolveTransitionProps(props), slots);
|
|
Transition.displayName = "Transition";
|
|
{
|
|
Transition.__isBuiltIn = true;
|
|
}
|
|
const DOMTransitionPropsValidators = {
|
|
name: String,
|
|
type: String,
|
|
css: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
duration: [String, Number, Object],
|
|
enterFromClass: String,
|
|
enterActiveClass: String,
|
|
enterToClass: String,
|
|
appearFromClass: String,
|
|
appearActiveClass: String,
|
|
appearToClass: String,
|
|
leaveFromClass: String,
|
|
leaveActiveClass: String,
|
|
leaveToClass: String
|
|
};
|
|
const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend$1({}, BaseTransition.props, DOMTransitionPropsValidators);
|
|
const callHook$1 = (hook, args = []) => {
|
|
if (isArray$8(hook)) {
|
|
hook.forEach((h2) => h2(...args));
|
|
} else if (hook) {
|
|
hook(...args);
|
|
}
|
|
};
|
|
const hasExplicitCallback = (hook) => {
|
|
return hook ? isArray$8(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
|
|
};
|
|
function resolveTransitionProps(rawProps) {
|
|
const baseProps = {};
|
|
for (const key in rawProps) {
|
|
if (!(key in DOMTransitionPropsValidators)) {
|
|
baseProps[key] = rawProps[key];
|
|
}
|
|
}
|
|
if (rawProps.css === false) {
|
|
return baseProps;
|
|
}
|
|
const { name: name2 = "v", type, duration, enterFromClass = `${name2}-enter-from`, enterActiveClass = `${name2}-enter-active`, enterToClass = `${name2}-enter-to`, appearFromClass = enterFromClass, appearActiveClass = enterActiveClass, appearToClass = enterToClass, leaveFromClass = `${name2}-leave-from`, leaveActiveClass = `${name2}-leave-active`, leaveToClass = `${name2}-leave-to` } = rawProps;
|
|
const legacyClassEnabled = compatUtils.isCompatEnabled("TRANSITION_CLASSES", null);
|
|
let legacyEnterFromClass;
|
|
let legacyAppearFromClass;
|
|
let legacyLeaveFromClass;
|
|
if (legacyClassEnabled) {
|
|
const toLegacyClass = (cls) => cls.replace(/-from$/, "");
|
|
if (!rawProps.enterFromClass) {
|
|
legacyEnterFromClass = toLegacyClass(enterFromClass);
|
|
}
|
|
if (!rawProps.appearFromClass) {
|
|
legacyAppearFromClass = toLegacyClass(appearFromClass);
|
|
}
|
|
if (!rawProps.leaveFromClass) {
|
|
legacyLeaveFromClass = toLegacyClass(leaveFromClass);
|
|
}
|
|
}
|
|
const durations = normalizeDuration(duration);
|
|
const enterDuration = durations && durations[0];
|
|
const leaveDuration = durations && durations[1];
|
|
const { onBeforeEnter, onEnter, onEnterCancelled, onLeave, onLeaveCancelled, onBeforeAppear = onBeforeEnter, onAppear = onEnter, onAppearCancelled = onEnterCancelled } = baseProps;
|
|
const finishEnter = (el, isAppear, done) => {
|
|
removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
|
|
removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
|
|
done && done();
|
|
};
|
|
const finishLeave = (el, done) => {
|
|
el._isLeaving = false;
|
|
removeTransitionClass(el, leaveFromClass);
|
|
removeTransitionClass(el, leaveToClass);
|
|
removeTransitionClass(el, leaveActiveClass);
|
|
done && done();
|
|
};
|
|
const makeEnterHook = (isAppear) => {
|
|
return (el, done) => {
|
|
const hook = isAppear ? onAppear : onEnter;
|
|
const resolve2 = () => finishEnter(el, isAppear, done);
|
|
callHook$1(hook, [el, resolve2]);
|
|
nextFrame(() => {
|
|
removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
|
|
if (legacyClassEnabled) {
|
|
removeTransitionClass(el, isAppear ? legacyAppearFromClass : legacyEnterFromClass);
|
|
}
|
|
addTransitionClass(el, isAppear ? appearToClass : enterToClass);
|
|
if (!hasExplicitCallback(hook)) {
|
|
whenTransitionEnds(el, type, enterDuration, resolve2);
|
|
}
|
|
});
|
|
};
|
|
};
|
|
return extend$1(baseProps, {
|
|
onBeforeEnter(el) {
|
|
callHook$1(onBeforeEnter, [el]);
|
|
addTransitionClass(el, enterFromClass);
|
|
if (legacyClassEnabled) {
|
|
addTransitionClass(el, legacyEnterFromClass);
|
|
}
|
|
addTransitionClass(el, enterActiveClass);
|
|
},
|
|
onBeforeAppear(el) {
|
|
callHook$1(onBeforeAppear, [el]);
|
|
addTransitionClass(el, appearFromClass);
|
|
if (legacyClassEnabled) {
|
|
addTransitionClass(el, legacyAppearFromClass);
|
|
}
|
|
addTransitionClass(el, appearActiveClass);
|
|
},
|
|
onEnter: makeEnterHook(false),
|
|
onAppear: makeEnterHook(true),
|
|
onLeave(el, done) {
|
|
el._isLeaving = true;
|
|
const resolve2 = () => finishLeave(el, done);
|
|
addTransitionClass(el, leaveFromClass);
|
|
if (legacyClassEnabled) {
|
|
addTransitionClass(el, legacyLeaveFromClass);
|
|
}
|
|
forceReflow();
|
|
addTransitionClass(el, leaveActiveClass);
|
|
nextFrame(() => {
|
|
if (!el._isLeaving) {
|
|
return;
|
|
}
|
|
removeTransitionClass(el, leaveFromClass);
|
|
if (legacyClassEnabled) {
|
|
removeTransitionClass(el, legacyLeaveFromClass);
|
|
}
|
|
addTransitionClass(el, leaveToClass);
|
|
if (!hasExplicitCallback(onLeave)) {
|
|
whenTransitionEnds(el, type, leaveDuration, resolve2);
|
|
}
|
|
});
|
|
callHook$1(onLeave, [el, resolve2]);
|
|
},
|
|
onEnterCancelled(el) {
|
|
finishEnter(el, false);
|
|
callHook$1(onEnterCancelled, [el]);
|
|
},
|
|
onAppearCancelled(el) {
|
|
finishEnter(el, true);
|
|
callHook$1(onAppearCancelled, [el]);
|
|
},
|
|
onLeaveCancelled(el) {
|
|
finishLeave(el);
|
|
callHook$1(onLeaveCancelled, [el]);
|
|
}
|
|
});
|
|
}
|
|
function normalizeDuration(duration) {
|
|
if (duration == null) {
|
|
return null;
|
|
} else if (isObject$4(duration)) {
|
|
return [NumberOf(duration.enter), NumberOf(duration.leave)];
|
|
} else {
|
|
const n2 = NumberOf(duration);
|
|
return [n2, n2];
|
|
}
|
|
}
|
|
function NumberOf(val) {
|
|
const res = toNumber(val);
|
|
return res;
|
|
}
|
|
function addTransitionClass(el, cls) {
|
|
cls.split(/\s+/).forEach((c2) => c2 && el.classList.add(c2));
|
|
(el._vtc || (el._vtc = /* @__PURE__ */ new Set())).add(cls);
|
|
}
|
|
function removeTransitionClass(el, cls) {
|
|
cls.split(/\s+/).forEach((c2) => c2 && el.classList.remove(c2));
|
|
const { _vtc } = el;
|
|
if (_vtc) {
|
|
_vtc.delete(cls);
|
|
if (!_vtc.size) {
|
|
el._vtc = void 0;
|
|
}
|
|
}
|
|
}
|
|
function nextFrame(cb) {
|
|
requestAnimationFrame(() => {
|
|
requestAnimationFrame(cb);
|
|
});
|
|
}
|
|
let endId = 0;
|
|
function whenTransitionEnds(el, expectedType, explicitTimeout, resolve2) {
|
|
const id = el._endId = ++endId;
|
|
const resolveIfNotStale = () => {
|
|
if (id === el._endId) {
|
|
resolve2();
|
|
}
|
|
};
|
|
if (explicitTimeout) {
|
|
return setTimeout(resolveIfNotStale, explicitTimeout);
|
|
}
|
|
const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
|
|
if (!type) {
|
|
return resolve2();
|
|
}
|
|
const endEvent = type + "end";
|
|
let ended = 0;
|
|
const end = () => {
|
|
el.removeEventListener(endEvent, onEnd);
|
|
resolveIfNotStale();
|
|
};
|
|
const onEnd = (e2) => {
|
|
if (e2.target === el && ++ended >= propCount) {
|
|
end();
|
|
}
|
|
};
|
|
setTimeout(() => {
|
|
if (ended < propCount) {
|
|
end();
|
|
}
|
|
}, timeout + 1);
|
|
el.addEventListener(endEvent, onEnd);
|
|
}
|
|
function getTransitionInfo(el, expectedType) {
|
|
const styles = window.getComputedStyle(el);
|
|
const getStyleProperties = (key) => (styles[key] || "").split(", ");
|
|
const transitionDelays = getStyleProperties(TRANSITION + "Delay");
|
|
const transitionDurations = getStyleProperties(TRANSITION + "Duration");
|
|
const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
|
|
const animationDelays = getStyleProperties(ANIMATION + "Delay");
|
|
const animationDurations = getStyleProperties(ANIMATION + "Duration");
|
|
const animationTimeout = getTimeout(animationDelays, animationDurations);
|
|
let type = null;
|
|
let timeout = 0;
|
|
let propCount = 0;
|
|
if (expectedType === TRANSITION) {
|
|
if (transitionTimeout > 0) {
|
|
type = TRANSITION;
|
|
timeout = transitionTimeout;
|
|
propCount = transitionDurations.length;
|
|
}
|
|
} else if (expectedType === ANIMATION) {
|
|
if (animationTimeout > 0) {
|
|
type = ANIMATION;
|
|
timeout = animationTimeout;
|
|
propCount = animationDurations.length;
|
|
}
|
|
} else {
|
|
timeout = Math.max(transitionTimeout, animationTimeout);
|
|
type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
|
|
propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
|
|
}
|
|
const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(styles[TRANSITION + "Property"]);
|
|
return {
|
|
type,
|
|
timeout,
|
|
propCount,
|
|
hasTransform
|
|
};
|
|
}
|
|
function getTimeout(delays, durations) {
|
|
while (delays.length < durations.length) {
|
|
delays = delays.concat(delays);
|
|
}
|
|
return Math.max(...durations.map((d2, i2) => toMs(d2) + toMs(delays[i2])));
|
|
}
|
|
function toMs(s2) {
|
|
return Number(s2.slice(0, -1).replace(",", ".")) * 1e3;
|
|
}
|
|
function forceReflow() {
|
|
return document.body.offsetHeight;
|
|
}
|
|
const positionMap = /* @__PURE__ */ new WeakMap();
|
|
const newPositionMap = /* @__PURE__ */ new WeakMap();
|
|
const TransitionGroupImpl = {
|
|
name: "TransitionGroup",
|
|
props: /* @__PURE__ */ extend$1({}, TransitionPropsValidators, {
|
|
tag: String,
|
|
moveClass: String
|
|
}),
|
|
setup(props, { slots }) {
|
|
const instance = getCurrentInstance();
|
|
const state2 = useTransitionState();
|
|
let prevChildren;
|
|
let children;
|
|
onUpdated(() => {
|
|
if (!prevChildren.length) {
|
|
return;
|
|
}
|
|
const moveClass = props.moveClass || `${props.name || "v"}-move`;
|
|
if (!hasCSSTransform(prevChildren[0].el, instance.vnode.el, moveClass)) {
|
|
return;
|
|
}
|
|
prevChildren.forEach(callPendingCbs);
|
|
prevChildren.forEach(recordPosition);
|
|
const movedChildren = prevChildren.filter(applyTranslation);
|
|
forceReflow();
|
|
movedChildren.forEach((c2) => {
|
|
const el = c2.el;
|
|
const style = el.style;
|
|
addTransitionClass(el, moveClass);
|
|
style.transform = style.webkitTransform = style.transitionDuration = "";
|
|
const cb = el._moveCb = (e2) => {
|
|
if (e2 && e2.target !== el) {
|
|
return;
|
|
}
|
|
if (!e2 || /transform$/.test(e2.propertyName)) {
|
|
el.removeEventListener("transitionend", cb);
|
|
el._moveCb = null;
|
|
removeTransitionClass(el, moveClass);
|
|
}
|
|
};
|
|
el.addEventListener("transitionend", cb);
|
|
});
|
|
});
|
|
return () => {
|
|
const rawProps = toRaw(props);
|
|
const cssTransitionProps = resolveTransitionProps(rawProps);
|
|
let tag = rawProps.tag || Fragment;
|
|
if (!rawProps.tag && compatUtils.checkCompatEnabled("TRANSITION_GROUP_ROOT", instance.parent)) {
|
|
tag = "span";
|
|
}
|
|
prevChildren = children;
|
|
children = slots.default ? getTransitionRawChildren(slots.default()) : [];
|
|
for (let i2 = 0; i2 < children.length; i2++) {
|
|
const child = children[i2];
|
|
if (child.key != null) {
|
|
setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state2, instance));
|
|
}
|
|
}
|
|
if (prevChildren) {
|
|
for (let i2 = 0; i2 < prevChildren.length; i2++) {
|
|
const child = prevChildren[i2];
|
|
setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state2, instance));
|
|
positionMap.set(child, child.el.getBoundingClientRect());
|
|
}
|
|
}
|
|
return createVNode(tag, null, children);
|
|
};
|
|
}
|
|
};
|
|
{
|
|
TransitionGroupImpl.__isBuiltIn = true;
|
|
}
|
|
const TransitionGroup = TransitionGroupImpl;
|
|
function callPendingCbs(c2) {
|
|
const el = c2.el;
|
|
if (el._moveCb) {
|
|
el._moveCb();
|
|
}
|
|
if (el._enterCb) {
|
|
el._enterCb();
|
|
}
|
|
}
|
|
function recordPosition(c2) {
|
|
newPositionMap.set(c2, c2.el.getBoundingClientRect());
|
|
}
|
|
function applyTranslation(c2) {
|
|
const oldPos = positionMap.get(c2);
|
|
const newPos = newPositionMap.get(c2);
|
|
const dx = oldPos.left - newPos.left;
|
|
const dy = oldPos.top - newPos.top;
|
|
if (dx || dy) {
|
|
const s2 = c2.el.style;
|
|
s2.transform = s2.webkitTransform = `translate(${dx}px,${dy}px)`;
|
|
s2.transitionDuration = "0s";
|
|
return c2;
|
|
}
|
|
}
|
|
function hasCSSTransform(el, root2, moveClass) {
|
|
const clone = el.cloneNode();
|
|
if (el._vtc) {
|
|
el._vtc.forEach((cls) => {
|
|
cls.split(/\s+/).forEach((c2) => c2 && clone.classList.remove(c2));
|
|
});
|
|
}
|
|
moveClass.split(/\s+/).forEach((c2) => c2 && clone.classList.add(c2));
|
|
clone.style.display = "none";
|
|
const container = root2.nodeType === 1 ? root2 : root2.parentNode;
|
|
container.appendChild(clone);
|
|
const { hasTransform } = getTransitionInfo(clone);
|
|
container.removeChild(clone);
|
|
return hasTransform;
|
|
}
|
|
const getModelAssigner = (vnode) => {
|
|
const fn = vnode.props["onUpdate:modelValue"] || vnode.props["onModelCompat:input"];
|
|
return isArray$8(fn) ? (value) => invokeArrayFns(fn, value) : fn;
|
|
};
|
|
function onCompositionStart(e2) {
|
|
e2.target.composing = true;
|
|
}
|
|
function onCompositionEnd(e2) {
|
|
const target = e2.target;
|
|
if (target.composing) {
|
|
target.composing = false;
|
|
target.dispatchEvent(new Event("input"));
|
|
}
|
|
}
|
|
const vModelText = {
|
|
created(el, { modifiers: { lazy, trim: trim2, number } }, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
const castToNumber = number || vnode.props && vnode.props.type === "number";
|
|
addEventListener(el, lazy ? "change" : "input", (e2) => {
|
|
if (e2.target.composing)
|
|
return;
|
|
let domValue = el.value;
|
|
if (trim2) {
|
|
domValue = domValue.trim();
|
|
}
|
|
if (castToNumber) {
|
|
domValue = toNumber(domValue);
|
|
}
|
|
el._assign(domValue);
|
|
});
|
|
if (trim2) {
|
|
addEventListener(el, "change", () => {
|
|
el.value = el.value.trim();
|
|
});
|
|
}
|
|
if (!lazy) {
|
|
addEventListener(el, "compositionstart", onCompositionStart);
|
|
addEventListener(el, "compositionend", onCompositionEnd);
|
|
addEventListener(el, "change", onCompositionEnd);
|
|
}
|
|
},
|
|
mounted(el, { value }) {
|
|
el.value = value == null ? "" : value;
|
|
},
|
|
beforeUpdate(el, { value, modifiers: { lazy, trim: trim2, number } }, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
if (el.composing)
|
|
return;
|
|
if (document.activeElement === el && el.type !== "range") {
|
|
if (lazy) {
|
|
return;
|
|
}
|
|
if (trim2 && el.value.trim() === value) {
|
|
return;
|
|
}
|
|
if ((number || el.type === "number") && toNumber(el.value) === value) {
|
|
return;
|
|
}
|
|
}
|
|
const newValue = value == null ? "" : value;
|
|
if (el.value !== newValue) {
|
|
el.value = newValue;
|
|
}
|
|
}
|
|
};
|
|
const vModelCheckbox = {
|
|
deep: true,
|
|
created(el, _, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
addEventListener(el, "change", () => {
|
|
const modelValue = el._modelValue;
|
|
const elementValue = getValue(el);
|
|
const checked = el.checked;
|
|
const assign2 = el._assign;
|
|
if (isArray$8(modelValue)) {
|
|
const index2 = looseIndexOf(modelValue, elementValue);
|
|
const found = index2 !== -1;
|
|
if (checked && !found) {
|
|
assign2(modelValue.concat(elementValue));
|
|
} else if (!checked && found) {
|
|
const filtered = [...modelValue];
|
|
filtered.splice(index2, 1);
|
|
assign2(filtered);
|
|
}
|
|
} else if (isSet$1(modelValue)) {
|
|
const cloned = new Set(modelValue);
|
|
if (checked) {
|
|
cloned.add(elementValue);
|
|
} else {
|
|
cloned.delete(elementValue);
|
|
}
|
|
assign2(cloned);
|
|
} else {
|
|
assign2(getCheckboxValue(el, checked));
|
|
}
|
|
});
|
|
},
|
|
mounted: setChecked,
|
|
beforeUpdate(el, binding, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
setChecked(el, binding, vnode);
|
|
}
|
|
};
|
|
function setChecked(el, { value, oldValue }, vnode) {
|
|
el._modelValue = value;
|
|
if (isArray$8(value)) {
|
|
el.checked = looseIndexOf(value, vnode.props.value) > -1;
|
|
} else if (isSet$1(value)) {
|
|
el.checked = value.has(vnode.props.value);
|
|
} else if (value !== oldValue) {
|
|
el.checked = looseEqual(value, getCheckboxValue(el, true));
|
|
}
|
|
}
|
|
const vModelRadio = {
|
|
created(el, { value }, vnode) {
|
|
el.checked = looseEqual(value, vnode.props.value);
|
|
el._assign = getModelAssigner(vnode);
|
|
addEventListener(el, "change", () => {
|
|
el._assign(getValue(el));
|
|
});
|
|
},
|
|
beforeUpdate(el, { value, oldValue }, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
if (value !== oldValue) {
|
|
el.checked = looseEqual(value, vnode.props.value);
|
|
}
|
|
}
|
|
};
|
|
const vModelSelect = {
|
|
deep: true,
|
|
created(el, { value, modifiers: { number } }, vnode) {
|
|
const isSetModel = isSet$1(value);
|
|
addEventListener(el, "change", () => {
|
|
const selectedVal = Array.prototype.filter.call(el.options, (o2) => o2.selected).map((o2) => number ? toNumber(getValue(o2)) : getValue(o2));
|
|
el._assign(el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]);
|
|
});
|
|
el._assign = getModelAssigner(vnode);
|
|
},
|
|
mounted(el, { value }) {
|
|
setSelected(el, value);
|
|
},
|
|
beforeUpdate(el, _binding, vnode) {
|
|
el._assign = getModelAssigner(vnode);
|
|
},
|
|
updated(el, { value }) {
|
|
setSelected(el, value);
|
|
}
|
|
};
|
|
function setSelected(el, value) {
|
|
const isMultiple = el.multiple;
|
|
if (isMultiple && !isArray$8(value) && !isSet$1(value)) {
|
|
return;
|
|
}
|
|
for (let i2 = 0, l2 = el.options.length; i2 < l2; i2++) {
|
|
const option = el.options[i2];
|
|
const optionValue = getValue(option);
|
|
if (isMultiple) {
|
|
if (isArray$8(value)) {
|
|
option.selected = looseIndexOf(value, optionValue) > -1;
|
|
} else {
|
|
option.selected = value.has(optionValue);
|
|
}
|
|
} else {
|
|
if (looseEqual(getValue(option), value)) {
|
|
if (el.selectedIndex !== i2)
|
|
el.selectedIndex = i2;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (!isMultiple && el.selectedIndex !== -1) {
|
|
el.selectedIndex = -1;
|
|
}
|
|
}
|
|
function getValue(el) {
|
|
return "_value" in el ? el._value : el.value;
|
|
}
|
|
function getCheckboxValue(el, checked) {
|
|
const key = checked ? "_trueValue" : "_falseValue";
|
|
return key in el ? el[key] : checked;
|
|
}
|
|
const vModelDynamic = {
|
|
created(el, binding, vnode) {
|
|
callModelHook(el, binding, vnode, null, "created");
|
|
},
|
|
mounted(el, binding, vnode) {
|
|
callModelHook(el, binding, vnode, null, "mounted");
|
|
},
|
|
beforeUpdate(el, binding, vnode, prevVNode) {
|
|
callModelHook(el, binding, vnode, prevVNode, "beforeUpdate");
|
|
},
|
|
updated(el, binding, vnode, prevVNode) {
|
|
callModelHook(el, binding, vnode, prevVNode, "updated");
|
|
}
|
|
};
|
|
function resolveDynamicModel(tagName, type) {
|
|
switch (tagName) {
|
|
case "SELECT":
|
|
return vModelSelect;
|
|
case "TEXTAREA":
|
|
return vModelText;
|
|
default:
|
|
switch (type) {
|
|
case "checkbox":
|
|
return vModelCheckbox;
|
|
case "radio":
|
|
return vModelRadio;
|
|
default:
|
|
return vModelText;
|
|
}
|
|
}
|
|
}
|
|
function callModelHook(el, binding, vnode, prevVNode, hook) {
|
|
const modelToUse = resolveDynamicModel(el.tagName, vnode.props && vnode.props.type);
|
|
const fn = modelToUse[hook];
|
|
fn && fn(el, binding, vnode, prevVNode);
|
|
}
|
|
function initVModelForSSR() {
|
|
vModelText.getSSRProps = ({ value }) => ({ value });
|
|
vModelRadio.getSSRProps = ({ value }, vnode) => {
|
|
if (vnode.props && looseEqual(vnode.props.value, value)) {
|
|
return { checked: true };
|
|
}
|
|
};
|
|
vModelCheckbox.getSSRProps = ({ value }, vnode) => {
|
|
if (isArray$8(value)) {
|
|
if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {
|
|
return { checked: true };
|
|
}
|
|
} else if (isSet$1(value)) {
|
|
if (vnode.props && value.has(vnode.props.value)) {
|
|
return { checked: true };
|
|
}
|
|
} else if (value) {
|
|
return { checked: true };
|
|
}
|
|
};
|
|
vModelDynamic.getSSRProps = (binding, vnode) => {
|
|
if (typeof vnode.type !== "string") {
|
|
return;
|
|
}
|
|
const modelToUse = resolveDynamicModel(
|
|
vnode.type.toUpperCase(),
|
|
vnode.props && vnode.props.type
|
|
);
|
|
if (modelToUse.getSSRProps) {
|
|
return modelToUse.getSSRProps(binding, vnode);
|
|
}
|
|
};
|
|
}
|
|
const systemModifiers = ["ctrl", "shift", "alt", "meta"];
|
|
const modifierGuards = {
|
|
stop: (e2) => e2.stopPropagation(),
|
|
prevent: (e2) => e2.preventDefault(),
|
|
self: (e2) => e2.target !== e2.currentTarget,
|
|
ctrl: (e2) => !e2.ctrlKey,
|
|
shift: (e2) => !e2.shiftKey,
|
|
alt: (e2) => !e2.altKey,
|
|
meta: (e2) => !e2.metaKey,
|
|
left: (e2) => "button" in e2 && e2.button !== 0,
|
|
middle: (e2) => "button" in e2 && e2.button !== 1,
|
|
right: (e2) => "button" in e2 && e2.button !== 2,
|
|
exact: (e2, modifiers) => systemModifiers.some((m2) => e2[`${m2}Key`] && !modifiers.includes(m2))
|
|
};
|
|
const withModifiers = (fn, modifiers) => {
|
|
return (event, ...args) => {
|
|
for (let i2 = 0; i2 < modifiers.length; i2++) {
|
|
const guard = modifierGuards[modifiers[i2]];
|
|
if (guard && guard(event, modifiers))
|
|
return;
|
|
}
|
|
return fn(event, ...args);
|
|
};
|
|
};
|
|
const keyNames = {
|
|
esc: "escape",
|
|
space: " ",
|
|
up: "arrow-up",
|
|
left: "arrow-left",
|
|
right: "arrow-right",
|
|
down: "arrow-down",
|
|
delete: "backspace"
|
|
};
|
|
const withKeys = (fn, modifiers) => {
|
|
let globalKeyCodes;
|
|
let instance = null;
|
|
{
|
|
instance = getCurrentInstance();
|
|
if (compatUtils.isCompatEnabled("CONFIG_KEY_CODES", instance)) {
|
|
if (instance) {
|
|
globalKeyCodes = instance.appContext.config.keyCodes;
|
|
}
|
|
}
|
|
}
|
|
return (event) => {
|
|
if (!("key" in event)) {
|
|
return;
|
|
}
|
|
const eventKey = hyphenate(event.key);
|
|
if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) {
|
|
return fn(event);
|
|
}
|
|
{
|
|
const keyCode = String(event.keyCode);
|
|
if (compatUtils.isCompatEnabled("V_ON_KEYCODE_MODIFIER", instance) && modifiers.some((mod) => mod == keyCode)) {
|
|
return fn(event);
|
|
}
|
|
if (globalKeyCodes) {
|
|
for (const mod of modifiers) {
|
|
const codes = globalKeyCodes[mod];
|
|
if (codes) {
|
|
const matches2 = isArray$8(codes) ? codes.some((code) => String(code) === keyCode) : String(codes) === keyCode;
|
|
if (matches2) {
|
|
return fn(event);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
const vShow = {
|
|
beforeMount(el, { value }, { transition }) {
|
|
el._vod = el.style.display === "none" ? "" : el.style.display;
|
|
if (transition && value) {
|
|
transition.beforeEnter(el);
|
|
} else {
|
|
setDisplay(el, value);
|
|
}
|
|
},
|
|
mounted(el, { value }, { transition }) {
|
|
if (transition && value) {
|
|
transition.enter(el);
|
|
}
|
|
},
|
|
updated(el, { value, oldValue }, { transition }) {
|
|
if (!value === !oldValue)
|
|
return;
|
|
if (transition) {
|
|
if (value) {
|
|
transition.beforeEnter(el);
|
|
setDisplay(el, true);
|
|
transition.enter(el);
|
|
} else {
|
|
transition.leave(el, () => {
|
|
setDisplay(el, false);
|
|
});
|
|
}
|
|
} else {
|
|
setDisplay(el, value);
|
|
}
|
|
},
|
|
beforeUnmount(el, { value }) {
|
|
setDisplay(el, value);
|
|
}
|
|
};
|
|
function setDisplay(el, value) {
|
|
el.style.display = value ? el._vod : "none";
|
|
}
|
|
function initVShowForSSR() {
|
|
vShow.getSSRProps = ({ value }) => {
|
|
if (!value) {
|
|
return { style: { display: "none" } };
|
|
}
|
|
};
|
|
}
|
|
const rendererOptions = /* @__PURE__ */ extend$1({ patchProp }, nodeOps);
|
|
let renderer;
|
|
let enabledHydration = false;
|
|
function ensureRenderer() {
|
|
return renderer || (renderer = createRenderer(rendererOptions));
|
|
}
|
|
function ensureHydrationRenderer() {
|
|
renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);
|
|
enabledHydration = true;
|
|
return renderer;
|
|
}
|
|
const render = (...args) => {
|
|
ensureRenderer().render(...args);
|
|
};
|
|
const hydrate = (...args) => {
|
|
ensureHydrationRenderer().hydrate(...args);
|
|
};
|
|
const createApp = (...args) => {
|
|
const app2 = ensureRenderer().createApp(...args);
|
|
const { mount } = app2;
|
|
app2.mount = (containerOrSelector) => {
|
|
const container = normalizeContainer(containerOrSelector);
|
|
if (!container)
|
|
return;
|
|
const component = app2._component;
|
|
if (!isFunction$3(component) && !component.render && !component.template) {
|
|
component.template = container.innerHTML;
|
|
}
|
|
container.innerHTML = "";
|
|
const proxy = mount(container, false, container instanceof SVGElement);
|
|
if (container instanceof Element) {
|
|
container.removeAttribute("v-cloak");
|
|
container.setAttribute("data-v-app", "");
|
|
}
|
|
return proxy;
|
|
};
|
|
return app2;
|
|
};
|
|
const createSSRApp = (...args) => {
|
|
const app2 = ensureHydrationRenderer().createApp(...args);
|
|
const { mount } = app2;
|
|
app2.mount = (containerOrSelector) => {
|
|
const container = normalizeContainer(containerOrSelector);
|
|
if (container) {
|
|
return mount(container, true, container instanceof SVGElement);
|
|
}
|
|
};
|
|
return app2;
|
|
};
|
|
function normalizeContainer(container) {
|
|
if (isString$2(container)) {
|
|
const res = document.querySelector(container);
|
|
return res;
|
|
}
|
|
return container;
|
|
}
|
|
let ssrDirectiveInitialized = false;
|
|
const initDirectivesForSSR = () => {
|
|
if (!ssrDirectiveInitialized) {
|
|
ssrDirectiveInitialized = true;
|
|
initVModelForSSR();
|
|
initVShowForSSR();
|
|
}
|
|
};
|
|
var runtimeDom = /* @__PURE__ */ Object.freeze({
|
|
__proto__: null,
|
|
render,
|
|
hydrate,
|
|
createApp,
|
|
createSSRApp,
|
|
initDirectivesForSSR,
|
|
defineCustomElement,
|
|
defineSSRCustomElement,
|
|
VueElement,
|
|
useCssModule,
|
|
useCssVars,
|
|
Transition,
|
|
TransitionGroup,
|
|
vModelText,
|
|
vModelCheckbox,
|
|
vModelRadio,
|
|
vModelSelect,
|
|
vModelDynamic,
|
|
withModifiers,
|
|
withKeys,
|
|
vShow,
|
|
reactive,
|
|
ref,
|
|
readonly,
|
|
unref,
|
|
proxyRefs,
|
|
isRef,
|
|
toRef,
|
|
toRefs,
|
|
isProxy,
|
|
isReactive,
|
|
isReadonly,
|
|
isShallow,
|
|
customRef,
|
|
triggerRef,
|
|
shallowRef,
|
|
shallowReactive,
|
|
shallowReadonly,
|
|
markRaw,
|
|
toRaw,
|
|
effect,
|
|
stop,
|
|
ReactiveEffect,
|
|
effectScope,
|
|
EffectScope,
|
|
getCurrentScope,
|
|
onScopeDispose,
|
|
computed: computed$1,
|
|
watch,
|
|
watchEffect,
|
|
watchPostEffect,
|
|
watchSyncEffect,
|
|
onBeforeMount,
|
|
onMounted,
|
|
onBeforeUpdate,
|
|
onUpdated,
|
|
onBeforeUnmount,
|
|
onUnmounted,
|
|
onActivated,
|
|
onDeactivated,
|
|
onRenderTracked,
|
|
onRenderTriggered,
|
|
onErrorCaptured,
|
|
onServerPrefetch,
|
|
provide,
|
|
inject,
|
|
nextTick,
|
|
defineComponent,
|
|
defineAsyncComponent,
|
|
useAttrs,
|
|
useSlots,
|
|
defineProps,
|
|
defineEmits,
|
|
defineExpose,
|
|
withDefaults,
|
|
mergeDefaults,
|
|
createPropsRestProxy,
|
|
withAsyncContext,
|
|
getCurrentInstance,
|
|
h: h$2,
|
|
createVNode,
|
|
cloneVNode,
|
|
mergeProps,
|
|
isVNode,
|
|
Fragment,
|
|
Text,
|
|
Comment,
|
|
Static,
|
|
Teleport,
|
|
Suspense,
|
|
KeepAlive,
|
|
BaseTransition,
|
|
withDirectives,
|
|
useSSRContext,
|
|
ssrContextKey,
|
|
createRenderer,
|
|
createHydrationRenderer,
|
|
queuePostFlushCb,
|
|
warn: warn$1,
|
|
handleError,
|
|
callWithErrorHandling,
|
|
callWithAsyncErrorHandling,
|
|
resolveComponent,
|
|
resolveDirective,
|
|
resolveDynamicComponent,
|
|
registerRuntimeCompiler,
|
|
isRuntimeOnly,
|
|
useTransitionState,
|
|
resolveTransitionHooks,
|
|
setTransitionHooks,
|
|
getTransitionRawChildren,
|
|
initCustomFormatter,
|
|
get devtools() {
|
|
return devtools;
|
|
},
|
|
setDevtoolsHook,
|
|
withCtx,
|
|
pushScopeId,
|
|
popScopeId,
|
|
withScopeId,
|
|
renderList,
|
|
toHandlers,
|
|
renderSlot,
|
|
createSlots,
|
|
withMemo,
|
|
isMemoSame,
|
|
openBlock,
|
|
createBlock,
|
|
setBlockTracking,
|
|
createTextVNode,
|
|
createCommentVNode,
|
|
createStaticVNode,
|
|
createElementVNode: createBaseVNode,
|
|
createElementBlock,
|
|
guardReactiveProps,
|
|
toDisplayString,
|
|
camelize,
|
|
capitalize,
|
|
toHandlerKey,
|
|
normalizeProps,
|
|
normalizeClass,
|
|
normalizeStyle,
|
|
transformVNodeArgs,
|
|
version: version$1,
|
|
ssrUtils,
|
|
resolveFilter: resolveFilter$1,
|
|
compatUtils
|
|
});
|
|
function wrappedCreateApp(...args) {
|
|
const app2 = createApp(...args);
|
|
if (compatUtils.isCompatEnabled("RENDER_FUNCTION", null)) {
|
|
app2.component("__compat__transition", Transition);
|
|
app2.component("__compat__transition-group", TransitionGroup);
|
|
app2.component("__compat__keep-alive", KeepAlive);
|
|
app2._context.directives.show = vShow;
|
|
app2._context.directives.model = vModelDynamic;
|
|
}
|
|
return app2;
|
|
}
|
|
function createCompatVue$1() {
|
|
const Vue2 = compatUtils.createCompatVue(createApp, wrappedCreateApp);
|
|
extend$1(Vue2, runtimeDom);
|
|
return Vue2;
|
|
}
|
|
const Vue = createCompatVue$1();
|
|
Vue.compile = () => {
|
|
};
|
|
const { configureCompat: configureCompat$1 } = Vue;
|
|
const vue_runtime_esmBundler = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
__proto__: null,
|
|
default: Vue,
|
|
BaseTransition,
|
|
Comment,
|
|
EffectScope,
|
|
Fragment,
|
|
KeepAlive,
|
|
ReactiveEffect,
|
|
Static,
|
|
Suspense,
|
|
Teleport,
|
|
Text,
|
|
Transition,
|
|
TransitionGroup,
|
|
VueElement,
|
|
callWithAsyncErrorHandling,
|
|
callWithErrorHandling,
|
|
camelize,
|
|
capitalize,
|
|
cloneVNode,
|
|
compatUtils,
|
|
computed: computed$1,
|
|
configureCompat: configureCompat$1,
|
|
createApp,
|
|
createBlock,
|
|
createCommentVNode,
|
|
createElementBlock,
|
|
createElementVNode: createBaseVNode,
|
|
createHydrationRenderer,
|
|
createPropsRestProxy,
|
|
createRenderer,
|
|
createSSRApp,
|
|
createSlots,
|
|
createStaticVNode,
|
|
createTextVNode,
|
|
createVNode,
|
|
customRef,
|
|
defineAsyncComponent,
|
|
defineComponent,
|
|
defineCustomElement,
|
|
defineEmits,
|
|
defineExpose,
|
|
defineProps,
|
|
defineSSRCustomElement,
|
|
get devtools() {
|
|
return devtools;
|
|
},
|
|
effect,
|
|
effectScope,
|
|
getCurrentInstance,
|
|
getCurrentScope,
|
|
getTransitionRawChildren,
|
|
guardReactiveProps,
|
|
h: h$2,
|
|
handleError,
|
|
hydrate,
|
|
initCustomFormatter,
|
|
initDirectivesForSSR,
|
|
inject,
|
|
isMemoSame,
|
|
isProxy,
|
|
isReactive,
|
|
isReadonly,
|
|
isRef,
|
|
isRuntimeOnly,
|
|
isShallow,
|
|
isVNode,
|
|
markRaw,
|
|
mergeDefaults,
|
|
mergeProps,
|
|
nextTick,
|
|
normalizeClass,
|
|
normalizeProps,
|
|
normalizeStyle,
|
|
onActivated,
|
|
onBeforeMount,
|
|
onBeforeUnmount,
|
|
onBeforeUpdate,
|
|
onDeactivated,
|
|
onErrorCaptured,
|
|
onMounted,
|
|
onRenderTracked,
|
|
onRenderTriggered,
|
|
onScopeDispose,
|
|
onServerPrefetch,
|
|
onUnmounted,
|
|
onUpdated,
|
|
openBlock,
|
|
popScopeId,
|
|
provide,
|
|
proxyRefs,
|
|
pushScopeId,
|
|
queuePostFlushCb,
|
|
reactive,
|
|
readonly,
|
|
ref,
|
|
registerRuntimeCompiler,
|
|
render,
|
|
renderList,
|
|
renderSlot,
|
|
resolveComponent,
|
|
resolveDirective,
|
|
resolveDynamicComponent,
|
|
resolveFilter: resolveFilter$1,
|
|
resolveTransitionHooks,
|
|
setBlockTracking,
|
|
setDevtoolsHook,
|
|
setTransitionHooks,
|
|
shallowReactive,
|
|
shallowReadonly,
|
|
shallowRef,
|
|
ssrContextKey,
|
|
ssrUtils,
|
|
stop,
|
|
toDisplayString,
|
|
toHandlerKey,
|
|
toHandlers,
|
|
toRaw,
|
|
toRef,
|
|
toRefs,
|
|
transformVNodeArgs,
|
|
triggerRef,
|
|
unref,
|
|
useAttrs,
|
|
useCssModule,
|
|
useCssVars,
|
|
useSSRContext,
|
|
useSlots,
|
|
useTransitionState,
|
|
vModelCheckbox,
|
|
vModelDynamic,
|
|
vModelRadio,
|
|
vModelSelect,
|
|
vModelText,
|
|
vShow,
|
|
version: version$1,
|
|
warn: warn$1,
|
|
watch,
|
|
watchEffect,
|
|
watchPostEffect,
|
|
watchSyncEffect,
|
|
withAsyncContext,
|
|
withCtx,
|
|
withDefaults,
|
|
withDirectives,
|
|
withKeys,
|
|
withMemo,
|
|
withModifiers,
|
|
withScopeId
|
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
const require$$1 = /* @__PURE__ */ getAugmentedNamespace(vue_runtime_esmBundler);
|
|
var lodash_clonedeep = { exports: {} };
|
|
(function(module, exports) {
|
|
var LARGE_ARRAY_SIZE = 200;
|
|
var HASH_UNDEFINED = "__lodash_hash_undefined__";
|
|
var MAX_SAFE_INTEGER2 = 9007199254740991;
|
|
var argsTag2 = "[object Arguments]", arrayTag2 = "[object Array]", boolTag2 = "[object Boolean]", dateTag2 = "[object Date]", errorTag2 = "[object Error]", funcTag2 = "[object Function]", genTag2 = "[object GeneratorFunction]", mapTag2 = "[object Map]", numberTag2 = "[object Number]", objectTag2 = "[object Object]", promiseTag = "[object Promise]", regexpTag2 = "[object RegExp]", setTag2 = "[object Set]", stringTag2 = "[object String]", symbolTag = "[object Symbol]", weakMapTag2 = "[object WeakMap]";
|
|
var arrayBufferTag2 = "[object ArrayBuffer]", dataViewTag2 = "[object DataView]", float32Tag2 = "[object Float32Array]", float64Tag2 = "[object Float64Array]", int8Tag2 = "[object Int8Array]", int16Tag2 = "[object Int16Array]", int32Tag2 = "[object Int32Array]", uint8Tag2 = "[object Uint8Array]", uint8ClampedTag2 = "[object Uint8ClampedArray]", uint16Tag2 = "[object Uint16Array]", uint32Tag2 = "[object Uint32Array]";
|
|
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
var reFlags = /\w*$/;
|
|
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
var reIsUint2 = /^(?:0|[1-9]\d*)$/;
|
|
var cloneableTags = {};
|
|
cloneableTags[argsTag2] = cloneableTags[arrayTag2] = cloneableTags[arrayBufferTag2] = cloneableTags[dataViewTag2] = cloneableTags[boolTag2] = cloneableTags[dateTag2] = cloneableTags[float32Tag2] = cloneableTags[float64Tag2] = cloneableTags[int8Tag2] = cloneableTags[int16Tag2] = cloneableTags[int32Tag2] = cloneableTags[mapTag2] = cloneableTags[numberTag2] = cloneableTags[objectTag2] = cloneableTags[regexpTag2] = cloneableTags[setTag2] = cloneableTags[stringTag2] = cloneableTags[symbolTag] = cloneableTags[uint8Tag2] = cloneableTags[uint8ClampedTag2] = cloneableTags[uint16Tag2] = cloneableTags[uint32Tag2] = true;
|
|
cloneableTags[errorTag2] = cloneableTags[funcTag2] = cloneableTags[weakMapTag2] = false;
|
|
var freeGlobal2 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
var freeSelf2 = typeof self == "object" && self && self.Object === Object && self;
|
|
var root2 = freeGlobal2 || freeSelf2 || Function("return this")();
|
|
var freeExports = exports && !exports.nodeType && exports;
|
|
var freeModule = freeExports && true && module && !module.nodeType && module;
|
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
function addMapEntry(map, pair) {
|
|
map.set(pair[0], pair[1]);
|
|
return map;
|
|
}
|
|
function addSetEntry(set2, value) {
|
|
set2.add(value);
|
|
return set2;
|
|
}
|
|
function arrayEach2(array, iteratee) {
|
|
var index2 = -1, length = array ? array.length : 0;
|
|
while (++index2 < length) {
|
|
if (iteratee(array[index2], index2, array) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
function arrayPush(array, values) {
|
|
var index2 = -1, length = values.length, offset = array.length;
|
|
while (++index2 < length) {
|
|
array[offset + index2] = values[index2];
|
|
}
|
|
return array;
|
|
}
|
|
function arrayReduce(array, iteratee, accumulator, initAccum) {
|
|
var index2 = -1, length = array ? array.length : 0;
|
|
if (initAccum && length) {
|
|
accumulator = array[++index2];
|
|
}
|
|
while (++index2 < length) {
|
|
accumulator = iteratee(accumulator, array[index2], index2, array);
|
|
}
|
|
return accumulator;
|
|
}
|
|
function baseTimes2(n2, iteratee) {
|
|
var index2 = -1, result = Array(n2);
|
|
while (++index2 < n2) {
|
|
result[index2] = iteratee(index2);
|
|
}
|
|
return result;
|
|
}
|
|
function getValue2(object, key) {
|
|
return object == null ? void 0 : object[key];
|
|
}
|
|
function isHostObject(value) {
|
|
var result = false;
|
|
if (value != null && typeof value.toString != "function") {
|
|
try {
|
|
result = !!(value + "");
|
|
} catch (e2) {
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function mapToArray(map) {
|
|
var index2 = -1, result = Array(map.size);
|
|
map.forEach(function(value, key) {
|
|
result[++index2] = [key, value];
|
|
});
|
|
return result;
|
|
}
|
|
function overArg2(func, transform) {
|
|
return function(arg) {
|
|
return func(transform(arg));
|
|
};
|
|
}
|
|
function setToArray(set2) {
|
|
var index2 = -1, result = Array(set2.size);
|
|
set2.forEach(function(value) {
|
|
result[++index2] = value;
|
|
});
|
|
return result;
|
|
}
|
|
var arrayProto = Array.prototype, funcProto = Function.prototype, objectProto2 = Object.prototype;
|
|
var coreJsData = root2["__core-js_shared__"];
|
|
var maskSrcKey = function() {
|
|
var uid2 = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
|
|
return uid2 ? "Symbol(src)_1." + uid2 : "";
|
|
}();
|
|
var funcToString = funcProto.toString;
|
|
var hasOwnProperty2 = objectProto2.hasOwnProperty;
|
|
var objectToString2 = objectProto2.toString;
|
|
var reIsNative = RegExp(
|
|
"^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
);
|
|
var Buffer = moduleExports ? root2.Buffer : void 0, Symbol2 = root2.Symbol, Uint8Array2 = root2.Uint8Array, getPrototype = overArg2(Object.getPrototypeOf, Object), objectCreate = Object.create, propertyIsEnumerable2 = objectProto2.propertyIsEnumerable, splice = arrayProto.splice;
|
|
var nativeGetSymbols = Object.getOwnPropertySymbols, nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0, nativeKeys2 = overArg2(Object.keys, Object);
|
|
var DataView2 = getNative(root2, "DataView"), Map2 = getNative(root2, "Map"), Promise2 = getNative(root2, "Promise"), Set2 = getNative(root2, "Set"), WeakMap2 = getNative(root2, "WeakMap"), nativeCreate = getNative(Object, "create");
|
|
var dataViewCtorString = toSource(DataView2), mapCtorString = toSource(Map2), promiseCtorString = toSource(Promise2), setCtorString = toSource(Set2), weakMapCtorString = toSource(WeakMap2);
|
|
var symbolProto = Symbol2 ? Symbol2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
|
|
function Hash(entries) {
|
|
var index2 = -1, length = entries ? entries.length : 0;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function hashClear() {
|
|
this.__data__ = nativeCreate ? nativeCreate(null) : {};
|
|
}
|
|
function hashDelete(key) {
|
|
return this.has(key) && delete this.__data__[key];
|
|
}
|
|
function hashGet(key) {
|
|
var data = this.__data__;
|
|
if (nativeCreate) {
|
|
var result = data[key];
|
|
return result === HASH_UNDEFINED ? void 0 : result;
|
|
}
|
|
return hasOwnProperty2.call(data, key) ? data[key] : void 0;
|
|
}
|
|
function hashHas(key) {
|
|
var data = this.__data__;
|
|
return nativeCreate ? data[key] !== void 0 : hasOwnProperty2.call(data, key);
|
|
}
|
|
function hashSet(key, value) {
|
|
var data = this.__data__;
|
|
data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
|
|
return this;
|
|
}
|
|
Hash.prototype.clear = hashClear;
|
|
Hash.prototype["delete"] = hashDelete;
|
|
Hash.prototype.get = hashGet;
|
|
Hash.prototype.has = hashHas;
|
|
Hash.prototype.set = hashSet;
|
|
function ListCache(entries) {
|
|
var index2 = -1, length = entries ? entries.length : 0;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function listCacheClear() {
|
|
this.__data__ = [];
|
|
}
|
|
function listCacheDelete(key) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
if (index2 < 0) {
|
|
return false;
|
|
}
|
|
var lastIndex = data.length - 1;
|
|
if (index2 == lastIndex) {
|
|
data.pop();
|
|
} else {
|
|
splice.call(data, index2, 1);
|
|
}
|
|
return true;
|
|
}
|
|
function listCacheGet(key) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
return index2 < 0 ? void 0 : data[index2][1];
|
|
}
|
|
function listCacheHas(key) {
|
|
return assocIndexOf(this.__data__, key) > -1;
|
|
}
|
|
function listCacheSet(key, value) {
|
|
var data = this.__data__, index2 = assocIndexOf(data, key);
|
|
if (index2 < 0) {
|
|
data.push([key, value]);
|
|
} else {
|
|
data[index2][1] = value;
|
|
}
|
|
return this;
|
|
}
|
|
ListCache.prototype.clear = listCacheClear;
|
|
ListCache.prototype["delete"] = listCacheDelete;
|
|
ListCache.prototype.get = listCacheGet;
|
|
ListCache.prototype.has = listCacheHas;
|
|
ListCache.prototype.set = listCacheSet;
|
|
function MapCache(entries) {
|
|
var index2 = -1, length = entries ? entries.length : 0;
|
|
this.clear();
|
|
while (++index2 < length) {
|
|
var entry = entries[index2];
|
|
this.set(entry[0], entry[1]);
|
|
}
|
|
}
|
|
function mapCacheClear() {
|
|
this.__data__ = {
|
|
"hash": new Hash(),
|
|
"map": new (Map2 || ListCache)(),
|
|
"string": new Hash()
|
|
};
|
|
}
|
|
function mapCacheDelete(key) {
|
|
return getMapData(this, key)["delete"](key);
|
|
}
|
|
function mapCacheGet(key) {
|
|
return getMapData(this, key).get(key);
|
|
}
|
|
function mapCacheHas(key) {
|
|
return getMapData(this, key).has(key);
|
|
}
|
|
function mapCacheSet(key, value) {
|
|
getMapData(this, key).set(key, value);
|
|
return this;
|
|
}
|
|
MapCache.prototype.clear = mapCacheClear;
|
|
MapCache.prototype["delete"] = mapCacheDelete;
|
|
MapCache.prototype.get = mapCacheGet;
|
|
MapCache.prototype.has = mapCacheHas;
|
|
MapCache.prototype.set = mapCacheSet;
|
|
function Stack(entries) {
|
|
this.__data__ = new ListCache(entries);
|
|
}
|
|
function stackClear() {
|
|
this.__data__ = new ListCache();
|
|
}
|
|
function stackDelete(key) {
|
|
return this.__data__["delete"](key);
|
|
}
|
|
function stackGet(key) {
|
|
return this.__data__.get(key);
|
|
}
|
|
function stackHas(key) {
|
|
return this.__data__.has(key);
|
|
}
|
|
function stackSet(key, value) {
|
|
var cache = this.__data__;
|
|
if (cache instanceof ListCache) {
|
|
var pairs = cache.__data__;
|
|
if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
|
|
pairs.push([key, value]);
|
|
return this;
|
|
}
|
|
cache = this.__data__ = new MapCache(pairs);
|
|
}
|
|
cache.set(key, value);
|
|
return this;
|
|
}
|
|
Stack.prototype.clear = stackClear;
|
|
Stack.prototype["delete"] = stackDelete;
|
|
Stack.prototype.get = stackGet;
|
|
Stack.prototype.has = stackHas;
|
|
Stack.prototype.set = stackSet;
|
|
function arrayLikeKeys2(value, inherited) {
|
|
var result = isArray2(value) || isArguments2(value) ? baseTimes2(value.length, String) : [];
|
|
var length = result.length, skipIndexes = !!length;
|
|
for (var key in value) {
|
|
if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && (key == "length" || isIndex2(key, length)))) {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function assignValue(object, key, value) {
|
|
var objValue = object[key];
|
|
if (!(hasOwnProperty2.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
|
|
object[key] = value;
|
|
}
|
|
}
|
|
function assocIndexOf(array, key) {
|
|
var length = array.length;
|
|
while (length--) {
|
|
if (eq(array[length][0], key)) {
|
|
return length;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function baseAssign(object, source) {
|
|
return object && copyObject(source, keys2(source), object);
|
|
}
|
|
function baseClone(value, isDeep, isFull, customizer, key, object, stack2) {
|
|
var result;
|
|
if (customizer) {
|
|
result = object ? customizer(value, key, object, stack2) : customizer(value);
|
|
}
|
|
if (result !== void 0) {
|
|
return result;
|
|
}
|
|
if (!isObject2(value)) {
|
|
return value;
|
|
}
|
|
var isArr = isArray2(value);
|
|
if (isArr) {
|
|
result = initCloneArray(value);
|
|
if (!isDeep) {
|
|
return copyArray(value, result);
|
|
}
|
|
} else {
|
|
var tag = getTag(value), isFunc = tag == funcTag2 || tag == genTag2;
|
|
if (isBuffer3(value)) {
|
|
return cloneBuffer(value, isDeep);
|
|
}
|
|
if (tag == objectTag2 || tag == argsTag2 || isFunc && !object) {
|
|
if (isHostObject(value)) {
|
|
return object ? value : {};
|
|
}
|
|
result = initCloneObject(isFunc ? {} : value);
|
|
if (!isDeep) {
|
|
return copySymbols(value, baseAssign(result, value));
|
|
}
|
|
} else {
|
|
if (!cloneableTags[tag]) {
|
|
return object ? value : {};
|
|
}
|
|
result = initCloneByTag(value, tag, baseClone, isDeep);
|
|
}
|
|
}
|
|
stack2 || (stack2 = new Stack());
|
|
var stacked = stack2.get(value);
|
|
if (stacked) {
|
|
return stacked;
|
|
}
|
|
stack2.set(value, result);
|
|
if (!isArr) {
|
|
var props = isFull ? getAllKeys(value) : keys2(value);
|
|
}
|
|
arrayEach2(props || value, function(subValue, key2) {
|
|
if (props) {
|
|
key2 = subValue;
|
|
subValue = value[key2];
|
|
}
|
|
assignValue(result, key2, baseClone(subValue, isDeep, isFull, customizer, key2, value, stack2));
|
|
});
|
|
return result;
|
|
}
|
|
function baseCreate(proto) {
|
|
return isObject2(proto) ? objectCreate(proto) : {};
|
|
}
|
|
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
|
|
var result = keysFunc(object);
|
|
return isArray2(object) ? result : arrayPush(result, symbolsFunc(object));
|
|
}
|
|
function baseGetTag2(value) {
|
|
return objectToString2.call(value);
|
|
}
|
|
function baseIsNative(value) {
|
|
if (!isObject2(value) || isMasked(value)) {
|
|
return false;
|
|
}
|
|
var pattern = isFunction2(value) || isHostObject(value) ? reIsNative : reIsHostCtor;
|
|
return pattern.test(toSource(value));
|
|
}
|
|
function baseKeys2(object) {
|
|
if (!isPrototype2(object)) {
|
|
return nativeKeys2(object);
|
|
}
|
|
var result = [];
|
|
for (var key in Object(object)) {
|
|
if (hasOwnProperty2.call(object, key) && key != "constructor") {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function cloneBuffer(buffer2, isDeep) {
|
|
if (isDeep) {
|
|
return buffer2.slice();
|
|
}
|
|
var result = new buffer2.constructor(buffer2.length);
|
|
buffer2.copy(result);
|
|
return result;
|
|
}
|
|
function cloneArrayBuffer(arrayBuffer) {
|
|
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
new Uint8Array2(result).set(new Uint8Array2(arrayBuffer));
|
|
return result;
|
|
}
|
|
function cloneDataView(dataView, isDeep) {
|
|
var buffer2 = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
|
|
return new dataView.constructor(buffer2, dataView.byteOffset, dataView.byteLength);
|
|
}
|
|
function cloneMap(map, isDeep, cloneFunc) {
|
|
var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);
|
|
return arrayReduce(array, addMapEntry, new map.constructor());
|
|
}
|
|
function cloneRegExp(regexp) {
|
|
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
|
|
result.lastIndex = regexp.lastIndex;
|
|
return result;
|
|
}
|
|
function cloneSet(set2, isDeep, cloneFunc) {
|
|
var array = isDeep ? cloneFunc(setToArray(set2), true) : setToArray(set2);
|
|
return arrayReduce(array, addSetEntry, new set2.constructor());
|
|
}
|
|
function cloneSymbol(symbol) {
|
|
return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
|
|
}
|
|
function cloneTypedArray(typedArray, isDeep) {
|
|
var buffer2 = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
|
|
return new typedArray.constructor(buffer2, typedArray.byteOffset, typedArray.length);
|
|
}
|
|
function copyArray(source, array) {
|
|
var index2 = -1, length = source.length;
|
|
array || (array = Array(length));
|
|
while (++index2 < length) {
|
|
array[index2] = source[index2];
|
|
}
|
|
return array;
|
|
}
|
|
function copyObject(source, props, object, customizer) {
|
|
object || (object = {});
|
|
var index2 = -1, length = props.length;
|
|
while (++index2 < length) {
|
|
var key = props[index2];
|
|
var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
|
|
assignValue(object, key, newValue === void 0 ? source[key] : newValue);
|
|
}
|
|
return object;
|
|
}
|
|
function copySymbols(source, object) {
|
|
return copyObject(source, getSymbols(source), object);
|
|
}
|
|
function getAllKeys(object) {
|
|
return baseGetAllKeys(object, keys2, getSymbols);
|
|
}
|
|
function getMapData(map, key) {
|
|
var data = map.__data__;
|
|
return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
|
|
}
|
|
function getNative(object, key) {
|
|
var value = getValue2(object, key);
|
|
return baseIsNative(value) ? value : void 0;
|
|
}
|
|
var getSymbols = nativeGetSymbols ? overArg2(nativeGetSymbols, Object) : stubArray;
|
|
var getTag = baseGetTag2;
|
|
if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag2 || Map2 && getTag(new Map2()) != mapTag2 || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag2 || WeakMap2 && getTag(new WeakMap2()) != weakMapTag2) {
|
|
getTag = function(value) {
|
|
var result = objectToString2.call(value), Ctor = result == objectTag2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : void 0;
|
|
if (ctorString) {
|
|
switch (ctorString) {
|
|
case dataViewCtorString:
|
|
return dataViewTag2;
|
|
case mapCtorString:
|
|
return mapTag2;
|
|
case promiseCtorString:
|
|
return promiseTag;
|
|
case setCtorString:
|
|
return setTag2;
|
|
case weakMapCtorString:
|
|
return weakMapTag2;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function initCloneArray(array) {
|
|
var length = array.length, result = array.constructor(length);
|
|
if (length && typeof array[0] == "string" && hasOwnProperty2.call(array, "index")) {
|
|
result.index = array.index;
|
|
result.input = array.input;
|
|
}
|
|
return result;
|
|
}
|
|
function initCloneObject(object) {
|
|
return typeof object.constructor == "function" && !isPrototype2(object) ? baseCreate(getPrototype(object)) : {};
|
|
}
|
|
function initCloneByTag(object, tag, cloneFunc, isDeep) {
|
|
var Ctor = object.constructor;
|
|
switch (tag) {
|
|
case arrayBufferTag2:
|
|
return cloneArrayBuffer(object);
|
|
case boolTag2:
|
|
case dateTag2:
|
|
return new Ctor(+object);
|
|
case dataViewTag2:
|
|
return cloneDataView(object, isDeep);
|
|
case float32Tag2:
|
|
case float64Tag2:
|
|
case int8Tag2:
|
|
case int16Tag2:
|
|
case int32Tag2:
|
|
case uint8Tag2:
|
|
case uint8ClampedTag2:
|
|
case uint16Tag2:
|
|
case uint32Tag2:
|
|
return cloneTypedArray(object, isDeep);
|
|
case mapTag2:
|
|
return cloneMap(object, isDeep, cloneFunc);
|
|
case numberTag2:
|
|
case stringTag2:
|
|
return new Ctor(object);
|
|
case regexpTag2:
|
|
return cloneRegExp(object);
|
|
case setTag2:
|
|
return cloneSet(object, isDeep, cloneFunc);
|
|
case symbolTag:
|
|
return cloneSymbol(object);
|
|
}
|
|
}
|
|
function isIndex2(value, length) {
|
|
length = length == null ? MAX_SAFE_INTEGER2 : length;
|
|
return !!length && (typeof value == "number" || reIsUint2.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
}
|
|
function isKeyable(value) {
|
|
var type = typeof value;
|
|
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
|
|
}
|
|
function isMasked(func) {
|
|
return !!maskSrcKey && maskSrcKey in func;
|
|
}
|
|
function isPrototype2(value) {
|
|
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto2;
|
|
return value === proto;
|
|
}
|
|
function toSource(func) {
|
|
if (func != null) {
|
|
try {
|
|
return funcToString.call(func);
|
|
} catch (e2) {
|
|
}
|
|
try {
|
|
return func + "";
|
|
} catch (e2) {
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
function cloneDeep(value) {
|
|
return baseClone(value, true, true);
|
|
}
|
|
function eq(value, other) {
|
|
return value === other || value !== value && other !== other;
|
|
}
|
|
function isArguments2(value) {
|
|
return isArrayLikeObject(value) && hasOwnProperty2.call(value, "callee") && (!propertyIsEnumerable2.call(value, "callee") || objectToString2.call(value) == argsTag2);
|
|
}
|
|
var isArray2 = Array.isArray;
|
|
function isArrayLike2(value) {
|
|
return value != null && isLength2(value.length) && !isFunction2(value);
|
|
}
|
|
function isArrayLikeObject(value) {
|
|
return isObjectLike2(value) && isArrayLike2(value);
|
|
}
|
|
var isBuffer3 = nativeIsBuffer || stubFalse2;
|
|
function isFunction2(value) {
|
|
var tag = isObject2(value) ? objectToString2.call(value) : "";
|
|
return tag == funcTag2 || tag == genTag2;
|
|
}
|
|
function isLength2(value) {
|
|
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
|
|
}
|
|
function isObject2(value) {
|
|
var type = typeof value;
|
|
return !!value && (type == "object" || type == "function");
|
|
}
|
|
function isObjectLike2(value) {
|
|
return !!value && typeof value == "object";
|
|
}
|
|
function keys2(object) {
|
|
return isArrayLike2(object) ? arrayLikeKeys2(object) : baseKeys2(object);
|
|
}
|
|
function stubArray() {
|
|
return [];
|
|
}
|
|
function stubFalse2() {
|
|
return false;
|
|
}
|
|
module.exports = cloneDeep;
|
|
})(lodash_clonedeep, lodash_clonedeep.exports);
|
|
var dist = {};
|
|
var axios$3 = { exports: {} };
|
|
var axios$2 = { exports: {} };
|
|
var bind$4 = function bind(fn, thisArg) {
|
|
return function wrap() {
|
|
var args = new Array(arguments.length);
|
|
for (var i2 = 0; i2 < args.length; i2++) {
|
|
args[i2] = arguments[i2];
|
|
}
|
|
return fn.apply(thisArg, args);
|
|
};
|
|
};
|
|
var bind$3 = bind$4;
|
|
var toString = Object.prototype.toString;
|
|
function isArray$7(val) {
|
|
return toString.call(val) === "[object Array]";
|
|
}
|
|
function isUndefined(val) {
|
|
return typeof val === "undefined";
|
|
}
|
|
function isBuffer$3(val) {
|
|
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === "function" && val.constructor.isBuffer(val);
|
|
}
|
|
function isArrayBuffer(val) {
|
|
return toString.call(val) === "[object ArrayBuffer]";
|
|
}
|
|
function isFormData(val) {
|
|
return typeof FormData !== "undefined" && val instanceof FormData;
|
|
}
|
|
function isArrayBufferView(val) {
|
|
var result;
|
|
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
|
|
result = ArrayBuffer.isView(val);
|
|
} else {
|
|
result = val && val.buffer && val.buffer instanceof ArrayBuffer;
|
|
}
|
|
return result;
|
|
}
|
|
function isString$1(val) {
|
|
return typeof val === "string";
|
|
}
|
|
function isNumber$1(val) {
|
|
return typeof val === "number";
|
|
}
|
|
function isObject$3(val) {
|
|
return val !== null && typeof val === "object";
|
|
}
|
|
function isPlainObject(val) {
|
|
if (toString.call(val) !== "[object Object]") {
|
|
return false;
|
|
}
|
|
var prototype = Object.getPrototypeOf(val);
|
|
return prototype === null || prototype === Object.prototype;
|
|
}
|
|
function isDate$1(val) {
|
|
return toString.call(val) === "[object Date]";
|
|
}
|
|
function isFile(val) {
|
|
return toString.call(val) === "[object File]";
|
|
}
|
|
function isBlob(val) {
|
|
return toString.call(val) === "[object Blob]";
|
|
}
|
|
function isFunction$2(val) {
|
|
return toString.call(val) === "[object Function]";
|
|
}
|
|
function isStream(val) {
|
|
return isObject$3(val) && isFunction$2(val.pipe);
|
|
}
|
|
function isURLSearchParams(val) {
|
|
return typeof URLSearchParams !== "undefined" && val instanceof URLSearchParams;
|
|
}
|
|
function trim(str) {
|
|
return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, "");
|
|
}
|
|
function isStandardBrowserEnv() {
|
|
if (typeof navigator !== "undefined" && (navigator.product === "ReactNative" || navigator.product === "NativeScript" || navigator.product === "NS")) {
|
|
return false;
|
|
}
|
|
return typeof window !== "undefined" && typeof document !== "undefined";
|
|
}
|
|
function forEach$1(obj, fn) {
|
|
if (obj === null || typeof obj === "undefined") {
|
|
return;
|
|
}
|
|
if (typeof obj !== "object") {
|
|
obj = [obj];
|
|
}
|
|
if (isArray$7(obj)) {
|
|
for (var i2 = 0, l2 = obj.length; i2 < l2; i2++) {
|
|
fn.call(null, obj[i2], i2, obj);
|
|
}
|
|
} else {
|
|
for (var key in obj) {
|
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
fn.call(null, obj[key], key, obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function merge$1() {
|
|
var result = {};
|
|
function assignValue(val, key) {
|
|
if (isPlainObject(result[key]) && isPlainObject(val)) {
|
|
result[key] = merge$1(result[key], val);
|
|
} else if (isPlainObject(val)) {
|
|
result[key] = merge$1({}, val);
|
|
} else if (isArray$7(val)) {
|
|
result[key] = val.slice();
|
|
} else {
|
|
result[key] = val;
|
|
}
|
|
}
|
|
for (var i2 = 0, l2 = arguments.length; i2 < l2; i2++) {
|
|
forEach$1(arguments[i2], assignValue);
|
|
}
|
|
return result;
|
|
}
|
|
function extend(a2, b2, thisArg) {
|
|
forEach$1(b2, function assignValue(val, key) {
|
|
if (thisArg && typeof val === "function") {
|
|
a2[key] = bind$3(val, thisArg);
|
|
} else {
|
|
a2[key] = val;
|
|
}
|
|
});
|
|
return a2;
|
|
}
|
|
function stripBOM(content) {
|
|
if (content.charCodeAt(0) === 65279) {
|
|
content = content.slice(1);
|
|
}
|
|
return content;
|
|
}
|
|
var utils$c = {
|
|
isArray: isArray$7,
|
|
isArrayBuffer,
|
|
isBuffer: isBuffer$3,
|
|
isFormData,
|
|
isArrayBufferView,
|
|
isString: isString$1,
|
|
isNumber: isNumber$1,
|
|
isObject: isObject$3,
|
|
isPlainObject,
|
|
isUndefined,
|
|
isDate: isDate$1,
|
|
isFile,
|
|
isBlob,
|
|
isFunction: isFunction$2,
|
|
isStream,
|
|
isURLSearchParams,
|
|
isStandardBrowserEnv,
|
|
forEach: forEach$1,
|
|
merge: merge$1,
|
|
extend,
|
|
trim,
|
|
stripBOM
|
|
};
|
|
var utils$b = utils$c;
|
|
function encode$1(val) {
|
|
return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
|
|
}
|
|
var buildURL$1 = function buildURL(url, params, paramsSerializer) {
|
|
if (!params) {
|
|
return url;
|
|
}
|
|
var serializedParams;
|
|
if (paramsSerializer) {
|
|
serializedParams = paramsSerializer(params);
|
|
} else if (utils$b.isURLSearchParams(params)) {
|
|
serializedParams = params.toString();
|
|
} else {
|
|
var parts = [];
|
|
utils$b.forEach(params, function serialize(val, key) {
|
|
if (val === null || typeof val === "undefined") {
|
|
return;
|
|
}
|
|
if (utils$b.isArray(val)) {
|
|
key = key + "[]";
|
|
} else {
|
|
val = [val];
|
|
}
|
|
utils$b.forEach(val, function parseValue(v) {
|
|
if (utils$b.isDate(v)) {
|
|
v = v.toISOString();
|
|
} else if (utils$b.isObject(v)) {
|
|
v = JSON.stringify(v);
|
|
}
|
|
parts.push(encode$1(key) + "=" + encode$1(v));
|
|
});
|
|
});
|
|
serializedParams = parts.join("&");
|
|
}
|
|
if (serializedParams) {
|
|
var hashmarkIndex = url.indexOf("#");
|
|
if (hashmarkIndex !== -1) {
|
|
url = url.slice(0, hashmarkIndex);
|
|
}
|
|
url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
|
|
}
|
|
return url;
|
|
};
|
|
var utils$a = utils$c;
|
|
function InterceptorManager$1() {
|
|
this.handlers = [];
|
|
}
|
|
InterceptorManager$1.prototype.use = function use(fulfilled, rejected, options) {
|
|
this.handlers.push({
|
|
fulfilled,
|
|
rejected,
|
|
synchronous: options ? options.synchronous : false,
|
|
runWhen: options ? options.runWhen : null
|
|
});
|
|
return this.handlers.length - 1;
|
|
};
|
|
InterceptorManager$1.prototype.eject = function eject(id) {
|
|
if (this.handlers[id]) {
|
|
this.handlers[id] = null;
|
|
}
|
|
};
|
|
InterceptorManager$1.prototype.forEach = function forEach(fn) {
|
|
utils$a.forEach(this.handlers, function forEachHandler(h2) {
|
|
if (h2 !== null) {
|
|
fn(h2);
|
|
}
|
|
});
|
|
};
|
|
var InterceptorManager_1 = InterceptorManager$1;
|
|
var utils$9 = utils$c;
|
|
var normalizeHeaderName$1 = function normalizeHeaderName(headers, normalizedName) {
|
|
utils$9.forEach(headers, function processHeader(value, name2) {
|
|
if (name2 !== normalizedName && name2.toUpperCase() === normalizedName.toUpperCase()) {
|
|
headers[normalizedName] = value;
|
|
delete headers[name2];
|
|
}
|
|
});
|
|
};
|
|
var enhanceError$1 = function enhanceError(error, config, code, request2, response) {
|
|
error.config = config;
|
|
if (code) {
|
|
error.code = code;
|
|
}
|
|
error.request = request2;
|
|
error.response = response;
|
|
error.isAxiosError = true;
|
|
error.toJSON = function toJSON() {
|
|
return {
|
|
message: this.message,
|
|
name: this.name,
|
|
description: this.description,
|
|
number: this.number,
|
|
fileName: this.fileName,
|
|
lineNumber: this.lineNumber,
|
|
columnNumber: this.columnNumber,
|
|
stack: this.stack,
|
|
config: this.config,
|
|
code: this.code
|
|
};
|
|
};
|
|
return error;
|
|
};
|
|
var createError;
|
|
var hasRequiredCreateError;
|
|
function requireCreateError() {
|
|
if (hasRequiredCreateError)
|
|
return createError;
|
|
hasRequiredCreateError = 1;
|
|
var enhanceError3 = enhanceError$1;
|
|
createError = function createError2(message, config, code, request2, response) {
|
|
var error = new Error(message);
|
|
return enhanceError3(error, config, code, request2, response);
|
|
};
|
|
return createError;
|
|
}
|
|
var settle;
|
|
var hasRequiredSettle;
|
|
function requireSettle() {
|
|
if (hasRequiredSettle)
|
|
return settle;
|
|
hasRequiredSettle = 1;
|
|
var createError2 = requireCreateError();
|
|
settle = function settle2(resolve2, reject, response) {
|
|
var validateStatus2 = response.config.validateStatus;
|
|
if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
|
|
resolve2(response);
|
|
} else {
|
|
reject(createError2(
|
|
"Request failed with status code " + response.status,
|
|
response.config,
|
|
null,
|
|
response.request,
|
|
response
|
|
));
|
|
}
|
|
};
|
|
return settle;
|
|
}
|
|
var cookies;
|
|
var hasRequiredCookies;
|
|
function requireCookies() {
|
|
if (hasRequiredCookies)
|
|
return cookies;
|
|
hasRequiredCookies = 1;
|
|
var utils2 = utils$c;
|
|
cookies = utils2.isStandardBrowserEnv() ? function standardBrowserEnv() {
|
|
return {
|
|
write: function write(name2, value, expires, path, domain, secure) {
|
|
var cookie = [];
|
|
cookie.push(name2 + "=" + encodeURIComponent(value));
|
|
if (utils2.isNumber(expires)) {
|
|
cookie.push("expires=" + new Date(expires).toGMTString());
|
|
}
|
|
if (utils2.isString(path)) {
|
|
cookie.push("path=" + path);
|
|
}
|
|
if (utils2.isString(domain)) {
|
|
cookie.push("domain=" + domain);
|
|
}
|
|
if (secure === true) {
|
|
cookie.push("secure");
|
|
}
|
|
document.cookie = cookie.join("; ");
|
|
},
|
|
read: function read(name2) {
|
|
var match = document.cookie.match(new RegExp("(^|;\\s*)(" + name2 + ")=([^;]*)"));
|
|
return match ? decodeURIComponent(match[3]) : null;
|
|
},
|
|
remove: function remove2(name2) {
|
|
this.write(name2, "", Date.now() - 864e5);
|
|
}
|
|
};
|
|
}() : function nonStandardBrowserEnv() {
|
|
return {
|
|
write: function write() {
|
|
},
|
|
read: function read() {
|
|
return null;
|
|
},
|
|
remove: function remove2() {
|
|
}
|
|
};
|
|
}();
|
|
return cookies;
|
|
}
|
|
var isAbsoluteURL;
|
|
var hasRequiredIsAbsoluteURL;
|
|
function requireIsAbsoluteURL() {
|
|
if (hasRequiredIsAbsoluteURL)
|
|
return isAbsoluteURL;
|
|
hasRequiredIsAbsoluteURL = 1;
|
|
isAbsoluteURL = function isAbsoluteURL2(url) {
|
|
return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
|
|
};
|
|
return isAbsoluteURL;
|
|
}
|
|
var combineURLs;
|
|
var hasRequiredCombineURLs;
|
|
function requireCombineURLs() {
|
|
if (hasRequiredCombineURLs)
|
|
return combineURLs;
|
|
hasRequiredCombineURLs = 1;
|
|
combineURLs = function combineURLs2(baseURL, relativeURL) {
|
|
return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
|
|
};
|
|
return combineURLs;
|
|
}
|
|
var buildFullPath;
|
|
var hasRequiredBuildFullPath;
|
|
function requireBuildFullPath() {
|
|
if (hasRequiredBuildFullPath)
|
|
return buildFullPath;
|
|
hasRequiredBuildFullPath = 1;
|
|
var isAbsoluteURL2 = requireIsAbsoluteURL();
|
|
var combineURLs2 = requireCombineURLs();
|
|
buildFullPath = function buildFullPath2(baseURL, requestedURL) {
|
|
if (baseURL && !isAbsoluteURL2(requestedURL)) {
|
|
return combineURLs2(baseURL, requestedURL);
|
|
}
|
|
return requestedURL;
|
|
};
|
|
return buildFullPath;
|
|
}
|
|
var parseHeaders;
|
|
var hasRequiredParseHeaders;
|
|
function requireParseHeaders() {
|
|
if (hasRequiredParseHeaders)
|
|
return parseHeaders;
|
|
hasRequiredParseHeaders = 1;
|
|
var utils2 = utils$c;
|
|
var ignoreDuplicateOf = [
|
|
"age",
|
|
"authorization",
|
|
"content-length",
|
|
"content-type",
|
|
"etag",
|
|
"expires",
|
|
"from",
|
|
"host",
|
|
"if-modified-since",
|
|
"if-unmodified-since",
|
|
"last-modified",
|
|
"location",
|
|
"max-forwards",
|
|
"proxy-authorization",
|
|
"referer",
|
|
"retry-after",
|
|
"user-agent"
|
|
];
|
|
parseHeaders = function parseHeaders2(headers) {
|
|
var parsed = {};
|
|
var key;
|
|
var val;
|
|
var i2;
|
|
if (!headers) {
|
|
return parsed;
|
|
}
|
|
utils2.forEach(headers.split("\n"), function parser(line) {
|
|
i2 = line.indexOf(":");
|
|
key = utils2.trim(line.substr(0, i2)).toLowerCase();
|
|
val = utils2.trim(line.substr(i2 + 1));
|
|
if (key) {
|
|
if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
|
|
return;
|
|
}
|
|
if (key === "set-cookie") {
|
|
parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
|
|
} else {
|
|
parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
|
|
}
|
|
}
|
|
});
|
|
return parsed;
|
|
};
|
|
return parseHeaders;
|
|
}
|
|
var isURLSameOrigin;
|
|
var hasRequiredIsURLSameOrigin;
|
|
function requireIsURLSameOrigin() {
|
|
if (hasRequiredIsURLSameOrigin)
|
|
return isURLSameOrigin;
|
|
hasRequiredIsURLSameOrigin = 1;
|
|
var utils2 = utils$c;
|
|
isURLSameOrigin = utils2.isStandardBrowserEnv() ? function standardBrowserEnv() {
|
|
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
|
var urlParsingNode = document.createElement("a");
|
|
var originURL;
|
|
function resolveURL(url) {
|
|
var href = url;
|
|
if (msie) {
|
|
urlParsingNode.setAttribute("href", href);
|
|
href = urlParsingNode.href;
|
|
}
|
|
urlParsingNode.setAttribute("href", href);
|
|
return {
|
|
href: urlParsingNode.href,
|
|
protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
|
|
host: urlParsingNode.host,
|
|
search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
|
|
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
|
|
hostname: urlParsingNode.hostname,
|
|
port: urlParsingNode.port,
|
|
pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
|
|
};
|
|
}
|
|
originURL = resolveURL(window.location.href);
|
|
return function isURLSameOrigin2(requestURL) {
|
|
var parsed = utils2.isString(requestURL) ? resolveURL(requestURL) : requestURL;
|
|
return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
|
|
};
|
|
}() : function nonStandardBrowserEnv() {
|
|
return function isURLSameOrigin2() {
|
|
return true;
|
|
};
|
|
}();
|
|
return isURLSameOrigin;
|
|
}
|
|
var xhr;
|
|
var hasRequiredXhr;
|
|
function requireXhr() {
|
|
if (hasRequiredXhr)
|
|
return xhr;
|
|
hasRequiredXhr = 1;
|
|
var utils2 = utils$c;
|
|
var settle2 = requireSettle();
|
|
var cookies2 = requireCookies();
|
|
var buildURL3 = buildURL$1;
|
|
var buildFullPath2 = requireBuildFullPath();
|
|
var parseHeaders2 = requireParseHeaders();
|
|
var isURLSameOrigin2 = requireIsURLSameOrigin();
|
|
var createError2 = requireCreateError();
|
|
xhr = function xhrAdapter(config) {
|
|
return new Promise(function dispatchXhrRequest(resolve2, reject) {
|
|
var requestData = config.data;
|
|
var requestHeaders = config.headers;
|
|
var responseType = config.responseType;
|
|
if (utils2.isFormData(requestData)) {
|
|
delete requestHeaders["Content-Type"];
|
|
}
|
|
var request2 = new XMLHttpRequest();
|
|
if (config.auth) {
|
|
var username = config.auth.username || "";
|
|
var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
|
|
requestHeaders.Authorization = "Basic " + btoa(username + ":" + password);
|
|
}
|
|
var fullPath = buildFullPath2(config.baseURL, config.url);
|
|
request2.open(config.method.toUpperCase(), buildURL3(fullPath, config.params, config.paramsSerializer), true);
|
|
request2.timeout = config.timeout;
|
|
function onloadend() {
|
|
if (!request2) {
|
|
return;
|
|
}
|
|
var responseHeaders = "getAllResponseHeaders" in request2 ? parseHeaders2(request2.getAllResponseHeaders()) : null;
|
|
var responseData = !responseType || responseType === "text" || responseType === "json" ? request2.responseText : request2.response;
|
|
var response = {
|
|
data: responseData,
|
|
status: request2.status,
|
|
statusText: request2.statusText,
|
|
headers: responseHeaders,
|
|
config,
|
|
request: request2
|
|
};
|
|
settle2(resolve2, reject, response);
|
|
request2 = null;
|
|
}
|
|
if ("onloadend" in request2) {
|
|
request2.onloadend = onloadend;
|
|
} else {
|
|
request2.onreadystatechange = function handleLoad() {
|
|
if (!request2 || request2.readyState !== 4) {
|
|
return;
|
|
}
|
|
if (request2.status === 0 && !(request2.responseURL && request2.responseURL.indexOf("file:") === 0)) {
|
|
return;
|
|
}
|
|
setTimeout(onloadend);
|
|
};
|
|
}
|
|
request2.onabort = function handleAbort() {
|
|
if (!request2) {
|
|
return;
|
|
}
|
|
reject(createError2("Request aborted", config, "ECONNABORTED", request2));
|
|
request2 = null;
|
|
};
|
|
request2.onerror = function handleError2() {
|
|
reject(createError2("Network Error", config, null, request2));
|
|
request2 = null;
|
|
};
|
|
request2.ontimeout = function handleTimeout() {
|
|
var timeoutErrorMessage = "timeout of " + config.timeout + "ms exceeded";
|
|
if (config.timeoutErrorMessage) {
|
|
timeoutErrorMessage = config.timeoutErrorMessage;
|
|
}
|
|
reject(createError2(
|
|
timeoutErrorMessage,
|
|
config,
|
|
config.transitional && config.transitional.clarifyTimeoutError ? "ETIMEDOUT" : "ECONNABORTED",
|
|
request2
|
|
));
|
|
request2 = null;
|
|
};
|
|
if (utils2.isStandardBrowserEnv()) {
|
|
var xsrfValue = (config.withCredentials || isURLSameOrigin2(fullPath)) && config.xsrfCookieName ? cookies2.read(config.xsrfCookieName) : void 0;
|
|
if (xsrfValue) {
|
|
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
|
}
|
|
}
|
|
if ("setRequestHeader" in request2) {
|
|
utils2.forEach(requestHeaders, function setRequestHeader(val, key) {
|
|
if (typeof requestData === "undefined" && key.toLowerCase() === "content-type") {
|
|
delete requestHeaders[key];
|
|
} else {
|
|
request2.setRequestHeader(key, val);
|
|
}
|
|
});
|
|
}
|
|
if (!utils2.isUndefined(config.withCredentials)) {
|
|
request2.withCredentials = !!config.withCredentials;
|
|
}
|
|
if (responseType && responseType !== "json") {
|
|
request2.responseType = config.responseType;
|
|
}
|
|
if (typeof config.onDownloadProgress === "function") {
|
|
request2.addEventListener("progress", config.onDownloadProgress);
|
|
}
|
|
if (typeof config.onUploadProgress === "function" && request2.upload) {
|
|
request2.upload.addEventListener("progress", config.onUploadProgress);
|
|
}
|
|
if (config.cancelToken) {
|
|
config.cancelToken.promise.then(function onCanceled(cancel) {
|
|
if (!request2) {
|
|
return;
|
|
}
|
|
request2.abort();
|
|
reject(cancel);
|
|
request2 = null;
|
|
});
|
|
}
|
|
if (!requestData) {
|
|
requestData = null;
|
|
}
|
|
request2.send(requestData);
|
|
});
|
|
};
|
|
return xhr;
|
|
}
|
|
var utils$8 = utils$c;
|
|
var normalizeHeaderName2 = normalizeHeaderName$1;
|
|
var enhanceError2 = enhanceError$1;
|
|
var DEFAULT_CONTENT_TYPE = {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
};
|
|
function setContentTypeIfUnset(headers, value) {
|
|
if (!utils$8.isUndefined(headers) && utils$8.isUndefined(headers["Content-Type"])) {
|
|
headers["Content-Type"] = value;
|
|
}
|
|
}
|
|
function getDefaultAdapter() {
|
|
var adapter;
|
|
if (typeof XMLHttpRequest !== "undefined") {
|
|
adapter = requireXhr();
|
|
} else if (typeof process !== "undefined" && Object.prototype.toString.call(process) === "[object process]") {
|
|
adapter = requireXhr();
|
|
}
|
|
return adapter;
|
|
}
|
|
function stringifySafely(rawValue, parser, encoder) {
|
|
if (utils$8.isString(rawValue)) {
|
|
try {
|
|
(parser || JSON.parse)(rawValue);
|
|
return utils$8.trim(rawValue);
|
|
} catch (e2) {
|
|
if (e2.name !== "SyntaxError") {
|
|
throw e2;
|
|
}
|
|
}
|
|
}
|
|
return (encoder || JSON.stringify)(rawValue);
|
|
}
|
|
var defaults$5 = {
|
|
transitional: {
|
|
silentJSONParsing: true,
|
|
forcedJSONParsing: true,
|
|
clarifyTimeoutError: false
|
|
},
|
|
adapter: getDefaultAdapter(),
|
|
transformRequest: [function transformRequest(data, headers) {
|
|
normalizeHeaderName2(headers, "Accept");
|
|
normalizeHeaderName2(headers, "Content-Type");
|
|
if (utils$8.isFormData(data) || utils$8.isArrayBuffer(data) || utils$8.isBuffer(data) || utils$8.isStream(data) || utils$8.isFile(data) || utils$8.isBlob(data)) {
|
|
return data;
|
|
}
|
|
if (utils$8.isArrayBufferView(data)) {
|
|
return data.buffer;
|
|
}
|
|
if (utils$8.isURLSearchParams(data)) {
|
|
setContentTypeIfUnset(headers, "application/x-www-form-urlencoded;charset=utf-8");
|
|
return data.toString();
|
|
}
|
|
if (utils$8.isObject(data) || headers && headers["Content-Type"] === "application/json") {
|
|
setContentTypeIfUnset(headers, "application/json");
|
|
return stringifySafely(data);
|
|
}
|
|
return data;
|
|
}],
|
|
transformResponse: [function transformResponse(data) {
|
|
var transitional2 = this.transitional;
|
|
var silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
|
|
var forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
|
|
var strictJSONParsing = !silentJSONParsing && this.responseType === "json";
|
|
if (strictJSONParsing || forcedJSONParsing && utils$8.isString(data) && data.length) {
|
|
try {
|
|
return JSON.parse(data);
|
|
} catch (e2) {
|
|
if (strictJSONParsing) {
|
|
if (e2.name === "SyntaxError") {
|
|
throw enhanceError2(e2, this, "E_JSON_PARSE");
|
|
}
|
|
throw e2;
|
|
}
|
|
}
|
|
}
|
|
return data;
|
|
}],
|
|
timeout: 0,
|
|
xsrfCookieName: "XSRF-TOKEN",
|
|
xsrfHeaderName: "X-XSRF-TOKEN",
|
|
maxContentLength: -1,
|
|
maxBodyLength: -1,
|
|
validateStatus: function validateStatus(status) {
|
|
return status >= 200 && status < 300;
|
|
}
|
|
};
|
|
defaults$5.headers = {
|
|
common: {
|
|
"Accept": "application/json, text/plain, */*"
|
|
}
|
|
};
|
|
utils$8.forEach(["delete", "get", "head"], function forEachMethodNoData(method) {
|
|
defaults$5.headers[method] = {};
|
|
});
|
|
utils$8.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
|
|
defaults$5.headers[method] = utils$8.merge(DEFAULT_CONTENT_TYPE);
|
|
});
|
|
var defaults_1 = defaults$5;
|
|
var utils$7 = utils$c;
|
|
var defaults$4 = defaults_1;
|
|
var transformData$1 = function transformData(data, headers, fns) {
|
|
var context = this || defaults$4;
|
|
utils$7.forEach(fns, function transform(fn) {
|
|
data = fn.call(context, data, headers);
|
|
});
|
|
return data;
|
|
};
|
|
var isCancel$1;
|
|
var hasRequiredIsCancel;
|
|
function requireIsCancel() {
|
|
if (hasRequiredIsCancel)
|
|
return isCancel$1;
|
|
hasRequiredIsCancel = 1;
|
|
isCancel$1 = function isCancel2(value) {
|
|
return !!(value && value.__CANCEL__);
|
|
};
|
|
return isCancel$1;
|
|
}
|
|
var utils$6 = utils$c;
|
|
var transformData2 = transformData$1;
|
|
var isCancel = requireIsCancel();
|
|
var defaults$3 = defaults_1;
|
|
function throwIfCancellationRequested(config) {
|
|
if (config.cancelToken) {
|
|
config.cancelToken.throwIfRequested();
|
|
}
|
|
}
|
|
var dispatchRequest$1 = function dispatchRequest(config) {
|
|
throwIfCancellationRequested(config);
|
|
config.headers = config.headers || {};
|
|
config.data = transformData2.call(
|
|
config,
|
|
config.data,
|
|
config.headers,
|
|
config.transformRequest
|
|
);
|
|
config.headers = utils$6.merge(
|
|
config.headers.common || {},
|
|
config.headers[config.method] || {},
|
|
config.headers
|
|
);
|
|
utils$6.forEach(
|
|
["delete", "get", "head", "post", "put", "patch", "common"],
|
|
function cleanHeaderConfig(method) {
|
|
delete config.headers[method];
|
|
}
|
|
);
|
|
var adapter = config.adapter || defaults$3.adapter;
|
|
return adapter(config).then(function onAdapterResolution(response) {
|
|
throwIfCancellationRequested(config);
|
|
response.data = transformData2.call(
|
|
config,
|
|
response.data,
|
|
response.headers,
|
|
config.transformResponse
|
|
);
|
|
return response;
|
|
}, function onAdapterRejection(reason) {
|
|
if (!isCancel(reason)) {
|
|
throwIfCancellationRequested(config);
|
|
if (reason && reason.response) {
|
|
reason.response.data = transformData2.call(
|
|
config,
|
|
reason.response.data,
|
|
reason.response.headers,
|
|
config.transformResponse
|
|
);
|
|
}
|
|
}
|
|
return Promise.reject(reason);
|
|
});
|
|
};
|
|
var utils$5 = utils$c;
|
|
var mergeConfig$2 = function mergeConfig(config1, config2) {
|
|
config2 = config2 || {};
|
|
var config = {};
|
|
var valueFromConfig2Keys = ["url", "method", "data"];
|
|
var mergeDeepPropertiesKeys = ["headers", "auth", "proxy", "params"];
|
|
var defaultToConfig2Keys = [
|
|
"baseURL",
|
|
"transformRequest",
|
|
"transformResponse",
|
|
"paramsSerializer",
|
|
"timeout",
|
|
"timeoutMessage",
|
|
"withCredentials",
|
|
"adapter",
|
|
"responseType",
|
|
"xsrfCookieName",
|
|
"xsrfHeaderName",
|
|
"onUploadProgress",
|
|
"onDownloadProgress",
|
|
"decompress",
|
|
"maxContentLength",
|
|
"maxBodyLength",
|
|
"maxRedirects",
|
|
"transport",
|
|
"httpAgent",
|
|
"httpsAgent",
|
|
"cancelToken",
|
|
"socketPath",
|
|
"responseEncoding"
|
|
];
|
|
var directMergeKeys = ["validateStatus"];
|
|
function getMergedValue(target, source) {
|
|
if (utils$5.isPlainObject(target) && utils$5.isPlainObject(source)) {
|
|
return utils$5.merge(target, source);
|
|
} else if (utils$5.isPlainObject(source)) {
|
|
return utils$5.merge({}, source);
|
|
} else if (utils$5.isArray(source)) {
|
|
return source.slice();
|
|
}
|
|
return source;
|
|
}
|
|
function mergeDeepProperties(prop) {
|
|
if (!utils$5.isUndefined(config2[prop])) {
|
|
config[prop] = getMergedValue(config1[prop], config2[prop]);
|
|
} else if (!utils$5.isUndefined(config1[prop])) {
|
|
config[prop] = getMergedValue(void 0, config1[prop]);
|
|
}
|
|
}
|
|
utils$5.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
|
|
if (!utils$5.isUndefined(config2[prop])) {
|
|
config[prop] = getMergedValue(void 0, config2[prop]);
|
|
}
|
|
});
|
|
utils$5.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);
|
|
utils$5.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
|
|
if (!utils$5.isUndefined(config2[prop])) {
|
|
config[prop] = getMergedValue(void 0, config2[prop]);
|
|
} else if (!utils$5.isUndefined(config1[prop])) {
|
|
config[prop] = getMergedValue(void 0, config1[prop]);
|
|
}
|
|
});
|
|
utils$5.forEach(directMergeKeys, function merge3(prop) {
|
|
if (prop in config2) {
|
|
config[prop] = getMergedValue(config1[prop], config2[prop]);
|
|
} else if (prop in config1) {
|
|
config[prop] = getMergedValue(void 0, config1[prop]);
|
|
}
|
|
});
|
|
var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys).concat(directMergeKeys);
|
|
var otherKeys = Object.keys(config1).concat(Object.keys(config2)).filter(function filterAxiosKeys(key) {
|
|
return axiosKeys.indexOf(key) === -1;
|
|
});
|
|
utils$5.forEach(otherKeys, mergeDeepProperties);
|
|
return config;
|
|
};
|
|
const name = "axios";
|
|
const version = "0.21.4";
|
|
const description = "Promise based HTTP client for the browser and node.js";
|
|
const main = "index.js";
|
|
const scripts = {
|
|
test: "grunt test",
|
|
start: "node ./sandbox/server.js",
|
|
build: "NODE_ENV=production grunt build",
|
|
preversion: "npm test",
|
|
version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",
|
|
postversion: "git push && git push --tags",
|
|
examples: "node ./examples/server.js",
|
|
coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
|
|
fix: "eslint --fix lib/**/*.js"
|
|
};
|
|
const repository = {
|
|
type: "git",
|
|
url: "https://github.com/axios/axios.git"
|
|
};
|
|
const keywords = [
|
|
"xhr",
|
|
"http",
|
|
"ajax",
|
|
"promise",
|
|
"node"
|
|
];
|
|
const author = "Matt Zabriskie";
|
|
const license = "MIT";
|
|
const bugs = {
|
|
url: "https://github.com/axios/axios/issues"
|
|
};
|
|
const homepage = "https://axios-http.com";
|
|
const devDependencies = {
|
|
coveralls: "^3.0.0",
|
|
"es6-promise": "^4.2.4",
|
|
grunt: "^1.3.0",
|
|
"grunt-banner": "^0.6.0",
|
|
"grunt-cli": "^1.2.0",
|
|
"grunt-contrib-clean": "^1.1.0",
|
|
"grunt-contrib-watch": "^1.0.0",
|
|
"grunt-eslint": "^23.0.0",
|
|
"grunt-karma": "^4.0.0",
|
|
"grunt-mocha-test": "^0.13.3",
|
|
"grunt-ts": "^6.0.0-beta.19",
|
|
"grunt-webpack": "^4.0.2",
|
|
"istanbul-instrumenter-loader": "^1.0.0",
|
|
"jasmine-core": "^2.4.1",
|
|
karma: "^6.3.2",
|
|
"karma-chrome-launcher": "^3.1.0",
|
|
"karma-firefox-launcher": "^2.1.0",
|
|
"karma-jasmine": "^1.1.1",
|
|
"karma-jasmine-ajax": "^0.1.13",
|
|
"karma-safari-launcher": "^1.0.0",
|
|
"karma-sauce-launcher": "^4.3.6",
|
|
"karma-sinon": "^1.0.5",
|
|
"karma-sourcemap-loader": "^0.3.8",
|
|
"karma-webpack": "^4.0.2",
|
|
"load-grunt-tasks": "^3.5.2",
|
|
minimist: "^1.2.0",
|
|
mocha: "^8.2.1",
|
|
sinon: "^4.5.0",
|
|
"terser-webpack-plugin": "^4.2.3",
|
|
typescript: "^4.0.5",
|
|
"url-search-params": "^0.10.0",
|
|
webpack: "^4.44.2",
|
|
"webpack-dev-server": "^3.11.0"
|
|
};
|
|
const browser = {
|
|
"./lib/adapters/http.js": "./lib/adapters/xhr.js"
|
|
};
|
|
const jsdelivr = "dist/axios.min.js";
|
|
const unpkg = "dist/axios.min.js";
|
|
const typings = "./index.d.ts";
|
|
const dependencies = {
|
|
"follow-redirects": "^1.14.0"
|
|
};
|
|
const bundlesize = [
|
|
{
|
|
path: "./dist/axios.min.js",
|
|
threshold: "5kB"
|
|
}
|
|
];
|
|
const require$$0$1 = {
|
|
name,
|
|
version,
|
|
description,
|
|
main,
|
|
scripts,
|
|
repository,
|
|
keywords,
|
|
author,
|
|
license,
|
|
bugs,
|
|
homepage,
|
|
devDependencies,
|
|
browser,
|
|
jsdelivr,
|
|
unpkg,
|
|
typings,
|
|
dependencies,
|
|
bundlesize
|
|
};
|
|
var pkg = require$$0$1;
|
|
var validators$1 = {};
|
|
["object", "boolean", "number", "function", "string", "symbol"].forEach(function(type, i2) {
|
|
validators$1[type] = function validator2(thing) {
|
|
return typeof thing === type || "a" + (i2 < 1 ? "n " : " ") + type;
|
|
};
|
|
});
|
|
var deprecatedWarnings = {};
|
|
var currentVerArr = pkg.version.split(".");
|
|
function isOlderVersion(version2, thanVersion) {
|
|
var pkgVersionArr = thanVersion ? thanVersion.split(".") : currentVerArr;
|
|
var destVer = version2.split(".");
|
|
for (var i2 = 0; i2 < 3; i2++) {
|
|
if (pkgVersionArr[i2] > destVer[i2]) {
|
|
return true;
|
|
} else if (pkgVersionArr[i2] < destVer[i2]) {
|
|
return false;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
validators$1.transitional = function transitional(validator2, version2, message) {
|
|
var isDeprecated = version2 && isOlderVersion(version2);
|
|
function formatMessage(opt, desc) {
|
|
return "[Axios v" + pkg.version + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
|
|
}
|
|
return function(value, opt, opts) {
|
|
if (validator2 === false) {
|
|
throw new Error(formatMessage(opt, " has been removed in " + version2));
|
|
}
|
|
if (isDeprecated && !deprecatedWarnings[opt]) {
|
|
deprecatedWarnings[opt] = true;
|
|
console.warn(
|
|
formatMessage(
|
|
opt,
|
|
" has been deprecated since v" + version2 + " and will be removed in the near future"
|
|
)
|
|
);
|
|
}
|
|
return validator2 ? validator2(value, opt, opts) : true;
|
|
};
|
|
};
|
|
function assertOptions(options, schema, allowUnknown) {
|
|
if (typeof options !== "object") {
|
|
throw new TypeError("options must be an object");
|
|
}
|
|
var keys2 = Object.keys(options);
|
|
var i2 = keys2.length;
|
|
while (i2-- > 0) {
|
|
var opt = keys2[i2];
|
|
var validator2 = schema[opt];
|
|
if (validator2) {
|
|
var value = options[opt];
|
|
var result = value === void 0 || validator2(value, opt, options);
|
|
if (result !== true) {
|
|
throw new TypeError("option " + opt + " must be " + result);
|
|
}
|
|
continue;
|
|
}
|
|
if (allowUnknown !== true) {
|
|
throw Error("Unknown option " + opt);
|
|
}
|
|
}
|
|
}
|
|
var validator$1 = {
|
|
isOlderVersion,
|
|
assertOptions,
|
|
validators: validators$1
|
|
};
|
|
var utils$4 = utils$c;
|
|
var buildURL2 = buildURL$1;
|
|
var InterceptorManager = InterceptorManager_1;
|
|
var dispatchRequest2 = dispatchRequest$1;
|
|
var mergeConfig$1 = mergeConfig$2;
|
|
var validator = validator$1;
|
|
var validators = validator.validators;
|
|
function Axios$1(instanceConfig) {
|
|
this.defaults = instanceConfig;
|
|
this.interceptors = {
|
|
request: new InterceptorManager(),
|
|
response: new InterceptorManager()
|
|
};
|
|
}
|
|
Axios$1.prototype.request = function request(config) {
|
|
if (typeof config === "string") {
|
|
config = arguments[1] || {};
|
|
config.url = arguments[0];
|
|
} else {
|
|
config = config || {};
|
|
}
|
|
config = mergeConfig$1(this.defaults, config);
|
|
if (config.method) {
|
|
config.method = config.method.toLowerCase();
|
|
} else if (this.defaults.method) {
|
|
config.method = this.defaults.method.toLowerCase();
|
|
} else {
|
|
config.method = "get";
|
|
}
|
|
var transitional2 = config.transitional;
|
|
if (transitional2 !== void 0) {
|
|
validator.assertOptions(transitional2, {
|
|
silentJSONParsing: validators.transitional(validators.boolean, "1.0.0"),
|
|
forcedJSONParsing: validators.transitional(validators.boolean, "1.0.0"),
|
|
clarifyTimeoutError: validators.transitional(validators.boolean, "1.0.0")
|
|
}, false);
|
|
}
|
|
var requestInterceptorChain = [];
|
|
var synchronousRequestInterceptors = true;
|
|
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
|
|
if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
|
|
return;
|
|
}
|
|
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
|
|
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
|
|
});
|
|
var responseInterceptorChain = [];
|
|
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
|
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
|
|
});
|
|
var promise;
|
|
if (!synchronousRequestInterceptors) {
|
|
var chain = [dispatchRequest2, void 0];
|
|
Array.prototype.unshift.apply(chain, requestInterceptorChain);
|
|
chain = chain.concat(responseInterceptorChain);
|
|
promise = Promise.resolve(config);
|
|
while (chain.length) {
|
|
promise = promise.then(chain.shift(), chain.shift());
|
|
}
|
|
return promise;
|
|
}
|
|
var newConfig = config;
|
|
while (requestInterceptorChain.length) {
|
|
var onFulfilled = requestInterceptorChain.shift();
|
|
var onRejected = requestInterceptorChain.shift();
|
|
try {
|
|
newConfig = onFulfilled(newConfig);
|
|
} catch (error) {
|
|
onRejected(error);
|
|
break;
|
|
}
|
|
}
|
|
try {
|
|
promise = dispatchRequest2(newConfig);
|
|
} catch (error) {
|
|
return Promise.reject(error);
|
|
}
|
|
while (responseInterceptorChain.length) {
|
|
promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
|
|
}
|
|
return promise;
|
|
};
|
|
Axios$1.prototype.getUri = function getUri(config) {
|
|
config = mergeConfig$1(this.defaults, config);
|
|
return buildURL2(config.url, config.params, config.paramsSerializer).replace(/^\?/, "");
|
|
};
|
|
utils$4.forEach(["delete", "get", "head", "options"], function forEachMethodNoData2(method) {
|
|
Axios$1.prototype[method] = function(url, config) {
|
|
return this.request(mergeConfig$1(config || {}, {
|
|
method,
|
|
url,
|
|
data: (config || {}).data
|
|
}));
|
|
};
|
|
});
|
|
utils$4.forEach(["post", "put", "patch"], function forEachMethodWithData2(method) {
|
|
Axios$1.prototype[method] = function(url, data, config) {
|
|
return this.request(mergeConfig$1(config || {}, {
|
|
method,
|
|
url,
|
|
data
|
|
}));
|
|
};
|
|
});
|
|
var Axios_1 = Axios$1;
|
|
var Cancel_1;
|
|
var hasRequiredCancel;
|
|
function requireCancel() {
|
|
if (hasRequiredCancel)
|
|
return Cancel_1;
|
|
hasRequiredCancel = 1;
|
|
function Cancel(message) {
|
|
this.message = message;
|
|
}
|
|
Cancel.prototype.toString = function toString2() {
|
|
return "Cancel" + (this.message ? ": " + this.message : "");
|
|
};
|
|
Cancel.prototype.__CANCEL__ = true;
|
|
Cancel_1 = Cancel;
|
|
return Cancel_1;
|
|
}
|
|
var CancelToken_1;
|
|
var hasRequiredCancelToken;
|
|
function requireCancelToken() {
|
|
if (hasRequiredCancelToken)
|
|
return CancelToken_1;
|
|
hasRequiredCancelToken = 1;
|
|
var Cancel = requireCancel();
|
|
function CancelToken(executor) {
|
|
if (typeof executor !== "function") {
|
|
throw new TypeError("executor must be a function.");
|
|
}
|
|
var resolvePromise;
|
|
this.promise = new Promise(function promiseExecutor(resolve2) {
|
|
resolvePromise = resolve2;
|
|
});
|
|
var token = this;
|
|
executor(function cancel(message) {
|
|
if (token.reason) {
|
|
return;
|
|
}
|
|
token.reason = new Cancel(message);
|
|
resolvePromise(token.reason);
|
|
});
|
|
}
|
|
CancelToken.prototype.throwIfRequested = function throwIfRequested() {
|
|
if (this.reason) {
|
|
throw this.reason;
|
|
}
|
|
};
|
|
CancelToken.source = function source() {
|
|
var cancel;
|
|
var token = new CancelToken(function executor(c2) {
|
|
cancel = c2;
|
|
});
|
|
return {
|
|
token,
|
|
cancel
|
|
};
|
|
};
|
|
CancelToken_1 = CancelToken;
|
|
return CancelToken_1;
|
|
}
|
|
var spread;
|
|
var hasRequiredSpread;
|
|
function requireSpread() {
|
|
if (hasRequiredSpread)
|
|
return spread;
|
|
hasRequiredSpread = 1;
|
|
spread = function spread2(callback) {
|
|
return function wrap(arr) {
|
|
return callback.apply(null, arr);
|
|
};
|
|
};
|
|
return spread;
|
|
}
|
|
var isAxiosError;
|
|
var hasRequiredIsAxiosError;
|
|
function requireIsAxiosError() {
|
|
if (hasRequiredIsAxiosError)
|
|
return isAxiosError;
|
|
hasRequiredIsAxiosError = 1;
|
|
isAxiosError = function isAxiosError2(payload) {
|
|
return typeof payload === "object" && payload.isAxiosError === true;
|
|
};
|
|
return isAxiosError;
|
|
}
|
|
var utils$3 = utils$c;
|
|
var bind$2 = bind$4;
|
|
var Axios = Axios_1;
|
|
var mergeConfig2 = mergeConfig$2;
|
|
var defaults$2 = defaults_1;
|
|
function createInstance(defaultConfig) {
|
|
var context = new Axios(defaultConfig);
|
|
var instance = bind$2(Axios.prototype.request, context);
|
|
utils$3.extend(instance, Axios.prototype, context);
|
|
utils$3.extend(instance, context);
|
|
return instance;
|
|
}
|
|
var axios$1 = createInstance(defaults$2);
|
|
axios$1.Axios = Axios;
|
|
axios$1.create = function create(instanceConfig) {
|
|
return createInstance(mergeConfig2(axios$1.defaults, instanceConfig));
|
|
};
|
|
axios$1.Cancel = requireCancel();
|
|
axios$1.CancelToken = requireCancelToken();
|
|
axios$1.isCancel = requireIsCancel();
|
|
axios$1.all = function all(promises) {
|
|
return Promise.all(promises);
|
|
};
|
|
axios$1.spread = requireSpread();
|
|
axios$1.isAxiosError = requireIsAxiosError();
|
|
axios$2.exports = axios$1;
|
|
axios$2.exports.default = axios$1;
|
|
(function(module) {
|
|
module.exports = axios$2.exports;
|
|
})(axios$3);
|
|
const axios = /* @__PURE__ */ getDefaultExportFromCjs(axios$3.exports);
|
|
var shams = function hasSymbols() {
|
|
if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
|
|
return false;
|
|
}
|
|
if (typeof Symbol.iterator === "symbol") {
|
|
return true;
|
|
}
|
|
var obj = {};
|
|
var sym = Symbol("test");
|
|
var symObj = Object(sym);
|
|
if (typeof sym === "string") {
|
|
return false;
|
|
}
|
|
if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
|
|
return false;
|
|
}
|
|
if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
|
|
return false;
|
|
}
|
|
var symVal = 42;
|
|
obj[sym] = symVal;
|
|
for (sym in obj) {
|
|
return false;
|
|
}
|
|
if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
|
|
return false;
|
|
}
|
|
if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
|
|
return false;
|
|
}
|
|
var syms = Object.getOwnPropertySymbols(obj);
|
|
if (syms.length !== 1 || syms[0] !== sym) {
|
|
return false;
|
|
}
|
|
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
|
|
return false;
|
|
}
|
|
if (typeof Object.getOwnPropertyDescriptor === "function") {
|
|
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
|
if (descriptor.value !== symVal || descriptor.enumerable !== true) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
var origSymbol = typeof Symbol !== "undefined" && Symbol;
|
|
var hasSymbolSham = shams;
|
|
var hasSymbols$1 = function hasNativeSymbols() {
|
|
if (typeof origSymbol !== "function") {
|
|
return false;
|
|
}
|
|
if (typeof Symbol !== "function") {
|
|
return false;
|
|
}
|
|
if (typeof origSymbol("foo") !== "symbol") {
|
|
return false;
|
|
}
|
|
if (typeof Symbol("bar") !== "symbol") {
|
|
return false;
|
|
}
|
|
return hasSymbolSham();
|
|
};
|
|
var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
|
|
var slice = Array.prototype.slice;
|
|
var toStr$1 = Object.prototype.toString;
|
|
var funcType = "[object Function]";
|
|
var implementation$1 = function bind2(that) {
|
|
var target = this;
|
|
if (typeof target !== "function" || toStr$1.call(target) !== funcType) {
|
|
throw new TypeError(ERROR_MESSAGE + target);
|
|
}
|
|
var args = slice.call(arguments, 1);
|
|
var bound;
|
|
var binder = function() {
|
|
if (this instanceof bound) {
|
|
var result = target.apply(
|
|
this,
|
|
args.concat(slice.call(arguments))
|
|
);
|
|
if (Object(result) === result) {
|
|
return result;
|
|
}
|
|
return this;
|
|
} else {
|
|
return target.apply(
|
|
that,
|
|
args.concat(slice.call(arguments))
|
|
);
|
|
}
|
|
};
|
|
var boundLength = Math.max(0, target.length - args.length);
|
|
var boundArgs = [];
|
|
for (var i2 = 0; i2 < boundLength; i2++) {
|
|
boundArgs.push("$" + i2);
|
|
}
|
|
bound = Function("binder", "return function (" + boundArgs.join(",") + "){ return binder.apply(this,arguments); }")(binder);
|
|
if (target.prototype) {
|
|
var Empty = function Empty2() {
|
|
};
|
|
Empty.prototype = target.prototype;
|
|
bound.prototype = new Empty();
|
|
Empty.prototype = null;
|
|
}
|
|
return bound;
|
|
};
|
|
var implementation = implementation$1;
|
|
var functionBind = Function.prototype.bind || implementation;
|
|
var bind$1 = functionBind;
|
|
var src = bind$1.call(Function.call, Object.prototype.hasOwnProperty);
|
|
var undefined$1;
|
|
var $SyntaxError = SyntaxError;
|
|
var $Function = Function;
|
|
var $TypeError$1 = TypeError;
|
|
var getEvalledConstructor = function(expressionSyntax) {
|
|
try {
|
|
return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
|
|
} catch (e2) {
|
|
}
|
|
};
|
|
var $gOPD = Object.getOwnPropertyDescriptor;
|
|
if ($gOPD) {
|
|
try {
|
|
$gOPD({}, "");
|
|
} catch (e2) {
|
|
$gOPD = null;
|
|
}
|
|
}
|
|
var throwTypeError = function() {
|
|
throw new $TypeError$1();
|
|
};
|
|
var ThrowTypeError = $gOPD ? function() {
|
|
try {
|
|
arguments.callee;
|
|
return throwTypeError;
|
|
} catch (calleeThrows) {
|
|
try {
|
|
return $gOPD(arguments, "callee").get;
|
|
} catch (gOPDthrows) {
|
|
return throwTypeError;
|
|
}
|
|
}
|
|
}() : throwTypeError;
|
|
var hasSymbols2 = hasSymbols$1();
|
|
var getProto = Object.getPrototypeOf || function(x) {
|
|
return x.__proto__;
|
|
};
|
|
var needsEval = {};
|
|
var TypedArray = typeof Uint8Array === "undefined" ? undefined$1 : getProto(Uint8Array);
|
|
var INTRINSICS = {
|
|
"%AggregateError%": typeof AggregateError === "undefined" ? undefined$1 : AggregateError,
|
|
"%Array%": Array,
|
|
"%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined$1 : ArrayBuffer,
|
|
"%ArrayIteratorPrototype%": hasSymbols2 ? getProto([][Symbol.iterator]()) : undefined$1,
|
|
"%AsyncFromSyncIteratorPrototype%": undefined$1,
|
|
"%AsyncFunction%": needsEval,
|
|
"%AsyncGenerator%": needsEval,
|
|
"%AsyncGeneratorFunction%": needsEval,
|
|
"%AsyncIteratorPrototype%": needsEval,
|
|
"%Atomics%": typeof Atomics === "undefined" ? undefined$1 : Atomics,
|
|
"%BigInt%": typeof BigInt === "undefined" ? undefined$1 : BigInt,
|
|
"%Boolean%": Boolean,
|
|
"%DataView%": typeof DataView === "undefined" ? undefined$1 : DataView,
|
|
"%Date%": Date,
|
|
"%decodeURI%": decodeURI,
|
|
"%decodeURIComponent%": decodeURIComponent,
|
|
"%encodeURI%": encodeURI,
|
|
"%encodeURIComponent%": encodeURIComponent,
|
|
"%Error%": Error,
|
|
"%eval%": eval,
|
|
"%EvalError%": EvalError,
|
|
"%Float32Array%": typeof Float32Array === "undefined" ? undefined$1 : Float32Array,
|
|
"%Float64Array%": typeof Float64Array === "undefined" ? undefined$1 : Float64Array,
|
|
"%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined$1 : FinalizationRegistry,
|
|
"%Function%": $Function,
|
|
"%GeneratorFunction%": needsEval,
|
|
"%Int8Array%": typeof Int8Array === "undefined" ? undefined$1 : Int8Array,
|
|
"%Int16Array%": typeof Int16Array === "undefined" ? undefined$1 : Int16Array,
|
|
"%Int32Array%": typeof Int32Array === "undefined" ? undefined$1 : Int32Array,
|
|
"%isFinite%": isFinite,
|
|
"%isNaN%": isNaN,
|
|
"%IteratorPrototype%": hasSymbols2 ? getProto(getProto([][Symbol.iterator]())) : undefined$1,
|
|
"%JSON%": typeof JSON === "object" ? JSON : undefined$1,
|
|
"%Map%": typeof Map === "undefined" ? undefined$1 : Map,
|
|
"%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols2 ? undefined$1 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),
|
|
"%Math%": Math,
|
|
"%Number%": Number,
|
|
"%Object%": Object,
|
|
"%parseFloat%": parseFloat,
|
|
"%parseInt%": parseInt,
|
|
"%Promise%": typeof Promise === "undefined" ? undefined$1 : Promise,
|
|
"%Proxy%": typeof Proxy === "undefined" ? undefined$1 : Proxy,
|
|
"%RangeError%": RangeError,
|
|
"%ReferenceError%": ReferenceError,
|
|
"%Reflect%": typeof Reflect === "undefined" ? undefined$1 : Reflect,
|
|
"%RegExp%": RegExp,
|
|
"%Set%": typeof Set === "undefined" ? undefined$1 : Set,
|
|
"%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols2 ? undefined$1 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),
|
|
"%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined$1 : SharedArrayBuffer,
|
|
"%String%": String,
|
|
"%StringIteratorPrototype%": hasSymbols2 ? getProto(""[Symbol.iterator]()) : undefined$1,
|
|
"%Symbol%": hasSymbols2 ? Symbol : undefined$1,
|
|
"%SyntaxError%": $SyntaxError,
|
|
"%ThrowTypeError%": ThrowTypeError,
|
|
"%TypedArray%": TypedArray,
|
|
"%TypeError%": $TypeError$1,
|
|
"%Uint8Array%": typeof Uint8Array === "undefined" ? undefined$1 : Uint8Array,
|
|
"%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined$1 : Uint8ClampedArray,
|
|
"%Uint16Array%": typeof Uint16Array === "undefined" ? undefined$1 : Uint16Array,
|
|
"%Uint32Array%": typeof Uint32Array === "undefined" ? undefined$1 : Uint32Array,
|
|
"%URIError%": URIError,
|
|
"%WeakMap%": typeof WeakMap === "undefined" ? undefined$1 : WeakMap,
|
|
"%WeakRef%": typeof WeakRef === "undefined" ? undefined$1 : WeakRef,
|
|
"%WeakSet%": typeof WeakSet === "undefined" ? undefined$1 : WeakSet
|
|
};
|
|
var doEval = function doEval2(name2) {
|
|
var value;
|
|
if (name2 === "%AsyncFunction%") {
|
|
value = getEvalledConstructor("async function () {}");
|
|
} else if (name2 === "%GeneratorFunction%") {
|
|
value = getEvalledConstructor("function* () {}");
|
|
} else if (name2 === "%AsyncGeneratorFunction%") {
|
|
value = getEvalledConstructor("async function* () {}");
|
|
} else if (name2 === "%AsyncGenerator%") {
|
|
var fn = doEval2("%AsyncGeneratorFunction%");
|
|
if (fn) {
|
|
value = fn.prototype;
|
|
}
|
|
} else if (name2 === "%AsyncIteratorPrototype%") {
|
|
var gen = doEval2("%AsyncGenerator%");
|
|
if (gen) {
|
|
value = getProto(gen.prototype);
|
|
}
|
|
}
|
|
INTRINSICS[name2] = value;
|
|
return value;
|
|
};
|
|
var LEGACY_ALIASES = {
|
|
"%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
|
|
"%ArrayPrototype%": ["Array", "prototype"],
|
|
"%ArrayProto_entries%": ["Array", "prototype", "entries"],
|
|
"%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
|
|
"%ArrayProto_keys%": ["Array", "prototype", "keys"],
|
|
"%ArrayProto_values%": ["Array", "prototype", "values"],
|
|
"%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
|
|
"%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
|
|
"%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
|
|
"%BooleanPrototype%": ["Boolean", "prototype"],
|
|
"%DataViewPrototype%": ["DataView", "prototype"],
|
|
"%DatePrototype%": ["Date", "prototype"],
|
|
"%ErrorPrototype%": ["Error", "prototype"],
|
|
"%EvalErrorPrototype%": ["EvalError", "prototype"],
|
|
"%Float32ArrayPrototype%": ["Float32Array", "prototype"],
|
|
"%Float64ArrayPrototype%": ["Float64Array", "prototype"],
|
|
"%FunctionPrototype%": ["Function", "prototype"],
|
|
"%Generator%": ["GeneratorFunction", "prototype"],
|
|
"%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
|
|
"%Int8ArrayPrototype%": ["Int8Array", "prototype"],
|
|
"%Int16ArrayPrototype%": ["Int16Array", "prototype"],
|
|
"%Int32ArrayPrototype%": ["Int32Array", "prototype"],
|
|
"%JSONParse%": ["JSON", "parse"],
|
|
"%JSONStringify%": ["JSON", "stringify"],
|
|
"%MapPrototype%": ["Map", "prototype"],
|
|
"%NumberPrototype%": ["Number", "prototype"],
|
|
"%ObjectPrototype%": ["Object", "prototype"],
|
|
"%ObjProto_toString%": ["Object", "prototype", "toString"],
|
|
"%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
|
|
"%PromisePrototype%": ["Promise", "prototype"],
|
|
"%PromiseProto_then%": ["Promise", "prototype", "then"],
|
|
"%Promise_all%": ["Promise", "all"],
|
|
"%Promise_reject%": ["Promise", "reject"],
|
|
"%Promise_resolve%": ["Promise", "resolve"],
|
|
"%RangeErrorPrototype%": ["RangeError", "prototype"],
|
|
"%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
|
|
"%RegExpPrototype%": ["RegExp", "prototype"],
|
|
"%SetPrototype%": ["Set", "prototype"],
|
|
"%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
|
|
"%StringPrototype%": ["String", "prototype"],
|
|
"%SymbolPrototype%": ["Symbol", "prototype"],
|
|
"%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
|
|
"%TypedArrayPrototype%": ["TypedArray", "prototype"],
|
|
"%TypeErrorPrototype%": ["TypeError", "prototype"],
|
|
"%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
|
|
"%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
|
|
"%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
|
|
"%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
|
|
"%URIErrorPrototype%": ["URIError", "prototype"],
|
|
"%WeakMapPrototype%": ["WeakMap", "prototype"],
|
|
"%WeakSetPrototype%": ["WeakSet", "prototype"]
|
|
};
|
|
var bind3 = functionBind;
|
|
var hasOwn$1 = src;
|
|
var $concat$1 = bind3.call(Function.call, Array.prototype.concat);
|
|
var $spliceApply = bind3.call(Function.apply, Array.prototype.splice);
|
|
var $replace$1 = bind3.call(Function.call, String.prototype.replace);
|
|
var $strSlice = bind3.call(Function.call, String.prototype.slice);
|
|
var $exec = bind3.call(Function.call, RegExp.prototype.exec);
|
|
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
|
var reEscapeChar = /\\(\\)?/g;
|
|
var stringToPath = function stringToPath2(string) {
|
|
var first = $strSlice(string, 0, 1);
|
|
var last = $strSlice(string, -1);
|
|
if (first === "%" && last !== "%") {
|
|
throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
|
|
} else if (last === "%" && first !== "%") {
|
|
throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
|
|
}
|
|
var result = [];
|
|
$replace$1(string, rePropName, function(match, number, quote2, subString) {
|
|
result[result.length] = quote2 ? $replace$1(subString, reEscapeChar, "$1") : number || match;
|
|
});
|
|
return result;
|
|
};
|
|
var getBaseIntrinsic = function getBaseIntrinsic2(name2, allowMissing) {
|
|
var intrinsicName = name2;
|
|
var alias;
|
|
if (hasOwn$1(LEGACY_ALIASES, intrinsicName)) {
|
|
alias = LEGACY_ALIASES[intrinsicName];
|
|
intrinsicName = "%" + alias[0] + "%";
|
|
}
|
|
if (hasOwn$1(INTRINSICS, intrinsicName)) {
|
|
var value = INTRINSICS[intrinsicName];
|
|
if (value === needsEval) {
|
|
value = doEval(intrinsicName);
|
|
}
|
|
if (typeof value === "undefined" && !allowMissing) {
|
|
throw new $TypeError$1("intrinsic " + name2 + " exists, but is not available. Please file an issue!");
|
|
}
|
|
return {
|
|
alias,
|
|
name: intrinsicName,
|
|
value
|
|
};
|
|
}
|
|
throw new $SyntaxError("intrinsic " + name2 + " does not exist!");
|
|
};
|
|
var getIntrinsic = function GetIntrinsic(name2, allowMissing) {
|
|
if (typeof name2 !== "string" || name2.length === 0) {
|
|
throw new $TypeError$1("intrinsic name must be a non-empty string");
|
|
}
|
|
if (arguments.length > 1 && typeof allowMissing !== "boolean") {
|
|
throw new $TypeError$1('"allowMissing" argument must be a boolean');
|
|
}
|
|
if ($exec(/^%?[^%]*%?$/g, name2) === null) {
|
|
throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
|
|
}
|
|
var parts = stringToPath(name2);
|
|
var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
|
|
var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
|
|
var intrinsicRealName = intrinsic.name;
|
|
var value = intrinsic.value;
|
|
var skipFurtherCaching = false;
|
|
var alias = intrinsic.alias;
|
|
if (alias) {
|
|
intrinsicBaseName = alias[0];
|
|
$spliceApply(parts, $concat$1([0, 1], alias));
|
|
}
|
|
for (var i2 = 1, isOwn = true; i2 < parts.length; i2 += 1) {
|
|
var part = parts[i2];
|
|
var first = $strSlice(part, 0, 1);
|
|
var last = $strSlice(part, -1);
|
|
if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) {
|
|
throw new $SyntaxError("property names with quotes must have matching quotes");
|
|
}
|
|
if (part === "constructor" || !isOwn) {
|
|
skipFurtherCaching = true;
|
|
}
|
|
intrinsicBaseName += "." + part;
|
|
intrinsicRealName = "%" + intrinsicBaseName + "%";
|
|
if (hasOwn$1(INTRINSICS, intrinsicRealName)) {
|
|
value = INTRINSICS[intrinsicRealName];
|
|
} else if (value != null) {
|
|
if (!(part in value)) {
|
|
if (!allowMissing) {
|
|
throw new $TypeError$1("base intrinsic for " + name2 + " exists, but the property is not available.");
|
|
}
|
|
return void 0;
|
|
}
|
|
if ($gOPD && i2 + 1 >= parts.length) {
|
|
var desc = $gOPD(value, part);
|
|
isOwn = !!desc;
|
|
if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
|
|
value = desc.get;
|
|
} else {
|
|
value = value[part];
|
|
}
|
|
} else {
|
|
isOwn = hasOwn$1(value, part);
|
|
value = value[part];
|
|
}
|
|
if (isOwn && !skipFurtherCaching) {
|
|
INTRINSICS[intrinsicRealName] = value;
|
|
}
|
|
}
|
|
}
|
|
return value;
|
|
};
|
|
var callBind$1 = { exports: {} };
|
|
(function(module) {
|
|
var bind4 = functionBind;
|
|
var GetIntrinsic3 = getIntrinsic;
|
|
var $apply = GetIntrinsic3("%Function.prototype.apply%");
|
|
var $call = GetIntrinsic3("%Function.prototype.call%");
|
|
var $reflectApply = GetIntrinsic3("%Reflect.apply%", true) || bind4.call($call, $apply);
|
|
var $gOPD2 = GetIntrinsic3("%Object.getOwnPropertyDescriptor%", true);
|
|
var $defineProperty = GetIntrinsic3("%Object.defineProperty%", true);
|
|
var $max = GetIntrinsic3("%Math.max%");
|
|
if ($defineProperty) {
|
|
try {
|
|
$defineProperty({}, "a", { value: 1 });
|
|
} catch (e2) {
|
|
$defineProperty = null;
|
|
}
|
|
}
|
|
module.exports = function callBind2(originalFunction) {
|
|
var func = $reflectApply(bind4, $call, arguments);
|
|
if ($gOPD2 && $defineProperty) {
|
|
var desc = $gOPD2(func, "length");
|
|
if (desc.configurable) {
|
|
$defineProperty(
|
|
func,
|
|
"length",
|
|
{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
|
|
);
|
|
}
|
|
}
|
|
return func;
|
|
};
|
|
var applyBind = function applyBind2() {
|
|
return $reflectApply(bind4, $apply, arguments);
|
|
};
|
|
if ($defineProperty) {
|
|
$defineProperty(module.exports, "apply", { value: applyBind });
|
|
} else {
|
|
module.exports.apply = applyBind;
|
|
}
|
|
})(callBind$1);
|
|
var GetIntrinsic$1 = getIntrinsic;
|
|
var callBind = callBind$1.exports;
|
|
var $indexOf = callBind(GetIntrinsic$1("String.prototype.indexOf"));
|
|
var callBound$1 = function callBoundIntrinsic(name2, allowMissing) {
|
|
var intrinsic = GetIntrinsic$1(name2, !!allowMissing);
|
|
if (typeof intrinsic === "function" && $indexOf(name2, ".prototype.") > -1) {
|
|
return callBind(intrinsic);
|
|
}
|
|
return intrinsic;
|
|
};
|
|
const __viteBrowserExternal = {};
|
|
const __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
__proto__: null,
|
|
default: __viteBrowserExternal
|
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
const require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
|
|
var hasMap = typeof Map === "function" && Map.prototype;
|
|
var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
|
|
var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null;
|
|
var mapForEach = hasMap && Map.prototype.forEach;
|
|
var hasSet = typeof Set === "function" && Set.prototype;
|
|
var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null;
|
|
var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null;
|
|
var setForEach = hasSet && Set.prototype.forEach;
|
|
var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype;
|
|
var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
|
|
var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype;
|
|
var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
|
|
var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype;
|
|
var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
|
|
var booleanValueOf = Boolean.prototype.valueOf;
|
|
var objectToString$2 = Object.prototype.toString;
|
|
var functionToString = Function.prototype.toString;
|
|
var $match = String.prototype.match;
|
|
var $slice = String.prototype.slice;
|
|
var $replace = String.prototype.replace;
|
|
var $toUpperCase = String.prototype.toUpperCase;
|
|
var $toLowerCase = String.prototype.toLowerCase;
|
|
var $test = RegExp.prototype.test;
|
|
var $concat = Array.prototype.concat;
|
|
var $join = Array.prototype.join;
|
|
var $arrSlice = Array.prototype.slice;
|
|
var $floor = Math.floor;
|
|
var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null;
|
|
var gOPS = Object.getOwnPropertySymbols;
|
|
var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null;
|
|
var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object";
|
|
var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null;
|
|
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
|
var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
|
|
return O.__proto__;
|
|
} : null);
|
|
function addNumericSeparator(num, str) {
|
|
if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) {
|
|
return str;
|
|
}
|
|
var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
|
|
if (typeof num === "number") {
|
|
var int = num < 0 ? -$floor(-num) : $floor(num);
|
|
if (int !== num) {
|
|
var intStr = String(int);
|
|
var dec = $slice.call(str, intStr.length + 1);
|
|
return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "");
|
|
}
|
|
}
|
|
return $replace.call(str, sepRegex, "$&_");
|
|
}
|
|
var utilInspect = require$$0;
|
|
var inspectCustom = utilInspect.custom;
|
|
var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
|
|
var objectInspect = function inspect_(obj, options, depth, seen2) {
|
|
var opts = options || {};
|
|
if (has$3(opts, "quoteStyle") && (opts.quoteStyle !== "single" && opts.quoteStyle !== "double")) {
|
|
throw new TypeError('option "quoteStyle" must be "single" or "double"');
|
|
}
|
|
if (has$3(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
|
|
throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
|
|
}
|
|
var customInspect = has$3(opts, "customInspect") ? opts.customInspect : true;
|
|
if (typeof customInspect !== "boolean" && customInspect !== "symbol") {
|
|
throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
|
|
}
|
|
if (has$3(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
|
|
throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
|
|
}
|
|
if (has$3(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") {
|
|
throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
|
|
}
|
|
var numericSeparator = opts.numericSeparator;
|
|
if (typeof obj === "undefined") {
|
|
return "undefined";
|
|
}
|
|
if (obj === null) {
|
|
return "null";
|
|
}
|
|
if (typeof obj === "boolean") {
|
|
return obj ? "true" : "false";
|
|
}
|
|
if (typeof obj === "string") {
|
|
return inspectString(obj, opts);
|
|
}
|
|
if (typeof obj === "number") {
|
|
if (obj === 0) {
|
|
return Infinity / obj > 0 ? "0" : "-0";
|
|
}
|
|
var str = String(obj);
|
|
return numericSeparator ? addNumericSeparator(obj, str) : str;
|
|
}
|
|
if (typeof obj === "bigint") {
|
|
var bigIntStr = String(obj) + "n";
|
|
return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
|
|
}
|
|
var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth;
|
|
if (typeof depth === "undefined") {
|
|
depth = 0;
|
|
}
|
|
if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") {
|
|
return isArray$6(obj) ? "[Array]" : "[Object]";
|
|
}
|
|
var indent = getIndent(opts, depth);
|
|
if (typeof seen2 === "undefined") {
|
|
seen2 = [];
|
|
} else if (indexOf(seen2, obj) >= 0) {
|
|
return "[Circular]";
|
|
}
|
|
function inspect2(value, from, noIndent) {
|
|
if (from) {
|
|
seen2 = $arrSlice.call(seen2);
|
|
seen2.push(from);
|
|
}
|
|
if (noIndent) {
|
|
var newOpts = {
|
|
depth: opts.depth
|
|
};
|
|
if (has$3(opts, "quoteStyle")) {
|
|
newOpts.quoteStyle = opts.quoteStyle;
|
|
}
|
|
return inspect_(value, newOpts, depth + 1, seen2);
|
|
}
|
|
return inspect_(value, opts, depth + 1, seen2);
|
|
}
|
|
if (typeof obj === "function" && !isRegExp$1(obj)) {
|
|
var name2 = nameOf(obj);
|
|
var keys2 = arrObjKeys(obj, inspect2);
|
|
return "[Function" + (name2 ? ": " + name2 : " (anonymous)") + "]" + (keys2.length > 0 ? " { " + $join.call(keys2, ", ") + " }" : "");
|
|
}
|
|
if (isSymbol(obj)) {
|
|
var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
|
|
return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString;
|
|
}
|
|
if (isElement(obj)) {
|
|
var s2 = "<" + $toLowerCase.call(String(obj.nodeName));
|
|
var attrs = obj.attributes || [];
|
|
for (var i2 = 0; i2 < attrs.length; i2++) {
|
|
s2 += " " + attrs[i2].name + "=" + wrapQuotes(quote(attrs[i2].value), "double", opts);
|
|
}
|
|
s2 += ">";
|
|
if (obj.childNodes && obj.childNodes.length) {
|
|
s2 += "...";
|
|
}
|
|
s2 += "</" + $toLowerCase.call(String(obj.nodeName)) + ">";
|
|
return s2;
|
|
}
|
|
if (isArray$6(obj)) {
|
|
if (obj.length === 0) {
|
|
return "[]";
|
|
}
|
|
var xs = arrObjKeys(obj, inspect2);
|
|
if (indent && !singleLineValues(xs)) {
|
|
return "[" + indentedJoin(xs, indent) + "]";
|
|
}
|
|
return "[ " + $join.call(xs, ", ") + " ]";
|
|
}
|
|
if (isError(obj)) {
|
|
var parts = arrObjKeys(obj, inspect2);
|
|
if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) {
|
|
return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect2(obj.cause), parts), ", ") + " }";
|
|
}
|
|
if (parts.length === 0) {
|
|
return "[" + String(obj) + "]";
|
|
}
|
|
return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }";
|
|
}
|
|
if (typeof obj === "object" && customInspect) {
|
|
if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) {
|
|
return utilInspect(obj, { depth: maxDepth - depth });
|
|
} else if (customInspect !== "symbol" && typeof obj.inspect === "function") {
|
|
return obj.inspect();
|
|
}
|
|
}
|
|
if (isMap(obj)) {
|
|
var mapParts = [];
|
|
mapForEach.call(obj, function(value, key) {
|
|
mapParts.push(inspect2(key, obj, true) + " => " + inspect2(value, obj));
|
|
});
|
|
return collectionOf("Map", mapSize.call(obj), mapParts, indent);
|
|
}
|
|
if (isSet(obj)) {
|
|
var setParts = [];
|
|
setForEach.call(obj, function(value) {
|
|
setParts.push(inspect2(value, obj));
|
|
});
|
|
return collectionOf("Set", setSize.call(obj), setParts, indent);
|
|
}
|
|
if (isWeakMap(obj)) {
|
|
return weakCollectionOf("WeakMap");
|
|
}
|
|
if (isWeakSet(obj)) {
|
|
return weakCollectionOf("WeakSet");
|
|
}
|
|
if (isWeakRef(obj)) {
|
|
return weakCollectionOf("WeakRef");
|
|
}
|
|
if (isNumber(obj)) {
|
|
return markBoxed(inspect2(Number(obj)));
|
|
}
|
|
if (isBigInt(obj)) {
|
|
return markBoxed(inspect2(bigIntValueOf.call(obj)));
|
|
}
|
|
if (isBoolean(obj)) {
|
|
return markBoxed(booleanValueOf.call(obj));
|
|
}
|
|
if (isString(obj)) {
|
|
return markBoxed(inspect2(String(obj)));
|
|
}
|
|
if (!isDate(obj) && !isRegExp$1(obj)) {
|
|
var ys = arrObjKeys(obj, inspect2);
|
|
var isPlainObject2 = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
|
|
var protoTag = obj instanceof Object ? "" : "null prototype";
|
|
var stringTag2 = !isPlainObject2 && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
|
|
var constructorTag = isPlainObject2 || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
|
|
var tag = constructorTag + (stringTag2 || protoTag ? "[" + $join.call($concat.call([], stringTag2 || [], protoTag || []), ": ") + "] " : "");
|
|
if (ys.length === 0) {
|
|
return tag + "{}";
|
|
}
|
|
if (indent) {
|
|
return tag + "{" + indentedJoin(ys, indent) + "}";
|
|
}
|
|
return tag + "{ " + $join.call(ys, ", ") + " }";
|
|
}
|
|
return String(obj);
|
|
};
|
|
function wrapQuotes(s2, defaultStyle, opts) {
|
|
var quoteChar = (opts.quoteStyle || defaultStyle) === "double" ? '"' : "'";
|
|
return quoteChar + s2 + quoteChar;
|
|
}
|
|
function quote(s2) {
|
|
return $replace.call(String(s2), /"/g, """);
|
|
}
|
|
function isArray$6(obj) {
|
|
return toStr(obj) === "[object Array]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isDate(obj) {
|
|
return toStr(obj) === "[object Date]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isRegExp$1(obj) {
|
|
return toStr(obj) === "[object RegExp]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isError(obj) {
|
|
return toStr(obj) === "[object Error]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isString(obj) {
|
|
return toStr(obj) === "[object String]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isNumber(obj) {
|
|
return toStr(obj) === "[object Number]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isBoolean(obj) {
|
|
return toStr(obj) === "[object Boolean]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj));
|
|
}
|
|
function isSymbol(obj) {
|
|
if (hasShammedSymbols) {
|
|
return obj && typeof obj === "object" && obj instanceof Symbol;
|
|
}
|
|
if (typeof obj === "symbol") {
|
|
return true;
|
|
}
|
|
if (!obj || typeof obj !== "object" || !symToString) {
|
|
return false;
|
|
}
|
|
try {
|
|
symToString.call(obj);
|
|
return true;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isBigInt(obj) {
|
|
if (!obj || typeof obj !== "object" || !bigIntValueOf) {
|
|
return false;
|
|
}
|
|
try {
|
|
bigIntValueOf.call(obj);
|
|
return true;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
var hasOwn = Object.prototype.hasOwnProperty || function(key) {
|
|
return key in this;
|
|
};
|
|
function has$3(obj, key) {
|
|
return hasOwn.call(obj, key);
|
|
}
|
|
function toStr(obj) {
|
|
return objectToString$2.call(obj);
|
|
}
|
|
function nameOf(f2) {
|
|
if (f2.name) {
|
|
return f2.name;
|
|
}
|
|
var m2 = $match.call(functionToString.call(f2), /^function\s*([\w$]+)/);
|
|
if (m2) {
|
|
return m2[1];
|
|
}
|
|
return null;
|
|
}
|
|
function indexOf(xs, x) {
|
|
if (xs.indexOf) {
|
|
return xs.indexOf(x);
|
|
}
|
|
for (var i2 = 0, l2 = xs.length; i2 < l2; i2++) {
|
|
if (xs[i2] === x) {
|
|
return i2;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function isMap(x) {
|
|
if (!mapSize || !x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
try {
|
|
mapSize.call(x);
|
|
try {
|
|
setSize.call(x);
|
|
} catch (s2) {
|
|
return true;
|
|
}
|
|
return x instanceof Map;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isWeakMap(x) {
|
|
if (!weakMapHas || !x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
try {
|
|
weakMapHas.call(x, weakMapHas);
|
|
try {
|
|
weakSetHas.call(x, weakSetHas);
|
|
} catch (s2) {
|
|
return true;
|
|
}
|
|
return x instanceof WeakMap;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isWeakRef(x) {
|
|
if (!weakRefDeref || !x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
try {
|
|
weakRefDeref.call(x);
|
|
return true;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isSet(x) {
|
|
if (!setSize || !x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
try {
|
|
setSize.call(x);
|
|
try {
|
|
mapSize.call(x);
|
|
} catch (m2) {
|
|
return true;
|
|
}
|
|
return x instanceof Set;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isWeakSet(x) {
|
|
if (!weakSetHas || !x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
try {
|
|
weakSetHas.call(x, weakSetHas);
|
|
try {
|
|
weakMapHas.call(x, weakMapHas);
|
|
} catch (s2) {
|
|
return true;
|
|
}
|
|
return x instanceof WeakSet;
|
|
} catch (e2) {
|
|
}
|
|
return false;
|
|
}
|
|
function isElement(x) {
|
|
if (!x || typeof x !== "object") {
|
|
return false;
|
|
}
|
|
if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) {
|
|
return true;
|
|
}
|
|
return typeof x.nodeName === "string" && typeof x.getAttribute === "function";
|
|
}
|
|
function inspectString(str, opts) {
|
|
if (str.length > opts.maxStringLength) {
|
|
var remaining = str.length - opts.maxStringLength;
|
|
var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
|
|
return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
|
|
}
|
|
var s2 = $replace.call($replace.call(str, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, lowbyte);
|
|
return wrapQuotes(s2, "single", opts);
|
|
}
|
|
function lowbyte(c2) {
|
|
var n2 = c2.charCodeAt(0);
|
|
var x = {
|
|
8: "b",
|
|
9: "t",
|
|
10: "n",
|
|
12: "f",
|
|
13: "r"
|
|
}[n2];
|
|
if (x) {
|
|
return "\\" + x;
|
|
}
|
|
return "\\x" + (n2 < 16 ? "0" : "") + $toUpperCase.call(n2.toString(16));
|
|
}
|
|
function markBoxed(str) {
|
|
return "Object(" + str + ")";
|
|
}
|
|
function weakCollectionOf(type) {
|
|
return type + " { ? }";
|
|
}
|
|
function collectionOf(type, size2, entries, indent) {
|
|
var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", ");
|
|
return type + " (" + size2 + ") {" + joinedEntries + "}";
|
|
}
|
|
function singleLineValues(xs) {
|
|
for (var i2 = 0; i2 < xs.length; i2++) {
|
|
if (indexOf(xs[i2], "\n") >= 0) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function getIndent(opts, depth) {
|
|
var baseIndent;
|
|
if (opts.indent === " ") {
|
|
baseIndent = " ";
|
|
} else if (typeof opts.indent === "number" && opts.indent > 0) {
|
|
baseIndent = $join.call(Array(opts.indent + 1), " ");
|
|
} else {
|
|
return null;
|
|
}
|
|
return {
|
|
base: baseIndent,
|
|
prev: $join.call(Array(depth + 1), baseIndent)
|
|
};
|
|
}
|
|
function indentedJoin(xs, indent) {
|
|
if (xs.length === 0) {
|
|
return "";
|
|
}
|
|
var lineJoiner = "\n" + indent.prev + indent.base;
|
|
return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev;
|
|
}
|
|
function arrObjKeys(obj, inspect2) {
|
|
var isArr = isArray$6(obj);
|
|
var xs = [];
|
|
if (isArr) {
|
|
xs.length = obj.length;
|
|
for (var i2 = 0; i2 < obj.length; i2++) {
|
|
xs[i2] = has$3(obj, i2) ? inspect2(obj[i2], obj) : "";
|
|
}
|
|
}
|
|
var syms = typeof gOPS === "function" ? gOPS(obj) : [];
|
|
var symMap;
|
|
if (hasShammedSymbols) {
|
|
symMap = {};
|
|
for (var k = 0; k < syms.length; k++) {
|
|
symMap["$" + syms[k]] = syms[k];
|
|
}
|
|
}
|
|
for (var key in obj) {
|
|
if (!has$3(obj, key)) {
|
|
continue;
|
|
}
|
|
if (isArr && String(Number(key)) === key && key < obj.length) {
|
|
continue;
|
|
}
|
|
if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) {
|
|
continue;
|
|
} else if ($test.call(/[^\w$]/, key)) {
|
|
xs.push(inspect2(key, obj) + ": " + inspect2(obj[key], obj));
|
|
} else {
|
|
xs.push(key + ": " + inspect2(obj[key], obj));
|
|
}
|
|
}
|
|
if (typeof gOPS === "function") {
|
|
for (var j = 0; j < syms.length; j++) {
|
|
if (isEnumerable.call(obj, syms[j])) {
|
|
xs.push("[" + inspect2(syms[j]) + "]: " + inspect2(obj[syms[j]], obj));
|
|
}
|
|
}
|
|
}
|
|
return xs;
|
|
}
|
|
var GetIntrinsic2 = getIntrinsic;
|
|
var callBound = callBound$1;
|
|
var inspect = objectInspect;
|
|
var $TypeError = GetIntrinsic2("%TypeError%");
|
|
var $WeakMap = GetIntrinsic2("%WeakMap%", true);
|
|
var $Map = GetIntrinsic2("%Map%", true);
|
|
var $weakMapGet = callBound("WeakMap.prototype.get", true);
|
|
var $weakMapSet = callBound("WeakMap.prototype.set", true);
|
|
var $weakMapHas = callBound("WeakMap.prototype.has", true);
|
|
var $mapGet = callBound("Map.prototype.get", true);
|
|
var $mapSet = callBound("Map.prototype.set", true);
|
|
var $mapHas = callBound("Map.prototype.has", true);
|
|
var listGetNode = function(list, key) {
|
|
for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
|
|
if (curr.key === key) {
|
|
prev.next = curr.next;
|
|
curr.next = list.next;
|
|
list.next = curr;
|
|
return curr;
|
|
}
|
|
}
|
|
};
|
|
var listGet = function(objects, key) {
|
|
var node = listGetNode(objects, key);
|
|
return node && node.value;
|
|
};
|
|
var listSet = function(objects, key, value) {
|
|
var node = listGetNode(objects, key);
|
|
if (node) {
|
|
node.value = value;
|
|
} else {
|
|
objects.next = {
|
|
key,
|
|
next: objects.next,
|
|
value
|
|
};
|
|
}
|
|
};
|
|
var listHas = function(objects, key) {
|
|
return !!listGetNode(objects, key);
|
|
};
|
|
var sideChannel = function getSideChannel() {
|
|
var $wm;
|
|
var $m;
|
|
var $o;
|
|
var channel = {
|
|
assert: function(key) {
|
|
if (!channel.has(key)) {
|
|
throw new $TypeError("Side channel does not contain " + inspect(key));
|
|
}
|
|
},
|
|
get: function(key) {
|
|
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
|
|
if ($wm) {
|
|
return $weakMapGet($wm, key);
|
|
}
|
|
} else if ($Map) {
|
|
if ($m) {
|
|
return $mapGet($m, key);
|
|
}
|
|
} else {
|
|
if ($o) {
|
|
return listGet($o, key);
|
|
}
|
|
}
|
|
},
|
|
has: function(key) {
|
|
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
|
|
if ($wm) {
|
|
return $weakMapHas($wm, key);
|
|
}
|
|
} else if ($Map) {
|
|
if ($m) {
|
|
return $mapHas($m, key);
|
|
}
|
|
} else {
|
|
if ($o) {
|
|
return listHas($o, key);
|
|
}
|
|
}
|
|
return false;
|
|
},
|
|
set: function(key, value) {
|
|
if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
|
|
if (!$wm) {
|
|
$wm = new $WeakMap();
|
|
}
|
|
$weakMapSet($wm, key, value);
|
|
} else if ($Map) {
|
|
if (!$m) {
|
|
$m = new $Map();
|
|
}
|
|
$mapSet($m, key, value);
|
|
} else {
|
|
if (!$o) {
|
|
$o = { key: {}, next: null };
|
|
}
|
|
listSet($o, key, value);
|
|
}
|
|
}
|
|
};
|
|
return channel;
|
|
};
|
|
var replace = String.prototype.replace;
|
|
var percentTwenties = /%20/g;
|
|
var Format = {
|
|
RFC1738: "RFC1738",
|
|
RFC3986: "RFC3986"
|
|
};
|
|
var formats$3 = {
|
|
"default": Format.RFC3986,
|
|
formatters: {
|
|
RFC1738: function(value) {
|
|
return replace.call(value, percentTwenties, "+");
|
|
},
|
|
RFC3986: function(value) {
|
|
return String(value);
|
|
}
|
|
},
|
|
RFC1738: Format.RFC1738,
|
|
RFC3986: Format.RFC3986
|
|
};
|
|
var formats$2 = formats$3;
|
|
var has$2 = Object.prototype.hasOwnProperty;
|
|
var isArray$5 = Array.isArray;
|
|
var hexTable = function() {
|
|
var array = [];
|
|
for (var i2 = 0; i2 < 256; ++i2) {
|
|
array.push("%" + ((i2 < 16 ? "0" : "") + i2.toString(16)).toUpperCase());
|
|
}
|
|
return array;
|
|
}();
|
|
var compactQueue = function compactQueue2(queue2) {
|
|
while (queue2.length > 1) {
|
|
var item = queue2.pop();
|
|
var obj = item.obj[item.prop];
|
|
if (isArray$5(obj)) {
|
|
var compacted = [];
|
|
for (var j = 0; j < obj.length; ++j) {
|
|
if (typeof obj[j] !== "undefined") {
|
|
compacted.push(obj[j]);
|
|
}
|
|
}
|
|
item.obj[item.prop] = compacted;
|
|
}
|
|
}
|
|
};
|
|
var arrayToObject = function arrayToObject2(source, options) {
|
|
var obj = options && options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
|
|
for (var i2 = 0; i2 < source.length; ++i2) {
|
|
if (typeof source[i2] !== "undefined") {
|
|
obj[i2] = source[i2];
|
|
}
|
|
}
|
|
return obj;
|
|
};
|
|
var merge = function merge2(target, source, options) {
|
|
if (!source) {
|
|
return target;
|
|
}
|
|
if (typeof source !== "object") {
|
|
if (isArray$5(target)) {
|
|
target.push(source);
|
|
} else if (target && typeof target === "object") {
|
|
if (options && (options.plainObjects || options.allowPrototypes) || !has$2.call(Object.prototype, source)) {
|
|
target[source] = true;
|
|
}
|
|
} else {
|
|
return [target, source];
|
|
}
|
|
return target;
|
|
}
|
|
if (!target || typeof target !== "object") {
|
|
return [target].concat(source);
|
|
}
|
|
var mergeTarget = target;
|
|
if (isArray$5(target) && !isArray$5(source)) {
|
|
mergeTarget = arrayToObject(target, options);
|
|
}
|
|
if (isArray$5(target) && isArray$5(source)) {
|
|
source.forEach(function(item, i2) {
|
|
if (has$2.call(target, i2)) {
|
|
var targetItem = target[i2];
|
|
if (targetItem && typeof targetItem === "object" && item && typeof item === "object") {
|
|
target[i2] = merge2(targetItem, item, options);
|
|
} else {
|
|
target.push(item);
|
|
}
|
|
} else {
|
|
target[i2] = item;
|
|
}
|
|
});
|
|
return target;
|
|
}
|
|
return Object.keys(source).reduce(function(acc, key) {
|
|
var value = source[key];
|
|
if (has$2.call(acc, key)) {
|
|
acc[key] = merge2(acc[key], value, options);
|
|
} else {
|
|
acc[key] = value;
|
|
}
|
|
return acc;
|
|
}, mergeTarget);
|
|
};
|
|
var assign = function assignSingleSource(target, source) {
|
|
return Object.keys(source).reduce(function(acc, key) {
|
|
acc[key] = source[key];
|
|
return acc;
|
|
}, target);
|
|
};
|
|
var decode = function(str, decoder, charset) {
|
|
var strWithoutPlus = str.replace(/\+/g, " ");
|
|
if (charset === "iso-8859-1") {
|
|
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
|
}
|
|
try {
|
|
return decodeURIComponent(strWithoutPlus);
|
|
} catch (e2) {
|
|
return strWithoutPlus;
|
|
}
|
|
};
|
|
var encode = function encode2(str, defaultEncoder, charset, kind, format) {
|
|
if (str.length === 0) {
|
|
return str;
|
|
}
|
|
var string = str;
|
|
if (typeof str === "symbol") {
|
|
string = Symbol.prototype.toString.call(str);
|
|
} else if (typeof str !== "string") {
|
|
string = String(str);
|
|
}
|
|
if (charset === "iso-8859-1") {
|
|
return escape(string).replace(/%u[0-9a-f]{4}/gi, function($0) {
|
|
return "%26%23" + parseInt($0.slice(2), 16) + "%3B";
|
|
});
|
|
}
|
|
var out = "";
|
|
for (var i2 = 0; i2 < string.length; ++i2) {
|
|
var c2 = string.charCodeAt(i2);
|
|
if (c2 === 45 || c2 === 46 || c2 === 95 || c2 === 126 || c2 >= 48 && c2 <= 57 || c2 >= 65 && c2 <= 90 || c2 >= 97 && c2 <= 122 || format === formats$2.RFC1738 && (c2 === 40 || c2 === 41)) {
|
|
out += string.charAt(i2);
|
|
continue;
|
|
}
|
|
if (c2 < 128) {
|
|
out = out + hexTable[c2];
|
|
continue;
|
|
}
|
|
if (c2 < 2048) {
|
|
out = out + (hexTable[192 | c2 >> 6] + hexTable[128 | c2 & 63]);
|
|
continue;
|
|
}
|
|
if (c2 < 55296 || c2 >= 57344) {
|
|
out = out + (hexTable[224 | c2 >> 12] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63]);
|
|
continue;
|
|
}
|
|
i2 += 1;
|
|
c2 = 65536 + ((c2 & 1023) << 10 | string.charCodeAt(i2) & 1023);
|
|
out += hexTable[240 | c2 >> 18] + hexTable[128 | c2 >> 12 & 63] + hexTable[128 | c2 >> 6 & 63] + hexTable[128 | c2 & 63];
|
|
}
|
|
return out;
|
|
};
|
|
var compact = function compact2(value) {
|
|
var queue2 = [{ obj: { o: value }, prop: "o" }];
|
|
var refs = [];
|
|
for (var i2 = 0; i2 < queue2.length; ++i2) {
|
|
var item = queue2[i2];
|
|
var obj = item.obj[item.prop];
|
|
var keys2 = Object.keys(obj);
|
|
for (var j = 0; j < keys2.length; ++j) {
|
|
var key = keys2[j];
|
|
var val = obj[key];
|
|
if (typeof val === "object" && val !== null && refs.indexOf(val) === -1) {
|
|
queue2.push({ obj, prop: key });
|
|
refs.push(val);
|
|
}
|
|
}
|
|
}
|
|
compactQueue(queue2);
|
|
return value;
|
|
};
|
|
var isRegExp = function isRegExp2(obj) {
|
|
return Object.prototype.toString.call(obj) === "[object RegExp]";
|
|
};
|
|
var isBuffer$2 = function isBuffer(obj) {
|
|
if (!obj || typeof obj !== "object") {
|
|
return false;
|
|
}
|
|
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
|
};
|
|
var combine = function combine2(a2, b2) {
|
|
return [].concat(a2, b2);
|
|
};
|
|
var maybeMap = function maybeMap2(val, fn) {
|
|
if (isArray$5(val)) {
|
|
var mapped = [];
|
|
for (var i2 = 0; i2 < val.length; i2 += 1) {
|
|
mapped.push(fn(val[i2]));
|
|
}
|
|
return mapped;
|
|
}
|
|
return fn(val);
|
|
};
|
|
var utils$2 = {
|
|
arrayToObject,
|
|
assign,
|
|
combine,
|
|
compact,
|
|
decode,
|
|
encode,
|
|
isBuffer: isBuffer$2,
|
|
isRegExp,
|
|
maybeMap,
|
|
merge
|
|
};
|
|
var getSideChannel2 = sideChannel;
|
|
var utils$1 = utils$2;
|
|
var formats$1 = formats$3;
|
|
var has$1 = Object.prototype.hasOwnProperty;
|
|
var arrayPrefixGenerators = {
|
|
brackets: function brackets(prefix) {
|
|
return prefix + "[]";
|
|
},
|
|
comma: "comma",
|
|
indices: function indices(prefix, key) {
|
|
return prefix + "[" + key + "]";
|
|
},
|
|
repeat: function repeat(prefix) {
|
|
return prefix;
|
|
}
|
|
};
|
|
var isArray$4 = Array.isArray;
|
|
var split = String.prototype.split;
|
|
var push = Array.prototype.push;
|
|
var pushToArray = function(arr, valueOrArray) {
|
|
push.apply(arr, isArray$4(valueOrArray) ? valueOrArray : [valueOrArray]);
|
|
};
|
|
var toISO = Date.prototype.toISOString;
|
|
var defaultFormat = formats$1["default"];
|
|
var defaults$1 = {
|
|
addQueryPrefix: false,
|
|
allowDots: false,
|
|
charset: "utf-8",
|
|
charsetSentinel: false,
|
|
delimiter: "&",
|
|
encode: true,
|
|
encoder: utils$1.encode,
|
|
encodeValuesOnly: false,
|
|
format: defaultFormat,
|
|
formatter: formats$1.formatters[defaultFormat],
|
|
indices: false,
|
|
serializeDate: function serializeDate(date) {
|
|
return toISO.call(date);
|
|
},
|
|
skipNulls: false,
|
|
strictNullHandling: false
|
|
};
|
|
var isNonNullishPrimitive = function isNonNullishPrimitive2(v) {
|
|
return typeof v === "string" || typeof v === "number" || typeof v === "boolean" || typeof v === "symbol" || typeof v === "bigint";
|
|
};
|
|
var sentinel = {};
|
|
var stringify$1 = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate2, format, formatter, encodeValuesOnly, charset, sideChannel2) {
|
|
var obj = object;
|
|
var tmpSc = sideChannel2;
|
|
var step = 0;
|
|
var findFlag = false;
|
|
while ((tmpSc = tmpSc.get(sentinel)) !== void 0 && !findFlag) {
|
|
var pos = tmpSc.get(object);
|
|
step += 1;
|
|
if (typeof pos !== "undefined") {
|
|
if (pos === step) {
|
|
throw new RangeError("Cyclic object value");
|
|
} else {
|
|
findFlag = true;
|
|
}
|
|
}
|
|
if (typeof tmpSc.get(sentinel) === "undefined") {
|
|
step = 0;
|
|
}
|
|
}
|
|
if (typeof filter === "function") {
|
|
obj = filter(prefix, obj);
|
|
} else if (obj instanceof Date) {
|
|
obj = serializeDate2(obj);
|
|
} else if (generateArrayPrefix === "comma" && isArray$4(obj)) {
|
|
obj = utils$1.maybeMap(obj, function(value2) {
|
|
if (value2 instanceof Date) {
|
|
return serializeDate2(value2);
|
|
}
|
|
return value2;
|
|
});
|
|
}
|
|
if (obj === null) {
|
|
if (strictNullHandling) {
|
|
return encoder && !encodeValuesOnly ? encoder(prefix, defaults$1.encoder, charset, "key", format) : prefix;
|
|
}
|
|
obj = "";
|
|
}
|
|
if (isNonNullishPrimitive(obj) || utils$1.isBuffer(obj)) {
|
|
if (encoder) {
|
|
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults$1.encoder, charset, "key", format);
|
|
if (generateArrayPrefix === "comma" && encodeValuesOnly) {
|
|
var valuesArray = split.call(String(obj), ",");
|
|
var valuesJoined = "";
|
|
for (var i2 = 0; i2 < valuesArray.length; ++i2) {
|
|
valuesJoined += (i2 === 0 ? "" : ",") + formatter(encoder(valuesArray[i2], defaults$1.encoder, charset, "value", format));
|
|
}
|
|
return [formatter(keyValue) + (commaRoundTrip && isArray$4(obj) && valuesArray.length === 1 ? "[]" : "") + "=" + valuesJoined];
|
|
}
|
|
return [formatter(keyValue) + "=" + formatter(encoder(obj, defaults$1.encoder, charset, "value", format))];
|
|
}
|
|
return [formatter(prefix) + "=" + formatter(String(obj))];
|
|
}
|
|
var values = [];
|
|
if (typeof obj === "undefined") {
|
|
return values;
|
|
}
|
|
var objKeys;
|
|
if (generateArrayPrefix === "comma" && isArray$4(obj)) {
|
|
objKeys = [{ value: obj.length > 0 ? obj.join(",") || null : void 0 }];
|
|
} else if (isArray$4(filter)) {
|
|
objKeys = filter;
|
|
} else {
|
|
var keys2 = Object.keys(obj);
|
|
objKeys = sort ? keys2.sort(sort) : keys2;
|
|
}
|
|
var adjustedPrefix = commaRoundTrip && isArray$4(obj) && obj.length === 1 ? prefix + "[]" : prefix;
|
|
for (var j = 0; j < objKeys.length; ++j) {
|
|
var key = objKeys[j];
|
|
var value = typeof key === "object" && typeof key.value !== "undefined" ? key.value : obj[key];
|
|
if (skipNulls && value === null) {
|
|
continue;
|
|
}
|
|
var keyPrefix = isArray$4(obj) ? typeof generateArrayPrefix === "function" ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? "." + key : "[" + key + "]");
|
|
sideChannel2.set(object, step);
|
|
var valueSideChannel = getSideChannel2();
|
|
valueSideChannel.set(sentinel, sideChannel2);
|
|
pushToArray(values, stringify(
|
|
value,
|
|
keyPrefix,
|
|
generateArrayPrefix,
|
|
commaRoundTrip,
|
|
strictNullHandling,
|
|
skipNulls,
|
|
encoder,
|
|
filter,
|
|
sort,
|
|
allowDots,
|
|
serializeDate2,
|
|
format,
|
|
formatter,
|
|
encodeValuesOnly,
|
|
charset,
|
|
valueSideChannel
|
|
));
|
|
}
|
|
return values;
|
|
};
|
|
var normalizeStringifyOptions = function normalizeStringifyOptions2(opts) {
|
|
if (!opts) {
|
|
return defaults$1;
|
|
}
|
|
if (opts.encoder !== null && typeof opts.encoder !== "undefined" && typeof opts.encoder !== "function") {
|
|
throw new TypeError("Encoder has to be a function.");
|
|
}
|
|
var charset = opts.charset || defaults$1.charset;
|
|
if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
|
|
throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
|
|
}
|
|
var format = formats$1["default"];
|
|
if (typeof opts.format !== "undefined") {
|
|
if (!has$1.call(formats$1.formatters, opts.format)) {
|
|
throw new TypeError("Unknown format option provided.");
|
|
}
|
|
format = opts.format;
|
|
}
|
|
var formatter = formats$1.formatters[format];
|
|
var filter = defaults$1.filter;
|
|
if (typeof opts.filter === "function" || isArray$4(opts.filter)) {
|
|
filter = opts.filter;
|
|
}
|
|
return {
|
|
addQueryPrefix: typeof opts.addQueryPrefix === "boolean" ? opts.addQueryPrefix : defaults$1.addQueryPrefix,
|
|
allowDots: typeof opts.allowDots === "undefined" ? defaults$1.allowDots : !!opts.allowDots,
|
|
charset,
|
|
charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults$1.charsetSentinel,
|
|
delimiter: typeof opts.delimiter === "undefined" ? defaults$1.delimiter : opts.delimiter,
|
|
encode: typeof opts.encode === "boolean" ? opts.encode : defaults$1.encode,
|
|
encoder: typeof opts.encoder === "function" ? opts.encoder : defaults$1.encoder,
|
|
encodeValuesOnly: typeof opts.encodeValuesOnly === "boolean" ? opts.encodeValuesOnly : defaults$1.encodeValuesOnly,
|
|
filter,
|
|
format,
|
|
formatter,
|
|
serializeDate: typeof opts.serializeDate === "function" ? opts.serializeDate : defaults$1.serializeDate,
|
|
skipNulls: typeof opts.skipNulls === "boolean" ? opts.skipNulls : defaults$1.skipNulls,
|
|
sort: typeof opts.sort === "function" ? opts.sort : null,
|
|
strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults$1.strictNullHandling
|
|
};
|
|
};
|
|
var stringify_1 = function(object, opts) {
|
|
var obj = object;
|
|
var options = normalizeStringifyOptions(opts);
|
|
var objKeys;
|
|
var filter;
|
|
if (typeof options.filter === "function") {
|
|
filter = options.filter;
|
|
obj = filter("", obj);
|
|
} else if (isArray$4(options.filter)) {
|
|
filter = options.filter;
|
|
objKeys = filter;
|
|
}
|
|
var keys2 = [];
|
|
if (typeof obj !== "object" || obj === null) {
|
|
return "";
|
|
}
|
|
var arrayFormat;
|
|
if (opts && opts.arrayFormat in arrayPrefixGenerators) {
|
|
arrayFormat = opts.arrayFormat;
|
|
} else if (opts && "indices" in opts) {
|
|
arrayFormat = opts.indices ? "indices" : "repeat";
|
|
} else {
|
|
arrayFormat = "indices";
|
|
}
|
|
var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
|
|
if (opts && "commaRoundTrip" in opts && typeof opts.commaRoundTrip !== "boolean") {
|
|
throw new TypeError("`commaRoundTrip` must be a boolean, or absent");
|
|
}
|
|
var commaRoundTrip = generateArrayPrefix === "comma" && opts && opts.commaRoundTrip;
|
|
if (!objKeys) {
|
|
objKeys = Object.keys(obj);
|
|
}
|
|
if (options.sort) {
|
|
objKeys.sort(options.sort);
|
|
}
|
|
var sideChannel2 = getSideChannel2();
|
|
for (var i2 = 0; i2 < objKeys.length; ++i2) {
|
|
var key = objKeys[i2];
|
|
if (options.skipNulls && obj[key] === null) {
|
|
continue;
|
|
}
|
|
pushToArray(keys2, stringify$1(
|
|
obj[key],
|
|
key,
|
|
generateArrayPrefix,
|
|
commaRoundTrip,
|
|
options.strictNullHandling,
|
|
options.skipNulls,
|
|
options.encode ? options.encoder : null,
|
|
options.filter,
|
|
options.sort,
|
|
options.allowDots,
|
|
options.serializeDate,
|
|
options.format,
|
|
options.formatter,
|
|
options.encodeValuesOnly,
|
|
options.charset,
|
|
sideChannel2
|
|
));
|
|
}
|
|
var joined = keys2.join(options.delimiter);
|
|
var prefix = options.addQueryPrefix === true ? "?" : "";
|
|
if (options.charsetSentinel) {
|
|
if (options.charset === "iso-8859-1") {
|
|
prefix += "utf8=%26%2310003%3B&";
|
|
} else {
|
|
prefix += "utf8=%E2%9C%93&";
|
|
}
|
|
}
|
|
return joined.length > 0 ? prefix + joined : "";
|
|
};
|
|
var utils = utils$2;
|
|
var has = Object.prototype.hasOwnProperty;
|
|
var isArray$3 = Array.isArray;
|
|
var defaults = {
|
|
allowDots: false,
|
|
allowPrototypes: false,
|
|
allowSparse: false,
|
|
arrayLimit: 20,
|
|
charset: "utf-8",
|
|
charsetSentinel: false,
|
|
comma: false,
|
|
decoder: utils.decode,
|
|
delimiter: "&",
|
|
depth: 5,
|
|
ignoreQueryPrefix: false,
|
|
interpretNumericEntities: false,
|
|
parameterLimit: 1e3,
|
|
parseArrays: true,
|
|
plainObjects: false,
|
|
strictNullHandling: false
|
|
};
|
|
var interpretNumericEntities = function(str) {
|
|
return str.replace(/&#(\d+);/g, function($0, numberStr) {
|
|
return String.fromCharCode(parseInt(numberStr, 10));
|
|
});
|
|
};
|
|
var parseArrayValue = function(val, options) {
|
|
if (val && typeof val === "string" && options.comma && val.indexOf(",") > -1) {
|
|
return val.split(",");
|
|
}
|
|
return val;
|
|
};
|
|
var isoSentinel = "utf8=%26%2310003%3B";
|
|
var charsetSentinel = "utf8=%E2%9C%93";
|
|
var parseValues = function parseQueryStringValues(str, options) {
|
|
var obj = {};
|
|
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, "") : str;
|
|
var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit;
|
|
var parts = cleanStr.split(options.delimiter, limit);
|
|
var skipIndex = -1;
|
|
var i2;
|
|
var charset = options.charset;
|
|
if (options.charsetSentinel) {
|
|
for (i2 = 0; i2 < parts.length; ++i2) {
|
|
if (parts[i2].indexOf("utf8=") === 0) {
|
|
if (parts[i2] === charsetSentinel) {
|
|
charset = "utf-8";
|
|
} else if (parts[i2] === isoSentinel) {
|
|
charset = "iso-8859-1";
|
|
}
|
|
skipIndex = i2;
|
|
i2 = parts.length;
|
|
}
|
|
}
|
|
}
|
|
for (i2 = 0; i2 < parts.length; ++i2) {
|
|
if (i2 === skipIndex) {
|
|
continue;
|
|
}
|
|
var part = parts[i2];
|
|
var bracketEqualsPos = part.indexOf("]=");
|
|
var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
|
|
var key, val;
|
|
if (pos === -1) {
|
|
key = options.decoder(part, defaults.decoder, charset, "key");
|
|
val = options.strictNullHandling ? null : "";
|
|
} else {
|
|
key = options.decoder(part.slice(0, pos), defaults.decoder, charset, "key");
|
|
val = utils.maybeMap(
|
|
parseArrayValue(part.slice(pos + 1), options),
|
|
function(encodedVal) {
|
|
return options.decoder(encodedVal, defaults.decoder, charset, "value");
|
|
}
|
|
);
|
|
}
|
|
if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
|
|
val = interpretNumericEntities(val);
|
|
}
|
|
if (part.indexOf("[]=") > -1) {
|
|
val = isArray$3(val) ? [val] : val;
|
|
}
|
|
if (has.call(obj, key)) {
|
|
obj[key] = utils.combine(obj[key], val);
|
|
} else {
|
|
obj[key] = val;
|
|
}
|
|
}
|
|
return obj;
|
|
};
|
|
var parseObject = function(chain, val, options, valuesParsed) {
|
|
var leaf = valuesParsed ? val : parseArrayValue(val, options);
|
|
for (var i2 = chain.length - 1; i2 >= 0; --i2) {
|
|
var obj;
|
|
var root2 = chain[i2];
|
|
if (root2 === "[]" && options.parseArrays) {
|
|
obj = [].concat(leaf);
|
|
} else {
|
|
obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
|
|
var cleanRoot = root2.charAt(0) === "[" && root2.charAt(root2.length - 1) === "]" ? root2.slice(1, -1) : root2;
|
|
var index2 = parseInt(cleanRoot, 10);
|
|
if (!options.parseArrays && cleanRoot === "") {
|
|
obj = { 0: leaf };
|
|
} else if (!isNaN(index2) && root2 !== cleanRoot && String(index2) === cleanRoot && index2 >= 0 && (options.parseArrays && index2 <= options.arrayLimit)) {
|
|
obj = [];
|
|
obj[index2] = leaf;
|
|
} else if (cleanRoot !== "__proto__") {
|
|
obj[cleanRoot] = leaf;
|
|
}
|
|
}
|
|
leaf = obj;
|
|
}
|
|
return leaf;
|
|
};
|
|
var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
|
|
if (!givenKey) {
|
|
return;
|
|
}
|
|
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, "[$1]") : givenKey;
|
|
var brackets2 = /(\[[^[\]]*])/;
|
|
var child = /(\[[^[\]]*])/g;
|
|
var segment = options.depth > 0 && brackets2.exec(key);
|
|
var parent = segment ? key.slice(0, segment.index) : key;
|
|
var keys2 = [];
|
|
if (parent) {
|
|
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
|
if (!options.allowPrototypes) {
|
|
return;
|
|
}
|
|
}
|
|
keys2.push(parent);
|
|
}
|
|
var i2 = 0;
|
|
while (options.depth > 0 && (segment = child.exec(key)) !== null && i2 < options.depth) {
|
|
i2 += 1;
|
|
if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
|
|
if (!options.allowPrototypes) {
|
|
return;
|
|
}
|
|
}
|
|
keys2.push(segment[1]);
|
|
}
|
|
if (segment) {
|
|
keys2.push("[" + key.slice(segment.index) + "]");
|
|
}
|
|
return parseObject(keys2, val, options, valuesParsed);
|
|
};
|
|
var normalizeParseOptions = function normalizeParseOptions2(opts) {
|
|
if (!opts) {
|
|
return defaults;
|
|
}
|
|
if (opts.decoder !== null && opts.decoder !== void 0 && typeof opts.decoder !== "function") {
|
|
throw new TypeError("Decoder has to be a function.");
|
|
}
|
|
if (typeof opts.charset !== "undefined" && opts.charset !== "utf-8" && opts.charset !== "iso-8859-1") {
|
|
throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");
|
|
}
|
|
var charset = typeof opts.charset === "undefined" ? defaults.charset : opts.charset;
|
|
return {
|
|
allowDots: typeof opts.allowDots === "undefined" ? defaults.allowDots : !!opts.allowDots,
|
|
allowPrototypes: typeof opts.allowPrototypes === "boolean" ? opts.allowPrototypes : defaults.allowPrototypes,
|
|
allowSparse: typeof opts.allowSparse === "boolean" ? opts.allowSparse : defaults.allowSparse,
|
|
arrayLimit: typeof opts.arrayLimit === "number" ? opts.arrayLimit : defaults.arrayLimit,
|
|
charset,
|
|
charsetSentinel: typeof opts.charsetSentinel === "boolean" ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
comma: typeof opts.comma === "boolean" ? opts.comma : defaults.comma,
|
|
decoder: typeof opts.decoder === "function" ? opts.decoder : defaults.decoder,
|
|
delimiter: typeof opts.delimiter === "string" || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
|
depth: typeof opts.depth === "number" || opts.depth === false ? +opts.depth : defaults.depth,
|
|
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
|
interpretNumericEntities: typeof opts.interpretNumericEntities === "boolean" ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
|
parameterLimit: typeof opts.parameterLimit === "number" ? opts.parameterLimit : defaults.parameterLimit,
|
|
parseArrays: opts.parseArrays !== false,
|
|
plainObjects: typeof opts.plainObjects === "boolean" ? opts.plainObjects : defaults.plainObjects,
|
|
strictNullHandling: typeof opts.strictNullHandling === "boolean" ? opts.strictNullHandling : defaults.strictNullHandling
|
|
};
|
|
};
|
|
var parse$1 = function(str, opts) {
|
|
var options = normalizeParseOptions(opts);
|
|
if (str === "" || str === null || typeof str === "undefined") {
|
|
return options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
|
|
}
|
|
var tempObj = typeof str === "string" ? parseValues(str, options) : str;
|
|
var obj = options.plainObjects ? /* @__PURE__ */ Object.create(null) : {};
|
|
var keys2 = Object.keys(tempObj);
|
|
for (var i2 = 0; i2 < keys2.length; ++i2) {
|
|
var key = keys2[i2];
|
|
var newObj = parseKeys(key, tempObj[key], options, typeof str === "string");
|
|
obj = utils.merge(obj, newObj, options);
|
|
}
|
|
if (options.allowSparse === true) {
|
|
return obj;
|
|
}
|
|
return utils.compact(obj);
|
|
};
|
|
var stringify2 = stringify_1;
|
|
var parse = parse$1;
|
|
var formats = formats$3;
|
|
var lib = {
|
|
formats,
|
|
parse,
|
|
stringify: stringify2
|
|
};
|
|
var isMergeableObject = function isMergeableObject2(value) {
|
|
return isNonNullObject(value) && !isSpecial(value);
|
|
};
|
|
function isNonNullObject(value) {
|
|
return !!value && typeof value === "object";
|
|
}
|
|
function isSpecial(value) {
|
|
var stringValue = Object.prototype.toString.call(value);
|
|
return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
|
|
}
|
|
var canUseSymbol = typeof Symbol === "function" && Symbol.for;
|
|
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
|
|
function isReactElement(value) {
|
|
return value.$$typeof === REACT_ELEMENT_TYPE;
|
|
}
|
|
function emptyTarget(val) {
|
|
return Array.isArray(val) ? [] : {};
|
|
}
|
|
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;
|
|
}
|
|
function defaultArrayMerge(target, source, options) {
|
|
return target.concat(source).map(function(element) {
|
|
return cloneUnlessOtherwiseSpecified(element, options);
|
|
});
|
|
}
|
|
function getMergeFunction(key, options) {
|
|
if (!options.customMerge) {
|
|
return deepmerge;
|
|
}
|
|
var customMerge = options.customMerge(key);
|
|
return typeof customMerge === "function" ? customMerge : deepmerge;
|
|
}
|
|
function getEnumerableOwnPropertySymbols(target) {
|
|
return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
|
|
return target.propertyIsEnumerable(symbol);
|
|
}) : [];
|
|
}
|
|
function getKeys(target) {
|
|
return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
|
|
}
|
|
function propertyIsOnObject(object, property) {
|
|
try {
|
|
return property in object;
|
|
} catch (_) {
|
|
return false;
|
|
}
|
|
}
|
|
function propertyIsUnsafe(target, key) {
|
|
return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
|
|
}
|
|
function mergeObject(target, source, options) {
|
|
var destination = {};
|
|
if (options.isMergeableObject(target)) {
|
|
getKeys(target).forEach(function(key) {
|
|
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
|
|
});
|
|
}
|
|
getKeys(source).forEach(function(key) {
|
|
if (propertyIsUnsafe(target, key)) {
|
|
return;
|
|
}
|
|
if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
|
|
destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
|
|
} else {
|
|
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
|
|
}
|
|
});
|
|
return destination;
|
|
}
|
|
function deepmerge(target, source, options) {
|
|
options = options || {};
|
|
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
|
|
options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
|
|
var sourceIsArray = Array.isArray(source);
|
|
var targetIsArray = Array.isArray(target);
|
|
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
|
|
if (!sourceAndTargetTypesMatch) {
|
|
return cloneUnlessOtherwiseSpecified(source, options);
|
|
} else if (sourceIsArray) {
|
|
return options.arrayMerge(target, source, options);
|
|
} else {
|
|
return mergeObject(target, source, options);
|
|
}
|
|
}
|
|
deepmerge.all = function deepmergeAll(array, options) {
|
|
if (!Array.isArray(array)) {
|
|
throw new Error("first argument should be an array");
|
|
}
|
|
return array.reduce(function(prev, next) {
|
|
return deepmerge(prev, next, options);
|
|
}, {});
|
|
};
|
|
var deepmerge_1 = deepmerge;
|
|
var cjs = deepmerge_1;
|
|
(function(exports) {
|
|
function e2(e3) {
|
|
return e3 && "object" == typeof e3 && "default" in e3 ? e3.default : e3;
|
|
}
|
|
var t2 = e2(axios$3.exports), n2 = lib, i2 = e2(cjs);
|
|
function r2() {
|
|
return (r2 = Object.assign || function(e3) {
|
|
for (var t3 = 1; t3 < arguments.length; t3++) {
|
|
var n3 = arguments[t3];
|
|
for (var i3 in n3)
|
|
Object.prototype.hasOwnProperty.call(n3, i3) && (e3[i3] = n3[i3]);
|
|
}
|
|
return e3;
|
|
}).apply(this, arguments);
|
|
}
|
|
var o2, s2 = { modal: null, listener: null, show: function(e3) {
|
|
var t3 = this;
|
|
"object" == typeof e3 && (e3 = "All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.<hr>" + JSON.stringify(e3));
|
|
var n3 = document.createElement("html");
|
|
n3.innerHTML = e3, n3.querySelectorAll("a").forEach(function(e4) {
|
|
return e4.setAttribute("target", "_top");
|
|
}), this.modal = document.createElement("div"), this.modal.style.position = "fixed", this.modal.style.width = "100vw", this.modal.style.height = "100vh", this.modal.style.padding = "50px", this.modal.style.boxSizing = "border-box", this.modal.style.backgroundColor = "rgba(0, 0, 0, .6)", this.modal.style.zIndex = 2e5, this.modal.addEventListener("click", function() {
|
|
return t3.hide();
|
|
});
|
|
var i3 = document.createElement("iframe");
|
|
if (i3.style.backgroundColor = "white", i3.style.borderRadius = "5px", i3.style.width = "100%", i3.style.height = "100%", this.modal.appendChild(i3), document.body.prepend(this.modal), document.body.style.overflow = "hidden", !i3.contentWindow)
|
|
throw new Error("iframe not yet ready.");
|
|
i3.contentWindow.document.open(), i3.contentWindow.document.write(n3.outerHTML), i3.contentWindow.document.close(), this.listener = this.hideOnEscape.bind(this), document.addEventListener("keydown", this.listener);
|
|
}, hide: function() {
|
|
this.modal.outerHTML = "", this.modal = null, document.body.style.overflow = "visible", document.removeEventListener("keydown", this.listener);
|
|
}, hideOnEscape: function(e3) {
|
|
27 === e3.keyCode && this.hide();
|
|
} };
|
|
function a2(e3, t3) {
|
|
var n3;
|
|
return function() {
|
|
var i3 = arguments, r3 = this;
|
|
clearTimeout(n3), n3 = setTimeout(function() {
|
|
return e3.apply(r3, [].slice.call(i3));
|
|
}, t3);
|
|
};
|
|
}
|
|
function c2(e3, t3, n3) {
|
|
for (var i3 in void 0 === t3 && (t3 = new FormData()), void 0 === n3 && (n3 = null), e3 = e3 || {})
|
|
Object.prototype.hasOwnProperty.call(e3, i3) && d2(t3, l2(n3, i3), e3[i3]);
|
|
return t3;
|
|
}
|
|
function l2(e3, t3) {
|
|
return e3 ? e3 + "[" + t3 + "]" : t3;
|
|
}
|
|
function d2(e3, t3, n3) {
|
|
return Array.isArray(n3) ? Array.from(n3.keys()).forEach(function(i3) {
|
|
return d2(e3, l2(t3, i3.toString()), n3[i3]);
|
|
}) : n3 instanceof Date ? e3.append(t3, n3.toISOString()) : n3 instanceof File ? e3.append(t3, n3, n3.name) : n3 instanceof Blob ? e3.append(t3, n3) : "boolean" == typeof n3 ? e3.append(t3, n3 ? "1" : "0") : "string" == typeof n3 ? e3.append(t3, n3) : "number" == typeof n3 ? e3.append(t3, "" + n3) : null == n3 ? e3.append(t3, "") : void c2(n3, e3, t3);
|
|
}
|
|
function u2(e3) {
|
|
return new URL(e3.toString(), window.location.toString());
|
|
}
|
|
function h2(e3, t3, r3, o3) {
|
|
void 0 === o3 && (o3 = "brackets");
|
|
var s3 = /^https?:\/\//.test(t3.toString()), a3 = s3 || t3.toString().startsWith("/"), c3 = !a3 && !t3.toString().startsWith("#") && !t3.toString().startsWith("?"), l3 = t3.toString().includes("?") || e3 === exports.Method.GET && Object.keys(r3).length, d3 = t3.toString().includes("#"), u3 = new URL(t3.toString(), "http://localhost");
|
|
return e3 === exports.Method.GET && Object.keys(r3).length && (u3.search = n2.stringify(i2(n2.parse(u3.search, { ignoreQueryPrefix: true }), r3), { encodeValuesOnly: true, arrayFormat: o3 }), r3 = {}), [[s3 ? u3.protocol + "//" + u3.host : "", a3 ? u3.pathname : "", c3 ? u3.pathname.substring(1) : "", l3 ? u3.search : "", d3 ? u3.hash : ""].join(""), r3];
|
|
}
|
|
function p2(e3) {
|
|
return (e3 = new URL(e3.href)).hash = "", e3;
|
|
}
|
|
function f2(e3, t3) {
|
|
return document.dispatchEvent(new CustomEvent("inertia:" + e3, t3));
|
|
}
|
|
(o2 = exports.Method || (exports.Method = {})).GET = "get", o2.POST = "post", o2.PUT = "put", o2.PATCH = "patch", o2.DELETE = "delete";
|
|
var v = function(e3) {
|
|
return f2("finish", { detail: { visit: e3 } });
|
|
}, m2 = function(e3) {
|
|
return f2("navigate", { detail: { page: e3 } });
|
|
}, g2 = "undefined" == typeof window, w2 = function() {
|
|
function e3() {
|
|
this.visitId = null;
|
|
}
|
|
var n3 = e3.prototype;
|
|
return n3.init = function(e4) {
|
|
var t3 = e4.resolveComponent, n4 = e4.swapComponent;
|
|
this.page = e4.initialPage, this.resolveComponent = t3, this.swapComponent = n4, this.isBackForwardVisit() ? this.handleBackForwardVisit(this.page) : this.isLocationVisit() ? this.handleLocationVisit(this.page) : this.handleInitialPageVisit(this.page), this.setupEventListeners();
|
|
}, n3.handleInitialPageVisit = function(e4) {
|
|
this.page.url += window.location.hash, this.setPage(e4, { preserveState: true }).then(function() {
|
|
return m2(e4);
|
|
});
|
|
}, n3.setupEventListeners = function() {
|
|
window.addEventListener("popstate", this.handlePopstateEvent.bind(this)), document.addEventListener("scroll", a2(this.handleScrollEvent.bind(this), 100), true);
|
|
}, n3.scrollRegions = function() {
|
|
return document.querySelectorAll("[scroll-region]");
|
|
}, n3.handleScrollEvent = function(e4) {
|
|
"function" == typeof e4.target.hasAttribute && e4.target.hasAttribute("scroll-region") && this.saveScrollPositions();
|
|
}, n3.saveScrollPositions = function() {
|
|
this.replaceState(r2({}, this.page, { scrollRegions: Array.from(this.scrollRegions()).map(function(e4) {
|
|
return { top: e4.scrollTop, left: e4.scrollLeft };
|
|
}) }));
|
|
}, n3.resetScrollPositions = function() {
|
|
var e4;
|
|
document.documentElement.scrollTop = 0, document.documentElement.scrollLeft = 0, this.scrollRegions().forEach(function(e5) {
|
|
e5.scrollTop = 0, e5.scrollLeft = 0;
|
|
}), this.saveScrollPositions(), window.location.hash && (null == (e4 = document.getElementById(window.location.hash.slice(1))) || e4.scrollIntoView());
|
|
}, n3.restoreScrollPositions = function() {
|
|
var e4 = this;
|
|
this.page.scrollRegions && this.scrollRegions().forEach(function(t3, n4) {
|
|
var i3 = e4.page.scrollRegions[n4];
|
|
i3 && (t3.scrollTop = i3.top, t3.scrollLeft = i3.left);
|
|
});
|
|
}, n3.isBackForwardVisit = function() {
|
|
return window.history.state && window.performance && window.performance.getEntriesByType("navigation").length > 0 && "back_forward" === window.performance.getEntriesByType("navigation")[0].type;
|
|
}, n3.handleBackForwardVisit = function(e4) {
|
|
var t3 = this;
|
|
window.history.state.version = e4.version, this.setPage(window.history.state, { preserveScroll: true, preserveState: true }).then(function() {
|
|
t3.restoreScrollPositions(), m2(e4);
|
|
});
|
|
}, n3.locationVisit = function(e4, t3) {
|
|
try {
|
|
window.sessionStorage.setItem("inertiaLocationVisit", JSON.stringify({ preserveScroll: t3 })), window.location.href = e4.href, p2(window.location).href === p2(e4).href && window.location.reload();
|
|
} catch (e5) {
|
|
return false;
|
|
}
|
|
}, n3.isLocationVisit = function() {
|
|
try {
|
|
return null !== window.sessionStorage.getItem("inertiaLocationVisit");
|
|
} catch (e4) {
|
|
return false;
|
|
}
|
|
}, n3.handleLocationVisit = function(e4) {
|
|
var t3, n4, i3, r3, o3 = this, s3 = JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit") || "");
|
|
window.sessionStorage.removeItem("inertiaLocationVisit"), e4.url += window.location.hash, e4.rememberedState = null != (t3 = null == (n4 = window.history.state) ? void 0 : n4.rememberedState) ? t3 : {}, e4.scrollRegions = null != (i3 = null == (r3 = window.history.state) ? void 0 : r3.scrollRegions) ? i3 : [], this.setPage(e4, { preserveScroll: s3.preserveScroll, preserveState: true }).then(function() {
|
|
s3.preserveScroll && o3.restoreScrollPositions(), m2(e4);
|
|
});
|
|
}, n3.isLocationVisitResponse = function(e4) {
|
|
return e4 && 409 === e4.status && e4.headers["x-inertia-location"];
|
|
}, n3.isInertiaResponse = function(e4) {
|
|
return null == e4 ? void 0 : e4.headers["x-inertia"];
|
|
}, n3.createVisitId = function() {
|
|
return this.visitId = {}, this.visitId;
|
|
}, n3.cancelVisit = function(e4, t3) {
|
|
var n4 = t3.cancelled, i3 = void 0 !== n4 && n4, r3 = t3.interrupted, o3 = void 0 !== r3 && r3;
|
|
!e4 || e4.completed || e4.cancelled || e4.interrupted || (e4.cancelToken.cancel(), e4.onCancel(), e4.completed = false, e4.cancelled = i3, e4.interrupted = o3, v(e4), e4.onFinish(e4));
|
|
}, n3.finishVisit = function(e4) {
|
|
e4.cancelled || e4.interrupted || (e4.completed = true, e4.cancelled = false, e4.interrupted = false, v(e4), e4.onFinish(e4));
|
|
}, n3.resolvePreserveOption = function(e4, t3) {
|
|
return "function" == typeof e4 ? e4(t3) : "errors" === e4 ? Object.keys(t3.props.errors || {}).length > 0 : e4;
|
|
}, n3.visit = function(e4, n4) {
|
|
var i3 = this, o3 = void 0 === n4 ? {} : n4, a3 = o3.method, l3 = void 0 === a3 ? exports.Method.GET : a3, d3 = o3.data, v2 = void 0 === d3 ? {} : d3, m3 = o3.replace, g3 = void 0 !== m3 && m3, w3 = o3.preserveScroll, y3 = void 0 !== w3 && w3, S2 = o3.preserveState, b2 = void 0 !== S2 && S2, E = o3.only, P = void 0 === E ? [] : E, I = o3.headers, x = void 0 === I ? {} : I, V = o3.errorBag, T = void 0 === V ? "" : V, L = o3.forceFormData, O = void 0 !== L && L, k = o3.onCancelToken, C = void 0 === k ? function() {
|
|
} : k, M2 = o3.onBefore, A = void 0 === M2 ? function() {
|
|
} : M2, F = o3.onStart, R = void 0 === F ? function() {
|
|
} : F, j = o3.onProgress, D = void 0 === j ? function() {
|
|
} : j, B = o3.onFinish, q = void 0 === B ? function() {
|
|
} : B, N2 = o3.onCancel, H = void 0 === N2 ? function() {
|
|
} : N2, W = o3.onSuccess, G = void 0 === W ? function() {
|
|
} : W, U = o3.onError, X = void 0 === U ? function() {
|
|
} : U, J = o3.queryStringArrayFormat, K = void 0 === J ? "brackets" : J, _ = "string" == typeof e4 ? u2(e4) : e4;
|
|
if (!function e5(t3) {
|
|
return t3 instanceof File || t3 instanceof Blob || t3 instanceof FileList && t3.length > 0 || t3 instanceof FormData && Array.from(t3.values()).some(function(t4) {
|
|
return e5(t4);
|
|
}) || "object" == typeof t3 && null !== t3 && Object.values(t3).some(function(t4) {
|
|
return e5(t4);
|
|
});
|
|
}(v2) && !O || v2 instanceof FormData || (v2 = c2(v2)), !(v2 instanceof FormData)) {
|
|
var z = h2(l3, _, v2, K), Q = z[1];
|
|
_ = u2(z[0]), v2 = Q;
|
|
}
|
|
var Y = { url: _, method: l3, data: v2, replace: g3, preserveScroll: y3, preserveState: b2, only: P, headers: x, errorBag: T, forceFormData: O, queryStringArrayFormat: K, cancelled: false, completed: false, interrupted: false };
|
|
if (false !== A(Y) && function(e5) {
|
|
return f2("before", { cancelable: true, detail: { visit: e5 } });
|
|
}(Y)) {
|
|
this.activeVisit && this.cancelVisit(this.activeVisit, { interrupted: true }), this.saveScrollPositions();
|
|
var Z = this.createVisitId();
|
|
this.activeVisit = r2({}, Y, { onCancelToken: C, onBefore: A, onStart: R, onProgress: D, onFinish: q, onCancel: H, onSuccess: G, onError: X, queryStringArrayFormat: K, cancelToken: t2.CancelToken.source() }), C({ cancel: function() {
|
|
i3.activeVisit && i3.cancelVisit(i3.activeVisit, { cancelled: true });
|
|
} }), function(e5) {
|
|
f2("start", { detail: { visit: e5 } });
|
|
}(Y), R(Y), t2({ method: l3, url: p2(_).href, data: l3 === exports.Method.GET ? {} : v2, params: l3 === exports.Method.GET ? v2 : {}, cancelToken: this.activeVisit.cancelToken.token, headers: r2({}, x, { Accept: "text/html, application/xhtml+xml", "X-Requested-With": "XMLHttpRequest", "X-Inertia": true }, P.length ? { "X-Inertia-Partial-Component": this.page.component, "X-Inertia-Partial-Data": P.join(",") } : {}, T && T.length ? { "X-Inertia-Error-Bag": T } : {}, this.page.version ? { "X-Inertia-Version": this.page.version } : {}), onUploadProgress: function(e5) {
|
|
v2 instanceof FormData && (e5.percentage = Math.round(e5.loaded / e5.total * 100), function(e6) {
|
|
f2("progress", { detail: { progress: e6 } });
|
|
}(e5), D(e5));
|
|
} }).then(function(e5) {
|
|
var t3;
|
|
if (!i3.isInertiaResponse(e5))
|
|
return Promise.reject({ response: e5 });
|
|
var n5 = e5.data;
|
|
P.length && n5.component === i3.page.component && (n5.props = r2({}, i3.page.props, n5.props)), y3 = i3.resolvePreserveOption(y3, n5), (b2 = i3.resolvePreserveOption(b2, n5)) && null != (t3 = window.history.state) && t3.rememberedState && n5.component === i3.page.component && (n5.rememberedState = window.history.state.rememberedState);
|
|
var o4 = _, s3 = u2(n5.url);
|
|
return o4.hash && !s3.hash && p2(o4).href === s3.href && (s3.hash = o4.hash, n5.url = s3.href), i3.setPage(n5, { visitId: Z, replace: g3, preserveScroll: y3, preserveState: b2 });
|
|
}).then(function() {
|
|
var e5 = i3.page.props.errors || {};
|
|
if (Object.keys(e5).length > 0) {
|
|
var t3 = T ? e5[T] ? e5[T] : {} : e5;
|
|
return function(e6) {
|
|
f2("error", { detail: { errors: e6 } });
|
|
}(t3), X(t3);
|
|
}
|
|
return f2("success", { detail: { page: i3.page } }), G(i3.page);
|
|
}).catch(function(e5) {
|
|
if (i3.isInertiaResponse(e5.response))
|
|
return i3.setPage(e5.response.data, { visitId: Z });
|
|
if (i3.isLocationVisitResponse(e5.response)) {
|
|
var t3 = u2(e5.response.headers["x-inertia-location"]), n5 = _;
|
|
n5.hash && !t3.hash && p2(n5).href === t3.href && (t3.hash = n5.hash), i3.locationVisit(t3, true === y3);
|
|
} else {
|
|
if (!e5.response)
|
|
return Promise.reject(e5);
|
|
f2("invalid", { cancelable: true, detail: { response: e5.response } }) && s2.show(e5.response.data);
|
|
}
|
|
}).then(function() {
|
|
i3.activeVisit && i3.finishVisit(i3.activeVisit);
|
|
}).catch(function(e5) {
|
|
if (!t2.isCancel(e5)) {
|
|
var n5 = f2("exception", { cancelable: true, detail: { exception: e5 } });
|
|
if (i3.activeVisit && i3.finishVisit(i3.activeVisit), n5)
|
|
return Promise.reject(e5);
|
|
}
|
|
});
|
|
}
|
|
}, n3.setPage = function(e4, t3) {
|
|
var n4 = this, i3 = void 0 === t3 ? {} : t3, r3 = i3.visitId, o3 = void 0 === r3 ? this.createVisitId() : r3, s3 = i3.replace, a3 = void 0 !== s3 && s3, c3 = i3.preserveScroll, l3 = void 0 !== c3 && c3, d3 = i3.preserveState, h3 = void 0 !== d3 && d3;
|
|
return Promise.resolve(this.resolveComponent(e4.component)).then(function(t4) {
|
|
o3 === n4.visitId && (e4.scrollRegions = e4.scrollRegions || [], e4.rememberedState = e4.rememberedState || {}, (a3 = a3 || u2(e4.url).href === window.location.href) ? n4.replaceState(e4) : n4.pushState(e4), n4.swapComponent({ component: t4, page: e4, preserveState: h3 }).then(function() {
|
|
l3 || n4.resetScrollPositions(), a3 || m2(e4);
|
|
}));
|
|
});
|
|
}, n3.pushState = function(e4) {
|
|
this.page = e4, window.history.pushState(e4, "", e4.url);
|
|
}, n3.replaceState = function(e4) {
|
|
this.page = e4, window.history.replaceState(e4, "", e4.url);
|
|
}, n3.handlePopstateEvent = function(e4) {
|
|
var t3 = this;
|
|
if (null !== e4.state) {
|
|
var n4 = e4.state, i3 = this.createVisitId();
|
|
Promise.resolve(this.resolveComponent(n4.component)).then(function(e5) {
|
|
i3 === t3.visitId && (t3.page = n4, t3.swapComponent({ component: e5, page: n4, preserveState: false }).then(function() {
|
|
t3.restoreScrollPositions(), m2(n4);
|
|
}));
|
|
});
|
|
} else {
|
|
var o3 = u2(this.page.url);
|
|
o3.hash = window.location.hash, this.replaceState(r2({}, this.page, { url: o3.href })), this.resetScrollPositions();
|
|
}
|
|
}, n3.get = function(e4, t3, n4) {
|
|
return void 0 === t3 && (t3 = {}), void 0 === n4 && (n4 = {}), this.visit(e4, r2({}, n4, { method: exports.Method.GET, data: t3 }));
|
|
}, n3.reload = function(e4) {
|
|
return void 0 === e4 && (e4 = {}), this.visit(window.location.href, r2({}, e4, { preserveScroll: true, preserveState: true }));
|
|
}, n3.replace = function(e4, t3) {
|
|
var n4;
|
|
return void 0 === t3 && (t3 = {}), console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia." + (null != (n4 = t3.method) ? n4 : "get") + "() instead."), this.visit(e4, r2({ preserveState: true }, t3, { replace: true }));
|
|
}, n3.post = function(e4, t3, n4) {
|
|
return void 0 === t3 && (t3 = {}), void 0 === n4 && (n4 = {}), this.visit(e4, r2({ preserveState: true }, n4, { method: exports.Method.POST, data: t3 }));
|
|
}, n3.put = function(e4, t3, n4) {
|
|
return void 0 === t3 && (t3 = {}), void 0 === n4 && (n4 = {}), this.visit(e4, r2({ preserveState: true }, n4, { method: exports.Method.PUT, data: t3 }));
|
|
}, n3.patch = function(e4, t3, n4) {
|
|
return void 0 === t3 && (t3 = {}), void 0 === n4 && (n4 = {}), this.visit(e4, r2({ preserveState: true }, n4, { method: exports.Method.PATCH, data: t3 }));
|
|
}, n3.delete = function(e4, t3) {
|
|
return void 0 === t3 && (t3 = {}), this.visit(e4, r2({ preserveState: true }, t3, { method: exports.Method.DELETE }));
|
|
}, n3.remember = function(e4, t3) {
|
|
var n4, i3;
|
|
void 0 === t3 && (t3 = "default"), g2 || this.replaceState(r2({}, this.page, { rememberedState: r2({}, null == (n4 = this.page) ? void 0 : n4.rememberedState, (i3 = {}, i3[t3] = e4, i3)) }));
|
|
}, n3.restore = function(e4) {
|
|
var t3, n4;
|
|
if (void 0 === e4 && (e4 = "default"), !g2)
|
|
return null == (t3 = window.history.state) || null == (n4 = t3.rememberedState) ? void 0 : n4[e4];
|
|
}, n3.on = function(e4, t3) {
|
|
var n4 = function(e5) {
|
|
var n5 = t3(e5);
|
|
e5.cancelable && !e5.defaultPrevented && false === n5 && e5.preventDefault();
|
|
};
|
|
return document.addEventListener("inertia:" + e4, n4), function() {
|
|
return document.removeEventListener("inertia:" + e4, n4);
|
|
};
|
|
}, e3;
|
|
}(), y2 = { buildDOMElement: function(e3) {
|
|
var t3 = document.createElement("template");
|
|
t3.innerHTML = e3;
|
|
var n3 = t3.content.firstChild;
|
|
if (!e3.startsWith("<script "))
|
|
return n3;
|
|
var i3 = document.createElement("script");
|
|
return i3.innerHTML = n3.innerHTML, n3.getAttributeNames().forEach(function(e4) {
|
|
i3.setAttribute(e4, n3.getAttribute(e4) || "");
|
|
}), i3;
|
|
}, isInertiaManagedElement: function(e3) {
|
|
return e3.nodeType === Node.ELEMENT_NODE && null !== e3.getAttribute("inertia");
|
|
}, findMatchingElementIndex: function(e3, t3) {
|
|
var n3 = e3.getAttribute("inertia");
|
|
return null !== n3 ? t3.findIndex(function(e4) {
|
|
return e4.getAttribute("inertia") === n3;
|
|
}) : -1;
|
|
}, update: a2(function(e3) {
|
|
var t3 = this, n3 = e3.map(function(e4) {
|
|
return t3.buildDOMElement(e4);
|
|
});
|
|
Array.from(document.head.childNodes).filter(function(e4) {
|
|
return t3.isInertiaManagedElement(e4);
|
|
}).forEach(function(e4) {
|
|
var i3 = t3.findMatchingElementIndex(e4, n3);
|
|
if (-1 !== i3) {
|
|
var r3, o3 = n3.splice(i3, 1)[0];
|
|
o3 && !e4.isEqualNode(o3) && (null == e4 || null == (r3 = e4.parentNode) || r3.replaceChild(o3, e4));
|
|
} else {
|
|
var s3;
|
|
null == e4 || null == (s3 = e4.parentNode) || s3.removeChild(e4);
|
|
}
|
|
}), n3.forEach(function(e4) {
|
|
return document.head.appendChild(e4);
|
|
});
|
|
}, 1) }, S = new w2();
|
|
exports.Inertia = S, exports.createHeadManager = function(e3, t3, n3) {
|
|
var i3 = {}, r3 = 0;
|
|
function o3() {
|
|
var e4 = Object.values(i3).reduce(function(e5, t4) {
|
|
return e5.concat(t4);
|
|
}, []).reduce(function(e5, n4) {
|
|
if (-1 === n4.indexOf("<"))
|
|
return e5;
|
|
if (0 === n4.indexOf("<title ")) {
|
|
var i4 = n4.match(/(<title [^>]+>)(.*?)(<\/title>)/);
|
|
return e5.title = i4 ? "" + i4[1] + t3(i4[2]) + i4[3] : n4, e5;
|
|
}
|
|
var r4 = n4.match(/ inertia="[^"]+"/);
|
|
return r4 ? e5[r4[0]] = n4 : e5[Object.keys(e5).length] = n4, e5;
|
|
}, {});
|
|
return Object.values(e4);
|
|
}
|
|
function s3() {
|
|
e3 ? n3(o3()) : y2.update(o3());
|
|
}
|
|
return { createProvider: function() {
|
|
var e4 = function() {
|
|
var e5 = r3 += 1;
|
|
return i3[e5] = [], e5.toString();
|
|
}();
|
|
return { update: function(t4) {
|
|
return function(e5, t5) {
|
|
void 0 === t5 && (t5 = []), null !== e5 && Object.keys(i3).indexOf(e5) > -1 && (i3[e5] = t5), s3();
|
|
}(e4, t4);
|
|
}, disconnect: function() {
|
|
return function(e5) {
|
|
null !== e5 && -1 !== Object.keys(i3).indexOf(e5) && (delete i3[e5], s3());
|
|
}(e4);
|
|
} };
|
|
} };
|
|
}, exports.hrefToUrl = u2, exports.mergeDataIntoQueryString = h2, exports.shouldIntercept = function(e3) {
|
|
var t3 = "a" === e3.currentTarget.tagName.toLowerCase();
|
|
return !(e3.target && null != e3 && e3.target.isContentEditable || e3.defaultPrevented || t3 && e3.which > 1 || t3 && e3.altKey || t3 && e3.ctrlKey || t3 && e3.metaKey || t3 && e3.shiftKey);
|
|
}, exports.urlWithoutHash = p2;
|
|
})(dist);
|
|
var createInertiaApp;
|
|
var InertiaLink;
|
|
var Head;
|
|
function e$1(e2) {
|
|
return e2 && "object" == typeof e2 && "default" in e2 ? e2.default : e2;
|
|
}
|
|
var r$1 = e$1(lodash_isequal.exports), t$1 = require$$1, n$1 = e$1(lodash_clonedeep.exports), o$1 = dist;
|
|
function i$1() {
|
|
return (i$1 = Object.assign || function(e2) {
|
|
for (var r2 = 1; r2 < arguments.length; r2++) {
|
|
var t2 = arguments[r2];
|
|
for (var n2 in t2)
|
|
Object.prototype.hasOwnProperty.call(t2, n2) && (e2[n2] = t2[n2]);
|
|
}
|
|
return e2;
|
|
}).apply(this, arguments);
|
|
}
|
|
function a() {
|
|
var e2 = [].slice.call(arguments), a2 = "string" == typeof e2[0] ? e2[0] : null, u2 = ("string" == typeof e2[0] ? e2[1] : e2[0]) || {}, s2 = a2 ? o$1.Inertia.restore(a2) : null, c2 = n$1(u2), l2 = null, p2 = null, f2 = function(e3) {
|
|
return e3;
|
|
}, d2 = t$1.reactive(i$1({}, s2 ? s2.data : u2, { isDirty: false, errors: s2 ? s2.errors : {}, hasErrors: false, processing: false, progress: null, wasSuccessful: false, recentlySuccessful: false, data: function() {
|
|
var e3 = this;
|
|
return Object.keys(u2).reduce(function(r2, t2) {
|
|
return r2[t2] = e3[t2], r2;
|
|
}, {});
|
|
}, transform: function(e3) {
|
|
return f2 = e3, this;
|
|
}, defaults: function(e3, r2) {
|
|
var t2;
|
|
return c2 = void 0 === e3 ? this.data() : Object.assign({}, n$1(c2), r2 ? ((t2 = {})[e3] = r2, t2) : e3), this;
|
|
}, reset: function() {
|
|
var e3 = [].slice.call(arguments), r2 = n$1(c2);
|
|
return Object.assign(this, 0 === e3.length ? r2 : Object.keys(r2).filter(function(r3) {
|
|
return e3.includes(r3);
|
|
}).reduce(function(e4, t2) {
|
|
return e4[t2] = r2[t2], e4;
|
|
}, {})), this;
|
|
}, setError: function(e3, r2) {
|
|
var t2;
|
|
return Object.assign(this.errors, r2 ? ((t2 = {})[e3] = r2, t2) : e3), this.hasErrors = Object.keys(this.errors).length > 0, this;
|
|
}, clearErrors: function() {
|
|
var e3 = this, r2 = [].slice.call(arguments);
|
|
return this.errors = Object.keys(this.errors).reduce(function(t2, n2) {
|
|
var o2;
|
|
return i$1({}, t2, r2.length > 0 && !r2.includes(n2) ? ((o2 = {})[n2] = e3.errors[n2], o2) : {});
|
|
}, {}), this.hasErrors = Object.keys(this.errors).length > 0, this;
|
|
}, submit: function(e3, r2, t2) {
|
|
var a3 = this, u3 = this;
|
|
void 0 === t2 && (t2 = {});
|
|
var s3 = f2(this.data()), d3 = i$1({}, t2, { onCancelToken: function(e4) {
|
|
if (l2 = e4, t2.onCancelToken)
|
|
return t2.onCancelToken(e4);
|
|
}, onBefore: function(e4) {
|
|
if (u3.wasSuccessful = false, u3.recentlySuccessful = false, clearTimeout(p2), t2.onBefore)
|
|
return t2.onBefore(e4);
|
|
}, onStart: function(e4) {
|
|
if (u3.processing = true, t2.onStart)
|
|
return t2.onStart(e4);
|
|
}, onProgress: function(e4) {
|
|
if (u3.progress = e4, t2.onProgress)
|
|
return t2.onProgress(e4);
|
|
}, onSuccess: function(e4) {
|
|
try {
|
|
var r3 = function(e5) {
|
|
return c2 = n$1(a3.data()), a3.isDirty = false, e5;
|
|
};
|
|
return a3.processing = false, a3.progress = null, a3.clearErrors(), a3.wasSuccessful = true, a3.recentlySuccessful = true, p2 = setTimeout(function() {
|
|
return a3.recentlySuccessful = false;
|
|
}, 2e3), Promise.resolve(t2.onSuccess ? Promise.resolve(t2.onSuccess(e4)).then(r3) : r3(null));
|
|
} catch (e5) {
|
|
return Promise.reject(e5);
|
|
}
|
|
}, onError: function(e4) {
|
|
if (u3.processing = false, u3.progress = null, u3.clearErrors().setError(e4), t2.onError)
|
|
return t2.onError(e4);
|
|
}, onCancel: function() {
|
|
if (u3.processing = false, u3.progress = null, t2.onCancel)
|
|
return t2.onCancel();
|
|
}, onFinish: function() {
|
|
if (u3.processing = false, u3.progress = null, l2 = null, t2.onFinish)
|
|
return t2.onFinish();
|
|
} });
|
|
"delete" === e3 ? o$1.Inertia.delete(r2, i$1({}, d3, { data: s3 })) : o$1.Inertia[e3](r2, s3, d3);
|
|
}, get: function(e3, r2) {
|
|
this.submit("get", e3, r2);
|
|
}, post: function(e3, r2) {
|
|
this.submit("post", e3, r2);
|
|
}, put: function(e3, r2) {
|
|
this.submit("put", e3, r2);
|
|
}, patch: function(e3, r2) {
|
|
this.submit("patch", e3, r2);
|
|
}, delete: function(e3, r2) {
|
|
this.submit("delete", e3, r2);
|
|
}, cancel: function() {
|
|
l2 && l2.cancel();
|
|
}, __rememberable: null === a2, __remember: function() {
|
|
return { data: this.data(), errors: this.errors };
|
|
}, __restore: function(e3) {
|
|
Object.assign(this, e3.data), this.setError(e3.errors);
|
|
} }));
|
|
return t$1.watch(d2, function(e3) {
|
|
d2.isDirty = !r$1(d2.data(), c2), a2 && o$1.Inertia.remember(n$1(e3.__remember()), a2);
|
|
}, { immediate: true, deep: true }), d2;
|
|
}
|
|
var u = { created: function() {
|
|
var e2 = this;
|
|
if (this.$options.remember) {
|
|
Array.isArray(this.$options.remember) && (this.$options.remember = { data: this.$options.remember }), "string" == typeof this.$options.remember && (this.$options.remember = { data: [this.$options.remember] }), "string" == typeof this.$options.remember.data && (this.$options.remember = { data: [this.$options.remember.data] });
|
|
var r2 = this.$options.remember.key instanceof Function ? this.$options.remember.key.call(this) : this.$options.remember.key, t2 = o$1.Inertia.restore(r2), a2 = this.$options.remember.data.filter(function(r3) {
|
|
return !(null !== e2[r3] && "object" == typeof e2[r3] && false === e2[r3].__rememberable);
|
|
}), u2 = function(r3) {
|
|
return null !== e2[r3] && "object" == typeof e2[r3] && "function" == typeof e2[r3].__remember && "function" == typeof e2[r3].__restore;
|
|
};
|
|
a2.forEach(function(s2) {
|
|
void 0 !== e2[s2] && void 0 !== t2 && void 0 !== t2[s2] && (u2(s2) ? e2[s2].__restore(t2[s2]) : e2[s2] = t2[s2]), e2.$watch(s2, function() {
|
|
o$1.Inertia.remember(a2.reduce(function(r3, t3) {
|
|
var o2;
|
|
return i$1({}, r3, ((o2 = {})[t3] = n$1(u2(t3) ? e2[t3].__remember() : e2[t3]), o2));
|
|
}, {}), r2);
|
|
}, { immediate: true, deep: true });
|
|
});
|
|
}
|
|
} }, s$1 = t$1.ref(null), c = t$1.ref({}), l = t$1.ref(null), p = null, f$1 = { name: "Inertia", props: { initialPage: { type: Object, required: true }, initialComponent: { type: Object, required: false }, resolveComponent: { type: Function, required: false }, titleCallback: { type: Function, required: false, default: function(e2) {
|
|
return e2;
|
|
} }, onHeadUpdate: { type: Function, required: false, default: function() {
|
|
return function() {
|
|
};
|
|
} } }, setup: function(e2) {
|
|
var r2 = e2.initialPage, n2 = e2.initialComponent, a2 = e2.resolveComponent, u2 = e2.titleCallback, f2 = e2.onHeadUpdate;
|
|
s$1.value = n2 ? t$1.markRaw(n2) : null, c.value = r2, l.value = null;
|
|
var d2 = "undefined" == typeof window;
|
|
return p = o$1.createHeadManager(d2, u2, f2), d2 || o$1.Inertia.init({ initialPage: r2, resolveComponent: a2, swapComponent: function(e3) {
|
|
try {
|
|
return s$1.value = t$1.markRaw(e3.component), c.value = e3.page, l.value = e3.preserveState ? l.value : Date.now(), Promise.resolve();
|
|
} catch (e4) {
|
|
return Promise.reject(e4);
|
|
}
|
|
} }), function() {
|
|
if (s$1.value) {
|
|
s$1.value.inheritAttrs = !!s$1.value.inheritAttrs;
|
|
var e3 = t$1.h(s$1.value, i$1({}, c.value.props, { key: l.value }));
|
|
return s$1.value.layout ? "function" == typeof s$1.value.layout ? s$1.value.layout(t$1.h, e3) : (Array.isArray(s$1.value.layout) ? s$1.value.layout : [s$1.value.layout]).concat(e3).reverse().reduce(function(e4, r3) {
|
|
return r3.inheritAttrs = !!r3.inheritAttrs, t$1.h(r3, i$1({}, c.value.props), function() {
|
|
return e4;
|
|
});
|
|
}) : e3;
|
|
}
|
|
};
|
|
} }, d = { install: function(e2) {
|
|
o$1.Inertia.form = a, Object.defineProperty(e2.config.globalProperties, "$inertia", { get: function() {
|
|
return o$1.Inertia;
|
|
} }), Object.defineProperty(e2.config.globalProperties, "$page", { get: function() {
|
|
return c.value;
|
|
} }), Object.defineProperty(e2.config.globalProperties, "$headManager", { get: function() {
|
|
return p;
|
|
} }), e2.mixin(u);
|
|
} }, h$1 = { props: { title: { type: String, required: false } }, data: function() {
|
|
return { provider: this.$headManager.createProvider() };
|
|
}, beforeUnmount: function() {
|
|
this.provider.disconnect();
|
|
}, methods: { isUnaryTag: function(e2) {
|
|
return ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"].indexOf(e2.type) > -1;
|
|
}, renderTagStart: function(e2) {
|
|
e2.props = e2.props || {}, e2.props.inertia = void 0 !== e2.props["head-key"] ? e2.props["head-key"] : "";
|
|
var r2 = Object.keys(e2.props).reduce(function(r3, t2) {
|
|
var n2 = e2.props[t2];
|
|
return ["key", "head-key"].includes(t2) ? r3 : "" === n2 ? r3 + " " + t2 : r3 + " " + t2 + '="' + n2 + '"';
|
|
}, "");
|
|
return "<" + e2.type + r2 + ">";
|
|
}, renderTagChildren: function(e2) {
|
|
var r2 = this;
|
|
return "string" == typeof e2.children ? e2.children : e2.children.reduce(function(e3, t2) {
|
|
return e3 + r2.renderTag(t2);
|
|
}, "");
|
|
}, renderTag: function(e2) {
|
|
if ("Symbol(Text)" === e2.type.toString())
|
|
return e2.children;
|
|
if ("Symbol()" === e2.type.toString())
|
|
return "";
|
|
if ("Symbol(Comment)" === e2.type.toString())
|
|
return "";
|
|
var r2 = this.renderTagStart(e2);
|
|
return e2.children && (r2 += this.renderTagChildren(e2)), this.isUnaryTag(e2) || (r2 += "</" + e2.type + ">"), r2;
|
|
}, addTitleElement: function(e2) {
|
|
return this.title && !e2.find(function(e3) {
|
|
return e3.startsWith("<title");
|
|
}) && e2.push("<title inertia>" + this.title + "</title>"), e2;
|
|
}, renderNodes: function(e2) {
|
|
var r2 = this;
|
|
return this.addTitleElement(e2.flatMap(function(e3) {
|
|
return "Symbol(Fragment)" === e3.type.toString() ? e3.children : e3;
|
|
}).map(function(e3) {
|
|
return r2.renderTag(e3);
|
|
}).filter(function(e3) {
|
|
return e3;
|
|
}));
|
|
} }, render: function() {
|
|
this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []));
|
|
} }, m$1 = { name: "InertiaLink", props: { as: { type: String, default: "a" }, data: { type: Object, default: function() {
|
|
return {};
|
|
} }, href: { type: String }, method: { type: String, default: "get" }, replace: { type: Boolean, default: false }, preserveScroll: { type: Boolean, default: false }, preserveState: { type: Boolean, default: null }, only: { type: Array, default: function() {
|
|
return [];
|
|
} }, headers: { type: Object, default: function() {
|
|
return {};
|
|
} }, queryStringArrayFormat: { type: String, default: "brackets" } }, setup: function(e2, r2) {
|
|
var n2 = r2.slots, a2 = r2.attrs;
|
|
return function(e3) {
|
|
var r3 = e3.as.toLowerCase(), u2 = e3.method.toLowerCase(), s2 = o$1.mergeDataIntoQueryString(u2, e3.href || "", e3.data, e3.queryStringArrayFormat), c2 = s2[0], l2 = s2[1];
|
|
return "a" === r3 && "get" !== u2 && console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="' + c2 + '" method="' + u2 + '" as="button">...</Link>'), t$1.h(e3.as, i$1({}, a2, "a" === r3 ? { href: c2 } : {}, { onClick: function(r4) {
|
|
var t2;
|
|
o$1.shouldIntercept(r4) && (r4.preventDefault(), o$1.Inertia.visit(c2, { data: l2, method: u2, replace: e3.replace, preserveScroll: e3.preserveScroll, preserveState: null != (t2 = e3.preserveState) ? t2 : "get" !== u2, only: e3.only, headers: e3.headers, onCancelToken: a2.onCancelToken || function() {
|
|
return {};
|
|
}, onBefore: a2.onBefore || function() {
|
|
return {};
|
|
}, onStart: a2.onStart || function() {
|
|
return {};
|
|
}, onProgress: a2.onProgress || function() {
|
|
return {};
|
|
}, onFinish: a2.onFinish || function() {
|
|
return {};
|
|
}, onCancel: a2.onCancel || function() {
|
|
return {};
|
|
}, onSuccess: a2.onSuccess || function() {
|
|
return {};
|
|
}, onError: a2.onError || function() {
|
|
return {};
|
|
} }));
|
|
} }), n2);
|
|
};
|
|
} };
|
|
Head = h$1, InertiaLink = m$1, createInertiaApp = function(e2) {
|
|
try {
|
|
var r2, n2, o2, i2, a2, u2, s2;
|
|
n2 = void 0 === (r2 = e2.id) ? "app" : r2, o2 = e2.resolve, i2 = e2.setup, a2 = e2.title, u2 = e2.page, s2 = e2.render;
|
|
var c2 = "undefined" == typeof window, l2 = c2 ? null : document.getElementById(n2), p2 = u2 || JSON.parse(l2.dataset.page), h2 = function(e3) {
|
|
return Promise.resolve(o2(e3)).then(function(e4) {
|
|
return e4.default || e4;
|
|
});
|
|
}, m2 = [];
|
|
return Promise.resolve(h2(p2.component).then(function(e3) {
|
|
return i2({ el: l2, app: f$1, App: f$1, props: { initialPage: p2, initialComponent: e3, resolveComponent: h2, titleCallback: a2, onHeadUpdate: c2 ? function(e4) {
|
|
return m2 = e4;
|
|
} : null }, plugin: d });
|
|
})).then(function(e3) {
|
|
return function() {
|
|
if (c2)
|
|
return Promise.resolve(s2(t$1.createSSRApp({ render: function() {
|
|
return t$1.h("div", { id: n2, "data-page": JSON.stringify(p2), innerHTML: s2(e3) });
|
|
} }))).then(function(e4) {
|
|
return { head: m2, body: e4 };
|
|
});
|
|
}();
|
|
});
|
|
} catch (e3) {
|
|
return Promise.reject(e3);
|
|
}
|
|
};
|
|
async function resolvePageComponent(path, pages) {
|
|
const page = pages[path];
|
|
if (typeof page === "undefined") {
|
|
throw new Error(`Page not found: ${path}`);
|
|
}
|
|
return typeof page === "function" ? page() : page;
|
|
}
|
|
var nprogress = { exports: {} };
|
|
/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
|
|
* @license MIT */
|
|
(function(module, exports) {
|
|
(function(root2, factory) {
|
|
{
|
|
module.exports = factory();
|
|
}
|
|
})(commonjsGlobal, function() {
|
|
var NProgress = {};
|
|
NProgress.version = "0.2.0";
|
|
var Settings = NProgress.settings = {
|
|
minimum: 0.08,
|
|
easing: "ease",
|
|
positionUsing: "",
|
|
speed: 200,
|
|
trickle: true,
|
|
trickleRate: 0.02,
|
|
trickleSpeed: 800,
|
|
showSpinner: true,
|
|
barSelector: '[role="bar"]',
|
|
spinnerSelector: '[role="spinner"]',
|
|
parent: "body",
|
|
template: '<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
|
|
};
|
|
NProgress.configure = function(options) {
|
|
var key, value;
|
|
for (key in options) {
|
|
value = options[key];
|
|
if (value !== void 0 && options.hasOwnProperty(key))
|
|
Settings[key] = value;
|
|
}
|
|
return this;
|
|
};
|
|
NProgress.status = null;
|
|
NProgress.set = function(n2) {
|
|
var started = NProgress.isStarted();
|
|
n2 = clamp(n2, Settings.minimum, 1);
|
|
NProgress.status = n2 === 1 ? null : n2;
|
|
var progress = NProgress.render(!started), bar = progress.querySelector(Settings.barSelector), speed = Settings.speed, ease = Settings.easing;
|
|
progress.offsetWidth;
|
|
queue2(function(next) {
|
|
if (Settings.positionUsing === "")
|
|
Settings.positionUsing = NProgress.getPositioningCSS();
|
|
css(bar, barPositionCSS(n2, speed, ease));
|
|
if (n2 === 1) {
|
|
css(progress, {
|
|
transition: "none",
|
|
opacity: 1
|
|
});
|
|
progress.offsetWidth;
|
|
setTimeout(function() {
|
|
css(progress, {
|
|
transition: "all " + speed + "ms linear",
|
|
opacity: 0
|
|
});
|
|
setTimeout(function() {
|
|
NProgress.remove();
|
|
next();
|
|
}, speed);
|
|
}, speed);
|
|
} else {
|
|
setTimeout(next, speed);
|
|
}
|
|
});
|
|
return this;
|
|
};
|
|
NProgress.isStarted = function() {
|
|
return typeof NProgress.status === "number";
|
|
};
|
|
NProgress.start = function() {
|
|
if (!NProgress.status)
|
|
NProgress.set(0);
|
|
var work = function() {
|
|
setTimeout(function() {
|
|
if (!NProgress.status)
|
|
return;
|
|
NProgress.trickle();
|
|
work();
|
|
}, Settings.trickleSpeed);
|
|
};
|
|
if (Settings.trickle)
|
|
work();
|
|
return this;
|
|
};
|
|
NProgress.done = function(force) {
|
|
if (!force && !NProgress.status)
|
|
return this;
|
|
return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);
|
|
};
|
|
NProgress.inc = function(amount) {
|
|
var n2 = NProgress.status;
|
|
if (!n2) {
|
|
return NProgress.start();
|
|
} else {
|
|
if (typeof amount !== "number") {
|
|
amount = (1 - n2) * clamp(Math.random() * n2, 0.1, 0.95);
|
|
}
|
|
n2 = clamp(n2 + amount, 0, 0.994);
|
|
return NProgress.set(n2);
|
|
}
|
|
};
|
|
NProgress.trickle = function() {
|
|
return NProgress.inc(Math.random() * Settings.trickleRate);
|
|
};
|
|
(function() {
|
|
var initial = 0, current = 0;
|
|
NProgress.promise = function($promise) {
|
|
if (!$promise || $promise.state() === "resolved") {
|
|
return this;
|
|
}
|
|
if (current === 0) {
|
|
NProgress.start();
|
|
}
|
|
initial++;
|
|
current++;
|
|
$promise.always(function() {
|
|
current--;
|
|
if (current === 0) {
|
|
initial = 0;
|
|
NProgress.done();
|
|
} else {
|
|
NProgress.set((initial - current) / initial);
|
|
}
|
|
});
|
|
return this;
|
|
};
|
|
})();
|
|
NProgress.render = function(fromStart) {
|
|
if (NProgress.isRendered())
|
|
return document.getElementById("nprogress");
|
|
addClass(document.documentElement, "nprogress-busy");
|
|
var progress = document.createElement("div");
|
|
progress.id = "nprogress";
|
|
progress.innerHTML = Settings.template;
|
|
var bar = progress.querySelector(Settings.barSelector), perc = fromStart ? "-100" : toBarPerc(NProgress.status || 0), parent = document.querySelector(Settings.parent), spinner;
|
|
css(bar, {
|
|
transition: "all 0 linear",
|
|
transform: "translate3d(" + perc + "%,0,0)"
|
|
});
|
|
if (!Settings.showSpinner) {
|
|
spinner = progress.querySelector(Settings.spinnerSelector);
|
|
spinner && removeElement(spinner);
|
|
}
|
|
if (parent != document.body) {
|
|
addClass(parent, "nprogress-custom-parent");
|
|
}
|
|
parent.appendChild(progress);
|
|
return progress;
|
|
};
|
|
NProgress.remove = function() {
|
|
removeClass(document.documentElement, "nprogress-busy");
|
|
removeClass(document.querySelector(Settings.parent), "nprogress-custom-parent");
|
|
var progress = document.getElementById("nprogress");
|
|
progress && removeElement(progress);
|
|
};
|
|
NProgress.isRendered = function() {
|
|
return !!document.getElementById("nprogress");
|
|
};
|
|
NProgress.getPositioningCSS = function() {
|
|
var bodyStyle = document.body.style;
|
|
var vendorPrefix = "WebkitTransform" in bodyStyle ? "Webkit" : "MozTransform" in bodyStyle ? "Moz" : "msTransform" in bodyStyle ? "ms" : "OTransform" in bodyStyle ? "O" : "";
|
|
if (vendorPrefix + "Perspective" in bodyStyle) {
|
|
return "translate3d";
|
|
} else if (vendorPrefix + "Transform" in bodyStyle) {
|
|
return "translate";
|
|
} else {
|
|
return "margin";
|
|
}
|
|
};
|
|
function clamp(n2, min, max) {
|
|
if (n2 < min)
|
|
return min;
|
|
if (n2 > max)
|
|
return max;
|
|
return n2;
|
|
}
|
|
function toBarPerc(n2) {
|
|
return (-1 + n2) * 100;
|
|
}
|
|
function barPositionCSS(n2, speed, ease) {
|
|
var barCSS;
|
|
if (Settings.positionUsing === "translate3d") {
|
|
barCSS = { transform: "translate3d(" + toBarPerc(n2) + "%,0,0)" };
|
|
} else if (Settings.positionUsing === "translate") {
|
|
barCSS = { transform: "translate(" + toBarPerc(n2) + "%,0)" };
|
|
} else {
|
|
barCSS = { "margin-left": toBarPerc(n2) + "%" };
|
|
}
|
|
barCSS.transition = "all " + speed + "ms " + ease;
|
|
return barCSS;
|
|
}
|
|
var queue2 = function() {
|
|
var pending = [];
|
|
function next() {
|
|
var fn = pending.shift();
|
|
if (fn) {
|
|
fn(next);
|
|
}
|
|
}
|
|
return function(fn) {
|
|
pending.push(fn);
|
|
if (pending.length == 1)
|
|
next();
|
|
};
|
|
}();
|
|
var css = function() {
|
|
var cssPrefixes = ["Webkit", "O", "Moz", "ms"], cssProps = {};
|
|
function camelCase(string) {
|
|
return string.replace(/^-ms-/, "ms-").replace(/-([\da-z])/gi, function(match, letter) {
|
|
return letter.toUpperCase();
|
|
});
|
|
}
|
|
function getVendorProp(name2) {
|
|
var style = document.body.style;
|
|
if (name2 in style)
|
|
return name2;
|
|
var i2 = cssPrefixes.length, capName = name2.charAt(0).toUpperCase() + name2.slice(1), vendorName;
|
|
while (i2--) {
|
|
vendorName = cssPrefixes[i2] + capName;
|
|
if (vendorName in style)
|
|
return vendorName;
|
|
}
|
|
return name2;
|
|
}
|
|
function getStyleProp(name2) {
|
|
name2 = camelCase(name2);
|
|
return cssProps[name2] || (cssProps[name2] = getVendorProp(name2));
|
|
}
|
|
function applyCss(element, prop, value) {
|
|
prop = getStyleProp(prop);
|
|
element.style[prop] = value;
|
|
}
|
|
return function(element, properties) {
|
|
var args = arguments, prop, value;
|
|
if (args.length == 2) {
|
|
for (prop in properties) {
|
|
value = properties[prop];
|
|
if (value !== void 0 && properties.hasOwnProperty(prop))
|
|
applyCss(element, prop, value);
|
|
}
|
|
} else {
|
|
applyCss(element, args[1], args[2]);
|
|
}
|
|
};
|
|
}();
|
|
function hasClass(element, name2) {
|
|
var list = typeof element == "string" ? element : classList(element);
|
|
return list.indexOf(" " + name2 + " ") >= 0;
|
|
}
|
|
function addClass(element, name2) {
|
|
var oldList = classList(element), newList = oldList + name2;
|
|
if (hasClass(oldList, name2))
|
|
return;
|
|
element.className = newList.substring(1);
|
|
}
|
|
function removeClass(element, name2) {
|
|
var oldList = classList(element), newList;
|
|
if (!hasClass(element, name2))
|
|
return;
|
|
newList = oldList.replace(" " + name2 + " ", " ");
|
|
element.className = newList.substring(1, newList.length - 1);
|
|
}
|
|
function classList(element) {
|
|
return (" " + (element.className || "") + " ").replace(/\s+/gi, " ");
|
|
}
|
|
function removeElement(element) {
|
|
element && element.parentNode && element.parentNode.removeChild(element);
|
|
}
|
|
return NProgress;
|
|
});
|
|
})(nprogress);
|
|
var n, e = (n = nprogress.exports) && "object" == typeof n && "default" in n ? n.default : n, t = null;
|
|
function r(n2) {
|
|
document.addEventListener("inertia:start", o.bind(null, n2)), document.addEventListener("inertia:progress", i), document.addEventListener("inertia:finish", s);
|
|
}
|
|
function o(n2) {
|
|
t = setTimeout(function() {
|
|
return e.start();
|
|
}, n2);
|
|
}
|
|
function i(n2) {
|
|
e.isStarted() && n2.detail.progress.percentage && e.set(Math.max(e.status, n2.detail.progress.percentage / 100 * 0.9));
|
|
}
|
|
function s(n2) {
|
|
clearTimeout(t), e.isStarted() && (n2.detail.visit.completed ? e.done() : n2.detail.visit.interrupted ? e.set(0) : n2.detail.visit.cancelled && (e.done(), e.remove()));
|
|
}
|
|
var InertiaProgress = { init: function(n2) {
|
|
var t2 = void 0 === n2 ? {} : n2, o2 = t2.delay, i2 = t2.color, s2 = void 0 === i2 ? "#29d" : i2, a2 = t2.includeCSS, p2 = void 0 === a2 || a2, d2 = t2.showSpinner, l2 = void 0 !== d2 && d2;
|
|
r(void 0 === o2 ? 250 : o2), e.configure({ showSpinner: l2 }), p2 && function(n3) {
|
|
var e2 = document.createElement("style");
|
|
e2.type = "text/css", e2.textContent = "\n #nprogress {\n pointer-events: none;\n }\n\n #nprogress .bar {\n background: " + n3 + ";\n\n position: fixed;\n z-index: 1031;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 2px;\n }\n\n #nprogress .peg {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: 0 0 10px " + n3 + ", 0 0 5px " + n3 + ";\n opacity: 1.0;\n\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n }\n\n #nprogress .spinner {\n display: block;\n position: fixed;\n z-index: 1031;\n top: 15px;\n right: 15px;\n }\n\n #nprogress .spinner-icon {\n width: 18px;\n height: 18px;\n box-sizing: border-box;\n\n border: solid 2px transparent;\n border-top-color: " + n3 + ";\n border-left-color: " + n3 + ";\n border-radius: 50%;\n\n -webkit-animation: nprogress-spinner 400ms linear infinite;\n animation: nprogress-spinner 400ms linear infinite;\n }\n\n .nprogress-custom-parent {\n overflow: hidden;\n position: relative;\n }\n\n .nprogress-custom-parent #nprogress .spinner,\n .nprogress-custom-parent #nprogress .bar {\n position: absolute;\n }\n\n @-webkit-keyframes nprogress-spinner {\n 0% { -webkit-transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); }\n }\n @keyframes nprogress-spinner {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n ", document.head.appendChild(e2);
|
|
}(s2);
|
|
} };
|
|
function getDevtoolsGlobalHook() {
|
|
return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
|
}
|
|
function getTarget() {
|
|
return typeof navigator !== "undefined" && typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
|
|
}
|
|
const isProxyAvailable = typeof Proxy === "function";
|
|
const HOOK_SETUP = "devtools-plugin:setup";
|
|
const HOOK_PLUGIN_SETTINGS_SET = "plugin:settings:set";
|
|
let supported;
|
|
let perf;
|
|
function isPerformanceSupported() {
|
|
var _a;
|
|
if (supported !== void 0) {
|
|
return supported;
|
|
}
|
|
if (typeof window !== "undefined" && window.performance) {
|
|
supported = true;
|
|
perf = window.performance;
|
|
} else if (typeof global !== "undefined" && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {
|
|
supported = true;
|
|
perf = global.perf_hooks.performance;
|
|
} else {
|
|
supported = false;
|
|
}
|
|
return supported;
|
|
}
|
|
function now() {
|
|
return isPerformanceSupported() ? perf.now() : Date.now();
|
|
}
|
|
class ApiProxy {
|
|
constructor(plugin, hook) {
|
|
this.target = null;
|
|
this.targetQueue = [];
|
|
this.onQueue = [];
|
|
this.plugin = plugin;
|
|
this.hook = hook;
|
|
const defaultSettings = {};
|
|
if (plugin.settings) {
|
|
for (const id in plugin.settings) {
|
|
const item = plugin.settings[id];
|
|
defaultSettings[id] = item.defaultValue;
|
|
}
|
|
}
|
|
const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
|
|
let currentSettings = Object.assign({}, defaultSettings);
|
|
try {
|
|
const raw = localStorage.getItem(localSettingsSaveId);
|
|
const data = JSON.parse(raw);
|
|
Object.assign(currentSettings, data);
|
|
} catch (e2) {
|
|
}
|
|
this.fallbacks = {
|
|
getSettings() {
|
|
return currentSettings;
|
|
},
|
|
setSettings(value) {
|
|
try {
|
|
localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
|
|
} catch (e2) {
|
|
}
|
|
currentSettings = value;
|
|
},
|
|
now() {
|
|
return now();
|
|
}
|
|
};
|
|
if (hook) {
|
|
hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
|
|
if (pluginId === this.plugin.id) {
|
|
this.fallbacks.setSettings(value);
|
|
}
|
|
});
|
|
}
|
|
this.proxiedOn = new Proxy({}, {
|
|
get: (_target, prop) => {
|
|
if (this.target) {
|
|
return this.target.on[prop];
|
|
} else {
|
|
return (...args) => {
|
|
this.onQueue.push({
|
|
method: prop,
|
|
args
|
|
});
|
|
};
|
|
}
|
|
}
|
|
});
|
|
this.proxiedTarget = new Proxy({}, {
|
|
get: (_target, prop) => {
|
|
if (this.target) {
|
|
return this.target[prop];
|
|
} else if (prop === "on") {
|
|
return this.proxiedOn;
|
|
} else if (Object.keys(this.fallbacks).includes(prop)) {
|
|
return (...args) => {
|
|
this.targetQueue.push({
|
|
method: prop,
|
|
args,
|
|
resolve: () => {
|
|
}
|
|
});
|
|
return this.fallbacks[prop](...args);
|
|
};
|
|
} else {
|
|
return (...args) => {
|
|
return new Promise((resolve2) => {
|
|
this.targetQueue.push({
|
|
method: prop,
|
|
args,
|
|
resolve: resolve2
|
|
});
|
|
});
|
|
};
|
|
}
|
|
}
|
|
});
|
|
}
|
|
async setRealTarget(target) {
|
|
this.target = target;
|
|
for (const item of this.onQueue) {
|
|
this.target.on[item.method](...item.args);
|
|
}
|
|
for (const item of this.targetQueue) {
|
|
item.resolve(await this.target[item.method](...item.args));
|
|
}
|
|
}
|
|
}
|
|
function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
|
|
const descriptor = pluginDescriptor;
|
|
const target = getTarget();
|
|
const hook = getDevtoolsGlobalHook();
|
|
const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
|
|
if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
|
|
hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
|
|
} else {
|
|
const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
|
|
const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
|
|
list.push({
|
|
pluginDescriptor: descriptor,
|
|
setupFn,
|
|
proxy
|
|
});
|
|
if (proxy)
|
|
setupFn(proxy.proxiedTarget);
|
|
}
|
|
}
|
|
/*!
|
|
* vuex v4.0.2
|
|
* (c) 2021 Evan You
|
|
* @license MIT
|
|
*/
|
|
var storeKey = "store";
|
|
function useStore(key) {
|
|
if (key === void 0)
|
|
key = null;
|
|
return inject(key !== null ? key : storeKey);
|
|
}
|
|
function find(list, f2) {
|
|
return list.filter(f2)[0];
|
|
}
|
|
function deepCopy(obj, cache) {
|
|
if (cache === void 0)
|
|
cache = [];
|
|
if (obj === null || typeof obj !== "object") {
|
|
return obj;
|
|
}
|
|
var hit = find(cache, function(c2) {
|
|
return c2.original === obj;
|
|
});
|
|
if (hit) {
|
|
return hit.copy;
|
|
}
|
|
var copy = Array.isArray(obj) ? [] : {};
|
|
cache.push({
|
|
original: obj,
|
|
copy
|
|
});
|
|
Object.keys(obj).forEach(function(key) {
|
|
copy[key] = deepCopy(obj[key], cache);
|
|
});
|
|
return copy;
|
|
}
|
|
function forEachValue(obj, fn) {
|
|
Object.keys(obj).forEach(function(key) {
|
|
return fn(obj[key], key);
|
|
});
|
|
}
|
|
function isObject$2(obj) {
|
|
return obj !== null && typeof obj === "object";
|
|
}
|
|
function isPromise(val) {
|
|
return val && typeof val.then === "function";
|
|
}
|
|
function partial(fn, arg) {
|
|
return function() {
|
|
return fn(arg);
|
|
};
|
|
}
|
|
function genericSubscribe(fn, subs, options) {
|
|
if (subs.indexOf(fn) < 0) {
|
|
options && options.prepend ? subs.unshift(fn) : subs.push(fn);
|
|
}
|
|
return function() {
|
|
var i2 = subs.indexOf(fn);
|
|
if (i2 > -1) {
|
|
subs.splice(i2, 1);
|
|
}
|
|
};
|
|
}
|
|
function resetStore(store2, hot) {
|
|
store2._actions = /* @__PURE__ */ Object.create(null);
|
|
store2._mutations = /* @__PURE__ */ Object.create(null);
|
|
store2._wrappedGetters = /* @__PURE__ */ Object.create(null);
|
|
store2._modulesNamespaceMap = /* @__PURE__ */ Object.create(null);
|
|
var state2 = store2.state;
|
|
installModule(store2, state2, [], store2._modules.root, true);
|
|
resetStoreState(store2, state2, hot);
|
|
}
|
|
function resetStoreState(store2, state2, hot) {
|
|
var oldState = store2._state;
|
|
store2.getters = {};
|
|
store2._makeLocalGettersCache = /* @__PURE__ */ Object.create(null);
|
|
var wrappedGetters = store2._wrappedGetters;
|
|
var computedObj = {};
|
|
forEachValue(wrappedGetters, function(fn, key) {
|
|
computedObj[key] = partial(fn, store2);
|
|
Object.defineProperty(store2.getters, key, {
|
|
get: function() {
|
|
return computedObj[key]();
|
|
},
|
|
enumerable: true
|
|
});
|
|
});
|
|
store2._state = reactive({
|
|
data: state2
|
|
});
|
|
if (store2.strict) {
|
|
enableStrictMode(store2);
|
|
}
|
|
if (oldState) {
|
|
if (hot) {
|
|
store2._withCommit(function() {
|
|
oldState.data = null;
|
|
});
|
|
}
|
|
}
|
|
}
|
|
function installModule(store2, rootState, path, module, hot) {
|
|
var isRoot = !path.length;
|
|
var namespace = store2._modules.getNamespace(path);
|
|
if (module.namespaced) {
|
|
if (store2._modulesNamespaceMap[namespace] && false) {
|
|
console.error("[vuex] duplicate namespace " + namespace + " for the namespaced module " + path.join("/"));
|
|
}
|
|
store2._modulesNamespaceMap[namespace] = module;
|
|
}
|
|
if (!isRoot && !hot) {
|
|
var parentState = getNestedState(rootState, path.slice(0, -1));
|
|
var moduleName = path[path.length - 1];
|
|
store2._withCommit(function() {
|
|
parentState[moduleName] = module.state;
|
|
});
|
|
}
|
|
var local = module.context = makeLocalContext(store2, namespace, path);
|
|
module.forEachMutation(function(mutation, key) {
|
|
var namespacedType = namespace + key;
|
|
registerMutation(store2, namespacedType, mutation, local);
|
|
});
|
|
module.forEachAction(function(action, key) {
|
|
var type = action.root ? key : namespace + key;
|
|
var handler = action.handler || action;
|
|
registerAction(store2, type, handler, local);
|
|
});
|
|
module.forEachGetter(function(getter, key) {
|
|
var namespacedType = namespace + key;
|
|
registerGetter(store2, namespacedType, getter, local);
|
|
});
|
|
module.forEachChild(function(child, key) {
|
|
installModule(store2, rootState, path.concat(key), child, hot);
|
|
});
|
|
}
|
|
function makeLocalContext(store2, namespace, path) {
|
|
var noNamespace = namespace === "";
|
|
var local = {
|
|
dispatch: noNamespace ? store2.dispatch : function(_type, _payload, _options) {
|
|
var args = unifyObjectStyle(_type, _payload, _options);
|
|
var payload = args.payload;
|
|
var options = args.options;
|
|
var type = args.type;
|
|
if (!options || !options.root) {
|
|
type = namespace + type;
|
|
}
|
|
return store2.dispatch(type, payload);
|
|
},
|
|
commit: noNamespace ? store2.commit : function(_type, _payload, _options) {
|
|
var args = unifyObjectStyle(_type, _payload, _options);
|
|
var payload = args.payload;
|
|
var options = args.options;
|
|
var type = args.type;
|
|
if (!options || !options.root) {
|
|
type = namespace + type;
|
|
}
|
|
store2.commit(type, payload, options);
|
|
}
|
|
};
|
|
Object.defineProperties(local, {
|
|
getters: {
|
|
get: noNamespace ? function() {
|
|
return store2.getters;
|
|
} : function() {
|
|
return makeLocalGetters(store2, namespace);
|
|
}
|
|
},
|
|
state: {
|
|
get: function() {
|
|
return getNestedState(store2.state, path);
|
|
}
|
|
}
|
|
});
|
|
return local;
|
|
}
|
|
function makeLocalGetters(store2, namespace) {
|
|
if (!store2._makeLocalGettersCache[namespace]) {
|
|
var gettersProxy = {};
|
|
var splitPos = namespace.length;
|
|
Object.keys(store2.getters).forEach(function(type) {
|
|
if (type.slice(0, splitPos) !== namespace) {
|
|
return;
|
|
}
|
|
var localType = type.slice(splitPos);
|
|
Object.defineProperty(gettersProxy, localType, {
|
|
get: function() {
|
|
return store2.getters[type];
|
|
},
|
|
enumerable: true
|
|
});
|
|
});
|
|
store2._makeLocalGettersCache[namespace] = gettersProxy;
|
|
}
|
|
return store2._makeLocalGettersCache[namespace];
|
|
}
|
|
function registerMutation(store2, type, handler, local) {
|
|
var entry = store2._mutations[type] || (store2._mutations[type] = []);
|
|
entry.push(function wrappedMutationHandler(payload) {
|
|
handler.call(store2, local.state, payload);
|
|
});
|
|
}
|
|
function registerAction(store2, type, handler, local) {
|
|
var entry = store2._actions[type] || (store2._actions[type] = []);
|
|
entry.push(function wrappedActionHandler(payload) {
|
|
var res = handler.call(store2, {
|
|
dispatch: local.dispatch,
|
|
commit: local.commit,
|
|
getters: local.getters,
|
|
state: local.state,
|
|
rootGetters: store2.getters,
|
|
rootState: store2.state
|
|
}, payload);
|
|
if (!isPromise(res)) {
|
|
res = Promise.resolve(res);
|
|
}
|
|
if (store2._devtoolHook) {
|
|
return res.catch(function(err) {
|
|
store2._devtoolHook.emit("vuex:error", err);
|
|
throw err;
|
|
});
|
|
} else {
|
|
return res;
|
|
}
|
|
});
|
|
}
|
|
function registerGetter(store2, type, rawGetter, local) {
|
|
if (store2._wrappedGetters[type]) {
|
|
return;
|
|
}
|
|
store2._wrappedGetters[type] = function wrappedGetter(store3) {
|
|
return rawGetter(
|
|
local.state,
|
|
local.getters,
|
|
store3.state,
|
|
store3.getters
|
|
);
|
|
};
|
|
}
|
|
function enableStrictMode(store2) {
|
|
watch(function() {
|
|
return store2._state.data;
|
|
}, function() {
|
|
}, { deep: true, flush: "sync" });
|
|
}
|
|
function getNestedState(state2, path) {
|
|
return path.reduce(function(state3, key) {
|
|
return state3[key];
|
|
}, state2);
|
|
}
|
|
function unifyObjectStyle(type, payload, options) {
|
|
if (isObject$2(type) && type.type) {
|
|
options = payload;
|
|
payload = type;
|
|
type = type.type;
|
|
}
|
|
return { type, payload, options };
|
|
}
|
|
var LABEL_VUEX_BINDINGS = "vuex bindings";
|
|
var MUTATIONS_LAYER_ID = "vuex:mutations";
|
|
var ACTIONS_LAYER_ID = "vuex:actions";
|
|
var INSPECTOR_ID = "vuex";
|
|
var actionId = 0;
|
|
function addDevtools(app2, store2) {
|
|
setupDevtoolsPlugin(
|
|
{
|
|
id: "org.vuejs.vuex",
|
|
app: app2,
|
|
label: "Vuex",
|
|
homepage: "https://next.vuex.vuejs.org/",
|
|
logo: "https://vuejs.org/images/icons/favicon-96x96.png",
|
|
packageName: "vuex",
|
|
componentStateTypes: [LABEL_VUEX_BINDINGS]
|
|
},
|
|
function(api) {
|
|
api.addTimelineLayer({
|
|
id: MUTATIONS_LAYER_ID,
|
|
label: "Vuex Mutations",
|
|
color: COLOR_LIME_500
|
|
});
|
|
api.addTimelineLayer({
|
|
id: ACTIONS_LAYER_ID,
|
|
label: "Vuex Actions",
|
|
color: COLOR_LIME_500
|
|
});
|
|
api.addInspector({
|
|
id: INSPECTOR_ID,
|
|
label: "Vuex",
|
|
icon: "storage",
|
|
treeFilterPlaceholder: "Filter stores..."
|
|
});
|
|
api.on.getInspectorTree(function(payload) {
|
|
if (payload.app === app2 && payload.inspectorId === INSPECTOR_ID) {
|
|
if (payload.filter) {
|
|
var nodes = [];
|
|
flattenStoreForInspectorTree(nodes, store2._modules.root, payload.filter, "");
|
|
payload.rootNodes = nodes;
|
|
} else {
|
|
payload.rootNodes = [
|
|
formatStoreForInspectorTree(store2._modules.root, "")
|
|
];
|
|
}
|
|
}
|
|
});
|
|
api.on.getInspectorState(function(payload) {
|
|
if (payload.app === app2 && payload.inspectorId === INSPECTOR_ID) {
|
|
var modulePath = payload.nodeId;
|
|
makeLocalGetters(store2, modulePath);
|
|
payload.state = formatStoreForInspectorState(
|
|
getStoreModule(store2._modules, modulePath),
|
|
modulePath === "root" ? store2.getters : store2._makeLocalGettersCache,
|
|
modulePath
|
|
);
|
|
}
|
|
});
|
|
api.on.editInspectorState(function(payload) {
|
|
if (payload.app === app2 && payload.inspectorId === INSPECTOR_ID) {
|
|
var modulePath = payload.nodeId;
|
|
var path = payload.path;
|
|
if (modulePath !== "root") {
|
|
path = modulePath.split("/").filter(Boolean).concat(path);
|
|
}
|
|
store2._withCommit(function() {
|
|
payload.set(store2._state.data, path, payload.state.value);
|
|
});
|
|
}
|
|
});
|
|
store2.subscribe(function(mutation, state2) {
|
|
var data = {};
|
|
if (mutation.payload) {
|
|
data.payload = mutation.payload;
|
|
}
|
|
data.state = state2;
|
|
api.notifyComponentUpdate();
|
|
api.sendInspectorTree(INSPECTOR_ID);
|
|
api.sendInspectorState(INSPECTOR_ID);
|
|
api.addTimelineEvent({
|
|
layerId: MUTATIONS_LAYER_ID,
|
|
event: {
|
|
time: Date.now(),
|
|
title: mutation.type,
|
|
data
|
|
}
|
|
});
|
|
});
|
|
store2.subscribeAction({
|
|
before: function(action, state2) {
|
|
var data = {};
|
|
if (action.payload) {
|
|
data.payload = action.payload;
|
|
}
|
|
action._id = actionId++;
|
|
action._time = Date.now();
|
|
data.state = state2;
|
|
api.addTimelineEvent({
|
|
layerId: ACTIONS_LAYER_ID,
|
|
event: {
|
|
time: action._time,
|
|
title: action.type,
|
|
groupId: action._id,
|
|
subtitle: "start",
|
|
data
|
|
}
|
|
});
|
|
},
|
|
after: function(action, state2) {
|
|
var data = {};
|
|
var duration = Date.now() - action._time;
|
|
data.duration = {
|
|
_custom: {
|
|
type: "duration",
|
|
display: duration + "ms",
|
|
tooltip: "Action duration",
|
|
value: duration
|
|
}
|
|
};
|
|
if (action.payload) {
|
|
data.payload = action.payload;
|
|
}
|
|
data.state = state2;
|
|
api.addTimelineEvent({
|
|
layerId: ACTIONS_LAYER_ID,
|
|
event: {
|
|
time: Date.now(),
|
|
title: action.type,
|
|
groupId: action._id,
|
|
subtitle: "end",
|
|
data
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
);
|
|
}
|
|
var COLOR_LIME_500 = 8702998;
|
|
var COLOR_DARK = 6710886;
|
|
var COLOR_WHITE = 16777215;
|
|
var TAG_NAMESPACED = {
|
|
label: "namespaced",
|
|
textColor: COLOR_WHITE,
|
|
backgroundColor: COLOR_DARK
|
|
};
|
|
function extractNameFromPath(path) {
|
|
return path && path !== "root" ? path.split("/").slice(-2, -1)[0] : "Root";
|
|
}
|
|
function formatStoreForInspectorTree(module, path) {
|
|
return {
|
|
id: path || "root",
|
|
label: extractNameFromPath(path),
|
|
tags: module.namespaced ? [TAG_NAMESPACED] : [],
|
|
children: Object.keys(module._children).map(
|
|
function(moduleName) {
|
|
return formatStoreForInspectorTree(
|
|
module._children[moduleName],
|
|
path + moduleName + "/"
|
|
);
|
|
}
|
|
)
|
|
};
|
|
}
|
|
function flattenStoreForInspectorTree(result, module, filter, path) {
|
|
if (path.includes(filter)) {
|
|
result.push({
|
|
id: path || "root",
|
|
label: path.endsWith("/") ? path.slice(0, path.length - 1) : path || "Root",
|
|
tags: module.namespaced ? [TAG_NAMESPACED] : []
|
|
});
|
|
}
|
|
Object.keys(module._children).forEach(function(moduleName) {
|
|
flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + "/");
|
|
});
|
|
}
|
|
function formatStoreForInspectorState(module, getters, path) {
|
|
getters = path === "root" ? getters : getters[path];
|
|
var gettersKeys = Object.keys(getters);
|
|
var storeState = {
|
|
state: Object.keys(module.state).map(function(key) {
|
|
return {
|
|
key,
|
|
editable: true,
|
|
value: module.state[key]
|
|
};
|
|
})
|
|
};
|
|
if (gettersKeys.length) {
|
|
var tree = transformPathsToObjectTree(getters);
|
|
storeState.getters = Object.keys(tree).map(function(key) {
|
|
return {
|
|
key: key.endsWith("/") ? extractNameFromPath(key) : key,
|
|
editable: false,
|
|
value: canThrow(function() {
|
|
return tree[key];
|
|
})
|
|
};
|
|
});
|
|
}
|
|
return storeState;
|
|
}
|
|
function transformPathsToObjectTree(getters) {
|
|
var result = {};
|
|
Object.keys(getters).forEach(function(key) {
|
|
var path = key.split("/");
|
|
if (path.length > 1) {
|
|
var target = result;
|
|
var leafKey = path.pop();
|
|
path.forEach(function(p2) {
|
|
if (!target[p2]) {
|
|
target[p2] = {
|
|
_custom: {
|
|
value: {},
|
|
display: p2,
|
|
tooltip: "Module",
|
|
abstract: true
|
|
}
|
|
};
|
|
}
|
|
target = target[p2]._custom.value;
|
|
});
|
|
target[leafKey] = canThrow(function() {
|
|
return getters[key];
|
|
});
|
|
} else {
|
|
result[key] = canThrow(function() {
|
|
return getters[key];
|
|
});
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
function getStoreModule(moduleMap, path) {
|
|
var names = path.split("/").filter(function(n2) {
|
|
return n2;
|
|
});
|
|
return names.reduce(
|
|
function(module, moduleName, i2) {
|
|
var child = module[moduleName];
|
|
if (!child) {
|
|
throw new Error('Missing module "' + moduleName + '" for path "' + path + '".');
|
|
}
|
|
return i2 === names.length - 1 ? child : child._children;
|
|
},
|
|
path === "root" ? moduleMap : moduleMap.root._children
|
|
);
|
|
}
|
|
function canThrow(cb) {
|
|
try {
|
|
return cb();
|
|
} catch (e2) {
|
|
return e2;
|
|
}
|
|
}
|
|
var Module = function Module2(rawModule, runtime) {
|
|
this.runtime = runtime;
|
|
this._children = /* @__PURE__ */ Object.create(null);
|
|
this._rawModule = rawModule;
|
|
var rawState = rawModule.state;
|
|
this.state = (typeof rawState === "function" ? rawState() : rawState) || {};
|
|
};
|
|
var prototypeAccessors$1 = { namespaced: { configurable: true } };
|
|
prototypeAccessors$1.namespaced.get = function() {
|
|
return !!this._rawModule.namespaced;
|
|
};
|
|
Module.prototype.addChild = function addChild(key, module) {
|
|
this._children[key] = module;
|
|
};
|
|
Module.prototype.removeChild = function removeChild(key) {
|
|
delete this._children[key];
|
|
};
|
|
Module.prototype.getChild = function getChild(key) {
|
|
return this._children[key];
|
|
};
|
|
Module.prototype.hasChild = function hasChild(key) {
|
|
return key in this._children;
|
|
};
|
|
Module.prototype.update = function update(rawModule) {
|
|
this._rawModule.namespaced = rawModule.namespaced;
|
|
if (rawModule.actions) {
|
|
this._rawModule.actions = rawModule.actions;
|
|
}
|
|
if (rawModule.mutations) {
|
|
this._rawModule.mutations = rawModule.mutations;
|
|
}
|
|
if (rawModule.getters) {
|
|
this._rawModule.getters = rawModule.getters;
|
|
}
|
|
};
|
|
Module.prototype.forEachChild = function forEachChild(fn) {
|
|
forEachValue(this._children, fn);
|
|
};
|
|
Module.prototype.forEachGetter = function forEachGetter(fn) {
|
|
if (this._rawModule.getters) {
|
|
forEachValue(this._rawModule.getters, fn);
|
|
}
|
|
};
|
|
Module.prototype.forEachAction = function forEachAction(fn) {
|
|
if (this._rawModule.actions) {
|
|
forEachValue(this._rawModule.actions, fn);
|
|
}
|
|
};
|
|
Module.prototype.forEachMutation = function forEachMutation(fn) {
|
|
if (this._rawModule.mutations) {
|
|
forEachValue(this._rawModule.mutations, fn);
|
|
}
|
|
};
|
|
Object.defineProperties(Module.prototype, prototypeAccessors$1);
|
|
var ModuleCollection = function ModuleCollection2(rawRootModule) {
|
|
this.register([], rawRootModule, false);
|
|
};
|
|
ModuleCollection.prototype.get = function get2(path) {
|
|
return path.reduce(function(module, key) {
|
|
return module.getChild(key);
|
|
}, this.root);
|
|
};
|
|
ModuleCollection.prototype.getNamespace = function getNamespace(path) {
|
|
var module = this.root;
|
|
return path.reduce(function(namespace, key) {
|
|
module = module.getChild(key);
|
|
return namespace + (module.namespaced ? key + "/" : "");
|
|
}, "");
|
|
};
|
|
ModuleCollection.prototype.update = function update$1(rawRootModule) {
|
|
update2([], this.root, rawRootModule);
|
|
};
|
|
ModuleCollection.prototype.register = function register(path, rawModule, runtime) {
|
|
var this$1$1 = this;
|
|
if (runtime === void 0)
|
|
runtime = true;
|
|
var newModule = new Module(rawModule, runtime);
|
|
if (path.length === 0) {
|
|
this.root = newModule;
|
|
} else {
|
|
var parent = this.get(path.slice(0, -1));
|
|
parent.addChild(path[path.length - 1], newModule);
|
|
}
|
|
if (rawModule.modules) {
|
|
forEachValue(rawModule.modules, function(rawChildModule, key) {
|
|
this$1$1.register(path.concat(key), rawChildModule, runtime);
|
|
});
|
|
}
|
|
};
|
|
ModuleCollection.prototype.unregister = function unregister(path) {
|
|
var parent = this.get(path.slice(0, -1));
|
|
var key = path[path.length - 1];
|
|
var child = parent.getChild(key);
|
|
if (!child) {
|
|
return;
|
|
}
|
|
if (!child.runtime) {
|
|
return;
|
|
}
|
|
parent.removeChild(key);
|
|
};
|
|
ModuleCollection.prototype.isRegistered = function isRegistered(path) {
|
|
var parent = this.get(path.slice(0, -1));
|
|
var key = path[path.length - 1];
|
|
if (parent) {
|
|
return parent.hasChild(key);
|
|
}
|
|
return false;
|
|
};
|
|
function update2(path, targetModule, newModule) {
|
|
targetModule.update(newModule);
|
|
if (newModule.modules) {
|
|
for (var key in newModule.modules) {
|
|
if (!targetModule.getChild(key)) {
|
|
return;
|
|
}
|
|
update2(
|
|
path.concat(key),
|
|
targetModule.getChild(key),
|
|
newModule.modules[key]
|
|
);
|
|
}
|
|
}
|
|
}
|
|
function createStore(options) {
|
|
return new Store(options);
|
|
}
|
|
var Store = function Store2(options) {
|
|
var this$1$1 = this;
|
|
if (options === void 0)
|
|
options = {};
|
|
var plugins = options.plugins;
|
|
if (plugins === void 0)
|
|
plugins = [];
|
|
var strict = options.strict;
|
|
if (strict === void 0)
|
|
strict = false;
|
|
var devtools2 = options.devtools;
|
|
this._committing = false;
|
|
this._actions = /* @__PURE__ */ Object.create(null);
|
|
this._actionSubscribers = [];
|
|
this._mutations = /* @__PURE__ */ Object.create(null);
|
|
this._wrappedGetters = /* @__PURE__ */ Object.create(null);
|
|
this._modules = new ModuleCollection(options);
|
|
this._modulesNamespaceMap = /* @__PURE__ */ Object.create(null);
|
|
this._subscribers = [];
|
|
this._makeLocalGettersCache = /* @__PURE__ */ Object.create(null);
|
|
this._devtools = devtools2;
|
|
var store2 = this;
|
|
var ref2 = this;
|
|
var dispatch2 = ref2.dispatch;
|
|
var commit2 = ref2.commit;
|
|
this.dispatch = function boundDispatch(type, payload) {
|
|
return dispatch2.call(store2, type, payload);
|
|
};
|
|
this.commit = function boundCommit(type, payload, options2) {
|
|
return commit2.call(store2, type, payload, options2);
|
|
};
|
|
this.strict = strict;
|
|
var state2 = this._modules.root.state;
|
|
installModule(this, state2, [], this._modules.root);
|
|
resetStoreState(this, state2);
|
|
plugins.forEach(function(plugin) {
|
|
return plugin(this$1$1);
|
|
});
|
|
};
|
|
var prototypeAccessors = { state: { configurable: true } };
|
|
Store.prototype.install = function install(app2, injectKey) {
|
|
app2.provide(injectKey || storeKey, this);
|
|
app2.config.globalProperties.$store = this;
|
|
var useDevtools = this._devtools !== void 0 ? this._devtools : false;
|
|
if (useDevtools) {
|
|
addDevtools(app2, this);
|
|
}
|
|
};
|
|
prototypeAccessors.state.get = function() {
|
|
return this._state.data;
|
|
};
|
|
prototypeAccessors.state.set = function(v) {
|
|
};
|
|
Store.prototype.commit = function commit(_type, _payload, _options) {
|
|
var this$1$1 = this;
|
|
var ref2 = unifyObjectStyle(_type, _payload, _options);
|
|
var type = ref2.type;
|
|
var payload = ref2.payload;
|
|
var mutation = { type, payload };
|
|
var entry = this._mutations[type];
|
|
if (!entry) {
|
|
return;
|
|
}
|
|
this._withCommit(function() {
|
|
entry.forEach(function commitIterator(handler) {
|
|
handler(payload);
|
|
});
|
|
});
|
|
this._subscribers.slice().forEach(function(sub) {
|
|
return sub(mutation, this$1$1.state);
|
|
});
|
|
};
|
|
Store.prototype.dispatch = function dispatch(_type, _payload) {
|
|
var this$1$1 = this;
|
|
var ref2 = unifyObjectStyle(_type, _payload);
|
|
var type = ref2.type;
|
|
var payload = ref2.payload;
|
|
var action = { type, payload };
|
|
var entry = this._actions[type];
|
|
if (!entry) {
|
|
return;
|
|
}
|
|
try {
|
|
this._actionSubscribers.slice().filter(function(sub) {
|
|
return sub.before;
|
|
}).forEach(function(sub) {
|
|
return sub.before(action, this$1$1.state);
|
|
});
|
|
} catch (e2) {
|
|
}
|
|
var result = entry.length > 1 ? Promise.all(entry.map(function(handler) {
|
|
return handler(payload);
|
|
})) : entry[0](payload);
|
|
return new Promise(function(resolve2, reject) {
|
|
result.then(function(res) {
|
|
try {
|
|
this$1$1._actionSubscribers.filter(function(sub) {
|
|
return sub.after;
|
|
}).forEach(function(sub) {
|
|
return sub.after(action, this$1$1.state);
|
|
});
|
|
} catch (e2) {
|
|
}
|
|
resolve2(res);
|
|
}, function(error) {
|
|
try {
|
|
this$1$1._actionSubscribers.filter(function(sub) {
|
|
return sub.error;
|
|
}).forEach(function(sub) {
|
|
return sub.error(action, this$1$1.state, error);
|
|
});
|
|
} catch (e2) {
|
|
}
|
|
reject(error);
|
|
});
|
|
});
|
|
};
|
|
Store.prototype.subscribe = function subscribe(fn, options) {
|
|
return genericSubscribe(fn, this._subscribers, options);
|
|
};
|
|
Store.prototype.subscribeAction = function subscribeAction(fn, options) {
|
|
var subs = typeof fn === "function" ? { before: fn } : fn;
|
|
return genericSubscribe(subs, this._actionSubscribers, options);
|
|
};
|
|
Store.prototype.watch = function watch$1(getter, cb, options) {
|
|
var this$1$1 = this;
|
|
return watch(function() {
|
|
return getter(this$1$1.state, this$1$1.getters);
|
|
}, cb, Object.assign({}, options));
|
|
};
|
|
Store.prototype.replaceState = function replaceState(state2) {
|
|
var this$1$1 = this;
|
|
this._withCommit(function() {
|
|
this$1$1._state.data = state2;
|
|
});
|
|
};
|
|
Store.prototype.registerModule = function registerModule(path, rawModule, options) {
|
|
if (options === void 0)
|
|
options = {};
|
|
if (typeof path === "string") {
|
|
path = [path];
|
|
}
|
|
this._modules.register(path, rawModule);
|
|
installModule(this, this.state, path, this._modules.get(path), options.preserveState);
|
|
resetStoreState(this, this.state);
|
|
};
|
|
Store.prototype.unregisterModule = function unregisterModule(path) {
|
|
var this$1$1 = this;
|
|
if (typeof path === "string") {
|
|
path = [path];
|
|
}
|
|
this._modules.unregister(path);
|
|
this._withCommit(function() {
|
|
var parentState = getNestedState(this$1$1.state, path.slice(0, -1));
|
|
delete parentState[path[path.length - 1]];
|
|
});
|
|
resetStore(this);
|
|
};
|
|
Store.prototype.hasModule = function hasModule(path) {
|
|
if (typeof path === "string") {
|
|
path = [path];
|
|
}
|
|
return this._modules.isRegistered(path);
|
|
};
|
|
Store.prototype.hotUpdate = function hotUpdate(newOptions) {
|
|
this._modules.update(newOptions);
|
|
resetStore(this, true);
|
|
};
|
|
Store.prototype._withCommit = function _withCommit(fn) {
|
|
var committing = this._committing;
|
|
this._committing = true;
|
|
fn();
|
|
this._committing = committing;
|
|
};
|
|
Object.defineProperties(Store.prototype, prototypeAccessors);
|
|
var mapState = normalizeNamespace(function(namespace, states) {
|
|
var res = {};
|
|
normalizeMap(states).forEach(function(ref2) {
|
|
var key = ref2.key;
|
|
var val = ref2.val;
|
|
res[key] = function mappedState() {
|
|
var state2 = this.$store.state;
|
|
var getters = this.$store.getters;
|
|
if (namespace) {
|
|
var module = getModuleByNamespace(this.$store, "mapState", namespace);
|
|
if (!module) {
|
|
return;
|
|
}
|
|
state2 = module.context.state;
|
|
getters = module.context.getters;
|
|
}
|
|
return typeof val === "function" ? val.call(this, state2, getters) : state2[val];
|
|
};
|
|
res[key].vuex = true;
|
|
});
|
|
return res;
|
|
});
|
|
var mapMutations = normalizeNamespace(function(namespace, mutations2) {
|
|
var res = {};
|
|
normalizeMap(mutations2).forEach(function(ref2) {
|
|
var key = ref2.key;
|
|
var val = ref2.val;
|
|
res[key] = function mappedMutation() {
|
|
var args = [], len = arguments.length;
|
|
while (len--)
|
|
args[len] = arguments[len];
|
|
var commit2 = this.$store.commit;
|
|
if (namespace) {
|
|
var module = getModuleByNamespace(this.$store, "mapMutations", namespace);
|
|
if (!module) {
|
|
return;
|
|
}
|
|
commit2 = module.context.commit;
|
|
}
|
|
return typeof val === "function" ? val.apply(this, [commit2].concat(args)) : commit2.apply(this.$store, [val].concat(args));
|
|
};
|
|
});
|
|
return res;
|
|
});
|
|
var mapGetters = normalizeNamespace(function(namespace, getters) {
|
|
var res = {};
|
|
normalizeMap(getters).forEach(function(ref2) {
|
|
var key = ref2.key;
|
|
var val = ref2.val;
|
|
val = namespace + val;
|
|
res[key] = function mappedGetter() {
|
|
if (namespace && !getModuleByNamespace(this.$store, "mapGetters", namespace)) {
|
|
return;
|
|
}
|
|
return this.$store.getters[val];
|
|
};
|
|
res[key].vuex = true;
|
|
});
|
|
return res;
|
|
});
|
|
var mapActions = normalizeNamespace(function(namespace, actions2) {
|
|
var res = {};
|
|
normalizeMap(actions2).forEach(function(ref2) {
|
|
var key = ref2.key;
|
|
var val = ref2.val;
|
|
res[key] = function mappedAction() {
|
|
var args = [], len = arguments.length;
|
|
while (len--)
|
|
args[len] = arguments[len];
|
|
var dispatch2 = this.$store.dispatch;
|
|
if (namespace) {
|
|
var module = getModuleByNamespace(this.$store, "mapActions", namespace);
|
|
if (!module) {
|
|
return;
|
|
}
|
|
dispatch2 = module.context.dispatch;
|
|
}
|
|
return typeof val === "function" ? val.apply(this, [dispatch2].concat(args)) : dispatch2.apply(this.$store, [val].concat(args));
|
|
};
|
|
});
|
|
return res;
|
|
});
|
|
var createNamespacedHelpers = function(namespace) {
|
|
return {
|
|
mapState: mapState.bind(null, namespace),
|
|
mapGetters: mapGetters.bind(null, namespace),
|
|
mapMutations: mapMutations.bind(null, namespace),
|
|
mapActions: mapActions.bind(null, namespace)
|
|
};
|
|
};
|
|
function normalizeMap(map) {
|
|
if (!isValidMap(map)) {
|
|
return [];
|
|
}
|
|
return Array.isArray(map) ? map.map(function(key) {
|
|
return { key, val: key };
|
|
}) : Object.keys(map).map(function(key) {
|
|
return { key, val: map[key] };
|
|
});
|
|
}
|
|
function isValidMap(map) {
|
|
return Array.isArray(map) || isObject$2(map);
|
|
}
|
|
function normalizeNamespace(fn) {
|
|
return function(namespace, map) {
|
|
if (typeof namespace !== "string") {
|
|
map = namespace;
|
|
namespace = "";
|
|
} else if (namespace.charAt(namespace.length - 1) !== "/") {
|
|
namespace += "/";
|
|
}
|
|
return fn(namespace, map);
|
|
};
|
|
}
|
|
function getModuleByNamespace(store2, helper, namespace) {
|
|
var module = store2._modulesNamespaceMap[namespace];
|
|
return module;
|
|
}
|
|
function createLogger(ref2) {
|
|
if (ref2 === void 0)
|
|
ref2 = {};
|
|
var collapsed = ref2.collapsed;
|
|
if (collapsed === void 0)
|
|
collapsed = true;
|
|
var filter = ref2.filter;
|
|
if (filter === void 0)
|
|
filter = function(mutation, stateBefore, stateAfter) {
|
|
return true;
|
|
};
|
|
var transformer = ref2.transformer;
|
|
if (transformer === void 0)
|
|
transformer = function(state2) {
|
|
return state2;
|
|
};
|
|
var mutationTransformer = ref2.mutationTransformer;
|
|
if (mutationTransformer === void 0)
|
|
mutationTransformer = function(mut) {
|
|
return mut;
|
|
};
|
|
var actionFilter = ref2.actionFilter;
|
|
if (actionFilter === void 0)
|
|
actionFilter = function(action, state2) {
|
|
return true;
|
|
};
|
|
var actionTransformer = ref2.actionTransformer;
|
|
if (actionTransformer === void 0)
|
|
actionTransformer = function(act) {
|
|
return act;
|
|
};
|
|
var logMutations = ref2.logMutations;
|
|
if (logMutations === void 0)
|
|
logMutations = true;
|
|
var logActions = ref2.logActions;
|
|
if (logActions === void 0)
|
|
logActions = true;
|
|
var logger = ref2.logger;
|
|
if (logger === void 0)
|
|
logger = console;
|
|
return function(store2) {
|
|
var prevState = deepCopy(store2.state);
|
|
if (typeof logger === "undefined") {
|
|
return;
|
|
}
|
|
if (logMutations) {
|
|
store2.subscribe(function(mutation, state2) {
|
|
var nextState = deepCopy(state2);
|
|
if (filter(mutation, prevState, nextState)) {
|
|
var formattedTime = getFormattedTime();
|
|
var formattedMutation = mutationTransformer(mutation);
|
|
var message = "mutation " + mutation.type + formattedTime;
|
|
startMessage(logger, message, collapsed);
|
|
logger.log("%c prev state", "color: #9E9E9E; font-weight: bold", transformer(prevState));
|
|
logger.log("%c mutation", "color: #03A9F4; font-weight: bold", formattedMutation);
|
|
logger.log("%c next state", "color: #4CAF50; font-weight: bold", transformer(nextState));
|
|
endMessage(logger);
|
|
}
|
|
prevState = nextState;
|
|
});
|
|
}
|
|
if (logActions) {
|
|
store2.subscribeAction(function(action, state2) {
|
|
if (actionFilter(action, state2)) {
|
|
var formattedTime = getFormattedTime();
|
|
var formattedAction = actionTransformer(action);
|
|
var message = "action " + action.type + formattedTime;
|
|
startMessage(logger, message, collapsed);
|
|
logger.log("%c action", "color: #03A9F4; font-weight: bold", formattedAction);
|
|
endMessage(logger);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
}
|
|
function startMessage(logger, message, collapsed) {
|
|
var startMessage2 = collapsed ? logger.groupCollapsed : logger.group;
|
|
try {
|
|
startMessage2.call(logger, message);
|
|
} catch (e2) {
|
|
logger.log(message);
|
|
}
|
|
}
|
|
function endMessage(logger) {
|
|
try {
|
|
logger.groupEnd();
|
|
} catch (e2) {
|
|
logger.log("\u2014\u2014 log end \u2014\u2014");
|
|
}
|
|
}
|
|
function getFormattedTime() {
|
|
var time = new Date();
|
|
return " @ " + pad(time.getHours(), 2) + ":" + pad(time.getMinutes(), 2) + ":" + pad(time.getSeconds(), 2) + "." + pad(time.getMilliseconds(), 3);
|
|
}
|
|
function repeat2(str, times) {
|
|
return new Array(times + 1).join(str);
|
|
}
|
|
function pad(num, maxLength) {
|
|
return repeat2("0", maxLength - num.toString().length) + num;
|
|
}
|
|
var index = {
|
|
version: "4.0.2",
|
|
Store,
|
|
storeKey,
|
|
createStore,
|
|
useStore,
|
|
mapState,
|
|
mapMutations,
|
|
mapGetters,
|
|
mapActions,
|
|
createNamespacedHelpers,
|
|
createLogger
|
|
};
|
|
const Vuex = index;
|
|
const state$2 = () => ({
|
|
isOpen: false,
|
|
title: void 0,
|
|
message: void 0,
|
|
onConfirm: void 0,
|
|
variant: "danger"
|
|
});
|
|
const PROMPT_CONFIRM_DELETE = "PROMPT_CONFIRM_DELETE";
|
|
const CANCEL_CONFIRM_DELETE = "CANCEL_CONFIRM_DELETE";
|
|
const mutations$2 = {
|
|
[PROMPT_CONFIRM_DELETE](state2, payload) {
|
|
Object.assign(state2, {
|
|
...state2,
|
|
isOpen: true,
|
|
...payload
|
|
});
|
|
},
|
|
[CANCEL_CONFIRM_DELETE](state2) {
|
|
Object.assign(state2, {
|
|
...state2,
|
|
isOpen: false
|
|
});
|
|
}
|
|
};
|
|
const actions$2 = {
|
|
open({ dispatch: dispatch2, commit: commit2 }, payload) {
|
|
dispatch2("backdrop/open", null, { root: true });
|
|
commit2(PROMPT_CONFIRM_DELETE, payload);
|
|
},
|
|
close({ dispatch: dispatch2, commit: commit2 }) {
|
|
dispatch2("backdrop/close", null, { root: true });
|
|
commit2(CANCEL_CONFIRM_DELETE);
|
|
}
|
|
};
|
|
const confirm = {
|
|
namespaced: true,
|
|
state: state$2,
|
|
mutations: mutations$2,
|
|
actions: actions$2
|
|
};
|
|
const state$1 = () => ({
|
|
isOpen: false
|
|
});
|
|
const CLOSE_BACKDROP = "CLOSE_BACKDROP";
|
|
const OPEN_BACKDROP = "OPEN_BACKDROP";
|
|
const mutations$1 = {
|
|
[OPEN_BACKDROP](state2) {
|
|
Object.assign(state2, {
|
|
...state2,
|
|
isOpen: true
|
|
});
|
|
},
|
|
[CLOSE_BACKDROP](state2) {
|
|
Object.assign(state2, {
|
|
...state2,
|
|
isOpen: false
|
|
});
|
|
}
|
|
};
|
|
const actions$1 = {
|
|
open({ commit: commit2 }, payload) {
|
|
commit2(OPEN_BACKDROP, payload);
|
|
},
|
|
close({ commit: commit2 }) {
|
|
commit2(CLOSE_BACKDROP);
|
|
}
|
|
};
|
|
const backdrop = {
|
|
namespaced: true,
|
|
state: state$1,
|
|
mutations: mutations$1,
|
|
actions: actions$1
|
|
};
|
|
const state = () => ({
|
|
notifications: []
|
|
});
|
|
const NOTIFY_NOTIFICATION = "NOTIFY_NOTIFICATION";
|
|
const CLOSE_NOTIFICATION = "CLOSE_NOTIFICATION";
|
|
const mutations = {
|
|
[NOTIFY_NOTIFICATION](state2, payload) {
|
|
state2.notifications.push(payload);
|
|
},
|
|
[CLOSE_NOTIFICATION](state2) {
|
|
state2.notifications.shift();
|
|
}
|
|
};
|
|
const actions = {
|
|
notify({ commit: commit2 }, payload) {
|
|
var _a;
|
|
commit2(NOTIFY_NOTIFICATION, payload);
|
|
setTimeout(() => commit2(CLOSE_NOTIFICATION), (_a = payload.timeout) != null ? _a : 4e3);
|
|
}
|
|
};
|
|
const notification = {
|
|
namespaced: true,
|
|
state,
|
|
mutations,
|
|
actions
|
|
};
|
|
Vue.use(Vuex);
|
|
const store = new Vuex.Store({
|
|
modules: {
|
|
confirm,
|
|
backdrop,
|
|
notification
|
|
}
|
|
});
|
|
/**
|
|
* Copyright 2021 Thorsten Luenborg
|
|
* @license MIT
|
|
*/
|
|
const f = Symbol("wormhole");
|
|
function m() {
|
|
const e2 = inject(f);
|
|
if (!e2)
|
|
throw new Error("\n [portal-vue]: Necessary Injection not found. Make sur you installed the plugin properly.");
|
|
return e2;
|
|
}
|
|
const g = "undefined" != typeof window;
|
|
var y = defineComponent({ compatConfig: { MODE: 3 }, name: "portal", props: { disabled: { type: Boolean }, name: { type: [String, Symbol], default: () => Symbol() }, order: { type: Number }, slotProps: { type: Object, default: () => ({}) }, to: { type: String, default: () => String(Math.round(1e7 * Math.random())) } }, setup: (t2, { slots: e2 }) => (function(t3, e3) {
|
|
const o2 = m();
|
|
function s2() {
|
|
if (!g)
|
|
return;
|
|
const { to: n2, name: r2, order: a2 } = t3;
|
|
e3.default ? o2.open({ to: n2, from: r2, order: a2, content: e3.default }) : u2();
|
|
}
|
|
function u2(e4) {
|
|
o2.close({ to: null != e4 ? e4 : t3.to, from: t3.name });
|
|
}
|
|
onMounted(() => {
|
|
t3.disabled || s2();
|
|
}), onUpdated(() => {
|
|
t3.disabled ? u2() : s2();
|
|
}), onBeforeUnmount(() => {
|
|
u2();
|
|
}), watch(() => t3.to, (e4, o3) => {
|
|
t3.disabled || (o3 && o3 !== e4 && u2(o3), s2());
|
|
});
|
|
}(t2, e2), () => t2.disabled && e2.default ? e2.default(t2.slotProps) : null) });
|
|
const h = (t2, { slots: e2 }) => {
|
|
var o2;
|
|
return null === (o2 = e2.default) || void 0 === o2 ? void 0 : o2.call(e2);
|
|
};
|
|
var b = defineComponent({ compatConfig: { MODE: 3 }, name: "portalTarget", props: { multiple: { type: Boolean, default: false }, name: { type: String, required: true }, slotProps: { type: Object, default: () => ({}) } }, emits: ["change"], setup(t2, { emit: e2, slots: o2 }) {
|
|
const n2 = m(), r2 = computed$1(() => {
|
|
const e3 = n2.getContentForTarget(t2.name, t2.multiple), r3 = o2.wrapper, a2 = e3.map((e4) => e4.content(t2.slotProps)), l2 = r3 ? a2.flatMap((t3) => t3.length ? r3(t3) : []) : a2.flat(1);
|
|
return { vnodes: l2, vnodesFn: () => l2 };
|
|
});
|
|
return watch(r2, ({ vnodes: o3 }) => {
|
|
const r3 = o3.length > 0, a2 = n2.transports.get(t2.name), l2 = a2 ? [...a2.keys()] : [];
|
|
e2("change", { hasContent: r3, sources: l2 });
|
|
}, { flush: "post" }), () => {
|
|
var t3;
|
|
return !!r2.value.vnodes.length ? [h$2("div", { style: "display: none", key: "__portal-vue-hacky-scoped-slot-repair__" }), h$2(h, r2.value.vnodesFn)] : null === (t3 = o2.default) || void 0 === t3 ? void 0 : t3.call(o2);
|
|
};
|
|
} });
|
|
function w(t2 = true) {
|
|
const e2 = reactive(/* @__PURE__ */ new Map());
|
|
const o2 = { open: function(t3) {
|
|
if (!g)
|
|
return;
|
|
const { to: o3, from: n2, content: r2, order: a2 = 1 / 0 } = t3;
|
|
if (!o3 || !n2 || !r2)
|
|
return;
|
|
e2.has(o3) || e2.set(o3, /* @__PURE__ */ new Map());
|
|
const l2 = { to: o3, from: n2, content: r2, order: a2 };
|
|
e2.get(o3).set(n2, l2);
|
|
}, close: function(t3) {
|
|
const { to: o3, from: n2 } = t3;
|
|
if (!o3 || !n2)
|
|
return;
|
|
const r2 = e2.get(o3);
|
|
r2 && (r2.delete(n2), r2.size || e2.delete(o3));
|
|
}, transports: e2, getContentForTarget: function(t3, o3) {
|
|
const n2 = e2.get(t3);
|
|
if (!n2)
|
|
return [];
|
|
const r2 = Array.from((null == n2 ? void 0 : n2.values()) || []);
|
|
return o3 ? (a2 = (t4, e3) => t4.order - e3.order, r2.map((t4, e3) => [e3, t4]).sort(function(t4, e3) {
|
|
return a2(t4[1], e3[1]) || t4[0] - e3[0];
|
|
}).map((t4) => t4[1])) : [r2.pop()];
|
|
var a2;
|
|
} };
|
|
return t2 ? readonly(o2) : o2;
|
|
}
|
|
const M = w();
|
|
function N(t2, e2 = {}) {
|
|
var o2;
|
|
false !== e2.portalName && t2.component(e2.portalName || "Portal", y), false !== e2.portalTargetName && t2.component(e2.portalTargetName || "PortalTarget", b);
|
|
const n2 = null !== (o2 = e2.wormhole) && void 0 !== o2 ? o2 : M;
|
|
t2.provide(f, n2);
|
|
}
|
|
var vClickOutside_umd = { exports: {} };
|
|
(function(module, exports) {
|
|
!function(e2, n2) {
|
|
module.exports = n2();
|
|
}(commonjsGlobal, function() {
|
|
var e2 = "__v-click-outside", n2 = "undefined" != typeof window, t2 = "undefined" != typeof navigator, r2 = n2 && ("ontouchstart" in window || t2 && navigator.msMaxTouchPoints > 0) ? ["touchstart"] : ["click"], i2 = function(e3) {
|
|
var n3 = e3.event, t3 = e3.handler;
|
|
(0, e3.middleware)(n3) && t3(n3);
|
|
}, a2 = function(n3, t3) {
|
|
var a3 = function(e3) {
|
|
var n4 = "function" == typeof e3;
|
|
if (!n4 && "object" != typeof e3)
|
|
throw new Error("v-click-outside: Binding value must be a function or an object");
|
|
return { handler: n4 ? e3 : e3.handler, middleware: e3.middleware || function(e4) {
|
|
return e4;
|
|
}, events: e3.events || r2, isActive: !(false === e3.isActive), detectIframe: !(false === e3.detectIframe), capture: Boolean(e3.capture) };
|
|
}(t3.value), o3 = a3.handler, d3 = a3.middleware, c2 = a3.detectIframe, u2 = a3.capture;
|
|
if (a3.isActive) {
|
|
if (n3[e2] = a3.events.map(function(e3) {
|
|
return { event: e3, srcTarget: document.documentElement, handler: function(e4) {
|
|
return function(e5) {
|
|
var n4 = e5.el, t4 = e5.event, r3 = e5.handler, a4 = e5.middleware, o4 = t4.path || t4.composedPath && t4.composedPath();
|
|
(o4 ? o4.indexOf(n4) < 0 : !n4.contains(t4.target)) && i2({ event: t4, handler: r3, middleware: a4 });
|
|
}({ el: n3, event: e4, handler: o3, middleware: d3 });
|
|
}, capture: u2 };
|
|
}), c2) {
|
|
var l2 = { event: "blur", srcTarget: window, handler: function(e3) {
|
|
return function(e4) {
|
|
var n4 = e4.el, t4 = e4.event, r3 = e4.handler, a4 = e4.middleware;
|
|
setTimeout(function() {
|
|
var e5 = document.activeElement;
|
|
e5 && "IFRAME" === e5.tagName && !n4.contains(e5) && i2({ event: t4, handler: r3, middleware: a4 });
|
|
}, 0);
|
|
}({ el: n3, event: e3, handler: o3, middleware: d3 });
|
|
}, capture: u2 };
|
|
n3[e2] = [].concat(n3[e2], [l2]);
|
|
}
|
|
n3[e2].forEach(function(t4) {
|
|
var r3 = t4.event, i3 = t4.srcTarget, a4 = t4.handler;
|
|
return setTimeout(function() {
|
|
n3[e2] && i3.addEventListener(r3, a4, u2);
|
|
}, 0);
|
|
});
|
|
}
|
|
}, o2 = function(n3) {
|
|
(n3[e2] || []).forEach(function(e3) {
|
|
return e3.srcTarget.removeEventListener(e3.event, e3.handler, e3.capture);
|
|
}), delete n3[e2];
|
|
}, d2 = n2 ? { beforeMount: a2, updated: function(e3, n3) {
|
|
var t3 = n3.value, r3 = n3.oldValue;
|
|
JSON.stringify(t3) !== JSON.stringify(r3) && (o2(e3), a2(e3, { value: t3 }));
|
|
}, unmounted: o2 } : {};
|
|
return { install: function(e3) {
|
|
e3.directive("click-outside", d2);
|
|
}, directive: d2 };
|
|
});
|
|
})(vClickOutside_umd);
|
|
const vClickOutside = vClickOutside_umd.exports;
|
|
var vueClipboard = { exports: {} };
|
|
var clipboard_min = { exports: {} };
|
|
/*!
|
|
* clipboard.js v2.0.11
|
|
* https://clipboardjs.com/
|
|
*
|
|
* Licensed MIT © Zeno Rocha
|
|
*/
|
|
(function(module, exports) {
|
|
!function(t2, e2) {
|
|
module.exports = e2();
|
|
}(commonjsGlobal, function() {
|
|
return n2 = { 686: function(t2, e2, n3) {
|
|
n3.d(e2, { default: function() {
|
|
return b2;
|
|
} });
|
|
var e2 = n3(279), i2 = n3.n(e2), e2 = n3(370), u2 = n3.n(e2), e2 = n3(817), r3 = n3.n(e2);
|
|
function c2(t3) {
|
|
try {
|
|
return document.execCommand(t3);
|
|
} catch (t4) {
|
|
return;
|
|
}
|
|
}
|
|
var a2 = function(t3) {
|
|
t3 = r3()(t3);
|
|
return c2("cut"), t3;
|
|
};
|
|
function o3(t3, e3) {
|
|
var n4, o4, t3 = (n4 = t3, o4 = "rtl" === document.documentElement.getAttribute("dir"), (t3 = document.createElement("textarea")).style.fontSize = "12pt", t3.style.border = "0", t3.style.padding = "0", t3.style.margin = "0", t3.style.position = "absolute", t3.style[o4 ? "right" : "left"] = "-9999px", o4 = window.pageYOffset || document.documentElement.scrollTop, t3.style.top = "".concat(o4, "px"), t3.setAttribute("readonly", ""), t3.value = n4, t3);
|
|
return e3.container.appendChild(t3), e3 = r3()(t3), c2("copy"), t3.remove(), e3;
|
|
}
|
|
var f2 = function(t3) {
|
|
var e3 = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : { container: document.body }, n4 = "";
|
|
return "string" == typeof t3 ? n4 = o3(t3, e3) : t3 instanceof HTMLInputElement && !["text", "search", "url", "tel", "password"].includes(null == t3 ? void 0 : t3.type) ? n4 = o3(t3.value, e3) : (n4 = r3()(t3), c2("copy")), n4;
|
|
};
|
|
function l2(t3) {
|
|
return (l2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) {
|
|
return typeof t4;
|
|
} : function(t4) {
|
|
return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4;
|
|
})(t3);
|
|
}
|
|
var s2 = function() {
|
|
var t3 = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, e3 = t3.action, n4 = void 0 === e3 ? "copy" : e3, o4 = t3.container, e3 = t3.target, t3 = t3.text;
|
|
if ("copy" !== n4 && "cut" !== n4)
|
|
throw new Error('Invalid "action" value, use either "copy" or "cut"');
|
|
if (void 0 !== e3) {
|
|
if (!e3 || "object" !== l2(e3) || 1 !== e3.nodeType)
|
|
throw new Error('Invalid "target" value, use a valid Element');
|
|
if ("copy" === n4 && e3.hasAttribute("disabled"))
|
|
throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
|
|
if ("cut" === n4 && (e3.hasAttribute("readonly") || e3.hasAttribute("disabled")))
|
|
throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`);
|
|
}
|
|
return t3 ? f2(t3, { container: o4 }) : e3 ? "cut" === n4 ? a2(e3) : f2(e3, { container: o4 }) : void 0;
|
|
};
|
|
function p2(t3) {
|
|
return (p2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t4) {
|
|
return typeof t4;
|
|
} : function(t4) {
|
|
return t4 && "function" == typeof Symbol && t4.constructor === Symbol && t4 !== Symbol.prototype ? "symbol" : typeof t4;
|
|
})(t3);
|
|
}
|
|
function d2(t3, e3) {
|
|
for (var n4 = 0; n4 < e3.length; n4++) {
|
|
var o4 = e3[n4];
|
|
o4.enumerable = o4.enumerable || false, o4.configurable = true, "value" in o4 && (o4.writable = true), Object.defineProperty(t3, o4.key, o4);
|
|
}
|
|
}
|
|
function y2(t3, e3) {
|
|
return (y2 = Object.setPrototypeOf || function(t4, e4) {
|
|
return t4.__proto__ = e4, t4;
|
|
})(t3, e3);
|
|
}
|
|
function h2(n4) {
|
|
var o4 = function() {
|
|
if ("undefined" == typeof Reflect || !Reflect.construct)
|
|
return false;
|
|
if (Reflect.construct.sham)
|
|
return false;
|
|
if ("function" == typeof Proxy)
|
|
return true;
|
|
try {
|
|
return Date.prototype.toString.call(Reflect.construct(Date, [], function() {
|
|
})), true;
|
|
} catch (t3) {
|
|
return false;
|
|
}
|
|
}();
|
|
return function() {
|
|
var t3, e3 = v(n4);
|
|
return t3 = o4 ? (t3 = v(this).constructor, Reflect.construct(e3, arguments, t3)) : e3.apply(this, arguments), e3 = this, !(t3 = t3) || "object" !== p2(t3) && "function" != typeof t3 ? function(t4) {
|
|
if (void 0 !== t4)
|
|
return t4;
|
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
}(e3) : t3;
|
|
};
|
|
}
|
|
function v(t3) {
|
|
return (v = Object.setPrototypeOf ? Object.getPrototypeOf : function(t4) {
|
|
return t4.__proto__ || Object.getPrototypeOf(t4);
|
|
})(t3);
|
|
}
|
|
function m2(t3, e3) {
|
|
t3 = "data-clipboard-".concat(t3);
|
|
if (e3.hasAttribute(t3))
|
|
return e3.getAttribute(t3);
|
|
}
|
|
var b2 = function() {
|
|
!function(t4, e4) {
|
|
if ("function" != typeof e4 && null !== e4)
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
t4.prototype = Object.create(e4 && e4.prototype, { constructor: { value: t4, writable: true, configurable: true } }), e4 && y2(t4, e4);
|
|
}(r4, i2());
|
|
var t3, e3, n4, o4 = h2(r4);
|
|
function r4(t4, e4) {
|
|
var n5;
|
|
return function(t5) {
|
|
if (!(t5 instanceof r4))
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}(this), (n5 = o4.call(this)).resolveOptions(e4), n5.listenClick(t4), n5;
|
|
}
|
|
return t3 = r4, n4 = [{ key: "copy", value: function(t4) {
|
|
var e4 = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : { container: document.body };
|
|
return f2(t4, e4);
|
|
} }, { key: "cut", value: function(t4) {
|
|
return a2(t4);
|
|
} }, { key: "isSupported", value: function() {
|
|
var t4 = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ["copy", "cut"], t4 = "string" == typeof t4 ? [t4] : t4, e4 = !!document.queryCommandSupported;
|
|
return t4.forEach(function(t5) {
|
|
e4 = e4 && !!document.queryCommandSupported(t5);
|
|
}), e4;
|
|
} }], (e3 = [{ key: "resolveOptions", value: function() {
|
|
var t4 = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
|
|
this.action = "function" == typeof t4.action ? t4.action : this.defaultAction, this.target = "function" == typeof t4.target ? t4.target : this.defaultTarget, this.text = "function" == typeof t4.text ? t4.text : this.defaultText, this.container = "object" === p2(t4.container) ? t4.container : document.body;
|
|
} }, { key: "listenClick", value: function(t4) {
|
|
var e4 = this;
|
|
this.listener = u2()(t4, "click", function(t5) {
|
|
return e4.onClick(t5);
|
|
});
|
|
} }, { key: "onClick", value: function(t4) {
|
|
var e4 = t4.delegateTarget || t4.currentTarget, n5 = this.action(e4) || "copy", t4 = s2({ action: n5, container: this.container, target: this.target(e4), text: this.text(e4) });
|
|
this.emit(t4 ? "success" : "error", { action: n5, text: t4, trigger: e4, clearSelection: function() {
|
|
e4 && e4.focus(), window.getSelection().removeAllRanges();
|
|
} });
|
|
} }, { key: "defaultAction", value: function(t4) {
|
|
return m2("action", t4);
|
|
} }, { key: "defaultTarget", value: function(t4) {
|
|
t4 = m2("target", t4);
|
|
if (t4)
|
|
return document.querySelector(t4);
|
|
} }, { key: "defaultText", value: function(t4) {
|
|
return m2("text", t4);
|
|
} }, { key: "destroy", value: function() {
|
|
this.listener.destroy();
|
|
} }]) && d2(t3.prototype, e3), n4 && d2(t3, n4), r4;
|
|
}();
|
|
}, 828: function(t2) {
|
|
var e2;
|
|
"undefined" == typeof Element || Element.prototype.matches || ((e2 = Element.prototype).matches = e2.matchesSelector || e2.mozMatchesSelector || e2.msMatchesSelector || e2.oMatchesSelector || e2.webkitMatchesSelector), t2.exports = function(t3, e3) {
|
|
for (; t3 && 9 !== t3.nodeType; ) {
|
|
if ("function" == typeof t3.matches && t3.matches(e3))
|
|
return t3;
|
|
t3 = t3.parentNode;
|
|
}
|
|
};
|
|
}, 438: function(t2, e2, n3) {
|
|
var u2 = n3(828);
|
|
function i2(t3, e3, n4, o3, r3) {
|
|
var i3 = function(e4, n5, t4, o4) {
|
|
return function(t5) {
|
|
t5.delegateTarget = u2(t5.target, n5), t5.delegateTarget && o4.call(e4, t5);
|
|
};
|
|
}.apply(this, arguments);
|
|
return t3.addEventListener(n4, i3, r3), { destroy: function() {
|
|
t3.removeEventListener(n4, i3, r3);
|
|
} };
|
|
}
|
|
t2.exports = function(t3, e3, n4, o3, r3) {
|
|
return "function" == typeof t3.addEventListener ? i2.apply(null, arguments) : "function" == typeof n4 ? i2.bind(null, document).apply(null, arguments) : ("string" == typeof t3 && (t3 = document.querySelectorAll(t3)), Array.prototype.map.call(t3, function(t4) {
|
|
return i2(t4, e3, n4, o3, r3);
|
|
}));
|
|
};
|
|
}, 879: function(t2, n3) {
|
|
n3.node = function(t3) {
|
|
return void 0 !== t3 && t3 instanceof HTMLElement && 1 === t3.nodeType;
|
|
}, n3.nodeList = function(t3) {
|
|
var e2 = Object.prototype.toString.call(t3);
|
|
return void 0 !== t3 && ("[object NodeList]" === e2 || "[object HTMLCollection]" === e2) && "length" in t3 && (0 === t3.length || n3.node(t3[0]));
|
|
}, n3.string = function(t3) {
|
|
return "string" == typeof t3 || t3 instanceof String;
|
|
}, n3.fn = function(t3) {
|
|
return "[object Function]" === Object.prototype.toString.call(t3);
|
|
};
|
|
}, 370: function(t2, e2, n3) {
|
|
var f2 = n3(879), l2 = n3(438);
|
|
t2.exports = function(t3, e3, n4) {
|
|
if (!t3 && !e3 && !n4)
|
|
throw new Error("Missing required arguments");
|
|
if (!f2.string(e3))
|
|
throw new TypeError("Second argument must be a String");
|
|
if (!f2.fn(n4))
|
|
throw new TypeError("Third argument must be a Function");
|
|
if (f2.node(t3))
|
|
return c2 = e3, a2 = n4, (u2 = t3).addEventListener(c2, a2), { destroy: function() {
|
|
u2.removeEventListener(c2, a2);
|
|
} };
|
|
if (f2.nodeList(t3))
|
|
return o3 = t3, r3 = e3, i2 = n4, Array.prototype.forEach.call(o3, function(t4) {
|
|
t4.addEventListener(r3, i2);
|
|
}), { destroy: function() {
|
|
Array.prototype.forEach.call(o3, function(t4) {
|
|
t4.removeEventListener(r3, i2);
|
|
});
|
|
} };
|
|
if (f2.string(t3))
|
|
return t3 = t3, e3 = e3, n4 = n4, l2(document.body, t3, e3, n4);
|
|
throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");
|
|
var o3, r3, i2, u2, c2, a2;
|
|
};
|
|
}, 817: function(t2) {
|
|
t2.exports = function(t3) {
|
|
var e2, n3 = "SELECT" === t3.nodeName ? (t3.focus(), t3.value) : "INPUT" === t3.nodeName || "TEXTAREA" === t3.nodeName ? ((e2 = t3.hasAttribute("readonly")) || t3.setAttribute("readonly", ""), t3.select(), t3.setSelectionRange(0, t3.value.length), e2 || t3.removeAttribute("readonly"), t3.value) : (t3.hasAttribute("contenteditable") && t3.focus(), n3 = window.getSelection(), (e2 = document.createRange()).selectNodeContents(t3), n3.removeAllRanges(), n3.addRange(e2), n3.toString());
|
|
return n3;
|
|
};
|
|
}, 279: function(t2) {
|
|
function e2() {
|
|
}
|
|
e2.prototype = { on: function(t3, e3, n3) {
|
|
var o3 = this.e || (this.e = {});
|
|
return (o3[t3] || (o3[t3] = [])).push({ fn: e3, ctx: n3 }), this;
|
|
}, once: function(t3, e3, n3) {
|
|
var o3 = this;
|
|
function r3() {
|
|
o3.off(t3, r3), e3.apply(n3, arguments);
|
|
}
|
|
return r3._ = e3, this.on(t3, r3, n3);
|
|
}, emit: function(t3) {
|
|
for (var e3 = [].slice.call(arguments, 1), n3 = ((this.e || (this.e = {}))[t3] || []).slice(), o3 = 0, r3 = n3.length; o3 < r3; o3++)
|
|
n3[o3].fn.apply(n3[o3].ctx, e3);
|
|
return this;
|
|
}, off: function(t3, e3) {
|
|
var n3 = this.e || (this.e = {}), o3 = n3[t3], r3 = [];
|
|
if (o3 && e3)
|
|
for (var i2 = 0, u2 = o3.length; i2 < u2; i2++)
|
|
o3[i2].fn !== e3 && o3[i2].fn._ !== e3 && r3.push(o3[i2]);
|
|
return r3.length ? n3[t3] = r3 : delete n3[t3], this;
|
|
} }, t2.exports = e2, t2.exports.TinyEmitter = e2;
|
|
} }, r2 = {}, o2.n = function(t2) {
|
|
var e2 = t2 && t2.__esModule ? function() {
|
|
return t2.default;
|
|
} : function() {
|
|
return t2;
|
|
};
|
|
return o2.d(e2, { a: e2 }), e2;
|
|
}, o2.d = function(t2, e2) {
|
|
for (var n3 in e2)
|
|
o2.o(e2, n3) && !o2.o(t2, n3) && Object.defineProperty(t2, n3, { enumerable: true, get: e2[n3] });
|
|
}, o2.o = function(t2, e2) {
|
|
return Object.prototype.hasOwnProperty.call(t2, e2);
|
|
}, o2(686).default;
|
|
function o2(t2) {
|
|
if (r2[t2])
|
|
return r2[t2].exports;
|
|
var e2 = r2[t2] = { exports: {} };
|
|
return n2[t2](e2, e2.exports, o2), e2.exports;
|
|
}
|
|
var n2, r2;
|
|
});
|
|
})(clipboard_min);
|
|
(function(module, exports) {
|
|
var Clipboard = clipboard_min.exports;
|
|
var VueClipboardConfig = {
|
|
autoSetContainer: false,
|
|
appendToBody: true
|
|
};
|
|
var VueClipboard2 = {
|
|
install: function(Vue2) {
|
|
var globalPrototype = Vue2.version.slice(0, 2) === "3." ? Vue2.config.globalProperties : Vue2.prototype;
|
|
globalPrototype.$clipboardConfig = VueClipboardConfig;
|
|
globalPrototype.$copyText = function(text, container) {
|
|
return new Promise(function(resolve2, reject) {
|
|
var fakeElement = document.createElement("button");
|
|
var clipboard = new Clipboard(fakeElement, {
|
|
text: function() {
|
|
return text;
|
|
},
|
|
action: function() {
|
|
return "copy";
|
|
},
|
|
container: typeof container === "object" ? container : document.body
|
|
});
|
|
clipboard.on("success", function(e2) {
|
|
clipboard.destroy();
|
|
resolve2(e2);
|
|
});
|
|
clipboard.on("error", function(e2) {
|
|
clipboard.destroy();
|
|
reject(e2);
|
|
});
|
|
if (VueClipboardConfig.appendToBody)
|
|
document.body.appendChild(fakeElement);
|
|
fakeElement.click();
|
|
if (VueClipboardConfig.appendToBody)
|
|
document.body.removeChild(fakeElement);
|
|
});
|
|
};
|
|
Vue2.directive("clipboard", {
|
|
bind: function(el, binding, vnode) {
|
|
if (binding.arg === "success") {
|
|
el._vClipboard_success = binding.value;
|
|
} else if (binding.arg === "error") {
|
|
el._vClipboard_error = binding.value;
|
|
} else {
|
|
var clipboard = new Clipboard(el, {
|
|
text: function() {
|
|
return binding.value;
|
|
},
|
|
action: function() {
|
|
return binding.arg === "cut" ? "cut" : "copy";
|
|
},
|
|
container: VueClipboardConfig.autoSetContainer ? el : void 0
|
|
});
|
|
clipboard.on("success", function(e2) {
|
|
var callback = el._vClipboard_success;
|
|
callback && callback(e2);
|
|
});
|
|
clipboard.on("error", function(e2) {
|
|
var callback = el._vClipboard_error;
|
|
callback && callback(e2);
|
|
});
|
|
el._vClipboard = clipboard;
|
|
}
|
|
},
|
|
update: function(el, binding) {
|
|
if (binding.arg === "success") {
|
|
el._vClipboard_success = binding.value;
|
|
} else if (binding.arg === "error") {
|
|
el._vClipboard_error = binding.value;
|
|
} else {
|
|
el._vClipboard.text = function() {
|
|
return binding.value;
|
|
};
|
|
el._vClipboard.action = function() {
|
|
return binding.arg === "cut" ? "cut" : "copy";
|
|
};
|
|
}
|
|
},
|
|
unbind: function(el, binding) {
|
|
if (!el._vClipboard)
|
|
return;
|
|
if (binding.arg === "success") {
|
|
delete el._vClipboard_success;
|
|
} else if (binding.arg === "error") {
|
|
delete el._vClipboard_error;
|
|
} else {
|
|
el._vClipboard.destroy();
|
|
delete el._vClipboard;
|
|
}
|
|
}
|
|
});
|
|
},
|
|
config: VueClipboardConfig
|
|
};
|
|
{
|
|
module.exports = VueClipboard2;
|
|
}
|
|
})(vueClipboard);
|
|
const VueClipboard = vueClipboard.exports;
|
|
const mixins = {
|
|
methods: {
|
|
__(key, replace2) {
|
|
let translation = this.$page.props.translations[key] ? this.$page.props.translations[key] : key;
|
|
_forEach(replace2, (value, key2) => {
|
|
translation = translation.replace(":" + key2, value);
|
|
});
|
|
return translation;
|
|
},
|
|
__choice(key, total) {
|
|
let translation = this.$page.props.translations[key] ? this.$page.props.translations[key] : key;
|
|
let splitted = translation.split("|");
|
|
if (total > 1 || total === 0) {
|
|
return splitted[1];
|
|
}
|
|
return splitted[0];
|
|
},
|
|
randomString() {
|
|
let m2 = m2 || 20;
|
|
let s2 = "", r2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
for (let i2 = 0; i2 < m2; i2++) {
|
|
s2 += r2.charAt(Math.floor(Math.random() * r2.length));
|
|
}
|
|
return s2;
|
|
},
|
|
can(subject, permission) {
|
|
return this.$page.props.auth.can[subject] ? this.$page.props.auth.can[subject][permission] : false;
|
|
}
|
|
}
|
|
};
|
|
function arrayEach$1(array, iteratee) {
|
|
var index2 = -1, length = array == null ? 0 : array.length;
|
|
while (++index2 < length) {
|
|
if (iteratee(array[index2], index2, array) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
var _arrayEach = arrayEach$1;
|
|
function createBaseFor$1(fromRight) {
|
|
return function(object, iteratee, keysFunc) {
|
|
var index2 = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
|
|
while (length--) {
|
|
var key = props[fromRight ? length : ++index2];
|
|
if (iteratee(iterable[key], key, iterable) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return object;
|
|
};
|
|
}
|
|
var _createBaseFor = createBaseFor$1;
|
|
var createBaseFor = _createBaseFor;
|
|
var baseFor$1 = createBaseFor();
|
|
var _baseFor = baseFor$1;
|
|
function baseTimes$1(n2, iteratee) {
|
|
var index2 = -1, result = Array(n2);
|
|
while (++index2 < n2) {
|
|
result[index2] = iteratee(index2);
|
|
}
|
|
return result;
|
|
}
|
|
var _baseTimes = baseTimes$1;
|
|
var freeGlobal$1 = typeof commonjsGlobal == "object" && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
|
|
var _freeGlobal = freeGlobal$1;
|
|
var freeGlobal = _freeGlobal;
|
|
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
var root$1 = freeGlobal || freeSelf || Function("return this")();
|
|
var _root = root$1;
|
|
var root = _root;
|
|
var Symbol$3 = root.Symbol;
|
|
var _Symbol = Symbol$3;
|
|
var Symbol$2 = _Symbol;
|
|
var objectProto$5 = Object.prototype;
|
|
var hasOwnProperty$3 = objectProto$5.hasOwnProperty;
|
|
var nativeObjectToString$1 = objectProto$5.toString;
|
|
var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0;
|
|
function getRawTag$1(value) {
|
|
var isOwn = hasOwnProperty$3.call(value, symToStringTag$1), tag = value[symToStringTag$1];
|
|
try {
|
|
value[symToStringTag$1] = void 0;
|
|
var unmasked = true;
|
|
} catch (e2) {
|
|
}
|
|
var result = nativeObjectToString$1.call(value);
|
|
if (unmasked) {
|
|
if (isOwn) {
|
|
value[symToStringTag$1] = tag;
|
|
} else {
|
|
delete value[symToStringTag$1];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var _getRawTag = getRawTag$1;
|
|
var objectProto$4 = Object.prototype;
|
|
var nativeObjectToString = objectProto$4.toString;
|
|
function objectToString$1(value) {
|
|
return nativeObjectToString.call(value);
|
|
}
|
|
var _objectToString = objectToString$1;
|
|
var Symbol$1 = _Symbol, getRawTag = _getRawTag, objectToString = _objectToString;
|
|
var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
|
|
var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : void 0;
|
|
function baseGetTag$3(value) {
|
|
if (value == null) {
|
|
return value === void 0 ? undefinedTag : nullTag;
|
|
}
|
|
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
|
|
}
|
|
var _baseGetTag = baseGetTag$3;
|
|
function isObjectLike$3(value) {
|
|
return value != null && typeof value == "object";
|
|
}
|
|
var isObjectLike_1 = isObjectLike$3;
|
|
var baseGetTag$2 = _baseGetTag, isObjectLike$2 = isObjectLike_1;
|
|
var argsTag$1 = "[object Arguments]";
|
|
function baseIsArguments$1(value) {
|
|
return isObjectLike$2(value) && baseGetTag$2(value) == argsTag$1;
|
|
}
|
|
var _baseIsArguments = baseIsArguments$1;
|
|
var baseIsArguments = _baseIsArguments, isObjectLike$1 = isObjectLike_1;
|
|
var objectProto$3 = Object.prototype;
|
|
var hasOwnProperty$2 = objectProto$3.hasOwnProperty;
|
|
var propertyIsEnumerable = objectProto$3.propertyIsEnumerable;
|
|
var isArguments$1 = baseIsArguments(function() {
|
|
return arguments;
|
|
}()) ? baseIsArguments : function(value) {
|
|
return isObjectLike$1(value) && hasOwnProperty$2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
|
|
};
|
|
var isArguments_1 = isArguments$1;
|
|
var isArray$2 = Array.isArray;
|
|
var isArray_1 = isArray$2;
|
|
var isBuffer$1 = { exports: {} };
|
|
function stubFalse() {
|
|
return false;
|
|
}
|
|
var stubFalse_1 = stubFalse;
|
|
(function(module, exports) {
|
|
var root2 = _root, stubFalse2 = stubFalse_1;
|
|
var freeExports = exports && !exports.nodeType && exports;
|
|
var freeModule = freeExports && true && module && !module.nodeType && module;
|
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
var Buffer = moduleExports ? root2.Buffer : void 0;
|
|
var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
|
|
var isBuffer3 = nativeIsBuffer || stubFalse2;
|
|
module.exports = isBuffer3;
|
|
})(isBuffer$1, isBuffer$1.exports);
|
|
var MAX_SAFE_INTEGER$1 = 9007199254740991;
|
|
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
function isIndex$1(value, length) {
|
|
var type = typeof value;
|
|
length = length == null ? MAX_SAFE_INTEGER$1 : length;
|
|
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
}
|
|
var _isIndex = isIndex$1;
|
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
function isLength$2(value) {
|
|
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
}
|
|
var isLength_1 = isLength$2;
|
|
var baseGetTag$1 = _baseGetTag, isLength$1 = isLength_1, isObjectLike = isObjectLike_1;
|
|
var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag$1 = "[object Function]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", weakMapTag = "[object WeakMap]";
|
|
var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
|
|
var typedArrayTags = {};
|
|
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
|
|
typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
|
|
function baseIsTypedArray$1(value) {
|
|
return isObjectLike(value) && isLength$1(value.length) && !!typedArrayTags[baseGetTag$1(value)];
|
|
}
|
|
var _baseIsTypedArray = baseIsTypedArray$1;
|
|
function baseUnary$1(func) {
|
|
return function(value) {
|
|
return func(value);
|
|
};
|
|
}
|
|
var _baseUnary = baseUnary$1;
|
|
var _nodeUtil = { exports: {} };
|
|
(function(module, exports) {
|
|
var freeGlobal2 = _freeGlobal;
|
|
var freeExports = exports && !exports.nodeType && exports;
|
|
var freeModule = freeExports && true && module && !module.nodeType && module;
|
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
var freeProcess = moduleExports && freeGlobal2.process;
|
|
var nodeUtil2 = function() {
|
|
try {
|
|
var types = freeModule && freeModule.require && freeModule.require("util").types;
|
|
if (types) {
|
|
return types;
|
|
}
|
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
} catch (e2) {
|
|
}
|
|
}();
|
|
module.exports = nodeUtil2;
|
|
})(_nodeUtil, _nodeUtil.exports);
|
|
var baseIsTypedArray = _baseIsTypedArray, baseUnary = _baseUnary, nodeUtil = _nodeUtil.exports;
|
|
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
|
var isTypedArray$1 = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
|
var isTypedArray_1 = isTypedArray$1;
|
|
var baseTimes = _baseTimes, isArguments = isArguments_1, isArray$1 = isArray_1, isBuffer2 = isBuffer$1.exports, isIndex = _isIndex, isTypedArray = isTypedArray_1;
|
|
var objectProto$2 = Object.prototype;
|
|
var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
|
|
function arrayLikeKeys$1(value, inherited) {
|
|
var isArr = isArray$1(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer2(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
|
|
for (var key in value) {
|
|
if ((inherited || hasOwnProperty$1.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var _arrayLikeKeys = arrayLikeKeys$1;
|
|
var objectProto$1 = Object.prototype;
|
|
function isPrototype$1(value) {
|
|
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$1;
|
|
return value === proto;
|
|
}
|
|
var _isPrototype = isPrototype$1;
|
|
function overArg$1(func, transform) {
|
|
return function(arg) {
|
|
return func(transform(arg));
|
|
};
|
|
}
|
|
var _overArg = overArg$1;
|
|
var overArg = _overArg;
|
|
var nativeKeys$1 = overArg(Object.keys, Object);
|
|
var _nativeKeys = nativeKeys$1;
|
|
var isPrototype = _isPrototype, nativeKeys = _nativeKeys;
|
|
var objectProto = Object.prototype;
|
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
function baseKeys$1(object) {
|
|
if (!isPrototype(object)) {
|
|
return nativeKeys(object);
|
|
}
|
|
var result = [];
|
|
for (var key in Object(object)) {
|
|
if (hasOwnProperty.call(object, key) && key != "constructor") {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var _baseKeys = baseKeys$1;
|
|
function isObject$1(value) {
|
|
var type = typeof value;
|
|
return value != null && (type == "object" || type == "function");
|
|
}
|
|
var isObject_1 = isObject$1;
|
|
var baseGetTag = _baseGetTag, isObject = isObject_1;
|
|
var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
|
|
function isFunction$1(value) {
|
|
if (!isObject(value)) {
|
|
return false;
|
|
}
|
|
var tag = baseGetTag(value);
|
|
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
|
}
|
|
var isFunction_1 = isFunction$1;
|
|
var isFunction = isFunction_1, isLength = isLength_1;
|
|
function isArrayLike$2(value) {
|
|
return value != null && isLength(value.length) && !isFunction(value);
|
|
}
|
|
var isArrayLike_1 = isArrayLike$2;
|
|
var arrayLikeKeys = _arrayLikeKeys, baseKeys = _baseKeys, isArrayLike$1 = isArrayLike_1;
|
|
function keys$1(object) {
|
|
return isArrayLike$1(object) ? arrayLikeKeys(object) : baseKeys(object);
|
|
}
|
|
var keys_1 = keys$1;
|
|
var baseFor = _baseFor, keys = keys_1;
|
|
function baseForOwn$1(object, iteratee) {
|
|
return object && baseFor(object, iteratee, keys);
|
|
}
|
|
var _baseForOwn = baseForOwn$1;
|
|
var isArrayLike = isArrayLike_1;
|
|
function createBaseEach$1(eachFunc, fromRight) {
|
|
return function(collection, iteratee) {
|
|
if (collection == null) {
|
|
return collection;
|
|
}
|
|
if (!isArrayLike(collection)) {
|
|
return eachFunc(collection, iteratee);
|
|
}
|
|
var length = collection.length, index2 = fromRight ? length : -1, iterable = Object(collection);
|
|
while (fromRight ? index2-- : ++index2 < length) {
|
|
if (iteratee(iterable[index2], index2, iterable) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return collection;
|
|
};
|
|
}
|
|
var _createBaseEach = createBaseEach$1;
|
|
var baseForOwn = _baseForOwn, createBaseEach = _createBaseEach;
|
|
var baseEach$1 = createBaseEach(baseForOwn);
|
|
var _baseEach = baseEach$1;
|
|
function identity$1(value) {
|
|
return value;
|
|
}
|
|
var identity_1 = identity$1;
|
|
var identity = identity_1;
|
|
function castFunction$1(value) {
|
|
return typeof value == "function" ? value : identity;
|
|
}
|
|
var _castFunction = castFunction$1;
|
|
var arrayEach = _arrayEach, baseEach = _baseEach, castFunction = _castFunction, isArray = isArray_1;
|
|
function forEach2(collection, iteratee) {
|
|
var func = isArray(collection) ? arrayEach : baseEach;
|
|
return func(collection, castFunction(iteratee));
|
|
}
|
|
var forEach_1 = forEach2;
|
|
function mitt(n2) {
|
|
return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e2) {
|
|
var i2 = n2.get(t2);
|
|
i2 ? i2.push(e2) : n2.set(t2, [e2]);
|
|
}, off: function(t2, e2) {
|
|
var i2 = n2.get(t2);
|
|
i2 && (e2 ? i2.splice(i2.indexOf(e2) >>> 0, 1) : n2.set(t2, []));
|
|
}, emit: function(t2, e2) {
|
|
var i2 = n2.get(t2);
|
|
i2 && i2.slice().map(function(n3) {
|
|
n3(e2);
|
|
}), (i2 = n2.get("*")) && i2.slice().map(function(n3) {
|
|
n3(t2, e2);
|
|
});
|
|
} };
|
|
}
|
|
const app = "";
|
|
Vue.configureCompat({ RENDER_FUNCTION: false, COMPONENT_V_MODEL: false });
|
|
createInertiaApp({
|
|
title: (title) => `${title}`,
|
|
resolve: (name2) => resolvePageComponent(`./Pages/${name2}.vue`, Object.assign({ "./Pages/Auth/ConfirmTwoFactorAuthentication.vue": () => __vitePreload(() => import("./ConfirmTwoFactorAuthentication.aaab2601.js"), true ? ["assets/ConfirmTwoFactorAuthentication.aaab2601.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js"] : void 0), "./Pages/Auth/Email.vue": () => __vitePreload(() => import("./Email.c6c41665.js"), true ? ["assets/Email.c6c41665.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js","assets/notification.b2d3510c.js"] : void 0), "./Pages/Auth/Login.vue": () => __vitePreload(() => import("./Login.1dd70b3a.js"), true ? ["assets/Login.1dd70b3a.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js"] : void 0), "./Pages/Auth/PasswordCreation.vue": () => __vitePreload(() => import("./PasswordCreation.d0b7b9aa.js"), true ? ["assets/PasswordCreation.d0b7b9aa.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js","assets/notification.b2d3510c.js"] : void 0), "./Pages/Auth/Register.vue": () => __vitePreload(() => import("./Register.9eb8bdb2.js"), true ? ["assets/Register.9eb8bdb2.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js","assets/notification.b2d3510c.js"] : void 0), "./Pages/Auth/Reset.vue": () => __vitePreload(() => import("./Reset.7ea77897.js"), true ? ["assets/Reset.7ea77897.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js","assets/notification.b2d3510c.js"] : void 0), "./Pages/Core/InstallationIncomplete.vue": () => __vitePreload(() => import("./InstallationIncomplete.94b8c8b0.js"), true ? ["assets/InstallationIncomplete.94b8c8b0.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js"] : void 0), "./Pages/Dashboard/Index.vue": () => __vitePreload(() => import("./Index.a2d22e73.js"), true ? ["assets/Index.a2d22e73.js","assets/TopBar.4cbd30b9.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js"] : void 0), "./Pages/Dashboard/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.4cbd30b9.js"), true ? ["assets/TopBar.4cbd30b9.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Documentation/Article.vue": () => __vitePreload(() => import("./Article.4c6e1fb9.js"), true ? ["assets/Article.4c6e1fb9.js","assets/TopBar.7b2bb8e6.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/EmptyImage.d9592dd8.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormTextarea.7afc55d6.js","assets/SettingsSegment.87f22123.js","assets/SettingsLayout.0346cf60.js","assets/Tabs.41cc6bf3.js"] : void 0), "./Pages/Documentation/Index.vue": () => __vitePreload(() => import("./Index.6945d278.js"), true ? ["assets/Index.6945d278.js","assets/TopBar.7b2bb8e6.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/EmptyImage.d9592dd8.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormTextarea.7afc55d6.js","assets/SettingsSegment.87f22123.js","assets/SettingsLayout.0346cf60.js","assets/Tabs.41cc6bf3.js"] : void 0), "./Pages/Documentation/Show.vue": () => __vitePreload(() => import("./Show.58690f9d.js"), true ? ["assets/Show.58690f9d.js","assets/TopBar.7b2bb8e6.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/EmptyImage.d9592dd8.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormTextarea.7afc55d6.js","assets/SettingsSegment.87f22123.js","assets/SettingsLayout.0346cf60.js","assets/Tabs.41cc6bf3.js"] : void 0), "./Pages/Documentation/Tabs.vue": () => __vitePreload(() => import("./Tabs.41cc6bf3.js"), true ? ["assets/Tabs.41cc6bf3.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Documentation/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.7b2bb8e6.js"), true ? ["assets/TopBar.7b2bb8e6.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Errors/403.vue": () => __vitePreload(() => import("./403.dceafbb4.js"), true ? ["assets/403.dceafbb4.js","assets/TopBar.4cbd30b9.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js"] : void 0), "./Pages/Errors/404.vue": () => __vitePreload(() => import("./404.a08f4e40.js"), true ? ["assets/404.a08f4e40.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js"] : void 0), "./Pages/Pages/Privacy.vue": () => __vitePreload(() => import("./Privacy.17a97267.js"), true ? ["assets/Privacy.17a97267.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js"] : void 0), "./Pages/Pages/Terms.vue": () => __vitePreload(() => import("./Terms.5d73a8cb.js"), true ? ["assets/Terms.5d73a8cb.js","assets/TextDivider.1147ca89.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js","assets/Button.c21f6da6.js","assets/Container.4a8c422e.js"] : void 0), "./Pages/Profile/Billing.vue": () => __vitePreload(() => import("./Billing.6b79e330.js"), true ? ["assets/Billing.6b79e330.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/IconArrowDown.1af64486.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/FormTextarea.7afc55d6.js","assets/TableData.5ff02621.js","assets/confirm.19f2303b.js"] : void 0), "./Pages/Profile/BillingError.vue": () => __vitePreload(() => import("./BillingError.793f0b32.js"), true ? ["assets/BillingError.793f0b32.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/IconArrowDown.1af64486.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js"] : void 0), "./Pages/Profile/Index.vue": () => __vitePreload(() => import("./Index.c3799951.js"), true ? ["assets/Index.c3799951.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js"] : void 0), "./Pages/Profile/Integrations.vue": () => __vitePreload(() => import("./Integrations.72a5531a.js"), true ? ["assets/Integrations.72a5531a.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/TableData.5ff02621.js","assets/confirm.19f2303b.js"] : void 0), "./Pages/Profile/Security.vue": () => __vitePreload(() => import("./Security.25df2cd0.js"), true ? ["assets/Security.25df2cd0.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/SettingsSegment.87f22123.js","assets/TwoFactorAuthentication.c9a6f061.js"] : void 0), "./Pages/Profile/Settings.vue": () => __vitePreload(() => import("./Settings.1b94985f.js"), true ? ["assets/Settings.1b94985f.js","assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/confirm.19f2303b.js"] : void 0), "./Pages/Profile/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.00ff4ec5.js"), true ? ["assets/TopBar.00ff4ec5.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Profile/components/TwoFactorAuthentication.vue": () => __vitePreload(() => import("./TwoFactorAuthentication.c9a6f061.js"), true ? ["assets/TwoFactorAuthentication.c9a6f061.js","assets/Button.c21f6da6.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/FormInput.e07f9ba2.js"] : void 0), "./Pages/Servers/Index.vue": () => __vitePreload(() => import("./Index.2cafd5fa.js"), true ? ["assets/Index.2cafd5fa.js","assets/TopBar.253b5b54.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/DropdownListItemButton.4e867dbc.js","assets/EmptyImage.d9592dd8.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/confirm.19f2303b.js"] : void 0), "./Pages/Servers/Settings.vue": () => __vitePreload(() => import("./Settings.462c98b9.js"), true ? ["assets/Settings.462c98b9.js","assets/TopBar.253b5b54.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/DropdownListItemButton.4e867dbc.js","assets/EmptyImage.d9592dd8.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/Pagination.7b763de7.js","assets/Tabs.9fb357b9.js","assets/TableData.5ff02621.js","assets/confirm.19f2303b.js"] : void 0), "./Pages/Servers/Show.vue": () => __vitePreload(() => import("./Show.d08d7e16.js"), true ? ["assets/Show.d08d7e16.js","assets/TopBar.253b5b54.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/DropdownListItemButton.4e867dbc.js","assets/EmptyImage.d9592dd8.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/Pagination.7b763de7.js","assets/Tabs.9fb357b9.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Servers/Tabs.vue": () => __vitePreload(() => import("./Tabs.9fb357b9.js"), true ? ["assets/Tabs.9fb357b9.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Servers/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.253b5b54.js"), true ? ["assets/TopBar.253b5b54.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Sites/Aliases.vue": () => __vitePreload(() => import("./Aliases.e4979654.js"), true ? ["assets/Aliases.e4979654.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/FormTextarea.7afc55d6.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/EmptyImage.d9592dd8.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Apps.vue": () => __vitePreload(() => import("./Apps.adb83380.js"), true ? ["assets/Apps.adb83380.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Certificates.vue": () => __vitePreload(() => import("./Certificates.863ef5e8.js"), true ? ["assets/Certificates.863ef5e8.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/FormTextarea.7afc55d6.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/EmptyImage.d9592dd8.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Cronjobs.vue": () => __vitePreload(() => import("./Cronjobs.7415b958.js"), true ? ["assets/Cronjobs.7415b958.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/EmptyImage.d9592dd8.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Databases.vue": () => __vitePreload(() => import("./Databases.9bf79505.js"), true ? ["assets/Databases.9bf79505.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/EmptyImage.d9592dd8.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Dns.vue": () => __vitePreload(() => import("./Dns.b1544a22.js"), true ? ["assets/Dns.b1544a22.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js","assets/EmptyImage.d9592dd8.js"] : void 0), "./Pages/Sites/Index.vue": () => __vitePreload(() => import("./Index.b35453b1.js"), true ? ["assets/Index.b35453b1.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/EmptyImage.d9592dd8.js","assets/IconStorage.1ff49f26.js","assets/DropdownListItemButton.4e867dbc.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/confirm.19f2303b.js","assets/Pagination.7b763de7.js"] : void 0), "./Pages/Sites/Redirects.vue": () => __vitePreload(() => import("./Redirects.7518812c.js"), true ? ["assets/Redirects.7518812c.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/FormSelect.2b96adcd.js","assets/Form.8553ee1d.js","assets/Pagination.7b763de7.js","assets/EmptyImage.d9592dd8.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js"] : void 0), "./Pages/Sites/Settings.vue": () => __vitePreload(() => import("./Settings.6f7036f8.js"), true ? ["assets/Settings.6f7036f8.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/confirm.19f2303b.js","assets/Tabs.ce83cdef.js"] : void 0), "./Pages/Sites/Show.vue": () => __vitePreload(() => import("./Show.f71ac4bf.js"), true ? ["assets/Show.f71ac4bf.js","assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/SettingsLayout.0346cf60.js","assets/SettingsSegment.87f22123.js","assets/FormInput.e07f9ba2.js","assets/Form.8553ee1d.js","assets/Tabs.ce83cdef.js","assets/TableData.5ff02621.js","assets/ModalContainer.1628305c.js"] : void 0), "./Pages/Sites/Tabs.vue": () => __vitePreload(() => import("./Tabs.ce83cdef.js"), true ? ["assets/Tabs.ce83cdef.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Sites/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.17a600db.js"), true ? ["assets/TopBar.17a600db.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0), "./Pages/Support/Closed.vue": () => __vitePreload(() => import("./Closed.9945be20.js"), true ? ["assets/Closed.9945be20.js","assets/TopBar.aef7b647.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js"] : void 0), "./Pages/Support/Index.vue": () => __vitePreload(() => import("./Index.cca897fb.js"), true ? ["assets/Index.cca897fb.js","assets/TopBar.aef7b647.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormTextarea.7afc55d6.js","assets/EmptyImage.d9592dd8.js"] : void 0), "./Pages/Support/Show.vue": () => __vitePreload(() => import("./Show.4f93ef0c.js"), true ? ["assets/Show.4f93ef0c.js","assets/TopBar.aef7b647.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js","assets/MainLayout.7054c625.js","assets/notification.b2d3510c.js","assets/Button.c21f6da6.js","assets/IconStorage.1ff49f26.js","assets/ModalContainer.1628305c.js","assets/Form.8553ee1d.js","assets/FormInput.e07f9ba2.js","assets/FormTextarea.7afc55d6.js"] : void 0), "./Pages/Support/components/TopBar.vue": () => __vitePreload(() => import("./TopBar.aef7b647.js"), true ? ["assets/TopBar.aef7b647.js","assets/TabBar.ba53a1e9.js","assets/Container.4a8c422e.js","assets/_plugin-vue_export-helper.cdc0426e.js"] : void 0) })),
|
|
setup({ el, App, props, plugin }) {
|
|
createApp({
|
|
render: () => h$2(App, props)
|
|
}).use(plugin).use(vClickOutside).use(VueClipboard).use(store).use(N).mixin({ methods: { route: window.route } }).mixin(mixins).component("InertiaLink", InertiaLink).component("Head", Head).mount(el);
|
|
}
|
|
});
|
|
InertiaProgress.init({
|
|
delay: 250,
|
|
color: "#1b8ae8",
|
|
includeCSS: true,
|
|
showSpinner: false
|
|
});
|
|
window.axios = axios;
|
|
window._forEach = forEach_1;
|
|
const emitter = mitt();
|
|
window.eventBus = emitter;
|
|
window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
|
|
export {
|
|
vModelRadio as A,
|
|
vShow as B,
|
|
Fragment as F,
|
|
Transition as T,
|
|
createVNode as a,
|
|
createBaseVNode as b,
|
|
createElementBlock as c,
|
|
withModifiers as d,
|
|
createCommentVNode as e,
|
|
createTextVNode as f,
|
|
createBlock as g,
|
|
renderSlot as h,
|
|
resolveDynamicComponent as i,
|
|
withDirectives as j,
|
|
renderList as k,
|
|
resolveDirective as l,
|
|
vModelText as m,
|
|
normalizeClass as n,
|
|
openBlock as o,
|
|
TransitionGroup as p,
|
|
normalizeProps as q,
|
|
resolveComponent as r,
|
|
store as s,
|
|
toDisplayString as t,
|
|
guardReactiveProps as u,
|
|
vModelCheckbox as v,
|
|
withCtx as w,
|
|
vModelSelect as x,
|
|
dist as y,
|
|
createSlots as z
|
|
};
|