UNPKG

bootstrap-vue-next

Version:

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

80 lines (79 loc) 2.95 kB
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs"; import { t as useId$1 } from "./useId-BKZFSYm8.mjs"; import { t as useColorVariantClasses } from "./useColorVariantClasses-B6Me_Kx6.mjs"; import { t as BCloseButton_default } from "./BCloseButton-CjgbR1Ec.mjs"; import { computed, createBlock, createCommentVNode, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, withCtx } from "vue"; //#region src/components/BFormTags/BFormTag.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = ["id"]; //#endregion //#region src/components/BFormTags/BFormTag.vue var BFormTag_default = /* @__PURE__ */ defineComponent({ __name: "BFormTag", props: { disabled: { type: Boolean, default: false }, id: { default: void 0 }, noRemove: { type: Boolean, default: false }, pill: { type: Boolean, default: false }, removeLabel: { default: "Remove tag" }, tag: { default: "span" }, title: { default: void 0 }, variant: { default: "secondary" } }, emits: ["remove"], setup(__props, { emit: __emit }) { const props = useDefaults(__props, "BFormTag"); const emit = __emit; const slots = useSlots(); const computedId = useId$1(() => props.id); const tagText = computed(() => ((slots.default?.({})[0].children ?? "").toString() || props.title) ?? ""); const taglabelId = computed(() => `${computedId.value}taglabel__`); const colorClasses = useColorVariantClasses(props); const computedClasses = computed(() => [colorClasses.value, { "rounded-pill": props.pill, "disabled": props.disabled }]); return (_ctx, _cache) => { return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { id: unref(computedId), title: tagText.value, class: normalizeClass(["badge b-form-tag d-inline-flex align-items-center mw-100", computedClasses.value]), "aria-labelledby": taglabelId.value }, { default: withCtx(() => [createElementVNode("span", { id: taglabelId.value, class: "b-form-tag-content flex-grow-1 text-truncate" }, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(tagText.value), 1)])], 8, _hoisted_1), !unref(props).disabled && !unref(props).noRemove ? (openBlock(), createBlock(BCloseButton_default, { key: 0, "aria-keyshortcuts": "Delete", "aria-label": unref(props).removeLabel, class: "b-form-tag-remove", "aria-describedby": taglabelId.value, "aria-controls": unref(props).id, onClick: _cache[0] || (_cache[0] = ($event) => emit("remove", tagText.value)) }, null, 8, [ "aria-label", "aria-describedby", "aria-controls" ])) : createCommentVNode("", true)]), _: 3 }, 8, [ "id", "title", "class", "aria-labelledby" ]); }; } }); //#endregion export { BFormTag_default as t }; //# sourceMappingURL=BFormTag-BUWEugEC.mjs.map