@halo-dev/components 2.20.0 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"halo-components.iife.js","sources":["../src/components/alert/Alert.vue","../src/components/avatar/interface.ts","../src/components/avatar/Avatar.vue","../src/components/avatar/AvatarGroup.vue","../src/components/button/Button.vue","../src/components/description/Description.vue","../../../node_modules/.pnpm/overlayscrollbars@2.5.0/node_modules/overlayscrollbars/overlayscrollbars.mjs","../../../node_modules/.pnpm/overlayscrollbars-vue@0.5.7_overlayscrollbars@2.5.0_vue@3.5.11_typescript@5.6.2_/node_modules/overlayscrollbars-vue/overlayscrollbars-vue.mjs","../src/components/modal/Modal.vue","../src/components/dialog/Dialog.vue","../src/components/dialog/dialog-manager.ts","../../../node_modules/.pnpm/@floating-ui+utils@0.1.6/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/.pnpm/@floating-ui+core@1.5.1/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/.pnpm/@floating-ui+dom@1.1.1/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../../../node_modules/.pnpm/floating-vue@5.2.2_vue@3.5.11_typescript@5.6.2_/node_modules/floating-vue/dist/floating-vue.mjs","../src/components/dropdown/symbols.ts","../src/components/dropdown/Dropdown.vue","../src/components/dropdown/DropdownDivider.vue","../src/components/dropdown/DropdownItem.vue","../src/components/empty/Empty.svg","../src/components/entity/Entity.vue","../src/components/entity/EntityField.vue","../src/components/loading/Loading.vue","../src/components/menu/Menu.vue","../src/components/menu/MenuItem.vue","../src/components/menu/MenuLabel.vue","../src/components/pagination/Pagination.vue","../src/components/space/interface.ts","../src/components/space/Space.vue","../src/components/status/StatusDot.vue","../src/components/switch/Switch.vue","../src/components/tabs/TabItem.vue","../src/components/tabs/Tabbar.vue","../src/components/tabs/Tabs.vue","../src/components/tag/Tag.vue","../src/components/toast/Toast.vue","../src/components/toast/toast-manager.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FunctionalComponent, Raw, SVGAttributes } from \"vue\";\nimport { computed, markRaw } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconCloseCircle,\n IconErrorWarning,\n IconInformation,\n} from \"../../icons/icons\";\nimport type { Type } from \"./interface\";\n\nconst TypeIcons: Record<Type, Raw<FunctionalComponent<SVGAttributes>>> = {\n success: markRaw(IconCheckboxCircle),\n info: markRaw(IconInformation),\n default: markRaw(IconInformation),\n warning: markRaw(IconErrorWarning),\n error: markRaw(IconCloseCircle),\n};\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n title?: string;\n description?: string;\n closable?: boolean;\n }>(),\n {\n type: \"default\",\n title: \"\",\n description: \"\",\n closable: true,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"close\"): void;\n}>();\n\nconst classes = computed(() => {\n return [`alert-${props.type}`];\n});\n\nconst handleClose = () => {\n emit(\"close\");\n};\n</script>\n\n<template>\n <div :class=\"classes\" class=\"alert-wrapper\">\n <div class=\"alert-header\">\n <div class=\"alert-icon\">\n <slot name=\"icon\">\n <component :is=\"TypeIcons[type]\" />\n </slot>\n </div>\n <div v-if=\"title || $slots.title\" class=\"alert-title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div v-if=\"closable\" class=\"alert-close\" @click=\"handleClose\">\n <IconClose />\n </div>\n </div>\n <div v-if=\"description || $slots.description\" class=\"alert-description\">\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <div v-if=\"$slots.actions\" class=\"alert-actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.alert-wrapper {\n @apply flex\n flex-col\n box-border\n border\n rounded-base;\n padding: 12px 16px;\n\n .alert-header {\n @apply flex;\n\n .alert-icon {\n @apply self-center\n mr-3\n text-lg;\n }\n\n .alert-title {\n @apply self-center\n mr-3\n flex-1\n font-medium\n text-sm;\n }\n\n .alert-close {\n @apply self-center\n cursor-pointer\n rounded-full\n p-0.5;\n\n &:hover {\n @apply transition-all\n bg-gray-300\n text-white;\n }\n }\n }\n\n .alert-description {\n @apply text-xs\n mt-2;\n }\n\n .alert-actions {\n @apply border-t\n mt-3\n pt-2;\n }\n\n &.alert-default {\n @apply bg-gray-50\n border-gray-300;\n\n .alert-icon,\n .alert-description {\n @apply text-gray-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-gray-700;\n }\n }\n\n &.alert-success {\n @apply bg-green-50\n border-green-300;\n\n .alert-icon,\n .alert-description {\n @apply text-green-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-green-700;\n }\n }\n\n &.alert-info {\n @apply bg-sky-50\n border-sky-300;\n\n .alert-icon,\n .alert-description {\n @apply text-sky-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-sky-700;\n }\n }\n\n &.alert-warning {\n @apply bg-orange-50\n border-orange-300;\n\n .alert-icon,\n .alert-description {\n @apply text-orange-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-orange-700;\n }\n }\n\n &.alert-error {\n @apply bg-red-50\n border-red-300;\n\n .alert-icon,\n .alert-description {\n @apply text-red-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-red-700;\n }\n }\n}\n</style>\n","import type { InjectionKey } from \"vue\";\n\nexport type Size = \"lg\" | \"md\" | \"sm\" | \"xs\";\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n size?: Size;\n width?: string;\n height?: string;\n circle?: boolean;\n}\n\nexport type AvatarGroupProps = Omit<AvatarProps, \"src\" | \"alt\">;\n\nexport const AvatarGroupContextInjectionKey: InjectionKey<AvatarGroupProps> =\n Symbol(\"avatar-group-context\");\n","<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref, watch } from \"vue\";\nimport { IconErrorWarning } from \"../../icons/icons\";\nimport { AvatarGroupContextInjectionKey, type AvatarProps } from \"./interface\";\n\nconst props = withDefaults(defineProps<AvatarProps>(), {\n size: \"md\",\n circle: false,\n});\n\nconst groupProps = inject(AvatarGroupContextInjectionKey, undefined);\n\nconst size = computed(() => groupProps?.size || props.size);\nconst circle = computed(() => groupProps?.circle || props.circle);\nconst width = computed(() => groupProps?.width || props.width);\nconst height = computed(() => groupProps?.height || props.height);\n\nconst isLoading = ref(false);\nconst error = ref(false);\nlet init = true;\n\nconst loadImage = async (isInit: boolean) => {\n if (!props.src) {\n error.value = true;\n return;\n }\n\n isLoading.value = true;\n try {\n if (!props.src) {\n error.value = true;\n return Promise.reject();\n }\n if (!isInit) {\n error.value = false;\n }\n const image = new Image();\n image.src = props.src;\n return new Promise((resolve, reject) => {\n image.onload = () => resolve(image);\n image.onerror = (err) => {\n error.value = true;\n reject(err);\n };\n });\n } catch (e) {\n error.value = true;\n } finally {\n isLoading.value = false;\n }\n};\n\nwatch([() => props.alt, () => props.src], async () => loadImage(init));\n\nonMounted(async () => {\n loadImage(init);\n init = false;\n});\n\nconst classes = computed(() => {\n const result = [`avatar-${circle.value ? \"circle\" : \"square\"}`];\n if (size.value) {\n result.push(`avatar-${size.value}`);\n }\n return result;\n});\n\nconst styles = computed(() => {\n const result: Record<string, string> = {};\n if (width.value) {\n result.width = width.value;\n }\n if (height.value) {\n result.height = height.value;\n }\n return result;\n});\n\nconst placeholderText = computed(() => {\n if (!props.alt) {\n return undefined;\n }\n const words = props.alt.split(\" \");\n if (words.length === 1) {\n return words[0].charAt(0).toUpperCase();\n }\n if (words.length > 1) {\n return words[0].charAt(0).toUpperCase() + words[1].charAt(0).toUpperCase();\n }\n return undefined;\n});\n</script>\n\n<template>\n <div class=\"avatar-wrapper\" :class=\"classes\" :style=\"styles\">\n <div v-if=\"isLoading || error\" class=\"avatar-fallback\">\n <svg\n v-if=\"isLoading\"\n class=\"avatar-loading\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <span v-else-if=\"placeholderText\" class=\"avatar-placeholder\">\n {{ placeholderText }}\n </span>\n <IconErrorWarning v-else class=\"avatar-error\" />\n </div>\n <img v-else :src=\"src\" :alt=\"alt\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.avatar-wrapper {\n @apply inline-flex items-center justify-center overflow-hidden bg-gray-100;\n\n img {\n @apply w-full h-full object-cover;\n }\n\n .avatar-fallback {\n @apply w-full h-full flex items-center justify-center;\n }\n\n .avatar-loading {\n @apply animate-spin w-5 h-5;\n }\n\n .avatar-placeholder {\n @apply text-sm text-gray-800 font-medium;\n }\n\n .avatar-error {\n @apply w-5 h-5 text-red-500;\n }\n\n &.avatar-circle {\n @apply rounded-full;\n }\n\n &.avatar-square {\n @apply rounded-base;\n }\n\n &.avatar-xs {\n @apply w-6 h-6;\n\n .avatar-placeholder {\n @apply text-xs;\n }\n }\n\n &.avatar-sm {\n @apply w-8 h-8;\n\n .avatar-placeholder {\n @apply text-xs;\n }\n }\n\n &.avatar-md {\n @apply w-10 h-10;\n }\n\n &.avatar-lg {\n @apply w-12 h-12;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { provide } from \"vue\";\nimport {\n AvatarGroupContextInjectionKey,\n type AvatarGroupProps,\n} from \"./interface\";\n\nconst props = withDefaults(defineProps<AvatarGroupProps>(), {\n size: \"md\",\n circle: false,\n});\n\nprovide(AvatarGroupContextInjectionKey, props);\n</script>\n\n<template>\n <div class=\"avatar-group-wrapper\">\n <slot />\n </div>\n</template>\n\n<style lang=\"scss\">\n.avatar-group-wrapper {\n @apply -space-x-2.5 inline-flex;\n\n > * {\n @apply hover:z-10 ring-2 ring-white transition-all;\n }\n}\n</style>\n","<template>\n <button\n :class=\"classes\"\n :disabled=\"disabled\"\n class=\"btn\"\n type=\"button\"\n @click=\"handleClick\"\n >\n <span v-if=\"$slots.icon || loading\" class=\"btn-icon\">\n <svg\n v-if=\"loading\"\n class=\"animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <slot v-else name=\"icon\" />\n </span>\n <span class=\"btn-content\">\n <slot />\n </span>\n </button>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { RouteLocationRaw } from \"vue-router\";\nimport { useRouter } from \"vue-router\";\nimport type { Size, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n size?: Size;\n circle?: boolean;\n block?: boolean;\n disabled?: boolean;\n loading?: boolean;\n route?: RouteLocationRaw | undefined;\n }>(),\n {\n type: \"default\",\n size: \"md\",\n circle: false,\n block: false,\n disabled: false,\n loading: false,\n route: undefined,\n }\n);\n\nconst router = useRouter();\nconst emit = defineEmits<{\n (event: \"click\"): void;\n}>();\n\nconst classes = computed(() => {\n return [\n `btn-${props.size}`,\n `btn-${props.type}`,\n { \"btn-circle\": props.circle },\n { \"btn-block\": props.block },\n { \"btn-loading\": props.loading },\n ];\n});\n\nfunction handleClick() {\n if (props.disabled || props.loading) return;\n if (props.route) {\n router.push(props.route);\n }\n emit(\"click\");\n}\n</script>\n<style lang=\"scss\">\n.btn {\n @apply rounded-base\n inline-flex\n flex-shrink-0\n cursor-pointer\n select-none\n flex-wrap\n items-center\n justify-center\n transition-all\n text-center\n text-sm\n no-underline\n h-9\n px-4\n outline-0\n border-none\n appearance-none\n align-middle;\n\n &:hover {\n @apply opacity-90;\n }\n\n &:active {\n @apply opacity-100;\n }\n\n &:disabled {\n @apply opacity-50\n cursor-not-allowed;\n }\n}\n\n.btn-default {\n border: 1px solid #d9d9d9;\n\n &:hover {\n @apply bg-gray-100;\n }\n\n .btn-icon {\n @apply text-secondary;\n }\n}\n\n.btn-primary {\n @apply text-white bg-primary #{!important};\n}\n\n.btn-secondary {\n @apply text-white bg-secondary #{!important};\n}\n\n.btn-danger {\n background-color: #d71d1d !important;\n @apply text-white;\n}\n\n.btn-block {\n @apply w-full;\n}\n\n.btn-icon {\n @apply h-5 w-5\n text-white\n mr-3;\n}\n\n.btn-loading {\n @apply cursor-not-allowed;\n &:hover {\n @apply opacity-100;\n }\n}\n\n.btn-lg {\n @apply h-11\n px-5\n text-lg;\n}\n\n.btn-sm {\n @apply h-7\n px-3\n text-xs;\n\n .btn-icon {\n @apply h-3\n w-3\n mr-2;\n }\n}\n\n.btn-xs {\n @apply h-6\n px-2\n text-xs;\n\n .btn-icon {\n @apply h-3\n w-3\n mr-2;\n }\n}\n\n.btn-circle {\n @apply w-9\n p-0\n rounded-full;\n}\n\n.btn-lg.btn-circle {\n @apply w-11;\n}\n\n.btn-sm.btn-circle {\n @apply w-7;\n}\n\n.btn-xs.btn-circle {\n @apply w-6;\n}\n</style>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <dl class=\"description-wrapper\">\n <slot />\n </dl>\n</template>\n\n<style>\n.description-wrapper {\n @apply divide-y divide-gray-100;\n}\n</style>\n","/*!\n * OverlayScrollbars\n * Version: 2.5.0\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */\nconst createCache = (t, n) => {\n const {o: o, u: s, _: e} = t;\n let c = o;\n let r;\n const cacheUpdateContextual = (t, n) => {\n const o = c;\n const l = t;\n const i = n || (s ? !s(o, l) : o !== l);\n if (i || e) {\n c = l;\n r = o;\n }\n return [ c, i, r ];\n };\n const cacheUpdateIsolated = t => cacheUpdateContextual(n(c, r), t);\n const getCurrentCache = t => [ c, !!t, r ];\n return [ n ? cacheUpdateIsolated : cacheUpdateContextual, getCurrentCache ];\n};\n\nconst t = typeof window !== \"undefined\";\n\nconst n = t ? window : {};\n\nconst o = Math.max;\n\nconst s = Math.min;\n\nconst e = Math.round;\n\nconst c = Math.abs;\n\nconst r = n.cancelAnimationFrame;\n\nconst l = n.requestAnimationFrame;\n\nconst i = n.setTimeout;\n\nconst a = n.clearTimeout;\n\nconst getApi = t => typeof n[t] !== \"undefined\" ? n[t] : void 0;\n\nconst u = getApi(\"MutationObserver\");\n\nconst f = getApi(\"IntersectionObserver\");\n\nconst _ = getApi(\"ResizeObserver\");\n\nconst d = getApi(\"ScrollTimeline\");\n\nconst v = t && Node.ELEMENT_NODE;\n\nconst {toString: h, hasOwnProperty: p} = Object.prototype;\n\nconst g = /^\\[object (.+)\\]$/;\n\nconst isUndefined = t => t === void 0;\n\nconst isNull = t => t === null;\n\nconst type = t => isUndefined(t) || isNull(t) ? `${t}` : h.call(t).replace(g, \"$1\").toLowerCase();\n\nconst isNumber = t => typeof t === \"number\";\n\nconst isString = t => typeof t === \"string\";\n\nconst isBoolean = t => typeof t === \"boolean\";\n\nconst isFunction = t => typeof t === \"function\";\n\nconst isArray = t => Array.isArray(t);\n\nconst isObject = t => typeof t === \"object\" && !isArray(t) && !isNull(t);\n\nconst isArrayLike = t => {\n const n = !!t && t.length;\n const o = isNumber(n) && n > -1 && n % 1 == 0;\n return isArray(t) || !isFunction(t) && o ? n > 0 && isObject(t) ? n - 1 in t : true : false;\n};\n\nconst isPlainObject = t => {\n if (!t || !isObject(t) || type(t) !== \"object\") {\n return false;\n }\n let n;\n const o = \"constructor\";\n const s = t[o];\n const e = s && s.prototype;\n const c = p.call(t, o);\n const r = e && p.call(e, \"isPrototypeOf\");\n if (s && !c && !r) {\n return false;\n }\n for (n in t) {}\n return isUndefined(n) || p.call(t, n);\n};\n\nconst isHTMLElement = t => {\n const n = HTMLElement;\n return t ? n ? t instanceof n : t.nodeType === v : false;\n};\n\nconst isElement = t => {\n const n = Element;\n return t ? n ? t instanceof n : t.nodeType === v : false;\n};\n\nconst animationCurrentTime = () => performance.now();\n\nconst animateNumber = (t, n, s, e, c) => {\n let i = 0;\n const a = animationCurrentTime();\n const u = o(0, s);\n const frame = s => {\n const r = animationCurrentTime();\n const f = r - a;\n const _ = f >= u;\n const d = s ? 1 : 1 - (o(0, a + u - r) / u || 0);\n const v = (n - t) * (isFunction(c) ? c(d, d * u, 0, 1, u) : d) + t;\n const h = _ || d === 1;\n e && e(v, d, h);\n i = h ? 0 : l((() => frame()));\n };\n frame();\n return t => {\n r(i);\n t && frame(t);\n };\n};\n\nfunction each(t, n) {\n if (isArrayLike(t)) {\n for (let o = 0; o < t.length; o++) {\n if (n(t[o], o, t) === false) {\n break;\n }\n }\n } else if (t) {\n each(Object.keys(t), (o => n(t[o], o, t)));\n }\n return t;\n}\n\nconst inArray = (t, n) => t.indexOf(n) >= 0;\n\nconst concat = (t, n) => t.concat(n);\n\nconst push = (t, n, o) => {\n !o && !isString(n) && isArrayLike(n) ? Array.prototype.push.apply(t, n) : t.push(n);\n return t;\n};\n\nconst from = t => Array.from(t || []);\n\nconst createOrKeepArray = t => isArray(t) ? t : [ t ];\n\nconst isEmptyArray = t => !!t && !t.length;\n\nconst deduplicateArray = t => from(new Set(t));\n\nconst runEachAndClear = (t, n, o) => {\n const runFn = t => t && t.apply(void 0, n || []);\n each(t, runFn);\n !o && (t.length = 0);\n};\n\nconst b = \"paddingTop\";\n\nconst w = \"paddingRight\";\n\nconst S = \"paddingLeft\";\n\nconst y = \"paddingBottom\";\n\nconst m = \"marginLeft\";\n\nconst O = \"marginRight\";\n\nconst $ = \"marginBottom\";\n\nconst C = \"overflowX\";\n\nconst x = \"overflowY\";\n\nconst H = \"width\";\n\nconst I = \"height\";\n\nconst z = \"hidden\";\n\nconst E = \"visible\";\n\nconst equal = (t, n, o, s) => {\n if (t && n) {\n let e = true;\n each(o, (o => {\n const c = s ? s(t[o]) : t[o];\n const r = s ? s(n[o]) : n[o];\n if (c !== r) {\n e = false;\n }\n }));\n return e;\n }\n return false;\n};\n\nconst equalWH = (t, n) => equal(t, n, [ \"w\", \"h\" ]);\n\nconst equalXY = (t, n) => equal(t, n, [ \"x\", \"y\" ]);\n\nconst equalTRBL = (t, n) => equal(t, n, [ \"t\", \"r\", \"b\", \"l\" ]);\n\nconst noop = () => {};\n\nconst bind = (t, ...n) => t.bind(0, ...n);\n\nconst selfClearTimeout = t => {\n let n;\n const o = t ? i : l;\n const s = t ? a : r;\n return [ e => {\n s(n);\n n = o(e, isFunction(t) ? t() : t);\n }, () => s(n) ];\n};\n\nconst debounce = (t, n) => {\n let o;\n let s;\n let e;\n let c = noop;\n const {v: u, p: f, S: _} = n || {};\n const d = function invokeFunctionToDebounce(n) {\n c();\n a(o);\n o = s = void 0;\n c = noop;\n t.apply(this, n);\n };\n const mergeParms = t => _ && s ? _(s, t) : t;\n const flush = () => {\n if (c !== noop) {\n d(mergeParms(e) || e);\n }\n };\n const v = function debouncedFn() {\n const t = from(arguments);\n const n = isFunction(u) ? u() : u;\n const _ = isNumber(n) && n >= 0;\n if (_) {\n const u = isFunction(f) ? f() : f;\n const _ = isNumber(u) && u >= 0;\n const v = n > 0 ? i : l;\n const h = n > 0 ? a : r;\n const p = mergeParms(t);\n const g = p || t;\n const b = d.bind(0, g);\n c();\n const w = v(b, n);\n c = () => h(w);\n if (_ && !o) {\n o = i(flush, u);\n }\n s = e = g;\n } else {\n d(t);\n }\n };\n v.m = flush;\n return v;\n};\n\nconst hasOwnProperty = (t, n) => Object.prototype.hasOwnProperty.call(t, n);\n\nconst keys = t => t ? Object.keys(t) : [];\n\nconst assignDeep = (t, n, o, s, e, c, r) => {\n const l = [ n, o, s, e, c, r ];\n if ((typeof t !== \"object\" || isNull(t)) && !isFunction(t)) {\n t = {};\n }\n each(l, (n => {\n each(n, ((o, s) => {\n const e = n[s];\n if (t === e) {\n return true;\n }\n const c = isArray(e);\n if (e && isPlainObject(e)) {\n const n = t[s];\n let o = n;\n if (c && !isArray(n)) {\n o = [];\n } else if (!c && !isPlainObject(n)) {\n o = {};\n }\n t[s] = assignDeep(o, e);\n } else {\n t[s] = c ? e.slice() : e;\n }\n }));\n }));\n return t;\n};\n\nconst removeUndefinedProperties = (t, n) => each(assignDeep({}, t), ((t, o, s) => {\n if (t === void 0) {\n delete s[o];\n } else if (n && t && isPlainObject(t)) {\n s[o] = removeUndefinedProperties(t, n);\n }\n}));\n\nconst isEmptyObject = t => {\n for (const n in t) {\n return false;\n }\n return true;\n};\n\nconst capNumber = (t, n, e) => o(t, s(n, e));\n\nconst getDomTokensArray = t => from(new Set((isArray(t) ? t : (t || \"\").split(\" \")).filter((t => t))));\n\nconst getAttr = (t, n) => t && t.getAttribute(n);\n\nconst setAttrs = (t, n, o) => {\n each(getDomTokensArray(n), (n => {\n t && t.setAttribute(n, o || \"\");\n }));\n};\n\nconst removeAttrs = (t, n) => {\n each(getDomTokensArray(n), (n => t && t.removeAttribute(n)));\n};\n\nconst domTokenListAttr = (t, n) => {\n const o = getDomTokensArray(getAttr(t, n));\n const s = bind(setAttrs, t, n);\n const domTokenListOperation = (t, n) => {\n const s = new Set(o);\n each(getDomTokensArray(t), (t => s[n](t)));\n return from(s).join(\" \");\n };\n return {\n O: t => s(domTokenListOperation(t, \"delete\")),\n $: t => s(domTokenListOperation(t, \"add\")),\n C: t => {\n const n = getDomTokensArray(t);\n return n.reduce(((t, n) => t && o.includes(n)), n.length > 0);\n }\n };\n};\n\nconst removeAttrClass = (t, n, o) => {\n domTokenListAttr(t, n).O(o);\n};\n\nconst addAttrClass = (t, n, o) => {\n domTokenListAttr(t, n).$(o);\n return bind(removeAttrClass, t, n, o);\n};\n\nconst addRemoveAttrClass = (t, n, o, s) => {\n (s ? addAttrClass : removeAttrClass)(t, n, o);\n};\n\nconst hasAttrClass = (t, n, o) => domTokenListAttr(t, n).C(o);\n\nconst createDomTokenListClass = t => domTokenListAttr(t, \"class\");\n\nconst removeClass = (t, n) => {\n createDomTokenListClass(t).O(n);\n};\n\nconst addClass = (t, n) => {\n createDomTokenListClass(t).$(n);\n return bind(removeClass, t, n);\n};\n\nconst A = t && Element.prototype;\n\nconst find = (t, n) => {\n const o = [];\n const s = n ? isElement(n) && n : document;\n return s ? push(o, s.querySelectorAll(t)) : o;\n};\n\nconst findFirst = (t, n) => {\n const o = n ? isElement(n) && n : document;\n return o ? o.querySelector(t) : null;\n};\n\nconst is = (t, n) => {\n if (isElement(t)) {\n const o = A.matches || A.msMatchesSelector;\n return o.call(t, n);\n }\n return false;\n};\n\nconst contents = t => t ? from(t.childNodes) : [];\n\nconst parent = t => t && t.parentElement;\n\nconst closest = (t, n) => isElement(t) && t.closest(n);\n\nconst liesBetween = (t, n, o) => {\n const s = closest(t, n);\n const e = t && findFirst(o, s);\n const c = closest(e, n) === s;\n return s && e ? s === t || e === t || c && closest(closest(t, o), n) !== s : false;\n};\n\nconst removeElements = t => {\n if (isArrayLike(t)) {\n each(from(t), (t => removeElements(t)));\n } else if (t) {\n const n = parent(t);\n n && n.removeChild(t);\n }\n};\n\nconst before = (t, n, o) => {\n if (o && t) {\n let s = n;\n let e;\n if (isArrayLike(o)) {\n e = document.createDocumentFragment();\n each(o, (t => {\n if (t === s) {\n s = t.previousSibling;\n }\n e.appendChild(t);\n }));\n } else {\n e = o;\n }\n if (n) {\n if (!s) {\n s = t.firstChild;\n } else if (s !== n) {\n s = s.nextSibling;\n }\n }\n t.insertBefore(e, s || null);\n return () => removeElements(o);\n }\n return noop;\n};\n\nconst appendChildren = (t, n) => before(t, null, n);\n\nconst insertAfter = (t, n) => before(parent(t), t && t.nextSibling, n);\n\nconst createDiv = t => {\n const n = document.createElement(\"div\");\n setAttrs(n, \"class\", t);\n return n;\n};\n\nconst createDOM = t => {\n const n = createDiv();\n n.innerHTML = t.trim();\n return each(contents(n), (t => removeElements(t)));\n};\n\nconst T = /^--/;\n\nconst getCSSVal = (t, n) => t.getPropertyValue(n) || t[n] || \"\";\n\nconst validFiniteNumber = t => {\n const n = t || 0;\n return isFinite(n) ? n : 0;\n};\n\nconst parseToZeroOrNumber = t => validFiniteNumber(parseFloat(t || \"\"));\n\nconst ratioToCssPercent = t => `${(validFiniteNumber(t) * 100).toFixed(3)}%`;\n\nconst numberToCssPx = t => `${validFiniteNumber(t)}px`;\n\nfunction setStyles(t, n) {\n t && each(n, ((n, o) => {\n try {\n const s = t.style;\n const e = isNumber(n) ? numberToCssPx(n) : (n || \"\") + \"\";\n if (T.test(o)) {\n s.setProperty(o, e);\n } else {\n s[o] = e;\n }\n } catch (s) {}\n }));\n}\n\nfunction getStyles(t, o, s) {\n const e = isString(o);\n let c = e ? \"\" : {};\n if (t) {\n const r = n.getComputedStyle(t, s) || t.style;\n c = e ? getCSSVal(r, o) : o.reduce(((t, n) => {\n t[n] = getCSSVal(r, n);\n return t;\n }), c);\n }\n return c;\n}\n\nconst getDirectionIsRTL = t => getStyles(t, \"direction\") === \"rtl\";\n\nconst topRightBottomLeft = (t, n, o) => {\n const s = n ? `${n}-` : \"\";\n const e = o ? `-${o}` : \"\";\n const c = `${s}top${e}`;\n const r = `${s}right${e}`;\n const l = `${s}bottom${e}`;\n const i = `${s}left${e}`;\n const a = getStyles(t, [ c, r, l, i ]);\n return {\n t: parseToZeroOrNumber(a[c]),\n r: parseToZeroOrNumber(a[r]),\n b: parseToZeroOrNumber(a[l]),\n l: parseToZeroOrNumber(a[i])\n };\n};\n\nconst getTrasformTranslateValue = (t, n) => `translate${isObject(t) ? `(${t.x},${t.y})` : `${n ? \"X\" : \"Y\"}(${t})`}`;\n\nconst D = {\n w: 0,\n h: 0\n};\n\nconst getElmWidthHeightProperty = (t, n) => n ? {\n w: n[`${t}Width`],\n h: n[`${t}Height`]\n} : D;\n\nconst windowSize = t => getElmWidthHeightProperty(\"inner\", t || n);\n\nconst k = bind(getElmWidthHeightProperty, \"offset\");\n\nconst R = bind(getElmWidthHeightProperty, \"client\");\n\nconst M = bind(getElmWidthHeightProperty, \"scroll\");\n\nconst fractionalSize = t => {\n const n = parseFloat(getStyles(t, H)) || 0;\n const o = parseFloat(getStyles(t, I)) || 0;\n return {\n w: n - e(n),\n h: o - e(o)\n };\n};\n\nconst getBoundingClientRect = t => t.getBoundingClientRect();\n\nconst domRectHasDimensions = t => !!(t && (t[I] || t[H]));\n\nconst domRectAppeared = (t, n) => {\n const o = domRectHasDimensions(t);\n const s = domRectHasDimensions(n);\n return !s && o;\n};\n\nconst removeEventListener = (t, n, o, s) => {\n each(getDomTokensArray(n), (n => {\n t.removeEventListener(n, o, s);\n }));\n};\n\nconst addEventListener = (t, n, o, s) => {\n var e;\n const c = (e = s && s.H) != null ? e : true;\n const r = s && s.I || false;\n const l = s && s.A || false;\n const i = {\n passive: c,\n capture: r\n };\n return bind(runEachAndClear, getDomTokensArray(n).map((n => {\n const s = l ? e => {\n removeEventListener(t, n, s, r);\n o(e);\n } : o;\n t.addEventListener(n, s, i);\n return bind(removeEventListener, t, n, s, r);\n })));\n};\n\nconst stopPropagation = t => t.stopPropagation();\n\nconst preventDefault = t => t.preventDefault();\n\nconst V = {\n x: 0,\n y: 0\n};\n\nconst absoluteCoordinates = t => {\n const o = t && getBoundingClientRect(t);\n return o ? {\n x: o.left + n.scrollX,\n y: o.top + n.scrollY\n } : V;\n};\n\nconst convertScrollPosition = (t, n, o) => o ? o.n ? -t + 0 : o.i ? n - t : t : t;\n\nconst getRawScrollBounds = (t, n) => [ convertScrollPosition(0, t, n), convertScrollPosition(t, t, n) ];\n\nconst getRawScrollRatio = (t, n, o) => capNumber(0, 1, convertScrollPosition(t, n, o) / n || 0);\n\nconst scrollElementTo = (t, n) => {\n const {x: o, y: s} = isNumber(n) ? {\n x: n,\n y: n\n } : n || {};\n isNumber(o) && (t.scrollLeft = o);\n isNumber(s) && (t.scrollTop = s);\n};\n\nconst getElmentScroll = t => ({\n x: t.scrollLeft,\n y: t.scrollTop\n});\n\nconst manageListener = (t, n) => {\n each(createOrKeepArray(n), t);\n};\n\nconst createEventListenerHub = t => {\n const n = new Map;\n const removeEvent = (t, o) => {\n if (t) {\n const s = n.get(t);\n manageListener((t => {\n if (s) {\n s[t ? \"delete\" : \"clear\"](t);\n }\n }), o);\n } else {\n n.forEach((t => {\n t.clear();\n }));\n n.clear();\n }\n };\n const addEvent = (t, o) => {\n if (isString(t)) {\n const s = n.get(t) || new Set;\n n.set(t, s);\n manageListener((t => {\n isFunction(t) && s.add(t);\n }), o);\n return bind(removeEvent, t, o);\n }\n if (isBoolean(o) && o) {\n removeEvent();\n }\n const s = keys(t);\n const e = [];\n each(s, (n => {\n const o = t[n];\n o && push(e, addEvent(n, o));\n }));\n return bind(runEachAndClear, e);\n };\n const triggerEvent = (t, o) => {\n each(from(n.get(t)), (t => {\n if (o && !isEmptyArray(o)) {\n t.apply(0, o);\n } else {\n t();\n }\n }));\n };\n addEvent(t || {});\n return [ addEvent, removeEvent, triggerEvent ];\n};\n\nconst opsStringify = t => JSON.stringify(t, ((t, n) => {\n if (isFunction(n)) {\n throw 0;\n }\n return n;\n}));\n\nconst getPropByPath = (t, n) => t ? `${n}`.split(\".\").reduce(((t, n) => t && hasOwnProperty(t, n) ? t[n] : void 0), t) : void 0;\n\nconst L = {\n paddingAbsolute: false,\n showNativeOverlaidScrollbars: false,\n update: {\n elementEvents: [ [ \"img\", \"load\" ] ],\n debounce: [ 0, 33 ],\n attributes: null,\n ignoreMutation: null\n },\n overflow: {\n x: \"scroll\",\n y: \"scroll\"\n },\n scrollbars: {\n theme: \"os-theme-dark\",\n visibility: \"auto\",\n autoHide: \"never\",\n autoHideDelay: 1300,\n autoHideSuspend: false,\n dragScroll: true,\n clickScroll: false,\n pointers: [ \"mouse\", \"touch\", \"pen\" ]\n }\n};\n\nconst getOptionsDiff = (t, n) => {\n const o = {};\n const s = concat(keys(n), keys(t));\n each(s, (s => {\n const e = t[s];\n const c = n[s];\n if (isObject(e) && isObject(c)) {\n assignDeep(o[s] = {}, getOptionsDiff(e, c));\n if (isEmptyObject(o[s])) {\n delete o[s];\n }\n } else if (hasOwnProperty(n, s) && c !== e) {\n let t = true;\n if (isArray(e) || isArray(c)) {\n try {\n if (opsStringify(e) === opsStringify(c)) {\n t = false;\n }\n } catch (r) {}\n }\n if (t) {\n o[s] = c;\n }\n }\n }));\n return o;\n};\n\nconst createOptionCheck = (t, n, o) => s => [ getPropByPath(t, s), o || getPropByPath(n, s) !== void 0 ];\n\nconst P = `data-overlayscrollbars`;\n\nconst U = \"os-environment\";\n\nconst B = `${U}-scrollbar-hidden`;\n\nconst N = `${P}-initialize`;\n\nconst j = P;\n\nconst F = `${j}-overflow-x`;\n\nconst q = `${j}-overflow-y`;\n\nconst W = \"overflowVisible\";\n\nconst X = \"scrollbarPressed\";\n\nconst Y = \"updating\";\n\nconst J = \"body\";\n\nconst K = `${P}-viewport`;\n\nconst Z = \"arrange\";\n\nconst G = \"scrollbarHidden\";\n\nconst Q = W;\n\nconst tt = `${P}-padding`;\n\nconst nt = Q;\n\nconst ot = `${P}-content`;\n\nconst st = \"os-size-observer\";\n\nconst et = `${st}-appear`;\n\nconst ct = `${st}-listener`;\n\nconst rt = `${ct}-scroll`;\n\nconst lt = `${ct}-item`;\n\nconst it = `${lt}-final`;\n\nconst at = \"os-trinsic-observer\";\n\nconst ut = \"os-theme-none\";\n\nconst ft = \"os-scrollbar\";\n\nconst _t = `${ft}-rtl`;\n\nconst dt = `${ft}-horizontal`;\n\nconst vt = `${ft}-vertical`;\n\nconst ht = `${ft}-track`;\n\nconst pt = `${ft}-handle`;\n\nconst gt = `${ft}-visible`;\n\nconst bt = `${ft}-cornerless`;\n\nconst wt = `${ft}-transitionless`;\n\nconst St = `${ft}-interaction`;\n\nconst yt = `${ft}-unusable`;\n\nconst mt = `${ft}-auto-hide`;\n\nconst Ot = `${mt}-hidden`;\n\nconst $t = `${ft}-wheel`;\n\nconst Ct = `${ht}-interactive`;\n\nconst xt = `${pt}-interactive`;\n\nconst Ht = {};\n\nconst It = {};\n\nconst addPlugins = t => {\n each(t, (t => each(t, ((n, o) => {\n Ht[o] = t[o];\n }))));\n};\n\nconst registerPluginModuleInstances = (t, n, o) => keys(t).map((s => {\n const {static: e, instance: c} = t[s];\n const [r, l, i] = o || [];\n const a = o ? c : e;\n if (a) {\n const t = o ? a(r, l, n) : a(n);\n return (i || It)[s] = t;\n }\n}));\n\nconst getStaticPluginModuleInstance = t => It[t];\n\nconst zt = \"__osOptionsValidationPlugin\";\n\nconst Et = \"__osSizeObserverPlugin\";\n\nconst At = /* @__PURE__ */ (() => ({\n [Et]: {\n static: () => (t, n, o) => {\n const s = 3333333;\n const e = \"scroll\";\n const c = createDOM(`<div class=\"${lt}\" dir=\"ltr\"><div class=\"${lt}\"><div class=\"${it}\"></div></div><div class=\"${lt}\"><div class=\"${it}\" style=\"width: 200%; height: 200%\"></div></div></div>`);\n const i = c[0];\n const a = i.lastChild;\n const u = i.firstChild;\n const f = u == null ? void 0 : u.firstChild;\n let _ = k(i);\n let d = _;\n let v = false;\n let h;\n const reset = () => {\n scrollElementTo(u, s);\n scrollElementTo(a, s);\n };\n const onResized = t => {\n h = 0;\n if (v) {\n _ = d;\n n(t === true);\n }\n };\n const onScroll = t => {\n d = k(i);\n v = !t || !equalWH(d, _);\n if (t) {\n stopPropagation(t);\n if (v && !h) {\n r(h);\n h = l(onResized);\n }\n } else {\n onResized(t === false);\n }\n reset();\n };\n const p = [ appendChildren(t, c), addEventListener(u, e, onScroll), addEventListener(a, e, onScroll) ];\n addClass(t, rt);\n setStyles(f, {\n [H]: s,\n [I]: s\n });\n l(reset);\n return [ o ? bind(onScroll, false) : reset, p ];\n }\n }\n}))();\n\nconst getShowNativeOverlaidScrollbars = (t, n) => {\n const {T: o} = n;\n const [s, e] = t(\"showNativeOverlaidScrollbars\");\n return [ s && o.x && o.y, e ];\n};\n\nconst overflowIsVisible = t => t.indexOf(E) === 0;\n\nconst getViewportOverflowState = (t, n) => {\n const {D: o} = t;\n const getStatePerAxis = t => {\n const s = getStyles(o, t);\n const e = n ? n[t] : s;\n const c = e === \"scroll\";\n return [ s, c ];\n };\n const [s, e] = getStatePerAxis(C);\n const [c, r] = getStatePerAxis(x);\n return {\n k: {\n x: s,\n y: c\n },\n R: {\n x: e,\n y: r\n }\n };\n};\n\nconst setViewportOverflowState = (t, n, o, s) => {\n const e = n.x || n.y;\n const setAxisOverflowStyle = (t, n) => {\n const o = overflowIsVisible(t);\n const s = o && e ? \"hidden\" : \"\";\n const c = n && o && t.replace(`${E}-`, \"\") || s;\n return [ n && !o ? t : \"\", overflowIsVisible(c) ? \"hidden\" : c ];\n };\n const [c, r] = setAxisOverflowStyle(o.x, n.x);\n const [l, i] = setAxisOverflowStyle(o.y, n.y);\n s[C] = r && l ? r : c;\n s[x] = i && c ? i : l;\n return getViewportOverflowState(t, s);\n};\n\nconst Tt = \"__osScrollbarsHidingPlugin\";\n\nconst Dt = /* @__PURE__ */ (() => ({\n [Tt]: {\n static: () => ({\n M: (t, n, o, s, e) => {\n const {V: c, D: r} = t;\n const {L: l, T: i, P: a} = s;\n const u = !c && !l && (i.x || i.y);\n const [f] = getShowNativeOverlaidScrollbars(e, s);\n const _getViewportOverflowHideOffset = t => {\n const {R: n} = t;\n const o = l || f ? 0 : 42;\n const getHideOffsetPerAxis = (t, n, s) => {\n const e = t ? o : s;\n const c = n && !l ? e : 0;\n const r = t && !!o;\n return [ c, r ];\n };\n const [s, e] = getHideOffsetPerAxis(i.x, n.x, a.x);\n const [c, r] = getHideOffsetPerAxis(i.y, n.y, a.y);\n return {\n U: {\n x: s,\n y: c\n },\n B: {\n x: e,\n y: r\n }\n };\n };\n const _hideNativeScrollbars = (t, {N: o}, s, e) => {\n assignDeep(e, {\n [O]: 0,\n [$]: 0,\n [m]: 0\n });\n if (!c) {\n const {U: c, B: r} = _getViewportOverflowHideOffset(t);\n const {x: l, y: i} = r;\n const {x: a, y: u} = c;\n const {j: f} = n;\n const _ = o ? m : O;\n const d = o ? S : w;\n const v = f[_];\n const h = f[$];\n const p = f[d];\n const g = f[y];\n e[H] = `calc(100% + ${u + v * -1}px)`;\n e[_] = -u + v;\n e[$] = -a + h;\n if (s) {\n e[d] = p + (i ? u : 0);\n e[y] = g + (l ? a : 0);\n }\n }\n };\n const _arrangeViewport = (t, s, e) => {\n if (u) {\n const {j: c} = n;\n const {U: l, B: i} = _getViewportOverflowHideOffset(t);\n const {x: a, y: u} = i;\n const {x: f, y: _} = l;\n const {N: d} = o;\n const v = d ? w : S;\n const h = c[v];\n const p = c.paddingTop;\n const g = s.w + e.w;\n const b = s.h + e.h;\n const y = {\n w: _ && u ? `${_ + g - h}px` : \"\",\n h: f && a ? `${f + b - p}px` : \"\"\n };\n setStyles(r, {\n \"--os-vaw\": y.w,\n \"--os-vah\": y.h\n });\n }\n return u;\n };\n const _undoViewportArrange = s => {\n if (u) {\n const e = s || getViewportOverflowState(t);\n const {j: c} = n;\n const {B: l} = _getViewportOverflowHideOffset(e);\n const {x: i, y: a} = l;\n const f = {};\n const assignProps = t => each(t, (t => {\n f[t] = c[t];\n }));\n if (i) {\n assignProps([ $, b, y ]);\n }\n if (a) {\n assignProps([ m, O, S, w ]);\n }\n const _ = getStyles(r, keys(f));\n removeAttrClass(r, K, Z);\n setStyles(r, f);\n return [ () => {\n _hideNativeScrollbars(e, o, u, _);\n setStyles(r, _);\n addAttrClass(r, K, Z);\n }, e ];\n }\n return [ noop ];\n };\n return {\n F: _getViewportOverflowHideOffset,\n q: _arrangeViewport,\n W: _undoViewportArrange,\n X: _hideNativeScrollbars\n };\n },\n Y: () => {\n let t = {\n w: 0,\n h: 0\n };\n let o = 0;\n const getWindowDPR = () => {\n const t = n.screen;\n const o = t.deviceXDPI || 0;\n const s = t.logicalXDPI || 1;\n return n.devicePixelRatio || o / s;\n };\n const diffBiggerThanOne = (t, n) => {\n const o = c(t);\n const s = c(n);\n return !(o === s || o + 1 === s || o - 1 === s);\n };\n return (n, s) => {\n const r = windowSize();\n const l = {\n w: r.w - t.w,\n h: r.h - t.h\n };\n if (l.w === 0 && l.h === 0) {\n return;\n }\n const i = {\n w: c(l.w),\n h: c(l.h)\n };\n const a = {\n w: c(e(r.w / (t.w / 100))),\n h: c(e(r.h / (t.h / 100)))\n };\n const u = getWindowDPR();\n const f = i.w > 2 && i.h > 2;\n const _ = !diffBiggerThanOne(a.w, a.h);\n const d = u !== o && u > 0;\n const v = f && _ && d;\n let h;\n let p;\n if (v) {\n [p, h] = s();\n assignDeep(n.P, p);\n }\n t = r;\n o = u;\n return h;\n };\n }\n })\n }\n}))();\n\nconst kt = \"__osClickScrollPlugin\";\n\nconst Rt = /* @__PURE__ */ (() => ({\n [kt]: {\n static: () => (t, n, o, s, e) => {\n let c = 0;\n let r = noop;\n const animateClickScroll = l => {\n r = animateNumber(l, l + s * Math.sign(o), 133, ((o, l, a) => {\n t(o);\n const u = n();\n const f = u + s;\n const _ = e >= u && e <= f;\n if (a && !_) {\n if (c) {\n animateClickScroll(o);\n } else {\n const t = i((() => {\n animateClickScroll(o);\n }), 222);\n r = () => {\n clearTimeout(t);\n };\n }\n c++;\n }\n }));\n };\n animateClickScroll(0);\n return () => r();\n }\n }\n}))();\n\nlet Mt;\n\nconst createEnvironment = () => {\n const getNativeScrollbarSize = (t, n, o, s) => {\n appendChildren(t, n);\n const e = R(n);\n const c = k(n);\n const r = fractionalSize(o);\n s && removeElements(n);\n return {\n x: c.h - e.h + r.h,\n y: c.w - e.w + r.w\n };\n };\n const getNativeScrollbarsHiding = t => {\n let n = false;\n const o = addClass(t, B);\n try {\n n = getStyles(t, \"scrollbar-width\") === \"none\" || getStyles(t, \"display\", \"::-webkit-scrollbar\") === \"none\";\n } catch (s) {}\n o();\n return n;\n };\n const getRtlScrollBehavior = (t, n) => {\n setStyles(t, {\n [C]: z,\n [x]: z,\n direction: \"rtl\"\n });\n scrollElementTo(t, {\n x: 0\n });\n const o = absoluteCoordinates(t);\n const s = absoluteCoordinates(n);\n scrollElementTo(t, {\n x: -999\n });\n const e = absoluteCoordinates(n);\n return {\n i: o.x === s.x,\n n: s.x !== e.x\n };\n };\n const {body: t} = document;\n const o = createDOM(`<div class=\"${U}\"><div></div></div>`);\n const s = o[0];\n const e = s.firstChild;\n const [c, , r] = createEventListenerHub();\n const [l, i] = createCache({\n o: getNativeScrollbarSize(t, s, e),\n u: equalXY\n }, bind(getNativeScrollbarSize, t, s, e, true));\n const [a] = i();\n const u = getNativeScrollbarsHiding(s);\n const f = {\n x: a.x === 0,\n y: a.y === 0\n };\n const _ = {\n elements: {\n host: null,\n padding: !u,\n viewport: t => u && t === t.ownerDocument.body && t,\n content: false\n },\n scrollbars: {\n slot: true\n },\n cancel: {\n nativeScrollbarsOverlaid: false,\n body: null\n }\n };\n const v = assignDeep({}, L);\n const h = bind(assignDeep, {}, v);\n const p = bind(assignDeep, {}, _);\n const g = {\n P: a,\n T: f,\n L: u,\n J: !!d,\n K: getRtlScrollBehavior(s, e),\n Z: bind(c, \"r\"),\n G: p,\n tt: t => assignDeep(_, t) && p(),\n nt: h,\n ot: t => assignDeep(v, t) && h(),\n st: assignDeep({}, _),\n et: assignDeep({}, v)\n };\n removeAttrs(s, \"style\");\n removeElements(s);\n n.addEventListener(\"resize\", (() => {\n let t;\n if (!u && (!f.x || !f.y)) {\n const n = getStaticPluginModuleInstance(Tt);\n const o = n ? n.Y() : noop;\n t = !!o(g, l);\n }\n r(\"r\", [ t ]);\n }));\n return g;\n};\n\nconst getEnvironment = () => {\n if (!Mt) {\n Mt = createEnvironment();\n }\n return Mt;\n};\n\nconst resolveInitialization = (t, n) => isFunction(n) ? n.apply(0, t) : n;\n\nconst staticInitializationElement = (t, n, o, s) => {\n const e = isUndefined(s) ? o : s;\n const c = resolveInitialization(t, e);\n return c || n.apply(0, t);\n};\n\nconst dynamicInitializationElement = (t, n, o, s) => {\n const e = isUndefined(s) ? o : s;\n const c = resolveInitialization(t, e);\n return !!c && (isHTMLElement(c) ? c : n.apply(0, t));\n};\n\nconst cancelInitialization = (t, n) => {\n const {nativeScrollbarsOverlaid: o, body: s} = n || {};\n const {T: e, L: c, G: r} = getEnvironment();\n const {nativeScrollbarsOverlaid: l, body: i} = r().cancel;\n const a = o != null ? o : l;\n const u = isUndefined(s) ? i : s;\n const f = (e.x || e.y) && a;\n const _ = t && (isNull(u) ? !c : u);\n return !!f || !!_;\n};\n\nconst Vt = new WeakMap;\n\nconst addInstance = (t, n) => {\n Vt.set(t, n);\n};\n\nconst removeInstance = t => {\n Vt.delete(t);\n};\n\nconst getInstance = t => Vt.get(t);\n\nconst createEventContentChange = (t, n, o) => {\n let s = false;\n const e = o ? new WeakMap : false;\n const destroy = () => {\n s = true;\n };\n const updateElements = c => {\n if (e && o) {\n const r = o.map((n => {\n const [o, s] = n || [];\n const e = s && o ? (c || find)(o, t) : [];\n return [ e, s ];\n }));\n each(r, (o => each(o[0], (c => {\n const r = o[1];\n const l = e.get(c) || [];\n const i = t.contains(c);\n if (i && r) {\n const t = addEventListener(c, r, (o => {\n if (s) {\n t();\n e.delete(c);\n } else {\n n(o);\n }\n }));\n e.set(c, push(l, t));\n } else {\n runEachAndClear(l);\n e.delete(c);\n }\n }))));\n }\n };\n updateElements();\n return [ destroy, updateElements ];\n};\n\nconst createDOMObserver = (t, n, o, s) => {\n let e = false;\n const {ct: c, rt: r, lt: l, it: i, ut: a, ft: f} = s || {};\n const _ = debounce((() => e && o(true)), {\n v: 33,\n p: 99\n });\n const [d, v] = createEventContentChange(t, _, l);\n const h = c || [];\n const p = r || [];\n const g = concat(h, p);\n const observerCallback = (e, c) => {\n if (!isEmptyArray(c)) {\n const r = a || noop;\n const l = f || noop;\n const u = [];\n const _ = [];\n let d = false;\n let h = false;\n each(c, (o => {\n const {attributeName: e, target: c, type: a, oldValue: f, addedNodes: v, removedNodes: g} = o;\n const b = a === \"attributes\";\n const w = a === \"childList\";\n const S = t === c;\n const y = b && e;\n const m = y && getAttr(c, e || \"\") || null;\n const O = y && f !== m;\n const $ = inArray(p, e) && O;\n if (n && (w || !S)) {\n const n = b && O;\n const a = n && i && is(c, i);\n const _ = a ? !r(c, e, f, m) : !b || n;\n const d = _ && !l(o, !!a, t, s);\n each(v, (t => push(u, t)));\n each(g, (t => push(u, t)));\n h = h || d;\n }\n if (!n && S && O && !r(c, e, f, m)) {\n push(_, e);\n d = d || $;\n }\n }));\n v((t => deduplicateArray(u).reduce(((n, o) => {\n push(n, find(t, o));\n return is(o, t) ? push(n, o) : n;\n }), [])));\n if (n) {\n !e && h && o(false);\n return [ false ];\n }\n if (!isEmptyArray(_) || d) {\n const t = [ deduplicateArray(_), d ];\n !e && o.apply(0, t);\n return t;\n }\n }\n };\n const b = new u(bind(observerCallback, false));\n return [ () => {\n b.observe(t, {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: g,\n subtree: n,\n childList: n,\n characterData: n\n });\n e = true;\n return () => {\n if (e) {\n d();\n b.disconnect();\n e = false;\n }\n };\n }, () => {\n if (e) {\n _.m();\n return observerCallback(true, b.takeRecords());\n }\n } ];\n};\n\nconst createSizeObserver = (t, n, o) => {\n const s = 3333333;\n const {_t: e, dt: c} = o || {};\n const r = getStaticPluginModuleInstance(Et);\n const {K: l} = getEnvironment();\n const i = bind(getDirectionIsRTL, t);\n const [a] = createCache({\n o: false,\n _: true\n });\n return () => {\n const o = [];\n const u = createDOM(`<div class=\"${st}\"><div class=\"${ct}\"></div></div>`);\n const f = u[0];\n const d = f.firstChild;\n const onSizeChangedCallbackProxy = t => {\n const o = t instanceof ResizeObserverEntry;\n const c = !o && isArray(t);\n let r = false;\n let i = false;\n let u = true;\n if (o) {\n const [n, , o] = a(t.contentRect);\n const s = domRectHasDimensions(n);\n const e = domRectAppeared(n, o);\n const c = !o;\n i = c || e;\n r = !i && !s;\n u = !r;\n } else if (c) {\n [, u] = t;\n } else {\n i = t === true;\n }\n if (e && u) {\n const n = c ? t[0] : getDirectionIsRTL(f);\n scrollElementTo(f, {\n x: convertScrollPosition(s, s, n && l),\n y: s\n });\n }\n if (!r) {\n n({\n vt: c ? t : void 0,\n ht: !c,\n dt: i\n });\n }\n };\n if (_) {\n const t = new _((t => onSizeChangedCallbackProxy(t.pop())));\n t.observe(d);\n push(o, (() => {\n t.disconnect();\n }));\n } else if (r) {\n const [t, n] = r(d, onSizeChangedCallbackProxy, c);\n push(o, concat([ addClass(f, et), addEventListener(f, \"animationstart\", t) ], n));\n } else {\n return noop;\n }\n if (e) {\n const [t] = createCache({\n o: void 0\n }, i);\n push(o, addEventListener(f, \"scroll\", (n => {\n const o = t();\n const [s, e, c] = o;\n if (e) {\n removeClass(d, \"ltr rtl\");\n addClass(d, s ? \"rtl\" : \"ltr\");\n onSizeChangedCallbackProxy([ !!s, e, c ]);\n }\n stopPropagation(n);\n })));\n }\n return bind(runEachAndClear, push(o, appendChildren(t, f)));\n };\n};\n\nconst createTrinsicObserver = (t, n) => {\n let o;\n const isHeightIntrinsic = t => t.h === 0 || t.isIntersecting || t.intersectionRatio > 0;\n const s = createDiv(at);\n const [e] = createCache({\n o: false\n });\n const triggerOnTrinsicChangedCallback = (t, o) => {\n if (t) {\n const s = e(isHeightIntrinsic(t));\n const [, c] = s;\n return c && !o && n(s) && [ s ];\n }\n };\n const intersectionObserverCallback = (t, n) => triggerOnTrinsicChangedCallback(n.pop(), t);\n return [ () => {\n const n = [];\n if (f) {\n o = new f(bind(intersectionObserverCallback, false), {\n root: t\n });\n o.observe(s);\n push(n, (() => {\n o.disconnect();\n }));\n } else {\n const onSizeChanged = () => {\n const t = k(s);\n triggerOnTrinsicChangedCallback(t);\n };\n push(n, createSizeObserver(s, onSizeChanged)());\n onSizeChanged();\n }\n return bind(runEachAndClear, push(n, appendChildren(t, s)));\n }, () => o && intersectionObserverCallback(true, o.takeRecords()) ];\n};\n\nconst createObserversSetup = (t, n, o, s) => {\n let e;\n let c;\n let r;\n let l;\n let i;\n let a;\n const {L: u} = getEnvironment();\n const f = `[${j}]`;\n const d = `[${K}]`;\n const v = [ \"tabindex\" ];\n const h = [ \"wrap\", \"cols\", \"rows\" ];\n const p = [ \"id\", \"class\", \"style\", \"open\" ];\n const {gt: g, bt: b, D: w, wt: S, St: y, V: m, yt: O, Ot: $} = t;\n const C = {\n $t: false,\n N: getDirectionIsRTL(g)\n };\n const x = getEnvironment();\n const H = getStaticPluginModuleInstance(Tt);\n const [I] = createCache({\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n }, (() => {\n const s = H && H.M(t, n, C, x, o).W;\n const e = O(Q);\n const c = !m && O(Z);\n const r = c && getElmentScroll(w);\n $(Q);\n m && $(Y, true);\n const l = c && s && s()[0];\n const i = M(S);\n const a = M(w);\n const u = fractionalSize(w);\n $(Q, e);\n m && $(Y);\n l && l();\n scrollElementTo(w, r);\n return {\n w: a.w + i.w + u.w,\n h: a.h + i.h + u.h\n };\n }));\n const z = y ? h : concat(p, h);\n const E = debounce(s, {\n v: () => e,\n p: () => c,\n S(t, n) {\n const [o] = t;\n const [s] = n;\n return [ concat(keys(o), keys(s)).reduce(((t, n) => {\n t[n] = o[n] || s[n];\n return t;\n }), {}) ];\n }\n });\n const setDirectionWhenViewportIsTarget = t => {\n if (m) {\n const n = getDirectionIsRTL(g);\n assignDeep(t, {\n Ct: a !== n\n });\n assignDeep(C, {\n N: n\n });\n a = n;\n }\n };\n const updateViewportAttrsFromHost = t => {\n each(t || v, (t => {\n if (inArray(v, t)) {\n const n = getAttr(b, t);\n if (isString(n)) {\n setAttrs(w, t, n);\n } else {\n removeAttrs(w, t);\n }\n }\n }));\n };\n const onTrinsicChanged = (t, n) => {\n const [o, e] = t;\n const c = {\n xt: e\n };\n assignDeep(C, {\n $t: o\n });\n !n && s(c);\n return c;\n };\n const onSizeChanged = ({ht: t, vt: n, dt: o}) => {\n const e = t && !o && !n;\n const c = !e && u ? E : s;\n const [r, l] = n || [];\n const i = {\n ht: t || o,\n dt: o,\n Ct: l\n };\n setDirectionWhenViewportIsTarget(i);\n n && assignDeep(C, {\n N: r\n });\n c(i);\n };\n const onContentMutation = (t, n) => {\n const [, o] = I();\n const e = {\n Ht: o\n };\n setDirectionWhenViewportIsTarget(e);\n const c = t ? s : E;\n o && !n && c(e);\n return e;\n };\n const onHostMutation = (t, n, o) => {\n const s = {\n It: n\n };\n setDirectionWhenViewportIsTarget(s);\n if (n && !o) {\n E(s);\n } else if (!m) {\n updateViewportAttrsFromHost(t);\n }\n return s;\n };\n const {Z: A} = x;\n const [T, D] = S ? createTrinsicObserver(b, onTrinsicChanged) : [];\n const k = !m && createSizeObserver(b, onSizeChanged, {\n dt: true,\n _t: true\n });\n const [R, V] = createDOMObserver(b, false, onHostMutation, {\n rt: p,\n ct: concat(p, v)\n });\n const L = m && _ && new _((t => {\n const n = t[t.length - 1].contentRect;\n onSizeChanged({\n ht: true,\n dt: domRectAppeared(n, i)\n });\n i = n;\n }));\n return [ () => {\n updateViewportAttrsFromHost();\n L && L.observe(b);\n const t = k && k();\n const n = T && T();\n const o = R();\n const s = A((t => {\n const [, n] = I();\n E({\n zt: t,\n Ht: n\n });\n }));\n return () => {\n L && L.disconnect();\n t && t();\n n && n();\n l && l();\n o();\n s();\n };\n }, ({Et: t, At: n, Tt: o}) => {\n const s = {};\n const [i] = t(\"update.ignoreMutation\");\n const [a, u] = t(\"update.attributes\");\n const [_, v] = t(\"update.elementEvents\");\n const [h, p] = t(\"update.debounce\");\n const g = v || u;\n const b = n || o;\n const ignoreMutationFromOptions = t => isFunction(i) && i(t);\n if (g) {\n r && r();\n l && l();\n const [t, n] = createDOMObserver(S || w, true, onContentMutation, {\n ct: concat(z, a || []),\n lt: _,\n it: f,\n ft: (t, n) => {\n const {target: o, attributeName: s} = t;\n const e = !n && s && !m ? liesBetween(o, f, d) : false;\n return e || !!closest(o, `.${ft}`) || !!ignoreMutationFromOptions(t);\n }\n });\n l = t();\n r = n;\n }\n if (p) {\n E.m();\n if (isArray(h)) {\n const t = h[0];\n const n = h[1];\n e = isNumber(t) && t;\n c = isNumber(n) && n;\n } else if (isNumber(h)) {\n e = h;\n c = false;\n } else {\n e = false;\n c = false;\n }\n }\n if (b) {\n const t = V();\n const n = D && D();\n const o = r && r();\n t && assignDeep(s, onHostMutation(t[0], t[1], b));\n n && assignDeep(s, onTrinsicChanged(n[0], b));\n o && assignDeep(s, onContentMutation(o[0], b));\n }\n setDirectionWhenViewportIsTarget(s);\n return s;\n }, C ];\n};\n\nconst createScrollbarsSetupElements = (t, n, o, s) => {\n const {G: e, K: c} = getEnvironment();\n const {scrollbars: r} = e();\n const {slot: l} = r;\n const {gt: a, bt: u, D: f, Dt: _, kt: v, Rt: h, V: p} = n;\n const {scrollbars: g} = _ ? {} : t;\n const {slot: b} = g || {};\n const w = new Map;\n const initScrollTimeline = t => d && new d({\n source: v,\n axis: t\n });\n const S = initScrollTimeline(\"x\");\n const y = initScrollTimeline(\"y\");\n const m = dynamicInitializationElement([ a, u, f ], (() => p && h ? a : u), l, b);\n const getScrollbarHandleLengthRatio = (t, n) => {\n if (n) {\n const o = t ? H : I;\n const {Mt: s, Vt: e} = n;\n const c = getBoundingClientRect(e)[o];\n const r = getBoundingClientRect(s)[o];\n return capNumber(0, 1, c / r || 0);\n }\n const s = t ? \"x\" : \"y\";\n const {Lt: e, Pt: c} = o;\n const r = c[s];\n const l = e[s];\n return capNumber(0, 1, r / (r + l) || 0);\n };\n const getScrollbarHandleOffsetRatio = (t, n, o, s) => {\n const e = getScrollbarHandleLengthRatio(o, t);\n return 1 / e * (1 - e) * (s ? 1 - n : n) || 0;\n };\n const addDirectionRTLKeyframes = (t, n) => assignDeep(t, n ? {\n clear: [ \"left\" ]\n } : {});\n const cancelElementAnimations = t => {\n w.forEach(((n, o) => {\n const s = t ? inArray(createOrKeepArray(t), o) : true;\n if (s) {\n each(n || [], (t => {\n t && t.cancel();\n }));\n w.delete(o);\n }\n }));\n };\n const setElementAnimation = (t, n, o, s) => {\n const e = w.get(t) || [];\n const c = e.find((t => t && t.timeline === n));\n if (c) {\n c.effect = new KeyframeEffect(t, o, {\n composite: s\n });\n } else {\n w.set(t, concat(e, [ t.animate(o, {\n timeline: n,\n composite: s\n }) ]));\n }\n };\n const scrollbarStructureAddRemoveClass = (t, n, o) => {\n const s = o ? addClass : removeClass;\n each(t, (t => {\n s(t.Ut, n);\n }));\n };\n const scrollbarStyle = (t, n) => {\n each(t, (t => {\n const [o, s] = n(t);\n setStyles(o, s);\n }));\n };\n const scrollbarStructureRefreshHandleLength = (t, n) => {\n scrollbarStyle(t, (t => {\n const {Vt: o} = t;\n return [ o, {\n [n ? H : I]: ratioToCssPercent(getScrollbarHandleLengthRatio(n))\n } ];\n }));\n };\n const scrollbarStructureRefreshHandleOffset = (t, n) => {\n const {Lt: s} = o;\n const e = n ? s.x : s.y;\n const getTransformValue = (t, o, s) => getTrasformTranslateValue(ratioToCssPercent(getScrollbarHandleOffsetRatio(t, getRawScrollRatio(o, e, s), n, s)), n);\n if (S && y) {\n each(t, (t => {\n const {Ut: o, Vt: s} = t;\n const r = n && getDirectionIsRTL(o) && c;\n setElementAnimation(s, n ? S : y, addDirectionRTLKeyframes({\n transform: getRawScrollBounds(e, r).map((n => getTransformValue(t, n, r)))\n }, r));\n }));\n } else {\n const o = getElmentScroll(v);\n scrollbarStyle(t, (t => {\n const {Vt: s, Ut: e} = t;\n return [ s, {\n transform: getTransformValue(t, n ? o.x : o.y, n && getDirectionIsRTL(e) && c)\n } ];\n }));\n }\n };\n const doRefreshScrollbarOffset = t => p && !h && parent(t) === f;\n const O = [];\n const $ = [];\n const C = [];\n const scrollbarsAddRemoveClass = (t, n, o) => {\n const s = isBoolean(o);\n const e = s ? o : true;\n const c = s ? !o : true;\n e && scrollbarStructureAddRemoveClass($, t, n);\n c && scrollbarStructureAddRemoveClass(C, t, n);\n };\n const refreshScrollbarsHandleLength = () => {\n scrollbarStructureRefreshHandleLength($, true);\n scrollbarStructureRefreshHandleLength(C);\n };\n const refreshScrollbarsHandleOffset = () => {\n scrollbarStructureRefreshHandleOffset($, true);\n scrollbarStructureRefreshHandleOffset(C);\n };\n const refreshScrollbarsScrollbarOffset = () => {\n if (p) {\n const {Lt: t} = o;\n const n = .5;\n if (S && y) {\n each(concat(C, $), (({Ut: o}) => {\n if (doRefreshScrollbarOffset(o)) {\n const setScrollbarElementAnimation = (t, s, e) => {\n const r = e && getDirectionIsRTL(o) && c;\n setElementAnimation(o, t, addDirectionRTLKeyframes({\n transform: getRawScrollBounds(s - n, r).map((t => getTrasformTranslateValue(numberToCssPx(t), e)))\n }, r), \"add\");\n };\n setScrollbarElementAnimation(S, t.x, true);\n setScrollbarElementAnimation(y, t.y);\n } else {\n cancelElementAnimations(o);\n }\n }));\n } else {\n const n = getElmentScroll(v);\n const styleScrollbarPosition = o => {\n const {Ut: s} = o;\n const e = doRefreshScrollbarOffset(s) && s;\n const getTranslateValue = (t, n, o) => {\n const s = getRawScrollRatio(t, n, o);\n const e = n * s;\n return numberToCssPx(o ? -e : e);\n };\n return [ e, {\n transform: e ? getTrasformTranslateValue({\n x: getTranslateValue(n.x, t.x, getDirectionIsRTL(s) && c),\n y: getTranslateValue(n.y, t.y)\n }) : \"\"\n } ];\n };\n scrollbarStyle($, styleScrollbarPosition);\n scrollbarStyle(C, styleScrollbarPosition);\n }\n }\n };\n const generateScrollbarDOM = t => {\n const n = t ? dt : vt;\n const o = t ? $ : C;\n const e = isEmptyArray(o) ? wt : \"\";\n const c = createDiv(`${ft} ${n} ${e}`);\n const r = createDiv(ht);\n const l = createDiv(pt);\n const i = {\n Ut: c,\n Mt: r,\n Vt: l\n };\n push(o, i);\n push(O, [ appendChildren(c, r), appendChildren(r, l), bind(removeElements, c), cancelElementAnimations, s(i, scrollbarsAddRemoveClass, scrollbarStructureRefreshHandleOffset, t) ]);\n return i;\n };\n const x = bind(generateScrollbarDOM, true);\n const z = bind(generateScrollbarDOM, false);\n const appendElements = () => {\n appendChildren(m, $[0].Ut);\n appendChildren(m, C[0].Ut);\n i((() => {\n scrollbarsAddRemoveClass(wt);\n }), 300);\n return bind(runEachAndClear, O);\n };\n x();\n z();\n return [ {\n Bt: refreshScrollbarsHandleLength,\n Nt: refreshScrollbarsHandleOffset,\n jt: refreshScrollbarsScrollbarOffset,\n Ft: scrollbarsAddRemoveClass,\n qt: {\n J: S,\n Wt: $,\n Xt: x,\n Yt: bind(scrollbarStyle, $)\n },\n Jt: {\n J: y,\n Wt: C,\n Xt: z,\n Yt: bind(scrollbarStyle, C)\n }\n }, appendElements ];\n};\n\nconst createScrollbarsSetupEvents = (t, n, o) => {\n const {bt: s, kt: c, Kt: r} = n;\n return (n, l, i, a) => {\n const {Ut: u, Mt: f, Vt: _} = n;\n const [d, v] = selfClearTimeout(333);\n const [h, p] = selfClearTimeout();\n const g = bind(i, [ n ], a);\n const b = !!c.scrollBy;\n const w = `client${a ? \"X\" : \"Y\"}`;\n const S = a ? H : I;\n const y = a ? \"left\" : \"top\";\n const m = a ? \"w\" : \"h\";\n const O = a ? \"x\" : \"y\";\n const isAffectingTransition = t => t.propertyName.indexOf(S) > -1;\n const createInteractiveScrollEvents = () => {\n const n = \"pointerup pointerleave pointercancel lostpointercapture\";\n const createRelativeHandleMove = (t, n) => s => {\n const {Lt: e} = o;\n const r = k(f)[m] - k(_)[m];\n const l = n * s / r;\n const i = l * e[O];\n scrollElementTo(c, {\n [O]: t + i\n });\n };\n return addEventListener(f, \"pointerdown\", (o => {\n const l = closest(o.target, `.${pt}`) === _;\n const i = l ? _ : f;\n const a = t.scrollbars;\n const {button: u, isPrimary: d, pointerType: v} = o;\n const {pointers: h} = a;\n const p = u === 0 && d && a[l ? \"dragScroll\" : \"clickScroll\"] && (h || []).includes(v);\n if (p) {\n const t = !l && o.shiftKey;\n const a = bind(getBoundingClientRect, _);\n const u = bind(getBoundingClientRect, f);\n const getHandleOffset = (t, n) => (t || a())[y] - (n || u())[y];\n const d = e(getBoundingClientRect(c)[S]) / k(c)[m] || 1;\n const v = createRelativeHandleMove(getElmentScroll(c)[O] || 0, 1 / d);\n const h = o[w];\n const p = a();\n const g = u();\n const b = p[S];\n const $ = getHandleOffset(p, g) + b / 2;\n const C = h - g[y];\n const x = l ? 0 : C - $;\n const releasePointerCapture = t => {\n runEachAndClear(I);\n i.releasePointerCapture(t.pointerId);\n };\n const H = addAttrClass(s, j, X);\n const I = [ H, addEventListener(r, n, releasePointerCapture), addEventListener(r, \"selectstart\", (t => preventDefault(t)), {\n H: false\n }), addEventListener(f, n, releasePointerCapture), addEventListener(f, \"pointermove\", (n => {\n const o = n[w] - h;\n if (l || t) {\n v(x + o);\n }\n })) ];\n i.setPointerCapture(o.pointerId);\n if (t) {\n v(x);\n } else if (!l) {\n const t = getStaticPluginModuleInstance(kt);\n t && push(I, t(v, getHandleOffset, x, b, C));\n }\n }\n }));\n };\n let $ = true;\n return bind(runEachAndClear, [ addEventListener(u, \"pointerenter\", (() => {\n l(St, true);\n })), addEventListener(u, \"pointerleave pointercancel\", (() => {\n l(St, false);\n })), addEventListener(u, \"wheel\", (t => {\n const {deltaX: n, deltaY: o, deltaMode: e} = t;\n if (b && $ && e === 0 && parent(u) === s) {\n c.scrollBy({\n left: n,\n top: o,\n behavior: \"smooth\"\n });\n }\n $ = false;\n l($t, true);\n d((() => {\n $ = true;\n l($t);\n }));\n preventDefault(t);\n }), {\n H: false,\n I: true\n }), addEventListener(_, \"transitionstart\", (t => {\n if (isAffectingTransition(t)) {\n const animateHandleOffset = () => {\n g();\n h(animateHandleOffset);\n };\n animateHandleOffset();\n }\n })), addEventListener(_, \"transitionend transitioncancel\", (t => {\n if (isAffectingTransition(t)) {\n p();\n g();\n }\n })), addEventListener(u, \"mousedown\", bind(addEventListener, r, \"click\", stopPropagation, {\n A: true,\n I: true\n }), {\n I: true\n }), createInteractiveScrollEvents(), v, p ]);\n };\n};\n\nconst createScrollbarsSetup = (t, n, o, s, e, c) => {\n let r;\n let l;\n let i;\n let a;\n let u;\n let f = noop;\n let _ = 0;\n const [d, v] = selfClearTimeout();\n const [h, p] = selfClearTimeout();\n const [g, b] = selfClearTimeout(100);\n const [w, S] = selfClearTimeout(100);\n const [y, m] = selfClearTimeout(100);\n const [O, $] = selfClearTimeout((() => _));\n const [C, x] = createScrollbarsSetupElements(t, e, s, createScrollbarsSetupEvents(n, e, s));\n const {bt: H, Zt: I, Rt: z} = e;\n const {Ft: E, Bt: A, Nt: T, jt: D} = C;\n const manageAutoHideSuspension = t => {\n E(mt, t, true);\n E(mt, t, false);\n };\n const manageScrollbarsAutoHide = (t, n) => {\n $();\n if (t) {\n E(Ot);\n } else {\n const t = bind(E, Ot, true);\n if (_ > 0 && !n) {\n O(t);\n } else {\n t();\n }\n }\n };\n const isHoverablePointerType = t => t.pointerType === \"mouse\";\n const onHostMouseEnter = t => {\n if (isHoverablePointerType(t)) {\n a = l;\n a && manageScrollbarsAutoHide(true);\n }\n };\n const k = [ b, $, S, m, p, v, () => f(), addEventListener(H, \"pointerover\", onHostMouseEnter, {\n A: true\n }), addEventListener(H, \"pointerenter\", onHostMouseEnter), addEventListener(H, \"pointerleave\", (t => {\n if (isHoverablePointerType(t)) {\n a = false;\n l && manageScrollbarsAutoHide(false);\n }\n })), addEventListener(H, \"pointermove\", (t => {\n isHoverablePointerType(t) && r && d((() => {\n b();\n manageScrollbarsAutoHide(true);\n w((() => {\n r && manageScrollbarsAutoHide(false);\n }));\n }));\n })), addEventListener(I, \"scroll\", (t => {\n h((() => {\n T();\n i && manageScrollbarsAutoHide(true);\n g((() => {\n i && !a && manageScrollbarsAutoHide(false);\n }));\n }));\n c(t);\n D();\n })) ];\n return [ () => bind(runEachAndClear, push(k, x())), ({Et: t, Tt: n, Gt: e, Qt: c}) => {\n const {tn: a, nn: d, sn: v} = c || {};\n const {Ct: h, dt: p} = e || {};\n const {N: g} = o;\n const {T: b} = getEnvironment();\n const {Lt: w, k: S, en: m} = s;\n const [O, $] = t(\"showNativeOverlaidScrollbars\");\n const [C, x] = t(\"scrollbars.theme\");\n const [H, k] = t(\"scrollbars.visibility\");\n const [R, M] = t(\"scrollbars.autoHide\");\n const [V, L] = t(\"scrollbars.autoHideSuspend\");\n const [P] = t(\"scrollbars.autoHideDelay\");\n const [U, B] = t(\"scrollbars.dragScroll\");\n const [N, j] = t(\"scrollbars.clickScroll\");\n const F = p && !n;\n const q = m.x || m.y;\n const W = a || d || h || n;\n const X = v || k;\n const Y = O && b.x && b.y;\n const setScrollbarVisibility = (t, n) => {\n const o = H === \"visible\" || H === \"auto\" && t === \"scroll\";\n E(gt, o, n);\n return o;\n };\n _ = P;\n if (F) {\n if (V && q) {\n manageAutoHideSuspension(false);\n f();\n y((() => {\n f = addEventListener(I, \"scroll\", bind(manageAutoHideSuspension, true), {\n A: true\n });\n }));\n } else {\n manageAutoHideSuspension(true);\n }\n }\n if ($) {\n E(ut, Y);\n }\n if (x) {\n E(u);\n E(C, true);\n u = C;\n }\n if (L && !V) {\n manageAutoHideSuspension(true);\n }\n if (M) {\n r = R === \"move\";\n l = R === \"leave\";\n i = R !== \"never\";\n manageScrollbarsAutoHide(!i, true);\n }\n if (B) {\n E(xt, U);\n }\n if (j) {\n E(Ct, N);\n }\n if (X) {\n const t = setScrollbarVisibility(S.x, true);\n const n = setScrollbarVisibility(S.y, false);\n const o = t && n;\n E(bt, !o);\n }\n if (W) {\n A();\n T();\n D();\n E(yt, !w.x, true);\n E(yt, !w.y, false);\n E(_t, g && !z);\n }\n }, {}, C ];\n};\n\nconst createStructureSetupElements = t => {\n const n = getEnvironment();\n const {G: o, L: s} = n;\n const {elements: e} = o();\n const {host: c, padding: r, viewport: l, content: i} = e;\n const a = isHTMLElement(t);\n const u = a ? {} : t;\n const {elements: f} = u;\n const {host: _, padding: d, viewport: v, content: h} = f || {};\n const p = a ? t : u.target;\n const g = is(p, \"textarea\");\n const b = p.ownerDocument;\n const w = b.documentElement;\n const S = p === b.body;\n const y = b.defaultView;\n const getFocusedElement = () => b.activeElement;\n const focusElm = t => {\n if (t && t.focus) {\n t.focus();\n }\n };\n const m = bind(staticInitializationElement, [ p ]);\n const O = bind(dynamicInitializationElement, [ p ]);\n const $ = bind(resolveInitialization, [ p ]);\n const C = bind(createDiv, \"\");\n const x = bind(m, C, l);\n const H = bind(O, C, i);\n const I = x(v);\n const z = I === p;\n const E = z && S;\n const A = !z && H(h);\n const T = !z && isHTMLElement(I) && I === A;\n const D = T && !!$(i);\n const k = D ? x() : I;\n const R = D ? A : H();\n const M = T ? k : I;\n const V = E ? w : M;\n const L = g ? m(C, c, _) : p;\n const P = E ? V : L;\n const U = T ? R : A;\n const B = {\n gt: p,\n bt: P,\n D: V,\n cn: !z && O(C, r, d),\n wt: U,\n kt: E ? w : V,\n Zt: E ? b : V,\n rn: S ? w : p,\n ln: y,\n Kt: b,\n St: g,\n Rt: S,\n Dt: a,\n V: z,\n an: T,\n yt: t => hasAttrClass(V, z ? j : K, t),\n Ot: (t, n) => addRemoveAttrClass(V, z ? j : K, t, n)\n };\n const W = keys(B).reduce(((t, n) => {\n const o = B[n];\n return push(t, o && isHTMLElement(o) && !parent(o) ? o : false);\n }), []);\n const elementIsGenerated = t => t ? inArray(W, t) : null;\n const {gt: X, bt: Y, cn: Z, D: Q, wt: nt} = B;\n const st = [ () => {\n removeAttrs(Y, [ j, N ]);\n removeAttrs(X, N);\n if (S) {\n removeAttrs(w, [ N, j ]);\n }\n } ];\n const et = g && elementIsGenerated(Y);\n let ct = g ? X : contents([ nt, Q, Z, Y, X ].find((t => elementIsGenerated(t) === false)));\n const rt = E ? X : nt || Q;\n const lt = bind(runEachAndClear, st);\n const appendElements = () => {\n const t = getFocusedElement();\n const unwrap = t => {\n appendChildren(parent(t), contents(t));\n removeElements(t);\n };\n const prepareWrapUnwrapFocus = t => t ? addEventListener(t, \"focus blur\", (t => {\n stopPropagation(t);\n t.stopImmediatePropagation();\n }), {\n I: true,\n H: false\n }) : noop;\n const n = prepareWrapUnwrapFocus(t);\n setAttrs(Y, j, z ? \"viewport\" : \"host\");\n setAttrs(Z, tt, \"\");\n setAttrs(nt, ot, \"\");\n if (!z) {\n setAttrs(Q, K, \"\");\n S && addAttrClass(w, j, J);\n }\n if (et) {\n insertAfter(X, Y);\n push(st, (() => {\n insertAfter(Y, X);\n removeElements(Y);\n }));\n }\n appendChildren(rt, ct);\n appendChildren(Y, Z);\n appendChildren(Z || Y, !z && Q);\n appendChildren(Q, nt);\n push(st, [ n, () => {\n const t = getFocusedElement();\n const n = prepareWrapUnwrapFocus(t);\n removeAttrs(Z, tt);\n removeAttrs(nt, ot);\n removeAttrs(Q, [ F, q, K ]);\n elementIsGenerated(nt) && unwrap(nt);\n elementIsGenerated(Q) && unwrap(Q);\n elementIsGenerated(Z) && unwrap(Z);\n focusElm(t);\n n();\n } ]);\n if (s && !z) {\n addAttrClass(Q, K, G);\n push(st, bind(removeAttrs, Q, K));\n }\n if (!z && y.top === y && t === p) {\n const t = \"tabindex\";\n const n = getAttr(Q, t);\n setAttrs(Q, t, \"-1\");\n focusElm(Q);\n const revertViewportTabIndex = () => n ? setAttrs(Q, t, n) : removeAttrs(Q, t);\n const o = addEventListener(b, \"pointerdown keydown\", (() => {\n revertViewportTabIndex();\n o();\n }));\n push(st, [ revertViewportTabIndex, o ]);\n } else {\n focusElm(t);\n }\n n();\n ct = 0;\n return lt;\n };\n return [ B, appendElements, lt ];\n};\n\nconst createTrinsicUpdateSegment = ({wt: t}) => ({Gt: n, un: o, Tt: s}) => {\n const {xt: e} = n || {};\n const {$t: c} = o;\n const r = t && (e || s);\n if (r) {\n setStyles(t, {\n [I]: c && \"100%\"\n });\n }\n};\n\nconst createPaddingUpdateSegment = ({bt: t, cn: n, D: o, V: s}, e) => {\n const [c, r] = createCache({\n u: equalTRBL,\n o: topRightBottomLeft()\n }, bind(topRightBottomLeft, t, \"padding\", \"\"));\n return ({Et: t, Gt: l, un: i, Tt: a}) => {\n let [u, f] = r(a);\n const {L: _} = getEnvironment();\n const {ht: d, Ht: v, Ct: h} = l || {};\n const {N: p} = i;\n const [g, C] = t(\"paddingAbsolute\");\n const x = a || v;\n if (d || f || x) {\n [u, f] = c(a);\n }\n const I = !s && (C || h || f);\n if (I) {\n const t = !g || !n && !_;\n const s = u.r + u.l;\n const c = u.t + u.b;\n const r = {\n [O]: t && !p ? -s : 0,\n [$]: t ? -c : 0,\n [m]: t && p ? -s : 0,\n top: t ? -u.t : 0,\n right: t ? p ? -u.r : \"auto\" : 0,\n left: t ? p ? \"auto\" : -u.l : 0,\n [H]: t && `calc(100% + ${s}px)`\n };\n const l = {\n [b]: t ? u.t : 0,\n [w]: t ? u.r : 0,\n [y]: t ? u.b : 0,\n [S]: t ? u.l : 0\n };\n setStyles(n || o, r);\n setStyles(o, l);\n assignDeep(e, {\n cn: u,\n fn: !t,\n j: n ? l : assignDeep({}, r, l)\n });\n }\n return {\n _n: I\n };\n };\n};\n\nconst createOverflowUpdateSegment = (t, s) => {\n const e = getEnvironment();\n const {bt: c, cn: r, D: l, V: i, Ot: a, Rt: u, ln: f} = t;\n const {L: _, T: d} = e;\n const v = u && i;\n const h = bind(o, 0);\n const p = {\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n };\n const g = {\n u: equalXY,\n o: {\n x: z,\n y: z\n }\n };\n const getOverflowAmount = (t, o) => {\n const s = n.devicePixelRatio % 1 !== 0 ? 1 : 0;\n const e = {\n w: h(t.w - o.w),\n h: h(t.h - o.h)\n };\n return {\n w: e.w > s ? e.w : 0,\n h: e.h > s ? e.h : 0\n };\n };\n const [b, w] = createCache(p, bind(fractionalSize, l));\n const [S, y] = createCache(p, bind(M, l));\n const [m, O] = createCache(p);\n const [$, H] = createCache(p);\n const [E] = createCache(g);\n const A = getStaticPluginModuleInstance(Tt);\n return ({Et: n, Gt: u, un: p, Tt: g}, {_n: z}) => {\n const {ht: T, It: D, Ht: k, xt: M, Ct: V, zt: L} = u || {};\n const {$t: P} = p;\n const U = A && A.M(t, s, p, e, n);\n const {q: B, W: N, X: X, F: Y} = U || {};\n const fixFlexboxGlue = (t, n) => {\n setStyles(l, {\n [I]: \"\"\n });\n if (n) {\n const {fn: n, cn: o} = s;\n const {R: e} = t;\n const r = fractionalSize(c);\n const i = R(c);\n const a = getStyles(l, \"boxSizing\") === \"content-box\";\n const u = n || a ? o.b + o.t : 0;\n const f = !(d.x && a);\n setStyles(l, {\n [I]: i.h + r.h + (e.x && f && Y ? Y(t).U.x : 0) - u\n });\n }\n };\n const [J, Z] = getShowNativeOverlaidScrollbars(n, e);\n const [ot, st] = n(\"overflow\");\n const et = !i && (T || k || D || Z || M);\n const ct = T || z || k || V || L || Z;\n const rt = overflowIsVisible(ot.x);\n const lt = overflowIsVisible(ot.y);\n const it = rt || lt;\n let at = w(g);\n let ut = y(g);\n let ft = O(g);\n let _t = H(g);\n let dt;\n if (Z && _) {\n a(G, !J);\n }\n if (et) {\n dt = getViewportOverflowState(t);\n fixFlexboxGlue(dt, P);\n }\n if (ct) {\n if (it) {\n a(Q, false);\n }\n const [t, n] = N ? N(dt) : [];\n const [s, e] = at = b(g);\n const [c, r] = ut = S(g);\n const i = R(l);\n const u = c;\n const _ = i;\n t && t();\n if ((r || e || Z) && n && !J && B && B(n, c, s)) {}\n const d = windowSize(f);\n const p = {\n w: h(o(c.w, u.w) + s.w),\n h: h(o(c.h, u.h) + s.h)\n };\n const w = {\n w: h((v ? d.w : _.w + h(i.w - c.w)) + s.w),\n h: h((v ? d.h : _.h + h(i.h - c.h)) + s.h)\n };\n _t = $(w);\n ft = m(getOverflowAmount(p, w), g);\n }\n const [vt, ht] = _t;\n const [pt, gt] = ft;\n const [bt, wt] = ut;\n const [St, yt] = at;\n const mt = {\n x: pt.w > 0,\n y: pt.h > 0\n };\n const Ot = rt && lt && (mt.x || mt.y) || rt && mt.x && !mt.y || lt && mt.y && !mt.x;\n const $t = z || V || L || yt || wt || ht || gt || st || Z || et || ct;\n if ($t) {\n const n = {};\n const o = setViewportOverflowState(t, mt, ot, n);\n X && X(o, p, !!B && B(o, bt, St), n);\n if (et) {\n fixFlexboxGlue(o, P);\n }\n if (i) {\n setAttrs(c, F, n[C]);\n setAttrs(c, q, n[x]);\n } else {\n setStyles(l, n);\n }\n }\n addRemoveAttrClass(c, j, W, Ot);\n addRemoveAttrClass(r, tt, nt, Ot);\n if (!i) {\n addRemoveAttrClass(l, K, Q, it);\n }\n const [Ct, xt] = E(getViewportOverflowState(t).k);\n assignDeep(s, {\n k: Ct,\n Pt: {\n x: vt.w,\n y: vt.h\n },\n Lt: {\n x: pt.w,\n y: pt.h\n },\n en: mt\n });\n return {\n sn: xt,\n tn: ht,\n nn: gt\n };\n };\n};\n\nconst createStructureSetup = t => {\n const [n, o, s] = createStructureSetupElements(t);\n const e = {\n cn: {\n t: 0,\n r: 0,\n b: 0,\n l: 0\n },\n fn: false,\n j: {\n [O]: 0,\n [$]: 0,\n [m]: 0,\n [b]: 0,\n [w]: 0,\n [y]: 0,\n [S]: 0\n },\n Pt: {\n x: 0,\n y: 0\n },\n Lt: {\n x: 0,\n y: 0\n },\n k: {\n x: z,\n y: z\n },\n en: {\n x: false,\n y: false\n }\n };\n const {gt: c, D: r, V: l} = n;\n const {L: i, T: a} = getEnvironment();\n const u = !i && (a.x || a.y);\n const f = [ createTrinsicUpdateSegment(n), createPaddingUpdateSegment(n, e), createOverflowUpdateSegment(n, e) ];\n return [ o, t => {\n const n = {};\n const o = u;\n const s = o && getElmentScroll(r);\n const e = l ? addAttrClass(r, j, Y) : noop;\n each(f, (o => {\n assignDeep(n, o(t, n) || {});\n }));\n e();\n scrollElementTo(r, s);\n !l && scrollElementTo(c, 0);\n return n;\n }, e, n, s ];\n};\n\nconst createSetups = (t, n, o, s) => {\n const e = createOptionCheck(n, {});\n const [c, r, l, i, a] = createStructureSetup(t);\n const [u, f, _] = createObserversSetup(i, l, e, (t => {\n update({}, t);\n }));\n const [d, v, , h] = createScrollbarsSetup(t, n, _, l, i, s);\n const updateHintsAreTruthy = t => keys(t).some((n => !!t[n]));\n const update = (t, s) => {\n const {dn: e, Tt: c, At: l, vn: i} = t;\n const a = e || {};\n const u = !!c;\n const d = {\n Et: createOptionCheck(n, a, u),\n dn: a,\n Tt: u\n };\n if (i) {\n v(d);\n return false;\n }\n const h = s || f(assignDeep({}, d, {\n At: l\n }));\n const p = r(assignDeep({}, d, {\n un: _,\n Gt: h\n }));\n v(assignDeep({}, d, {\n Gt: h,\n Qt: p\n }));\n const g = updateHintsAreTruthy(h);\n const b = updateHintsAreTruthy(p);\n const w = g || b || !isEmptyObject(a) || u;\n w && o(t, {\n Gt: h,\n Qt: p\n });\n return w;\n };\n return [ () => {\n const {rn: t, D: n} = i;\n const o = getElmentScroll(t);\n const s = [ u(), c(), d() ];\n scrollElementTo(n, o);\n return bind(runEachAndClear, s);\n }, update, () => ({\n hn: _,\n pn: l\n }), {\n gn: i,\n bn: h\n }, a ];\n};\n\nconst OverlayScrollbars = (t, n, o) => {\n const {nt: s} = getEnvironment();\n const e = isHTMLElement(t);\n const c = e ? t : t.target;\n const r = getInstance(c);\n if (n && !r) {\n let r = false;\n const l = [];\n const i = {};\n const validateOptions = t => {\n const n = removeUndefinedProperties(t, true);\n const o = getStaticPluginModuleInstance(zt);\n return o ? o(n, true) : n;\n };\n const a = assignDeep({}, s(), validateOptions(n));\n const [u, f, _] = createEventListenerHub();\n const [d, v, h] = createEventListenerHub(o);\n const triggerEvent = (t, n) => {\n h(t, n);\n _(t, n);\n };\n const [p, g, b, w, S] = createSetups(t, a, (({dn: t, Tt: n}, {Gt: o, Qt: s}) => {\n const {ht: e, Ct: c, xt: r, Ht: l, It: i, dt: a} = o;\n const {tn: u, nn: f, sn: _} = s;\n triggerEvent(\"updated\", [ y, {\n updateHints: {\n sizeChanged: !!e,\n directionChanged: !!c,\n heightIntrinsicChanged: !!r,\n overflowEdgeChanged: !!u,\n overflowAmountChanged: !!f,\n overflowStyleChanged: !!_,\n contentMutation: !!l,\n hostMutation: !!i,\n appear: !!a\n },\n changedOptions: t || {},\n force: !!n\n } ]);\n }), (t => triggerEvent(\"scroll\", [ y, t ])));\n const destroy = t => {\n removeInstance(c);\n runEachAndClear(l);\n r = true;\n triggerEvent(\"destroyed\", [ y, t ]);\n f();\n v();\n };\n const y = {\n options(t, n) {\n if (t) {\n const o = n ? s() : {};\n const e = getOptionsDiff(a, assignDeep(o, validateOptions(t)));\n if (!isEmptyObject(e)) {\n assignDeep(a, e);\n g({\n dn: e\n });\n }\n }\n return assignDeep({}, a);\n },\n on: d,\n off: (t, n) => {\n t && n && v(t, n);\n },\n state() {\n const {hn: t, pn: n} = b();\n const {N: o} = t;\n const {Pt: s, Lt: e, k: c, en: l, cn: i, fn: a} = n;\n return assignDeep({}, {\n overflowEdge: s,\n overflowAmount: e,\n overflowStyle: c,\n hasOverflow: l,\n padding: i,\n paddingAbsolute: a,\n directionRTL: o,\n destroyed: r\n });\n },\n elements() {\n const {gt: t, bt: n, cn: o, D: s, wt: e, kt: c, Zt: r} = w.gn;\n const {qt: l, Jt: i} = w.bn;\n const translateScrollbarStructure = t => {\n const {Vt: n, Mt: o, Ut: s} = t;\n return {\n scrollbar: s,\n track: o,\n handle: n\n };\n };\n const translateScrollbarsSetupElement = t => {\n const {Wt: n, Xt: o} = t;\n const s = translateScrollbarStructure(n[0]);\n return assignDeep({}, s, {\n clone: () => {\n const t = translateScrollbarStructure(o());\n g({\n vn: true\n });\n return t;\n }\n });\n };\n return assignDeep({}, {\n target: t,\n host: n,\n padding: o || s,\n viewport: s,\n content: e || s,\n scrollOffsetElement: c,\n scrollEventElement: r,\n scrollbarHorizontal: translateScrollbarsSetupElement(l),\n scrollbarVertical: translateScrollbarsSetupElement(i)\n });\n },\n update: t => g({\n Tt: t,\n At: true\n }),\n destroy: bind(destroy, false),\n plugin: t => i[keys(t)[0]]\n };\n push(l, [ S ]);\n addInstance(c, y);\n registerPluginModuleInstances(Ht, OverlayScrollbars, [ y, u, i ]);\n if (cancelInitialization(w.gn.Rt, !e && t.cancel)) {\n destroy(true);\n return y;\n }\n push(l, p());\n triggerEvent(\"initialized\", [ y ]);\n y.update(true);\n return y;\n }\n return r;\n};\n\nOverlayScrollbars.plugin = t => {\n const n = isArray(t);\n const o = n ? t : [ t ];\n const s = o.map((t => registerPluginModuleInstances(t, OverlayScrollbars)[0]));\n addPlugins(o);\n return n ? s : s[0];\n};\n\nOverlayScrollbars.valid = t => {\n const n = t && t.elements;\n const o = isFunction(n) && n();\n return isPlainObject(o) && !!getInstance(o.target);\n};\n\nOverlayScrollbars.env = () => {\n const {P: t, T: n, L: o, K: s, J: e, st: c, et: r, G: l, tt: i, nt: a, ot: u} = getEnvironment();\n return assignDeep({}, {\n scrollbarsSize: t,\n scrollbarsOverlaid: n,\n scrollbarsHiding: o,\n rtlScrollBehavior: s,\n scrollTimeline: e,\n staticDefaultInitialization: c,\n staticDefaultOptions: r,\n getDefaultInitialization: l,\n setDefaultInitialization: i,\n getDefaultOptions: a,\n setDefaultOptions: u\n });\n};\n\nexport { Rt as ClickScrollPlugin, OverlayScrollbars, Dt as ScrollbarsHidingPlugin, At as SizeObserverPlugin };\n//# sourceMappingURL=overlayscrollbars.mjs.map\n","import { shallowRef as I, watch as b, unref as v, onUnmounted as k, defineComponent as E, toRefs as R, ref as A, watchPostEffect as D, openBlock as h, createBlock as z, resolveDynamicComponent as j, withCtx as q, createElementVNode as x, renderSlot as B } from \"vue\";\nimport { OverlayScrollbars as y } from \"overlayscrollbars\";\nconst F = () => {\n if (typeof window > \"u\") {\n const o = () => {\n };\n return [o, o];\n }\n let a, t;\n const n = window, r = typeof n.requestIdleCallback == \"function\", l = n.requestAnimationFrame, s = n.cancelAnimationFrame, d = r ? n.requestIdleCallback : l, u = r ? n.cancelIdleCallback : s, e = () => {\n u(a), s(t);\n };\n return [\n (o, f) => {\n e(), a = d(\n r ? () => {\n e(), t = l(o);\n } : o,\n typeof f == \"object\" ? f : { timeout: 2233 }\n );\n },\n e\n ];\n}, g = (a) => {\n let t = null, n, r, l;\n const s = I(a || {}), [d, u] = F();\n return b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.defer);\n },\n (e) => {\n l = e;\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.options);\n },\n (e) => {\n n = e, y.valid(t) && t.options(n || {}, !0);\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.events);\n },\n (e) => {\n r = e, y.valid(t) && t.on(\n /* c8 ignore next */\n r || {},\n !0\n );\n },\n { deep: !0, immediate: !0 }\n ), k(() => {\n u(), t == null || t.destroy();\n }), [\n (e) => {\n if (y.valid(t))\n return t;\n const o = () => t = y(e, n || {}, r || {});\n l ? d(o, l) : o();\n },\n () => t\n ];\n}, P = /* @__PURE__ */ E({\n __name: \"OverlayScrollbarsComponent\",\n props: {\n element: {\n type: String,\n default: \"div\"\n },\n options: { type: Object },\n events: { type: Object },\n defer: { type: [Boolean, Object] }\n },\n emits: [\"osInitialized\", \"osUpdated\", \"osDestroyed\", \"osScroll\"],\n setup(a, { expose: t, emit: n }) {\n const r = a, l = {\n initialized: \"osInitialized\",\n updated: \"osUpdated\",\n destroyed: \"osDestroyed\",\n scroll: \"osScroll\"\n }, { element: s, options: d, events: u, defer: e } = R(r), o = I(null), f = I(null), S = A(), [O, C] = g({ options: d, events: S, defer: e });\n return t({\n osInstance: C,\n getElement: () => o.value\n }), D((p) => {\n const { value: m } = o, { value: i } = f;\n m && i && (O({\n target: m,\n elements: {\n viewport: i,\n content: i\n }\n }), p(() => {\n var c;\n return (c = C()) == null ? void 0 : c.destroy();\n }));\n }), b(\n () => v(u),\n (p) => {\n const m = p || {};\n S.value = Object.keys(l).reduce((i, c) => {\n const w = m[c];\n return i[c] = [\n (..._) => n(\n l[c],\n ..._\n ),\n ...(Array.isArray(w) ? w : [w]).filter(Boolean)\n ], i;\n }, {});\n },\n { deep: !0, immediate: !0 }\n ), (p, m) => (h(), z(j(v(s)), {\n \"data-overlayscrollbars-initialize\": \"\",\n ref_key: \"elementRef\",\n ref: o\n }, {\n default: q(() => [\n x(\"div\", {\n \"data-overlayscrollbars-contents\": \"\",\n ref_key: \"slotRef\",\n ref: f\n }, [\n B(p.$slots, \"default\")\n ], 512)\n ]),\n _: 3\n }, 512));\n }\n});\nexport {\n P as OverlayScrollbarsComponent,\n g as useOverlayScrollbars\n};\n//# sourceMappingURL=overlayscrollbars-vue.mjs.map\n","<script lang=\"ts\" setup>\nimport type { UseOverlayScrollbarsParams } from \"overlayscrollbars-vue\";\nimport { useOverlayScrollbars } from \"overlayscrollbars-vue\";\nimport { computed, nextTick, onMounted, reactive, ref, watch } from \"vue\";\nimport { IconClose } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n visible?: boolean;\n title?: string;\n width?: number;\n height?: string;\n fullscreen?: boolean;\n bodyClass?: string[];\n mountToBody?: boolean;\n centered?: boolean;\n layerClosable?: boolean;\n }>(),\n {\n visible: undefined,\n title: undefined,\n width: 500,\n height: undefined,\n fullscreen: false,\n bodyClass: undefined,\n mountToBody: false,\n centered: true,\n layerClosable: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:visible\", value: boolean): void;\n (event: \"close\"): void;\n}>();\n\nconst internalVisible = ref<boolean | undefined>(false);\nconst rootVisible = ref(false);\nconst modelWrapper = ref<HTMLElement>();\n\nwatch(\n () => props.visible,\n () => {\n internalVisible.value = props.visible;\n }\n);\n\nonMounted(() => {\n if (props.visible === undefined) {\n internalVisible.value = true;\n }\n});\n\nconst wrapperClasses = computed(() => {\n return {\n \"modal-wrapper-fullscreen\": props.fullscreen,\n \"modal-wrapper-centered\": props.centered,\n };\n});\n\nconst contentStyles = computed(() => {\n return {\n maxWidth: props.width + \"px\",\n height: props.height,\n };\n});\n\nfunction handleClose() {\n internalVisible.value = false;\n setTimeout(() => {\n emit(\"update:visible\", false);\n emit(\"close\");\n }, 200);\n}\n\ndefineExpose({\n close: handleClose,\n});\n\nconst focus = ref(false);\n\nfunction handleClickLayer() {\n if (props.layerClosable) {\n handleClose();\n return;\n }\n focus.value = true;\n setTimeout(() => {\n focus.value = false;\n }, 300);\n}\n\n// body scroll\nconst modalBody = ref(null);\nconst reactiveParams = reactive<UseOverlayScrollbarsParams>({\n options: {\n scrollbars: {\n autoHide: \"scroll\",\n autoHideDelay: 600,\n },\n },\n defer: true,\n});\nconst [initialize, instance] = useOverlayScrollbars(reactiveParams);\nwatch(\n () => internalVisible.value,\n (value) => {\n if (value) {\n if (modalBody.value) initialize({ target: modalBody.value });\n nextTick(() => {\n modelWrapper.value?.focus();\n });\n } else {\n instance()?.destroy();\n }\n }\n);\n</script>\n<template>\n <Teleport :disabled=\"!mountToBody\" to=\"body\">\n <div\n v-show=\"rootVisible\"\n ref=\"modelWrapper\"\n :class=\"wrapperClasses\"\n aria-modal=\"true\"\n class=\"modal-wrapper\"\n role=\"dialog\"\n tabindex=\"0\"\n v-bind=\"$attrs\"\n @keyup.esc.stop=\"handleClose()\"\n >\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0\"\n enter-to-class=\"opacity-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100\"\n leave-to-class=\"opacity-0\"\n @before-enter=\"rootVisible = true\"\n @after-leave=\"rootVisible = false\"\n >\n <div\n v-show=\"internalVisible\"\n class=\"modal-layer\"\n @click.stop=\"handleClickLayer()\"\n />\n </transition>\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enter-to-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-to-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <div\n v-show=\"internalVisible\"\n :style=\"contentStyles\"\n class=\"modal-content transition-all duration-300\"\n :class=\"{ 'modal-focus': focus }\"\n >\n <div v-if=\"$slots.header || title\" class=\"modal-header group\">\n <slot name=\"header\">\n <div class=\"modal-header-title\">{{ title }}</div>\n <div v-if=\"$slots.center\" class=\"modal-header-center\">\n <slot name=\"center\"></slot>\n </div>\n <div class=\"modal-header-actions\">\n <slot name=\"actions\"></slot>\n <span class=\"bg-gray-50\" @click=\"handleClose()\">\n <IconClose />\n </span>\n </div>\n </slot>\n </div>\n <div ref=\"modalBody\" :class=\"bodyClass\" class=\"modal-body\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </transition>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\">\n.modal-wrapper {\n @apply fixed\n left-0\n h-full\n w-full\n flex\n flex-row\n items-start\n justify-center\n top-0\n py-10;\n z-index: 2000;\n\n .modal-layer {\n @apply flex-none\n absolute\n top-0\n left-0\n h-full\n w-full\n transition-opacity\n bg-gray-500\n bg-opacity-75;\n }\n\n .modal-content {\n @apply flex\n flex-col\n relative\n bg-white\n items-stretch\n shadow-xl\n rounded-base;\n width: calc(100vw - 20px);\n max-height: calc(100vh - 5rem);\n\n &.modal-focus {\n @apply scale-[1.02];\n }\n\n .modal-header {\n @apply flex\n justify-between\n border-b\n items-center\n select-none;\n padding: 10px 16px;\n\n .modal-header-title {\n @apply text-base\n font-medium;\n }\n\n .modal-header-actions {\n @apply flex\n flex-row\n gap-2;\n span {\n @apply cursor-pointer \n rounded-full \n w-7 \n h-7 \n inline-flex \n items-center \n justify-center \n hover:bg-gray-100\n select-none\n text-gray-600\n hover:text-gray-900\n group-hover:hidden;\n }\n }\n }\n\n .modal-body {\n @apply overflow-y-hidden\n overflow-x-hidden\n flex-1;\n word-wrap: break-word;\n padding: 12px 16px;\n }\n\n .modal-footer {\n @apply border-t;\n padding: 12px 16px;\n }\n }\n\n &.modal-wrapper-centered {\n @apply py-0 items-center;\n .modal-content {\n max-height: calc(100vh - 20px) !important;\n }\n }\n\n &.modal-wrapper-fullscreen {\n .modal-content {\n width: 100vw !important;\n max-width: 100vw !important;\n height: 100vh !important;\n max-height: 100vh !important;\n border-radius: 0;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { DialogProps, Type } from \"@/components/dialog/interface\";\nimport { markRaw, ref, type Component, type Raw } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"../../icons/icons\";\nimport { VButton } from \"../button\";\nimport { VModal } from \"../modal\";\n\nconst props = withDefaults(defineProps<DialogProps>(), {\n type: \"info\",\n title: \"提示\",\n description: \"\",\n confirmText: \"确定\",\n confirmType: \"primary\",\n showCancel: true,\n cancelText: \"取消\",\n visible: false,\n onConfirm: () => {\n return;\n },\n onCancel: () => {\n return;\n },\n});\n\nconst emit = defineEmits<{\n (event: \"update:visible\", visible: boolean): void;\n (event: \"close\"): void;\n}>();\n\nconst icons: Record<Type, { icon: Raw<Component>; color: string }> = {\n success: {\n icon: markRaw(IconCheckboxCircle),\n color: \"green\",\n },\n info: {\n icon: markRaw(IconInformation),\n color: \"blue\",\n },\n warning: {\n icon: markRaw(IconErrorWarning),\n color: \"orange\",\n },\n error: {\n icon: markRaw(IconForbidLine),\n color: \"red\",\n },\n};\n\nconst loading = ref(false);\n\nconst handleCancel = () => {\n if (props.onCancel) {\n props.onCancel();\n }\n handleClose();\n};\n\nconst handleConfirm = async () => {\n if (props.onConfirm) {\n loading.value = true;\n\n try {\n await props.onConfirm();\n } catch (error) {\n console.error(\"Failed to execute onConfirm: \", error);\n } finally {\n loading.value = false;\n }\n }\n handleClose();\n};\n\nconst handleClose = () => {\n loading.value = false;\n emit(\"update:visible\", false);\n emit(\"close\");\n};\n</script>\n<template>\n <VModal\n :visible=\"visible\"\n :width=\"450\"\n :layer-closable=\"false\"\n :data-unique-id=\"uniqueId\"\n @close=\"handleCancel()\"\n >\n <div class=\"flex justify-between items-start py-2 mb-2\">\n <div class=\"flex flex-row items-center gap-3\">\n <component\n :is=\"icons[type].icon\"\n :class=\"`text-${icons[type].color}-500`\"\n class=\"w-6 h-6 flex-none\"\n ></component>\n <div class=\"text-base text-gray-900 font-bold\">{{ title }}</div>\n </div>\n <div>\n <IconClose class=\"cursor-pointer\" @click=\"handleCancel\" />\n </div>\n </div>\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-1 flex items-stretch\">\n <div class=\"text-sm text-gray-700 break-all\">{{ description }}</div>\n </div>\n </div>\n <template #footer>\n <div class=\"flex flex-col sm:flex-row gap-[10px]\">\n <VButton :loading=\"loading\" :type=\"confirmType\" @click=\"handleConfirm\">\n {{ confirmText }}\n </VButton>\n <VButton v-if=\"showCancel\" @click=\"handleCancel\">\n {{ cancelText }}\n </VButton>\n </div>\n </template>\n </VModal>\n</template>\n","import { createVNode, render, type Component } from \"vue\";\nimport DialogComponent from \"./Dialog.vue\";\nimport type { DialogProps } from \"./interface\";\n\nexport type DialogApiProps = Omit<DialogProps, \"type\" | \"visible\">;\n\nexport type DialogApi = (props?: DialogApiProps) => void;\n\nexport interface DialogEntry {\n (props: DialogProps): void;\n info: DialogApi;\n success: DialogApi;\n error: DialogApi;\n warning: DialogApi;\n}\n\nconst defaultProps: DialogProps = {\n title: \"\",\n visible: false,\n};\n\nconst DIALOG_CONTAINER_CLASS = \".dialog-container\";\nconst MODAL_WRAPPER_CLASS = \".modal-wrapper\";\n\nfunction getOrCreateContainer() {\n let container = document.body.querySelector(DIALOG_CONTAINER_CLASS);\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"dialog-container\";\n document.body.appendChild(container);\n }\n return container;\n}\n\nconst dialog: DialogEntry = (userProps: DialogProps) => {\n const props = {\n ...defaultProps,\n ...userProps,\n };\n\n const container = getOrCreateContainer();\n\n if (\n props.uniqueId &&\n container.querySelector(`[data-unique-id=\"${props.uniqueId}\"]`)\n ) {\n return;\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n DialogComponent,\n props\n );\n\n hostContainer.firstElementChild &&\n container.appendChild(hostContainer.firstElementChild);\n\n vnode.component?.props && (vnode.component.props.visible = true);\n\n if (vnode?.props) {\n vnode.props.onClose = () => {\n const modals = container.querySelectorAll(MODAL_WRAPPER_CLASS);\n\n if (modals.length > 1) {\n hostContainer.firstElementChild?.remove();\n } else {\n container.remove();\n }\n\n render(null, hostContainer);\n };\n }\n};\n\nfunction createVNodeComponent(\n component: Component,\n props: Record<string, unknown>\n) {\n const vnode = createVNode(component, props);\n const container = document.createElement(\"div\");\n render(vnode, container);\n return { vnode, container };\n}\n\ndialog.success = (props?: DialogApiProps) =>\n dialog({ ...props, type: \"success\" });\ndialog.info = (props?: DialogApiProps) => dialog({ ...props, type: \"info\" });\ndialog.warning = (props?: DialogApiProps) =>\n dialog({ ...props, type: \"warning\" });\ndialog.error = (props?: DialogApiProps) => dialog({ ...props, type: \"error\" });\n\nexport { dialog as Dialog };\n","const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n","import { defineComponent as O, openBlock as f, createElementBlock as T, normalizeClass as J, renderSlot as A, normalizeProps as ke, guardReactiveProps as Le, pushScopeId as De, popScopeId as Ie, nextTick as Fe, createBlock as M, withScopeId as Re, resolveComponent as P, normalizeStyle as W, withKeys as je, createElementVNode as w, Fragment as Ve, createCommentVNode as se, mergeProps as $e, withCtx as N, createVNode as ve, toDisplayString as We, ref as U, createApp as Ge, h as qe } from \"vue\";\nimport { offset as xe, autoPlacement as Ue, shift as Ye, flip as Xe, arrow as Ke, size as Je, computePosition as Qe, getOverflowAncestors as ne } from \"@floating-ui/dom\";\nfunction ye(e, t) {\n for (const o in t)\n Object.prototype.hasOwnProperty.call(t, o) && (typeof t[o] == \"object\" && e[o] ? ye(e[o], t[o]) : e[o] = t[o]);\n}\nconst h = {\n // Disable popper components\n disabled: !1,\n // Default position offset along main axis (px)\n distance: 5,\n // Default position offset along cross axis (px)\n skidding: 0,\n // Default container where the tooltip will be appended\n container: \"body\",\n // Element used to compute position and size boundaries\n boundary: void 0,\n // Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.\n instantMove: !1,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 150,\n // Triggers on the popper itself\n popperTriggers: [],\n // Positioning strategy\n strategy: \"absolute\",\n // Prevent overflow\n preventOverflow: !0,\n // Flip to the opposite placement if needed\n flip: !0,\n // Shift on the cross axis to prevent the popper from overflowing\n shift: !0,\n // Overflow padding (px)\n overflowPadding: 0,\n // Arrow padding (px)\n arrowPadding: 0,\n // Compute arrow overflow (useful to hide it)\n arrowOverflow: !0,\n /**\n * By default, compute autohide on 'click'.\n */\n autoHideOnMousedown: !1,\n // Themes\n themes: {\n tooltip: {\n // Default tooltip placement relative to target element\n placement: \"top\",\n // Default events that trigger the tooltip\n triggers: [\"hover\", \"focus\", \"touch\"],\n // Close tooltip on click on tooltip target\n hideTriggers: (e) => [...e, \"click\"],\n // Delay (ms)\n delay: {\n show: 200,\n hide: 0\n },\n // Update popper on content resize\n handleResize: !1,\n // Enable HTML content in directive\n html: !1,\n // Displayed when tooltip content is loading\n loadingContent: \"...\"\n },\n dropdown: {\n // Default dropdown placement relative to target element\n placement: \"bottom\",\n // Default events that trigger the dropdown\n triggers: [\"click\"],\n // Delay (ms)\n delay: 0,\n // Update popper on content resize\n handleResize: !0,\n // Hide on clock outside\n autoHide: !0\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction S(e, t) {\n let o = h.themes[e] || {}, i;\n do\n i = o[t], typeof i > \"u\" ? o.$extend ? o = h.themes[o.$extend] || {} : (o = null, i = h[t]) : o = null;\n while (o);\n return i;\n}\nfunction Ze(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend && !o.$resetCss ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t.map((i) => `v-popper--theme-${i}`);\n}\nfunction re(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t;\n}\nlet $ = !1;\nif (typeof window < \"u\") {\n $ = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get() {\n $ = !0;\n }\n });\n window.addEventListener(\"test\", null, e);\n } catch {\n }\n}\nlet _e = !1;\ntypeof window < \"u\" && typeof navigator < \"u\" && (_e = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\nconst Te = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((e, t) => e.concat([\n t,\n `${t}-start`,\n `${t}-end`\n]), []), pe = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\",\n pointer: \"pointerdown\"\n}, ae = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\",\n pointer: \"pointerup\"\n};\nfunction de(e, t) {\n const o = e.indexOf(t);\n o !== -1 && e.splice(o, 1);\n}\nfunction G() {\n return new Promise((e) => requestAnimationFrame(() => {\n requestAnimationFrame(e);\n }));\n}\nconst d = [];\nlet g = null;\nconst le = {};\nfunction he(e) {\n let t = le[e];\n return t || (t = le[e] = []), t;\n}\nlet Y = function() {\n};\ntypeof window < \"u\" && (Y = window.Element);\nfunction n(e) {\n return function(t) {\n return S(t.theme, e);\n };\n}\nconst q = \"__floating-vue__popper\", Q = () => O({\n name: \"VPopper\",\n provide() {\n return {\n [q]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [q]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: !0\n },\n targetNodes: {\n type: Function,\n required: !0\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: !0\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: n(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: n(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: n(\"placement\"),\n validator: (e) => Te.includes(e)\n },\n delay: {\n type: [String, Number, Object],\n default: n(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: n(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: n(\"skidding\")\n },\n triggers: {\n type: Array,\n default: n(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: n(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: n(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: n(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: n(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: n(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Y, Boolean],\n default: n(\"container\")\n },\n boundary: {\n type: [String, Y],\n default: n(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (e) => [\"absolute\", \"fixed\"].includes(e),\n default: n(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: n(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: n(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: n(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: n(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: n(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: n(\"computeTransformOrigin\")\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: n(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: n(\"autoSize\")\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: n(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: n(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: n(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: n(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: n(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: n(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: n(\"flip\")\n },\n shift: {\n type: Boolean,\n default: n(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: n(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: n(\"noAutoFocus\")\n },\n disposeTimeout: {\n type: Number,\n default: n(\"disposeTimeout\")\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n data() {\n return {\n isShown: !1,\n isMounted: !1,\n skipTransition: !1,\n classes: {\n showFrom: !1,\n showTo: !1,\n hideFrom: !1,\n hideTo: !0\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n randomId: `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join(\"_\")}`,\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: !0,\n pendingHide: !1,\n containsGlobalTarget: !1,\n isDisposed: !0,\n mouseDownContains: !1\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide == \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: {\n ...this.classes,\n popperClass: this.popperClass\n },\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var e;\n return (e = this[q]) == null ? void 0 : e.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var e, t;\n return ((e = this.popperTriggers) == null ? void 0 : e.includes(\"hover\")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes(\"hover\"));\n }\n },\n watch: {\n shown: \"$_autoShowHide\",\n disabled(e) {\n e ? this.dispose() : this.init();\n },\n async container() {\n this.isShown && (this.$_ensureTeleport(), await this.$_computePosition());\n },\n triggers: {\n handler: \"$_refreshListeners\",\n deep: !0\n },\n positioningDisabled: \"$_refreshListeners\",\n ...[\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((e, t) => (e[t] = \"$_computePosition\", e), {})\n },\n created() {\n this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.'), this.autoMaxSize && console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n },\n mounted() {\n this.init(), this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event: e = null, skipDelay: t = !1, force: o = !1 } = {}) {\n var i, s;\n (i = this.parentPopper) != null && i.lockedChild && this.parentPopper.lockedChild !== this || (this.pendingHide = !1, (o || !this.disabled) && (((s = this.parentPopper) == null ? void 0 : s.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit(\"show\"), this.$_showFrameLocked = !0, requestAnimationFrame(() => {\n this.$_showFrameLocked = !1;\n })), this.$emit(\"update:shown\", !0));\n },\n hide({ event: e = null, skipDelay: t = !1 } = {}) {\n var o;\n if (!this.$_hideInProgress) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => {\n this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null);\n }, 1e3));\n return;\n }\n ((o = this.parentPopper) == null ? void 0 : o.lockedChild) === this && (this.parentPopper.lockedChild = null), this.pendingHide = !1, this.$_scheduleHide(e, t), this.$emit(\"hide\"), this.$emit(\"update:shown\", !1);\n }\n },\n init() {\n var e;\n this.isDisposed && (this.isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = ((e = this.referenceNode) == null ? void 0 : e.call(this)) ?? this.$el, this.$_targetNodes = this.targetNodes().filter((t) => t.nodeType === t.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\"), this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\"), this.$_swapTargetAttrs(\"title\", \"data-original-title\"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show());\n },\n dispose() {\n this.isDisposed || (this.isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs(\"data-original-title\", \"title\"));\n },\n async onResize() {\n this.isShown && (await this.$_computePosition(), this.$emit(\"resize\"));\n },\n async $_computePosition() {\n if (this.isDisposed || this.positioningDisabled)\n return;\n const e = {\n strategy: this.strategy,\n middleware: []\n };\n (this.distance || this.skidding) && e.middleware.push(xe({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n const t = this.placement.startsWith(\"auto\");\n if (t ? e.middleware.push(Ue({\n alignment: this.placement.split(\"-\")[1] ?? \"\"\n })) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(Ye({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n })), !t && this.flip && e.middleware.push(Xe({\n padding: this.overflowPadding,\n boundary: this.boundary\n }))), e.middleware.push(Ke({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n })), this.arrowOverflow && e.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement: i, rects: s, middlewareData: r }) => {\n let p;\n const { centerOffset: a } = r.arrow;\n return i.startsWith(\"top\") || i.startsWith(\"bottom\") ? p = Math.abs(a) > s.reference.width / 2 : p = Math.abs(a) > s.reference.height / 2, {\n data: {\n overflow: p\n }\n };\n }\n }), this.autoMinSize || this.autoSize) {\n const i = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n e.middleware.push({\n name: \"autoSize\",\n fn: ({ rects: s, placement: r, middlewareData: p }) => {\n var u;\n if ((u = p.autoSize) != null && u.skip)\n return {};\n let a, l;\n return r.startsWith(\"top\") || r.startsWith(\"bottom\") ? a = s.reference.width : l = s.reference.height, this.$_innerNode.style[i === \"min\" ? \"minWidth\" : i === \"max\" ? \"maxWidth\" : \"width\"] = a != null ? `${a}px` : null, this.$_innerNode.style[i === \"min\" ? \"minHeight\" : i === \"max\" ? \"maxHeight\" : \"height\"] = l != null ? `${l}px` : null, {\n data: {\n skip: !0\n },\n reset: {\n rects: !0\n }\n };\n }\n });\n }\n (this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, e.middleware.push(Je({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ availableWidth: i, availableHeight: s }) => {\n this.$_innerNode.style.maxWidth = i != null ? `${i}px` : null, this.$_innerNode.style.maxHeight = s != null ? `${s}px` : null;\n }\n })));\n const o = await Qe(this.$_referenceNode, this.$_popperNode, e);\n Object.assign(this.result, {\n x: o.x,\n y: o.y,\n placement: o.placement,\n strategy: o.strategy,\n arrow: {\n ...o.middlewareData.arrow,\n ...o.middlewareData.arrowOverflow\n }\n });\n },\n $_scheduleShow(e, t = !1) {\n if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), g && this.instantMove && g.instantMove && g !== this.parentPopper) {\n g.$_applyHide(!0), this.$_applyShow(!0);\n return;\n }\n t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n },\n $_scheduleHide(e, t = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (g = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n },\n $_computeDelay(e) {\n const t = this.delay;\n return parseInt(t && t[e] || t || 0);\n },\n async $_applyShow(e = !1) {\n clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await G(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([\n ...ne(this.$_referenceNode),\n ...ne(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n }));\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const t = this.$_referenceNode.getBoundingClientRect(), o = this.$_popperNode.querySelector(\".v-popper__wrapper\"), i = o.parentNode.getBoundingClientRect(), s = t.x + t.width / 2 - (i.left + o.offsetLeft), r = t.y + t.height / 2 - (i.top + o.offsetTop);\n this.result.transformOrigin = `${s}px ${r}px`;\n }\n this.isShown = !0, this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const e = this.showGroup;\n if (e) {\n let t;\n for (let o = 0; o < d.length; o++)\n t = d[o], t.showGroup !== e && (t.hide(), t.$emit(\"close-group\"));\n }\n d.push(this), document.body.classList.add(\"v-popper--some-open\");\n for (const t of re(this.theme))\n he(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`);\n this.$emit(\"apply-show\"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await G(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus();\n },\n async $_applyHide(e = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0, this.$_hideInProgress = !1;\n return;\n }\n if (clearTimeout(this.$_scheduleTimer), !this.isShown)\n return;\n this.skipTransition = e, de(d, this), d.length === 0 && document.body.classList.remove(\"v-popper--some-open\");\n for (const o of re(this.theme)) {\n const i = he(o);\n de(i, this), i.length === 0 && document.body.classList.remove(`v-popper--some-open--${o}`);\n }\n g === this && (g = null), this.isShown = !1, this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n }), clearTimeout(this.$_disposeTimer);\n const t = this.disposeTimeout;\n t !== null && (this.$_disposeTimer = setTimeout(() => {\n this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1);\n }, t)), this.$_removeEventListeners(\"scroll\"), this.$emit(\"apply-hide\"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await G(), this.classes.hideFrom = !1, this.classes.hideTo = !0;\n },\n $_autoShowHide() {\n this.shown ? this.show() : this.hide();\n },\n $_ensureTeleport() {\n if (this.isDisposed)\n return;\n let e = this.container;\n if (typeof e == \"string\" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e)\n throw new Error(\"No container for popover: \" + this.container);\n e.appendChild(this.$_popperNode), this.isMounted = !0;\n },\n $_addEventListeners() {\n const e = (o) => {\n this.isShown && !this.$_hideInProgress || (o.usedByTooltip = !0, !this.$_preventShow && this.show({ event: o }));\n };\n this.$_registerTriggerListeners(this.$_targetNodes, pe, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], pe, this.popperTriggers, this.popperShowTriggers, e);\n const t = (o) => {\n o.usedByTooltip || this.hide({ event: o });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, ae, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], ae, this.popperTriggers, this.popperHideTriggers, t);\n },\n $_registerEventListeners(e, t, o) {\n this.$_events.push({ targetNodes: e, eventType: t, handler: o }), e.forEach((i) => i.addEventListener(t, o, $ ? {\n passive: !0\n } : void 0));\n },\n $_registerTriggerListeners(e, t, o, i, s) {\n let r = o;\n i != null && (r = typeof i == \"function\" ? i(r) : i), r.forEach((p) => {\n const a = t[p];\n a && this.$_registerEventListeners(e, a, s);\n });\n },\n $_removeEventListeners(e) {\n const t = [];\n this.$_events.forEach((o) => {\n const { targetNodes: i, eventType: s, handler: r } = o;\n !e || e === s ? i.forEach((p) => p.removeEventListener(s, r)) : t.push(o);\n }), this.$_events = t;\n },\n $_refreshListeners() {\n this.isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners());\n },\n $_handleGlobalClose(e, t = !1) {\n this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit(\"close-directive\") : this.$emit(\"auto-hide\"), t && (this.$_preventShow = !0, setTimeout(() => {\n this.$_preventShow = !1;\n }, 300)));\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(e, t) {\n for (const o of this.$_targetNodes) {\n const i = o.getAttribute(e);\n i && (o.removeAttribute(e), o.setAttribute(t, i));\n }\n },\n $_applyAttrsToTarget(e) {\n for (const t of this.$_targetNodes)\n for (const o in e) {\n const i = e[o];\n i == null ? t.removeAttribute(o) : t.setAttribute(o, i);\n }\n },\n $_updateParentShownChildren(e) {\n let t = this.parentPopper;\n for (; t; )\n e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.pendingHide && t.hide()), t = t.parentPopper;\n },\n $_isAimingPopper() {\n const e = this.$_referenceNode.getBoundingClientRect();\n if (y >= e.left && y <= e.right && _ >= e.top && _ <= e.bottom) {\n const t = this.$_popperNode.getBoundingClientRect(), o = y - c, i = _ - m, r = t.left + t.width / 2 - c + (t.top + t.height / 2) - m + t.width + t.height, p = c + o * r, a = m + i * r;\n return C(c, m, p, a, t.left, t.top, t.left, t.bottom) || // Left edge\n C(c, m, p, a, t.left, t.top, t.right, t.top) || // Top edge\n C(c, m, p, a, t.right, t.top, t.right, t.bottom) || // Right edge\n C(c, m, p, a, t.left, t.bottom, t.right, t.bottom);\n }\n return !1;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document < \"u\" && typeof window < \"u\") {\n if (_e) {\n const e = $ ? {\n passive: !0,\n capture: !0\n } : !0;\n document.addEventListener(\"touchstart\", (t) => ue(t, !0), e), document.addEventListener(\"touchend\", (t) => fe(t, !0), e);\n } else\n window.addEventListener(\"mousedown\", (e) => ue(e, !1), !0), window.addEventListener(\"click\", (e) => fe(e, !1), !0);\n window.addEventListener(\"resize\", tt);\n}\nfunction ue(e, t) {\n if (h.autoHideOnMousedown)\n Pe(e, t);\n else\n for (let o = 0; o < d.length; o++) {\n const i = d[o];\n try {\n i.mouseDownContains = i.popperNode().contains(e.target);\n } catch {\n }\n }\n}\nfunction fe(e, t) {\n h.autoHideOnMousedown || Pe(e, t);\n}\nfunction Pe(e, t) {\n const o = {};\n for (let i = d.length - 1; i >= 0; i--) {\n const s = d[i];\n try {\n const r = s.containsGlobalTarget = s.mouseDownContains || s.popperNode().contains(e.target);\n s.pendingHide = !1, requestAnimationFrame(() => {\n if (s.pendingHide = !1, !o[s.randomId] && ce(s, r, e)) {\n if (s.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && r) {\n let a = s.parentPopper;\n for (; a; )\n o[a.randomId] = !0, a = a.parentPopper;\n return;\n }\n let p = s.parentPopper;\n for (; p && ce(p, p.containsGlobalTarget, e); ) {\n p.$_handleGlobalClose(e, t);\n p = p.parentPopper;\n }\n }\n });\n } catch {\n }\n }\n}\nfunction ce(e, t, o) {\n return o.closeAllPopover || o.closePopover && t || et(e, o) && !t;\n}\nfunction et(e, t) {\n if (typeof e.autoHide == \"function\") {\n const o = e.autoHide(t);\n return e.lastAutoHide = o, o;\n }\n return e.autoHide;\n}\nfunction tt() {\n for (let e = 0; e < d.length; e++)\n d[e].$_computePosition();\n}\nfunction Nt() {\n for (let e = 0; e < d.length; e++)\n d[e].hide();\n}\nlet c = 0, m = 0, y = 0, _ = 0;\ntypeof window < \"u\" && window.addEventListener(\"mousemove\", (e) => {\n c = y, m = _, y = e.clientX, _ = e.clientY;\n}, $ ? {\n passive: !0\n} : void 0);\nfunction C(e, t, o, i, s, r, p, a) {\n const l = ((p - s) * (t - r) - (a - r) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t)), u = ((o - e) * (t - r) - (i - t) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t));\n return l >= 0 && l <= 1 && u >= 0 && u <= 1;\n}\nconst ot = {\n extends: Q()\n}, B = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [i, s] of t)\n o[i] = s;\n return o;\n};\nfunction it(e, t, o, i, s, r) {\n return f(), T(\"div\", {\n ref: \"reference\",\n class: J([\"v-popper\", {\n \"v-popper--shown\": e.slotData.isShown\n }])\n }, [\n A(e.$slots, \"default\", ke(Le(e.slotData)))\n ], 2);\n}\nconst st = /* @__PURE__ */ B(ot, [[\"render\", it]]);\nfunction nt() {\n var e = window.navigator.userAgent, t = e.indexOf(\"MSIE \");\n if (t > 0)\n return parseInt(e.substring(t + 5, e.indexOf(\".\", t)), 10);\n var o = e.indexOf(\"Trident/\");\n if (o > 0) {\n var i = e.indexOf(\"rv:\");\n return parseInt(e.substring(i + 3, e.indexOf(\".\", i)), 10);\n }\n var s = e.indexOf(\"Edge/\");\n return s > 0 ? parseInt(e.substring(s + 5, e.indexOf(\".\", s)), 10) : -1;\n}\nlet z;\nfunction X() {\n X.init || (X.init = !0, z = nt() !== -1);\n}\nvar E = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: !1\n },\n ignoreWidth: {\n type: Boolean,\n default: !1\n },\n ignoreHeight: {\n type: Boolean,\n default: !1\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n X(), Fe(() => {\n this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize();\n });\n const e = document.createElement(\"object\");\n this._resizeObject = e, e.setAttribute(\"aria-hidden\", \"true\"), e.setAttribute(\"tabindex\", -1), e.onload = this.addResizeHandlers, e.type = \"text/html\", z && this.$el.appendChild(e), e.data = \"about:blank\", z || this.$el.appendChild(e);\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize());\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify), this.compareAndNotify();\n },\n removeResizeHandlers() {\n this._resizeObject && this._resizeObject.onload && (!z && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null);\n }\n }\n};\nconst rt = /* @__PURE__ */ Re(\"data-v-b329ee4c\");\nDe(\"data-v-b329ee4c\");\nconst pt = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\nIe();\nconst at = /* @__PURE__ */ rt((e, t, o, i, s, r) => (f(), M(\"div\", pt)));\nE.render = at;\nE.__scopeId = \"data-v-b329ee4c\";\nE.__file = \"src/components/ResizeObserver.vue\";\nconst Z = (e = \"theme\") => ({\n computed: {\n themeClass() {\n return Ze(this[e]);\n }\n }\n}), dt = O({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: E\n },\n mixins: [\n Z()\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(e) {\n return e != null && !isNaN(e) ? `${e}px` : null;\n }\n }\n}), lt = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"], ht = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n}, ut = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1), ft = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1), ct = [\n ut,\n ft\n];\nfunction mt(e, t, o, i, s, r) {\n const p = P(\"ResizeObserver\");\n return f(), T(\"div\", {\n id: e.popperId,\n ref: \"popover\",\n class: J([\"v-popper__popper\", [\n e.themeClass,\n e.classes.popperClass,\n {\n \"v-popper__popper--shown\": e.shown,\n \"v-popper__popper--hidden\": !e.shown,\n \"v-popper__popper--show-from\": e.classes.showFrom,\n \"v-popper__popper--show-to\": e.classes.showTo,\n \"v-popper__popper--hide-from\": e.classes.hideFrom,\n \"v-popper__popper--hide-to\": e.classes.hideTo,\n \"v-popper__popper--skip-transition\": e.skipTransition,\n \"v-popper__popper--arrow-overflow\": e.result && e.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !e.result\n }\n ]]),\n style: W(e.result ? {\n position: e.result.strategy,\n transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": e.shown ? \"false\" : \"true\",\n tabindex: e.autoHide ? 0 : void 0,\n \"data-popper-placement\": e.result ? e.result.placement : void 0,\n onKeyup: t[2] || (t[2] = je((a) => e.autoHide && e.$emit(\"hide\"), [\"esc\"]))\n }, [\n w(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: t[0] || (t[0] = (a) => e.autoHide && e.$emit(\"hide\"))\n }),\n w(\"div\", {\n class: \"v-popper__wrapper\",\n style: W(e.result ? {\n transformOrigin: e.result.transformOrigin\n } : void 0)\n }, [\n w(\"div\", ht, [\n e.mounted ? (f(), T(Ve, { key: 0 }, [\n w(\"div\", null, [\n A(e.$slots, \"default\")\n ]),\n e.handleResize ? (f(), M(p, {\n key: 0,\n onNotify: t[1] || (t[1] = (a) => e.$emit(\"resize\", a))\n })) : se(\"\", !0)\n ], 64)) : se(\"\", !0)\n ], 512),\n w(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: W(e.result ? {\n left: e.toPx(e.result.arrow.x),\n top: e.toPx(e.result.arrow.y)\n } : void 0)\n }, ct, 4)\n ], 4)\n ], 46, lt);\n}\nconst ee = /* @__PURE__ */ B(dt, [[\"render\", mt]]), te = {\n methods: {\n show(...e) {\n return this.$refs.popper.show(...e);\n },\n hide(...e) {\n return this.$refs.popper.hide(...e);\n },\n dispose(...e) {\n return this.$refs.popper.dispose(...e);\n },\n onResize(...e) {\n return this.$refs.popper.onResize(...e);\n }\n }\n};\nlet K = function() {\n};\ntypeof window < \"u\" && (K = window.Element);\nconst gt = O({\n name: \"VPopperWrapper\",\n components: {\n Popper: st,\n PopperContent: ee\n },\n mixins: [\n te,\n Z(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n },\n referenceNode: {\n type: Function,\n default: null\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: void 0\n },\n positioningDisabled: {\n type: Boolean,\n default: void 0\n },\n placement: {\n type: String,\n default: void 0\n },\n delay: {\n type: [String, Number, Object],\n default: void 0\n },\n distance: {\n type: [Number, String],\n default: void 0\n },\n skidding: {\n type: [Number, String],\n default: void 0\n },\n triggers: {\n type: Array,\n default: void 0\n },\n showTriggers: {\n type: [Array, Function],\n default: void 0\n },\n hideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperTriggers: {\n type: Array,\n default: void 0\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n container: {\n type: [String, Object, K, Boolean],\n default: void 0\n },\n boundary: {\n type: [String, K],\n default: void 0\n },\n strategy: {\n type: String,\n default: void 0\n },\n autoHide: {\n type: [Boolean, Function],\n default: void 0\n },\n handleResize: {\n type: Boolean,\n default: void 0\n },\n instantMove: {\n type: Boolean,\n default: void 0\n },\n eagerMount: {\n type: Boolean,\n default: void 0\n },\n popperClass: {\n type: [String, Array, Object],\n default: void 0\n },\n computeTransformOrigin: {\n type: Boolean,\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: void 0\n },\n autoSize: {\n type: [Boolean, String],\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: void 0\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: void 0\n },\n preventOverflow: {\n type: Boolean,\n default: void 0\n },\n overflowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowOverflow: {\n type: Boolean,\n default: void 0\n },\n flip: {\n type: Boolean,\n default: void 0\n },\n shift: {\n type: Boolean,\n default: void 0\n },\n shiftCrossAxis: {\n type: Boolean,\n default: void 0\n },\n noAutoFocus: {\n type: Boolean,\n default: void 0\n },\n disposeTimeout: {\n type: Number,\n default: void 0\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n computed: {\n finalTheme() {\n return this.theme ?? this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction wt(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$props, {\n theme: e.finalTheme,\n \"target-nodes\": e.getTargetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n class: [\n e.themeClass\n ],\n onShow: t[0] || (t[0] = () => e.$emit(\"show\")),\n onHide: t[1] || (t[1] = () => e.$emit(\"hide\")),\n \"onUpdate:shown\": t[2] || (t[2] = (l) => e.$emit(\"update:shown\", l)),\n onApplyShow: t[3] || (t[3] = () => e.$emit(\"apply-show\")),\n onApplyHide: t[4] || (t[4] = () => e.$emit(\"apply-hide\")),\n onCloseGroup: t[5] || (t[5] = () => e.$emit(\"close-group\")),\n onCloseDirective: t[6] || (t[6] = () => e.$emit(\"close-directive\")),\n onAutoHide: t[7] || (t[7] = () => e.$emit(\"auto-hide\")),\n onResize: t[8] || (t[8] = () => e.$emit(\"resize\"))\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n show: F,\n hide: v,\n handleResize: R,\n onResize: j,\n classes: V,\n result: Ee\n }) => [\n A(e.$slots, \"default\", {\n shown: u,\n show: F,\n hide: v\n }),\n ve(p, {\n ref: \"popperContent\",\n \"popper-id\": l,\n theme: e.finalTheme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": R,\n classes: V,\n result: Ee,\n onHide: v,\n onResize: j\n }, {\n default: N(() => [\n A(e.$slots, \"popper\", {\n shown: u,\n hide: v\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nconst k = /* @__PURE__ */ B(gt, [[\"render\", wt]]), Se = {\n ...k,\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}, be = {\n ...k,\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}, Ce = {\n ...k,\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}, $t = O({\n name: \"VTooltipDirective\",\n components: {\n Popper: Q(),\n PopperContent: ee\n },\n mixins: [\n te\n ],\n inheritAttrs: !1,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (e) => S(e.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (e) => S(e.theme, \"loadingContent\")\n },\n targetNodes: {\n type: Function,\n required: !0\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content == \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(!0);\n },\n immediate: !0\n },\n async finalContent() {\n await this.$nextTick(), this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(e) {\n if (typeof this.content == \"function\" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null, this.$_loading = !0;\n const t = ++this.$_fetchId, o = this.content(this);\n o.then ? o.then((i) => this.onResult(t, i)) : this.onResult(t, o);\n }\n },\n onResult(e, t) {\n e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t);\n },\n onShow() {\n this.$_isShown = !0, this.fetchContent();\n },\n onHide() {\n this.$_isShown = !1;\n }\n }\n}), vt = [\"innerHTML\"], yt = [\"textContent\"];\nfunction _t(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$attrs, {\n theme: e.theme,\n \"target-nodes\": e.targetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n onApplyShow: e.onShow,\n onApplyHide: e.onHide\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n hide: F,\n handleResize: v,\n onResize: R,\n classes: j,\n result: V\n }) => [\n ve(p, {\n ref: \"popperContent\",\n class: J({\n \"v-popper--tooltip-loading\": e.loading\n }),\n \"popper-id\": l,\n theme: e.theme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": v,\n classes: j,\n result: V,\n onHide: F,\n onResize: R\n }, {\n default: N(() => [\n e.html ? (f(), T(\"div\", {\n key: 0,\n innerHTML: e.finalContent\n }, null, 8, vt)) : (f(), T(\"div\", {\n key: 1,\n textContent: We(e.finalContent)\n }, null, 8, yt))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nconst ze = /* @__PURE__ */ B($t, [[\"render\", _t]]), Ae = \"v-popper--has-tooltip\";\nfunction Tt(e, t) {\n let o = e.placement;\n if (!o && t)\n for (const i of Te)\n t[i] && (o = i);\n return o || (o = S(e.theme || \"tooltip\", \"placement\")), o;\n}\nfunction Ne(e, t, o) {\n let i;\n const s = typeof t;\n return s === \"string\" ? i = { content: t } : t && s === \"object\" ? i = t : i = { content: !1 }, i.placement = Tt(i, o), i.targetNodes = () => [e], i.referenceNode = () => e, i;\n}\nlet x, b, Pt = 0;\nfunction St() {\n if (x)\n return;\n b = U([]), x = Ge({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives: b\n };\n },\n render() {\n return this.directives.map((t) => qe(ze, {\n ...t.options,\n shown: t.shown || t.options.shown,\n key: t.id\n }));\n },\n devtools: {\n hide: !0\n }\n });\n const e = document.createElement(\"div\");\n document.body.appendChild(e), x.mount(e);\n}\nfunction bt(e, t, o) {\n St();\n const i = U(Ne(e, t, o)), s = U(!1), r = {\n id: Pt++,\n options: i,\n shown: s\n };\n return b.value.push(r), e.classList && e.classList.add(Ae), e.$_popper = {\n options: i,\n item: r,\n show() {\n s.value = !0;\n },\n hide() {\n s.value = !1;\n }\n };\n}\nfunction He(e) {\n if (e.$_popper) {\n const t = b.value.indexOf(e.$_popper.item);\n t !== -1 && b.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget;\n }\n e.classList && e.classList.remove(Ae);\n}\nfunction me(e, { value: t, modifiers: o }) {\n const i = Ne(e, t, o);\n if (!i.content || S(i.theme || \"tooltip\", \"disabled\"))\n He(e);\n else {\n let s;\n e.$_popper ? (s = e.$_popper, s.options.value = i) : s = bt(e, t, o), typeof t.shown < \"u\" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? s.show() : s.hide());\n }\n}\nconst oe = {\n beforeMount: me,\n updated: me,\n beforeUnmount(e) {\n He(e);\n }\n};\nfunction ge(e) {\n e.addEventListener(\"mousedown\", H), e.addEventListener(\"click\", H), e.addEventListener(\"touchstart\", Oe, $ ? {\n passive: !0\n } : !1);\n}\nfunction we(e) {\n e.removeEventListener(\"mousedown\", H), e.removeEventListener(\"click\", H), e.removeEventListener(\"touchstart\", Oe), e.removeEventListener(\"touchend\", Me), e.removeEventListener(\"touchcancel\", Be);\n}\nfunction H(e) {\n const t = e.currentTarget;\n e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n}\nfunction Oe(e) {\n if (e.changedTouches.length === 1) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !0;\n const o = e.changedTouches[0];\n t.$_vclosepopover_touchPoint = o, t.addEventListener(\"touchend\", Me), t.addEventListener(\"touchcancel\", Be);\n }\n}\nfunction Me(e) {\n const t = e.currentTarget;\n if (t.$_vclosepopover_touch = !1, e.changedTouches.length === 1) {\n const o = e.changedTouches[0], i = t.$_vclosepopover_touchPoint;\n e.closePopover = Math.abs(o.screenY - i.screenY) < 20 && Math.abs(o.screenX - i.screenX) < 20, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n }\n}\nfunction Be(e) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !1;\n}\nconst ie = {\n beforeMount(e, { value: t, modifiers: o }) {\n e.$_closePopoverModifiers = o, (typeof t > \"u\" || t) && ge(e);\n },\n updated(e, { value: t, oldValue: o, modifiers: i }) {\n e.$_closePopoverModifiers = i, t !== o && (typeof t > \"u\" || t ? ge(e) : we(e));\n },\n beforeUnmount(e) {\n we(e);\n }\n}, Ht = h, Ot = oe, Mt = oe, Bt = ie, Et = ie, kt = Se, Lt = be, Dt = Q, It = ee, Ft = te, Rt = k, jt = Z, Vt = Ce, Wt = ze;\nfunction Ct(e, t = {}) {\n e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, ye(h, t), e.directive(\"tooltip\", oe), e.directive(\"close-popper\", ie), e.component(\"VTooltip\", Ce), e.component(\"VDropdown\", Se), e.component(\"VMenu\", be));\n}\nconst Gt = {\n // eslint-disable-next-line no-undef\n version: \"5.2.2\",\n install: Ct,\n options: h\n};\nexport {\n kt as Dropdown,\n ae as HIDE_EVENT_MAP,\n Lt as Menu,\n Dt as Popper,\n It as PopperContent,\n Ft as PopperMethods,\n Rt as PopperWrapper,\n pe as SHOW_EVENT_MAP,\n jt as ThemeClass,\n Vt as Tooltip,\n Wt as TooltipDirective,\n Bt as VClosePopper,\n Ot as VTooltip,\n bt as createTooltip,\n Gt as default,\n He as destroyTooltip,\n Nt as hideAllPoppers,\n Ct as install,\n Ht as options,\n Te as placements,\n tt as recomputeAllPoppers,\n Et as vClosePopper,\n Mt as vTooltip\n};\n","import type { InjectionKey } from \"vue\";\n\nexport const DropdownContextInjectionKey: InjectionKey<{\n hide: () => void;\n}> = Symbol(\"dropdown-context\");\n","<script lang=\"ts\" setup>\nimport {\n Dropdown as FloatingDropdown,\n type Placement,\n type TriggerEvent,\n} from \"floating-vue\";\nimport \"floating-vue/dist/style.css\";\nimport { provide, ref } from \"vue\";\nimport { DropdownContextInjectionKey } from \"./symbols\";\n\nwithDefaults(\n defineProps<{\n placement?: Placement;\n triggers?: TriggerEvent[];\n classes?: string[];\n }>(),\n {\n placement: \"bottom\",\n triggers: () => [\"click\"],\n classes: () => [],\n }\n);\n\nconst dropdownRef = ref();\n\nfunction hide() {\n dropdownRef.value?.hide();\n}\n\nprovide(DropdownContextInjectionKey, {\n hide,\n});\n\nconst emit = defineEmits<{\n (event: \"show\"): void;\n}>();\n\ndefineExpose({\n hide,\n});\n</script>\n\n<template>\n <!-- @vue-skip -->\n <FloatingDropdown\n ref=\"dropdownRef\"\n :placement=\"placement\"\n :triggers=\"triggers\"\n :dispose-timeout=\"null\"\n @show=\"emit('show')\"\n >\n <slot />\n <template #popper>\n <div\n class=\"min-w-[13rem] p-1.5\"\n :class=\"classes\"\n role=\"menu\"\n aria-orientation=\"vertical\"\n aria-labelledby=\"menu-button\"\n tabindex=\"-1\"\n >\n <slot name=\"popper\" />\n </div>\n </template>\n </FloatingDropdown>\n</template>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <div class=\"my-1 h-[1px] w-full bg-gray-100\"></div>\n</template>\n","<script lang=\"ts\" setup>\nimport { inject } from \"vue\";\nimport { DropdownContextInjectionKey } from \"./symbols\";\n\nconst props = withDefaults(\n defineProps<{\n selected?: boolean;\n disabled?: boolean;\n type?: \"default\" | \"danger\";\n }>(),\n {\n selected: false,\n disabled: false,\n type: \"default\",\n }\n);\n\nconst emit = defineEmits<{\n (event: \"click\", e: MouseEvent): void;\n}>();\n\nconst { hide } = inject(DropdownContextInjectionKey) || {};\n\nfunction onClick(e: MouseEvent) {\n if (props.disabled) {\n return;\n }\n\n hide?.();\n emit(\"click\", e);\n}\n</script>\n\n<template>\n <div\n class=\"dropdown-item-wrapper\"\n :class=\"[\n `dropdown-item-wrapper--${type}${selected ? '--selected' : ''}`,\n { 'dropdown-item-wrapper--disabled': disabled },\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"onClick\"\n >\n <div class=\"flex items-center gap-3\">\n <slot name=\"prefix-icon\" />\n\n <slot />\n </div>\n\n <slot name=\"suffix-icon\"></slot>\n </div>\n</template>\n\n<style lang=\"scss\">\n.dropdown-item-wrapper {\n @apply flex w-full cursor-pointer justify-between items-center gap-1 rounded px-4 py-2 text-sm;\n\n &--default {\n @apply text-gray-700 hover:bg-gray-100 hover:text-gray-900;\n\n &--selected {\n @apply bg-gray-100 text-gray-900;\n }\n }\n\n &--danger {\n @apply text-red-500 hover:bg-red-50 hover:text-red-700;\n\n &--selected {\n @apply bg-red-50 text-red-700;\n }\n }\n\n &--disabled {\n @apply opacity-70 cursor-not-allowed;\n }\n}\n</style>\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20558.095%20475.798'%3e%3cg%3e%3cpath%20d='M555.536,328.049c-15.243-76.866-104.547-138.3-121.965-218.4C401.914,7.74,297.57-8.372,229.765,35.887c-107.437,70.129,7.176,87.532-203.473,253.453-52.014,40.969-35.44,221.817,128.193,180.313,88.06-22.336,114.83-25.47,154.44-29.148C408.763,431.236,581.123,457.079,555.536,328.049Z'%20fill='%23367cff'%20opacity='0.1'%3e%3c/path%3e%3cg%3e%3cg%3e%3cpolygon%20points='436.267%20347.314%20281.957%20428.813%20127.88%20347.314%20127.88%20224.244%20436.267%20224.244%20436.267%20347.314'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M281.957,430.063a1.237,1.237,0,0,1-.585-.146L127.3,348.418a1.249,1.249,0,0,1-.666-1.1V224.244a1.25,1.25,0,0,1,1.25-1.25H436.267a1.25,1.25,0,0,1,1.25,1.25v123.07a1.249,1.249,0,0,1-.666,1.1l-154.31,81.5A1.244,1.244,0,0,1,281.957,430.063Zm-152.827-83.5L281.957,427.4l153.06-80.839V225.494H129.13Zm307.137.753h0Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='436.267%20197.835%20281.957%20116.336%20351.298%2082.913%20505.608%20164.413%20436.267%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M436.267,199.085a1.255,1.255,0,0,1-.584-.144l-154.31-81.5a1.251,1.251,0,0,1,.041-2.232l69.341-33.423a1.244,1.244,0,0,1,1.127.021l154.31,81.5a1.25,1.25,0,0,1-.041,2.231L436.81,198.961A1.246,1.246,0,0,1,436.267,199.085Zm-151.537-82.7,151.563,80.048,66.542-32.073L351.272,84.314Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='127.88%20197.835%20282.19%20116.336%20212.849%2082.913%2058.539%20164.413%20127.88%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M127.88,199.085a1.249,1.249,0,0,1-.543-.124L58,165.538a1.25,1.25,0,0,1-.041-2.231l154.31-81.5a1.244,1.244,0,0,1,1.127-.021l69.341,33.423a1.251,1.251,0,0,1,.041,2.232l-154.31,81.5A1.252,1.252,0,0,1,127.88,199.085ZM61.312,164.362l66.542,32.073,151.563-80.048L212.875,84.314Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='127.88%20197.835%20282.19%20279.335%20202.849%20322.757%2048.539%20241.258%20127.88%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M202.849,324.007a1.244,1.244,0,0,1-.584-.145l-154.31-81.5a1.25,1.25,0,0,1-.016-2.2l79.341-43.423a1.246,1.246,0,0,1,1.184-.008l154.31,81.5a1.25,1.25,0,0,1,.016,2.2l-79.341,43.423A1.251,1.251,0,0,1,202.849,324.007ZM51.179,241.238l151.659,80.1,76.713-41.984-151.66-80.1Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='436.267%20197.835%20281.957%20279.335%20361.298%20322.757%20515.608%20241.258%20436.267%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M361.3,324.007a1.254,1.254,0,0,1-.6-.153l-79.341-43.423a1.25,1.25,0,0,1,.016-2.2l154.31-81.5a1.246,1.246,0,0,1,1.184.008l79.341,43.423a1.25,1.25,0,0,1-.016,2.2l-154.31,81.5A1.244,1.244,0,0,1,361.3,324.007Zm-76.7-44.653,76.712,41.984,151.66-80.1-76.713-41.984Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cpolygon%20points='282.19%20116.336%20127.88%20197.835%20281.957%20279.335%20436.267%20197.835%20282.19%20116.336'%20fill='%23262626'%3e%3c/polygon%3e%3crect%20x='280.707'%20y='279.334'%20width='2.5'%20height='149.479'%20fill='%23262626'%3e%3c/rect%3e%3c/g%3e%3cg%3e%3cpath%20d='M195.5,190.436a.99.99,0,0,1-.577-.185,1,1,0,0,1-.238-1.394c.185-.261,18.258-26.389-1.918-50.209a38.006,38.006,0,0,0-29.095-13.516H163.4c1.916,6.656,1.574,12.574-1.139,17.114a12.645,12.645,0,0,1-11.68,6.42,10.041,10.041,0,0,1-8.679-6.752c-2.219-5.788.1-11.4,6.212-15.017a29.5,29.5,0,0,1,12.589-3.621,53.3,53.3,0,0,0-5.566-10.821c-7.285-11.126-20.562-18.828-36.428-21.131-13.446-1.951-26.332.347-32.833,5.853a1,1,0,0,1-1.292-1.527c6.918-5.859,20.425-8.336,34.412-6.3,16.433,2.386,30.215,10.409,37.815,22.014a54.285,54.285,0,0,1,5.968,11.816,39.976,39.976,0,0,1,31.509,14.18c21.193,25.019,2.217,52.385,2.023,52.659A1,1,0,0,1,195.5,190.436Zm-34.148-65.231a27.826,27.826,0,0,0-12.215,3.414c-5.276,3.122-7.23,7.708-5.363,12.58a8.108,8.108,0,0,0,6.984,5.476,10.669,10.669,0,0,0,9.791-5.454C163.039,137.051,163.267,131.508,161.349,125.205Z'%20fill='%23292a2e'%3e%3c/path%3e%3cg%3e%3cpath%20d='M68.617,113.3a6.809,6.809,0,1,1,.684-.246A6.652,6.652,0,0,1,68.617,113.3Zm-3.325-11.112a4.689,4.689,0,0,0-.477.172,4.791,4.791,0,1,0,.477-.172Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpath%20d='M68.605,97.63a6.8,6.8,0,0,1-8.216-3.885h0a6.8,6.8,0,1,1,8.9,3.64A6.964,6.964,0,0,1,68.605,97.63ZM65.284,86.517a4.889,4.889,0,0,0-.483.173,4.8,4.8,0,0,0-2.568,6.281h0a4.8,4.8,0,1,0,3.051-6.455Z'%20fill='%23292a2e'%3e%3c/path%3e%3cellipse%20cx='66.664'%20cy='98.763'%20rx='8.892'%20ry='5.939'%20fill='%23fff'%3e%3c/ellipse%3e%3cpath%20d='M70.6,105.139a13.754,13.754,0,0,1-3.927.564c-5.548,0-9.9-3.04-9.9-6.931s4.339-6.942,9.885-6.948a12.424,12.424,0,0,1,6.845,1.9,5.676,5.676,0,0,1,.009,10.063A10.872,10.872,0,0,1,70.6,105.139ZM63.338,94.3c-2.672.8-4.566,2.527-4.565,4.467,0,2.677,3.617,4.936,7.9,4.932a10.417,10.417,0,0,0,5.732-1.576,3.706,3.706,0,0,0-.006-6.735,10.4,10.4,0,0,0-5.734-1.566A11.607,11.607,0,0,0,63.338,94.3Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpolygon%20points='68.845%20104.521%2068.635%2092.971%2065.763%2092.855%2065.562%20104.656%2068.845%20104.521'%20fill='%23292a2e'%3e%3c/polygon%3e%3ccircle%20cx='54.867'%20cy='100.358'%20r='0.918'%20fill='%23292a2e'%3e%3c/circle%3e%3ccircle%20cx='55.584'%20cy='95.446'%20r='0.918'%20fill='%23292a2e'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3cg%3e%3cpath%20d='M352.625,132.766a1,1,0,0,1-.956-.707,99.236,99.236,0,0,1-2.606-38.021c2.585-18.6,12.843-43.011,47.03-53.7a88.364,88.364,0,0,1,14.748-3.381c1.611-10.061,7.739-20.975,21.444-28.505,32.562-17.892,54.557-1.839,54.775-1.675a1,1,0,0,1-1.2,1.6c-.208-.156-21.228-15.417-52.611,1.829-12.806,7.037-18.668,17.137-20.335,26.513,15.079-1.485,22.3,3.545,25.541,7.344A15.488,15.488,0,0,1,440.769,61a12.094,12.094,0,0,1-11.835,6.909c-8.421-.494-15.39-7.578-17.752-18.048a34.03,34.03,0,0,1-.614-10.8,85.533,85.533,0,0,0-13.877,3.191c-26.645,8.331-42,25.85-45.648,52.067a96.986,96.986,0,0,0,2.538,37.16,1,1,0,0,1-.956,1.293Zm59.982-93.955a32.014,32.014,0,0,0,.526,10.609c2.161,9.578,8.409,16.051,15.918,16.492a10.178,10.178,0,0,0,9.928-5.8,13.494,13.494,0,0,0-2.048-14.749C432.255,39.876,423.722,37.66,412.607,38.811Z'%20fill='%23292a2e'%3e%3c/path%3e%3cg%3e%3cpath%20d='M510.354,16.884a7.142,7.142,0,1,1,6.994-8.659h0a7.156,7.156,0,0,1-6.994,8.659ZM510.369,4.6a5.141,5.141,0,1,0,5.024,4.051A5.111,5.111,0,0,0,510.369,4.6Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpath%20d='M507.343,33.205a7.162,7.162,0,1,1,1.529-.165A7.171,7.171,0,0,1,507.343,33.205Zm.025-12.285a5.164,5.164,0,0,0-1.1.119,5.112,5.112,0,1,0,1.1-.119Z'%20fill='%23292a2e'%3e%3c/path%3e%3cellipse%20cx='508.827'%20cy='18.098'%20rx='6.289'%20ry='9.416'%20transform='translate(398.692%20515.192)%20rotate(-79.545)'%20fill='%23fff'%3e%3c/ellipse%3e%3cpath%20d='M510.2,25.516a14.966,14.966,0,0,1-2.7-.25,13.1,13.1,0,0,1-6.729-3.286,6.419,6.419,0,0,1-2.191-5.772,6.422,6.422,0,0,1,4.107-4.61,13.946,13.946,0,0,1,14.187,2.618,6.419,6.419,0,0,1,2.191,5.772,6.422,6.422,0,0,1-4.107,4.61A12.088,12.088,0,0,1,510.2,25.516Zm-2.762-12.838a10.072,10.072,0,0,0-3.961.757,4.506,4.506,0,0,0-2.93,3.136,4.506,4.506,0,0,0,1.618,3.975,11.966,11.966,0,0,0,12,2.215,4.506,4.506,0,0,0,2.93-3.136h0a4.5,4.5,0,0,0-1.618-3.975,11.084,11.084,0,0,0-5.7-2.753A12.957,12.957,0,0,0,507.442,12.678Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpolygon%20points='507.668%2011.682%20505.657%2023.748%20508.624%2024.424%20511.112%2012.175%20507.668%2011.682'%20fill='%23292a2e'%3e%3c/polygon%3e%3ccircle%20cx='519.723'%20cy='23.691'%20r='0.972'%20fill='%23292a2e'%3e%3c/circle%3e%3ccircle%20cx='521.417'%20cy='18.715'%20r='0.972'%20fill='%23292a2e'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\"","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { IconMore } from \"../../icons/icons\";\nimport { VDropdown } from \"../dropdown\";\n\nconst props = withDefaults(\n defineProps<{\n isSelected?: boolean;\n }>(),\n {\n isSelected: false,\n }\n);\n\nconst classes = computed(() => {\n const result = [];\n if (props.isSelected) {\n result.push(\"entity-selected\");\n }\n return result;\n});\n</script>\n\n<template>\n <div :class=\"classes\" class=\"entity-wrapper group\">\n <div v-show=\"isSelected\" class=\"entity-selected-indicator\"></div>\n <slot name=\"prepend\" />\n <div class=\"entity-body\">\n <div v-if=\"$slots.checkbox\" class=\"entity-checkbox\">\n <slot name=\"checkbox\" />\n </div>\n <div class=\"entity-start\">\n <slot name=\"start\" />\n </div>\n <div class=\"entity-end\">\n <slot name=\"end\" />\n </div>\n <div v-if=\"$slots.dropdownItems\" class=\"entity-dropdown\">\n <VDropdown>\n <div\n class=\"entity-dropdown-trigger group-hover:bg-gray-200/60\"\n :class=\"{ '!bg-gray-300/60': isSelected }\"\n @click.stop\n >\n <IconMore />\n </div>\n <template #popper>\n <slot name=\"dropdownItems\"></slot>\n </template>\n </VDropdown>\n </div>\n </div>\n <div v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.entity-wrapper {\n @apply relative block px-4 py-3 transition-all hover:bg-gray-50 w-full;\n\n &.entity-selected {\n @apply bg-gray-100;\n }\n\n .entity-selected-indicator {\n @apply absolute inset-y-0 left-0 w-0.5 bg-primary;\n }\n\n .entity-body {\n @apply relative flex flex-row items-center w-full;\n }\n\n .entity-checkbox {\n @apply mr-4 hidden items-center sm:flex;\n }\n\n .entity-start {\n @apply flex flex-1 items-center gap-4;\n }\n\n .entity-end {\n @apply flex flex-col items-end gap-4 sm:flex-row sm:items-center sm:gap-6;\n }\n\n .entity-dropdown {\n @apply ml-4 inline-flex items-center;\n }\n\n .entity-dropdown-trigger {\n @apply cursor-pointer rounded p-1 transition-all hover:text-blue-600;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { RouteLocationRaw } from \"vue-router\";\n\nconst props = withDefaults(\n defineProps<{\n title?: string;\n description?: string;\n route?: RouteLocationRaw;\n width?: string | number;\n }>(),\n {\n title: undefined,\n description: undefined,\n route: undefined,\n width: undefined,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"click\"): void;\n}>();\n\nconst wrapperStyles = computed(() => {\n if (props.width) {\n const width =\n typeof props.width === \"string\" ? props.width : `${props.width}px`;\n return {\n width,\n maxWidth: width,\n };\n }\n return {};\n});\n</script>\n\n<template>\n <div class=\"entity-field-wrapper\" :style=\"wrapperStyles\">\n <div v-if=\"title || $slots.title\" class=\"entity-field-title-body\">\n <slot name=\"title\">\n <div class=\"entity-field-title\" @click=\"emit('click')\">\n <RouterLink\n v-if=\"route\"\n class=\"hover:text-gray-600\"\n :to=\"route\"\n :title=\"title\"\n >\n {{ title }}\n </RouterLink>\n <span v-else :title=\"title\">\n {{ title }}\n </span>\n </div>\n <slot name=\"extra\" />\n </slot>\n </div>\n <div\n v-if=\"description || $slots.description\"\n class=\"entity-field-description-body\"\n >\n <slot name=\"description\">\n <span\n v-if=\"description\"\n class=\"entity-field-description\"\n :title=\"description\"\n >\n {{ description }}\n </span>\n </slot>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.entity-field-wrapper {\n @apply inline-flex flex-col gap-1 max-w-xs;\n\n .entity-field-title-body {\n @apply inline-flex items-center flex-row;\n\n .entity-field-title {\n @apply mr-0 truncate text-sm font-medium text-gray-900 sm:mr-2;\n }\n }\n\n .entity-field-description-body {\n @apply inline-flex items-center;\n\n .entity-field-description {\n @apply text-xs text-gray-500 truncate;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <div class=\"flex items-center justify-center py-4\">\n <svg\n class=\"h-5 w-5 animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { provide } from \"vue\";\n\nconst props = defineProps<{\n openIds?: string[];\n}>();\n\nprovide<string[] | undefined>(\"openIds\", props.openIds);\n</script>\n\n<template>\n <div class=\"menu-container w-full p-3\">\n <ul>\n <slot />\n </ul>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { computed, inject, ref, useSlots } from \"vue\";\nimport { IconArrowRight } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n id?: string;\n title?: string;\n active?: boolean;\n }>(),\n {\n id: \"\",\n title: \"\",\n active: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"select\", id: string): void;\n}>();\n\nconst slots = useSlots();\n\nconst open = ref(false);\n\nconst openIds = inject<string[] | undefined>(\"openIds\");\n\nif (openIds?.includes(props.id)) {\n open.value = true;\n}\n\nconst hasSubmenus = computed(() => {\n return slots.default && slots.default().length > 0;\n});\n\nfunction handleClick() {\n if (!open.value) {\n handleExpand();\n }\n emit(\"select\", props.id);\n}\n\nfunction handleExpand() {\n if (hasSubmenus.value) {\n open.value = !open.value;\n }\n}\n</script>\n\n<template>\n <li\n :class=\"{ 'has-submenus': hasSubmenus }\"\n class=\"menu-item group\"\n @click.stop=\"handleClick\"\n >\n <div :class=\"{ active }\" class=\"menu-item-title\">\n <span v-if=\"$slots.icon\" class=\"menu-icon mr-3 self-center\">\n <slot name=\"icon\" />\n </span>\n <span class=\"menu-title flex-1 self-center\">\n {{ title }}\n </span>\n <span\n v-if=\"$slots.default\"\n :class=\"{ open }\"\n class=\"menu-icon-collapse self-center transition-all\"\n @click.stop=\"handleExpand\"\n >\n <IconArrowRight />\n </span>\n </div>\n\n <Transition name=\"submenus-show\">\n <ul v-show=\"$slots.default && open\" class=\"sub-menu-items transition-all\">\n <slot />\n </ul>\n </Transition>\n </li>\n</template>\n\n<style lang=\"scss\">\n.menu-item {\n @apply cursor-pointer;\n}\n\n.menu-item-title {\n @apply transition-all\n text-base\n flex\n select-none\n relative\n px-2\n py-[0.4rem]\n font-normal\n rounded-base;\n\n &:hover,\n &.active {\n @apply bg-gray-100\n font-medium;\n }\n\n &.active::after {\n @apply absolute;\n top: calc(50% - 13px);\n left: -8px;\n width: 3px;\n height: 26px;\n content: \"\";\n background: #242e41;\n border-radius: 6px;\n }\n}\n\n.menu-icon-collapse {\n @apply group-hover:bg-gray-200 p-0.5 rounded-full;\n\n &.open {\n @apply bg-gray-200;\n transform: rotate(90deg);\n }\n}\n\n.submenus-show-enter-active,\n.submenus-show-leave-active {\n transition: all 0.1s ease;\n}\n\n.submenus-show-enter-from,\n.submenus-show-enter-to {\n opacity: 0;\n}\n\n.sub-menu-items {\n @apply pl-5 my-1;\n\n .menu-item-title {\n @apply p-1.5 text-sm;\n }\n}\n</style>\n","<template>\n <li class=\"menu-label flex flex-col\">\n <slot />\n </li>\n</template>\n<style lang=\"scss\">\n.menu-label {\n padding-top: 10px;\n padding-bottom: 10px;\n color: #847e7e;\n font-size: 14px;\n font-weight: 400;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n page?: number;\n size?: number;\n total?: number;\n sizeOptions?: number[];\n showTotal?: boolean;\n pageLabel?: string;\n sizeLabel?: string;\n totalLabel?: string;\n }>(),\n {\n page: 1,\n size: 10,\n total: 0,\n sizeOptions: () => [10],\n showTotal: true,\n pageLabel: \"页\",\n sizeLabel: \"条 / 页\",\n totalLabel: undefined,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:page\", page: number): void;\n (event: \"update:size\", size: number): void;\n (event: \"change\", value: { page: number; size: number }): void;\n}>();\n\nconst totalPages = computed(() => Math.ceil(props.total / props.size));\n\nconst hasNext = computed(() => props.page < totalPages.value);\n\nconst hasPrevious = computed(() => props.page > 1);\n\nconst totalLabelText = computed(() => {\n if (props.totalLabel) {\n return props.totalLabel;\n }\n return `共 ${props.total} 项数据`;\n});\n\nconst onPageChange = (event: Event) => {\n const target = event.target as HTMLSelectElement;\n const page = Number(target.value);\n emit(\"update:page\", page);\n emit(\"change\", { page, size: props.size });\n};\n\nconst onSizeChange = (event: Event) => {\n const target = event.target as HTMLSelectElement;\n const size = Number(target.value);\n emit(\"update:size\", size);\n\n // reset page to 1\n emit(\"update:page\", 1);\n emit(\"change\", { page: 1, size });\n};\n\nconst previous = () => {\n if (hasPrevious.value) {\n const page = props.page - 1;\n emit(\"update:page\", page);\n emit(\"change\", { page: page, size: props.size });\n }\n};\n\nconst next = () => {\n if (hasNext.value) {\n const page = props.page + 1;\n emit(\"update:page\", page);\n emit(\"change\", { page: page, size: props.size });\n }\n};\n</script>\n<template>\n <div class=\"pagination\">\n <div v-if=\"showTotal\" class=\"pagination__total\">\n {{ totalLabelText }}\n </div>\n <div class=\"pagination__controller\">\n <nav aria-label=\"Pagination\" class=\"pagination__nav\">\n <button\n class=\"pagination__btn pagination__btn--prev\"\n :disabled=\"!hasPrevious\"\n @click=\"previous\"\n >\n <IconArrowLeft />\n </button>\n <button\n class=\"pagination__btn pagination__btn--next\"\n :disabled=\"!hasNext\"\n @click=\"next\"\n >\n <IconArrowRight />\n </button>\n </nav>\n <div class=\"pagination__select-wrap\">\n <select\n :value=\"page\"\n :disabled=\"totalPages === 0\"\n class=\"pagination__select\"\n @change=\"onPageChange\"\n >\n <option v-if=\"totalPages === 0\" :value=\"1\">0 / 0</option>\n <option v-for=\"i in totalPages || 1\" :key=\"i\" :value=\"i\">\n {{ i }} / {{ totalPages }}\n </option>\n </select>\n <span class=\"pagination__select-label\">\n {{ pageLabel }}\n </span>\n </div>\n <div class=\"pagination__select-wrap\">\n <select :value=\"size\" class=\"pagination__select\" @change=\"onSizeChange\">\n <option\n v-for=\"(sizeOption, index) in sizeOptions\"\n :key=\"index\"\n :value=\"sizeOption\"\n >\n {{ sizeOption }}\n </option>\n </select>\n <span class=\"pagination__select-label\">\n {{ sizeLabel }}\n </span>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.pagination {\n @apply bg-white flex items-center flex-1 gap-2;\n\n &__total {\n @apply hidden sm:block text-sm text-gray-500;\n }\n\n &__controller {\n @apply flex items-center gap-2 flex-1 justify-end;\n }\n\n &__nav {\n @apply relative z-0 inline-flex rounded-base shadow-sm -space-x-px;\n }\n\n &__btn {\n @apply relative h-8 outline-none inline-flex items-center px-2 py-1.5 rounded-base border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50 cursor-pointer disabled:cursor-not-allowed;\n\n &--prev {\n @apply rounded-r-none;\n }\n\n &--next {\n @apply rounded-l-none;\n }\n }\n\n &__select-wrap {\n @apply inline-flex items-center gap-2;\n }\n\n &__select {\n @apply h-8 border outline-none rounded-base pr-10 border-solid px-2 text-gray-800 text-sm border-gray-300 focus:border-primary;\n }\n\n &__select-label {\n @apply text-sm text-gray-500;\n }\n}\n</style>\n","export type Spacing = \"xs\" | \"sm\" | \"md\" | \"lg\";\nexport type Direction = \"row\" | \"column\";\nexport type Align = \"start\" | \"end\" | \"center\" | \"stretch\";\nexport const SpacingSize: Record<string, number> = {\n xs: 10,\n sm: 12,\n md: 16,\n lg: 20,\n};\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { Align, Direction, Spacing } from \"./interface\";\nimport { SpacingSize } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n spacing?: Spacing;\n direction?: Direction;\n align?: Align;\n }>(),\n {\n spacing: \"xs\",\n direction: \"row\",\n align: \"center\",\n }\n);\n\nconst wrapperClasses = computed(() => {\n const { direction, align } = props;\n return [`space-direction-${direction}`, `space-align-${align}`];\n});\n</script>\n<template>\n <div\n :class=\"wrapperClasses\"\n :style=\"`gap: ${SpacingSize[spacing]}px`\"\n class=\"space-wrapper\"\n >\n <slot />\n </div>\n</template>\n<style lang=\"scss\">\n.space-wrapper {\n @apply inline-flex\n box-border;\n\n &.space-direction-row {\n @apply flex-row;\n }\n\n &.space-direction-column {\n @apply flex-col;\n }\n\n &.space-align-center {\n @apply items-center;\n }\n\n &.space-align-start {\n @apply items-start;\n }\n\n &.space-align-end {\n @apply items-end;\n }\n\n &.space-align-stretch {\n @apply items-stretch;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { State } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n state?: State;\n animate?: boolean;\n text?: string;\n }>(),\n { state: \"success\", animate: false, text: undefined }\n);\n\nconst classes = computed(() => {\n return [`status-dot-${props.state}`, { \"status-dot-animate\": props.animate }];\n});\n</script>\n\n<template>\n <div class=\"status-dot-wrapper\" :class=\"classes\">\n <div class=\"status-dot-body\">\n <span class=\"status-dot-inner\"></span>\n </div>\n <slot v-if=\"$slots.text || text\" name=\"text\">\n <span class=\"status-dot-text\">{{ text }}</span>\n </slot>\n </div>\n</template>\n\n<style lang=\"scss\">\n.status-dot-wrapper {\n @apply flex items-center gap-2;\n\n .status-dot-body {\n @apply inline-flex h-2 w-2 items-center justify-center rounded-full;\n }\n\n .status-dot-inner {\n @apply inline-block h-1.5 w-1.5 rounded-full;\n }\n\n .status-dot-text {\n @apply text-gray-500 text-xs;\n }\n\n &.status-dot-animate {\n .status-dot-inner {\n @apply animate-ping;\n }\n }\n\n &.status-dot-default {\n .status-dot-body {\n @apply bg-gray-300;\n }\n\n .status-dot-inner {\n @apply bg-gray-300;\n }\n }\n\n &.status-dot-success {\n .status-dot-body {\n @apply bg-green-600;\n }\n\n .status-dot-inner {\n @apply bg-green-600;\n }\n }\n\n &.status-dot-warning {\n .status-dot-body {\n @apply bg-yellow-600;\n }\n\n .status-dot-inner {\n @apply bg-yellow-600;\n }\n }\n\n &.status-dot-error {\n .status-dot-body {\n @apply bg-red-600;\n }\n\n .status-dot-inner {\n @apply bg-red-600;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean;\n disabled?: boolean;\n loading?: boolean;\n }>(),\n {\n modelValue: false,\n disabled: false,\n loading: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:modelValue\", value: boolean): void;\n (event: \"change\", value: boolean): void;\n}>();\n\nconst handleChange = () => {\n if (props.disabled || props.loading) return;\n\n emit(\"update:modelValue\", !props.modelValue);\n emit(\"change\", !props.modelValue);\n};\n</script>\n<template>\n <div class=\"switch-wrapper\">\n <button\n :class=\"{\n 'bg-gray-200': !modelValue,\n '!bg-primary': modelValue,\n 'switch-disabled': disabled || loading,\n }\"\n aria-checked=\"false\"\n class=\"switch-inner\"\n role=\"switch\"\n type=\"button\"\n :disabled=\"disabled || loading\"\n @click=\"handleChange\"\n >\n <span\n :class=\"{\n 'translate-x-0': !modelValue,\n 'translate-x-5': modelValue,\n }\"\n aria-hidden=\"true\"\n class=\"switch-indicator\"\n >\n <svg\n v-if=\"loading\"\n class=\"animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-0\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-30\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <slot v-else name=\"icon\" />\n </span>\n </button>\n </div>\n</template>\n<style lang=\"scss\">\n.switch-wrapper {\n @apply inline-flex\n box-border;\n\n .switch-inner {\n @apply relative\n inline-flex\n flex-shrink-0\n h-6\n w-11\n border-2\n border-transparent\n rounded-full\n cursor-pointer\n transition-colors\n ease-in-out\n duration-200;\n\n &.switch-disabled {\n @apply opacity-60\n cursor-not-allowed;\n }\n\n .switch-indicator {\n @apply pointer-events-none\n inline-block\n h-5\n w-5\n rounded-full\n bg-white\n shadow\n transform\n ring-0\n transition\n ease-in-out\n duration-200;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef } from \"vue\";\nimport { computed, inject } from \"vue\";\n\nconst props = defineProps<{\n id?: string;\n label?: string;\n}>();\n\nconst activeId = inject<ComputedRef<string | number | undefined>>(\"activeId\");\n\nconst isActive = computed(() => {\n return activeId?.value === props.id;\n});\n</script>\n<template>\n <div v-if=\"isActive\" class=\"tabs-item-wrapper\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { useElementSize, useThrottleFn } from \"@vueuse/core\";\nimport type { ComputedRef } from \"vue\";\nimport { computed, onMounted, onUnmounted, ref, watch } from \"vue\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons/icons\";\nimport type { ArrowShow, Direction, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n activeId?: number | string;\n items?: Array<Record<string, string>>;\n type?: Type;\n direction?: Direction;\n idKey?: string;\n labelKey?: string;\n }>(),\n {\n activeId: undefined,\n items: undefined,\n type: \"default\",\n direction: \"row\",\n idKey: \"id\",\n labelKey: \"label\",\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:activeId\", value: number | string): void;\n (event: \"change\", value: number | string): void;\n}>();\n\nconst classes = computed(() => {\n return [`tabbar-${props.type}`, `tabbar-direction-${props.direction}`];\n});\n\nconst handleChange = (id: number | string, index: number) => {\n handleClickTabItem(index);\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n\nconst tabbarItemsRef = ref<HTMLElement | undefined>();\nconst tabItemRefs = ref<HTMLElement[] | undefined>();\nconst itemWidthArr = ref<number[]>([]);\nconst indicatorRef = ref<HTMLElement | undefined>();\nconst arrowFlag = ref(false);\nconst { width: tabbarWidth } = useElementSize(tabbarItemsRef);\n\nconst arrowShow: ComputedRef<ArrowShow> = computed(() => {\n const show: ArrowShow = { left: false, right: false };\n if (!tabbarItemsRef.value) return show;\n void arrowFlag.value;\n void tabbarWidth.value;\n const { scrollWidth, scrollLeft, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth > clientWidth) {\n if (scrollLeft < scrollWidth - clientWidth) {\n show.right = true;\n }\n if (scrollLeft > 20) {\n show.left = true;\n }\n }\n return show;\n});\n\nfunction handleHorizontalWheel(event: WheelEvent) {\n if (!tabbarItemsRef.value) {\n return;\n }\n const { scrollLeft, scrollWidth, clientWidth } = tabbarItemsRef.value;\n const toLeft = event.deltaY < 0 && scrollLeft > 0;\n const toRight = event.deltaY > 0 && scrollLeft < scrollWidth - clientWidth;\n\n if (toLeft || toRight) {\n event.preventDefault();\n event.stopPropagation();\n tabbarItemsRef.value.scrollBy({ left: event.deltaY });\n }\n}\n\nfunction saveItemsWidth() {\n if (!tabbarItemsRef.value || !tabItemRefs.value) return;\n itemWidthArr.value = [];\n for (const item of tabItemRefs.value) {\n itemWidthArr.value.push(item.offsetWidth);\n }\n arrowFlag.value = !arrowFlag.value;\n}\n\nfunction handleClickTabItem(index: number) {\n if (!tabbarItemsRef.value || !indicatorRef.value) return;\n const { scrollWidth, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth <= clientWidth) return;\n if (index === 0) {\n tabbarItemsRef.value.scrollTo({ left: 0, behavior: \"smooth\" });\n return;\n }\n if (index === itemWidthArr.value.length - 1) {\n tabbarItemsRef.value.scrollTo({\n left: scrollWidth - clientWidth,\n behavior: \"smooth\",\n });\n return;\n }\n}\n\nfunction handleClickArrow(prev: boolean) {\n if (!tabbarItemsRef.value || !indicatorRef.value || !tabItemRefs.value)\n return;\n const { scrollWidth, scrollLeft, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth <= clientWidth) return;\n if (!itemWidthArr.value[0]) {\n itemWidthArr.value = [];\n for (const item of tabItemRefs.value) {\n itemWidthArr.value.push(item.offsetWidth);\n }\n }\n let hiddenNum = 0;\n let totalWith = 0;\n let scrollByX = 0;\n const lastItemWidth = itemWidthArr.value[itemWidthArr.value.length - 1];\n if (prev) {\n for (let i = 0; i < itemWidthArr.value.length; i++) {\n const w = itemWidthArr.value[i];\n totalWith += w;\n if (totalWith >= scrollLeft) {\n hiddenNum = i;\n break;\n }\n }\n if (hiddenNum === 0) {\n scrollByX = -itemWidthArr.value[0];\n } else {\n scrollByX = -(\n itemWidthArr.value[hiddenNum] -\n totalWith +\n scrollLeft +\n itemWidthArr.value[hiddenNum - 1]\n );\n }\n } else {\n const overWidth = scrollWidth - scrollLeft - clientWidth;\n for (let i = itemWidthArr.value.length - 1; i >= 0; i--) {\n const w = itemWidthArr.value[i];\n totalWith += w;\n if (totalWith >= overWidth) {\n hiddenNum = i;\n break;\n }\n }\n\n if (hiddenNum === itemWidthArr.value.length - 1) {\n scrollByX =\n lastItemWidth + itemWidthArr.value[itemWidthArr.value.length - 1];\n } else {\n scrollByX =\n itemWidthArr.value[hiddenNum] -\n (totalWith - overWidth) +\n itemWidthArr.value[hiddenNum + 1];\n }\n }\n tabbarItemsRef.value.scrollBy({\n left: scrollByX,\n behavior: \"smooth\",\n });\n}\n\nconst handleScroll = useThrottleFn(\n () => {\n arrowFlag.value = !arrowFlag.value;\n },\n 100,\n true\n);\n\nwatch(() => tabItemRefs.value?.length, saveItemsWidth);\n\nonMounted(() => {\n tabbarItemsRef.value?.addEventListener(\"wheel\", handleHorizontalWheel);\n tabbarItemsRef.value?.addEventListener(\"scroll\", handleScroll);\n});\n\nonUnmounted(() => {\n tabbarItemsRef.value?.removeEventListener(\"wheel\", handleHorizontalWheel);\n tabbarItemsRef.value?.removeEventListener(\"scroll\", handleScroll);\n});\n</script>\n<template>\n <div :class=\"classes\" class=\"tabbar-wrapper\">\n <div\n ref=\"indicatorRef\"\n :class=\"['indicator', 'left', arrowShow.left ? 'visible' : 'invisible']\"\n >\n <div title=\"向前\" class=\"arrow-left\" @click=\"handleClickArrow(true)\">\n <IconArrowLeft />\n </div>\n </div>\n <div\n :class=\"['indicator', 'right', arrowShow.right ? 'visible' : 'invisible']\"\n >\n <div title=\"向后\" class=\"arrow-right\" @click=\"handleClickArrow(false)\">\n <IconArrowRight />\n </div>\n </div>\n <div ref=\"tabbarItemsRef\" class=\"tabbar-items\">\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n ref=\"tabItemRefs\"\n :class=\"{ 'tabbar-item-active': item[idKey] === activeId }\"\n class=\"tabbar-item\"\n @click=\"handleChange(item[idKey], index)\"\n >\n <div v-if=\"item.icon\" class=\"tabbar-item-icon\">\n <component :is=\"item.icon\" />\n </div>\n <div v-if=\"item[labelKey]\" class=\"tabbar-item-label\">\n {{ item[labelKey] }}\n </div>\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabbar-wrapper {\n @apply relative;\n .indicator {\n @apply absolute\n top-0\n z-10\n w-20\n h-full\n flex\n items-center\n from-transparent\n from-10%\n via-white/80\n via-30%\n to-white\n to-70%\n pt-1\n pointer-events-none\n pb-1.5;\n\n &.left {\n @apply left-0\n justify-start\n bg-gradient-to-l;\n }\n &.right {\n @apply right-0\n justify-end\n bg-gradient-to-r;\n }\n .arrow-left,\n .arrow-right {\n @apply w-10\n h-9\n flex\n justify-center\n items-center\n pointer-events-auto\n cursor-pointer\n select-none;\n svg {\n font-size: 1.5em;\n }\n }\n }\n\n .tabbar-items {\n @apply flex\n items-center\n flex-row\n overflow-x-auto\n py-0.5;\n\n &::-webkit-scrollbar-track-piece {\n background-color: #f8f8f8;\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n border-radius: 2em;\n }\n\n &::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: #ddd;\n background-clip: padding-box;\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n border-radius: 2em;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: #bbb;\n }\n }\n\n .tabbar-item {\n @apply inline-flex\n cursor-pointer\n self-center\n transition-all\n text-sm\n justify-center\n gap-2\n h-9\n whitespace-nowrap;\n\n .tabbar-item-label,\n .tabbar-item-icon {\n @apply self-center;\n }\n }\n\n &.tabbar-default {\n border-bottom-width: 2px;\n @apply border-b-gray-100;\n\n .tabbar-items {\n margin-bottom: -4px;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply px-5\n py-1\n border-b-gray-100;\n\n border-bottom-width: 2px;\n\n &.tabbar-item-active {\n @apply text-secondary\n border-b-secondary;\n }\n }\n }\n\n &.tabbar-pills {\n .tabbar-items {\n @apply gap-1;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply px-6\n py-1\n opacity-70\n rounded-base;\n\n &.tabbar-item-active {\n @apply bg-gray-100\n opacity-100;\n }\n\n &:hover {\n @apply bg-gray-100;\n }\n }\n }\n\n &.tabbar-outline {\n @apply px-1\n py-0.5\n bg-gray-100\n rounded-base;\n\n .tabbar-items {\n @apply gap-1\n justify-start;\n }\n\n .tabbar-item {\n @apply px-6\n py-1\n opacity-70\n rounded-sm;\n\n &.tabbar-item-active {\n @apply bg-white\n opacity-100\n shadow-sm;\n }\n\n &:hover {\n @apply bg-white;\n }\n }\n }\n\n &.tabbar-direction-row {\n .tabbar-items {\n @apply flex-row;\n }\n }\n\n &.tabbar-direction-column {\n .tabbar-items {\n @apply flex-col;\n }\n\n .tabbar-item {\n width: 100%;\n }\n\n &.tabbar-default {\n border-bottom-width: 0;\n @apply border-b-0;\n border-right-width: 2px;\n @apply border-r-gray-100;\n\n .tabbar-items {\n margin-bottom: 0;\n margin-right: -2px;\n }\n\n .tabbar-item {\n border-bottom-width: 0;\n border-right-width: 2px;\n\n &.tabbar-item-active {\n @apply border-r-secondary;\n }\n }\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef } from \"vue\";\nimport { computed, provide, useSlots } from \"vue\";\nimport { VTabbar } from \"./index\";\nimport type { Direction, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n activeId?: number | string;\n type?: Type;\n direction?: Direction;\n idKey?: string;\n labelKey?: string;\n }>(),\n {\n activeId: undefined,\n type: \"default\",\n direction: \"row\",\n idKey: \"id\",\n labelKey: \"label\",\n }\n);\n\nprovide<ComputedRef<string | number | undefined>>(\n \"activeId\",\n computed(() => props.activeId)\n);\n\nconst emit = defineEmits<{\n (event: \"update:activeId\", value: number | string): void;\n (event: \"change\", value: number | string): void;\n}>();\n\nconst slots = useSlots();\n\nconst tabItems = computed(() => {\n return slots.default?.().map(({ props: slotProps }) => {\n return {\n id: slotProps?.[props.idKey],\n label: slotProps?.[props.labelKey],\n };\n });\n});\n\nconst classes = computed(() => {\n return [`tabs-direction-${props.direction}`];\n});\n\nconst handleChange = (id: string | number) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n</script>\n<template>\n <div :class=\"classes\" class=\"tabs-wrapper\">\n <div class=\"tabs-bar-wrapper\">\n <VTabbar\n :active-id=\"activeId\"\n :direction=\"direction\"\n :items=\"tabItems\"\n :type=\"type\"\n @change=\"handleChange\"\n />\n </div>\n <div class=\"tabs-items-wrapper\">\n <slot />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabs-wrapper {\n @apply flex;\n\n &.tabs-direction-row {\n @apply flex-col;\n\n .tabs-items-wrapper {\n @apply mt-2;\n }\n }\n\n &.tabs-direction-column {\n .tabs-items-wrapper {\n @apply ml-2;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { CSSProperties } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Theme } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n theme?: Theme;\n rounded?: boolean;\n styles?: CSSProperties;\n }>(),\n {\n theme: \"default\",\n rounded: false,\n styles: () => {\n return {};\n },\n }\n);\n\nconst classes = computed(() => {\n return [`tag-${props.theme}`, { \"tag-rounded\": props.rounded }];\n});\n</script>\n<template>\n <div :class=\"classes\" :style=\"styles\" class=\"tag-wrapper\">\n <div v-if=\"$slots.leftIcon\" class=\"tag-left-icon\">\n <slot name=\"leftIcon\" />\n </div>\n <span class=\"tag-content\">\n <slot />\n </span>\n <div v-if=\"$slots.rightIcon\" class=\"tag-right-icon\">\n <slot name=\"rightIcon\" />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tag-wrapper {\n @apply rounded-base\n inline-flex\n flex-shrink-0\n flex-wrap\n box-border\n cursor-pointer\n text-center\n items-center\n justify-center\n w-auto\n align-middle\n h-5\n text-xs\n border\n border-solid\n px-1;\n\n &.tag-default {\n border: 1px solid #d9d9d9;\n }\n\n &.tag-primary {\n @apply text-white\n bg-primary\n border-primary;\n }\n\n &.tag-secondary {\n @apply text-white\n bg-secondary\n border-secondary;\n }\n\n &.tag-danger {\n background: #d71d1d;\n border: 1px solid #d71d1d;\n @apply text-white;\n }\n\n &.tag-rounded {\n @apply rounded-full;\n }\n\n .tag-content {\n @apply px-1;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"@/icons/icons\";\nimport {\n markRaw,\n onMounted,\n ref,\n watchEffect,\n type Component,\n type Raw,\n} from \"vue\";\nimport type { Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n content?: string;\n duration?: number;\n closable?: boolean;\n frozenOnHover?: boolean;\n count?: 0;\n onClose?: () => void;\n }>(),\n {\n type: \"success\",\n content: \"\",\n duration: 3000,\n closable: true,\n frozenOnHover: true,\n count: 0,\n onClose: undefined,\n }\n);\n\nconst timer = ref();\n\nconst emit = defineEmits<{\n (event: \"close\"): void;\n}>();\n\nconst icons: Record<Type, { icon: Raw<Component>; color: string }> = {\n success: {\n icon: markRaw(IconCheckboxCircle),\n color: \"text-green-500\",\n },\n info: {\n icon: markRaw(IconInformation),\n color: \"text-sky-500\",\n },\n warning: {\n icon: markRaw(IconErrorWarning),\n color: \"text-orange-500\",\n },\n error: {\n icon: markRaw(IconForbidLine),\n color: \"text-red-500\",\n },\n};\n\nconst createTimer = () => {\n if (props.duration < 0) return;\n timer.value = setTimeout(() => {\n close();\n }, props.duration);\n};\n\nconst clearTimer = () => {\n clearTimeout(timer.value);\n};\n\nconst close = () => {\n emit(\"close\");\n};\n\nconst handleMouseEnter = () => {\n if (!props.frozenOnHover) {\n return;\n }\n clearTimer();\n};\n\nconst handleMouseLeave = () => {\n if (!props.frozenOnHover) {\n return;\n }\n createTimer();\n};\n\nwatchEffect(() => {\n if (props.count > 0) {\n clearTimer();\n createTimer();\n }\n});\n\nonMounted(createTimer);\n\ndefineExpose({ close });\n</script>\n\n<template>\n <transition\n appear\n enter-active-class=\"transform ease-out duration-300 transition\"\n enter-from-class=\"translate-x-0 -translate-y-2\"\n enter-to-class=\"translate-y-0\"\n leave-active-class=\"transition ease-in duration-100\"\n leave-from-class=\"opacity-100\"\n leave-to-class=\"opacity-0\"\n >\n <div\n class=\"toast-wrapper\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div class=\"toast-body\">\n <div class=\"toast-icon\">\n <component :is=\"icons[type].icon\" :class=\"icons[type].color\" />\n </div>\n <div class=\"toast-content\">\n <div class=\"toast-description\">\n <slot>{{ content }}</slot>\n </div>\n </div>\n <div v-if=\"closable\" class=\"toast-control\">\n <IconClose class=\"\" @click=\"close\" />\n </div>\n </div>\n <div v-if=\"count\" class=\"toast-count\">\n <span>{{ count }}</span>\n </div>\n </div>\n </transition>\n</template>\n<style lang=\"scss\">\n.toast-container {\n @apply fixed pointer-events-none flex z-[9999] flex-col box-border transition-all w-full left-0 top-0 items-center justify-center p-4 gap-3;\n\n .toast-wrapper {\n @apply inline-block max-w-xs pointer-events-auto relative;\n }\n\n .toast-body {\n @apply cursor-pointer flex items-center px-2.5 py-2 overflow-hidden break-all bg-white shadow hover:shadow-md transition-all rounded gap-2;\n }\n\n .toast-content {\n @apply text-sm flex flex-col gap-1;\n }\n\n .toast-description {\n @apply text-gray-800;\n }\n\n .toast-control {\n @apply text-gray-600 hover:text-gray-900 transition-all cursor-pointer rounded-full hover:bg-gray-100 p-0.5;\n }\n\n .toast-count {\n @apply bg-red-500 rounded-full absolute -right-1 -top-1 w-4 h-4 flex items-center justify-center;\n\n span {\n @apply text-[0.7rem] text-white;\n }\n }\n}\n</style>\n","import { createVNode, render, type Component, type VNode } from \"vue\";\nimport ToastComponent from \"./Toast.vue\";\nimport type { ToastProps } from \"./interface\";\n\nexport type ToastApiProps = Omit<ToastProps, \"type\" | \"content\">;\n\nexport interface ToastInstance {\n id: string;\n vnode: VNode;\n}\n\nexport type ToastApi = (\n content: string,\n props?: ToastApiProps\n) => ToastInstance;\n\nexport interface ToastEntry {\n (props: ToastProps): ToastInstance;\n info: ToastApi;\n success: ToastApi;\n error: ToastApi;\n warning: ToastApi;\n}\n\nlet index = 0;\n\nconst instances: ToastInstance[] = [];\n\nconst defaultProps: ToastProps = {\n frozenOnHover: true,\n duration: 3000,\n count: 0,\n};\n\nconst toast: ToastEntry = (userProps: ToastProps) => {\n const id = \"toast-\" + index++;\n\n const props = {\n ...defaultProps,\n ...userProps,\n id,\n };\n\n let container = document.body.querySelector(\".toast-container\");\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"toast-container\";\n document.body.appendChild(container);\n }\n\n // Grouping toasts\n if (instances.length > 0) {\n const instance = instances.find((item) => {\n const { vnode } = item;\n if (vnode?.props) {\n return (\n vnode.props.content === props.content &&\n vnode.props.type === props.type\n );\n }\n return undefined;\n });\n\n if (instance?.vnode.component?.props) {\n (instance.vnode.component.props.count as number) += 1;\n index = instances.length - 1;\n return instance;\n }\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n ToastComponent,\n props\n );\n\n if (hostContainer.firstElementChild) {\n container.appendChild(hostContainer.firstElementChild);\n }\n\n if (vnode?.props) {\n // close emit\n vnode.props.onClose = () => {\n removeInstance(id);\n render(null, hostContainer);\n };\n }\n\n const instance = {\n id,\n vnode,\n close: () => {\n vnode?.component?.exposed?.close();\n },\n };\n\n instances.push(instance);\n return instance;\n};\n\nfunction createVNodeComponent(\n component: Component,\n props: Record<string, unknown>\n) {\n const vnode = createVNode(component, props);\n const container = document.createElement(\"div\");\n render(vnode, container);\n return { vnode, container };\n}\n\nfunction removeInstance(id: string) {\n const index = instances.findIndex((instance) => instance.id === id);\n if (index >= 0) {\n instances.splice(index, 1);\n\n if (instances.length === 0) {\n const container = document.body.querySelector(\".toast-container\");\n container?.remove();\n }\n }\n}\n\ntoast.success = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"success\", content });\ntoast.info = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"info\", content });\ntoast.warning = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"warning\", content });\ntoast.error = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"error\", content });\n\nexport { toast as Toast };\n"],"names":["TypeIcons","markRaw","IconCheckboxCircle","IconInformation","IconErrorWarning","IconCloseCircle","props","__props","emit","__emit","classes","computed","handleClose","AvatarGroupContextInjectionKey","groupProps","inject","size","circle","width","height","isLoading","ref","error","init","loadImage","isInit","image","resolve","reject","err","watch","onMounted","result","styles","placeholderText","words","provide","router","useRouter","handleClick","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","createCache","t","n","s","e","c","r","cacheUpdateContextual","o","l","i","a","getApi","u","f","_","d","v","h","p","g","isUndefined","isNull","type","isNumber","isString","isBoolean","isFunction","isArray","isObject","isArrayLike","isPlainObject","isHTMLElement","isElement","each","inArray","concat","push","from","createOrKeepArray","isEmptyArray","deduplicateArray","runEachAndClear","b","w","S","y","m","O","$","C","x","H","I","z","E","equal","equalWH","equalXY","equalTRBL","noop","bind","selfClearTimeout","debounce","mergeParms","flush","hasOwnProperty","keys","assignDeep","removeUndefinedProperties","isEmptyObject","capNumber","getDomTokensArray","getAttr","setAttrs","removeAttrs","domTokenListAttr","domTokenListOperation","removeAttrClass","addAttrClass","addRemoveAttrClass","hasAttrClass","createDomTokenListClass","removeClass","addClass","A","find","findFirst","is","contents","parent","closest","liesBetween","removeElements","before","appendChildren","insertAfter","createDiv","createDOM","T","getCSSVal","validFiniteNumber","parseToZeroOrNumber","ratioToCssPercent","numberToCssPx","setStyles","getStyles","getDirectionIsRTL","topRightBottomLeft","getTrasformTranslateValue","D","getElmWidthHeightProperty","windowSize","k","R","M","fractionalSize","getBoundingClientRect","domRectHasDimensions","domRectAppeared","removeEventListener","addEventListener","stopPropagation","preventDefault","V","absoluteCoordinates","convertScrollPosition","getRawScrollBounds","getRawScrollRatio","scrollElementTo","getElmentScroll","manageListener","createEventListenerHub","removeEvent","addEvent","triggerEvent","opsStringify","getPropByPath","L","getOptionsDiff","createOptionCheck","P","U","B","N","j","F","q","W","X","Y","J","K","Z","G","Q","tt","nt","ot","st","et","ct","at","ut","ft","_t","dt","vt","ht","pt","gt","bt","wt","St","yt","mt","Ot","$t","Ct","xt","Ht","It","addPlugins","registerPluginModuleInstances","getStaticPluginModuleInstance","zt","Et","getShowNativeOverlaidScrollbars","overflowIsVisible","getViewportOverflowState","getStatePerAxis","setViewportOverflowState","setAxisOverflowStyle","Tt","kt","Mt","createEnvironment","getNativeScrollbarSize","getNativeScrollbarsHiding","getRtlScrollBehavior","getEnvironment","resolveInitialization","staticInitializationElement","dynamicInitializationElement","cancelInitialization","Vt","addInstance","removeInstance","getInstance","createEventContentChange","destroy","updateElements","createDOMObserver","observerCallback","createSizeObserver","onSizeChangedCallbackProxy","createTrinsicObserver","isHeightIntrinsic","triggerOnTrinsicChangedCallback","intersectionObserverCallback","onSizeChanged","createObserversSetup","setDirectionWhenViewportIsTarget","updateViewportAttrsFromHost","onTrinsicChanged","onContentMutation","onHostMutation","ignoreMutationFromOptions","createScrollbarsSetupElements","initScrollTimeline","getScrollbarHandleLengthRatio","getScrollbarHandleOffsetRatio","addDirectionRTLKeyframes","cancelElementAnimations","setElementAnimation","scrollbarStructureAddRemoveClass","scrollbarStyle","scrollbarStructureRefreshHandleLength","scrollbarStructureRefreshHandleOffset","getTransformValue","doRefreshScrollbarOffset","scrollbarsAddRemoveClass","refreshScrollbarsHandleLength","refreshScrollbarsHandleOffset","refreshScrollbarsScrollbarOffset","setScrollbarElementAnimation","styleScrollbarPosition","getTranslateValue","generateScrollbarDOM","appendElements","createScrollbarsSetupEvents","isAffectingTransition","createInteractiveScrollEvents","createRelativeHandleMove","getHandleOffset","releasePointerCapture","animateHandleOffset","createScrollbarsSetup","manageAutoHideSuspension","manageScrollbarsAutoHide","isHoverablePointerType","onHostMouseEnter","setScrollbarVisibility","createStructureSetupElements","getFocusedElement","focusElm","elementIsGenerated","rt","lt","unwrap","prepareWrapUnwrapFocus","revertViewportTabIndex","createTrinsicUpdateSegment","createPaddingUpdateSegment","createOverflowUpdateSegment","getOverflowAmount","fixFlexboxGlue","it","createStructureSetup","createSetups","update","updateHintsAreTruthy","OverlayScrollbars","validateOptions","translateScrollbarStructure","translateScrollbarsSetupElement","internalVisible","rootVisible","modelWrapper","wrapperClasses","contentStyles","__expose","focus","handleClickLayer","modalBody","reactiveParams","reactive","initialize","instance","useOverlayScrollbars","value","nextTick","_a","icons","IconForbidLine","loading","handleCancel","handleConfirm","defaultProps","DIALOG_CONTAINER_CLASS","MODAL_WRAPPER_CLASS","getOrCreateContainer","container","dialog","userProps","vnode","hostContainer","createVNodeComponent","DialogComponent","render","component","createVNode","sides","alignments","placements","acc","side","min","max","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","rl","tb","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","isBasePlacement","fallbackPlacements","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$map$so","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","apply","heightSide","widthSide","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","maximumClippingWidth","maximumClippingHeight","xMin","xMax","yMin","yMax","nextDimensions","Ze","re","_e","Te","pe","ae","de","le","he","xe","Ue","Ye","Xe","Ke","Je","Qe","ne","ue","fe","Pe","ce","ke","Le","Fe","Re","vue","Ie","je","Ve","se","ee","te","$e","Ee","ve","Se","We","ze","Ae","Ne","Pt","Ge","qe","He","me","oe","ge","Oe","we","Me","Be","ie","DropdownContextInjectionKey","dropdownRef","hide","onClick","Empty","wrapperStyles","_createElementVNode","slots","useSlots","open","openIds","hasSubmenus","handleExpand","totalPages","hasNext","hasPrevious","totalLabelText","onPageChange","event","target","page","onSizeChange","previous","next","SpacingSize","align","handleChange","activeId","isActive","id","index","handleClickTabItem","tabbarItemsRef","tabItemRefs","itemWidthArr","indicatorRef","arrowFlag","tabbarWidth","useElementSize","arrowShow","show","scrollWidth","scrollLeft","clientWidth","handleHorizontalWheel","toLeft","toRight","saveItemsWidth","item","handleClickArrow","prev","hiddenNum","totalWith","scrollByX","lastItemWidth","overWidth","handleScroll","useThrottleFn","_b","onUnmounted","tabItems","slotProps","timer","createTimer","close","clearTimer","handleMouseEnter","handleMouseLeave","watchEffect","instances","toast","ToastComponent","content"],"mappings":"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","x_google_ignoreList":[6,7,11,12,13,14]}
1
+ {"version":3,"file":"halo-components.iife.js","sources":["../src/components/alert/Alert.vue","../src/components/avatar/interface.ts","../src/components/avatar/Avatar.vue","../src/components/avatar/AvatarGroup.vue","../src/components/button/Button.vue","../src/components/card/Card.vue","../src/components/description/Description.vue","../src/components/description/DescriptionItem.vue","../../../node_modules/.pnpm/overlayscrollbars@2.5.0/node_modules/overlayscrollbars/overlayscrollbars.mjs","../../../node_modules/.pnpm/overlayscrollbars-vue@0.5.7_overlayscrollbars@2.5.0_vue@3.5.16_typescript@5.8.3_/node_modules/overlayscrollbars-vue/overlayscrollbars-vue.mjs","../src/components/modal/Modal.vue","../src/components/dialog/Dialog.vue","../src/components/dialog/dialog-manager.ts","../../../node_modules/.pnpm/@floating-ui+utils@0.1.6/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/.pnpm/@floating-ui+core@1.5.1/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/.pnpm/@floating-ui+dom@1.1.1/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../../../node_modules/.pnpm/floating-vue@5.2.2_vue@3.5.16_typescript@5.8.3_/node_modules/floating-vue/dist/floating-vue.mjs","../src/components/dropdown/symbols.ts","../src/components/dropdown/Dropdown.vue","../src/components/dropdown/DropdownDivider.vue","../src/components/dropdown/DropdownItem.vue","../src/components/empty/Empty.svg","../src/components/empty/Empty.vue","../src/components/entity/Entity.vue","../src/components/entity/EntityContainer.vue","../src/components/entity/EntityField.vue","../src/components/header/PageHeader.vue","../src/components/loading/Loading.vue","../src/components/menu/Menu.vue","../src/components/menu/MenuItem.vue","../src/components/menu/MenuLabel.vue","../src/components/pagination/Pagination.vue","../src/components/space/interface.ts","../src/components/space/Space.vue","../src/components/status/StatusDot.vue","../src/components/switch/Switch.vue","../src/components/tabs/TabItem.vue","../src/components/tabs/Tabbar.vue","../src/components/tabs/Tabs.vue","../src/components/tag/Tag.vue","../src/components/toast/Toast.vue","../src/components/toast/toast-manager.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { FunctionalComponent, Raw, SVGAttributes } from \"vue\";\nimport { computed, markRaw } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconCloseCircle,\n IconErrorWarning,\n IconInformation,\n} from \"../../icons/icons\";\nimport type { Type } from \"./interface\";\n\nconst TypeIcons: Record<Type, Raw<FunctionalComponent<SVGAttributes>>> = {\n success: markRaw(IconCheckboxCircle),\n info: markRaw(IconInformation),\n default: markRaw(IconInformation),\n warning: markRaw(IconErrorWarning),\n error: markRaw(IconCloseCircle),\n};\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n title?: string;\n description?: string;\n closable?: boolean;\n }>(),\n {\n type: \"default\",\n title: \"\",\n description: \"\",\n closable: true,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"close\"): void;\n}>();\n\nconst classes = computed(() => {\n return [`alert-${props.type}`];\n});\n\nconst handleClose = () => {\n emit(\"close\");\n};\n</script>\n\n<template>\n <div :class=\"classes\" class=\"alert-wrapper\">\n <div class=\"alert-header\">\n <div class=\"alert-icon\">\n <slot name=\"icon\">\n <component :is=\"TypeIcons[type]\" />\n </slot>\n </div>\n <div v-if=\"title || $slots.title\" class=\"alert-title\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div v-if=\"closable\" class=\"alert-close\" @click=\"handleClose\">\n <IconClose />\n </div>\n </div>\n <div v-if=\"description || $slots.description\" class=\"alert-description\">\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <div v-if=\"$slots.actions\" class=\"alert-actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.alert-wrapper {\n @apply flex\n flex-col\n box-border\n border\n rounded-base;\n padding: 12px 16px;\n\n .alert-header {\n @apply flex;\n\n .alert-icon {\n @apply self-center\n mr-3\n text-lg;\n }\n\n .alert-title {\n @apply self-center\n mr-3\n flex-1\n font-medium\n text-sm;\n }\n\n .alert-close {\n @apply self-center\n cursor-pointer\n rounded-full\n p-0.5;\n\n &:hover {\n @apply transition-all\n bg-gray-300\n text-white;\n }\n }\n }\n\n .alert-description {\n @apply text-xs\n mt-2;\n }\n\n .alert-actions {\n @apply border-t\n mt-3\n pt-2;\n }\n\n &.alert-default {\n @apply bg-gray-50\n border-gray-300;\n\n .alert-icon,\n .alert-description {\n @apply text-gray-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-gray-700;\n }\n }\n\n &.alert-success {\n @apply bg-green-50\n border-green-300;\n\n .alert-icon,\n .alert-description {\n @apply text-green-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-green-700;\n }\n }\n\n &.alert-info {\n @apply bg-sky-50\n border-sky-300;\n\n .alert-icon,\n .alert-description {\n @apply text-sky-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-sky-700;\n }\n }\n\n &.alert-warning {\n @apply bg-orange-50\n border-orange-300;\n\n .alert-icon,\n .alert-description {\n @apply text-orange-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-orange-700;\n }\n }\n\n &.alert-error {\n @apply bg-red-50\n border-red-300;\n\n .alert-icon,\n .alert-description {\n @apply text-red-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-red-700;\n }\n }\n}\n</style>\n","import type { InjectionKey } from \"vue\";\n\nexport type Size = \"lg\" | \"md\" | \"sm\" | \"xs\";\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n size?: Size;\n width?: string;\n height?: string;\n circle?: boolean;\n}\n\nexport type AvatarGroupProps = Omit<AvatarProps, \"src\" | \"alt\">;\n\nexport const AvatarGroupContextInjectionKey: InjectionKey<AvatarGroupProps> =\n Symbol(\"avatar-group-context\");\n","<script lang=\"ts\" setup>\nimport { computed, inject, onMounted, ref, watch } from \"vue\";\nimport { IconErrorWarning } from \"../../icons/icons\";\nimport { AvatarGroupContextInjectionKey, type AvatarProps } from \"./interface\";\n\nconst props = withDefaults(defineProps<AvatarProps>(), {\n size: \"md\",\n circle: false,\n});\n\nconst groupProps = inject(AvatarGroupContextInjectionKey, undefined);\n\nconst size = computed(() => groupProps?.size || props.size);\nconst circle = computed(() => groupProps?.circle || props.circle);\nconst width = computed(() => groupProps?.width || props.width);\nconst height = computed(() => groupProps?.height || props.height);\n\nconst isLoading = ref(false);\nconst error = ref(false);\nlet init = true;\n\nconst loadImage = async (isInit: boolean) => {\n if (!props.src) {\n error.value = true;\n return;\n }\n\n isLoading.value = true;\n try {\n if (!props.src) {\n error.value = true;\n return Promise.reject();\n }\n if (!isInit) {\n error.value = false;\n }\n const image = new Image();\n image.src = props.src;\n return new Promise((resolve, reject) => {\n image.onload = () => resolve(image);\n image.onerror = (err) => {\n error.value = true;\n reject(err);\n };\n });\n } catch (e) {\n error.value = true;\n } finally {\n isLoading.value = false;\n }\n};\n\nwatch([() => props.alt, () => props.src], async () => loadImage(init));\n\nonMounted(async () => {\n loadImage(init);\n init = false;\n});\n\nconst classes = computed(() => {\n const result = [`avatar-${circle.value ? \"circle\" : \"square\"}`];\n if (size.value) {\n result.push(`avatar-${size.value}`);\n }\n return result;\n});\n\nconst styles = computed(() => {\n const result: Record<string, string> = {};\n if (width.value) {\n result.width = width.value;\n }\n if (height.value) {\n result.height = height.value;\n }\n return result;\n});\n\nconst placeholderText = computed(() => {\n if (!props.alt) {\n return undefined;\n }\n const words = props.alt.split(\" \");\n if (words.length === 1) {\n return words[0].charAt(0).toUpperCase();\n }\n if (words.length > 1) {\n return words[0].charAt(0).toUpperCase() + words[1].charAt(0).toUpperCase();\n }\n return undefined;\n});\n</script>\n\n<template>\n <div class=\"avatar-wrapper\" :class=\"classes\" :style=\"styles\">\n <div v-if=\"isLoading || error\" class=\"avatar-fallback\">\n <svg\n v-if=\"isLoading\"\n class=\"avatar-loading\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <span v-else-if=\"placeholderText\" class=\"avatar-placeholder\">\n {{ placeholderText }}\n </span>\n <IconErrorWarning v-else class=\"avatar-error\" />\n </div>\n <img v-else :src=\"src\" :alt=\"alt\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.avatar-wrapper {\n @apply inline-flex items-center justify-center overflow-hidden bg-gray-100;\n\n img {\n @apply w-full h-full object-cover;\n }\n\n .avatar-fallback {\n @apply w-full h-full flex items-center justify-center;\n }\n\n .avatar-loading {\n @apply animate-spin w-5 h-5;\n }\n\n .avatar-placeholder {\n @apply text-sm text-gray-800 font-medium;\n }\n\n .avatar-error {\n @apply w-5 h-5 text-red-500;\n }\n\n &.avatar-circle {\n @apply rounded-full;\n }\n\n &.avatar-square {\n @apply rounded-base;\n }\n\n &.avatar-xs {\n @apply w-6 h-6;\n\n .avatar-placeholder {\n @apply text-xs;\n }\n }\n\n &.avatar-sm {\n @apply w-8 h-8;\n\n .avatar-placeholder {\n @apply text-xs;\n }\n }\n\n &.avatar-md {\n @apply w-10 h-10;\n }\n\n &.avatar-lg {\n @apply w-12 h-12;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { provide } from \"vue\";\nimport {\n AvatarGroupContextInjectionKey,\n type AvatarGroupProps,\n} from \"./interface\";\n\nconst props = withDefaults(defineProps<AvatarGroupProps>(), {\n size: \"md\",\n circle: false,\n});\n\nprovide(AvatarGroupContextInjectionKey, props);\n</script>\n\n<template>\n <div class=\"avatar-group-wrapper\">\n <slot />\n </div>\n</template>\n\n<style lang=\"scss\">\n.avatar-group-wrapper {\n @apply -space-x-2.5 inline-flex;\n\n > * {\n @apply hover:z-10 ring-2 ring-white transition-all;\n }\n}\n</style>\n","<template>\n <button\n :class=\"classes\"\n :disabled=\"disabled\"\n class=\"btn\"\n type=\"button\"\n @click=\"handleClick\"\n >\n <span v-if=\"$slots.icon || loading\" class=\"btn-icon\">\n <svg\n v-if=\"loading\"\n class=\"animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <slot v-else name=\"icon\" />\n </span>\n <span class=\"btn-content\">\n <slot />\n </span>\n </button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { RouteLocationRaw } from \"vue-router\";\nimport { useRouter } from \"vue-router\";\nimport type { Size, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n size?: Size;\n circle?: boolean;\n block?: boolean;\n disabled?: boolean;\n loading?: boolean;\n route?: RouteLocationRaw | undefined;\n ghost?: boolean;\n }>(),\n {\n type: \"default\",\n size: \"md\",\n circle: false,\n block: false,\n disabled: false,\n loading: false,\n route: undefined,\n ghost: false,\n }\n);\n\nconst router = useRouter();\nconst emit = defineEmits<{\n (event: \"click\"): void;\n}>();\n\nconst classes = computed(() => {\n return [\n `btn-${props.size}`,\n `btn-${props.type}`,\n { \"btn-circle\": props.circle },\n { \"btn-block\": props.block },\n { \"btn-loading\": props.loading },\n { \"btn-ghost\": props.ghost },\n ];\n});\n\nfunction handleClick() {\n if (props.disabled || props.loading) return;\n if (props.route) {\n router.push(props.route);\n }\n emit(\"click\");\n}\n</script>\n\n<style lang=\"scss\">\n@use \"sass:map\";\n$btn-sizes: (\n xs: (\n height: theme(\"spacing.6\"),\n padding-x: theme(\"spacing.2\"),\n font-size: theme(\"fontSize.xs\"),\n icon-size: theme(\"spacing.3\"),\n icon-margin: theme(\"spacing.2\"),\n ),\n sm: (\n height: theme(\"spacing.7\"),\n padding-x: theme(\"spacing.3\"),\n font-size: theme(\"fontSize.xs\"),\n icon-size: theme(\"spacing.3\"),\n icon-margin: theme(\"spacing.2\"),\n ),\n md: (\n height: theme(\"spacing.9\"),\n padding-x: theme(\"spacing.4\"),\n font-size: theme(\"fontSize.sm\"),\n icon-size: theme(\"spacing.5\"),\n icon-margin: theme(\"spacing.3\"),\n ),\n lg: (\n height: theme(\"spacing.11\"),\n padding-x: theme(\"spacing.5\"),\n font-size: theme(\"fontSize.lg\"),\n icon-size: theme(\"spacing.5\"),\n icon-margin: theme(\"spacing.3\"),\n ),\n);\n\n$btn-themes: (\n default: (\n bg: transparent,\n color: inherit,\n border: 1px solid #d9d9d9,\n hover-bg: theme(\"colors.gray.100\"),\n icon-color: theme(\"colors.secondary\"),\n ghost-color: inherit,\n ghost-hover-bg: theme(\"colors.gray.100\"),\n ghost-icon-color: theme(\"colors.secondary\"),\n ),\n primary: (\n bg: theme(\"colors.primary\"),\n color: #fff,\n border: none,\n hover-bg: theme(\"colors.primary\"),\n icon-color: #fff,\n ghost-color: theme(\"colors.primary\"),\n ghost-hover-bg: theme(\"colors.primary / 10%\"),\n ghost-icon-color: theme(\"colors.primary\"),\n ),\n secondary: (\n bg: theme(\"colors.secondary\"),\n color: #fff,\n border: none,\n hover-bg: theme(\"colors.secondary\"),\n icon-color: #fff,\n ghost-color: theme(\"colors.secondary\"),\n ghost-hover-bg: theme(\"colors.secondary / 10%\"),\n ghost-icon-color: theme(\"colors.secondary\"),\n ),\n danger: (\n bg: theme(\"colors.danger\"),\n color: #fff,\n border: none,\n hover-bg: theme(\"colors.danger\"),\n icon-color: #fff,\n ghost-color: theme(\"colors.danger\"),\n ghost-hover-bg: theme(\"colors.danger / 10%\"),\n ghost-icon-color: theme(\"colors.danger\"),\n ),\n);\n\n.btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n flex-wrap: wrap;\n cursor: pointer;\n user-select: none;\n appearance: none;\n border-radius: theme(\"borderRadius.base\");\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n outline-width: 0;\n border-style: none;\n $md-config: map.get($btn-sizes, md);\n height: map.get($md-config, height);\n padding-left: map.get($md-config, padding-x);\n padding-right: map.get($md-config, padding-x);\n font-size: map.get($md-config, font-size);\n\n &:hover {\n opacity: 0.9;\n }\n\n &:active {\n opacity: 1;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &.btn-loading {\n cursor: not-allowed;\n\n &:hover {\n opacity: 1;\n }\n }\n\n &.btn-block {\n width: 100%;\n }\n\n .btn-icon {\n height: map.get($md-config, icon-size);\n width: map.get($md-config, icon-size);\n margin-right: map.get($md-config, icon-margin);\n color: #fff;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n > * {\n height: 100%;\n width: 100%;\n }\n }\n}\n\n@each $size, $config in $btn-sizes {\n .btn-#{$size} {\n height: map.get($config, height);\n padding-left: map.get($config, padding-x);\n padding-right: map.get($config, padding-x);\n font-size: map.get($config, font-size);\n\n .btn-icon {\n height: map.get($config, icon-size);\n width: map.get($config, icon-size);\n margin-right: map.get($config, icon-margin);\n }\n\n &.btn-circle {\n width: map.get($config, height);\n padding: 0;\n border-radius: 9999px;\n }\n }\n}\n\n@each $theme, $config in $btn-themes {\n .btn-#{$theme} {\n background-color: map.get($config, bg) !important;\n color: map.get($config, color);\n border: map.get($config, border);\n\n &:hover {\n background-color: map.get($config, hover-bg) !important;\n }\n\n .btn-icon {\n color: map.get($config, icon-color);\n }\n }\n}\n\n.btn-ghost {\n background-color: transparent !important;\n\n @each $theme, $config in $btn-themes {\n &.btn-#{$theme} {\n color: map.get($config, ghost-color);\n border: none;\n\n &:hover {\n background-color: map.get($config, ghost-hover-bg) !important;\n }\n\n .btn-icon {\n color: map.get($config, ghost-icon-color);\n }\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\ndefineProps<{\n title?: string;\n bodyClass?: string[];\n}>();\n</script>\n\n<template>\n <div class=\"card-wrapper\">\n <div v-if=\"title || $slots.header\" class=\"card-header\">\n <slot name=\"header\">\n <div class=\"card-header-title\">\n {{ title }}\n </div>\n <div class=\"card-header-actions\">\n <slot name=\"actions\" />\n </div>\n </slot>\n </div>\n <div :class=\"bodyClass\" class=\"card-body\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"card-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.card-wrapper {\n @apply box-border\n flex\n flex-col\n bg-white\n shadow-sm\n rounded-base\n ring-1\n ring-[#eaecf0];\n\n .card-header {\n @apply flex\n justify-between\n rounded-t-base\n overflow-hidden;\n border-bottom: 1px solid #eaecf0;\n\n .card-header-title {\n @apply self-center\n text-base\n font-bold;\n padding: 12px 16px;\n }\n\n .card-header-actions {\n @apply self-center;\n }\n }\n\n .card-body {\n @apply rounded-base overflow-hidden;\n padding: 12px 16px;\n }\n\n .card-footer {\n @apply rounded-b-base overflow-hidden;\n border-top: 1px solid #eaecf0;\n padding: 12px 16px;\n }\n}\n</style>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <dl class=\"description-wrapper\">\n <slot />\n </dl>\n</template>\n\n<style>\n.description-wrapper {\n @apply divide-y divide-gray-100;\n}\n</style>\n","<script lang=\"ts\" setup>\nwithDefaults(\n defineProps<{\n label: string;\n content?: string;\n verticalCenter?: boolean;\n }>(),\n {\n content: undefined,\n verticalCenter: false,\n }\n);\n</script>\n\n<template>\n <div\n class=\"description-item-wrapper\"\n :class=\"{ 'items-center': verticalCenter }\"\n >\n <dt class=\"description-item__label\">{{ label }}</dt>\n <dd class=\"description-item__content\">\n <slot v-if=\"$slots.default\" />\n <template v-else>\n {{ content }}\n </template>\n </dd>\n </div>\n</template>\n\n<style lang=\"scss\">\n.description-item-wrapper {\n @apply bg-white px-4 py-5 hover:bg-gray-50 sm:grid sm:grid-cols-6 sm:gap-4 sm:px-6;\n\n .description-item__label {\n @apply text-sm font-medium text-gray-900;\n }\n\n .description-item__content {\n @apply mt-1 text-sm text-gray-900 sm:col-span-6 md:col-span-5 lg:col-span-3 sm:mt-0;\n }\n}\n</style>\n","/*!\n * OverlayScrollbars\n * Version: 2.5.0\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */\nconst createCache = (t, n) => {\n const {o: o, u: s, _: e} = t;\n let c = o;\n let r;\n const cacheUpdateContextual = (t, n) => {\n const o = c;\n const l = t;\n const i = n || (s ? !s(o, l) : o !== l);\n if (i || e) {\n c = l;\n r = o;\n }\n return [ c, i, r ];\n };\n const cacheUpdateIsolated = t => cacheUpdateContextual(n(c, r), t);\n const getCurrentCache = t => [ c, !!t, r ];\n return [ n ? cacheUpdateIsolated : cacheUpdateContextual, getCurrentCache ];\n};\n\nconst t = typeof window !== \"undefined\";\n\nconst n = t ? window : {};\n\nconst o = Math.max;\n\nconst s = Math.min;\n\nconst e = Math.round;\n\nconst c = Math.abs;\n\nconst r = n.cancelAnimationFrame;\n\nconst l = n.requestAnimationFrame;\n\nconst i = n.setTimeout;\n\nconst a = n.clearTimeout;\n\nconst getApi = t => typeof n[t] !== \"undefined\" ? n[t] : void 0;\n\nconst u = getApi(\"MutationObserver\");\n\nconst f = getApi(\"IntersectionObserver\");\n\nconst _ = getApi(\"ResizeObserver\");\n\nconst d = getApi(\"ScrollTimeline\");\n\nconst v = t && Node.ELEMENT_NODE;\n\nconst {toString: h, hasOwnProperty: p} = Object.prototype;\n\nconst g = /^\\[object (.+)\\]$/;\n\nconst isUndefined = t => t === void 0;\n\nconst isNull = t => t === null;\n\nconst type = t => isUndefined(t) || isNull(t) ? `${t}` : h.call(t).replace(g, \"$1\").toLowerCase();\n\nconst isNumber = t => typeof t === \"number\";\n\nconst isString = t => typeof t === \"string\";\n\nconst isBoolean = t => typeof t === \"boolean\";\n\nconst isFunction = t => typeof t === \"function\";\n\nconst isArray = t => Array.isArray(t);\n\nconst isObject = t => typeof t === \"object\" && !isArray(t) && !isNull(t);\n\nconst isArrayLike = t => {\n const n = !!t && t.length;\n const o = isNumber(n) && n > -1 && n % 1 == 0;\n return isArray(t) || !isFunction(t) && o ? n > 0 && isObject(t) ? n - 1 in t : true : false;\n};\n\nconst isPlainObject = t => {\n if (!t || !isObject(t) || type(t) !== \"object\") {\n return false;\n }\n let n;\n const o = \"constructor\";\n const s = t[o];\n const e = s && s.prototype;\n const c = p.call(t, o);\n const r = e && p.call(e, \"isPrototypeOf\");\n if (s && !c && !r) {\n return false;\n }\n for (n in t) {}\n return isUndefined(n) || p.call(t, n);\n};\n\nconst isHTMLElement = t => {\n const n = HTMLElement;\n return t ? n ? t instanceof n : t.nodeType === v : false;\n};\n\nconst isElement = t => {\n const n = Element;\n return t ? n ? t instanceof n : t.nodeType === v : false;\n};\n\nconst animationCurrentTime = () => performance.now();\n\nconst animateNumber = (t, n, s, e, c) => {\n let i = 0;\n const a = animationCurrentTime();\n const u = o(0, s);\n const frame = s => {\n const r = animationCurrentTime();\n const f = r - a;\n const _ = f >= u;\n const d = s ? 1 : 1 - (o(0, a + u - r) / u || 0);\n const v = (n - t) * (isFunction(c) ? c(d, d * u, 0, 1, u) : d) + t;\n const h = _ || d === 1;\n e && e(v, d, h);\n i = h ? 0 : l((() => frame()));\n };\n frame();\n return t => {\n r(i);\n t && frame(t);\n };\n};\n\nfunction each(t, n) {\n if (isArrayLike(t)) {\n for (let o = 0; o < t.length; o++) {\n if (n(t[o], o, t) === false) {\n break;\n }\n }\n } else if (t) {\n each(Object.keys(t), (o => n(t[o], o, t)));\n }\n return t;\n}\n\nconst inArray = (t, n) => t.indexOf(n) >= 0;\n\nconst concat = (t, n) => t.concat(n);\n\nconst push = (t, n, o) => {\n !o && !isString(n) && isArrayLike(n) ? Array.prototype.push.apply(t, n) : t.push(n);\n return t;\n};\n\nconst from = t => Array.from(t || []);\n\nconst createOrKeepArray = t => isArray(t) ? t : [ t ];\n\nconst isEmptyArray = t => !!t && !t.length;\n\nconst deduplicateArray = t => from(new Set(t));\n\nconst runEachAndClear = (t, n, o) => {\n const runFn = t => t && t.apply(void 0, n || []);\n each(t, runFn);\n !o && (t.length = 0);\n};\n\nconst b = \"paddingTop\";\n\nconst w = \"paddingRight\";\n\nconst S = \"paddingLeft\";\n\nconst y = \"paddingBottom\";\n\nconst m = \"marginLeft\";\n\nconst O = \"marginRight\";\n\nconst $ = \"marginBottom\";\n\nconst C = \"overflowX\";\n\nconst x = \"overflowY\";\n\nconst H = \"width\";\n\nconst I = \"height\";\n\nconst z = \"hidden\";\n\nconst E = \"visible\";\n\nconst equal = (t, n, o, s) => {\n if (t && n) {\n let e = true;\n each(o, (o => {\n const c = s ? s(t[o]) : t[o];\n const r = s ? s(n[o]) : n[o];\n if (c !== r) {\n e = false;\n }\n }));\n return e;\n }\n return false;\n};\n\nconst equalWH = (t, n) => equal(t, n, [ \"w\", \"h\" ]);\n\nconst equalXY = (t, n) => equal(t, n, [ \"x\", \"y\" ]);\n\nconst equalTRBL = (t, n) => equal(t, n, [ \"t\", \"r\", \"b\", \"l\" ]);\n\nconst noop = () => {};\n\nconst bind = (t, ...n) => t.bind(0, ...n);\n\nconst selfClearTimeout = t => {\n let n;\n const o = t ? i : l;\n const s = t ? a : r;\n return [ e => {\n s(n);\n n = o(e, isFunction(t) ? t() : t);\n }, () => s(n) ];\n};\n\nconst debounce = (t, n) => {\n let o;\n let s;\n let e;\n let c = noop;\n const {v: u, p: f, S: _} = n || {};\n const d = function invokeFunctionToDebounce(n) {\n c();\n a(o);\n o = s = void 0;\n c = noop;\n t.apply(this, n);\n };\n const mergeParms = t => _ && s ? _(s, t) : t;\n const flush = () => {\n if (c !== noop) {\n d(mergeParms(e) || e);\n }\n };\n const v = function debouncedFn() {\n const t = from(arguments);\n const n = isFunction(u) ? u() : u;\n const _ = isNumber(n) && n >= 0;\n if (_) {\n const u = isFunction(f) ? f() : f;\n const _ = isNumber(u) && u >= 0;\n const v = n > 0 ? i : l;\n const h = n > 0 ? a : r;\n const p = mergeParms(t);\n const g = p || t;\n const b = d.bind(0, g);\n c();\n const w = v(b, n);\n c = () => h(w);\n if (_ && !o) {\n o = i(flush, u);\n }\n s = e = g;\n } else {\n d(t);\n }\n };\n v.m = flush;\n return v;\n};\n\nconst hasOwnProperty = (t, n) => Object.prototype.hasOwnProperty.call(t, n);\n\nconst keys = t => t ? Object.keys(t) : [];\n\nconst assignDeep = (t, n, o, s, e, c, r) => {\n const l = [ n, o, s, e, c, r ];\n if ((typeof t !== \"object\" || isNull(t)) && !isFunction(t)) {\n t = {};\n }\n each(l, (n => {\n each(n, ((o, s) => {\n const e = n[s];\n if (t === e) {\n return true;\n }\n const c = isArray(e);\n if (e && isPlainObject(e)) {\n const n = t[s];\n let o = n;\n if (c && !isArray(n)) {\n o = [];\n } else if (!c && !isPlainObject(n)) {\n o = {};\n }\n t[s] = assignDeep(o, e);\n } else {\n t[s] = c ? e.slice() : e;\n }\n }));\n }));\n return t;\n};\n\nconst removeUndefinedProperties = (t, n) => each(assignDeep({}, t), ((t, o, s) => {\n if (t === void 0) {\n delete s[o];\n } else if (n && t && isPlainObject(t)) {\n s[o] = removeUndefinedProperties(t, n);\n }\n}));\n\nconst isEmptyObject = t => {\n for (const n in t) {\n return false;\n }\n return true;\n};\n\nconst capNumber = (t, n, e) => o(t, s(n, e));\n\nconst getDomTokensArray = t => from(new Set((isArray(t) ? t : (t || \"\").split(\" \")).filter((t => t))));\n\nconst getAttr = (t, n) => t && t.getAttribute(n);\n\nconst setAttrs = (t, n, o) => {\n each(getDomTokensArray(n), (n => {\n t && t.setAttribute(n, o || \"\");\n }));\n};\n\nconst removeAttrs = (t, n) => {\n each(getDomTokensArray(n), (n => t && t.removeAttribute(n)));\n};\n\nconst domTokenListAttr = (t, n) => {\n const o = getDomTokensArray(getAttr(t, n));\n const s = bind(setAttrs, t, n);\n const domTokenListOperation = (t, n) => {\n const s = new Set(o);\n each(getDomTokensArray(t), (t => s[n](t)));\n return from(s).join(\" \");\n };\n return {\n O: t => s(domTokenListOperation(t, \"delete\")),\n $: t => s(domTokenListOperation(t, \"add\")),\n C: t => {\n const n = getDomTokensArray(t);\n return n.reduce(((t, n) => t && o.includes(n)), n.length > 0);\n }\n };\n};\n\nconst removeAttrClass = (t, n, o) => {\n domTokenListAttr(t, n).O(o);\n};\n\nconst addAttrClass = (t, n, o) => {\n domTokenListAttr(t, n).$(o);\n return bind(removeAttrClass, t, n, o);\n};\n\nconst addRemoveAttrClass = (t, n, o, s) => {\n (s ? addAttrClass : removeAttrClass)(t, n, o);\n};\n\nconst hasAttrClass = (t, n, o) => domTokenListAttr(t, n).C(o);\n\nconst createDomTokenListClass = t => domTokenListAttr(t, \"class\");\n\nconst removeClass = (t, n) => {\n createDomTokenListClass(t).O(n);\n};\n\nconst addClass = (t, n) => {\n createDomTokenListClass(t).$(n);\n return bind(removeClass, t, n);\n};\n\nconst A = t && Element.prototype;\n\nconst find = (t, n) => {\n const o = [];\n const s = n ? isElement(n) && n : document;\n return s ? push(o, s.querySelectorAll(t)) : o;\n};\n\nconst findFirst = (t, n) => {\n const o = n ? isElement(n) && n : document;\n return o ? o.querySelector(t) : null;\n};\n\nconst is = (t, n) => {\n if (isElement(t)) {\n const o = A.matches || A.msMatchesSelector;\n return o.call(t, n);\n }\n return false;\n};\n\nconst contents = t => t ? from(t.childNodes) : [];\n\nconst parent = t => t && t.parentElement;\n\nconst closest = (t, n) => isElement(t) && t.closest(n);\n\nconst liesBetween = (t, n, o) => {\n const s = closest(t, n);\n const e = t && findFirst(o, s);\n const c = closest(e, n) === s;\n return s && e ? s === t || e === t || c && closest(closest(t, o), n) !== s : false;\n};\n\nconst removeElements = t => {\n if (isArrayLike(t)) {\n each(from(t), (t => removeElements(t)));\n } else if (t) {\n const n = parent(t);\n n && n.removeChild(t);\n }\n};\n\nconst before = (t, n, o) => {\n if (o && t) {\n let s = n;\n let e;\n if (isArrayLike(o)) {\n e = document.createDocumentFragment();\n each(o, (t => {\n if (t === s) {\n s = t.previousSibling;\n }\n e.appendChild(t);\n }));\n } else {\n e = o;\n }\n if (n) {\n if (!s) {\n s = t.firstChild;\n } else if (s !== n) {\n s = s.nextSibling;\n }\n }\n t.insertBefore(e, s || null);\n return () => removeElements(o);\n }\n return noop;\n};\n\nconst appendChildren = (t, n) => before(t, null, n);\n\nconst insertAfter = (t, n) => before(parent(t), t && t.nextSibling, n);\n\nconst createDiv = t => {\n const n = document.createElement(\"div\");\n setAttrs(n, \"class\", t);\n return n;\n};\n\nconst createDOM = t => {\n const n = createDiv();\n n.innerHTML = t.trim();\n return each(contents(n), (t => removeElements(t)));\n};\n\nconst T = /^--/;\n\nconst getCSSVal = (t, n) => t.getPropertyValue(n) || t[n] || \"\";\n\nconst validFiniteNumber = t => {\n const n = t || 0;\n return isFinite(n) ? n : 0;\n};\n\nconst parseToZeroOrNumber = t => validFiniteNumber(parseFloat(t || \"\"));\n\nconst ratioToCssPercent = t => `${(validFiniteNumber(t) * 100).toFixed(3)}%`;\n\nconst numberToCssPx = t => `${validFiniteNumber(t)}px`;\n\nfunction setStyles(t, n) {\n t && each(n, ((n, o) => {\n try {\n const s = t.style;\n const e = isNumber(n) ? numberToCssPx(n) : (n || \"\") + \"\";\n if (T.test(o)) {\n s.setProperty(o, e);\n } else {\n s[o] = e;\n }\n } catch (s) {}\n }));\n}\n\nfunction getStyles(t, o, s) {\n const e = isString(o);\n let c = e ? \"\" : {};\n if (t) {\n const r = n.getComputedStyle(t, s) || t.style;\n c = e ? getCSSVal(r, o) : o.reduce(((t, n) => {\n t[n] = getCSSVal(r, n);\n return t;\n }), c);\n }\n return c;\n}\n\nconst getDirectionIsRTL = t => getStyles(t, \"direction\") === \"rtl\";\n\nconst topRightBottomLeft = (t, n, o) => {\n const s = n ? `${n}-` : \"\";\n const e = o ? `-${o}` : \"\";\n const c = `${s}top${e}`;\n const r = `${s}right${e}`;\n const l = `${s}bottom${e}`;\n const i = `${s}left${e}`;\n const a = getStyles(t, [ c, r, l, i ]);\n return {\n t: parseToZeroOrNumber(a[c]),\n r: parseToZeroOrNumber(a[r]),\n b: parseToZeroOrNumber(a[l]),\n l: parseToZeroOrNumber(a[i])\n };\n};\n\nconst getTrasformTranslateValue = (t, n) => `translate${isObject(t) ? `(${t.x},${t.y})` : `${n ? \"X\" : \"Y\"}(${t})`}`;\n\nconst D = {\n w: 0,\n h: 0\n};\n\nconst getElmWidthHeightProperty = (t, n) => n ? {\n w: n[`${t}Width`],\n h: n[`${t}Height`]\n} : D;\n\nconst windowSize = t => getElmWidthHeightProperty(\"inner\", t || n);\n\nconst k = bind(getElmWidthHeightProperty, \"offset\");\n\nconst R = bind(getElmWidthHeightProperty, \"client\");\n\nconst M = bind(getElmWidthHeightProperty, \"scroll\");\n\nconst fractionalSize = t => {\n const n = parseFloat(getStyles(t, H)) || 0;\n const o = parseFloat(getStyles(t, I)) || 0;\n return {\n w: n - e(n),\n h: o - e(o)\n };\n};\n\nconst getBoundingClientRect = t => t.getBoundingClientRect();\n\nconst domRectHasDimensions = t => !!(t && (t[I] || t[H]));\n\nconst domRectAppeared = (t, n) => {\n const o = domRectHasDimensions(t);\n const s = domRectHasDimensions(n);\n return !s && o;\n};\n\nconst removeEventListener = (t, n, o, s) => {\n each(getDomTokensArray(n), (n => {\n t.removeEventListener(n, o, s);\n }));\n};\n\nconst addEventListener = (t, n, o, s) => {\n var e;\n const c = (e = s && s.H) != null ? e : true;\n const r = s && s.I || false;\n const l = s && s.A || false;\n const i = {\n passive: c,\n capture: r\n };\n return bind(runEachAndClear, getDomTokensArray(n).map((n => {\n const s = l ? e => {\n removeEventListener(t, n, s, r);\n o(e);\n } : o;\n t.addEventListener(n, s, i);\n return bind(removeEventListener, t, n, s, r);\n })));\n};\n\nconst stopPropagation = t => t.stopPropagation();\n\nconst preventDefault = t => t.preventDefault();\n\nconst V = {\n x: 0,\n y: 0\n};\n\nconst absoluteCoordinates = t => {\n const o = t && getBoundingClientRect(t);\n return o ? {\n x: o.left + n.scrollX,\n y: o.top + n.scrollY\n } : V;\n};\n\nconst convertScrollPosition = (t, n, o) => o ? o.n ? -t + 0 : o.i ? n - t : t : t;\n\nconst getRawScrollBounds = (t, n) => [ convertScrollPosition(0, t, n), convertScrollPosition(t, t, n) ];\n\nconst getRawScrollRatio = (t, n, o) => capNumber(0, 1, convertScrollPosition(t, n, o) / n || 0);\n\nconst scrollElementTo = (t, n) => {\n const {x: o, y: s} = isNumber(n) ? {\n x: n,\n y: n\n } : n || {};\n isNumber(o) && (t.scrollLeft = o);\n isNumber(s) && (t.scrollTop = s);\n};\n\nconst getElmentScroll = t => ({\n x: t.scrollLeft,\n y: t.scrollTop\n});\n\nconst manageListener = (t, n) => {\n each(createOrKeepArray(n), t);\n};\n\nconst createEventListenerHub = t => {\n const n = new Map;\n const removeEvent = (t, o) => {\n if (t) {\n const s = n.get(t);\n manageListener((t => {\n if (s) {\n s[t ? \"delete\" : \"clear\"](t);\n }\n }), o);\n } else {\n n.forEach((t => {\n t.clear();\n }));\n n.clear();\n }\n };\n const addEvent = (t, o) => {\n if (isString(t)) {\n const s = n.get(t) || new Set;\n n.set(t, s);\n manageListener((t => {\n isFunction(t) && s.add(t);\n }), o);\n return bind(removeEvent, t, o);\n }\n if (isBoolean(o) && o) {\n removeEvent();\n }\n const s = keys(t);\n const e = [];\n each(s, (n => {\n const o = t[n];\n o && push(e, addEvent(n, o));\n }));\n return bind(runEachAndClear, e);\n };\n const triggerEvent = (t, o) => {\n each(from(n.get(t)), (t => {\n if (o && !isEmptyArray(o)) {\n t.apply(0, o);\n } else {\n t();\n }\n }));\n };\n addEvent(t || {});\n return [ addEvent, removeEvent, triggerEvent ];\n};\n\nconst opsStringify = t => JSON.stringify(t, ((t, n) => {\n if (isFunction(n)) {\n throw 0;\n }\n return n;\n}));\n\nconst getPropByPath = (t, n) => t ? `${n}`.split(\".\").reduce(((t, n) => t && hasOwnProperty(t, n) ? t[n] : void 0), t) : void 0;\n\nconst L = {\n paddingAbsolute: false,\n showNativeOverlaidScrollbars: false,\n update: {\n elementEvents: [ [ \"img\", \"load\" ] ],\n debounce: [ 0, 33 ],\n attributes: null,\n ignoreMutation: null\n },\n overflow: {\n x: \"scroll\",\n y: \"scroll\"\n },\n scrollbars: {\n theme: \"os-theme-dark\",\n visibility: \"auto\",\n autoHide: \"never\",\n autoHideDelay: 1300,\n autoHideSuspend: false,\n dragScroll: true,\n clickScroll: false,\n pointers: [ \"mouse\", \"touch\", \"pen\" ]\n }\n};\n\nconst getOptionsDiff = (t, n) => {\n const o = {};\n const s = concat(keys(n), keys(t));\n each(s, (s => {\n const e = t[s];\n const c = n[s];\n if (isObject(e) && isObject(c)) {\n assignDeep(o[s] = {}, getOptionsDiff(e, c));\n if (isEmptyObject(o[s])) {\n delete o[s];\n }\n } else if (hasOwnProperty(n, s) && c !== e) {\n let t = true;\n if (isArray(e) || isArray(c)) {\n try {\n if (opsStringify(e) === opsStringify(c)) {\n t = false;\n }\n } catch (r) {}\n }\n if (t) {\n o[s] = c;\n }\n }\n }));\n return o;\n};\n\nconst createOptionCheck = (t, n, o) => s => [ getPropByPath(t, s), o || getPropByPath(n, s) !== void 0 ];\n\nconst P = `data-overlayscrollbars`;\n\nconst U = \"os-environment\";\n\nconst B = `${U}-scrollbar-hidden`;\n\nconst N = `${P}-initialize`;\n\nconst j = P;\n\nconst F = `${j}-overflow-x`;\n\nconst q = `${j}-overflow-y`;\n\nconst W = \"overflowVisible\";\n\nconst X = \"scrollbarPressed\";\n\nconst Y = \"updating\";\n\nconst J = \"body\";\n\nconst K = `${P}-viewport`;\n\nconst Z = \"arrange\";\n\nconst G = \"scrollbarHidden\";\n\nconst Q = W;\n\nconst tt = `${P}-padding`;\n\nconst nt = Q;\n\nconst ot = `${P}-content`;\n\nconst st = \"os-size-observer\";\n\nconst et = `${st}-appear`;\n\nconst ct = `${st}-listener`;\n\nconst rt = `${ct}-scroll`;\n\nconst lt = `${ct}-item`;\n\nconst it = `${lt}-final`;\n\nconst at = \"os-trinsic-observer\";\n\nconst ut = \"os-theme-none\";\n\nconst ft = \"os-scrollbar\";\n\nconst _t = `${ft}-rtl`;\n\nconst dt = `${ft}-horizontal`;\n\nconst vt = `${ft}-vertical`;\n\nconst ht = `${ft}-track`;\n\nconst pt = `${ft}-handle`;\n\nconst gt = `${ft}-visible`;\n\nconst bt = `${ft}-cornerless`;\n\nconst wt = `${ft}-transitionless`;\n\nconst St = `${ft}-interaction`;\n\nconst yt = `${ft}-unusable`;\n\nconst mt = `${ft}-auto-hide`;\n\nconst Ot = `${mt}-hidden`;\n\nconst $t = `${ft}-wheel`;\n\nconst Ct = `${ht}-interactive`;\n\nconst xt = `${pt}-interactive`;\n\nconst Ht = {};\n\nconst It = {};\n\nconst addPlugins = t => {\n each(t, (t => each(t, ((n, o) => {\n Ht[o] = t[o];\n }))));\n};\n\nconst registerPluginModuleInstances = (t, n, o) => keys(t).map((s => {\n const {static: e, instance: c} = t[s];\n const [r, l, i] = o || [];\n const a = o ? c : e;\n if (a) {\n const t = o ? a(r, l, n) : a(n);\n return (i || It)[s] = t;\n }\n}));\n\nconst getStaticPluginModuleInstance = t => It[t];\n\nconst zt = \"__osOptionsValidationPlugin\";\n\nconst Et = \"__osSizeObserverPlugin\";\n\nconst At = /* @__PURE__ */ (() => ({\n [Et]: {\n static: () => (t, n, o) => {\n const s = 3333333;\n const e = \"scroll\";\n const c = createDOM(`<div class=\"${lt}\" dir=\"ltr\"><div class=\"${lt}\"><div class=\"${it}\"></div></div><div class=\"${lt}\"><div class=\"${it}\" style=\"width: 200%; height: 200%\"></div></div></div>`);\n const i = c[0];\n const a = i.lastChild;\n const u = i.firstChild;\n const f = u == null ? void 0 : u.firstChild;\n let _ = k(i);\n let d = _;\n let v = false;\n let h;\n const reset = () => {\n scrollElementTo(u, s);\n scrollElementTo(a, s);\n };\n const onResized = t => {\n h = 0;\n if (v) {\n _ = d;\n n(t === true);\n }\n };\n const onScroll = t => {\n d = k(i);\n v = !t || !equalWH(d, _);\n if (t) {\n stopPropagation(t);\n if (v && !h) {\n r(h);\n h = l(onResized);\n }\n } else {\n onResized(t === false);\n }\n reset();\n };\n const p = [ appendChildren(t, c), addEventListener(u, e, onScroll), addEventListener(a, e, onScroll) ];\n addClass(t, rt);\n setStyles(f, {\n [H]: s,\n [I]: s\n });\n l(reset);\n return [ o ? bind(onScroll, false) : reset, p ];\n }\n }\n}))();\n\nconst getShowNativeOverlaidScrollbars = (t, n) => {\n const {T: o} = n;\n const [s, e] = t(\"showNativeOverlaidScrollbars\");\n return [ s && o.x && o.y, e ];\n};\n\nconst overflowIsVisible = t => t.indexOf(E) === 0;\n\nconst getViewportOverflowState = (t, n) => {\n const {D: o} = t;\n const getStatePerAxis = t => {\n const s = getStyles(o, t);\n const e = n ? n[t] : s;\n const c = e === \"scroll\";\n return [ s, c ];\n };\n const [s, e] = getStatePerAxis(C);\n const [c, r] = getStatePerAxis(x);\n return {\n k: {\n x: s,\n y: c\n },\n R: {\n x: e,\n y: r\n }\n };\n};\n\nconst setViewportOverflowState = (t, n, o, s) => {\n const e = n.x || n.y;\n const setAxisOverflowStyle = (t, n) => {\n const o = overflowIsVisible(t);\n const s = o && e ? \"hidden\" : \"\";\n const c = n && o && t.replace(`${E}-`, \"\") || s;\n return [ n && !o ? t : \"\", overflowIsVisible(c) ? \"hidden\" : c ];\n };\n const [c, r] = setAxisOverflowStyle(o.x, n.x);\n const [l, i] = setAxisOverflowStyle(o.y, n.y);\n s[C] = r && l ? r : c;\n s[x] = i && c ? i : l;\n return getViewportOverflowState(t, s);\n};\n\nconst Tt = \"__osScrollbarsHidingPlugin\";\n\nconst Dt = /* @__PURE__ */ (() => ({\n [Tt]: {\n static: () => ({\n M: (t, n, o, s, e) => {\n const {V: c, D: r} = t;\n const {L: l, T: i, P: a} = s;\n const u = !c && !l && (i.x || i.y);\n const [f] = getShowNativeOverlaidScrollbars(e, s);\n const _getViewportOverflowHideOffset = t => {\n const {R: n} = t;\n const o = l || f ? 0 : 42;\n const getHideOffsetPerAxis = (t, n, s) => {\n const e = t ? o : s;\n const c = n && !l ? e : 0;\n const r = t && !!o;\n return [ c, r ];\n };\n const [s, e] = getHideOffsetPerAxis(i.x, n.x, a.x);\n const [c, r] = getHideOffsetPerAxis(i.y, n.y, a.y);\n return {\n U: {\n x: s,\n y: c\n },\n B: {\n x: e,\n y: r\n }\n };\n };\n const _hideNativeScrollbars = (t, {N: o}, s, e) => {\n assignDeep(e, {\n [O]: 0,\n [$]: 0,\n [m]: 0\n });\n if (!c) {\n const {U: c, B: r} = _getViewportOverflowHideOffset(t);\n const {x: l, y: i} = r;\n const {x: a, y: u} = c;\n const {j: f} = n;\n const _ = o ? m : O;\n const d = o ? S : w;\n const v = f[_];\n const h = f[$];\n const p = f[d];\n const g = f[y];\n e[H] = `calc(100% + ${u + v * -1}px)`;\n e[_] = -u + v;\n e[$] = -a + h;\n if (s) {\n e[d] = p + (i ? u : 0);\n e[y] = g + (l ? a : 0);\n }\n }\n };\n const _arrangeViewport = (t, s, e) => {\n if (u) {\n const {j: c} = n;\n const {U: l, B: i} = _getViewportOverflowHideOffset(t);\n const {x: a, y: u} = i;\n const {x: f, y: _} = l;\n const {N: d} = o;\n const v = d ? w : S;\n const h = c[v];\n const p = c.paddingTop;\n const g = s.w + e.w;\n const b = s.h + e.h;\n const y = {\n w: _ && u ? `${_ + g - h}px` : \"\",\n h: f && a ? `${f + b - p}px` : \"\"\n };\n setStyles(r, {\n \"--os-vaw\": y.w,\n \"--os-vah\": y.h\n });\n }\n return u;\n };\n const _undoViewportArrange = s => {\n if (u) {\n const e = s || getViewportOverflowState(t);\n const {j: c} = n;\n const {B: l} = _getViewportOverflowHideOffset(e);\n const {x: i, y: a} = l;\n const f = {};\n const assignProps = t => each(t, (t => {\n f[t] = c[t];\n }));\n if (i) {\n assignProps([ $, b, y ]);\n }\n if (a) {\n assignProps([ m, O, S, w ]);\n }\n const _ = getStyles(r, keys(f));\n removeAttrClass(r, K, Z);\n setStyles(r, f);\n return [ () => {\n _hideNativeScrollbars(e, o, u, _);\n setStyles(r, _);\n addAttrClass(r, K, Z);\n }, e ];\n }\n return [ noop ];\n };\n return {\n F: _getViewportOverflowHideOffset,\n q: _arrangeViewport,\n W: _undoViewportArrange,\n X: _hideNativeScrollbars\n };\n },\n Y: () => {\n let t = {\n w: 0,\n h: 0\n };\n let o = 0;\n const getWindowDPR = () => {\n const t = n.screen;\n const o = t.deviceXDPI || 0;\n const s = t.logicalXDPI || 1;\n return n.devicePixelRatio || o / s;\n };\n const diffBiggerThanOne = (t, n) => {\n const o = c(t);\n const s = c(n);\n return !(o === s || o + 1 === s || o - 1 === s);\n };\n return (n, s) => {\n const r = windowSize();\n const l = {\n w: r.w - t.w,\n h: r.h - t.h\n };\n if (l.w === 0 && l.h === 0) {\n return;\n }\n const i = {\n w: c(l.w),\n h: c(l.h)\n };\n const a = {\n w: c(e(r.w / (t.w / 100))),\n h: c(e(r.h / (t.h / 100)))\n };\n const u = getWindowDPR();\n const f = i.w > 2 && i.h > 2;\n const _ = !diffBiggerThanOne(a.w, a.h);\n const d = u !== o && u > 0;\n const v = f && _ && d;\n let h;\n let p;\n if (v) {\n [p, h] = s();\n assignDeep(n.P, p);\n }\n t = r;\n o = u;\n return h;\n };\n }\n })\n }\n}))();\n\nconst kt = \"__osClickScrollPlugin\";\n\nconst Rt = /* @__PURE__ */ (() => ({\n [kt]: {\n static: () => (t, n, o, s, e) => {\n let c = 0;\n let r = noop;\n const animateClickScroll = l => {\n r = animateNumber(l, l + s * Math.sign(o), 133, ((o, l, a) => {\n t(o);\n const u = n();\n const f = u + s;\n const _ = e >= u && e <= f;\n if (a && !_) {\n if (c) {\n animateClickScroll(o);\n } else {\n const t = i((() => {\n animateClickScroll(o);\n }), 222);\n r = () => {\n clearTimeout(t);\n };\n }\n c++;\n }\n }));\n };\n animateClickScroll(0);\n return () => r();\n }\n }\n}))();\n\nlet Mt;\n\nconst createEnvironment = () => {\n const getNativeScrollbarSize = (t, n, o, s) => {\n appendChildren(t, n);\n const e = R(n);\n const c = k(n);\n const r = fractionalSize(o);\n s && removeElements(n);\n return {\n x: c.h - e.h + r.h,\n y: c.w - e.w + r.w\n };\n };\n const getNativeScrollbarsHiding = t => {\n let n = false;\n const o = addClass(t, B);\n try {\n n = getStyles(t, \"scrollbar-width\") === \"none\" || getStyles(t, \"display\", \"::-webkit-scrollbar\") === \"none\";\n } catch (s) {}\n o();\n return n;\n };\n const getRtlScrollBehavior = (t, n) => {\n setStyles(t, {\n [C]: z,\n [x]: z,\n direction: \"rtl\"\n });\n scrollElementTo(t, {\n x: 0\n });\n const o = absoluteCoordinates(t);\n const s = absoluteCoordinates(n);\n scrollElementTo(t, {\n x: -999\n });\n const e = absoluteCoordinates(n);\n return {\n i: o.x === s.x,\n n: s.x !== e.x\n };\n };\n const {body: t} = document;\n const o = createDOM(`<div class=\"${U}\"><div></div></div>`);\n const s = o[0];\n const e = s.firstChild;\n const [c, , r] = createEventListenerHub();\n const [l, i] = createCache({\n o: getNativeScrollbarSize(t, s, e),\n u: equalXY\n }, bind(getNativeScrollbarSize, t, s, e, true));\n const [a] = i();\n const u = getNativeScrollbarsHiding(s);\n const f = {\n x: a.x === 0,\n y: a.y === 0\n };\n const _ = {\n elements: {\n host: null,\n padding: !u,\n viewport: t => u && t === t.ownerDocument.body && t,\n content: false\n },\n scrollbars: {\n slot: true\n },\n cancel: {\n nativeScrollbarsOverlaid: false,\n body: null\n }\n };\n const v = assignDeep({}, L);\n const h = bind(assignDeep, {}, v);\n const p = bind(assignDeep, {}, _);\n const g = {\n P: a,\n T: f,\n L: u,\n J: !!d,\n K: getRtlScrollBehavior(s, e),\n Z: bind(c, \"r\"),\n G: p,\n tt: t => assignDeep(_, t) && p(),\n nt: h,\n ot: t => assignDeep(v, t) && h(),\n st: assignDeep({}, _),\n et: assignDeep({}, v)\n };\n removeAttrs(s, \"style\");\n removeElements(s);\n n.addEventListener(\"resize\", (() => {\n let t;\n if (!u && (!f.x || !f.y)) {\n const n = getStaticPluginModuleInstance(Tt);\n const o = n ? n.Y() : noop;\n t = !!o(g, l);\n }\n r(\"r\", [ t ]);\n }));\n return g;\n};\n\nconst getEnvironment = () => {\n if (!Mt) {\n Mt = createEnvironment();\n }\n return Mt;\n};\n\nconst resolveInitialization = (t, n) => isFunction(n) ? n.apply(0, t) : n;\n\nconst staticInitializationElement = (t, n, o, s) => {\n const e = isUndefined(s) ? o : s;\n const c = resolveInitialization(t, e);\n return c || n.apply(0, t);\n};\n\nconst dynamicInitializationElement = (t, n, o, s) => {\n const e = isUndefined(s) ? o : s;\n const c = resolveInitialization(t, e);\n return !!c && (isHTMLElement(c) ? c : n.apply(0, t));\n};\n\nconst cancelInitialization = (t, n) => {\n const {nativeScrollbarsOverlaid: o, body: s} = n || {};\n const {T: e, L: c, G: r} = getEnvironment();\n const {nativeScrollbarsOverlaid: l, body: i} = r().cancel;\n const a = o != null ? o : l;\n const u = isUndefined(s) ? i : s;\n const f = (e.x || e.y) && a;\n const _ = t && (isNull(u) ? !c : u);\n return !!f || !!_;\n};\n\nconst Vt = new WeakMap;\n\nconst addInstance = (t, n) => {\n Vt.set(t, n);\n};\n\nconst removeInstance = t => {\n Vt.delete(t);\n};\n\nconst getInstance = t => Vt.get(t);\n\nconst createEventContentChange = (t, n, o) => {\n let s = false;\n const e = o ? new WeakMap : false;\n const destroy = () => {\n s = true;\n };\n const updateElements = c => {\n if (e && o) {\n const r = o.map((n => {\n const [o, s] = n || [];\n const e = s && o ? (c || find)(o, t) : [];\n return [ e, s ];\n }));\n each(r, (o => each(o[0], (c => {\n const r = o[1];\n const l = e.get(c) || [];\n const i = t.contains(c);\n if (i && r) {\n const t = addEventListener(c, r, (o => {\n if (s) {\n t();\n e.delete(c);\n } else {\n n(o);\n }\n }));\n e.set(c, push(l, t));\n } else {\n runEachAndClear(l);\n e.delete(c);\n }\n }))));\n }\n };\n updateElements();\n return [ destroy, updateElements ];\n};\n\nconst createDOMObserver = (t, n, o, s) => {\n let e = false;\n const {ct: c, rt: r, lt: l, it: i, ut: a, ft: f} = s || {};\n const _ = debounce((() => e && o(true)), {\n v: 33,\n p: 99\n });\n const [d, v] = createEventContentChange(t, _, l);\n const h = c || [];\n const p = r || [];\n const g = concat(h, p);\n const observerCallback = (e, c) => {\n if (!isEmptyArray(c)) {\n const r = a || noop;\n const l = f || noop;\n const u = [];\n const _ = [];\n let d = false;\n let h = false;\n each(c, (o => {\n const {attributeName: e, target: c, type: a, oldValue: f, addedNodes: v, removedNodes: g} = o;\n const b = a === \"attributes\";\n const w = a === \"childList\";\n const S = t === c;\n const y = b && e;\n const m = y && getAttr(c, e || \"\") || null;\n const O = y && f !== m;\n const $ = inArray(p, e) && O;\n if (n && (w || !S)) {\n const n = b && O;\n const a = n && i && is(c, i);\n const _ = a ? !r(c, e, f, m) : !b || n;\n const d = _ && !l(o, !!a, t, s);\n each(v, (t => push(u, t)));\n each(g, (t => push(u, t)));\n h = h || d;\n }\n if (!n && S && O && !r(c, e, f, m)) {\n push(_, e);\n d = d || $;\n }\n }));\n v((t => deduplicateArray(u).reduce(((n, o) => {\n push(n, find(t, o));\n return is(o, t) ? push(n, o) : n;\n }), [])));\n if (n) {\n !e && h && o(false);\n return [ false ];\n }\n if (!isEmptyArray(_) || d) {\n const t = [ deduplicateArray(_), d ];\n !e && o.apply(0, t);\n return t;\n }\n }\n };\n const b = new u(bind(observerCallback, false));\n return [ () => {\n b.observe(t, {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: g,\n subtree: n,\n childList: n,\n characterData: n\n });\n e = true;\n return () => {\n if (e) {\n d();\n b.disconnect();\n e = false;\n }\n };\n }, () => {\n if (e) {\n _.m();\n return observerCallback(true, b.takeRecords());\n }\n } ];\n};\n\nconst createSizeObserver = (t, n, o) => {\n const s = 3333333;\n const {_t: e, dt: c} = o || {};\n const r = getStaticPluginModuleInstance(Et);\n const {K: l} = getEnvironment();\n const i = bind(getDirectionIsRTL, t);\n const [a] = createCache({\n o: false,\n _: true\n });\n return () => {\n const o = [];\n const u = createDOM(`<div class=\"${st}\"><div class=\"${ct}\"></div></div>`);\n const f = u[0];\n const d = f.firstChild;\n const onSizeChangedCallbackProxy = t => {\n const o = t instanceof ResizeObserverEntry;\n const c = !o && isArray(t);\n let r = false;\n let i = false;\n let u = true;\n if (o) {\n const [n, , o] = a(t.contentRect);\n const s = domRectHasDimensions(n);\n const e = domRectAppeared(n, o);\n const c = !o;\n i = c || e;\n r = !i && !s;\n u = !r;\n } else if (c) {\n [, u] = t;\n } else {\n i = t === true;\n }\n if (e && u) {\n const n = c ? t[0] : getDirectionIsRTL(f);\n scrollElementTo(f, {\n x: convertScrollPosition(s, s, n && l),\n y: s\n });\n }\n if (!r) {\n n({\n vt: c ? t : void 0,\n ht: !c,\n dt: i\n });\n }\n };\n if (_) {\n const t = new _((t => onSizeChangedCallbackProxy(t.pop())));\n t.observe(d);\n push(o, (() => {\n t.disconnect();\n }));\n } else if (r) {\n const [t, n] = r(d, onSizeChangedCallbackProxy, c);\n push(o, concat([ addClass(f, et), addEventListener(f, \"animationstart\", t) ], n));\n } else {\n return noop;\n }\n if (e) {\n const [t] = createCache({\n o: void 0\n }, i);\n push(o, addEventListener(f, \"scroll\", (n => {\n const o = t();\n const [s, e, c] = o;\n if (e) {\n removeClass(d, \"ltr rtl\");\n addClass(d, s ? \"rtl\" : \"ltr\");\n onSizeChangedCallbackProxy([ !!s, e, c ]);\n }\n stopPropagation(n);\n })));\n }\n return bind(runEachAndClear, push(o, appendChildren(t, f)));\n };\n};\n\nconst createTrinsicObserver = (t, n) => {\n let o;\n const isHeightIntrinsic = t => t.h === 0 || t.isIntersecting || t.intersectionRatio > 0;\n const s = createDiv(at);\n const [e] = createCache({\n o: false\n });\n const triggerOnTrinsicChangedCallback = (t, o) => {\n if (t) {\n const s = e(isHeightIntrinsic(t));\n const [, c] = s;\n return c && !o && n(s) && [ s ];\n }\n };\n const intersectionObserverCallback = (t, n) => triggerOnTrinsicChangedCallback(n.pop(), t);\n return [ () => {\n const n = [];\n if (f) {\n o = new f(bind(intersectionObserverCallback, false), {\n root: t\n });\n o.observe(s);\n push(n, (() => {\n o.disconnect();\n }));\n } else {\n const onSizeChanged = () => {\n const t = k(s);\n triggerOnTrinsicChangedCallback(t);\n };\n push(n, createSizeObserver(s, onSizeChanged)());\n onSizeChanged();\n }\n return bind(runEachAndClear, push(n, appendChildren(t, s)));\n }, () => o && intersectionObserverCallback(true, o.takeRecords()) ];\n};\n\nconst createObserversSetup = (t, n, o, s) => {\n let e;\n let c;\n let r;\n let l;\n let i;\n let a;\n const {L: u} = getEnvironment();\n const f = `[${j}]`;\n const d = `[${K}]`;\n const v = [ \"tabindex\" ];\n const h = [ \"wrap\", \"cols\", \"rows\" ];\n const p = [ \"id\", \"class\", \"style\", \"open\" ];\n const {gt: g, bt: b, D: w, wt: S, St: y, V: m, yt: O, Ot: $} = t;\n const C = {\n $t: false,\n N: getDirectionIsRTL(g)\n };\n const x = getEnvironment();\n const H = getStaticPluginModuleInstance(Tt);\n const [I] = createCache({\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n }, (() => {\n const s = H && H.M(t, n, C, x, o).W;\n const e = O(Q);\n const c = !m && O(Z);\n const r = c && getElmentScroll(w);\n $(Q);\n m && $(Y, true);\n const l = c && s && s()[0];\n const i = M(S);\n const a = M(w);\n const u = fractionalSize(w);\n $(Q, e);\n m && $(Y);\n l && l();\n scrollElementTo(w, r);\n return {\n w: a.w + i.w + u.w,\n h: a.h + i.h + u.h\n };\n }));\n const z = y ? h : concat(p, h);\n const E = debounce(s, {\n v: () => e,\n p: () => c,\n S(t, n) {\n const [o] = t;\n const [s] = n;\n return [ concat(keys(o), keys(s)).reduce(((t, n) => {\n t[n] = o[n] || s[n];\n return t;\n }), {}) ];\n }\n });\n const setDirectionWhenViewportIsTarget = t => {\n if (m) {\n const n = getDirectionIsRTL(g);\n assignDeep(t, {\n Ct: a !== n\n });\n assignDeep(C, {\n N: n\n });\n a = n;\n }\n };\n const updateViewportAttrsFromHost = t => {\n each(t || v, (t => {\n if (inArray(v, t)) {\n const n = getAttr(b, t);\n if (isString(n)) {\n setAttrs(w, t, n);\n } else {\n removeAttrs(w, t);\n }\n }\n }));\n };\n const onTrinsicChanged = (t, n) => {\n const [o, e] = t;\n const c = {\n xt: e\n };\n assignDeep(C, {\n $t: o\n });\n !n && s(c);\n return c;\n };\n const onSizeChanged = ({ht: t, vt: n, dt: o}) => {\n const e = t && !o && !n;\n const c = !e && u ? E : s;\n const [r, l] = n || [];\n const i = {\n ht: t || o,\n dt: o,\n Ct: l\n };\n setDirectionWhenViewportIsTarget(i);\n n && assignDeep(C, {\n N: r\n });\n c(i);\n };\n const onContentMutation = (t, n) => {\n const [, o] = I();\n const e = {\n Ht: o\n };\n setDirectionWhenViewportIsTarget(e);\n const c = t ? s : E;\n o && !n && c(e);\n return e;\n };\n const onHostMutation = (t, n, o) => {\n const s = {\n It: n\n };\n setDirectionWhenViewportIsTarget(s);\n if (n && !o) {\n E(s);\n } else if (!m) {\n updateViewportAttrsFromHost(t);\n }\n return s;\n };\n const {Z: A} = x;\n const [T, D] = S ? createTrinsicObserver(b, onTrinsicChanged) : [];\n const k = !m && createSizeObserver(b, onSizeChanged, {\n dt: true,\n _t: true\n });\n const [R, V] = createDOMObserver(b, false, onHostMutation, {\n rt: p,\n ct: concat(p, v)\n });\n const L = m && _ && new _((t => {\n const n = t[t.length - 1].contentRect;\n onSizeChanged({\n ht: true,\n dt: domRectAppeared(n, i)\n });\n i = n;\n }));\n return [ () => {\n updateViewportAttrsFromHost();\n L && L.observe(b);\n const t = k && k();\n const n = T && T();\n const o = R();\n const s = A((t => {\n const [, n] = I();\n E({\n zt: t,\n Ht: n\n });\n }));\n return () => {\n L && L.disconnect();\n t && t();\n n && n();\n l && l();\n o();\n s();\n };\n }, ({Et: t, At: n, Tt: o}) => {\n const s = {};\n const [i] = t(\"update.ignoreMutation\");\n const [a, u] = t(\"update.attributes\");\n const [_, v] = t(\"update.elementEvents\");\n const [h, p] = t(\"update.debounce\");\n const g = v || u;\n const b = n || o;\n const ignoreMutationFromOptions = t => isFunction(i) && i(t);\n if (g) {\n r && r();\n l && l();\n const [t, n] = createDOMObserver(S || w, true, onContentMutation, {\n ct: concat(z, a || []),\n lt: _,\n it: f,\n ft: (t, n) => {\n const {target: o, attributeName: s} = t;\n const e = !n && s && !m ? liesBetween(o, f, d) : false;\n return e || !!closest(o, `.${ft}`) || !!ignoreMutationFromOptions(t);\n }\n });\n l = t();\n r = n;\n }\n if (p) {\n E.m();\n if (isArray(h)) {\n const t = h[0];\n const n = h[1];\n e = isNumber(t) && t;\n c = isNumber(n) && n;\n } else if (isNumber(h)) {\n e = h;\n c = false;\n } else {\n e = false;\n c = false;\n }\n }\n if (b) {\n const t = V();\n const n = D && D();\n const o = r && r();\n t && assignDeep(s, onHostMutation(t[0], t[1], b));\n n && assignDeep(s, onTrinsicChanged(n[0], b));\n o && assignDeep(s, onContentMutation(o[0], b));\n }\n setDirectionWhenViewportIsTarget(s);\n return s;\n }, C ];\n};\n\nconst createScrollbarsSetupElements = (t, n, o, s) => {\n const {G: e, K: c} = getEnvironment();\n const {scrollbars: r} = e();\n const {slot: l} = r;\n const {gt: a, bt: u, D: f, Dt: _, kt: v, Rt: h, V: p} = n;\n const {scrollbars: g} = _ ? {} : t;\n const {slot: b} = g || {};\n const w = new Map;\n const initScrollTimeline = t => d && new d({\n source: v,\n axis: t\n });\n const S = initScrollTimeline(\"x\");\n const y = initScrollTimeline(\"y\");\n const m = dynamicInitializationElement([ a, u, f ], (() => p && h ? a : u), l, b);\n const getScrollbarHandleLengthRatio = (t, n) => {\n if (n) {\n const o = t ? H : I;\n const {Mt: s, Vt: e} = n;\n const c = getBoundingClientRect(e)[o];\n const r = getBoundingClientRect(s)[o];\n return capNumber(0, 1, c / r || 0);\n }\n const s = t ? \"x\" : \"y\";\n const {Lt: e, Pt: c} = o;\n const r = c[s];\n const l = e[s];\n return capNumber(0, 1, r / (r + l) || 0);\n };\n const getScrollbarHandleOffsetRatio = (t, n, o, s) => {\n const e = getScrollbarHandleLengthRatio(o, t);\n return 1 / e * (1 - e) * (s ? 1 - n : n) || 0;\n };\n const addDirectionRTLKeyframes = (t, n) => assignDeep(t, n ? {\n clear: [ \"left\" ]\n } : {});\n const cancelElementAnimations = t => {\n w.forEach(((n, o) => {\n const s = t ? inArray(createOrKeepArray(t), o) : true;\n if (s) {\n each(n || [], (t => {\n t && t.cancel();\n }));\n w.delete(o);\n }\n }));\n };\n const setElementAnimation = (t, n, o, s) => {\n const e = w.get(t) || [];\n const c = e.find((t => t && t.timeline === n));\n if (c) {\n c.effect = new KeyframeEffect(t, o, {\n composite: s\n });\n } else {\n w.set(t, concat(e, [ t.animate(o, {\n timeline: n,\n composite: s\n }) ]));\n }\n };\n const scrollbarStructureAddRemoveClass = (t, n, o) => {\n const s = o ? addClass : removeClass;\n each(t, (t => {\n s(t.Ut, n);\n }));\n };\n const scrollbarStyle = (t, n) => {\n each(t, (t => {\n const [o, s] = n(t);\n setStyles(o, s);\n }));\n };\n const scrollbarStructureRefreshHandleLength = (t, n) => {\n scrollbarStyle(t, (t => {\n const {Vt: o} = t;\n return [ o, {\n [n ? H : I]: ratioToCssPercent(getScrollbarHandleLengthRatio(n))\n } ];\n }));\n };\n const scrollbarStructureRefreshHandleOffset = (t, n) => {\n const {Lt: s} = o;\n const e = n ? s.x : s.y;\n const getTransformValue = (t, o, s) => getTrasformTranslateValue(ratioToCssPercent(getScrollbarHandleOffsetRatio(t, getRawScrollRatio(o, e, s), n, s)), n);\n if (S && y) {\n each(t, (t => {\n const {Ut: o, Vt: s} = t;\n const r = n && getDirectionIsRTL(o) && c;\n setElementAnimation(s, n ? S : y, addDirectionRTLKeyframes({\n transform: getRawScrollBounds(e, r).map((n => getTransformValue(t, n, r)))\n }, r));\n }));\n } else {\n const o = getElmentScroll(v);\n scrollbarStyle(t, (t => {\n const {Vt: s, Ut: e} = t;\n return [ s, {\n transform: getTransformValue(t, n ? o.x : o.y, n && getDirectionIsRTL(e) && c)\n } ];\n }));\n }\n };\n const doRefreshScrollbarOffset = t => p && !h && parent(t) === f;\n const O = [];\n const $ = [];\n const C = [];\n const scrollbarsAddRemoveClass = (t, n, o) => {\n const s = isBoolean(o);\n const e = s ? o : true;\n const c = s ? !o : true;\n e && scrollbarStructureAddRemoveClass($, t, n);\n c && scrollbarStructureAddRemoveClass(C, t, n);\n };\n const refreshScrollbarsHandleLength = () => {\n scrollbarStructureRefreshHandleLength($, true);\n scrollbarStructureRefreshHandleLength(C);\n };\n const refreshScrollbarsHandleOffset = () => {\n scrollbarStructureRefreshHandleOffset($, true);\n scrollbarStructureRefreshHandleOffset(C);\n };\n const refreshScrollbarsScrollbarOffset = () => {\n if (p) {\n const {Lt: t} = o;\n const n = .5;\n if (S && y) {\n each(concat(C, $), (({Ut: o}) => {\n if (doRefreshScrollbarOffset(o)) {\n const setScrollbarElementAnimation = (t, s, e) => {\n const r = e && getDirectionIsRTL(o) && c;\n setElementAnimation(o, t, addDirectionRTLKeyframes({\n transform: getRawScrollBounds(s - n, r).map((t => getTrasformTranslateValue(numberToCssPx(t), e)))\n }, r), \"add\");\n };\n setScrollbarElementAnimation(S, t.x, true);\n setScrollbarElementAnimation(y, t.y);\n } else {\n cancelElementAnimations(o);\n }\n }));\n } else {\n const n = getElmentScroll(v);\n const styleScrollbarPosition = o => {\n const {Ut: s} = o;\n const e = doRefreshScrollbarOffset(s) && s;\n const getTranslateValue = (t, n, o) => {\n const s = getRawScrollRatio(t, n, o);\n const e = n * s;\n return numberToCssPx(o ? -e : e);\n };\n return [ e, {\n transform: e ? getTrasformTranslateValue({\n x: getTranslateValue(n.x, t.x, getDirectionIsRTL(s) && c),\n y: getTranslateValue(n.y, t.y)\n }) : \"\"\n } ];\n };\n scrollbarStyle($, styleScrollbarPosition);\n scrollbarStyle(C, styleScrollbarPosition);\n }\n }\n };\n const generateScrollbarDOM = t => {\n const n = t ? dt : vt;\n const o = t ? $ : C;\n const e = isEmptyArray(o) ? wt : \"\";\n const c = createDiv(`${ft} ${n} ${e}`);\n const r = createDiv(ht);\n const l = createDiv(pt);\n const i = {\n Ut: c,\n Mt: r,\n Vt: l\n };\n push(o, i);\n push(O, [ appendChildren(c, r), appendChildren(r, l), bind(removeElements, c), cancelElementAnimations, s(i, scrollbarsAddRemoveClass, scrollbarStructureRefreshHandleOffset, t) ]);\n return i;\n };\n const x = bind(generateScrollbarDOM, true);\n const z = bind(generateScrollbarDOM, false);\n const appendElements = () => {\n appendChildren(m, $[0].Ut);\n appendChildren(m, C[0].Ut);\n i((() => {\n scrollbarsAddRemoveClass(wt);\n }), 300);\n return bind(runEachAndClear, O);\n };\n x();\n z();\n return [ {\n Bt: refreshScrollbarsHandleLength,\n Nt: refreshScrollbarsHandleOffset,\n jt: refreshScrollbarsScrollbarOffset,\n Ft: scrollbarsAddRemoveClass,\n qt: {\n J: S,\n Wt: $,\n Xt: x,\n Yt: bind(scrollbarStyle, $)\n },\n Jt: {\n J: y,\n Wt: C,\n Xt: z,\n Yt: bind(scrollbarStyle, C)\n }\n }, appendElements ];\n};\n\nconst createScrollbarsSetupEvents = (t, n, o) => {\n const {bt: s, kt: c, Kt: r} = n;\n return (n, l, i, a) => {\n const {Ut: u, Mt: f, Vt: _} = n;\n const [d, v] = selfClearTimeout(333);\n const [h, p] = selfClearTimeout();\n const g = bind(i, [ n ], a);\n const b = !!c.scrollBy;\n const w = `client${a ? \"X\" : \"Y\"}`;\n const S = a ? H : I;\n const y = a ? \"left\" : \"top\";\n const m = a ? \"w\" : \"h\";\n const O = a ? \"x\" : \"y\";\n const isAffectingTransition = t => t.propertyName.indexOf(S) > -1;\n const createInteractiveScrollEvents = () => {\n const n = \"pointerup pointerleave pointercancel lostpointercapture\";\n const createRelativeHandleMove = (t, n) => s => {\n const {Lt: e} = o;\n const r = k(f)[m] - k(_)[m];\n const l = n * s / r;\n const i = l * e[O];\n scrollElementTo(c, {\n [O]: t + i\n });\n };\n return addEventListener(f, \"pointerdown\", (o => {\n const l = closest(o.target, `.${pt}`) === _;\n const i = l ? _ : f;\n const a = t.scrollbars;\n const {button: u, isPrimary: d, pointerType: v} = o;\n const {pointers: h} = a;\n const p = u === 0 && d && a[l ? \"dragScroll\" : \"clickScroll\"] && (h || []).includes(v);\n if (p) {\n const t = !l && o.shiftKey;\n const a = bind(getBoundingClientRect, _);\n const u = bind(getBoundingClientRect, f);\n const getHandleOffset = (t, n) => (t || a())[y] - (n || u())[y];\n const d = e(getBoundingClientRect(c)[S]) / k(c)[m] || 1;\n const v = createRelativeHandleMove(getElmentScroll(c)[O] || 0, 1 / d);\n const h = o[w];\n const p = a();\n const g = u();\n const b = p[S];\n const $ = getHandleOffset(p, g) + b / 2;\n const C = h - g[y];\n const x = l ? 0 : C - $;\n const releasePointerCapture = t => {\n runEachAndClear(I);\n i.releasePointerCapture(t.pointerId);\n };\n const H = addAttrClass(s, j, X);\n const I = [ H, addEventListener(r, n, releasePointerCapture), addEventListener(r, \"selectstart\", (t => preventDefault(t)), {\n H: false\n }), addEventListener(f, n, releasePointerCapture), addEventListener(f, \"pointermove\", (n => {\n const o = n[w] - h;\n if (l || t) {\n v(x + o);\n }\n })) ];\n i.setPointerCapture(o.pointerId);\n if (t) {\n v(x);\n } else if (!l) {\n const t = getStaticPluginModuleInstance(kt);\n t && push(I, t(v, getHandleOffset, x, b, C));\n }\n }\n }));\n };\n let $ = true;\n return bind(runEachAndClear, [ addEventListener(u, \"pointerenter\", (() => {\n l(St, true);\n })), addEventListener(u, \"pointerleave pointercancel\", (() => {\n l(St, false);\n })), addEventListener(u, \"wheel\", (t => {\n const {deltaX: n, deltaY: o, deltaMode: e} = t;\n if (b && $ && e === 0 && parent(u) === s) {\n c.scrollBy({\n left: n,\n top: o,\n behavior: \"smooth\"\n });\n }\n $ = false;\n l($t, true);\n d((() => {\n $ = true;\n l($t);\n }));\n preventDefault(t);\n }), {\n H: false,\n I: true\n }), addEventListener(_, \"transitionstart\", (t => {\n if (isAffectingTransition(t)) {\n const animateHandleOffset = () => {\n g();\n h(animateHandleOffset);\n };\n animateHandleOffset();\n }\n })), addEventListener(_, \"transitionend transitioncancel\", (t => {\n if (isAffectingTransition(t)) {\n p();\n g();\n }\n })), addEventListener(u, \"mousedown\", bind(addEventListener, r, \"click\", stopPropagation, {\n A: true,\n I: true\n }), {\n I: true\n }), createInteractiveScrollEvents(), v, p ]);\n };\n};\n\nconst createScrollbarsSetup = (t, n, o, s, e, c) => {\n let r;\n let l;\n let i;\n let a;\n let u;\n let f = noop;\n let _ = 0;\n const [d, v] = selfClearTimeout();\n const [h, p] = selfClearTimeout();\n const [g, b] = selfClearTimeout(100);\n const [w, S] = selfClearTimeout(100);\n const [y, m] = selfClearTimeout(100);\n const [O, $] = selfClearTimeout((() => _));\n const [C, x] = createScrollbarsSetupElements(t, e, s, createScrollbarsSetupEvents(n, e, s));\n const {bt: H, Zt: I, Rt: z} = e;\n const {Ft: E, Bt: A, Nt: T, jt: D} = C;\n const manageAutoHideSuspension = t => {\n E(mt, t, true);\n E(mt, t, false);\n };\n const manageScrollbarsAutoHide = (t, n) => {\n $();\n if (t) {\n E(Ot);\n } else {\n const t = bind(E, Ot, true);\n if (_ > 0 && !n) {\n O(t);\n } else {\n t();\n }\n }\n };\n const isHoverablePointerType = t => t.pointerType === \"mouse\";\n const onHostMouseEnter = t => {\n if (isHoverablePointerType(t)) {\n a = l;\n a && manageScrollbarsAutoHide(true);\n }\n };\n const k = [ b, $, S, m, p, v, () => f(), addEventListener(H, \"pointerover\", onHostMouseEnter, {\n A: true\n }), addEventListener(H, \"pointerenter\", onHostMouseEnter), addEventListener(H, \"pointerleave\", (t => {\n if (isHoverablePointerType(t)) {\n a = false;\n l && manageScrollbarsAutoHide(false);\n }\n })), addEventListener(H, \"pointermove\", (t => {\n isHoverablePointerType(t) && r && d((() => {\n b();\n manageScrollbarsAutoHide(true);\n w((() => {\n r && manageScrollbarsAutoHide(false);\n }));\n }));\n })), addEventListener(I, \"scroll\", (t => {\n h((() => {\n T();\n i && manageScrollbarsAutoHide(true);\n g((() => {\n i && !a && manageScrollbarsAutoHide(false);\n }));\n }));\n c(t);\n D();\n })) ];\n return [ () => bind(runEachAndClear, push(k, x())), ({Et: t, Tt: n, Gt: e, Qt: c}) => {\n const {tn: a, nn: d, sn: v} = c || {};\n const {Ct: h, dt: p} = e || {};\n const {N: g} = o;\n const {T: b} = getEnvironment();\n const {Lt: w, k: S, en: m} = s;\n const [O, $] = t(\"showNativeOverlaidScrollbars\");\n const [C, x] = t(\"scrollbars.theme\");\n const [H, k] = t(\"scrollbars.visibility\");\n const [R, M] = t(\"scrollbars.autoHide\");\n const [V, L] = t(\"scrollbars.autoHideSuspend\");\n const [P] = t(\"scrollbars.autoHideDelay\");\n const [U, B] = t(\"scrollbars.dragScroll\");\n const [N, j] = t(\"scrollbars.clickScroll\");\n const F = p && !n;\n const q = m.x || m.y;\n const W = a || d || h || n;\n const X = v || k;\n const Y = O && b.x && b.y;\n const setScrollbarVisibility = (t, n) => {\n const o = H === \"visible\" || H === \"auto\" && t === \"scroll\";\n E(gt, o, n);\n return o;\n };\n _ = P;\n if (F) {\n if (V && q) {\n manageAutoHideSuspension(false);\n f();\n y((() => {\n f = addEventListener(I, \"scroll\", bind(manageAutoHideSuspension, true), {\n A: true\n });\n }));\n } else {\n manageAutoHideSuspension(true);\n }\n }\n if ($) {\n E(ut, Y);\n }\n if (x) {\n E(u);\n E(C, true);\n u = C;\n }\n if (L && !V) {\n manageAutoHideSuspension(true);\n }\n if (M) {\n r = R === \"move\";\n l = R === \"leave\";\n i = R !== \"never\";\n manageScrollbarsAutoHide(!i, true);\n }\n if (B) {\n E(xt, U);\n }\n if (j) {\n E(Ct, N);\n }\n if (X) {\n const t = setScrollbarVisibility(S.x, true);\n const n = setScrollbarVisibility(S.y, false);\n const o = t && n;\n E(bt, !o);\n }\n if (W) {\n A();\n T();\n D();\n E(yt, !w.x, true);\n E(yt, !w.y, false);\n E(_t, g && !z);\n }\n }, {}, C ];\n};\n\nconst createStructureSetupElements = t => {\n const n = getEnvironment();\n const {G: o, L: s} = n;\n const {elements: e} = o();\n const {host: c, padding: r, viewport: l, content: i} = e;\n const a = isHTMLElement(t);\n const u = a ? {} : t;\n const {elements: f} = u;\n const {host: _, padding: d, viewport: v, content: h} = f || {};\n const p = a ? t : u.target;\n const g = is(p, \"textarea\");\n const b = p.ownerDocument;\n const w = b.documentElement;\n const S = p === b.body;\n const y = b.defaultView;\n const getFocusedElement = () => b.activeElement;\n const focusElm = t => {\n if (t && t.focus) {\n t.focus();\n }\n };\n const m = bind(staticInitializationElement, [ p ]);\n const O = bind(dynamicInitializationElement, [ p ]);\n const $ = bind(resolveInitialization, [ p ]);\n const C = bind(createDiv, \"\");\n const x = bind(m, C, l);\n const H = bind(O, C, i);\n const I = x(v);\n const z = I === p;\n const E = z && S;\n const A = !z && H(h);\n const T = !z && isHTMLElement(I) && I === A;\n const D = T && !!$(i);\n const k = D ? x() : I;\n const R = D ? A : H();\n const M = T ? k : I;\n const V = E ? w : M;\n const L = g ? m(C, c, _) : p;\n const P = E ? V : L;\n const U = T ? R : A;\n const B = {\n gt: p,\n bt: P,\n D: V,\n cn: !z && O(C, r, d),\n wt: U,\n kt: E ? w : V,\n Zt: E ? b : V,\n rn: S ? w : p,\n ln: y,\n Kt: b,\n St: g,\n Rt: S,\n Dt: a,\n V: z,\n an: T,\n yt: t => hasAttrClass(V, z ? j : K, t),\n Ot: (t, n) => addRemoveAttrClass(V, z ? j : K, t, n)\n };\n const W = keys(B).reduce(((t, n) => {\n const o = B[n];\n return push(t, o && isHTMLElement(o) && !parent(o) ? o : false);\n }), []);\n const elementIsGenerated = t => t ? inArray(W, t) : null;\n const {gt: X, bt: Y, cn: Z, D: Q, wt: nt} = B;\n const st = [ () => {\n removeAttrs(Y, [ j, N ]);\n removeAttrs(X, N);\n if (S) {\n removeAttrs(w, [ N, j ]);\n }\n } ];\n const et = g && elementIsGenerated(Y);\n let ct = g ? X : contents([ nt, Q, Z, Y, X ].find((t => elementIsGenerated(t) === false)));\n const rt = E ? X : nt || Q;\n const lt = bind(runEachAndClear, st);\n const appendElements = () => {\n const t = getFocusedElement();\n const unwrap = t => {\n appendChildren(parent(t), contents(t));\n removeElements(t);\n };\n const prepareWrapUnwrapFocus = t => t ? addEventListener(t, \"focus blur\", (t => {\n stopPropagation(t);\n t.stopImmediatePropagation();\n }), {\n I: true,\n H: false\n }) : noop;\n const n = prepareWrapUnwrapFocus(t);\n setAttrs(Y, j, z ? \"viewport\" : \"host\");\n setAttrs(Z, tt, \"\");\n setAttrs(nt, ot, \"\");\n if (!z) {\n setAttrs(Q, K, \"\");\n S && addAttrClass(w, j, J);\n }\n if (et) {\n insertAfter(X, Y);\n push(st, (() => {\n insertAfter(Y, X);\n removeElements(Y);\n }));\n }\n appendChildren(rt, ct);\n appendChildren(Y, Z);\n appendChildren(Z || Y, !z && Q);\n appendChildren(Q, nt);\n push(st, [ n, () => {\n const t = getFocusedElement();\n const n = prepareWrapUnwrapFocus(t);\n removeAttrs(Z, tt);\n removeAttrs(nt, ot);\n removeAttrs(Q, [ F, q, K ]);\n elementIsGenerated(nt) && unwrap(nt);\n elementIsGenerated(Q) && unwrap(Q);\n elementIsGenerated(Z) && unwrap(Z);\n focusElm(t);\n n();\n } ]);\n if (s && !z) {\n addAttrClass(Q, K, G);\n push(st, bind(removeAttrs, Q, K));\n }\n if (!z && y.top === y && t === p) {\n const t = \"tabindex\";\n const n = getAttr(Q, t);\n setAttrs(Q, t, \"-1\");\n focusElm(Q);\n const revertViewportTabIndex = () => n ? setAttrs(Q, t, n) : removeAttrs(Q, t);\n const o = addEventListener(b, \"pointerdown keydown\", (() => {\n revertViewportTabIndex();\n o();\n }));\n push(st, [ revertViewportTabIndex, o ]);\n } else {\n focusElm(t);\n }\n n();\n ct = 0;\n return lt;\n };\n return [ B, appendElements, lt ];\n};\n\nconst createTrinsicUpdateSegment = ({wt: t}) => ({Gt: n, un: o, Tt: s}) => {\n const {xt: e} = n || {};\n const {$t: c} = o;\n const r = t && (e || s);\n if (r) {\n setStyles(t, {\n [I]: c && \"100%\"\n });\n }\n};\n\nconst createPaddingUpdateSegment = ({bt: t, cn: n, D: o, V: s}, e) => {\n const [c, r] = createCache({\n u: equalTRBL,\n o: topRightBottomLeft()\n }, bind(topRightBottomLeft, t, \"padding\", \"\"));\n return ({Et: t, Gt: l, un: i, Tt: a}) => {\n let [u, f] = r(a);\n const {L: _} = getEnvironment();\n const {ht: d, Ht: v, Ct: h} = l || {};\n const {N: p} = i;\n const [g, C] = t(\"paddingAbsolute\");\n const x = a || v;\n if (d || f || x) {\n [u, f] = c(a);\n }\n const I = !s && (C || h || f);\n if (I) {\n const t = !g || !n && !_;\n const s = u.r + u.l;\n const c = u.t + u.b;\n const r = {\n [O]: t && !p ? -s : 0,\n [$]: t ? -c : 0,\n [m]: t && p ? -s : 0,\n top: t ? -u.t : 0,\n right: t ? p ? -u.r : \"auto\" : 0,\n left: t ? p ? \"auto\" : -u.l : 0,\n [H]: t && `calc(100% + ${s}px)`\n };\n const l = {\n [b]: t ? u.t : 0,\n [w]: t ? u.r : 0,\n [y]: t ? u.b : 0,\n [S]: t ? u.l : 0\n };\n setStyles(n || o, r);\n setStyles(o, l);\n assignDeep(e, {\n cn: u,\n fn: !t,\n j: n ? l : assignDeep({}, r, l)\n });\n }\n return {\n _n: I\n };\n };\n};\n\nconst createOverflowUpdateSegment = (t, s) => {\n const e = getEnvironment();\n const {bt: c, cn: r, D: l, V: i, Ot: a, Rt: u, ln: f} = t;\n const {L: _, T: d} = e;\n const v = u && i;\n const h = bind(o, 0);\n const p = {\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n };\n const g = {\n u: equalXY,\n o: {\n x: z,\n y: z\n }\n };\n const getOverflowAmount = (t, o) => {\n const s = n.devicePixelRatio % 1 !== 0 ? 1 : 0;\n const e = {\n w: h(t.w - o.w),\n h: h(t.h - o.h)\n };\n return {\n w: e.w > s ? e.w : 0,\n h: e.h > s ? e.h : 0\n };\n };\n const [b, w] = createCache(p, bind(fractionalSize, l));\n const [S, y] = createCache(p, bind(M, l));\n const [m, O] = createCache(p);\n const [$, H] = createCache(p);\n const [E] = createCache(g);\n const A = getStaticPluginModuleInstance(Tt);\n return ({Et: n, Gt: u, un: p, Tt: g}, {_n: z}) => {\n const {ht: T, It: D, Ht: k, xt: M, Ct: V, zt: L} = u || {};\n const {$t: P} = p;\n const U = A && A.M(t, s, p, e, n);\n const {q: B, W: N, X: X, F: Y} = U || {};\n const fixFlexboxGlue = (t, n) => {\n setStyles(l, {\n [I]: \"\"\n });\n if (n) {\n const {fn: n, cn: o} = s;\n const {R: e} = t;\n const r = fractionalSize(c);\n const i = R(c);\n const a = getStyles(l, \"boxSizing\") === \"content-box\";\n const u = n || a ? o.b + o.t : 0;\n const f = !(d.x && a);\n setStyles(l, {\n [I]: i.h + r.h + (e.x && f && Y ? Y(t).U.x : 0) - u\n });\n }\n };\n const [J, Z] = getShowNativeOverlaidScrollbars(n, e);\n const [ot, st] = n(\"overflow\");\n const et = !i && (T || k || D || Z || M);\n const ct = T || z || k || V || L || Z;\n const rt = overflowIsVisible(ot.x);\n const lt = overflowIsVisible(ot.y);\n const it = rt || lt;\n let at = w(g);\n let ut = y(g);\n let ft = O(g);\n let _t = H(g);\n let dt;\n if (Z && _) {\n a(G, !J);\n }\n if (et) {\n dt = getViewportOverflowState(t);\n fixFlexboxGlue(dt, P);\n }\n if (ct) {\n if (it) {\n a(Q, false);\n }\n const [t, n] = N ? N(dt) : [];\n const [s, e] = at = b(g);\n const [c, r] = ut = S(g);\n const i = R(l);\n const u = c;\n const _ = i;\n t && t();\n if ((r || e || Z) && n && !J && B && B(n, c, s)) {}\n const d = windowSize(f);\n const p = {\n w: h(o(c.w, u.w) + s.w),\n h: h(o(c.h, u.h) + s.h)\n };\n const w = {\n w: h((v ? d.w : _.w + h(i.w - c.w)) + s.w),\n h: h((v ? d.h : _.h + h(i.h - c.h)) + s.h)\n };\n _t = $(w);\n ft = m(getOverflowAmount(p, w), g);\n }\n const [vt, ht] = _t;\n const [pt, gt] = ft;\n const [bt, wt] = ut;\n const [St, yt] = at;\n const mt = {\n x: pt.w > 0,\n y: pt.h > 0\n };\n const Ot = rt && lt && (mt.x || mt.y) || rt && mt.x && !mt.y || lt && mt.y && !mt.x;\n const $t = z || V || L || yt || wt || ht || gt || st || Z || et || ct;\n if ($t) {\n const n = {};\n const o = setViewportOverflowState(t, mt, ot, n);\n X && X(o, p, !!B && B(o, bt, St), n);\n if (et) {\n fixFlexboxGlue(o, P);\n }\n if (i) {\n setAttrs(c, F, n[C]);\n setAttrs(c, q, n[x]);\n } else {\n setStyles(l, n);\n }\n }\n addRemoveAttrClass(c, j, W, Ot);\n addRemoveAttrClass(r, tt, nt, Ot);\n if (!i) {\n addRemoveAttrClass(l, K, Q, it);\n }\n const [Ct, xt] = E(getViewportOverflowState(t).k);\n assignDeep(s, {\n k: Ct,\n Pt: {\n x: vt.w,\n y: vt.h\n },\n Lt: {\n x: pt.w,\n y: pt.h\n },\n en: mt\n });\n return {\n sn: xt,\n tn: ht,\n nn: gt\n };\n };\n};\n\nconst createStructureSetup = t => {\n const [n, o, s] = createStructureSetupElements(t);\n const e = {\n cn: {\n t: 0,\n r: 0,\n b: 0,\n l: 0\n },\n fn: false,\n j: {\n [O]: 0,\n [$]: 0,\n [m]: 0,\n [b]: 0,\n [w]: 0,\n [y]: 0,\n [S]: 0\n },\n Pt: {\n x: 0,\n y: 0\n },\n Lt: {\n x: 0,\n y: 0\n },\n k: {\n x: z,\n y: z\n },\n en: {\n x: false,\n y: false\n }\n };\n const {gt: c, D: r, V: l} = n;\n const {L: i, T: a} = getEnvironment();\n const u = !i && (a.x || a.y);\n const f = [ createTrinsicUpdateSegment(n), createPaddingUpdateSegment(n, e), createOverflowUpdateSegment(n, e) ];\n return [ o, t => {\n const n = {};\n const o = u;\n const s = o && getElmentScroll(r);\n const e = l ? addAttrClass(r, j, Y) : noop;\n each(f, (o => {\n assignDeep(n, o(t, n) || {});\n }));\n e();\n scrollElementTo(r, s);\n !l && scrollElementTo(c, 0);\n return n;\n }, e, n, s ];\n};\n\nconst createSetups = (t, n, o, s) => {\n const e = createOptionCheck(n, {});\n const [c, r, l, i, a] = createStructureSetup(t);\n const [u, f, _] = createObserversSetup(i, l, e, (t => {\n update({}, t);\n }));\n const [d, v, , h] = createScrollbarsSetup(t, n, _, l, i, s);\n const updateHintsAreTruthy = t => keys(t).some((n => !!t[n]));\n const update = (t, s) => {\n const {dn: e, Tt: c, At: l, vn: i} = t;\n const a = e || {};\n const u = !!c;\n const d = {\n Et: createOptionCheck(n, a, u),\n dn: a,\n Tt: u\n };\n if (i) {\n v(d);\n return false;\n }\n const h = s || f(assignDeep({}, d, {\n At: l\n }));\n const p = r(assignDeep({}, d, {\n un: _,\n Gt: h\n }));\n v(assignDeep({}, d, {\n Gt: h,\n Qt: p\n }));\n const g = updateHintsAreTruthy(h);\n const b = updateHintsAreTruthy(p);\n const w = g || b || !isEmptyObject(a) || u;\n w && o(t, {\n Gt: h,\n Qt: p\n });\n return w;\n };\n return [ () => {\n const {rn: t, D: n} = i;\n const o = getElmentScroll(t);\n const s = [ u(), c(), d() ];\n scrollElementTo(n, o);\n return bind(runEachAndClear, s);\n }, update, () => ({\n hn: _,\n pn: l\n }), {\n gn: i,\n bn: h\n }, a ];\n};\n\nconst OverlayScrollbars = (t, n, o) => {\n const {nt: s} = getEnvironment();\n const e = isHTMLElement(t);\n const c = e ? t : t.target;\n const r = getInstance(c);\n if (n && !r) {\n let r = false;\n const l = [];\n const i = {};\n const validateOptions = t => {\n const n = removeUndefinedProperties(t, true);\n const o = getStaticPluginModuleInstance(zt);\n return o ? o(n, true) : n;\n };\n const a = assignDeep({}, s(), validateOptions(n));\n const [u, f, _] = createEventListenerHub();\n const [d, v, h] = createEventListenerHub(o);\n const triggerEvent = (t, n) => {\n h(t, n);\n _(t, n);\n };\n const [p, g, b, w, S] = createSetups(t, a, (({dn: t, Tt: n}, {Gt: o, Qt: s}) => {\n const {ht: e, Ct: c, xt: r, Ht: l, It: i, dt: a} = o;\n const {tn: u, nn: f, sn: _} = s;\n triggerEvent(\"updated\", [ y, {\n updateHints: {\n sizeChanged: !!e,\n directionChanged: !!c,\n heightIntrinsicChanged: !!r,\n overflowEdgeChanged: !!u,\n overflowAmountChanged: !!f,\n overflowStyleChanged: !!_,\n contentMutation: !!l,\n hostMutation: !!i,\n appear: !!a\n },\n changedOptions: t || {},\n force: !!n\n } ]);\n }), (t => triggerEvent(\"scroll\", [ y, t ])));\n const destroy = t => {\n removeInstance(c);\n runEachAndClear(l);\n r = true;\n triggerEvent(\"destroyed\", [ y, t ]);\n f();\n v();\n };\n const y = {\n options(t, n) {\n if (t) {\n const o = n ? s() : {};\n const e = getOptionsDiff(a, assignDeep(o, validateOptions(t)));\n if (!isEmptyObject(e)) {\n assignDeep(a, e);\n g({\n dn: e\n });\n }\n }\n return assignDeep({}, a);\n },\n on: d,\n off: (t, n) => {\n t && n && v(t, n);\n },\n state() {\n const {hn: t, pn: n} = b();\n const {N: o} = t;\n const {Pt: s, Lt: e, k: c, en: l, cn: i, fn: a} = n;\n return assignDeep({}, {\n overflowEdge: s,\n overflowAmount: e,\n overflowStyle: c,\n hasOverflow: l,\n padding: i,\n paddingAbsolute: a,\n directionRTL: o,\n destroyed: r\n });\n },\n elements() {\n const {gt: t, bt: n, cn: o, D: s, wt: e, kt: c, Zt: r} = w.gn;\n const {qt: l, Jt: i} = w.bn;\n const translateScrollbarStructure = t => {\n const {Vt: n, Mt: o, Ut: s} = t;\n return {\n scrollbar: s,\n track: o,\n handle: n\n };\n };\n const translateScrollbarsSetupElement = t => {\n const {Wt: n, Xt: o} = t;\n const s = translateScrollbarStructure(n[0]);\n return assignDeep({}, s, {\n clone: () => {\n const t = translateScrollbarStructure(o());\n g({\n vn: true\n });\n return t;\n }\n });\n };\n return assignDeep({}, {\n target: t,\n host: n,\n padding: o || s,\n viewport: s,\n content: e || s,\n scrollOffsetElement: c,\n scrollEventElement: r,\n scrollbarHorizontal: translateScrollbarsSetupElement(l),\n scrollbarVertical: translateScrollbarsSetupElement(i)\n });\n },\n update: t => g({\n Tt: t,\n At: true\n }),\n destroy: bind(destroy, false),\n plugin: t => i[keys(t)[0]]\n };\n push(l, [ S ]);\n addInstance(c, y);\n registerPluginModuleInstances(Ht, OverlayScrollbars, [ y, u, i ]);\n if (cancelInitialization(w.gn.Rt, !e && t.cancel)) {\n destroy(true);\n return y;\n }\n push(l, p());\n triggerEvent(\"initialized\", [ y ]);\n y.update(true);\n return y;\n }\n return r;\n};\n\nOverlayScrollbars.plugin = t => {\n const n = isArray(t);\n const o = n ? t : [ t ];\n const s = o.map((t => registerPluginModuleInstances(t, OverlayScrollbars)[0]));\n addPlugins(o);\n return n ? s : s[0];\n};\n\nOverlayScrollbars.valid = t => {\n const n = t && t.elements;\n const o = isFunction(n) && n();\n return isPlainObject(o) && !!getInstance(o.target);\n};\n\nOverlayScrollbars.env = () => {\n const {P: t, T: n, L: o, K: s, J: e, st: c, et: r, G: l, tt: i, nt: a, ot: u} = getEnvironment();\n return assignDeep({}, {\n scrollbarsSize: t,\n scrollbarsOverlaid: n,\n scrollbarsHiding: o,\n rtlScrollBehavior: s,\n scrollTimeline: e,\n staticDefaultInitialization: c,\n staticDefaultOptions: r,\n getDefaultInitialization: l,\n setDefaultInitialization: i,\n getDefaultOptions: a,\n setDefaultOptions: u\n });\n};\n\nexport { Rt as ClickScrollPlugin, OverlayScrollbars, Dt as ScrollbarsHidingPlugin, At as SizeObserverPlugin };\n//# sourceMappingURL=overlayscrollbars.mjs.map\n","import { shallowRef as I, watch as b, unref as v, onUnmounted as k, defineComponent as E, toRefs as R, ref as A, watchPostEffect as D, openBlock as h, createBlock as z, resolveDynamicComponent as j, withCtx as q, createElementVNode as x, renderSlot as B } from \"vue\";\nimport { OverlayScrollbars as y } from \"overlayscrollbars\";\nconst F = () => {\n if (typeof window > \"u\") {\n const o = () => {\n };\n return [o, o];\n }\n let a, t;\n const n = window, r = typeof n.requestIdleCallback == \"function\", l = n.requestAnimationFrame, s = n.cancelAnimationFrame, d = r ? n.requestIdleCallback : l, u = r ? n.cancelIdleCallback : s, e = () => {\n u(a), s(t);\n };\n return [\n (o, f) => {\n e(), a = d(\n r ? () => {\n e(), t = l(o);\n } : o,\n typeof f == \"object\" ? f : { timeout: 2233 }\n );\n },\n e\n ];\n}, g = (a) => {\n let t = null, n, r, l;\n const s = I(a || {}), [d, u] = F();\n return b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.defer);\n },\n (e) => {\n l = e;\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.options);\n },\n (e) => {\n n = e, y.valid(t) && t.options(n || {}, !0);\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return v((e = s.value) == null ? void 0 : e.events);\n },\n (e) => {\n r = e, y.valid(t) && t.on(\n /* c8 ignore next */\n r || {},\n !0\n );\n },\n { deep: !0, immediate: !0 }\n ), k(() => {\n u(), t == null || t.destroy();\n }), [\n (e) => {\n if (y.valid(t))\n return t;\n const o = () => t = y(e, n || {}, r || {});\n l ? d(o, l) : o();\n },\n () => t\n ];\n}, P = /* @__PURE__ */ E({\n __name: \"OverlayScrollbarsComponent\",\n props: {\n element: {\n type: String,\n default: \"div\"\n },\n options: { type: Object },\n events: { type: Object },\n defer: { type: [Boolean, Object] }\n },\n emits: [\"osInitialized\", \"osUpdated\", \"osDestroyed\", \"osScroll\"],\n setup(a, { expose: t, emit: n }) {\n const r = a, l = {\n initialized: \"osInitialized\",\n updated: \"osUpdated\",\n destroyed: \"osDestroyed\",\n scroll: \"osScroll\"\n }, { element: s, options: d, events: u, defer: e } = R(r), o = I(null), f = I(null), S = A(), [O, C] = g({ options: d, events: S, defer: e });\n return t({\n osInstance: C,\n getElement: () => o.value\n }), D((p) => {\n const { value: m } = o, { value: i } = f;\n m && i && (O({\n target: m,\n elements: {\n viewport: i,\n content: i\n }\n }), p(() => {\n var c;\n return (c = C()) == null ? void 0 : c.destroy();\n }));\n }), b(\n () => v(u),\n (p) => {\n const m = p || {};\n S.value = Object.keys(l).reduce((i, c) => {\n const w = m[c];\n return i[c] = [\n (..._) => n(\n l[c],\n ..._\n ),\n ...(Array.isArray(w) ? w : [w]).filter(Boolean)\n ], i;\n }, {});\n },\n { deep: !0, immediate: !0 }\n ), (p, m) => (h(), z(j(v(s)), {\n \"data-overlayscrollbars-initialize\": \"\",\n ref_key: \"elementRef\",\n ref: o\n }, {\n default: q(() => [\n x(\"div\", {\n \"data-overlayscrollbars-contents\": \"\",\n ref_key: \"slotRef\",\n ref: f\n }, [\n B(p.$slots, \"default\")\n ], 512)\n ]),\n _: 3\n }, 512));\n }\n});\nexport {\n P as OverlayScrollbarsComponent,\n g as useOverlayScrollbars\n};\n//# sourceMappingURL=overlayscrollbars-vue.mjs.map\n","<script lang=\"ts\" setup>\nimport type { UseOverlayScrollbarsParams } from \"overlayscrollbars-vue\";\nimport { useOverlayScrollbars } from \"overlayscrollbars-vue\";\nimport { computed, nextTick, onMounted, reactive, ref, watch } from \"vue\";\nimport { IconClose } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n visible?: boolean;\n title?: string;\n width?: number;\n height?: string;\n fullscreen?: boolean;\n bodyClass?: string[];\n mountToBody?: boolean;\n centered?: boolean;\n layerClosable?: boolean;\n }>(),\n {\n visible: undefined,\n title: undefined,\n width: 500,\n height: undefined,\n fullscreen: false,\n bodyClass: undefined,\n mountToBody: false,\n centered: true,\n layerClosable: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:visible\", value: boolean): void;\n (event: \"close\"): void;\n}>();\n\nconst internalVisible = ref<boolean | undefined>(false);\nconst rootVisible = ref(false);\nconst modelWrapper = ref<HTMLElement>();\n\nwatch(\n () => props.visible,\n () => {\n internalVisible.value = props.visible;\n }\n);\n\nonMounted(() => {\n if (props.visible === undefined) {\n internalVisible.value = true;\n }\n});\n\nconst wrapperClasses = computed(() => {\n return {\n \"modal-wrapper-fullscreen\": props.fullscreen,\n \"modal-wrapper-centered\": props.centered,\n };\n});\n\nconst contentStyles = computed(() => {\n return {\n maxWidth: props.width + \"px\",\n height: props.height,\n };\n});\n\nfunction handleClose() {\n internalVisible.value = false;\n setTimeout(() => {\n emit(\"update:visible\", false);\n emit(\"close\");\n }, 200);\n}\n\ndefineExpose({\n close: handleClose,\n});\n\nconst focus = ref(false);\n\nfunction handleClickLayer() {\n if (props.layerClosable) {\n handleClose();\n return;\n }\n focus.value = true;\n setTimeout(() => {\n focus.value = false;\n }, 300);\n}\n\n// body scroll\nconst modalBody = ref(null);\nconst reactiveParams = reactive<UseOverlayScrollbarsParams>({\n options: {\n scrollbars: {\n autoHide: \"scroll\",\n autoHideDelay: 600,\n },\n },\n defer: true,\n});\nconst [initialize, instance] = useOverlayScrollbars(reactiveParams);\nwatch(\n () => internalVisible.value,\n (value) => {\n if (value) {\n if (modalBody.value) initialize({ target: modalBody.value });\n nextTick(() => {\n modelWrapper.value?.focus();\n });\n } else {\n instance()?.destroy();\n }\n }\n);\n</script>\n<template>\n <Teleport :disabled=\"!mountToBody\" to=\"body\">\n <div\n v-show=\"rootVisible\"\n ref=\"modelWrapper\"\n :class=\"wrapperClasses\"\n aria-modal=\"true\"\n class=\"modal-wrapper\"\n role=\"dialog\"\n tabindex=\"0\"\n v-bind=\"$attrs\"\n @keyup.esc.stop=\"handleClose()\"\n >\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0\"\n enter-to-class=\"opacity-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100\"\n leave-to-class=\"opacity-0\"\n @before-enter=\"rootVisible = true\"\n @after-leave=\"rootVisible = false\"\n >\n <div\n v-show=\"internalVisible\"\n class=\"modal-layer\"\n @click.stop=\"handleClickLayer()\"\n />\n </transition>\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enter-to-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-to-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <div\n v-show=\"internalVisible\"\n :style=\"contentStyles\"\n class=\"modal-content transition-all duration-300\"\n :class=\"{ 'modal-focus': focus }\"\n >\n <div v-if=\"$slots.header || title\" class=\"modal-header group\">\n <slot name=\"header\">\n <div class=\"modal-header-title\">{{ title }}</div>\n <div v-if=\"$slots.center\" class=\"modal-header-center\">\n <slot name=\"center\"></slot>\n </div>\n <div class=\"modal-header-actions\">\n <slot name=\"actions\"></slot>\n <span class=\"bg-gray-50\" @click=\"handleClose()\">\n <IconClose />\n </span>\n </div>\n </slot>\n </div>\n <div ref=\"modalBody\" :class=\"bodyClass\" class=\"modal-body\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </transition>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\">\n.modal-wrapper {\n @apply fixed\n left-0\n h-full\n w-full\n flex\n flex-row\n items-start\n justify-center\n top-0\n py-10;\n z-index: 2000;\n\n .modal-layer {\n @apply flex-none\n absolute\n top-0\n left-0\n h-full\n w-full\n transition-opacity\n bg-gray-500\n bg-opacity-75;\n }\n\n .modal-content {\n @apply flex\n flex-col\n relative\n bg-white\n items-stretch\n shadow-xl\n rounded-base;\n width: calc(100vw - 20px);\n max-height: calc(100vh - 5rem);\n\n &.modal-focus {\n @apply scale-[1.02];\n }\n\n .modal-header {\n @apply flex\n justify-between\n border-b\n items-center\n select-none;\n padding: 10px 16px;\n\n .modal-header-title {\n @apply text-base\n font-medium\n truncate;\n }\n\n .modal-header-actions {\n @apply flex\n flex-row\n gap-2;\n span {\n @apply cursor-pointer \n rounded-full \n w-7 \n h-7 \n inline-flex \n items-center \n justify-center \n hover:bg-gray-100\n select-none\n text-gray-600\n hover:text-gray-900\n group-hover:hidden;\n }\n }\n }\n\n .modal-body {\n @apply overflow-y-hidden\n overflow-x-hidden\n flex-1;\n word-wrap: break-word;\n padding: 12px 16px;\n }\n\n .modal-footer {\n @apply border-t;\n padding: 12px 16px;\n }\n }\n\n &.modal-wrapper-centered {\n @apply py-0 items-center;\n .modal-content {\n max-height: calc(100vh - 20px) !important;\n }\n }\n\n &.modal-wrapper-fullscreen {\n .modal-content {\n width: 100vw !important;\n max-width: 100vw !important;\n height: 100vh !important;\n max-height: 100vh !important;\n border-radius: 0;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { DialogProps, Type } from \"@/components/dialog/interface\";\nimport { markRaw, ref, type Component, type Raw } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"../../icons/icons\";\nimport { VButton } from \"../button\";\nimport { VModal } from \"../modal\";\n\nconst props = withDefaults(defineProps<DialogProps>(), {\n type: \"info\",\n title: \"提示\",\n description: \"\",\n confirmText: \"确定\",\n confirmType: \"primary\",\n showCancel: true,\n cancelText: \"取消\",\n visible: false,\n onConfirm: () => {\n return;\n },\n onCancel: () => {\n return;\n },\n});\n\nconst emit = defineEmits<{\n (event: \"update:visible\", visible: boolean): void;\n (event: \"close\"): void;\n}>();\n\nconst icons: Record<Type, { icon: Raw<Component>; color: string }> = {\n success: {\n icon: markRaw(IconCheckboxCircle),\n color: \"green\",\n },\n info: {\n icon: markRaw(IconInformation),\n color: \"blue\",\n },\n warning: {\n icon: markRaw(IconErrorWarning),\n color: \"orange\",\n },\n error: {\n icon: markRaw(IconForbidLine),\n color: \"red\",\n },\n};\n\nconst loading = ref(false);\n\nconst handleCancel = () => {\n if (props.onCancel) {\n props.onCancel();\n }\n handleClose();\n};\n\nconst handleConfirm = async () => {\n if (props.onConfirm) {\n loading.value = true;\n\n try {\n await props.onConfirm();\n } catch (error) {\n console.error(\"Failed to execute onConfirm: \", error);\n } finally {\n loading.value = false;\n }\n }\n handleClose();\n};\n\nconst handleClose = () => {\n loading.value = false;\n emit(\"update:visible\", false);\n emit(\"close\");\n};\n</script>\n<template>\n <VModal\n :visible=\"visible\"\n :width=\"450\"\n :layer-closable=\"false\"\n :data-unique-id=\"uniqueId\"\n @close=\"handleCancel()\"\n >\n <div class=\"flex justify-between items-start py-2 mb-2\">\n <div class=\"flex flex-row items-center gap-3\">\n <component\n :is=\"icons[type].icon\"\n :class=\"`text-${icons[type].color}-500`\"\n class=\"w-6 h-6 flex-none\"\n ></component>\n <div class=\"text-base text-gray-900 font-bold\">{{ title }}</div>\n </div>\n <div>\n <IconClose class=\"cursor-pointer\" @click=\"handleCancel\" />\n </div>\n </div>\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-1 flex items-stretch\">\n <div class=\"text-sm text-gray-700 break-all\">{{ description }}</div>\n </div>\n </div>\n <template #footer>\n <div class=\"flex flex-row flex-wrap gap-3\">\n <VButton :loading=\"loading\" :type=\"confirmType\" @click=\"handleConfirm\">\n {{ confirmText }}\n </VButton>\n <VButton v-if=\"showCancel\" @click=\"handleCancel\">\n {{ cancelText }}\n </VButton>\n </div>\n </template>\n </VModal>\n</template>\n","import { createVNode, render, type Component } from \"vue\";\nimport DialogComponent from \"./Dialog.vue\";\nimport type { DialogProps } from \"./interface\";\n\nexport type DialogApiProps = Omit<DialogProps, \"type\" | \"visible\">;\n\nexport type DialogApi = (props?: DialogApiProps) => void;\n\nexport interface DialogEntry {\n (props: DialogProps): void;\n info: DialogApi;\n success: DialogApi;\n error: DialogApi;\n warning: DialogApi;\n}\n\nconst defaultProps: DialogProps = {\n title: \"\",\n visible: false,\n};\n\nconst DIALOG_CONTAINER_CLASS = \".dialog-container\";\nconst MODAL_WRAPPER_CLASS = \".modal-wrapper\";\n\nfunction getOrCreateContainer() {\n let container = document.body.querySelector(DIALOG_CONTAINER_CLASS);\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"dialog-container\";\n document.body.appendChild(container);\n }\n return container;\n}\n\nconst dialog: DialogEntry = (userProps: DialogProps) => {\n const props = {\n ...defaultProps,\n ...userProps,\n };\n\n const container = getOrCreateContainer();\n\n if (\n props.uniqueId &&\n container.querySelector(`[data-unique-id=\"${props.uniqueId}\"]`)\n ) {\n return;\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n DialogComponent,\n props\n );\n\n hostContainer.firstElementChild &&\n container.appendChild(hostContainer.firstElementChild);\n\n vnode.component?.props && (vnode.component.props.visible = true);\n\n if (vnode?.props) {\n vnode.props.onClose = () => {\n const modals = container.querySelectorAll(MODAL_WRAPPER_CLASS);\n\n if (modals.length > 1) {\n hostContainer.firstElementChild?.remove();\n } else {\n container.remove();\n }\n\n render(null, hostContainer);\n };\n }\n};\n\nfunction createVNodeComponent(\n component: Component,\n props: Record<string, unknown>\n) {\n const vnode = createVNode(component, props);\n const container = document.createElement(\"div\");\n render(vnode, container);\n return { vnode, container };\n}\n\ndialog.success = (props?: DialogApiProps) =>\n dialog({ ...props, type: \"success\" });\ndialog.info = (props?: DialogApiProps) => dialog({ ...props, type: \"info\" });\ndialog.warning = (props?: DialogApiProps) =>\n dialog({ ...props, type: \"warning\" });\ndialog.error = (props?: DialogApiProps) => dialog({ ...props, type: \"error\" });\n\nexport { dialog as Dialog };\n","const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return!/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(t,e,o,i){var r,l;void 0===e&&(e=!1),void 0===o&&(o=!1);const c=t.getBoundingClientRect(),s=v(t);let f=b;e&&(i?d(i)&&(f=L(i)):f=L(t));const u=s?n(s):window,a=!x()&&o;let h=(c.left+(a&&(null==(r=u.visualViewport)?void 0:r.offsetLeft)||0))/f.x,p=(c.top+(a&&(null==(l=u.visualViewport)?void 0:l.offsetTop)||0))/f.y,g=c.width/f.x,m=c.height/f.y;if(s){const t=n(s),e=i&&d(i)?n(i):i;let o=t.frameElement;for(;o&&i&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,h*=t.x,p*=t.y,g*=t.x,m*=t.y,h+=e.x,p+=e.y,o=n(o).frameElement}}return{width:g,height:m,top:p,right:h+g,bottom:p+m,left:h,x:h,y:p}}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){return\"viewport\"===i?t(function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(t||!t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l)):d(i)?t(function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l)):t(function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e)))}function A(t){return a(t)&&\"fixed\"!==o(t).position?t.offsetParent:null}function H(t){const e=n(t);let i=A(t);for(;i&&m(i)&&\"static\"===o(i).position;)i=A(i);return i&&(\"html\"===s(i)||\"body\"===s(i)&&\"static\"===o(i).position&&!y(i))?e:i||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||e}function O(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const P={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:O(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function z(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const B=(t,n,o)=>{const i=new Map,r={platform:P,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{z as autoUpdate,B as computePosition,D as getOverflowAncestors,P as platform};\n","import { defineComponent as O, openBlock as f, createElementBlock as T, normalizeClass as J, renderSlot as A, normalizeProps as ke, guardReactiveProps as Le, pushScopeId as De, popScopeId as Ie, nextTick as Fe, createBlock as M, withScopeId as Re, resolveComponent as P, normalizeStyle as W, withKeys as je, createElementVNode as w, Fragment as Ve, createCommentVNode as se, mergeProps as $e, withCtx as N, createVNode as ve, toDisplayString as We, ref as U, createApp as Ge, h as qe } from \"vue\";\nimport { offset as xe, autoPlacement as Ue, shift as Ye, flip as Xe, arrow as Ke, size as Je, computePosition as Qe, getOverflowAncestors as ne } from \"@floating-ui/dom\";\nfunction ye(e, t) {\n for (const o in t)\n Object.prototype.hasOwnProperty.call(t, o) && (typeof t[o] == \"object\" && e[o] ? ye(e[o], t[o]) : e[o] = t[o]);\n}\nconst h = {\n // Disable popper components\n disabled: !1,\n // Default position offset along main axis (px)\n distance: 5,\n // Default position offset along cross axis (px)\n skidding: 0,\n // Default container where the tooltip will be appended\n container: \"body\",\n // Element used to compute position and size boundaries\n boundary: void 0,\n // Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.\n instantMove: !1,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 150,\n // Triggers on the popper itself\n popperTriggers: [],\n // Positioning strategy\n strategy: \"absolute\",\n // Prevent overflow\n preventOverflow: !0,\n // Flip to the opposite placement if needed\n flip: !0,\n // Shift on the cross axis to prevent the popper from overflowing\n shift: !0,\n // Overflow padding (px)\n overflowPadding: 0,\n // Arrow padding (px)\n arrowPadding: 0,\n // Compute arrow overflow (useful to hide it)\n arrowOverflow: !0,\n /**\n * By default, compute autohide on 'click'.\n */\n autoHideOnMousedown: !1,\n // Themes\n themes: {\n tooltip: {\n // Default tooltip placement relative to target element\n placement: \"top\",\n // Default events that trigger the tooltip\n triggers: [\"hover\", \"focus\", \"touch\"],\n // Close tooltip on click on tooltip target\n hideTriggers: (e) => [...e, \"click\"],\n // Delay (ms)\n delay: {\n show: 200,\n hide: 0\n },\n // Update popper on content resize\n handleResize: !1,\n // Enable HTML content in directive\n html: !1,\n // Displayed when tooltip content is loading\n loadingContent: \"...\"\n },\n dropdown: {\n // Default dropdown placement relative to target element\n placement: \"bottom\",\n // Default events that trigger the dropdown\n triggers: [\"click\"],\n // Delay (ms)\n delay: 0,\n // Update popper on content resize\n handleResize: !0,\n // Hide on clock outside\n autoHide: !0\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction S(e, t) {\n let o = h.themes[e] || {}, i;\n do\n i = o[t], typeof i > \"u\" ? o.$extend ? o = h.themes[o.$extend] || {} : (o = null, i = h[t]) : o = null;\n while (o);\n return i;\n}\nfunction Ze(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend && !o.$resetCss ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t.map((i) => `v-popper--theme-${i}`);\n}\nfunction re(e) {\n const t = [e];\n let o = h.themes[e] || {};\n do\n o.$extend ? (t.push(o.$extend), o = h.themes[o.$extend] || {}) : o = null;\n while (o);\n return t;\n}\nlet $ = !1;\nif (typeof window < \"u\") {\n $ = !1;\n try {\n const e = Object.defineProperty({}, \"passive\", {\n get() {\n $ = !0;\n }\n });\n window.addEventListener(\"test\", null, e);\n } catch {\n }\n}\nlet _e = !1;\ntypeof window < \"u\" && typeof navigator < \"u\" && (_e = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\nconst Te = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((e, t) => e.concat([\n t,\n `${t}-start`,\n `${t}-end`\n]), []), pe = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\",\n pointer: \"pointerdown\"\n}, ae = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\",\n pointer: \"pointerup\"\n};\nfunction de(e, t) {\n const o = e.indexOf(t);\n o !== -1 && e.splice(o, 1);\n}\nfunction G() {\n return new Promise((e) => requestAnimationFrame(() => {\n requestAnimationFrame(e);\n }));\n}\nconst d = [];\nlet g = null;\nconst le = {};\nfunction he(e) {\n let t = le[e];\n return t || (t = le[e] = []), t;\n}\nlet Y = function() {\n};\ntypeof window < \"u\" && (Y = window.Element);\nfunction n(e) {\n return function(t) {\n return S(t.theme, e);\n };\n}\nconst q = \"__floating-vue__popper\", Q = () => O({\n name: \"VPopper\",\n provide() {\n return {\n [q]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [q]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: !0\n },\n targetNodes: {\n type: Function,\n required: !0\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: !0\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: n(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: n(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: n(\"placement\"),\n validator: (e) => Te.includes(e)\n },\n delay: {\n type: [String, Number, Object],\n default: n(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: n(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: n(\"skidding\")\n },\n triggers: {\n type: Array,\n default: n(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: n(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: n(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: n(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: n(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: n(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Y, Boolean],\n default: n(\"container\")\n },\n boundary: {\n type: [String, Y],\n default: n(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (e) => [\"absolute\", \"fixed\"].includes(e),\n default: n(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: n(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: n(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: n(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: n(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: n(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: n(\"computeTransformOrigin\")\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: n(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: n(\"autoSize\")\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: n(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: n(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: n(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: n(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: n(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: n(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: n(\"flip\")\n },\n shift: {\n type: Boolean,\n default: n(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: n(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: n(\"noAutoFocus\")\n },\n disposeTimeout: {\n type: Number,\n default: n(\"disposeTimeout\")\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n data() {\n return {\n isShown: !1,\n isMounted: !1,\n skipTransition: !1,\n classes: {\n showFrom: !1,\n showTo: !1,\n hideFrom: !1,\n hideTo: !0\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n },\n randomId: `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join(\"_\")}`,\n shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: !0,\n pendingHide: !1,\n containsGlobalTarget: !1,\n isDisposed: !0,\n mouseDownContains: !1\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: typeof this.autoHide == \"function\" ? this.lastAutoHide : this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: {\n ...this.classes,\n popperClass: this.popperClass\n },\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var e;\n return (e = this[q]) == null ? void 0 : e.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var e, t;\n return ((e = this.popperTriggers) == null ? void 0 : e.includes(\"hover\")) || ((t = this.popperShowTriggers) == null ? void 0 : t.includes(\"hover\"));\n }\n },\n watch: {\n shown: \"$_autoShowHide\",\n disabled(e) {\n e ? this.dispose() : this.init();\n },\n async container() {\n this.isShown && (this.$_ensureTeleport(), await this.$_computePosition());\n },\n triggers: {\n handler: \"$_refreshListeners\",\n deep: !0\n },\n positioningDisabled: \"$_refreshListeners\",\n ...[\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((e, t) => (e[t] = \"$_computePosition\", e), {})\n },\n created() {\n this.autoMinSize && console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.'), this.autoMaxSize && console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n },\n mounted() {\n this.init(), this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event: e = null, skipDelay: t = !1, force: o = !1 } = {}) {\n var i, s;\n (i = this.parentPopper) != null && i.lockedChild && this.parentPopper.lockedChild !== this || (this.pendingHide = !1, (o || !this.disabled) && (((s = this.parentPopper) == null ? void 0 : s.lockedChild) === this && (this.parentPopper.lockedChild = null), this.$_scheduleShow(e, t), this.$emit(\"show\"), this.$_showFrameLocked = !0, requestAnimationFrame(() => {\n this.$_showFrameLocked = !1;\n })), this.$emit(\"update:shown\", !0));\n },\n hide({ event: e = null, skipDelay: t = !1 } = {}) {\n var o;\n if (!this.$_hideInProgress) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n this.parentPopper && (this.parentPopper.lockedChild = this, clearTimeout(this.parentPopper.lockedChildTimer), this.parentPopper.lockedChildTimer = setTimeout(() => {\n this.parentPopper.lockedChild === this && (this.parentPopper.lockedChild.hide({ skipDelay: t }), this.parentPopper.lockedChild = null);\n }, 1e3));\n return;\n }\n ((o = this.parentPopper) == null ? void 0 : o.lockedChild) === this && (this.parentPopper.lockedChild = null), this.pendingHide = !1, this.$_scheduleHide(e, t), this.$emit(\"hide\"), this.$emit(\"update:shown\", !1);\n }\n },\n init() {\n var e;\n this.isDisposed && (this.isDisposed = !1, this.isMounted = !1, this.$_events = [], this.$_preventShow = !1, this.$_referenceNode = ((e = this.referenceNode) == null ? void 0 : e.call(this)) ?? this.$el, this.$_targetNodes = this.targetNodes().filter((t) => t.nodeType === t.ELEMENT_NODE), this.$_popperNode = this.popperNode(), this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\"), this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\"), this.$_swapTargetAttrs(\"title\", \"data-original-title\"), this.$_detachPopperNode(), this.triggers.length && this.$_addEventListeners(), this.shown && this.show());\n },\n dispose() {\n this.isDisposed || (this.isDisposed = !0, this.$_removeEventListeners(), this.hide({ skipDelay: !0 }), this.$_detachPopperNode(), this.isMounted = !1, this.isShown = !1, this.$_updateParentShownChildren(!1), this.$_swapTargetAttrs(\"data-original-title\", \"title\"));\n },\n async onResize() {\n this.isShown && (await this.$_computePosition(), this.$emit(\"resize\"));\n },\n async $_computePosition() {\n if (this.isDisposed || this.positioningDisabled)\n return;\n const e = {\n strategy: this.strategy,\n middleware: []\n };\n (this.distance || this.skidding) && e.middleware.push(xe({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n const t = this.placement.startsWith(\"auto\");\n if (t ? e.middleware.push(Ue({\n alignment: this.placement.split(\"-\")[1] ?? \"\"\n })) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(Ye({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n })), !t && this.flip && e.middleware.push(Xe({\n padding: this.overflowPadding,\n boundary: this.boundary\n }))), e.middleware.push(Ke({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n })), this.arrowOverflow && e.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement: i, rects: s, middlewareData: r }) => {\n let p;\n const { centerOffset: a } = r.arrow;\n return i.startsWith(\"top\") || i.startsWith(\"bottom\") ? p = Math.abs(a) > s.reference.width / 2 : p = Math.abs(a) > s.reference.height / 2, {\n data: {\n overflow: p\n }\n };\n }\n }), this.autoMinSize || this.autoSize) {\n const i = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n e.middleware.push({\n name: \"autoSize\",\n fn: ({ rects: s, placement: r, middlewareData: p }) => {\n var u;\n if ((u = p.autoSize) != null && u.skip)\n return {};\n let a, l;\n return r.startsWith(\"top\") || r.startsWith(\"bottom\") ? a = s.reference.width : l = s.reference.height, this.$_innerNode.style[i === \"min\" ? \"minWidth\" : i === \"max\" ? \"maxWidth\" : \"width\"] = a != null ? `${a}px` : null, this.$_innerNode.style[i === \"min\" ? \"minHeight\" : i === \"max\" ? \"maxHeight\" : \"height\"] = l != null ? `${l}px` : null, {\n data: {\n skip: !0\n },\n reset: {\n rects: !0\n }\n };\n }\n });\n }\n (this.autoMaxSize || this.autoBoundaryMaxSize) && (this.$_innerNode.style.maxWidth = null, this.$_innerNode.style.maxHeight = null, e.middleware.push(Je({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ availableWidth: i, availableHeight: s }) => {\n this.$_innerNode.style.maxWidth = i != null ? `${i}px` : null, this.$_innerNode.style.maxHeight = s != null ? `${s}px` : null;\n }\n })));\n const o = await Qe(this.$_referenceNode, this.$_popperNode, e);\n Object.assign(this.result, {\n x: o.x,\n y: o.y,\n placement: o.placement,\n strategy: o.strategy,\n arrow: {\n ...o.middlewareData.arrow,\n ...o.middlewareData.arrowOverflow\n }\n });\n },\n $_scheduleShow(e, t = !1) {\n if (this.$_updateParentShownChildren(!0), this.$_hideInProgress = !1, clearTimeout(this.$_scheduleTimer), g && this.instantMove && g.instantMove && g !== this.parentPopper) {\n g.$_applyHide(!0), this.$_applyShow(!0);\n return;\n }\n t ? this.$_applyShow() : this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n },\n $_scheduleHide(e, t = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0;\n return;\n }\n this.$_updateParentShownChildren(!1), this.$_hideInProgress = !0, clearTimeout(this.$_scheduleTimer), this.isShown && (g = this), t ? this.$_applyHide() : this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n },\n $_computeDelay(e) {\n const t = this.delay;\n return parseInt(t && t[e] || t || 0);\n },\n async $_applyShow(e = !1) {\n clearTimeout(this.$_disposeTimer), clearTimeout(this.$_scheduleTimer), this.skipTransition = e, !this.isShown && (this.$_ensureTeleport(), await G(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([\n ...ne(this.$_referenceNode),\n ...ne(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n }));\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const t = this.$_referenceNode.getBoundingClientRect(), o = this.$_popperNode.querySelector(\".v-popper__wrapper\"), i = o.parentNode.getBoundingClientRect(), s = t.x + t.width / 2 - (i.left + o.offsetLeft), r = t.y + t.height / 2 - (i.top + o.offsetTop);\n this.result.transformOrigin = `${s}px ${r}px`;\n }\n this.isShown = !0, this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const e = this.showGroup;\n if (e) {\n let t;\n for (let o = 0; o < d.length; o++)\n t = d[o], t.showGroup !== e && (t.hide(), t.$emit(\"close-group\"));\n }\n d.push(this), document.body.classList.add(\"v-popper--some-open\");\n for (const t of re(this.theme))\n he(t).push(this), document.body.classList.add(`v-popper--some-open--${t}`);\n this.$emit(\"apply-show\"), this.classes.showFrom = !0, this.classes.showTo = !1, this.classes.hideFrom = !1, this.classes.hideTo = !1, await G(), this.classes.showFrom = !1, this.classes.showTo = !0, this.noAutoFocus || this.$_popperNode.focus();\n },\n async $_applyHide(e = !1) {\n if (this.shownChildren.size > 0) {\n this.pendingHide = !0, this.$_hideInProgress = !1;\n return;\n }\n if (clearTimeout(this.$_scheduleTimer), !this.isShown)\n return;\n this.skipTransition = e, de(d, this), d.length === 0 && document.body.classList.remove(\"v-popper--some-open\");\n for (const o of re(this.theme)) {\n const i = he(o);\n de(i, this), i.length === 0 && document.body.classList.remove(`v-popper--some-open--${o}`);\n }\n g === this && (g = null), this.isShown = !1, this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n }), clearTimeout(this.$_disposeTimer);\n const t = this.disposeTimeout;\n t !== null && (this.$_disposeTimer = setTimeout(() => {\n this.$_popperNode && (this.$_detachPopperNode(), this.isMounted = !1);\n }, t)), this.$_removeEventListeners(\"scroll\"), this.$emit(\"apply-hide\"), this.classes.showFrom = !1, this.classes.showTo = !1, this.classes.hideFrom = !0, this.classes.hideTo = !1, await G(), this.classes.hideFrom = !1, this.classes.hideTo = !0;\n },\n $_autoShowHide() {\n this.shown ? this.show() : this.hide();\n },\n $_ensureTeleport() {\n if (this.isDisposed)\n return;\n let e = this.container;\n if (typeof e == \"string\" ? e = window.document.querySelector(e) : e === !1 && (e = this.$_targetNodes[0].parentNode), !e)\n throw new Error(\"No container for popover: \" + this.container);\n e.appendChild(this.$_popperNode), this.isMounted = !0;\n },\n $_addEventListeners() {\n const e = (o) => {\n this.isShown && !this.$_hideInProgress || (o.usedByTooltip = !0, !this.$_preventShow && this.show({ event: o }));\n };\n this.$_registerTriggerListeners(this.$_targetNodes, pe, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], pe, this.popperTriggers, this.popperShowTriggers, e);\n const t = (o) => {\n o.usedByTooltip || this.hide({ event: o });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, ae, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], ae, this.popperTriggers, this.popperHideTriggers, t);\n },\n $_registerEventListeners(e, t, o) {\n this.$_events.push({ targetNodes: e, eventType: t, handler: o }), e.forEach((i) => i.addEventListener(t, o, $ ? {\n passive: !0\n } : void 0));\n },\n $_registerTriggerListeners(e, t, o, i, s) {\n let r = o;\n i != null && (r = typeof i == \"function\" ? i(r) : i), r.forEach((p) => {\n const a = t[p];\n a && this.$_registerEventListeners(e, a, s);\n });\n },\n $_removeEventListeners(e) {\n const t = [];\n this.$_events.forEach((o) => {\n const { targetNodes: i, eventType: s, handler: r } = o;\n !e || e === s ? i.forEach((p) => p.removeEventListener(s, r)) : t.push(o);\n }), this.$_events = t;\n },\n $_refreshListeners() {\n this.isDisposed || (this.$_removeEventListeners(), this.$_addEventListeners());\n },\n $_handleGlobalClose(e, t = !1) {\n this.$_showFrameLocked || (this.hide({ event: e }), e.closePopover ? this.$emit(\"close-directive\") : this.$emit(\"auto-hide\"), t && (this.$_preventShow = !0, setTimeout(() => {\n this.$_preventShow = !1;\n }, 300)));\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(e, t) {\n for (const o of this.$_targetNodes) {\n const i = o.getAttribute(e);\n i && (o.removeAttribute(e), o.setAttribute(t, i));\n }\n },\n $_applyAttrsToTarget(e) {\n for (const t of this.$_targetNodes)\n for (const o in e) {\n const i = e[o];\n i == null ? t.removeAttribute(o) : t.setAttribute(o, i);\n }\n },\n $_updateParentShownChildren(e) {\n let t = this.parentPopper;\n for (; t; )\n e ? t.shownChildren.add(this.randomId) : (t.shownChildren.delete(this.randomId), t.pendingHide && t.hide()), t = t.parentPopper;\n },\n $_isAimingPopper() {\n const e = this.$_referenceNode.getBoundingClientRect();\n if (y >= e.left && y <= e.right && _ >= e.top && _ <= e.bottom) {\n const t = this.$_popperNode.getBoundingClientRect(), o = y - c, i = _ - m, r = t.left + t.width / 2 - c + (t.top + t.height / 2) - m + t.width + t.height, p = c + o * r, a = m + i * r;\n return C(c, m, p, a, t.left, t.top, t.left, t.bottom) || // Left edge\n C(c, m, p, a, t.left, t.top, t.right, t.top) || // Top edge\n C(c, m, p, a, t.right, t.top, t.right, t.bottom) || // Right edge\n C(c, m, p, a, t.left, t.bottom, t.right, t.bottom);\n }\n return !1;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document < \"u\" && typeof window < \"u\") {\n if (_e) {\n const e = $ ? {\n passive: !0,\n capture: !0\n } : !0;\n document.addEventListener(\"touchstart\", (t) => ue(t, !0), e), document.addEventListener(\"touchend\", (t) => fe(t, !0), e);\n } else\n window.addEventListener(\"mousedown\", (e) => ue(e, !1), !0), window.addEventListener(\"click\", (e) => fe(e, !1), !0);\n window.addEventListener(\"resize\", tt);\n}\nfunction ue(e, t) {\n if (h.autoHideOnMousedown)\n Pe(e, t);\n else\n for (let o = 0; o < d.length; o++) {\n const i = d[o];\n try {\n i.mouseDownContains = i.popperNode().contains(e.target);\n } catch {\n }\n }\n}\nfunction fe(e, t) {\n h.autoHideOnMousedown || Pe(e, t);\n}\nfunction Pe(e, t) {\n const o = {};\n for (let i = d.length - 1; i >= 0; i--) {\n const s = d[i];\n try {\n const r = s.containsGlobalTarget = s.mouseDownContains || s.popperNode().contains(e.target);\n s.pendingHide = !1, requestAnimationFrame(() => {\n if (s.pendingHide = !1, !o[s.randomId] && ce(s, r, e)) {\n if (s.$_handleGlobalClose(e, t), !e.closeAllPopover && e.closePopover && r) {\n let a = s.parentPopper;\n for (; a; )\n o[a.randomId] = !0, a = a.parentPopper;\n return;\n }\n let p = s.parentPopper;\n for (; p && ce(p, p.containsGlobalTarget, e); ) {\n p.$_handleGlobalClose(e, t);\n p = p.parentPopper;\n }\n }\n });\n } catch {\n }\n }\n}\nfunction ce(e, t, o) {\n return o.closeAllPopover || o.closePopover && t || et(e, o) && !t;\n}\nfunction et(e, t) {\n if (typeof e.autoHide == \"function\") {\n const o = e.autoHide(t);\n return e.lastAutoHide = o, o;\n }\n return e.autoHide;\n}\nfunction tt() {\n for (let e = 0; e < d.length; e++)\n d[e].$_computePosition();\n}\nfunction Nt() {\n for (let e = 0; e < d.length; e++)\n d[e].hide();\n}\nlet c = 0, m = 0, y = 0, _ = 0;\ntypeof window < \"u\" && window.addEventListener(\"mousemove\", (e) => {\n c = y, m = _, y = e.clientX, _ = e.clientY;\n}, $ ? {\n passive: !0\n} : void 0);\nfunction C(e, t, o, i, s, r, p, a) {\n const l = ((p - s) * (t - r) - (a - r) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t)), u = ((o - e) * (t - r) - (i - t) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t));\n return l >= 0 && l <= 1 && u >= 0 && u <= 1;\n}\nconst ot = {\n extends: Q()\n}, B = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [i, s] of t)\n o[i] = s;\n return o;\n};\nfunction it(e, t, o, i, s, r) {\n return f(), T(\"div\", {\n ref: \"reference\",\n class: J([\"v-popper\", {\n \"v-popper--shown\": e.slotData.isShown\n }])\n }, [\n A(e.$slots, \"default\", ke(Le(e.slotData)))\n ], 2);\n}\nconst st = /* @__PURE__ */ B(ot, [[\"render\", it]]);\nfunction nt() {\n var e = window.navigator.userAgent, t = e.indexOf(\"MSIE \");\n if (t > 0)\n return parseInt(e.substring(t + 5, e.indexOf(\".\", t)), 10);\n var o = e.indexOf(\"Trident/\");\n if (o > 0) {\n var i = e.indexOf(\"rv:\");\n return parseInt(e.substring(i + 3, e.indexOf(\".\", i)), 10);\n }\n var s = e.indexOf(\"Edge/\");\n return s > 0 ? parseInt(e.substring(s + 5, e.indexOf(\".\", s)), 10) : -1;\n}\nlet z;\nfunction X() {\n X.init || (X.init = !0, z = nt() !== -1);\n}\nvar E = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: !1\n },\n ignoreWidth: {\n type: Boolean,\n default: !1\n },\n ignoreHeight: {\n type: Boolean,\n default: !1\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n X(), Fe(() => {\n this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitOnMount && this.emitSize();\n });\n const e = document.createElement(\"object\");\n this._resizeObject = e, e.setAttribute(\"aria-hidden\", \"true\"), e.setAttribute(\"tabindex\", -1), e.onload = this.addResizeHandlers, e.type = \"text/html\", z && this.$el.appendChild(e), e.data = \"about:blank\", z || this.$el.appendChild(e);\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) && (this._w = this.$el.offsetWidth, this._h = this.$el.offsetHeight, this.emitSize());\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify), this.compareAndNotify();\n },\n removeResizeHandlers() {\n this._resizeObject && this._resizeObject.onload && (!z && this._resizeObject.contentDocument && this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify), this.$el.removeChild(this._resizeObject), this._resizeObject.onload = null, this._resizeObject = null);\n }\n }\n};\nconst rt = /* @__PURE__ */ Re(\"data-v-b329ee4c\");\nDe(\"data-v-b329ee4c\");\nconst pt = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\nIe();\nconst at = /* @__PURE__ */ rt((e, t, o, i, s, r) => (f(), M(\"div\", pt)));\nE.render = at;\nE.__scopeId = \"data-v-b329ee4c\";\nE.__file = \"src/components/ResizeObserver.vue\";\nconst Z = (e = \"theme\") => ({\n computed: {\n themeClass() {\n return Ze(this[e]);\n }\n }\n}), dt = O({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: E\n },\n mixins: [\n Z()\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(e) {\n return e != null && !isNaN(e) ? `${e}px` : null;\n }\n }\n}), lt = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"], ht = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n}, ut = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1), ft = /* @__PURE__ */ w(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1), ct = [\n ut,\n ft\n];\nfunction mt(e, t, o, i, s, r) {\n const p = P(\"ResizeObserver\");\n return f(), T(\"div\", {\n id: e.popperId,\n ref: \"popover\",\n class: J([\"v-popper__popper\", [\n e.themeClass,\n e.classes.popperClass,\n {\n \"v-popper__popper--shown\": e.shown,\n \"v-popper__popper--hidden\": !e.shown,\n \"v-popper__popper--show-from\": e.classes.showFrom,\n \"v-popper__popper--show-to\": e.classes.showTo,\n \"v-popper__popper--hide-from\": e.classes.hideFrom,\n \"v-popper__popper--hide-to\": e.classes.hideTo,\n \"v-popper__popper--skip-transition\": e.skipTransition,\n \"v-popper__popper--arrow-overflow\": e.result && e.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !e.result\n }\n ]]),\n style: W(e.result ? {\n position: e.result.strategy,\n transform: `translate3d(${Math.round(e.result.x)}px,${Math.round(e.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": e.shown ? \"false\" : \"true\",\n tabindex: e.autoHide ? 0 : void 0,\n \"data-popper-placement\": e.result ? e.result.placement : void 0,\n onKeyup: t[2] || (t[2] = je((a) => e.autoHide && e.$emit(\"hide\"), [\"esc\"]))\n }, [\n w(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: t[0] || (t[0] = (a) => e.autoHide && e.$emit(\"hide\"))\n }),\n w(\"div\", {\n class: \"v-popper__wrapper\",\n style: W(e.result ? {\n transformOrigin: e.result.transformOrigin\n } : void 0)\n }, [\n w(\"div\", ht, [\n e.mounted ? (f(), T(Ve, { key: 0 }, [\n w(\"div\", null, [\n A(e.$slots, \"default\")\n ]),\n e.handleResize ? (f(), M(p, {\n key: 0,\n onNotify: t[1] || (t[1] = (a) => e.$emit(\"resize\", a))\n })) : se(\"\", !0)\n ], 64)) : se(\"\", !0)\n ], 512),\n w(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: W(e.result ? {\n left: e.toPx(e.result.arrow.x),\n top: e.toPx(e.result.arrow.y)\n } : void 0)\n }, ct, 4)\n ], 4)\n ], 46, lt);\n}\nconst ee = /* @__PURE__ */ B(dt, [[\"render\", mt]]), te = {\n methods: {\n show(...e) {\n return this.$refs.popper.show(...e);\n },\n hide(...e) {\n return this.$refs.popper.hide(...e);\n },\n dispose(...e) {\n return this.$refs.popper.dispose(...e);\n },\n onResize(...e) {\n return this.$refs.popper.onResize(...e);\n }\n }\n};\nlet K = function() {\n};\ntypeof window < \"u\" && (K = window.Element);\nconst gt = O({\n name: \"VPopperWrapper\",\n components: {\n Popper: st,\n PopperContent: ee\n },\n mixins: [\n te,\n Z(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n },\n referenceNode: {\n type: Function,\n default: null\n },\n shown: {\n type: Boolean,\n default: !1\n },\n showGroup: {\n type: String,\n default: null\n },\n // eslint-disable-next-line vue/require-prop-types\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: void 0\n },\n positioningDisabled: {\n type: Boolean,\n default: void 0\n },\n placement: {\n type: String,\n default: void 0\n },\n delay: {\n type: [String, Number, Object],\n default: void 0\n },\n distance: {\n type: [Number, String],\n default: void 0\n },\n skidding: {\n type: [Number, String],\n default: void 0\n },\n triggers: {\n type: Array,\n default: void 0\n },\n showTriggers: {\n type: [Array, Function],\n default: void 0\n },\n hideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperTriggers: {\n type: Array,\n default: void 0\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: void 0\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: void 0\n },\n container: {\n type: [String, Object, K, Boolean],\n default: void 0\n },\n boundary: {\n type: [String, K],\n default: void 0\n },\n strategy: {\n type: String,\n default: void 0\n },\n autoHide: {\n type: [Boolean, Function],\n default: void 0\n },\n handleResize: {\n type: Boolean,\n default: void 0\n },\n instantMove: {\n type: Boolean,\n default: void 0\n },\n eagerMount: {\n type: Boolean,\n default: void 0\n },\n popperClass: {\n type: [String, Array, Object],\n default: void 0\n },\n computeTransformOrigin: {\n type: Boolean,\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMinSize: {\n type: Boolean,\n default: void 0\n },\n autoSize: {\n type: [Boolean, String],\n default: void 0\n },\n /**\n * @deprecated\n */\n autoMaxSize: {\n type: Boolean,\n default: void 0\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: void 0\n },\n preventOverflow: {\n type: Boolean,\n default: void 0\n },\n overflowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowPadding: {\n type: [Number, String],\n default: void 0\n },\n arrowOverflow: {\n type: Boolean,\n default: void 0\n },\n flip: {\n type: Boolean,\n default: void 0\n },\n shift: {\n type: Boolean,\n default: void 0\n },\n shiftCrossAxis: {\n type: Boolean,\n default: void 0\n },\n noAutoFocus: {\n type: Boolean,\n default: void 0\n },\n disposeTimeout: {\n type: Number,\n default: void 0\n }\n },\n emits: {\n show: () => !0,\n hide: () => !0,\n \"update:shown\": (e) => !0,\n \"apply-show\": () => !0,\n \"apply-hide\": () => !0,\n \"close-group\": () => !0,\n \"close-directive\": () => !0,\n \"auto-hide\": () => !0,\n resize: () => !0\n },\n computed: {\n finalTheme() {\n return this.theme ?? this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((e) => e !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction wt(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$props, {\n theme: e.finalTheme,\n \"target-nodes\": e.getTargetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n class: [\n e.themeClass\n ],\n onShow: t[0] || (t[0] = () => e.$emit(\"show\")),\n onHide: t[1] || (t[1] = () => e.$emit(\"hide\")),\n \"onUpdate:shown\": t[2] || (t[2] = (l) => e.$emit(\"update:shown\", l)),\n onApplyShow: t[3] || (t[3] = () => e.$emit(\"apply-show\")),\n onApplyHide: t[4] || (t[4] = () => e.$emit(\"apply-hide\")),\n onCloseGroup: t[5] || (t[5] = () => e.$emit(\"close-group\")),\n onCloseDirective: t[6] || (t[6] = () => e.$emit(\"close-directive\")),\n onAutoHide: t[7] || (t[7] = () => e.$emit(\"auto-hide\")),\n onResize: t[8] || (t[8] = () => e.$emit(\"resize\"))\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n show: F,\n hide: v,\n handleResize: R,\n onResize: j,\n classes: V,\n result: Ee\n }) => [\n A(e.$slots, \"default\", {\n shown: u,\n show: F,\n hide: v\n }),\n ve(p, {\n ref: \"popperContent\",\n \"popper-id\": l,\n theme: e.finalTheme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": R,\n classes: V,\n result: Ee,\n onHide: v,\n onResize: j\n }, {\n default: N(() => [\n A(e.$slots, \"popper\", {\n shown: u,\n hide: v\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nconst k = /* @__PURE__ */ B(gt, [[\"render\", wt]]), Se = {\n ...k,\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}, be = {\n ...k,\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}, Ce = {\n ...k,\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}, $t = O({\n name: \"VTooltipDirective\",\n components: {\n Popper: Q(),\n PopperContent: ee\n },\n mixins: [\n te\n ],\n inheritAttrs: !1,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (e) => S(e.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (e) => S(e.theme, \"loadingContent\")\n },\n targetNodes: {\n type: Function,\n required: !0\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content == \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n return this.isContentAsync ? this.loading ? this.loadingContent : this.asyncContent : this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(!0);\n },\n immediate: !0\n },\n async finalContent() {\n await this.$nextTick(), this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(e) {\n if (typeof this.content == \"function\" && this.$_isShown && (e || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null, this.$_loading = !0;\n const t = ++this.$_fetchId, o = this.content(this);\n o.then ? o.then((i) => this.onResult(t, i)) : this.onResult(t, o);\n }\n },\n onResult(e, t) {\n e === this.$_fetchId && (this.$_loading = !1, this.asyncContent = t);\n },\n onShow() {\n this.$_isShown = !0, this.fetchContent();\n },\n onHide() {\n this.$_isShown = !1;\n }\n }\n}), vt = [\"innerHTML\"], yt = [\"textContent\"];\nfunction _t(e, t, o, i, s, r) {\n const p = P(\"PopperContent\"), a = P(\"Popper\");\n return f(), M(a, $e({ ref: \"popper\" }, e.$attrs, {\n theme: e.theme,\n \"target-nodes\": e.targetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n onApplyShow: e.onShow,\n onApplyHide: e.onHide\n }), {\n default: N(({\n popperId: l,\n isShown: u,\n shouldMountContent: L,\n skipTransition: D,\n autoHide: I,\n hide: F,\n handleResize: v,\n onResize: R,\n classes: j,\n result: V\n }) => [\n ve(p, {\n ref: \"popperContent\",\n class: J({\n \"v-popper--tooltip-loading\": e.loading\n }),\n \"popper-id\": l,\n theme: e.theme,\n shown: u,\n mounted: L,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": v,\n classes: j,\n result: V,\n onHide: F,\n onResize: R\n }, {\n default: N(() => [\n e.html ? (f(), T(\"div\", {\n key: 0,\n innerHTML: e.finalContent\n }, null, 8, vt)) : (f(), T(\"div\", {\n key: 1,\n textContent: We(e.finalContent)\n }, null, 8, yt))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"target-nodes\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nconst ze = /* @__PURE__ */ B($t, [[\"render\", _t]]), Ae = \"v-popper--has-tooltip\";\nfunction Tt(e, t) {\n let o = e.placement;\n if (!o && t)\n for (const i of Te)\n t[i] && (o = i);\n return o || (o = S(e.theme || \"tooltip\", \"placement\")), o;\n}\nfunction Ne(e, t, o) {\n let i;\n const s = typeof t;\n return s === \"string\" ? i = { content: t } : t && s === \"object\" ? i = t : i = { content: !1 }, i.placement = Tt(i, o), i.targetNodes = () => [e], i.referenceNode = () => e, i;\n}\nlet x, b, Pt = 0;\nfunction St() {\n if (x)\n return;\n b = U([]), x = Ge({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives: b\n };\n },\n render() {\n return this.directives.map((t) => qe(ze, {\n ...t.options,\n shown: t.shown || t.options.shown,\n key: t.id\n }));\n },\n devtools: {\n hide: !0\n }\n });\n const e = document.createElement(\"div\");\n document.body.appendChild(e), x.mount(e);\n}\nfunction bt(e, t, o) {\n St();\n const i = U(Ne(e, t, o)), s = U(!1), r = {\n id: Pt++,\n options: i,\n shown: s\n };\n return b.value.push(r), e.classList && e.classList.add(Ae), e.$_popper = {\n options: i,\n item: r,\n show() {\n s.value = !0;\n },\n hide() {\n s.value = !1;\n }\n };\n}\nfunction He(e) {\n if (e.$_popper) {\n const t = b.value.indexOf(e.$_popper.item);\n t !== -1 && b.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget;\n }\n e.classList && e.classList.remove(Ae);\n}\nfunction me(e, { value: t, modifiers: o }) {\n const i = Ne(e, t, o);\n if (!i.content || S(i.theme || \"tooltip\", \"disabled\"))\n He(e);\n else {\n let s;\n e.$_popper ? (s = e.$_popper, s.options.value = i) : s = bt(e, t, o), typeof t.shown < \"u\" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? s.show() : s.hide());\n }\n}\nconst oe = {\n beforeMount: me,\n updated: me,\n beforeUnmount(e) {\n He(e);\n }\n};\nfunction ge(e) {\n e.addEventListener(\"mousedown\", H), e.addEventListener(\"click\", H), e.addEventListener(\"touchstart\", Oe, $ ? {\n passive: !0\n } : !1);\n}\nfunction we(e) {\n e.removeEventListener(\"mousedown\", H), e.removeEventListener(\"click\", H), e.removeEventListener(\"touchstart\", Oe), e.removeEventListener(\"touchend\", Me), e.removeEventListener(\"touchcancel\", Be);\n}\nfunction H(e) {\n const t = e.currentTarget;\n e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n}\nfunction Oe(e) {\n if (e.changedTouches.length === 1) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !0;\n const o = e.changedTouches[0];\n t.$_vclosepopover_touchPoint = o, t.addEventListener(\"touchend\", Me), t.addEventListener(\"touchcancel\", Be);\n }\n}\nfunction Me(e) {\n const t = e.currentTarget;\n if (t.$_vclosepopover_touch = !1, e.changedTouches.length === 1) {\n const o = e.changedTouches[0], i = t.$_vclosepopover_touchPoint;\n e.closePopover = Math.abs(o.screenY - i.screenY) < 20 && Math.abs(o.screenX - i.screenX) < 20, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n }\n}\nfunction Be(e) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !1;\n}\nconst ie = {\n beforeMount(e, { value: t, modifiers: o }) {\n e.$_closePopoverModifiers = o, (typeof t > \"u\" || t) && ge(e);\n },\n updated(e, { value: t, oldValue: o, modifiers: i }) {\n e.$_closePopoverModifiers = i, t !== o && (typeof t > \"u\" || t ? ge(e) : we(e));\n },\n beforeUnmount(e) {\n we(e);\n }\n}, Ht = h, Ot = oe, Mt = oe, Bt = ie, Et = ie, kt = Se, Lt = be, Dt = Q, It = ee, Ft = te, Rt = k, jt = Z, Vt = Ce, Wt = ze;\nfunction Ct(e, t = {}) {\n e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, ye(h, t), e.directive(\"tooltip\", oe), e.directive(\"close-popper\", ie), e.component(\"VTooltip\", Ce), e.component(\"VDropdown\", Se), e.component(\"VMenu\", be));\n}\nconst Gt = {\n // eslint-disable-next-line no-undef\n version: \"5.2.2\",\n install: Ct,\n options: h\n};\nexport {\n kt as Dropdown,\n ae as HIDE_EVENT_MAP,\n Lt as Menu,\n Dt as Popper,\n It as PopperContent,\n Ft as PopperMethods,\n Rt as PopperWrapper,\n pe as SHOW_EVENT_MAP,\n jt as ThemeClass,\n Vt as Tooltip,\n Wt as TooltipDirective,\n Bt as VClosePopper,\n Ot as VTooltip,\n bt as createTooltip,\n Gt as default,\n He as destroyTooltip,\n Nt as hideAllPoppers,\n Ct as install,\n Ht as options,\n Te as placements,\n tt as recomputeAllPoppers,\n Et as vClosePopper,\n Mt as vTooltip\n};\n","import type { InjectionKey } from \"vue\";\n\nexport const DropdownContextInjectionKey: InjectionKey<{\n hide: () => void;\n}> = Symbol(\"dropdown-context\");\n","<script lang=\"ts\" setup>\nimport {\n Dropdown as FloatingDropdown,\n type Placement,\n type TriggerEvent,\n} from \"floating-vue\";\nimport \"floating-vue/dist/style.css\";\nimport { provide, ref } from \"vue\";\nimport { DropdownContextInjectionKey } from \"./symbols\";\n\nwithDefaults(\n defineProps<{\n placement?: Placement;\n triggers?: TriggerEvent[];\n classes?: string[];\n }>(),\n {\n placement: \"bottom\",\n triggers: () => [\"click\"],\n classes: () => [],\n }\n);\n\nconst dropdownRef = ref();\n\nfunction hide() {\n dropdownRef.value?.hide();\n}\n\nprovide(DropdownContextInjectionKey, {\n hide,\n});\n\nconst emit = defineEmits<{\n (event: \"show\"): void;\n}>();\n\ndefineExpose({\n hide,\n});\n</script>\n\n<template>\n <!-- @vue-skip -->\n <FloatingDropdown\n ref=\"dropdownRef\"\n :placement=\"placement\"\n :triggers=\"triggers\"\n :dispose-timeout=\"null\"\n @show=\"emit('show')\"\n >\n <slot />\n <template #popper>\n <div\n class=\"min-w-[13rem] p-1.5\"\n :class=\"classes\"\n role=\"menu\"\n aria-orientation=\"vertical\"\n aria-labelledby=\"menu-button\"\n tabindex=\"-1\"\n >\n <slot name=\"popper\" />\n </div>\n </template>\n </FloatingDropdown>\n</template>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <div class=\"my-1 h-[1px] w-full bg-gray-100\"></div>\n</template>\n","<script lang=\"ts\" setup>\nimport { inject } from \"vue\";\nimport { DropdownContextInjectionKey } from \"./symbols\";\n\nconst props = withDefaults(\n defineProps<{\n selected?: boolean;\n disabled?: boolean;\n type?: \"default\" | \"danger\";\n }>(),\n {\n selected: false,\n disabled: false,\n type: \"default\",\n }\n);\n\nconst emit = defineEmits<{\n (event: \"click\", e: MouseEvent): void;\n}>();\n\nconst { hide } = inject(DropdownContextInjectionKey) || {};\n\nfunction onClick(e: MouseEvent) {\n if (props.disabled) {\n return;\n }\n\n hide?.();\n emit(\"click\", e);\n}\n</script>\n\n<template>\n <div\n class=\"dropdown-item-wrapper\"\n :class=\"[\n `dropdown-item-wrapper--${type}${selected ? '--selected' : ''}`,\n { 'dropdown-item-wrapper--disabled': disabled },\n ]\"\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"onClick\"\n >\n <div class=\"flex items-center gap-3\">\n <slot name=\"prefix-icon\" />\n\n <slot />\n </div>\n\n <slot name=\"suffix-icon\"></slot>\n </div>\n</template>\n\n<style lang=\"scss\">\n.dropdown-item-wrapper {\n @apply flex w-full cursor-pointer justify-between items-center gap-1 rounded px-4 py-2 text-sm;\n\n &--default {\n @apply text-gray-700 hover:bg-gray-100 hover:text-gray-900;\n\n &--selected {\n @apply bg-gray-100 text-gray-900;\n }\n }\n\n &--danger {\n @apply text-red-500 hover:bg-red-50 hover:text-red-700;\n\n &--selected {\n @apply bg-red-50 text-red-700;\n }\n }\n\n &--disabled {\n @apply opacity-70 cursor-not-allowed;\n }\n}\n</style>\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20558.095%20475.798'%3e%3cg%3e%3cpath%20d='M555.536,328.049c-15.243-76.866-104.547-138.3-121.965-218.4C401.914,7.74,297.57-8.372,229.765,35.887c-107.437,70.129,7.176,87.532-203.473,253.453-52.014,40.969-35.44,221.817,128.193,180.313,88.06-22.336,114.83-25.47,154.44-29.148C408.763,431.236,581.123,457.079,555.536,328.049Z'%20fill='%23367cff'%20opacity='0.1'%3e%3c/path%3e%3cg%3e%3cg%3e%3cpolygon%20points='436.267%20347.314%20281.957%20428.813%20127.88%20347.314%20127.88%20224.244%20436.267%20224.244%20436.267%20347.314'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M281.957,430.063a1.237,1.237,0,0,1-.585-.146L127.3,348.418a1.249,1.249,0,0,1-.666-1.1V224.244a1.25,1.25,0,0,1,1.25-1.25H436.267a1.25,1.25,0,0,1,1.25,1.25v123.07a1.249,1.249,0,0,1-.666,1.1l-154.31,81.5A1.244,1.244,0,0,1,281.957,430.063Zm-152.827-83.5L281.957,427.4l153.06-80.839V225.494H129.13Zm307.137.753h0Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='436.267%20197.835%20281.957%20116.336%20351.298%2082.913%20505.608%20164.413%20436.267%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M436.267,199.085a1.255,1.255,0,0,1-.584-.144l-154.31-81.5a1.251,1.251,0,0,1,.041-2.232l69.341-33.423a1.244,1.244,0,0,1,1.127.021l154.31,81.5a1.25,1.25,0,0,1-.041,2.231L436.81,198.961A1.246,1.246,0,0,1,436.267,199.085Zm-151.537-82.7,151.563,80.048,66.542-32.073L351.272,84.314Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='127.88%20197.835%20282.19%20116.336%20212.849%2082.913%2058.539%20164.413%20127.88%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M127.88,199.085a1.249,1.249,0,0,1-.543-.124L58,165.538a1.25,1.25,0,0,1-.041-2.231l154.31-81.5a1.244,1.244,0,0,1,1.127-.021l69.341,33.423a1.251,1.251,0,0,1,.041,2.232l-154.31,81.5A1.252,1.252,0,0,1,127.88,199.085ZM61.312,164.362l66.542,32.073,151.563-80.048L212.875,84.314Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='127.88%20197.835%20282.19%20279.335%20202.849%20322.757%2048.539%20241.258%20127.88%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M202.849,324.007a1.244,1.244,0,0,1-.584-.145l-154.31-81.5a1.25,1.25,0,0,1-.016-2.2l79.341-43.423a1.246,1.246,0,0,1,1.184-.008l154.31,81.5a1.25,1.25,0,0,1,.016,2.2l-79.341,43.423A1.251,1.251,0,0,1,202.849,324.007ZM51.179,241.238l151.659,80.1,76.713-41.984-151.66-80.1Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cg%3e%3cpolygon%20points='436.267%20197.835%20281.957%20279.335%20361.298%20322.757%20515.608%20241.258%20436.267%20197.835'%20fill='%23fff'%3e%3c/polygon%3e%3cpath%20d='M361.3,324.007a1.254,1.254,0,0,1-.6-.153l-79.341-43.423a1.25,1.25,0,0,1,.016-2.2l154.31-81.5a1.246,1.246,0,0,1,1.184.008l79.341,43.423a1.25,1.25,0,0,1-.016,2.2l-154.31,81.5A1.244,1.244,0,0,1,361.3,324.007Zm-76.7-44.653,76.712,41.984,151.66-80.1-76.713-41.984Z'%20fill='%23262626'%3e%3c/path%3e%3c/g%3e%3cpolygon%20points='282.19%20116.336%20127.88%20197.835%20281.957%20279.335%20436.267%20197.835%20282.19%20116.336'%20fill='%23262626'%3e%3c/polygon%3e%3crect%20x='280.707'%20y='279.334'%20width='2.5'%20height='149.479'%20fill='%23262626'%3e%3c/rect%3e%3c/g%3e%3cg%3e%3cpath%20d='M195.5,190.436a.99.99,0,0,1-.577-.185,1,1,0,0,1-.238-1.394c.185-.261,18.258-26.389-1.918-50.209a38.006,38.006,0,0,0-29.095-13.516H163.4c1.916,6.656,1.574,12.574-1.139,17.114a12.645,12.645,0,0,1-11.68,6.42,10.041,10.041,0,0,1-8.679-6.752c-2.219-5.788.1-11.4,6.212-15.017a29.5,29.5,0,0,1,12.589-3.621,53.3,53.3,0,0,0-5.566-10.821c-7.285-11.126-20.562-18.828-36.428-21.131-13.446-1.951-26.332.347-32.833,5.853a1,1,0,0,1-1.292-1.527c6.918-5.859,20.425-8.336,34.412-6.3,16.433,2.386,30.215,10.409,37.815,22.014a54.285,54.285,0,0,1,5.968,11.816,39.976,39.976,0,0,1,31.509,14.18c21.193,25.019,2.217,52.385,2.023,52.659A1,1,0,0,1,195.5,190.436Zm-34.148-65.231a27.826,27.826,0,0,0-12.215,3.414c-5.276,3.122-7.23,7.708-5.363,12.58a8.108,8.108,0,0,0,6.984,5.476,10.669,10.669,0,0,0,9.791-5.454C163.039,137.051,163.267,131.508,161.349,125.205Z'%20fill='%23292a2e'%3e%3c/path%3e%3cg%3e%3cpath%20d='M68.617,113.3a6.809,6.809,0,1,1,.684-.246A6.652,6.652,0,0,1,68.617,113.3Zm-3.325-11.112a4.689,4.689,0,0,0-.477.172,4.791,4.791,0,1,0,.477-.172Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpath%20d='M68.605,97.63a6.8,6.8,0,0,1-8.216-3.885h0a6.8,6.8,0,1,1,8.9,3.64A6.964,6.964,0,0,1,68.605,97.63ZM65.284,86.517a4.889,4.889,0,0,0-.483.173,4.8,4.8,0,0,0-2.568,6.281h0a4.8,4.8,0,1,0,3.051-6.455Z'%20fill='%23292a2e'%3e%3c/path%3e%3cellipse%20cx='66.664'%20cy='98.763'%20rx='8.892'%20ry='5.939'%20fill='%23fff'%3e%3c/ellipse%3e%3cpath%20d='M70.6,105.139a13.754,13.754,0,0,1-3.927.564c-5.548,0-9.9-3.04-9.9-6.931s4.339-6.942,9.885-6.948a12.424,12.424,0,0,1,6.845,1.9,5.676,5.676,0,0,1,.009,10.063A10.872,10.872,0,0,1,70.6,105.139ZM63.338,94.3c-2.672.8-4.566,2.527-4.565,4.467,0,2.677,3.617,4.936,7.9,4.932a10.417,10.417,0,0,0,5.732-1.576,3.706,3.706,0,0,0-.006-6.735,10.4,10.4,0,0,0-5.734-1.566A11.607,11.607,0,0,0,63.338,94.3Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpolygon%20points='68.845%20104.521%2068.635%2092.971%2065.763%2092.855%2065.562%20104.656%2068.845%20104.521'%20fill='%23292a2e'%3e%3c/polygon%3e%3ccircle%20cx='54.867'%20cy='100.358'%20r='0.918'%20fill='%23292a2e'%3e%3c/circle%3e%3ccircle%20cx='55.584'%20cy='95.446'%20r='0.918'%20fill='%23292a2e'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3cg%3e%3cpath%20d='M352.625,132.766a1,1,0,0,1-.956-.707,99.236,99.236,0,0,1-2.606-38.021c2.585-18.6,12.843-43.011,47.03-53.7a88.364,88.364,0,0,1,14.748-3.381c1.611-10.061,7.739-20.975,21.444-28.505,32.562-17.892,54.557-1.839,54.775-1.675a1,1,0,0,1-1.2,1.6c-.208-.156-21.228-15.417-52.611,1.829-12.806,7.037-18.668,17.137-20.335,26.513,15.079-1.485,22.3,3.545,25.541,7.344A15.488,15.488,0,0,1,440.769,61a12.094,12.094,0,0,1-11.835,6.909c-8.421-.494-15.39-7.578-17.752-18.048a34.03,34.03,0,0,1-.614-10.8,85.533,85.533,0,0,0-13.877,3.191c-26.645,8.331-42,25.85-45.648,52.067a96.986,96.986,0,0,0,2.538,37.16,1,1,0,0,1-.956,1.293Zm59.982-93.955a32.014,32.014,0,0,0,.526,10.609c2.161,9.578,8.409,16.051,15.918,16.492a10.178,10.178,0,0,0,9.928-5.8,13.494,13.494,0,0,0-2.048-14.749C432.255,39.876,423.722,37.66,412.607,38.811Z'%20fill='%23292a2e'%3e%3c/path%3e%3cg%3e%3cpath%20d='M510.354,16.884a7.142,7.142,0,1,1,6.994-8.659h0a7.156,7.156,0,0,1-6.994,8.659ZM510.369,4.6a5.141,5.141,0,1,0,5.024,4.051A5.111,5.111,0,0,0,510.369,4.6Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpath%20d='M507.343,33.205a7.162,7.162,0,1,1,1.529-.165A7.171,7.171,0,0,1,507.343,33.205Zm.025-12.285a5.164,5.164,0,0,0-1.1.119,5.112,5.112,0,1,0,1.1-.119Z'%20fill='%23292a2e'%3e%3c/path%3e%3cellipse%20cx='508.827'%20cy='18.098'%20rx='6.289'%20ry='9.416'%20transform='translate(398.692%20515.192)%20rotate(-79.545)'%20fill='%23fff'%3e%3c/ellipse%3e%3cpath%20d='M510.2,25.516a14.966,14.966,0,0,1-2.7-.25,13.1,13.1,0,0,1-6.729-3.286,6.419,6.419,0,0,1-2.191-5.772,6.422,6.422,0,0,1,4.107-4.61,13.946,13.946,0,0,1,14.187,2.618,6.419,6.419,0,0,1,2.191,5.772,6.422,6.422,0,0,1-4.107,4.61A12.088,12.088,0,0,1,510.2,25.516Zm-2.762-12.838a10.072,10.072,0,0,0-3.961.757,4.506,4.506,0,0,0-2.93,3.136,4.506,4.506,0,0,0,1.618,3.975,11.966,11.966,0,0,0,12,2.215,4.506,4.506,0,0,0,2.93-3.136h0a4.5,4.5,0,0,0-1.618-3.975,11.084,11.084,0,0,0-5.7-2.753A12.957,12.957,0,0,0,507.442,12.678Z'%20fill='%23292a2e'%3e%3c/path%3e%3cpolygon%20points='507.668%2011.682%20505.657%2023.748%20508.624%2024.424%20511.112%2012.175%20507.668%2011.682'%20fill='%23292a2e'%3e%3c/polygon%3e%3ccircle%20cx='519.723'%20cy='23.691'%20r='0.972'%20fill='%23292a2e'%3e%3c/circle%3e%3ccircle%20cx='521.417'%20cy='18.715'%20r='0.972'%20fill='%23292a2e'%3e%3c/circle%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e\"","<script lang=\"ts\" setup>\nimport Empty from \"./Empty.svg\";\n\ndefineProps<{\n title?: string;\n message?: string;\n image?: string;\n}>();\n</script>\n<template>\n <div class=\"empty-wrapper\">\n <div class=\"empty-image h-32 w-32\">\n <slot name=\"image\">\n <img :src=\"image || Empty\" alt=\"Empty\" />\n </slot>\n </div>\n <div class=\"empty-title\">{{ title }}</div>\n <div class=\"empty-message\">\n <slot name=\"message\">\n {{ message }}\n </slot>\n </div>\n <div class=\"empty-actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.empty-wrapper {\n @apply flex\n flex-col\n items-center\n justify-center\n my-10\n px-10;\n\n .empty-title {\n @apply text-sm\n text-gray-900\n text-center\n font-medium;\n }\n\n .empty-message {\n @apply text-gray-500\n text-xs\n text-center\n mt-1.5;\n }\n\n .empty-actions {\n @apply flex\n flex-row\n mt-5;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { IconMore } from \"../../icons/icons\";\nimport { VDropdown } from \"../dropdown\";\n\nconst props = withDefaults(\n defineProps<{\n isSelected?: boolean;\n }>(),\n {\n isSelected: false,\n }\n);\n\nconst classes = computed(() => {\n const result = [];\n if (props.isSelected) {\n result.push(\"entity-selected\");\n }\n return result;\n});\n</script>\n\n<template>\n <tr :class=\"classes\" v-bind=\"$attrs\" class=\"entity-wrapper group\">\n <td class=\"entity-start-wrapper\">\n <slot name=\"prepend\" />\n <div v-show=\"isSelected\" class=\"entity-selected-indicator\"></div>\n <div class=\"entity-start\">\n <div v-if=\"$slots.checkbox\" class=\"entity-checkbox\">\n <slot name=\"checkbox\" />\n </div>\n <slot name=\"start\" />\n </div>\n </td>\n <td class=\"entity-end-wrapper\">\n <div class=\"entity-end\">\n <slot name=\"end\" />\n <div v-if=\"$slots.dropdownItems\" class=\"entity-dropdown\">\n <VDropdown>\n <div\n class=\"entity-dropdown-trigger group-hover:bg-gray-200/60\"\n :class=\"{ '!bg-gray-300/60': isSelected }\"\n @click.stop\n >\n <IconMore />\n </div>\n <template #popper>\n <slot name=\"dropdownItems\"></slot>\n </template>\n </VDropdown>\n </div>\n </div>\n </td>\n </tr>\n <tr v-if=\"$slots.footer\">\n <td colspan=\"2\">\n <slot name=\"footer\" />\n </td>\n </tr>\n</template>\n<style lang=\"scss\">\n.entity-wrapper {\n @apply relative transition-all hover:bg-gray-50 w-full;\n\n &.entity-selected {\n @apply bg-gray-100;\n }\n\n .entity-selected-indicator {\n @apply absolute inset-y-0 left-0 w-0.5 bg-primary;\n }\n\n .entity-body {\n @apply relative flex flex-row items-center w-full;\n }\n\n .entity-checkbox {\n @apply hidden sm:inline-flex;\n }\n\n .entity-start-wrapper,\n .entity-end-wrapper {\n @apply align-middle w-auto px-4 py-3;\n }\n\n .entity-start {\n @apply flex items-center gap-4;\n }\n\n .entity-end {\n @apply flex items-center gap-6 justify-end;\n }\n\n .entity-dropdown {\n @apply inline-flex items-center;\n }\n\n .entity-dropdown-trigger {\n @apply cursor-pointer rounded p-1 transition-all hover:text-blue-600;\n }\n}\n</style>\n","<script setup lang=\"ts\"></script>\n\n<template>\n <div class=\"w-full overflow-x-auto\">\n <table class=\"w-full border-spacing-0\">\n <tbody class=\"divide-y divide-gray-100\">\n <slot></slot>\n </tbody>\n </table>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { RouteLocationRaw } from \"vue-router\";\n\nconst props = withDefaults(\n defineProps<{\n title?: string;\n description?: string;\n route?: RouteLocationRaw;\n width?: string | number;\n }>(),\n {\n title: undefined,\n description: undefined,\n route: undefined,\n width: undefined,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"click\"): void;\n}>();\n\nconst wrapperStyles = computed(() => {\n if (props.width) {\n const width =\n typeof props.width === \"string\" ? props.width : `${props.width}px`;\n return {\n width,\n maxWidth: width,\n };\n }\n return {};\n});\n</script>\n\n<template>\n <div class=\"entity-field-wrapper\" :style=\"wrapperStyles\">\n <div v-if=\"title || $slots.title\" class=\"entity-field-title-body\">\n <slot name=\"title\">\n <div class=\"entity-field-title\" @click=\"emit('click')\">\n <RouterLink\n v-if=\"route\"\n class=\"hover:text-gray-600\"\n :to=\"route\"\n :title=\"title\"\n >\n {{ title }}\n </RouterLink>\n <span v-else :title=\"title\">\n {{ title }}\n </span>\n </div>\n <slot name=\"extra\" />\n </slot>\n </div>\n <div\n v-if=\"description || $slots.description\"\n class=\"entity-field-description-body\"\n >\n <slot name=\"description\">\n <span\n v-if=\"description\"\n class=\"entity-field-description\"\n :title=\"description\"\n >\n {{ description }}\n </span>\n </slot>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.entity-field-wrapper {\n @apply inline-flex flex-col gap-1 max-w-xs;\n\n .entity-field-title-body {\n @apply inline-flex items-center flex-row whitespace-nowrap;\n\n .entity-field-title {\n @apply truncate text-sm font-medium text-gray-900 mr-2;\n }\n }\n\n .entity-field-description-body {\n @apply inline-flex items-center whitespace-nowrap;\n\n .entity-field-description {\n @apply text-xs text-gray-500 truncate;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\ndefineProps<{\n title?: string;\n}>();\n</script>\n<template>\n <div class=\"page-header\">\n <h2 class=\"page-header__title\">\n <slot name=\"icon\" />\n <span class=\"page-header__title-text\">{{ title }}</span>\n </h2>\n <div class=\"page-header__actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.page-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 3.5rem;\n background-color: theme(\"colors.white\");\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n flex-wrap: wrap;\n gap: theme(\"spacing.2\");\n\n &__title {\n display: flex;\n align-items: center;\n text-overflow: truncate;\n font-size: 1.25rem;\n font-weight: 700;\n color: theme(\"colors.gray.800\");\n gap: theme(\"spacing.2\");\n }\n\n &__title-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &__actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: theme(\"spacing.2\");\n flex-wrap: wrap;\n }\n}\n</style>\n","<script lang=\"ts\" setup></script>\n\n<template>\n <div class=\"flex items-center justify-center py-4\">\n <svg\n class=\"h-5 w-5 animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { provide } from \"vue\";\n\nconst props = defineProps<{\n openIds?: string[];\n}>();\n\nprovide<string[] | undefined>(\"openIds\", props.openIds);\n</script>\n\n<template>\n <div class=\"menu-container w-full p-3\">\n <ul>\n <slot />\n </ul>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { computed, inject, ref, useSlots } from \"vue\";\nimport { IconArrowRight } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n id?: string;\n title?: string;\n active?: boolean;\n }>(),\n {\n id: \"\",\n title: \"\",\n active: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"select\", id: string): void;\n}>();\n\nconst slots = useSlots();\n\nconst open = ref(false);\n\nconst openIds = inject<string[] | undefined>(\"openIds\");\n\nif (openIds?.includes(props.id)) {\n open.value = true;\n}\n\nconst hasSubmenus = computed(() => {\n return slots.default && slots.default().length > 0;\n});\n\nfunction handleClick() {\n if (!open.value) {\n handleExpand();\n }\n emit(\"select\", props.id);\n}\n\nfunction handleExpand() {\n if (hasSubmenus.value) {\n open.value = !open.value;\n }\n}\n</script>\n\n<template>\n <li\n :class=\"{ 'has-submenus': hasSubmenus }\"\n class=\"menu-item group\"\n @click.stop=\"handleClick\"\n >\n <div :class=\"{ active }\" class=\"menu-item-title\">\n <span v-if=\"$slots.icon\" class=\"menu-icon mr-3 self-center\">\n <slot name=\"icon\" />\n </span>\n <span class=\"menu-title flex-1 self-center\">\n {{ title }}\n </span>\n <span\n v-if=\"$slots.default\"\n :class=\"{ open }\"\n class=\"menu-icon-collapse self-center transition-all\"\n @click.stop=\"handleExpand\"\n >\n <IconArrowRight />\n </span>\n </div>\n\n <Transition name=\"submenus-show\">\n <ul v-show=\"$slots.default && open\" class=\"sub-menu-items transition-all\">\n <slot />\n </ul>\n </Transition>\n </li>\n</template>\n\n<style lang=\"scss\">\n.menu-item {\n @apply cursor-pointer;\n}\n\n.menu-item-title {\n @apply transition-all\n text-base\n flex\n select-none\n relative\n px-2\n py-[0.4rem]\n font-normal\n rounded-base;\n\n &:hover,\n &.active {\n @apply bg-gray-100\n font-medium;\n }\n\n &.active::after {\n @apply absolute;\n top: calc(50% - 13px);\n left: -8px;\n width: 3px;\n height: 26px;\n content: \"\";\n background: #242e41;\n border-radius: 6px;\n }\n}\n\n.menu-icon-collapse {\n @apply group-hover:bg-gray-200 p-0.5 rounded-full;\n\n &.open {\n @apply bg-gray-200;\n transform: rotate(90deg);\n }\n}\n\n.submenus-show-enter-active,\n.submenus-show-leave-active {\n transition: all 0.1s ease;\n}\n\n.submenus-show-enter-from,\n.submenus-show-enter-to {\n opacity: 0;\n}\n\n.sub-menu-items {\n @apply pl-5 my-1;\n\n .menu-item-title {\n @apply p-1.5 text-sm;\n }\n}\n</style>\n","<template>\n <li class=\"menu-label flex flex-col\">\n <slot />\n </li>\n</template>\n<style lang=\"scss\">\n.menu-label {\n padding-top: 10px;\n padding-bottom: 10px;\n color: #847e7e;\n font-size: 14px;\n font-weight: 400;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons/icons\";\n\nconst props = withDefaults(\n defineProps<{\n page?: number;\n size?: number;\n total?: number;\n sizeOptions?: number[];\n showTotal?: boolean;\n pageLabel?: string;\n sizeLabel?: string;\n totalLabel?: string;\n }>(),\n {\n page: 1,\n size: 10,\n total: 0,\n sizeOptions: () => [10],\n showTotal: true,\n pageLabel: \"页\",\n sizeLabel: \"条 / 页\",\n totalLabel: undefined,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:page\", page: number): void;\n (event: \"update:size\", size: number): void;\n (event: \"change\", value: { page: number; size: number }): void;\n}>();\n\nconst totalPages = computed(() => Math.ceil(props.total / props.size));\n\nconst hasNext = computed(() => props.page < totalPages.value);\n\nconst hasPrevious = computed(() => props.page > 1);\n\nconst totalLabelText = computed(() => {\n if (props.totalLabel) {\n return props.totalLabel;\n }\n return `共 ${props.total} 项数据`;\n});\n\nconst onPageChange = (event: Event) => {\n const target = event.target as HTMLSelectElement;\n const page = Number(target.value);\n emit(\"update:page\", page);\n emit(\"change\", { page, size: props.size });\n};\n\nconst onSizeChange = (event: Event) => {\n const target = event.target as HTMLSelectElement;\n const size = Number(target.value);\n emit(\"update:size\", size);\n\n // reset page to 1\n emit(\"update:page\", 1);\n emit(\"change\", { page: 1, size });\n};\n\nconst previous = () => {\n if (hasPrevious.value) {\n const page = props.page - 1;\n emit(\"update:page\", page);\n emit(\"change\", { page: page, size: props.size });\n }\n};\n\nconst next = () => {\n if (hasNext.value) {\n const page = props.page + 1;\n emit(\"update:page\", page);\n emit(\"change\", { page: page, size: props.size });\n }\n};\n</script>\n<template>\n <div class=\"pagination\">\n <div v-if=\"showTotal\" class=\"pagination__total\">\n {{ totalLabelText }}\n </div>\n <div class=\"pagination__controller\">\n <nav aria-label=\"Pagination\" class=\"pagination__nav\">\n <button\n class=\"pagination__btn pagination__btn--prev\"\n :disabled=\"!hasPrevious\"\n @click=\"previous\"\n >\n <IconArrowLeft />\n </button>\n <button\n class=\"pagination__btn pagination__btn--next\"\n :disabled=\"!hasNext\"\n @click=\"next\"\n >\n <IconArrowRight />\n </button>\n </nav>\n <div class=\"pagination__select-wrap\">\n <select\n :value=\"page\"\n :disabled=\"totalPages === 0\"\n class=\"pagination__select\"\n @change=\"onPageChange\"\n >\n <option v-if=\"totalPages === 0\" :value=\"1\">0 / 0</option>\n <option v-for=\"i in totalPages || 1\" :key=\"i\" :value=\"i\">\n {{ i }} / {{ totalPages }}\n </option>\n </select>\n <span class=\"pagination__select-label\">\n {{ pageLabel }}\n </span>\n </div>\n <div class=\"pagination__select-wrap\">\n <select :value=\"size\" class=\"pagination__select\" @change=\"onSizeChange\">\n <option\n v-for=\"(sizeOption, index) in sizeOptions\"\n :key=\"index\"\n :value=\"sizeOption\"\n >\n {{ sizeOption }}\n </option>\n </select>\n <span class=\"pagination__select-label\">\n {{ sizeLabel }}\n </span>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.pagination {\n @apply bg-white flex items-center flex-1 gap-2;\n\n &__total {\n @apply hidden sm:block text-sm text-gray-500;\n }\n\n &__controller {\n @apply flex items-center gap-2 flex-1 justify-end;\n }\n\n &__nav {\n @apply relative z-0 inline-flex rounded-base shadow-sm -space-x-px;\n }\n\n &__btn {\n @apply relative h-8 outline-none inline-flex items-center px-2 py-1.5 rounded-base border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50 cursor-pointer disabled:cursor-not-allowed;\n\n &--prev {\n @apply rounded-r-none;\n }\n\n &--next {\n @apply rounded-l-none;\n }\n }\n\n &__select-wrap {\n @apply inline-flex items-center gap-2;\n }\n\n &__select {\n @apply h-8 border outline-none rounded-base pr-10 border-solid px-2 text-gray-800 text-sm border-gray-300 focus:border-primary;\n }\n\n &__select-label {\n @apply text-sm text-gray-500;\n }\n}\n</style>\n","export type Spacing = \"xs\" | \"sm\" | \"md\" | \"lg\";\nexport type Direction = \"row\" | \"column\";\nexport type Align = \"start\" | \"end\" | \"center\" | \"stretch\";\nexport const SpacingSize: Record<string, number> = {\n xs: 10,\n sm: 12,\n md: 16,\n lg: 20,\n};\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { Align, Direction, Spacing } from \"./interface\";\nimport { SpacingSize } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n spacing?: Spacing;\n direction?: Direction;\n align?: Align;\n }>(),\n {\n spacing: \"xs\",\n direction: \"row\",\n align: \"center\",\n }\n);\n\nconst wrapperClasses = computed(() => {\n const { direction, align } = props;\n return [`space-direction-${direction}`, `space-align-${align}`];\n});\n</script>\n<template>\n <div\n :class=\"wrapperClasses\"\n :style=\"`gap: ${SpacingSize[spacing]}px`\"\n class=\"space-wrapper\"\n >\n <slot />\n </div>\n</template>\n<style lang=\"scss\">\n.space-wrapper {\n @apply inline-flex\n box-border;\n\n &.space-direction-row {\n @apply flex-row;\n }\n\n &.space-direction-column {\n @apply flex-col;\n }\n\n &.space-align-center {\n @apply items-center;\n }\n\n &.space-align-start {\n @apply items-start;\n }\n\n &.space-align-end {\n @apply items-end;\n }\n\n &.space-align-stretch {\n @apply items-stretch;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport type { State } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n state?: State;\n animate?: boolean;\n text?: string;\n }>(),\n { state: \"success\", animate: false, text: undefined }\n);\n\nconst classes = computed(() => {\n return [`status-dot-${props.state}`, { \"status-dot-animate\": props.animate }];\n});\n</script>\n\n<template>\n <div class=\"status-dot-wrapper\" :class=\"classes\">\n <div class=\"status-dot-body\">\n <span class=\"status-dot-inner\"></span>\n </div>\n <slot v-if=\"$slots.text || text\" name=\"text\">\n <span class=\"status-dot-text\">{{ text }}</span>\n </slot>\n </div>\n</template>\n\n<style lang=\"scss\">\n.status-dot-wrapper {\n @apply flex items-center gap-2;\n\n .status-dot-body {\n @apply inline-flex h-2 w-2 items-center justify-center rounded-full;\n }\n\n .status-dot-inner {\n @apply inline-block h-1.5 w-1.5 rounded-full;\n }\n\n .status-dot-text {\n @apply text-gray-500 text-xs whitespace-nowrap;\n }\n\n &.status-dot-animate {\n .status-dot-inner {\n @apply animate-ping;\n }\n }\n\n &.status-dot-default {\n .status-dot-body {\n @apply bg-gray-300;\n }\n\n .status-dot-inner {\n @apply bg-gray-300;\n }\n }\n\n &.status-dot-success {\n .status-dot-body {\n @apply bg-green-600;\n }\n\n .status-dot-inner {\n @apply bg-green-600;\n }\n }\n\n &.status-dot-warning {\n .status-dot-body {\n @apply bg-yellow-600;\n }\n\n .status-dot-inner {\n @apply bg-yellow-600;\n }\n }\n\n &.status-dot-error {\n .status-dot-body {\n @apply bg-red-600;\n }\n\n .status-dot-inner {\n @apply bg-red-600;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean;\n disabled?: boolean;\n loading?: boolean;\n }>(),\n {\n modelValue: false,\n disabled: false,\n loading: false,\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:modelValue\", value: boolean): void;\n (event: \"change\", value: boolean): void;\n}>();\n\nconst handleChange = () => {\n if (props.disabled || props.loading) return;\n\n emit(\"update:modelValue\", !props.modelValue);\n emit(\"change\", !props.modelValue);\n};\n</script>\n<template>\n <div class=\"switch-wrapper\">\n <button\n :class=\"{\n 'bg-gray-200': !modelValue,\n '!bg-primary': modelValue,\n 'switch-disabled': disabled || loading,\n }\"\n aria-checked=\"false\"\n class=\"switch-inner\"\n role=\"switch\"\n type=\"button\"\n :disabled=\"disabled || loading\"\n @click=\"handleChange\"\n >\n <span\n :class=\"{\n 'translate-x-0': !modelValue,\n 'translate-x-5': modelValue,\n }\"\n aria-hidden=\"true\"\n class=\"switch-indicator\"\n >\n <svg\n v-if=\"loading\"\n class=\"animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-0\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-30\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <slot v-else name=\"icon\" />\n </span>\n </button>\n </div>\n</template>\n<style lang=\"scss\">\n.switch-wrapper {\n @apply inline-flex\n box-border;\n\n .switch-inner {\n @apply relative\n inline-flex\n flex-shrink-0\n h-6\n w-11\n border-2\n border-transparent\n rounded-full\n cursor-pointer\n transition-colors\n ease-in-out\n duration-200;\n\n &.switch-disabled {\n @apply opacity-60\n cursor-not-allowed;\n }\n\n .switch-indicator {\n @apply pointer-events-none\n inline-block\n h-5\n w-5\n rounded-full\n bg-white\n shadow\n transform\n ring-0\n transition\n ease-in-out\n duration-200;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef } from \"vue\";\nimport { computed, inject } from \"vue\";\n\nconst props = defineProps<{\n id?: string;\n label?: string;\n}>();\n\nconst activeId = inject<ComputedRef<string | number | undefined>>(\"activeId\");\n\nconst isActive = computed(() => {\n return activeId?.value === props.id;\n});\n</script>\n<template>\n <div v-if=\"isActive\" class=\"tabs-item-wrapper\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { useElementSize, useThrottleFn } from \"@vueuse/core\";\nimport type { ComputedRef } from \"vue\";\nimport { computed, onMounted, onUnmounted, ref, watch } from \"vue\";\nimport { IconArrowLeft, IconArrowRight } from \"../../icons/icons\";\nimport type { ArrowShow, Direction, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n activeId?: number | string;\n items?: Array<Record<string, string>>;\n type?: Type;\n direction?: Direction;\n idKey?: string;\n labelKey?: string;\n }>(),\n {\n activeId: undefined,\n items: undefined,\n type: \"default\",\n direction: \"row\",\n idKey: \"id\",\n labelKey: \"label\",\n }\n);\n\nconst emit = defineEmits<{\n (event: \"update:activeId\", value: number | string): void;\n (event: \"change\", value: number | string): void;\n}>();\n\nconst classes = computed(() => {\n return [`tabbar-${props.type}`, `tabbar-direction-${props.direction}`];\n});\n\nconst handleChange = (id: number | string, index: number) => {\n handleClickTabItem(index);\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n\nconst tabbarItemsRef = ref<HTMLElement | undefined>();\nconst tabItemRefs = ref<HTMLElement[] | undefined>();\nconst itemWidthArr = ref<number[]>([]);\nconst indicatorRef = ref<HTMLElement | undefined>();\nconst arrowFlag = ref(false);\nconst { width: tabbarWidth } = useElementSize(tabbarItemsRef);\n\nconst arrowShow: ComputedRef<ArrowShow> = computed(() => {\n const show: ArrowShow = { left: false, right: false };\n if (!tabbarItemsRef.value) return show;\n void arrowFlag.value;\n void tabbarWidth.value;\n const { scrollWidth, scrollLeft, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth > clientWidth) {\n if (scrollLeft < scrollWidth - clientWidth) {\n show.right = true;\n }\n if (scrollLeft > 20) {\n show.left = true;\n }\n }\n return show;\n});\n\nfunction handleHorizontalWheel(event: WheelEvent) {\n if (!tabbarItemsRef.value) {\n return;\n }\n const { scrollLeft, scrollWidth, clientWidth } = tabbarItemsRef.value;\n const toLeft = event.deltaY < 0 && scrollLeft > 0;\n const toRight = event.deltaY > 0 && scrollLeft < scrollWidth - clientWidth;\n\n if (toLeft || toRight) {\n event.preventDefault();\n event.stopPropagation();\n tabbarItemsRef.value.scrollBy({ left: event.deltaY });\n }\n}\n\nfunction saveItemsWidth() {\n if (!tabbarItemsRef.value || !tabItemRefs.value) return;\n itemWidthArr.value = [];\n for (const item of tabItemRefs.value) {\n itemWidthArr.value.push(item.offsetWidth);\n }\n arrowFlag.value = !arrowFlag.value;\n}\n\nfunction handleClickTabItem(index: number) {\n if (!tabbarItemsRef.value || !indicatorRef.value) return;\n const { scrollWidth, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth <= clientWidth) return;\n if (index === 0) {\n tabbarItemsRef.value.scrollTo({ left: 0, behavior: \"smooth\" });\n return;\n }\n if (index === itemWidthArr.value.length - 1) {\n tabbarItemsRef.value.scrollTo({\n left: scrollWidth - clientWidth,\n behavior: \"smooth\",\n });\n return;\n }\n}\n\nfunction handleClickArrow(prev: boolean) {\n if (!tabbarItemsRef.value || !indicatorRef.value || !tabItemRefs.value)\n return;\n const { scrollWidth, scrollLeft, clientWidth } = tabbarItemsRef.value;\n if (scrollWidth <= clientWidth) return;\n if (!itemWidthArr.value[0]) {\n itemWidthArr.value = [];\n for (const item of tabItemRefs.value) {\n itemWidthArr.value.push(item.offsetWidth);\n }\n }\n let hiddenNum = 0;\n let totalWith = 0;\n let scrollByX = 0;\n const lastItemWidth = itemWidthArr.value[itemWidthArr.value.length - 1];\n if (prev) {\n for (let i = 0; i < itemWidthArr.value.length; i++) {\n const w = itemWidthArr.value[i];\n totalWith += w;\n if (totalWith >= scrollLeft) {\n hiddenNum = i;\n break;\n }\n }\n if (hiddenNum === 0) {\n scrollByX = -itemWidthArr.value[0];\n } else {\n scrollByX = -(\n itemWidthArr.value[hiddenNum] -\n totalWith +\n scrollLeft +\n itemWidthArr.value[hiddenNum - 1]\n );\n }\n } else {\n const overWidth = scrollWidth - scrollLeft - clientWidth;\n for (let i = itemWidthArr.value.length - 1; i >= 0; i--) {\n const w = itemWidthArr.value[i];\n totalWith += w;\n if (totalWith >= overWidth) {\n hiddenNum = i;\n break;\n }\n }\n\n if (hiddenNum === itemWidthArr.value.length - 1) {\n scrollByX =\n lastItemWidth + itemWidthArr.value[itemWidthArr.value.length - 1];\n } else {\n scrollByX =\n itemWidthArr.value[hiddenNum] -\n (totalWith - overWidth) +\n itemWidthArr.value[hiddenNum + 1];\n }\n }\n tabbarItemsRef.value.scrollBy({\n left: scrollByX,\n behavior: \"smooth\",\n });\n}\n\nconst handleScroll = useThrottleFn(\n () => {\n arrowFlag.value = !arrowFlag.value;\n },\n 100,\n true\n);\n\nwatch(() => tabItemRefs.value?.length, saveItemsWidth);\n\nonMounted(() => {\n tabbarItemsRef.value?.addEventListener(\"wheel\", handleHorizontalWheel);\n tabbarItemsRef.value?.addEventListener(\"scroll\", handleScroll);\n});\n\nonUnmounted(() => {\n tabbarItemsRef.value?.removeEventListener(\"wheel\", handleHorizontalWheel);\n tabbarItemsRef.value?.removeEventListener(\"scroll\", handleScroll);\n});\n</script>\n<template>\n <div :class=\"classes\" class=\"tabbar-wrapper\">\n <div\n ref=\"indicatorRef\"\n :class=\"['indicator', 'left', arrowShow.left ? 'visible' : 'invisible']\"\n >\n <div title=\"向前\" class=\"arrow-left\" @click=\"handleClickArrow(true)\">\n <IconArrowLeft />\n </div>\n </div>\n <div\n :class=\"['indicator', 'right', arrowShow.right ? 'visible' : 'invisible']\"\n >\n <div title=\"向后\" class=\"arrow-right\" @click=\"handleClickArrow(false)\">\n <IconArrowRight />\n </div>\n </div>\n <div ref=\"tabbarItemsRef\" class=\"tabbar-items\">\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n ref=\"tabItemRefs\"\n :class=\"{ 'tabbar-item-active': item[idKey] === activeId }\"\n class=\"tabbar-item\"\n @click=\"handleChange(item[idKey], index)\"\n >\n <div v-if=\"item.icon\" class=\"tabbar-item-icon\">\n <component :is=\"item.icon\" />\n </div>\n <div v-if=\"item[labelKey]\" class=\"tabbar-item-label\">\n {{ item[labelKey] }}\n </div>\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabbar-wrapper {\n @apply relative;\n .indicator {\n @apply absolute\n top-0\n z-10\n w-20\n h-full\n flex\n items-center\n from-transparent\n from-10%\n via-white/80\n via-30%\n to-white\n to-70%\n pt-1\n pointer-events-none\n pb-1.5;\n\n &.left {\n @apply left-0\n justify-start\n bg-gradient-to-l;\n }\n &.right {\n @apply right-0\n justify-end\n bg-gradient-to-r;\n }\n .arrow-left,\n .arrow-right {\n @apply w-10\n h-9\n flex\n justify-center\n items-center\n pointer-events-auto\n cursor-pointer\n select-none;\n svg {\n font-size: 1.5em;\n }\n }\n }\n\n .tabbar-items {\n @apply flex\n items-center\n flex-row\n overflow-x-auto\n py-0.5;\n\n &::-webkit-scrollbar-track-piece {\n background-color: #f8f8f8;\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n border-radius: 2em;\n }\n\n &::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: #ddd;\n background-clip: padding-box;\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n border-radius: 2em;\n }\n\n &::-webkit-scrollbar-thumb:hover {\n background-color: #bbb;\n }\n }\n\n .tabbar-item {\n @apply inline-flex\n cursor-pointer\n self-center\n transition-all\n text-sm\n justify-center\n gap-2\n h-9\n whitespace-nowrap;\n\n .tabbar-item-label,\n .tabbar-item-icon {\n @apply self-center;\n }\n }\n\n &.tabbar-default {\n border-bottom-width: 2px;\n @apply border-b-gray-100;\n\n .tabbar-items {\n margin-bottom: -4px;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply px-5\n py-1\n border-b-gray-100;\n\n border-bottom-width: 2px;\n\n &.tabbar-item-active {\n @apply text-secondary\n border-b-secondary;\n }\n }\n }\n\n &.tabbar-pills {\n .tabbar-items {\n @apply gap-1;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply px-6\n py-1\n opacity-70\n rounded-base;\n\n &.tabbar-item-active {\n @apply bg-gray-100\n opacity-100;\n }\n\n &:hover {\n @apply bg-gray-100;\n }\n }\n }\n\n &.tabbar-outline {\n @apply px-1\n py-0.5\n bg-gray-100\n rounded-base;\n\n .tabbar-items {\n @apply gap-1\n justify-start;\n }\n\n .tabbar-item {\n @apply px-6\n py-1\n opacity-70\n rounded-sm;\n\n &.tabbar-item-active {\n @apply bg-white\n opacity-100\n shadow-sm;\n }\n\n &:hover {\n @apply bg-white;\n }\n }\n }\n\n &.tabbar-direction-row {\n .tabbar-items {\n @apply flex-row;\n }\n }\n\n &.tabbar-direction-column {\n .tabbar-items {\n @apply flex-col;\n }\n\n .tabbar-item {\n width: 100%;\n }\n\n &.tabbar-default {\n border-bottom-width: 0;\n @apply border-b-0;\n border-right-width: 2px;\n @apply border-r-gray-100;\n\n .tabbar-items {\n margin-bottom: 0;\n margin-right: -2px;\n }\n\n .tabbar-item {\n border-bottom-width: 0;\n border-right-width: 2px;\n\n &.tabbar-item-active {\n @apply border-r-secondary;\n }\n }\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef } from \"vue\";\nimport { computed, provide, useSlots } from \"vue\";\nimport { VTabbar } from \"./index\";\nimport type { Direction, Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n activeId?: number | string;\n type?: Type;\n direction?: Direction;\n idKey?: string;\n labelKey?: string;\n }>(),\n {\n activeId: undefined,\n type: \"default\",\n direction: \"row\",\n idKey: \"id\",\n labelKey: \"label\",\n }\n);\n\nprovide<ComputedRef<string | number | undefined>>(\n \"activeId\",\n computed(() => props.activeId)\n);\n\nconst emit = defineEmits<{\n (event: \"update:activeId\", value: number | string): void;\n (event: \"change\", value: number | string): void;\n}>();\n\nconst slots = useSlots();\n\nconst tabItems = computed(() => {\n return slots.default?.().map(({ props: slotProps }) => {\n return {\n id: slotProps?.[props.idKey],\n label: slotProps?.[props.labelKey],\n };\n });\n});\n\nconst classes = computed(() => {\n return [`tabs-direction-${props.direction}`];\n});\n\nconst handleChange = (id: string | number) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n</script>\n<template>\n <div :class=\"classes\" class=\"tabs-wrapper\">\n <div class=\"tabs-bar-wrapper\">\n <VTabbar\n :active-id=\"activeId\"\n :direction=\"direction\"\n :items=\"tabItems\"\n :type=\"type\"\n @change=\"handleChange\"\n />\n </div>\n <div class=\"tabs-items-wrapper\">\n <slot />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabs-wrapper {\n @apply flex;\n\n &.tabs-direction-row {\n @apply flex-col;\n\n .tabs-items-wrapper {\n @apply mt-2;\n }\n }\n\n &.tabs-direction-column {\n .tabs-items-wrapper {\n @apply ml-2;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { CSSProperties } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Theme } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n theme?: Theme;\n rounded?: boolean;\n styles?: CSSProperties;\n }>(),\n {\n theme: \"default\",\n rounded: false,\n styles: () => {\n return {};\n },\n }\n);\n\nconst classes = computed(() => {\n return [`tag-${props.theme}`, { \"tag-rounded\": props.rounded }];\n});\n</script>\n<template>\n <div :class=\"classes\" :style=\"styles\" class=\"tag-wrapper\">\n <div v-if=\"$slots.leftIcon\" class=\"tag-left-icon\">\n <slot name=\"leftIcon\" />\n </div>\n <span class=\"tag-content\">\n <slot />\n </span>\n <div v-if=\"$slots.rightIcon\" class=\"tag-right-icon\">\n <slot name=\"rightIcon\" />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tag-wrapper {\n @apply rounded-base\n inline-flex\n flex-shrink-0\n flex-wrap\n box-border\n cursor-pointer\n text-center\n items-center\n justify-center\n w-auto\n align-middle\n h-5\n text-xs\n border\n border-solid\n px-1;\n\n &.tag-default {\n border: 1px solid #d9d9d9;\n }\n\n &.tag-primary {\n @apply text-white\n bg-primary\n border-primary;\n }\n\n &.tag-secondary {\n @apply text-white\n bg-secondary\n border-secondary;\n }\n\n &.tag-danger {\n background: #d71d1d;\n border: 1px solid #d71d1d;\n @apply text-white;\n }\n\n &.tag-rounded {\n @apply rounded-full;\n }\n\n .tag-content {\n @apply px-1;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"@/icons/icons\";\nimport {\n markRaw,\n onMounted,\n ref,\n watchEffect,\n type Component,\n type Raw,\n} from \"vue\";\nimport type { Type } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n type?: Type;\n content?: string;\n duration?: number;\n closable?: boolean;\n frozenOnHover?: boolean;\n count?: 0;\n onClose?: () => void;\n }>(),\n {\n type: \"success\",\n content: \"\",\n duration: 3000,\n closable: true,\n frozenOnHover: true,\n count: 0,\n onClose: undefined,\n }\n);\n\nconst timer = ref();\n\nconst emit = defineEmits<{\n (event: \"close\"): void;\n}>();\n\nconst icons: Record<Type, { icon: Raw<Component>; color: string }> = {\n success: {\n icon: markRaw(IconCheckboxCircle),\n color: \"text-green-500\",\n },\n info: {\n icon: markRaw(IconInformation),\n color: \"text-sky-500\",\n },\n warning: {\n icon: markRaw(IconErrorWarning),\n color: \"text-orange-500\",\n },\n error: {\n icon: markRaw(IconForbidLine),\n color: \"text-red-500\",\n },\n};\n\nconst createTimer = () => {\n if (props.duration < 0) return;\n timer.value = setTimeout(() => {\n close();\n }, props.duration);\n};\n\nconst clearTimer = () => {\n clearTimeout(timer.value);\n};\n\nconst close = () => {\n emit(\"close\");\n};\n\nconst handleMouseEnter = () => {\n if (!props.frozenOnHover) {\n return;\n }\n clearTimer();\n};\n\nconst handleMouseLeave = () => {\n if (!props.frozenOnHover) {\n return;\n }\n createTimer();\n};\n\nwatchEffect(() => {\n if (props.count > 0) {\n clearTimer();\n createTimer();\n }\n});\n\nonMounted(createTimer);\n\ndefineExpose({ close });\n</script>\n\n<template>\n <transition\n appear\n enter-active-class=\"transform ease-out duration-300 transition\"\n enter-from-class=\"translate-x-0 -translate-y-2\"\n enter-to-class=\"translate-y-0\"\n leave-active-class=\"transition ease-in duration-100\"\n leave-from-class=\"opacity-100\"\n leave-to-class=\"opacity-0\"\n >\n <div\n class=\"toast-wrapper\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div class=\"toast-body\">\n <div class=\"toast-icon\">\n <component :is=\"icons[type].icon\" :class=\"icons[type].color\" />\n </div>\n <div class=\"toast-content\">\n <div class=\"toast-description\">\n <slot>{{ content }}</slot>\n </div>\n </div>\n <div v-if=\"closable\" class=\"toast-control\">\n <IconClose class=\"\" @click=\"close\" />\n </div>\n </div>\n <div v-if=\"count\" class=\"toast-count\">\n <span>{{ count }}</span>\n </div>\n </div>\n </transition>\n</template>\n<style lang=\"scss\">\n.toast-container {\n @apply fixed pointer-events-none flex z-[9999] flex-col box-border transition-all w-full left-0 top-0 items-center justify-center p-4 gap-3;\n\n .toast-wrapper {\n @apply inline-block max-w-xs pointer-events-auto relative;\n }\n\n .toast-body {\n @apply cursor-pointer flex items-center px-2.5 py-2 overflow-hidden break-all bg-white shadow hover:shadow-md transition-all rounded gap-2;\n }\n\n .toast-content {\n @apply text-sm flex flex-col gap-1;\n }\n\n .toast-description {\n @apply text-gray-800;\n }\n\n .toast-control {\n @apply text-gray-600 hover:text-gray-900 transition-all cursor-pointer rounded-full hover:bg-gray-100 p-0.5;\n }\n\n .toast-count {\n @apply bg-red-500 rounded-full absolute -right-1 -top-1 w-4 h-4 flex items-center justify-center;\n\n span {\n @apply text-[0.7rem] text-white;\n }\n }\n}\n</style>\n","import { createVNode, render, type Component, type VNode } from \"vue\";\nimport ToastComponent from \"./Toast.vue\";\nimport type { ToastProps } from \"./interface\";\n\nexport type ToastApiProps = Omit<ToastProps, \"type\" | \"content\">;\n\nexport interface ToastInstance {\n id: string;\n vnode: VNode;\n}\n\nexport type ToastApi = (\n content: string,\n props?: ToastApiProps\n) => ToastInstance;\n\nexport interface ToastEntry {\n (props: ToastProps): ToastInstance;\n info: ToastApi;\n success: ToastApi;\n error: ToastApi;\n warning: ToastApi;\n}\n\nlet index = 0;\n\nconst instances: ToastInstance[] = [];\n\nconst defaultProps: ToastProps = {\n frozenOnHover: true,\n duration: 3000,\n count: 0,\n};\n\nconst toast: ToastEntry = (userProps: ToastProps) => {\n const id = \"toast-\" + index++;\n\n const props = {\n ...defaultProps,\n ...userProps,\n id,\n };\n\n let container = document.body.querySelector(\".toast-container\");\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"toast-container\";\n document.body.appendChild(container);\n }\n\n // Grouping toasts\n if (instances.length > 0) {\n const instance = instances.find((item) => {\n const { vnode } = item;\n if (vnode?.props) {\n return (\n vnode.props.content === props.content &&\n vnode.props.type === props.type\n );\n }\n return undefined;\n });\n\n if (instance?.vnode.component?.props) {\n (instance.vnode.component.props.count as number) += 1;\n index = instances.length - 1;\n return instance;\n }\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n ToastComponent,\n props\n );\n\n if (hostContainer.firstElementChild) {\n container.appendChild(hostContainer.firstElementChild);\n }\n\n if (vnode?.props) {\n // close emit\n vnode.props.onClose = () => {\n removeInstance(id);\n render(null, hostContainer);\n };\n }\n\n const instance = {\n id,\n vnode,\n close: () => {\n vnode?.component?.exposed?.close();\n },\n };\n\n instances.push(instance);\n return instance;\n};\n\nfunction createVNodeComponent(\n component: Component,\n props: Record<string, unknown>\n) {\n const vnode = createVNode(component, props);\n const container = document.createElement(\"div\");\n render(vnode, container);\n return { vnode, container };\n}\n\nfunction removeInstance(id: string) {\n const index = instances.findIndex((instance) => instance.id === id);\n if (index >= 0) {\n instances.splice(index, 1);\n\n if (instances.length === 0) {\n const container = document.body.querySelector(\".toast-container\");\n container?.remove();\n }\n }\n}\n\ntoast.success = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"success\", content });\ntoast.info = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"info\", content });\ntoast.warning = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"warning\", content });\ntoast.error = (content: string, props?: ToastApiProps) =>\n toast({ ...props, type: \"error\", content });\n\nexport { toast as Toast };\n"],"names":["TypeIcons","markRaw","IconCheckboxCircle","IconInformation","IconErrorWarning","IconCloseCircle","props","__props","emit","__emit","classes","computed","handleClose","_createElementBlock","_normalizeClass","_createElementVNode","_hoisted_1","_hoisted_2","_renderSlot","_ctx","_createBlock","_resolveDynamicComponent","type","title","$slots","_openBlock","_hoisted_3","closable","_createVNode","_unref","IconClose","description","_hoisted_4","_hoisted_5","AvatarGroupContextInjectionKey","groupProps","inject","size","circle","width","height","isLoading","ref","error","init","loadImage","isInit","image","resolve","reject","err","watch","onMounted","result","styles","placeholderText","words","_cache","_toDisplayString","src","alt","provide","router","useRouter","handleClick","disabled","loading","bodyClass","verticalCenter","label","_Fragment","content","createCache","t","n","s","e","c","r","cacheUpdateContextual","o","l","i","a","getApi","u","f","_","d","v","h","p","g","isUndefined","isNull","isNumber","isString","isBoolean","isFunction","isArray","isObject","isArrayLike","isPlainObject","isHTMLElement","isElement","each","inArray","concat","push","from","createOrKeepArray","isEmptyArray","deduplicateArray","runEachAndClear","b","w","S","y","m","O","$","C","x","H","I","z","E","equal","equalWH","equalXY","equalTRBL","noop","bind","selfClearTimeout","debounce","mergeParms","flush","hasOwnProperty","keys","assignDeep","removeUndefinedProperties","isEmptyObject","capNumber","getDomTokensArray","getAttr","setAttrs","removeAttrs","domTokenListAttr","domTokenListOperation","removeAttrClass","addAttrClass","addRemoveAttrClass","hasAttrClass","createDomTokenListClass","removeClass","addClass","A","find","findFirst","is","contents","parent","closest","liesBetween","removeElements","before","appendChildren","insertAfter","createDiv","createDOM","T","getCSSVal","validFiniteNumber","parseToZeroOrNumber","ratioToCssPercent","numberToCssPx","setStyles","getStyles","getDirectionIsRTL","topRightBottomLeft","getTrasformTranslateValue","D","getElmWidthHeightProperty","windowSize","k","R","M","fractionalSize","getBoundingClientRect","domRectHasDimensions","domRectAppeared","removeEventListener","addEventListener","stopPropagation","preventDefault","V","absoluteCoordinates","convertScrollPosition","getRawScrollBounds","getRawScrollRatio","scrollElementTo","getElmentScroll","manageListener","createEventListenerHub","removeEvent","addEvent","triggerEvent","opsStringify","getPropByPath","L","getOptionsDiff","createOptionCheck","P","U","B","N","j","F","q","W","X","Y","J","K","Z","G","Q","tt","nt","ot","st","et","ct","at","ut","ft","_t","dt","vt","ht","pt","gt","bt","wt","St","yt","mt","Ot","$t","Ct","xt","Ht","It","addPlugins","registerPluginModuleInstances","getStaticPluginModuleInstance","zt","Et","getShowNativeOverlaidScrollbars","overflowIsVisible","getViewportOverflowState","getStatePerAxis","setViewportOverflowState","setAxisOverflowStyle","Tt","kt","Mt","createEnvironment","getNativeScrollbarSize","getNativeScrollbarsHiding","getRtlScrollBehavior","getEnvironment","resolveInitialization","staticInitializationElement","dynamicInitializationElement","cancelInitialization","Vt","addInstance","removeInstance","getInstance","createEventContentChange","destroy","updateElements","createDOMObserver","observerCallback","createSizeObserver","onSizeChangedCallbackProxy","createTrinsicObserver","isHeightIntrinsic","triggerOnTrinsicChangedCallback","intersectionObserverCallback","onSizeChanged","createObserversSetup","setDirectionWhenViewportIsTarget","updateViewportAttrsFromHost","onTrinsicChanged","onContentMutation","onHostMutation","ignoreMutationFromOptions","createScrollbarsSetupElements","initScrollTimeline","getScrollbarHandleLengthRatio","getScrollbarHandleOffsetRatio","addDirectionRTLKeyframes","cancelElementAnimations","setElementAnimation","scrollbarStructureAddRemoveClass","scrollbarStyle","scrollbarStructureRefreshHandleLength","scrollbarStructureRefreshHandleOffset","getTransformValue","doRefreshScrollbarOffset","scrollbarsAddRemoveClass","refreshScrollbarsHandleLength","refreshScrollbarsHandleOffset","refreshScrollbarsScrollbarOffset","setScrollbarElementAnimation","styleScrollbarPosition","getTranslateValue","generateScrollbarDOM","appendElements","createScrollbarsSetupEvents","isAffectingTransition","createInteractiveScrollEvents","createRelativeHandleMove","getHandleOffset","releasePointerCapture","animateHandleOffset","createScrollbarsSetup","manageAutoHideSuspension","manageScrollbarsAutoHide","isHoverablePointerType","onHostMouseEnter","setScrollbarVisibility","createStructureSetupElements","getFocusedElement","focusElm","elementIsGenerated","rt","lt","unwrap","prepareWrapUnwrapFocus","revertViewportTabIndex","createTrinsicUpdateSegment","createPaddingUpdateSegment","createOverflowUpdateSegment","getOverflowAmount","fixFlexboxGlue","it","createStructureSetup","createSetups","update","updateHintsAreTruthy","OverlayScrollbars","validateOptions","translateScrollbarStructure","translateScrollbarsSetupElement","internalVisible","rootVisible","modelWrapper","wrapperClasses","contentStyles","__expose","focus","handleClickLayer","modalBody","reactiveParams","reactive","initialize","instance","useOverlayScrollbars","value","nextTick","_a","_Teleport","mountToBody","_withDirectives","_mergeProps","$attrs","_Transition","icons","IconForbidLine","handleCancel","handleConfirm","VModal","visible","uniqueId","_hoisted_7","VButton","confirmType","confirmText","showCancel","cancelText","_hoisted_6","defaultProps","DIALOG_CONTAINER_CLASS","MODAL_WRAPPER_CLASS","getOrCreateContainer","container","dialog","userProps","vnode","hostContainer","createVNodeComponent","DialogComponent","render","component","createVNode","sides","alignments","placements","acc","side","min","max","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","rl","tb","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","_ref","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","config","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","resetPlacement","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","isBasePlacement","fallbackPlacements","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$map$so","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","apply","heightSide","widthSide","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","maximumClippingWidth","maximumClippingHeight","xMin","xMax","yMin","yMax","nextDimensions","Ze","re","_e","Te","pe","ae","de","le","he","xe","Ue","Ye","Xe","Ke","Je","Qe","ne","ue","fe","Pe","ce","ke","Le","Fe","Re","vue","Ie","je","Ve","se","ee","te","$e","Ee","ve","Se","We","ze","Ae","Ne","Pt","Ge","qe","He","me","oe","ge","Oe","we","Me","Be","ie","DropdownContextInjectionKey","dropdownRef","hide","FloatingDropdown","triggers","onClick","selected","Empty","message","isSelected","VDropdown","IconMore","_hoisted_8","_hoisted_9","wrapperStyles","route","_component_RouterLink","slots","useSlots","open","openIds","hasSubmenus","handleExpand","active","IconArrowRight","totalPages","hasNext","hasPrevious","totalLabelText","onPageChange","event","target","page","onSizeChange","previous","next","showTotal","IconArrowLeft","_renderList","_hoisted_10","_hoisted_11","pageLabel","_hoisted_12","sizeOptions","sizeOption","index","_hoisted_14","_hoisted_15","sizeLabel","SpacingSize","align","_normalizeStyle","spacing","text","handleChange","modelValue","activeId","isActive","id","handleClickTabItem","tabbarItemsRef","tabItemRefs","itemWidthArr","indicatorRef","arrowFlag","tabbarWidth","useElementSize","arrowShow","show","scrollWidth","scrollLeft","clientWidth","handleHorizontalWheel","toLeft","toRight","saveItemsWidth","item","handleClickArrow","prev","hiddenNum","totalWith","scrollByX","lastItemWidth","overWidth","handleScroll","useThrottleFn","_b","onUnmounted","items","idKey","labelKey","tabItems","slotProps","VTabbar","timer","createTimer","close","clearTimer","handleMouseEnter","handleMouseLeave","watchEffect","count","instances","toast","ToastComponent"],"mappings":"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","x_google_ignoreList":[8,9,13,14,15,16]}