UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

6,790 lines 237 kB
import { t as __commonJSMin } from "./chunk-6z4oVpB-.js";
import { $t as hasOwn, C as computed, Cn as toDisplayString, D as createElementBlock, Dn as init_dist, Dt as getCurrentScope, E as createCommentVNode, En as global, F as getCurrentInstance, Ft as readonly, G as nextTick, Gt as unref, It as ref, J as onBeforeUnmount, Jt as NOOP, K as onActivated, L as h, Lt as shallowReactive, M as createVNode, Nt as onScopeDispose, P as defineComponent, Pt as reactive, Q as onUnmounted, T as createBlock, V as isVNode, Vt as toRef, W as mergeProps, Xt as capitalize, Y as onDeactivated, Yt as camelize, Z as onMounted, _ as Fragment, _t as watch, an as isFunction, at as renderSlot, bn as normalizeStyle, bt as withCtx, cn as isObject, ct as resolveDynamicComponent, et as openBlock, gt as warn, h as withModifiers, jt as isRef, mn as isString, nn as isArray$4, nt as provide, p as vShow, pt as useSlots, tn as init_shared_esm_bundler, ut as useAttrs, vn as normalizeClass, vt as watchEffect, w as createBaseVNode, x as Text, xt as withDirectives, z as inject, zt as shallowRef } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { d as require__Symbol, l as require_isObjectLike, lt as isVue2, m as require_isArray, t as require__MapCache, u as require__baseGetTag } from "./_MapCache-ficiegRb.js";
var FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])`;
var isVisible = (element) => {
	return getComputedStyle(element).position === "fixed" ? false : element.offsetParent !== null;
};
var obtainAllFocusableElements$1 = (element) => {
	return Array.from(element.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS)).filter((item) => isFocusable(item) && isVisible(item));
};
var isFocusable = (element) => {
	if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute("tabIndex") !== null) return true;
	if (element.disabled) return false;
	switch (element.nodeName) {
		case "A": return !!element.href && element.rel !== "ignore";
		case "INPUT": return !(element.type === "hidden" || element.type === "file");
		case "BUTTON":
		case "SELECT":
		case "TEXTAREA": return true;
		default: return false;
	}
};
var triggerEvent = function(elm, name, ...opts) {
	let eventName;
	if (name.includes("mouse") || name.includes("click")) eventName = "MouseEvents";
	else if (name.includes("key")) eventName = "KeyboardEvent";
	else eventName = "HTMLEvents";
	const evt = document.createEvent(eventName);
	evt.initEvent(name, ...opts);
	elm.dispatchEvent(evt);
	return elm;
};
var __defProp$9 = Object.defineProperty;
var __defProps$6 = Object.defineProperties;
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, {
	enumerable: true,
	configurable: true,
	writable: true,
	value
}) : obj[key] = value;
var __spreadValues$9 = (a, b) => {
	for (var prop in b || (b = {})) if (__hasOwnProp$b.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);
	if (__getOwnPropSymbols$b) {
		for (var prop of __getOwnPropSymbols$b(b)) if (__propIsEnum$b.call(b, prop)) __defNormalProp$9(a, prop, b[prop]);
	}
	return a;
};
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
function computedEager(fn, options) {
	var _a$1;
	const result = shallowRef();
	watchEffect(() => {
		result.value = fn();
	}, __spreadProps$6(__spreadValues$9({}, options), { flush: (_a$1 = options == null ? void 0 : options.flush) != null ? _a$1 : "sync" }));
	return readonly(result);
}
var _a;
var isClient = typeof window !== "undefined";
var isDef = (val) => typeof val !== "undefined";
var isFunction$2 = (val) => typeof val === "function";
var isString$1 = (val) => typeof val === "string";
var noop$1 = () => {};
var isIOS = isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
function resolveUnref(r) {
	return typeof r === "function" ? r() : unref(r);
}
function identity(arg) {
	return arg;
}
function tryOnScopeDispose(fn) {
	if (getCurrentScope()) {
		onScopeDispose(fn);
		return true;
	}
	return false;
}
function tryOnMounted(fn, sync = true) {
	if (getCurrentInstance()) onMounted(fn);
	else if (sync) fn();
	else nextTick(fn);
}
function useTimeoutFn(cb, interval, options = {}) {
	const { immediate = true } = options;
	const isPending = ref(false);
	let timer = null;
	function clear() {
		if (timer) {
			clearTimeout(timer);
			timer = null;
		}
	}
	function stop() {
		isPending.value = false;
		clear();
	}
	function start(...args) {
		clear();
		isPending.value = true;
		timer = setTimeout(() => {
			isPending.value = false;
			timer = null;
			cb(...args);
		}, resolveUnref(interval));
	}
	if (immediate) {
		isPending.value = true;
		if (isClient) start();
	}
	tryOnScopeDispose(stop);
	return {
		isPending: readonly(isPending),
		start,
		stop
	};
}
init_dist();
function unrefElement(elRef) {
	var _a$1;
	const plain = resolveUnref(elRef);
	return (_a$1 = plain == null ? void 0 : plain.$el) != null ? _a$1 : plain;
}
var defaultWindow = isClient ? window : void 0;
var defaultDocument = isClient ? window.document : void 0;
isClient && window.navigator;
isClient && window.location;
function useEventListener(...args) {
	let target;
	let events;
	let listeners;
	let options;
	if (isString$1(args[0]) || Array.isArray(args[0])) {
		[events, listeners, options] = args;
		target = defaultWindow;
	} else [target, events, listeners, options] = args;
	if (!target) return noop$1;
	if (!Array.isArray(events)) events = [events];
	if (!Array.isArray(listeners)) listeners = [listeners];
	const cleanups = [];
	const cleanup = () => {
		cleanups.forEach((fn) => fn());
		cleanups.length = 0;
	};
	const register = (el, event, listener, options2) => {
		el.addEventListener(event, listener, options2);
		return () => el.removeEventListener(event, listener, options2);
	};
	const stopWatch = watch(() => [unrefElement(target), resolveUnref(options)], ([el, options2]) => {
		cleanup();
		if (!el) return;
		cleanups.push(...events.flatMap((event) => {
			return listeners.map((listener) => register(el, event, listener, options2));
		}));
	}, {
		immediate: true,
		flush: "post"
	});
	const stop = () => {
		stopWatch();
		cleanup();
	};
	tryOnScopeDispose(stop);
	return stop;
}
var _iOSWorkaround = false;
function onClickOutside(target, handler, options = {}) {
	const { window: window$1 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;
	if (!window$1) return;
	if (isIOS && !_iOSWorkaround) {
		_iOSWorkaround = true;
		Array.from(window$1.document.body.children).forEach((el) => el.addEventListener("click", noop$1));
	}
	let shouldListen = true;
	const shouldIgnore = (event) => {
		return ignore.some((target2) => {
			if (typeof target2 === "string") return Array.from(window$1.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));
			else {
				const el = unrefElement(target2);
				return el && (event.target === el || event.composedPath().includes(el));
			}
		});
	};
	const listener = (event) => {
		const el = unrefElement(target);
		if (!el || el === event.target || event.composedPath().includes(el)) return;
		if (event.detail === 0) shouldListen = !shouldIgnore(event);
		if (!shouldListen) {
			shouldListen = true;
			return;
		}
		handler(event);
	};
	const cleanup = [
		useEventListener(window$1, "click", listener, {
			passive: true,
			capture
		}),
		useEventListener(window$1, "pointerdown", (e) => {
			const el = unrefElement(target);
			if (el) shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);
		}, { passive: true }),
		detectIframe && useEventListener(window$1, "blur", (event) => {
			var _a$1;
			const el = unrefElement(target);
			if (((_a$1 = window$1.document.activeElement) == null ? void 0 : _a$1.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window$1.document.activeElement))) handler(event);
		})
	].filter(Boolean);
	const stop = () => cleanup.forEach((fn) => fn());
	return stop;
}
function useSupported(callback, sync = false) {
	const isSupported = ref();
	const update = () => isSupported.value = Boolean(callback());
	update();
	tryOnMounted(update, sync);
	return isSupported;
}
function cloneFnJSON(source) {
	return JSON.parse(JSON.stringify(source));
}
var _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
var globalKey = "__vueuse_ssr_handlers__";
_global[globalKey] = _global[globalKey] || {};
_global[globalKey];
function useDocumentVisibility({ document: document$1 = defaultDocument } = {}) {
	if (!document$1) return ref("visible");
	const visibility = ref(document$1.visibilityState);
	useEventListener(document$1, "visibilitychange", () => {
		visibility.value = document$1.visibilityState;
	});
	return visibility;
}
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
var __objRest$2 = (source, exclude) => {
	var target = {};
	for (var prop in source) if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];
	if (source != null && __getOwnPropSymbols$g) {
		for (var prop of __getOwnPropSymbols$g(source)) if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop)) target[prop] = source[prop];
	}
	return target;
};
function useResizeObserver(target, callback, options = {}) {
	const _a$1 = options, { window: window$1 = defaultWindow } = _a$1, observerOptions = __objRest$2(_a$1, ["window"]);
	let observer;
	const isSupported = useSupported(() => window$1 && "ResizeObserver" in window$1);
	const cleanup = () => {
		if (observer) {
			observer.disconnect();
			observer = void 0;
		}
	};
	const stopWatch = watch(() => unrefElement(target), (el) => {
		cleanup();
		if (isSupported.value && window$1 && el) {
			observer = new ResizeObserver(callback);
			observer.observe(el, observerOptions);
		}
	}, {
		immediate: true,
		flush: "post"
	});
	const stop = () => {
		cleanup();
		stopWatch();
	};
	tryOnScopeDispose(stop);
	return {
		isSupported,
		stop
	};
}
var SwipeDirection;
(function(SwipeDirection2) {
	SwipeDirection2["UP"] = "UP";
	SwipeDirection2["RIGHT"] = "RIGHT";
	SwipeDirection2["DOWN"] = "DOWN";
	SwipeDirection2["LEFT"] = "LEFT";
	SwipeDirection2["NONE"] = "NONE";
})(SwipeDirection || (SwipeDirection = {}));
var __defProp = Object.defineProperty;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
	enumerable: true,
	configurable: true,
	writable: true,
	value
}) : obj[key] = value;
var __spreadValues = (a, b) => {
	for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
	if (__getOwnPropSymbols) {
		for (var prop of __getOwnPropSymbols(b)) if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
	}
	return a;
};
__spreadValues({ linear: identity }, {
	easeInSine: [
		.12,
		0,
		.39,
		0
	],
	easeOutSine: [
		.61,
		1,
		.88,
		1
	],
	easeInOutSine: [
		.37,
		0,
		.63,
		1
	],
	easeInQuad: [
		.11,
		0,
		.5,
		0
	],
	easeOutQuad: [
		.5,
		1,
		.89,
		1
	],
	easeInOutQuad: [
		.45,
		0,
		.55,
		1
	],
	easeInCubic: [
		.32,
		0,
		.67,
		0
	],
	easeOutCubic: [
		.33,
		1,
		.68,
		1
	],
	easeInOutCubic: [
		.65,
		0,
		.35,
		1
	],
	easeInQuart: [
		.5,
		0,
		.75,
		0
	],
	easeOutQuart: [
		.25,
		1,
		.5,
		1
	],
	easeInOutQuart: [
		.76,
		0,
		.24,
		1
	],
	easeInQuint: [
		.64,
		0,
		.78,
		0
	],
	easeOutQuint: [
		.22,
		1,
		.36,
		1
	],
	easeInOutQuint: [
		.83,
		0,
		.17,
		1
	],
	easeInExpo: [
		.7,
		0,
		.84,
		0
	],
	easeOutExpo: [
		.16,
		1,
		.3,
		1
	],
	easeInOutExpo: [
		.87,
		0,
		.13,
		1
	],
	easeInCirc: [
		.55,
		0,
		1,
		.45
	],
	easeOutCirc: [
		0,
		.55,
		.45,
		1
	],
	easeInOutCirc: [
		.85,
		0,
		.15,
		1
	],
	easeInBack: [
		.36,
		0,
		.66,
		-.56
	],
	easeOutBack: [
		.34,
		1.56,
		.64,
		1
	],
	easeInOutBack: [
		.68,
		-.6,
		.32,
		1.6
	]
});
function useVModel(props, key, emit, options = {}) {
	var _a$1, _b, _c;
	const { clone = false, passive = false, eventName, deep = false, defaultValue } = options;
	const vm = getCurrentInstance();
	const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a$1 = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a$1.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));
	let event = eventName;
	if (!key) key = "modelValue";
	event = eventName || event || `update:${key.toString()}`;
	const cloneFn = (val) => !clone ? val : isFunction$2(clone) ? clone(val) : cloneFnJSON(val);
	const getValue$1 = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;
	if (passive) {
		const proxy = ref(getValue$1());
		watch(() => props[key], (v) => proxy.value = cloneFn(v));
		watch(proxy, (v) => {
			if (v !== props[key] || deep) _emit(event, v);
		}, { deep });
		return proxy;
	} else return computed({
		get() {
			return getValue$1();
		},
		set(value) {
			_emit(event, value);
		}
	});
}
function useWindowFocus({ window: window$1 = defaultWindow } = {}) {
	if (!window$1) return ref(false);
	const focused = ref(window$1.document.hasFocus());
	useEventListener(window$1, "blur", () => {
		focused.value = false;
	});
	useEventListener(window$1, "focus", () => {
		focused.value = true;
	});
	return focused;
}
var isFirefox = () => isClient && /firefox/i.test(window.navigator.userAgent);
init_dist();
var _freeGlobal_default = typeof global == "object" && global && global.Object === Object && global;
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
var _root_default = _freeGlobal_default || freeSelf || Function("return this")();
var _Symbol_default = _root_default.Symbol;
var objectProto$1 = Object.prototype;
var hasOwnProperty$4 = objectProto$1.hasOwnProperty;
var nativeObjectToString$1 = objectProto$1.toString;
var symToStringTag$1 = _Symbol_default ? _Symbol_default.toStringTag : void 0;
function getRawTag(value) {
	var isOwn = hasOwnProperty$4.call(value, symToStringTag$1), tag = value[symToStringTag$1];
	try {
		value[symToStringTag$1] = void 0;
		var unmasked = true;
	} catch (e) {}
	var result = nativeObjectToString$1.call(value);
	if (unmasked) if (isOwn) value[symToStringTag$1] = tag;
	else delete value[symToStringTag$1];
	return result;
}
var _getRawTag_default = getRawTag;
var nativeObjectToString = Object.prototype.toString;
function objectToString(value) {
	return nativeObjectToString.call(value);
}
var _objectToString_default = objectToString;
var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
var symToStringTag = _Symbol_default ? _Symbol_default.toStringTag : void 0;
function baseGetTag$1(value) {
	if (value == null) return value === void 0 ? undefinedTag : nullTag;
	return symToStringTag && symToStringTag in Object(value) ? _getRawTag_default(value) : _objectToString_default(value);
}
var _baseGetTag_default = baseGetTag$1;
function isObjectLike$1(value) {
	return value != null && typeof value == "object";
}
var isObjectLike_default = isObjectLike$1;
var symbolTag$1 = "[object Symbol]";
function isSymbol$4(value) {
	return typeof value == "symbol" || isObjectLike_default(value) && _baseGetTag_default(value) == symbolTag$1;
}
var isSymbol_default = isSymbol$4;
function arrayMap$2(array, iteratee) {
	var index = -1, length = array == null ? 0 : array.length, result = Array(length);
	while (++index < length) result[index] = iteratee(array[index], index, array);
	return result;
}
var _arrayMap_default = arrayMap$2;
var isArray_default = Array.isArray;
var INFINITY$3 = Infinity;
var symbolProto$1 = _Symbol_default ? _Symbol_default.prototype : void 0, symbolToString$1 = symbolProto$1 ? symbolProto$1.toString : void 0;
function baseToString$2(value) {
	if (typeof value == "string") return value;
	if (isArray_default(value)) return _arrayMap_default(value, baseToString$2) + "";
	if (isSymbol_default(value)) return symbolToString$1 ? symbolToString$1.call(value) : "";
	var result = value + "";
	return result == "0" && 1 / value == -INFINITY$3 ? "-0" : result;
}
var _baseToString_default = baseToString$2;
function isObject$1(value) {
	var type = typeof value;
	return value != null && (type == "object" || type == "function");
}
var isObject_default = isObject$1;
var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
function isFunction$1(value) {
	if (!isObject_default(value)) return false;
	var tag = _baseGetTag_default(value);
	return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
}
var isFunction_default = isFunction$1;
var _coreJsData_default = _root_default["__core-js_shared__"];
var maskSrcKey = function() {
	var uid = /[^.]+$/.exec(_coreJsData_default && _coreJsData_default.keys && _coreJsData_default.keys.IE_PROTO || "");
	return uid ? "Symbol(src)_1." + uid : "";
}();
function isMasked(func) {
	return !!maskSrcKey && maskSrcKey in func;
}
var _isMasked_default = isMasked;
var funcToString$1 = Function.prototype.toString;
function toSource(func) {
	if (func != null) {
		try {
			return funcToString$1.call(func);
		} catch (e) {}
		try {
			return func + "";
		} catch (e) {}
	}
	return "";
}
var _toSource_default = toSource;
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto = Function.prototype, objectProto = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty$3 = objectProto.hasOwnProperty;
var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty$3).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
function baseIsNative(value) {
	if (!isObject_default(value) || _isMasked_default(value)) return false;
	return (isFunction_default(value) ? reIsNative : reIsHostCtor).test(_toSource_default(value));
}
var _baseIsNative_default = baseIsNative;
function getValue(object, key) {
	return object == null ? void 0 : object[key];
}
var _getValue_default = getValue;
function getNative(object, key) {
	var value = _getValue_default(object, key);
	return _baseIsNative_default(value) ? value : void 0;
}
var _getNative_default = getNative;
var _defineProperty_default = function() {
	try {
		var func = _getNative_default(Object, "defineProperty");
		func({}, "", {});
		return func;
	} catch (e) {}
}();
var MAX_SAFE_INTEGER = 9007199254740991;
var reIsUint = /^(?:0|[1-9]\d*)$/;
function isIndex(value, length) {
	var type = typeof value;
	length = length == null ? MAX_SAFE_INTEGER : length;
	return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
}
var _isIndex_default = isIndex;
function baseAssignValue(object, key, value) {
	if (key == "__proto__" && _defineProperty_default) _defineProperty_default(object, key, {
		"configurable": true,
		"enumerable": true,
		"value": value,
		"writable": true
	});
	else object[key] = value;
}
var _baseAssignValue_default = baseAssignValue;
function eq(value, other) {
	return value === other || value !== value && other !== other;
}
var eq_default = eq;
var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
function assignValue(object, key, value) {
	var objValue = object[key];
	if (!(hasOwnProperty$2.call(object, key) && eq_default(objValue, value)) || value === void 0 && !(key in object)) _baseAssignValue_default(object, key, value);
}
var _assignValue_default = assignValue;
var reIsDeepProp$1 = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp$1 = /^\w*$/;
function isKey$2(value, object) {
	if (isArray_default(value)) return false;
	var type = typeof value;
	if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) return true;
	return reIsPlainProp$1.test(value) || !reIsDeepProp$1.test(value) || object != null && value in Object(object);
}
var _isKey_default = isKey$2;
var _nativeCreate_default = _getNative_default(Object, "create");
function hashClear() {
	this.__data__ = _nativeCreate_default ? _nativeCreate_default(null) : {};
	this.size = 0;
}
var _hashClear_default = hashClear;
function hashDelete(key) {
	var result = this.has(key) && delete this.__data__[key];
	this.size -= result ? 1 : 0;
	return result;
}
var _hashDelete_default = hashDelete;
var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
function hashGet(key) {
	var data = this.__data__;
	if (_nativeCreate_default) {
		var result = data[key];
		return result === HASH_UNDEFINED$1 ? void 0 : result;
	}
	return hasOwnProperty$1.call(data, key) ? data[key] : void 0;
}
var _hashGet_default = hashGet;
var hasOwnProperty = Object.prototype.hasOwnProperty;
function hashHas(key) {
	var data = this.__data__;
	return _nativeCreate_default ? data[key] !== void 0 : hasOwnProperty.call(data, key);
}
var _hashHas_default = hashHas;
var HASH_UNDEFINED = "__lodash_hash_undefined__";
function hashSet(key, value) {
	var data = this.__data__;
	this.size += this.has(key) ? 0 : 1;
	data[key] = _nativeCreate_default && value === void 0 ? HASH_UNDEFINED : value;
	return this;
}
var _hashSet_default = hashSet;
function Hash(entries) {
	var index = -1, length = entries == null ? 0 : entries.length;
	this.clear();
	while (++index < length) {
		var entry = entries[index];
		this.set(entry[0], entry[1]);
	}
}
Hash.prototype.clear = _hashClear_default;
Hash.prototype["delete"] = _hashDelete_default;
Hash.prototype.get = _hashGet_default;
Hash.prototype.has = _hashHas_default;
Hash.prototype.set = _hashSet_default;
var _Hash_default = Hash;
function listCacheClear() {
	this.__data__ = [];
	this.size = 0;
}
var _listCacheClear_default = listCacheClear;
function assocIndexOf(array, key) {
	var length = array.length;
	while (length--) if (eq_default(array[length][0], key)) return length;
	return -1;
}
var _assocIndexOf_default = assocIndexOf;
var splice = Array.prototype.splice;
function listCacheDelete(key) {
	var data = this.__data__, index = _assocIndexOf_default(data, key);
	if (index < 0) return false;
	if (index == data.length - 1) data.pop();
	else splice.call(data, index, 1);
	--this.size;
	return true;
}
var _listCacheDelete_default = listCacheDelete;
function listCacheGet(key) {
	var data = this.__data__, index = _assocIndexOf_default(data, key);
	return index < 0 ? void 0 : data[index][1];
}
var _listCacheGet_default = listCacheGet;
function listCacheHas(key) {
	return _assocIndexOf_default(this.__data__, key) > -1;
}
var _listCacheHas_default = listCacheHas;
function listCacheSet(key, value) {
	var data = this.__data__, index = _assocIndexOf_default(data, key);
	if (index < 0) {
		++this.size;
		data.push([key, value]);
	} else data[index][1] = value;
	return this;
}
var _listCacheSet_default = listCacheSet;
function ListCache(entries) {
	var index = -1, length = entries == null ? 0 : entries.length;
	this.clear();
	while (++index < length) {
		var entry = entries[index];
		this.set(entry[0], entry[1]);
	}
}
ListCache.prototype.clear = _listCacheClear_default;
ListCache.prototype["delete"] = _listCacheDelete_default;
ListCache.prototype.get = _listCacheGet_default;
ListCache.prototype.has = _listCacheHas_default;
ListCache.prototype.set = _listCacheSet_default;
var _ListCache_default = ListCache;
var _Map_default = _getNative_default(_root_default, "Map");
function mapCacheClear() {
	this.size = 0;
	this.__data__ = {
		"hash": new _Hash_default(),
		"map": new (_Map_default || _ListCache_default)(),
		"string": new _Hash_default()
	};
}
var _mapCacheClear_default = mapCacheClear;
function isKeyable(value) {
	var type = typeof value;
	return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
}
var _isKeyable_default = isKeyable;
function getMapData(map, key) {
	var data = map.__data__;
	return _isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
}
var _getMapData_default = getMapData;
function mapCacheDelete(key) {
	var result = _getMapData_default(this, key)["delete"](key);
	this.size -= result ? 1 : 0;
	return result;
}
var _mapCacheDelete_default = mapCacheDelete;
function mapCacheGet(key) {
	return _getMapData_default(this, key).get(key);
}
var _mapCacheGet_default = mapCacheGet;
function mapCacheHas(key) {
	return _getMapData_default(this, key).has(key);
}
var _mapCacheHas_default = mapCacheHas;
function mapCacheSet(key, value) {
	var data = _getMapData_default(this, key), size = data.size;
	data.set(key, value);
	this.size += data.size == size ? 0 : 1;
	return this;
}
var _mapCacheSet_default = mapCacheSet;
function MapCache$1(entries) {
	var index = -1, length = entries == null ? 0 : entries.length;
	this.clear();
	while (++index < length) {
		var entry = entries[index];
		this.set(entry[0], entry[1]);
	}
}
MapCache$1.prototype.clear = _mapCacheClear_default;
MapCache$1.prototype["delete"] = _mapCacheDelete_default;
MapCache$1.prototype.get = _mapCacheGet_default;
MapCache$1.prototype.has = _mapCacheHas_default;
MapCache$1.prototype.set = _mapCacheSet_default;
var _MapCache_default = MapCache$1;
var FUNC_ERROR_TEXT$1 = "Expected a function";
function memoize$2(func, resolver) {
	if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT$1);
	var memoized = function() {
		var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
		if (cache.has(key)) return cache.get(key);
		var result = func.apply(this, args);
		memoized.cache = cache.set(key, result) || cache;
		return result;
	};
	memoized.cache = new (memoize$2.Cache || _MapCache_default)();
	return memoized;
}
memoize$2.Cache = _MapCache_default;
var memoize_default = memoize$2;
var MAX_MEMOIZE_SIZE$1 = 500;
function memoizeCapped$2(func) {
	var result = memoize_default(func, function(key) {
		if (cache.size === MAX_MEMOIZE_SIZE$1) cache.clear();
		return key;
	});
	var cache = result.cache;
	return result;
}
var _memoizeCapped_default = memoizeCapped$2;
var rePropName$1 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
var reEscapeChar$1 = /\\(\\)?/g;
var _stringToPath_default = _memoizeCapped_default(function(string) {
	var result = [];
	if (string.charCodeAt(0) === 46) result.push("");
	string.replace(rePropName$1, function(match, number, quote, subString) {
		result.push(quote ? subString.replace(reEscapeChar$1, "$1") : number || match);
	});
	return result;
});
function toString$2(value) {
	return value == null ? "" : _baseToString_default(value);
}
var toString_default = toString$2;
function castPath$2(value, object) {
	if (isArray_default(value)) return value;
	return _isKey_default(value, object) ? [value] : _stringToPath_default(toString_default(value));
}
var _castPath_default = castPath$2;
var INFINITY$2 = Infinity;
function toKey$2(value) {
	if (typeof value == "string" || isSymbol_default(value)) return value;
	var result = value + "";
	return result == "0" && 1 / value == -INFINITY$2 ? "-0" : result;
}
var _toKey_default = toKey$2;
function baseGet$2(object, path) {
	path = _castPath_default(path, object);
	var index = 0, length = path.length;
	while (object != null && index < length) object = object[_toKey_default(path[index++])];
	return index && index == length ? object : void 0;
}
var _baseGet_default = baseGet$2;
function get$1(object, path, defaultValue) {
	var result = object == null ? void 0 : _baseGet_default(object, path);
	return result === void 0 ? defaultValue : result;
}
var get_default = get$1;
function fromPairs(pairs) {
	var index = -1, length = pairs == null ? 0 : pairs.length, result = {};
	while (++index < length) {
		var pair = pairs[index];
		result[pair[0]] = pair[1];
	}
	return result;
}
var fromPairs_default = fromPairs;
function isNil(value) {
	return value == null;
}
var isNil_default = isNil;
function baseSet(object, path, value, customizer) {
	if (!isObject_default(object)) return object;
	path = _castPath_default(path, object);
	var index = -1, length = path.length, lastIndex = length - 1, nested = object;
	while (nested != null && ++index < length) {
		var key = _toKey_default(path[index]), newValue = value;
		if (key === "__proto__" || key === "constructor" || key === "prototype") return object;
		if (index != lastIndex) {
			var objValue = nested[key];
			newValue = customizer ? customizer(objValue, key, nested) : void 0;
			if (newValue === void 0) newValue = isObject_default(objValue) ? objValue : _isIndex_default(path[index + 1]) ? [] : {};
		}
		_assignValue_default(nested, key, newValue);
		nested = nested[key];
	}
	return object;
}
var _baseSet_default = baseSet;
function set(object, path, value) {
	return object == null ? object : _baseSet_default(object, path, value);
}
var set_default = set;
init_shared_esm_bundler();
var isUndefined = (val) => val === void 0;
var isBoolean = (val) => typeof val === "boolean";
var isNumber = (val) => typeof val === "number";
var isEmpty = (val) => !val && val !== 0 || isArray$4(val) && val.length === 0 || isObject(val) && !Object.keys(val).length;
var isElement = (e) => {
	if (typeof Element === "undefined") return false;
	return e instanceof Element;
};
var isStringNumber = (val) => {
	if (!isString(val)) return false;
	return !Number.isNaN(Number(val));
};
init_shared_esm_bundler();
var escapeStringRegexp = (string = "") => string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
var capitalize$1 = (str) => capitalize(str);
var keysOf = (arr) => Object.keys(arr);
var entriesOf = (arr) => Object.entries(arr);
var getProp = (obj, path, defaultValue) => {
	return {
		get value() {
			return get_default(obj, path, defaultValue);
		},
		set value(val) {
			set_default(obj, path, val);
		}
	};
};
var ElementPlusError = class extends Error {
	constructor(m) {
		super(m);
		this.name = "ElementPlusError";
	}
};
function throwError(scope, m) {
	throw new ElementPlusError(`[${scope}] ${m}`);
}
function debugWarn(scope, message) {}
init_shared_esm_bundler();
var SCOPE = "utils/dom/style";
var classNameToArray = (cls = "") => cls.split(" ").filter((item) => !!item.trim());
var hasClass = (el, cls) => {
	if (!el || !cls) return false;
	if (cls.includes(" ")) throw new Error("className should not contain space.");
	return el.classList.contains(cls);
};
var addClass = (el, cls) => {
	if (!el || !cls.trim()) return;
	el.classList.add(...classNameToArray(cls));
};
var removeClass = (el, cls) => {
	if (!el || !cls.trim()) return;
	el.classList.remove(...classNameToArray(cls));
};
var getStyle = (element, styleName) => {
	var _a$1;
	if (!isClient || !element || !styleName) return "";
	let key = camelize(styleName);
	if (key === "float") key = "cssFloat";
	try {
		const style = element.style[key];
		if (style) return style;
		const computed$1 = (_a$1 = document.defaultView) == null ? void 0 : _a$1.getComputedStyle(element, "");
		return computed$1 ? computed$1[key] : "";
	} catch (e) {
		return element.style[key];
	}
};
function addUnit(value, defaultUnit = "px") {
	if (!value) return "";
	if (isNumber(value) || isStringNumber(value)) return `${value}${defaultUnit}`;
	else if (isString(value)) return value;
	debugWarn(SCOPE, "binding value must be a string or number");
}
var scrollBarWidth;
var getScrollBarWidth = (namespace) => {
	var _a$1;
	if (!isClient) return 0;
	if (scrollBarWidth !== void 0) return scrollBarWidth;
	const outer = document.createElement("div");
	outer.className = `${namespace}-scrollbar__wrap`;
	outer.style.visibility = "hidden";
	outer.style.width = "100px";
	outer.style.position = "absolute";
	outer.style.top = "-9999px";
	document.body.appendChild(outer);
	const widthNoScroll = outer.offsetWidth;
	outer.style.overflow = "scroll";
	const inner = document.createElement("div");
	inner.style.width = "100%";
	outer.appendChild(inner);
	const widthWithScroll = inner.offsetWidth;
	(_a$1 = outer.parentNode) == null || _a$1.removeChild(outer);
	scrollBarWidth = widthNoScroll - widthWithScroll;
	return scrollBarWidth;
};
function scrollIntoView(container, selected) {
	if (!isClient) return;
	if (!selected) {
		container.scrollTop = 0;
		return;
	}
	const offsetParents = [];
	let pointer = selected.offsetParent;
	while (pointer !== null && container !== pointer && container.contains(pointer)) {
		offsetParents.push(pointer);
		pointer = pointer.offsetParent;
	}
	const top = selected.offsetTop + offsetParents.reduce((prev, curr) => prev + curr.offsetTop, 0);
	const bottom = top + selected.offsetHeight;
	const viewRectTop = container.scrollTop;
	const viewRectBottom = viewRectTop + container.clientHeight;
	if (top < viewRectTop) container.scrollTop = top;
	else if (bottom > viewRectBottom) container.scrollTop = bottom - container.clientHeight;
}
var arrow_down_default = /* @__PURE__ */ defineComponent({
	name: "ArrowDown",
	__name: "arrow-down",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"
		})]));
	}
});
var arrow_left_default = /* @__PURE__ */ defineComponent({
	name: "ArrowLeft",
	__name: "arrow-left",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"
		})]));
	}
});
var arrow_right_default = /* @__PURE__ */ defineComponent({
	name: "ArrowRight",
	__name: "arrow-right",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"
		})]));
	}
});
var arrow_up_default = /* @__PURE__ */ defineComponent({
	name: "ArrowUp",
	__name: "arrow-up",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"
		})]));
	}
});
var calendar_default = /* @__PURE__ */ defineComponent({
	name: "Calendar",
	__name: "calendar",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"
		})]));
	}
});
var check_default = /* @__PURE__ */ defineComponent({
	name: "Check",
	__name: "check",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"
		})]));
	}
});
var circle_check_default = /* @__PURE__ */ defineComponent({
	name: "CircleCheck",
	__name: "circle-check",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
		}), createBaseVNode("path", {
			fill: "currentColor",
			d: "M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"
		})]));
	}
});
var circle_close_filled_default = /* @__PURE__ */ defineComponent({
	name: "CircleCloseFilled",
	__name: "circle-close-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"
		})]));
	}
});
var circle_close_default = /* @__PURE__ */ defineComponent({
	name: "CircleClose",
	__name: "circle-close",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"
		}), createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
		})]));
	}
});
var clock_default = /* @__PURE__ */ defineComponent({
	name: "Clock",
	__name: "clock",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [
			createBaseVNode("path", {
				fill: "currentColor",
				d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
			}),
			createBaseVNode("path", {
				fill: "currentColor",
				d: "M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"
			}),
			createBaseVNode("path", {
				fill: "currentColor",
				d: "M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"
			})
		]));
	}
});
var close_default = /* @__PURE__ */ defineComponent({
	name: "Close",
	__name: "close",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
		})]));
	}
});
var d_arrow_left_default = /* @__PURE__ */ defineComponent({
	name: "DArrowLeft",
	__name: "d-arrow-left",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"
		})]));
	}
});
var d_arrow_right_default = /* @__PURE__ */ defineComponent({
	name: "DArrowRight",
	__name: "d-arrow-right",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"
		})]));
	}
});
var delete_default = /* @__PURE__ */ defineComponent({
	name: "Delete",
	__name: "delete",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"
		})]));
	}
});
var document_default = /* @__PURE__ */ defineComponent({
	name: "Document",
	__name: "document",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"
		})]));
	}
});
var hide_default = /* @__PURE__ */ defineComponent({
	name: "Hide",
	__name: "hide",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"
		}), createBaseVNode("path", {
			fill: "currentColor",
			d: "M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"
		})]));
	}
});
var info_filled_default = /* @__PURE__ */ defineComponent({
	name: "InfoFilled",
	__name: "info-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"
		})]));
	}
});
var loading_default = /* @__PURE__ */ defineComponent({
	name: "Loading",
	__name: "loading",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"
		})]));
	}
});
var minus_default = /* @__PURE__ */ defineComponent({
	name: "Minus",
	__name: "minus",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"
		})]));
	}
});
var more_filled_default = /* @__PURE__ */ defineComponent({
	name: "MoreFilled",
	__name: "more-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"
		})]));
	}
});
var more_default = /* @__PURE__ */ defineComponent({
	name: "More",
	__name: "more",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"
		})]));
	}
});
var picture_filled_default = /* @__PURE__ */ defineComponent({
	name: "PictureFilled",
	__name: "picture-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"
		})]));
	}
});
var plus_default = /* @__PURE__ */ defineComponent({
	name: "Plus",
	__name: "plus",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"
		})]));
	}
});
var success_filled_default = /* @__PURE__ */ defineComponent({
	name: "SuccessFilled",
	__name: "success-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"
		})]));
	}
});
var view_default = /* @__PURE__ */ defineComponent({
	name: "View",
	__name: "view",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"
		})]));
	}
});
var warning_filled_default = /* @__PURE__ */ defineComponent({
	name: "WarningFilled",
	__name: "warning-filled",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"
		})]));
	}
});
var zoom_in_default = /* @__PURE__ */ defineComponent({
	name: "ZoomIn",
	__name: "zoom-in",
	setup(__props) {
		return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
			xmlns: "http://www.w3.org/2000/svg",
			viewBox: "0 0 1024 1024"
		}, [createBaseVNode("path", {
			fill: "currentColor",
			d: "m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"
		})]));
	}
});
init_shared_esm_bundler();
var epPropKey = "__epPropKey";
var definePropType = (val) => val;
var isEpProp = (val) => isObject(val) && !!val["__epPropKey"];
var buildProp = (prop, key) => {
	if (!isObject(prop) || isEpProp(prop)) return prop;
	const { values, required, default: defaultValue, type, validator } = prop;
	const epProp = {
		type,
		required: !!required,
		validator: values || validator ? (val) => {
			let valid = false;
			let allowedValues = [];
			if (values) {
				allowedValues = Array.from(values);
				if (hasOwn(prop, "default")) allowedValues.push(defaultValue);
				valid || (valid = allowedValues.includes(val));
			}
			if (validator) valid || (valid = validator(val));
			if (!valid && allowedValues.length > 0) {
				const allowValuesText = [...new Set(allowedValues)].map((value) => JSON.stringify(value)).join(", ");
				warn(`Invalid prop: validation failed${key ? ` for prop "${key}"` : ""}. Expected one of [${allowValuesText}], got value ${JSON.stringify(val)}.`);
			}
			return valid;
		} : void 0,
		[epPropKey]: true
	};
	if (hasOwn(prop, "default")) epProp.default = defaultValue;
	return epProp;
};
var buildProps = (props) => fromPairs_default(Object.entries(props).map(([key, option]) => [key, buildProp(option, key)]));
var iconPropType = definePropType([
	String,
	Object,
	Function
]);
var CloseComponents = { Close: close_default };
var TypeComponents = {
	Close: close_default,
	SuccessFilled: success_filled_default,
	InfoFilled: info_filled_default,
	WarningFilled: warning_filled_default,
	CircleCloseFilled: circle_close_filled_default
};
var TypeComponentsMap = {
	success: success_filled_default,
	warning: warning_filled_default,
	error: circle_close_filled_default,
	info: info_filled_default
};
var ValidateComponentsMap = {
	validating: loading_default,
	success: circle_check_default,
	error: circle_close_default
};
init_shared_esm_bundler();
var withInstall = (main, extra) => {
	main.install = (app) => {
		for (const comp of [main, ...Object.values(extra != null ? extra : {})]) app.component(comp.name, comp);
	};
	if (extra) for (const [key, comp] of Object.entries(extra)) main[key] = comp;
	return main;
};
var withInstallFunction = (fn, name) => {
	fn.install = (app) => {
		fn._context = app._context;
		app.config.globalProperties[name] = fn;
	};
	return fn;
};
var withNoopInstall = (component) => {
	component.install = NOOP;
	return component;
};
var EVENT_CODE = {
	tab: "Tab",
	enter: "Enter",
	space: "Space",
	left: "ArrowLeft",
	up: "ArrowUp",
	right: "ArrowRight",
	down: "ArrowDown",
	esc: "Escape",
	delete: "Delete",
	backspace: "Backspace",
	numpadEnter: "NumpadEnter",
	pageUp: "PageUp",
	pageDown: "PageDown",
	home: "Home",
	end: "End"
};
var datePickTypes = [
	"year",
	"month",
	"date",
	"dates",
	"week",
	"datetime",
	"datetimerange",
	"daterange",
	"monthrange"
];
var UPDATE_MODEL_EVENT = "update:modelValue";
var CHANGE_EVENT = "change";
var INPUT_EVENT = "input";
var componentSizes = [
	"",
	"default",
	"small",
	"large"
];
var componentSizeMap = {
	large: 40,
	default: 32,
	small: 24
};
var isValidComponentSize = (val) => ["", ...componentSizes].includes(val);
init_shared_esm_bundler();
var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => {
	PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT";
	PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS";
	PatchFlags2[PatchFlags2["STYLE"] = 4] = "STYLE";
	PatchFlags2[PatchFlags2["PROPS"] = 8] = "PROPS";
	PatchFlags2[PatchFlags2["FULL_PROPS"] = 16] = "FULL_PROPS";
	PatchFlags2[PatchFlags2["HYDRATE_EVENTS"] = 32] = "HYDRATE_EVENTS";
	PatchFlags2[PatchFlags2["STABLE_FRAGMENT"] = 64] = "STABLE_FRAGMENT";
	PatchFlags2[PatchFlags2["KEYED_FRAGMENT"] = 128] = "KEYED_FRAGMENT";
	PatchFlags2[PatchFlags2["UNKEYED_FRAGMENT"] = 256] = "UNKEYED_FRAGMENT";
	PatchFlags2[PatchFlags2["NEED_PATCH"] = 512] = "NEED_PATCH";
	PatchFlags2[PatchFlags2["DYNAMIC_SLOTS"] = 1024] = "DYNAMIC_SLOTS";
	PatchFlags2[PatchFlags2["HOISTED"] = -1] = "HOISTED";
	PatchFlags2[PatchFlags2["BAIL"] = -2] = "BAIL";
	return PatchFlags2;
})(PatchFlags || {});
var flattedChildren = (children) => {
	const vNodes = isArray$4(children) ? children : [children];
	const result = [];
	vNodes.forEach((child) => {
		var _a$1;
		if (isArray$4(child)) result.push(...flattedChildren(child));
		else if (isVNode(child) && isArray$4(child.children)) result.push(...flattedChildren(child.children));
		else {
			result.push(child);
			if (isVNode(child) && ((_a$1 = child.component) == null ? void 0 : _a$1.subTree)) result.push(...flattedChildren(child.component.subTree));
		}
	});
	return result;
};
var isKorean = (text) => /([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(text);
var mutable = (val) => val;
var DEFAULT_EXCLUDE_KEYS = ["class", "style"];
var LISTENER_PREFIX = /^on[A-Z]/;
var useAttrs$1 = (params = {}) => {
	const { excludeListeners = false, excludeKeys } = params;
	const allExcludeKeys = computed(() => {
		return ((excludeKeys == null ? void 0 : excludeKeys.value) || []).concat(DEFAULT_EXCLUDE_KEYS);
	});
	const instance = getCurrentInstance();
	if (!instance) {
		debugWarn("use-attrs", "getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function");
		return computed(() => ({}));
	}
	return computed(() => {
		var _a$1;
		return fromPairs_default(Object.entries((_a$1 = instance.proxy) == null ? void 0 : _a$1.$attrs).filter(([key]) => !allExcludeKeys.value.includes(key) && !(excludeListeners && LISTENER_PREFIX.test(key))));
	});
};
var useDeprecated = ({ from, replacement, scope, version: version$1, ref: ref$1, type = "API" }, condition) => {
	watch(() => unref(condition), (val) => {
		if (val) debugWarn(scope, `[${type}] ${from} is about to be deprecated in version ${version$1}, please use ${replacement} instead.
For more detail, please visit: ${ref$1}
`);
	}, { immediate: true });
};
var English = {
	name: "en",
	el: {
		colorpicker: {
			confirm: "OK",
			clear: "Clear",
			defaultLabel: "color picker",
			description: "current color is {color}. press enter to select a new color."
		},
		datepicker: {
			now: "Now",
			today: "Today",
			cancel: "Cancel",
			clear: "Clear",
			confirm: "OK",
			dateTablePrompt: "Use the arrow keys and enter to select the day of the month",
			monthTablePrompt: "Use the arrow keys and enter to select the month",
			yearTablePrompt: "Use the arrow keys and enter to select the year",
			selectedDate: "Selected date",
			selectDate: "Select date",
			selectTime: "Select time",
			startDate: "Start Date",
			startTime: "Start Time",
			endDate: "End Date",
			endTime: "End Time",
			prevYear: "Previous Year",
			nextYear: "Next Year",
			prevMonth: "Previous Month",
			nextMonth: "Next Month",
			year: "",
			month1: "January",
			month2: "February",
			month3: "March",
			month4: "April",
			month5: "May",
			month6: "June",
			month7: "July",
			month8: "August",
			month9: "September",
			month10: "October",
			month11: "November",
			month12: "December",
			week: "week",
			weeks: {
				sun: "Sun",
				mon: "Mon",
				tue: "Tue",
				wed: "Wed",
				thu: "Thu",
				fri: "Fri",
				sat: "Sat"
			},
			weeksFull: {
				sun: "Sunday",
				mon: "Monday",
				tue: "Tuesday",
				wed: "Wednesday",
				thu: "Thursday",
				fri: "Friday",
				sat: "Saturday"
			},
			months: {
				jan: "Jan",
				feb: "Feb",
				mar: "Mar",
				apr: "Apr",
				may: "May",
				jun: "Jun",
				jul: "Jul",
				aug: "Aug",
				sep: "Sep",
				oct: "Oct",
				nov: "Nov",
				dec: "Dec"
			}
		},
		inputNumber: {
			decrease: "decrease number",
			increase: "increase number"
		},
		select: {
			loading: "Loading",
			noMatch: "No matching data",
			noData: "No data",
			placeholder: "Select"
		},
		dropdown: { toggleDropdown: "Toggle Dropdown" },
		cascader: {
			noMatch: "No matching data",
			loading: "Loading",
			placeholder: "Select",
			noData: "No data"
		},
		pagination: {
			goto: "Go to",
			pagesize: "/page",
			total: "Total {total}",
			pageClassifier: "",
			page: "Page",
			prev: "Go to previous page",
			next: "Go to next page",
			currentPage: "page {pager}",
			prevPages: "Previous {pager} pages",
			nextPages: "Next {pager} pages",
			deprecationWarning: "Deprecated usages detected, please refer to the el-pagination documentation for more details"
		},
		dialog: { close: "Close this dialog" },
		drawer: { close: "Close this dialog" },
		messagebox: {
			title: "Message",
			confirm: "OK",
			cancel: "Cancel",
			error: "Illegal input",
			close: "Close this dialog"
		},
		upload: {
			deleteTip: "press delete to remove",
			delete: "Delete",
			preview: "Preview",
			continue: "Continue"
		},
		slider: {
			defaultLabel: "slider between {min} and {max}",
			defaultRangeStartLabel: "pick start value",
			defaultRangeEndLabel: "pick end value"
		},
		table: {
			emptyText: "No Data",
			confirmFilter: "Confirm",
			resetFilter: "Reset",
			clearFilter: "All",
			sumText: "Sum"
		},
		tree: { emptyText: "No Data" },
		transfer: {
			noMatch: "No matching data",
			noData: "No data",
			titles: ["List 1", "List 2"],
			filterPlaceholder: "Enter keyword",
			noCheckedFormat: "{total} items",
			hasCheckedFormat: "{checked}/{total} checked"
		},
		image: { error: "FAILED" },
		pageHeader: { title: "Back" },
		popconfirm: {
			confirmButtonText: "Yes",
			cancelButtonText: "No"
		}
	}
};
var buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));
var translate = (path, option, locale) => get_default(locale, path, path).replace(/\{(\w+)\}/g, (_$4, key) => {
	var _a$1;
	return `${(_a$1 = option == null ? void 0 : option[key]) != null ? _a$1 : `{${key}}`}`;
});
var buildLocaleContext = (locale) => {
	return {
		lang: computed(() => unref(locale).name),
		locale: isRef(locale) ? locale : ref(locale),
		t: buildTranslator(locale)
	};
};
var localeContextKey = Symbol("localeContextKey");
var useLocale = (localeOverrides) => {
	const locale = localeOverrides || inject(localeContextKey, ref());
	return buildLocaleContext(computed(() => locale.value || English));
};
var defaultNamespace = "el";
var statePrefix = "is-";
var _bem = (namespace, block, blockSuffix, element, modifier) => {
	let cls = `${namespace}-${block}`;
	if (blockSuffix) cls += `-${blockSuffix}`;
	if (element) cls += `__${element}`;
	if (modifier) cls += `--${modifier}`;
	return cls;
};
var namespaceContextKey = Symbol("namespaceContextKey");
var useGetDerivedNamespace = (namespaceOverrides) => {
	const derivedNamespace = namespaceOverrides || (getCurrentInstance() ? inject(namespaceContextKey, ref("el")) : ref("el"));
	return computed(() => {
		return unref(derivedNamespace) || "el";
	});
};
var useNamespace = (block, namespaceOverrides) => {
	const namespace = useGetDerivedNamespace(namespaceOverrides);
	const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", "");
	const e = (element) => element ? _bem(namespace.value, block, "", element, "") : "";
	const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : "";
	const be = (blockSuffix, element) => blockSuffix && element ? _bem(namespace.value, block, blockSuffix, element, "") : "";
	const em = (element, modifier) => element && modifier ? _bem(namespace.value, block, "", element, modifier) : "";
	const bm = (blockSuffix, modifier) => blockSuffix && modifier ? _bem(namespace.value, block, blockSuffix, "", modifier) : "";
	const bem = (blockSuffix, element, modifier) => blockSuffix && element && modifier ? _bem(namespace.value, block, blockSuffix, element, modifier) : "";
	const is = (name, ...args) => {
		const state = args.length >= 1 ? args[0] : true;
		return name && state ? `${statePrefix}${name}` : "";
	};
	const cssVar = (object) => {
		const styles = {};
		for (const key in object) if (object[key]) styles[`--${namespace.value}-${key}`] = object[key];
		return styles;
	};
	const cssVarBlock = (object) => {
		const styles = {};
		for (const key in object) if (object[key]) styles[`--${namespace.value}-${block}-${key}`] = object[key];
		return styles;
	};
	const cssVarName = (name) => `--${namespace.value}-${name}`;
	const cssVarBlockName = (name) => `--${namespace.value}-${block}-${name}`;
	return {
		namespace,
		b,
		e,
		m,
		be,
		em,
		bm,
		bem,
		is,
		cssVar,
		cssVarName,
		cssVarBlock,
		cssVarBlockName
	};
};
var useProp = (name) => {
	const vm = getCurrentInstance();
	return computed(() => {
		var _a$1, _b;
		return (_b = (_a$1 = vm == null ? void 0 : vm.proxy) == null ? void 0 : _a$1.$props) == null ? void 0 : _b[name];
	});
};
var defaultIdInjection = {
	prefix: Math.floor(Math.random() * 1e4),
	current: 0
};
var ID_INJECTION_KEY = Symbol("elIdInjection");
var useIdInjection = () => {
	return getCurrentInstance() ? inject(ID_INJECTION_KEY, defaultIdInjection) : defaultIdInjection;
};
var useId = (deterministicId) => {
	const idInjection = useIdInjection();
	if (!isClient && idInjection === defaultIdInjection) debugWarn("IdInjection", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
usage: app.provide(ID_INJECTION_KEY, {
  prefix: number,
  current: number,
})`);
	const namespace = useGetDerivedNamespace();
	return computed(() => unref(deterministicId) || `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`);
};
var registeredEscapeHandlers = [];
var cachedHandler = (e) => {
	const event = e;
	if (event.key === EVENT_CODE.esc) registeredEscapeHandlers.forEach((registeredHandler) => registeredHandler(event));
};
var useEscapeKeydown = (handler) => {
	onMounted(() => {
		if (registeredEscapeHandlers.length === 0) document.addEventListener("keydown", cachedHandler);
		if (isClient) registeredEscapeHandlers.push(handler);
	});
	onBeforeUnmount(() => {
		registeredEscapeHandlers = registeredEscapeHandlers.filter((registeredHandler) => registeredHandler !== handler);
		if (registeredEscapeHandlers.length === 0) {
			if (isClient) document.removeEventListener("keydown", cachedHandler);
		}
	});
};
var zIndex = ref(0);
var defaultInitialZIndex = 2e3;
var zIndexContextKey = Symbol("zIndexContextKey");
var useZIndex = (zIndexOverrides) => {
	const zIndexInjection = zIndexOverrides || (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0);
	const initialZIndex = computed(() => {
		const zIndexFromInjection = unref(zIndexInjection);
		return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex;
	});
	const currentZIndex = computed(() => initialZIndex.value + zIndex.value);
	const nextZIndex = () => {
		zIndex.value++;
		return currentZIndex.value;
	};
	return {
		initialZIndex,
		currentZIndex,
		nextZIndex
	};
};
function useCursor(input) {
	const selectionRef = ref();
	function recordCursor() {
		if (input.value == void 0) return;
		const { selectionStart, selectionEnd, value } = input.value;
		if (selectionStart == null || selectionEnd == null) return;
		selectionRef.value = {
			selectionStart,
			selectionEnd,
			value,
			beforeTxt: value.slice(0, Math.max(0, selectionStart)),
			afterTxt: value.slice(Math.max(0, selectionEnd))
		};
	}
	function setCursor() {
		if (input.value == void 0 || selectionRef.value == void 0) return;
		const { value } = input.value;
		const { beforeTxt, afterTxt, selectionStart } = selectionRef.value;
		if (beforeTxt == void 0 || afterTxt == void 0 || selectionStart == void 0) return;
		let startPos = value.length;
		if (value.endsWith(afterTxt)) startPos = value.length - afterTxt.length;
		else if (value.startsWith(beforeTxt)) startPos = beforeTxt.length;
		else {
			const beforeLastChar = beforeTxt[selectionStart - 1];
			const newIndex = value.indexOf(beforeLastChar, selectionStart - 1);
			if (newIndex !== -1) startPos = newIndex + 1;
		}
		input.value.setSelectionRange(startPos, startPos);
	}
	return [recordCursor, setCursor];
}
var useSizeProp = buildProp({
	type: String,
	values: componentSizes,
	required: false
});
var SIZE_INJECTION_KEY = Symbol("size");
var useGlobalSize = () => {
	const injectedSize = inject(SIZE_INJECTION_KEY, {});
	return computed(() => {
		return unref(injectedSize.size) || "";
	});
};
init_shared_esm_bundler();
function useFocusController(target, { afterFocus, beforeBlur, afterBlur } = {}) {
	const { emit } = getCurrentInstance();
	const wrapperRef = shallowRef();
	const isFocused = ref(false);
	const handleFocus = (event) => {
		if (isFocused.value) return;
		isFocused.value = true;
		emit("focus", event);
		afterFocus?.();
	};
	const handleBlur = (event) => {
		var _a$1;
		if ((isFunction(beforeBlur) ? beforeBlur(event) : false) || event.relatedTarget && ((_a$1 = wrapperRef.value) == null ? void 0 : _a$1.contains(event.relatedTarget))) return;
		isFocused.value = false;
		emit("blur", event);
		afterBlur?.();
	};
	const handleClick = () => {
		var _a$1;
		(_a$1 = target.value) == null || _a$1.focus();
	};
	watch(wrapperRef, (el) => {
		if (el) el.setAttribute("tabindex", "-1");
	});
	useEventListener(wrapperRef, "click", handleClick);
	return {
		wrapperRef,
		isFocused,
		handleFocus,
		handleBlur
	};
}
var configProviderContextKey = Symbol();
var globalConfig = ref();
function useGlobalConfig(key, defaultValue = void 0) {
	const config = getCurrentInstance() ? inject(configProviderContextKey, globalConfig) : globalConfig;
	if (key) return computed(() => {
		var _a$1, _b;
		return (_b = (_a$1 = config.value) == null ? void 0 : _a$1[key]) != null ? _b : defaultValue;
	});
	else return config;
}
function useGlobalComponentSettings(block, sizeFallback) {
	const config = useGlobalConfig();
	const ns = useNamespace(block, computed(() => {
		var _a$1;
		return ((_a$1 = config.value) == null ? void 0 : _a$1.namespace) || "el";
	}));
	const locale = useLocale(computed(() => {
		var _a$1;
		return (_a$1 = config.value) == null ? void 0 : _a$1.locale;
	}));
	const zIndex$1 = useZIndex(computed(() => {
		var _a$1;
		return ((_a$1 = config.value) == null ? void 0 : _a$1.zIndex) || 2e3;
	}));
	const size = computed(() => {
		var _a$1;
		return unref(sizeFallback) || ((_a$1 = config.value) == null ? void 0 : _a$1.size) || "";
	});
	provideGlobalConfig(computed(() => unref(config) || {}));
	return {
		ns,
		locale,
		zIndex: zIndex$1,
		size
	};
}
var provideGlobalConfig = (config, app, global$1 = false) => {
	var _a$1;
	const inSetup = !!getCurrentInstance();
	const oldConfig = inSetup ? useGlobalConfig() : void 0;
	const provideFn = (_a$1 = app == null ? void 0 : app.provide) != null ? _a$1 : inSetup ? provide : void 0;
	if (!provideFn) {
		debugWarn("provideGlobalConfig", "provideGlobalConfig() can only be used inside setup().");
		return;
	}
	const context = computed(() => {
		const cfg = unref(config);
		if (!(oldConfig == null ? void 0 : oldConfig.value)) return cfg;
		return mergeConfig(oldConfig.value, cfg);
	});
	provideFn(configProviderContextKey, context);
	provideFn(localeContextKey, computed(() => context.value.locale));
	provideFn(namespaceContextKey, computed(() => context.value.namespace));
	provideFn(zIndexContextKey, computed(() => context.value.zIndex));
	provideFn(SIZE_INJECTION_KEY, { size: computed(() => context.value.size || "") });
	if (global$1 || !globalConfig.value) globalConfig.value = context.value;
	return context;
};
var mergeConfig = (a, b) => {
	var _a$1;
	const keys = [.../* @__PURE__ */ new Set([...keysOf(a), ...keysOf(b)])];
	const obj = {};
	for (const key of keys) obj[key] = (_a$1 = b[key]) != null ? _a$1 : a[key];
	return obj;
};
var _export_sfc = (sfc, props) => {
	const target = sfc.__vccOpts || sfc;
	for (const [key, val] of props) target[key] = val;
	return target;
};
var iconProps = buildProps({
	size: { type: definePropType([Number, String]) },
	color: { type: String }
});
var ElIcon = withInstall(/* @__PURE__ */ _export_sfc(/* @__PURE__ */ defineComponent({
	...defineComponent({
		name: "ElIcon",
		inheritAttrs: false
	}),
	props: iconProps,
	setup(__props) {
		const props = __props;
		const ns = useNamespace("icon");
		const style = computed(() => {
			const { size, color } = props;
			if (!size && !color) return {};
			return {
				fontSize: isUndefined(size) ? void 0 : addUnit(size),
				"--color": color
			};
		});
		return (_ctx, _cache) => {
			return openBlock(), createElementBlock("i", mergeProps({
				class: unref(ns).b(),
				style: unref(style)
			}, _ctx.$attrs), [renderSlot(_ctx.$slots, "default")], 16);
		};
	}
}), [["__file", "/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]));
var formContextKey = Symbol("formContextKey");
var formItemContextKey = Symbol("formItemContextKey");
var useFormSize = (fallback, ignore = {}) => {
	const emptyRef = ref(void 0);
	const size = ignore.prop ? emptyRef : useProp("size");
	const globalConfig$1 = ignore.global ? emptyRef : useGlobalSize();
	const form = ignore.form ? { size: void 0 } : inject(formContextKey, void 0);
	const formItem = ignore.formItem ? { size: void 0 } : inject(formItemContextKey, void 0);
	return computed(() => size.value || unref(fallback) || (formItem == null ? void 0 : formItem.size) || (form == null ? void 0 : form.size) || globalConfig$1.value || "");
};
var useFormDisabled = (fallback) => {
	const disabled = useProp("disabled");
	const form = inject(formContextKey, void 0);
	return computed(() => disabled.value || unref(fallback) || (form == null ? void 0 : form.disabled) || false);
};
var useFormItem = () => {
	return {
		form: inject(formContextKey, void 0),
		formItem: inject(formItemContextKey, void 0)
	};
};
var useFormItemInputId = (props, { formItemContext, disableIdGeneration, disableIdManagement }) => {
	if (!disableIdGeneration) disableIdGeneration = ref(false);
	if (!disableIdManagement) disableIdManagement = ref(false);
	const inputId = ref();
	let idUnwatch = void 0;
	const isLabeledByFormItem = computed(() => {
		var _a$1;
		return !!(!props.label && formItemContext && formItemContext.inputIds && ((_a$1 = formItemContext.inputIds) == null ? void 0 : _a$1.length) <= 1);
	});
	onMounted(() => {
		idUnwatch = watch([toRef(props, "id"), disableIdGeneration], ([id, disableIdGeneration2]) => {
			const newId = id != null ? id : !disableIdGeneration2 ? useId().value : void 0;
			if (newId !== inputId.value) {
				if (formItemContext == null ? void 0 : formItemContext.removeInputId) {
					inputId.value && formItemContext.removeInputId(inputId.value);
					if (!(disableIdManagement == null ? void 0 : disableIdManagement.value) && !disableIdGeneration2 && newId) formItemContext.addInputId(newId);
				}
				inputId.value = newId;
			}
		}, { immediate: true });
	});
	onUnmounted(() => {
		idUnwatch && idUnwatch();
		if (formItemContext == null ? void 0 : formItemContext.removeInputId) inputId.value && formItemContext.removeInputId(inputId.value);
	});
	return {
		isLabeledByFormItem,
		inputId
	};
};
var hiddenTextarea = void 0;
var HIDDEN_STYLE = `
  height:0 !important;
  visibility:hidden !important;
  ${isFirefox() ? "" : "overflow:hidden !important;"}
  position:absolute !important;
  z-index:-1000 !important;
  top:0 !important;
  right:0 !important;
`;
var CONTEXT_STYLE = [
	"letter-spacing",
	"line-height",
	"padding-top",
	"padding-bottom",
	"font-family",
	"font-weight",
	"font-size",
	"text-rendering",
	"text-transform",
	"width",
	"text-indent",
	"padding-left",
	"padding-right",
	"border-width",
	"box-sizing"
];
function calculateNodeStyling(targetElement) {
	const style = window.getComputedStyle(targetElement);
	const boxSizing = style.getPropertyValue("box-sizing");
	const paddingSize = Number.parseFloat(style.getPropertyValue("padding-bottom")) + Number.parseFloat(style.getPropertyValue("padding-top"));
	const borderSize = Number.parseFloat(style.getPropertyValue("border-bottom-width")) + Number.parseFloat(style.getPropertyValue("border-top-width"));
	return {
		contextStyle: CONTEXT_STYLE.map((name) => `${name}:${style.getPropertyValue(name)}`).join(";"),
		paddingSize,
		borderSize,
		boxSizing
	};
}
function calcTextareaHeight(targetElement, minRows = 1, maxRows) {
	var _a$1;
	if (!hiddenTextarea) {
		hiddenTextarea = document.createElement("textarea");
		document.body.appendChild(hiddenTextarea);
	}
	const { paddingSize, borderSize, boxSizing, contextStyle } = calculateNodeStyling(targetElement);
	hiddenTextarea.setAttribute("style", `${contextStyle};${HIDDEN_STYLE}`);
	hiddenTextarea.value = targetElement.value || targetElement.placeholder || "";
	let height = hiddenTextarea.scrollHeight;
	const result = {};
	if (boxSizing === "border-box") height = height + borderSize;
	else if (boxSizing === "content-box") height = height - paddingSize;
	hiddenTextarea.value = "";
	const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
	if (isNumber(minRows)) {
		let minHeight = singleRowHeight * minRows;
		if (boxSizing === "border-box") minHeight = minHeight + paddingSize + borderSize;
		height = Math.max(minHeight, height);
		result.minHeight = `${minHeight}px`;
	}
	if (isNumber(maxRows)) {
		let maxHeight = singleRowHeight * maxRows;
		if (boxSizing === "border-box") maxHeight = maxHeight + paddingSize + borderSize;
		height = Math.min(maxHeight, height);
	}
	result.height = `${height}px`;
	(_a$1 = hiddenTextarea.parentNode) == null || _a$1.removeChild(hiddenTextarea);
	hiddenTextarea = void 0;
	return result;
}
init_shared_esm_bundler();
var inputProps = buildProps({
	id: {
		type: String,
		default: void 0
	},
	size: useSizeProp,
	disabled: Boolean,
	modelValue: {
		type: definePropType([
			String,
			Number,
			Object
		]),
		default: ""
	},
	type: {
		type: String,
		default: "text"
	},
	resize: {
		type: String,
		values: [
			"none",
			"both",
			"horizontal",
			"vertical"
		]
	},
	autosize: {
		type: definePropType([Boolean, Object]),
		default: false
	},
	autocomplete: {
		type: String,
		default: "off"
	},
	formatter: { type: Function },
	parser: { type: Function },
	placeholder: { type: String },
	form: { type: String },
	readonly: {
		type: Boolean,
		default: false
	},
	clearable: {
		type: Boolean,
		default: false
	},
	showPassword: {
		type: Boolean,
		default: false
	},
	showWordLimit: {
		type: Boolean,
		default: false
	},
	suffixIcon: { type: iconPropType },
	prefixIcon: { type: iconPropType },
	containerRole: {
		type: String,
		default: void 0
	},
	label: {
		type: String,
		default: void 0
	},
	tabindex: {
		type: [String, Number],
		default: 0
	},
	validateEvent: {
		type: Boolean,
		default: true
	},
	inputStyle: {
		type: definePropType([
			Object,
			Array,
			String
		]),
		default: () => mutable({})
	},
	autofocus: {
		type: Boolean,
		default: false
	}
});
var inputEmits = {
	[UPDATE_MODEL_EVENT]: (value) => isString(value),
	input: (value) => isString(value),
	change: (value) => isString(value),
	focus: (evt) => evt instanceof FocusEvent,
	blur: (evt) => evt instanceof FocusEvent,
	clear: () => true,
	mouseleave: (evt) => evt instanceof MouseEvent,
	mouseenter: (evt) => evt instanceof MouseEvent,
	keydown: (evt) => evt instanceof Event,
	compositionstart: (evt) => evt instanceof CompositionEvent,
	compositionupdate: (evt) => evt instanceof CompositionEvent,
	compositionend: (evt) => evt instanceof CompositionEvent
};
init_shared_esm_bundler();
var _hoisted_1 = ["role"];
var _hoisted_2 = [
	"id",
	"type",
	"disabled",
	"formatter",
	"parser",
	"readonly",
	"autocomplete",
	"tabindex",
	"aria-label",
	"placeholder",
	"form",
	"autofocus"
];
var _hoisted_3 = [
	"id",
	"tabindex",
	"disabled",
	"readonly",
	"autocomplete",
	"aria-label",
	"placeholder",
	"form",
	"autofocus"
];
var ElInput = withInstall(/* @__PURE__ */ _export_sfc(/* @__PURE__ */ defineComponent({
	...defineComponent({
		name: "ElInput",
		inheritAttrs: false
	}),
	props: inputProps,
	emits: inputEmits,
	setup(__props, { expose, emit }) {
		const props = __props;
		const rawAttrs = useAttrs();
		const slots = useSlots();
		const containerAttrs = computed(() => {
			const comboBoxAttrs = {};
			if (props.containerRole === "combobox") {
				comboBoxAttrs["aria-haspopup"] = rawAttrs["aria-haspopup"];
				comboBoxAttrs["aria-owns"] = rawAttrs["aria-owns"];
				comboBoxAttrs["aria-expanded"] = rawAttrs["aria-expanded"];
			}
			return comboBoxAttrs;
		});
		const containerKls = computed(() => [
			props.type === "textarea" ? nsTextarea.b() : nsInput.b(),
			nsInput.m(inputSize.value),
			nsInput.is("disabled", inputDisabled.value),
			nsInput.is("exceed", inputExceed.value),
			{
				[nsInput.b("group")]: slots.prepend || slots.append,
				[nsInput.bm("group", "append")]: slots.append,
				[nsInput.bm("group", "prepend")]: slots.prepend,
				[nsInput.m("prefix")]: slots.prefix || props.prefixIcon,
				[nsInput.m("suffix")]: slots.suffix || props.suffixIcon || props.clearable || props.showPassword,
				[nsInput.bm("suffix", "password-clear")]: showClear.value && showPwdVisible.value
			},
			rawAttrs.class
		]);
		const wrapperKls = computed(() => [nsInput.e("wrapper"), nsInput.is("focus", isFocused.value)]);
		const attrs = useAttrs$1({ excludeKeys: computed(() => {
			return Object.keys(containerAttrs.value);
		}) });
		const { form, formItem } = useFormItem();
		const { inputId } = useFormItemInputId(props, { formItemContext: formItem });
		const inputSize = useFormSize();
		const inputDisabled = useFormDisabled();
		const nsInput = useNamespace("input");
		const nsTextarea = useNamespace("textarea");
		const input = shallowRef();
		const textarea = shallowRef();
		const hovering = ref(false);
		const isComposing = ref(false);
		const passwordVisible = ref(false);
		const countStyle = ref();
		const textareaCalcStyle = shallowRef(props.inputStyle);
		const _ref = computed(() => input.value || textarea.value);
		const { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(_ref, { afterBlur() {
			var _a$1;
			if (props.validateEvent) (_a$1 = formItem == null ? void 0 : formItem.validate) == null || _a$1.call(formItem, "blur").catch((err) => debugWarn(err));
		} });
		const needStatusIcon = computed(() => {
			var _a$1;
			return (_a$1 = form == null ? void 0 : form.statusIcon) != null ? _a$1 : false;
		});
		const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || "");
		const validateIcon = computed(() => validateState.value && ValidateComponentsMap[validateState.value]);
		const passwordIcon = computed(() => passwordVisible.value ? view_default : hide_default);
		const containerStyle = computed(() => [rawAttrs.style, props.inputStyle]);
		const textareaStyle = computed(() => [
			props.inputStyle,
			textareaCalcStyle.value,
			{ resize: props.resize }
		]);
		const nativeInputValue = computed(() => isNil_default(props.modelValue) ? "" : String(props.modelValue));
		const showClear = computed(() => props.clearable && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (isFocused.value || hovering.value));
		const showPwdVisible = computed(() => props.showPassword && !inputDisabled.value && !props.readonly && !!nativeInputValue.value && (!!nativeInputValue.value || isFocused.value));
		const isWordLimitVisible = computed(() => props.showWordLimit && !!attrs.value.maxlength && (props.type === "text" || props.type === "textarea") && !inputDisabled.value && !props.readonly && !props.showPassword);
		const textLength = computed(() => nativeInputValue.value.length);
		const inputExceed = computed(() => !!isWordLimitVisible.value && textLength.value > Number(attrs.value.maxlength));
		const suffixVisible = computed(() => !!slots.suffix || !!props.suffixIcon || showClear.value || props.showPassword || isWordLimitVisible.value || !!validateState.value && needStatusIcon.value);
		const [recordCursor, setCursor] = useCursor(input);
		useResizeObserver(textarea, (entries) => {
			onceInitSizeTextarea();
			if (!isWordLimitVisible.value || props.resize !== "both") return;
			const { width } = entries[0].contentRect;
			countStyle.value = { right: `calc(100% - ${width + 15 + 6}px)` };
		});
		const resizeTextarea = () => {
			const { type, autosize } = props;
			if (!isClient || type !== "textarea" || !textarea.value) return;
			if (autosize) {
				const minRows = isObject(autosize) ? autosize.minRows : void 0;
				const maxRows = isObject(autosize) ? autosize.maxRows : void 0;
				const textareaStyle2 = calcTextareaHeight(textarea.value, minRows, maxRows);
				textareaCalcStyle.value = {
					overflowY: "hidden",
					...textareaStyle2
				};
				nextTick(() => {
					textarea.value.offsetHeight;
					textareaCalcStyle.value = textareaStyle2;
				});
			} else textareaCalcStyle.value = { minHeight: calcTextareaHeight(textarea.value).minHeight };
		};
		const createOnceInitResize = (resizeTextarea2) => {
			let isInit = false;
			return () => {
				var _a$1;
				if (isInit || !props.autosize) return;
				if (!(((_a$1 = textarea.value) == null ? void 0 : _a$1.offsetParent) === null)) {
					resizeTextarea2();
					isInit = true;
				}
			};
		};
		const onceInitSizeTextarea = createOnceInitResize(resizeTextarea);
		const setNativeInputValue = () => {
			const input2 = _ref.value;
			const formatterValue = props.formatter ? props.formatter(nativeInputValue.value) : nativeInputValue.value;
			if (!input2 || input2.value === formatterValue) return;
			input2.value = formatterValue;
		};
		const handleInput = async (event) => {
			recordCursor();
			let { value } = event.target;
			if (props.formatter) value = props.parser ? props.parser(value) : value;
			if (isComposing.value) return;
			if (value === nativeInputValue.value) {
				setNativeInputValue();
				return;
			}
			emit(UPDATE_MODEL_EVENT, value);
			emit("input", value);
			await nextTick();
			setNativeInputValue();
			setCursor();
		};
		const handleChange = (event) => {
			emit("change", event.target.value);
		};
		const handleCompositionStart = (event) => {
			emit("compositionstart", event);
			isComposing.value = true;
		};
		const handleCompositionUpdate = (event) => {
			var _a$1;
			emit("compositionupdate", event);
			const text = (_a$1 = event.target) == null ? void 0 : _a$1.value;
			isComposing.value = !isKorean(text[text.length - 1] || "");
		};
		const handleCompositionEnd = (event) => {
			emit("compositionend", event);
			if (isComposing.value) {
				isComposing.value = false;
				handleInput(event);
			}
		};
		const handlePasswordVisible = () => {
			passwordVisible.value = !passwordVisible.value;
			focus();
		};
		const focus = async () => {
			var _a$1;
			await nextTick();
			(_a$1 = _ref.value) == null || _a$1.focus();
		};
		const blur = () => {
			var _a$1;
			return (_a$1 = _ref.value) == null ? void 0 : _a$1.blur();
		};
		const handleMouseLeave = (evt) => {
			hovering.value = false;
			emit("mouseleave", evt);
		};
		const handleMouseEnter = (evt) => {
			hovering.value = true;
			emit("mouseenter", evt);
		};
		const handleKeydown = (evt) => {
			emit("keydown", evt);
		};
		const select = () => {
			var _a$1;
			(_a$1 = _ref.value) == null || _a$1.select();
		};
		const clear = () => {
			emit(UPDATE_MODEL_EVENT, "");
			emit("change", "");
			emit("clear");
			emit("input", "");
		};
		watch(() => props.modelValue, () => {
			var _a$1;
			nextTick(() => resizeTextarea());
			if (props.validateEvent) (_a$1 = formItem == null ? void 0 : formItem.validate) == null || _a$1.call(formItem, "change").catch((err) => debugWarn(err));
		});
		watch(nativeInputValue, () => setNativeInputValue());
		watch(() => props.type, async () => {
			await nextTick();
			setNativeInputValue();
			resizeTextarea();
		});
		onMounted(() => {
			if (!props.formatter && props.parser) debugWarn("ElInput", "If you set the parser, you also need to set the formatter.");
			setNativeInputValue();
			nextTick(resizeTextarea);
		});
		expose({
			input,
			textarea,
			ref: _ref,
			textareaStyle,
			autosize: toRef(props, "autosize"),
			focus,
			blur,
			select,
			clear,
			resizeTextarea
		});
		return (_ctx, _cache) => {
			return withDirectives((openBlock(), createElementBlock("div", mergeProps(unref(containerAttrs), {
				class: unref(containerKls),
				style: unref(containerStyle),
				role: _ctx.containerRole,
				onMouseenter: handleMouseEnter,
				onMouseleave: handleMouseLeave
			}), [createCommentVNode(" input "), _ctx.type !== "textarea" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
				createCommentVNode(" prepend slot "),
				_ctx.$slots.prepend ? (openBlock(), createElementBlock("div", {
					key: 0,
					class: normalizeClass(unref(nsInput).be("group", "prepend"))
				}, [renderSlot(_ctx.$slots, "prepend")], 2)) : createCommentVNode("v-if", true),
				createBaseVNode("div", {
					ref_key: "wrapperRef",
					ref: wrapperRef,
					class: normalizeClass(unref(wrapperKls))
				}, [
					createCommentVNode(" prefix slot "),
					_ctx.$slots.prefix || _ctx.prefixIcon ? (openBlock(), createElementBlock("span", {
						key: 0,
						class: normalizeClass(unref(nsInput).e("prefix"))
					}, [createBaseVNode("span", { class: normalizeClass(unref(nsInput).e("prefix-inner")) }, [renderSlot(_ctx.$slots, "prefix"), _ctx.prefixIcon ? (openBlock(), createBlock(unref(ElIcon), {
						key: 0,
						class: normalizeClass(unref(nsInput).e("icon"))
					}, {
						default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.prefixIcon)))]),
						_: 1
					}, 8, ["class"])) : createCommentVNode("v-if", true)], 2)], 2)) : createCommentVNode("v-if", true),
					createBaseVNode("input", mergeProps({
						id: unref(inputId),
						ref_key: "input",
						ref: input,
						class: unref(nsInput).e("inner")
					}, unref(attrs), {
						type: _ctx.showPassword ? passwordVisible.value ? "text" : "password" : _ctx.type,
						disabled: unref(inputDisabled),
						formatter: _ctx.formatter,
						parser: _ctx.parser,
						readonly: _ctx.readonly,
						autocomplete: _ctx.autocomplete,
						tabindex: _ctx.tabindex,
						"aria-label": _ctx.label,
						placeholder: _ctx.placeholder,
						style: _ctx.inputStyle,
						form: props.form,
						autofocus: props.autofocus,
						onCompositionstart: handleCompositionStart,
						onCompositionupdate: handleCompositionUpdate,
						onCompositionend: handleCompositionEnd,
						onInput: handleInput,
						onFocus: _cache[0] || (_cache[0] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)),
						onBlur: _cache[1] || (_cache[1] = (...args) => unref(handleBlur) && unref(handleBlur)(...args)),
						onChange: handleChange,
						onKeydown: handleKeydown
					}), null, 16, _hoisted_2),
					createCommentVNode(" suffix slot "),
					unref(suffixVisible) ? (openBlock(), createElementBlock("span", {
						key: 1,
						class: normalizeClass(unref(nsInput).e("suffix"))
					}, [createBaseVNode("span", { class: normalizeClass(unref(nsInput).e("suffix-inner")) }, [
						!unref(showClear) || !unref(showPwdVisible) || !unref(isWordLimitVisible) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [renderSlot(_ctx.$slots, "suffix"), _ctx.suffixIcon ? (openBlock(), createBlock(unref(ElIcon), {
							key: 0,
							class: normalizeClass(unref(nsInput).e("icon"))
						}, {
							default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.suffixIcon)))]),
							_: 1
						}, 8, ["class"])) : createCommentVNode("v-if", true)], 64)) : createCommentVNode("v-if", true),
						unref(showClear) ? (openBlock(), createBlock(unref(ElIcon), {
							key: 1,
							class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("clear")]),
							onMousedown: withModifiers(unref(NOOP), ["prevent"]),
							onClick: clear
						}, {
							default: withCtx(() => [createVNode(unref(circle_close_default))]),
							_: 1
						}, 8, ["class", "onMousedown"])) : createCommentVNode("v-if", true),
						unref(showPwdVisible) ? (openBlock(), createBlock(unref(ElIcon), {
							key: 2,
							class: normalizeClass([unref(nsInput).e("icon"), unref(nsInput).e("password")]),
							onClick: handlePasswordVisible
						}, {
							default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(passwordIcon))))]),
							_: 1
						}, 8, ["class"])) : createCommentVNode("v-if", true),
						unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
							key: 3,
							class: normalizeClass(unref(nsInput).e("count"))
						}, [createBaseVNode("span", { class: normalizeClass(unref(nsInput).e("count-inner")) }, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 3)], 2)) : createCommentVNode("v-if", true),
						unref(validateState) && unref(validateIcon) && unref(needStatusIcon) ? (openBlock(), createBlock(unref(ElIcon), {
							key: 4,
							class: normalizeClass([
								unref(nsInput).e("icon"),
								unref(nsInput).e("validateIcon"),
								unref(nsInput).is("loading", unref(validateState) === "validating")
							])
						}, {
							default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(validateIcon))))]),
							_: 1
						}, 8, ["class"])) : createCommentVNode("v-if", true)
					], 2)], 2)) : createCommentVNode("v-if", true)
				], 2),
				createCommentVNode(" append slot "),
				_ctx.$slots.append ? (openBlock(), createElementBlock("div", {
					key: 1,
					class: normalizeClass(unref(nsInput).be("group", "append"))
				}, [renderSlot(_ctx.$slots, "append")], 2)) : createCommentVNode("v-if", true)
			], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
				createCommentVNode(" textarea "),
				createBaseVNode("textarea", mergeProps({
					id: unref(inputId),
					ref_key: "textarea",
					ref: textarea,
					class: unref(nsTextarea).e("inner")
				}, unref(attrs), {
					tabindex: _ctx.tabindex,
					disabled: unref(inputDisabled),
					readonly: _ctx.readonly,
					autocomplete: _ctx.autocomplete,
					style: unref(textareaStyle),
					"aria-label": _ctx.label,
					placeholder: _ctx.placeholder,
					form: props.form,
					autofocus: props.autofocus,
					onCompositionstart: handleCompositionStart,
					onCompositionupdate: handleCompositionUpdate,
					onCompositionend: handleCompositionEnd,
					onInput: handleInput,
					onFocus: _cache[2] || (_cache[2] = (...args) => unref(handleFocus) && unref(handleFocus)(...args)),
					onBlur: _cache[3] || (_cache[3] = (...args) => unref(handleBlur) && unref(handleBlur)(...args)),
					onChange: handleChange,
					onKeydown: handleKeydown
				}), null, 16, _hoisted_3),
				unref(isWordLimitVisible) ? (openBlock(), createElementBlock("span", {
					key: 0,
					style: normalizeStyle(countStyle.value),
					class: normalizeClass(unref(nsInput).e("count"))
				}, toDisplayString(unref(textLength)) + " / " + toDisplayString(unref(attrs).maxlength), 7)) : createCommentVNode("v-if", true)
			], 64))], 16, _hoisted_1)), [[vShow, _ctx.type !== "hidden"]]);
		};
	}
}), [["__file", "/home/runner/work/element-plus/element-plus/packages/components/input/src/input.vue"]]));
var FOCUS_AFTER_TRAPPED = "focus-trap.focus-after-trapped";
var FOCUS_AFTER_RELEASED = "focus-trap.focus-after-released";
var FOCUSOUT_PREVENTED = "focus-trap.focusout-prevented";
var FOCUS_AFTER_TRAPPED_OPTS = {
	cancelable: true,
	bubbles: false
};
var FOCUSOUT_PREVENTED_OPTS = {
	cancelable: true,
	bubbles: false
};
var ON_TRAP_FOCUS_EVT = "focusAfterTrapped";
var ON_RELEASE_FOCUS_EVT = "focusAfterReleased";
var FOCUS_TRAP_INJECTION_KEY = Symbol("elFocusTrap");
var focusReason = ref();
var lastUserFocusTimestamp = ref(0);
var lastAutomatedFocusTimestamp = ref(0);
var focusReasonUserCount = 0;
var obtainAllFocusableElements = (element) => {
	const nodes = [];
	const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, { acceptNode: (node) => {
		const isHiddenInput = node.tagName === "INPUT" && node.type === "hidden";
		if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;
		return node.tabIndex >= 0 || node === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
	} });
	while (walker.nextNode()) nodes.push(walker.currentNode);
	return nodes;
};
var getVisibleElement = (elements, container) => {
	for (const element of elements) if (!isHidden(element, container)) return element;
};
var isHidden = (element, container) => {
	if (getComputedStyle(element).visibility === "hidden") return true;
	while (element) {
		if (container && element === container) return false;
		if (getComputedStyle(element).display === "none") return true;
		element = element.parentElement;
	}
	return false;
};
var getEdges = (container) => {
	const focusable = obtainAllFocusableElements(container);
	return [getVisibleElement(focusable, container), getVisibleElement(focusable.reverse(), container)];
};
var isSelectable = (element) => {
	return element instanceof HTMLInputElement && "select" in element;
};
var tryFocus = (element, shouldSelect) => {
	if (element && element.focus) {
		const prevFocusedElement = document.activeElement;
		element.focus({ preventScroll: true });
		lastAutomatedFocusTimestamp.value = window.performance.now();
		if (element !== prevFocusedElement && isSelectable(element) && shouldSelect) element.select();
	}
};
function removeFromStack(list, item) {
	const copy = [...list];
	const idx = list.indexOf(item);
	if (idx !== -1) copy.splice(idx, 1);
	return copy;
}
var createFocusableStack = () => {
	let stack = [];
	const push = (layer) => {
		const currentLayer = stack[0];
		if (currentLayer && layer !== currentLayer) currentLayer.pause();
		stack = removeFromStack(stack, layer);
		stack.unshift(layer);
	};
	const remove = (layer) => {
		var _a$1, _b;
		stack = removeFromStack(stack, layer);
		(_b = (_a$1 = stack[0]) == null ? void 0 : _a$1.resume) == null || _b.call(_a$1);
	};
	return {
		push,
		remove
	};
};
var focusFirstDescendant = (elements, shouldSelect = false) => {
	const prevFocusedElement = document.activeElement;
	for (const element of elements) {
		tryFocus(element, shouldSelect);
		if (document.activeElement !== prevFocusedElement) return;
	}
};
var focusableStack = createFocusableStack();
var isFocusCausedByUserEvent = () => {
	return lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value;
};
var notifyFocusReasonPointer = () => {
	focusReason.value = "pointer";
	lastUserFocusTimestamp.value = window.performance.now();
};
var notifyFocusReasonKeydown = () => {
	focusReason.value = "keyboard";
	lastUserFocusTimestamp.value = window.performance.now();
};
var useFocusReason = () => {
	onMounted(() => {
		if (focusReasonUserCount === 0) {
			document.addEventListener("mousedown", notifyFocusReasonPointer);
			document.addEventListener("touchstart", notifyFocusReasonPointer);
			document.addEventListener("keydown", notifyFocusReasonKeydown);
		}
		focusReasonUserCount++;
	});
	onBeforeUnmount(() => {
		focusReasonUserCount--;
		if (focusReasonUserCount <= 0) {
			document.removeEventListener("mousedown", notifyFocusReasonPointer);
			document.removeEventListener("touchstart", notifyFocusReasonPointer);
			document.removeEventListener("keydown", notifyFocusReasonKeydown);
		}
	});
	return {
		focusReason,
		lastUserFocusTimestamp,
		lastAutomatedFocusTimestamp
	};
};
var createFocusOutPreventedEvent = (detail) => {
	return new CustomEvent(FOCUSOUT_PREVENTED, {
		...FOCUSOUT_PREVENTED_OPTS,
		detail
	});
};
init_shared_esm_bundler();
var _sfc_main = defineComponent({
	name: "ElFocusTrap",
	inheritAttrs: false,
	props: {
		loop: Boolean,
		trapped: Boolean,
		focusTrapEl: Object,
		focusStartEl: {
			type: [Object, String],
			default: "first"
		}
	},
	emits: [
		ON_TRAP_FOCUS_EVT,
		ON_RELEASE_FOCUS_EVT,
		"focusin",
		"focusout",
		"focusout-prevented",
		"release-requested"
	],
	setup(props, { emit }) {
		const forwardRef = ref();
		let lastFocusBeforeTrapped;
		let lastFocusAfterTrapped;
		const { focusReason: focusReason$1 } = useFocusReason();
		useEscapeKeydown((event) => {
			if (props.trapped && !focusLayer.paused) emit("release-requested", event);
		});
		const focusLayer = {
			paused: false,
			pause() {
				this.paused = true;
			},
			resume() {
				this.paused = false;
			}
		};
		const onKeydown = (e) => {
			if (!props.loop && !props.trapped) return;
			if (focusLayer.paused) return;
			const { key, altKey, ctrlKey, metaKey, currentTarget, shiftKey } = e;
			const { loop } = props;
			const isTabbing = key === EVENT_CODE.tab && !altKey && !ctrlKey && !metaKey;
			const currentFocusingEl = document.activeElement;
			if (isTabbing && currentFocusingEl) {
				const container = currentTarget;
				const [first, last] = getEdges(container);
				if (!(first && last)) {
					if (currentFocusingEl === container) {
						const focusoutPreventedEvent = createFocusOutPreventedEvent({ focusReason: focusReason$1.value });
						emit("focusout-prevented", focusoutPreventedEvent);
						if (!focusoutPreventedEvent.defaultPrevented) e.preventDefault();
					}
				} else if (!shiftKey && currentFocusingEl === last) {
					const focusoutPreventedEvent = createFocusOutPreventedEvent({ focusReason: focusReason$1.value });
					emit("focusout-prevented", focusoutPreventedEvent);
					if (!focusoutPreventedEvent.defaultPrevented) {
						e.preventDefault();
						if (loop) tryFocus(first, true);
					}
				} else if (shiftKey && [first, container].includes(currentFocusingEl)) {
					const focusoutPreventedEvent = createFocusOutPreventedEvent({ focusReason: focusReason$1.value });
					emit("focusout-prevented", focusoutPreventedEvent);
					if (!focusoutPreventedEvent.defaultPrevented) {
						e.preventDefault();
						if (loop) tryFocus(last, true);
					}
				}
			}
		};
		provide(FOCUS_TRAP_INJECTION_KEY, {
			focusTrapRef: forwardRef,
			onKeydown
		});
		watch(() => props.focusTrapEl, (focusTrapEl) => {
			if (focusTrapEl) forwardRef.value = focusTrapEl;
		}, { immediate: true });
		watch([forwardRef], ([forwardRef2], [oldForwardRef]) => {
			if (forwardRef2) {
				forwardRef2.addEventListener("keydown", onKeydown);
				forwardRef2.addEventListener("focusin", onFocusIn);
				forwardRef2.addEventListener("focusout", onFocusOut);
			}
			if (oldForwardRef) {
				oldForwardRef.removeEventListener("keydown", onKeydown);
				oldForwardRef.removeEventListener("focusin", onFocusIn);
				oldForwardRef.removeEventListener("focusout", onFocusOut);
			}
		});
		const trapOnFocus = (e) => {
			emit(ON_TRAP_FOCUS_EVT, e);
		};
		const releaseOnFocus = (e) => emit(ON_RELEASE_FOCUS_EVT, e);
		const onFocusIn = (e) => {
			const trapContainer = unref(forwardRef);
			if (!trapContainer) return;
			const target = e.target;
			const relatedTarget = e.relatedTarget;
			const isFocusedInTrap = target && trapContainer.contains(target);
			if (!props.trapped) {
				if (!(relatedTarget && trapContainer.contains(relatedTarget))) lastFocusBeforeTrapped = relatedTarget;
			}
			if (isFocusedInTrap) emit("focusin", e);
			if (focusLayer.paused) return;
			if (props.trapped) if (isFocusedInTrap) lastFocusAfterTrapped = target;
			else tryFocus(lastFocusAfterTrapped, true);
		};
		const onFocusOut = (e) => {
			const trapContainer = unref(forwardRef);
			if (focusLayer.paused || !trapContainer) return;
			if (props.trapped) {
				const relatedTarget = e.relatedTarget;
				if (!isNil_default(relatedTarget) && !trapContainer.contains(relatedTarget)) setTimeout(() => {
					if (!focusLayer.paused && props.trapped) {
						const focusoutPreventedEvent = createFocusOutPreventedEvent({ focusReason: focusReason$1.value });
						emit("focusout-prevented", focusoutPreventedEvent);
						if (!focusoutPreventedEvent.defaultPrevented) tryFocus(lastFocusAfterTrapped, true);
					}
				}, 0);
			} else {
				const target = e.target;
				if (!(target && trapContainer.contains(target))) emit("focusout", e);
			}
		};
		async function startTrap() {
			await nextTick();
			const trapContainer = unref(forwardRef);
			if (trapContainer) {
				focusableStack.push(focusLayer);
				const prevFocusedElement = trapContainer.contains(document.activeElement) ? lastFocusBeforeTrapped : document.activeElement;
				lastFocusBeforeTrapped = prevFocusedElement;
				if (!trapContainer.contains(prevFocusedElement)) {
					const focusEvent = new Event(FOCUS_AFTER_TRAPPED, FOCUS_AFTER_TRAPPED_OPTS);
					trapContainer.addEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);
					trapContainer.dispatchEvent(focusEvent);
					if (!focusEvent.defaultPrevented) nextTick(() => {
						let focusStartEl = props.focusStartEl;
						if (!isString(focusStartEl)) {
							tryFocus(focusStartEl);
							if (document.activeElement !== focusStartEl) focusStartEl = "first";
						}
						if (focusStartEl === "first") focusFirstDescendant(obtainAllFocusableElements(trapContainer), true);
						if (document.activeElement === prevFocusedElement || focusStartEl === "container") tryFocus(trapContainer);
					});
				}
			}
		}
		function stopTrap() {
			const trapContainer = unref(forwardRef);
			if (trapContainer) {
				trapContainer.removeEventListener(FOCUS_AFTER_TRAPPED, trapOnFocus);
				const releasedEvent = new CustomEvent(FOCUS_AFTER_RELEASED, {
					...FOCUS_AFTER_TRAPPED_OPTS,
					detail: { focusReason: focusReason$1.value }
				});
				trapContainer.addEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);
				trapContainer.dispatchEvent(releasedEvent);
				if (!releasedEvent.defaultPrevented && (focusReason$1.value == "keyboard" || !isFocusCausedByUserEvent() || trapContainer.contains(document.activeElement))) tryFocus(lastFocusBeforeTrapped != null ? lastFocusBeforeTrapped : document.body);
				trapContainer.removeEventListener(FOCUS_AFTER_RELEASED, releaseOnFocus);
				focusableStack.remove(focusLayer);
			}
		}
		onMounted(() => {
			if (props.trapped) startTrap();
			watch(() => props.trapped, (trapped) => {
				if (trapped) startTrap();
				else stopTrap();
			});
		});
		onBeforeUnmount(() => {
			if (props.trapped) stopTrap();
		});
		return { onKeydown };
	}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
	return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
}
var ElFocusTrap = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);
var buttonGroupContextKey = Symbol("buttonGroupContextKey");
var useButton = (props, emit) => {
	useDeprecated({
		from: "type.text",
		replacement: "link",
		version: "3.0.0",
		scope: "props",
		ref: "https://element-plus.org/en-US/component/button.html#button-attributes"
	}, computed(() => props.type === "text"));
	const buttonGroupContext = inject(buttonGroupContextKey, void 0);
	const globalConfig$1 = useGlobalConfig("button");
	const { form } = useFormItem();
	const _size = useFormSize(computed(() => buttonGroupContext == null ? void 0 : buttonGroupContext.size));
	const _disabled = useFormDisabled();
	const _ref = ref();
	const slots = useSlots();
	const _type = computed(() => props.type || (buttonGroupContext == null ? void 0 : buttonGroupContext.type) || "");
	const autoInsertSpace = computed(() => {
		var _a$1, _b, _c;
		return (_c = (_b = props.autoInsertSpace) != null ? _b : (_a$1 = globalConfig$1.value) == null ? void 0 : _a$1.autoInsertSpace) != null ? _c : false;
	});
	const _props = computed(() => {
		if (props.tag === "button") return {
			ariaDisabled: _disabled.value || props.loading,
			disabled: _disabled.value || props.loading,
			autofocus: props.autofocus,
			type: props.nativeType
		};
		return {};
	});
	const shouldAddSpace = computed(() => {
		var _a$1;
		const defaultSlot = (_a$1 = slots.default) == null ? void 0 : _a$1.call(slots);
		if (autoInsertSpace.value && (defaultSlot == null ? void 0 : defaultSlot.length) === 1) {
			const slot = defaultSlot[0];
			if ((slot == null ? void 0 : slot.type) === Text) {
				const text = slot.children;
				return /^\p{Unified_Ideograph}{2}$/u.test(text.trim());
			}
		}
		return false;
	});
	const handleClick = (evt) => {
		if (props.nativeType === "reset") form?.resetFields();
		emit("click", evt);
	};
	return {
		_disabled,
		_size,
		_type,
		_ref,
		_props,
		shouldAddSpace,
		handleClick
	};
};
var buttonProps = buildProps({
	size: useSizeProp,
	disabled: Boolean,
	type: {
		type: String,
		values: [
			"default",
			"primary",
			"success",
			"warning",
			"info",
			"danger",
			"text",
			""
		],
		default: ""
	},
	icon: { type: iconPropType },
	nativeType: {
		type: String,
		values: [
			"button",
			"submit",
			"reset"
		],
		default: "button"
	},
	loading: Boolean,
	loadingIcon: {
		type: iconPropType,
		default: () => loading_default
	},
	plain: Boolean,
	text: Boolean,
	link: Boolean,
	bg: Boolean,
	autofocus: Boolean,
	round: Boolean,
	circle: Boolean,
	color: String,
	dark: Boolean,
	autoInsertSpace: {
		type: Boolean,
		default: void 0
	},
	tag: {
		type: definePropType([String, Object]),
		default: "button"
	}
});
var buttonEmits = { click: (evt) => evt instanceof MouseEvent };
function bound01(n, max) {
	if (isOnePointZero(n)) n = "100%";
	var isPercent = isPercentage(n);
	n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));
	if (isPercent) n = parseInt(String(n * max), 10) / 100;
	if (Math.abs(n - max) < 1e-6) return 1;
	if (max === 360) n = (n < 0 ? n % max + max : n % max) / parseFloat(String(max));
	else n = n % max / parseFloat(String(max));
	return n;
}
function clamp01(val) {
	return Math.min(1, Math.max(0, val));
}
function isOnePointZero(n) {
	return typeof n === "string" && n.indexOf(".") !== -1 && parseFloat(n) === 1;
}
function isPercentage(n) {
	return typeof n === "string" && n.indexOf("%") !== -1;
}
function boundAlpha(a) {
	a = parseFloat(a);
	if (isNaN(a) || a < 0 || a > 1) a = 1;
	return a;
}
function convertToPercentage(n) {
	if (n <= 1) return "".concat(Number(n) * 100, "%");
	return n;
}
function pad2(c) {
	return c.length === 1 ? "0" + c : String(c);
}
function rgbToRgb(r, g, b) {
	return {
		r: bound01(r, 255) * 255,
		g: bound01(g, 255) * 255,
		b: bound01(b, 255) * 255
	};
}
function rgbToHsl(r, g, b) {
	r = bound01(r, 255);
	g = bound01(g, 255);
	b = bound01(b, 255);
	var max = Math.max(r, g, b);
	var min = Math.min(r, g, b);
	var h$1 = 0;
	var s = 0;
	var l = (max + min) / 2;
	if (max === min) {
		s = 0;
		h$1 = 0;
	} else {
		var d = max - min;
		s = l > .5 ? d / (2 - max - min) : d / (max + min);
		switch (max) {
			case r:
				h$1 = (g - b) / d + (g < b ? 6 : 0);
				break;
			case g:
				h$1 = (b - r) / d + 2;
				break;
			case b:
				h$1 = (r - g) / d + 4;
				break;
			default: break;
		}
		h$1 /= 6;
	}
	return {
		h: h$1,
		s,
		l
	};
}
function hue2rgb(p, q, t) {
	if (t < 0) t += 1;
	if (t > 1) t -= 1;
	if (t < 1 / 6) return p + (q - p) * (6 * t);
	if (t < 1 / 2) return q;
	if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
	return p;
}
function hslToRgb(h$1, s, l) {
	var r;
	var g;
	var b;
	h$1 = bound01(h$1, 360);
	s = bound01(s, 100);
	l = bound01(l, 100);
	if (s === 0) {
		g = l;
		b = l;
		r = l;
	} else {
		var q = l < .5 ? l * (1 + s) : l + s - l * s;
		var p = 2 * l - q;
		r = hue2rgb(p, q, h$1 + 1 / 3);
		g = hue2rgb(p, q, h$1);
		b = hue2rgb(p, q, h$1 - 1 / 3);
	}
	return {
		r: r * 255,
		g: g * 255,
		b: b * 255
	};
}
function rgbToHsv(r, g, b) {
	r = bound01(r, 255);
	g = bound01(g, 255);
	b = bound01(b, 255);
	var max = Math.max(r, g, b);
	var min = Math.min(r, g, b);
	var h$1 = 0;
	var v = max;
	var d = max - min;
	var s = max === 0 ? 0 : d / max;
	if (max === min) h$1 = 0;
	else {
		switch (max) {
			case r:
				h$1 = (g - b) / d + (g < b ? 6 : 0);
				break;
			case g:
				h$1 = (b - r) / d + 2;
				break;
			case b:
				h$1 = (r - g) / d + 4;
				break;
			default: break;
		}
		h$1 /= 6;
	}
	return {
		h: h$1,
		s,
		v
	};
}
function hsvToRgb(h$1, s, v) {
	h$1 = bound01(h$1, 360) * 6;
	s = bound01(s, 100);
	v = bound01(v, 100);
	var i$1 = Math.floor(h$1);
	var f = h$1 - i$1;
	var p = v * (1 - s);
	var q = v * (1 - f * s);
	var t = v * (1 - (1 - f) * s);
	var mod = i$1 % 6;
	var r = [
		v,
		q,
		p,
		p,
		t,
		v
	][mod];
	var g = [
		t,
		v,
		v,
		q,
		p,
		p
	][mod];
	var b = [
		p,
		p,
		t,
		v,
		v,
		q
	][mod];
	return {
		r: r * 255,
		g: g * 255,
		b: b * 255
	};
}
function rgbToHex(r, g, b, allow3Char) {
	var hex = [
		pad2(Math.round(r).toString(16)),
		pad2(Math.round(g).toString(16)),
		pad2(Math.round(b).toString(16))
	];
	if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);
	return hex.join("");
}
function rgbaToHex(r, g, b, a, allow4Char) {
	var hex = [
		pad2(Math.round(r).toString(16)),
		pad2(Math.round(g).toString(16)),
		pad2(Math.round(b).toString(16)),
		pad2(convertDecimalToHex(a))
	];
	if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);
	return hex.join("");
}
function convertDecimalToHex(d) {
	return Math.round(parseFloat(d) * 255).toString(16);
}
function convertHexToDecimal(h$1) {
	return parseIntFromHex(h$1) / 255;
}
function parseIntFromHex(val) {
	return parseInt(val, 16);
}
function numberInputToObject(color) {
	return {
		r: color >> 16,
		g: (color & 65280) >> 8,
		b: color & 255
	};
}
var names = {
	aliceblue: "#f0f8ff",
	antiquewhite: "#faebd7",
	aqua: "#00ffff",
	aquamarine: "#7fffd4",
	azure: "#f0ffff",
	beige: "#f5f5dc",
	bisque: "#ffe4c4",
	black: "#000000",
	blanchedalmond: "#ffebcd",
	blue: "#0000ff",
	blueviolet: "#8a2be2",
	brown: "#a52a2a",
	burlywood: "#deb887",
	cadetblue: "#5f9ea0",
	chartreuse: "#7fff00",
	chocolate: "#d2691e",
	coral: "#ff7f50",
	cornflowerblue: "#6495ed",
	cornsilk: "#fff8dc",
	crimson: "#dc143c",
	cyan: "#00ffff",
	darkblue: "#00008b",
	darkcyan: "#008b8b",
	darkgoldenrod: "#b8860b",
	darkgray: "#a9a9a9",
	darkgreen: "#006400",
	darkgrey: "#a9a9a9",
	darkkhaki: "#bdb76b",
	darkmagenta: "#8b008b",
	darkolivegreen: "#556b2f",
	darkorange: "#ff8c00",
	darkorchid: "#9932cc",
	darkred: "#8b0000",
	darksalmon: "#e9967a",
	darkseagreen: "#8fbc8f",
	darkslateblue: "#483d8b",
	darkslategray: "#2f4f4f",
	darkslategrey: "#2f4f4f",
	darkturquoise: "#00ced1",
	darkviolet: "#9400d3",
	deeppink: "#ff1493",
	deepskyblue: "#00bfff",
	dimgray: "#696969",
	dimgrey: "#696969",
	dodgerblue: "#1e90ff",
	firebrick: "#b22222",
	floralwhite: "#fffaf0",
	forestgreen: "#228b22",
	fuchsia: "#ff00ff",
	gainsboro: "#dcdcdc",
	ghostwhite: "#f8f8ff",
	goldenrod: "#daa520",
	gold: "#ffd700",
	gray: "#808080",
	green: "#008000",
	greenyellow: "#adff2f",
	grey: "#808080",
	honeydew: "#f0fff0",
	hotpink: "#ff69b4",
	indianred: "#cd5c5c",
	indigo: "#4b0082",
	ivory: "#fffff0",
	khaki: "#f0e68c",
	lavenderblush: "#fff0f5",
	lavender: "#e6e6fa",
	lawngreen: "#7cfc00",
	lemonchiffon: "#fffacd",
	lightblue: "#add8e6",
	lightcoral: "#f08080",
	lightcyan: "#e0ffff",
	lightgoldenrodyellow: "#fafad2",
	lightgray: "#d3d3d3",
	lightgreen: "#90ee90",
	lightgrey: "#d3d3d3",
	lightpink: "#ffb6c1",
	lightsalmon: "#ffa07a",
	lightseagreen: "#20b2aa",
	lightskyblue: "#87cefa",
	lightslategray: "#778899",
	lightslategrey: "#778899",
	lightsteelblue: "#b0c4de",
	lightyellow: "#ffffe0",
	lime: "#00ff00",
	limegreen: "#32cd32",
	linen: "#faf0e6",
	magenta: "#ff00ff",
	maroon: "#800000",
	mediumaquamarine: "#66cdaa",
	mediumblue: "#0000cd",
	mediumorchid: "#ba55d3",
	mediumpurple: "#9370db",
	mediumseagreen: "#3cb371",
	mediumslateblue: "#7b68ee",
	mediumspringgreen: "#00fa9a",
	mediumturquoise: "#48d1cc",
	mediumvioletred: "#c71585",
	midnightblue: "#191970",
	mintcream: "#f5fffa",
	mistyrose: "#ffe4e1",
	moccasin: "#ffe4b5",
	navajowhite: "#ffdead",
	navy: "#000080",
	oldlace: "#fdf5e6",
	olive: "#808000",
	olivedrab: "#6b8e23",
	orange: "#ffa500",
	orangered: "#ff4500",
	orchid: "#da70d6",
	palegoldenrod: "#eee8aa",
	palegreen: "#98fb98",
	paleturquoise: "#afeeee",
	palevioletred: "#db7093",
	papayawhip: "#ffefd5",
	peachpuff: "#ffdab9",
	peru: "#cd853f",
	pink: "#ffc0cb",
	plum: "#dda0dd",
	powderblue: "#b0e0e6",
	purple: "#800080",
	rebeccapurple: "#663399",
	red: "#ff0000",
	rosybrown: "#bc8f8f",
	royalblue: "#4169e1",
	saddlebrown: "#8b4513",
	salmon: "#fa8072",
	sandybrown: "#f4a460",
	seagreen: "#2e8b57",
	seashell: "#fff5ee",
	sienna: "#a0522d",
	silver: "#c0c0c0",
	skyblue: "#87ceeb",
	slateblue: "#6a5acd",
	slategray: "#708090",
	slategrey: "#708090",
	snow: "#fffafa",
	springgreen: "#00ff7f",
	steelblue: "#4682b4",
	tan: "#d2b48c",
	teal: "#008080",
	thistle: "#d8bfd8",
	tomato: "#ff6347",
	turquoise: "#40e0d0",
	violet: "#ee82ee",
	wheat: "#f5deb3",
	white: "#ffffff",
	whitesmoke: "#f5f5f5",
	yellow: "#ffff00",
	yellowgreen: "#9acd32"
};
function inputToRGB(color) {
	var rgb = {
		r: 0,
		g: 0,
		b: 0
	};
	var a = 1;
	var s = null;
	var v = null;
	var l = null;
	var ok = false;
	var format = false;
	if (typeof color === "string") color = stringInputToObject(color);
	if (typeof color === "object") {
		if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
			rgb = rgbToRgb(color.r, color.g, color.b);
			ok = true;
			format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
		} else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
			s = convertToPercentage(color.s);
			v = convertToPercentage(color.v);
			rgb = hsvToRgb(color.h, s, v);
			ok = true;
			format = "hsv";
		} else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
			s = convertToPercentage(color.s);
			l = convertToPercentage(color.l);
			rgb = hslToRgb(color.h, s, l);
			ok = true;
			format = "hsl";
		}
		if (Object.prototype.hasOwnProperty.call(color, "a")) a = color.a;
	}
	a = boundAlpha(a);
	return {
		ok,
		format: color.format || format,
		r: Math.min(255, Math.max(rgb.r, 0)),
		g: Math.min(255, Math.max(rgb.g, 0)),
		b: Math.min(255, Math.max(rgb.b, 0)),
		a
	};
}
var CSS_UNIT = "(?:".concat("[-\\+]?\\d*\\.\\d+%?", ")|(?:").concat("[-\\+]?\\d+%?", ")");
var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
var matchers = {
	CSS_UNIT: new RegExp(CSS_UNIT),
	rgb: /* @__PURE__ */ new RegExp("rgb" + PERMISSIVE_MATCH3),
	rgba: /* @__PURE__ */ new RegExp("rgba" + PERMISSIVE_MATCH4),
	hsl: /* @__PURE__ */ new RegExp("hsl" + PERMISSIVE_MATCH3),
	hsla: /* @__PURE__ */ new RegExp("hsla" + PERMISSIVE_MATCH4),
	hsv: /* @__PURE__ */ new RegExp("hsv" + PERMISSIVE_MATCH3),
	hsva: /* @__PURE__ */ new RegExp("hsva" + PERMISSIVE_MATCH4),
	hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
	hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
	hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
	hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
};
function stringInputToObject(color) {
	color = color.trim().toLowerCase();
	if (color.length === 0) return false;
	var named = false;
	if (names[color]) {
		color = names[color];
		named = true;
	} else if (color === "transparent") return {
		r: 0,
		g: 0,
		b: 0,
		a: 0,
		format: "name"
	};
	var match = matchers.rgb.exec(color);
	if (match) return {
		r: match[1],
		g: match[2],
		b: match[3]
	};
	match = matchers.rgba.exec(color);
	if (match) return {
		r: match[1],
		g: match[2],
		b: match[3],
		a: match[4]
	};
	match = matchers.hsl.exec(color);
	if (match) return {
		h: match[1],
		s: match[2],
		l: match[3]
	};
	match = matchers.hsla.exec(color);
	if (match) return {
		h: match[1],
		s: match[2],
		l: match[3],
		a: match[4]
	};
	match = matchers.hsv.exec(color);
	if (match) return {
		h: match[1],
		s: match[2],
		v: match[3]
	};
	match = matchers.hsva.exec(color);
	if (match) return {
		h: match[1],
		s: match[2],
		v: match[3],
		a: match[4]
	};
	match = matchers.hex8.exec(color);
	if (match) return {
		r: parseIntFromHex(match[1]),
		g: parseIntFromHex(match[2]),
		b: parseIntFromHex(match[3]),
		a: convertHexToDecimal(match[4]),
		format: named ? "name" : "hex8"
	};
	match = matchers.hex6.exec(color);
	if (match) return {
		r: parseIntFromHex(match[1]),
		g: parseIntFromHex(match[2]),
		b: parseIntFromHex(match[3]),
		format: named ? "name" : "hex"
	};
	match = matchers.hex4.exec(color);
	if (match) return {
		r: parseIntFromHex(match[1] + match[1]),
		g: parseIntFromHex(match[2] + match[2]),
		b: parseIntFromHex(match[3] + match[3]),
		a: convertHexToDecimal(match[4] + match[4]),
		format: named ? "name" : "hex8"
	};
	match = matchers.hex3.exec(color);
	if (match) return {
		r: parseIntFromHex(match[1] + match[1]),
		g: parseIntFromHex(match[2] + match[2]),
		b: parseIntFromHex(match[3] + match[3]),
		format: named ? "name" : "hex"
	};
	return false;
}
function isValidCSSUnit(color) {
	return Boolean(matchers.CSS_UNIT.exec(String(color)));
}
var TinyColor = function() {
	function TinyColor$1(color, opts) {
		if (color === void 0) color = "";
		if (opts === void 0) opts = {};
		var _a$1;
		if (color instanceof TinyColor$1) return color;
		if (typeof color === "number") color = numberInputToObject(color);
		this.originalInput = color;
		var rgb = inputToRGB(color);
		this.originalInput = color;
		this.r = rgb.r;
		this.g = rgb.g;
		this.b = rgb.b;
		this.a = rgb.a;
		this.roundA = Math.round(100 * this.a) / 100;
		this.format = (_a$1 = opts.format) !== null && _a$1 !== void 0 ? _a$1 : rgb.format;
		this.gradientType = opts.gradientType;
		if (this.r < 1) this.r = Math.round(this.r);
		if (this.g < 1) this.g = Math.round(this.g);
		if (this.b < 1) this.b = Math.round(this.b);
		this.isValid = rgb.ok;
	}
	TinyColor$1.prototype.isDark = function() {
		return this.getBrightness() < 128;
	};
	TinyColor$1.prototype.isLight = function() {
		return !this.isDark();
	};
	TinyColor$1.prototype.getBrightness = function() {
		var rgb = this.toRgb();
		return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3;
	};
	TinyColor$1.prototype.getLuminance = function() {
		var rgb = this.toRgb();
		var R;
		var G;
		var B;
		var RsRGB = rgb.r / 255;
		var GsRGB = rgb.g / 255;
		var BsRGB = rgb.b / 255;
		if (RsRGB <= .03928) R = RsRGB / 12.92;
		else R = Math.pow((RsRGB + .055) / 1.055, 2.4);
		if (GsRGB <= .03928) G = GsRGB / 12.92;
		else G = Math.pow((GsRGB + .055) / 1.055, 2.4);
		if (BsRGB <= .03928) B = BsRGB / 12.92;
		else B = Math.pow((BsRGB + .055) / 1.055, 2.4);
		return .2126 * R + .7152 * G + .0722 * B;
	};
	TinyColor$1.prototype.getAlpha = function() {
		return this.a;
	};
	TinyColor$1.prototype.setAlpha = function(alpha) {
		this.a = boundAlpha(alpha);
		this.roundA = Math.round(100 * this.a) / 100;
		return this;
	};
	TinyColor$1.prototype.isMonochrome = function() {
		return this.toHsl().s === 0;
	};
	TinyColor$1.prototype.toHsv = function() {
		var hsv = rgbToHsv(this.r, this.g, this.b);
		return {
			h: hsv.h * 360,
			s: hsv.s,
			v: hsv.v,
			a: this.a
		};
	};
	TinyColor$1.prototype.toHsvString = function() {
		var hsv = rgbToHsv(this.r, this.g, this.b);
		var h$1 = Math.round(hsv.h * 360);
		var s = Math.round(hsv.s * 100);
		var v = Math.round(hsv.v * 100);
		return this.a === 1 ? "hsv(".concat(h$1, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h$1, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")");
	};
	TinyColor$1.prototype.toHsl = function() {
		var hsl = rgbToHsl(this.r, this.g, this.b);
		return {
			h: hsl.h * 360,
			s: hsl.s,
			l: hsl.l,
			a: this.a
		};
	};
	TinyColor$1.prototype.toHslString = function() {
		var hsl = rgbToHsl(this.r, this.g, this.b);
		var h$1 = Math.round(hsl.h * 360);
		var s = Math.round(hsl.s * 100);
		var l = Math.round(hsl.l * 100);
		return this.a === 1 ? "hsl(".concat(h$1, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h$1, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")");
	};
	TinyColor$1.prototype.toHex = function(allow3Char) {
		if (allow3Char === void 0) allow3Char = false;
		return rgbToHex(this.r, this.g, this.b, allow3Char);
	};
	TinyColor$1.prototype.toHexString = function(allow3Char) {
		if (allow3Char === void 0) allow3Char = false;
		return "#" + this.toHex(allow3Char);
	};
	TinyColor$1.prototype.toHex8 = function(allow4Char) {
		if (allow4Char === void 0) allow4Char = false;
		return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);
	};
	TinyColor$1.prototype.toHex8String = function(allow4Char) {
		if (allow4Char === void 0) allow4Char = false;
		return "#" + this.toHex8(allow4Char);
	};
	TinyColor$1.prototype.toHexShortString = function(allowShortChar) {
		if (allowShortChar === void 0) allowShortChar = false;
		return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);
	};
	TinyColor$1.prototype.toRgb = function() {
		return {
			r: Math.round(this.r),
			g: Math.round(this.g),
			b: Math.round(this.b),
			a: this.a
		};
	};
	TinyColor$1.prototype.toRgbString = function() {
		var r = Math.round(this.r);
		var g = Math.round(this.g);
		var b = Math.round(this.b);
		return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")");
	};
	TinyColor$1.prototype.toPercentageRgb = function() {
		var fmt = function(x) {
			return "".concat(Math.round(bound01(x, 255) * 100), "%");
		};
		return {
			r: fmt(this.r),
			g: fmt(this.g),
			b: fmt(this.b),
			a: this.a
		};
	};
	TinyColor$1.prototype.toPercentageRgbString = function() {
		var rnd = function(x) {
			return Math.round(bound01(x, 255) * 100);
		};
		return this.a === 1 ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")");
	};
	TinyColor$1.prototype.toName = function() {
		if (this.a === 0) return "transparent";
		if (this.a < 1) return false;
		var hex = "#" + rgbToHex(this.r, this.g, this.b, false);
		for (var _i = 0, _a$1 = Object.entries(names); _i < _a$1.length; _i++) {
			var _b = _a$1[_i], key = _b[0];
			if (hex === _b[1]) return key;
		}
		return false;
	};
	TinyColor$1.prototype.toString = function(format) {
		var formatSet = Boolean(format);
		format = format !== null && format !== void 0 ? format : this.format;
		var formattedString = false;
		var hasAlpha = this.a < 1 && this.a >= 0;
		if (!formatSet && hasAlpha && (format.startsWith("hex") || format === "name")) {
			if (format === "name" && this.a === 0) return this.toName();
			return this.toRgbString();
		}
		if (format === "rgb") formattedString = this.toRgbString();
		if (format === "prgb") formattedString = this.toPercentageRgbString();
		if (format === "hex" || format === "hex6") formattedString = this.toHexString();
		if (format === "hex3") formattedString = this.toHexString(true);
		if (format === "hex4") formattedString = this.toHex8String(true);
		if (format === "hex8") formattedString = this.toHex8String();
		if (format === "name") formattedString = this.toName();
		if (format === "hsl") formattedString = this.toHslString();
		if (format === "hsv") formattedString = this.toHsvString();
		return formattedString || this.toHexString();
	};
	TinyColor$1.prototype.toNumber = function() {
		return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);
	};
	TinyColor$1.prototype.clone = function() {
		return new TinyColor$1(this.toString());
	};
	TinyColor$1.prototype.lighten = function(amount) {
		if (amount === void 0) amount = 10;
		var hsl = this.toHsl();
		hsl.l += amount / 100;
		hsl.l = clamp01(hsl.l);
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.brighten = function(amount) {
		if (amount === void 0) amount = 10;
		var rgb = this.toRgb();
		rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));
		rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));
		rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));
		return new TinyColor$1(rgb);
	};
	TinyColor$1.prototype.darken = function(amount) {
		if (amount === void 0) amount = 10;
		var hsl = this.toHsl();
		hsl.l -= amount / 100;
		hsl.l = clamp01(hsl.l);
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.tint = function(amount) {
		if (amount === void 0) amount = 10;
		return this.mix("white", amount);
	};
	TinyColor$1.prototype.shade = function(amount) {
		if (amount === void 0) amount = 10;
		return this.mix("black", amount);
	};
	TinyColor$1.prototype.desaturate = function(amount) {
		if (amount === void 0) amount = 10;
		var hsl = this.toHsl();
		hsl.s -= amount / 100;
		hsl.s = clamp01(hsl.s);
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.saturate = function(amount) {
		if (amount === void 0) amount = 10;
		var hsl = this.toHsl();
		hsl.s += amount / 100;
		hsl.s = clamp01(hsl.s);
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.greyscale = function() {
		return this.desaturate(100);
	};
	TinyColor$1.prototype.spin = function(amount) {
		var hsl = this.toHsl();
		var hue = (hsl.h + amount) % 360;
		hsl.h = hue < 0 ? 360 + hue : hue;
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.mix = function(color, amount) {
		if (amount === void 0) amount = 50;
		var rgb1 = this.toRgb();
		var rgb2 = new TinyColor$1(color).toRgb();
		var p = amount / 100;
		return new TinyColor$1({
			r: (rgb2.r - rgb1.r) * p + rgb1.r,
			g: (rgb2.g - rgb1.g) * p + rgb1.g,
			b: (rgb2.b - rgb1.b) * p + rgb1.b,
			a: (rgb2.a - rgb1.a) * p + rgb1.a
		});
	};
	TinyColor$1.prototype.analogous = function(results, slices) {
		if (results === void 0) results = 6;
		if (slices === void 0) slices = 30;
		var hsl = this.toHsl();
		var part = 360 / slices;
		var ret = [this];
		for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {
			hsl.h = (hsl.h + part) % 360;
			ret.push(new TinyColor$1(hsl));
		}
		return ret;
	};
	TinyColor$1.prototype.complement = function() {
		var hsl = this.toHsl();
		hsl.h = (hsl.h + 180) % 360;
		return new TinyColor$1(hsl);
	};
	TinyColor$1.prototype.monochromatic = function(results) {
		if (results === void 0) results = 6;
		var hsv = this.toHsv();
		var h$1 = hsv.h;
		var s = hsv.s;
		var v = hsv.v;
		var res = [];
		var modification = 1 / results;
		while (results--) {
			res.push(new TinyColor$1({
				h: h$1,
				s,
				v
			}));
			v = (v + modification) % 1;
		}
		return res;
	};
	TinyColor$1.prototype.splitcomplement = function() {
		var hsl = this.toHsl();
		var h$1 = hsl.h;
		return [
			this,
			new TinyColor$1({
				h: (h$1 + 72) % 360,
				s: hsl.s,
				l: hsl.l
			}),
			new TinyColor$1({
				h: (h$1 + 216) % 360,
				s: hsl.s,
				l: hsl.l
			})
		];
	};
	TinyColor$1.prototype.onBackground = function(background) {
		var fg = this.toRgb();
		var bg = new TinyColor$1(background).toRgb();
		var alpha = fg.a + bg.a * (1 - fg.a);
		return new TinyColor$1({
			r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,
			g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,
			b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,
			a: alpha
		});
	};
	TinyColor$1.prototype.triad = function() {
		return this.polyad(3);
	};
	TinyColor$1.prototype.tetrad = function() {
		return this.polyad(4);
	};
	TinyColor$1.prototype.polyad = function(n) {
		var hsl = this.toHsl();
		var h$1 = hsl.h;
		var result = [this];
		var increment = 360 / n;
		for (var i$1 = 1; i$1 < n; i$1++) result.push(new TinyColor$1({
			h: (h$1 + i$1 * increment) % 360,
			s: hsl.s,
			l: hsl.l
		}));
		return result;
	};
	TinyColor$1.prototype.equals = function(color) {
		return this.toRgbString() === new TinyColor$1(color).toRgbString();
	};
	return TinyColor$1;
}();
function darken(color, amount = 20) {
	return color.mix("#141414", amount).toString();
}
function useButtonCustomStyle(props) {
	const _disabled = useFormDisabled();
	const ns = useNamespace("button");
	return computed(() => {
		let styles = {};
		const buttonColor = props.color;
		if (buttonColor) {
			const color = new TinyColor(buttonColor);
			const activeBgColor = props.dark ? color.tint(20).toString() : darken(color, 20);
			if (props.plain) {
				styles = ns.cssVarBlock({
					"bg-color": props.dark ? darken(color, 90) : color.tint(90).toString(),
					"text-color": buttonColor,
					"border-color": props.dark ? darken(color, 50) : color.tint(50).toString(),
					"hover-text-color": `var(${ns.cssVarName("color-white")})`,
					"hover-bg-color": buttonColor,
					"hover-border-color": buttonColor,
					"active-bg-color": activeBgColor,
					"active-text-color": `var(${ns.cssVarName("color-white")})`,
					"active-border-color": activeBgColor
				});
				if (_disabled.value) {
					styles[ns.cssVarBlockName("disabled-bg-color")] = props.dark ? darken(color, 90) : color.tint(90).toString();
					styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? darken(color, 50) : color.tint(50).toString();
					styles[ns.cssVarBlockName("disabled-border-color")] = props.dark ? darken(color, 80) : color.tint(80).toString();
				}
			} else {
				const hoverBgColor = props.dark ? darken(color, 30) : color.tint(30).toString();
				const textColor = color.isDark() ? `var(${ns.cssVarName("color-white")})` : `var(${ns.cssVarName("color-black")})`;
				styles = ns.cssVarBlock({
					"bg-color": buttonColor,
					"text-color": textColor,
					"border-color": buttonColor,
					"hover-bg-color": hoverBgColor,
					"hover-text-color": textColor,
					"hover-border-color": hoverBgColor,
					"active-bg-color": activeBgColor,
					"active-border-color": activeBgColor
				});
				if (_disabled.value) {
					const disabledButtonColor = props.dark ? darken(color, 50) : color.tint(50).toString();
					styles[ns.cssVarBlockName("disabled-bg-color")] = disabledButtonColor;
					styles[ns.cssVarBlockName("disabled-text-color")] = props.dark ? "rgba(255, 255, 255, 0.5)" : `var(${ns.cssVarName("color-white")})`;
					styles[ns.cssVarBlockName("disabled-border-color")] = disabledButtonColor;
				}
			}
		}
		return styles;
	});
}
var Button = /* @__PURE__ */ _export_sfc(/* @__PURE__ */ defineComponent({
	...defineComponent({ name: "ElButton" }),
	props: buttonProps,
	emits: buttonEmits,
	setup(__props, { expose, emit }) {
		const props = __props;
		const buttonStyle = useButtonCustomStyle(props);
		const ns = useNamespace("button");
		const { _ref, _size, _type, _disabled, _props, shouldAddSpace, handleClick } = useButton(props, emit);
		expose({
			ref: _ref,
			size: _size,
			type: _type,
			disabled: _disabled,
			shouldAddSpace
		});
		return (_ctx, _cache) => {
			return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({
				ref_key: "_ref",
				ref: _ref
			}, unref(_props), {
				class: [
					unref(ns).b(),
					unref(ns).m(unref(_type)),
					unref(ns).m(unref(_size)),
					unref(ns).is("disabled", unref(_disabled)),
					unref(ns).is("loading", _ctx.loading),
					unref(ns).is("plain", _ctx.plain),
					unref(ns).is("round", _ctx.round),
					unref(ns).is("circle", _ctx.circle),
					unref(ns).is("text", _ctx.text),
					unref(ns).is("link", _ctx.link),
					unref(ns).is("has-bg", _ctx.bg)
				],
				style: unref(buttonStyle),
				onClick: unref(handleClick)
			}), {
				default: withCtx(() => [_ctx.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [_ctx.$slots.loading ? renderSlot(_ctx.$slots, "loading", { key: 0 }) : (openBlock(), createBlock(unref(ElIcon), {
					key: 1,
					class: normalizeClass(unref(ns).is("loading"))
				}, {
					default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.loadingIcon)))]),
					_: 1
				}, 8, ["class"]))], 64)) : _ctx.icon || _ctx.$slots.icon ? (openBlock(), createBlock(unref(ElIcon), { key: 1 }, {
					default: withCtx(() => [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), { key: 0 })) : renderSlot(_ctx.$slots, "icon", { key: 1 })]),
					_: 3
				})) : createCommentVNode("v-if", true), _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
					key: 2,
					class: normalizeClass({ [unref(ns).em("text", "expand")]: unref(shouldAddSpace) })
				}, [renderSlot(_ctx.$slots, "default")], 2)) : createCommentVNode("v-if", true)]),
				_: 3
			}, 16, [
				"class",
				"style",
				"onClick"
			]);
		};
	}
}), [["__file", "/home/runner/work/element-plus/element-plus/packages/components/button/src/button.vue"]]);
var buttonGroupProps = {
	size: buttonProps.size,
	type: buttonProps.type
};
var ButtonGroup = /* @__PURE__ */ _export_sfc(/* @__PURE__ */ defineComponent({
	...defineComponent({ name: "ElButtonGroup" }),
	props: buttonGroupProps,
	setup(__props) {
		const props = __props;
		provide(buttonGroupContextKey, reactive({
			size: toRef(props, "size"),
			type: toRef(props, "type")
		}));
		const ns = useNamespace("button");
		return (_ctx, _cache) => {
			return openBlock(), createElementBlock("div", { class: normalizeClass(`${unref(ns).b("group")}`) }, [renderSlot(_ctx.$slots, "default")], 2);
		};
	}
}), [["__file", "/home/runner/work/element-plus/element-plus/packages/components/button/src/button-group.vue"]]);
var ElButton = withInstall(Button, { ButtonGroup });
withNoopInstall(ButtonGroup);
function createEventBus() {
	const handlers$1 = /* @__PURE__ */ new Map();
	return {
		on(eventName, fn) {
			let eventFns = handlers$1.get(eventName);
			if (!eventFns) eventFns = [fn];
			else eventFns.push(fn);
			handlers$1.set(eventName, eventFns);
		},
		once(eventName, fn) {
			const handler = (payload) => {
				this.off(eventName, handler);
				fn(payload);
			};
			this.on(eventName, handler);
		},
		off(eventName, fn) {
			const eventFns = handlers$1.get(eventName);
			if (eventFns) eventFns.splice(eventFns.indexOf(fn) >>> 0, 1);
		},
		emit(eventName, event) {
			const eventFns = handlers$1.get(eventName);
			if (eventFns) eventFns.slice().forEach((handler) => {
				handler(event);
			});
		}
	};
}
var require_default$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
	function getDefaultWhiteList$1() {
		var whiteList = {};
		whiteList["align-content"] = false;
		whiteList["align-items"] = false;
		whiteList["align-self"] = false;
		whiteList["alignment-adjust"] = false;
		whiteList["alignment-baseline"] = false;
		whiteList["all"] = false;
		whiteList["anchor-point"] = false;
		whiteList["animation"] = false;
		whiteList["animation-delay"] = false;
		whiteList["animation-direction"] = false;
		whiteList["animation-duration"] = false;
		whiteList["animation-fill-mode"] = false;
		whiteList["animation-iteration-count"] = false;
		whiteList["animation-name"] = false;
		whiteList["animation-play-state"] = false;
		whiteList["animation-timing-function"] = false;
		whiteList["azimuth"] = false;
		whiteList["backface-visibility"] = false;
		whiteList["background"] = true;
		whiteList["background-attachment"] = true;
		whiteList["background-clip"] = true;
		whiteList["background-color"] = true;
		whiteList["background-image"] = true;
		whiteList["background-origin"] = true;
		whiteList["background-position"] = true;
		whiteList["background-repeat"] = true;
		whiteList["background-size"] = true;
		whiteList["baseline-shift"] = false;
		whiteList["binding"] = false;
		whiteList["bleed"] = false;
		whiteList["bookmark-label"] = false;
		whiteList["bookmark-level"] = false;
		whiteList["bookmark-state"] = false;
		whiteList["border"] = true;
		whiteList["border-bottom"] = true;
		whiteList["border-bottom-color"] = true;
		whiteList["border-bottom-left-radius"] = true;
		whiteList["border-bottom-right-radius"] = true;
		whiteList["border-bottom-style"] = true;
		whiteList["border-bottom-width"] = true;
		whiteList["border-collapse"] = true;
		whiteList["border-color"] = true;
		whiteList["border-image"] = true;
		whiteList["border-image-outset"] = true;
		whiteList["border-image-repeat"] = true;
		whiteList["border-image-slice"] = true;
		whiteList["border-image-source"] = true;
		whiteList["border-image-width"] = true;
		whiteList["border-left"] = true;
		whiteList["border-left-color"] = true;
		whiteList["border-left-style"] = true;
		whiteList["border-left-width"] = true;
		whiteList["border-radius"] = true;
		whiteList["border-right"] = true;
		whiteList["border-right-color"] = true;
		whiteList["border-right-style"] = true;
		whiteList["border-right-width"] = true;
		whiteList["border-spacing"] = true;
		whiteList["border-style"] = true;
		whiteList["border-top"] = true;
		whiteList["border-top-color"] = true;
		whiteList["border-top-left-radius"] = true;
		whiteList["border-top-right-radius"] = true;
		whiteList["border-top-style"] = true;
		whiteList["border-top-width"] = true;
		whiteList["border-width"] = true;
		whiteList["bottom"] = false;
		whiteList["box-decoration-break"] = true;
		whiteList["box-shadow"] = true;
		whiteList["box-sizing"] = true;
		whiteList["box-snap"] = true;
		whiteList["box-suppress"] = true;
		whiteList["break-after"] = true;
		whiteList["break-before"] = true;
		whiteList["break-inside"] = true;
		whiteList["caption-side"] = false;
		whiteList["chains"] = false;
		whiteList["clear"] = true;
		whiteList["clip"] = false;
		whiteList["clip-path"] = false;
		whiteList["clip-rule"] = false;
		whiteList["color"] = true;
		whiteList["color-interpolation-filters"] = true;
		whiteList["column-count"] = false;
		whiteList["column-fill"] = false;
		whiteList["column-gap"] = false;
		whiteList["column-rule"] = false;
		whiteList["column-rule-color"] = false;
		whiteList["column-rule-style"] = false;
		whiteList["column-rule-width"] = false;
		whiteList["column-span"] = false;
		whiteList["column-width"] = false;
		whiteList["columns"] = false;
		whiteList["contain"] = false;
		whiteList["content"] = false;
		whiteList["counter-increment"] = false;
		whiteList["counter-reset"] = false;
		whiteList["counter-set"] = false;
		whiteList["crop"] = false;
		whiteList["cue"] = false;
		whiteList["cue-after"] = false;
		whiteList["cue-before"] = false;
		whiteList["cursor"] = false;
		whiteList["direction"] = false;
		whiteList["display"] = true;
		whiteList["display-inside"] = true;
		whiteList["display-list"] = true;
		whiteList["display-outside"] = true;
		whiteList["dominant-baseline"] = false;
		whiteList["elevation"] = false;
		whiteList["empty-cells"] = false;
		whiteList["filter"] = false;
		whiteList["flex"] = false;
		whiteList["flex-basis"] = false;
		whiteList["flex-direction"] = false;
		whiteList["flex-flow"] = false;
		whiteList["flex-grow"] = false;
		whiteList["flex-shrink"] = false;
		whiteList["flex-wrap"] = false;
		whiteList["float"] = false;
		whiteList["float-offset"] = false;
		whiteList["flood-color"] = false;
		whiteList["flood-opacity"] = false;
		whiteList["flow-from"] = false;
		whiteList["flow-into"] = false;
		whiteList["font"] = true;
		whiteList["font-family"] = true;
		whiteList["font-feature-settings"] = true;
		whiteList["font-kerning"] = true;
		whiteList["font-language-override"] = true;
		whiteList["font-size"] = true;
		whiteList["font-size-adjust"] = true;
		whiteList["font-stretch"] = true;
		whiteList["font-style"] = true;
		whiteList["font-synthesis"] = true;
		whiteList["font-variant"] = true;
		whiteList["font-variant-alternates"] = true;
		whiteList["font-variant-caps"] = true;
		whiteList["font-variant-east-asian"] = true;
		whiteList["font-variant-ligatures"] = true;
		whiteList["font-variant-numeric"] = true;
		whiteList["font-variant-position"] = true;
		whiteList["font-weight"] = true;
		whiteList["grid"] = false;
		whiteList["grid-area"] = false;
		whiteList["grid-auto-columns"] = false;
		whiteList["grid-auto-flow"] = false;
		whiteList["grid-auto-rows"] = false;
		whiteList["grid-column"] = false;
		whiteList["grid-column-end"] = false;
		whiteList["grid-column-start"] = false;
		whiteList["grid-row"] = false;
		whiteList["grid-row-end"] = false;
		whiteList["grid-row-start"] = false;
		whiteList["grid-template"] = false;
		whiteList["grid-template-areas"] = false;
		whiteList["grid-template-columns"] = false;
		whiteList["grid-template-rows"] = false;
		whiteList["hanging-punctuation"] = false;
		whiteList["height"] = true;
		whiteList["hyphens"] = false;
		whiteList["icon"] = false;
		whiteList["image-orientation"] = false;
		whiteList["image-resolution"] = false;
		whiteList["ime-mode"] = false;
		whiteList["initial-letters"] = false;
		whiteList["inline-box-align"] = false;
		whiteList["justify-content"] = false;
		whiteList["justify-items"] = false;
		whiteList["justify-self"] = false;
		whiteList["left"] = false;
		whiteList["letter-spacing"] = true;
		whiteList["lighting-color"] = true;
		whiteList["line-box-contain"] = false;
		whiteList["line-break"] = false;
		whiteList["line-grid"] = false;
		whiteList["line-height"] = false;
		whiteList["line-snap"] = false;
		whiteList["line-stacking"] = false;
		whiteList["line-stacking-ruby"] = false;
		whiteList["line-stacking-shift"] = false;
		whiteList["line-stacking-strategy"] = false;
		whiteList["list-style"] = true;
		whiteList["list-style-image"] = true;
		whiteList["list-style-position"] = true;
		whiteList["list-style-type"] = true;
		whiteList["margin"] = true;
		whiteList["margin-bottom"] = true;
		whiteList["margin-left"] = true;
		whiteList["margin-right"] = true;
		whiteList["margin-top"] = true;
		whiteList["marker-offset"] = false;
		whiteList["marker-side"] = false;
		whiteList["marks"] = false;
		whiteList["mask"] = false;
		whiteList["mask-box"] = false;
		whiteList["mask-box-outset"] = false;
		whiteList["mask-box-repeat"] = false;
		whiteList["mask-box-slice"] = false;
		whiteList["mask-box-source"] = false;
		whiteList["mask-box-width"] = false;
		whiteList["mask-clip"] = false;
		whiteList["mask-image"] = false;
		whiteList["mask-origin"] = false;
		whiteList["mask-position"] = false;
		whiteList["mask-repeat"] = false;
		whiteList["mask-size"] = false;
		whiteList["mask-source-type"] = false;
		whiteList["mask-type"] = false;
		whiteList["max-height"] = true;
		whiteList["max-lines"] = false;
		whiteList["max-width"] = true;
		whiteList["min-height"] = true;
		whiteList["min-width"] = true;
		whiteList["move-to"] = false;
		whiteList["nav-down"] = false;
		whiteList["nav-index"] = false;
		whiteList["nav-left"] = false;
		whiteList["nav-right"] = false;
		whiteList["nav-up"] = false;
		whiteList["object-fit"] = false;
		whiteList["object-position"] = false;
		whiteList["opacity"] = false;
		whiteList["order"] = false;
		whiteList["orphans"] = false;
		whiteList["outline"] = false;
		whiteList["outline-color"] = false;
		whiteList["outline-offset"] = false;
		whiteList["outline-style"] = false;
		whiteList["outline-width"] = false;
		whiteList["overflow"] = false;
		whiteList["overflow-wrap"] = false;
		whiteList["overflow-x"] = false;
		whiteList["overflow-y"] = false;
		whiteList["padding"] = true;
		whiteList["padding-bottom"] = true;
		whiteList["padding-left"] = true;
		whiteList["padding-right"] = true;
		whiteList["padding-top"] = true;
		whiteList["page"] = false;
		whiteList["page-break-after"] = false;
		whiteList["page-break-before"] = false;
		whiteList["page-break-inside"] = false;
		whiteList["page-policy"] = false;
		whiteList["pause"] = false;
		whiteList["pause-after"] = false;
		whiteList["pause-before"] = false;
		whiteList["perspective"] = false;
		whiteList["perspective-origin"] = false;
		whiteList["pitch"] = false;
		whiteList["pitch-range"] = false;
		whiteList["play-during"] = false;
		whiteList["position"] = false;
		whiteList["presentation-level"] = false;
		whiteList["quotes"] = false;
		whiteList["region-fragment"] = false;
		whiteList["resize"] = false;
		whiteList["rest"] = false;
		whiteList["rest-after"] = false;
		whiteList["rest-before"] = false;
		whiteList["richness"] = false;
		whiteList["right"] = false;
		whiteList["rotation"] = false;
		whiteList["rotation-point"] = false;
		whiteList["ruby-align"] = false;
		whiteList["ruby-merge"] = false;
		whiteList["ruby-position"] = false;
		whiteList["shape-image-threshold"] = false;
		whiteList["shape-outside"] = false;
		whiteList["shape-margin"] = false;
		whiteList["size"] = false;
		whiteList["speak"] = false;
		whiteList["speak-as"] = false;
		whiteList["speak-header"] = false;
		whiteList["speak-numeral"] = false;
		whiteList["speak-punctuation"] = false;
		whiteList["speech-rate"] = false;
		whiteList["stress"] = false;
		whiteList["string-set"] = false;
		whiteList["tab-size"] = false;
		whiteList["table-layout"] = false;
		whiteList["text-align"] = true;
		whiteList["text-align-last"] = true;
		whiteList["text-combine-upright"] = true;
		whiteList["text-decoration"] = true;
		whiteList["text-decoration-color"] = true;
		whiteList["text-decoration-line"] = true;
		whiteList["text-decoration-skip"] = true;
		whiteList["text-decoration-style"] = true;
		whiteList["text-emphasis"] = true;
		whiteList["text-emphasis-color"] = true;
		whiteList["text-emphasis-position"] = true;
		whiteList["text-emphasis-style"] = true;
		whiteList["text-height"] = true;
		whiteList["text-indent"] = true;
		whiteList["text-justify"] = true;
		whiteList["text-orientation"] = true;
		whiteList["text-overflow"] = true;
		whiteList["text-shadow"] = true;
		whiteList["text-space-collapse"] = true;
		whiteList["text-transform"] = true;
		whiteList["text-underline-position"] = true;
		whiteList["text-wrap"] = true;
		whiteList["top"] = false;
		whiteList["transform"] = false;
		whiteList["transform-origin"] = false;
		whiteList["transform-style"] = false;
		whiteList["transition"] = false;
		whiteList["transition-delay"] = false;
		whiteList["transition-duration"] = false;
		whiteList["transition-property"] = false;
		whiteList["transition-timing-function"] = false;
		whiteList["unicode-bidi"] = false;
		whiteList["vertical-align"] = false;
		whiteList["visibility"] = false;
		whiteList["voice-balance"] = false;
		whiteList["voice-duration"] = false;
		whiteList["voice-family"] = false;
		whiteList["voice-pitch"] = false;
		whiteList["voice-range"] = false;
		whiteList["voice-rate"] = false;
		whiteList["voice-stress"] = false;
		whiteList["voice-volume"] = false;
		whiteList["volume"] = false;
		whiteList["white-space"] = false;
		whiteList["widows"] = false;
		whiteList["width"] = true;
		whiteList["will-change"] = false;
		whiteList["word-break"] = true;
		whiteList["word-spacing"] = true;
		whiteList["word-wrap"] = true;
		whiteList["wrap-flow"] = false;
		whiteList["wrap-through"] = false;
		whiteList["writing-mode"] = false;
		whiteList["z-index"] = false;
		return whiteList;
	}
	function onAttr(name, value, options) {}
	function onIgnoreAttr(name, value, options) {}
	var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/gim;
	function safeAttrValue$1(name, value) {
		if (REGEXP_URL_JAVASCRIPT.test(value)) return "";
		return value;
	}
	exports.whiteList = getDefaultWhiteList$1();
	exports.getDefaultWhiteList = getDefaultWhiteList$1;
	exports.onAttr = onAttr;
	exports.onIgnoreAttr = onIgnoreAttr;
	exports.safeAttrValue = safeAttrValue$1;
}));
var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		indexOf: function(arr, item) {
			var i$1, j;
			if (Array.prototype.indexOf) return arr.indexOf(item);
			for (i$1 = 0, j = arr.length; i$1 < j; i$1++) if (arr[i$1] === item) return i$1;
			return -1;
		},
		forEach: function(arr, fn, scope) {
			var i$1, j;
			if (Array.prototype.forEach) return arr.forEach(fn, scope);
			for (i$1 = 0, j = arr.length; i$1 < j; i$1++) fn.call(scope, arr[i$1], i$1, arr);
		},
		trim: function(str) {
			if (String.prototype.trim) return str.trim();
			return str.replace(/(^\s*)|(\s*$)/g, "");
		},
		trimRight: function(str) {
			if (String.prototype.trimRight) return str.trimRight();
			return str.replace(/(\s*$)/g, "");
		}
	};
}));
var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var _$3 = require_util$1();
	function parseStyle$1(css, onAttr$1) {
		css = _$3.trimRight(css);
		if (css[css.length - 1] !== ";") css += ";";
		var cssLength = css.length;
		var isParenthesisOpen = false;
		var lastPos = 0;
		var i$1 = 0;
		var retCSS = "";
		function addNewAttr() {
			if (!isParenthesisOpen) {
				var source = _$3.trim(css.slice(lastPos, i$1));
				var j$1 = source.indexOf(":");
				if (j$1 !== -1) {
					var name = _$3.trim(source.slice(0, j$1));
					var value = _$3.trim(source.slice(j$1 + 1));
					if (name) {
						var ret = onAttr$1(lastPos, retCSS.length, name, value, source);
						if (ret) retCSS += ret + "; ";
					}
				}
			}
			lastPos = i$1 + 1;
		}
		for (; i$1 < cssLength; i$1++) {
			var c = css[i$1];
			if (c === "/" && css[i$1 + 1] === "*") {
				var j = css.indexOf("*/", i$1 + 2);
				if (j === -1) break;
				i$1 = j + 1;
				lastPos = i$1 + 1;
				isParenthesisOpen = false;
			} else if (c === "(") isParenthesisOpen = true;
			else if (c === ")") isParenthesisOpen = false;
			else if (c === ";") if (isParenthesisOpen) {} else addNewAttr();
			else if (c === "\n") addNewAttr();
		}
		return _$3.trim(retCSS);
	}
	module.exports = parseStyle$1;
}));
var require_css = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var DEFAULT$3 = require_default$1();
	var parseStyle = require_parser$1();
	require_util$1();
	function isNull$1(obj) {
		return obj === void 0 || obj === null;
	}
	function shallowCopyObject$1(obj) {
		var ret = {};
		for (var i$1 in obj) ret[i$1] = obj[i$1];
		return ret;
	}
	function FilterCSS$3(options) {
		options = shallowCopyObject$1(options || {});
		options.whiteList = options.whiteList || DEFAULT$3.whiteList;
		options.onAttr = options.onAttr || DEFAULT$3.onAttr;
		options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$3.onIgnoreAttr;
		options.safeAttrValue = options.safeAttrValue || DEFAULT$3.safeAttrValue;
		this.options = options;
	}
	FilterCSS$3.prototype.process = function(css) {
		css = css || "";
		css = css.toString();
		if (!css) return "";
		var options = this.options;
		var whiteList = options.whiteList;
		var onAttr$1 = options.onAttr;
		var onIgnoreAttr$1 = options.onIgnoreAttr;
		var safeAttrValue$2 = options.safeAttrValue;
		return parseStyle(css, function(sourcePosition, position, name, value, source) {
			var check = whiteList[name];
			var isWhite = false;
			if (check === true) isWhite = check;
			else if (typeof check === "function") isWhite = check(value);
			else if (check instanceof RegExp) isWhite = check.test(value);
			if (isWhite !== true) isWhite = false;
			value = safeAttrValue$2(name, value);
			if (!value) return;
			var opts = {
				position,
				sourcePosition,
				source,
				isWhite
			};
			if (isWhite) {
				var ret = onAttr$1(name, value, opts);
				if (isNull$1(ret)) return name + ":" + value;
				else return ret;
			} else {
				var ret = onIgnoreAttr$1(name, value, opts);
				if (!isNull$1(ret)) return ret;
			}
		});
	};
	module.exports = FilterCSS$3;
}));
var require_lib$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var DEFAULT$2 = require_default$1();
	var FilterCSS$2 = require_css();
	function filterCSS(html, options) {
		return new FilterCSS$2(options).process(html);
	}
	exports = module.exports = filterCSS;
	exports.FilterCSS = FilterCSS$2;
	for (var i in DEFAULT$2) exports[i] = DEFAULT$2[i];
	if (typeof window !== "undefined") window.filterCSS = module.exports;
}));
var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = {
		indexOf: function(arr, item) {
			var i$1, j;
			if (Array.prototype.indexOf) return arr.indexOf(item);
			for (i$1 = 0, j = arr.length; i$1 < j; i$1++) if (arr[i$1] === item) return i$1;
			return -1;
		},
		forEach: function(arr, fn, scope) {
			var i$1, j;
			if (Array.prototype.forEach) return arr.forEach(fn, scope);
			for (i$1 = 0, j = arr.length; i$1 < j; i$1++) fn.call(scope, arr[i$1], i$1, arr);
		},
		trim: function(str) {
			if (String.prototype.trim) return str.trim();
			return str.replace(/(^\s*)|(\s*$)/g, "");
		},
		spaceIndex: function(str) {
			var match = /\s|\n|\t/.exec(str);
			return match ? match.index : -1;
		}
	};
}));
var require_default = /* @__PURE__ */ __commonJSMin(((exports) => {
	var FilterCSS$1 = require_lib$1().FilterCSS;
	var getDefaultCSSWhiteList = require_lib$1().getDefaultWhiteList;
	var _$2 = require_util();
	function getDefaultWhiteList() {
		return {
			a: [
				"target",
				"href",
				"title"
			],
			abbr: ["title"],
			address: [],
			area: [
				"shape",
				"coords",
				"href",
				"alt"
			],
			article: [],
			aside: [],
			audio: [
				"autoplay",
				"controls",
				"crossorigin",
				"loop",
				"muted",
				"preload",
				"src"
			],
			b: [],
			bdi: ["dir"],
			bdo: ["dir"],
			big: [],
			blockquote: ["cite"],
			br: [],
			caption: [],
			center: [],
			cite: [],
			code: [],
			col: [
				"align",
				"valign",
				"span",
				"width"
			],
			colgroup: [
				"align",
				"valign",
				"span",
				"width"
			],
			dd: [],
			del: ["datetime"],
			details: ["open"],
			div: [],
			dl: [],
			dt: [],
			em: [],
			figcaption: [],
			figure: [],
			font: [
				"color",
				"size",
				"face"
			],
			footer: [],
			h1: [],
			h2: [],
			h3: [],
			h4: [],
			h5: [],
			h6: [],
			header: [],
			hr: [],
			i: [],
			img: [
				"src",
				"alt",
				"title",
				"width",
				"height",
				"loading"
			],
			ins: ["datetime"],
			kbd: [],
			li: [],
			mark: [],
			nav: [],
			ol: [],
			p: [],
			pre: [],
			s: [],
			section: [],
			small: [],
			span: [],
			sub: [],
			summary: [],
			sup: [],
			strong: [],
			strike: [],
			table: [
				"width",
				"border",
				"align",
				"valign"
			],
			tbody: ["align", "valign"],
			td: [
				"width",
				"rowspan",
				"colspan",
				"align",
				"valign"
			],
			tfoot: ["align", "valign"],
			th: [
				"width",
				"rowspan",
				"colspan",
				"align",
				"valign"
			],
			thead: ["align", "valign"],
			tr: [
				"rowspan",
				"align",
				"valign"
			],
			tt: [],
			u: [],
			ul: [],
			video: [
				"autoplay",
				"controls",
				"crossorigin",
				"loop",
				"muted",
				"playsinline",
				"poster",
				"preload",
				"src",
				"height",
				"width"
			]
		};
	}
	var defaultCSSFilter = new FilterCSS$1();
	function onTag(tag, html, options) {}
	function onIgnoreTag(tag, html, options) {}
	function onTagAttr(tag, name, value) {}
	function onIgnoreTagAttr(tag, name, value) {}
	function escapeHtml(html) {
		return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
	}
	function safeAttrValue(tag, name, value, cssFilter) {
		value = friendlyAttrValue(value);
		if (name === "href" || name === "src") {
			value = _$2.trim(value);
			if (value === "#") return "#";
			if (!(value.substr(0, 7) === "http://" || value.substr(0, 8) === "https://" || value.substr(0, 7) === "mailto:" || value.substr(0, 4) === "tel:" || value.substr(0, 11) === "data:image/" || value.substr(0, 6) === "ftp://" || value.substr(0, 2) === "./" || value.substr(0, 3) === "../" || value[0] === "#" || value[0] === "/")) return "";
		} else if (name === "background") {
			REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
			if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) return "";
		} else if (name === "style") {
			REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
			if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) return "";
			REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
			if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
				REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
				if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) return "";
			}
			if (cssFilter !== false) {
				cssFilter = cssFilter || defaultCSSFilter;
				value = cssFilter.process(value);
			}
		}
		value = escapeAttrValue(value);
		return value;
	}
	var REGEXP_LT = /</g;
	var REGEXP_GT = />/g;
	var REGEXP_QUOTE = /"/g;
	var REGEXP_QUOTE_2 = /&quot;/g;
	var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
	var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
	var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
	var REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;
	var REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
	var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
	function escapeQuote(str) {
		return str.replace(REGEXP_QUOTE, "&quot;");
	}
	function unescapeQuote(str) {
		return str.replace(REGEXP_QUOTE_2, "\"");
	}
	function escapeHtmlEntities(str) {
		return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str$1, code) {
			return code[0] === "x" || code[0] === "X" ? String.fromCharCode(parseInt(code.substr(1), 16)) : String.fromCharCode(parseInt(code, 10));
		});
	}
	function escapeDangerHtml5Entities(str) {
		return str.replace(REGEXP_ATTR_VALUE_COLON, ":").replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
	}
	function clearNonPrintableCharacter(str) {
		var str2 = "";
		for (var i$1 = 0, len = str.length; i$1 < len; i$1++) str2 += str.charCodeAt(i$1) < 32 ? " " : str.charAt(i$1);
		return _$2.trim(str2);
	}
	function friendlyAttrValue(str) {
		str = unescapeQuote(str);
		str = escapeHtmlEntities(str);
		str = escapeDangerHtml5Entities(str);
		str = clearNonPrintableCharacter(str);
		return str;
	}
	function escapeAttrValue(str) {
		str = escapeQuote(str);
		str = escapeHtml(str);
		return str;
	}
	function onIgnoreTagStripAll() {
		return "";
	}
	function StripTagBody(tags, next) {
		if (typeof next !== "function") next = function() {};
		var isRemoveAllTag = !Array.isArray(tags);
		function isRemoveTag(tag) {
			if (isRemoveAllTag) return true;
			return _$2.indexOf(tags, tag) !== -1;
		}
		var removeList = [];
		var posStart = false;
		return {
			onIgnoreTag: function(tag, html, options) {
				if (isRemoveTag(tag)) if (options.isClosing) {
					var ret = "[/removed]";
					var end = options.position + ret.length;
					removeList.push([posStart !== false ? posStart : options.position, end]);
					posStart = false;
					return ret;
				} else {
					if (!posStart) posStart = options.position;
					return "[removed]";
				}
				else return next(tag, html, options);
			},
			remove: function(html) {
				var rethtml = "";
				var lastPos = 0;
				_$2.forEach(removeList, function(pos) {
					rethtml += html.slice(lastPos, pos[0]);
					lastPos = pos[1];
				});
				rethtml += html.slice(lastPos);
				return rethtml;
			}
		};
	}
	function stripCommentTag(html) {
		var retHtml = "";
		var lastPos = 0;
		while (lastPos < html.length) {
			var i$1 = html.indexOf("<!--", lastPos);
			if (i$1 === -1) {
				retHtml += html.slice(lastPos);
				break;
			}
			retHtml += html.slice(lastPos, i$1);
			var j = html.indexOf("-->", i$1);
			if (j === -1) break;
			lastPos = j + 3;
		}
		return retHtml;
	}
	function stripBlankChar(html) {
		var chars = html.split("");
		chars = chars.filter(function(char) {
			var c = char.charCodeAt(0);
			if (c === 127) return false;
			if (c <= 31) {
				if (c === 10 || c === 13) return true;
				return false;
			}
			return true;
		});
		return chars.join("");
	}
	exports.whiteList = getDefaultWhiteList();
	exports.getDefaultWhiteList = getDefaultWhiteList;
	exports.onTag = onTag;
	exports.onIgnoreTag = onIgnoreTag;
	exports.onTagAttr = onTagAttr;
	exports.onIgnoreTagAttr = onIgnoreTagAttr;
	exports.safeAttrValue = safeAttrValue;
	exports.escapeHtml = escapeHtml;
	exports.escapeQuote = escapeQuote;
	exports.unescapeQuote = unescapeQuote;
	exports.escapeHtmlEntities = escapeHtmlEntities;
	exports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
	exports.clearNonPrintableCharacter = clearNonPrintableCharacter;
	exports.friendlyAttrValue = friendlyAttrValue;
	exports.escapeAttrValue = escapeAttrValue;
	exports.onIgnoreTagStripAll = onIgnoreTagStripAll;
	exports.StripTagBody = StripTagBody;
	exports.stripCommentTag = stripCommentTag;
	exports.stripBlankChar = stripBlankChar;
	exports.attributeWrapSign = "\"";
	exports.cssFilter = defaultCSSFilter;
	exports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
}));
var require_parser = /* @__PURE__ */ __commonJSMin(((exports) => {
	var _$1 = require_util();
	function getTagName(html) {
		var i$1 = _$1.spaceIndex(html);
		var tagName;
		if (i$1 === -1) tagName = html.slice(1, -1);
		else tagName = html.slice(1, i$1 + 1);
		tagName = _$1.trim(tagName).toLowerCase();
		if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
		if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
		return tagName;
	}
	function isClosing(html) {
		return html.slice(0, 2) === "</";
	}
	function parseTag$1(html, onTag$1, escapeHtml$1) {
		var rethtml = "";
		var lastPos = 0;
		var tagStart = false;
		var quoteStart = false;
		var currentPos = 0;
		var len = html.length;
		var currentTagName = "";
		var currentHtml = "";
		chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
			var c = html.charAt(currentPos);
			if (tagStart === false) {
				if (c === "<") {
					tagStart = currentPos;
					continue;
				}
			} else if (quoteStart === false) {
				if (c === "<") {
					rethtml += escapeHtml$1(html.slice(lastPos, currentPos));
					tagStart = currentPos;
					lastPos = currentPos;
					continue;
				}
				if (c === ">" || currentPos === len - 1) {
					rethtml += escapeHtml$1(html.slice(lastPos, tagStart));
					currentHtml = html.slice(tagStart, currentPos + 1);
					currentTagName = getTagName(currentHtml);
					rethtml += onTag$1(tagStart, rethtml.length, currentTagName, currentHtml, isClosing(currentHtml));
					lastPos = currentPos + 1;
					tagStart = false;
					continue;
				}
				if (c === "\"" || c === "'") {
					var i$1 = 1;
					var ic = html.charAt(currentPos - i$1);
					while (ic.trim() === "" || ic === "=") {
						if (ic === "=") {
							quoteStart = c;
							continue chariterator;
						}
						ic = html.charAt(currentPos - ++i$1);
					}
				}
			} else if (c === quoteStart) {
				quoteStart = false;
				continue;
			}
		}
		if (lastPos < len) rethtml += escapeHtml$1(html.substr(lastPos));
		return rethtml;
	}
	var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\_:.-]/gim;
	function parseAttr$1(html, onAttr$1) {
		var lastPos = 0;
		var lastMarkPos = 0;
		var retAttrs = [];
		var tmpName = false;
		var len = html.length;
		function addAttr(name, value) {
			name = _$1.trim(name);
			name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
			if (name.length < 1) return;
			var ret = onAttr$1(name, value || "");
			if (ret) retAttrs.push(ret);
		}
		for (var i$1 = 0; i$1 < len; i$1++) {
			var c = html.charAt(i$1);
			var v, j;
			if (tmpName === false && c === "=") {
				tmpName = html.slice(lastPos, i$1);
				lastPos = i$1 + 1;
				lastMarkPos = html.charAt(lastPos) === "\"" || html.charAt(lastPos) === "'" ? lastPos : findNextQuotationMark(html, i$1 + 1);
				continue;
			}
			if (tmpName !== false) {
				if (i$1 === lastMarkPos) {
					j = html.indexOf(c, i$1 + 1);
					if (j === -1) break;
					else {
						v = _$1.trim(html.slice(lastMarkPos + 1, j));
						addAttr(tmpName, v);
						tmpName = false;
						i$1 = j;
						lastPos = i$1 + 1;
						continue;
					}
				}
			}
			if (/\s|\n|\t/.test(c)) {
				html = html.replace(/\s|\n|\t/g, " ");
				if (tmpName === false) {
					j = findNextEqual(html, i$1);
					if (j === -1) {
						v = _$1.trim(html.slice(lastPos, i$1));
						addAttr(v);
						tmpName = false;
						lastPos = i$1 + 1;
						continue;
					} else {
						i$1 = j - 1;
						continue;
					}
				} else {
					j = findBeforeEqual(html, i$1 - 1);
					if (j === -1) {
						v = _$1.trim(html.slice(lastPos, i$1));
						v = stripQuoteWrap(v);
						addAttr(tmpName, v);
						tmpName = false;
						lastPos = i$1 + 1;
						continue;
					} else continue;
				}
			}
		}
		if (lastPos < html.length) if (tmpName === false) addAttr(html.slice(lastPos));
		else addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
		return _$1.trim(retAttrs.join(" "));
	}
	function findNextEqual(str, i$1) {
		for (; i$1 < str.length; i$1++) {
			var c = str[i$1];
			if (c === " ") continue;
			if (c === "=") return i$1;
			return -1;
		}
	}
	function findNextQuotationMark(str, i$1) {
		for (; i$1 < str.length; i$1++) {
			var c = str[i$1];
			if (c === " ") continue;
			if (c === "'" || c === "\"") return i$1;
			return -1;
		}
	}
	function findBeforeEqual(str, i$1) {
		for (; i$1 > 0; i$1--) {
			var c = str[i$1];
			if (c === " ") continue;
			if (c === "=") return i$1;
			return -1;
		}
	}
	function isQuoteWrapString(text) {
		if (text[0] === "\"" && text[text.length - 1] === "\"" || text[0] === "'" && text[text.length - 1] === "'") return true;
		else return false;
	}
	function stripQuoteWrap(text) {
		if (isQuoteWrapString(text)) return text.substr(1, text.length - 2);
		else return text;
	}
	exports.parseTag = parseTag$1;
	exports.parseAttr = parseAttr$1;
}));
var require_xss = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var FilterCSS = require_lib$1().FilterCSS;
	var DEFAULT$1 = require_default();
	var parser$1 = require_parser();
	var parseTag = parser$1.parseTag;
	var parseAttr = parser$1.parseAttr;
	var _ = require_util();
	function isNull(obj) {
		return obj === void 0 || obj === null;
	}
	function getAttrs(html) {
		var i$1 = _.spaceIndex(html);
		if (i$1 === -1) return {
			html: "",
			closing: html[html.length - 2] === "/"
		};
		html = _.trim(html.slice(i$1 + 1, -1));
		var isClosing$1 = html[html.length - 1] === "/";
		if (isClosing$1) html = _.trim(html.slice(0, -1));
		return {
			html,
			closing: isClosing$1
		};
	}
	function shallowCopyObject(obj) {
		var ret = {};
		for (var i$1 in obj) ret[i$1] = obj[i$1];
		return ret;
	}
	function keysToLowerCase(obj) {
		var ret = {};
		for (var i$1 in obj) if (Array.isArray(obj[i$1])) ret[i$1.toLowerCase()] = obj[i$1].map(function(item) {
			return item.toLowerCase();
		});
		else ret[i$1.toLowerCase()] = obj[i$1];
		return ret;
	}
	function FilterXSS$1(options) {
		options = shallowCopyObject(options || {});
		if (options.stripIgnoreTag) {
			if (options.onIgnoreTag) console.error("Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time");
			options.onIgnoreTag = DEFAULT$1.onIgnoreTagStripAll;
		}
		if (options.whiteList || options.allowList) options.whiteList = keysToLowerCase(options.whiteList || options.allowList);
		else options.whiteList = DEFAULT$1.whiteList;
		this.attributeWrapSign = options.singleQuotedAttributeValue === true ? "'" : DEFAULT$1.attributeWrapSign;
		options.onTag = options.onTag || DEFAULT$1.onTag;
		options.onTagAttr = options.onTagAttr || DEFAULT$1.onTagAttr;
		options.onIgnoreTag = options.onIgnoreTag || DEFAULT$1.onIgnoreTag;
		options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT$1.onIgnoreTagAttr;
		options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
		options.escapeHtml = options.escapeHtml || DEFAULT$1.escapeHtml;
		this.options = options;
		if (options.css === false) this.cssFilter = false;
		else {
			options.css = options.css || {};
			this.cssFilter = new FilterCSS(options.css);
		}
	}
	FilterXSS$1.prototype.process = function(html) {
		html = html || "";
		html = html.toString();
		if (!html) return "";
		var me = this;
		var options = me.options;
		var whiteList = options.whiteList;
		var onTag$1 = options.onTag;
		var onIgnoreTag$1 = options.onIgnoreTag;
		var onTagAttr$1 = options.onTagAttr;
		var onIgnoreTagAttr$1 = options.onIgnoreTagAttr;
		var safeAttrValue$2 = options.safeAttrValue;
		var escapeHtml$1 = options.escapeHtml;
		var attributeWrapSign = me.attributeWrapSign;
		var cssFilter = me.cssFilter;
		if (options.stripBlankChar) html = DEFAULT$1.stripBlankChar(html);
		if (!options.allowCommentTag) html = DEFAULT$1.stripCommentTag(html);
		var stripIgnoreTagBody = false;
		if (options.stripIgnoreTagBody) {
			stripIgnoreTagBody = DEFAULT$1.StripTagBody(options.stripIgnoreTagBody, onIgnoreTag$1);
			onIgnoreTag$1 = stripIgnoreTagBody.onIgnoreTag;
		}
		var retHtml = parseTag(html, function(sourcePosition, position, tag, html$1, isClosing$1) {
			var info = {
				sourcePosition,
				position,
				isClosing: isClosing$1,
				isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag)
			};
			var ret = onTag$1(tag, html$1, info);
			if (!isNull(ret)) return ret;
			if (info.isWhite) {
				if (info.isClosing) return "</" + tag + ">";
				var attrs = getAttrs(html$1);
				var whiteAttrList = whiteList[tag];
				var attrsHtml = parseAttr(attrs.html, function(name, value) {
					var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
					var ret$1 = onTagAttr$1(tag, name, value, isWhiteAttr);
					if (!isNull(ret$1)) return ret$1;
					if (isWhiteAttr) {
						value = safeAttrValue$2(tag, name, value, cssFilter);
						if (value) return name + "=" + attributeWrapSign + value + attributeWrapSign;
						else return name;
					} else {
						ret$1 = onIgnoreTagAttr$1(tag, name, value, isWhiteAttr);
						if (!isNull(ret$1)) return ret$1;
						return;
					}
				});
				html$1 = "<" + tag;
				if (attrsHtml) html$1 += " " + attrsHtml;
				if (attrs.closing) html$1 += " /";
				html$1 += ">";
				return html$1;
			} else {
				ret = onIgnoreTag$1(tag, html$1, info);
				if (!isNull(ret)) return ret;
				return escapeHtml$1(html$1);
			}
		}, escapeHtml$1);
		if (stripIgnoreTagBody) retHtml = stripIgnoreTagBody.remove(retHtml);
		return retHtml;
	};
	module.exports = FilterXSS$1;
}));
var require_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var DEFAULT = require_default();
	var parser = require_parser();
	var FilterXSS = require_xss();
	function filterXSS(html, options) {
		return new FilterXSS(options).process(html);
	}
	exports = module.exports = filterXSS;
	exports.filterXSS = filterXSS;
	exports.FilterXSS = FilterXSS;
	(function() {
		for (var i$1 in DEFAULT) exports[i$1] = DEFAULT[i$1];
		for (var j in parser) exports[j] = parser[j];
	})();
	if (typeof window !== "undefined") window.filterXSS = module.exports;
	function isWorkerEnv() {
		return typeof self !== "undefined" && typeof DedicatedWorkerGlobalScope !== "undefined" && self instanceof DedicatedWorkerGlobalScope;
	}
	if (isWorkerEnv()) self.filterXSS = module.exports;
}));
function isTaskAbortedMessage(msg) {
	return msg.type === "text" && "aborted" in msg && msg.aborted;
}
function isWorkflowUpdatedMessage(msg) {
	return msg.type === "workflow-updated";
}
function isToolMessage(msg) {
	return msg.type === "tool";
}
function isThinkingGroupMessage(msg) {
	return msg.type === "thinking-group";
}
var isBrowser = typeof document !== "undefined";
function isRouteComponent(component) {
	return typeof component === "object" || "displayName" in component || "props" in component || "__vccOpts" in component;
}
function isESModule(obj) {
	return obj.__esModule || obj[Symbol.toStringTag] === "Module" || obj.default && isRouteComponent(obj.default);
}
var assign = Object.assign;
function applyToParams(fn, params) {
	const newParams = {};
	for (const key in params) {
		const value = params[key];
		newParams[key] = isArray$3(value) ? value.map(fn) : fn(value);
	}
	return newParams;
}
var noop = () => {};
var isArray$3 = Array.isArray;
var HASH_RE = /#/g;
var AMPERSAND_RE = /&/g;
var SLASH_RE = /\//g;
var EQUAL_RE = /=/g;
var IM_RE = /\?/g;
var PLUS_RE = /\+/g;
var ENC_BRACKET_OPEN_RE = /%5B/g;
var ENC_BRACKET_CLOSE_RE = /%5D/g;
var ENC_CARET_RE = /%5E/g;
var ENC_BACKTICK_RE = /%60/g;
var ENC_CURLY_OPEN_RE = /%7B/g;
var ENC_PIPE_RE = /%7C/g;
var ENC_CURLY_CLOSE_RE = /%7D/g;
var ENC_SPACE_RE = /%20/g;
function commonEncode(text) {
	return encodeURI("" + text).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]");
}
function encodeHash(text) {
	return commonEncode(text).replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
}
function encodeQueryValue(text) {
	return commonEncode(text).replace(PLUS_RE, "%2B").replace(ENC_SPACE_RE, "+").replace(HASH_RE, "%23").replace(AMPERSAND_RE, "%26").replace(ENC_BACKTICK_RE, "`").replace(ENC_CURLY_OPEN_RE, "{").replace(ENC_CURLY_CLOSE_RE, "}").replace(ENC_CARET_RE, "^");
}
function encodeQueryKey(text) {
	return encodeQueryValue(text).replace(EQUAL_RE, "%3D");
}
function encodePath(text) {
	return commonEncode(text).replace(HASH_RE, "%23").replace(IM_RE, "%3F");
}
function encodeParam(text) {
	return text == null ? "" : encodePath(text).replace(SLASH_RE, "%2F");
}
function decode(text) {
	try {
		return decodeURIComponent("" + text);
	} catch (err) {}
	return "" + text;
}
var TRAILING_SLASH_RE = /\/$/;
var removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, "");
function parseURL(parseQuery$1, location$1, currentLocation = "/") {
	let path, query = {}, searchString = "", hash = "";
	const hashPos = location$1.indexOf("#");
	let searchPos = location$1.indexOf("?");
	if (hashPos < searchPos && hashPos >= 0) searchPos = -1;
	if (searchPos > -1) {
		path = location$1.slice(0, searchPos);
		searchString = location$1.slice(searchPos + 1, hashPos > -1 ? hashPos : location$1.length);
		query = parseQuery$1(searchString);
	}
	if (hashPos > -1) {
		path = path || location$1.slice(0, hashPos);
		hash = location$1.slice(hashPos, location$1.length);
	}
	path = resolveRelativePath(path != null ? path : location$1, currentLocation);
	return {
		fullPath: path + (searchString && "?") + searchString + hash,
		path,
		query,
		hash: decode(hash)
	};
}
function stringifyURL(stringifyQuery$1, location$1) {
	const query = location$1.query ? stringifyQuery$1(location$1.query) : "";
	return location$1.path + (query && "?") + query + (location$1.hash || "");
}
function stripBase(pathname, base) {
	if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase())) return pathname;
	return pathname.slice(base.length) || "/";
}
function isSameRouteLocation(stringifyQuery$1, a, b) {
	const aLastIndex = a.matched.length - 1;
	const bLastIndex = b.matched.length - 1;
	return aLastIndex > -1 && aLastIndex === bLastIndex && isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) && isSameRouteLocationParams(a.params, b.params) && stringifyQuery$1(a.query) === stringifyQuery$1(b.query) && a.hash === b.hash;
}
function isSameRouteRecord(a, b) {
	return (a.aliasOf || a) === (b.aliasOf || b);
}
function isSameRouteLocationParams(a, b) {
	if (Object.keys(a).length !== Object.keys(b).length) return false;
	for (const key in a) if (!isSameRouteLocationParamsValue(a[key], b[key])) return false;
	return true;
}
function isSameRouteLocationParamsValue(a, b) {
	return isArray$3(a) ? isEquivalentArray(a, b) : isArray$3(b) ? isEquivalentArray(b, a) : a === b;
}
function isEquivalentArray(a, b) {
	return isArray$3(b) ? a.length === b.length && a.every((value, i$1) => value === b[i$1]) : a.length === 1 && a[0] === b;
}
function resolveRelativePath(to, from) {
	if (to.startsWith("/")) return to;
	if (!to) return from;
	const fromSegments = from.split("/");
	const toSegments = to.split("/");
	const lastToSegment = toSegments[toSegments.length - 1];
	if (lastToSegment === ".." || lastToSegment === ".") toSegments.push("");
	let position = fromSegments.length - 1;
	let toPosition;
	let segment;
	for (toPosition = 0; toPosition < toSegments.length; toPosition++) {
		segment = toSegments[toPosition];
		if (segment === ".") continue;
		if (segment === "..") {
			if (position > 1) position--;
		} else break;
	}
	return fromSegments.slice(0, position).join("/") + "/" + toSegments.slice(toPosition).join("/");
}
var START_LOCATION_NORMALIZED = {
	path: "/",
	name: void 0,
	params: {},
	query: {},
	hash: "",
	fullPath: "/",
	matched: [],
	meta: {},
	redirectedFrom: void 0
};
var NavigationType;
(function(NavigationType$1) {
	NavigationType$1["pop"] = "pop";
	NavigationType$1["push"] = "push";
})(NavigationType || (NavigationType = {}));
var NavigationDirection;
(function(NavigationDirection$1) {
	NavigationDirection$1["back"] = "back";
	NavigationDirection$1["forward"] = "forward";
	NavigationDirection$1["unknown"] = "";
})(NavigationDirection || (NavigationDirection = {}));
function normalizeBase(base) {
	if (!base) if (isBrowser) {
		const baseEl = document.querySelector("base");
		base = baseEl && baseEl.getAttribute("href") || "/";
		base = base.replace(/^\w+:\/\/[^\/]+/, "");
	} else base = "/";
	if (base[0] !== "/" && base[0] !== "#") base = "/" + base;
	return removeTrailingSlash(base);
}
var BEFORE_HASH_RE = /^[^#]+#/;
function createHref(base, location$1) {
	return base.replace(BEFORE_HASH_RE, "#") + location$1;
}
function getElementPosition(el, offset) {
	const docRect = document.documentElement.getBoundingClientRect();
	const elRect = el.getBoundingClientRect();
	return {
		behavior: offset.behavior,
		left: elRect.left - docRect.left - (offset.left || 0),
		top: elRect.top - docRect.top - (offset.top || 0)
	};
}
var computeScrollPosition = () => ({
	left: window.scrollX,
	top: window.scrollY
});
function scrollToPosition(position) {
	let scrollToOptions;
	if ("el" in position) {
		const positionEl = position.el;
		const isIdSelector = typeof positionEl === "string" && positionEl.startsWith("#");
		const el = typeof positionEl === "string" ? isIdSelector ? document.getElementById(positionEl.slice(1)) : document.querySelector(positionEl) : positionEl;
		if (!el) return;
		scrollToOptions = getElementPosition(el, position);
	} else scrollToOptions = position;
	if ("scrollBehavior" in document.documentElement.style) window.scrollTo(scrollToOptions);
	else window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);
}
function getScrollKey(path, delta) {
	return (history.state ? history.state.position - delta : -1) + path;
}
var scrollPositions = /* @__PURE__ */ new Map();
function saveScrollPosition(key, scrollPosition) {
	scrollPositions.set(key, scrollPosition);
}
function getSavedScrollPosition(key) {
	const scroll = scrollPositions.get(key);
	scrollPositions.delete(key);
	return scroll;
}
var createBaseLocation = () => location.protocol + "//" + location.host;
function createCurrentLocation(base, location$1) {
	const { pathname, search, hash } = location$1;
	const hashPos = base.indexOf("#");
	if (hashPos > -1) {
		let slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;
		let pathFromHash = hash.slice(slicePos);
		if (pathFromHash[0] !== "/") pathFromHash = "/" + pathFromHash;
		return stripBase(pathFromHash, "");
	}
	return stripBase(pathname, base) + search + hash;
}
function useHistoryListeners(base, historyState, currentLocation, replace) {
	let listeners = [];
	let teardowns = [];
	let pauseState = null;
	const popStateHandler = ({ state }) => {
		const to = createCurrentLocation(base, location);
		const from = currentLocation.value;
		const fromState = historyState.value;
		let delta = 0;
		if (state) {
			currentLocation.value = to;
			historyState.value = state;
			if (pauseState && pauseState === from) {
				pauseState = null;
				return;
			}
			delta = fromState ? state.position - fromState.position : 0;
		} else replace(to);
		listeners.forEach((listener) => {
			listener(currentLocation.value, from, {
				delta,
				type: NavigationType.pop,
				direction: delta ? delta > 0 ? NavigationDirection.forward : NavigationDirection.back : NavigationDirection.unknown
			});
		});
	};
	function pauseListeners() {
		pauseState = currentLocation.value;
	}
	function listen(callback) {
		listeners.push(callback);
		const teardown = () => {
			const index = listeners.indexOf(callback);
			if (index > -1) listeners.splice(index, 1);
		};
		teardowns.push(teardown);
		return teardown;
	}
	function beforeUnloadListener() {
		const { history: history$1 } = window;
		if (!history$1.state) return;
		history$1.replaceState(assign({}, history$1.state, { scroll: computeScrollPosition() }), "");
	}
	function destroy() {
		for (const teardown of teardowns) teardown();
		teardowns = [];
		window.removeEventListener("popstate", popStateHandler);
		window.removeEventListener("beforeunload", beforeUnloadListener);
	}
	window.addEventListener("popstate", popStateHandler);
	window.addEventListener("beforeunload", beforeUnloadListener, { passive: true });
	return {
		pauseListeners,
		listen,
		destroy
	};
}
function buildState(back, current, forward, replaced = false, computeScroll = false) {
	return {
		back,
		current,
		forward,
		replaced,
		position: window.history.length,
		scroll: computeScroll ? computeScrollPosition() : null
	};
}
function useHistoryStateNavigation(base) {
	const { history: history$1, location: location$1 } = window;
	const currentLocation = { value: createCurrentLocation(base, location$1) };
	const historyState = { value: history$1.state };
	if (!historyState.value) changeLocation(currentLocation.value, {
		back: null,
		current: currentLocation.value,
		forward: null,
		position: history$1.length - 1,
		replaced: true,
		scroll: null
	}, true);
	function changeLocation(to, state, replace$1) {
		const hashIndex = base.indexOf("#");
		const url = hashIndex > -1 ? (location$1.host && document.querySelector("base") ? base : base.slice(hashIndex)) + to : createBaseLocation() + base + to;
		try {
			history$1[replace$1 ? "replaceState" : "pushState"](state, "", url);
			historyState.value = state;
		} catch (err) {
			console.error(err);
			location$1[replace$1 ? "replace" : "assign"](url);
		}
	}
	function replace(to, data) {
		changeLocation(to, assign({}, history$1.state, buildState(historyState.value.back, to, historyState.value.forward, true), data, { position: historyState.value.position }), true);
		currentLocation.value = to;
	}
	function push(to, data) {
		const currentState = assign({}, historyState.value, history$1.state, {
			forward: to,
			scroll: computeScrollPosition()
		});
		changeLocation(currentState.current, currentState, true);
		changeLocation(to, assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data), false);
		currentLocation.value = to;
	}
	return {
		location: currentLocation,
		state: historyState,
		push,
		replace
	};
}
function createWebHistory(base) {
	base = normalizeBase(base);
	const historyNavigation = useHistoryStateNavigation(base);
	const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);
	function go(delta, triggerListeners = true) {
		if (!triggerListeners) historyListeners.pauseListeners();
		history.go(delta);
	}
	const routerHistory = assign({
		location: "",
		base,
		go,
		createHref: createHref.bind(null, base)
	}, historyNavigation, historyListeners);
	Object.defineProperty(routerHistory, "location", {
		enumerable: true,
		get: () => historyNavigation.location.value
	});
	Object.defineProperty(routerHistory, "state", {
		enumerable: true,
		get: () => historyNavigation.state.value
	});
	return routerHistory;
}
function isRouteLocation(route) {
	return typeof route === "string" || route && typeof route === "object";
}
function isRouteName(name) {
	return typeof name === "string" || typeof name === "symbol";
}
var NavigationFailureSymbol = Symbol("");
var NavigationFailureType;
(function(NavigationFailureType$1) {
	NavigationFailureType$1[NavigationFailureType$1["aborted"] = 4] = "aborted";
	NavigationFailureType$1[NavigationFailureType$1["cancelled"] = 8] = "cancelled";
	NavigationFailureType$1[NavigationFailureType$1["duplicated"] = 16] = "duplicated";
})(NavigationFailureType || (NavigationFailureType = {}));
function createRouterError(type, params) {
	return assign(/* @__PURE__ */ new Error(), {
		type,
		[NavigationFailureSymbol]: true
	}, params);
}
function isNavigationFailure(error, type) {
	return error instanceof Error && NavigationFailureSymbol in error && (type == null || !!(error.type & type));
}
var BASE_PARAM_PATTERN = "[^/]+?";
var BASE_PATH_PARSER_OPTIONS = {
	sensitive: false,
	strict: false,
	start: true,
	end: true
};
var REGEX_CHARS_RE = /[.+*?^${}()[\]/\\]/g;
function tokensToParser(segments, extraOptions) {
	const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);
	const score = [];
	let pattern = options.start ? "^" : "";
	const keys = [];
	for (const segment of segments) {
		const segmentScores = segment.length ? [] : [90];
		if (options.strict && !segment.length) pattern += "/";
		for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {
			const token = segment[tokenIndex];
			let subSegmentScore = 40 + (options.sensitive ? .25 : 0);
			if (token.type === 0) {
				if (!tokenIndex) pattern += "/";
				pattern += token.value.replace(REGEX_CHARS_RE, "\\$&");
				subSegmentScore += 40;
			} else if (token.type === 1) {
				const { value, repeatable, optional, regexp } = token;
				keys.push({
					name: value,
					repeatable,
					optional
				});
				const re$1 = regexp ? regexp : BASE_PARAM_PATTERN;
				if (re$1 !== BASE_PARAM_PATTERN) {
					subSegmentScore += 10;
					try {
						`${re$1}`;
					} catch (err) {
						throw new Error(`Invalid custom RegExp for param "${value}" (${re$1}): ` + err.message);
					}
				}
				let subPattern = repeatable ? `((?:${re$1})(?:/(?:${re$1}))*)` : `(${re$1})`;
				if (!tokenIndex) subPattern = optional && segment.length < 2 ? `(?:/${subPattern})` : "/" + subPattern;
				if (optional) subPattern += "?";
				pattern += subPattern;
				subSegmentScore += 20;
				if (optional) subSegmentScore += -8;
				if (repeatable) subSegmentScore += -20;
				if (re$1 === ".*") subSegmentScore += -50;
			}
			segmentScores.push(subSegmentScore);
		}
		score.push(segmentScores);
	}
	if (options.strict && options.end) {
		const i$1 = score.length - 1;
		score[i$1][score[i$1].length - 1] += .7000000000000001;
	}
	if (!options.strict) pattern += "/?";
	if (options.end) pattern += "$";
	else if (options.strict && !pattern.endsWith("/")) pattern += "(?:/|$)";
	const re = new RegExp(pattern, options.sensitive ? "" : "i");
	function parse(path) {
		const match = path.match(re);
		const params = {};
		if (!match) return null;
		for (let i$1 = 1; i$1 < match.length; i$1++) {
			const value = match[i$1] || "";
			const key = keys[i$1 - 1];
			params[key.name] = value && key.repeatable ? value.split("/") : value;
		}
		return params;
	}
	function stringify(params) {
		let path = "";
		let avoidDuplicatedSlash = false;
		for (const segment of segments) {
			if (!avoidDuplicatedSlash || !path.endsWith("/")) path += "/";
			avoidDuplicatedSlash = false;
			for (const token of segment) if (token.type === 0) path += token.value;
			else if (token.type === 1) {
				const { value, repeatable, optional } = token;
				const param = value in params ? params[value] : "";
				if (isArray$3(param) && !repeatable) throw new Error(`Provided param "${value}" is an array but it is not repeatable (* or + modifiers)`);
				const text = isArray$3(param) ? param.join("/") : param;
				if (!text) if (optional) {
					if (segment.length < 2) if (path.endsWith("/")) path = path.slice(0, -1);
					else avoidDuplicatedSlash = true;
				} else throw new Error(`Missing required param "${value}"`);
				path += text;
			}
		}
		return path || "/";
	}
	return {
		re,
		score,
		keys,
		parse,
		stringify
	};
}
function compareScoreArray(a, b) {
	let i$1 = 0;
	while (i$1 < a.length && i$1 < b.length) {
		const diff = b[i$1] - a[i$1];
		if (diff) return diff;
		i$1++;
	}
	if (a.length < b.length) return a.length === 1 && a[0] === 80 ? -1 : 1;
	else if (a.length > b.length) return b.length === 1 && b[0] === 80 ? 1 : -1;
	return 0;
}
function comparePathParserScore(a, b) {
	let i$1 = 0;
	const aScore = a.score;
	const bScore = b.score;
	while (i$1 < aScore.length && i$1 < bScore.length) {
		const comp = compareScoreArray(aScore[i$1], bScore[i$1]);
		if (comp) return comp;
		i$1++;
	}
	if (Math.abs(bScore.length - aScore.length) === 1) {
		if (isLastScoreNegative(aScore)) return 1;
		if (isLastScoreNegative(bScore)) return -1;
	}
	return bScore.length - aScore.length;
}
function isLastScoreNegative(score) {
	const last = score[score.length - 1];
	return score.length > 0 && last[last.length - 1] < 0;
}
var ROOT_TOKEN = {
	type: 0,
	value: ""
};
var VALID_PARAM_RE = /[a-zA-Z0-9_]/;
function tokenizePath(path) {
	if (!path) return [[]];
	if (path === "/") return [[ROOT_TOKEN]];
	if (!path.startsWith("/")) throw new Error(`Invalid path "${path}"`);
	function crash(message) {
		throw new Error(`ERR (${state})/"${buffer}": ${message}`);
	}
	let state = 0;
	let previousState = state;
	const tokens = [];
	let segment;
	function finalizeSegment() {
		if (segment) tokens.push(segment);
		segment = [];
	}
	let i$1 = 0;
	let char;
	let buffer = "";
	let customRe = "";
	function consumeBuffer() {
		if (!buffer) return;
		if (state === 0) segment.push({
			type: 0,
			value: buffer
		});
		else if (state === 1 || state === 2 || state === 3) {
			if (segment.length > 1 && (char === "*" || char === "+")) crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);
			segment.push({
				type: 1,
				value: buffer,
				regexp: customRe,
				repeatable: char === "*" || char === "+",
				optional: char === "*" || char === "?"
			});
		} else crash("Invalid state to consume buffer");
		buffer = "";
	}
	function addCharToBuffer() {
		buffer += char;
	}
	while (i$1 < path.length) {
		char = path[i$1++];
		if (char === "\\" && state !== 2) {
			previousState = state;
			state = 4;
			continue;
		}
		switch (state) {
			case 0:
				if (char === "/") {
					if (buffer) consumeBuffer();
					finalizeSegment();
				} else if (char === ":") {
					consumeBuffer();
					state = 1;
				} else addCharToBuffer();
				break;
			case 4:
				addCharToBuffer();
				state = previousState;
				break;
			case 1:
				if (char === "(") state = 2;
				else if (VALID_PARAM_RE.test(char)) addCharToBuffer();
				else {
					consumeBuffer();
					state = 0;
					if (char !== "*" && char !== "?" && char !== "+") i$1--;
				}
				break;
			case 2:
				if (char === ")") if (customRe[customRe.length - 1] == "\\") customRe = customRe.slice(0, -1) + char;
				else state = 3;
				else customRe += char;
				break;
			case 3:
				consumeBuffer();
				state = 0;
				if (char !== "*" && char !== "?" && char !== "+") i$1--;
				customRe = "";
				break;
			default:
				crash("Unknown state");
				break;
		}
	}
	if (state === 2) crash(`Unfinished custom RegExp for param "${buffer}"`);
	consumeBuffer();
	finalizeSegment();
	return tokens;
}
function createRouteRecordMatcher(record, parent, options) {
	const matcher = assign(tokensToParser(tokenizePath(record.path), options), {
		record,
		parent,
		children: [],
		alias: []
	});
	if (parent) {
		if (!matcher.record.aliasOf === !parent.record.aliasOf) parent.children.push(matcher);
	}
	return matcher;
}
function createRouterMatcher(routes, globalOptions) {
	const matchers$1 = [];
	const matcherMap = /* @__PURE__ */ new Map();
	globalOptions = mergeOptions({
		strict: false,
		end: true,
		sensitive: false
	}, globalOptions);
	function getRecordMatcher(name) {
		return matcherMap.get(name);
	}
	function addRoute(record, parent, originalRecord) {
		const isRootAdd = !originalRecord;
		const mainNormalizedRecord = normalizeRouteRecord(record);
		mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;
		const options = mergeOptions(globalOptions, record);
		const normalizedRecords = [mainNormalizedRecord];
		if ("alias" in record) {
			const aliases = typeof record.alias === "string" ? [record.alias] : record.alias;
			for (const alias of aliases) normalizedRecords.push(normalizeRouteRecord(assign({}, mainNormalizedRecord, {
				components: originalRecord ? originalRecord.record.components : mainNormalizedRecord.components,
				path: alias,
				aliasOf: originalRecord ? originalRecord.record : mainNormalizedRecord
			})));
		}
		let matcher;
		let originalMatcher;
		for (const normalizedRecord of normalizedRecords) {
			const { path } = normalizedRecord;
			if (parent && path[0] !== "/") {
				const parentPath = parent.record.path;
				const connectingSlash = parentPath[parentPath.length - 1] === "/" ? "" : "/";
				normalizedRecord.path = parent.record.path + (path && connectingSlash + path);
			}
			matcher = createRouteRecordMatcher(normalizedRecord, parent, options);
			if (originalRecord) originalRecord.alias.push(matcher);
			else {
				originalMatcher = originalMatcher || matcher;
				if (originalMatcher !== matcher) originalMatcher.alias.push(matcher);
				if (isRootAdd && record.name && !isAliasRecord(matcher)) removeRoute(record.name);
			}
			if (isMatchable(matcher)) insertMatcher(matcher);
			if (mainNormalizedRecord.children) {
				const children = mainNormalizedRecord.children;
				for (let i$1 = 0; i$1 < children.length; i$1++) addRoute(children[i$1], matcher, originalRecord && originalRecord.children[i$1]);
			}
			originalRecord = originalRecord || matcher;
		}
		return originalMatcher ? () => {
			removeRoute(originalMatcher);
		} : noop;
	}
	function removeRoute(matcherRef) {
		if (isRouteName(matcherRef)) {
			const matcher = matcherMap.get(matcherRef);
			if (matcher) {
				matcherMap.delete(matcherRef);
				matchers$1.splice(matchers$1.indexOf(matcher), 1);
				matcher.children.forEach(removeRoute);
				matcher.alias.forEach(removeRoute);
			}
		} else {
			const index = matchers$1.indexOf(matcherRef);
			if (index > -1) {
				matchers$1.splice(index, 1);
				if (matcherRef.record.name) matcherMap.delete(matcherRef.record.name);
				matcherRef.children.forEach(removeRoute);
				matcherRef.alias.forEach(removeRoute);
			}
		}
	}
	function getRoutes() {
		return matchers$1;
	}
	function insertMatcher(matcher) {
		const index = findInsertionIndex(matcher, matchers$1);
		matchers$1.splice(index, 0, matcher);
		if (matcher.record.name && !isAliasRecord(matcher)) matcherMap.set(matcher.record.name, matcher);
	}
	function resolve(location$1, currentLocation) {
		let matcher;
		let params = {};
		let path;
		let name;
		if ("name" in location$1 && location$1.name) {
			matcher = matcherMap.get(location$1.name);
			if (!matcher) throw createRouterError(1, { location: location$1 });
			name = matcher.record.name;
			params = assign(paramsFromLocation(currentLocation.params, matcher.keys.filter((k) => !k.optional).concat(matcher.parent ? matcher.parent.keys.filter((k) => k.optional) : []).map((k) => k.name)), location$1.params && paramsFromLocation(location$1.params, matcher.keys.map((k) => k.name)));
			path = matcher.stringify(params);
		} else if (location$1.path != null) {
			path = location$1.path;
			matcher = matchers$1.find((m) => m.re.test(path));
			if (matcher) {
				params = matcher.parse(path);
				name = matcher.record.name;
			}
		} else {
			matcher = currentLocation.name ? matcherMap.get(currentLocation.name) : matchers$1.find((m) => m.re.test(currentLocation.path));
			if (!matcher) throw createRouterError(1, {
				location: location$1,
				currentLocation
			});
			name = matcher.record.name;
			params = assign({}, currentLocation.params, location$1.params);
			path = matcher.stringify(params);
		}
		const matched = [];
		let parentMatcher = matcher;
		while (parentMatcher) {
			matched.unshift(parentMatcher.record);
			parentMatcher = parentMatcher.parent;
		}
		return {
			name,
			path,
			params,
			matched,
			meta: mergeMetaFields(matched)
		};
	}
	routes.forEach((route) => addRoute(route));
	function clearRoutes() {
		matchers$1.length = 0;
		matcherMap.clear();
	}
	return {
		addRoute,
		resolve,
		removeRoute,
		clearRoutes,
		getRoutes,
		getRecordMatcher
	};
}
function paramsFromLocation(params, keys) {
	const newParams = {};
	for (const key of keys) if (key in params) newParams[key] = params[key];
	return newParams;
}
function normalizeRouteRecord(record) {
	const normalized = {
		path: record.path,
		redirect: record.redirect,
		name: record.name,
		meta: record.meta || {},
		aliasOf: record.aliasOf,
		beforeEnter: record.beforeEnter,
		props: normalizeRecordProps(record),
		children: record.children || [],
		instances: {},
		leaveGuards: /* @__PURE__ */ new Set(),
		updateGuards: /* @__PURE__ */ new Set(),
		enterCallbacks: {},
		components: "components" in record ? record.components || null : record.component && { default: record.component }
	};
	Object.defineProperty(normalized, "mods", { value: {} });
	return normalized;
}
function normalizeRecordProps(record) {
	const propsObject = {};
	const props = record.props || false;
	if ("component" in record) propsObject.default = props;
	else for (const name in record.components) propsObject[name] = typeof props === "object" ? props[name] : props;
	return propsObject;
}
function isAliasRecord(record) {
	while (record) {
		if (record.record.aliasOf) return true;
		record = record.parent;
	}
	return false;
}
function mergeMetaFields(matched) {
	return matched.reduce((meta, record) => assign(meta, record.meta), {});
}
function mergeOptions(defaults, partialOptions) {
	const options = {};
	for (const key in defaults) options[key] = key in partialOptions ? partialOptions[key] : defaults[key];
	return options;
}
function findInsertionIndex(matcher, matchers$1) {
	let lower = 0;
	let upper = matchers$1.length;
	while (lower !== upper) {
		const mid = lower + upper >> 1;
		if (comparePathParserScore(matcher, matchers$1[mid]) < 0) upper = mid;
		else lower = mid + 1;
	}
	const insertionAncestor = getInsertionAncestor(matcher);
	if (insertionAncestor) upper = matchers$1.lastIndexOf(insertionAncestor, upper - 1);
	return upper;
}
function getInsertionAncestor(matcher) {
	let ancestor = matcher;
	while (ancestor = ancestor.parent) if (isMatchable(ancestor) && comparePathParserScore(matcher, ancestor) === 0) return ancestor;
}
function isMatchable({ record }) {
	return !!(record.name || record.components && Object.keys(record.components).length || record.redirect);
}
function parseQuery(search) {
	const query = {};
	if (search === "" || search === "?") return query;
	const searchParams = (search[0] === "?" ? search.slice(1) : search).split("&");
	for (let i$1 = 0; i$1 < searchParams.length; ++i$1) {
		const searchParam = searchParams[i$1].replace(PLUS_RE, " ");
		const eqPos = searchParam.indexOf("=");
		const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));
		const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));
		if (key in query) {
			let currentValue = query[key];
			if (!isArray$3(currentValue)) currentValue = query[key] = [currentValue];
			currentValue.push(value);
		} else query[key] = value;
	}
	return query;
}
function stringifyQuery(query) {
	let search = "";
	for (let key in query) {
		const value = query[key];
		key = encodeQueryKey(key);
		if (value == null) {
			if (value !== void 0) search += (search.length ? "&" : "") + key;
			continue;
		}
		(isArray$3(value) ? value.map((v) => v && encodeQueryValue(v)) : [value && encodeQueryValue(value)]).forEach((value$1) => {
			if (value$1 !== void 0) {
				search += (search.length ? "&" : "") + key;
				if (value$1 != null) search += "=" + value$1;
			}
		});
	}
	return search;
}
function normalizeQuery(query) {
	const normalizedQuery = {};
	for (const key in query) {
		const value = query[key];
		if (value !== void 0) normalizedQuery[key] = isArray$3(value) ? value.map((v) => v == null ? null : "" + v) : value == null ? value : "" + value;
	}
	return normalizedQuery;
}
var matchedRouteKey = Symbol("");
var viewDepthKey = Symbol("");
var routerKey = Symbol("");
var routeLocationKey = Symbol("");
var routerViewLocationKey = Symbol("");
function useCallbacks() {
	let handlers$1 = [];
	function add(handler) {
		handlers$1.push(handler);
		return () => {
			const i$1 = handlers$1.indexOf(handler);
			if (i$1 > -1) handlers$1.splice(i$1, 1);
		};
	}
	function reset() {
		handlers$1 = [];
	}
	return {
		add,
		list: () => handlers$1.slice(),
		reset
	};
}
function registerGuard(record, name, guard) {
	const removeFromList = () => {
		record[name].delete(guard);
	};
	onUnmounted(removeFromList);
	onDeactivated(removeFromList);
	onActivated(() => {
		record[name].add(guard);
	});
	record[name].add(guard);
}
function onBeforeRouteLeave(leaveGuard) {
	const activeRecord = inject(matchedRouteKey, {}).value;
	if (!activeRecord) return;
	registerGuard(activeRecord, "leaveGuards", leaveGuard);
}
function guardToPromiseFn(guard, to, from, record, name, runWithContext = (fn) => fn()) {
	const enterCallbackArray = record && (record.enterCallbacks[name] = record.enterCallbacks[name] || []);
	return () => new Promise((resolve, reject) => {
		const next = (valid) => {
			if (valid === false) reject(createRouterError(4, {
				from,
				to
			}));
			else if (valid instanceof Error) reject(valid);
			else if (isRouteLocation(valid)) reject(createRouterError(2, {
				from: to,
				to: valid
			}));
			else {
				if (enterCallbackArray && record.enterCallbacks[name] === enterCallbackArray && typeof valid === "function") enterCallbackArray.push(valid);
				resolve();
			}
		};
		const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, next));
		let guardCall = Promise.resolve(guardReturn);
		if (guard.length < 3) guardCall = guardCall.then(next);
		guardCall.catch((err) => reject(err));
	});
}
function extractComponentsGuards(matched, guardType, to, from, runWithContext = (fn) => fn()) {
	const guards = [];
	for (const record of matched) for (const name in record.components) {
		let rawComponent = record.components[name];
		if (guardType !== "beforeRouteEnter" && !record.instances[name]) continue;
		if (isRouteComponent(rawComponent)) {
			const guard = (rawComponent.__vccOpts || rawComponent)[guardType];
			guard && guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));
		} else {
			let componentPromise = rawComponent();
			guards.push(() => componentPromise.then((resolved) => {
				if (!resolved) throw new Error(`Couldn't resolve component "${name}" at "${record.path}"`);
				const resolvedComponent = isESModule(resolved) ? resolved.default : resolved;
				record.mods[name] = resolved;
				record.components[name] = resolvedComponent;
				const guard = (resolvedComponent.__vccOpts || resolvedComponent)[guardType];
				return guard && guardToPromiseFn(guard, to, from, record, name, runWithContext)();
			}));
		}
	}
	return guards;
}
function useLink(props) {
	const router = inject(routerKey);
	const currentRoute = inject(routeLocationKey);
	const route = computed(() => {
		const to = unref(props.to);
		return router.resolve(to);
	});
	const activeRecordIndex = computed(() => {
		const { matched } = route.value;
		const { length } = matched;
		const routeMatched = matched[length - 1];
		const currentMatched = currentRoute.matched;
		if (!routeMatched || !currentMatched.length) return -1;
		const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));
		if (index > -1) return index;
		const parentRecordPath = getOriginalPath(matched[length - 2]);
		return length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;
	});
	const isActive = computed(() => activeRecordIndex.value > -1 && includesParams(currentRoute.params, route.value.params));
	const isExactActive = computed(() => activeRecordIndex.value > -1 && activeRecordIndex.value === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.value.params));
	function navigate(e = {}) {
		if (guardEvent(e)) {
			const p = router[unref(props.replace) ? "replace" : "push"](unref(props.to)).catch(noop);
			if (props.viewTransition && typeof document !== "undefined" && "startViewTransition" in document) document.startViewTransition(() => p);
			return p;
		}
		return Promise.resolve();
	}
	return {
		route,
		href: computed(() => route.value.href),
		isActive,
		isExactActive,
		navigate
	};
}
function preferSingleVNode(vnodes) {
	return vnodes.length === 1 ? vnodes[0] : vnodes;
}
var RouterLink = /* @__PURE__ */ defineComponent({
	name: "RouterLink",
	compatConfig: { MODE: 3 },
	props: {
		to: {
			type: [String, Object],
			required: true
		},
		replace: Boolean,
		activeClass: String,
		exactActiveClass: String,
		custom: Boolean,
		ariaCurrentValue: {
			type: String,
			default: "page"
		}
	},
	useLink,
	setup(props, { slots }) {
		const link = reactive(useLink(props));
		const { options } = inject(routerKey);
		const elClass = computed(() => ({
			[getLinkClass(props.activeClass, options.linkActiveClass, "router-link-active")]: link.isActive,
			[getLinkClass(props.exactActiveClass, options.linkExactActiveClass, "router-link-exact-active")]: link.isExactActive
		}));
		return () => {
			const children = slots.default && preferSingleVNode(slots.default(link));
			return props.custom ? children : h("a", {
				"aria-current": link.isExactActive ? props.ariaCurrentValue : null,
				href: link.href,
				onClick: link.navigate,
				class: elClass.value
			}, children);
		};
	}
});
function guardEvent(e) {
	if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;
	if (e.defaultPrevented) return;
	if (e.button !== void 0 && e.button !== 0) return;
	if (e.currentTarget && e.currentTarget.getAttribute) {
		const target = e.currentTarget.getAttribute("target");
		if (/\b_blank\b/i.test(target)) return;
	}
	if (e.preventDefault) e.preventDefault();
	return true;
}
function includesParams(outer, inner) {
	for (const key in inner) {
		const innerValue = inner[key];
		const outerValue = outer[key];
		if (typeof innerValue === "string") {
			if (innerValue !== outerValue) return false;
		} else if (!isArray$3(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i$1) => value !== outerValue[i$1])) return false;
	}
	return true;
}
function getOriginalPath(record) {
	return record ? record.aliasOf ? record.aliasOf.path : record.path : "";
}
var getLinkClass = (propClass, globalClass, defaultClass) => propClass != null ? propClass : globalClass != null ? globalClass : defaultClass;
var RouterViewImpl = /* @__PURE__ */ defineComponent({
	name: "RouterView",
	inheritAttrs: false,
	props: {
		name: {
			type: String,
			default: "default"
		},
		route: Object
	},
	compatConfig: { MODE: 3 },
	setup(props, { attrs, slots }) {
		const injectedRoute = inject(routerViewLocationKey);
		const routeToDisplay = computed(() => props.route || injectedRoute.value);
		const injectedDepth = inject(viewDepthKey, 0);
		const depth = computed(() => {
			let initialDepth = unref(injectedDepth);
			const { matched } = routeToDisplay.value;
			let matchedRoute;
			while ((matchedRoute = matched[initialDepth]) && !matchedRoute.components) initialDepth++;
			return initialDepth;
		});
		const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);
		provide(viewDepthKey, computed(() => depth.value + 1));
		provide(matchedRouteKey, matchedRouteRef);
		provide(routerViewLocationKey, routeToDisplay);
		const viewRef = ref();
		watch(() => [
			viewRef.value,
			matchedRouteRef.value,
			props.name
		], ([instance, to, name], [oldInstance, from, oldName]) => {
			if (to) {
				to.instances[name] = instance;
				if (from && from !== to && instance && instance === oldInstance) {
					if (!to.leaveGuards.size) to.leaveGuards = from.leaveGuards;
					if (!to.updateGuards.size) to.updateGuards = from.updateGuards;
				}
			}
			if (instance && to && (!from || !isSameRouteRecord(to, from) || !oldInstance)) (to.enterCallbacks[name] || []).forEach((callback) => callback(instance));
		}, { flush: "post" });
		return () => {
			const route = routeToDisplay.value;
			const currentName = props.name;
			const matchedRoute = matchedRouteRef.value;
			const ViewComponent = matchedRoute && matchedRoute.components[currentName];
			if (!ViewComponent) return normalizeSlot(slots.default, {
				Component: ViewComponent,
				route
			});
			const routePropsOption = matchedRoute.props[currentName];
			const routeProps = routePropsOption ? routePropsOption === true ? route.params : typeof routePropsOption === "function" ? routePropsOption(route) : routePropsOption : null;
			const onVnodeUnmounted = (vnode) => {
				if (vnode.component.isUnmounted) matchedRoute.instances[currentName] = null;
			};
			const component = h(ViewComponent, assign({}, routeProps, attrs, {
				onVnodeUnmounted,
				ref: viewRef
			}));
			return normalizeSlot(slots.default, {
				Component: component,
				route
			}) || component;
		};
	}
});
function normalizeSlot(slot, data) {
	if (!slot) return null;
	const slotContent = slot(data);
	return slotContent.length === 1 ? slotContent[0] : slotContent;
}
var RouterView = RouterViewImpl;
function createRouter(options) {
	const matcher = createRouterMatcher(options.routes, options);
	const parseQuery$1 = options.parseQuery || parseQuery;
	const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;
	const routerHistory = options.history;
	const beforeGuards = useCallbacks();
	const beforeResolveGuards = useCallbacks();
	const afterGuards = useCallbacks();
	const currentRoute = shallowRef(START_LOCATION_NORMALIZED);
	let pendingLocation = START_LOCATION_NORMALIZED;
	if (isBrowser && options.scrollBehavior && "scrollRestoration" in history) history.scrollRestoration = "manual";
	const normalizeParams = applyToParams.bind(null, (paramValue) => "" + paramValue);
	const encodeParams = applyToParams.bind(null, encodeParam);
	const decodeParams = applyToParams.bind(null, decode);
	function addRoute(parentOrRoute, route) {
		let parent;
		let record;
		if (isRouteName(parentOrRoute)) {
			parent = matcher.getRecordMatcher(parentOrRoute);
			record = route;
		} else record = parentOrRoute;
		return matcher.addRoute(record, parent);
	}
	function removeRoute(name) {
		const recordMatcher = matcher.getRecordMatcher(name);
		if (recordMatcher) matcher.removeRoute(recordMatcher);
	}
	function getRoutes() {
		return matcher.getRoutes().map((routeMatcher) => routeMatcher.record);
	}
	function hasRoute(name) {
		return !!matcher.getRecordMatcher(name);
	}
	function resolve(rawLocation, currentLocation) {
		currentLocation = assign({}, currentLocation || currentRoute.value);
		if (typeof rawLocation === "string") {
			const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);
			const matchedRoute$1 = matcher.resolve({ path: locationNormalized.path }, currentLocation);
			const href$1 = routerHistory.createHref(locationNormalized.fullPath);
			return assign(locationNormalized, matchedRoute$1, {
				params: decodeParams(matchedRoute$1.params),
				hash: decode(locationNormalized.hash),
				redirectedFrom: void 0,
				href: href$1
			});
		}
		let matcherLocation;
		if (rawLocation.path != null) matcherLocation = assign({}, rawLocation, { path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path });
		else {
			const targetParams = assign({}, rawLocation.params);
			for (const key in targetParams) if (targetParams[key] == null) delete targetParams[key];
			matcherLocation = assign({}, rawLocation, { params: encodeParams(targetParams) });
			currentLocation.params = encodeParams(currentLocation.params);
		}
		const matchedRoute = matcher.resolve(matcherLocation, currentLocation);
		const hash = rawLocation.hash || "";
		matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));
		const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {
			hash: encodeHash(hash),
			path: matchedRoute.path
		}));
		const href = routerHistory.createHref(fullPath);
		return assign({
			fullPath,
			hash,
			query: stringifyQuery$1 === stringifyQuery ? normalizeQuery(rawLocation.query) : rawLocation.query || {}
		}, matchedRoute, {
			redirectedFrom: void 0,
			href
		});
	}
	function locationAsObject(to) {
		return typeof to === "string" ? parseURL(parseQuery$1, to, currentRoute.value.path) : assign({}, to);
	}
	function checkCanceledNavigation(to, from) {
		if (pendingLocation !== to) return createRouterError(8, {
			from,
			to
		});
	}
	function push(to) {
		return pushWithRedirect(to);
	}
	function replace(to) {
		return push(assign(locationAsObject(to), { replace: true }));
	}
	function handleRedirectRecord(to) {
		const lastMatched = to.matched[to.matched.length - 1];
		if (lastMatched && lastMatched.redirect) {
			const { redirect } = lastMatched;
			let newTargetLocation = typeof redirect === "function" ? redirect(to) : redirect;
			if (typeof newTargetLocation === "string") {
				newTargetLocation = newTargetLocation.includes("?") || newTargetLocation.includes("#") ? newTargetLocation = locationAsObject(newTargetLocation) : { path: newTargetLocation };
				newTargetLocation.params = {};
			}
			return assign({
				query: to.query,
				hash: to.hash,
				params: newTargetLocation.path != null ? {} : to.params
			}, newTargetLocation);
		}
	}
	function pushWithRedirect(to, redirectedFrom) {
		const targetLocation = pendingLocation = resolve(to);
		const from = currentRoute.value;
		const data = to.state;
		const force = to.force;
		const replace$1 = to.replace === true;
		const shouldRedirect = handleRedirectRecord(targetLocation);
		if (shouldRedirect) return pushWithRedirect(assign(locationAsObject(shouldRedirect), {
			state: typeof shouldRedirect === "object" ? assign({}, data, shouldRedirect.state) : data,
			force,
			replace: replace$1
		}), redirectedFrom || targetLocation);
		const toLocation = targetLocation;
		toLocation.redirectedFrom = redirectedFrom;
		let failure;
		if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {
			failure = createRouterError(16, {
				to: toLocation,
				from
			});
			handleScroll(from, from, true, false);
		}
		return (failure ? Promise.resolve(failure) : navigate(toLocation, from)).catch((error) => isNavigationFailure(error) ? isNavigationFailure(error, 2) ? error : markAsReady(error) : triggerError(error, toLocation, from)).then((failure$1) => {
			if (failure$1) {
				if (isNavigationFailure(failure$1, 2)) return pushWithRedirect(assign({ replace: replace$1 }, locationAsObject(failure$1.to), {
					state: typeof failure$1.to === "object" ? assign({}, data, failure$1.to.state) : data,
					force
				}), redirectedFrom || toLocation);
			} else failure$1 = finalizeNavigation(toLocation, from, true, replace$1, data);
			triggerAfterEach(toLocation, from, failure$1);
			return failure$1;
		});
	}
	function checkCanceledNavigationAndReject(to, from) {
		const error = checkCanceledNavigation(to, from);
		return error ? Promise.reject(error) : Promise.resolve();
	}
	function runWithContext(fn) {
		const app = installedApps.values().next().value;
		return app && typeof app.runWithContext === "function" ? app.runWithContext(fn) : fn();
	}
	function navigate(to, from) {
		let guards;
		const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);
		guards = extractComponentsGuards(leavingRecords.reverse(), "beforeRouteLeave", to, from);
		for (const record of leavingRecords) record.leaveGuards.forEach((guard) => {
			guards.push(guardToPromiseFn(guard, to, from));
		});
		const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);
		guards.push(canceledNavigationCheck);
		return runGuardQueue(guards).then(() => {
			guards = [];
			for (const guard of beforeGuards.list()) guards.push(guardToPromiseFn(guard, to, from));
			guards.push(canceledNavigationCheck);
			return runGuardQueue(guards);
		}).then(() => {
			guards = extractComponentsGuards(updatingRecords, "beforeRouteUpdate", to, from);
			for (const record of updatingRecords) record.updateGuards.forEach((guard) => {
				guards.push(guardToPromiseFn(guard, to, from));
			});
			guards.push(canceledNavigationCheck);
			return runGuardQueue(guards);
		}).then(() => {
			guards = [];
			for (const record of enteringRecords) if (record.beforeEnter) if (isArray$3(record.beforeEnter)) for (const beforeEnter of record.beforeEnter) guards.push(guardToPromiseFn(beforeEnter, to, from));
			else guards.push(guardToPromiseFn(record.beforeEnter, to, from));
			guards.push(canceledNavigationCheck);
			return runGuardQueue(guards);
		}).then(() => {
			to.matched.forEach((record) => record.enterCallbacks = {});
			guards = extractComponentsGuards(enteringRecords, "beforeRouteEnter", to, from, runWithContext);
			guards.push(canceledNavigationCheck);
			return runGuardQueue(guards);
		}).then(() => {
			guards = [];
			for (const guard of beforeResolveGuards.list()) guards.push(guardToPromiseFn(guard, to, from));
			guards.push(canceledNavigationCheck);
			return runGuardQueue(guards);
		}).catch((err) => isNavigationFailure(err, 8) ? err : Promise.reject(err));
	}
	function triggerAfterEach(to, from, failure) {
		afterGuards.list().forEach((guard) => runWithContext(() => guard(to, from, failure)));
	}
	function finalizeNavigation(toLocation, from, isPush, replace$1, data) {
		const error = checkCanceledNavigation(toLocation, from);
		if (error) return error;
		const isFirstNavigation = from === START_LOCATION_NORMALIZED;
		const state = !isBrowser ? {} : history.state;
		if (isPush) if (replace$1 || isFirstNavigation) routerHistory.replace(toLocation.fullPath, assign({ scroll: isFirstNavigation && state && state.scroll }, data));
		else routerHistory.push(toLocation.fullPath, data);
		currentRoute.value = toLocation;
		handleScroll(toLocation, from, isPush, isFirstNavigation);
		markAsReady();
	}
	let removeHistoryListener;
	function setupListeners() {
		if (removeHistoryListener) return;
		removeHistoryListener = routerHistory.listen((to, _from, info) => {
			if (!router.listening) return;
			const toLocation = resolve(to);
			const shouldRedirect = handleRedirectRecord(toLocation);
			if (shouldRedirect) {
				pushWithRedirect(assign(shouldRedirect, {
					replace: true,
					force: true
				}), toLocation).catch(noop);
				return;
			}
			pendingLocation = toLocation;
			const from = currentRoute.value;
			if (isBrowser) saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());
			navigate(toLocation, from).catch((error) => {
				if (isNavigationFailure(error, 12)) return error;
				if (isNavigationFailure(error, 2)) {
					pushWithRedirect(assign(locationAsObject(error.to), { force: true }), toLocation).then((failure) => {
						if (isNavigationFailure(failure, 20) && !info.delta && info.type === NavigationType.pop) routerHistory.go(-1, false);
					}).catch(noop);
					return Promise.reject();
				}
				if (info.delta) routerHistory.go(-info.delta, false);
				return triggerError(error, toLocation, from);
			}).then((failure) => {
				failure = failure || finalizeNavigation(toLocation, from, false);
				if (failure) {
					if (info.delta && !isNavigationFailure(failure, 8)) routerHistory.go(-info.delta, false);
					else if (info.type === NavigationType.pop && isNavigationFailure(failure, 20)) routerHistory.go(-1, false);
				}
				triggerAfterEach(toLocation, from, failure);
			}).catch(noop);
		});
	}
	let readyHandlers = useCallbacks();
	let errorListeners = useCallbacks();
	let ready;
	function triggerError(error, to, from) {
		markAsReady(error);
		const list = errorListeners.list();
		if (list.length) list.forEach((handler) => handler(error, to, from));
		else console.error(error);
		return Promise.reject(error);
	}
	function isReady() {
		if (ready && currentRoute.value !== START_LOCATION_NORMALIZED) return Promise.resolve();
		return new Promise((resolve$1, reject) => {
			readyHandlers.add([resolve$1, reject]);
		});
	}
	function markAsReady(err) {
		if (!ready) {
			ready = !err;
			setupListeners();
			readyHandlers.list().forEach(([resolve$1, reject]) => err ? reject(err) : resolve$1());
			readyHandlers.reset();
		}
		return err;
	}
	function handleScroll(to, from, isPush, isFirstNavigation) {
		const { scrollBehavior } = options;
		if (!isBrowser || !scrollBehavior) return Promise.resolve();
		const scrollPosition = !isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0)) || (isFirstNavigation || !isPush) && history.state && history.state.scroll || null;
		return nextTick().then(() => scrollBehavior(to, from, scrollPosition)).then((position) => position && scrollToPosition(position)).catch((err) => triggerError(err, to, from));
	}
	const go = (delta) => routerHistory.go(delta);
	let started;
	const installedApps = /* @__PURE__ */ new Set();
	const router = {
		currentRoute,
		listening: true,
		addRoute,
		removeRoute,
		clearRoutes: matcher.clearRoutes,
		hasRoute,
		getRoutes,
		resolve,
		options,
		push,
		replace,
		go,
		back: () => go(-1),
		forward: () => go(1),
		beforeEach: beforeGuards.add,
		beforeResolve: beforeResolveGuards.add,
		afterEach: afterGuards.add,
		onError: errorListeners.add,
		isReady,
		install(app) {
			const router$1 = this;
			app.component("RouterLink", RouterLink);
			app.component("RouterView", RouterView);
			app.config.globalProperties.$router = router$1;
			Object.defineProperty(app.config.globalProperties, "$route", {
				enumerable: true,
				get: () => unref(currentRoute)
			});
			if (isBrowser && !started && currentRoute.value === START_LOCATION_NORMALIZED) {
				started = true;
				push(routerHistory.location).catch((err) => {});
			}
			const reactiveRoute = {};
			for (const key in START_LOCATION_NORMALIZED) Object.defineProperty(reactiveRoute, key, {
				get: () => currentRoute.value[key],
				enumerable: true
			});
			app.provide(routerKey, router$1);
			app.provide(routeLocationKey, shallowReactive(reactiveRoute));
			app.provide(routerViewLocationKey, currentRoute);
			const unmountApp = app.unmount;
			installedApps.add(app);
			app.unmount = function() {
				installedApps.delete(app);
				if (installedApps.size < 1) {
					pendingLocation = START_LOCATION_NORMALIZED;
					removeHistoryListener && removeHistoryListener();
					removeHistoryListener = null;
					currentRoute.value = START_LOCATION_NORMALIZED;
					started = false;
					ready = false;
				}
				unmountApp();
			};
		}
	};
	function runGuardQueue(guards) {
		return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());
	}
	return router;
}
function extractChangingRecords(to, from) {
	const leavingRecords = [];
	const updatingRecords = [];
	const enteringRecords = [];
	const len = Math.max(from.matched.length, to.matched.length);
	for (let i$1 = 0; i$1 < len; i$1++) {
		const recordFrom = from.matched[i$1];
		if (recordFrom) if (to.matched.find((record) => isSameRouteRecord(record, recordFrom))) updatingRecords.push(recordFrom);
		else leavingRecords.push(recordFrom);
		const recordTo = to.matched[i$1];
		if (recordTo) {
			if (!from.matched.find((record) => isSameRouteRecord(record, recordTo))) enteringRecords.push(recordTo);
		}
	}
	return [
		leavingRecords,
		updatingRecords,
		enteringRecords
	];
}
function useRouter() {
	return inject(routerKey);
}
function useRoute(_name) {
	return inject(routeLocationKey);
}
var require_isSymbol = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var baseGetTag = require__baseGetTag(), isObjectLike = require_isObjectLike();
	var symbolTag = "[object Symbol]";
	function isSymbol$3(value) {
		return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
	}
	module.exports = isSymbol$3;
}));
var require__isKey = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var isArray$2 = require_isArray(), isSymbol$2 = require_isSymbol();
	var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
	function isKey$1(value, object) {
		if (isArray$2(value)) return false;
		var type = typeof value;
		if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol$2(value)) return true;
		return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
	}
	module.exports = isKey$1;
}));
var require_memoize = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var MapCache = require__MapCache();
	var FUNC_ERROR_TEXT = "Expected a function";
	function memoize$1(func, resolver) {
		if (typeof func != "function" || resolver != null && typeof resolver != "function") throw new TypeError(FUNC_ERROR_TEXT);
		var memoized = function() {
			var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
			if (cache.has(key)) return cache.get(key);
			var result = func.apply(this, args);
			memoized.cache = cache.set(key, result) || cache;
			return result;
		};
		memoized.cache = new (memoize$1.Cache || MapCache)();
		return memoized;
	}
	memoize$1.Cache = MapCache;
	module.exports = memoize$1;
}));
var require__memoizeCapped = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var memoize = require_memoize();
	var MAX_MEMOIZE_SIZE = 500;
	function memoizeCapped$1(func) {
		var result = memoize(func, function(key) {
			if (cache.size === MAX_MEMOIZE_SIZE) cache.clear();
			return key;
		});
		var cache = result.cache;
		return result;
	}
	module.exports = memoizeCapped$1;
}));
var require__stringToPath = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var memoizeCapped = require__memoizeCapped();
	var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
	var reEscapeChar = /\\(\\)?/g;
	module.exports = memoizeCapped(function(string) {
		var result = [];
		if (string.charCodeAt(0) === 46) result.push("");
		string.replace(rePropName, function(match, number, quote, subString) {
			result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
		});
		return result;
	});
}));
var require__arrayMap = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	function arrayMap$1(array, iteratee) {
		var index = -1, length = array == null ? 0 : array.length, result = Array(length);
		while (++index < length) result[index] = iteratee(array[index], index, array);
		return result;
	}
	module.exports = arrayMap$1;
}));
var require__baseToString = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var Symbol$1 = require__Symbol(), arrayMap = require__arrayMap(), isArray$1 = require_isArray(), isSymbol$1 = require_isSymbol();
	var INFINITY$1 = Infinity;
	var symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
	function baseToString$1(value) {
		if (typeof value == "string") return value;
		if (isArray$1(value)) return arrayMap(value, baseToString$1) + "";
		if (isSymbol$1(value)) return symbolToString ? symbolToString.call(value) : "";
		var result = value + "";
		return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
	}
	module.exports = baseToString$1;
}));
var require_toString = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var baseToString = require__baseToString();
	function toString$1(value) {
		return value == null ? "" : baseToString(value);
	}
	module.exports = toString$1;
}));
var require__castPath = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var isArray = require_isArray(), isKey = require__isKey(), stringToPath = require__stringToPath(), toString = require_toString();
	function castPath$1(value, object) {
		if (isArray(value)) return value;
		return isKey(value, object) ? [value] : stringToPath(toString(value));
	}
	module.exports = castPath$1;
}));
var require__toKey = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var isSymbol = require_isSymbol();
	var INFINITY = Infinity;
	function toKey$1(value) {
		if (typeof value == "string" || isSymbol(value)) return value;
		var result = value + "";
		return result == "0" && 1 / value == -INFINITY ? "-0" : result;
	}
	module.exports = toKey$1;
}));
var require__baseGet = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var castPath = require__castPath(), toKey = require__toKey();
	function baseGet$1(object, path) {
		path = castPath(path, object);
		var index = 0, length = path.length;
		while (object != null && index < length) object = object[toKey(path[index++])];
		return index && index == length ? object : void 0;
	}
	module.exports = baseGet$1;
}));
var require_get = /* @__PURE__ */ __commonJSMin(((exports, module) => {
	var baseGet = require__baseGet();
	function get(object, path, defaultValue) {
		var result = object == null ? void 0 : baseGet(object, path);
		return result === void 0 ? defaultValue : result;
	}
	module.exports = get;
}));
const truncate = (text, length = 30) => text.length > length ? text.slice(0, length) + "..." : text;
function truncateBeforeLast(text, maxLength, lastCharsLength = 5) {
	const chars = [];
	const segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
	for (const { segment } of segmenter.segment(text)) chars.push(segment);
	if (chars.length <= maxLength) return text;
	const lastWordIndex = chars.findLastIndex((ch) => ch.match(/^\s+$/)) + 1;
	const lastWord = chars.slice(lastWordIndex);
	const ellipsis = "…";
	const ellipsisLength = 1;
	if (lastWord.length < 15) {
		const charsToRemove = chars.length - maxLength + ellipsisLength;
		const indexBeforeLastWord = lastWordIndex;
		const keepLength = indexBeforeLastWord - charsToRemove;
		if (keepLength > 0) return chars.slice(0, keepLength).join("") + ellipsis + chars.slice(indexBeforeLastWord).join("");
	}
	if (lastCharsLength < 1) return chars.slice(0, maxLength).join("") + ellipsis;
	return chars.slice(0, maxLength - lastCharsLength - ellipsisLength).join("") + ellipsis + chars.slice(-lastCharsLength).join("");
}
export { flattedChildren as $, escapeStringRegexp as $t, ElInput as A, _Symbol_default as An, d_arrow_right_default as At, useFocusController as B, computedEager as Bn, zoom_in_default as Bt, isWorkflowUpdatedMessage as C, isFunction_default as Cn, calendar_default as Ct, TinyColor as D, isSymbol_default as Dn, clock_default as Dt, ElButton as E, _arrayMap_default as En, circle_close_default as Et, formItemContextKey as F, useDocumentVisibility as Fn, more_default as Ft, defaultNamespace as G, obtainAllFocusableElements$1 as Gn, getStyle as Gt, useZIndex as H, isIOS as Hn, scrollIntoView as Ht, ElIcon as I, useEventListener as In, more_filled_default as It, useLocale as J, debugWarn as Jt, useGetDerivedNamespace as K, triggerEvent as Kn, hasClass as Kt, _export_sfc as L, useResizeObserver as Ln, picture_filled_default as Lt, useFormItemInputId as M, _freeGlobal_default as Mn, document_default as Mt, useFormDisabled as N, onClickOutside as Nn, loading_default as Nt, ElFocusTrap as O, isObjectLike_default as On, close_default as Ot, useFormSize as P, unrefElement as Pn, minus_default as Pt, PatchFlags as Q, capitalize$1 as Qt, useGlobalComponentSettings as R, useVModel as Rn, plus_default as Rt, isToolMessage as S, _toSource_default as Sn, arrow_up_default as St, createEventBus as T, isArray_default as Tn, circle_check_default as Tt, useId as U, tryOnScopeDispose as Un, addClass as Ut, useSizeProp as V, isClient as Vn, getScrollBarWidth as Vt, useIdInjection as W, useTimeoutFn as Wn, addUnit as Wt, mutable as X, entriesOf as Xt, useDeprecated as Y, throwError as Yt, isKorean as Z, getProp as Zt, onBeforeRouteLeave as _, eq_default as _n, buildProps as _t, require__toKey as a, _baseSet_default as an, UPDATE_MODEL_EVENT as at, isTaskAbortedMessage as b, _defineProperty_default as bn, arrow_left_default as bt, require__arrayMap as c, get_default as cn, withInstall as ct, require_isSymbol as d, _castPath_default as dn, CloseComponents as dt, isBoolean as en, isValidComponentSize as et, RouterLink as f, _MapCache_default as fn, TypeComponents as ft, isNavigationFailure as g, _assignValue_default as gn, buildProp as gt, createWebHistory as h, _isKey_default as hn, iconPropType as ht, require__baseGet as i, isUndefined as in, INPUT_EVENT as it, useFormItem as j, _root_default as jn, delete_default as jt, FOCUS_TRAP_INJECTION_KEY as k, _baseGetTag_default as kn, d_arrow_left_default as kt, require_memoize as l, _baseGet_default as ln, withInstallFunction as lt, createRouter as m, _ListCache_default as mn, ValidateComponentsMap as mt, truncateBeforeLast as n, isEmpty as nn, componentSizes as nt, require__castPath as o, isNil_default as on, datePickTypes as ot, RouterView as p, _Map_default as pn, TypeComponentsMap as pt, useNamespace as q, removeClass as qt, require_get as r, isNumber as rn, CHANGE_EVENT as rt, require_toString as s, fromPairs_default as sn, EVENT_CODE as st, truncate as t, isElement as tn, componentSizeMap as tt, require__isKey as u, _toKey_default as un, withNoopInstall as ut, useRoute as v, _baseAssignValue_default as vn, definePropType as vt, require_lib as w, isObject_default as wn, check_default as wt, isThinkingGroupMessage as x, _getNative_default as xn, arrow_right_default as xt, useRouter as y, _isIndex_default as yn, arrow_down_default as yt, useGlobalConfig as z, useWindowFocus as zn, warning_filled_default as zt };