UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

139 lines (138 loc) 4.07 kB
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js"; import { r as useBLinkHelper, t as BLink_default } from "./BLink-mdwZsC7b.js"; import { t as useColorVariantClasses } from "./useColorVariantClasses-DHQvLjek.js"; import { t as ConditionalWrapper_default } from "./ConditionalWrapper-CCIk52zt.js"; import { computed, createBlock, createVNode, defineComponent, mergeProps, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue"; //#endregion //#region src/components/BBadge/BBadge.vue var BBadge_default = /* @__PURE__ */ defineComponent({ __name: "BBadge", props: { dotIndicator: { type: Boolean, default: false }, pill: { type: Boolean, default: false }, placement: { default: void 0 }, tag: { default: "span" }, active: { type: Boolean, default: void 0 }, activeClass: { default: void 0 }, disabled: { type: Boolean, default: void 0 }, exactActiveClass: { default: void 0 }, href: { default: void 0 }, icon: { type: Boolean, default: void 0 }, noRel: { type: Boolean }, opacity: { default: void 0 }, opacityHover: { default: void 0 }, prefetch: { type: Boolean }, prefetchOn: {}, noPrefetch: { type: Boolean }, prefetchedClass: {}, rel: { default: void 0 }, replace: { type: Boolean, default: void 0 }, routerComponentName: { default: void 0 }, stretched: { type: Boolean, default: false }, target: { default: void 0 }, to: { default: void 0 }, underlineOffset: { default: void 0 }, underlineOffsetHover: { default: void 0 }, underlineOpacity: { default: void 0 }, underlineOpacityHover: { default: void 0 }, underlineVariant: { default: void 0 }, variant: { default: "secondary" }, bgVariant: { default: null }, textVariant: { default: null } }, setup(__props) { const props = useDefaults(__props, "BBadge"); const { computedLink, computedLinkProps } = useBLinkHelper(props, [ "active", "activeClass", "disabled", "exactActiveClass", "href", "icon", "noRel", "opacity", "opacityHover", "noPrefetch", "prefetch", "prefetchOn", "prefetchedClass", "rel", "replace", "routerComponentName", "stretched", "target", "to", "underlineOffset", "underlineOffsetHover", "underlineOpacity", "underlineOpacityHover", "underlineVariant" ]); const computedTag = computed(() => computedLink.value ? BLink_default : props.tag); const placementClasses = computed(() => { const pos = props.placement ?? (props.dotIndicator ? "top-end" : void 0); return [ "position-absolute", "translate-middle", { "start-0 top-0": pos === "top-start", "start-0 top-50": pos === "start", "start-0 top-100": pos === "bottom-start", "start-50 top-0": pos === "top", "start-50 top-100": pos === "bottom", "start-100 top-0": pos === "top-end", "start-100 top-50": pos === "end", "start-100 top-100": pos === "bottom-end" } ]; }); const colorClasses = useColorVariantClasses(props); const computedClasses = computed(() => [ colorClasses.value, props.placement !== void 0 || props.dotIndicator ? placementClasses.value : void 0, { "active": props.active, "disabled": props.disabled, "rounded-pill": props.pill, "p-2 border border-light rounded-circle": props.dotIndicator, "text-decoration-none": computedLink.value } ]); return (_ctx, _cache) => { return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ class: ["badge", computedClasses.value] }, unref(computedLinkProps)), { default: withCtx(() => [createVNode(ConditionalWrapper_default, mergeProps({ skip: unref(props).dotIndicator !== true, tag: "span" }, unref(props).dotIndicator ? { class: "visually-hidden" } : {}), { default: withCtx(() => [renderSlot(_ctx.$slots, "default")]), _: 3 }, 16, ["skip"])]), _: 3 }, 16, ["class"]); }; } }); //#endregion export { BBadge_default as t }; //# sourceMappingURL=BBadge-BaZ13wE_.js.map