@halo-dev/components 1.7.0 → 1.8.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.
Files changed (34) hide show
  1. package/dist/components/alert/Alert.vue.d.ts +1 -1
  2. package/dist/components/avatar/Avatar.vue.d.ts +1 -1
  3. package/dist/components/button/Button.vue.d.ts +1 -1
  4. package/dist/components/card/Card.vue.d.ts +1 -1
  5. package/dist/components/description/Description.vue.d.ts +1 -1
  6. package/dist/components/description/DescriptionItem.vue.d.ts +1 -1
  7. package/dist/components/dialog/Dialog.vue.d.ts +1 -1
  8. package/dist/components/dropdown/Dropdown.vue.d.ts +6 -7
  9. package/dist/components/dropdown/DropdownDivider.vue.d.ts +1 -1
  10. package/dist/components/dropdown/DropdownItem.vue.d.ts +1 -1
  11. package/dist/components/empty/Empty.vue.d.ts +1 -1
  12. package/dist/components/entity/Entity.vue.d.ts +1 -1
  13. package/dist/components/entity/EntityField.vue.d.ts +1 -1
  14. package/dist/components/header/PageHeader.vue.d.ts +1 -1
  15. package/dist/components/loading/Loading.vue.d.ts +1 -1
  16. package/dist/components/menu/Menu.vue.d.ts +1 -1
  17. package/dist/components/menu/MenuItem.vue.d.ts +1 -1
  18. package/dist/components/menu/MenuLabel.vue.d.ts +1 -1
  19. package/dist/components/modal/Modal.vue.d.ts +1 -1
  20. package/dist/components/pagination/Pagination.vue.d.ts +1 -1
  21. package/dist/components/space/Space.vue.d.ts +1 -1
  22. package/dist/components/status/StatusDot.vue.d.ts +1 -1
  23. package/dist/components/switch/Switch.vue.d.ts +1 -1
  24. package/dist/components/tabs/TabItem.vue.d.ts +1 -1
  25. package/dist/components/tabs/Tabbar.vue.d.ts +1 -1
  26. package/dist/components/tabs/Tabs.vue.d.ts +1 -1
  27. package/dist/components/tag/Tag.vue.d.ts +1 -1
  28. package/dist/components/toast/Toast.vue.d.ts +2 -4
  29. package/dist/halo-components.es.js +2912 -2920
  30. package/dist/halo-components.es.js.map +1 -1
  31. package/dist/halo-components.iife.js +2 -2
  32. package/dist/halo-components.iife.js.map +1 -1
  33. package/dist/style.css +1 -1
  34. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"halo-components.es.js","sources":["../src/components/avatar/Avatar.vue","../src/components/alert/Alert.vue","../src/components/button/Button.vue","../src/components/menu/Menu.vue","../src/components/menu/MenuItem.vue","../src/components/menu/MenuLabel.vue","../../../node_modules/.pnpm/overlayscrollbars@2.1.1/node_modules/overlayscrollbars/overlayscrollbars.esm.js","../../../node_modules/.pnpm/overlayscrollbars-vue@0.5.1_overlayscrollbars@2.1.1_vue@3.2.45/node_modules/overlayscrollbars-vue/overlayscrollbars-vue.es.js","../src/components/modal/Modal.vue","../src/components/space/interface.ts","../src/components/space/Space.vue","../src/components/tabs/Tabs.vue","../src/components/tabs/TabItem.vue","../src/components/tabs/Tabbar.vue","../src/components/tag/Tag.vue","../src/components/switch/Switch.vue","../src/components/dialog/Dialog.vue","../src/components/dialog/dialog-manager.ts","../src/components/pagination/Pagination.vue","../src/components/empty/Empty.svg","../src/components/status/StatusDot.vue","../../../node_modules/.pnpm/@floating-ui+core@0.3.1/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../../node_modules/.pnpm/@floating-ui+dom@0.1.10/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../../node_modules/.pnpm/floating-vue@2.0.0-beta.20_vue@3.2.45/node_modules/floating-vue/dist/floating-vue.es.js","../src/components/dropdown/symbols.ts","../src/components/dropdown/Dropdown.vue","../src/components/dropdown/DropdownItem.vue","../src/components/dropdown/DropdownDivider.vue","../src/components/entity/Entity.vue","../src/components/entity/EntityField.vue","../src/components/toast/Toast.vue","../src/components/toast/toast-manager.ts","../src/components/loading/Loading.vue","../src/components/description/Description.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onMounted, ref } from \"vue\";\nimport { IconErrorWarning } from \"../../icons/icons\";\nimport type { Size } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n src?: string;\n alt?: string;\n size?: Size;\n width?: string;\n height?: string;\n circle?: boolean;\n }>(),\n {\n src: undefined,\n alt: undefined,\n size: \"md\",\n width: undefined,\n height: undefined,\n circle: false,\n }\n);\n\nconst isLoading = ref(false);\nconst error = ref(false);\n\nconst loadImage = async () => {\n if (!props.src) {\n return Promise.reject();\n }\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) => reject(err);\n });\n};\n\nonMounted(async () => {\n if (!props.src) {\n error.value = true;\n return;\n }\n\n isLoading.value = true;\n try {\n await loadImage();\n } catch (e) {\n error.value = true;\n } finally {\n isLoading.value = false;\n }\n});\n\nconst classes = computed(() => {\n const result = [`avatar-${props.circle ? \"circle\" : \"square\"}`];\n if (props.size) {\n result.push(`avatar-${props.size}`);\n }\n return result;\n});\n\nconst styles = computed(() => {\n const result: Record<string, string> = {};\n if (props.width) {\n result.width = props.width;\n }\n if (props.height) {\n result.height = props.height;\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 type { Component } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Type } from \"./interface\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconCloseCircle,\n IconErrorWarning,\n IconInformation,\n} from \"../../icons/icons\";\n\nconst TypeIcons: Record<Type, Component> = {\n success: IconCheckboxCircle,\n info: IconInformation,\n default: IconInformation,\n warning: IconErrorWarning,\n error: 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 class=\"alert-title\">\n {{ title }}\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","<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>\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 { IconArrowRight } from \"../../icons/icons\";\nimport { computed, inject, ref, useSlots } from \"vue\";\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 (hasSubmenus.value) {\n open.value = !open.value;\n return;\n }\n emit(\"select\", props.id);\n}\n</script>\n\n<template>\n <li\n :class=\"{ 'has-submenus': hasSubmenus }\"\n class=\"menu-item\"\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 >\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 p-2\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.open {\n transform: rotate(90deg);\n}\n\n.submenus-show-enter-active {\n transition: all 0.1s ease-out;\n}\n\n.submenus-show-leave-active {\n transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);\n}\n\n.submenus-show-enter-from,\n.submenus-show-enter-to {\n transform: translateY(-10px);\n opacity: 0;\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","/*!\n * OverlayScrollbars\n * Version: 2.1.1\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */\n\nfunction each(t, n) {\n if (isArrayLike(t)) {\n for (let o = 0; o < t.length; o++) {\n if (false === n(t[o], o, t)) {\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\nfunction style(t, n) {\n const o = isString(n);\n const s = isArray(n) || o;\n if (s) {\n let s = o ? \"\" : {};\n if (t) {\n const e = window.getComputedStyle(t, null);\n s = o ? getCSSVal(t, e, n) : n.reduce(((n, o) => {\n n[o] = getCSSVal(t, e, o);\n return n;\n }), s);\n }\n return s;\n }\n t && each(keys(n), (o => setCSSVal(t, o, n[o])));\n}\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 i = t;\n const l = n || (s ? !s(o, i) : o !== i);\n if (l || e) {\n c = i;\n r = o;\n }\n return [ c, l, 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 isClient = () => \"undefined\" !== typeof window;\n\nconst t = isClient() && Node.ELEMENT_NODE;\n\nconst {toString: n, hasOwnProperty: o} = Object.prototype;\n\nconst isUndefined = t => void 0 === t;\n\nconst isNull = t => null === t;\n\nconst type = t => isUndefined(t) || isNull(t) ? `${t}` : n.call(t).replace(/^\\[object (.+)\\]$/, \"$1\").toLowerCase();\n\nconst isNumber = t => \"number\" === typeof t;\n\nconst isString = t => \"string\" === typeof t;\n\nconst isBoolean = t => \"boolean\" === typeof t;\n\nconst isFunction = t => \"function\" === typeof t;\n\nconst isArray = t => Array.isArray(t);\n\nconst isObject = t => \"object\" === typeof t && !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) || \"object\" !== type(t)) {\n return false;\n }\n let n;\n const s = \"constructor\";\n const e = t[s];\n const c = e && e.prototype;\n const r = o.call(t, s);\n const i = c && o.call(c, \"isPrototypeOf\");\n if (e && !r && !i) {\n return false;\n }\n for (n in t) {}\n return isUndefined(n) || o.call(t, n);\n};\n\nconst isHTMLElement = n => {\n const o = HTMLElement;\n return n ? o ? n instanceof o : n.nodeType === t : false;\n};\n\nconst isElement = n => {\n const o = Element;\n return n ? o ? n instanceof o : n.nodeType === t : false;\n};\n\nconst indexOf = (t, n, o) => t.indexOf(n, o);\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 => {\n const n = Array.from;\n const o = [];\n if (n && t) {\n return n(t);\n }\n if (t instanceof Set) {\n t.forEach((t => {\n push(o, t);\n }));\n } else {\n each(t, (t => {\n push(o, t);\n }));\n }\n return o;\n};\n\nconst isEmptyArray = t => !!t && 0 === t.length;\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 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 i = [ n, o, s, e, c, r ];\n if ((\"object\" !== typeof t || isNull(t)) && !isFunction(t)) {\n t = {};\n }\n each(i, (n => {\n each(keys(n), (o => {\n const s = n[o];\n if (t === s) {\n return true;\n }\n const e = isArray(s);\n if (s && (isPlainObject(s) || e)) {\n const n = t[o];\n let c = n;\n if (e && !isArray(n)) {\n c = [];\n } else if (!e && !isPlainObject(n)) {\n c = {};\n }\n t[o] = assignDeep(c, s);\n } else {\n t[o] = s;\n }\n }));\n }));\n return t;\n};\n\nconst isEmptyObject = t => {\n for (const n in t) {\n return false;\n }\n return true;\n};\n\nconst getSetProp = (t, n, o, s) => {\n if (isUndefined(s)) {\n return o ? o[t] : n;\n }\n o && (isString(s) || isNumber(s)) && (o[t] = s);\n};\n\nconst attr = (t, n, o) => {\n if (isUndefined(o)) {\n return t ? t.getAttribute(n) : null;\n }\n t && t.setAttribute(n, o);\n};\n\nconst attrClass = (t, n, o, s) => {\n if (o) {\n const e = attr(t, n) || \"\";\n const c = new Set(e.split(\" \"));\n c[s ? \"add\" : \"delete\"](o);\n attr(t, n, from(c).join(\" \").trim());\n }\n};\n\nconst hasAttrClass = (t, n, o) => {\n const s = attr(t, n) || \"\";\n const e = new Set(s.split(\" \"));\n return e.has(o);\n};\n\nconst removeAttr = (t, n) => {\n t && t.removeAttribute(n);\n};\n\nconst scrollLeft = (t, n) => getSetProp(\"scrollLeft\", 0, t, n);\n\nconst scrollTop = (t, n) => getSetProp(\"scrollTop\", 0, t, n);\n\nconst s = isClient() && Element.prototype;\n\nconst find = (t, n) => {\n const o = [];\n const s = n ? isElement(n) ? n : null : document;\n return s ? push(o, s.querySelectorAll(t)) : o;\n};\n\nconst findFirst = (t, n) => {\n const o = n ? isElement(n) ? n : null : document;\n return o ? o.querySelector(t) : null;\n};\n\nconst is = (t, n) => {\n if (isElement(t)) {\n const o = s.matches || s.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 : null;\n\nconst closest = (t, n) => {\n if (isElement(t)) {\n const o = s.closest;\n if (o) {\n return o.call(t, n);\n }\n do {\n if (is(t, n)) {\n return t;\n }\n t = parent(t);\n } while (t);\n }\n return null;\n};\n\nconst liesBetween = (t, n, o) => {\n const s = t && 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 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 }\n};\n\nconst appendChildren = (t, n) => {\n before(t, null, n);\n};\n\nconst insertBefore = (t, n) => {\n before(parent(t), t, n);\n};\n\nconst insertAfter = (t, n) => {\n before(parent(t), t && t.nextSibling, n);\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 if (n) {\n n.removeChild(t);\n }\n }\n};\n\nconst createDiv = t => {\n const n = document.createElement(\"div\");\n if (t) {\n attr(n, \"class\", t);\n }\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 firstLetterToUpper = t => t.charAt(0).toUpperCase() + t.slice(1);\n\nconst getDummyStyle = () => createDiv().style;\n\nconst e = [ \"-webkit-\", \"-moz-\", \"-o-\", \"-ms-\" ];\n\nconst c = [ \"WebKit\", \"Moz\", \"O\", \"MS\", \"webkit\", \"moz\", \"o\", \"ms\" ];\n\nconst r = {};\n\nconst i = {};\n\nconst cssProperty = t => {\n let n = i[t];\n if (hasOwnProperty(i, t)) {\n return n;\n }\n const o = firstLetterToUpper(t);\n const s = getDummyStyle();\n each(e, (e => {\n const c = e.replace(/-/g, \"\");\n const r = [ t, e + t, c + o, firstLetterToUpper(c) + o ];\n return !(n = r.find((t => void 0 !== s[t])));\n }));\n return i[t] = n || \"\";\n};\n\nconst jsAPI = t => {\n if (isClient()) {\n let n = r[t] || window[t];\n if (hasOwnProperty(r, t)) {\n return n;\n }\n each(c, (o => {\n n = n || window[o + firstLetterToUpper(t)];\n return !n;\n }));\n r[t] = n;\n return n;\n }\n};\n\nconst l = jsAPI(\"MutationObserver\");\n\nconst a = jsAPI(\"IntersectionObserver\");\n\nconst u = jsAPI(\"ResizeObserver\");\n\nconst d = jsAPI(\"cancelAnimationFrame\");\n\nconst f = jsAPI(\"requestAnimationFrame\");\n\nconst _ = isClient() && window.setTimeout;\n\nconst h = isClient() && window.clearTimeout;\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 equalBCRWH = (t, n, o) => equal(t, n, [ \"width\", \"height\" ], o && (t => Math.round(t)));\n\nconst noop = () => {};\n\nconst selfClearTimeout = t => {\n let n;\n const o = t ? _ : f;\n const s = t ? h : d;\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: r, g: i, p: l} = n || {};\n const a = function invokeFunctionToDebounce(n) {\n c();\n h(o);\n o = s = void 0;\n c = noop;\n t.apply(this, n);\n };\n const mergeParms = t => l && s ? l(s, t) : t;\n const flush = () => {\n if (c !== noop) {\n a(mergeParms(e) || e);\n }\n };\n const u = function debouncedFn() {\n const t = from(arguments);\n const n = isFunction(r) ? r() : r;\n const l = isNumber(n) && n >= 0;\n if (l) {\n const r = isFunction(i) ? i() : i;\n const l = isNumber(r) && r >= 0;\n const u = n > 0 ? _ : f;\n const v = n > 0 ? h : d;\n const g = mergeParms(t);\n const w = g || t;\n const p = a.bind(0, w);\n c();\n const b = u(p, n);\n c = () => v(b);\n if (l && !o) {\n o = _(flush, r);\n }\n s = e = w;\n } else {\n a(t);\n }\n };\n u.m = flush;\n return u;\n};\n\nconst {max: v} = Math;\n\nconst animationCurrentTime = () => performance.now();\n\nconst animateNumber = (t, n, o, s, e) => {\n let c = 0;\n const r = animationCurrentTime();\n const i = Math.max(0, o);\n const frame = o => {\n const l = animationCurrentTime();\n const a = l - r;\n const u = a >= i;\n const d = o ? 1 : 1 - (v(0, r + i - l) / i || 0);\n const _ = (n - t) * (isFunction(e) ? e(d, d * i, 0, 1, i) : d) + t;\n const h = u || 1 === d;\n s && s(_, d, h);\n c = h ? 0 : f((() => frame()));\n };\n frame();\n return t => {\n d(c);\n t && frame(t);\n };\n};\n\nconst g = /[^\\x20\\t\\r\\n\\f]+/g;\n\nconst classListAction = (t, n, o) => {\n const s = t && t.classList;\n let e;\n let c = 0;\n let r = false;\n if (s && n && isString(n)) {\n const t = n.match(g) || [];\n r = t.length > 0;\n while (e = t[c++]) {\n r = !!o(s, e) && r;\n }\n }\n return r;\n};\n\nconst hasClass = (t, n) => classListAction(t, n, ((t, n) => t.contains(n)));\n\nconst removeClass = (t, n) => {\n classListAction(t, n, ((t, n) => t.remove(n)));\n};\n\nconst addClass = (t, n) => {\n classListAction(t, n, ((t, n) => t.add(n)));\n return removeClass.bind(0, t, n);\n};\n\nconst w = {\n opacity: 1,\n zindex: 1\n};\n\nconst parseToZeroOrNumber = (t, n) => {\n const o = n ? parseFloat(t) : parseInt(t, 10);\n return o === o ? o : 0;\n};\n\nconst adaptCSSVal = (t, n) => !w[t.toLowerCase()] && isNumber(n) ? `${n}px` : n;\n\nconst getCSSVal = (t, n, o) => null != n ? n[o] || n.getPropertyValue(o) : t.style[o];\n\nconst setCSSVal = (t, n, o) => {\n try {\n const {style: s} = t;\n if (!isUndefined(s[n])) {\n s[n] = adaptCSSVal(n, o);\n } else {\n s.setProperty(n, o);\n }\n } catch (s) {}\n};\n\nconst directionIsRTL = t => \"rtl\" === style(t, \"direction\");\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 i = `${s}bottom${e}`;\n const l = `${s}left${e}`;\n const a = style(t, [ c, r, i, l ]);\n return {\n t: parseToZeroOrNumber(a[c], true),\n r: parseToZeroOrNumber(a[r], true),\n b: parseToZeroOrNumber(a[i], true),\n l: parseToZeroOrNumber(a[l], true)\n };\n};\n\nconst {round: p} = Math;\n\nconst b = {\n w: 0,\n h: 0\n};\n\nconst windowSize = () => ({\n w: window.innerWidth,\n h: window.innerHeight\n});\n\nconst offsetSize = t => t ? {\n w: t.offsetWidth,\n h: t.offsetHeight\n} : b;\n\nconst clientSize = t => t ? {\n w: t.clientWidth,\n h: t.clientHeight\n} : b;\n\nconst scrollSize = t => t ? {\n w: t.scrollWidth,\n h: t.scrollHeight\n} : b;\n\nconst fractionalSize = t => {\n const n = parseFloat(style(t, \"height\")) || 0;\n const o = parseFloat(style(t, \"width\")) || 0;\n return {\n w: o - p(o),\n h: n - p(n)\n };\n};\n\nconst getBoundingClientRect = t => t.getBoundingClientRect();\n\nlet m;\n\nconst supportPassiveEvents = () => {\n if (isUndefined(m)) {\n m = false;\n try {\n window.addEventListener(\"test\", null, Object.defineProperty({}, \"passive\", {\n get() {\n m = true;\n }\n }));\n } catch (t) {}\n }\n return m;\n};\n\nconst splitEventNames = t => t.split(\" \");\n\nconst off = (t, n, o, s) => {\n each(splitEventNames(n), (n => {\n t.removeEventListener(n, o, s);\n }));\n};\n\nconst on = (t, n, o, s) => {\n var e;\n const c = supportPassiveEvents();\n const r = null != (e = c && s && s.S) ? e : c;\n const i = s && s.$ || false;\n const l = s && s.C || false;\n const a = [];\n const u = c ? {\n passive: r,\n capture: i\n } : i;\n each(splitEventNames(n), (n => {\n const s = l ? e => {\n t.removeEventListener(n, s, i);\n o && o(e);\n } : o;\n push(a, off.bind(null, t, n, s, i));\n t.addEventListener(n, s, u);\n }));\n return runEachAndClear.bind(0, a);\n};\n\nconst stopPropagation = t => t.stopPropagation();\n\nconst preventDefault = t => t.preventDefault();\n\nconst y = {\n x: 0,\n y: 0\n};\n\nconst absoluteCoordinates = t => {\n const n = t ? getBoundingClientRect(t) : 0;\n return n ? {\n x: n.left + window.pageYOffset,\n y: n.top + window.pageXOffset\n } : y;\n};\n\nconst manageListener = (t, n) => {\n each(isArray(n) ? n : [ 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 removeEvent.bind(0, 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 runEachAndClear.bind(0, e);\n };\n const triggerEvent = (t, o) => {\n const s = n.get(t);\n each(from(s), (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 new Error;\n }\n return n;\n}));\n\nconst S = {\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 dragScroll: true,\n clickScroll: false,\n pointers: [ \"mouse\", \"touch\", \"pen\" ]\n }\n};\n\nconst getOptionsDiff = (t, n) => {\n const o = {};\n const s = keys(n).concat(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 x = \"os-environment\";\n\nconst $ = `${x}-flexbox-glue`;\n\nconst C = `${$}-max`;\n\nconst O = \"data-overlayscrollbars\";\n\nconst z = \"data-overlayscrollbars-initialize\";\n\nconst T = `${O}-overflow-x`;\n\nconst E = `${O}-overflow-y`;\n\nconst I = \"overflowVisible\";\n\nconst A = \"scrollbarHidden\";\n\nconst L = \"updating\";\n\nconst H = \"os-padding\";\n\nconst P = \"os-viewport\";\n\nconst M = `${P}-arrange`;\n\nconst D = \"os-content\";\n\nconst R = `${P}-scrollbar-hidden`;\n\nconst k = `os-overflow-visible`;\n\nconst B = \"os-size-observer\";\n\nconst V = `${B}-appear`;\n\nconst Y = `${B}-listener`;\n\nconst j = `${Y}-scroll`;\n\nconst N = `${Y}-item`;\n\nconst q = `${N}-final`;\n\nconst F = \"os-trinsic-observer\";\n\nconst G = \"os-no-css-vars\";\n\nconst X = \"os-theme-none\";\n\nconst U = \"os-scrollbar\";\n\nconst W = `${U}-rtl`;\n\nconst Z = `${U}-horizontal`;\n\nconst J = `${U}-vertical`;\n\nconst K = `${U}-track`;\n\nconst Q = `${U}-handle`;\n\nconst tt = `${U}-visible`;\n\nconst nt = `${U}-cornerless`;\n\nconst ot = `${U}-transitionless`;\n\nconst st = `${U}-interaction`;\n\nconst et = `${U}-unusable`;\n\nconst ct = `${U}-auto-hidden`;\n\nconst rt = `${U}-wheel`;\n\nconst it = `${K}-interactive`;\n\nconst lt = `${Q}-interactive`;\n\nconst at = {};\n\nconst getPlugins = () => at;\n\nconst addPlugin = t => {\n const n = [];\n each(isArray(t) ? t : [ t ], (t => {\n const o = keys(t);\n each(o, (o => {\n push(n, at[o] = t[o]);\n }));\n }));\n return n;\n};\n\nconst ut = {\n boolean: \"__TPL_boolean_TYPE__\",\n number: \"__TPL_number_TYPE__\",\n string: \"__TPL_string_TYPE__\",\n array: \"__TPL_array_TYPE__\",\n object: \"__TPL_object_TYPE__\",\n function: \"__TPL_function_TYPE__\",\n null: \"__TPL_null_TYPE__\"\n};\n\nconst dt = ut.number;\n\nconst ft = ut.boolean;\n\nconst _t = [ ut.array, ut.null ];\n\nconst ht = \"hidden scroll visible visible-hidden\";\n\nconst vt = \"visible hidden auto\";\n\nconst gt = \"never scroll leavemove\";\n\n({\n paddingAbsolute: ft,\n showNativeOverlaidScrollbars: ft,\n update: {\n elementEvents: _t,\n attributes: _t,\n debounce: [ ut.number, ut.array, ut.null ],\n ignoreMutation: [ ut.function, ut.null ]\n },\n overflow: {\n x: ht,\n y: ht\n },\n scrollbars: {\n theme: [ ut.string, ut.null ],\n visibility: vt,\n autoHide: gt,\n autoHideDelay: dt,\n dragScroll: ft,\n clickScroll: ft,\n pointers: [ ut.array, ut.null ]\n }\n});\n\nconst wt = \"__osOptionsValidationPlugin\";\n\nconst pt = 3333333;\n\nconst bt = \"scroll\";\n\nconst mt = \"__osSizeObserverPlugin\";\n\nconst yt = /* @__PURE__ */ (() => ({\n [mt]: {\n O: (t, n, o) => {\n const s = createDOM(`<div class=\"${N}\" dir=\"ltr\"><div class=\"${N}\"><div class=\"${q}\"></div></div><div class=\"${N}\"><div class=\"${q}\" style=\"width: 200%; height: 200%\"></div></div></div>`);\n appendChildren(t, s);\n addClass(t, j);\n const e = s[0];\n const c = e.lastChild;\n const r = e.firstChild;\n const i = null == r ? void 0 : r.firstChild;\n let l = offsetSize(e);\n let a = l;\n let u = false;\n let _;\n const reset = () => {\n scrollLeft(r, pt);\n scrollTop(r, pt);\n scrollLeft(c, pt);\n scrollTop(c, pt);\n };\n const onResized = t => {\n _ = 0;\n if (u) {\n l = a;\n n(true === t);\n }\n };\n const onScroll = t => {\n a = offsetSize(e);\n u = !t || !equalWH(a, l);\n if (t) {\n stopPropagation(t);\n if (u && !_) {\n d(_);\n _ = f(onResized);\n }\n } else {\n onResized(false === t);\n }\n reset();\n };\n const h = push([], [ on(r, bt, onScroll), on(c, bt, onScroll) ]);\n style(i, {\n width: pt,\n height: pt\n });\n f(reset);\n return [ o ? onScroll.bind(0, false) : reset, h ];\n }\n }\n}))();\n\nlet St = 0;\n\nconst {round: xt, abs: $t} = Math;\n\nconst getWindowDPR = () => {\n const t = window.screen.deviceXDPI || 0;\n const n = window.screen.logicalXDPI || 1;\n return window.devicePixelRatio || t / n;\n};\n\nconst diffBiggerThanOne = (t, n) => {\n const o = $t(t);\n const s = $t(n);\n return !(o === s || o + 1 === s || o - 1 === s);\n};\n\nconst Ct = \"__osScrollbarsHidingPlugin\";\n\nconst Ot = /* @__PURE__ */ (() => ({\n [Ct]: {\n T: t => {\n const {I: n, A: o, L: s} = t;\n const e = !s && !n && (o.x || o.y);\n const c = e ? document.createElement(\"style\") : false;\n if (c) {\n attr(c, \"id\", `${M}-${St}`);\n St++;\n }\n return c;\n },\n H: (t, n, o, s, e, c, r) => {\n const arrangeViewport = (n, c, r, i) => {\n if (t) {\n const {P: t} = e();\n const {M: l, D: a} = n;\n const {x: u, y: d} = a;\n const {x: f, y: _} = l;\n const h = i ? \"paddingRight\" : \"paddingLeft\";\n const v = t[h];\n const g = t.paddingTop;\n const w = c.w + r.w;\n const p = c.h + r.h;\n const b = {\n w: _ && d ? `${_ + w - v}px` : \"\",\n h: f && u ? `${f + p - g}px` : \"\"\n };\n if (s) {\n const {sheet: t} = s;\n if (t) {\n const {cssRules: n} = t;\n if (n) {\n if (!n.length) {\n t.insertRule(`#${attr(s, \"id\")} + .${M}::before {}`, 0);\n }\n const o = n[0].style;\n o.width = b.w;\n o.height = b.h;\n }\n }\n } else {\n style(o, {\n \"--os-vaw\": b.w,\n \"--os-vah\": b.h\n });\n }\n }\n return t;\n };\n const undoViewportArrange = (s, i, l) => {\n if (t) {\n const a = l || c(s);\n const {P: u} = e();\n const {D: d} = a;\n const {x: f, y: _} = d;\n const h = {};\n const assignProps = t => each(t.split(\" \"), (t => {\n h[t] = u[t];\n }));\n if (f) {\n assignProps(\"marginBottom paddingTop paddingBottom\");\n }\n if (_) {\n assignProps(\"marginLeft marginRight paddingLeft paddingRight\");\n }\n const v = style(o, keys(h));\n removeClass(o, M);\n if (!n) {\n h.height = \"\";\n }\n style(o, h);\n return [ () => {\n r(a, i, t, v);\n style(o, v);\n addClass(o, M);\n }, a ];\n }\n return [ noop ];\n };\n return [ arrangeViewport, undoViewportArrange ];\n },\n R: () => {\n let t = {\n w: 0,\n h: 0\n };\n let n = 0;\n return (o, s, e) => {\n const c = windowSize();\n const r = {\n w: c.w - t.w,\n h: c.h - t.h\n };\n if (0 === r.w && 0 === r.h) {\n return;\n }\n const i = {\n w: $t(r.w),\n h: $t(r.h)\n };\n const l = {\n w: $t(xt(c.w / (t.w / 100))),\n h: $t(xt(c.h / (t.h / 100)))\n };\n const a = getWindowDPR();\n const u = i.w > 2 && i.h > 2;\n const d = !diffBiggerThanOne(l.w, l.h);\n const f = a !== n && a > 0;\n const _ = u && d && f;\n if (_) {\n const [t, n] = s();\n assignDeep(o.k, t);\n if (n) {\n e();\n }\n }\n t = c;\n n = a;\n };\n }\n }\n}))();\n\nconst zt = \"__osClickScrollPlugin\";\n\nconst Tt = /* @__PURE__ */ (() => ({\n [zt]: {\n O: (t, n, o, s, e) => {\n let c = 0;\n let r = noop;\n const animateClickScroll = i => {\n r = animateNumber(i, i + s * Math.sign(o), 133, ((o, i, l) => {\n t(o);\n const a = n();\n const u = a + s;\n const d = e >= a && e <= u;\n if (l && !d) {\n if (c) {\n animateClickScroll(o);\n } else {\n const t = setTimeout((() => {\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 Et;\n\nconst getNativeScrollbarSize = (t, n, o, s) => {\n appendChildren(t, n);\n const e = clientSize(n);\n const c = offsetSize(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\nconst getNativeScrollbarsHiding = t => {\n let n = false;\n const o = addClass(t, R);\n try {\n n = \"none\" === style(t, cssProperty(\"scrollbar-width\")) || \"none\" === window.getComputedStyle(t, \"::-webkit-scrollbar\").getPropertyValue(\"display\");\n } catch (s) {}\n o();\n return n;\n};\n\nconst getRtlScrollBehavior = (t, n) => {\n const o = \"hidden\";\n style(t, {\n overflowX: o,\n overflowY: o,\n direction: \"rtl\"\n });\n scrollLeft(t, 0);\n const s = absoluteCoordinates(t);\n const e = absoluteCoordinates(n);\n scrollLeft(t, -999);\n const c = absoluteCoordinates(n);\n return {\n i: s.x === e.x,\n n: e.x !== c.x\n };\n};\n\nconst getFlexboxGlue = (t, n) => {\n const o = addClass(t, $);\n const s = getBoundingClientRect(t);\n const e = getBoundingClientRect(n);\n const c = equalBCRWH(e, s, true);\n const r = addClass(t, C);\n const i = getBoundingClientRect(t);\n const l = getBoundingClientRect(n);\n const a = equalBCRWH(l, i, true);\n o();\n r();\n return c && a;\n};\n\nconst createEnvironment = () => {\n const {body: t} = document;\n const n = createDOM(`<div class=\"${x}\"><div></div></div>`);\n const o = n[0];\n const s = o.firstChild;\n const [e, , c] = createEventListenerHub();\n const [r, i] = createCache({\n o: getNativeScrollbarSize(t, o, s),\n u: equalXY\n }, getNativeScrollbarSize.bind(0, t, o, s, true));\n const [l] = i();\n const a = getNativeScrollbarsHiding(o);\n const u = {\n x: 0 === l.x,\n y: 0 === l.y\n };\n const d = {\n elements: {\n host: null,\n padding: !a,\n viewport: t => a && 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 f = assignDeep({}, S);\n const _ = assignDeep.bind(0, {}, f);\n const h = assignDeep.bind(0, {}, d);\n const v = {\n k: l,\n A: u,\n I: a,\n L: \"-1\" === style(o, \"zIndex\"),\n B: getRtlScrollBehavior(o, s),\n V: getFlexboxGlue(o, s),\n Y: e.bind(0, \"z\"),\n j: e.bind(0, \"r\"),\n N: h,\n q: t => assignDeep(d, t) && h(),\n F: _,\n G: t => assignDeep(f, t) && _(),\n X: assignDeep({}, d),\n U: assignDeep({}, f)\n };\n const g = window.addEventListener;\n const w = debounce((t => c(t ? \"z\" : \"r\")), {\n v: 33,\n g: 99\n });\n removeAttr(o, \"style\");\n removeElements(o);\n g(\"resize\", w.bind(0, false));\n if (!a && (!u.x || !u.y)) {\n let t;\n g(\"resize\", (() => {\n const n = getPlugins()[Ct];\n t = t || n && n.R();\n t && t(v, r, w.bind(0, true));\n }));\n }\n return v;\n};\n\nconst getEnvironment = () => {\n if (!Et) {\n Et = createEnvironment();\n }\n return Et;\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, o) => {\n const {nativeScrollbarsOverlaid: s, body: e} = o || {};\n const {A: c, I: r} = getEnvironment();\n const {nativeScrollbarsOverlaid: i, body: l} = n;\n const a = null != s ? s : i;\n const u = isUndefined(e) ? l : e;\n const d = (c.x || c.y) && a;\n const f = t && (isNull(u) ? !r : u);\n return !!d || !!f;\n};\n\nconst It = new WeakMap;\n\nconst addInstance = (t, n) => {\n It.set(t, n);\n};\n\nconst removeInstance = t => {\n It.delete(t);\n};\n\nconst getInstance = t => It.get(t);\n\nconst getPropByPath = (t, n) => t ? n.split(\".\").reduce(((t, n) => t && hasOwnProperty(t, n) ? t[n] : void 0), t) : void 0;\n\nconst createOptionCheck = (t, n, o) => s => [ getPropByPath(t, s), o || void 0 !== getPropByPath(n, s) ];\n\nconst createState = t => {\n let n = t;\n return [ () => n, t => {\n n = assignDeep({}, n, t);\n } ];\n};\n\nconst At = \"tabindex\";\n\nconst Lt = createDiv.bind(0, \"\");\n\nconst unwrap = t => {\n appendChildren(parent(t), contents(t));\n removeElements(t);\n};\n\nconst createStructureSetupElements = t => {\n const n = getEnvironment();\n const {N: o, I: s} = n;\n const e = getPlugins()[Ct];\n const c = e && e.T;\n const {elements: r} = o();\n const {host: i, padding: l, viewport: a, content: u} = r;\n const d = isHTMLElement(t);\n const f = d ? {} : t;\n const {elements: _} = f;\n const {host: h, padding: v, viewport: g, content: w} = _ || {};\n const p = d ? t : f.target;\n const b = is(p, \"textarea\");\n const m = p.ownerDocument;\n const y = m.documentElement;\n const S = p === m.body;\n const x = m.defaultView;\n const $ = staticInitializationElement.bind(0, [ p ]);\n const C = dynamicInitializationElement.bind(0, [ p ]);\n const I = resolveInitialization.bind(0, [ p ]);\n const A = $.bind(0, Lt, a);\n const L = C.bind(0, Lt, u);\n const M = A(g);\n const k = M === p;\n const B = k && S;\n const V = !k && L(w);\n const Y = !k && isHTMLElement(M) && M === V;\n const j = Y && !!I(u);\n const N = j ? A() : M;\n const q = j ? V : L();\n const F = Y ? N : M;\n const G = B ? y : F;\n const X = b ? $(Lt, i, h) : p;\n const U = B ? G : X;\n const W = Y ? q : V;\n const Z = m.activeElement;\n const J = !k && x.top === x && Z === p;\n const K = {\n W: p,\n Z: U,\n J: G,\n K: !k && C(Lt, l, v),\n tt: W,\n nt: !k && !s && c && c(n),\n ot: B ? y : G,\n st: B ? m : G,\n et: x,\n ct: m,\n rt: b,\n it: S,\n lt: d,\n ut: k,\n dt: Y,\n ft: (t, n) => k ? hasAttrClass(G, O, n) : hasClass(G, t),\n _t: (t, n, o) => k ? attrClass(G, O, n, o) : (o ? addClass : removeClass)(G, t)\n };\n const Q = keys(K).reduce(((t, n) => {\n const o = K[n];\n return push(t, o && !parent(o) ? o : false);\n }), []);\n const elementIsGenerated = t => t ? indexOf(Q, t) > -1 : null;\n const {W: tt, Z: nt, K: ot, J: st, tt: et, nt: ct} = K;\n const rt = [ () => {\n removeAttr(nt, O);\n removeAttr(nt, z);\n removeAttr(tt, z);\n if (S) {\n removeAttr(y, O);\n removeAttr(y, z);\n }\n } ];\n const it = b && elementIsGenerated(nt);\n let lt = b ? tt : contents([ et, st, ot, nt, tt ].find((t => false === elementIsGenerated(t))));\n const at = B ? tt : et || st;\n const appendElements = () => {\n attr(nt, O, k ? \"viewport\" : \"host\");\n const t = addClass(ot, H);\n const n = addClass(st, !k && P);\n const o = addClass(et, D);\n const e = S && !k ? addClass(parent(p), R) : noop;\n if (it) {\n insertAfter(tt, nt);\n push(rt, (() => {\n insertAfter(nt, tt);\n removeElements(nt);\n }));\n }\n appendChildren(at, lt);\n appendChildren(nt, ot);\n appendChildren(ot || nt, !k && st);\n appendChildren(st, et);\n push(rt, (() => {\n e();\n removeAttr(st, T);\n removeAttr(st, E);\n if (elementIsGenerated(et)) {\n unwrap(et);\n }\n if (elementIsGenerated(st)) {\n unwrap(st);\n }\n if (elementIsGenerated(ot)) {\n unwrap(ot);\n }\n t();\n n();\n o();\n }));\n if (s && !k) {\n push(rt, removeClass.bind(0, st, R));\n }\n if (ct) {\n insertBefore(st, ct);\n push(rt, removeElements.bind(0, ct));\n }\n if (J) {\n const t = attr(st, At);\n attr(st, At, \"-1\");\n st.focus();\n const revertViewportTabIndex = () => t ? attr(st, At, t) : removeAttr(st, At);\n const n = on(m, \"pointerdown keydown\", (() => {\n revertViewportTabIndex();\n n();\n }));\n push(rt, [ revertViewportTabIndex, n ]);\n } else if (Z && Z.focus) {\n Z.focus();\n }\n lt = 0;\n };\n return [ K, appendElements, runEachAndClear.bind(0, rt) ];\n};\n\nconst createTrinsicUpdateSegment = (t, n) => {\n const {tt: o} = t;\n const [s] = n;\n return t => {\n const {V: n} = getEnvironment();\n const {ht: e} = s();\n const {vt: c} = t;\n const r = (o || !n) && c;\n if (r) {\n style(o, {\n height: e ? \"\" : \"100%\"\n });\n }\n return {\n gt: r,\n wt: r\n };\n };\n};\n\nconst createPaddingUpdateSegment = (t, n) => {\n const [o, s] = n;\n const {Z: e, K: c, J: r, ut: i} = t;\n const [l, a] = createCache({\n u: equalTRBL,\n o: topRightBottomLeft()\n }, topRightBottomLeft.bind(0, e, \"padding\", \"\"));\n return (t, n, e) => {\n let [u, d] = a(e);\n const {I: f, V: _} = getEnvironment();\n const {bt: h} = o();\n const {gt: v, wt: g, yt: w} = t;\n const [p, b] = n(\"paddingAbsolute\");\n const m = !_ && g;\n if (v || d || m) {\n [u, d] = l(e);\n }\n const y = !i && (b || w || d);\n if (y) {\n const t = !p || !c && !f;\n const n = u.r + u.l;\n const o = u.t + u.b;\n const e = {\n marginRight: t && !h ? -n : 0,\n marginBottom: t ? -o : 0,\n marginLeft: t && h ? -n : 0,\n top: t ? -u.t : 0,\n right: t ? h ? -u.r : \"auto\" : 0,\n left: t ? h ? \"auto\" : -u.l : 0,\n width: t ? `calc(100% + ${n}px)` : \"\"\n };\n const i = {\n paddingTop: t ? u.t : 0,\n paddingRight: t ? u.r : 0,\n paddingBottom: t ? u.b : 0,\n paddingLeft: t ? u.l : 0\n };\n style(c || r, e);\n style(r, i);\n s({\n K: u,\n St: !t,\n P: c ? i : assignDeep({}, e, i)\n });\n }\n return {\n xt: y\n };\n };\n};\n\nconst {max: Ht} = Math;\n\nconst Pt = Ht.bind(0, 0);\n\nconst Mt = \"visible\";\n\nconst Dt = \"hidden\";\n\nconst Rt = 42;\n\nconst kt = {\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n};\n\nconst Bt = {\n u: equalXY,\n o: {\n x: Dt,\n y: Dt\n }\n};\n\nconst getOverflowAmount = (t, n) => {\n const o = window.devicePixelRatio % 1 !== 0 ? 1 : 0;\n const s = {\n w: Pt(t.w - n.w),\n h: Pt(t.h - n.h)\n };\n return {\n w: s.w > o ? s.w : 0,\n h: s.h > o ? s.h : 0\n };\n};\n\nconst conditionalClass = (t, n, o) => o ? addClass(t, n) : removeClass(t, n);\n\nconst overflowIsVisible = t => 0 === t.indexOf(Mt);\n\nconst createOverflowUpdateSegment = (t, n) => {\n const [o, s] = n;\n const {Z: e, K: c, J: r, nt: i, ut: l, _t: a, it: u, et: d} = t;\n const {k: f, V: _, I: h, A: v} = getEnvironment();\n const g = getPlugins()[Ct];\n const w = !l && !h && (v.x || v.y);\n const p = u && l;\n const [b, m] = createCache(kt, fractionalSize.bind(0, r));\n const [y, S] = createCache(kt, scrollSize.bind(0, r));\n const [x, $] = createCache(kt);\n const [C, z] = createCache(kt);\n const [L] = createCache(Bt);\n const fixFlexboxGlue = (t, n) => {\n style(r, {\n height: \"\"\n });\n if (n) {\n const {St: n, K: s} = o();\n const {$t: c, M: i} = t;\n const l = fractionalSize(e);\n const a = clientSize(e);\n const u = \"content-box\" === style(r, \"boxSizing\");\n const d = n || u ? s.b + s.t : 0;\n const f = !(v.x && u);\n style(r, {\n height: a.h + l.h + (c.x && f ? i.x : 0) - d\n });\n }\n };\n const getViewportOverflowState = (t, n) => {\n const o = !h && !t ? Rt : 0;\n const getStatePerAxis = (t, s, e) => {\n const c = style(r, t);\n const i = n ? n[t] : c;\n const l = \"scroll\" === i;\n const a = s ? o : e;\n const u = l && !h ? a : 0;\n const d = s && !!o;\n return [ c, l, u, d ];\n };\n const [s, e, c, i] = getStatePerAxis(\"overflowX\", v.x, f.x);\n const [l, a, u, d] = getStatePerAxis(\"overflowY\", v.y, f.y);\n return {\n Ct: {\n x: s,\n y: l\n },\n $t: {\n x: e,\n y: a\n },\n M: {\n x: c,\n y: u\n },\n D: {\n x: i,\n y: d\n }\n };\n };\n const setViewportOverflowState = (t, n, o, s) => {\n const setAxisOverflowStyle = (t, n) => {\n const o = overflowIsVisible(t);\n const s = n && o && t.replace(`${Mt}-`, \"\") || \"\";\n return [ n && !o ? t : \"\", overflowIsVisible(s) ? \"hidden\" : s ];\n };\n const [e, c] = setAxisOverflowStyle(o.x, n.x);\n const [r, i] = setAxisOverflowStyle(o.y, n.y);\n s.overflowX = c && r ? c : e;\n s.overflowY = i && e ? i : r;\n return getViewportOverflowState(t, s);\n };\n const hideNativeScrollbars = (t, n, s, e) => {\n const {M: c, D: r} = t;\n const {x: i, y: l} = r;\n const {x: a, y: u} = c;\n const {P: d} = o();\n const f = n ? \"marginLeft\" : \"marginRight\";\n const _ = n ? \"paddingLeft\" : \"paddingRight\";\n const h = d[f];\n const v = d.marginBottom;\n const g = d[_];\n const w = d.paddingBottom;\n e.width = `calc(100% + ${u + -1 * h}px)`;\n e[f] = -u + h;\n e.marginBottom = -a + v;\n if (s) {\n e[_] = g + (l ? u : 0);\n e.paddingBottom = w + (i ? a : 0);\n }\n };\n const [H, P] = g ? g.H(w, _, r, i, o, getViewportOverflowState, hideNativeScrollbars) : [ () => w, () => [ noop ] ];\n return (t, n, i) => {\n const {gt: u, Ot: f, wt: g, xt: w, vt: M, yt: D} = t;\n const {ht: B, bt: V} = o();\n const [Y, j] = n(\"showNativeOverlaidScrollbars\");\n const [N, q] = n(\"overflow\");\n const F = Y && v.x && v.y;\n const G = !l && !_ && (u || g || f || j || M);\n const X = overflowIsVisible(N.x);\n const U = overflowIsVisible(N.y);\n const W = X || U;\n let Z = m(i);\n let J = S(i);\n let K = $(i);\n let Q = z(i);\n let tt;\n if (j && h) {\n a(R, A, !F);\n }\n if (G) {\n tt = getViewportOverflowState(F);\n fixFlexboxGlue(tt, B);\n }\n if (u || w || g || D || j) {\n if (W) {\n a(k, I, false);\n }\n const [t, n] = P(F, V, tt);\n const [o, s] = Z = b(i);\n const [e, c] = J = y(i);\n const l = clientSize(r);\n let u = e;\n let f = l;\n t();\n if ((c || s || j) && n && !F && H(n, e, o, V)) {\n f = clientSize(r);\n u = scrollSize(r);\n }\n const _ = {\n w: Pt(Ht(e.w, u.w) + o.w),\n h: Pt(Ht(e.h, u.h) + o.h)\n };\n const h = {\n w: Pt((p ? d.innerWidth : f.w + Pt(l.w - e.w)) + o.w),\n h: Pt((p ? d.innerHeight + o.h : f.h + Pt(l.h - e.h)) + o.h)\n };\n Q = C(h);\n K = x(getOverflowAmount(_, h), i);\n }\n const [nt, ot] = Q;\n const [st, et] = K;\n const [ct, rt] = J;\n const [it, lt] = Z;\n const at = {\n x: st.w > 0,\n y: st.h > 0\n };\n const ut = X && U && (at.x || at.y) || X && at.x && !at.y || U && at.y && !at.x;\n if (w || D || lt || rt || ot || et || q || j || G) {\n const t = {\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n width: \"\",\n overflowY: \"\",\n overflowX: \"\"\n };\n const n = setViewportOverflowState(F, at, N, t);\n const o = H(n, ct, it, V);\n if (!l) {\n hideNativeScrollbars(n, V, o, t);\n }\n if (G) {\n fixFlexboxGlue(n, B);\n }\n if (l) {\n attr(e, T, t.overflowX);\n attr(e, E, t.overflowY);\n } else {\n style(r, t);\n }\n }\n attrClass(e, O, I, ut);\n conditionalClass(c, k, ut);\n !l && conditionalClass(r, k, W);\n const [dt, ft] = L(getViewportOverflowState(F).Ct);\n s({\n Ct: dt,\n zt: {\n x: nt.w,\n y: nt.h\n },\n Tt: {\n x: st.w,\n y: st.h\n },\n Et: at\n });\n return {\n It: ft,\n At: ot,\n Lt: et\n };\n };\n};\n\nconst prepareUpdateHints = (t, n, o) => {\n const s = {};\n const e = n || {};\n const c = keys(t).concat(keys(e));\n each(c, (n => {\n const c = t[n];\n const r = e[n];\n s[n] = !!(o || c || r);\n }));\n return s;\n};\n\nconst createStructureSetupUpdate = (t, n) => {\n const {W: o, J: s, _t: e, ut: c} = t;\n const {I: r, A: i, V: l} = getEnvironment();\n const a = !r && (i.x || i.y);\n const u = [ createTrinsicUpdateSegment(t, n), createPaddingUpdateSegment(t, n), createOverflowUpdateSegment(t, n) ];\n return (t, n, r) => {\n const i = prepareUpdateHints(assignDeep({\n gt: false,\n xt: false,\n yt: false,\n vt: false,\n At: false,\n Lt: false,\n It: false,\n Ot: false,\n wt: false\n }, n), {}, r);\n const d = a || !l;\n const f = d && scrollLeft(s);\n const _ = d && scrollTop(s);\n e(\"\", L, true);\n let h = i;\n each(u, (n => {\n h = prepareUpdateHints(h, n(h, t, !!r) || {}, r);\n }));\n scrollLeft(s, f);\n scrollTop(s, _);\n e(\"\", L);\n if (!c) {\n scrollLeft(o, 0);\n scrollTop(o, 0);\n }\n return h;\n };\n};\n\nconst createEventContentChange = (t, n, o) => {\n let s;\n let e = false;\n const destroy = () => {\n e = true;\n };\n const updateElements = c => {\n if (o) {\n const r = o.reduce(((n, o) => {\n if (o) {\n const [s, e] = o;\n const r = e && s && (c ? c(s) : find(s, t));\n if (r && r.length && e && isString(e)) {\n push(n, [ r, e.trim() ], true);\n }\n }\n return n;\n }), []);\n each(r, (o => each(o[0], (c => {\n const r = o[1];\n const i = s.get(c) || [];\n const l = t.contains(c);\n if (l) {\n const t = on(c, r, (o => {\n if (e) {\n t();\n s.delete(c);\n } else {\n n(o);\n }\n }));\n s.set(c, push(i, t));\n } else {\n runEachAndClear(i);\n s.delete(c);\n }\n }))));\n }\n };\n if (o) {\n s = new WeakMap;\n updateElements();\n }\n return [ destroy, updateElements ];\n};\n\nconst createDOMObserver = (t, n, o, s) => {\n let e = false;\n const {Ht: c, Pt: r, Mt: i, Dt: a, Rt: u, kt: d} = s || {};\n const f = debounce((() => {\n if (e) {\n o(true);\n }\n }), {\n v: 33,\n g: 99\n });\n const [_, h] = createEventContentChange(t, f, i);\n const v = c || [];\n const g = r || [];\n const w = v.concat(g);\n const observerCallback = (e, c) => {\n const r = u || noop;\n const i = d || noop;\n const l = new Set;\n const f = new Set;\n let _ = false;\n let v = false;\n each(e, (o => {\n const {attributeName: e, target: c, type: u, oldValue: d, addedNodes: h, removedNodes: w} = o;\n const p = \"attributes\" === u;\n const b = \"childList\" === u;\n const m = t === c;\n const y = p && isString(e) ? attr(c, e) : 0;\n const S = 0 !== y && d !== y;\n const x = indexOf(g, e) > -1 && S;\n if (n && (b || !m)) {\n const n = !p;\n const u = p && S;\n const f = u && a && is(c, a);\n const _ = f ? !r(c, e, d, y) : n || u;\n const g = _ && !i(o, !!f, t, s);\n each(h, (t => l.add(t)));\n each(w, (t => l.add(t)));\n v = v || g;\n }\n if (!n && m && S && !r(c, e, d, y)) {\n f.add(e);\n _ = _ || x;\n }\n }));\n if (l.size > 0) {\n h((t => from(l).reduce(((n, o) => {\n push(n, find(t, o));\n return is(o, t) ? push(n, o) : n;\n }), [])));\n }\n if (n) {\n !c && v && o(false);\n return [ false ];\n }\n if (f.size > 0 || _) {\n const t = [ from(f), _ ];\n !c && o.apply(0, t);\n return t;\n }\n };\n const p = new l((t => observerCallback(t)));\n p.observe(t, {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: w,\n subtree: n,\n childList: n,\n characterData: n\n });\n e = true;\n return [ () => {\n if (e) {\n _();\n p.disconnect();\n e = false;\n }\n }, () => {\n if (e) {\n f.m();\n const t = p.takeRecords();\n return !isEmptyArray(t) && observerCallback(t, true);\n }\n } ];\n};\n\nconst Vt = 3333333;\n\nconst domRectHasDimensions = t => t && (t.height || t.width);\n\nconst createSizeObserver = (t, n, o) => {\n const {Bt: s = false, Vt: e = false} = o || {};\n const c = getPlugins()[mt];\n const {B: r} = getEnvironment();\n const i = createDOM(`<div class=\"${B}\"><div class=\"${Y}\"></div></div>`);\n const l = i[0];\n const a = l.firstChild;\n const d = directionIsRTL.bind(0, t);\n const [f] = createCache({\n o: void 0,\n _: true,\n u: (t, n) => !(!t || !domRectHasDimensions(t) && domRectHasDimensions(n))\n });\n const onSizeChangedCallbackProxy = t => {\n const o = isArray(t) && t.length > 0 && isObject(t[0]);\n const e = !o && isBoolean(t[0]);\n let c = false;\n let i = false;\n let a = true;\n if (o) {\n const [n, , o] = f(t.pop().contentRect);\n const s = domRectHasDimensions(n);\n const e = domRectHasDimensions(o);\n c = !o || !s;\n i = !e && s;\n a = !c;\n } else if (e) {\n [, a] = t;\n } else {\n i = true === t;\n }\n if (s && a) {\n const n = e ? t[0] : directionIsRTL(l);\n scrollLeft(l, n ? r.n ? -Vt : r.i ? 0 : Vt : Vt);\n scrollTop(l, Vt);\n }\n if (!c) {\n n({\n gt: !e,\n Yt: e ? t : void 0,\n Vt: !!i\n });\n }\n };\n const _ = [];\n let h = e ? onSizeChangedCallbackProxy : false;\n return [ () => {\n runEachAndClear(_);\n removeElements(l);\n }, () => {\n if (u) {\n const t = new u(onSizeChangedCallbackProxy);\n t.observe(a);\n push(_, (() => {\n t.disconnect();\n }));\n } else if (c) {\n const [t, n] = c.O(a, onSizeChangedCallbackProxy, e);\n h = t;\n push(_, n);\n }\n if (s) {\n const [t] = createCache({\n o: void 0\n }, d);\n push(_, on(l, \"scroll\", (n => {\n const o = t();\n const [s, e, c] = o;\n if (e) {\n removeClass(a, \"ltr rtl\");\n if (s) {\n addClass(a, \"rtl\");\n } else {\n addClass(a, \"ltr\");\n }\n onSizeChangedCallbackProxy([ !!s, e, c ]);\n }\n stopPropagation(n);\n })));\n }\n if (h) {\n addClass(l, V);\n push(_, on(l, \"animationstart\", h, {\n C: !!u\n }));\n }\n if (u || c) {\n appendChildren(t, l);\n }\n } ];\n};\n\nconst isHeightIntrinsic = t => 0 === t.h || t.isIntersecting || t.intersectionRatio > 0;\n\nconst createTrinsicObserver = (t, n) => {\n let o;\n const s = createDiv(F);\n const e = [];\n const [c] = createCache({\n o: false\n });\n const triggerOnTrinsicChangedCallback = (t, o) => {\n if (t) {\n const s = c(isHeightIntrinsic(t));\n const [, e] = s;\n if (e) {\n !o && n(s);\n return [ s ];\n }\n }\n };\n const intersectionObserverCallback = (t, n) => {\n if (t && t.length > 0) {\n return triggerOnTrinsicChangedCallback(t.pop(), n);\n }\n };\n return [ () => {\n runEachAndClear(e);\n removeElements(s);\n }, () => {\n if (a) {\n o = new a((t => intersectionObserverCallback(t)), {\n root: t\n });\n o.observe(s);\n push(e, (() => {\n o.disconnect();\n }));\n } else {\n const onSizeChanged = () => {\n const t = offsetSize(s);\n triggerOnTrinsicChangedCallback(t);\n };\n const [t, n] = createSizeObserver(s, onSizeChanged);\n push(e, t);\n n();\n onSizeChanged();\n }\n appendChildren(t, s);\n }, () => {\n if (o) {\n return intersectionObserverCallback(o.takeRecords(), true);\n }\n } ];\n};\n\nconst Yt = `[${O}]`;\n\nconst jt = `.${P}`;\n\nconst Nt = [ \"tabindex\" ];\n\nconst qt = [ \"wrap\", \"cols\", \"rows\" ];\n\nconst Ft = [ \"id\", \"class\", \"style\", \"open\" ];\n\nconst createStructureSetupObservers = (t, n, o) => {\n let s;\n let e;\n let c;\n const {Z: r, J: i, tt: l, rt: a, ut: d, ft: f, _t: _} = t;\n const {V: h} = getEnvironment();\n const [v] = createCache({\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n }, (() => {\n const t = f(k, I);\n const n = f(M, \"\");\n const o = n && scrollLeft(i);\n const s = n && scrollTop(i);\n _(k, I);\n _(M, \"\");\n _(\"\", L, true);\n const e = scrollSize(l);\n const c = scrollSize(i);\n const r = fractionalSize(i);\n _(k, I, t);\n _(M, \"\", n);\n _(\"\", L);\n scrollLeft(i, o);\n scrollTop(i, s);\n return {\n w: c.w + e.w + r.w,\n h: c.h + e.h + r.h\n };\n }));\n const g = a ? qt : Ft.concat(qt);\n const w = debounce(o, {\n v: () => s,\n g: () => e,\n p(t, n) {\n const [o] = t;\n const [s] = n;\n return [ keys(o).concat(keys(s)).reduce(((t, n) => {\n t[n] = o[n] || s[n];\n return t;\n }), {}) ];\n }\n });\n const updateViewportAttrsFromHost = t => {\n each(t || Nt, (t => {\n if (indexOf(Nt, t) > -1) {\n const n = attr(r, t);\n if (isString(n)) {\n attr(i, t, n);\n } else {\n removeAttr(i, t);\n }\n }\n }));\n };\n const onTrinsicChanged = (t, s) => {\n const [e, c] = t;\n const r = {\n vt: c\n };\n n({\n ht: e\n });\n !s && o(r);\n return r;\n };\n const onSizeChanged = ({gt: t, Yt: s, Vt: e}) => {\n const c = !t || e ? o : w;\n let r = false;\n if (s) {\n const [t, o] = s;\n r = o;\n n({\n bt: t\n });\n }\n c({\n gt: t,\n yt: r\n });\n };\n const onContentMutation = (t, n) => {\n const [, s] = v();\n const e = {\n wt: s\n };\n const c = t ? o : w;\n if (s) {\n !n && c(e);\n }\n return e;\n };\n const onHostMutation = (t, n, o) => {\n const s = {\n Ot: n\n };\n if (n) {\n !o && w(s);\n } else if (!d) {\n updateViewportAttrsFromHost(t);\n }\n return s;\n };\n const [p, b, m] = l || !h ? createTrinsicObserver(r, onTrinsicChanged) : [ noop, noop, noop ];\n const [y, S] = !d ? createSizeObserver(r, onSizeChanged, {\n Vt: true,\n Bt: true\n }) : [ noop, noop ];\n const [x, $] = createDOMObserver(r, false, onHostMutation, {\n Pt: Ft,\n Ht: Ft.concat(Nt)\n });\n const C = d && u && new u(onSizeChanged.bind(0, {\n gt: true\n }));\n C && C.observe(r);\n updateViewportAttrsFromHost();\n return [ () => {\n p();\n y();\n c && c[0]();\n C && C.disconnect();\n x();\n }, () => {\n S();\n b();\n }, () => {\n const t = {};\n const n = $();\n const o = m();\n const s = c && c[1]();\n if (n) {\n assignDeep(t, onHostMutation.apply(0, push(n, true)));\n }\n if (o) {\n assignDeep(t, onTrinsicChanged.apply(0, push(o, true)));\n }\n if (s) {\n assignDeep(t, onContentMutation.apply(0, push(s, true)));\n }\n return t;\n }, t => {\n const [n] = t(\"update.ignoreMutation\");\n const [o, r] = t(\"update.attributes\");\n const [a, u] = t(\"update.elementEvents\");\n const [f, _] = t(\"update.debounce\");\n const h = u || r;\n const ignoreMutationFromOptions = t => isFunction(n) && n(t);\n if (h) {\n if (c) {\n c[1]();\n c[0]();\n }\n c = createDOMObserver(l || i, true, onContentMutation, {\n Ht: g.concat(o || []),\n Mt: a,\n Dt: Yt,\n kt: (t, n) => {\n const {target: o, attributeName: s} = t;\n const e = !n && s && !d ? liesBetween(o, Yt, jt) : false;\n return e || !!closest(o, `.${U}`) || !!ignoreMutationFromOptions(t);\n }\n });\n }\n if (_) {\n w.m();\n if (isArray(f)) {\n const t = f[0];\n const n = f[1];\n s = isNumber(t) && t;\n e = isNumber(n) && n;\n } else if (isNumber(f)) {\n s = f;\n e = false;\n } else {\n s = false;\n e = false;\n }\n }\n } ];\n};\n\nconst Gt = {\n x: 0,\n y: 0\n};\n\nconst createInitialStructureSetupUpdateState = t => ({\n K: {\n t: 0,\n r: 0,\n b: 0,\n l: 0\n },\n St: false,\n P: {\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n paddingTop: 0,\n paddingRight: 0,\n paddingBottom: 0,\n paddingLeft: 0\n },\n zt: Gt,\n Tt: Gt,\n Ct: {\n x: \"hidden\",\n y: \"hidden\"\n },\n Et: {\n x: false,\n y: false\n },\n ht: false,\n bt: directionIsRTL(t.Z)\n});\n\nconst createStructureSetup = (t, n) => {\n const o = createOptionCheck(n, {});\n const [s, e, c] = createEventListenerHub();\n const [r, i, l] = createStructureSetupElements(t);\n const a = createState(createInitialStructureSetupUpdateState(r));\n const [u, d] = a;\n const f = createStructureSetupUpdate(r, a);\n const triggerUpdateEvent = (t, n, o) => {\n const s = keys(t).some((n => t[n]));\n const e = s || !isEmptyObject(n) || o;\n if (e) {\n c(\"u\", [ t, n, o ]);\n }\n return e;\n };\n const [_, h, v, g] = createStructureSetupObservers(r, d, (t => triggerUpdateEvent(f(o, t), {}, false)));\n const w = u.bind(0);\n w.jt = t => s(\"u\", t);\n w.Nt = () => {\n const {W: t, J: n} = r;\n const o = scrollLeft(t);\n const s = scrollTop(t);\n h();\n i();\n scrollLeft(n, o);\n scrollTop(n, s);\n };\n w.qt = r;\n return [ (t, o) => {\n const s = createOptionCheck(n, t, o);\n g(s);\n return triggerUpdateEvent(f(s, v(), o), t, !!o);\n }, w, () => {\n e();\n _();\n l();\n } ];\n};\n\nconst {round: Xt} = Math;\n\nconst getScale = t => {\n const {width: n, height: o} = getBoundingClientRect(t);\n const {w: s, h: e} = offsetSize(t);\n return {\n x: Xt(n) / s || 1,\n y: Xt(o) / e || 1\n };\n};\n\nconst continuePointerDown = (t, n, o) => {\n const s = n.scrollbars;\n const {button: e, isPrimary: c, pointerType: r} = t;\n const {pointers: i} = s;\n return 0 === e && c && s[o ? \"dragScroll\" : \"clickScroll\"] && (i || []).includes(r);\n};\n\nconst createRootClickStopPropagationEvents = (t, n) => on(t, \"mousedown\", on.bind(0, n, \"click\", stopPropagation, {\n C: true,\n $: true\n}), {\n $: true\n});\n\nconst Ut = \"pointerup pointerleave pointercancel lostpointercapture\";\n\nconst createInteractiveScrollEvents = (t, n, o, s, e, c) => {\n const {B: r} = getEnvironment();\n const {Ft: i, Gt: l, Xt: a} = o;\n const u = `scroll${c ? \"Left\" : \"Top\"}`;\n const d = `client${c ? \"X\" : \"Y\"}`;\n const f = c ? \"width\" : \"height\";\n const _ = c ? \"left\" : \"top\";\n const h = c ? \"w\" : \"h\";\n const v = c ? \"x\" : \"y\";\n const createRelativeHandleMove = (t, n) => o => {\n const {Tt: d} = e();\n const f = offsetSize(l)[h] - offsetSize(i)[h];\n const _ = n * o / f;\n const g = _ * d[v];\n const w = directionIsRTL(a);\n const p = w && c ? r.n || r.i ? 1 : -1 : 1;\n s[u] = t + g * p;\n };\n return on(l, \"pointerdown\", (o => {\n const e = closest(o.target, `.${Q}`) === i;\n const c = e ? i : l;\n if (continuePointerDown(o, t, e)) {\n const t = !e && o.shiftKey;\n const getHandleRect = () => getBoundingClientRect(i);\n const getTrackRect = () => getBoundingClientRect(l);\n const getHandleOffset = (t, n) => (t || getHandleRect())[_] - (n || getTrackRect())[_];\n const r = createRelativeHandleMove(s[u] || 0, 1 / getScale(s)[v]);\n const a = o[d];\n const h = getHandleRect();\n const g = getTrackRect();\n const w = h[f];\n const p = getHandleOffset(h, g) + w / 2;\n const b = a - g[_];\n const m = e ? 0 : b - p;\n const releasePointerCapture = t => {\n runEachAndClear(y);\n c.releasePointerCapture(t.pointerId);\n };\n const y = [ on(n, Ut, releasePointerCapture), on(n, \"selectstart\", (t => preventDefault(t)), {\n S: false\n }), on(l, Ut, releasePointerCapture), on(l, \"pointermove\", (n => {\n const o = n[d] - a;\n if (e || t) {\n r(m + o);\n }\n })) ];\n if (t) {\n r(m);\n } else if (!e) {\n const t = getPlugins()[zt];\n if (t) {\n push(y, t.O(r, getHandleOffset, m, w, b));\n }\n }\n c.setPointerCapture(o.pointerId);\n }\n }));\n};\n\nconst createScrollbarsSetupEvents = (t, n) => (o, s, e, c, r, i) => {\n const {Xt: l} = o;\n const [a, u] = selfClearTimeout(333);\n const d = !!r.scrollBy;\n let f = true;\n return runEachAndClear.bind(0, [ on(l, \"pointerenter\", (() => {\n s(st, true);\n })), on(l, \"pointerleave pointercancel\", (() => {\n s(st);\n })), on(l, \"wheel\", (t => {\n const {deltaX: n, deltaY: o, deltaMode: e} = t;\n if (d && f && 0 === e && parent(l) === c) {\n r.scrollBy({\n left: n,\n top: o,\n behavior: \"smooth\"\n });\n }\n f = false;\n s(rt, true);\n a((() => {\n f = true;\n s(rt);\n }));\n preventDefault(t);\n }), {\n S: false,\n $: true\n }), createRootClickStopPropagationEvents(l, e), createInteractiveScrollEvents(t, e, o, r, n, i), u ]);\n};\n\nconst {min: Wt, max: Zt, abs: Jt, round: Kt} = Math;\n\nconst getScrollbarHandleLengthRatio = (t, n, o, s) => {\n if (s) {\n const t = o ? \"x\" : \"y\";\n const {Tt: n, zt: e} = s;\n const c = e[t];\n const r = n[t];\n return Zt(0, Wt(1, c / (c + r)));\n }\n const e = o ? \"w\" : \"h\";\n const c = offsetSize(t)[e];\n const r = offsetSize(n)[e];\n return Zt(0, Wt(1, c / r));\n};\n\nconst getScrollbarHandleOffsetRatio = (t, n, o, s, e, c) => {\n const {B: r} = getEnvironment();\n const i = c ? \"x\" : \"y\";\n const l = c ? \"Left\" : \"Top\";\n const {Tt: a} = s;\n const u = Kt(a[i]);\n const d = Jt(o[`scroll${l}`]);\n const f = c && e;\n const _ = r.i ? d : u - d;\n const h = f ? _ : d;\n const v = Wt(1, h / u);\n const g = getScrollbarHandleLengthRatio(t, n, c);\n return 1 / g * (1 - g) * v;\n};\n\nconst createScrollbarsSetupElements = (t, n, o) => {\n const {N: s, L: e} = getEnvironment();\n const {scrollbars: c} = s();\n const {slot: r} = c;\n const {ct: i, W: l, Z: a, J: u, lt: d, ot: f, it: h, ut: v} = n;\n const {scrollbars: g} = d ? {} : t;\n const {slot: w} = g || {};\n const p = dynamicInitializationElement([ l, a, u ], (() => v && h ? l : a), r, w);\n const scrollbarStructureAddRemoveClass = (t, n, o) => {\n const s = o ? addClass : removeClass;\n each(t, (t => {\n s(t.Xt, n);\n }));\n };\n const scrollbarsHandleStyle = (t, n) => {\n each(t, (t => {\n const [o, s] = n(t);\n style(o, s);\n }));\n };\n const scrollbarStructureRefreshHandleLength = (t, n, o) => {\n scrollbarsHandleStyle(t, (t => {\n const {Ft: s, Gt: e} = t;\n return [ s, {\n [o ? \"width\" : \"height\"]: `${(100 * getScrollbarHandleLengthRatio(s, e, o, n)).toFixed(3)}%`\n } ];\n }));\n };\n const scrollbarStructureRefreshHandleOffset = (t, n, o) => {\n const s = o ? \"X\" : \"Y\";\n scrollbarsHandleStyle(t, (t => {\n const {Ft: e, Gt: c, Xt: r} = t;\n const i = getScrollbarHandleOffsetRatio(e, c, f, n, directionIsRTL(r), o);\n const l = i === i;\n return [ e, {\n transform: l ? `translate${s}(${(100 * i).toFixed(3)}%)` : \"\"\n } ];\n }));\n };\n const b = [];\n const m = [];\n const y = [];\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(m, t, n);\n c && scrollbarStructureAddRemoveClass(y, t, n);\n };\n const refreshScrollbarsHandleLength = t => {\n scrollbarStructureRefreshHandleLength(m, t, true);\n scrollbarStructureRefreshHandleLength(y, t);\n };\n const refreshScrollbarsHandleOffset = t => {\n scrollbarStructureRefreshHandleOffset(m, t, true);\n scrollbarStructureRefreshHandleOffset(y, t);\n };\n const generateScrollbarDOM = t => {\n const n = t ? Z : J;\n const s = t ? m : y;\n const c = isEmptyArray(s) ? ot : \"\";\n const r = createDiv(`${U} ${n} ${c}`);\n const l = createDiv(K);\n const u = createDiv(Q);\n const d = {\n Xt: r,\n Gt: l,\n Ft: u\n };\n if (!e) {\n addClass(r, G);\n }\n appendChildren(r, l);\n appendChildren(l, u);\n push(s, d);\n push(b, [ removeElements.bind(0, r), o(d, scrollbarsAddRemoveClass, i, a, f, t) ]);\n return d;\n };\n const S = generateScrollbarDOM.bind(0, true);\n const x = generateScrollbarDOM.bind(0, false);\n const appendElements = () => {\n appendChildren(p, m[0].Xt);\n appendChildren(p, y[0].Xt);\n _((() => {\n scrollbarsAddRemoveClass(ot);\n }), 300);\n };\n S();\n x();\n return [ {\n Ut: refreshScrollbarsHandleLength,\n Wt: refreshScrollbarsHandleOffset,\n Zt: scrollbarsAddRemoveClass,\n Jt: {\n Kt: m,\n Qt: S,\n tn: scrollbarsHandleStyle.bind(0, m)\n },\n nn: {\n Kt: y,\n Qt: x,\n tn: scrollbarsHandleStyle.bind(0, y)\n }\n }, appendElements, runEachAndClear.bind(0, b) ];\n};\n\nconst createScrollbarsSetup = (t, n, o, s) => {\n let e;\n let c;\n let r;\n let i;\n let l;\n let a = 0;\n const u = createState({});\n const [d] = u;\n const [f, _] = selfClearTimeout();\n const [h, v] = selfClearTimeout();\n const [g, w] = selfClearTimeout(100);\n const [p, b] = selfClearTimeout(100);\n const [m, y] = selfClearTimeout((() => a));\n const [S, x, $] = createScrollbarsSetupElements(t, o.qt, createScrollbarsSetupEvents(n, o));\n const {Z: C, J: O, ot: z, st: T, ut: E, it: I} = o.qt;\n const {Jt: A, nn: L, Zt: H, Ut: P, Wt: M} = S;\n const {tn: D} = A;\n const {tn: R} = L;\n const styleScrollbarPosition = t => {\n const {Xt: n} = t;\n const o = E && !I && parent(n) === O && n;\n return [ o, {\n transform: o ? `translate(${scrollLeft(z)}px, ${scrollTop(z)}px)` : \"\"\n } ];\n };\n const manageScrollbarsAutoHide = (t, n) => {\n y();\n if (t) {\n H(ct);\n } else {\n const hide = () => H(ct, true);\n if (a > 0 && !n) {\n m(hide);\n } else {\n hide();\n }\n }\n };\n const onHostMouseEnter = () => {\n i = c;\n i && manageScrollbarsAutoHide(true);\n };\n const k = [ w, y, b, v, _, $, on(C, \"pointerover\", onHostMouseEnter, {\n C: true\n }), on(C, \"pointerenter\", onHostMouseEnter), on(C, \"pointerleave\", (() => {\n i = false;\n c && manageScrollbarsAutoHide(false);\n })), on(C, \"pointermove\", (() => {\n e && f((() => {\n w();\n manageScrollbarsAutoHide(true);\n p((() => {\n e && manageScrollbarsAutoHide(false);\n }));\n }));\n })), on(T, \"scroll\", (t => {\n h((() => {\n M(o());\n r && manageScrollbarsAutoHide(true);\n g((() => {\n r && !i && manageScrollbarsAutoHide(false);\n }));\n }));\n s(t);\n E && D(styleScrollbarPosition);\n E && R(styleScrollbarPosition);\n })) ];\n const B = d.bind(0);\n B.qt = S;\n B.Nt = x;\n return [ (t, s, i) => {\n const {At: u, Lt: d, It: f, yt: _} = i;\n const {A: h} = getEnvironment();\n const v = createOptionCheck(n, t, s);\n const g = o();\n const {Tt: w, Ct: p, bt: b} = g;\n const [m, y] = v(\"showNativeOverlaidScrollbars\");\n const [S, x] = v(\"scrollbars.theme\");\n const [$, C] = v(\"scrollbars.visibility\");\n const [O, z] = v(\"scrollbars.autoHide\");\n const [T] = v(\"scrollbars.autoHideDelay\");\n const [E, A] = v(\"scrollbars.dragScroll\");\n const [L, D] = v(\"scrollbars.clickScroll\");\n const R = u || d || _;\n const k = f || C;\n const B = m && h.x && h.y;\n const setScrollbarVisibility = (t, n) => {\n const o = \"visible\" === $ || \"auto\" === $ && \"scroll\" === t;\n H(tt, o, n);\n return o;\n };\n a = T;\n if (y) {\n H(X, B);\n }\n if (x) {\n H(l);\n H(S, true);\n l = S;\n }\n if (z) {\n e = \"move\" === O;\n c = \"leave\" === O;\n r = \"never\" !== O;\n manageScrollbarsAutoHide(!r, true);\n }\n if (A) {\n H(lt, E);\n }\n if (D) {\n H(it, L);\n }\n if (k) {\n const t = setScrollbarVisibility(p.x, true);\n const n = setScrollbarVisibility(p.y, false);\n const o = t && n;\n H(nt, !o);\n }\n if (R) {\n P(g);\n M(g);\n H(et, !w.x, true);\n H(et, !w.y, false);\n H(W, b && !I);\n }\n }, B, runEachAndClear.bind(0, k) ];\n};\n\nconst invokePluginInstance = (t, n, o) => {\n if (isFunction(t)) {\n t(n || void 0, o || void 0);\n }\n};\n\nconst OverlayScrollbars = (t, n, o) => {\n const {F: s, N: e, Y: c, j: r} = getEnvironment();\n const i = getPlugins();\n const l = isHTMLElement(t);\n const a = l ? t : t.target;\n const u = getInstance(a);\n if (n && !u) {\n let u = false;\n const validateOptions = t => {\n const n = getPlugins()[wt];\n const o = n && n.O;\n return o ? o(t, true) : t;\n };\n const d = assignDeep({}, s(), validateOptions(n));\n const [f, _, h] = createEventListenerHub(o);\n const [v, g, w] = createStructureSetup(t, d);\n const [p, b, m] = createScrollbarsSetup(t, d, g, (t => h(\"scroll\", [ $, t ])));\n const update = (t, n) => v(t, !!n);\n const y = update.bind(0, {}, true);\n const S = c(y);\n const x = r(y);\n const destroy = t => {\n removeInstance(a);\n S();\n x();\n m();\n w();\n u = true;\n h(\"destroyed\", [ $, !!t ]);\n _();\n };\n const $ = {\n options(t, n) {\n if (t) {\n const o = n ? s() : {};\n const e = getOptionsDiff(d, assignDeep(o, validateOptions(t)));\n if (!isEmptyObject(e)) {\n assignDeep(d, e);\n update(e);\n }\n }\n return assignDeep({}, d);\n },\n on: f,\n off: (t, n) => {\n t && n && _(t, n);\n },\n state() {\n const {zt: t, Tt: n, Ct: o, Et: s, K: e, St: c, bt: r} = g();\n return assignDeep({}, {\n overflowEdge: t,\n overflowAmount: n,\n overflowStyle: o,\n hasOverflow: s,\n padding: e,\n paddingAbsolute: c,\n directionRTL: r,\n destroyed: u\n });\n },\n elements() {\n const {W: t, Z: n, K: o, J: s, tt: e, ot: c, st: r} = g.qt;\n const {Jt: i, nn: l} = b.qt;\n const translateScrollbarStructure = t => {\n const {Ft: n, Gt: o, Xt: s} = t;\n return {\n scrollbar: s,\n track: o,\n handle: n\n };\n };\n const translateScrollbarsSetupElement = t => {\n const {Kt: n, Qt: o} = t;\n const s = translateScrollbarStructure(n[0]);\n return assignDeep({}, s, {\n clone: () => {\n const t = translateScrollbarStructure(o());\n p({}, true, {});\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(i),\n scrollbarVertical: translateScrollbarsSetupElement(l)\n });\n },\n update: t => update({}, t),\n destroy: destroy.bind(0)\n };\n g.jt(((t, n, o) => {\n p(n, o, t);\n }));\n addInstance(a, $);\n each(keys(i), (t => invokePluginInstance(i[t], 0, $)));\n if (cancelInitialization(g.qt.it, e().cancel, !l && t.cancel)) {\n destroy(true);\n return $;\n }\n g.Nt();\n b.Nt();\n h(\"initialized\", [ $ ]);\n g.jt(((t, n, o) => {\n const {gt: s, yt: e, vt: c, At: r, Lt: i, It: l, wt: a, Ot: u} = t;\n h(\"updated\", [ $, {\n updateHints: {\n sizeChanged: s,\n directionChanged: e,\n heightIntrinsicChanged: c,\n overflowEdgeChanged: r,\n overflowAmountChanged: i,\n overflowStyleChanged: l,\n contentMutation: a,\n hostMutation: u\n },\n changedOptions: n,\n force: o\n } ]);\n }));\n $.update(true);\n return $;\n }\n return u;\n};\n\nOverlayScrollbars.plugin = t => {\n each(addPlugin(t), (t => invokePluginInstance(t, OverlayScrollbars)));\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 {k: t, A: n, I: o, B: s, V: e, L: c, X: r, U: i, N: l, q: a, F: u, G: d} = getEnvironment();\n return assignDeep({}, {\n scrollbarsSize: t,\n scrollbarsOverlaid: n,\n scrollbarsHiding: o,\n rtlScrollBehavior: s,\n flexboxGlue: e,\n cssCustomProperties: c,\n staticDefaultInitialization: r,\n staticDefaultOptions: i,\n getDefaultInitialization: l,\n setDefaultInitialization: a,\n getDefaultOptions: u,\n setDefaultOptions: d\n });\n};\n\nexport { Tt as ClickScrollPlugin, OverlayScrollbars, Ot as ScrollbarsHidingPlugin, yt as SizeObserverPlugin };\n//# sourceMappingURL=overlayscrollbars.esm.js.map\n","import { shallowRef as I, watch as b, unref as m, onUnmounted as k, defineComponent as E, ref as R, toRefs 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 r = () => {\n };\n return [r, r];\n }\n let i, t;\n const o = window, l = typeof o.requestIdleCallback == \"function\", s = o.requestAnimationFrame, n = o.cancelAnimationFrame, a = l ? o.requestIdleCallback : s, c = l ? o.cancelIdleCallback : n, e = () => {\n c(i), n(t);\n };\n return [\n (r, v) => {\n e(), i = a(\n l ? () => {\n e(), t = s(r);\n } : r,\n typeof v == \"object\" ? v : { timeout: 2233 }\n );\n },\n e\n ];\n}, g = (i) => {\n let t = null, o, l, s;\n const n = I(i || {}), [a, c] = F();\n return b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.defer);\n },\n (e) => {\n s = e;\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.options);\n },\n (e) => {\n o = e, y.valid(t) && t.options(o || {}, !0);\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.events);\n },\n (e) => {\n l = e, y.valid(t) && t.on(\n l || {},\n !0\n );\n },\n { deep: !0, immediate: !0 }\n ), k(() => {\n c(), t == null || t.destroy();\n }), [\n (e) => {\n if (y.valid(t))\n return t;\n const r = () => t = y(e, o || {}, l || {});\n s ? a(r, s) : r();\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(i, { expose: t, emit: o }) {\n const l = i, s = {\n initialized: \"osInitialized\",\n updated: \"osUpdated\",\n destroyed: \"osDestroyed\",\n scroll: \"osScroll\"\n }, n = I(null), a = I(null), c = R(), { element: e, options: r, events: v, defer: C } = A(l), [O, S] = g({ options: r, events: c, defer: C });\n return t({\n osInstance: S,\n getElement: () => n.value\n }), D((f) => {\n const { value: p } = n, { value: d } = a;\n p && d && (O({\n target: p,\n elements: {\n viewport: d,\n content: d\n }\n }), f(() => {\n var u;\n return (u = S()) == null ? void 0 : u.destroy();\n }));\n }), b(\n () => m(v),\n (f) => {\n const p = f || {};\n c.value = Object.keys(s).reduce((d, u) => {\n const w = p[u];\n return d[u] = [\n (..._) => o(\n s[u],\n ..._\n ),\n ...(Array.isArray(w) ? w : [w]).filter(Boolean)\n ], d;\n }, {});\n },\n { deep: !0, immediate: !0 }\n ), (f, p) => (h(), z(j(m(e)), {\n \"data-overlayscrollbars-initialize\": \"\",\n ref_key: \"elementRef\",\n ref: n\n }, {\n default: q(() => [\n x(\"div\", {\n ref_key: \"slotRef\",\n ref: a\n }, [\n B(f.$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.es.js.map\n","<script lang=\"ts\" setup>\nimport { computed, nextTick, reactive, ref, watch } from \"vue\";\nimport { IconClose } from \"../../icons/icons\";\nimport type { UseOverlayScrollbarsParams } from \"overlayscrollbars-vue\";\nimport { useOverlayScrollbars } from \"overlayscrollbars-vue\";\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: false,\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 rootVisible = ref(false);\nconst modelWrapper = ref<HTMLElement>();\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 emit(\"update:visible\", false);\n emit(\"close\");\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\nwatch(\n () => props.visible,\n () => {\n if (props.visible) {\n nextTick(() => {\n modelWrapper.value?.focus();\n });\n }\n }\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 () => props.visible,\n (value) => {\n if (value) {\n if (modalBody.value) initialize({ target: modalBody.value });\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=\"visible\"\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=\"visible\"\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","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 type { Align, Direction, Spacing } from \"./interface\";\nimport { SpacingSize } from \"./interface\";\nimport { computed } from \"vue\";\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 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 { 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 { computed } from \"vue\";\nimport type { 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) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n</script>\n<template>\n <div :class=\"classes\" class=\"tabbar-wrapper\">\n <div class=\"tabbar-items\">\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{ 'tabbar-item-active': item[idKey] === activeId }\"\n class=\"tabbar-item\"\n @click=\"handleChange(item[idKey])\"\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 .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: -2px;\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 { 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\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 .tag-left-icon {\n @apply pl-1;\n }\n\n .tag-right-icon {\n @apply pr-1;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean;\n disabled?: boolean;\n }>(),\n {\n modelValue: false,\n disabled: 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) 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,\n }\"\n aria-checked=\"false\"\n class=\"switch-inner\"\n role=\"switch\"\n type=\"button\"\n :disabled=\"disabled\"\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 <slot 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 { VModal } from \"../modal\";\nimport { VButton } from \"../button\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"../../icons/icons\";\nimport { computed, ref } from \"vue\";\nimport type { Type } from \"@/components/dialog/interface\";\nimport type { Type as ButtonType } from \"@/components/button/interface\";\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 = {\n success: {\n icon: IconCheckboxCircle,\n color: \"green\",\n },\n info: {\n icon: IconInformation,\n color: \"blue\",\n },\n warning: {\n icon: IconErrorWarning,\n color: \"orange\",\n },\n error: {\n icon: IconForbidLine,\n color: \"red\",\n },\n};\nconst icon = computed(() => icons[props.type]);\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=\"icon.icon\"\n :class=\"`text-${icon.color}-500`\"\n class=\"w-6 h-6\"\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 DialogComponent from \"./Dialog.vue\";\nimport { createVNode, render, type Component } from \"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","<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 px-2 text-gray-800 text-sm border-gray-300;\n }\n\n &__select-label {\n @apply text-sm text-gray-500;\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NTguMDk1IDQ3NS43OTgiPgogIDxnPgogICAgPHBhdGgKICAgICAgZD0iTTU1NS41MzYsMzI4LjA0OWMtMTUuMjQzLTc2Ljg2Ni0xMDQuNTQ3LTEzOC4zLTEyMS45NjUtMjE4LjRDNDAxLjkxNCw3Ljc0LDI5Ny41Ny04LjM3MiwyMjkuNzY1LDM1Ljg4N2MtMTA3LjQzNyw3MC4xMjksNy4xNzYsODcuNTMyLTIwMy40NzMsMjUzLjQ1My01Mi4wMTQsNDAuOTY5LTM1LjQ0LDIyMS44MTcsMTI4LjE5MywxODAuMzEzLDg4LjA2LTIyLjMzNiwxMTQuODMtMjUuNDcsMTU0LjQ0LTI5LjE0OEM0MDguNzYzLDQzMS4yMzYsNTgxLjEyMyw0NTcuMDc5LDU1NS41MzYsMzI4LjA0OVoiCiAgICAgIGZpbGw9IiMzNjdjZmYiIG9wYWNpdHk9IjAuMSI+PC9wYXRoPgogICAgPGc+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNDM2LjI2NyAzNDcuMzE0IDI4MS45NTcgNDI4LjgxMyAxMjcuODggMzQ3LjMxNCAxMjcuODggMjI0LjI0NCA0MzYuMjY3IDIyNC4yNDQgNDM2LjI2NyAzNDcuMzE0IgogICAgICAgICAgICAgICAgIGZpbGw9IiNmZmYiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTI4MS45NTcsNDMwLjA2M2ExLjIzNywxLjIzNywwLDAsMS0uNTg1LS4xNDZMMTI3LjMsMzQ4LjQxOGExLjI0OSwxLjI0OSwwLDAsMS0uNjY2LTEuMVYyMjQuMjQ0YTEuMjUsMS4yNSwwLDAsMSwxLjI1LTEuMjVINDM2LjI2N2ExLjI1LDEuMjUsMCwwLDEsMS4yNSwxLjI1djEyMy4wN2ExLjI0OSwxLjI0OSwwLDAsMS0uNjY2LDEuMWwtMTU0LjMxLDgxLjVBMS4yNDQsMS4yNDQsMCwwLDEsMjgxLjk1Nyw0MzAuMDYzWm0tMTUyLjgyNy04My41TDI4MS45NTcsNDI3LjRsMTUzLjA2LTgwLjgzOVYyMjUuNDk0SDEyOS4xM1ptMzA3LjEzNy43NTNoMFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPGc+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0MzYuMjY3IDE5Ny44MzUgMjgxLjk1NyAxMTYuMzM2IDM1MS4yOTggODIuOTEzIDUwNS42MDggMTY0LjQxMyA0MzYuMjY3IDE5Ny44MzUiCiAgICAgICAgICAgICAgICAgZmlsbD0iI2ZmZiI+PC9wb2x5Z29uPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNDM2LjI2NywxOTkuMDg1YTEuMjU1LDEuMjU1LDAsMCwxLS41ODQtLjE0NGwtMTU0LjMxLTgxLjVhMS4yNTEsMS4yNTEsMCwwLDEsLjA0MS0yLjIzMmw2OS4zNDEtMzMuNDIzYTEuMjQ0LDEuMjQ0LDAsMCwxLDEuMTI3LjAyMWwxNTQuMzEsODEuNWExLjI1LDEuMjUsMCwwLDEtLjA0MSwyLjIzMUw0MzYuODEsMTk4Ljk2MUExLjI0NiwxLjI0NiwwLDAsMSw0MzYuMjY3LDE5OS4wODVabS0xNTEuNTM3LTgyLjcsMTUxLjU2Myw4MC4wNDgsNjYuNTQyLTMyLjA3M0wzNTEuMjcyLDg0LjMxNFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPGc+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxMjcuODggMTk3LjgzNSAyODIuMTkgMTE2LjMzNiAyMTIuODQ5IDgyLjkxMyA1OC41MzkgMTY0LjQxMyAxMjcuODggMTk3LjgzNSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L3BvbHlnb24+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xMjcuODgsMTk5LjA4NWExLjI0OSwxLjI0OSwwLDAsMS0uNTQzLS4xMjRMNTgsMTY1LjUzOGExLjI1LDEuMjUsMCwwLDEtLjA0MS0yLjIzMWwxNTQuMzEtODEuNWExLjI0NCwxLjI0NCwwLDAsMSwxLjEyNy0uMDIxbDY5LjM0MSwzMy40MjNhMS4yNTEsMS4yNTEsMCwwLDEsLjA0MSwyLjIzMmwtMTU0LjMxLDgxLjVBMS4yNTIsMS4yNTIsMCwwLDEsMTI3Ljg4LDE5OS4wODVaTTYxLjMxMiwxNjQuMzYybDY2LjU0MiwzMi4wNzMsMTUxLjU2My04MC4wNDhMMjEyLjg3NSw4NC4zMTRaIgogICAgICAgICAgZmlsbD0iIzI2MjYyNiI+PC9wYXRoPgogICAgICA8L2c+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTI3Ljg4IDE5Ny44MzUgMjgyLjE5IDI3OS4zMzUgMjAyLjg0OSAzMjIuNzU3IDQ4LjUzOSAyNDEuMjU4IDEyNy44OCAxOTcuODM1IgogICAgICAgICAgICAgICAgIGZpbGw9IiNmZmYiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTIwMi44NDksMzI0LjAwN2ExLjI0NCwxLjI0NCwwLDAsMS0uNTg0LS4xNDVsLTE1NC4zMS04MS41YTEuMjUsMS4yNSwwLDAsMS0uMDE2LTIuMmw3OS4zNDEtNDMuNDIzYTEuMjQ2LDEuMjQ2LDAsMCwxLDEuMTg0LS4wMDhsMTU0LjMxLDgxLjVhMS4yNSwxLjI1LDAsMCwxLC4wMTYsMi4ybC03OS4zNDEsNDMuNDIzQTEuMjUxLDEuMjUxLDAsMCwxLDIwMi44NDksMzI0LjAwN1pNNTEuMTc5LDI0MS4yMzhsMTUxLjY1OSw4MC4xLDc2LjcxMy00MS45ODQtMTUxLjY2LTgwLjFaIgogICAgICAgICAgZmlsbD0iIzI2MjYyNiI+PC9wYXRoPgogICAgICA8L2c+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNDM2LjI2NyAxOTcuODM1IDI4MS45NTcgMjc5LjMzNSAzNjEuMjk4IDMyMi43NTcgNTE1LjYwOCAyNDEuMjU4IDQzNi4yNjcgMTk3LjgzNSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L3BvbHlnb24+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0zNjEuMywzMjQuMDA3YTEuMjU0LDEuMjU0LDAsMCwxLS42LS4xNTNsLTc5LjM0MS00My40MjNhMS4yNSwxLjI1LDAsMCwxLC4wMTYtMi4ybDE1NC4zMS04MS41YTEuMjQ2LDEuMjQ2LDAsMCwxLDEuMTg0LjAwOGw3OS4zNDEsNDMuNDIzYTEuMjUsMS4yNSwwLDAsMS0uMDE2LDIuMmwtMTU0LjMxLDgxLjVBMS4yNDQsMS4yNDQsMCwwLDEsMzYxLjMsMzI0LjAwN1ptLTc2LjctNDQuNjUzLDc2LjcxMiw0MS45ODQsMTUxLjY2LTgwLjEtNzYuNzEzLTQxLjk4NFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPHBvbHlnb24gcG9pbnRzPSIyODIuMTkgMTE2LjMzNiAxMjcuODggMTk3LjgzNSAyODEuOTU3IDI3OS4zMzUgNDM2LjI2NyAxOTcuODM1IDI4Mi4xOSAxMTYuMzM2IgogICAgICAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BvbHlnb24+CiAgICAgIDxyZWN0IHg9IjI4MC43MDciIHk9IjI3OS4zMzQiIHdpZHRoPSIyLjUiIGhlaWdodD0iMTQ5LjQ3OSIgZmlsbD0iIzI2MjYyNiI+PC9yZWN0PgogICAgPC9nPgogICAgPGc+CiAgICAgIDxwYXRoCiAgICAgICAgZD0iTTE5NS41LDE5MC40MzZhLjk5Ljk5LDAsMCwxLS41NzctLjE4NSwxLDEsMCwwLDEtLjIzOC0xLjM5NGMuMTg1LS4yNjEsMTguMjU4LTI2LjM4OS0xLjkxOC01MC4yMDlhMzguMDA2LDM4LjAwNiwwLDAsMC0yOS4wOTUtMTMuNTE2SDE2My40YzEuOTE2LDYuNjU2LDEuNTc0LDEyLjU3NC0xLjEzOSwxNy4xMTRhMTIuNjQ1LDEyLjY0NSwwLDAsMS0xMS42OCw2LjQyLDEwLjA0MSwxMC4wNDEsMCwwLDEtOC42NzktNi43NTJjLTIuMjE5LTUuNzg4LjEtMTEuNCw2LjIxMi0xNS4wMTdhMjkuNSwyOS41LDAsMCwxLDEyLjU4OS0zLjYyMSw1My4zLDUzLjMsMCwwLDAtNS41NjYtMTAuODIxYy03LjI4NS0xMS4xMjYtMjAuNTYyLTE4LjgyOC0zNi40MjgtMjEuMTMxLTEzLjQ0Ni0xLjk1MS0yNi4zMzIuMzQ3LTMyLjgzMyw1Ljg1M2ExLDEsMCwwLDEtMS4yOTItMS41MjdjNi45MTgtNS44NTksMjAuNDI1LTguMzM2LDM0LjQxMi02LjMsMTYuNDMzLDIuMzg2LDMwLjIxNSwxMC40MDksMzcuODE1LDIyLjAxNGE1NC4yODUsNTQuMjg1LDAsMCwxLDUuOTY4LDExLjgxNiwzOS45NzYsMzkuOTc2LDAsMCwxLDMxLjUwOSwxNC4xOGMyMS4xOTMsMjUuMDE5LDIuMjE3LDUyLjM4NSwyLjAyMyw1Mi42NTlBMSwxLDAsMCwxLDE5NS41LDE5MC40MzZabS0zNC4xNDgtNjUuMjMxYTI3LjgyNiwyNy44MjYsMCwwLDAtMTIuMjE1LDMuNDE0Yy01LjI3NiwzLjEyMi03LjIzLDcuNzA4LTUuMzYzLDEyLjU4YTguMTA4LDguMTA4LDAsMCwwLDYuOTg0LDUuNDc2LDEwLjY2OSwxMC42NjksMCwwLDAsOS43OTEtNS40NTRDMTYzLjAzOSwxMzcuMDUxLDE2My4yNjcsMTMxLjUwOCwxNjEuMzQ5LDEyNS4yMDVaIgogICAgICAgIGZpbGw9IiMyOTJhMmUiPjwvcGF0aD4KICAgICAgPGc+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik02OC42MTcsMTEzLjNhNi44MDksNi44MDksMCwxLDEsLjY4NC0uMjQ2QTYuNjUyLDYuNjUyLDAsMCwxLDY4LjYxNywxMTMuM1ptLTMuMzI1LTExLjExMmE0LjY4OSw0LjY4OSwwLDAsMC0uNDc3LjE3Miw0Ljc5MSw0Ljc5MSwwLDEsMCwuNDc3LS4xNzJaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNjguNjA1LDk3LjYzYTYuOCw2LjgsMCwwLDEtOC4yMTYtMy44ODVoMGE2LjgsNi44LDAsMSwxLDguOSwzLjY0QTYuOTY0LDYuOTY0LDAsMCwxLDY4LjYwNSw5Ny42M1pNNjUuMjg0LDg2LjUxN2E0Ljg4OSw0Ljg4OSwwLDAsMC0uNDgzLjE3Myw0LjgsNC44LDAsMCwwLTIuNTY4LDYuMjgxaDBhNC44LDQuOCwwLDEsMCwzLjA1MS02LjQ1NVoiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPGVsbGlwc2UgY3g9IjY2LjY2NCIgY3k9Ijk4Ljc2MyIgcng9IjguODkyIiByeT0iNS45MzkiIGZpbGw9IiNmZmYiPjwvZWxsaXBzZT4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTcwLjYsMTA1LjEzOWExMy43NTQsMTMuNzU0LDAsMCwxLTMuOTI3LjU2NGMtNS41NDgsMC05LjktMy4wNC05LjktNi45MzFzNC4zMzktNi45NDIsOS44ODUtNi45NDhhMTIuNDI0LDEyLjQyNCwwLDAsMSw2Ljg0NSwxLjksNS42NzYsNS42NzYsMCwwLDEsLjAwOSwxMC4wNjNBMTAuODcyLDEwLjg3MiwwLDAsMSw3MC42LDEwNS4xMzlaTTYzLjMzOCw5NC4zYy0yLjY3Mi44LTQuNTY2LDIuNTI3LTQuNTY1LDQuNDY3LDAsMi42NzcsMy42MTcsNC45MzYsNy45LDQuOTMyYTEwLjQxNywxMC40MTcsMCwwLDAsNS43MzItMS41NzYsMy43MDYsMy43MDYsMCwwLDAtLjAwNi02LjczNSwxMC40LDEwLjQsMCwwLDAtNS43MzQtMS41NjZBMTEuNjA3LDExLjYwNywwLDAsMCw2My4zMzgsOTQuM1oiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2OC44NDUgMTA0LjUyMSA2OC42MzUgOTIuOTcxIDY1Ljc2MyA5Mi44NTUgNjUuNTYyIDEwNC42NTYgNjguODQ1IDEwNC41MjEiCiAgICAgICAgICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wb2x5Z29uPgogICAgICAgIDxjaXJjbGUgY3g9IjU0Ljg2NyIgY3k9IjEwMC4zNTgiIHI9IjAuOTE4IiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI1NS41ODQiIGN5PSI5NS40NDYiIHI9IjAuOTE4IiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGc+CiAgICAgIDxwYXRoCiAgICAgICAgZD0iTTM1Mi42MjUsMTMyLjc2NmExLDEsMCwwLDEtLjk1Ni0uNzA3LDk5LjIzNiw5OS4yMzYsMCwwLDEtMi42MDYtMzguMDIxYzIuNTg1LTE4LjYsMTIuODQzLTQzLjAxMSw0Ny4wMy01My43YTg4LjM2NCw4OC4zNjQsMCwwLDEsMTQuNzQ4LTMuMzgxYzEuNjExLTEwLjA2MSw3LjczOS0yMC45NzUsMjEuNDQ0LTI4LjUwNSwzMi41NjItMTcuODkyLDU0LjU1Ny0xLjgzOSw1NC43NzUtMS42NzVhMSwxLDAsMCwxLTEuMiwxLjZjLS4yMDgtLjE1Ni0yMS4yMjgtMTUuNDE3LTUyLjYxMSwxLjgyOS0xMi44MDYsNy4wMzctMTguNjY4LDE3LjEzNy0yMC4zMzUsMjYuNTEzLDE1LjA3OS0xLjQ4NSwyMi4zLDMuNTQ1LDI1LjU0MSw3LjM0NEExNS40ODgsMTUuNDg4LDAsMCwxLDQ0MC43NjksNjFhMTIuMDk0LDEyLjA5NCwwLDAsMS0xMS44MzUsNi45MDljLTguNDIxLS40OTQtMTUuMzktNy41NzgtMTcuNzUyLTE4LjA0OGEzNC4wMywzNC4wMywwLDAsMS0uNjE0LTEwLjgsODUuNTMzLDg1LjUzMywwLDAsMC0xMy44NzcsMy4xOTFjLTI2LjY0NSw4LjMzMS00MiwyNS44NS00NS42NDgsNTIuMDY3YTk2Ljk4Niw5Ni45ODYsMCwwLDAsMi41MzgsMzcuMTYsMSwxLDAsMCwxLS45NTYsMS4yOTNabTU5Ljk4Mi05My45NTVhMzIuMDE0LDMyLjAxNCwwLDAsMCwuNTI2LDEwLjYwOWMyLjE2MSw5LjU3OCw4LjQwOSwxNi4wNTEsMTUuOTE4LDE2LjQ5MmExMC4xNzgsMTAuMTc4LDAsMCwwLDkuOTI4LTUuOCwxMy40OTQsMTMuNDk0LDAsMCwwLTIuMDQ4LTE0Ljc0OUM0MzIuMjU1LDM5Ljg3Niw0MjMuNzIyLDM3LjY2LDQxMi42MDcsMzguODExWiIKICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgIDxnPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNTEwLjM1NCwxNi44ODRhNy4xNDIsNy4xNDIsMCwxLDEsNi45OTQtOC42NTloMGE3LjE1Niw3LjE1NiwwLDAsMS02Ljk5NCw4LjY1OVpNNTEwLjM2OSw0LjZhNS4xNDEsNS4xNDEsMCwxLDAsNS4wMjQsNC4wNTFBNS4xMTEsNS4xMTEsMCwwLDAsNTEwLjM2OSw0LjZaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNTA3LjM0MywzMy4yMDVhNy4xNjIsNy4xNjIsMCwxLDEsMS41MjktLjE2NUE3LjE3MSw3LjE3MSwwLDAsMSw1MDcuMzQzLDMzLjIwNVptLjAyNS0xMi4yODVhNS4xNjQsNS4xNjQsMCwwLDAtMS4xLjExOSw1LjExMiw1LjExMiwwLDEsMCwxLjEtLjExOVoiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPGVsbGlwc2UgY3g9IjUwOC44MjciIGN5PSIxOC4wOTgiIHJ4PSI2LjI4OSIgcnk9IjkuNDE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTguNjkyIDUxNS4xOTIpIHJvdGF0ZSgtNzkuNTQ1KSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L2VsbGlwc2U+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik01MTAuMiwyNS41MTZhMTQuOTY2LDE0Ljk2NiwwLDAsMS0yLjctLjI1LDEzLjEsMTMuMSwwLDAsMS02LjcyOS0zLjI4Niw2LjQxOSw2LjQxOSwwLDAsMS0yLjE5MS01Ljc3Miw2LjQyMiw2LjQyMiwwLDAsMSw0LjEwNy00LjYxLDEzLjk0NiwxMy45NDYsMCwwLDEsMTQuMTg3LDIuNjE4LDYuNDE5LDYuNDE5LDAsMCwxLDIuMTkxLDUuNzcyLDYuNDIyLDYuNDIyLDAsMCwxLTQuMTA3LDQuNjFBMTIuMDg4LDEyLjA4OCwwLDAsMSw1MTAuMiwyNS41MTZabS0yLjc2Mi0xMi44MzhhMTAuMDcyLDEwLjA3MiwwLDAsMC0zLjk2MS43NTcsNC41MDYsNC41MDYsMCwwLDAtMi45MywzLjEzNiw0LjUwNiw0LjUwNiwwLDAsMCwxLjYxOCwzLjk3NSwxMS45NjYsMTEuOTY2LDAsMCwwLDEyLDIuMjE1LDQuNTA2LDQuNTA2LDAsMCwwLDIuOTMtMy4xMzZoMGE0LjUsNC41LDAsMCwwLTEuNjE4LTMuOTc1LDExLjA4NCwxMS4wODQsMCwwLDAtNS43LTIuNzUzQTEyLjk1NywxMi45NTcsMCwwLDAsNTA3LjQ0MiwxMi42NzhaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTA3LjY2OCAxMS42ODIgNTA1LjY1NyAyMy43NDggNTA4LjYyNCAyNC40MjQgNTExLjExMiAxMi4xNzUgNTA3LjY2OCAxMS42ODIiCiAgICAgICAgICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wb2x5Z29uPgogICAgICAgIDxjaXJjbGUgY3g9IjUxOS43MjMiIGN5PSIyMy42OTEiIHI9IjAuOTcyIiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI1MjEuNDE3IiBjeT0iMTguNzE1IiByPSIwLjk3MiIgZmlsbD0iIzI5MmEyZSI+PC9jaXJjbGU+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\"","<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","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[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 = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\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 ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\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({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\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 => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\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 let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\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}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\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 } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\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 = within(min, mainAxisCoord, max);\n }\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 = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\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\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\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 const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // 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\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\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 var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(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\n const isLeftPlacement = getBasePlacement(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 => isLeftPlacement ? 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\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array<Element>\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, normalizeProps, guardReactiveProps, pushScopeId, popScopeId, nextTick, createBlock, withScopeId, resolveComponent, normalizeStyle, withKeys, createElementVNode, Fragment, createCommentVNode, withCtx, createVNode, mergeProps, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nfunction getAllParentThemes(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result;\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nconst shownPoppersByTheme = {};\nfunction getShownPoppersByTheme(theme) {\n let list = shownPoppersByTheme[theme];\n if (!list) {\n list = shownPoppersByTheme[theme] = [];\n }\n return list;\n}\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nconst PROVIDE_KEY = \"__floating-vue__popper\";\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n provide() {\n return {\n [PROVIDE_KEY]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [PROVIDE_KEY]: { default: null }\n },\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n default: null\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n positioningDisabled: {\n type: Boolean,\n default: defaultPropFactory(\"positioningDisabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: [Boolean, Function],\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoSize: {\n type: [Boolean, String],\n default: defaultPropFactory(\"autoSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n autoBoundaryMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoBoundaryMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n },\n noAutoFocus: {\n type: Boolean,\n default: defaultPropFactory(\"noAutoFocus\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\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 shownChildren: new Set(),\n lastAutoHide: true\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: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.positioningDisabled ? null : this.result,\n attrs: this.$attrs\n };\n },\n parentPopper() {\n var _a;\n return (_a = this[PROVIDE_KEY]) == null ? void 0 : _a.parentPopper;\n },\n hasPopperShowTriggerHover() {\n var _a, _b;\n return ((_a = this.popperTriggers) == null ? void 0 : _a.includes(\"hover\")) || ((_b = this.popperShowTriggers) == null ? void 0 : _b.includes(\"hover\"));\n }\n },\n watch: __spreadValues(__spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n }\n }, [\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_refreshListeners\";\n return acc;\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((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n if (this.autoMinSize) {\n console.warn('[floating-vue] `autoMinSize` option is deprecated. Use `autoSize=\"min\"` instead.');\n }\n if (this.autoMaxSize) {\n console.warn(\"[floating-vue] `autoMaxSize` option is deprecated. Use `autoBoundaryMaxSize` instead.\");\n }\n },\n mounted() {\n this.init();\n 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 = null, skipDelay = false, force = false } = {}) {\n var _a, _b;\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) && this.parentPopper.lockedChild !== this)\n return;\n this.$_pendingHide = false;\n if (force || !this.disabled) {\n if (((_b = this.parentPopper) == null ? void 0 : _b.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n var _a;\n if (this.$_hideInProgress)\n return;\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n if (this.hasPopperShowTriggerHover && this.$_isAimingPopper()) {\n if (this.parentPopper) {\n this.parentPopper.lockedChild = this;\n clearTimeout(this.parentPopper.lockedChildTimer);\n this.parentPopper.lockedChildTimer = setTimeout(() => {\n if (this.parentPopper.lockedChild === this) {\n this.parentPopper.lockedChild.hide({ skipDelay });\n this.parentPopper.lockedChild = null;\n }\n }, 1e3);\n }\n return;\n }\n if (((_a = this.parentPopper) == null ? void 0 : _a.lockedChild) === this) {\n this.parentPopper.lockedChild = null;\n }\n this.$_pendingHide = false;\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n var _a, _b;\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = (_b = (_a = this.referenceNode) == null ? void 0 : _a.call(this)) != null ? _b : this.$el;\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_updateParentShownChildren(false);\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed || this.positioningDisabled)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize || this.autoSize) {\n const autoSize = this.autoSize ? this.autoSize : this.autoMinSize ? \"min\" : null;\n options2.middleware.push({\n name: \"autoSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style[autoSize === \"min\" ? \"minWidth\" : autoSize === \"max\" ? \"maxWidth\" : \"width\"] = width != null ? `${width}px` : null;\n this.$_innerNode.style[autoSize === \"min\" ? \"minHeight\" : autoSize === \"max\" ? \"maxHeight\" : \"height\"] = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize || this.autoBoundaryMaxSize) {\n this.$_innerNode.style.maxWidth = null;\n this.$_innerNode.style.maxHeight = null;\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_updateParentShownChildren(true);\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove && hidingPopper !== this.parentPopper) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n return;\n }\n this.$_updateParentShownChildren(false);\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n if (!this.positioningDisabled) {\n this.$_registerEventListeners([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n }\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n document.body.classList.add(\"v-popper--some-open\");\n for (const theme of getAllParentThemes(this.theme)) {\n getShownPoppersByTheme(theme).push(this);\n document.body.classList.add(`v-popper--some-open--${theme}`);\n }\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n if (!this.noAutoFocus)\n this.$_popperNode.focus();\n },\n async $_applyHide(skipTransition = false) {\n if (this.shownChildren.size > 0) {\n this.$_pendingHide = true;\n this.$_hideInProgress = false;\n return;\n }\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (shownPoppers.length === 0) {\n document.body.classList.remove(\"v-popper--some-open\");\n }\n for (const theme of getAllParentThemes(this.theme)) {\n const list = getShownPoppersByTheme(theme);\n removeFromArray(list, this);\n if (list.length === 0) {\n document.body.classList.remove(`v-popper--some-open--${theme}`);\n }\n }\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$_removeEventListeners(\"scroll\");\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n this.$_registerTriggerListeners([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n this.$_registerTriggerListeners([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n },\n $_registerEventListeners(targetNodes, eventType, handler) {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n },\n $_registerTriggerListeners(targetNodes, eventMap, commonTriggers, customTrigger, handler) {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n this.$_registerEventListeners(targetNodes, eventType, handler);\n }\n });\n },\n $_removeEventListeners(filterEventType) {\n const newList = [];\n this.$_events.forEach((listener) => {\n const { targetNodes, eventType, handler } = listener;\n if (!filterEventType || filterEventType === eventType) {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n } else {\n newList.push(listener);\n }\n });\n this.$_events = newList;\n },\n $_refreshListeners() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n },\n $_updateParentShownChildren(value) {\n let parent = this.parentPopper;\n while (parent) {\n if (value) {\n parent.shownChildren.add(this.randomId);\n } else {\n parent.shownChildren.delete(this.randomId);\n if (parent.$_pendingHide) {\n parent.hide();\n }\n }\n parent = parent.parentPopper;\n }\n },\n $_isAimingPopper() {\n const referenceBounds = this.$_referenceNode.getBoundingClientRect();\n if (mouseX >= referenceBounds.left && mouseX <= referenceBounds.right && mouseY >= referenceBounds.top && mouseY <= referenceBounds.bottom) {\n const popperBounds = this.$_popperNode.getBoundingClientRect();\n const vectorX = mouseX - mousePreviousX;\n const vectorY = mouseY - mousePreviousY;\n const distance = popperBounds.left + popperBounds.width / 2 - mousePreviousX + (popperBounds.top + popperBounds.height / 2) - mousePreviousY;\n const newVectorLength = distance + popperBounds.width + popperBounds.height;\n const edgeX = mousePreviousX + vectorX * newVectorLength;\n const edgeY = mousePreviousY + vectorY * newVectorLength;\n return lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.left, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.top, popperBounds.right, popperBounds.top) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.right, popperBounds.top, popperBounds.right, popperBounds.bottom) || lineIntersectsLine(mousePreviousX, mousePreviousY, edgeX, edgeY, popperBounds.left, popperBounds.bottom, popperBounds.right, popperBounds.bottom);\n }\n return false;\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n try {\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n } catch (e) {\n }\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n const preventClose = {};\n for (let i = shownPoppers.length - 1; i >= 0; i--) {\n const popper = shownPoppers[i];\n try {\n const contains = popper.$_containsGlobalTarget = isContainingEventTarget(popper, event);\n popper.$_pendingHide = false;\n requestAnimationFrame(() => {\n popper.$_pendingHide = false;\n if (preventClose[popper.randomId])\n return;\n if (shouldAutoHide(popper, contains, event)) {\n popper.$_handleGlobalClose(event, touch);\n if (!event.closeAllPopover && event.closePopover && contains) {\n let parent2 = popper.parentPopper;\n while (parent2) {\n preventClose[parent2.randomId] = true;\n parent2 = parent2.parentPopper;\n }\n return;\n }\n let parent = popper.parentPopper;\n while (parent) {\n if (shouldAutoHide(parent, parent.$_containsGlobalTarget, event)) {\n parent.$_handleGlobalClose(event, touch);\n } else {\n break;\n }\n parent = parent.parentPopper;\n }\n }\n });\n } catch (e) {\n }\n }\n}\nfunction isContainingEventTarget(popper, event) {\n const popperContent = popper.popperNode();\n return popper.$_mouseDownContains || popperContent.contains(event.target);\n}\nfunction shouldAutoHide(popper, contains, event) {\n return event.closeAllPopover || event.closePopover && contains || getAutoHideResult(popper, event) && !contains;\n}\nfunction getAutoHideResult(popper, event) {\n if (typeof popper.autoHide === \"function\") {\n const result = popper.autoHide(event);\n popper.lastAutoHide = result;\n return result;\n }\n return popper.autoHide;\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nlet mousePreviousX = 0;\nlet mousePreviousY = 0;\nlet mouseX = 0;\nlet mouseY = 0;\nif (typeof window !== \"undefined\") {\n window.addEventListener(\"mousemove\", (event) => {\n mousePreviousX = mouseX;\n mousePreviousY = mouseY;\n mouseX = event.clientX;\n mouseY = event.clientY;\n }, supportsPassive ? {\n passive: true\n } : void 0);\n}\nfunction lineIntersectsLine(x1, y1, x2, y2, x3, y3, x4, y4) {\n const uA = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n const uB = ((x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3)) / ((y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1));\n return uA >= 0 && uA <= 1 && uB >= 0 && uB <= 1;\n}\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$6 = {\n extends: PrivatePopper()\n};\nfunction _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", {\n \"v-popper--shown\": _ctx.slotData.isShown\n }])\n }, [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(_ctx.slotData)))\n ], 2);\n}\nvar Popper$1 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [[\"render\", _sfc_render$3]]);\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\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);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = (prop = \"theme\") => ({\n computed: {\n themeClass() {\n return getThemeClasses(this[prop]);\n }\n }\n});\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass()\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(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result && _ctx.result.arrow.overflow,\n \"v-popper__popper--no-positioning\": !_ctx.result\n }\n ]]),\n style: normalizeStyle(_ctx.result ? {\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n } : void 0),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result ? _ctx.result.placement : void 0,\n onKeyup: _cache[2] || (_cache[2] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: _cache[0] || (_cache[0] = ($event) => _ctx.autoHide && _ctx.$emit(\"hide\"))\n }),\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle(_ctx.result ? {\n transformOrigin: _ctx.result.transformOrigin\n } : void 0)\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[1] || (_cache[1] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle(_ctx.result ? {\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n } : void 0)\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: Popper$1,\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$el.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, {\n ref: \"popper\",\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n class: normalizeClass([\n _ctx.themeClass\n ])\n }, {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\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 }, 8, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\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 if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\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\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-beta.20\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import type { InjectionKey } from \"vue\";\n\nexport const DropdownContextInjectionKey: InjectionKey<{\n hide: () => void;\n}> = Symbol(\"dropdown-context\");\n","<script lang=\"ts\" setup>\nimport { Dropdown as FloatingDropdown, type Placement } 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?: string[];\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 <FloatingDropdown\n ref=\"dropdownRef\"\n :placement=\"placement\"\n :triggers=\"triggers\"\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>\nimport { DropdownContextInjectionKey } from \"./symbols\";\nimport { inject } from \"vue\";\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","<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 { IconMore } from \"../../icons/icons\";\nimport { computed } from \"vue\";\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>\nimport type { Type } from \"./interface\";\nimport { computed, onMounted, ref, watchEffect } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n IconClose,\n} from \"@/icons/icons\";\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 = {\n success: {\n icon: IconCheckboxCircle,\n color: \"text-green-500\",\n },\n info: {\n icon: IconInformation,\n color: \"text-sky-500\",\n },\n warning: {\n icon: IconErrorWarning,\n color: \"text-orange-500\",\n },\n error: {\n icon: IconForbidLine,\n color: \"text-red-500\",\n },\n};\n\nconst icon = computed(() => icons[props.type]);\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=\"icon.icon\" :class=\"[icon.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 ToastComponent from \"./Toast.vue\";\nimport { createVNode, render, type Component, type VNode } from \"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","<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></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"],"names":["isLoading","ref","error","loadImage","props","image","resolve","reject","err","onMounted","classes","computed","result","styles","placeholderText","words","TypeIcons","IconCheckboxCircle","IconInformation","IconErrorWarning","IconCloseCircle","handleClose","emit","router","useRouter","handleClick","provide","slots","useSlots","open","openIds","inject","hasSubmenus","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","each","t","n","isArrayLike","o","style","isString","isArray","e","getCSSVal","keys","setCSSVal","createCache","s","c","cacheUpdateContextual","i","l","isClient","isUndefined","isNull","type","isNumber","isBoolean","isFunction","isObject","isPlainObject","r","isHTMLElement","isElement","indexOf","push","from","isEmptyArray","runEachAndClear","hasOwnProperty","assignDeep","isEmptyObject","getSetProp","attr","attrClass","hasAttrClass","removeAttr","scrollLeft","scrollTop","find","findFirst","is","contents","parent","closest","liesBetween","before","appendChildren","insertBefore","insertAfter","removeElements","createDiv","createDOM","firstLetterToUpper","getDummyStyle","cssProperty","jsAPI","a","u","d","f","_","h","equal","equalWH","equalXY","equalTRBL","equalBCRWH","noop","selfClearTimeout","debounce","mergeParms","flush","v","w","p","b","g","classListAction","hasClass","removeClass","addClass","parseToZeroOrNumber","adaptCSSVal","directionIsRTL","topRightBottomLeft","offsetSize","clientSize","scrollSize","fractionalSize","getBoundingClientRect","m","supportPassiveEvents","splitEventNames","off","on","stopPropagation","preventDefault","y","absoluteCoordinates","manageListener","createEventListenerHub","removeEvent","addEvent","triggerEvent","opsStringify","S","getOptionsDiff","x","$","C","O","z","T","E","I","A","L","H","P","M","D","R","k","B","V","Y","F","G","X","U","W","Z","J","K","Q","tt","nt","ot","st","et","ct","rt","it","lt","at","getPlugins","addPlugin","wt","mt","Ct","zt","Et","getNativeScrollbarSize","getNativeScrollbarsHiding","getRtlScrollBehavior","getFlexboxGlue","createEnvironment","getEnvironment","resolveInitialization","staticInitializationElement","dynamicInitializationElement","cancelInitialization","It","addInstance","removeInstance","getInstance","getPropByPath","createOptionCheck","createState","At","Lt","unwrap","createStructureSetupElements","j","N","q","elementIsGenerated","revertViewportTabIndex","createTrinsicUpdateSegment","createPaddingUpdateSegment","Ht","Pt","Mt","Dt","Rt","kt","Bt","getOverflowAmount","conditionalClass","overflowIsVisible","createOverflowUpdateSegment","fixFlexboxGlue","getViewportOverflowState","getStatePerAxis","setViewportOverflowState","setAxisOverflowStyle","hideNativeScrollbars","ut","dt","ft","prepareUpdateHints","createStructureSetupUpdate","createEventContentChange","destroy","updateElements","createDOMObserver","observerCallback","Vt","domRectHasDimensions","createSizeObserver","onSizeChangedCallbackProxy","isHeightIntrinsic","createTrinsicObserver","triggerOnTrinsicChangedCallback","intersectionObserverCallback","onSizeChanged","Yt","jt","Nt","qt","Ft","createStructureSetupObservers","updateViewportAttrsFromHost","onTrinsicChanged","onContentMutation","onHostMutation","ignoreMutationFromOptions","Gt","createInitialStructureSetupUpdateState","createStructureSetup","triggerUpdateEvent","Xt","getScale","continuePointerDown","createRootClickStopPropagationEvents","Ut","createInteractiveScrollEvents","createRelativeHandleMove","getHandleRect","getTrackRect","getHandleOffset","releasePointerCapture","createScrollbarsSetupEvents","Wt","Zt","Jt","Kt","getScrollbarHandleLengthRatio","getScrollbarHandleOffsetRatio","createScrollbarsSetupElements","scrollbarStructureAddRemoveClass","scrollbarsHandleStyle","scrollbarStructureRefreshHandleLength","scrollbarStructureRefreshHandleOffset","scrollbarsAddRemoveClass","refreshScrollbarsHandleLength","refreshScrollbarsHandleOffset","generateScrollbarDOM","appendElements","createScrollbarsSetup","styleScrollbarPosition","manageScrollbarsAutoHide","hide","onHostMouseEnter","setScrollbarVisibility","invokePluginInstance","OverlayScrollbars","validateOptions","update","translateScrollbarStructure","translateScrollbarsSetupElement","rootVisible","modelWrapper","wrapperClasses","contentStyles","focus","handleClickLayer","watch","nextTick","_a","modalBody","reactiveParams","reactive","initialize","instance","useOverlayScrollbars","value","SpacingSize","direction","align","tabItems","slotProps","handleChange","id","activeId","isActive","icons","IconForbidLine","icon","loading","handleCancel","handleConfirm","defaultProps","dialog","userProps","container","vnode","hostContainer","createVNodeComponent","DialogComponent","render","component","createVNode","totalPages","hasNext","hasPrevious","totalLabelText","onPageChange","event","target","page","onSizeChange","size","previous","next","Empty","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","length","computePosition","config","strategy","middleware","platform","rects","statefulPlacement","middlewareData","name","fn","nextX","nextY","data","reset","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","rect","detectOverflow","middlewareArguments","options","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","element","clippingClientRect","elementClientRect","min","max","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","centerToReference","center","offset","hash$1","getOppositePlacement","matched","getAlignmentSides","isStart","mainAlignmentSide","hash","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentIndex","currentPlacement","main","cross","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","nextIndex","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","rawValue","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","node","ownerDocument","getComputedStyle$1","getNodeName","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","scroll","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","window","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","width","height","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","list","_node$ownerDocument","scrollParent","isBody","updatedList","contains","child","rootNode","getInnerBoundingClientRect","top","left","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","args","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","__spreadValues","prop","__spreadProps","events","getDefaultConfig","theme","themeConfig","getThemeClasses","getAllParentThemes","supportsPassive","opts","isIOS","base","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","array","item","index","nextFrame","shownPoppers","hidingPopper","shownPoppersByTheme","getShownPoppersByTheme","Element","defaultPropFactory","PROVIDE_KEY","PrivatePopper","defineComponent","_b","skipDelay","force","options2","isPlacementAuto","centerOffset","autoSize","_a2","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","handleShow","handleHide","targetNodes","eventType","handler","eventMap","commonTriggers","customTrigger","triggers","trigger","filterEventType","newList","listener","touch","attrFrom","attrTo","el","attrs","referenceBounds","mouseX","mouseY","popperBounds","vectorX","mousePreviousX","vectorY","mousePreviousY","newVectorLength","edgeX","edgeY","lineIntersectsLine","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","preventClose","isContainingEventTarget","shouldAutoHide","parent2","getAutoHideResult","x1","y1","x2","y2","x3","y3","x4","y4","uA","uB","_export_sfc","sfc","val","_sfc_main$6","_sfc_render$3","$props","$setup","$data","$options","openBlock","createElementBlock","normalizeClass","renderSlot","normalizeProps","guardReactiveProps","Popper$1","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","script","object","_withId","withScopeId","pushScopeId","_hoisted_1$2","popScopeId","createBlock","PrivateThemeClass","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","resolveComponent","normalizeStyle","withKeys","$event","Fragment","createCommentVNode","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","withCtx","popperId","isShown","shouldMountContent","autoHide","show","handleResize","onResize","PrivatePopperWrapper","_sfc_main$3","_sfc_main","fetchId","res","_hoisted_2","mergeProps","toDisplayString","PrivateTooltipDirective","TARGET_CLASS","getPlacement","modifiers","pos","getOptions","directiveApp","directives","uid","ensureDirectiveApp","createApp","directive","mountTarget","createTooltip","shown","destroyTooltip","bind","PrivateVTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","oldValue","VTooltip","VClosePopper","Dropdown","DropdownContextInjectionKey","dropdownRef","expose","wrapperStyles","timer","createTimer","close","clearTimer","handleMouseEnter","handleMouseLeave","watchEffect","instances","toast","ToastComponent","content","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"halo-components.es.js","sources":["../src/components/avatar/Avatar.vue","../src/components/alert/Alert.vue","../src/components/button/Button.vue","../src/components/menu/Menu.vue","../src/components/menu/MenuItem.vue","../src/components/menu/MenuLabel.vue","../../../node_modules/.pnpm/overlayscrollbars@2.1.1/node_modules/overlayscrollbars/overlayscrollbars.mjs","../../../node_modules/.pnpm/overlayscrollbars-vue@0.5.1_overlayscrollbars@2.1.1_vue@3.3.4/node_modules/overlayscrollbars-vue/overlayscrollbars-vue.es.js","../src/components/modal/Modal.vue","../src/components/space/interface.ts","../src/components/space/Space.vue","../src/components/tabs/Tabs.vue","../src/components/tabs/TabItem.vue","../src/components/tabs/Tabbar.vue","../src/components/tag/Tag.vue","../src/components/switch/Switch.vue","../src/components/dialog/Dialog.vue","../src/components/dialog/dialog-manager.ts","../src/components/pagination/Pagination.vue","../src/components/empty/Empty.svg","../src/components/status/StatusDot.vue","../../../node_modules/.pnpm/@floating-ui+utils@0.1.1/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/.pnpm/@floating-ui+core@1.4.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@2.0.0-beta.24_vue@3.3.4/node_modules/floating-vue/dist/floating-vue.mjs","../src/components/dropdown/symbols.ts","../src/components/dropdown/Dropdown.vue","../src/components/dropdown/DropdownItem.vue","../src/components/dropdown/DropdownDivider.vue","../src/components/entity/Entity.vue","../src/components/entity/EntityField.vue","../src/components/toast/Toast.vue","../src/components/toast/toast-manager.ts","../src/components/loading/Loading.vue","../src/components/description/Description.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, watch } from \"vue\";\nimport { IconErrorWarning } from \"../../icons/icons\";\nimport type { Size } from \"./interface\";\n\nconst props = withDefaults(\n defineProps<{\n src?: string;\n alt?: string;\n size?: Size;\n width?: string;\n height?: string;\n circle?: boolean;\n }>(),\n {\n src: undefined,\n alt: undefined,\n size: \"md\",\n width: undefined,\n height: undefined,\n circle: false,\n }\n);\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-${props.circle ? \"circle\" : \"square\"}`];\n if (props.size) {\n result.push(`avatar-${props.size}`);\n }\n return result;\n});\n\nconst styles = computed(() => {\n const result: Record<string, string> = {};\n if (props.width) {\n result.width = props.width;\n }\n if (props.height) {\n result.height = props.height;\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 type { Component } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Type } from \"./interface\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconCloseCircle,\n IconErrorWarning,\n IconInformation,\n} from \"../../icons/icons\";\n\nconst TypeIcons: Record<Type, Component> = {\n success: IconCheckboxCircle,\n info: IconInformation,\n default: IconInformation,\n warning: IconErrorWarning,\n error: 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 class=\"alert-title\">\n {{ title }}\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","<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>\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 { IconArrowRight } from \"../../icons/icons\";\nimport { computed, inject, ref, useSlots } from \"vue\";\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 (hasSubmenus.value) {\n open.value = !open.value;\n return;\n }\n emit(\"select\", props.id);\n}\n</script>\n\n<template>\n <li\n :class=\"{ 'has-submenus': hasSubmenus }\"\n class=\"menu-item\"\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 >\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 p-2\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.open {\n transform: rotate(90deg);\n}\n\n.submenus-show-enter-active {\n transition: all 0.1s ease-out;\n}\n\n.submenus-show-leave-active {\n transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);\n}\n\n.submenus-show-enter-from,\n.submenus-show-enter-to {\n transform: translateY(-10px);\n opacity: 0;\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","/*!\n * OverlayScrollbars\n * Version: 2.1.1\n *\n * Copyright (c) Rene Haas | KingSora.\n * https://github.com/KingSora\n *\n * Released under the MIT license.\n */\n\nfunction each(t, n) {\n if (isArrayLike(t)) {\n for (let o = 0; o < t.length; o++) {\n if (false === n(t[o], o, t)) {\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\nfunction style(t, n) {\n const o = isString(n);\n const s = isArray(n) || o;\n if (s) {\n let s = o ? \"\" : {};\n if (t) {\n const e = window.getComputedStyle(t, null);\n s = o ? getCSSVal(t, e, n) : n.reduce(((n, o) => {\n n[o] = getCSSVal(t, e, o);\n return n;\n }), s);\n }\n return s;\n }\n t && each(keys(n), (o => setCSSVal(t, o, n[o])));\n}\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 i = t;\n const l = n || (s ? !s(o, i) : o !== i);\n if (l || e) {\n c = i;\n r = o;\n }\n return [ c, l, 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 isClient = () => \"undefined\" !== typeof window;\n\nconst t = isClient() && Node.ELEMENT_NODE;\n\nconst {toString: n, hasOwnProperty: o} = Object.prototype;\n\nconst isUndefined = t => void 0 === t;\n\nconst isNull = t => null === t;\n\nconst type = t => isUndefined(t) || isNull(t) ? `${t}` : n.call(t).replace(/^\\[object (.+)\\]$/, \"$1\").toLowerCase();\n\nconst isNumber = t => \"number\" === typeof t;\n\nconst isString = t => \"string\" === typeof t;\n\nconst isBoolean = t => \"boolean\" === typeof t;\n\nconst isFunction = t => \"function\" === typeof t;\n\nconst isArray = t => Array.isArray(t);\n\nconst isObject = t => \"object\" === typeof t && !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) || \"object\" !== type(t)) {\n return false;\n }\n let n;\n const s = \"constructor\";\n const e = t[s];\n const c = e && e.prototype;\n const r = o.call(t, s);\n const i = c && o.call(c, \"isPrototypeOf\");\n if (e && !r && !i) {\n return false;\n }\n for (n in t) {}\n return isUndefined(n) || o.call(t, n);\n};\n\nconst isHTMLElement = n => {\n const o = HTMLElement;\n return n ? o ? n instanceof o : n.nodeType === t : false;\n};\n\nconst isElement = n => {\n const o = Element;\n return n ? o ? n instanceof o : n.nodeType === t : false;\n};\n\nconst indexOf = (t, n, o) => t.indexOf(n, o);\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 => {\n const n = Array.from;\n const o = [];\n if (n && t) {\n return n(t);\n }\n if (t instanceof Set) {\n t.forEach((t => {\n push(o, t);\n }));\n } else {\n each(t, (t => {\n push(o, t);\n }));\n }\n return o;\n};\n\nconst isEmptyArray = t => !!t && 0 === t.length;\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 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 i = [ n, o, s, e, c, r ];\n if ((\"object\" !== typeof t || isNull(t)) && !isFunction(t)) {\n t = {};\n }\n each(i, (n => {\n each(keys(n), (o => {\n const s = n[o];\n if (t === s) {\n return true;\n }\n const e = isArray(s);\n if (s && (isPlainObject(s) || e)) {\n const n = t[o];\n let c = n;\n if (e && !isArray(n)) {\n c = [];\n } else if (!e && !isPlainObject(n)) {\n c = {};\n }\n t[o] = assignDeep(c, s);\n } else {\n t[o] = s;\n }\n }));\n }));\n return t;\n};\n\nconst isEmptyObject = t => {\n for (const n in t) {\n return false;\n }\n return true;\n};\n\nconst getSetProp = (t, n, o, s) => {\n if (isUndefined(s)) {\n return o ? o[t] : n;\n }\n o && (isString(s) || isNumber(s)) && (o[t] = s);\n};\n\nconst attr = (t, n, o) => {\n if (isUndefined(o)) {\n return t ? t.getAttribute(n) : null;\n }\n t && t.setAttribute(n, o);\n};\n\nconst attrClass = (t, n, o, s) => {\n if (o) {\n const e = attr(t, n) || \"\";\n const c = new Set(e.split(\" \"));\n c[s ? \"add\" : \"delete\"](o);\n attr(t, n, from(c).join(\" \").trim());\n }\n};\n\nconst hasAttrClass = (t, n, o) => {\n const s = attr(t, n) || \"\";\n const e = new Set(s.split(\" \"));\n return e.has(o);\n};\n\nconst removeAttr = (t, n) => {\n t && t.removeAttribute(n);\n};\n\nconst scrollLeft = (t, n) => getSetProp(\"scrollLeft\", 0, t, n);\n\nconst scrollTop = (t, n) => getSetProp(\"scrollTop\", 0, t, n);\n\nconst s = isClient() && Element.prototype;\n\nconst find = (t, n) => {\n const o = [];\n const s = n ? isElement(n) ? n : null : document;\n return s ? push(o, s.querySelectorAll(t)) : o;\n};\n\nconst findFirst = (t, n) => {\n const o = n ? isElement(n) ? n : null : document;\n return o ? o.querySelector(t) : null;\n};\n\nconst is = (t, n) => {\n if (isElement(t)) {\n const o = s.matches || s.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 : null;\n\nconst closest = (t, n) => {\n if (isElement(t)) {\n const o = s.closest;\n if (o) {\n return o.call(t, n);\n }\n do {\n if (is(t, n)) {\n return t;\n }\n t = parent(t);\n } while (t);\n }\n return null;\n};\n\nconst liesBetween = (t, n, o) => {\n const s = t && 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 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 }\n};\n\nconst appendChildren = (t, n) => {\n before(t, null, n);\n};\n\nconst insertBefore = (t, n) => {\n before(parent(t), t, n);\n};\n\nconst insertAfter = (t, n) => {\n before(parent(t), t && t.nextSibling, n);\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 if (n) {\n n.removeChild(t);\n }\n }\n};\n\nconst createDiv = t => {\n const n = document.createElement(\"div\");\n if (t) {\n attr(n, \"class\", t);\n }\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 firstLetterToUpper = t => t.charAt(0).toUpperCase() + t.slice(1);\n\nconst getDummyStyle = () => createDiv().style;\n\nconst e = [ \"-webkit-\", \"-moz-\", \"-o-\", \"-ms-\" ];\n\nconst c = [ \"WebKit\", \"Moz\", \"O\", \"MS\", \"webkit\", \"moz\", \"o\", \"ms\" ];\n\nconst r = {};\n\nconst i = {};\n\nconst cssProperty = t => {\n let n = i[t];\n if (hasOwnProperty(i, t)) {\n return n;\n }\n const o = firstLetterToUpper(t);\n const s = getDummyStyle();\n each(e, (e => {\n const c = e.replace(/-/g, \"\");\n const r = [ t, e + t, c + o, firstLetterToUpper(c) + o ];\n return !(n = r.find((t => void 0 !== s[t])));\n }));\n return i[t] = n || \"\";\n};\n\nconst jsAPI = t => {\n if (isClient()) {\n let n = r[t] || window[t];\n if (hasOwnProperty(r, t)) {\n return n;\n }\n each(c, (o => {\n n = n || window[o + firstLetterToUpper(t)];\n return !n;\n }));\n r[t] = n;\n return n;\n }\n};\n\nconst l = jsAPI(\"MutationObserver\");\n\nconst a = jsAPI(\"IntersectionObserver\");\n\nconst u = jsAPI(\"ResizeObserver\");\n\nconst d = jsAPI(\"cancelAnimationFrame\");\n\nconst f = jsAPI(\"requestAnimationFrame\");\n\nconst _ = isClient() && window.setTimeout;\n\nconst h = isClient() && window.clearTimeout;\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 equalBCRWH = (t, n, o) => equal(t, n, [ \"width\", \"height\" ], o && (t => Math.round(t)));\n\nconst noop = () => {};\n\nconst selfClearTimeout = t => {\n let n;\n const o = t ? _ : f;\n const s = t ? h : d;\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: r, g: i, p: l} = n || {};\n const a = function invokeFunctionToDebounce(n) {\n c();\n h(o);\n o = s = void 0;\n c = noop;\n t.apply(this, n);\n };\n const mergeParms = t => l && s ? l(s, t) : t;\n const flush = () => {\n if (c !== noop) {\n a(mergeParms(e) || e);\n }\n };\n const u = function debouncedFn() {\n const t = from(arguments);\n const n = isFunction(r) ? r() : r;\n const l = isNumber(n) && n >= 0;\n if (l) {\n const r = isFunction(i) ? i() : i;\n const l = isNumber(r) && r >= 0;\n const u = n > 0 ? _ : f;\n const v = n > 0 ? h : d;\n const g = mergeParms(t);\n const w = g || t;\n const p = a.bind(0, w);\n c();\n const b = u(p, n);\n c = () => v(b);\n if (l && !o) {\n o = _(flush, r);\n }\n s = e = w;\n } else {\n a(t);\n }\n };\n u.m = flush;\n return u;\n};\n\nconst {max: v} = Math;\n\nconst animationCurrentTime = () => performance.now();\n\nconst animateNumber = (t, n, o, s, e) => {\n let c = 0;\n const r = animationCurrentTime();\n const i = Math.max(0, o);\n const frame = o => {\n const l = animationCurrentTime();\n const a = l - r;\n const u = a >= i;\n const d = o ? 1 : 1 - (v(0, r + i - l) / i || 0);\n const _ = (n - t) * (isFunction(e) ? e(d, d * i, 0, 1, i) : d) + t;\n const h = u || 1 === d;\n s && s(_, d, h);\n c = h ? 0 : f((() => frame()));\n };\n frame();\n return t => {\n d(c);\n t && frame(t);\n };\n};\n\nconst g = /[^\\x20\\t\\r\\n\\f]+/g;\n\nconst classListAction = (t, n, o) => {\n const s = t && t.classList;\n let e;\n let c = 0;\n let r = false;\n if (s && n && isString(n)) {\n const t = n.match(g) || [];\n r = t.length > 0;\n while (e = t[c++]) {\n r = !!o(s, e) && r;\n }\n }\n return r;\n};\n\nconst hasClass = (t, n) => classListAction(t, n, ((t, n) => t.contains(n)));\n\nconst removeClass = (t, n) => {\n classListAction(t, n, ((t, n) => t.remove(n)));\n};\n\nconst addClass = (t, n) => {\n classListAction(t, n, ((t, n) => t.add(n)));\n return removeClass.bind(0, t, n);\n};\n\nconst w = {\n opacity: 1,\n zindex: 1\n};\n\nconst parseToZeroOrNumber = (t, n) => {\n const o = n ? parseFloat(t) : parseInt(t, 10);\n return o === o ? o : 0;\n};\n\nconst adaptCSSVal = (t, n) => !w[t.toLowerCase()] && isNumber(n) ? `${n}px` : n;\n\nconst getCSSVal = (t, n, o) => null != n ? n[o] || n.getPropertyValue(o) : t.style[o];\n\nconst setCSSVal = (t, n, o) => {\n try {\n const {style: s} = t;\n if (!isUndefined(s[n])) {\n s[n] = adaptCSSVal(n, o);\n } else {\n s.setProperty(n, o);\n }\n } catch (s) {}\n};\n\nconst directionIsRTL = t => \"rtl\" === style(t, \"direction\");\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 i = `${s}bottom${e}`;\n const l = `${s}left${e}`;\n const a = style(t, [ c, r, i, l ]);\n return {\n t: parseToZeroOrNumber(a[c], true),\n r: parseToZeroOrNumber(a[r], true),\n b: parseToZeroOrNumber(a[i], true),\n l: parseToZeroOrNumber(a[l], true)\n };\n};\n\nconst {round: p} = Math;\n\nconst b = {\n w: 0,\n h: 0\n};\n\nconst windowSize = () => ({\n w: window.innerWidth,\n h: window.innerHeight\n});\n\nconst offsetSize = t => t ? {\n w: t.offsetWidth,\n h: t.offsetHeight\n} : b;\n\nconst clientSize = t => t ? {\n w: t.clientWidth,\n h: t.clientHeight\n} : b;\n\nconst scrollSize = t => t ? {\n w: t.scrollWidth,\n h: t.scrollHeight\n} : b;\n\nconst fractionalSize = t => {\n const n = parseFloat(style(t, \"height\")) || 0;\n const o = parseFloat(style(t, \"width\")) || 0;\n return {\n w: o - p(o),\n h: n - p(n)\n };\n};\n\nconst getBoundingClientRect = t => t.getBoundingClientRect();\n\nlet m;\n\nconst supportPassiveEvents = () => {\n if (isUndefined(m)) {\n m = false;\n try {\n window.addEventListener(\"test\", null, Object.defineProperty({}, \"passive\", {\n get() {\n m = true;\n }\n }));\n } catch (t) {}\n }\n return m;\n};\n\nconst splitEventNames = t => t.split(\" \");\n\nconst off = (t, n, o, s) => {\n each(splitEventNames(n), (n => {\n t.removeEventListener(n, o, s);\n }));\n};\n\nconst on = (t, n, o, s) => {\n var e;\n const c = supportPassiveEvents();\n const r = null != (e = c && s && s.S) ? e : c;\n const i = s && s.$ || false;\n const l = s && s.C || false;\n const a = [];\n const u = c ? {\n passive: r,\n capture: i\n } : i;\n each(splitEventNames(n), (n => {\n const s = l ? e => {\n t.removeEventListener(n, s, i);\n o && o(e);\n } : o;\n push(a, off.bind(null, t, n, s, i));\n t.addEventListener(n, s, u);\n }));\n return runEachAndClear.bind(0, a);\n};\n\nconst stopPropagation = t => t.stopPropagation();\n\nconst preventDefault = t => t.preventDefault();\n\nconst y = {\n x: 0,\n y: 0\n};\n\nconst absoluteCoordinates = t => {\n const n = t ? getBoundingClientRect(t) : 0;\n return n ? {\n x: n.left + window.pageYOffset,\n y: n.top + window.pageXOffset\n } : y;\n};\n\nconst manageListener = (t, n) => {\n each(isArray(n) ? n : [ 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 removeEvent.bind(0, 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 runEachAndClear.bind(0, e);\n };\n const triggerEvent = (t, o) => {\n const s = n.get(t);\n each(from(s), (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 new Error;\n }\n return n;\n}));\n\nconst S = {\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 dragScroll: true,\n clickScroll: false,\n pointers: [ \"mouse\", \"touch\", \"pen\" ]\n }\n};\n\nconst getOptionsDiff = (t, n) => {\n const o = {};\n const s = keys(n).concat(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 x = \"os-environment\";\n\nconst $ = `${x}-flexbox-glue`;\n\nconst C = `${$}-max`;\n\nconst O = \"data-overlayscrollbars\";\n\nconst z = \"data-overlayscrollbars-initialize\";\n\nconst T = `${O}-overflow-x`;\n\nconst E = `${O}-overflow-y`;\n\nconst I = \"overflowVisible\";\n\nconst A = \"scrollbarHidden\";\n\nconst L = \"updating\";\n\nconst H = \"os-padding\";\n\nconst P = \"os-viewport\";\n\nconst M = `${P}-arrange`;\n\nconst D = \"os-content\";\n\nconst R = `${P}-scrollbar-hidden`;\n\nconst k = `os-overflow-visible`;\n\nconst B = \"os-size-observer\";\n\nconst V = `${B}-appear`;\n\nconst Y = `${B}-listener`;\n\nconst j = `${Y}-scroll`;\n\nconst N = `${Y}-item`;\n\nconst q = `${N}-final`;\n\nconst F = \"os-trinsic-observer\";\n\nconst G = \"os-no-css-vars\";\n\nconst X = \"os-theme-none\";\n\nconst U = \"os-scrollbar\";\n\nconst W = `${U}-rtl`;\n\nconst Z = `${U}-horizontal`;\n\nconst J = `${U}-vertical`;\n\nconst K = `${U}-track`;\n\nconst Q = `${U}-handle`;\n\nconst tt = `${U}-visible`;\n\nconst nt = `${U}-cornerless`;\n\nconst ot = `${U}-transitionless`;\n\nconst st = `${U}-interaction`;\n\nconst et = `${U}-unusable`;\n\nconst ct = `${U}-auto-hidden`;\n\nconst rt = `${U}-wheel`;\n\nconst it = `${K}-interactive`;\n\nconst lt = `${Q}-interactive`;\n\nconst at = {};\n\nconst getPlugins = () => at;\n\nconst addPlugin = t => {\n const n = [];\n each(isArray(t) ? t : [ t ], (t => {\n const o = keys(t);\n each(o, (o => {\n push(n, at[o] = t[o]);\n }));\n }));\n return n;\n};\n\nconst ut = {\n boolean: \"__TPL_boolean_TYPE__\",\n number: \"__TPL_number_TYPE__\",\n string: \"__TPL_string_TYPE__\",\n array: \"__TPL_array_TYPE__\",\n object: \"__TPL_object_TYPE__\",\n function: \"__TPL_function_TYPE__\",\n null: \"__TPL_null_TYPE__\"\n};\n\nconst dt = ut.number;\n\nconst ft = ut.boolean;\n\nconst _t = [ ut.array, ut.null ];\n\nconst ht = \"hidden scroll visible visible-hidden\";\n\nconst vt = \"visible hidden auto\";\n\nconst gt = \"never scroll leavemove\";\n\n({\n paddingAbsolute: ft,\n showNativeOverlaidScrollbars: ft,\n update: {\n elementEvents: _t,\n attributes: _t,\n debounce: [ ut.number, ut.array, ut.null ],\n ignoreMutation: [ ut.function, ut.null ]\n },\n overflow: {\n x: ht,\n y: ht\n },\n scrollbars: {\n theme: [ ut.string, ut.null ],\n visibility: vt,\n autoHide: gt,\n autoHideDelay: dt,\n dragScroll: ft,\n clickScroll: ft,\n pointers: [ ut.array, ut.null ]\n }\n});\n\nconst wt = \"__osOptionsValidationPlugin\";\n\nconst pt = 3333333;\n\nconst bt = \"scroll\";\n\nconst mt = \"__osSizeObserverPlugin\";\n\nconst yt = /* @__PURE__ */ (() => ({\n [mt]: {\n O: (t, n, o) => {\n const s = createDOM(`<div class=\"${N}\" dir=\"ltr\"><div class=\"${N}\"><div class=\"${q}\"></div></div><div class=\"${N}\"><div class=\"${q}\" style=\"width: 200%; height: 200%\"></div></div></div>`);\n appendChildren(t, s);\n addClass(t, j);\n const e = s[0];\n const c = e.lastChild;\n const r = e.firstChild;\n const i = null == r ? void 0 : r.firstChild;\n let l = offsetSize(e);\n let a = l;\n let u = false;\n let _;\n const reset = () => {\n scrollLeft(r, pt);\n scrollTop(r, pt);\n scrollLeft(c, pt);\n scrollTop(c, pt);\n };\n const onResized = t => {\n _ = 0;\n if (u) {\n l = a;\n n(true === t);\n }\n };\n const onScroll = t => {\n a = offsetSize(e);\n u = !t || !equalWH(a, l);\n if (t) {\n stopPropagation(t);\n if (u && !_) {\n d(_);\n _ = f(onResized);\n }\n } else {\n onResized(false === t);\n }\n reset();\n };\n const h = push([], [ on(r, bt, onScroll), on(c, bt, onScroll) ]);\n style(i, {\n width: pt,\n height: pt\n });\n f(reset);\n return [ o ? onScroll.bind(0, false) : reset, h ];\n }\n }\n}))();\n\nlet St = 0;\n\nconst {round: xt, abs: $t} = Math;\n\nconst getWindowDPR = () => {\n const t = window.screen.deviceXDPI || 0;\n const n = window.screen.logicalXDPI || 1;\n return window.devicePixelRatio || t / n;\n};\n\nconst diffBiggerThanOne = (t, n) => {\n const o = $t(t);\n const s = $t(n);\n return !(o === s || o + 1 === s || o - 1 === s);\n};\n\nconst Ct = \"__osScrollbarsHidingPlugin\";\n\nconst Ot = /* @__PURE__ */ (() => ({\n [Ct]: {\n T: t => {\n const {I: n, A: o, L: s} = t;\n const e = !s && !n && (o.x || o.y);\n const c = e ? document.createElement(\"style\") : false;\n if (c) {\n attr(c, \"id\", `${M}-${St}`);\n St++;\n }\n return c;\n },\n H: (t, n, o, s, e, c, r) => {\n const arrangeViewport = (n, c, r, i) => {\n if (t) {\n const {P: t} = e();\n const {M: l, D: a} = n;\n const {x: u, y: d} = a;\n const {x: f, y: _} = l;\n const h = i ? \"paddingRight\" : \"paddingLeft\";\n const v = t[h];\n const g = t.paddingTop;\n const w = c.w + r.w;\n const p = c.h + r.h;\n const b = {\n w: _ && d ? `${_ + w - v}px` : \"\",\n h: f && u ? `${f + p - g}px` : \"\"\n };\n if (s) {\n const {sheet: t} = s;\n if (t) {\n const {cssRules: n} = t;\n if (n) {\n if (!n.length) {\n t.insertRule(`#${attr(s, \"id\")} + .${M}::before {}`, 0);\n }\n const o = n[0].style;\n o.width = b.w;\n o.height = b.h;\n }\n }\n } else {\n style(o, {\n \"--os-vaw\": b.w,\n \"--os-vah\": b.h\n });\n }\n }\n return t;\n };\n const undoViewportArrange = (s, i, l) => {\n if (t) {\n const a = l || c(s);\n const {P: u} = e();\n const {D: d} = a;\n const {x: f, y: _} = d;\n const h = {};\n const assignProps = t => each(t.split(\" \"), (t => {\n h[t] = u[t];\n }));\n if (f) {\n assignProps(\"marginBottom paddingTop paddingBottom\");\n }\n if (_) {\n assignProps(\"marginLeft marginRight paddingLeft paddingRight\");\n }\n const v = style(o, keys(h));\n removeClass(o, M);\n if (!n) {\n h.height = \"\";\n }\n style(o, h);\n return [ () => {\n r(a, i, t, v);\n style(o, v);\n addClass(o, M);\n }, a ];\n }\n return [ noop ];\n };\n return [ arrangeViewport, undoViewportArrange ];\n },\n R: () => {\n let t = {\n w: 0,\n h: 0\n };\n let n = 0;\n return (o, s, e) => {\n const c = windowSize();\n const r = {\n w: c.w - t.w,\n h: c.h - t.h\n };\n if (0 === r.w && 0 === r.h) {\n return;\n }\n const i = {\n w: $t(r.w),\n h: $t(r.h)\n };\n const l = {\n w: $t(xt(c.w / (t.w / 100))),\n h: $t(xt(c.h / (t.h / 100)))\n };\n const a = getWindowDPR();\n const u = i.w > 2 && i.h > 2;\n const d = !diffBiggerThanOne(l.w, l.h);\n const f = a !== n && a > 0;\n const _ = u && d && f;\n if (_) {\n const [t, n] = s();\n assignDeep(o.k, t);\n if (n) {\n e();\n }\n }\n t = c;\n n = a;\n };\n }\n }\n}))();\n\nconst zt = \"__osClickScrollPlugin\";\n\nconst Tt = /* @__PURE__ */ (() => ({\n [zt]: {\n O: (t, n, o, s, e) => {\n let c = 0;\n let r = noop;\n const animateClickScroll = i => {\n r = animateNumber(i, i + s * Math.sign(o), 133, ((o, i, l) => {\n t(o);\n const a = n();\n const u = a + s;\n const d = e >= a && e <= u;\n if (l && !d) {\n if (c) {\n animateClickScroll(o);\n } else {\n const t = setTimeout((() => {\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 Et;\n\nconst getNativeScrollbarSize = (t, n, o, s) => {\n appendChildren(t, n);\n const e = clientSize(n);\n const c = offsetSize(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\nconst getNativeScrollbarsHiding = t => {\n let n = false;\n const o = addClass(t, R);\n try {\n n = \"none\" === style(t, cssProperty(\"scrollbar-width\")) || \"none\" === window.getComputedStyle(t, \"::-webkit-scrollbar\").getPropertyValue(\"display\");\n } catch (s) {}\n o();\n return n;\n};\n\nconst getRtlScrollBehavior = (t, n) => {\n const o = \"hidden\";\n style(t, {\n overflowX: o,\n overflowY: o,\n direction: \"rtl\"\n });\n scrollLeft(t, 0);\n const s = absoluteCoordinates(t);\n const e = absoluteCoordinates(n);\n scrollLeft(t, -999);\n const c = absoluteCoordinates(n);\n return {\n i: s.x === e.x,\n n: e.x !== c.x\n };\n};\n\nconst getFlexboxGlue = (t, n) => {\n const o = addClass(t, $);\n const s = getBoundingClientRect(t);\n const e = getBoundingClientRect(n);\n const c = equalBCRWH(e, s, true);\n const r = addClass(t, C);\n const i = getBoundingClientRect(t);\n const l = getBoundingClientRect(n);\n const a = equalBCRWH(l, i, true);\n o();\n r();\n return c && a;\n};\n\nconst createEnvironment = () => {\n const {body: t} = document;\n const n = createDOM(`<div class=\"${x}\"><div></div></div>`);\n const o = n[0];\n const s = o.firstChild;\n const [e, , c] = createEventListenerHub();\n const [r, i] = createCache({\n o: getNativeScrollbarSize(t, o, s),\n u: equalXY\n }, getNativeScrollbarSize.bind(0, t, o, s, true));\n const [l] = i();\n const a = getNativeScrollbarsHiding(o);\n const u = {\n x: 0 === l.x,\n y: 0 === l.y\n };\n const d = {\n elements: {\n host: null,\n padding: !a,\n viewport: t => a && 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 f = assignDeep({}, S);\n const _ = assignDeep.bind(0, {}, f);\n const h = assignDeep.bind(0, {}, d);\n const v = {\n k: l,\n A: u,\n I: a,\n L: \"-1\" === style(o, \"zIndex\"),\n B: getRtlScrollBehavior(o, s),\n V: getFlexboxGlue(o, s),\n Y: e.bind(0, \"z\"),\n j: e.bind(0, \"r\"),\n N: h,\n q: t => assignDeep(d, t) && h(),\n F: _,\n G: t => assignDeep(f, t) && _(),\n X: assignDeep({}, d),\n U: assignDeep({}, f)\n };\n const g = window.addEventListener;\n const w = debounce((t => c(t ? \"z\" : \"r\")), {\n v: 33,\n g: 99\n });\n removeAttr(o, \"style\");\n removeElements(o);\n g(\"resize\", w.bind(0, false));\n if (!a && (!u.x || !u.y)) {\n let t;\n g(\"resize\", (() => {\n const n = getPlugins()[Ct];\n t = t || n && n.R();\n t && t(v, r, w.bind(0, true));\n }));\n }\n return v;\n};\n\nconst getEnvironment = () => {\n if (!Et) {\n Et = createEnvironment();\n }\n return Et;\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, o) => {\n const {nativeScrollbarsOverlaid: s, body: e} = o || {};\n const {A: c, I: r} = getEnvironment();\n const {nativeScrollbarsOverlaid: i, body: l} = n;\n const a = null != s ? s : i;\n const u = isUndefined(e) ? l : e;\n const d = (c.x || c.y) && a;\n const f = t && (isNull(u) ? !r : u);\n return !!d || !!f;\n};\n\nconst It = new WeakMap;\n\nconst addInstance = (t, n) => {\n It.set(t, n);\n};\n\nconst removeInstance = t => {\n It.delete(t);\n};\n\nconst getInstance = t => It.get(t);\n\nconst getPropByPath = (t, n) => t ? n.split(\".\").reduce(((t, n) => t && hasOwnProperty(t, n) ? t[n] : void 0), t) : void 0;\n\nconst createOptionCheck = (t, n, o) => s => [ getPropByPath(t, s), o || void 0 !== getPropByPath(n, s) ];\n\nconst createState = t => {\n let n = t;\n return [ () => n, t => {\n n = assignDeep({}, n, t);\n } ];\n};\n\nconst At = \"tabindex\";\n\nconst Lt = createDiv.bind(0, \"\");\n\nconst unwrap = t => {\n appendChildren(parent(t), contents(t));\n removeElements(t);\n};\n\nconst createStructureSetupElements = t => {\n const n = getEnvironment();\n const {N: o, I: s} = n;\n const e = getPlugins()[Ct];\n const c = e && e.T;\n const {elements: r} = o();\n const {host: i, padding: l, viewport: a, content: u} = r;\n const d = isHTMLElement(t);\n const f = d ? {} : t;\n const {elements: _} = f;\n const {host: h, padding: v, viewport: g, content: w} = _ || {};\n const p = d ? t : f.target;\n const b = is(p, \"textarea\");\n const m = p.ownerDocument;\n const y = m.documentElement;\n const S = p === m.body;\n const x = m.defaultView;\n const $ = staticInitializationElement.bind(0, [ p ]);\n const C = dynamicInitializationElement.bind(0, [ p ]);\n const I = resolveInitialization.bind(0, [ p ]);\n const A = $.bind(0, Lt, a);\n const L = C.bind(0, Lt, u);\n const M = A(g);\n const k = M === p;\n const B = k && S;\n const V = !k && L(w);\n const Y = !k && isHTMLElement(M) && M === V;\n const j = Y && !!I(u);\n const N = j ? A() : M;\n const q = j ? V : L();\n const F = Y ? N : M;\n const G = B ? y : F;\n const X = b ? $(Lt, i, h) : p;\n const U = B ? G : X;\n const W = Y ? q : V;\n const Z = m.activeElement;\n const J = !k && x.top === x && Z === p;\n const K = {\n W: p,\n Z: U,\n J: G,\n K: !k && C(Lt, l, v),\n tt: W,\n nt: !k && !s && c && c(n),\n ot: B ? y : G,\n st: B ? m : G,\n et: x,\n ct: m,\n rt: b,\n it: S,\n lt: d,\n ut: k,\n dt: Y,\n ft: (t, n) => k ? hasAttrClass(G, O, n) : hasClass(G, t),\n _t: (t, n, o) => k ? attrClass(G, O, n, o) : (o ? addClass : removeClass)(G, t)\n };\n const Q = keys(K).reduce(((t, n) => {\n const o = K[n];\n return push(t, o && !parent(o) ? o : false);\n }), []);\n const elementIsGenerated = t => t ? indexOf(Q, t) > -1 : null;\n const {W: tt, Z: nt, K: ot, J: st, tt: et, nt: ct} = K;\n const rt = [ () => {\n removeAttr(nt, O);\n removeAttr(nt, z);\n removeAttr(tt, z);\n if (S) {\n removeAttr(y, O);\n removeAttr(y, z);\n }\n } ];\n const it = b && elementIsGenerated(nt);\n let lt = b ? tt : contents([ et, st, ot, nt, tt ].find((t => false === elementIsGenerated(t))));\n const at = B ? tt : et || st;\n const appendElements = () => {\n attr(nt, O, k ? \"viewport\" : \"host\");\n const t = addClass(ot, H);\n const n = addClass(st, !k && P);\n const o = addClass(et, D);\n const e = S && !k ? addClass(parent(p), R) : noop;\n if (it) {\n insertAfter(tt, nt);\n push(rt, (() => {\n insertAfter(nt, tt);\n removeElements(nt);\n }));\n }\n appendChildren(at, lt);\n appendChildren(nt, ot);\n appendChildren(ot || nt, !k && st);\n appendChildren(st, et);\n push(rt, (() => {\n e();\n removeAttr(st, T);\n removeAttr(st, E);\n if (elementIsGenerated(et)) {\n unwrap(et);\n }\n if (elementIsGenerated(st)) {\n unwrap(st);\n }\n if (elementIsGenerated(ot)) {\n unwrap(ot);\n }\n t();\n n();\n o();\n }));\n if (s && !k) {\n push(rt, removeClass.bind(0, st, R));\n }\n if (ct) {\n insertBefore(st, ct);\n push(rt, removeElements.bind(0, ct));\n }\n if (J) {\n const t = attr(st, At);\n attr(st, At, \"-1\");\n st.focus();\n const revertViewportTabIndex = () => t ? attr(st, At, t) : removeAttr(st, At);\n const n = on(m, \"pointerdown keydown\", (() => {\n revertViewportTabIndex();\n n();\n }));\n push(rt, [ revertViewportTabIndex, n ]);\n } else if (Z && Z.focus) {\n Z.focus();\n }\n lt = 0;\n };\n return [ K, appendElements, runEachAndClear.bind(0, rt) ];\n};\n\nconst createTrinsicUpdateSegment = (t, n) => {\n const {tt: o} = t;\n const [s] = n;\n return t => {\n const {V: n} = getEnvironment();\n const {ht: e} = s();\n const {vt: c} = t;\n const r = (o || !n) && c;\n if (r) {\n style(o, {\n height: e ? \"\" : \"100%\"\n });\n }\n return {\n gt: r,\n wt: r\n };\n };\n};\n\nconst createPaddingUpdateSegment = (t, n) => {\n const [o, s] = n;\n const {Z: e, K: c, J: r, ut: i} = t;\n const [l, a] = createCache({\n u: equalTRBL,\n o: topRightBottomLeft()\n }, topRightBottomLeft.bind(0, e, \"padding\", \"\"));\n return (t, n, e) => {\n let [u, d] = a(e);\n const {I: f, V: _} = getEnvironment();\n const {bt: h} = o();\n const {gt: v, wt: g, yt: w} = t;\n const [p, b] = n(\"paddingAbsolute\");\n const m = !_ && g;\n if (v || d || m) {\n [u, d] = l(e);\n }\n const y = !i && (b || w || d);\n if (y) {\n const t = !p || !c && !f;\n const n = u.r + u.l;\n const o = u.t + u.b;\n const e = {\n marginRight: t && !h ? -n : 0,\n marginBottom: t ? -o : 0,\n marginLeft: t && h ? -n : 0,\n top: t ? -u.t : 0,\n right: t ? h ? -u.r : \"auto\" : 0,\n left: t ? h ? \"auto\" : -u.l : 0,\n width: t ? `calc(100% + ${n}px)` : \"\"\n };\n const i = {\n paddingTop: t ? u.t : 0,\n paddingRight: t ? u.r : 0,\n paddingBottom: t ? u.b : 0,\n paddingLeft: t ? u.l : 0\n };\n style(c || r, e);\n style(r, i);\n s({\n K: u,\n St: !t,\n P: c ? i : assignDeep({}, e, i)\n });\n }\n return {\n xt: y\n };\n };\n};\n\nconst {max: Ht} = Math;\n\nconst Pt = Ht.bind(0, 0);\n\nconst Mt = \"visible\";\n\nconst Dt = \"hidden\";\n\nconst Rt = 42;\n\nconst kt = {\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n};\n\nconst Bt = {\n u: equalXY,\n o: {\n x: Dt,\n y: Dt\n }\n};\n\nconst getOverflowAmount = (t, n) => {\n const o = window.devicePixelRatio % 1 !== 0 ? 1 : 0;\n const s = {\n w: Pt(t.w - n.w),\n h: Pt(t.h - n.h)\n };\n return {\n w: s.w > o ? s.w : 0,\n h: s.h > o ? s.h : 0\n };\n};\n\nconst conditionalClass = (t, n, o) => o ? addClass(t, n) : removeClass(t, n);\n\nconst overflowIsVisible = t => 0 === t.indexOf(Mt);\n\nconst createOverflowUpdateSegment = (t, n) => {\n const [o, s] = n;\n const {Z: e, K: c, J: r, nt: i, ut: l, _t: a, it: u, et: d} = t;\n const {k: f, V: _, I: h, A: v} = getEnvironment();\n const g = getPlugins()[Ct];\n const w = !l && !h && (v.x || v.y);\n const p = u && l;\n const [b, m] = createCache(kt, fractionalSize.bind(0, r));\n const [y, S] = createCache(kt, scrollSize.bind(0, r));\n const [x, $] = createCache(kt);\n const [C, z] = createCache(kt);\n const [L] = createCache(Bt);\n const fixFlexboxGlue = (t, n) => {\n style(r, {\n height: \"\"\n });\n if (n) {\n const {St: n, K: s} = o();\n const {$t: c, M: i} = t;\n const l = fractionalSize(e);\n const a = clientSize(e);\n const u = \"content-box\" === style(r, \"boxSizing\");\n const d = n || u ? s.b + s.t : 0;\n const f = !(v.x && u);\n style(r, {\n height: a.h + l.h + (c.x && f ? i.x : 0) - d\n });\n }\n };\n const getViewportOverflowState = (t, n) => {\n const o = !h && !t ? Rt : 0;\n const getStatePerAxis = (t, s, e) => {\n const c = style(r, t);\n const i = n ? n[t] : c;\n const l = \"scroll\" === i;\n const a = s ? o : e;\n const u = l && !h ? a : 0;\n const d = s && !!o;\n return [ c, l, u, d ];\n };\n const [s, e, c, i] = getStatePerAxis(\"overflowX\", v.x, f.x);\n const [l, a, u, d] = getStatePerAxis(\"overflowY\", v.y, f.y);\n return {\n Ct: {\n x: s,\n y: l\n },\n $t: {\n x: e,\n y: a\n },\n M: {\n x: c,\n y: u\n },\n D: {\n x: i,\n y: d\n }\n };\n };\n const setViewportOverflowState = (t, n, o, s) => {\n const setAxisOverflowStyle = (t, n) => {\n const o = overflowIsVisible(t);\n const s = n && o && t.replace(`${Mt}-`, \"\") || \"\";\n return [ n && !o ? t : \"\", overflowIsVisible(s) ? \"hidden\" : s ];\n };\n const [e, c] = setAxisOverflowStyle(o.x, n.x);\n const [r, i] = setAxisOverflowStyle(o.y, n.y);\n s.overflowX = c && r ? c : e;\n s.overflowY = i && e ? i : r;\n return getViewportOverflowState(t, s);\n };\n const hideNativeScrollbars = (t, n, s, e) => {\n const {M: c, D: r} = t;\n const {x: i, y: l} = r;\n const {x: a, y: u} = c;\n const {P: d} = o();\n const f = n ? \"marginLeft\" : \"marginRight\";\n const _ = n ? \"paddingLeft\" : \"paddingRight\";\n const h = d[f];\n const v = d.marginBottom;\n const g = d[_];\n const w = d.paddingBottom;\n e.width = `calc(100% + ${u + -1 * h}px)`;\n e[f] = -u + h;\n e.marginBottom = -a + v;\n if (s) {\n e[_] = g + (l ? u : 0);\n e.paddingBottom = w + (i ? a : 0);\n }\n };\n const [H, P] = g ? g.H(w, _, r, i, o, getViewportOverflowState, hideNativeScrollbars) : [ () => w, () => [ noop ] ];\n return (t, n, i) => {\n const {gt: u, Ot: f, wt: g, xt: w, vt: M, yt: D} = t;\n const {ht: B, bt: V} = o();\n const [Y, j] = n(\"showNativeOverlaidScrollbars\");\n const [N, q] = n(\"overflow\");\n const F = Y && v.x && v.y;\n const G = !l && !_ && (u || g || f || j || M);\n const X = overflowIsVisible(N.x);\n const U = overflowIsVisible(N.y);\n const W = X || U;\n let Z = m(i);\n let J = S(i);\n let K = $(i);\n let Q = z(i);\n let tt;\n if (j && h) {\n a(R, A, !F);\n }\n if (G) {\n tt = getViewportOverflowState(F);\n fixFlexboxGlue(tt, B);\n }\n if (u || w || g || D || j) {\n if (W) {\n a(k, I, false);\n }\n const [t, n] = P(F, V, tt);\n const [o, s] = Z = b(i);\n const [e, c] = J = y(i);\n const l = clientSize(r);\n let u = e;\n let f = l;\n t();\n if ((c || s || j) && n && !F && H(n, e, o, V)) {\n f = clientSize(r);\n u = scrollSize(r);\n }\n const _ = {\n w: Pt(Ht(e.w, u.w) + o.w),\n h: Pt(Ht(e.h, u.h) + o.h)\n };\n const h = {\n w: Pt((p ? d.innerWidth : f.w + Pt(l.w - e.w)) + o.w),\n h: Pt((p ? d.innerHeight + o.h : f.h + Pt(l.h - e.h)) + o.h)\n };\n Q = C(h);\n K = x(getOverflowAmount(_, h), i);\n }\n const [nt, ot] = Q;\n const [st, et] = K;\n const [ct, rt] = J;\n const [it, lt] = Z;\n const at = {\n x: st.w > 0,\n y: st.h > 0\n };\n const ut = X && U && (at.x || at.y) || X && at.x && !at.y || U && at.y && !at.x;\n if (w || D || lt || rt || ot || et || q || j || G) {\n const t = {\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n width: \"\",\n overflowY: \"\",\n overflowX: \"\"\n };\n const n = setViewportOverflowState(F, at, N, t);\n const o = H(n, ct, it, V);\n if (!l) {\n hideNativeScrollbars(n, V, o, t);\n }\n if (G) {\n fixFlexboxGlue(n, B);\n }\n if (l) {\n attr(e, T, t.overflowX);\n attr(e, E, t.overflowY);\n } else {\n style(r, t);\n }\n }\n attrClass(e, O, I, ut);\n conditionalClass(c, k, ut);\n !l && conditionalClass(r, k, W);\n const [dt, ft] = L(getViewportOverflowState(F).Ct);\n s({\n Ct: dt,\n zt: {\n x: nt.w,\n y: nt.h\n },\n Tt: {\n x: st.w,\n y: st.h\n },\n Et: at\n });\n return {\n It: ft,\n At: ot,\n Lt: et\n };\n };\n};\n\nconst prepareUpdateHints = (t, n, o) => {\n const s = {};\n const e = n || {};\n const c = keys(t).concat(keys(e));\n each(c, (n => {\n const c = t[n];\n const r = e[n];\n s[n] = !!(o || c || r);\n }));\n return s;\n};\n\nconst createStructureSetupUpdate = (t, n) => {\n const {W: o, J: s, _t: e, ut: c} = t;\n const {I: r, A: i, V: l} = getEnvironment();\n const a = !r && (i.x || i.y);\n const u = [ createTrinsicUpdateSegment(t, n), createPaddingUpdateSegment(t, n), createOverflowUpdateSegment(t, n) ];\n return (t, n, r) => {\n const i = prepareUpdateHints(assignDeep({\n gt: false,\n xt: false,\n yt: false,\n vt: false,\n At: false,\n Lt: false,\n It: false,\n Ot: false,\n wt: false\n }, n), {}, r);\n const d = a || !l;\n const f = d && scrollLeft(s);\n const _ = d && scrollTop(s);\n e(\"\", L, true);\n let h = i;\n each(u, (n => {\n h = prepareUpdateHints(h, n(h, t, !!r) || {}, r);\n }));\n scrollLeft(s, f);\n scrollTop(s, _);\n e(\"\", L);\n if (!c) {\n scrollLeft(o, 0);\n scrollTop(o, 0);\n }\n return h;\n };\n};\n\nconst createEventContentChange = (t, n, o) => {\n let s;\n let e = false;\n const destroy = () => {\n e = true;\n };\n const updateElements = c => {\n if (o) {\n const r = o.reduce(((n, o) => {\n if (o) {\n const [s, e] = o;\n const r = e && s && (c ? c(s) : find(s, t));\n if (r && r.length && e && isString(e)) {\n push(n, [ r, e.trim() ], true);\n }\n }\n return n;\n }), []);\n each(r, (o => each(o[0], (c => {\n const r = o[1];\n const i = s.get(c) || [];\n const l = t.contains(c);\n if (l) {\n const t = on(c, r, (o => {\n if (e) {\n t();\n s.delete(c);\n } else {\n n(o);\n }\n }));\n s.set(c, push(i, t));\n } else {\n runEachAndClear(i);\n s.delete(c);\n }\n }))));\n }\n };\n if (o) {\n s = new WeakMap;\n updateElements();\n }\n return [ destroy, updateElements ];\n};\n\nconst createDOMObserver = (t, n, o, s) => {\n let e = false;\n const {Ht: c, Pt: r, Mt: i, Dt: a, Rt: u, kt: d} = s || {};\n const f = debounce((() => {\n if (e) {\n o(true);\n }\n }), {\n v: 33,\n g: 99\n });\n const [_, h] = createEventContentChange(t, f, i);\n const v = c || [];\n const g = r || [];\n const w = v.concat(g);\n const observerCallback = (e, c) => {\n const r = u || noop;\n const i = d || noop;\n const l = new Set;\n const f = new Set;\n let _ = false;\n let v = false;\n each(e, (o => {\n const {attributeName: e, target: c, type: u, oldValue: d, addedNodes: h, removedNodes: w} = o;\n const p = \"attributes\" === u;\n const b = \"childList\" === u;\n const m = t === c;\n const y = p && isString(e) ? attr(c, e) : 0;\n const S = 0 !== y && d !== y;\n const x = indexOf(g, e) > -1 && S;\n if (n && (b || !m)) {\n const n = !p;\n const u = p && S;\n const f = u && a && is(c, a);\n const _ = f ? !r(c, e, d, y) : n || u;\n const g = _ && !i(o, !!f, t, s);\n each(h, (t => l.add(t)));\n each(w, (t => l.add(t)));\n v = v || g;\n }\n if (!n && m && S && !r(c, e, d, y)) {\n f.add(e);\n _ = _ || x;\n }\n }));\n if (l.size > 0) {\n h((t => from(l).reduce(((n, o) => {\n push(n, find(t, o));\n return is(o, t) ? push(n, o) : n;\n }), [])));\n }\n if (n) {\n !c && v && o(false);\n return [ false ];\n }\n if (f.size > 0 || _) {\n const t = [ from(f), _ ];\n !c && o.apply(0, t);\n return t;\n }\n };\n const p = new l((t => observerCallback(t)));\n p.observe(t, {\n attributes: true,\n attributeOldValue: true,\n attributeFilter: w,\n subtree: n,\n childList: n,\n characterData: n\n });\n e = true;\n return [ () => {\n if (e) {\n _();\n p.disconnect();\n e = false;\n }\n }, () => {\n if (e) {\n f.m();\n const t = p.takeRecords();\n return !isEmptyArray(t) && observerCallback(t, true);\n }\n } ];\n};\n\nconst Vt = 3333333;\n\nconst domRectHasDimensions = t => t && (t.height || t.width);\n\nconst createSizeObserver = (t, n, o) => {\n const {Bt: s = false, Vt: e = false} = o || {};\n const c = getPlugins()[mt];\n const {B: r} = getEnvironment();\n const i = createDOM(`<div class=\"${B}\"><div class=\"${Y}\"></div></div>`);\n const l = i[0];\n const a = l.firstChild;\n const d = directionIsRTL.bind(0, t);\n const [f] = createCache({\n o: void 0,\n _: true,\n u: (t, n) => !(!t || !domRectHasDimensions(t) && domRectHasDimensions(n))\n });\n const onSizeChangedCallbackProxy = t => {\n const o = isArray(t) && t.length > 0 && isObject(t[0]);\n const e = !o && isBoolean(t[0]);\n let c = false;\n let i = false;\n let a = true;\n if (o) {\n const [n, , o] = f(t.pop().contentRect);\n const s = domRectHasDimensions(n);\n const e = domRectHasDimensions(o);\n c = !o || !s;\n i = !e && s;\n a = !c;\n } else if (e) {\n [, a] = t;\n } else {\n i = true === t;\n }\n if (s && a) {\n const n = e ? t[0] : directionIsRTL(l);\n scrollLeft(l, n ? r.n ? -Vt : r.i ? 0 : Vt : Vt);\n scrollTop(l, Vt);\n }\n if (!c) {\n n({\n gt: !e,\n Yt: e ? t : void 0,\n Vt: !!i\n });\n }\n };\n const _ = [];\n let h = e ? onSizeChangedCallbackProxy : false;\n return [ () => {\n runEachAndClear(_);\n removeElements(l);\n }, () => {\n if (u) {\n const t = new u(onSizeChangedCallbackProxy);\n t.observe(a);\n push(_, (() => {\n t.disconnect();\n }));\n } else if (c) {\n const [t, n] = c.O(a, onSizeChangedCallbackProxy, e);\n h = t;\n push(_, n);\n }\n if (s) {\n const [t] = createCache({\n o: void 0\n }, d);\n push(_, on(l, \"scroll\", (n => {\n const o = t();\n const [s, e, c] = o;\n if (e) {\n removeClass(a, \"ltr rtl\");\n if (s) {\n addClass(a, \"rtl\");\n } else {\n addClass(a, \"ltr\");\n }\n onSizeChangedCallbackProxy([ !!s, e, c ]);\n }\n stopPropagation(n);\n })));\n }\n if (h) {\n addClass(l, V);\n push(_, on(l, \"animationstart\", h, {\n C: !!u\n }));\n }\n if (u || c) {\n appendChildren(t, l);\n }\n } ];\n};\n\nconst isHeightIntrinsic = t => 0 === t.h || t.isIntersecting || t.intersectionRatio > 0;\n\nconst createTrinsicObserver = (t, n) => {\n let o;\n const s = createDiv(F);\n const e = [];\n const [c] = createCache({\n o: false\n });\n const triggerOnTrinsicChangedCallback = (t, o) => {\n if (t) {\n const s = c(isHeightIntrinsic(t));\n const [, e] = s;\n if (e) {\n !o && n(s);\n return [ s ];\n }\n }\n };\n const intersectionObserverCallback = (t, n) => {\n if (t && t.length > 0) {\n return triggerOnTrinsicChangedCallback(t.pop(), n);\n }\n };\n return [ () => {\n runEachAndClear(e);\n removeElements(s);\n }, () => {\n if (a) {\n o = new a((t => intersectionObserverCallback(t)), {\n root: t\n });\n o.observe(s);\n push(e, (() => {\n o.disconnect();\n }));\n } else {\n const onSizeChanged = () => {\n const t = offsetSize(s);\n triggerOnTrinsicChangedCallback(t);\n };\n const [t, n] = createSizeObserver(s, onSizeChanged);\n push(e, t);\n n();\n onSizeChanged();\n }\n appendChildren(t, s);\n }, () => {\n if (o) {\n return intersectionObserverCallback(o.takeRecords(), true);\n }\n } ];\n};\n\nconst Yt = `[${O}]`;\n\nconst jt = `.${P}`;\n\nconst Nt = [ \"tabindex\" ];\n\nconst qt = [ \"wrap\", \"cols\", \"rows\" ];\n\nconst Ft = [ \"id\", \"class\", \"style\", \"open\" ];\n\nconst createStructureSetupObservers = (t, n, o) => {\n let s;\n let e;\n let c;\n const {Z: r, J: i, tt: l, rt: a, ut: d, ft: f, _t: _} = t;\n const {V: h} = getEnvironment();\n const [v] = createCache({\n u: equalWH,\n o: {\n w: 0,\n h: 0\n }\n }, (() => {\n const t = f(k, I);\n const n = f(M, \"\");\n const o = n && scrollLeft(i);\n const s = n && scrollTop(i);\n _(k, I);\n _(M, \"\");\n _(\"\", L, true);\n const e = scrollSize(l);\n const c = scrollSize(i);\n const r = fractionalSize(i);\n _(k, I, t);\n _(M, \"\", n);\n _(\"\", L);\n scrollLeft(i, o);\n scrollTop(i, s);\n return {\n w: c.w + e.w + r.w,\n h: c.h + e.h + r.h\n };\n }));\n const g = a ? qt : Ft.concat(qt);\n const w = debounce(o, {\n v: () => s,\n g: () => e,\n p(t, n) {\n const [o] = t;\n const [s] = n;\n return [ keys(o).concat(keys(s)).reduce(((t, n) => {\n t[n] = o[n] || s[n];\n return t;\n }), {}) ];\n }\n });\n const updateViewportAttrsFromHost = t => {\n each(t || Nt, (t => {\n if (indexOf(Nt, t) > -1) {\n const n = attr(r, t);\n if (isString(n)) {\n attr(i, t, n);\n } else {\n removeAttr(i, t);\n }\n }\n }));\n };\n const onTrinsicChanged = (t, s) => {\n const [e, c] = t;\n const r = {\n vt: c\n };\n n({\n ht: e\n });\n !s && o(r);\n return r;\n };\n const onSizeChanged = ({gt: t, Yt: s, Vt: e}) => {\n const c = !t || e ? o : w;\n let r = false;\n if (s) {\n const [t, o] = s;\n r = o;\n n({\n bt: t\n });\n }\n c({\n gt: t,\n yt: r\n });\n };\n const onContentMutation = (t, n) => {\n const [, s] = v();\n const e = {\n wt: s\n };\n const c = t ? o : w;\n if (s) {\n !n && c(e);\n }\n return e;\n };\n const onHostMutation = (t, n, o) => {\n const s = {\n Ot: n\n };\n if (n) {\n !o && w(s);\n } else if (!d) {\n updateViewportAttrsFromHost(t);\n }\n return s;\n };\n const [p, b, m] = l || !h ? createTrinsicObserver(r, onTrinsicChanged) : [ noop, noop, noop ];\n const [y, S] = !d ? createSizeObserver(r, onSizeChanged, {\n Vt: true,\n Bt: true\n }) : [ noop, noop ];\n const [x, $] = createDOMObserver(r, false, onHostMutation, {\n Pt: Ft,\n Ht: Ft.concat(Nt)\n });\n const C = d && u && new u(onSizeChanged.bind(0, {\n gt: true\n }));\n C && C.observe(r);\n updateViewportAttrsFromHost();\n return [ () => {\n p();\n y();\n c && c[0]();\n C && C.disconnect();\n x();\n }, () => {\n S();\n b();\n }, () => {\n const t = {};\n const n = $();\n const o = m();\n const s = c && c[1]();\n if (n) {\n assignDeep(t, onHostMutation.apply(0, push(n, true)));\n }\n if (o) {\n assignDeep(t, onTrinsicChanged.apply(0, push(o, true)));\n }\n if (s) {\n assignDeep(t, onContentMutation.apply(0, push(s, true)));\n }\n return t;\n }, t => {\n const [n] = t(\"update.ignoreMutation\");\n const [o, r] = t(\"update.attributes\");\n const [a, u] = t(\"update.elementEvents\");\n const [f, _] = t(\"update.debounce\");\n const h = u || r;\n const ignoreMutationFromOptions = t => isFunction(n) && n(t);\n if (h) {\n if (c) {\n c[1]();\n c[0]();\n }\n c = createDOMObserver(l || i, true, onContentMutation, {\n Ht: g.concat(o || []),\n Mt: a,\n Dt: Yt,\n kt: (t, n) => {\n const {target: o, attributeName: s} = t;\n const e = !n && s && !d ? liesBetween(o, Yt, jt) : false;\n return e || !!closest(o, `.${U}`) || !!ignoreMutationFromOptions(t);\n }\n });\n }\n if (_) {\n w.m();\n if (isArray(f)) {\n const t = f[0];\n const n = f[1];\n s = isNumber(t) && t;\n e = isNumber(n) && n;\n } else if (isNumber(f)) {\n s = f;\n e = false;\n } else {\n s = false;\n e = false;\n }\n }\n } ];\n};\n\nconst Gt = {\n x: 0,\n y: 0\n};\n\nconst createInitialStructureSetupUpdateState = t => ({\n K: {\n t: 0,\n r: 0,\n b: 0,\n l: 0\n },\n St: false,\n P: {\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n paddingTop: 0,\n paddingRight: 0,\n paddingBottom: 0,\n paddingLeft: 0\n },\n zt: Gt,\n Tt: Gt,\n Ct: {\n x: \"hidden\",\n y: \"hidden\"\n },\n Et: {\n x: false,\n y: false\n },\n ht: false,\n bt: directionIsRTL(t.Z)\n});\n\nconst createStructureSetup = (t, n) => {\n const o = createOptionCheck(n, {});\n const [s, e, c] = createEventListenerHub();\n const [r, i, l] = createStructureSetupElements(t);\n const a = createState(createInitialStructureSetupUpdateState(r));\n const [u, d] = a;\n const f = createStructureSetupUpdate(r, a);\n const triggerUpdateEvent = (t, n, o) => {\n const s = keys(t).some((n => t[n]));\n const e = s || !isEmptyObject(n) || o;\n if (e) {\n c(\"u\", [ t, n, o ]);\n }\n return e;\n };\n const [_, h, v, g] = createStructureSetupObservers(r, d, (t => triggerUpdateEvent(f(o, t), {}, false)));\n const w = u.bind(0);\n w.jt = t => s(\"u\", t);\n w.Nt = () => {\n const {W: t, J: n} = r;\n const o = scrollLeft(t);\n const s = scrollTop(t);\n h();\n i();\n scrollLeft(n, o);\n scrollTop(n, s);\n };\n w.qt = r;\n return [ (t, o) => {\n const s = createOptionCheck(n, t, o);\n g(s);\n return triggerUpdateEvent(f(s, v(), o), t, !!o);\n }, w, () => {\n e();\n _();\n l();\n } ];\n};\n\nconst {round: Xt} = Math;\n\nconst getScale = t => {\n const {width: n, height: o} = getBoundingClientRect(t);\n const {w: s, h: e} = offsetSize(t);\n return {\n x: Xt(n) / s || 1,\n y: Xt(o) / e || 1\n };\n};\n\nconst continuePointerDown = (t, n, o) => {\n const s = n.scrollbars;\n const {button: e, isPrimary: c, pointerType: r} = t;\n const {pointers: i} = s;\n return 0 === e && c && s[o ? \"dragScroll\" : \"clickScroll\"] && (i || []).includes(r);\n};\n\nconst createRootClickStopPropagationEvents = (t, n) => on(t, \"mousedown\", on.bind(0, n, \"click\", stopPropagation, {\n C: true,\n $: true\n}), {\n $: true\n});\n\nconst Ut = \"pointerup pointerleave pointercancel lostpointercapture\";\n\nconst createInteractiveScrollEvents = (t, n, o, s, e, c) => {\n const {B: r} = getEnvironment();\n const {Ft: i, Gt: l, Xt: a} = o;\n const u = `scroll${c ? \"Left\" : \"Top\"}`;\n const d = `client${c ? \"X\" : \"Y\"}`;\n const f = c ? \"width\" : \"height\";\n const _ = c ? \"left\" : \"top\";\n const h = c ? \"w\" : \"h\";\n const v = c ? \"x\" : \"y\";\n const createRelativeHandleMove = (t, n) => o => {\n const {Tt: d} = e();\n const f = offsetSize(l)[h] - offsetSize(i)[h];\n const _ = n * o / f;\n const g = _ * d[v];\n const w = directionIsRTL(a);\n const p = w && c ? r.n || r.i ? 1 : -1 : 1;\n s[u] = t + g * p;\n };\n return on(l, \"pointerdown\", (o => {\n const e = closest(o.target, `.${Q}`) === i;\n const c = e ? i : l;\n if (continuePointerDown(o, t, e)) {\n const t = !e && o.shiftKey;\n const getHandleRect = () => getBoundingClientRect(i);\n const getTrackRect = () => getBoundingClientRect(l);\n const getHandleOffset = (t, n) => (t || getHandleRect())[_] - (n || getTrackRect())[_];\n const r = createRelativeHandleMove(s[u] || 0, 1 / getScale(s)[v]);\n const a = o[d];\n const h = getHandleRect();\n const g = getTrackRect();\n const w = h[f];\n const p = getHandleOffset(h, g) + w / 2;\n const b = a - g[_];\n const m = e ? 0 : b - p;\n const releasePointerCapture = t => {\n runEachAndClear(y);\n c.releasePointerCapture(t.pointerId);\n };\n const y = [ on(n, Ut, releasePointerCapture), on(n, \"selectstart\", (t => preventDefault(t)), {\n S: false\n }), on(l, Ut, releasePointerCapture), on(l, \"pointermove\", (n => {\n const o = n[d] - a;\n if (e || t) {\n r(m + o);\n }\n })) ];\n if (t) {\n r(m);\n } else if (!e) {\n const t = getPlugins()[zt];\n if (t) {\n push(y, t.O(r, getHandleOffset, m, w, b));\n }\n }\n c.setPointerCapture(o.pointerId);\n }\n }));\n};\n\nconst createScrollbarsSetupEvents = (t, n) => (o, s, e, c, r, i) => {\n const {Xt: l} = o;\n const [a, u] = selfClearTimeout(333);\n const d = !!r.scrollBy;\n let f = true;\n return runEachAndClear.bind(0, [ on(l, \"pointerenter\", (() => {\n s(st, true);\n })), on(l, \"pointerleave pointercancel\", (() => {\n s(st);\n })), on(l, \"wheel\", (t => {\n const {deltaX: n, deltaY: o, deltaMode: e} = t;\n if (d && f && 0 === e && parent(l) === c) {\n r.scrollBy({\n left: n,\n top: o,\n behavior: \"smooth\"\n });\n }\n f = false;\n s(rt, true);\n a((() => {\n f = true;\n s(rt);\n }));\n preventDefault(t);\n }), {\n S: false,\n $: true\n }), createRootClickStopPropagationEvents(l, e), createInteractiveScrollEvents(t, e, o, r, n, i), u ]);\n};\n\nconst {min: Wt, max: Zt, abs: Jt, round: Kt} = Math;\n\nconst getScrollbarHandleLengthRatio = (t, n, o, s) => {\n if (s) {\n const t = o ? \"x\" : \"y\";\n const {Tt: n, zt: e} = s;\n const c = e[t];\n const r = n[t];\n return Zt(0, Wt(1, c / (c + r)));\n }\n const e = o ? \"w\" : \"h\";\n const c = offsetSize(t)[e];\n const r = offsetSize(n)[e];\n return Zt(0, Wt(1, c / r));\n};\n\nconst getScrollbarHandleOffsetRatio = (t, n, o, s, e, c) => {\n const {B: r} = getEnvironment();\n const i = c ? \"x\" : \"y\";\n const l = c ? \"Left\" : \"Top\";\n const {Tt: a} = s;\n const u = Kt(a[i]);\n const d = Jt(o[`scroll${l}`]);\n const f = c && e;\n const _ = r.i ? d : u - d;\n const h = f ? _ : d;\n const v = Wt(1, h / u);\n const g = getScrollbarHandleLengthRatio(t, n, c);\n return 1 / g * (1 - g) * v;\n};\n\nconst createScrollbarsSetupElements = (t, n, o) => {\n const {N: s, L: e} = getEnvironment();\n const {scrollbars: c} = s();\n const {slot: r} = c;\n const {ct: i, W: l, Z: a, J: u, lt: d, ot: f, it: h, ut: v} = n;\n const {scrollbars: g} = d ? {} : t;\n const {slot: w} = g || {};\n const p = dynamicInitializationElement([ l, a, u ], (() => v && h ? l : a), r, w);\n const scrollbarStructureAddRemoveClass = (t, n, o) => {\n const s = o ? addClass : removeClass;\n each(t, (t => {\n s(t.Xt, n);\n }));\n };\n const scrollbarsHandleStyle = (t, n) => {\n each(t, (t => {\n const [o, s] = n(t);\n style(o, s);\n }));\n };\n const scrollbarStructureRefreshHandleLength = (t, n, o) => {\n scrollbarsHandleStyle(t, (t => {\n const {Ft: s, Gt: e} = t;\n return [ s, {\n [o ? \"width\" : \"height\"]: `${(100 * getScrollbarHandleLengthRatio(s, e, o, n)).toFixed(3)}%`\n } ];\n }));\n };\n const scrollbarStructureRefreshHandleOffset = (t, n, o) => {\n const s = o ? \"X\" : \"Y\";\n scrollbarsHandleStyle(t, (t => {\n const {Ft: e, Gt: c, Xt: r} = t;\n const i = getScrollbarHandleOffsetRatio(e, c, f, n, directionIsRTL(r), o);\n const l = i === i;\n return [ e, {\n transform: l ? `translate${s}(${(100 * i).toFixed(3)}%)` : \"\"\n } ];\n }));\n };\n const b = [];\n const m = [];\n const y = [];\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(m, t, n);\n c && scrollbarStructureAddRemoveClass(y, t, n);\n };\n const refreshScrollbarsHandleLength = t => {\n scrollbarStructureRefreshHandleLength(m, t, true);\n scrollbarStructureRefreshHandleLength(y, t);\n };\n const refreshScrollbarsHandleOffset = t => {\n scrollbarStructureRefreshHandleOffset(m, t, true);\n scrollbarStructureRefreshHandleOffset(y, t);\n };\n const generateScrollbarDOM = t => {\n const n = t ? Z : J;\n const s = t ? m : y;\n const c = isEmptyArray(s) ? ot : \"\";\n const r = createDiv(`${U} ${n} ${c}`);\n const l = createDiv(K);\n const u = createDiv(Q);\n const d = {\n Xt: r,\n Gt: l,\n Ft: u\n };\n if (!e) {\n addClass(r, G);\n }\n appendChildren(r, l);\n appendChildren(l, u);\n push(s, d);\n push(b, [ removeElements.bind(0, r), o(d, scrollbarsAddRemoveClass, i, a, f, t) ]);\n return d;\n };\n const S = generateScrollbarDOM.bind(0, true);\n const x = generateScrollbarDOM.bind(0, false);\n const appendElements = () => {\n appendChildren(p, m[0].Xt);\n appendChildren(p, y[0].Xt);\n _((() => {\n scrollbarsAddRemoveClass(ot);\n }), 300);\n };\n S();\n x();\n return [ {\n Ut: refreshScrollbarsHandleLength,\n Wt: refreshScrollbarsHandleOffset,\n Zt: scrollbarsAddRemoveClass,\n Jt: {\n Kt: m,\n Qt: S,\n tn: scrollbarsHandleStyle.bind(0, m)\n },\n nn: {\n Kt: y,\n Qt: x,\n tn: scrollbarsHandleStyle.bind(0, y)\n }\n }, appendElements, runEachAndClear.bind(0, b) ];\n};\n\nconst createScrollbarsSetup = (t, n, o, s) => {\n let e;\n let c;\n let r;\n let i;\n let l;\n let a = 0;\n const u = createState({});\n const [d] = u;\n const [f, _] = selfClearTimeout();\n const [h, v] = selfClearTimeout();\n const [g, w] = selfClearTimeout(100);\n const [p, b] = selfClearTimeout(100);\n const [m, y] = selfClearTimeout((() => a));\n const [S, x, $] = createScrollbarsSetupElements(t, o.qt, createScrollbarsSetupEvents(n, o));\n const {Z: C, J: O, ot: z, st: T, ut: E, it: I} = o.qt;\n const {Jt: A, nn: L, Zt: H, Ut: P, Wt: M} = S;\n const {tn: D} = A;\n const {tn: R} = L;\n const styleScrollbarPosition = t => {\n const {Xt: n} = t;\n const o = E && !I && parent(n) === O && n;\n return [ o, {\n transform: o ? `translate(${scrollLeft(z)}px, ${scrollTop(z)}px)` : \"\"\n } ];\n };\n const manageScrollbarsAutoHide = (t, n) => {\n y();\n if (t) {\n H(ct);\n } else {\n const hide = () => H(ct, true);\n if (a > 0 && !n) {\n m(hide);\n } else {\n hide();\n }\n }\n };\n const onHostMouseEnter = () => {\n i = c;\n i && manageScrollbarsAutoHide(true);\n };\n const k = [ w, y, b, v, _, $, on(C, \"pointerover\", onHostMouseEnter, {\n C: true\n }), on(C, \"pointerenter\", onHostMouseEnter), on(C, \"pointerleave\", (() => {\n i = false;\n c && manageScrollbarsAutoHide(false);\n })), on(C, \"pointermove\", (() => {\n e && f((() => {\n w();\n manageScrollbarsAutoHide(true);\n p((() => {\n e && manageScrollbarsAutoHide(false);\n }));\n }));\n })), on(T, \"scroll\", (t => {\n h((() => {\n M(o());\n r && manageScrollbarsAutoHide(true);\n g((() => {\n r && !i && manageScrollbarsAutoHide(false);\n }));\n }));\n s(t);\n E && D(styleScrollbarPosition);\n E && R(styleScrollbarPosition);\n })) ];\n const B = d.bind(0);\n B.qt = S;\n B.Nt = x;\n return [ (t, s, i) => {\n const {At: u, Lt: d, It: f, yt: _} = i;\n const {A: h} = getEnvironment();\n const v = createOptionCheck(n, t, s);\n const g = o();\n const {Tt: w, Ct: p, bt: b} = g;\n const [m, y] = v(\"showNativeOverlaidScrollbars\");\n const [S, x] = v(\"scrollbars.theme\");\n const [$, C] = v(\"scrollbars.visibility\");\n const [O, z] = v(\"scrollbars.autoHide\");\n const [T] = v(\"scrollbars.autoHideDelay\");\n const [E, A] = v(\"scrollbars.dragScroll\");\n const [L, D] = v(\"scrollbars.clickScroll\");\n const R = u || d || _;\n const k = f || C;\n const B = m && h.x && h.y;\n const setScrollbarVisibility = (t, n) => {\n const o = \"visible\" === $ || \"auto\" === $ && \"scroll\" === t;\n H(tt, o, n);\n return o;\n };\n a = T;\n if (y) {\n H(X, B);\n }\n if (x) {\n H(l);\n H(S, true);\n l = S;\n }\n if (z) {\n e = \"move\" === O;\n c = \"leave\" === O;\n r = \"never\" !== O;\n manageScrollbarsAutoHide(!r, true);\n }\n if (A) {\n H(lt, E);\n }\n if (D) {\n H(it, L);\n }\n if (k) {\n const t = setScrollbarVisibility(p.x, true);\n const n = setScrollbarVisibility(p.y, false);\n const o = t && n;\n H(nt, !o);\n }\n if (R) {\n P(g);\n M(g);\n H(et, !w.x, true);\n H(et, !w.y, false);\n H(W, b && !I);\n }\n }, B, runEachAndClear.bind(0, k) ];\n};\n\nconst invokePluginInstance = (t, n, o) => {\n if (isFunction(t)) {\n t(n || void 0, o || void 0);\n }\n};\n\nconst OverlayScrollbars = (t, n, o) => {\n const {F: s, N: e, Y: c, j: r} = getEnvironment();\n const i = getPlugins();\n const l = isHTMLElement(t);\n const a = l ? t : t.target;\n const u = getInstance(a);\n if (n && !u) {\n let u = false;\n const validateOptions = t => {\n const n = getPlugins()[wt];\n const o = n && n.O;\n return o ? o(t, true) : t;\n };\n const d = assignDeep({}, s(), validateOptions(n));\n const [f, _, h] = createEventListenerHub(o);\n const [v, g, w] = createStructureSetup(t, d);\n const [p, b, m] = createScrollbarsSetup(t, d, g, (t => h(\"scroll\", [ $, t ])));\n const update = (t, n) => v(t, !!n);\n const y = update.bind(0, {}, true);\n const S = c(y);\n const x = r(y);\n const destroy = t => {\n removeInstance(a);\n S();\n x();\n m();\n w();\n u = true;\n h(\"destroyed\", [ $, !!t ]);\n _();\n };\n const $ = {\n options(t, n) {\n if (t) {\n const o = n ? s() : {};\n const e = getOptionsDiff(d, assignDeep(o, validateOptions(t)));\n if (!isEmptyObject(e)) {\n assignDeep(d, e);\n update(e);\n }\n }\n return assignDeep({}, d);\n },\n on: f,\n off: (t, n) => {\n t && n && _(t, n);\n },\n state() {\n const {zt: t, Tt: n, Ct: o, Et: s, K: e, St: c, bt: r} = g();\n return assignDeep({}, {\n overflowEdge: t,\n overflowAmount: n,\n overflowStyle: o,\n hasOverflow: s,\n padding: e,\n paddingAbsolute: c,\n directionRTL: r,\n destroyed: u\n });\n },\n elements() {\n const {W: t, Z: n, K: o, J: s, tt: e, ot: c, st: r} = g.qt;\n const {Jt: i, nn: l} = b.qt;\n const translateScrollbarStructure = t => {\n const {Ft: n, Gt: o, Xt: s} = t;\n return {\n scrollbar: s,\n track: o,\n handle: n\n };\n };\n const translateScrollbarsSetupElement = t => {\n const {Kt: n, Qt: o} = t;\n const s = translateScrollbarStructure(n[0]);\n return assignDeep({}, s, {\n clone: () => {\n const t = translateScrollbarStructure(o());\n p({}, true, {});\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(i),\n scrollbarVertical: translateScrollbarsSetupElement(l)\n });\n },\n update: t => update({}, t),\n destroy: destroy.bind(0)\n };\n g.jt(((t, n, o) => {\n p(n, o, t);\n }));\n addInstance(a, $);\n each(keys(i), (t => invokePluginInstance(i[t], 0, $)));\n if (cancelInitialization(g.qt.it, e().cancel, !l && t.cancel)) {\n destroy(true);\n return $;\n }\n g.Nt();\n b.Nt();\n h(\"initialized\", [ $ ]);\n g.jt(((t, n, o) => {\n const {gt: s, yt: e, vt: c, At: r, Lt: i, It: l, wt: a, Ot: u} = t;\n h(\"updated\", [ $, {\n updateHints: {\n sizeChanged: s,\n directionChanged: e,\n heightIntrinsicChanged: c,\n overflowEdgeChanged: r,\n overflowAmountChanged: i,\n overflowStyleChanged: l,\n contentMutation: a,\n hostMutation: u\n },\n changedOptions: n,\n force: o\n } ]);\n }));\n $.update(true);\n return $;\n }\n return u;\n};\n\nOverlayScrollbars.plugin = t => {\n each(addPlugin(t), (t => invokePluginInstance(t, OverlayScrollbars)));\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 {k: t, A: n, I: o, B: s, V: e, L: c, X: r, U: i, N: l, q: a, F: u, G: d} = getEnvironment();\n return assignDeep({}, {\n scrollbarsSize: t,\n scrollbarsOverlaid: n,\n scrollbarsHiding: o,\n rtlScrollBehavior: s,\n flexboxGlue: e,\n cssCustomProperties: c,\n staticDefaultInitialization: r,\n staticDefaultOptions: i,\n getDefaultInitialization: l,\n setDefaultInitialization: a,\n getDefaultOptions: u,\n setDefaultOptions: d\n });\n};\n\nexport { Tt as ClickScrollPlugin, OverlayScrollbars, Ot as ScrollbarsHidingPlugin, yt as SizeObserverPlugin };\n//# sourceMappingURL=overlayscrollbars.mjs.map\n","import { shallowRef as I, watch as b, unref as m, onUnmounted as k, defineComponent as E, ref as R, toRefs 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 r = () => {\n };\n return [r, r];\n }\n let i, t;\n const o = window, l = typeof o.requestIdleCallback == \"function\", s = o.requestAnimationFrame, n = o.cancelAnimationFrame, a = l ? o.requestIdleCallback : s, c = l ? o.cancelIdleCallback : n, e = () => {\n c(i), n(t);\n };\n return [\n (r, v) => {\n e(), i = a(\n l ? () => {\n e(), t = s(r);\n } : r,\n typeof v == \"object\" ? v : { timeout: 2233 }\n );\n },\n e\n ];\n}, g = (i) => {\n let t = null, o, l, s;\n const n = I(i || {}), [a, c] = F();\n return b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.defer);\n },\n (e) => {\n s = e;\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.options);\n },\n (e) => {\n o = e, y.valid(t) && t.options(o || {}, !0);\n },\n { deep: !0, immediate: !0 }\n ), b(\n () => {\n var e;\n return m((e = n.value) == null ? void 0 : e.events);\n },\n (e) => {\n l = e, y.valid(t) && t.on(\n l || {},\n !0\n );\n },\n { deep: !0, immediate: !0 }\n ), k(() => {\n c(), t == null || t.destroy();\n }), [\n (e) => {\n if (y.valid(t))\n return t;\n const r = () => t = y(e, o || {}, l || {});\n s ? a(r, s) : r();\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(i, { expose: t, emit: o }) {\n const l = i, s = {\n initialized: \"osInitialized\",\n updated: \"osUpdated\",\n destroyed: \"osDestroyed\",\n scroll: \"osScroll\"\n }, n = I(null), a = I(null), c = R(), { element: e, options: r, events: v, defer: C } = A(l), [O, S] = g({ options: r, events: c, defer: C });\n return t({\n osInstance: S,\n getElement: () => n.value\n }), D((f) => {\n const { value: p } = n, { value: d } = a;\n p && d && (O({\n target: p,\n elements: {\n viewport: d,\n content: d\n }\n }), f(() => {\n var u;\n return (u = S()) == null ? void 0 : u.destroy();\n }));\n }), b(\n () => m(v),\n (f) => {\n const p = f || {};\n c.value = Object.keys(s).reduce((d, u) => {\n const w = p[u];\n return d[u] = [\n (..._) => o(\n s[u],\n ..._\n ),\n ...(Array.isArray(w) ? w : [w]).filter(Boolean)\n ], d;\n }, {});\n },\n { deep: !0, immediate: !0 }\n ), (f, p) => (h(), z(j(m(e)), {\n \"data-overlayscrollbars-initialize\": \"\",\n ref_key: \"elementRef\",\n ref: n\n }, {\n default: q(() => [\n x(\"div\", {\n ref_key: \"slotRef\",\n ref: a\n }, [\n B(f.$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.es.js.map\n","<script lang=\"ts\" setup>\nimport { computed, nextTick, reactive, ref, watch } from \"vue\";\nimport { IconClose } from \"../../icons/icons\";\nimport type { UseOverlayScrollbarsParams } from \"overlayscrollbars-vue\";\nimport { useOverlayScrollbars } from \"overlayscrollbars-vue\";\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: false,\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 rootVisible = ref(false);\nconst modelWrapper = ref<HTMLElement>();\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 emit(\"update:visible\", false);\n emit(\"close\");\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\nwatch(\n () => props.visible,\n () => {\n if (props.visible) {\n nextTick(() => {\n modelWrapper.value?.focus();\n });\n }\n }\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 () => props.visible,\n (value) => {\n if (value) {\n if (modalBody.value) initialize({ target: modalBody.value });\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=\"visible\"\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=\"visible\"\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","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 type { Align, Direction, Spacing } from \"./interface\";\nimport { SpacingSize } from \"./interface\";\nimport { computed } from \"vue\";\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 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 { 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 { computed, onMounted, onUnmounted, ref } from \"vue\";\nimport type { 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) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n\nconst tabbarItemsRef = ref<HTMLElement | undefined>();\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\nonMounted(() => {\n tabbarItemsRef.value?.addEventListener(\"wheel\", handleHorizontalWheel);\n});\n\nonUnmounted(() => {\n tabbarItemsRef.value?.removeEventListener(\"wheel\", handleHorizontalWheel);\n});\n</script>\n<template>\n <div :class=\"classes\" class=\"tabbar-wrapper\">\n <div ref=\"tabbarItemsRef\" class=\"tabbar-items\">\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{ 'tabbar-item-active': item[idKey] === activeId }\"\n class=\"tabbar-item\"\n @click=\"handleChange(item[idKey])\"\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 .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 { 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\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 .tag-left-icon {\n @apply pl-1;\n }\n\n .tag-right-icon {\n @apply pr-1;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = withDefaults(\n defineProps<{\n modelValue?: boolean;\n disabled?: boolean;\n }>(),\n {\n modelValue: false,\n disabled: 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) 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,\n }\"\n aria-checked=\"false\"\n class=\"switch-inner\"\n role=\"switch\"\n type=\"button\"\n :disabled=\"disabled\"\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 <slot 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 { VModal } from \"../modal\";\nimport { VButton } from \"../button\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"../../icons/icons\";\nimport { computed, ref } from \"vue\";\nimport type { Type } from \"@/components/dialog/interface\";\nimport type { Type as ButtonType } from \"@/components/button/interface\";\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 = {\n success: {\n icon: IconCheckboxCircle,\n color: \"green\",\n },\n info: {\n icon: IconInformation,\n color: \"blue\",\n },\n warning: {\n icon: IconErrorWarning,\n color: \"orange\",\n },\n error: {\n icon: IconForbidLine,\n color: \"red\",\n },\n};\nconst icon = computed(() => icons[props.type]);\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=\"icon.icon\"\n :class=\"`text-${icon.color}-500`\"\n class=\"w-6 h-6\"\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 DialogComponent from \"./Dialog.vue\";\nimport { createVNode, render, type Component } from \"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","<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 px-2 text-gray-800 text-sm border-gray-300;\n }\n\n &__select-label {\n @apply text-sm text-gray-500;\n }\n}\n</style>\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NTguMDk1IDQ3NS43OTgiPgogIDxnPgogICAgPHBhdGgKICAgICAgZD0iTTU1NS41MzYsMzI4LjA0OWMtMTUuMjQzLTc2Ljg2Ni0xMDQuNTQ3LTEzOC4zLTEyMS45NjUtMjE4LjRDNDAxLjkxNCw3Ljc0LDI5Ny41Ny04LjM3MiwyMjkuNzY1LDM1Ljg4N2MtMTA3LjQzNyw3MC4xMjksNy4xNzYsODcuNTMyLTIwMy40NzMsMjUzLjQ1My01Mi4wMTQsNDAuOTY5LTM1LjQ0LDIyMS44MTcsMTI4LjE5MywxODAuMzEzLDg4LjA2LTIyLjMzNiwxMTQuODMtMjUuNDcsMTU0LjQ0LTI5LjE0OEM0MDguNzYzLDQzMS4yMzYsNTgxLjEyMyw0NTcuMDc5LDU1NS41MzYsMzI4LjA0OVoiCiAgICAgIGZpbGw9IiMzNjdjZmYiIG9wYWNpdHk9IjAuMSI+PC9wYXRoPgogICAgPGc+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNDM2LjI2NyAzNDcuMzE0IDI4MS45NTcgNDI4LjgxMyAxMjcuODggMzQ3LjMxNCAxMjcuODggMjI0LjI0NCA0MzYuMjY3IDIyNC4yNDQgNDM2LjI2NyAzNDcuMzE0IgogICAgICAgICAgICAgICAgIGZpbGw9IiNmZmYiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTI4MS45NTcsNDMwLjA2M2ExLjIzNywxLjIzNywwLDAsMS0uNTg1LS4xNDZMMTI3LjMsMzQ4LjQxOGExLjI0OSwxLjI0OSwwLDAsMS0uNjY2LTEuMVYyMjQuMjQ0YTEuMjUsMS4yNSwwLDAsMSwxLjI1LTEuMjVINDM2LjI2N2ExLjI1LDEuMjUsMCwwLDEsMS4yNSwxLjI1djEyMy4wN2ExLjI0OSwxLjI0OSwwLDAsMS0uNjY2LDEuMWwtMTU0LjMxLDgxLjVBMS4yNDQsMS4yNDQsMCwwLDEsMjgxLjk1Nyw0MzAuMDYzWm0tMTUyLjgyNy04My41TDI4MS45NTcsNDI3LjRsMTUzLjA2LTgwLjgzOVYyMjUuNDk0SDEyOS4xM1ptMzA3LjEzNy43NTNoMFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPGc+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0MzYuMjY3IDE5Ny44MzUgMjgxLjk1NyAxMTYuMzM2IDM1MS4yOTggODIuOTEzIDUwNS42MDggMTY0LjQxMyA0MzYuMjY3IDE5Ny44MzUiCiAgICAgICAgICAgICAgICAgZmlsbD0iI2ZmZiI+PC9wb2x5Z29uPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNDM2LjI2NywxOTkuMDg1YTEuMjU1LDEuMjU1LDAsMCwxLS41ODQtLjE0NGwtMTU0LjMxLTgxLjVhMS4yNTEsMS4yNTEsMCwwLDEsLjA0MS0yLjIzMmw2OS4zNDEtMzMuNDIzYTEuMjQ0LDEuMjQ0LDAsMCwxLDEuMTI3LjAyMWwxNTQuMzEsODEuNWExLjI1LDEuMjUsMCwwLDEtLjA0MSwyLjIzMUw0MzYuODEsMTk4Ljk2MUExLjI0NiwxLjI0NiwwLDAsMSw0MzYuMjY3LDE5OS4wODVabS0xNTEuNTM3LTgyLjcsMTUxLjU2Myw4MC4wNDgsNjYuNTQyLTMyLjA3M0wzNTEuMjcyLDg0LjMxNFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPGc+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxMjcuODggMTk3LjgzNSAyODIuMTkgMTE2LjMzNiAyMTIuODQ5IDgyLjkxMyA1OC41MzkgMTY0LjQxMyAxMjcuODggMTk3LjgzNSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L3BvbHlnb24+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xMjcuODgsMTk5LjA4NWExLjI0OSwxLjI0OSwwLDAsMS0uNTQzLS4xMjRMNTgsMTY1LjUzOGExLjI1LDEuMjUsMCwwLDEtLjA0MS0yLjIzMWwxNTQuMzEtODEuNWExLjI0NCwxLjI0NCwwLDAsMSwxLjEyNy0uMDIxbDY5LjM0MSwzMy40MjNhMS4yNTEsMS4yNTEsMCwwLDEsLjA0MSwyLjIzMmwtMTU0LjMxLDgxLjVBMS4yNTIsMS4yNTIsMCwwLDEsMTI3Ljg4LDE5OS4wODVaTTYxLjMxMiwxNjQuMzYybDY2LjU0MiwzMi4wNzMsMTUxLjU2My04MC4wNDhMMjEyLjg3NSw4NC4zMTRaIgogICAgICAgICAgZmlsbD0iIzI2MjYyNiI+PC9wYXRoPgogICAgICA8L2c+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTI3Ljg4IDE5Ny44MzUgMjgyLjE5IDI3OS4zMzUgMjAyLjg0OSAzMjIuNzU3IDQ4LjUzOSAyNDEuMjU4IDEyNy44OCAxOTcuODM1IgogICAgICAgICAgICAgICAgIGZpbGw9IiNmZmYiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTIwMi44NDksMzI0LjAwN2ExLjI0NCwxLjI0NCwwLDAsMS0uNTg0LS4xNDVsLTE1NC4zMS04MS41YTEuMjUsMS4yNSwwLDAsMS0uMDE2LTIuMmw3OS4zNDEtNDMuNDIzYTEuMjQ2LDEuMjQ2LDAsMCwxLDEuMTg0LS4wMDhsMTU0LjMxLDgxLjVhMS4yNSwxLjI1LDAsMCwxLC4wMTYsMi4ybC03OS4zNDEsNDMuNDIzQTEuMjUxLDEuMjUxLDAsMCwxLDIwMi44NDksMzI0LjAwN1pNNTEuMTc5LDI0MS4yMzhsMTUxLjY1OSw4MC4xLDc2LjcxMy00MS45ODQtMTUxLjY2LTgwLjFaIgogICAgICAgICAgZmlsbD0iIzI2MjYyNiI+PC9wYXRoPgogICAgICA8L2c+CiAgICAgIDxnPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNDM2LjI2NyAxOTcuODM1IDI4MS45NTcgMjc5LjMzNSAzNjEuMjk4IDMyMi43NTcgNTE1LjYwOCAyNDEuMjU4IDQzNi4yNjcgMTk3LjgzNSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L3BvbHlnb24+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0zNjEuMywzMjQuMDA3YTEuMjU0LDEuMjU0LDAsMCwxLS42LS4xNTNsLTc5LjM0MS00My40MjNhMS4yNSwxLjI1LDAsMCwxLC4wMTYtMi4ybDE1NC4zMS04MS41YTEuMjQ2LDEuMjQ2LDAsMCwxLDEuMTg0LjAwOGw3OS4zNDEsNDMuNDIzYTEuMjUsMS4yNSwwLDAsMS0uMDE2LDIuMmwtMTU0LjMxLDgxLjVBMS4yNDQsMS4yNDQsMCwwLDEsMzYxLjMsMzI0LjAwN1ptLTc2LjctNDQuNjUzLDc2LjcxMiw0MS45ODQsMTUxLjY2LTgwLjEtNzYuNzEzLTQxLjk4NFoiCiAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BhdGg+CiAgICAgIDwvZz4KICAgICAgPHBvbHlnb24gcG9pbnRzPSIyODIuMTkgMTE2LjMzNiAxMjcuODggMTk3LjgzNSAyODEuOTU3IDI3OS4zMzUgNDM2LjI2NyAxOTcuODM1IDI4Mi4xOSAxMTYuMzM2IgogICAgICAgICAgICAgICBmaWxsPSIjMjYyNjI2Ij48L3BvbHlnb24+CiAgICAgIDxyZWN0IHg9IjI4MC43MDciIHk9IjI3OS4zMzQiIHdpZHRoPSIyLjUiIGhlaWdodD0iMTQ5LjQ3OSIgZmlsbD0iIzI2MjYyNiI+PC9yZWN0PgogICAgPC9nPgogICAgPGc+CiAgICAgIDxwYXRoCiAgICAgICAgZD0iTTE5NS41LDE5MC40MzZhLjk5Ljk5LDAsMCwxLS41NzctLjE4NSwxLDEsMCwwLDEtLjIzOC0xLjM5NGMuMTg1LS4yNjEsMTguMjU4LTI2LjM4OS0xLjkxOC01MC4yMDlhMzguMDA2LDM4LjAwNiwwLDAsMC0yOS4wOTUtMTMuNTE2SDE2My40YzEuOTE2LDYuNjU2LDEuNTc0LDEyLjU3NC0xLjEzOSwxNy4xMTRhMTIuNjQ1LDEyLjY0NSwwLDAsMS0xMS42OCw2LjQyLDEwLjA0MSwxMC4wNDEsMCwwLDEtOC42NzktNi43NTJjLTIuMjE5LTUuNzg4LjEtMTEuNCw2LjIxMi0xNS4wMTdhMjkuNSwyOS41LDAsMCwxLDEyLjU4OS0zLjYyMSw1My4zLDUzLjMsMCwwLDAtNS41NjYtMTAuODIxYy03LjI4NS0xMS4xMjYtMjAuNTYyLTE4LjgyOC0zNi40MjgtMjEuMTMxLTEzLjQ0Ni0xLjk1MS0yNi4zMzIuMzQ3LTMyLjgzMyw1Ljg1M2ExLDEsMCwwLDEtMS4yOTItMS41MjdjNi45MTgtNS44NTksMjAuNDI1LTguMzM2LDM0LjQxMi02LjMsMTYuNDMzLDIuMzg2LDMwLjIxNSwxMC40MDksMzcuODE1LDIyLjAxNGE1NC4yODUsNTQuMjg1LDAsMCwxLDUuOTY4LDExLjgxNiwzOS45NzYsMzkuOTc2LDAsMCwxLDMxLjUwOSwxNC4xOGMyMS4xOTMsMjUuMDE5LDIuMjE3LDUyLjM4NSwyLjAyMyw1Mi42NTlBMSwxLDAsMCwxLDE5NS41LDE5MC40MzZabS0zNC4xNDgtNjUuMjMxYTI3LjgyNiwyNy44MjYsMCwwLDAtMTIuMjE1LDMuNDE0Yy01LjI3NiwzLjEyMi03LjIzLDcuNzA4LTUuMzYzLDEyLjU4YTguMTA4LDguMTA4LDAsMCwwLDYuOTg0LDUuNDc2LDEwLjY2OSwxMC42NjksMCwwLDAsOS43OTEtNS40NTRDMTYzLjAzOSwxMzcuMDUxLDE2My4yNjcsMTMxLjUwOCwxNjEuMzQ5LDEyNS4yMDVaIgogICAgICAgIGZpbGw9IiMyOTJhMmUiPjwvcGF0aD4KICAgICAgPGc+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik02OC42MTcsMTEzLjNhNi44MDksNi44MDksMCwxLDEsLjY4NC0uMjQ2QTYuNjUyLDYuNjUyLDAsMCwxLDY4LjYxNywxMTMuM1ptLTMuMzI1LTExLjExMmE0LjY4OSw0LjY4OSwwLDAsMC0uNDc3LjE3Miw0Ljc5MSw0Ljc5MSwwLDEsMCwuNDc3LS4xNzJaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNjguNjA1LDk3LjYzYTYuOCw2LjgsMCwwLDEtOC4yMTYtMy44ODVoMGE2LjgsNi44LDAsMSwxLDguOSwzLjY0QTYuOTY0LDYuOTY0LDAsMCwxLDY4LjYwNSw5Ny42M1pNNjUuMjg0LDg2LjUxN2E0Ljg4OSw0Ljg4OSwwLDAsMC0uNDgzLjE3Myw0LjgsNC44LDAsMCwwLTIuNTY4LDYuMjgxaDBhNC44LDQuOCwwLDEsMCwzLjA1MS02LjQ1NVoiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPGVsbGlwc2UgY3g9IjY2LjY2NCIgY3k9Ijk4Ljc2MyIgcng9IjguODkyIiByeT0iNS45MzkiIGZpbGw9IiNmZmYiPjwvZWxsaXBzZT4KICAgICAgICA8cGF0aAogICAgICAgICAgZD0iTTcwLjYsMTA1LjEzOWExMy43NTQsMTMuNzU0LDAsMCwxLTMuOTI3LjU2NGMtNS41NDgsMC05LjktMy4wNC05LjktNi45MzFzNC4zMzktNi45NDIsOS44ODUtNi45NDhhMTIuNDI0LDEyLjQyNCwwLDAsMSw2Ljg0NSwxLjksNS42NzYsNS42NzYsMCwwLDEsLjAwOSwxMC4wNjNBMTAuODcyLDEwLjg3MiwwLDAsMSw3MC42LDEwNS4xMzlaTTYzLjMzOCw5NC4zYy0yLjY3Mi44LTQuNTY2LDIuNTI3LTQuNTY1LDQuNDY3LDAsMi42NzcsMy42MTcsNC45MzYsNy45LDQuOTMyYTEwLjQxNywxMC40MTcsMCwwLDAsNS43MzItMS41NzYsMy43MDYsMy43MDYsMCwwLDAtLjAwNi02LjczNSwxMC40LDEwLjQsMCwwLDAtNS43MzQtMS41NjZBMTEuNjA3LDExLjYwNywwLDAsMCw2My4zMzgsOTQuM1oiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2OC44NDUgMTA0LjUyMSA2OC42MzUgOTIuOTcxIDY1Ljc2MyA5Mi44NTUgNjUuNTYyIDEwNC42NTYgNjguODQ1IDEwNC41MjEiCiAgICAgICAgICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wb2x5Z29uPgogICAgICAgIDxjaXJjbGUgY3g9IjU0Ljg2NyIgY3k9IjEwMC4zNTgiIHI9IjAuOTE4IiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI1NS41ODQiIGN5PSI5NS40NDYiIHI9IjAuOTE4IiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGc+CiAgICAgIDxwYXRoCiAgICAgICAgZD0iTTM1Mi42MjUsMTMyLjc2NmExLDEsMCwwLDEtLjk1Ni0uNzA3LDk5LjIzNiw5OS4yMzYsMCwwLDEtMi42MDYtMzguMDIxYzIuNTg1LTE4LjYsMTIuODQzLTQzLjAxMSw0Ny4wMy01My43YTg4LjM2NCw4OC4zNjQsMCwwLDEsMTQuNzQ4LTMuMzgxYzEuNjExLTEwLjA2MSw3LjczOS0yMC45NzUsMjEuNDQ0LTI4LjUwNSwzMi41NjItMTcuODkyLDU0LjU1Ny0xLjgzOSw1NC43NzUtMS42NzVhMSwxLDAsMCwxLTEuMiwxLjZjLS4yMDgtLjE1Ni0yMS4yMjgtMTUuNDE3LTUyLjYxMSwxLjgyOS0xMi44MDYsNy4wMzctMTguNjY4LDE3LjEzNy0yMC4zMzUsMjYuNTEzLDE1LjA3OS0xLjQ4NSwyMi4zLDMuNTQ1LDI1LjU0MSw3LjM0NEExNS40ODgsMTUuNDg4LDAsMCwxLDQ0MC43NjksNjFhMTIuMDk0LDEyLjA5NCwwLDAsMS0xMS44MzUsNi45MDljLTguNDIxLS40OTQtMTUuMzktNy41NzgtMTcuNzUyLTE4LjA0OGEzNC4wMywzNC4wMywwLDAsMS0uNjE0LTEwLjgsODUuNTMzLDg1LjUzMywwLDAsMC0xMy44NzcsMy4xOTFjLTI2LjY0NSw4LjMzMS00MiwyNS44NS00NS42NDgsNTIuMDY3YTk2Ljk4Niw5Ni45ODYsMCwwLDAsMi41MzgsMzcuMTYsMSwxLDAsMCwxLS45NTYsMS4yOTNabTU5Ljk4Mi05My45NTVhMzIuMDE0LDMyLjAxNCwwLDAsMCwuNTI2LDEwLjYwOWMyLjE2MSw5LjU3OCw4LjQwOSwxNi4wNTEsMTUuOTE4LDE2LjQ5MmExMC4xNzgsMTAuMTc4LDAsMCwwLDkuOTI4LTUuOCwxMy40OTQsMTMuNDk0LDAsMCwwLTIuMDQ4LTE0Ljc0OUM0MzIuMjU1LDM5Ljg3Niw0MjMuNzIyLDM3LjY2LDQxMi42MDcsMzguODExWiIKICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgIDxnPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNTEwLjM1NCwxNi44ODRhNy4xNDIsNy4xNDIsMCwxLDEsNi45OTQtOC42NTloMGE3LjE1Niw3LjE1NiwwLDAsMS02Ljk5NCw4LjY1OVpNNTEwLjM2OSw0LjZhNS4xNDEsNS4xNDEsMCwxLDAsNS4wMjQsNC4wNTFBNS4xMTEsNS4xMTEsMCwwLDAsNTEwLjM2OSw0LjZaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwYXRoCiAgICAgICAgICBkPSJNNTA3LjM0MywzMy4yMDVhNy4xNjIsNy4xNjIsMCwxLDEsMS41MjktLjE2NUE3LjE3MSw3LjE3MSwwLDAsMSw1MDcuMzQzLDMzLjIwNVptLjAyNS0xMi4yODVhNS4xNjQsNS4xNjQsMCwwLDAtMS4xLjExOSw1LjExMiw1LjExMiwwLDEsMCwxLjEtLjExOVoiCiAgICAgICAgICBmaWxsPSIjMjkyYTJlIj48L3BhdGg+CiAgICAgICAgPGVsbGlwc2UgY3g9IjUwOC44MjciIGN5PSIxOC4wOTgiIHJ4PSI2LjI4OSIgcnk9IjkuNDE2IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTguNjkyIDUxNS4xOTIpIHJvdGF0ZSgtNzkuNTQ1KSIKICAgICAgICAgICAgICAgICBmaWxsPSIjZmZmIj48L2VsbGlwc2U+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik01MTAuMiwyNS41MTZhMTQuOTY2LDE0Ljk2NiwwLDAsMS0yLjctLjI1LDEzLjEsMTMuMSwwLDAsMS02LjcyOS0zLjI4Niw2LjQxOSw2LjQxOSwwLDAsMS0yLjE5MS01Ljc3Miw2LjQyMiw2LjQyMiwwLDAsMSw0LjEwNy00LjYxLDEzLjk0NiwxMy45NDYsMCwwLDEsMTQuMTg3LDIuNjE4LDYuNDE5LDYuNDE5LDAsMCwxLDIuMTkxLDUuNzcyLDYuNDIyLDYuNDIyLDAsMCwxLTQuMTA3LDQuNjFBMTIuMDg4LDEyLjA4OCwwLDAsMSw1MTAuMiwyNS41MTZabS0yLjc2Mi0xMi44MzhhMTAuMDcyLDEwLjA3MiwwLDAsMC0zLjk2MS43NTcsNC41MDYsNC41MDYsMCwwLDAtMi45MywzLjEzNiw0LjUwNiw0LjUwNiwwLDAsMCwxLjYxOCwzLjk3NSwxMS45NjYsMTEuOTY2LDAsMCwwLDEyLDIuMjE1LDQuNTA2LDQuNTA2LDAsMCwwLDIuOTMtMy4xMzZoMGE0LjUsNC41LDAsMCwwLTEuNjE4LTMuOTc1LDExLjA4NCwxMS4wODQsMCwwLDAtNS43LTIuNzUzQTEyLjk1NywxMi45NTcsMCwwLDAsNTA3LjQ0MiwxMi42NzhaIgogICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTA3LjY2OCAxMS42ODIgNTA1LjY1NyAyMy43NDggNTA4LjYyNCAyNC40MjQgNTExLjExMiAxMi4xNzUgNTA3LjY2OCAxMS42ODIiCiAgICAgICAgICAgICAgICAgZmlsbD0iIzI5MmEyZSI+PC9wb2x5Z29uPgogICAgICAgIDxjaXJjbGUgY3g9IjUxOS43MjMiIGN5PSIyMy42OTEiIHI9IjAuOTcyIiBmaWxsPSIjMjkyYTJlIj48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI1MjEuNDE3IiBjeT0iMTguNzE1IiByPSIwLjk3MiIgZmlsbD0iIzI5MmEyZSI+PC9jaXJjbGU+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\"","<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","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 } = 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. This stops `shift()` from taking action, but can\n // be worked around by calling it again after the `arrow()` if desired.\n const shouldAddOffset = 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 ? min$1 - center : max - center : 0;\n return {\n [axis]: coords[axis] - alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset + alignmentOffset\n }\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$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 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 const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\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 H, openBlock as c, createElementBlock as P, normalizeClass as O, renderSlot as N, normalizeProps as Me, guardReactiveProps as ke, pushScopeId as Ee, popScopeId as Le, nextTick as Be, createBlock as M, withScopeId as De, resolveComponent as T, normalizeStyle as x, withKeys as Ie, createElementVNode as $, Fragment as Re, createCommentVNode as ee, withCtx as A, createVNode as ce, mergeProps as Fe, toDisplayString as Ve, ref as Y, createApp as je, h as xe } from \"vue\";\nimport { offset as We, autoPlacement as Ge, shift as qe, flip as Ye, arrow as Xe, size as Ue, computePosition as Ke, getOverflowAncestors as te } from \"@floating-ui/dom\";\nfunction fe(e, t) {\n for (const o in t)\n Object.prototype.hasOwnProperty.call(t, o) && (typeof t[o] == \"object\" && e[o] ? fe(e[o], t[o]) : e[o] = t[o]);\n}\nconst u = {\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: 5e3,\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 // 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\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction b(e, t) {\n let o = u.themes[e] || {}, i;\n do\n i = o[t], typeof i > \"u\" ? o.$extend ? o = u.themes[o.$extend] || {} : (o = null, i = u[t]) : o = null;\n while (o);\n return i;\n}\nfunction Je(e) {\n const t = [e];\n let o = u.themes[e] || {};\n do\n o.$extend && !o.$resetCss ? (t.push(o.$extend), o = u.themes[o.$extend] || {}) : o = null;\n while (o);\n return t.map((i) => `v-popper--theme-${i}`);\n}\nfunction oe(e) {\n const t = [e];\n let o = u.themes[e] || {};\n do\n o.$extend ? (t.push(o.$extend), o = u.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 me = !1;\ntypeof window < \"u\" && typeof navigator < \"u\" && (me = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream);\nconst ge = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((e, t) => e.concat([\n t,\n `${t}-start`,\n `${t}-end`\n]), []), ie = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\",\n pointer: \"pointerdown\"\n}, se = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\",\n pointer: \"pointerup\"\n};\nfunction ne(e, t) {\n const o = e.indexOf(t);\n o !== -1 && e.splice(o, 1);\n}\nfunction W() {\n return new Promise((e) => requestAnimationFrame(() => {\n requestAnimationFrame(e);\n }));\n}\nconst d = [];\nlet g = null;\nconst re = {};\nfunction pe(e) {\n let t = re[e];\n return t || (t = re[e] = []), t;\n}\nlet X = function() {\n};\ntypeof window < \"u\" && (X = window.Element);\nfunction n(e) {\n return function(t) {\n return b(t.theme, e);\n };\n}\nconst G = \"__floating-vue__popper\", K = () => H({\n name: \"VPopper\",\n provide() {\n return {\n [G]: {\n parentPopper: this\n }\n };\n },\n inject: {\n [G]: { 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) => ge.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, X, Boolean],\n default: n(\"container\")\n },\n boundary: {\n type: [String, X],\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\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\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 shownChildren: /* @__PURE__ */ new Set(),\n lastAutoHide: !0\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[G]) == 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 ...[\n \"triggers\",\n \"positioningDisabled\"\n ].reduce((e, t) => (e[t] = \"$_refreshListeners\", e), {}),\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.$_isDisposed = !0, this.randomId = `popper_${[Math.random(), Date.now()].map((e) => e.toString(36).substring(2, 10)).join(\"_\")}`, 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\"), this.$emit(\"dispose\"));\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(We({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n const t = this.placement.startsWith(\"auto\");\n if (t ? e.middleware.push(Ge({\n alignment: this.placement.split(\"-\")[1] ?? \"\"\n })) : e.placement = this.placement, this.preventOverflow && (this.shift && e.middleware.push(qe({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n })), !t && this.flip && e.middleware.push(Ye({\n padding: this.overflowPadding,\n boundary: this.boundary\n }))), e.middleware.push(Xe({\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 h;\n if ((h = p.autoSize) != null && h.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(Ue({\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 Ke(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 = null, 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 = null, 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 W(), await this.$_computePosition(), await this.$_applyShowEffect(), this.positioningDisabled || this.$_registerEventListeners([\n ...te(this.$_referenceNode),\n ...te(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 oe(this.theme))\n pe(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 W(), 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, ne(d, this), d.length === 0 && document.body.classList.remove(\"v-popper--some-open\");\n for (const o of oe(this.theme)) {\n const i = pe(o);\n ne(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 W(), 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, ie, this.triggers, this.showTriggers, e), this.$_registerTriggerListeners([this.$_popperNode], ie, this.popperTriggers, this.popperShowTriggers, e);\n const t = (o) => {\n o.usedByTooltip || this.hide({ event: o });\n };\n this.$_registerTriggerListeners(this.$_targetNodes, se, this.triggers, this.hideTriggers, t), this.$_registerTriggerListeners([this.$_popperNode], se, 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 (v >= e.left && v <= e.right && y >= e.top && y <= e.bottom) {\n const t = this.$_popperNode.getBoundingClientRect(), o = v - f, i = y - m, r = t.left + t.width / 2 - f + (t.top + t.height / 2) - m + t.width + t.height, p = f + o * r, a = m + i * r;\n return S(f, m, p, a, t.left, t.top, t.left, t.bottom) || // Left edge\n S(f, m, p, a, t.left, t.top, t.right, t.top) || // Top edge\n S(f, m, p, a, t.right, t.top, t.right, t.bottom) || // Right edge\n S(f, 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});\ntypeof document < \"u\" && typeof window < \"u\" && (me ? (document.addEventListener(\"touchstart\", ae, _ ? {\n passive: !0,\n capture: !0\n} : !0), document.addEventListener(\"touchend\", Ze, _ ? {\n passive: !0,\n capture: !0\n} : !0)) : (window.addEventListener(\"mousedown\", ae, !0), window.addEventListener(\"click\", Qe, !0)), window.addEventListener(\"resize\", ot));\nfunction ae(e) {\n for (let t = 0; t < d.length; t++) {\n const o = d[t];\n try {\n const i = o.popperNode();\n o.$_mouseDownContains = i.contains(e.target);\n } catch {\n }\n }\n}\nfunction Qe(e) {\n $e(e);\n}\nfunction Ze(e) {\n $e(e, !0);\n}\nfunction $e(e, t = !1) {\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 = et(s, e);\n s.$_pendingHide = !1, requestAnimationFrame(() => {\n if (s.$_pendingHide = !1, !o[s.randomId] && de(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 && de(p, p.$_containsGlobalTarget, e); ) {\n p.$_handleGlobalClose(e, t);\n p = p.parentPopper;\n }\n }\n });\n } catch {\n }\n }\n}\nfunction et(e, t) {\n const o = e.popperNode();\n return e.$_mouseDownContains || o.contains(t.target);\n}\nfunction de(e, t, o) {\n return o.closeAllPopover || o.closePopover && t || tt(e, o) && !t;\n}\nfunction tt(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 ot(e) {\n for (let t = 0; t < d.length; t++)\n d[t].$_computePosition(e);\n}\nfunction Ht() {\n for (let e = 0; e < d.length; e++)\n d[e].hide();\n}\nlet f = 0, m = 0, v = 0, y = 0;\ntypeof window < \"u\" && window.addEventListener(\"mousemove\", (e) => {\n f = v, m = y, v = e.clientX, y = e.clientY;\n}, _ ? {\n passive: !0\n} : void 0);\nfunction S(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)), h = ((o - e) * (t - r) - (i - t) * (e - s)) / ((a - r) * (o - e) - (p - s) * (i - t));\n return l >= 0 && l <= 1 && h >= 0 && h <= 1;\n}\nconst it = {\n extends: K()\n}, k = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [i, s] of t)\n o[i] = s;\n return o;\n};\nfunction st(e, t, o, i, s, r) {\n return c(), P(\"div\", {\n ref: \"reference\",\n class: O([\"v-popper\", {\n \"v-popper--shown\": e.slotData.isShown\n }])\n }, [\n N(e.$slots, \"default\", Me(ke(e.slotData)))\n ], 2);\n}\nconst nt = /* @__PURE__ */ k(it, [[\"render\", st]]);\nfunction rt() {\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 U() {\n U.init || (U.init = !0, z = rt() !== -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 U(), Be(() => {\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 pt = /* @__PURE__ */ De(\"data-v-b329ee4c\");\nEe(\"data-v-b329ee4c\");\nconst at = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\nLe();\nconst dt = /* @__PURE__ */ pt((e, t, o, i, s, r) => (c(), M(\"div\", at)));\nE.render = dt;\nE.__scopeId = \"data-v-b329ee4c\";\nE.__file = \"src/components/ResizeObserver.vue\";\nconst J = (e = \"theme\") => ({\n computed: {\n themeClass() {\n return Je(this[e]);\n }\n }\n}), ht = H({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: E\n },\n mixins: [\n J()\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});\nconst lt = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"], ut = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n}, ct = /* @__PURE__ */ $(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1), ft = /* @__PURE__ */ $(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1), mt = [\n ct,\n ft\n];\nfunction gt(e, t, o, i, s, r) {\n const p = T(\"ResizeObserver\");\n return c(), P(\"div\", {\n id: e.popperId,\n ref: \"popover\",\n class: O([\"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: x(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] = Ie((a) => e.autoHide && e.$emit(\"hide\"), [\"esc\"]))\n }, [\n $(\"div\", {\n class: \"v-popper__backdrop\",\n onClick: t[0] || (t[0] = (a) => e.autoHide && e.$emit(\"hide\"))\n }),\n $(\"div\", {\n class: \"v-popper__wrapper\",\n style: x(e.result ? {\n transformOrigin: e.result.transformOrigin\n } : void 0)\n }, [\n $(\"div\", ut, [\n e.mounted ? (c(), P(Re, { key: 0 }, [\n $(\"div\", null, [\n N(e.$slots, \"default\")\n ]),\n e.handleResize ? (c(), M(p, {\n key: 0,\n onNotify: t[1] || (t[1] = (a) => e.$emit(\"resize\", a))\n })) : ee(\"\", !0)\n ], 64)) : ee(\"\", !0)\n ], 512),\n $(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: x(e.result ? {\n left: e.toPx(e.result.arrow.x),\n top: e.toPx(e.result.arrow.y)\n } : void 0)\n }, mt, 4)\n ], 4)\n ], 46, lt);\n}\nconst Q = /* @__PURE__ */ k(ht, [[\"render\", gt]]), Z = {\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}, $t = H({\n name: \"VPopperWrapper\",\n components: {\n Popper: nt,\n PopperContent: Q\n },\n mixins: [\n Z,\n J(\"finalTheme\")\n ],\n props: {\n theme: {\n type: String,\n default: null\n }\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 _t(e, t, o, i, s, r) {\n const p = T(\"PopperContent\"), a = T(\"Popper\");\n return c(), M(a, {\n ref: \"popper\",\n theme: e.finalTheme,\n \"target-nodes\": e.getTargetNodes,\n \"popper-node\": () => e.$refs.popperContent.$el,\n class: O([\n e.themeClass\n ])\n }, {\n default: A(({\n popperId: l,\n isShown: h,\n shouldMountContent: B,\n skipTransition: D,\n autoHide: I,\n show: R,\n hide: w,\n handleResize: F,\n onResize: V,\n classes: j,\n result: Oe\n }) => [\n N(e.$slots, \"default\", {\n shown: h,\n show: R,\n hide: w\n }),\n ce(p, {\n ref: \"popperContent\",\n \"popper-id\": l,\n theme: e.finalTheme,\n shown: h,\n mounted: B,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": F,\n classes: j,\n result: Oe,\n onHide: w,\n onResize: V\n }, {\n default: A(() => [\n N(e.$slots, \"popper\", {\n shown: h,\n hide: w\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 }, 8, [\"theme\", \"target-nodes\", \"popper-node\", \"class\"]);\n}\nconst L = /* @__PURE__ */ k($t, [[\"render\", _t]]), _e = {\n ...L,\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n};\nconst we = {\n ...L,\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}, ve = {\n ...L,\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n};\nconst wt = H({\n name: \"VTooltipDirective\",\n components: {\n Popper: K(),\n PopperContent: Q\n },\n mixins: [\n Z\n ],\n inheritAttrs: !1,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (e) => b(e.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (e) => b(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 Pt(e, t, o, i, s, r) {\n const p = T(\"PopperContent\"), a = T(\"Popper\");\n return c(), M(a, Fe({ 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: A(({\n popperId: l,\n isShown: h,\n shouldMountContent: B,\n skipTransition: D,\n autoHide: I,\n hide: R,\n handleResize: w,\n onResize: F,\n classes: V,\n result: j\n }) => [\n ce(p, {\n ref: \"popperContent\",\n class: O({\n \"v-popper--tooltip-loading\": e.loading\n }),\n \"popper-id\": l,\n theme: e.theme,\n shown: h,\n mounted: B,\n \"skip-transition\": D,\n \"auto-hide\": I,\n \"handle-resize\": w,\n classes: V,\n result: j,\n onHide: R,\n onResize: F\n }, {\n default: A(() => [\n e.html ? (c(), P(\"div\", {\n key: 0,\n innerHTML: e.finalContent\n }, null, 8, vt)) : (c(), P(\"div\", {\n key: 1,\n textContent: Ve(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 ye = /* @__PURE__ */ k(wt, [[\"render\", Pt]]), Pe = \"v-popper--has-tooltip\";\nfunction Tt(e, t) {\n let o = e.placement;\n if (!o && t)\n for (const i of ge)\n t[i] && (o = i);\n return o || (o = b(e.theme || \"tooltip\", \"placement\")), o;\n}\nfunction Te(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 q, C, bt = 0;\nfunction Ct() {\n if (q)\n return;\n C = Y([]), q = je({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives: C\n };\n },\n render() {\n return this.directives.map((t) => xe(ye, {\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), q.mount(e);\n}\nfunction St(e, t, o) {\n Ct();\n const i = Y(Te(e, t, o)), s = Y(!1), r = {\n id: bt++,\n options: i,\n shown: s\n };\n return C.value.push(r), e.classList && e.classList.add(Pe), 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 be(e) {\n if (e.$_popper) {\n const t = C.value.indexOf(e.$_popper.item);\n t !== -1 && C.value.splice(t, 1), delete e.$_popper, delete e.$_popperOldShown, delete e.$_popperMountTarget;\n }\n e.classList && e.classList.remove(Pe);\n}\nfunction he(e, { value: t, modifiers: o }) {\n const i = Te(e, t, o);\n if (!i.content || b(i.theme || \"tooltip\", \"disabled\"))\n be(e);\n else {\n let s;\n e.$_popper ? (s = e.$_popper, s.options.value = i) : s = St(e, t, o), typeof t.shown < \"u\" && t.shown !== e.$_popperOldShown && (e.$_popperOldShown = t.shown, t.shown ? s.show() : s.hide());\n }\n}\nconst Ce = {\n beforeMount: he,\n updated: he,\n beforeUnmount(e) {\n be(e);\n }\n};\nfunction le(e) {\n e.addEventListener(\"click\", Se), e.addEventListener(\"touchstart\", ze, _ ? {\n passive: !0\n } : !1);\n}\nfunction ue(e) {\n e.removeEventListener(\"click\", Se), e.removeEventListener(\"touchstart\", ze), e.removeEventListener(\"touchend\", Ne), e.removeEventListener(\"touchcancel\", Ae);\n}\nfunction Se(e) {\n const t = e.currentTarget;\n e.closePopover = !t.$_vclosepopover_touch, e.closeAllPopover = t.$_closePopoverModifiers && !!t.$_closePopoverModifiers.all;\n}\nfunction ze(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\", Ne), t.addEventListener(\"touchcancel\", Ae);\n }\n}\nfunction Ne(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 Ae(e) {\n const t = e.currentTarget;\n t.$_vclosepopover_touch = !1;\n}\nconst He = {\n beforeMount(e, { value: t, modifiers: o }) {\n e.$_closePopoverModifiers = o, (typeof t > \"u\" || t) && le(e);\n },\n updated(e, { value: t, oldValue: o, modifiers: i }) {\n e.$_closePopoverModifiers = i, t !== o && (typeof t > \"u\" || t ? le(e) : ue(e));\n },\n beforeUnmount(e) {\n ue(e);\n }\n}, Ot = u, Mt = Ce, kt = He, Et = _e, Lt = we, Bt = K, Dt = Q, It = Z, Rt = L, Ft = J, Vt = ve, jt = ye;\nfunction zt(e, t = {}) {\n e.$_vTooltipInstalled || (e.$_vTooltipInstalled = !0, fe(u, t), e.directive(\"tooltip\", Ce), e.directive(\"close-popper\", He), e.component(\"VTooltip\", ve), e.component(\"VDropdown\", _e), e.component(\"VMenu\", we));\n}\nconst xt = {\n // eslint-disable-next-line no-undef\n version: \"2.0.0-beta.24\",\n install: zt,\n options: u\n};\nexport {\n Et as Dropdown,\n se as HIDE_EVENT_MAP,\n Lt as Menu,\n Bt as Popper,\n Dt as PopperContent,\n It as PopperMethods,\n Rt as PopperWrapper,\n ie as SHOW_EVENT_MAP,\n Ft as ThemeClass,\n Vt as Tooltip,\n jt as TooltipDirective,\n kt as VClosePopper,\n Mt as VTooltip,\n St as createTooltip,\n xt as default,\n be as destroyTooltip,\n Ht as hideAllPoppers,\n zt as install,\n Ot as options,\n ge as placements\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 { Dropdown as FloatingDropdown, type Placement } 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?: string[];\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 <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>\nimport { DropdownContextInjectionKey } from \"./symbols\";\nimport { inject } from \"vue\";\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","<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 { IconMore } from \"../../icons/icons\";\nimport { computed } from \"vue\";\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>\nimport type { Type } from \"./interface\";\nimport { computed, onMounted, ref, watchEffect } from \"vue\";\nimport {\n IconCheckboxCircle,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n IconClose,\n} from \"@/icons/icons\";\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 = {\n success: {\n icon: IconCheckboxCircle,\n color: \"text-green-500\",\n },\n info: {\n icon: IconInformation,\n color: \"text-sky-500\",\n },\n warning: {\n icon: IconErrorWarning,\n color: \"text-orange-500\",\n },\n error: {\n icon: IconForbidLine,\n color: \"text-red-500\",\n },\n};\n\nconst icon = computed(() => icons[props.type]);\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=\"icon.icon\" :class=\"[icon.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 ToastComponent from \"./Toast.vue\";\nimport { createVNode, render, type Component, type VNode } from \"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","<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></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"],"names":["isLoading","ref","error","init","loadImage","isInit","props","image","resolve","reject","err","watch","onMounted","classes","computed","result","styles","placeholderText","words","TypeIcons","IconCheckboxCircle","IconInformation","IconErrorWarning","IconCloseCircle","handleClose","emit","router","useRouter","handleClick","provide","slots","useSlots","open","openIds","inject","hasSubmenus","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","each","t","n","isArrayLike","o","style","isString","isArray","e","getCSSVal","keys","setCSSVal","createCache","s","c","cacheUpdateContextual","i","l","isClient","isUndefined","isNull","type","isNumber","isBoolean","isFunction","isObject","isPlainObject","r","isHTMLElement","isElement","indexOf","push","from","isEmptyArray","runEachAndClear","hasOwnProperty","assignDeep","isEmptyObject","getSetProp","attr","attrClass","hasAttrClass","removeAttr","scrollLeft","scrollTop","find","findFirst","is","contents","parent","closest","liesBetween","before","appendChildren","insertBefore","insertAfter","removeElements","createDiv","createDOM","firstLetterToUpper","getDummyStyle","cssProperty","jsAPI","a","u","d","f","_","h","equal","equalWH","equalXY","equalTRBL","equalBCRWH","noop","selfClearTimeout","debounce","mergeParms","flush","v","w","p","b","g","classListAction","hasClass","removeClass","addClass","parseToZeroOrNumber","adaptCSSVal","directionIsRTL","topRightBottomLeft","offsetSize","clientSize","scrollSize","fractionalSize","getBoundingClientRect","m","supportPassiveEvents","splitEventNames","off","on","stopPropagation","preventDefault","y","absoluteCoordinates","manageListener","createEventListenerHub","removeEvent","addEvent","triggerEvent","opsStringify","S","getOptionsDiff","x","$","C","O","z","T","E","I","A","L","H","P","M","D","R","k","B","V","Y","F","G","X","U","W","Z","J","K","Q","tt","nt","ot","st","et","ct","rt","it","lt","at","getPlugins","addPlugin","wt","mt","Ct","zt","Et","getNativeScrollbarSize","getNativeScrollbarsHiding","getRtlScrollBehavior","getFlexboxGlue","createEnvironment","getEnvironment","resolveInitialization","staticInitializationElement","dynamicInitializationElement","cancelInitialization","It","addInstance","removeInstance","getInstance","getPropByPath","createOptionCheck","createState","At","Lt","unwrap","createStructureSetupElements","j","N","q","elementIsGenerated","revertViewportTabIndex","createTrinsicUpdateSegment","createPaddingUpdateSegment","Ht","Pt","Mt","Dt","Rt","kt","Bt","getOverflowAmount","conditionalClass","overflowIsVisible","createOverflowUpdateSegment","fixFlexboxGlue","getViewportOverflowState","getStatePerAxis","setViewportOverflowState","setAxisOverflowStyle","hideNativeScrollbars","ut","dt","ft","prepareUpdateHints","createStructureSetupUpdate","createEventContentChange","destroy","updateElements","createDOMObserver","observerCallback","Vt","domRectHasDimensions","createSizeObserver","onSizeChangedCallbackProxy","isHeightIntrinsic","createTrinsicObserver","triggerOnTrinsicChangedCallback","intersectionObserverCallback","onSizeChanged","Yt","jt","Nt","qt","Ft","createStructureSetupObservers","updateViewportAttrsFromHost","onTrinsicChanged","onContentMutation","onHostMutation","ignoreMutationFromOptions","Gt","createInitialStructureSetupUpdateState","createStructureSetup","triggerUpdateEvent","Xt","getScale","continuePointerDown","createRootClickStopPropagationEvents","Ut","createInteractiveScrollEvents","createRelativeHandleMove","getHandleRect","getTrackRect","getHandleOffset","releasePointerCapture","createScrollbarsSetupEvents","Wt","Zt","Jt","Kt","getScrollbarHandleLengthRatio","getScrollbarHandleOffsetRatio","createScrollbarsSetupElements","scrollbarStructureAddRemoveClass","scrollbarsHandleStyle","scrollbarStructureRefreshHandleLength","scrollbarStructureRefreshHandleOffset","scrollbarsAddRemoveClass","refreshScrollbarsHandleLength","refreshScrollbarsHandleOffset","generateScrollbarDOM","appendElements","createScrollbarsSetup","styleScrollbarPosition","manageScrollbarsAutoHide","hide","onHostMouseEnter","setScrollbarVisibility","invokePluginInstance","OverlayScrollbars","validateOptions","update","translateScrollbarStructure","translateScrollbarsSetupElement","rootVisible","modelWrapper","wrapperClasses","contentStyles","focus","handleClickLayer","nextTick","_a","modalBody","reactiveParams","reactive","initialize","instance","useOverlayScrollbars","value","SpacingSize","direction","align","tabItems","slotProps","handleChange","id","activeId","isActive","tabbarItemsRef","handleHorizontalWheel","event","scrollWidth","clientWidth","toLeft","toRight","onUnmounted","icons","IconForbidLine","icon","loading","handleCancel","handleConfirm","defaultProps","dialog","userProps","container","vnode","hostContainer","createVNodeComponent","DialogComponent","render","component","createVNode","totalPages","hasNext","hasPrevious","totalLabelText","onPageChange","target","page","onSizeChange","size","previous","next","Empty","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","bt","getOppositeAxisPlacements","flipAlignment","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","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","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$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","isBasePlacement","fallbackPlacements","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$map$so","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","apply","width","height","heightSide","widthSide","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","maximumClippingWidth","maximumClippingHeight","xMin","xMax","yMin","yMax","nextDimensions","Je","oe","me","ge","ie","se","ne","re","pe","We","Ge","qe","Ye","Xe","Ue","Ke","te","ae","Ze","Qe","$e","de","Me","ke","Be","pt","De","Ee","Le","ht","gt","Ie","Re","ee","$t","_t","Oe","ce","_e","vt","yt","Fe","Ve","ye","Pe","Tt","Te","je","xe","St","be","he","Ce","le","Se","ze","ue","Ne","Ae","He","DropdownContextInjectionKey","dropdownRef","__expose","onClick","wrapperStyles","timer","createTimer","close","clearTimer","handleMouseEnter","handleMouseLeave","watchEffect","index","instances","toast","item","ToastComponent","_b","content","_hoisted_2","_createElementVNode","_hoisted_3"],"mappings":"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","x_google_ignoreList":[6,7,21,22,23,24]}