UNPKG

bootstrap-vue-next

Version:

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

67 lines (66 loc) 2.75 kB
import { p as inputGroupKey } from "./keys-CQKrwmvN.mjs"; import { t as useDefaults } from "./useDefaults-CCWS15M8.mjs"; import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, provide, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue"; //#region src/components/BInputGroup/BInputGroup.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = { key: 0, class: "input-group-text" }; var _hoisted_2 = { key: 0, class: "input-group-text" }; //#endregion //#region src/components/BInputGroup/BInputGroup.vue var BInputGroup_default = /* @__PURE__ */ defineComponent({ __name: "BInputGroup", props: { append: { default: void 0 }, id: { default: void 0 }, prepend: { default: void 0 }, size: { default: "md" }, tag: { default: "div" } }, setup(__props) { provide(inputGroupKey, true); const props = useDefaults(__props, "BInputGroup"); const computedClasses = computed(() => ({ [`input-group-${props.size}`]: props.size !== "md" })); const hasAppend = computed(() => !!props.append); const hasPrepend = computed(() => !!props.prepend); return (_ctx, _cache) => { return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { id: unref(props).id, class: normalizeClass(["input-group", computedClasses.value]), role: "group" }, { default: withCtx(() => [ renderSlot(_ctx.$slots, "prepend", {}, () => [hasPrepend.value ? (openBlock(), createElementBlock("span", _hoisted_1, [createElementVNode("span", null, toDisplayString(unref(props).prepend), 1)])) : createCommentVNode("", true)]), renderSlot(_ctx.$slots, "default"), renderSlot(_ctx.$slots, "append", {}, () => [hasAppend.value ? (openBlock(), createElementBlock("span", _hoisted_2, [createElementVNode("span", null, toDisplayString(unref(props).append), 1)])) : createCommentVNode("", true)]) ]), _: 3 }, 8, ["id", "class"]); }; } }); //#endregion //#region src/components/BInputGroup/BInputGroupText.vue var BInputGroupText_default = /* @__PURE__ */ defineComponent({ __name: "BInputGroupText", props: { tag: { default: "div" }, text: { default: void 0 } }, setup(__props) { const props = useDefaults(__props, "BInputGroupText"); return (_ctx, _cache) => { return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: "input-group-text" }, { default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).text), 1)])]), _: 3 }); }; } }); //#endregion export { BInputGroup_default as n, BInputGroupText_default as t }; //# sourceMappingURL=BInputGroup-B8fKBtip.mjs.map