@halo-dev/components 2.17.0 → 2.19.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.
- package/dist/components/alert/Alert.stories.d.ts +0 -1
- package/dist/components/alert/Alert.vue.d.ts +28 -26
- package/dist/components/avatar/Avatar.stories.d.ts +0 -1
- package/dist/components/avatar/Avatar.vue.d.ts +11 -12
- package/dist/components/avatar/AvatarGroup.stories.d.ts +0 -1
- package/dist/components/avatar/AvatarGroup.vue.d.ts +16 -15
- package/dist/components/avatar/interface.d.ts +0 -1
- package/dist/components/button/Button.stories.d.ts +0 -1
- package/dist/components/button/Button.vue.d.ts +29 -28
- package/dist/components/card/Card.stories.d.ts +0 -1
- package/dist/components/card/Card.vue.d.ts +16 -14
- package/dist/components/description/Description.vue.d.ts +4 -2
- package/dist/components/description/DescriptionItem.vue.d.ts +20 -18
- package/dist/components/dialog/Dialog.stories.d.ts +0 -1
- package/dist/components/dialog/Dialog.vue.d.ts +31 -32
- package/dist/components/dialog/dialog-manager.d.ts +0 -1
- package/dist/components/dropdown/Draopdown.stories.d.ts +0 -1
- package/dist/components/dropdown/Dropdown.vue.d.ts +23 -22
- package/dist/components/dropdown/DropdownItem.vue.d.ts +22 -20
- package/dist/components/dropdown/symbols.d.ts +0 -1
- package/dist/components/empty/Empty.stories.d.ts +0 -1
- package/dist/components/empty/Empty.vue.d.ts +18 -16
- package/dist/components/entity/Entity.vue.d.ts +23 -21
- package/dist/components/entity/EntityField.vue.d.ts +26 -25
- package/dist/components/header/PageHeader.vue.d.ts +14 -12
- package/dist/components/loading/Loading.stories.d.ts +0 -1
- package/dist/components/menu/Menu.stories.d.ts +0 -1
- package/dist/components/menu/Menu.vue.d.ts +14 -12
- package/dist/components/menu/MenuItem.vue.d.ts +23 -21
- package/dist/components/menu/MenuLabel.vue.d.ts +4 -2
- package/dist/components/modal/Modal.stories.d.ts +0 -1
- package/dist/components/modal/Modal.vue.d.ts +38 -36
- package/dist/components/pagination/Pagination.stories.d.ts +0 -1
- package/dist/components/pagination/Pagination.vue.d.ts +27 -27
- package/dist/components/space/Space.stories.d.ts +0 -1
- package/dist/components/space/Space.vue.d.ts +23 -22
- package/dist/components/status/StatusDot.stories.d.ts +0 -1
- package/dist/components/status/StatusDot.vue.d.ts +22 -21
- package/dist/components/switch/Switch.stories.d.ts +0 -1
- package/dist/components/switch/Switch.vue.d.ts +22 -20
- package/dist/components/tabs/TabItem.vue.d.ts +16 -14
- package/dist/components/tabs/Tabbar.stories.d.ts +0 -1
- package/dist/components/tabs/Tabbar.vue.d.ts +23 -24
- package/dist/components/tabs/Tabs.stories.d.ts +0 -1
- package/dist/components/tabs/Tabs.vue.d.ts +27 -26
- package/dist/components/tag/Tag.stories.d.ts +0 -1
- package/dist/components/tag/Tag.vue.d.ts +24 -23
- package/dist/components/toast/Toast.vue.d.ts +30 -29
- package/dist/components/toast/toast-manager.d.ts +0 -1
- package/dist/halo-components.es.js +17 -32
- package/dist/halo-components.es.js.map +1 -1
- package/dist/halo-components.iife.js.map +1 -1
- package/dist/icons/icons.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"halo-components.es.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.4.27_typescript@5.3.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.4.27_typescript@5.4.5_/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 @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 transform 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 { Type as ButtonType } from \"@/components/button/interface\";\nimport type { 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(\n defineProps<{\n type?: Type;\n title?: string;\n description?: string;\n confirmText?: string;\n confirmType?: ButtonType;\n showCancel?: boolean;\n cancelText?: string;\n visible?: boolean;\n onConfirm?: () => void;\n onCancel?: () => void;\n }>(),\n {\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);\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=\"true\"\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: DialogEntry = (userProps: DialogProps) => {\n const props = {\n ...defaultProps,\n ...userProps,\n };\n\n let container = document.body.querySelector(\".dialog-container\");\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"dialog-container\";\n document.body.appendChild(container);\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n DialogComponent,\n props\n );\n\n if (hostContainer.firstElementChild) {\n container.appendChild(hostContainer.firstElementChild);\n }\n\n if (vnode.component?.props) {\n vnode.component.props.visible = true;\n }\n\n if (vnode?.props) {\n // close emit\n\n vnode.props.onClose = () => {\n container?.remove();\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-ignore -->\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","cacheUpdateContextual","o","l","i","r","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","userProps","container","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","De","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","_hoisted_2","_createElementVNode","_hoisted_3","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.es.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.4.27_typescript@5.5.4_/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.4.27_typescript@5.5.4_/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 @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 transform 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 { Type as ButtonType } from \"@/components/button/interface\";\nimport type { 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(\n defineProps<{\n type?: Type;\n title?: string;\n description?: string;\n confirmText?: string;\n confirmType?: ButtonType;\n showCancel?: boolean;\n cancelText?: string;\n visible?: boolean;\n onConfirm?: () => void;\n onCancel?: () => void;\n }>(),\n {\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);\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=\"true\"\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: DialogEntry = (userProps: DialogProps) => {\n const props = {\n ...defaultProps,\n ...userProps,\n };\n\n let container = document.body.querySelector(\".dialog-container\");\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"dialog-container\";\n document.body.appendChild(container);\n }\n\n const { vnode, container: hostContainer } = createVNodeComponent(\n DialogComponent,\n props\n );\n\n if (hostContainer.firstElementChild) {\n container.appendChild(hostContainer.firstElementChild);\n }\n\n if (vnode.component?.props) {\n vnode.component.props.visible = true;\n }\n\n if (vnode?.props) {\n // close emit\n\n vnode.props.onClose = () => {\n container?.remove();\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-ignore -->\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","cacheUpdateContextual","o","l","i","r","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","userProps","container","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","De","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","_hoisted_2","_createElementVNode","_hoisted_3","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]}
|