{"version":3,"file":"bootstrap-vue-next-YYjlP2ai.js","sources":["../../node_modules/bootstrap-vue-next/dist/keys-41Cw9q6f.mjs","../../node_modules/bootstrap-vue-next/dist/useDefaults-BTLXvYhO.mjs","../../node_modules/bootstrap-vue-next/dist/useColorVariantClasses-ZDE19TZw.mjs","../../node_modules/bootstrap-vue-next/dist/object-DIbMZaP9.mjs","../../node_modules/bootstrap-vue-next/dist/stringUtils-DNoLRB2A.mjs","../../node_modules/bootstrap-vue-next/dist/BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs","../../node_modules/bootstrap-vue-next/dist/useAlignment-Cw-9AVid.mjs","../../node_modules/bootstrap-vue-next/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-CCIDsf4z.mjs","../../node_modules/bootstrap-vue-next/dist/BForm.vue_vue_type_script_setup_true_lang-Crnxo4h0.mjs","../../node_modules/bootstrap-vue-next/dist/index-D3jGjWWk.mjs","../../node_modules/bootstrap-vue-next/dist/index-Bkyn4R9C.mjs","../../node_modules/bootstrap-vue-next/dist/useId-c2wnQbyL.mjs","../../node_modules/bootstrap-vue-next/dist/ConditionalTeleport.vue_vue_type_script_lang-2PJ2jBTg.mjs","../../node_modules/bootstrap-vue-next/dist/classes-IC0yVJlq.mjs","../../node_modules/bootstrap-vue-next/dist/useShowHide-DPX837gG.mjs","../../node_modules/bootstrap-vue-next/dist/_plugin-vue_export-helper-1tPrXgE0.mjs","../../node_modules/bootstrap-vue-next/dist/dom-DSGRrOAo.mjs","../../node_modules/bootstrap-vue-next/dist/BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs","../../node_modules/bootstrap-vue-next/dist/BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs","../../node_modules/bootstrap-vue-next/dist/ConditionalWrapper.vue_vue_type_script_lang-CUX3HBqw.mjs","../../node_modules/bootstrap-vue-next/dist/BNavText.vue_vue_type_script_setup_true_lang-BcpR_RSZ.mjs","../../node_modules/bootstrap-vue-next/dist/useModalManager-CDHu1xAV.mjs","../../node_modules/bootstrap-vue-next/dist/BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs","../../node_modules/bootstrap-vue-next/dist/useCountdownHover-CJ6C8i_a.mjs","../../node_modules/bootstrap-vue-next/dist/useTransitions-BJccF5e-.mjs","../../node_modules/bootstrap-vue-next/dist/BAlert-ztlMTxZk.mjs","../../node_modules/bootstrap-vue-next/dist/BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs","../../node_modules/bootstrap-vue-next/dist/useRadiusElementClasses-DtKYQuWz.mjs","../../node_modules/bootstrap-vue-next/dist/BButtonToolbar.vue_vue_type_script_setup_true_lang-Cw3YzCpt.mjs","../../node_modules/bootstrap-vue-next/dist/BImg.vue_vue_type_script_setup_true_lang-CoowQ3jJ.mjs","../../node_modules/bootstrap-vue-next/dist/BCard.vue_vue_type_script_setup_true_lang-DoeLCt4a.mjs","../../node_modules/bootstrap-vue-next/dist/getClasses-CsgNQabU.mjs","../../node_modules/bootstrap-vue-next/dist/BCol.vue_vue_type_script_setup_true_lang-zEDCknHc.mjs","../../node_modules/bootstrap-vue-next/dist/BContainer.vue_vue_type_script_setup_true_lang-w2M6sC0-.mjs","../../node_modules/bootstrap-vue-next/dist/BRow.vue_vue_type_script_setup_true_lang-69TY75-8.mjs","../../node_modules/bootstrap-vue-next/dist/useFormSelect-BJO_8jcC.mjs","../../node_modules/bootstrap-vue-next/dist/BFormValidFeedback.vue_vue_type_script_setup_true_lang-Bs-YFQyq.mjs","../../node_modules/bootstrap-vue-next/dist/useAriaInvalid-BTUbGj3Y.mjs","../../node_modules/bootstrap-vue-next/dist/useStateClass-BGbSLWFN.mjs","../../node_modules/bootstrap-vue-next/dist/BFormGroup.vue_vue_type_script_setup_true_lang-CGPenzZT.mjs","../../node_modules/bootstrap-vue-next/dist/useFormInput-UKFmd5Ke.mjs","../../node_modules/bootstrap-vue-next/dist/BFormInput.vue_vue_type_script_setup_true_lang-KuNFoABp.mjs","../../node_modules/bootstrap-vue-next/dist/BFormSelect.vue_vue_type_script_setup_true_lang-BigptVap.mjs","../../node_modules/bootstrap-vue-next/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-XOaWTmlh.mjs","../../node_modules/bootstrap-vue-next/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-BvZYkKtO.mjs","../../node_modules/bootstrap-vue-next/dist/useSafeScrollLock-DjG0jeMK.mjs","../../node_modules/bootstrap-vue-next/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-B30oaS2u.mjs","../../node_modules/bootstrap-vue-next/dist/BProgress.vue_vue_type_script_setup_true_lang-BOhOz9Pk.mjs","../../node_modules/bootstrap-vue-next/dist/BTable.vue_vue_type_script_setup_true_lang-D8F_wIwL.mjs","../../node_modules/bootstrap-vue-next/dist/BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH.mjs","../../node_modules/bootstrap-vue-next/dist/index-sLCKmIWG.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/bootstrap/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/breadcrumb/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/modalController/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/modalManager/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/popoverController/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/rtl/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/toastController/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/showHide/index.mjs","../../node_modules/bootstrap-vue-next/dist/src/plugins/createBootstrap/index.mjs"],"sourcesContent":["const withBvnPrefix = (value, suffix = \"\") => {\n const suffixWithTrail = `${suffix}___`;\n return `___BVN__ID__${value}__${suffix ? suffixWithTrail : \"\"}`;\n};\nconst createBvnInjectionKey = (name) => withBvnPrefix(name);\nconst createBvnPluginInjectionKey = (name) => withBvnPrefix(`${name}__plugin`);\nconst carouselInjectionKey = createBvnInjectionKey(\"carousel\");\nconst tabsInjectionKey = createBvnInjectionKey(\"tabs\");\nconst progressInjectionKey = createBvnInjectionKey(\"progress\");\nconst listGroupInjectionKey = createBvnInjectionKey(\"listGroup\");\nconst avatarGroupInjectionKey = createBvnInjectionKey(\"avatarGroup\");\nconst accordionInjectionKey = createBvnInjectionKey(\"accordion\");\nconst checkboxGroupKey = createBvnInjectionKey(\"checkboxGroup\");\nconst radioGroupKey = createBvnInjectionKey(\"radioGroup\");\nconst collapseInjectionKey = createBvnInjectionKey(\"collapse\");\nconst globalShowHideStorageInjectionKey = createBvnPluginInjectionKey(\"globalShowHideStorage\");\nconst dropdownInjectionKey = createBvnInjectionKey(\"dropdown\");\nconst navbarInjectionKey = createBvnInjectionKey(\"navbar\");\nconst rtlPluginKey = createBvnPluginInjectionKey(\"rtl\");\nconst breadcrumbPluginKey = createBvnPluginInjectionKey(\"breadcrumbPlugin\");\nconst modalManagerPluginKey = createBvnPluginInjectionKey(\"modalManager\");\nconst defaultsKey = createBvnPluginInjectionKey(\"defaults\");\nconst inputGroupKey = createBvnInjectionKey(\"inputGroup\");\nconst buttonGroupKey = createBvnInjectionKey(\"buttonGroup\");\nconst toastPluginKey = createBvnPluginInjectionKey(\"toast\");\nconst modalControllerPluginKey = createBvnPluginInjectionKey(\"modalController\");\nconst popoverPluginKey = createBvnPluginInjectionKey(\"popover\");\nconst formGroupPluginKey = createBvnInjectionKey(\"formGroupPlugin\");\nexport {\n modalManagerPluginKey as a,\n breadcrumbPluginKey as b,\n collapseInjectionKey as c,\n defaultsKey as d,\n accordionInjectionKey as e,\n avatarGroupInjectionKey as f,\n globalShowHideStorageInjectionKey as g,\n buttonGroupKey as h,\n checkboxGroupKey as i,\n formGroupPluginKey as j,\n radioGroupKey as k,\n inputGroupKey as l,\n modalControllerPluginKey as m,\n listGroupInjectionKey as n,\n progressInjectionKey as o,\n popoverPluginKey as p,\n tabsInjectionKey as q,\n rtlPluginKey as r,\n carouselInjectionKey as s,\n toastPluginKey as t,\n dropdownInjectionKey as u,\n navbarInjectionKey as v,\n withBvnPrefix as w\n};\n//# sourceMappingURL=keys-41Cw9q6f.mjs.map\n","import { inject, ref, computed, shallowRef, watchEffect, getCurrentInstance as getCurrentInstance$1, provide } from \"vue\";\nimport { d as defaultsKey } from \"./keys-41Cw9q6f.mjs\";\nfunction injectSelf(key, vm = getCurrentInstance(\"injectSelf\")) {\n const { provides } = vm;\n if (provides && key in provides) {\n return provides[key];\n }\n return void 0;\n}\nfunction getCurrentInstance(name, message) {\n const vm = getCurrentInstance$1();\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${\"must be called from inside a setup function\"}`);\n }\n return vm;\n}\nconst toKebabCase = (str = \"\") => str.replace(/[^a-z]/gi, \"-\").replace(/\\B([A-Z])/g, \"-$1\").toLowerCase();\nconst isObject = (obj) => obj !== null && typeof obj === \"object\" && !Array.isArray(obj);\nfunction mergeDeep(source = {}, target = {}, arrayFn) {\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn);\n continue;\n }\n if (Array.isArray(sourceProperty) && Array.isArray(targetProperty) && arrayFn) {\n out[key] = arrayFn(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nconst propIsDefined = (vnode, prop) => {\n var _a, _b;\n return typeof ((_a = vnode.props) == null ? void 0 : _a[prop]) !== \"undefined\" || typeof ((_b = vnode.props) == null ? void 0 : _b[toKebabCase(prop)]) !== \"undefined\";\n};\nfunction internalUseDefaults(props = {}, name) {\n const defaults = inject(defaultsKey, ref({}));\n const vm = getCurrentInstance(\"useDefaults\");\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error(\"[Bvn] Could not determine component name\");\n }\n const componentDefaults = computed(() => {\n var _a;\n return (_a = defaults.value) == null ? void 0 : _a[props._as ?? name];\n });\n const _props = new Proxy(props, {\n get(target, prop) {\n var _a, _b, _c, _d;\n const propValue = Reflect.get(target, prop);\n if (prop === \"class\" || prop === \"style\") {\n return [(_a = componentDefaults.value) == null ? void 0 : _a[prop], propValue].filter((v) => v != null);\n } else if (typeof prop === \"string\" && !propIsDefined(vm.vnode, prop)) {\n return ((_b = componentDefaults.value) == null ? void 0 : _b[prop]) ?? ((_d = (_c = defaults.value) == null ? void 0 : _c.global) == null ? void 0 : _d[prop]) ?? propValue;\n }\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key.startsWith(key[0].toUpperCase())\n );\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : void 0;\n } else {\n _subcomponentDefaults.value = void 0;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm);\n provide(\n defaultsKey,\n computed(\n () => _subcomponentDefaults.value ? mergeDeep((injected == null ? void 0 : injected.value) ?? {}, _subcomponentDefaults.value) : injected == null ? void 0 : injected.value\n )\n );\n }\n return { props: _props, provideSubDefaults };\n}\nfunction useDefaults(props, name) {\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\nexport {\n useDefaults as u\n};\n//# sourceMappingURL=useDefaults-BTLXvYhO.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useColorVariantClasses = (obj) => computed(() => {\n let props = toValue(obj);\n props = {\n variant: props.variant ?? null,\n bgVariant: props.bgVariant ?? null,\n textVariant: props.textVariant ?? null,\n borderVariant: props.borderVariant ?? null\n };\n return {\n [`text-bg-${props.variant}`]: props.variant !== null,\n [`text-${props.textVariant}`]: props.textVariant !== null,\n [`bg-${props.bgVariant}`]: props.bgVariant !== null,\n [`border-${props.borderVariant}`]: props.borderVariant !== null\n };\n});\nexport {\n useColorVariantClasses as u\n};\n//# sourceMappingURL=useColorVariantClasses-ZDE19TZw.mjs.map\n","const omit = (objToPluck, keysToPluck) => Object.keys(objToPluck).filter((key) => !keysToPluck.map((el) => el.toString()).includes(key)).reduce((result, key) => ({ ...result, [key]: objToPluck[key] }), {});\nconst pick = (objToPluck, keysToPluck) => [...keysToPluck].reduce(\n (memo, prop) => {\n memo[prop] = objToPluck[prop];\n return memo;\n },\n {}\n);\nconst get = (value, path, defaultValue) => {\n const segments = path.split(/[.[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null) return defaultValue;\n if (current === void 0) return defaultValue;\n if (key.trim() === \"\") continue;\n current = current[key];\n }\n if (current === void 0) return defaultValue;\n return current;\n};\nconst set = (initial, path, value) => {\n const clone = (obj) => {\n const isPrimitive = (value2) => value2 === void 0 || value2 === null || typeof value2 !== \"object\" && typeof value2 !== \"function\";\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const newObj = new obj.constructor();\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n newObj[prop] = obj[prop];\n });\n return newObj;\n };\n const toInt = (value2, defaultValue) => {\n const def = defaultValue === void 0 ? 0 : defaultValue;\n if (value2 === null || value2 === void 0) {\n return def;\n }\n const result = Number.parseInt(value2);\n return Number.isNaN(result) ? def : result;\n };\n if (!initial) return {};\n if (!path || value === void 0) return initial;\n const segments = path.split(/[.[\\]]/g).filter((x) => !!x.trim());\n const _set = (node) => {\n if (segments.length > 1) {\n const key = segments.shift();\n const nextIsNum = toInt(segments[0], null) === null ? false : true;\n node[key] = node[key] === void 0 ? nextIsNum ? [] : {} : node[key];\n _set(node[key]);\n } else {\n node[segments[0]] = value;\n }\n };\n const cloned = clone(initial);\n _set(cloned);\n return cloned;\n};\nexport {\n get as g,\n omit as o,\n pick as p,\n set as s\n};\n//# sourceMappingURL=object-DIbMZaP9.mjs.map\n","import { d as RX_UNDERSCORE, e as RX_LOWER_UPPER, f as RX_FIRST_START_SPACE_WORD, g as RX_SPACES, h as RX_START_SPACE_WORD, i as RX_REGEXP_REPLACE } from \"./constants-DY6pmjuU.mjs\";\nconst startCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_FIRST_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst titleCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst upperFirst = (str) => {\n const trim = str.trim();\n return trim.charAt(0).toUpperCase() + trim.slice(1);\n};\nconst escapeRegExp = (str) => str.replace(RX_REGEXP_REPLACE, \"\\\\$&\");\nconst escapeRegExpChars = (str) => escapeRegExp(str).replace(RX_SPACES, \"\\\\s\");\nconst toPascalCase = (str) => str.replace(/-./g, (match) => match.charAt(1).toUpperCase()).replace(/\\b\\w/g, (match) => match.toUpperCase()).replace(/\\s+/g, \"\");\nexport {\n titleCase as a,\n escapeRegExpChars as e,\n startCase as s,\n toPascalCase as t,\n upperFirst as u\n};\n//# sourceMappingURL=stringUtils-DNoLRB2A.mjs.map\n","import { readonly, toRef, computed, getCurrentInstance, resolveDynamicComponent, toValue, defineComponent, useAttrs, inject, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { c as collapseInjectionKey, v as navbarInjectionKey } from \"./keys-41Cw9q6f.mjs\";\nimport { p as pick } from \"./object-DIbMZaP9.mjs\";\nimport { t as toPascalCase } from \"./stringUtils-DNoLRB2A.mjs\";\nconst isLink = (props) => !!(props.href || props.to);\nconst useBLinkHelper = (props, pickProps) => {\n const pickPropsResolved = readonly(toRef(pickProps));\n const resolvedProps = readonly(toRef(props));\n const computedLink = computed(() => isLink(resolvedProps.value));\n const computedLinkProps = computed(\n () => computedLink.value ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n \"active\",\n \"activeClass\",\n \"append\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\"\n ]\n ) : {}\n );\n return { computedLink, computedLinkProps };\n};\nconst useBLinkTagResolver = (props) => {\n const instance = getCurrentInstance();\n const router = instance == null ? void 0 : instance.appContext.app.config.globalProperties.$router;\n const route = instance == null ? void 0 : instance.appContext.app.config.globalProperties.$route;\n const RouterLinkComponent = resolveDynamicComponent(\"RouterLink\");\n const useLink = typeof RouterLinkComponent === \"string\" ? null : RouterLinkComponent.useLink;\n const resolvedProps = toRef(props);\n const resolvedTo = toRef(() => resolvedProps.value.to || \"\");\n const resolvedReplace = toRef(() => resolvedProps.value.replace);\n const routerName = computed(() => toPascalCase(resolvedProps.value.routerComponentName));\n const tag = computed(() => {\n const hasRouter = (instance == null ? void 0 : instance.appContext.app.component(routerName.value)) !== void 0;\n if (!hasRouter || resolvedProps.value.disabled || !resolvedProps.value.to) {\n return \"a\";\n }\n return routerName.value;\n });\n const isRouterLink = computed(() => tag.value === \"RouterLink\");\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => isRouterLink.value && typeof (instance == null ? void 0 : instance.appContext.app.$nuxt) !== \"undefined\"\n );\n const isNonStandardTag = computed(\n () => tag.value !== \"a\" && !isRouterLink.value && !isNuxtLink.value\n );\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value);\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value\n }));\n const _link = useLink == null ? void 0 : useLink({\n to: resolvedTo,\n replace: resolvedReplace\n });\n const link = computed(() => isOfRouterType.value ? _link : null);\n const computedHref = computed(() => {\n var _a;\n if ((_a = link.value) == null ? void 0 : _a.href.value) return link.value.href.value;\n const toFallback = \"#\";\n if (resolvedProps.value.href) return resolvedProps.value.href;\n if (typeof resolvedProps.value.to === \"string\") return resolvedProps.value.to || toFallback;\n const { to: stableTo } = resolvedProps.value;\n if (stableTo !== void 0 && \"path\" in stableTo) {\n const path = stableTo.path || \"\";\n const query = stableTo.query ? `?${Object.keys(stableTo.query).map((e) => {\n var _a2;\n return `${e}=${(_a2 = stableTo.query) == null ? void 0 : _a2[e]}`;\n }).join(\"=\")}` : \"\";\n const hash = !stableTo.hash || stableTo.hash.charAt(0) === \"#\" ? stableTo.hash || \"\" : `#${stableTo.hash}`;\n return `${path}${query}${hash}` || toFallback;\n }\n return toFallback;\n });\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps\n };\n};\nconst useLinkClasses = (linkProps) => computed(() => {\n const props = toValue(linkProps);\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== void 0,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== void 0,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== void 0,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== void 0,\n [\"link-underline\"]: props.underlineVariant === null && (props.underlineOpacity !== void 0 || props.underlineOpacityHover !== void 0),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== void 0,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]: props.underlineOpacityHover !== void 0,\n \"icon-link\": props.icon === true\n };\n});\nconst defaultActiveClass = \"active\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BLink\",\n props: {\n active: { type: Boolean, default: void 0 },\n activeClass: { default: \"router-link-active\" },\n disabled: { type: Boolean, default: false },\n exactActiveClass: { default: \"router-link-exact-active\" },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean, default: false },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean, default: void 0 },\n prefetchOn: { default: void 0 },\n noPrefetch: { type: Boolean, default: void 0 },\n prefetchedClass: { default: void 0 },\n rel: { default: void 0 },\n replace: { type: Boolean, default: false },\n routerComponentName: { default: \"router-link\" },\n routerTag: { default: \"a\" },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BLink\");\n const emit = __emit;\n const attrs = useAttrs();\n const { computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag } = useBLinkTagResolver(\n computed(() => ({\n routerComponentName: props.routerComponentName,\n disabled: props.disabled,\n to: props.to,\n replace: props.replace,\n href: props.href\n }))\n );\n const collapseData = inject(collapseInjectionKey, null);\n const navbarData = inject(navbarInjectionKey, null);\n const linkValueClasses = useLinkClasses(props);\n const computedClasses = computed(() => {\n var _a, _b;\n return [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: ((_a = link.value) == null ? void 0 : _a.isActive.value) || false,\n [props.exactActiveClass]: ((_b = link.value) == null ? void 0 : _b.isExactActive.value) || false,\n \"stretched-link\": props.stretched === true\n }\n ];\n });\n const computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled\n }));\n const clicked = (e) => {\n var _a, _b, _c;\n if (props.disabled) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return;\n }\n if (((_a = collapseData == null ? void 0 : collapseData.isNav) == null ? void 0 : _a.value) === true && navbarData === null || navbarData !== null && ((_b = navbarData.autoClose) == null ? void 0 : _b.value) === true) {\n (_c = collapseData == null ? void 0 : collapseData.hide) == null ? void 0 : _c.call(collapseData);\n }\n emit(\"click\", e);\n };\n const computedRel = computed(\n () => props.target === \"_blank\" ? !props.rel && props.noRel ? \"noopener\" : props.rel : void 0\n );\n const computedTabIndex = computed(\n () => props.disabled ? \"-1\" : typeof attrs.tabindex === \"undefined\" ? null : attrs.tabindex\n );\n const nuxtSpecificProps = computed(() => ({\n prefetch: props.prefetch,\n noPrefetch: props.noPrefetch,\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value\n }));\n const computedSpecificProps = computed(() => ({\n ...isRouterLink.value ? linkProps.value : void 0,\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({\n class: computedClasses.value,\n target: unref(props).target,\n href: unref(computedHref),\n rel: computedRel.value,\n tabindex: computedTabIndex.value,\n \"aria-disabled\": unref(props).disabled ? true : null\n }, computedSpecificProps.value, {\n onClick: _cache[0] || (_cache[0] = (e) => {\n var _a;\n clicked(e);\n (_a = unref(link)) == null ? void 0 : _a.navigate(e);\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"target\", \"href\", \"rel\", \"tabindex\", \"aria-disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n useLinkClasses as a,\n useBLinkHelper as u\n};\n//# sourceMappingURL=BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAlignment = (align) => computed(() => {\n const value = toValue(align);\n return !value ? \"\" : `justify-content-${value}`;\n});\nexport {\n useAlignment as u\n};\n//# sourceMappingURL=useAlignment-Cw-9AVid.mjs.map\n","import { computed, toValue, defineComponent, provide, toRef, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, renderSlot, mergeProps, inject, createElementVNode } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { v as navbarInjectionKey, g as globalShowHideStorageInjectionKey } from \"./keys-41Cw9q6f.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$4 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nconst useContainerClasses = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return {\n container: resolvedValue === true,\n [`container-${resolvedValue}`]: typeof resolvedValue === \"string\"\n };\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbar\",\n props: {\n autoClose: { type: Boolean, default: true },\n container: { type: [Boolean, String], default: \"fluid\" },\n fixed: { default: void 0 },\n print: { type: Boolean, default: false },\n sticky: { default: void 0 },\n tag: { default: \"nav\" },\n toggleable: { type: [Boolean, String], default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbar\");\n const computedRole = computed(() => props.tag === \"nav\" ? void 0 : \"navigation\");\n const containerClass = useContainerClasses(() => props.container);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"d-print\": props.print,\n [`sticky-${props.sticky}`]: props.sticky !== void 0,\n [`fixed-${props.fixed}`]: props.fixed !== void 0,\n \"navbar-expand\": props.toggleable === false,\n [`navbar-expand-${props.toggleable}`]: typeof props.toggleable === \"string\"\n }\n ]);\n provide(navbarInjectionKey, {\n tag: toRef(() => props.tag),\n autoClose: toRef(() => props.autoClose)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"navbar\", computedClasses.value]),\n role: computedRole.value\n }, {\n default: withCtx(() => [\n unref(props).container !== false ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(containerClass))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2)) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 8, [\"class\", \"role\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarBrand\",\n props: {\n tag: { default: \"div\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarBrand\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$4 : props.tag);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ class: \"navbar-brand\" }, unref(computedLinkProps)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarNav\",\n props: {\n align: { default: void 0 },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tag: { default: \"ul\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-fill\": props.fill,\n \"nav-justified\": props.justified,\n [alignment.value]: props.align !== void 0,\n \"small\": props.small\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"ul\", {\n class: normalizeClass([\"navbar-nav\", computedClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1 = [\"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarToggle\",\n props: {\n disabled: { type: Boolean, default: false },\n label: { default: \"Toggle navigation\" },\n target: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarToggle\");\n const emit = __emit;\n const computedClasses = computed(() => ({\n disabled: props.disabled\n }));\n const showHideData = inject(globalShowHideStorageInjectionKey, void 0);\n const collapseExpanded = computed(() => {\n var _a;\n if (!props.target || !showHideData) return false;\n if (typeof props.target === \"string\") return ((_a = showHideData.map[props.target]) == null ? void 0 : _a.value) || false;\n return props.target.some((target) => {\n var _a2;\n return (_a2 = showHideData.map[target]) == null ? void 0 : _a2.value;\n });\n });\n const toggleExpand = () => {\n var _a;\n if (!props.target || !showHideData) return;\n if (typeof props.target === \"string\") {\n (_a = showHideData.map[props.target]) == null ? void 0 : _a.toggle();\n return;\n }\n props.target.forEach((target) => {\n var _a2;\n return (_a2 = showHideData.map[target]) == null ? void 0 : _a2.toggle();\n });\n };\n const onClick = (e) => {\n if (!props.disabled) {\n emit(\"click\", e);\n toggleExpand();\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"navbar-toggler\", computedClasses.value]),\n type: \"button\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).label,\n onClick\n }, [\n renderSlot(_ctx.$slots, \"default\", { expanded: collapseExpanded.value }, () => [\n _cache[0] || (_cache[0] = createElementVNode(\"span\", { class: \"navbar-toggler-icon\" }, null, -1))\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BNavbarToggle.vue_vue_type_script_setup_true_lang-CCIDsf4z.mjs.map\n","import { defineComponent, useTemplateRef, computed, openBlock, createElementBlock, unref, normalizeClass, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _hoisted_1 = [\"id\", \"novalidate\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BForm\",\n props: {\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: false },\n validated: { type: Boolean, default: false }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BForm\");\n const element = useTemplateRef(\"_element\");\n const computedClasses = computed(() => ({\n \"form-floating\": props.floating,\n \"was-validated\": props.validated\n }));\n __expose({\n element\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"form\", {\n id: unref(props).id,\n ref: \"_element\",\n novalidate: unref(props).novalidate,\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BForm.vue_vue_type_script_setup_true_lang-Crnxo4h0.mjs.map\n","import { ref, isRef, watch, computed, getCurrentScope, onScopeDispose, effectScope, unref, readonly, toRef as toRef$1, customRef, onMounted, nextTick, getCurrentInstance } from \"vue\";\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\ntypeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst notNullish = (val) => val != null;\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst timestamp = () => +Date.now();\nconst noop = () => {\n};\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction getLifeCycleTarget(target) {\n return getCurrentInstance();\n}\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\nexport {\n isObject as a,\n tryOnScopeDispose as b,\n notNullish as c,\n increaseWithUnit as d,\n toRef as e,\n tryOnMounted as f,\n timestamp as g,\n useIntervalFn as h,\n isIOS as i,\n camelize as j,\n isClient as k,\n useThrottleFn as l,\n makeDestructurable as m,\n noop as n,\n useDebounceFn as o,\n createSharedComposable as p,\n syncRef as s,\n toValue as t,\n useToNumber as u,\n watchPausable as w\n};\n//# sourceMappingURL=index-D3jGjWWk.mjs.map\n","import { m as makeDestructurable, n as noop, i as isIOS, t as toValue, a as isObject, b as tryOnScopeDispose, c as notNullish, d as increaseWithUnit, e as toRef, f as tryOnMounted, g as timestamp, h as useIntervalFn, j as camelize, k as isClient, w as watchPausable } from \"./index-D3jGjWWk.mjs\";\nimport { shallowRef, computed, ref, watch, reactive, watchEffect, defineComponent, readonly, nextTick, getCurrentInstance, onMounted } from \"vue\";\nfunction createReusableTemplate(options = {}) {\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* @__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* @__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\nconst defaultWindow = isClient ? window : void 0;\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window2)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window2.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window2.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window2, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window2, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window2, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, instance);\n }\n return isMounted;\n}\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\nfunction useMutationObserver(target, callback, options = {}) {\n const { window: window2 = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window2 && \"MutationObserver\" in window2);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window: window2 = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp2) {\n if (!isActive.value || !window2)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp2;\n const delta = timestamp2 - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window2.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp2;\n fn({ delta, timestamp: timestamp2 });\n rafId = window2.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window2) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window2.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window2) {\n window2.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\nfunction useMediaQuery(query, options = {}) {\n const { window: window2 = defaultWindow } = options;\n const isSupported = useSupported(() => window2 && \"matchMedia\" in window2 && typeof window2.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window2.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window: window2 = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window2)\n return false;\n return window2.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window: window2 = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = watchPausable(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window2 && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window2, \"storage\", update);\n else\n useEventListener(window2, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window2) {\n const payload = {\n key,\n oldValue,\n newValue,\n storageArea: storage\n };\n window2.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window: window2 = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window: window2 });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window2.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window2.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window2.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n return Object.assign(auto, { store, system, state });\n}\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window: window2 = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window2)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window: window2 = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window2 && \"IntersectionObserver\" in window2);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window: window2 = defaultWindow,\n target = window2,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n let _prevScrollX = 0;\n let _prevScrollY = 0;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n if (window2) {\n _prevScrollX = window2.scrollX;\n _prevScrollY = window2.scrollY;\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window2)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window2.scrollX - _prevScrollX;\n y.value = pos[1] + window2.scrollY - _prevScrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window2, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window: window2 = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window2 == null ? void 0 : window2.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value))\n e.preventDefault();\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document2) {\n if (!document2)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document2.addEventListener(\"x\", noop, optionsBlock);\n document2.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\nexport {\n useIntersectionObserver as a,\n useMutationObserver as b,\n useFocus as c,\n unrefElement as d,\n useEventListener as e,\n createReusableTemplate as f,\n getSSRHandler as g,\n useTimestamp as h,\n useElementHover as i,\n useSwipe as j,\n onClickOutside as k,\n useBreakpoints as l,\n breakpointsBootstrapV5 as m,\n useScrollLock as n,\n onKeyStroke as o,\n useMouse as p,\n useColorMode as u\n};\n//# sourceMappingURL=index-Bkyn4R9C.mjs.map\n","import { useId as useId$1, computed, toValue } from \"vue\";\nimport { w as withBvnPrefix } from \"./keys-41Cw9q6f.mjs\";\nconst useId = (id, suffix) => {\n const genId = useId$1();\n return computed(() => toValue(id) || withBvnPrefix(genId || \"\", suffix));\n};\nexport {\n useId as u\n};\n//# sourceMappingURL=useId-c2wnQbyL.mjs.map\n","import { defineComponent, h, Teleport } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalTeleport\",\n inheritAttrs: false,\n slots: Object,\n props: {\n to: {\n type: [String, Object],\n default: null\n },\n disabled: {\n type: Boolean,\n required: true\n }\n },\n setup(props, { slots }) {\n return () => {\n var _a, _b;\n return !props.to ? (_a = slots.default) == null ? void 0 : _a.call(slots, {}) : h(Teleport, { to: props.to, disabled: props.disabled || !props.to }, [(_b = slots.default) == null ? void 0 : _b.call(slots, {})]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalTeleport.vue_vue_type_script_lang-2PJ2jBTg.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nclass BvEvent {\n constructor(eventType, eventInit = {}) {\n __publicField(this, \"cancelable\", true);\n __publicField(this, \"componentId\", null);\n __publicField(this, \"_defaultPrevented\", false);\n __publicField(this, \"eventType\", \"\");\n __publicField(this, \"nativeEvent\", null);\n __publicField(this, \"_preventDefault\");\n __publicField(this, \"relatedTarget\", null);\n __publicField(this, \"target\", null);\n if (!eventType) {\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${arguments.length} given.`\n );\n }\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n this._preventDefault = function _preventDefault() {\n if (this.cancelable) {\n this.defaultPrevented = true;\n }\n };\n }\n // Readable by everyone,\n // But only overwritten by inherrited constructors\n get defaultPrevented() {\n return this._defaultPrevented;\n }\n set defaultPrevented(prop) {\n this._defaultPrevented = prop;\n }\n // I think this is right\n // We want to be able to have it callable to everyone,\n // But only overwritten by inherrited constructors\n get preventDefault() {\n return this._preventDefault;\n }\n // This may not be correct, because it doesn't get correct type inferences in children\n // Ex overwrite this.preventDefault = () => true is valid. Could be a TS issue\n set preventDefault(setter) {\n this._preventDefault = setter;\n }\n static get Defaults() {\n return {\n cancelable: true,\n componentId: null,\n eventType: \"\",\n nativeEvent: null,\n relatedTarget: null,\n target: null\n };\n }\n}\nclass BvTriggerableEvent extends BvEvent {\n constructor(eventType, eventInit = {}) {\n super(eventType, eventInit);\n __publicField(this, \"trigger\", null);\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n }\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n };\n }\n}\nclass BvCarouselEvent extends BvEvent {\n constructor(eventType, eventInit) {\n super(eventType, eventInit);\n __publicField(this, \"from\");\n __publicField(this, \"to\");\n __publicField(this, \"direction\");\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n const { from, direction, to } = eventInit;\n this.from = from;\n this.to = to;\n this.direction = direction;\n }\n static get Defaults() {\n return {\n ...super.Defaults\n };\n }\n}\nexport {\n BvEvent as B,\n BvTriggerableEvent as a,\n BvCarouselEvent as b\n};\n//# sourceMappingURL=classes-IC0yVJlq.mjs.map\n","import { ref, watch, computed, onMounted, nextTick, inject, readonly, onBeforeUnmount } from \"vue\";\nimport { g as globalShowHideStorageInjectionKey } from \"./keys-41Cw9q6f.mjs\";\nimport { a as BvTriggerableEvent } from \"./classes-IC0yVJlq.mjs\";\nimport { e as useEventListener } from \"./index-Bkyn4R9C.mjs\";\nimport { l as useThrottleFn } from \"./index-D3jGjWWk.mjs\";\nconst fadeBaseTransitionProps = {\n name: \"fade\",\n enterActiveClass: \"\",\n enterFromClass: \"showing\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveFromClass: \"\",\n leaveToClass: \"showing\",\n css: true\n};\nconst useShowHide = (modelValue, props, emit, element, computedId, options = {\n transitionProps: {},\n showFn: () => {\n },\n hideFn: () => {\n }\n}) => {\n var _a;\n let noAction = false;\n const initialShow = !!modelValue.value && !props.initialAnimation || props.visible || false;\n const showRef = ref(false);\n const renderRef = ref(initialShow);\n const renderBackdropRef = ref(initialShow);\n let isCountdown = typeof modelValue.value !== \"boolean\";\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== \"boolean\";\n if (noAction) {\n noAction = false;\n return;\n }\n if (modelValue.value) {\n show();\n } else {\n hide();\n }\n });\n const localNoAnimation = ref(initialShow);\n const localTemporaryHide = ref(false);\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n );\n onMounted(() => {\n var _a2;\n if (!props.show && initialShow) {\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n return;\n }\n localNoAnimation.value = true;\n if (!modelValue.value) {\n noAction = true;\n modelValue.value = true;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n isVisible.value = true;\n backdropVisible.value = true;\n backdropReady.value = true;\n showRef.value = true;\n (_a2 = options.showFn) == null ? void 0 : _a2.call(options);\n } else if (props.show || !!modelValue.value && props.initialAnimation) {\n show();\n }\n });\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true;\n nextTick(() => {\n if (newval) isVisible.value = true;\n if (newval) {\n show();\n } else {\n hide();\n }\n });\n }\n );\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show();\n } else {\n hide();\n }\n }\n );\n useEventListener(element, \"bv-toggle\", () => {\n modelValue.value = !modelValue.value;\n });\n const buildTriggerableEvent = (type, opts = {}) => new BvTriggerableEvent(type, {\n cancelable: false,\n target: (element == null ? void 0 : element.value) || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId == null ? void 0 : computedId.value\n });\n let showTimeout;\n const show = () => {\n if (showRef.value) return;\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n if (isVisible.value) {\n isVisible.value = false;\n }\n if (modelValue.value && !isCountdown) {\n noAction = true;\n nextTick(() => {\n modelValue.value = false;\n });\n }\n return;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n requestAnimationFrame(() => {\n var _a2;\n showTimeout = setTimeout(\n () => {\n var _a3;\n showRef.value = true;\n (_a3 = options.showFn) == null ? void 0 : _a3.call(options);\n if (!modelValue.value) {\n noAction = true;\n nextTick(() => {\n modelValue.value = true;\n });\n }\n },\n localNoAnimation.value ? 0 : typeof props.delay === \"number\" ? props.delay : ((_a2 = props.delay) == null ? void 0 : _a2.show) || 0\n );\n });\n };\n const hide = (trigger) => {\n var _a2;\n if (!showRef.value) return;\n const event = buildTriggerableEvent(\"hide\", { cancelable: true, trigger });\n const event2 = buildTriggerableEvent(trigger || \"ignore\", { cancelable: true, trigger });\n if (trigger === \"backdrop\" && props.noCloseOnBackdrop || trigger === \"esc\" && props.noCloseOnEsc) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\"));\n return;\n }\n if (showTimeout) {\n clearTimeout(showTimeout);\n showTimeout = void 0;\n }\n if (trigger) {\n emit(trigger, event2);\n }\n emit(\"hide\", event);\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\"));\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true;\n modelValue.value = true;\n });\n }\n return;\n }\n setTimeout(\n () => {\n var _a3;\n isLeaving.value = true;\n showRef.value = false;\n (_a3 = options.hideFn) == null ? void 0 : _a3.call(options);\n if (modelValue.value) {\n noAction = true;\n modelValue.value = isCountdown ? 0 : false;\n }\n },\n localNoAnimation.value ? 0 : typeof props.delay === \"number\" ? props.delay : ((_a2 = props.delay) == null ? void 0 : _a2.hide) || 0\n );\n };\n const throttleHide = useThrottleFn((a) => hide(a), 500);\n const throttleShow = useThrottleFn(() => show(), 500);\n const toggle = () => {\n const e = buildTriggerableEvent(\"toggle\", { cancelable: true });\n emit(\"toggle\", e);\n if (e.defaultPrevented) {\n emit(\"toggle-prevented\", buildTriggerableEvent(\"toggle-prevented\"));\n return;\n }\n if (showRef.value) {\n hide();\n } else {\n show();\n }\n };\n const appRegistry = (_a = inject(\n globalShowHideStorageInjectionKey,\n void 0\n )) == null ? void 0 : _a({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef)\n });\n onBeforeUnmount(() => {\n appRegistry == null ? void 0 : appRegistry.unregister();\n });\n const lazyLoadCompleted = ref(false);\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true;\n };\n const isLeaving = ref(false);\n const isActive = ref(false);\n const isVisible = ref(false);\n const onBeforeEnter = (el) => {\n var _a2, _b, _c, _d;\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onBeforeEnter) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onBeforeEnter) == null ? void 0 : _d.call(_c, el);\n isActive.value = true;\n };\n const onEnter = (el) => {\n var _a2, _b, _c, _d;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isVisible.value = true;\n });\n });\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onEnter) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onEnter) == null ? void 0 : _d.call(_c, el);\n };\n const onAfterEnter = (el) => {\n var _a2, _b, _c, _d;\n emit(\"shown\", buildTriggerableEvent(\"shown\"));\n markLazyLoadCompleted();\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onAfterEnter) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onAfterEnter) == null ? void 0 : _d.call(_c, el);\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false;\n }\n };\n const onBeforeLeave = (el) => {\n var _a2, _b, _c, _d;\n if (!isLeaving.value) isLeaving.value = true;\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onBeforeLeave) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onBeforeLeave) == null ? void 0 : _d.call(_c, el);\n };\n const onLeave = (el) => {\n var _a2, _b, _c, _d;\n isVisible.value = false;\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onLeave) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onLeave) == null ? void 0 : _d.call(_c, el);\n };\n const onAfterLeave = (el) => {\n var _a2, _b, _c, _d;\n emit(\"hidden\", buildTriggerableEvent(\"hidden\"));\n (_b = (_a2 = options.transitionProps) == null ? void 0 : _a2.onAfterLeave) == null ? void 0 : _b.call(_a2, el);\n (_d = (_c = props.transitionProps) == null ? void 0 : _c.onAfterLeave) == null ? void 0 : _d.call(_c, el);\n isLeaving.value = false;\n isActive.value = false;\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false;\n });\n };\n const contentShowing = computed(\n () => localTemporaryHide.value === true || isActive.value === true || props.lazy === false || props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false\n );\n const trapActive = ref(false);\n watch(isVisible, (val) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setTimeout(() => {\n trapActive.value = val;\n }, 32);\n });\n });\n });\n });\n });\n const backdropVisible = ref(false);\n const backdropReady = ref(false);\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave\n };\n return {\n showRef,\n renderRef,\n renderBackdropRef,\n isVisible,\n isActive,\n trapActive,\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation,\n localTemporaryHide,\n isLeaving,\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions\n },\n lazyLoadCompleted,\n markLazyLoadCompleted,\n contentShowing,\n backdropReady,\n backdropVisible,\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true;\n });\n });\n backdropReady.value = false;\n },\n onAfterEnter: () => {\n backdropReady.value = true;\n },\n onBeforeLeave: () => {\n backdropVisible.value = false;\n },\n onAfterLeave: () => {\n backdropReady.value = false;\n requestAnimationFrame(() => {\n renderBackdropRef.value = false;\n });\n }\n }\n };\n};\nexport {\n useShowHide as u\n};\n//# sourceMappingURL=useShowHide-DPX837gG.mjs.map\n","const _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};\nexport {\n _export_sfc as _\n};\n//# sourceMappingURL=_plugin-vue_export-helper-1tPrXgE0.mjs.map\n","const getActiveElement = (excludes = []) => {\n const { activeElement } = document;\n return activeElement && !(excludes == null ? void 0 : excludes.some((el) => el === activeElement)) ? activeElement : null;\n};\nconst attemptFocus = (el, options = {}) => {\n const isActiveElement = (el2) => el2 === getActiveElement();\n try {\n el.focus(options);\n } catch (e) {\n console.error(e);\n }\n return isActiveElement(el);\n};\nconst isEmptySlot = (el) => ((el == null ? void 0 : el()) ?? []).length === 0;\nconst isVisible = (el) => {\n if (el.getAttribute(\"display\") === \"none\") {\n return false;\n }\n const bcr = el.getBoundingClientRect();\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n};\nexport {\n isVisible as a,\n attemptFocus as b,\n getActiveElement as g,\n isEmptySlot as i\n};\n//# sourceMappingURL=dom-DSGRrOAo.mjs.map\n","import { defineComponent, useSlots, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, renderSlot, createTextVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DSGRrOAo.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"visually-hidden\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BSpinner\",\n props: {\n label: { default: void 0 },\n role: { default: \"status\" },\n small: { type: Boolean, default: false },\n tag: { default: \"span\" },\n type: { default: \"border\" },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BSpinner\");\n const slots = useSlots();\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n `spinner-${props.type}`,\n colorClasses.value,\n {\n [`spinner-${props.type}-sm`]: props.small\n }\n ]);\n const hasLabelSlot = computed(() => !isEmptySlot(slots.label));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: unref(props).label || hasLabelSlot.value ? unref(props).role : null,\n \"aria-hidden\": unref(props).label || hasLabelSlot.value ? null : true\n }, {\n default: withCtx(() => [\n unref(props).label || hasLabelSlot.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\", \"role\", \"aria-hidden\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs.map\n","import { defineComponent, mergeModels, useTemplateRef, useModel, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode } from \"vue\";\nimport { _ as _sfc_main$2 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs\";\nimport { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nimport { o as onKeyStroke } from \"./index-Bkyn4R9C.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButton\",\n props: /* @__PURE__ */ mergeModels({\n loading: { type: Boolean, default: false },\n loadingFill: { type: Boolean, default: false },\n loadingText: { default: \"Loading...\" },\n pill: { type: Boolean, default: false },\n size: { default: \"md\" },\n squared: { type: Boolean, default: false },\n tag: { default: \"button\" },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n routerTag: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null }\n }, {\n \"pressed\": { type: Boolean, ...{ default: void 0 } },\n \"pressedModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"click\"], [\"update:pressed\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BButton\");\n const emit = __emit;\n const element = useTemplateRef(\"_element\");\n const pressedValue = useModel(__props, \"pressed\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active-class\",\n \"exact-active-class\",\n \"replace\",\n \"routerComponentName\",\n \"routerTag\"\n ]);\n const isToggle = computed(() => typeof pressedValue.value === \"boolean\");\n const isButton = computed(\n () => props.tag === \"button\" && props.href === void 0 && props.to === void 0\n );\n const isBLink = computed(() => props.to !== void 0);\n const nonStandardTag = computed(() => props.href !== void 0 ? false : !isButton.value);\n const linkProps = computed(() => isBLink.value ? computedLinkProps.value : []);\n const computedAriaDisabled = computed(() => {\n if (props.href === \"#\" && props.disabled) return true;\n return nonStandardTag.value ? props.disabled : null;\n });\n const variantIsLinkType = computed(() => {\n var _a;\n return ((_a = props.variant) == null ? void 0 : _a.startsWith(\"link\")) || false;\n });\n const variantIsLinkTypeSubset = computed(() => {\n var _a;\n return ((_a = props.variant) == null ? void 0 : _a.startsWith(\"link-\")) || false;\n });\n const linkValueClasses = useLinkClasses(\n computed(() => {\n var _a;\n return {\n ...variantIsLinkType.value ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant: variantIsLinkTypeSubset.value === true ? (_a = props.variant) == null ? void 0 : _a.slice(5) : null\n } : void 0\n };\n })\n );\n const computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false ? linkValueClasses.value : void 0,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n \"active\": props.active || pressedValue.value,\n \"rounded-pill\": props.pill,\n \"rounded-0\": props.squared,\n \"disabled\": props.disabled\n }\n ]);\n const computedTag = computed(() => isBLink.value ? _sfc_main$1 : props.href ? \"a\" : props.tag);\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n emit(\"click\", e);\n if (isToggle.value) pressedValue.value = !pressedValue.value;\n };\n onKeyStroke(\n [\" \", \"enter\"],\n (e) => {\n var _a;\n if (props.href === \"#\") {\n e.preventDefault();\n (_a = element.value) == null ? void 0 : _a.click();\n }\n },\n { target: element }\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n ref: \"_element\",\n class: \"btn\"\n }, linkProps.value, {\n class: computedClasses.value,\n \"aria-disabled\": computedAriaDisabled.value,\n \"aria-pressed\": isToggle.value ? pressedValue.value : null,\n autocomplete: isToggle.value ? \"off\" : null,\n disabled: isButton.value ? unref(props).disabled : null,\n href: unref(props).href,\n rel: unref(computedLink) ? unref(props).rel : null,\n role: nonStandardTag.value || unref(computedLink) ? \"button\" : null,\n target: unref(computedLink) ? unref(props).target : null,\n type: isButton.value ? unref(props).type : null,\n to: !isButton.value ? unref(props).to : null,\n onClick: clicked\n }), {\n default: withCtx(() => [\n unref(props).loading ? renderSlot(_ctx.$slots, \"loading\", { key: 0 }, () => [\n !unref(props).loadingFill ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(props).loadingText), 1)\n ], 64)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"loading-spinner\", {}, () => [\n createVNode(_sfc_main$2, {\n small: unref(props).size !== \"lg\",\n label: unref(props).loadingFill ? unref(props).loadingText : void 0\n }, null, 8, [\"small\", \"label\"])\n ])\n ]) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 16, [\"class\", \"aria-disabled\", \"aria-pressed\", \"autocomplete\", \"disabled\", \"href\", \"rel\", \"role\", \"target\", \"type\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs.map\n","import { defineComponent, h } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalWrapper\",\n inheritAttrs: false,\n slots: Object,\n props: {\n tag: {\n type: String,\n default: \"div\"\n },\n skip: {\n type: Boolean,\n required: true\n }\n },\n setup(props, { slots, attrs }) {\n return () => {\n var _a, _b;\n return props.skip ? (_a = slots.default) == null ? void 0 : _a.call(slots, {}) : h(props.tag, { ...attrs }, [(_b = slots.default) == null ? void 0 : _b.call(slots, {})]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalWrapper.vue_vue_type_script_lang-CUX3HBqw.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, useAttrs, createElementBlock, mergeProps, createVNode, withModifiers, mergeModels, useModel, useTemplateRef, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { _ as _sfc_main$5 } from \"./BForm.vue_vue_type_script_setup_true_lang-Crnxo4h0.mjs\";\nimport { _ as _sfc_main$6 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nimport { p as pick } from \"./object-DIbMZaP9.mjs\";\nimport { B as BDropdown } from \"./BDropdown-CTArhExr.mjs\";\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BNav\",\n props: {\n align: { default: void 0 },\n cardHeader: { type: Boolean, default: false },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n pills: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tabs: { type: Boolean, default: false },\n tag: { default: \"ul\" },\n underline: { type: Boolean, default: false },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-tabs\": props.tabs,\n \"nav-pills\": props.pills && !props.tabs,\n \"card-header-tabs\": !props.vertical && props.cardHeader && props.tabs,\n \"card-header-pills\": !props.vertical && props.cardHeader && props.pills && !props.tabs,\n \"flex-column\": props.vertical,\n \"nav-fill\": !props.vertical && props.fill,\n \"nav-justified\": !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== void 0,\n \"small\": props.small,\n \"nav-underline\": props.underline\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"nav\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BNavForm\",\n props: {\n role: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n formClass: { default: void 0 },\n floating: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: void 0 },\n validated: { type: Boolean, default: void 0 }\n },\n emits: [\"submit\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavForm\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...formAttrs } = attrs;\n return { wrapperClass, formAttrs };\n });\n const submitted = (e) => {\n emit(\"submit\", e);\n };\n const liClasses = computed(() => [\n \"d-flex\",\n \"flex-row\",\n \"align-items-center\",\n \"flex-wrap\",\n processedAttrs.value.wrapperClass\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({ class: liClasses.value }, _ctx.wrapperAttrs), [\n createVNode(_sfc_main$5, mergeProps(processedAttrs.value.formAttrs, {\n id: unref(props).id,\n floating: unref(props).floating,\n role: unref(props).role,\n novalidate: unref(props).novalidate,\n validated: unref(props).validated,\n class: [\"d-flex\", unref(props).formClass],\n onSubmit: withModifiers(submitted, [\"prevent\"])\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"id\", \"floating\", \"role\", \"novalidate\", \"validated\", \"class\"])\n ], 16);\n };\n }\n});\nconst _hoisted_1$2 = { class: \"nav-item\" };\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItem\",\n props: {\n linkAttrs: { default: void 0 },\n linkClass: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItem\");\n const emit = __emit;\n const computedLinkProps = computed(\n () => pick(props, [\n \"active\",\n \"activeClass\",\n \"exactActiveClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"icon\",\n \"opacity\",\n \"opacityHover\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"underlineVariant\",\n \"variant\"\n ])\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$2, [\n createVNode(_sfc_main$6, mergeProps({\n class: [\"nav-link\", _ctx.linkClass],\n tabindex: unref(props).disabled ? -1 : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0\n }, { ...computedLinkProps.value, ..._ctx.linkAttrs }, {\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"tabindex\", \"aria-disabled\"]),\n renderSlot(_ctx.$slots, \"after\")\n ]);\n };\n }\n});\nconst _hoisted_1$1 = { class: \"nav-item dropdown\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItemDropdown\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n autoClose: { type: [Boolean, String], default: true },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n disabled: { type: Boolean, default: false },\n floatingMiddleware: { default: void 0 },\n id: { default: void 0 },\n isNav: { type: Boolean, default: true },\n menuClass: { default: void 0 },\n noCaret: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n offset: { default: 0 },\n role: { default: \"menu\" },\n size: { default: \"md\" },\n noWrapper: { type: Boolean, default: void 0 },\n split: { type: Boolean, default: false },\n splitButtonType: { default: \"button\" },\n splitClass: { default: void 0 },\n splitDisabled: { type: Boolean, default: void 0 },\n splitHref: { default: void 0 },\n splitTo: { default: void 0 },\n splitVariant: { default: void 0 },\n strategy: { default: \"absolute\" },\n text: { default: void 0 },\n toggleClass: { default: void 0 },\n toggleText: { default: \"Toggle dropdown\" },\n variant: { default: \"link\" },\n wrapperClass: { default: void 0 },\n placement: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean },\n show: { type: Boolean },\n transProps: {},\n visible: { type: Boolean }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"click\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItemDropdown\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const dropdown = useTemplateRef(\"_dropdown\");\n const hide = () => {\n var _a;\n (_a = dropdown.value) == null ? void 0 : _a.hide();\n };\n const show = () => {\n var _a;\n (_a = dropdown.value) == null ? void 0 : _a.show();\n };\n const toggle = () => {\n var _a;\n (_a = dropdown.value) == null ? void 0 : _a.toggle();\n };\n __expose({\n hide,\n show,\n toggle\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$1, [\n createVNode(BDropdown, mergeProps({ ref: \"_dropdown\" }, unref(props), {\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n \"is-nav\": \"\",\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event)),\n onClick: _cache[9] || (_cache[9] = ($event) => emit(\"click\", $event))\n }), {\n \"button-content\": withCtx(() => [\n renderSlot(_ctx.$slots, \"button-content\")\n ]),\n \"toggle-text\": withCtx(() => [\n renderSlot(_ctx.$slots, \"toggle-text\")\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n hide,\n show\n })\n ]),\n _: 3\n }, 16, [\"modelValue\"])\n ]);\n };\n }\n});\nconst _hoisted_1 = { class: \"navbar-text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavText\",\n props: {\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavText\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]);\n };\n }\n});\nexport {\n _sfc_main$4 as _,\n _sfc_main$3 as a,\n _sfc_main$2 as b,\n _sfc_main$1 as c,\n _sfc_main as d\n};\n//# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-BcpR_RSZ.mjs.map\n","import { g as getSSRHandler, d as unrefElement } from \"./index-Bkyn4R9C.mjs\";\nimport { getCurrentInstance, watch, computed, toValue, inject } from \"vue\";\nimport { a as modalManagerPluginKey } from \"./keys-41Cw9q6f.mjs\";\nimport { b as tryOnScopeDispose } from \"./index-D3jGjWWk.mjs\";\nconst modalOpenClassName = \"modal-open\";\nconst useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerPluginKey);\n const dispose = (modal) => {\n modalManagerPlugin == null ? void 0 : modalManagerPlugin.removeStack(modal);\n modalManagerPlugin == null ? void 0 : modalManagerPlugin.removeRegistry(modal);\n };\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector, attribute, value) => {\n const el = typeof selector === \"string\" ? window == null ? void 0 : window.document.querySelector(selector) : unrefElement(selector);\n if (!el) return;\n if (attribute === \"class\") {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName);\n } else {\n el.setAttribute(attribute, value);\n }\n });\n tryOnScopeDispose(() => {\n updateHTMLAttrs(\"body\", \"class\", \"\");\n });\n watch(\n () => modalManagerPlugin == null ? void 0 : modalManagerPlugin.countStack.value,\n (newValue) => {\n if (newValue === void 0) return;\n updateHTMLAttrs(\"body\", \"class\", newValue > 0 ? modalOpenClassName : \"\");\n }\n );\n return {\n ...modalManagerPlugin,\n dispose\n };\n};\nconst useModalManager = (modalOpen, initialValue) => {\n const { pushRegistry, pushStack, removeStack, stack, dispose, countStack } = useSharedModalStack();\n const currentModal = getCurrentInstance();\n if (!currentModal || currentModal.type.__name !== \"BModal\") {\n throw new Error(\"useModalManager must only use in BModal component\");\n }\n pushRegistry == null ? void 0 : pushRegistry(currentModal);\n tryOnScopeDispose(() => {\n dispose(currentModal);\n });\n const setInStack = (newValue, oldValue) => {\n if (newValue) {\n pushStack == null ? void 0 : pushStack(currentModal);\n } else if (oldValue && !newValue) {\n removeStack == null ? void 0 : removeStack(currentModal);\n }\n };\n setInStack(initialValue, initialValue);\n watch(modalOpen, setInStack);\n return {\n activePosition: computed(\n () => stack == null ? void 0 : stack.value.findIndex((el) => {\n var _a, _b;\n return toValue((_a = el.exposed) == null ? void 0 : _a.id) === toValue((_b = currentModal.exposed) == null ? void 0 : _b.id);\n })\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () => (stack == null ? void 0 : stack.value.filter((el) => {\n var _a, _b;\n return toValue((_a = el.exposed) == null ? void 0 : _a.id) !== toValue((_b = currentModal.exposed) == null ? void 0 : _b.id);\n })) ?? []\n )\n };\n};\nexport {\n useModalManager as a,\n useSharedModalStack as u\n};\n//# sourceMappingURL=useModalManager-CDHu1xAV.mjs.map\n","import { defineComponent, openBlock, createElementBlock, unref } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _hoisted_1 = [\"type\", \"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCloseButton\",\n props: {\n ariaLabel: { default: \"Close\" },\n disabled: { type: Boolean, default: false },\n type: { default: \"button\" }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCloseButton\");\n const emit = __emit;\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n type: unref(props).type,\n class: \"btn-close\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).ariaLabel,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, null, 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs.map\n","import { h as useTimestamp, i as useElementHover } from \"./index-Bkyn4R9C.mjs\";\nimport { readonly, toRef, ref, computed, watch, toValue } from \"vue\";\nconst useCountdown = (length, interval, timestampOpts = {}) => {\n const resolvedLength = readonly(toRef(length));\n const isPaused = ref(false);\n const target = ref(Date.now() + resolvedLength.value);\n const { isActive, pause, resume, timestamp } = useTimestamp({\n interval,\n controls: true,\n callback: (v) => {\n if (v >= target.value) {\n isPaused.value = false;\n pause();\n }\n },\n ...timestampOpts\n });\n const value = computed(() => target.value - timestamp.value);\n const restart = () => {\n target.value = Date.now() + resolvedLength.value;\n resume();\n };\n watch(resolvedLength, () => {\n restart();\n });\n const myPause = () => {\n isPaused.value = true;\n pause();\n };\n const myResume = () => {\n isPaused.value = false;\n const remainingTime = target.value - timestamp.value;\n target.value = Date.now() + remainingTime;\n resume();\n };\n const stop = () => {\n pause();\n timestamp.value = target.value;\n isPaused.value = false;\n };\n return {\n isActive: readonly(isActive),\n isPaused: readonly(isPaused),\n stop,\n pause: myPause,\n resume: myResume,\n restart,\n value\n };\n};\nconst useCountdownHover = (element, props, actions) => {\n const isHovering = useElementHover(element);\n const onMouseEnter = () => {\n if (toValue(props).noHoverPause) return;\n actions.pause();\n };\n const onMouseLeave = () => {\n if (toValue(props).noResumeOnHoverLeave) return;\n actions.resume();\n };\n watch(isHovering, (newValue) => {\n if (toValue(props).modelValueIgnoresHover) return;\n if (newValue) {\n onMouseEnter();\n return;\n }\n onMouseLeave();\n });\n return {\n isHovering\n };\n};\nexport {\n useCountdownHover as a,\n useCountdown as u\n};\n//# sourceMappingURL=useCountdownHover-CJ6C8i_a.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useFadeTransition = (fade) => computed(() => {\n const NO_FADE_PROPS = {\n name: \"\",\n enterActiveClass: \"\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveToClass: \"showing\",\n enterFromClass: \"showing\",\n leaveFromClass: \"\"\n };\n const FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: \"fade showing\",\n leaveActiveClass: \"fade showing\"\n };\n return toValue(fade) ? FADE_PROPS : NO_FADE_PROPS;\n});\nexport {\n useFadeTransition as u\n};\n//# sourceMappingURL=useTransitions-BJccF5e-.mjs.map\n","import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, openBlock, createBlock, Transition, mergeProps, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode } from \"vue\";\nimport { _ as _sfc_main$2 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs\";\nimport { _ as _sfc_main$1 } from \"./BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-CJ6C8i_a.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { i as isEmptySlot } from \"./dom-DSGRrOAo.mjs\";\nimport { u as useFadeTransition } from \"./useTransitions-BJccF5e-.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAlert\",\n props: /* @__PURE__ */ mergeModels({\n closeClass: { default: void 0 },\n closeContent: { default: void 0 },\n closeLabel: { default: \"Close\" },\n closeVariant: { default: \"secondary\" },\n dismissible: { type: Boolean, default: false },\n fade: { type: Boolean, default: false },\n immediate: { type: Boolean, default: true },\n interval: { default: \"requestAnimationFrame\" },\n noHoverPause: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n showOnPause: { type: Boolean, default: true },\n variant: { default: \"info\" }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"closed\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAlert\");\n const emit = __emit;\n const slots = useSlots();\n const fadeTransitions = useFadeTransition(() => props.fade);\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const hasCloseSlot = computed(() => !isEmptySlot(slots.close));\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n \"alert-dismissible\": props.dismissible\n }));\n const closeClasses = computed(() => [props.closeClass, { \"btn-close-custom\": hasCloseSlot.value }]);\n const {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs\n } = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === \"number\" && props.immediate\n });\n useCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === \"boolean\"\n })),\n { pause, resume }\n );\n const isAlertVisible = computed(\n () => typeof modelValue.value === \"boolean\" ? modelValue.value : isActive.value || props.showOnPause && isPaused.value\n );\n const closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : void 0,\n class: closeClasses.value\n }));\n watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const hide = () => {\n emit(\"close\");\n if (typeof modelValue.value === \"boolean\") {\n modelValue.value = false;\n } else {\n modelValue.value = 0;\n stop();\n }\n emit(\"closed\");\n };\n __expose({\n pause,\n resume,\n stop,\n restart\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, mergeProps(unref(fadeTransitions), { \"enter-to-class\": \"show\" }), {\n default: withCtx(() => [\n isAlertVisible.value ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: \"_element\",\n class: normalizeClass([\"alert\", computedClasses.value]),\n role: \"alert\",\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\"\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, void 0, true),\n unref(props).dismissible ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasCloseSlot.value || unref(props).closeContent ? (openBlock(), createBlock(_sfc_main$1, mergeProps({ key: 0 }, closeAttrs.value, { onClick: hide }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", {}, () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ], true)\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 1,\n \"aria-label\": unref(props).closeLabel\n }, closeAttrs.value, { onClick: hide }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__scopeId\", \"data-v-141c4f93\"]]);\nexport {\n BAlert as B\n};\n//# sourceMappingURL=BAlert-ztlMTxZk.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from \"vue\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-CUX3HBqw.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BBadge\",\n props: {\n dotIndicator: { type: Boolean, default: false },\n pill: { type: Boolean, default: false },\n placement: { default: void 0 },\n tag: { default: \"span\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: \"secondary\" },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BBadge\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : props.tag);\n const placementClasses = computed(() => {\n const pos = props.placement ?? (props.dotIndicator ? \"top-end\" : void 0);\n return [\n \"position-absolute\",\n \"translate-middle\",\n {\n \"start-0 top-0\": pos === \"top-start\",\n \"start-0 top-50\": pos === \"start\",\n \"start-0 top-100\": pos === \"bottom-start\",\n \"start-50 top-0\": pos === \"top\",\n \"start-50 top-100\": pos === \"bottom\",\n \"start-100 top-0\": pos === \"top-end\",\n \"start-100 top-50\": pos === \"end\",\n \"start-100 top-100\": pos === \"bottom-end\"\n }\n ];\n });\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== void 0 || props.dotIndicator === true ? placementClasses.value : void 0,\n {\n \"active\": props.active,\n \"disabled\": props.disabled,\n \"rounded-pill\": props.pill,\n \"p-2 border border-light rounded-circle\": props.dotIndicator,\n \"text-decoration-none\": computedLink.value\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"badge\", computedClasses.value]\n }, unref(computedLinkProps)), {\n default: withCtx(() => [\n createVNode(_sfc_main$2, mergeProps({\n skip: unref(props).dotIndicator !== true,\n tag: \"span\"\n }, unref(props).dotIndicator ? { class: \"visually-hidden\" } : {}), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"skip\"])\n ]),\n _: 3\n }, 16, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useRadiusElementClasses = (obj) => {\n const resolveRadiusElement = (value, str) => {\n const strValue = str === null ? \"\" : `-${str}`;\n return value === \"circle\" ? `rounded${strValue}-circle` : value === \"pill\" ? `rounded${strValue}-pill` : typeof value === \"number\" || value === \"0\" || value === \"1\" || value === \"2\" || value === \"3\" || value === \"4\" || value === \"5\" ? `rounded${strValue}-${value}` : value === \"none\" ? `rounded${strValue}-0` : value === \"sm\" ? `rounded${strValue}-1` : value === \"lg\" ? `rounded${strValue}-5` : `rounded${strValue}`;\n };\n return computed(() => {\n const props = toValue(obj);\n return {\n [`${resolveRadiusElement(props.rounded, null)}`]: !!props.rounded,\n [`${resolveRadiusElement(props.roundedTop, \"top\")}`]: !!props.roundedTop,\n [`${resolveRadiusElement(props.roundedBottom, \"bottom\")}`]: !!props.roundedBottom,\n [`${resolveRadiusElement(props.roundedStart, \"start\")}`]: !!props.roundedStart,\n [`${resolveRadiusElement(props.roundedEnd, \"end\")}`]: !!props.roundedEnd\n };\n });\n};\nexport {\n useRadiusElementClasses as u\n};\n//# sourceMappingURL=useRadiusElementClasses-DtKYQuWz.mjs.map\n","import { defineComponent, provide, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createElementBlock } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { h as buttonGroupKey } from \"./keys-41Cw9q6f.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BButtonGroup\",\n props: {\n ariaLabel: { default: \"Group\" },\n size: { default: \"md\" },\n tag: { default: \"div\" },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n provide(buttonGroupKey, true);\n const _props = __props;\n const props = useDefaults(_props, \"BButtonGroup\");\n const computedClasses = computed(() => ({\n \"btn-group\": !props.vertical,\n [`btn-group-${props.size}`]: props.size !== \"md\",\n \"btn-group-vertical\": props.vertical\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: \"group\",\n \"aria-label\": unref(props).ariaLabel\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst _hoisted_1 = [\"role\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButtonToolbar\",\n props: {\n ariaLabel: { default: \"Group\" },\n justify: { type: Boolean, default: false },\n role: { default: \"toolbar\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BButtonToolbar\");\n const computedClasses = computed(() => ({\n \"justify-content-between\": props.justify\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([computedClasses.value, \"btn-toolbar\"]),\n role: unref(props).role,\n \"aria-label\": unref(props).ariaLabel\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BButtonToolbar.vue_vue_type_script_setup_true_lang-Cw3YzCpt.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BImg\",\n props: {\n blank: { type: Boolean, default: false },\n blankColor: { default: \"transparent\" },\n block: { type: Boolean, default: false },\n fluid: { type: Boolean, default: false },\n fluidGrow: { type: Boolean, default: false },\n height: { default: void 0 },\n tag: { default: \"img\" },\n lazy: { type: Boolean, default: false },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: false },\n width: { default: void 0 },\n placement: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: false },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BImg\");\n const heightNumber = useToNumber(() => props.height ?? NaN);\n const widthNumber = useToNumber(() => props.width ?? NaN);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd\n }));\n const computedSrcset = computed(\n () => typeof props.srcset === \"string\" ? props.srcset.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.srcset) ? props.srcset.filter((x) => x).join(\",\") : void 0\n );\n const computedSizes = computed(\n () => typeof props.sizes === \"string\" ? props.sizes.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.sizes) ? props.sizes.filter((x) => x).join(\",\") : void 0\n );\n const computedDimentions = computed(() => {\n const width = Number.isNaN(widthNumber.value) ? void 0 : widthNumber.value;\n const height = Number.isNaN(heightNumber.value) ? void 0 : heightNumber.value;\n if (props.blank) {\n if (width !== void 0 && height === void 0) return { height: width, width };\n if (width === void 0 && height !== void 0) return { height, width: height };\n if (width === void 0 && height === void 0) return { height: 1, width: 1 };\n }\n return {\n width,\n height\n };\n });\n const computedBlankImgSrc = computed(\n () => makeBlankImgSrc(computedDimentions.value.width, computedDimentions.value.height, props.blankColor)\n );\n const computedAlignment = computed(() => ({\n \"float-start\": props.placement === \"start\",\n \"float-end\": props.placement === \"end\",\n \"mx-auto\": props.placement === \"center\"\n }));\n const computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n \"img-thumbnail\": props.thumbnail,\n \"img-fluid\": props.fluid || props.fluidGrow,\n \"w-100\": props.fluidGrow,\n \"d-block\": props.block || props.placement === \"center\"\n }\n ]);\n const makeBlankImgSrc = (width, height, color) => `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`\n \n `)}`;\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([computedClasses.value, \"b-img\"]),\n src: !unref(props).blank ? unref(props).src : computedBlankImgSrc.value,\n width: computedDimentions.value.width || void 0,\n height: computedDimentions.value.height || void 0,\n srcset: !unref(props).blank ? computedSrcset.value : void 0,\n sizes: !unref(props).blank ? computedSizes.value : void 0,\n loading: unref(props).lazy ? \"lazy\" : \"eager\"\n }, null, 8, [\"class\", \"src\", \"width\", \"height\", \"srcset\", \"sizes\", \"loading\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BImg.vue_vue_type_script_setup_true_lang-CoowQ3jJ.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, mergeProps, resolveDynamicComponent, normalizeClass, unref, withCtx, renderSlot, createTextVNode, toDisplayString, useSlots, createCommentVNode, createVNode, normalizeProps } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DSGRrOAo.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { _ as _sfc_main$8 } from \"./BImg.vue_vue_type_script_setup_true_lang-CoowQ3jJ.mjs\";\nimport { o as omit } from \"./object-DIbMZaP9.mjs\";\nimport { f as createReusableTemplate } from \"./index-Bkyn4R9C.mjs\";\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BCardImg\",\n props: {\n placement: { default: \"top\" },\n blank: { type: Boolean, default: void 0 },\n blankColor: { default: void 0 },\n block: { type: Boolean, default: void 0 },\n fluid: { type: Boolean, default: void 0 },\n fluidGrow: { type: Boolean, default: void 0 },\n height: { default: void 0 },\n tag: {},\n lazy: { type: Boolean, default: void 0 },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: void 0 },\n width: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: void 0 },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardImg\");\n const baseAlignmentClasses = computed(() => ({\n \"card-img-top\": props.placement === \"top\",\n // TODO implement this class\n \"card-img-end\": props.placement === \"end\",\n \"card-img-bottom\": props.placement === \"bottom\",\n // TODO implement this class\n \"card-img-start\": props.placement === \"start\",\n \"card-img\": props.placement === \"overlay\"\n }));\n const computedImgProps = computed(() => omit(props, [\"placement\"]));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$8, mergeProps(computedImgProps.value, { class: baseAlignmentClasses.value }), null, 16, [\"class\"]);\n };\n }\n});\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeadFoot\",\n props: {\n borderVariant: { default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const props = __props;\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n class: normalizeClass(unref(computedClasses))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeader\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardHeader\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-header\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BCardTitle\",\n props: {\n tag: { default: \"h4\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardTitle\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"card-title\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BCardSubtitle\",\n props: {\n text: { default: void 0 },\n tag: { default: \"h6\" },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardSubtitle\");\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card-subtitle mb-2\", unref(computedClasses)])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BCardBody\",\n props: {\n overlay: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h4\" },\n subtitleTextVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardBody\");\n const slots = useSlots();\n const hasTitleSlot = computed(() => !isEmptySlot(slots.title));\n const hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? \"card-img-overlay\" : \"card-body\"\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n !!unref(props).title || hasTitleSlot.value ? (openBlock(), createBlock(_sfc_main$4, {\n key: 0,\n tag: unref(props).titleTag\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", {}, () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\"])) : createCommentVNode(\"\", true),\n !!unref(props).subtitle || hasSubtitleSlot.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n tag: unref(props).subtitleTag,\n \"text-variant\": unref(props).subtitleTextVariant\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"subtitle\", {}, () => [\n createTextVNode(toDisplayString(unref(props).subtitle), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\", \"text-variant\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCardFooter\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardFooter\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-footer\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCard\",\n props: {\n align: { default: void 0 },\n bodyBgVariant: { default: void 0 },\n bodyClass: { default: void 0 },\n bodyTag: { default: \"div\" },\n bodyText: { default: \"\" },\n bodyTextVariant: { default: void 0 },\n borderVariant: { default: null },\n footer: { default: void 0 },\n footerBgVariant: { default: void 0 },\n footerBorderVariant: { default: void 0 },\n footerClass: { default: void 0 },\n footerTag: { default: \"div\" },\n footerTextVariant: { default: void 0 },\n footerVariant: { default: null },\n header: { default: void 0 },\n headerBgVariant: { default: void 0 },\n headerBorderVariant: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n headerTextVariant: { default: void 0 },\n headerVariant: { default: null },\n imgAlt: { default: void 0 },\n imgPlacement: { default: \"top\" },\n imgHeight: { default: void 0 },\n imgSrc: { default: void 0 },\n imgWidth: { default: void 0 },\n noBody: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h6\" },\n subtitleTextVariant: { default: \"body-secondary\" },\n tag: { default: \"div\" },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCard\");\n const slots = useSlots();\n const hasHeaderSlot = computed(() => !isEmptySlot(slots.header));\n const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== void 0,\n \"flex-row\": props.imgPlacement === \"start\",\n \"flex-row-reverse\": props.imgPlacement === \"end\"\n }\n ]);\n const imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement\n }));\n const ReusableImg = createReusableTemplate();\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card\", computedClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(unref(ReusableImg).define, null, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n unref(props).imgSrc ? (openBlock(), createBlock(_sfc_main$7, normalizeProps(mergeProps({ key: 0 }, imgAttr.value)), null, 16)) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }),\n unref(props).imgPlacement !== \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 0 })) : createCommentVNode(\"\", true),\n unref(props).header || hasHeaderSlot.value ? (openBlock(), createBlock(_sfc_main$5, {\n key: 1,\n \"bg-variant\": unref(props).headerBgVariant,\n variant: unref(props).headerVariant,\n \"border-variant\": unref(props).headerBorderVariant,\n tag: unref(props).headerTag,\n \"text-variant\": unref(props).headerTextVariant,\n class: normalizeClass(unref(props).headerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(unref(props).header), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"variant\", \"border-variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n !unref(props).noBody ? (openBlock(), createBlock(_sfc_main$2, {\n key: 2,\n overlay: unref(props).imgPlacement === \"overlay\",\n \"bg-variant\": unref(props).bodyBgVariant,\n tag: unref(props).bodyTag,\n \"text-variant\": unref(props).bodyTextVariant,\n subtitle: unref(props).subtitle,\n \"subtitle-tag\": unref(props).subtitleTag,\n \"subtitle-text-variant\": unref(props).subtitleTextVariant,\n title: unref(props).title,\n \"title-tag\": unref(props).titleTag,\n class: normalizeClass(unref(props).bodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ])\n ]),\n _: 3\n }, 8, [\"overlay\", \"bg-variant\", \"tag\", \"text-variant\", \"subtitle\", \"subtitle-tag\", \"subtitle-text-variant\", \"title\", \"title-tag\", \"class\"])) : renderSlot(_ctx.$slots, \"default\", { key: 3 }, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ]),\n unref(props).footer || hasFooterSlot.value ? (openBlock(), createBlock(_sfc_main$1, {\n key: 4,\n \"bg-variant\": unref(props).footerBgVariant,\n \"border-variant\": unref(props).footerBorderVariant,\n variant: unref(props).footerVariant,\n tag: unref(props).footerTag,\n \"text-variant\": unref(props).footerTextVariant,\n class: normalizeClass(unref(props).footerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"footer\", {}, () => [\n createTextVNode(toDisplayString(unref(props).footer), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"border-variant\", \"variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n unref(props).imgPlacement === \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 5 })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main$5 as c,\n _sfc_main$7 as d,\n _sfc_main$3 as e,\n _sfc_main$4 as f\n};\n//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-DoeLCt4a.mjs.map\n","const getClasses = (props, els, propPrefix, classPrefix = propPrefix) => els.reduce((arr, prop) => {\n if (!props[prop]) return arr;\n arr.push(\n [classPrefix, prop.replace(propPrefix, \"\"), props[prop]].filter((e) => e && typeof e !== \"boolean\").join(\"-\").toLowerCase()\n );\n return arr;\n}, []);\nexport {\n getClasses as g\n};\n//# sourceMappingURL=getClasses-CsgNQabU.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCol\",\n props: {\n alignSelf: { default: void 0 },\n tag: { default: \"div\" },\n order: { default: void 0 },\n offset: { default: void 0 },\n cols: { default: void 0 },\n col: { type: Boolean, default: false },\n offsetSm: { default: void 0 },\n offsetMd: { default: void 0 },\n offsetLg: { default: void 0 },\n offsetXl: { default: void 0 },\n offsetXxl: { default: void 0 },\n orderSm: { default: void 0 },\n orderMd: { default: void 0 },\n orderLg: { default: void 0 },\n orderXl: { default: void 0 },\n orderXxl: { default: void 0 },\n sm: { type: [Boolean, Number, String], default: false },\n md: { type: [Boolean, Number, String], default: false },\n lg: { type: [Boolean, Number, String], default: false },\n xl: { type: [Boolean, Number, String], default: false },\n xxl: { type: [Boolean, Number, String], default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCol\");\n const classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl\n },\n [\"sm\", \"md\", \"lg\", \"xl\", \"xxl\"],\n \"col\"\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl\n },\n [\"order\", \"orderLg\", \"orderMd\", \"orderSm\", \"orderXl\", \"orderXxl\"],\n \"order\"\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl\n },\n [\"offset\", \"offsetLg\", \"offsetMd\", \"offsetSm\", \"offsetXl\", \"offsetXxl\"],\n \"offset\"\n )\n ]);\n const computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || !classList.value.some((v) => v.startsWith(\"col-\")) && !props.cols,\n [`col-${props.cols}`]: props.cols !== void 0,\n [`offset-${props.offset}`]: props.offset !== void 0,\n [`order-${props.order}`]: props.order !== void 0,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCol.vue_vue_type_script_setup_true_lang-zEDCknHc.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BContainer\",\n props: {\n fluid: { type: [Boolean, String], default: false },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BContainer\");\n const computedClasses = computed(() => ({\n container: props.fluid === false,\n [`container-fluid`]: props.fluid === true,\n [`container-${props.fluid}`]: typeof props.fluid === \"string\",\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BContainer.vue_vue_type_script_setup_true_lang-w2M6sC0-.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BRow\",\n props: {\n tag: { default: \"div\" },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n noGutters: { type: Boolean, default: false },\n alignV: { default: void 0 },\n alignH: { default: void 0 },\n alignContent: { default: void 0 },\n cols: { default: void 0 },\n colsSm: { default: void 0 },\n colsMd: { default: void 0 },\n colsLg: { default: void 0 },\n colsXl: { default: void 0 },\n colsXxl: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BRow\");\n const alignment = useAlignment(() => props.alignH);\n const rowColsClasses = computed(\n () => getClasses(\n {\n cols: props.cols,\n colsLg: props.colsLg,\n colsMd: props.colsMd,\n colsSm: props.colsSm,\n colsXl: props.colsXl,\n colsXxl: props.colsXxl\n },\n [\"cols\", \"colsLg\", \"colsMd\", \"colsSm\", \"colsXl\", \"colsXxl\"],\n \"cols\",\n \"row-cols\"\n )\n );\n const computedClasses = computed(() => [\n rowColsClasses.value,\n {\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0,\n \"g-0\": props.noGutters,\n [`align-items-${props.alignV}`]: props.alignV !== void 0,\n [alignment.value]: props.alignH !== void 0,\n [`align-content-${props.alignContent}`]: props.alignContent !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"row\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BRow.vue_vue_type_script_setup_true_lang-69TY75-8.mjs.map\n","import { defineComponent, openBlock, createElementBlock, unref, renderSlot, computed, toValue } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { g as get } from \"./object-DIbMZaP9.mjs\";\nconst _hoisted_1 = [\"value\", \"disabled\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOption\",\n props: {\n disabled: { type: Boolean, default: false },\n value: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOption\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"option\", {\n value: unref(props).value,\n disabled: unref(props).disabled\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1);\n };\n }\n});\nconst useFormSelect = (options, props) => {\n const isComplex = (option) => typeof option === \"object\" && option !== null && \"label\" in option;\n const normalizeOption = (option) => {\n const propsValue = toValue(props);\n if (typeof option === \"string\") {\n return { value: option, text: option };\n }\n if (typeof option === \"number\") {\n return { value: option, text: `${option}` };\n }\n if (option instanceof Date) {\n return { value: option, text: option.toLocaleString() };\n }\n const value = get(option, propsValue.valueField);\n const text = get(option, propsValue.textField);\n const disabled = get(option, propsValue.disabledField);\n const opts = propsValue.optionsField ? get(option, propsValue.optionsField) : void 0;\n if (opts !== void 0) {\n return {\n label: get(option, propsValue.labelField) || text,\n options: opts\n };\n }\n return {\n ...typeof option === \"object\" ? option : void 0,\n value,\n text,\n disabled\n };\n };\n const normalizeOptions = (opts) => opts.map((option) => normalizeOption(option));\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)));\n return { normalizedOptions, isComplex };\n};\nexport {\n _sfc_main as _,\n useFormSelect as u\n};\n//# sourceMappingURL=useFormSelect-BJO_8jcC.mjs.map\n","import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BFormInvalidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === false);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"invalid-feedback\": !props.tooltip,\n \"invalid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BFormRow\",\n props: {\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRow\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"row d-flex flex-wrap\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormText\",\n props: {\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n tag: { default: \"small\" },\n text: { default: void 0 },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormText\");\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"form-text\": !props.inline\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormValidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === true);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"valid-feedback\": !props.tooltip,\n \"valid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BFormValidFeedback.vue_vue_type_script_setup_true_lang-Bs-YFQyq.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAriaInvalid = (ariaInvalid, state) => computed(() => {\n const resolvedAriaInvalid = toValue(ariaInvalid);\n const resolvedState = toValue(state);\n const resolvedAriaInvalidValue = resolvedAriaInvalid === true ? \"true\" : typeof resolvedAriaInvalid === \"string\" ? resolvedAriaInvalid : resolvedState === false ? \"true\" : resolvedAriaInvalid === false ? \"false\" : void 0;\n return resolvedAriaInvalidValue;\n});\nexport {\n useAriaInvalid as u\n};\n//# sourceMappingURL=useAriaInvalid-BTUbGj3Y.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useStateClass = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return resolvedValue === true ? \"is-valid\" : resolvedValue === false ? \"is-invalid\" : null;\n});\nexport {\n useStateClass as u\n};\n//# sourceMappingURL=useStateClass-BGbSLWFN.mjs.map\n","import { defineComponent, useSlots, toRef, ref, provide, computed, useTemplateRef, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createVNode, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementBlock, Fragment, normalizeProps, mergeProps } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { a as isVisible, b as attemptFocus } from \"./dom-DSGRrOAo.mjs\";\nimport { _ as _sfc_main$4 } from \"./BCol.vue_vue_type_script_setup_true_lang-zEDCknHc.mjs\";\nimport { _ as _sfc_main$1, c as _sfc_main$2, b as _sfc_main$3, a as _sfc_main$5 } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-Bs-YFQyq.mjs\";\nimport { u as upperFirst } from \"./stringUtils-DNoLRB2A.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { f as createReusableTemplate } from \"./index-Bkyn4R9C.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { j as formGroupPluginKey } from \"./keys-41Cw9q6f.mjs\";\nconst suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : \"\");\nconst _hoisted_1 = {\n key: 0,\n ref: \"_content\",\n class: \"form-floating\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormGroup\",\n props: {\n contentCols: { type: [Boolean, String, Number], default: void 0 },\n labelCols: { type: [Boolean, String, Number], default: void 0 },\n labelAlign: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n description: { default: void 0 },\n disabled: { type: Boolean, default: false },\n feedbackAriaLive: { default: \"assertive\" },\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n invalidFeedback: { default: void 0 },\n label: { default: void 0 },\n labelClass: { default: void 0 },\n labelFor: { default: void 0 },\n labelSize: { default: void 0 },\n labelVisuallyHidden: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n tooltip: { type: Boolean, default: false },\n validFeedback: { default: void 0 },\n validated: { type: Boolean, default: false },\n contentColsSm: { type: [Boolean, String, Number], default: void 0 },\n contentColsMd: { type: [Boolean, String, Number], default: void 0 },\n contentColsLg: { type: [Boolean, String, Number], default: void 0 },\n contentColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelColsSm: { type: [Boolean, String, Number], default: void 0 },\n labelColsMd: { type: [Boolean, String, Number], default: void 0 },\n labelColsLg: { type: [Boolean, String, Number], default: void 0 },\n labelColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelAlignSm: { default: void 0 },\n labelAlignMd: { default: void 0 },\n labelAlignLg: { default: void 0 },\n labelAlignXl: { default: void 0 }\n },\n setup(__props) {\n const INPUTS = [\"input\", \"select\", \"textarea\"];\n const _props = __props;\n const props = useDefaults(_props, \"BFormGroup\");\n const slots = useSlots();\n const LabelContentTemplate = createReusableTemplate();\n const ContentTemplate = createReusableTemplate();\n const computedState = toRef(() => props.state);\n const childId = ref([]);\n provide(formGroupPluginKey, (id) => {\n childId.value = [id];\n return {\n state: computedState\n };\n });\n const computedLabelFor = computed(() => {\n if (props.labelFor !== void 0) return props.labelFor;\n if (childId.value[0] && childId.value[0].value) return childId.value[0].value;\n return null;\n });\n const breakPoints = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\n const getColProps = (props2, prefix) => (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(breakpoint === \"xs\" ? \"\" : breakpoint, `${prefix}Cols`);\n let propValue = props2[suffix];\n propValue = propValue === \"\" ? true : propValue || false;\n if (!(typeof propValue === \"boolean\") && propValue !== \"auto\") {\n const val = Number.parseInt(propValue);\n propValue = Number.isNaN(val) ? 0 : val;\n propValue = propValue > 0 ? propValue : false;\n }\n if (propValue) {\n if (breakpoint === \"xs\") {\n result[typeof propValue === \"boolean\" ? \"col\" : \"cols\"] = propValue;\n } else {\n result[breakpoint || (typeof propValue === \"boolean\" ? \"col\" : \"cols\")] = propValue;\n }\n }\n return result;\n }, {})\n );\n const content = useTemplateRef(\"_content\");\n const contentColProps = computed(() => getColProps(props, \"content\"));\n const labelAlignClasses = computed(\n () => ((props2, prefix) => breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === \"xs\" ? \"\" : breakpoint,\n `${prefix}Align`\n );\n const propValue = props2[suffix] || null;\n if (propValue) {\n if (breakpoint === \"xs\") {\n result.push(`text-${propValue}`);\n } else {\n result.push(`text-${breakpoint}-${propValue}`);\n }\n }\n return result;\n }, []))(props, \"label\")\n );\n const labelColProps = computed(() => getColProps(props, \"label\"));\n const isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n );\n const stateClass = useStateClass(computedState);\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const onLegendClick = (event) => {\n if (computedLabelFor.value || content.value === null) return;\n const { target } = event;\n const tagName = target ? target.tagName : \"\";\n if ([...INPUTS, \"a\", \"button\", \"label\"].indexOf(tagName) !== -1) return;\n const inputs = [\n ...content.value.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join())\n ].filter(isVisible);\n const [inp] = inputs;\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp);\n }\n };\n const computedId = useId(() => props.id);\n const labelId = useId(void 0, \"_BV_label_\");\n const labelTag = computed(() => !computedLabelFor.value ? \"legend\" : \"label\");\n const labelClasses = computed(() => [\n isHorizontal.value ? \"col-form-label\" : \"form-label\",\n {\n \"bv-no-focus-ring\": !computedLabelFor.value,\n \"col-form-label\": isHorizontal.value || !computedLabelFor.value,\n \"pt-0\": !isHorizontal.value && !computedLabelFor.value,\n \"d-block\": !isHorizontal.value && computedLabelFor.value,\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n \"visually-hidden\": props.labelVisuallyHidden\n },\n labelAlignClasses.value,\n props.labelClass\n ]);\n const invalidFeedbackId = useId(void 0, \"_BV_feedback_invalid_\");\n const validFeedbackId = useId(void 0, \"_BV_feedback_valid_\");\n const descriptionId = useId(void 0, \"_BV_description_\");\n const isFieldset = computed(() => !computedLabelFor.value);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(isFieldset.value ? \"fieldset\" : \"div\"), {\n id: unref(computedId),\n disabled: isFieldset.value ? unref(props).disabled : null,\n role: isFieldset.value ? null : \"group\",\n \"aria-invalid\": unref(computedAriaInvalid),\n \"aria-labelledby\": isFieldset.value && isHorizontal.value ? unref(labelId) : null,\n class: normalizeClass([[unref(stateClass), { \"was-validated\": unref(props).validated }], \"b-form-group\"])\n }, {\n default: withCtx(() => [\n createVNode(unref(ContentTemplate).define, null, {\n default: withCtx(() => [\n slots[\"invalid-feedback\"] || unref(props).invalidFeedback ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n id: unref(invalidFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"invalid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).invalidFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots[\"valid-feedback\"] || unref(props).validFeedback ? (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n id: unref(validFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"valid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).validFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots.description || unref(props).description ? (openBlock(), createBlock(_sfc_main$3, {\n key: 2,\n id: unref(descriptionId)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString(unref(props).description), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n createVNode(unref(LabelContentTemplate).define, null, {\n default: withCtx(() => [\n slots.label || unref(props).label || isHorizontal.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$4, normalizeProps(mergeProps({ key: 0 }, labelColProps.value)), {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[0] || (_cache[0] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n key: 1,\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[1] || (_cache[1] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$5, { key: 0 }, {\n default: withCtx(() => [\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(_sfc_main$4, mergeProps(contentColProps.value, { ref: \"_content\" }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ]),\n _: 3\n }, 16)\n ]),\n _: 3\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n unref(props).floating && !isHorizontal.value ? (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(unref(ContentTemplate).reuse)\n ], 512)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createVNode(unref(LabelContentTemplate).reuse),\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ], 64))\n ], 64))\n ]),\n _: 3\n }, 8, [\"id\", \"disabled\", \"role\", \"aria-invalid\", \"aria-labelledby\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormGroup.vue_vue_type_script_setup_true_lang-CGPenzZT.mjs.map\n","import { ref, inject, computed, onMounted, onActivated, nextTick } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { c as useFocus } from \"./index-Bkyn4R9C.mjs\";\nimport { j as formGroupPluginKey } from \"./keys-41Cw9q6f.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useToNumber, o as useDebounceFn } from \"./index-D3jGjWWk.mjs\";\nconst normalizeInput = (v, modelModifiers) => {\n if (v === null) return;\n let update = v;\n if (modelModifiers.number && typeof update === \"string\" && update !== \"\") {\n const parsed = Number.parseFloat(update);\n update = Number.isNaN(parsed) ? update : parsed;\n }\n return update;\n};\nconst useFormInput = (props, input, modelValue, modelModifiers) => {\n var _a;\n const forceUpdateKey = ref(0);\n const computedId = useId(() => props.id, \"input\");\n const debounceNumber = useToNumber(() => props.debounce ?? 0);\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? NaN);\n const formGroupData = (_a = inject(formGroupPluginKey, null)) == null ? void 0 : _a(computedId);\n const computedState = computed(\n () => props.state !== void 0 ? props.state : (formGroupData == null ? void 0 : formGroupData.state.value) ?? null\n );\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const stateClass = useStateClass(computedState);\n const internalUpdateModelValue = useDebounceFn(\n (value) => {\n modelValue.value = value;\n },\n () => modelModifiers.lazy === true ? 0 : debounceNumber.value,\n { maxWait: () => modelModifiers.lazy === true ? NaN : debounceMaxWaitNumber.value }\n );\n const updateModelValue = (value, force = false) => {\n if (modelModifiers.lazy === true && force === false) return;\n internalUpdateModelValue(value);\n };\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const _formatValue = (value, evt, force = false) => {\n if (props.formatter !== void 0 && (!props.lazyFormatter || force)) {\n return props.formatter(value, evt);\n }\n return value;\n };\n onMounted(() => {\n var _a2;\n if (input.value) {\n input.value.value = ((_a2 = modelValue.value) == null ? void 0 : _a2.toString()) ?? \"\";\n }\n });\n onActivated(() => {\n nextTick(() => {\n if (props.autofocus) {\n focused.value = true;\n }\n });\n });\n const onInput = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n updateModelValue(nextModel);\n };\n const onChange = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true);\n }\n };\n const onBlur = (evt) => {\n if (!modelModifiers.lazy && !props.lazyFormatter && !modelModifiers.trim) return;\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt, true);\n const nextModel = modelModifiers.trim ? formattedValue.trim() : formattedValue;\n const needsForceUpdate = nextModel.length !== formattedValue.length;\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true);\n }\n if (modelModifiers.trim && needsForceUpdate) {\n forceUpdateKey.value = forceUpdateKey.value + 1;\n }\n };\n const focus = () => {\n if (!props.disabled) {\n focused.value = true;\n }\n };\n const blur = () => {\n if (!props.disabled) {\n focused.value = false;\n }\n };\n return {\n input,\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n focus,\n blur,\n forceUpdateKey,\n stateClass\n };\n};\nexport {\n normalizeInput as n,\n useFormInput as u\n};\n//# sourceMappingURL=useFormInput-UKFmd5Ke.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, openBlock, createElementBlock, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-UKFmd5Ke.mjs\";\nconst _hoisted_1 = [\"id\", \"value\", \"name\", \"form\", \"type\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"min\", \"max\", \"step\", \"list\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormInput\",\n props: /* @__PURE__ */ mergeModels({\n max: { default: void 0 },\n min: { default: void 0 },\n step: { default: void 0 },\n type: { default: \"text\" },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInput\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n forceUpdateKey\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => {\n const isRange = props.type === \"range\";\n const isColor = props.type === \"color\";\n return [\n stateClass.value,\n {\n \"form-range\": isRange,\n \"form-control\": isColor || !props.plaintext && !isRange,\n \"form-control-color\": isColor,\n \"form-control-plaintext\": props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size\n }\n ];\n });\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"input\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n value: unref(modelValue),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n type: unref(props).type,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n min: unref(props).min,\n max: unref(props).max,\n step: unref(props).step,\n list: unref(props).type !== \"password\" ? unref(props).list : void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n onInput: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => unref(onInput) && unref(onInput)(...args)),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormInput.vue_vue_type_script_setup_true_lang-KuNFoABp.mjs.map\n","import { defineComponent, computed, openBlock, createElementBlock, unref, renderSlot, Fragment, renderList, createBlock, mergeProps, withCtx, createTextVNode, toDisplayString, mergeModels, useModel, useTemplateRef, withDirectives, normalizeClass, vModelSelect } from \"vue\";\nimport { u as useFormSelect, _ as _sfc_main$2 } from \"./useFormSelect-BJO_8jcC.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { c as useFocus } from \"./index-Bkyn4R9C.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.mjs\";\nconst _hoisted_1$1 = [\"label\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOptionGroup\",\n props: {\n disabledField: { default: \"disabled\" },\n label: { default: void 0 },\n options: { default: () => [] },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOptionGroup\");\n const { normalizedOptions } = useFormSelect(() => props.options, props);\n const normalizedOptsWrapper = computed(() => normalizedOptions.value);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"optgroup\", {\n label: unref(props).label\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: index,\n disabled: option.disabled,\n value: option.value,\n ref_for: true\n }, _ctx.$attrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1040, [\"disabled\", \"value\"]);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"multiple\", \"size\", \"disabled\", \"required\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelect\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n labelField: { default: \"label\" },\n multiple: { type: Boolean, default: false },\n name: { default: void 0 },\n options: { default: () => [] },\n optionsField: { default: \"options\" },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n selectSize: { default: 0 },\n size: { default: \"md\" },\n state: { type: [Boolean, null], default: null },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelect\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"input\");\n const selectSizeNumber = useToNumber(() => props.selectSize);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const computedClasses = computed(() => [\n stateClass.value,\n {\n \"form-control\": props.plain,\n [`form-control-${props.size}`]: props.size !== \"md\" && props.plain,\n \"form-select\": !props.plain,\n [`form-select-${props.size}`]: props.size !== \"md\" && !props.plain\n }\n ]);\n const computedSelectSize = computed(\n () => selectSizeNumber.value || props.plain ? selectSizeNumber.value : void 0\n );\n const computedAriaInvalid = useAriaInvalid(\n () => props.ariaInvalid,\n () => props.state\n );\n const { normalizedOptions, isComplex } = useFormSelect(() => props.options, props);\n const normalizedOptsWrapper = computed(\n () => normalizedOptions.value\n );\n const localValue = computed({\n get: () => modelValue.value,\n set: (newValue) => {\n modelValue.value = newValue;\n }\n });\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"select\", {\n id: unref(computedId),\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name,\n form: unref(props).form || void 0,\n multiple: unref(props).multiple || void 0,\n size: computedSelectSize.value,\n disabled: unref(props).disabled,\n required: unref(props).required || void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid)\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createElementBlock(Fragment, { key: index }, [\n unref(isComplex)(option) ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n label: option.label,\n options: option.options,\n \"value-field\": unref(props).valueField,\n \"text-field\": unref(props).textField,\n \"disabled-field\": unref(props).disabledField\n }, null, 8, [\"label\", \"options\", \"value-field\", \"text-field\", \"disabled-field\"])) : (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n value: option.value,\n disabled: option.disabled\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"value\", \"disabled\"]))\n ], 64);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1)), [\n [vModelSelect, localValue.value]\n ]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BFormSelect.vue_vue_type_script_setup_true_lang-BigptVap.mjs.map\n","import { ref, readonly, toRef, computed, onMounted, nextTick, defineComponent, mergeModels, useModel, useTemplateRef, openBlock, createElementBlock, unref, normalizeClass, normalizeStyle } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-UKFmd5Ke.mjs\";\nimport { a as isVisible } from \"./dom-DSGRrOAo.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.mjs\";\nconst useTextareaResize = (input, props) => {\n const height = ref(0);\n const resolvedProps = readonly(toRef(props));\n const maxRowsNumber = useToNumber(() => resolvedProps.value.maxRows || NaN, {\n method: \"parseInt\",\n nanToZero: true\n });\n const rowsNumber = useToNumber(() => resolvedProps.value.rows || NaN, {\n method: \"parseInt\",\n nanToZero: true\n });\n const computedMinRows = computed(() => Math.max(rowsNumber.value || 2, 2));\n const computedMaxRows = computed(() => Math.max(computedMinRows.value, maxRowsNumber.value || 0));\n const computedRows = computed(\n () => computedMinRows.value === computedMaxRows.value ? computedMinRows.value : null\n );\n const handleHeightChange = async () => {\n if (!input.value || !isVisible(input.value)) {\n height.value = null;\n return;\n }\n const computedStyle = getComputedStyle(input.value);\n const lineHeight = Number.parseFloat(computedStyle.lineHeight) || 1;\n const border = (Number.parseFloat(computedStyle.borderTopWidth) || 0) + (Number.parseFloat(computedStyle.borderBottomWidth) || 0);\n const padding = (Number.parseFloat(computedStyle.paddingTop) || 0) + (Number.parseFloat(computedStyle.paddingBottom) || 0);\n const offset = border + padding;\n const minHeight = lineHeight * computedMinRows.value + offset;\n const oldHeight = input.value.style.height || computedStyle.height;\n height.value = \"auto\";\n await nextTick();\n const { scrollHeight } = input.value;\n height.value = oldHeight;\n await nextTick();\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2);\n const rows = Math.min(Math.max(contentRows, computedMinRows.value), computedMaxRows.value);\n const newHeight = Math.max(Math.ceil(rows * lineHeight + offset), minHeight);\n if (resolvedProps.value.noAutoShrink && (Number.parseFloat(oldHeight.toString()) || 0) > newHeight) {\n height.value = oldHeight;\n return;\n }\n height.value = `${newHeight}px`;\n };\n onMounted(handleHeightChange);\n const computedStyles = computed(() => ({\n resize: \"none\",\n height: typeof height.value === \"string\" ? height.value : height.value ? `${height.value}px` : void 0\n }));\n return {\n onInput: handleHeightChange,\n computedStyles,\n computedRows\n };\n};\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"value\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"aria-required\", \"aria-invalid\", \"rows\", \"wrap\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormTextarea\",\n props: /* @__PURE__ */ mergeModels({\n noResize: { type: Boolean, default: false },\n rows: { default: 2 },\n wrap: { default: \"soft\" },\n noAutoShrink: { type: Boolean, default: false },\n maxRows: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTextarea\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n forceUpdateKey,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? \"form-control-plaintext\" : \"form-control\",\n {\n [`form-control-${props.size}`]: !!props.size\n }\n ]);\n const {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows\n } = useTextareaResize(\n input,\n computed(() => ({\n maxRows: props.maxRows,\n rows: props.rows,\n noAutoShrink: props.noAutoShrink\n }))\n );\n const computedStyles = computed(() => ({\n resize: props.noResize ? \"none\" : void 0,\n ...props.maxRows || props.noAutoShrink ? resizeStyles.value : void 0\n }));\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"textarea\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n value: unref(modelValue) ?? void 0,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n rows: unref(computedRows) || 2,\n style: normalizeStyle(computedStyles.value),\n wrap: unref(props).wrap || void 0,\n onInput: _cache[0] || (_cache[0] = (e) => {\n unref(onInput)(e);\n unref(handleHeightChange)();\n }),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 46, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormTextarea.vue_vue_type_script_setup_true_lang-XOaWTmlh.mjs.map\n","import { defineComponent, computed, provide, toRef, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot, useAttrs, inject, mergeProps, unref } from \"vue\";\nimport { n as listGroupInjectionKey } from \"./keys-41Cw9q6f.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BListGroup\",\n props: {\n flush: { type: Boolean, default: false },\n horizontal: { type: [Boolean, String], default: false },\n numbered: { type: Boolean, default: false },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroup\");\n const computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal;\n return {\n \"list-group-flush\": props.flush,\n \"list-group-horizontal\": horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === \"string\",\n \"list-group-numbered\": props.numbered\n };\n });\n const computedTag = computed(() => props.numbered === true ? \"ol\" : props.tag);\n provide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), {\n class: normalizeClass([\"list-group\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BListGroupItem\",\n props: {\n action: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n tag: { default: \"div\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroupItem\");\n const attrs = useAttrs();\n const parentData = inject(listGroupInjectionKey, null);\n const { computedLink } = useBLinkHelper(props);\n const isLink = computed(() => !props.button && computedLink.value);\n const tagComputed = computed(\n () => (parentData == null ? void 0 : parentData.numbered.value) ? \"li\" : props.button ? \"button\" : !isLink.value ? props.tag : _sfc_main$2\n );\n const isAction = computed(\n () => props.action || isLink.value || props.button || [\"a\", \"router-link\", \"button\", \"b-link\"].includes(props.tag)\n );\n const computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== void 0,\n \"list-group-item-action\": isAction.value,\n \"active\": props.active,\n \"disabled\": props.disabled\n }));\n const computedAttrs = computed(() => {\n const localAttrs = {};\n if (props.button) {\n if (!attrs || !attrs.type) {\n localAttrs.type = \"button\";\n }\n if (props.disabled) {\n localAttrs.disabled = true;\n }\n }\n return localAttrs;\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tagComputed.value), mergeProps({\n class: [\"list-group-item\", computedClasses.value],\n \"aria-current\": unref(props).active ? true : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0,\n target: isLink.value ? unref(props).target : void 0,\n href: !unref(props).button ? unref(props).href : void 0,\n to: !unref(props).button ? unref(props).to : void 0\n }, computedAttrs.value), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"aria-current\", \"aria-disabled\", \"target\", \"href\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BListGroupItem.vue_vue_type_script_setup_true_lang-BvZYkKtO.mjs.map\n","import { getCurrentScope, onScopeDispose, unref, ref, computed, watch, readonly, toRef, onMounted, nextTick, useId, toValue as toValue$1, onUnmounted } from \"vue\";\nimport { b as useMutationObserver, n as useScrollLock$1 } from \"./index-Bkyn4R9C.mjs\";\nimport { p as createSharedComposable } from \"./index-D3jGjWWk.mjs\";\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\ntypeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst notNullish = (val) => val != null;\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = [\"input:not([inert])\", \"select:not([inert])\", \"textarea:not([inert])\", \"a[href]:not([inert])\", \"button:not([inert])\", \"[tabindex]:not(slot):not([inert])\", \"audio[controls]:not([inert])\", \"video[controls]:not([inert])\", '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', \"details>summary:first-of-type:not([inert])\", \"details:not([inert])\"];\nvar candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {\n} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function(element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\nvar isInert = function isInert2(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, \"inert\");\n var inert = inertAtt === \"\" || inertAtt === \"true\";\n var result = inert || lookUp && node && isInert2(node.parentNode);\n return result;\n};\nvar isContentEditable = function isContentEditable2(node) {\n var _node$getAttribute2;\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, \"contenteditable\");\n return attValue === \"\" || attValue === \"true\";\n};\nvar getCandidates = function getCandidates2(el, includeContainer, filter) {\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\nvar getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n continue;\n }\n if (element.tagName === \"SLOT\") {\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively2(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n var shadowRoot = element.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element);\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\nvar hasTabIndex = function hasTabIndex2(node) {\n return !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\nvar getTabIndex = function getTabIndex2(node) {\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (node.tabIndex < 0) {\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nvar getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached2(node) {\n var _nodeRoot;\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea2(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden2(node, _ref) {\n var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n if (getComputedStyle(node).visibility === \"hidden\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\" || displayCheck === \"legacy-full\") {\n if (typeof getShadowRoot === \"function\") {\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n node = rootNode.host;\n } else {\n node = parentElement;\n }\n }\n node = originalNode;\n }\n if (isNodeAttached(node)) {\n return !node.getClientRects().length;\n }\n if (displayCheck !== \"legacy-full\") {\n return true;\n }\n } else if (displayCheck === \"non-zero-area\") {\n return isZeroArea(node);\n }\n return false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n return false;\n};\nvar sortByOrder = function sortByOrder2(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function(item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder2(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item,\n isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe\").join(\",\");\nvar isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n/*!\n* focus-trap 7.6.2\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function(r2) {\n return Object.getOwnPropertyDescriptor(e, r2).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {\n _defineProperty(e, r2, t[r2]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {\n Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0) {\n trapStack[trapStack.length - 1].unpause();\n }\n }\n};\nvar isSelectableInput = function isSelectableInput2(node) {\n return node.tagName && node.tagName.toLowerCase() === \"input\" && typeof node.select === \"function\";\n};\nvar isEscapeEvent = function isEscapeEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Escape\" || (e === null || e === void 0 ? void 0 : e.key) === \"Esc\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Tab\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\nvar isKeyForward = function isKeyForward2(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\nvar isKeyBackward = function isKeyBackward2(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay2(fn) {\n return setTimeout(fn, 0);\n};\nvar valueOrHandler = function valueOrHandler2(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === \"function\" ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget2(event) {\n return event.target.shadowRoot && typeof event.composedPath === \"function\" ? event.composedPath()[0] : event.target;\n};\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap2(elements, userOptions) {\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward,\n isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{\n // container: HTMLElement,\n // tabbableNodes: Array, // empty if none\n // focusableNodes: Array, // empty if none\n // posTabIndexesFound: boolean,\n // firstTabbableNode: HTMLElement|undefined,\n // lastTabbableNode: HTMLElement|undefined,\n // firstDomTabbableNode: HTMLElement|undefined,\n // lastDomTabbableNode: HTMLElement|undefined,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: void 0,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: void 0\n };\n var trap;\n var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n var findContainerIndex = function findContainerIndex2(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === \"function\" ? event.composedPath() : void 0;\n return state.containerGroups.findIndex(function(_ref) {\n var container = _ref.container, tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n (composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function(node) {\n return node === element;\n });\n });\n };\n var getNodeForOption = function getNodeForOption2(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref2$hasFallback = _ref2.hasFallback, hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback, _ref2$params = _ref2.params, params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === \"function\") {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = void 0;\n }\n if (!optionValue) {\n if (optionValue === void 0 || optionValue === false) {\n return optionValue;\n }\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue;\n if (typeof optionValue === \"string\") {\n try {\n node = doc.querySelector(optionValue);\n } catch (err) {\n throw new Error(\"`\".concat(optionName, '` appears to be an invalid selector; error=\"').concat(err.message, '\"'));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode2() {\n var node = getNodeForOption(\"initialFocus\", {\n hasFallback: true\n });\n if (node === false) {\n return false;\n }\n if (node === void 0 || node && !isFocusable(node, config.tabbableOptions)) {\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || getNodeForOption(\"fallbackFocus\");\n }\n } else if (node === null) {\n node = getNodeForOption(\"fallbackFocus\");\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes2() {\n state.containerGroups = state.containers.map(function(container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0;\n var firstDomTabbableNode = focusableNodes.find(function(node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function(node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function(node) {\n return getTabIndex(node) > 0;\n });\n return {\n container,\n tabbableNodes,\n focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function(el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function(el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function(group) {\n return group.tabbableNodes.length > 0;\n });\n if (state.tabbableGroups.length <= 0 && !getNodeForOption(\"fallbackFocus\")) {\n throw new Error(\"Your focus-trap must have at least one container with at least one tabbable node in it at all times\");\n }\n if (state.containerGroups.find(function(g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {\n var node = getNodeForOption(\"setReturnFocus\", {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n var findNextNavNode = function findNextNavNode2(_ref3) {\n var target = _ref3.target, event = _ref3.event, _ref3$isBackward = _ref3.isBackward, isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;\n if (containerIndex < 0) {\n if (isBackward) {\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n var startOfGroupIndex = state.tabbableGroups.findIndex(function(_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function(_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n destinationNode = getNodeForOption(\"fallbackFocus\");\n }\n return destinationNode;\n };\n var checkPointerDown = function checkPointerDown2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n };\n var checkFocusIn = function checkFocusIn2(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n event.stopImmediatePropagation();\n var nextNode;\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n var mruTabIdx = tabbableNodes.findIndex(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n }\n }\n }\n } else {\n if (!state.containerGroups.some(function(g) {\n return g.tabbableNodes.some(function(n) {\n return getTabIndex(n) > 0;\n });\n })) {\n navAcrossContainers = false;\n }\n }\n } else {\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = void 0;\n };\n var checkKeyNav = function checkKeyNav2(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event,\n isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n };\n var checkTabKey = function checkTabKey2(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n var checkEscapeKey = function checkEscapeKey2(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n var addListeners = function addListeners2() {\n if (!state.active) {\n return;\n }\n activeFocusTraps.activateTrap(trapStack, trap);\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener(\"focusin\", checkFocusIn, true);\n doc.addEventListener(\"mousedown\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"touchstart\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"click\", checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var removeListeners = function removeListeners2() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener(\"focusin\", checkFocusIn, true);\n doc.removeEventListener(\"mousedown\", checkPointerDown, true);\n doc.removeEventListener(\"touchstart\", checkPointerDown, true);\n doc.removeEventListener(\"click\", checkClick, true);\n doc.removeEventListener(\"keydown\", checkTabKey, true);\n doc.removeEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var checkDomRemoval = function checkDomRemoval2(mutations) {\n var isFocusedNodeRemoved = mutations.some(function(mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n var mutationObserver = typeof window !== \"undefined\" && \"MutationObserver\" in window ? new MutationObserver(checkDomRemoval) : void 0;\n var updateObservedNodes = function updateObservedNodes2() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function(container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, \"onActivate\");\n var onPostActivate = getOption(activateOptions, \"onPostActivate\");\n var checkCanFocusTrap = getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation2() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer);\n state.delayInitialFocusTimer = void 0;\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, \"onDeactivate\");\n var onPostDeactivate = getOption(options, \"onPostDeactivate\");\n var checkCanReturnFocus = getOption(options, \"checkCanReturnFocus\");\n var returnFocus = getOption(options, \"returnFocus\", \"returnFocusOnDeactivate\");\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation2() {\n delay(function() {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (state.paused || !state.active) {\n return this;\n }\n var onPause = getOption(pauseOptions, \"onPause\");\n var onPostPause = getOption(pauseOptions, \"onPostPause\");\n state.paused = true;\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n onPostPause === null || onPostPause === void 0 || onPostPause();\n return this;\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.paused || !state.active) {\n return this;\n }\n var onUnpause = getOption(unpauseOptions, \"onUnpause\");\n var onPostUnpause = getOption(unpauseOptions, \"onPostUnpause\");\n state.paused = false;\n onUnpause === null || onUnpause === void 0 || onUnpause();\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n return this;\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function(element) {\n return typeof element === \"string\" ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n updateObservedNodes();\n return this;\n }\n };\n trap.updateContainerElements(elements);\n return trap;\n};\nfunction useFocusTrap(target, options = {}) {\n let trap;\n const { immediate, ...focusTrapOptions } = options;\n const hasFocus = ref(false);\n const isPaused = ref(false);\n const activate = (opts) => trap && trap.activate(opts);\n const deactivate = (opts) => trap && trap.deactivate(opts);\n const pause = () => {\n if (trap) {\n trap.pause();\n isPaused.value = true;\n }\n };\n const unpause = () => {\n if (trap) {\n trap.unpause();\n isPaused.value = false;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return (Array.isArray(_targets) ? _targets : [_targets]).map((el) => {\n const _el = toValue(el);\n return typeof _el === \"string\" ? _el : unrefElement(_el);\n }).filter(notNullish);\n });\n watch(\n targets,\n (els) => {\n if (!els.length)\n return;\n trap = createFocusTrap(els, {\n ...focusTrapOptions,\n onActivate() {\n hasFocus.value = true;\n if (options.onActivate)\n options.onActivate();\n },\n onDeactivate() {\n hasFocus.value = false;\n if (options.onDeactivate)\n options.onDeactivate();\n }\n });\n if (immediate)\n activate();\n },\n { flush: \"post\" }\n );\n tryOnScopeDispose(() => deactivate());\n return {\n hasFocus,\n isPaused,\n activate,\n deactivate,\n pause,\n unpause\n };\n}\nconst useActivatedFocusTrap = ({\n element,\n isActive,\n noTrap,\n fallbackFocus\n}, focusTrapOpts = {\n allowOutsideClick: true,\n fallbackFocus: fallbackFocus.ref.value ?? void 0,\n escapeDeactivates: false\n}) => {\n const resolvedIsActive = readonly(toRef(isActive));\n const resolvedNoTrap = readonly(toRef(noTrap));\n const checkNeedsFocus = () => {\n var _a;\n const tabbableElements = (_a = element.value) == null ? void 0 : _a.querySelectorAll(\n `a, button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]):not(.${fallbackFocus.classSelector})`\n );\n return !tabbableElements || tabbableElements.length === 0;\n };\n const needsFallback = ref(checkNeedsFocus());\n onMounted(() => {\n useMutationObserver(\n element,\n () => {\n needsFallback.value = checkNeedsFocus();\n },\n { childList: true, subtree: true }\n );\n });\n const trap = useFocusTrap(element, focusTrapOpts);\n watch(resolvedIsActive, async (newValue) => {\n await nextTick();\n if (newValue && resolvedNoTrap.value === false) {\n trap.activate();\n } else {\n trap.deactivate();\n }\n });\n watch(resolvedNoTrap, (newValue) => {\n if (newValue === true) {\n trap.deactivate();\n }\n });\n return {\n needsFallback: readonly(needsFallback)\n };\n};\nconst useScrollLock = createSharedComposable(useScrollLock$1);\nlet prevousRightPadding = \"\";\nconst lockRegistry = /* @__PURE__ */ new Map();\nconst useSafeScrollLock = (isOpen, bodyScroll) => {\n const resolvedIsOpen = readonly(toRef(isOpen));\n const id = useId();\n const inverseBodyScrollingValue = computed(() => !toValue$1(bodyScroll));\n const isLocked = useScrollLock(\n typeof document !== \"undefined\" ? document.body : null,\n resolvedIsOpen.value && inverseBodyScrollingValue.value\n );\n onMounted(() => {\n if (typeof document === \"undefined\") return;\n lockRegistry.set(id, false);\n watch(\n [resolvedIsOpen, inverseBodyScrollingValue],\n ([modelVal, bodyVal]) => {\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n const hasLocked = Array.from(lockRegistry.values()).some((val) => val === true);\n const myLocked = modelVal && bodyVal;\n lockRegistry.set(id, myLocked);\n if (myLocked && !hasLocked && !isLocked.value) {\n isLocked.value = true;\n if (scrollBarGap > 0) {\n prevousRightPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = `${scrollBarGap + prevousRightPadding}px`;\n }\n }\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (hasLocked && !hasLockedAfter) {\n lockRegistry.set(id, false);\n isLocked.value = false;\n document.body.style.paddingRight = prevousRightPadding;\n }\n },\n { immediate: true }\n );\n });\n onUnmounted(() => {\n lockRegistry.delete(id);\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (!hasLockedAfter) {\n document.body.style.paddingRight = prevousRightPadding;\n isLocked.value = false;\n }\n });\n};\nexport {\n useActivatedFocusTrap as a,\n useSafeScrollLock as u\n};\n//# sourceMappingURL=useSafeScrollLock-DjG0jeMK.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, computed, watch, openBlock, createBlock, unref, withCtx, Transition, mergeProps, withDirectives, createElementVNode, withModifiers, normalizeClass, createElementBlock, renderSlot, normalizeProps, guardReactiveProps, resolveDynamicComponent, createTextVNode, toDisplayString, Fragment, createCommentVNode, createVNode, vShow, normalizeStyle, renderList } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { o as onKeyStroke, c as useFocus } from \"./index-Bkyn4R9C.mjs\";\nimport { a as useActivatedFocusTrap, u as useSafeScrollLock } from \"./useSafeScrollLock-DjG0jeMK.mjs\";\nimport { _ as _sfc_main$3 } from \"./BButton.vue_vue_type_script_setup_true_lang-_BPMIYRo.mjs\";\nimport { _ as _sfc_main$4 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { i as isEmptySlot } from \"./dom-DSGRrOAo.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { a as useModalManager } from \"./useModalManager-CDHu1xAV.mjs\";\nimport { u as useShowHide } from \"./useShowHide-DPX837gG.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalTeleport.vue_vue_type_script_lang-2PJ2jBTg.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useModalController } from \"./src/composables/useModalController/index.mjs\";\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"modal-fallback-focus\";\nconst defaultModalDialogZIndex = 1056;\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModal\",\n props: /* @__PURE__ */ mergeModels({\n autofocus: { type: Boolean, default: true },\n autofocusButton: { default: void 0 },\n backdropFirst: { type: Boolean, default: false },\n body: { default: void 0 },\n bodyAttrs: { default: void 0 },\n bodyBgVariant: { default: null },\n bodyClass: { default: null },\n bodyScrolling: { type: Boolean, default: false },\n bodyTextVariant: { default: null },\n bodyVariant: { default: null },\n busy: { type: Boolean, default: false },\n buttonSize: { default: \"md\" },\n cancelDisabled: { type: Boolean, default: false },\n cancelTitle: { default: \"Cancel\" },\n cancelVariant: { default: \"secondary\" },\n centered: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n dialogClass: { default: void 0 },\n footerBgVariant: { default: null },\n footerBorderVariant: { default: null },\n footerClass: { default: void 0 },\n footerTextVariant: { default: null },\n footerVariant: { default: null },\n fullscreen: { type: [Boolean, String], default: false },\n headerBgVariant: { default: null },\n headerBorderVariant: { default: null },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n headerTextVariant: { default: null },\n headerVariant: { default: null },\n noBackdrop: { type: Boolean, default: false },\n noFooter: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noHeaderClose: { type: Boolean, default: false },\n id: { default: void 0 },\n modalClass: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noStacking: { type: Boolean },\n okDisabled: { type: Boolean, default: false },\n okOnly: { type: Boolean, default: false },\n okTitle: { default: \"OK\" },\n okVariant: { default: \"primary\" },\n scrollable: { type: Boolean, default: false },\n size: { default: \"md\" },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n titleVisuallyHidden: { type: Boolean, default: false },\n titleTag: { default: \"h5\" },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"backdrop\", \"cancel\", \"close\", \"esc\", \"ok\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModal\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"modal\");\n const modelValue = useModel(__props, \"modelValue\");\n const element = useTemplateRef(\"_element\");\n const fallbackFocusElement = useTemplateRef(\"_fallbackFocusElement\");\n const okButton = useTemplateRef(\"_okButton\");\n const cancelButton = useTemplateRef(\"_cancelButton\");\n const closeButton = useTemplateRef(\"_closeButton\");\n const pickFocusItem = () => {\n if (props.autofocus === false) return;\n if (props.autofocusButton === \"ok\") {\n okButtonFocus.value = true;\n } else if (props.autofocusButton === \"close\") {\n closeButtonFocus.value = true;\n } else if (props.autofocusButton === \"cancel\") {\n cancelButtonFocus.value = true;\n } else {\n modalFocus.value = true;\n }\n };\n const onAfterEnter = () => {\n pickFocusItem();\n };\n const {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible\n } = useShowHide(modelValue, props, emit, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter\n }\n });\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector\n }\n });\n onKeyStroke(\n \"Escape\",\n () => {\n hide(\"esc\");\n },\n { target: element }\n );\n useSafeScrollLock(showRef, () => props.bodyScrolling);\n const { focused: modalFocus } = useFocus(element, {\n initialValue: modelValue.value && props.autofocusButton === void 0 && props.autofocus === true\n });\n const { focused: okButtonFocus } = useFocus(okButton, {\n initialValue: modelValue.value && props.autofocusButton === \"ok\" && props.autofocus === true\n });\n const { focused: cancelButtonFocus } = useFocus(cancelButton, {\n initialValue: modelValue.value && props.autofocusButton === \"cancel\" && props.autofocus === true\n });\n const { focused: closeButtonFocus } = useFocus(closeButton, {\n initialValue: modelValue.value && props.autofocusButton === \"close\" && props.autofocus === true\n });\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n \"modal-fullscreen\": props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === \"string\",\n [`modal-${props.size}`]: props.size !== \"md\",\n \"modal-dialog-centered\": props.centered,\n \"modal-dialog-scrollable\": props.scrollable\n }\n ]);\n const bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant\n }));\n const bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value]);\n const headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant\n }));\n const headerClasses = computed(() => [props.headerClass, headerColorClasses.value]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: props.headerCloseClass\n }));\n const footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant\n }));\n const footerClasses = computed(() => [props.footerClass, footerColorClasses.value]);\n const titleClasses = computed(() => [\n props.titleClass,\n {\n [\"visually-hidden\"]: props.titleVisuallyHidden\n }\n ]);\n const disableCancel = computed(() => props.cancelDisabled || props.busy);\n const disableOk = computed(() => props.okDisabled || props.busy);\n const { activePosition, activeModalCount, stackWithoutSelf } = useModalManager(\n showRef,\n modelValue.value\n );\n watch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking === true)\n hide();\n });\n const computedZIndexNumber = computed(\n () => (\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n showRef.value || isLeaving.value ? (\n // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex - (((activeModalCount == null ? void 0 : activeModalCount.value) ?? 0) * 2 - ((activePosition == null ? void 0 : activePosition.value) ?? 0) * 2)\n ) : defaultModalDialogZIndex\n )\n );\n const computedZIndex = computed(() => ({\n \"z-index\": computedZIndexNumber.value\n }));\n const computedZIndexBackdrop = computed(() => ({\n \"z-index\": computedZIndexNumber.value - 1\n }));\n const sharedSlots = computed(() => ({\n cancel: () => {\n hide(\"cancel\");\n },\n close: () => {\n hide(\"close\");\n },\n hide,\n ok: () => {\n hide(\"ok\");\n },\n active: showRef.value,\n visible: showRef.value\n }));\n __expose({\n hide,\n id: computedId,\n show,\n toggle\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible,\n onAfterEnter\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n class: [\"modal\", [\n unref(props).modalClass,\n {\n fade: !unref(computedNoAnimation),\n show: unref(isVisible)\n }\n ]],\n role: \"dialog\",\n \"aria-labelledby\": !unref(props).noHeader ? `${unref(computedId)}-label` : void 0,\n \"aria-describedby\": `${unref(computedId)}-body`,\n tabindex: \"-1\"\n }, _ctx.$attrs, {\n style: computedZIndex.value,\n onClick: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"backdrop\"), [\"self\"]))\n }), [\n createElementVNode(\"div\", {\n class: normalizeClass([\"modal-dialog\", modalDialogClasses.value])\n }, [\n unref(contentShowing) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-content\", unref(props).contentClass])\n }, [\n !unref(props).noHeader ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-header\", headerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).titleTag), {\n id: `${unref(computedId)}-label`,\n class: normalizeClass([\"modal-title\", titleClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ], true)\n ]),\n _: 3\n }, 8, [\"id\", \"class\"])),\n !unref(props).noHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$3, mergeProps({ key: 0 }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", {}, void 0, true)\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$4, mergeProps({\n key: 1,\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(hide)(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], true)\n ], 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n id: `${unref(computedId)}-body`,\n class: [\"modal-body\", bodyClasses.value]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ], true)\n ], 16, _hoisted_2),\n !unref(props).noFooter ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([\"modal-footer\", footerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n renderSlot(_ctx.$slots, \"cancel\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n !unref(props).okOnly ? (openBlock(), createBlock(_sfc_main$3, {\n key: 0,\n ref: \"_cancelButton\",\n disabled: disableCancel.value,\n size: unref(props).buttonSize,\n variant: unref(props).cancelVariant,\n onClick: _cache[2] || (_cache[2] = ($event) => unref(hide)(\"cancel\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).cancelTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\"])) : createCommentVNode(\"\", true)\n ], true),\n renderSlot(_ctx.$slots, \"ok\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createVNode(_sfc_main$3, {\n ref: \"_okButton\",\n disabled: disableOk.value,\n size: unref(props).buttonSize,\n variant: unref(props).okVariant,\n onClick: _cache[3] || (_cache[3] = ($event) => unref(hide)(\"ok\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).okTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\"])\n ], true)\n ], true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: \"_fallbackFocusElement\",\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [vShow, unref(showRef) && (unref(backdropReady) && unref(props).backdropFirst || !unref(props).backdropFirst)]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true),\n !unref(props).noBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 1 }, sharedSlots.value)), () => [\n unref(renderBackdropRef) ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, unref(backdropTransitionProps))), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"modal-backdrop\", {\n fade: !unref(computedNoAnimation),\n show: unref(backdropVisible) || unref(computedNoAnimation)\n }]),\n style: normalizeStyle(computedZIndexBackdrop.value),\n onClick: _cache[5] || (_cache[5] = ($event) => unref(hide)(\"backdrop\"))\n }, null, 6), [\n [vShow, unref(showRef) || unref(isLeaving) && unref(props).backdropFirst && !unref(computedNoAnimation)]\n ])\n ]),\n _: 1\n }, 16)) : createCommentVNode(\"\", true)\n ], true) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nconst BModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-93972863\"]]);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModalOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModalOrchestrator\");\n const tools = useModalController();\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => {\n var _a;\n return [\n createElementVNode(\"div\", mergeProps({ id: \"__BVID__modal-container\" }, _ctx.$attrs), [\n (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(tools).modals) == null ? void 0 : _a.value, ([self, modal]) => {\n return openBlock(), createBlock(resolveDynamicComponent(modal.component ?? BModal), mergeProps({\n key: self,\n ref_for: true\n }, modal.props, {\n modelValue: modal.props._modelValue,\n \"onUpdate:modelValue\": [($event) => modal.props._modelValue = $event, ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).leave) == null ? void 0 : _b.call(_a2, self);\n }],\n \"initial-animation\": \"\",\n \"teleport-disabled\": true,\n onHide: (e) => {\n if (modal.props._isConfirm === true) {\n if (e.trigger === \"ok\") {\n modal.props._promise.resolve(true);\n return;\n }\n if (e.trigger === \"cancel\") {\n modal.props._promise.resolve(false);\n return;\n }\n modal.props._promise.resolve(null);\n }\n modal.props._promise.resolve(true);\n },\n onHidden: ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).remove) == null ? void 0 : _b.call(_a2, self);\n }\n }), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"onHide\", \"onHidden\"]);\n }), 128))\n ], 16)\n ];\n }),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n BModal as B,\n _sfc_main as _\n};\n//# sourceMappingURL=BModalOrchestrator.vue_vue_type_script_setup_true_lang-B30oaS2u.mjs.map\n","import { defineComponent, inject, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, createTextVNode, toDisplayString, provide, toRef, unref, createVNode } from \"vue\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { o as progressInjectionKey } from \"./keys-41Cw9q6f.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BProgressBar\",\n props: {\n animated: { type: Boolean, default: false },\n label: { default: void 0 },\n max: { default: void 0 },\n precision: { default: 0 },\n showProgress: { type: Boolean, default: false },\n showValue: { type: Boolean, default: false },\n striped: { type: Boolean, default: false },\n value: { default: 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgressBar\");\n const parentData = inject(progressInjectionKey, null);\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"progress-bar-animated\": props.animated || (parentData == null ? void 0 : parentData.animated.value),\n \"progress-bar-striped\": props.striped || (parentData == null ? void 0 : parentData.striped.value) || props.animated || (parentData == null ? void 0 : parentData.animated.value)\n }\n ]);\n const numberPrecision = useToNumber(() => props.precision);\n const numberValue = useToNumber(() => props.value);\n const numberMax = useToNumber(() => props.max ?? NaN);\n const parentMaxNumber = useToNumber(() => (parentData == null ? void 0 : parentData.max.value) ?? NaN);\n const computedLabel = computed(\n () => props.showValue || (parentData == null ? void 0 : parentData.showValue.value) ? numberValue.value.toFixed(numberPrecision.value) : props.showProgress || (parentData == null ? void 0 : parentData.showProgress.value) ? (numberValue.value * 100 / (numberMax.value || 100)).toFixed(numberPrecision.value) : props.label !== void 0 ? props.label : \"\"\n );\n const computedWidth = computed(\n () => parentMaxNumber.value ? `${numberValue.value * 100 / parentMaxNumber.value}%` : numberMax.value ? `${numberValue.value * 100 / numberMax.value}%` : typeof props.value === \"string\" ? props.value : `${props.value}%`\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"progress-bar\", computedClasses.value]),\n style: normalizeStyle({ width: computedWidth.value })\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(computedLabel.value), 1)\n ])\n ], 6);\n };\n }\n});\nconst _hoisted_1 = [\"aria-valuenow\", \"aria-valuemax\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BProgress\",\n props: {\n height: { default: void 0 },\n animated: { type: Boolean, default: void 0 },\n max: { default: 100 },\n precision: { default: void 0 },\n showProgress: { type: Boolean, default: void 0 },\n showValue: { type: Boolean, default: void 0 },\n striped: { type: Boolean, default: void 0 },\n value: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgress\");\n provide(progressInjectionKey, {\n animated: toRef(() => props.animated),\n max: toRef(() => props.max),\n showProgress: toRef(() => props.showProgress),\n showValue: toRef(() => props.showValue),\n striped: toRef(() => props.striped)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: \"progress\",\n role: \"progressbar\",\n style: normalizeStyle({ height: unref(props).height }),\n \"aria-valuenow\": unref(props).value,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": unref(props).max\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createVNode(_sfc_main$1, {\n animated: unref(props).animated,\n max: unref(props).max,\n precision: unref(props).precision,\n \"show-progress\": unref(props).showProgress,\n \"show-value\": unref(props).showValue,\n striped: unref(props).striped,\n value: unref(props).value,\n variant: unref(props).variant,\n \"text-variant\": unref(props).textVariant,\n \"bg-variant\": unref(props).bgVariant\n }, null, 8, [\"animated\", \"max\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"value\", \"variant\", \"text-variant\", \"bg-variant\"])\n ])\n ], 12, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BProgress.vue_vue_type_script_setup_true_lang-BOhOz9Pk.mjs.map\n","import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, renderSlot, unref, useSlots, ref, watch, createBlock, normalizeProps, guardReactiveProps, withCtx, withDirectives, createVNode, Fragment, renderList, mergeProps, createTextVNode, toDisplayString, createCommentVNode, vShow, createElementVNode, mergeModels, useModel, onMounted, createSlots } from \"vue\";\nimport { g as get, p as pick, s as set } from \"./object-DIbMZaP9.mjs\";\nimport { _ as _sfc_main$8 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-Dbrg2rgZ.mjs\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { a as titleCase, s as startCase } from \"./stringUtils-DNoLRB2A.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.mjs\";\nconst formatItem = (item, fieldKey, formatter) => {\n const val = get(item, fieldKey);\n return formatter && typeof formatter === \"function\" ? formatter(val, fieldKey, item) : val;\n};\nconst isTableItem = (value) => typeof value === \"object\" && value !== null;\nconst isTableField = (value) => typeof value === \"object\" && value !== null && \"key\" in value;\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BTbody\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTbody\");\n const computedClasses = computed(() => ({\n [`thead-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tbody\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$3 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$3 = { key: 0 };\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BTd\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTd\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n const scope = computed(() => props.colspan ? \"colspan\" : props.rowspan ? \"rowspan\" : \"col\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"td\", {\n scope: scope.value,\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading ? (openBlock(), createElementBlock(\"div\", _hoisted_2$3, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$3);\n };\n }\n});\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BTfoot\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTfoot\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tfoot\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$2 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$2 = { key: 0 };\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BTh\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTh\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n const scope = computed(() => props.colspan ? \"colspan\" : props.rowspan ? \"rowspan\" : \"col\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"th\", {\n scope: scope.value,\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading !== void 0 ? (openBlock(), createElementBlock(\"div\", _hoisted_2$2, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$2);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BThead\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BThead\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"thead\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BTr\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTr\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst getTableFieldHeadLabel = (field) => typeof field === \"string\" ? titleCase(field) : field.label !== void 0 ? field.label : typeof field.key === \"string\" ? titleCase(field.key) : field.key;\nconst btableSimpleProps = Object.freeze(\n Object.keys({\n bordered: 0,\n borderless: 0,\n borderVariant: 0,\n captionTop: 0,\n dark: 0,\n fixed: 0,\n hover: 0,\n id: 0,\n noBorderCollapse: 0,\n outlined: 0,\n responsive: 0,\n small: 0,\n stacked: 0,\n stickyHeader: 0,\n striped: 0,\n stripedColumns: 0,\n variant: 0,\n tableAttrs: 0,\n tableClass: 0\n })\n);\nconst btableLiteProps = Object.freeze(\n Object.keys({\n align: 0,\n caption: 0,\n detailsTdClass: 0,\n fieldColumnClass: 0,\n fields: 0,\n footClone: 0,\n footRowVariant: 0,\n footVariant: 0,\n headRowVariant: 0,\n headVariant: 0,\n items: 0,\n labelStacked: 0,\n modelValue: 0,\n primaryKey: 0,\n tbodyClass: 0,\n tbodyTrAttrs: 0,\n tbodyTrClass: 0,\n tfootClass: 0,\n tfootTrClass: 0,\n theadClass: 0,\n theadTrClass: 0\n })\n);\nconst TABLE_TAG_NAMES = [\"TD\", \"TH\", \"TR\"];\nconst eventFilter = [\n \"a\",\n \"a *\",\n // Include content inside links\n \"button\",\n \"button *\",\n // Include content inside buttons\n \"input:not(.disabled):not([disabled])\",\n \"select:not(.disabled):not([disabled])\",\n \"textarea:not(.disabled):not([disabled])\",\n '[role=\"link\"]',\n '[role=\"link\"] *',\n '[role=\"button\"]',\n '[role=\"button\"] *',\n \"[tabindex]:not(.disabled):not([disabled])\"\n].join(\",\");\nconst filterEvent = (event) => {\n if (!event || !event.target) {\n return false;\n }\n const el = event.target;\n if (\"disabled\" in el && el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n }\n if (el.closest(\".dropdown-menu\")) return true;\n const label = el.tagName === \"LABEL\" ? el : el.closest(\"label\");\n if (label) {\n const labelFor = label.getAttribute(\"for\");\n const input = labelFor ? document.getElementById(labelFor) : label.querySelector(\"input, select, textarea\");\n if (input && !input.disabled) {\n return true;\n }\n }\n return el.matches(eventFilter);\n};\nconst _hoisted_1$1 = {\n key: 0,\n class: \"b-table-stacked-label\"\n};\nconst _hoisted_2$1 = { class: \"d-inline-flex flex-nowrap align-items-center gap-1\" };\nconst _hoisted_3$1 = { key: 2 };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BTableLite\",\n props: {\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: false },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: false },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: { type: [Function, Object], default: void 0 },\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {},\n tableClass: { default: void 0 }\n },\n emits: [\"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTableLite\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id);\n const generateDetailsItem = (item) => [\n item,\n item._showDetails\n ];\n const detailsMap = ref(/* @__PURE__ */ new WeakMap());\n watch(\n () => props.items,\n (items) => {\n items.forEach((item) => {\n if (!isTableItem(item)) return;\n detailsMap.value.set(...generateDetailsItem(item));\n });\n },\n { deep: true, immediate: true }\n );\n const computedTableClasses = computed(() => [\n props.tableClass,\n {\n [`align-${props.align}`]: props.align !== void 0\n }\n ]);\n const computedFields = computed(() => {\n if (!props.fields.length && props.items.length) {\n const [firstItem] = props.items;\n if (isTableItem(firstItem) || Array.isArray(firstItem)) {\n return Object.keys(firstItem).map((k) => {\n const label = startCase(k);\n return {\n key: k,\n label,\n tdAttr: props.stacked === true ? { \"data-label\": label } : void 0\n };\n });\n }\n return [{ key: \"\", _noHeader: true }];\n }\n return props.fields.map((f) => {\n if (isTableField(f)) {\n return {\n ...f,\n tdAttr: props.stacked === true ? { \"data-label\": startCase(f.key), ...f.tdAttr } : f.tdAttr\n };\n }\n const label = startCase(f);\n return {\n key: f,\n label,\n tdAttr: props.stacked === true ? { \"data-label\": label } : void 0\n };\n });\n });\n const computedFieldsTotal = computed(() => computedFields.value.length);\n const showComputedHeaders = computed(() => {\n if (computedFieldsTotal.value > 0 && computedFields.value.every((el) => el._noHeader === true))\n return false;\n return true;\n });\n const footerProps = computed(() => ({\n variant: props.footVariant,\n class: props.tfootClass\n }));\n const itemAttributes = (item, fieldKey, attr) => {\n const val = get(item, fieldKey);\n return attr && typeof attr === \"function\" ? attr(val, fieldKey, item) : attr;\n };\n const callThAttr = (item, field, type) => {\n const fieldKey = String(field.key);\n const val = get(item, fieldKey);\n return field.thAttr && typeof field.thAttr === \"function\" ? field.thAttr(val, fieldKey, item, type) : field.thAttr;\n };\n const headerClicked = (field, event, isFooter = false) => {\n emit(\"head-clicked\", field.key, field, event, isFooter);\n };\n const toggleRowDetails = (tr) => {\n if (isTableItem(tr)) {\n const prevValue = detailsMap.value.get(tr);\n detailsMap.value.set(tr, !prevValue);\n tr._showDetails = !prevValue;\n }\n };\n const getFieldColumnClasses = (field) => [\n field.class,\n field.thClass,\n {\n \"b-table-sticky-column\": field.stickyColumn\n },\n props.fieldColumnClass ? typeof props.fieldColumnClass === \"function\" ? props.fieldColumnClass(field) : props.fieldColumnClass : null\n ];\n const getFieldRowClasses = (field, tr) => {\n var _a, _b;\n const val = get(tr, String(field.key));\n return [\n field.class,\n typeof field.tdClass === \"function\" ? field.tdClass(val, String(field.key), tr) : field.tdClass,\n (isTableItem(tr) ? (_a = tr._cellVariants) == null ? void 0 : _a[field.key] : false) ? `table-${(_b = tr._cellVariants) == null ? void 0 : _b[field.key]}` : null,\n {\n \"b-table-sticky-column\": field.stickyColumn\n }\n ];\n };\n const handleMiddleClick = (item, itemIndex, event) => {\n if (event.button === 1 && !filterEvent(event)) {\n emit(\"row-middle-clicked\", item, itemIndex, event);\n }\n };\n const callTbodyTrAttrs = (item, type) => props.tbodyTrAttrs ? typeof props.tbodyTrAttrs === \"function\" ? props.tbodyTrAttrs(item, type) : props.tbodyTrAttrs : null;\n const getRowClasses = (item, type) => props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null;\n const generateTableRowId = (primaryKeyValue) => `${computedId.value}__row_${primaryKeyValue}`;\n const computedSimpleProps = computed(() => ({\n ...pick(props, btableSimpleProps),\n tableClass: computedTableClasses.value,\n id: computedId.value\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$8, normalizeProps(guardReactiveProps(computedSimpleProps.value)), {\n default: withCtx(() => [\n withDirectives(createVNode(_sfc_main$3, {\n variant: unref(props).headVariant,\n class: normalizeClass(unref(props).theadClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-top\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n }),\n createVNode(_sfc_main$2, {\n variant: unref(props).headRowVariant,\n class: normalizeClass(unref(props).theadTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$4, mergeProps({\n key: field.key,\n scope: \"col\",\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n variant: field.variant,\n abbr: field.headerAbbr,\n style: field.thStyle,\n ref_for: true\n }, callThAttr(null, field, \"top\"), {\n onClick: ($event) => headerClicked(field, $event)\n }), {\n default: withCtx(() => [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n {\n label: field.label,\n column: field.key,\n field,\n isFoot: false\n },\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"class\", \"title\", \"variant\", \"abbr\", \"style\", \"onClick\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]),\n slots[\"thead-sub\"] ? (openBlock(), createBlock(_sfc_main$2, { key: 0 }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$6, {\n key: field.key,\n scope: \"col\",\n variant: field.variant,\n class: normalizeClass([field.class, field.thClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-sub\", {\n items: unref(props).items,\n fields: computedFields.value,\n field\n }, () => [\n createTextVNode(toDisplayString(field.label), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]), [\n [vShow, showComputedHeaders.value]\n ]),\n createVNode(_sfc_main$7, {\n class: normalizeClass(unref(props).tbodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-body\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n }, () => [\n !unref(props).stacked && slots[\"top-row\"] ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 0,\n class: getRowClasses(null, \"row-top\")\n }, callTbodyTrAttrs(null, \"row-top\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"top-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(props).items, (item, itemIndex) => {\n return openBlock(), createElementBlock(Fragment, {\n key: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? unref(get)(item, unref(props).primaryKey) : itemIndex\n }, [\n createVNode(_sfc_main$2, mergeProps({\n id: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? generateTableRowId(unref(get)(item, unref(props).primaryKey)) : void 0,\n class: getRowClasses(item, \"row\"),\n variant: unref(isTableItem)(item) ? item._rowVariant : void 0,\n ref_for: true\n }, callTbodyTrAttrs(item, \"row\"), {\n onClick: ($event) => !unref(filterEvent)($event) && emit(\"row-clicked\", item, itemIndex, $event),\n onDblclick: ($event) => !unref(filterEvent)($event) && emit(\"row-dblclicked\", item, itemIndex, $event),\n onContextmenu: ($event) => !unref(filterEvent)($event) && emit(\"row-contextmenu\", item, itemIndex, $event),\n onMouseenter: ($event) => !unref(filterEvent)($event) && emit(\"row-hovered\", item, itemIndex, $event),\n onMouseleave: ($event) => !unref(filterEvent)($event) && emit(\"row-unhovered\", item, itemIndex, $event),\n onMousedown: ($event) => handleMiddleClick(item, itemIndex, $event)\n }), {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n var _a;\n return openBlock(), createBlock(_sfc_main$6, mergeProps({\n key: field.key,\n variant: (unref(isTableItem)(item) ? (_a = item._cellVariants) == null ? void 0 : _a[field.key] : false) ? null : field.variant,\n class: getFieldRowClasses(field, item),\n ref_for: true\n }, itemAttributes(item, String(field.key), field.tdAttr)), {\n default: withCtx(() => [\n unref(props).stacked && unref(props).labelStacked ? (openBlock(), createElementBlock(\"label\", _hoisted_1$1, toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)) : createCommentVNode(\"\", true),\n renderSlot(\n _ctx.$slots,\n slots[`cell(${String(field.key)})`] ? `cell(${String(field.key)})` : \"cell()\",\n {\n value: unref(formatItem)(item, String(field.key), field.formatter),\n unformatted: unref(get)(item, String(field.key)),\n index: itemIndex,\n item,\n field,\n items: _ctx.items,\n toggleDetails: () => toggleRowDetails(item),\n detailsShowing: unref(isTableItem)(item) ? detailsMap.value.get(item) ?? false : false\n },\n () => [\n !slots[`cell(${String(field.key)})`] && !slots[\"cell()\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(formatItem)(item, String(field.key), field.formatter)), 1)\n ], 64)) : createCommentVNode(\"\", true)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 2\n }, 1040, [\"id\", \"class\", \"variant\", \"onClick\", \"onDblclick\", \"onContextmenu\", \"onMouseenter\", \"onMouseleave\", \"onMousedown\"]),\n unref(isTableItem)(item) && detailsMap.value.get(item) === true && slots[\"row-details\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createVNode(_sfc_main$2, {\n \"aria-hidden\": \"true\",\n role: \"presentation\",\n class: \"d-none\"\n }),\n createVNode(_sfc_main$2, mergeProps({\n class: getRowClasses(item, \"row-details\"),\n variant: item._rowVariant,\n ref_for: true\n }, callTbodyTrAttrs(item, \"row-details\")), {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\n colspan: computedFieldsTotal.value,\n class: normalizeClass(_ctx.detailsTdClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"row-details\", {\n item,\n toggleDetails: () => toggleRowDetails(item),\n fields: computedFields.value,\n index: itemIndex\n })\n ]),\n _: 2\n }, 1032, [\"colspan\", \"class\"])\n ]),\n _: 2\n }, 1040, [\"class\", \"variant\"])\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n }), 128)),\n !unref(props).stacked && slots[\"bottom-row\"] ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 1,\n class: [\"bottom-row\", getRowClasses(null, \"row-bottom\")]\n }, callTbodyTrAttrs(null, \"row-bottom\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"bottom-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]),\n unref(props).footClone ? (openBlock(), createBlock(_sfc_main$5, normalizeProps(mergeProps({ key: 0 }, footerProps.value)), {\n default: withCtx(() => [\n createVNode(_sfc_main$2, {\n variant: unref(props).footRowVariant,\n class: normalizeClass(unref(props).tfootTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$4, mergeProps({\n key: field.key,\n scope: \"col\",\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n abbr: field.headerAbbr,\n style: field.thStyle,\n variant: field.variant,\n ref_for: true\n }, callThAttr(null, field, \"bottom\"), {\n onClick: ($event) => headerClicked(field, $event, true)\n }), {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_2$1, [\n createElementVNode(\"div\", null, [\n renderSlot(\n _ctx.$slots,\n slots[`foot(${String(field.key)})`] ? `foot(${String(field.key)})` : \"foot()\",\n {\n label: field.label,\n column: field.key,\n field,\n isFoot: true\n },\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n )\n ])\n ])\n ]),\n _: 2\n }, 1040, [\"class\", \"title\", \"abbr\", \"style\", \"variant\", \"onClick\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"])\n ]),\n _: 3\n }, 16)) : slots[\"custom-foot\"] ? (openBlock(), createBlock(_sfc_main$5, normalizeProps(mergeProps({ key: 1 }, footerProps.value)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-foot\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n })\n ]),\n _: 3\n }, 16)) : createCommentVNode(\"\", true),\n slots[\"table-caption\"] || unref(props).caption ? (openBlock(), createElementBlock(\"caption\", _hoisted_3$1, [\n renderSlot(_ctx.$slots, \"table-caption\", {}, () => [\n createTextVNode(toDisplayString(unref(props).caption), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _hoisted_1 = {\n style: { opacity: 0.4 },\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-up-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n};\nconst _hoisted_2 = {\n role: \"alert\",\n \"aria-live\": \"polite\"\n};\nconst _hoisted_3 = { class: \"text-center my-2\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTable\",\n props: /* @__PURE__ */ mergeModels({\n provider: { default: void 0 },\n noProvider: { default: void 0 },\n noProviderPaging: { type: Boolean, default: false },\n noProviderSorting: { type: Boolean, default: false },\n noProviderFiltering: { type: Boolean, default: false },\n mustSort: { type: [Boolean, Array], default: false },\n selectable: { type: Boolean, default: false },\n multisort: { type: Boolean, default: false },\n stickySelect: { type: Boolean, default: false },\n selectHead: { type: [Boolean, String], default: true },\n selectMode: { default: \"multi\" },\n selectionVariant: { default: \"primary\" },\n busyLoadingText: { default: \"Loading...\" },\n perPage: { default: Number.POSITIVE_INFINITY },\n currentPage: { default: 1 },\n filter: { default: void 0 },\n filterFunction: { type: Function, default: void 0 },\n filterable: { default: void 0 },\n noLocalSorting: { type: Boolean, default: false },\n noSelectOnClick: { type: Boolean, default: false },\n noSortableIcon: { type: Boolean, default: false },\n emptyFilteredText: { default: \"There are no records matching your request\" },\n emptyText: { default: \"There are no records to show\" },\n showEmpty: { type: Boolean, default: false },\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: void 0 },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: void 0 },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: {},\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {}\n }, {\n \"sortBy\": {\n default: void 0\n },\n \"sortByModifiers\": {},\n \"busy\": { type: Boolean, ...{\n default: false\n } },\n \"busyModifiers\": {},\n \"selectedItems\": {\n default: () => []\n },\n \"selectedItemsModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"filtered\", \"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\", \"row-selected\", \"row-unselected\", \"sorted\", \"change\"], [\"update:sortBy\", \"update:busy\", \"update:selectedItems\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTable\");\n const emit = __emit;\n const slots = useSlots();\n const dynamicCellSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"cell(\"))\n );\n const dynamicFootSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"foot(\"))\n );\n const sortByModel = useModel(__props, \"sortBy\");\n const busyModel = useModel(__props, \"busy\");\n const selectedItemsModel = useModel(\n __props,\n \"selectedItems\"\n );\n const computedId = useId(() => props.id);\n const selectedItemsToSet = computed({\n get: () => /* @__PURE__ */ new Set([...selectedItemsModel.value]),\n set: (val) => {\n selectedItemsModel.value = [...val];\n }\n });\n watch(selectedItemsToSet, (newValue, oldValue) => {\n Array.from(oldValue).filter((item) => !newValue.has(item)).forEach((item) => {\n emit(\"row-unselected\", item);\n });\n Array.from(newValue).filter((item) => !oldValue.has(item)).forEach((item) => {\n emit(\"row-selected\", item);\n });\n });\n const selectedItemsSetUtilities = {\n add: (item) => {\n const value = new Set(selectedItemsToSet.value);\n value.add(item);\n selectedItemsToSet.value = value;\n },\n clear: () => {\n selectedItemsToSet.value.forEach((item) => {\n selectedItemsSetUtilities.delete(item);\n });\n },\n delete: (item) => {\n const value = new Set(selectedItemsToSet.value);\n if (props.primaryKey) {\n const pkey = props.primaryKey;\n selectedItemsModel.value.forEach((v, i) => {\n const selectedKey = get(v, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) {\n value.delete(selectedItemsModel.value[i]);\n }\n });\n } else {\n value.delete(item);\n }\n selectedItemsToSet.value = value;\n },\n set: (items) => {\n selectedItemsToSet.value = new Set(items);\n },\n has: (item) => {\n if (!props.primaryKey) return selectedItemsToSet.value.has(item);\n const pkey = props.primaryKey;\n for (const selected of selectedItemsToSet.value) {\n const selectedKey = get(selected, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) return true;\n }\n return false;\n }\n };\n const internalItems = ref([]);\n const perPageNumber = useToNumber(() => props.perPage, { method: \"parseInt\" });\n const currentPageNumber = useToNumber(() => props.currentPage, { method: \"parseInt\" });\n const isFilterableTable = computed(() => !!props.filter);\n const usesProvider = computed(() => props.provider !== void 0);\n const isSelecting = computed(() => selectedItemsToSet.value.size > 0);\n const isSortable = computed(\n () => sortByModel.value !== void 0 || props.fields.some(\n (field) => typeof field === \"object\" && field !== null && field.sortable === true\n )\n );\n const computedFields = computed(\n () => props.fields.map((el) => {\n var _a;\n if (!isTableField(el)) {\n const label = startCase(el);\n return {\n key: el,\n label,\n tdAttr: props.stacked === true ? { \"data-label\": label } : void 0\n };\n }\n const value = (_a = sortByModel.value) == null ? void 0 : _a.find((sb) => el.key === sb.key);\n const sortValue = isSortable.value === false ? void 0 : value === void 0 ? \"none\" : value.order === \"desc\" ? \"descending\" : value.order === \"asc\" ? \"ascending\" : \"none\";\n return {\n ...el,\n thAttr: {\n \"aria-sort\": sortValue,\n ...el.thAttr\n }\n };\n })\n );\n const tableClasses = computed(() => ({\n \"b-table-busy\": busyModel.value,\n \"b-table-selectable\": props.selectable,\n \"user-select-none\": props.selectable && isSelecting.value\n }));\n const getBusyRowClasses = computed(() => [\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(null, \"table-busy\") : props.tbodyTrClass : null\n ]);\n const getFieldColumnClasses = (field) => [\n {\n \"b-table-sortable-column\": isSortable.value && field.sortable\n }\n ];\n const getRowClasses = (item, type) => [\n {\n [`selected table-${props.selectionVariant}`]: props.selectable && !!item && selectedItemsSetUtilities.has(item)\n },\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null\n ];\n const getFormatter = (value) => typeof value.sortByFormatted === \"function\" ? value.sortByFormatted : value.formatter;\n const computedItems = computed(() => {\n const sortItems = (items) => {\n var _a;\n const sortByItems = (_a = sortByModel.value) == null ? void 0 : _a.filter((el) => !!el.order);\n if (!sortByItems || sortByItems.length === 0) return items;\n return [...items].sort((a, b) => {\n for (let i = 0; i < (sortByItems.length ?? 0); i++) {\n const sortOption = sortByItems[i];\n const realVal = (ob) => {\n if (!isTableItem(ob)) return String(ob);\n const sortField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === sortOption.key;\n return false;\n });\n const val = get(ob, sortOption.key);\n if (isTableField(sortField) && !!sortField.sortByFormatted) {\n const formatter = getFormatter(sortField);\n if (formatter) {\n return String(formatItem(ob, String(sortField.key), formatter));\n }\n }\n return typeof val === \"object\" && val !== null ? JSON.stringify(val) : (val == null ? void 0 : val.toString()) ?? \"\";\n };\n const aValue = realVal(a);\n const bValue = realVal(b);\n const comparison = sortOption.comparer ? sortOption.comparer(aValue, bValue) : aValue.localeCompare(bValue, void 0, { numeric: true });\n if (comparison !== 0) {\n return sortOption.order === \"asc\" ? comparison : -comparison;\n }\n }\n return 0;\n });\n };\n const filterItems = (items) => items.filter(\n (item) => isTableItem(item) ? Object.entries(item).some(([key, val]) => {\n var _a, _b, _c;\n if (val === null || val === void 0 || key[0] === \"_\" || !((_a = props.filterable) == null ? void 0 : _a.includes(key)) && !!((_b = props.filterable) == null ? void 0 : _b.length))\n return false;\n if (props.filterFunction && typeof props.filterFunction === \"function\") {\n return props.filterFunction(item, props.filter);\n }\n const realVal = () => {\n const filterField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === key;\n return false;\n });\n if (isTableField(filterField) && !!filterField.filterByFormatted) {\n const formatter = getFormatter(filterField);\n if (formatter) {\n return String(formatter(val, String(filterField.key), item));\n }\n }\n return typeof val === \"object\" ? JSON.stringify(Object.values(val)) : val.toString();\n };\n const itemValue = realVal();\n return itemValue.toLowerCase().includes(((_c = props.filter) == null ? void 0 : _c.toLowerCase()) ?? \"\");\n }) : true\n );\n let mappedItems = usesProvider.value ? internalItems.value : props.items;\n mappedItems = mappedItems.map((item) => {\n if (typeof item === \"object\" && item !== null && Object.keys(item).some((key) => key.includes(\".\"))) {\n let newItem = {};\n for (const key in item) {\n if (key.includes(\".\")) {\n newItem = set(newItem, key, item[key]);\n } else {\n newItem[key] = item[key];\n }\n }\n return newItem;\n }\n return item;\n });\n if (isFilterableTable.value === true && !usesProvider.value || isFilterableTable.value === true && usesProvider.value && props.noProviderFiltering) {\n mappedItems = filterItems(mappedItems);\n }\n if (isSortable.value === true && !usesProvider.value && !props.noLocalSorting || isSortable.value === true && usesProvider.value && props.noProviderSorting) {\n mappedItems = sortItems(mappedItems);\n }\n return mappedItems;\n });\n const emptySlotScope = computed(() => ({\n emptyFilteredText: props.emptyFilteredText,\n emptyText: props.emptyText,\n fields: computedFields.value,\n items: computedItems.value\n }));\n const computedDisplayItems = computed(() => {\n if (Number.isNaN(perPageNumber.value) || usesProvider.value && !props.noProviderPaging) {\n return computedItems.value;\n }\n return computedItems.value.slice(\n (currentPageNumber.value - 1) * (perPageNumber.value || Number.POSITIVE_INFINITY),\n currentPageNumber.value * (perPageNumber.value || Number.POSITIVE_INFINITY)\n );\n });\n watch(computedDisplayItems, (v) => {\n emit(\"change\", v);\n });\n const handleRowSelection = (row, index, shiftClicked = false, ctrlClicked = false, metaClicked = false) => {\n if (!props.selectable) return;\n if (props.selectMode === \"single\" || props.selectMode === \"multi\") {\n if (shiftClicked || ctrlClicked) return;\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([row]);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n }\n } else {\n if (ctrlClicked || metaClicked) {\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n } else if (shiftClicked) {\n const lastSelectedItem = [...selectedItemsToSet.value].pop();\n const lastSelectedIndex = computedItems.value.findIndex((i) => i === lastSelectedItem);\n const selectStartIndex = Math.min(lastSelectedIndex, index);\n const selectEndIndex = Math.max(lastSelectedIndex, index);\n const items = computedItems.value.slice(selectStartIndex, selectEndIndex + 1);\n selectedItemsSetUtilities.set(items);\n } else {\n selectedItemsSetUtilities.set([row]);\n }\n }\n };\n const onRowClick = (row, index, e) => {\n if (props.noSelectOnClick === false) {\n handleRowSelection(row, index, e.shiftKey, e.ctrlKey, e.metaKey);\n }\n emit(\"row-clicked\", row, index, e);\n };\n const handleFieldSorting = (field) => {\n var _a, _b;\n if (!isSortable.value) return;\n const fieldKey = typeof field === \"object\" && field !== null ? field.key : field;\n const fieldSortable = typeof field === \"object\" && field !== null ? field.sortable : false;\n if (!(isSortable.value === true && fieldSortable === true)) return;\n const resolveOrder = (val) => {\n if (val === \"asc\") return \"desc\";\n if (val === void 0) return \"asc\";\n if (props.mustSort === true || Array.isArray(props.mustSort) && props.mustSort.includes(fieldKey))\n return \"asc\";\n return void 0;\n };\n const index = ((_a = sortByModel.value) == null ? void 0 : _a.findIndex((el) => el.key === fieldKey)) ?? -1;\n const originalValue = (_b = sortByModel.value) == null ? void 0 : _b[index];\n const updatedValue = (\n // If value is new, we default to ascending\n // Otherwise we make a temp copy of the value\n index === -1 || !originalValue ? { key: fieldKey, order: \"asc\" } : { ...originalValue }\n );\n const handleMultiSort = () => {\n var _a2, _b2;\n let val = updatedValue;\n if (index === -1) {\n sortByModel.value = [...sortByModel.value ?? [], updatedValue];\n } else {\n const order = resolveOrder(updatedValue.order);\n val = { ...updatedValue, order };\n sortByModel.value = order ? (_a2 = sortByModel.value) == null ? void 0 : _a2.map((el) => el.key === val.key ? val : el) : (_b2 = sortByModel.value) == null ? void 0 : _b2.filter((el) => el.key !== val.key);\n }\n return val;\n };\n const handleSingleSort = () => {\n const val = {\n ...updatedValue,\n order: index === -1 ? updatedValue.order : resolveOrder(updatedValue.order)\n };\n const tmp = (sortByModel.value || []).map((e) => ({\n ...e,\n order: void 0\n }));\n if (index === -1) {\n tmp.push(val);\n } else {\n tmp[index] = val;\n }\n sortByModel.value = tmp;\n return val;\n };\n emit(\"sorted\", props.multisort === true ? handleMultiSort() : handleSingleSort());\n };\n const onFieldHeadClick = (fieldKey, field, event, isFooter = false) => {\n emit(\"head-clicked\", fieldKey, field, event, isFooter);\n handleFieldSorting(field);\n };\n const callItemsProvider = async () => {\n if (!usesProvider.value || props.provider === void 0 || busyModel.value) return;\n busyModel.value = true;\n const response = props.provider({\n currentPage: currentPageNumber.value,\n filter: props.filter,\n sortBy: sortByModel.value,\n perPage: perPageNumber.value\n });\n try {\n const items = response instanceof Promise ? await response : response;\n if (items === void 0) return;\n internalItems.value = items;\n } finally {\n busyModel.value = false;\n }\n };\n const providerPropsWatch = async (prop, val, oldVal) => {\n if (val === oldVal) return;\n const inNoProvider = (key) => {\n var _a;\n return ((_a = props.noProvider) == null ? void 0 : _a.includes(key)) === true;\n };\n const noProvideWhenPaging = (prop === \"currentPage\" || prop === \"perPage\") && (inNoProvider(\"paging\") || props.noProviderPaging === true);\n const noProvideWhenFiltering = prop === \"filter\" && (inNoProvider(\"filtering\") || props.noProviderFiltering === true);\n const noProvideWhenSorting = (prop === \"sortBy\" || prop === \"sortDesc\") && (inNoProvider(\"sorting\") || props.noProviderSorting === true);\n if (noProvideWhenPaging || noProvideWhenFiltering || noProvideWhenSorting) return;\n if (usesProvider.value === true) {\n await callItemsProvider();\n }\n if (!(prop === \"currentPage\" || prop === \"perPage\")) {\n emit(\"filtered\", [...computedItems.value]);\n }\n };\n watch(\n () => props.filter,\n (filter, oldFilter) => {\n providerPropsWatch(\"filter\", filter, oldFilter);\n if (filter === oldFilter || usesProvider.value) return;\n if (!filter) {\n emit(\"filtered\", [...computedItems.value]);\n }\n }\n );\n watch(currentPageNumber, (val, oldVal) => {\n providerPropsWatch(\"currentPage\", val, oldVal);\n });\n watch(perPageNumber, (val, oldVal) => {\n providerPropsWatch(\"perPage\", val, oldVal);\n });\n watch(\n sortByModel,\n (val, oldVal) => {\n providerPropsWatch(\"sortBy\", val, oldVal);\n },\n { deep: true }\n );\n watch(\n () => props.provider,\n (newValue) => {\n if (newValue === void 0) {\n internalItems.value = [];\n return;\n }\n callItemsProvider();\n }\n );\n onMounted(callItemsProvider);\n const exposedSelectableUtilities = {\n clearSelected: () => {\n if (!props.selectable) return;\n selectedItemsSetUtilities.clear();\n },\n selectAllRows: () => {\n if (!props.selectable || props.selectMode === \"single\") return;\n selectedItemsToSet.value = /* @__PURE__ */ new Set([...computedItems.value]);\n },\n selectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || selectedItemsSetUtilities.has(item)) return;\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([item]);\n } else {\n selectedItemsSetUtilities.add(item);\n }\n },\n unselectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || !selectedItemsSetUtilities.has(item)) return;\n selectedItemsSetUtilities.delete(item);\n },\n isRowSelected: (index) => {\n if (!props.selectable) return false;\n const item = computedItems.value[index];\n return selectedItemsSetUtilities.has(item);\n }\n };\n const computedLiteProps = computed(() => ({\n ...pick(props, [...btableLiteProps, ...btableSimpleProps]),\n tableAttrs: {\n ariaBusy: busyModel.value\n },\n items: computedDisplayItems.value,\n fields: computedFields.value,\n tableClass: tableClasses.value,\n tbodyTrClass: getRowClasses,\n fieldColumnClass: getFieldColumnClasses,\n id: computedId.value\n }));\n __expose({\n // The row selection methods are really for compat. Users should probably use the v-model though\n ...exposedSelectableUtilities,\n items: computedItems,\n refresh: callItemsProvider\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps(computedLiteProps.value, {\n onHeadClicked: onFieldHeadClick,\n onRowClicked: onRowClick,\n onRowDblclicked: _cache[0] || (_cache[0] = (row, index, e) => {\n emit(\"row-dblclicked\", row, index, e);\n }),\n onRowContextmenu: _cache[1] || (_cache[1] = (row, index, e) => {\n emit(\"row-contextmenu\", row, index, e);\n }),\n onRowHovered: _cache[2] || (_cache[2] = (row, index, e) => {\n emit(\"row-hovered\", row, index, e);\n }),\n onRowUnhovered: _cache[3] || (_cache[3] = (row, index, e) => {\n emit(\"row-unhovered\", row, index, e);\n }),\n onRowMiddleClicked: _cache[4] || (_cache[4] = (row, index, e) => {\n emit(\"row-middle-clicked\", row, index, e);\n })\n }), createSlots({\n \"custom-body\": withCtx((scope) => [\n busyModel.value && slots[\"table-busy\"] ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n class: normalizeClass([\"b-table-busy-slot\", getBusyRowClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\n colspan: scope.fields.length\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-busy\")\n ]),\n _: 2\n }, 1032, [\"colspan\"])\n ]),\n _: 2\n }, 1032, [\"class\"])) : unref(props).showEmpty === true && computedItems.value.length === 0 ? (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n class: \"b-table-empty-row\"\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\n colspan: computedFields.value.length\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\n isFilterableTable.value ? renderSlot(_ctx.$slots, \"empty-filtered\", normalizeProps(mergeProps({ key: 0 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyFilteredText), 1)\n ]) : renderSlot(_ctx.$slots, \"empty\", normalizeProps(mergeProps({ key: 1 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyText), 1)\n ])\n ])\n ])\n ]),\n _: 3\n }, 8, [\"colspan\"])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n slots[\"thead-top\"] ? {\n name: \"thead-top\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-top\", mergeProps(scope, {\n clearSelected: exposedSelectableUtilities.clearSelected,\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n fields: computedFields.value\n }))\n ]),\n key: \"0\"\n } : void 0,\n slots[\"thead-sub\"] ? {\n name: \"thead-sub\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-sub\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"1\"\n } : void 0,\n slots[\"top-row\"] ? {\n name: \"top-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"top-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"2\"\n } : void 0,\n slots[\"row-details\"] ? {\n name: \"row-details\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"row-details\", mergeProps(scope, {\n fields: computedFields.value,\n selectRow: (index = scope.index) => exposedSelectableUtilities.selectRow(index),\n unselectRow: (index = scope.index) => exposedSelectableUtilities.unselectRow(index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ]),\n key: \"3\"\n } : void 0,\n slots[\"bottom-row\"] ? {\n name: \"bottom-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"bottom-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"4\"\n } : void 0,\n slots[\"custom-foot\"] ? {\n name: \"custom-foot\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"custom-foot\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"5\"\n } : void 0,\n slots[\"table-caption\"] ? {\n name: \"table-caption\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-caption\")\n ]),\n key: \"6\"\n } : void 0,\n renderList(dynamicCellSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectRow: (index = scope.index) => exposedSelectableUtilities.selectRow(index),\n unselectRow: (index = scope.index) => exposedSelectableUtilities.unselectRow(index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ])\n };\n }),\n renderList(dynamicFootSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }))\n ])\n };\n }),\n renderList(computedFields.value, (field) => {\n return {\n name: `head(${String(field.key)})`,\n fn: withCtx((scope) => {\n var _a, _b, _c, _d;\n return [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }),\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n ),\n isSortable.value && !!scope.field.sortable && unref(props).noSortableIcon === false ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n ((_b = (_a = sortByModel.value) == null ? void 0 : _a.find((el) => el.key === scope.field.key)) == null ? void 0 : _b.order) === \"asc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortAsc(${String(scope.field.key)})`] ? `sortAsc(${String(scope.field.key)})` : \"sortAsc()\",\n normalizeProps(mergeProps({ key: 0 }, scope)),\n () => [\n _cache[5] || (_cache[5] = createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-up-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"\n })\n ], -1))\n ]\n ) : ((_d = (_c = sortByModel.value) == null ? void 0 : _c.find((el) => el.key === scope.field.key)) == null ? void 0 : _d.order) === \"desc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortDesc(${String(scope.field.key)})`] ? `sortDesc(${String(scope.field.key)})` : \"sortDesc()\",\n normalizeProps(mergeProps({ key: 1 }, scope)),\n () => [\n _cache[6] || (_cache[6] = createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-down-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\"\n })\n ], -1))\n ]\n ) : renderSlot(\n _ctx.$slots,\n slots[`sortDefault(${String(scope.field.key)})`] ? `sortDefault(${String(scope.field.key)})` : \"sortDefault()\",\n normalizeProps(mergeProps({ key: 2 }, scope)),\n () => [\n (openBlock(), createElementBlock(\"svg\", _hoisted_1, _cache[7] || (_cache[7] = [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"\n }, null, -1)\n ])))\n ]\n )\n ], 64)) : createCommentVNode(\"\", true)\n ];\n })\n };\n })\n ]), 1040);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a,\n _sfc_main$7 as b,\n _sfc_main$6 as c,\n _sfc_main$5 as d,\n _sfc_main$4 as e,\n _sfc_main$3 as f,\n _sfc_main$2 as g\n};\n//# sourceMappingURL=BTable.vue_vue_type_script_setup_true_lang-D8F_wIwL.mjs.map\n","import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, watch, unref, openBlock, createBlock, Transition, mergeProps, withCtx, withDirectives, createElementVNode, normalizeClass, resolveDynamicComponent, renderSlot, toDisplayString, createCommentVNode, createTextVNode, vShow, createElementBlock, Fragment, renderList, createVNode, TransitionGroup } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BTLXvYhO.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs\";\nimport { _ as _sfc_main$4 } from \"./BProgress.vue_vue_type_script_setup_true_lang-BOhOz9Pk.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-CJ6C8i_a.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useId } from \"./useId-c2wnQbyL.mjs\";\nimport { u as useShowHide } from \"./useShowHide-DPX837gG.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { _ as _sfc_main$5 } from \"./ConditionalTeleport.vue_vue_type_script_lang-2PJ2jBTg.mjs\";\nimport { useToastController } from \"./src/composables/useToastController/index.mjs\";\nconst _hoisted_1 = [\"id\", \"role\", \"aria-live\", \"aria-atomic\"];\nconst _hoisted_2 = { class: \"me-auto\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BToast\",\n props: /* @__PURE__ */ mergeModels({\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n id: { default: void 0 },\n interval: { default: \"requestAnimationFrame\" },\n isStatus: { type: Boolean, default: false },\n noCloseButton: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n progressProps: { default: void 0 },\n showOnPause: { type: Boolean, default: true },\n solid: { type: Boolean, default: false },\n title: { default: void 0 },\n toastClass: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: null },\n textVariant: { default: null },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean, default: void 0 },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToast\");\n const emit = __emit;\n const slots = useSlots();\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const computedId = useId(() => props.id, \"toast\");\n const {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing\n } = useShowHide(modelValue, props, emit, element, computedId);\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs\n } = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === \"number\" && !!modelValue.value\n });\n useCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause || typeof modelValue.value !== \"number\",\n noResumeOnHoverLeave: props.noResumeOnHoverLeave || typeof modelValue.value !== \"number\",\n modelValueIgnoresHover: typeof modelValue.value === \"boolean\"\n })),\n { pause, resume }\n );\n watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$2 : \"div\");\n const isToastVisible = computed(\n () => showRef.value || isActive.value || props.showOnPause && isPaused.value\n );\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value\n }\n ]);\n watch(modelValue, (newValue) => {\n if (typeof newValue === \"number\") {\n const event = buildTriggerableEvent(\"show\", { cancelable: true, trigger: \"model\" });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n } else {\n restart();\n }\n }\n });\n watch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide();\n modelValue.value = 0;\n stop();\n }\n });\n __expose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop\n });\n return (_ctx, _cache) => {\n return unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: !!modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(props).id,\n ref: \"_element\",\n class: normalizeClass([\"toast\", [unref(props).toastClass, computedClasses.value]]),\n tabindex: \"0\",\n role: !isToastVisible.value ? void 0 : unref(props).isStatus ? \"status\" : \"alert\",\n \"aria-live\": !isToastVisible.value ? void 0 : unref(props).isStatus ? \"polite\" : \"assertive\",\n \"aria-atomic\": !isToastVisible.value ? void 0 : true\n }, [\n unref(contentShowing) && (slots.title || unref(props).title) ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n key: 0,\n class: normalizeClass([\"toast-header\", unref(props).headerClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", { hide: unref(hide) }, () => [\n createElementVNode(\"strong\", _hoisted_2, toDisplayString(unref(props).title), 1)\n ], true),\n !unref(props).noCloseButton ? (openBlock(), createBlock(_sfc_main$3, {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true),\n unref(contentShowing) && (slots.default || unref(props).body) ? (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n key: 1,\n class: [\"toast-body\", unref(props).bodyClass],\n style: { \"display\": \"block\" }\n }, unref(computedLinkProps), {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(computedLink) ? unref(hide)() : () => {\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", { hide: unref(hide) }, () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ], true)\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true),\n typeof modelValue.value === \"number\" && unref(props).progressProps !== void 0 ? (openBlock(), createBlock(_sfc_main$4, {\n key: 2,\n animated: unref(props).progressProps.animated,\n precision: unref(props).progressProps.precision,\n \"show-progress\": unref(props).progressProps.showProgress,\n \"show-value\": unref(props).progressProps.showValue,\n striped: unref(props).progressProps.striped,\n variant: unref(props).progressProps.variant,\n max: modelValue.value,\n value: unref(remainingMs),\n height: \"4px\"\n }, null, 8, [\"animated\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"variant\", \"max\", \"value\"])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1), [\n [vShow, isToastVisible.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true);\n };\n }\n});\nconst BToast = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-eeb0e3de\"]]);\nconst positionClasses = {\n \"top-start\": \"top-0 start-0\",\n \"top-center\": \"top-0 start-50 translate-middle-x\",\n \"top-end\": \"top-0 end-0\",\n \"middle-start\": \"top-50 start-0 translate-middle-y\",\n \"middle-center\": \"top-50 start-50 translate-middle\",\n \"middle-end\": \"top-50 end-0 translate-middle-y\",\n \"bottom-start\": \"bottom-0 start-0\",\n \"bottom-center\": \"bottom-0 start-50 translate-middle-x\",\n \"bottom-end\": \"bottom-0 end-0\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BToastOrchestrator\",\n props: {\n appendToast: { type: Boolean, default: false },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToastOrchestrator\");\n const tools = useToastController();\n watch(\n () => props.appendToast,\n (value) => {\n var _a;\n (_a = tools._setIsAppend) == null ? void 0 : _a.call(tools, value);\n },\n { immediate: true }\n );\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$5, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", mergeProps({ id: \"__BVID__toaster-container\" }, _ctx.$attrs), [\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(positionClasses), (value, key) => {\n return openBlock(), createElementBlock(\"div\", {\n key,\n class: normalizeClass([value, \"toast-container position-fixed p-3\"])\n }, [\n createVNode(TransitionGroup, { name: \"b-list\" }, {\n default: withCtx(() => {\n var _a;\n return [\n (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(tools).toasts) == null ? void 0 : _a.value.filter((el) => el.props.pos === key), (toast) => {\n return openBlock(), createElementBlock(\"span\", {\n key: toast.props._self\n }, [\n (openBlock(), createBlock(resolveDynamicComponent(toast.component ?? BToast), mergeProps({ ref_for: true }, toast.props, {\n \"model-value\": toast.props._modelValue,\n \"initial-animation\": \"\",\n \"onUpdate:modelValue\": ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).leave) == null ? void 0 : _b.call(_a2, toast.props._self);\n },\n onHidden: ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).remove) == null ? void 0 : _b.call(_a2, toast.props._self);\n }\n }), null, 16, [\"model-value\", \"onUpdate:modelValue\", \"onHidden\"]))\n ]);\n }), 128))\n ];\n }),\n _: 2\n }, 1024)\n ], 2);\n }), 128))\n ], 16)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n BToast as B,\n _sfc_main as _\n};\n//# sourceMappingURL=BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH.mjs.map\n","const componentsWithExternalPath = {\n BAccordion: \"/components/BAccordion\",\n BAccordionItem: \"/components/BAccordion\",\n BAlert: \"/components/BAlert\",\n BAvatar: \"/components/BAvatar\",\n BAvatarGroup: \"/components/BAvatar\",\n BBadge: \"/components/BBadge\",\n BBreadcrumb: \"/components/BBreadcrumb\",\n BBreadcrumbItem: \"/components/BBreadcrumb\",\n BButton: \"/components/BButton\",\n BButtonGroup: \"/components/BButton\",\n BButtonToolbar: \"/components/BButton\",\n BCloseButton: \"/components/BButton\",\n BCard: \"/components/BCard\",\n BCardBody: \"/components/BCard\",\n BCardFooter: \"/components/BCard\",\n BCardGroup: \"/components/BCard\",\n BCardHeader: \"/components/BCard\",\n BCardImg: \"/components/BCard\",\n BCardSubtitle: \"/components/BCard\",\n BCardText: \"/components/BCard\",\n BCardTitle: \"/components/BCard\",\n BCarousel: \"/components/BCarousel\",\n BCarouselSlide: \"/components/BCarousel\",\n BCol: \"/components/BContainer\",\n BCollapse: \"/components/BCollapse\",\n BContainer: \"/components/BContainer\",\n BDropdown: \"/components/BDropdown\",\n BDropdownDivider: \"/components/BDropdown\",\n BDropdownForm: \"/components/BDropdown\",\n BDropdownGroup: \"/components/BDropdown\",\n BDropdownHeader: \"/components/BDropdown\",\n BDropdownItem: \"/components/BDropdown\",\n BDropdownItemButton: \"/components/BDropdown\",\n BDropdownText: \"/components/BDropdown\",\n BForm: \"/components/BForm\",\n BFormCheckbox: \"/components/BFormCheckbox\",\n BFormCheckboxGroup: \"/components/BFormCheckbox\",\n BFormDatalist: \"/components/BForm\",\n BFormFile: \"/components/BFormFile\",\n BFormFloatingLabel: \"/components/BForm\",\n BFormGroup: \"/components/BFormGroup\",\n BFormInput: \"/components/BFormInput\",\n BFormInvalidFeedback: \"/components/BForm\",\n BFormRadio: \"/components/BFormRadio\",\n BFormRadioGroup: \"/components/BFormRadio\",\n BFormRow: \"/components/BForm\",\n BFormSelect: \"/components/BFormSelect\",\n BFormSelectOption: \"/components/BFormSelect\",\n BFormSelectOptionGroup: \"/components/BFormSelect\",\n BFormSpinbutton: \"/components/BFormSpinbutton\",\n BFormTag: \"/components/BFormTags\",\n BFormTags: \"/components/BFormTags\",\n BFormText: \"/components/BForm\",\n BFormTextarea: \"/components/BFormTextarea\",\n BFormValidFeedback: \"/components/BForm\",\n BImg: \"/components/BImg\",\n BInput: \"/components/BFormInput\",\n BInputGroup: \"/components/BInputGroup\",\n BInputGroupText: \"/components/BInputGroup\",\n BListGroup: \"/components/BListGroup\",\n BListGroupItem: \"/components/BListGroup\",\n BModal: \"/components/BModal\",\n BModalOrchestrator: \"/components/BModal\",\n BNav: \"/components/BNav\",\n BNavForm: \"/components/BNav\",\n BNavItem: \"/components/BNav\",\n BNavItemDropdown: \"/components/BNav\",\n BNavText: \"/components/BNav\",\n BNavbar: \"/components/BNavbar\",\n BNavbarBrand: \"/components/BNavbar\",\n BNavbarNav: \"/components/BNavbar\",\n BNavbarToggle: \"/components/BNavbar\",\n BOffcanvas: \"/components/BOffcanvas\",\n BOverlay: \"/components/BOverlay\",\n BPagination: \"/components/BPagination\",\n BPlaceholder: \"/components/BPlaceholder\",\n BPlaceholderButton: \"/components/BPlaceholder\",\n BPlaceholderCard: \"/components/BPlaceholder\",\n BPlaceholderTable: \"/components/BPlaceholder\",\n BPlaceholderWrapper: \"/components/BPlaceholder\",\n BPopover: \"/components/BPopover\",\n BProgress: \"/components/BProgress\",\n BRow: \"/components/BContainer\",\n BSpinner: \"/components/BSpinner\",\n BTab: \"/components/BTabs\",\n BTabs: \"/components/BTabs\",\n BToast: \"/components/BToast\",\n BToastOrchestrator: \"/components/BToast\",\n BTooltip: \"/components/BTooltip\",\n BLink: \"/components/BLink\",\n BProgressBar: \"/components/BProgress\",\n BTableSimple: \"/components/BTable\",\n BTableLite: \"/components/BTable\",\n BTable: \"/components/BTable\",\n BTbody: \"/components/BTable\",\n BTd: \"/components/BTable\",\n BTh: \"/components/BTable\",\n BThead: \"/components/BTable\",\n BTfoot: \"/components/BTable\",\n BTr: \"/components/BTable\",\n BPopoverOrchestrator: \"/components/BPopover\"\n};\nconst componentNames = Object.freeze(\n Object.keys(componentsWithExternalPath)\n);\nconst directivesWithExternalPath = {\n vBColorMode: \"/directives/BColorMode\",\n vBModal: \"/directives/BModal\",\n vBPopover: \"/directives/BPopover\",\n vBScrollspy: \"/directives/BScrollspy\",\n vBToggle: \"/directives/BToggle\",\n vBTooltip: \"/directives/BTooltip\"\n};\nconst directiveNames = Object.freeze(\n Object.keys(directivesWithExternalPath)\n);\nconst composablesWithExternalPath = {\n useBreadcrumb: \"/composables/useBreadcrumb\",\n useColorMode: \"/composables/useColorMode\",\n useModal: \"/composables/useModal\",\n useModalController: \"/composables/useModalController\",\n useScrollspy: \"/composables/useScrollspy\",\n useToastController: \"/composables/useToastController\",\n usePopoverController: \"/composables/usePopoverController\"\n};\nconst composableNames = Object.freeze(\n Object.keys(composablesWithExternalPath)\n);\nconst bvKey = \"bootstrap-vue-next\";\nconst parseActiveImports = (options, values) => {\n const { all, ...others } = options;\n const valuesCopy = {};\n if (all) {\n values.forEach((el) => {\n valuesCopy[el] = all;\n });\n }\n const merge = { ...valuesCopy, ...others };\n return Object.entries(merge).filter(([name, value]) => !!value && values.includes(name)).map(([name]) => name);\n};\nconst usedComponents = /* @__PURE__ */ new Set();\nconst usedDirectives = /* @__PURE__ */ new Set();\nconst BootstrapVueNextResolver = Object.assign(\n ({\n aliases = {},\n directives = true,\n components = true\n } = {}) => {\n const selectedComponents = typeof components === \"boolean\" ? { all: components } : components;\n const compImports = parseActiveImports(selectedComponents, componentNames).reduce(\n (map, name) => {\n map.set(name, `${bvKey}${componentsWithExternalPath[name]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const selectedDirectives = typeof directives === \"boolean\" ? { all: directives } : directives;\n const dirImports = parseActiveImports(selectedDirectives, directiveNames).reduce(\n (map, directive) => {\n const key = directive.toLowerCase().startsWith(\"v\") ? directive : `v${directive}`;\n map.set(key, `${bvKey}${directivesWithExternalPath[key]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const resolvers = [\n {\n type: \"component\",\n resolve(name) {\n const destination = compImports.get(name);\n const aliasDestination = compImports.get(aliases[name]);\n if (aliasDestination) {\n const val = aliases[name];\n usedComponents.add(val);\n return {\n name: val,\n from: aliasDestination\n };\n }\n if (destination) {\n usedComponents.add(name);\n return {\n name,\n from: destination\n };\n }\n }\n },\n {\n type: \"directive\",\n resolve(name) {\n const prefixedName = `v${name}`;\n const destination = dirImports.get(prefixedName);\n if (destination) {\n usedDirectives.add(prefixedName);\n return {\n name: prefixedName,\n from: destination\n };\n }\n }\n }\n ];\n return resolvers;\n },\n {\n __usedComponents: usedComponents,\n __usedDirectives: usedDirectives\n }\n);\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BootstrapVueNextResolver\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n BootstrapVueNextResolver as B,\n componentsWithExternalPath as a,\n composableNames as b,\n componentNames as c,\n composablesWithExternalPath as d,\n directiveNames as e,\n directivesWithExternalPath as f,\n index as i\n};\n//# sourceMappingURL=index-sLCKmIWG.mjs.map\n","import { ref } from \"vue\";\nimport { d as defaultsKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst bootstrapPlugin = {\n install(app, options) {\n const val = (options == null ? void 0 : options.components) ?? {};\n app.provide(defaultsKey, ref(val));\n }\n};\nexport {\n bootstrapPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref } from \"vue\";\nimport { b as breadcrumbPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst breadcrumbPlugin = {\n install(app) {\n const items = ref([]);\n const reset = () => {\n items.value.splice(0, items.value.length);\n };\n app.provide(breadcrumbPluginKey, { items, reset });\n }\n};\nexport {\n breadcrumbPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref, toRef, markRaw, watch } from \"vue\";\nimport { m as modalControllerPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst modalControllerPlugin = {\n install(app) {\n const modals = ref(/* @__PURE__ */ new Map());\n const buildPromise = () => {\n let resolveFunc = () => {\n };\n const promise = new Promise((resolve) => {\n resolveFunc = resolve;\n });\n return {\n value: promise,\n resolve: resolveFunc\n };\n };\n const buildPrereqs = (id) => [buildPromise(), id || Symbol(\"Modals controller\"), true];\n const show = (obj = {}) => {\n var _a;\n const resolvedProps = toRef(obj.props);\n const [_promise, _self, _modelValue] = buildPrereqs((_a = resolvedProps.value) == null ? void 0 : _a.id);\n modals.value.set(_self, {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: { ...resolvedProps.value, _isConfirm: false, _promise, _modelValue }\n });\n watch(resolvedProps, (newValue) => {\n const previous = modals.value.get(_self);\n if (!previous) return;\n modals.value.set(_self, {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: { ...previous.props, ...newValue }\n });\n });\n return _promise.value;\n };\n const confirm = (obj = {}) => {\n var _a;\n const resolvedProps = toRef(obj.props);\n const [_promise, _self, _modelValue] = buildPrereqs((_a = resolvedProps.value) == null ? void 0 : _a.id);\n modals.value.set(_self, {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: { ...resolvedProps.value, _isConfirm: true, _promise, _modelValue }\n });\n watch(resolvedProps, (newValue) => {\n const previous = modals.value.get(_self);\n if (!previous) return;\n modals.value.set(_self, {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: { ...previous.props, ...newValue }\n });\n });\n return _promise.value;\n };\n const leave = (self) => {\n const modal = modals.value.get(self);\n if (!(modal == null ? void 0 : modal.props)) return;\n modal.props = {\n ...modal.props,\n _modelValue: false\n };\n };\n const remove = (self) => {\n modals.value.delete(self);\n };\n app.provide(modalControllerPluginKey, {\n modals,\n remove,\n show,\n confirm,\n leave\n });\n }\n};\nexport {\n modalControllerPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref, computed, readonly } from \"vue\";\nimport { a as modalManagerPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst modalManagerPlugin = {\n install(app) {\n const stack = ref(/* @__PURE__ */ new Map());\n const countStack = computed(() => stack.value.size);\n const valuesStack = computed(() => [...stack.value.values()]);\n const lastStack = computed(() => valuesStack.value[valuesStack.value.length - 1]);\n const pushStack = (modal) => {\n stack.value.set(modal.uid, modal);\n };\n const removeStack = (modal) => {\n stack.value.delete(modal.uid);\n };\n const registry = ref(/* @__PURE__ */ new Map());\n const pushRegistry = (modal) => {\n registry.value.set(modal.uid, modal);\n };\n const removeRegistry = (modal) => {\n registry.value.delete(modal.uid);\n };\n app.provide(modalManagerPluginKey, {\n countStack,\n lastStack,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n registry: readonly(registry),\n stack: valuesStack,\n pushStack,\n removeStack,\n pushRegistry,\n removeRegistry\n });\n }\n};\nexport {\n modalManagerPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref, toRef, watch, isRef, onScopeDispose, toValue } from \"vue\";\nimport { p as popoverPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst popoverPlugin = {\n install(app) {\n const popovers = ref(/* @__PURE__ */ new Map());\n const popover = (obj) => {\n var _a;\n const resolvedProps = toRef(obj);\n const _self = ((_a = resolvedProps.value) == null ? void 0 : _a.id) || Symbol(\"Popover controller\");\n watch(\n resolvedProps,\n (newValue) => {\n popovers.value.set(_self, {\n ...newValue,\n ...typeof newValue[\"modelValue\"] !== \"undefined\" && isRef(obj) ? {\n \"onUpdate:modelValue\": (val) => {\n var _a2;\n (_a2 = newValue[\"onUpdate:modelValue\"]) == null ? void 0 : _a2.call(newValue, val);\n obj.value.modelValue = val;\n }\n } : {}\n });\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => popovers.value.delete(_self), true);\n return _self;\n };\n const setPopover = (self, val) => {\n const popover2 = popovers.value.get(self);\n if (!popover2) return;\n popovers.value.set(self, {\n ...popover2,\n ...toValue(val)\n });\n };\n const removePopover = (self) => popovers.value.delete(self);\n const tooltips = ref(/* @__PURE__ */ new Map());\n const tooltip = (obj) => {\n var _a;\n const resolvedProps = toRef(obj);\n const _self = ((_a = resolvedProps.value) == null ? void 0 : _a.id) || Symbol(\"Tooltip controller\");\n watch(\n resolvedProps,\n (newValue) => {\n popovers.value.set(_self, {\n ...newValue,\n ...typeof newValue[\"modelValue\"] !== \"undefined\" && isRef(obj) ? {\n \"onUpdate:modelValue\": (val) => {\n var _a2;\n (_a2 = newValue[\"onUpdate:modelValue\"]) == null ? void 0 : _a2.call(newValue, val);\n obj.value.modelValue = val;\n }\n } : {}\n });\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => tooltips.value.delete(_self), true);\n return _self;\n };\n const setTooltip = (self, val) => {\n const tooltip2 = tooltips.value.get(self);\n if (!tooltip2) return;\n tooltips.value.set(self, {\n ...tooltip2,\n ...toValue(val)\n });\n };\n const removeTooltip = (self) => tooltips.value.delete(self);\n app.provide(popoverPluginKey, {\n popovers,\n tooltips,\n tooltip,\n popover,\n setPopover,\n setTooltip,\n removePopover,\n removeTooltip\n });\n }\n};\nexport {\n popoverPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref } from \"vue\";\nimport { r as rtlPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst rtlPlugin = {\n install(app, options) {\n var _a, _b;\n const rtlDefault = false;\n const localeDefault = void 0;\n const rtlInitial = typeof (options == null ? void 0 : options.rtl) === \"boolean\" ? rtlDefault : ((_a = options == null ? void 0 : options.rtl) == null ? void 0 : _a.rtlInitial) ?? rtlDefault;\n const localeInitial = typeof (options == null ? void 0 : options.rtl) === \"boolean\" ? localeDefault : ((_b = options == null ? void 0 : options.rtl) == null ? void 0 : _b.localeInitial) ?? localeDefault;\n const isRtl = ref(rtlInitial);\n const locale = ref(localeInitial);\n app.provide(rtlPluginKey, { isRtl, locale });\n }\n};\nexport {\n rtlPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref, toRef, markRaw, watch } from \"vue\";\nimport { t as toastPluginKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst posDefault = \"top-end\";\nconst toastPlugin = {\n install(app) {\n const toasts = ref([]);\n const _isAppend = ref(false);\n const _setIsAppend = (value) => {\n _isAppend.value = value;\n };\n const show = (obj = {}) => {\n var _a, _b, _c, _d;\n const resolvedProps = toRef(obj.props);\n const _self = ((_a = resolvedProps.value) == null ? void 0 : _a.id) || Symbol(\"Toast controller\");\n const toastToAdd = {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: {\n ...resolvedProps.value,\n pos: ((_b = resolvedProps.value) == null ? void 0 : _b.pos) || posDefault,\n _modelValue: ((_c = resolvedProps.value) == null ? void 0 : _c.value) || 5e3,\n _self\n }\n };\n if (((_d = resolvedProps.value) == null ? void 0 : _d.appendToast) !== void 0 ? resolvedProps.value.appendToast : _isAppend.value) {\n toasts.value.push(toastToAdd);\n } else {\n toasts.value.unshift(toastToAdd);\n }\n watch(resolvedProps, (newValue) => {\n const previousIndex = toasts.value.findIndex((el) => el.props._self === _self);\n if (previousIndex === -1) return;\n toasts.value.splice(previousIndex, 1, {\n component: !obj.component ? void 0 : markRaw(obj.component),\n props: {\n ...toasts.value[previousIndex].props,\n ...newValue,\n _modelValue: (newValue == null ? void 0 : newValue.value) || toasts.value[previousIndex].props._modelValue || 5e3\n }\n });\n });\n return _self;\n };\n const remove = (self) => {\n toasts.value = toasts.value.filter((el) => el.props._self !== self);\n };\n const leave = (self) => {\n const toastIndex = toasts.value.findIndex((el) => el.props._self === self);\n if (toastIndex === -1) return;\n toasts.value.splice(toastIndex, 1, {\n component: !toasts.value[toastIndex].component ? void 0 : markRaw(toasts.value[toastIndex].component),\n props: {\n ...toasts.value[toastIndex].props,\n _modelValue: false\n }\n });\n };\n app.provide(toastPluginKey, {\n _setIsAppend,\n toasts,\n show,\n remove,\n leave\n });\n }\n};\nexport {\n toastPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { reactive, readonly, computed } from \"vue\";\nimport { g as globalShowHideStorageInjectionKey } from \"../../../keys-41Cw9q6f.mjs\";\nconst showHidePlugin = {\n install(app) {\n const values = reactive({});\n const fun = ({ id, value, toggle, show, hide }) => {\n values[id] = computed(() => ({ value: value.value, toggle, show, hide }));\n return {\n unregister() {\n delete values[id];\n }\n };\n };\n fun.map = readonly(values);\n app.provide(globalShowHideStorageInjectionKey, fun);\n }\n};\nexport {\n showHidePlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { breadcrumbPlugin } from \"../breadcrumb/index.mjs\";\nimport { bootstrapPlugin } from \"../bootstrap/index.mjs\";\nimport { modalControllerPlugin } from \"../modalController/index.mjs\";\nimport { modalManagerPlugin } from \"../modalManager/index.mjs\";\nimport { popoverPlugin } from \"../popoverController/index.mjs\";\nimport { rtlPlugin } from \"../rtl/index.mjs\";\nimport { toastPlugin } from \"../toastController/index.mjs\";\nimport { showHidePlugin } from \"../showHide/index.mjs\";\nconst createBootstrap = (pluginData = {}) => ({\n install(app) {\n if (pluginData.breadcrumb ?? true) {\n app.use(breadcrumbPlugin);\n }\n if (pluginData.modalController ?? true) {\n app.use(modalControllerPlugin);\n }\n if (pluginData.modalManager ?? true) {\n app.use(modalManagerPlugin);\n }\n if ((pluginData.rtl ?? true) || typeof pluginData.rtl === \"object\") {\n app.use(rtlPlugin, pluginData);\n }\n if (pluginData.toast ?? true) {\n app.use(toastPlugin);\n }\n if (pluginData.popover ?? true) {\n app.use(popoverPlugin);\n }\n app.use(showHidePlugin);\n app.use(bootstrapPlugin, pluginData);\n }\n});\nexport {\n createBootstrap\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["withBvnPrefix","value","suffix","suffixWithTrail","createBvnInjectionKey","name","createBvnPluginInjectionKey","progressInjectionKey","listGroupInjectionKey","collapseInjectionKey","globalShowHideStorageInjectionKey","navbarInjectionKey","rtlPluginKey","breadcrumbPluginKey","modalManagerPluginKey","defaultsKey","buttonGroupKey","toastPluginKey","modalControllerPluginKey","popoverPluginKey","formGroupPluginKey","injectSelf","key","vm","getCurrentInstance","provides","message","getCurrentInstance$1","toKebabCase","str","isObject","obj","mergeDeep","source","target","arrayFn","out","sourceProperty","targetProperty","propIsDefined","vnode","prop","_a","_b","internalUseDefaults","props","defaults","inject","ref","componentDefaults","computed","_props","_c","_d","propValue","v","_subcomponentDefaults","shallowRef","watchEffect","subComponents","provideSubDefaults","injected","provide","useDefaults","useColorVariantClasses","toValue","omit","objToPluck","keysToPluck","el","result","pick","memo","get","path","defaultValue","segments","current","upperFirst","trim","toPascalCase","match","isLink","useBLinkHelper","pickProps","pickPropsResolved","readonly","toRef","resolvedProps","computedLink","computedLinkProps","useBLinkTagResolver","instance","router","route","RouterLinkComponent","resolveDynamicComponent","useLink","resolvedTo","resolvedReplace","routerName","tag","isRouterLink","isNuxtLink","isNonStandardTag","isOfRouterType","linkProps","_link","link","computedHref","toFallback","stableTo","query","e","_a2","hash","useLinkClasses","defaultActiveClass","_sfc_main","defineComponent","__props","__emit","emit","attrs","useAttrs","collapseData","navbarData","linkValueClasses","computedClasses","computedLinkClasses","clicked","computedRel","computedTabIndex","nuxtSpecificProps","computedSpecificProps","_ctx","_cache","openBlock","createBlock","unref","mergeProps","withCtx","renderSlot","useAlignment","align","useContainerClasses","resolvedValue","_sfc_main$3","computedRole","containerClass","colorClasses","normalizeClass","createElementBlock","_sfc_main$1","alignment","_hoisted_1","__expose","element","useTemplateRef","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","createSharedComposable","composable","subscribers","state","scope","dispose","args","effectScope","makeDestructurable","arr","clone","index","r","isClient","notNullish","val","toString","timestamp","noop","isIOS","getIsIOS","createFilterWrapper","filter","wrapper","resolve","reject","debounceFilter","ms","options","timer","maxTimer","lastRejector","_clearTimeout","timer2","invoke","duration","maxDuration","throttleFilter","lastExec","isLeading","lastValue","trailing","leading","rejectOnCancel","isRef","clear","_invoke","elapsed","cacheStringFunction","cache","camelizeRE","camelize","_","c","toRef$1","customRef","useDebounceFn","useThrottleFn","useIntervalFn","cb","interval","immediate","immediateCallback","isActive","clean","pause","resume","intervalValue","stopWatch","watch","useToNumber","method","radix","nanToZero","resolved","createReusableTemplate","inheritAttrs","render","define","slots","reuse","keysToCamelKebabCase","newObj","defaultWindow","unrefElement","elRef","plain","useEventListener","events","listeners","cleanups","cleanup","register","event","listener","options2","optionsClone","stop","createKeyPredicate","keyFilter","onKeyStroke","handler","eventName","passive","dedupe","predicate","useMounted","isMounted","onMounted","useSupported","callback","useMutationObserver","window2","mutationOptions","observer","isSupported","targets","items","targets2","takeRecords","useRafFn","fpsLimit","intervalLimit","previousFrameTimestamp","rafId","loop","timestamp2","delta","_global","globalKey","handlers","getHandlers","getSSRHandler","fallback","useElementHover","delayEnter","delayLeave","isHovered","toggle","entering","delay","useFocus","initialValue","focusVisible","preventScroll","innerFocused","targetElement","focused","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","elInitialOverflow","useScrollLock","initialState","isLocked","stopTouchMoveListener","initialOverflow","lock","unlock","useTimestamp","exposeControls","offset","ts","update","controls","useId","id","genId","useId$1","h","Teleport","__defProp","__defNormalProp","__publicField","BvEvent","eventType","eventInit","setter","BvTriggerableEvent","fadeBaseTransitionProps","useShowHide","modelValue","computedId","noAction","initialShow","showRef","renderRef","renderBackdropRef","isCountdown","show","hide","localNoAnimation","localTemporaryHide","computedNoAnimation","buildTriggerableEvent","isVisible","backdropVisible","backdropReady","newval","nextTick","type","opts","showTimeout","_a3","trigger","event2","isLeaving","throttleHide","a","throttleShow","appRegistry","onBeforeUnmount","lazyLoadCompleted","markLazyLoadCompleted","onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave","contentShowing","trapActive","transitionFunctions","_export_sfc","sfc","getActiveElement","excludes","activeElement","attemptFocus","isActiveElement","el2","isEmptySlot","bcr","useSlots","hasLabelSlot","createTextVNode","toDisplayString","createCommentVNode","mergeModels","pressedValue","useModel","isToggle","isButton","isBLink","nonStandardTag","computedAriaDisabled","variantIsLinkType","variantIsLinkTypeSubset","computedTag","Fragment","createVNode","_sfc_main$2","_hoisted_1$2","_sfc_main$6","$event","modalOpenClassName","useSharedModalStack","modalManagerPlugin","modal","updateHTMLAttrs","selector","attribute","newValue","useModalManager","modalOpen","pushRegistry","pushStack","removeStack","stack","countStack","currentModal","setInStack","oldValue","useCountdown","length","timestampOpts","resolvedLength","isPaused","restart","myPause","myResume","remainingTime","useCountdownHover","actions","isHovering","onMouseEnter","onMouseLeave","useFadeTransition","fade","NO_FADE_PROPS","FADE_PROPS","fadeTransitions","hasCloseSlot","countdownLength","closeClasses","remainingMs","isAlertVisible","closeAttrs","Transition","BAlert","placementClasses","pos","useRadiusElementClasses","resolveRadiusElement","strValue","heightNumber","widthNumber","radiusElementClasses","computedSrcset","x","computedSizes","computedDimentions","width","height","computedBlankImgSrc","makeBlankImgSrc","computedAlignment","color","_sfc_main$7","baseAlignmentClasses","computedImgProps","_sfc_main$8","_sfc_main$5","_sfc_main$4","hasTitleSlot","hasSubtitleSlot","hasHeaderSlot","hasFooterSlot","imgAttr","ReusableImg","normalizeProps","getClasses","els","propPrefix","classPrefix","classList","rowColsClasses","useFormSelect","isComplex","option","normalizeOption","propsValue","text","disabled","normalizeOptions","computedShow","useAriaInvalid","ariaInvalid","resolvedAriaInvalid","resolvedState","useStateClass","suffixPropName","INPUTS","LabelContentTemplate","ContentTemplate","computedState","childId","computedLabelFor","breakPoints","getColProps","props2","prefix","breakpoint","content","contentColProps","labelAlignClasses","labelColProps","isHorizontal","stateClass","computedAriaInvalid","onLegendClick","tagName","inputs","inp","labelId","labelTag","labelClasses","invalidFeedbackId","validFeedbackId","descriptionId","isFieldset","normalizeInput","modelModifiers","parsed","useFormInput","input","forceUpdateKey","debounceNumber","debounceMaxWaitNumber","formGroupData","internalUpdateModelValue","updateModelValue","force","_formatValue","evt","onActivated","formattedValue","nextModel","needsForceUpdate","onInput","onChange","onBlur","focus","blur","isRange","isColor","_hoisted_1$1","normalizedOptions","normalizedOptsWrapper","renderList","selectSizeNumber","computedSelectSize","localValue","withDirectives","vModelSelect","useTextareaResize","maxRowsNumber","rowsNumber","computedMinRows","computedMaxRows","computedRows","handleHeightChange","computedStyle","lineHeight","border","padding","minHeight","oldHeight","scrollHeight","contentRows","rows","newHeight","computedStyles","resizeStyles","normalizeStyle","horizontal","parentData","tagComputed","isAction","computedAttrs","localAttrs","candidateSelectors","candidateSelector","NoElement","matches","getRootNode","_element$getRootNode","isInert","isInert2","node","lookUp","_node$getAttribute","inertAtt","inert","isContentEditable","_node$getAttribute2","attValue","getCandidates","includeContainer","candidates","getCandidatesIteratively","getCandidatesIteratively2","elements","elementsToCheck","assigned","nestedCandidates","validCandidate","shadowRoot","validShadowRoot","_nestedCandidates","hasTabIndex","getTabIndex","getSortOrderTabIndex","isScope","tabIndex","sortOrderedTabbables","b","isInput","isHiddenInput","isDetailsWithSummary","child","getCheckedRadio","nodes","form","i","isTabbableRadio","radioScope","queryRadios","radioSet","err","checked","isRadio","isNonTabbableRadio","isNodeAttached","_nodeRoot","nodeRoot","nodeRootHost","attached","_nodeRootHost","_nodeRootHost$ownerDo","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isZeroArea","_node$getBoundingClie","isHidden","_ref","displayCheck","getShadowRoot","isDirectSummary","nodeUnderDetails","originalNode","parentElement","rootNode","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","sortByOrder","sortByOrder2","regularTabbables","orderedTabbables","item","candidateTabindex","acc","sortable","tabbable","container","focusable","isTabbable","focusableCandidateSelector","isFocusable","_arrayLikeToArray","n","_arrayWithoutHoles","_defineProperty","t","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","o","r2","_objectSpread2","_toConsumableArray","_unsupportedIterableToArray","_toPrimitive","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","valueOrHandler","_len","params","_key","getActualTarget","internalTrapStack","createFocusTrap","userOptions","doc","config","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","composedPath","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","focusableNodes","lastTabbableNode","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","forward","nodeIdx","group","g","_getActiveElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","mutation","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","onPause","onPostPause","unpauseOptions","onUnpause","onPostUnpause","containerElements","elementsAsArray","useFocusTrap","focusTrapOptions","hasFocus","activate","deactivate","unpause","_targets","_el","useActivatedFocusTrap","noTrap","fallbackFocus","focusTrapOpts","resolvedIsActive","resolvedNoTrap","checkNeedsFocus","tabbableElements","needsFallback","useScrollLock$1","prevousRightPadding","lockRegistry","useSafeScrollLock","isOpen","bodyScroll","resolvedIsOpen","inverseBodyScrollingValue","toValue$1","modelVal","bodyVal","scrollBarGap","hasLocked","myLocked","hasLockedAfter","onUnmounted","_hoisted_2","fallbackClassSelector","defaultModalDialogZIndex","fallbackFocusElement","okButton","cancelButton","closeButton","pickFocusItem","okButtonFocus","closeButtonFocus","cancelButtonFocus","modalFocus","transitionProps","backdropTransitionProps","hasHeaderCloseSlot","modalDialogClasses","bodyColorClasses","bodyClasses","headerColorClasses","headerClasses","headerCloseAttrs","footerColorClasses","footerClasses","titleClasses","disableCancel","disableOk","activePosition","activeModalCount","stackWithoutSelf","computedZIndexNumber","computedZIndex","computedZIndexBackdrop","sharedSlots","createElementVNode","withModifiers","guardReactiveProps","vShow","BModal","numberPrecision","numberValue","numberMax","parentMaxNumber","computedLabel","computedWidth","isToastVisible","BToast","componentsWithExternalPath","componentNames","directivesWithExternalPath","directiveNames","composablesWithExternalPath","bvKey","parseActiveImports","values","all","others","valuesCopy","merge","usedComponents","usedDirectives","aliases","directives","components","compImports","map","dirImports","directive","destination","aliasDestination","prefixedName","bootstrapPlugin","app","breadcrumbPlugin","reset","modalControllerPlugin","modals","buildPromise","resolveFunc","buildPrereqs","_promise","_self","_modelValue","markRaw","previous","confirm","leave","self","remove","valuesStack","lastStack","registry","removeRegistry","popoverPlugin","popovers","popover","setPopover","popover2","removePopover","tooltips","tooltip","setTooltip","tooltip2","removeTooltip","rtlPlugin","rtlInitial","localeInitial","isRtl","locale","posDefault","toastPlugin","toasts","_isAppend","_setIsAppend","toastToAdd","previousIndex","toastIndex","showHidePlugin","reactive","fun","createBootstrap","pluginData"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]}