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
JavaScript
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