bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
408 lines (407 loc) • 13.9 kB
JavaScript
import { n as createReusableTemplate } from "./dist-Dn5blevd.mjs";
import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
import { i as omit } from "./object-CHQkkner.mjs";
import { t as useColorVariantClasses } from "./useColorVariantClasses-B6Me_Kx6.mjs";
import { t as BImg_default } from "./BImg-BZ7hac1l.mjs";
import { computed, createBlock, createCommentVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, withCtx } from "vue";
//#endregion
//#region src/components/BCard/BCardImg.vue
var BCardImg_default = /* @__PURE__ */ defineComponent({
__name: "BCardImg",
props: {
placement: { default: "top" },
blank: {
type: Boolean,
default: void 0
},
blankColor: { default: void 0 },
block: {
type: Boolean,
default: void 0
},
fluid: {
type: Boolean,
default: void 0
},
fluidGrow: {
type: Boolean,
default: void 0
},
height: { default: void 0 },
tag: {},
lazy: {
type: Boolean,
default: void 0
},
sizes: { default: void 0 },
src: { default: void 0 },
srcset: { default: void 0 },
thumbnail: {
type: Boolean,
default: void 0
},
width: { default: void 0 },
rounded: {
type: [
Boolean,
String,
Number
],
default: void 0
},
roundedTop: {
type: [
Boolean,
String,
Number
],
default: void 0
},
roundedBottom: {
type: [
Boolean,
String,
Number
],
default: void 0
},
roundedStart: {
type: [
Boolean,
String,
Number
],
default: void 0
},
roundedEnd: {
type: [
Boolean,
String,
Number
],
default: void 0
}
},
setup(__props) {
const props = useDefaults(__props, "BCardImg");
const baseAlignmentClasses = computed(() => ({
"card-img-top": props.placement === "top",
"card-img-end": props.placement === "end",
"card-img-bottom": props.placement === "bottom",
"card-img-start": props.placement === "start",
"card-img": props.placement === "overlay"
}));
const computedImgProps = computed(() => omit(props, ["placement"]));
return (_ctx, _cache) => {
return openBlock(), createBlock(BImg_default, mergeProps(computedImgProps.value, { class: baseAlignmentClasses.value }), null, 16, ["class"]);
};
}
});
//#endregion
//#region src/components/BCardHeadFoot.vue
var BCardHeadFoot_default = /* @__PURE__ */ defineComponent({
__name: "BCardHeadFoot",
props: {
borderVariant: { default: null },
tag: { default: "div" },
text: { default: void 0 },
variant: { default: null },
bgVariant: { default: null },
textVariant: { default: null }
},
setup(__props) {
const computedClasses = useColorVariantClasses(__props);
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(__props.tag), { class: normalizeClass(unref(computedClasses)) }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.text), 1)])]),
_: 3
}, 8, ["class"]);
};
}
});
//#endregion
//#region src/components/BCard/BCardHeader.vue
var BCardHeader_default = /* @__PURE__ */ defineComponent({
__name: "BCardHeader",
props: {
borderVariant: { default: void 0 },
tag: { default: "div" },
text: { default: void 0 },
variant: { default: void 0 },
bgVariant: { default: void 0 },
textVariant: { default: void 0 }
},
setup(__props) {
const props = useDefaults(__props, "BCardHeader");
return (_ctx, _cache) => {
return openBlock(), createBlock(BCardHeadFoot_default, mergeProps({ class: "card-header" }, unref(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region src/components/BCard/BCardTitle.vue
var BCardTitle_default = /* @__PURE__ */ defineComponent({
__name: "BCardTitle",
props: {
tag: { default: "h4" },
text: { default: void 0 }
},
setup(__props) {
const props = useDefaults(__props, "BCardTitle");
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: "card-title" }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).text), 1)])]),
_: 3
});
};
}
});
//#endregion
//#region src/components/BCard/BCardSubtitle.vue
var BCardSubtitle_default = /* @__PURE__ */ defineComponent({
__name: "BCardSubtitle",
props: {
text: { default: void 0 },
tag: { default: "h6" },
textVariant: { default: "body-secondary" }
},
setup(__props) {
const props = useDefaults(__props, "BCardSubtitle");
const computedClasses = useColorVariantClasses(props);
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: normalizeClass(["card-subtitle mb-2", unref(computedClasses)]) }, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).text), 1)])]),
_: 3
}, 8, ["class"]);
};
}
});
//#endregion
//#region src/components/BCard/BCardBody.vue
var BCardBody_default = /* @__PURE__ */ defineComponent({
__name: "BCardBody",
props: {
borderVariant: { default: null },
overlay: {
type: Boolean,
default: false
},
subtitle: { default: void 0 },
subtitleTag: { default: "h4" },
subtitleTextVariant: { default: void 0 },
tag: { default: "div" },
text: { default: void 0 },
title: { default: void 0 },
titleTag: { default: "h4" },
variant: { default: null },
bgVariant: { default: null },
textVariant: { default: null }
},
setup(__props) {
const props = useDefaults(__props, "BCardBody");
const slots = useSlots();
const hasTitleSlot = computed(() => !isEmptySlot(slots.title));
const hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle));
const colorClasses = useColorVariantClasses(props);
const computedClasses = computed(() => [colorClasses.value, props.overlay ? "card-img-overlay" : "card-body"]);
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: normalizeClass(computedClasses.value) }, {
default: withCtx(() => [
!!unref(props).title || hasTitleSlot.value ? (openBlock(), createBlock(BCardTitle_default, {
key: 0,
tag: unref(props).titleTag
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(unref(props).title), 1)])]),
_: 3
}, 8, ["tag"])) : createCommentVNode("", true),
!!unref(props).subtitle || hasSubtitleSlot.value ? (openBlock(), createBlock(BCardSubtitle_default, {
key: 1,
tag: unref(props).subtitleTag,
"text-variant": unref(props).subtitleTextVariant
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "subtitle", {}, () => [createTextVNode(toDisplayString(unref(props).subtitle), 1)])]),
_: 3
}, 8, ["tag", "text-variant"])) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).text), 1)])
]),
_: 3
}, 8, ["class"]);
};
}
});
//#endregion
//#region src/components/BCard/BCardFooter.vue
var BCardFooter_default = /* @__PURE__ */ defineComponent({
__name: "BCardFooter",
props: {
borderVariant: { default: void 0 },
tag: { default: "div" },
text: { default: void 0 },
variant: { default: void 0 },
bgVariant: { default: void 0 },
textVariant: { default: void 0 }
},
setup(__props) {
const props = useDefaults(__props, "BCardFooter");
return (_ctx, _cache) => {
return openBlock(), createBlock(BCardHeadFoot_default, mergeProps({ class: "card-footer" }, unref(props)), {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).text), 1)])]),
_: 3
}, 16);
};
}
});
//#endregion
//#region src/components/BCard/BCard.vue
var BCard_default = /* @__PURE__ */ defineComponent({
__name: "BCard",
props: {
align: { default: void 0 },
bodyBgVariant: { default: void 0 },
bodyBorderVariant: { default: void 0 },
bodyClass: { default: void 0 },
bodyTag: { default: "div" },
bodyText: { default: "" },
bodyTextVariant: { default: void 0 },
borderVariant: { default: null },
footer: { default: void 0 },
footerBgVariant: { default: void 0 },
footerBorderVariant: { default: void 0 },
footerClass: { default: void 0 },
footerTag: { default: "div" },
footerTextVariant: { default: void 0 },
footerVariant: { default: null },
header: { default: void 0 },
headerBgVariant: { default: void 0 },
headerBorderVariant: { default: void 0 },
headerClass: { default: void 0 },
headerTag: { default: "div" },
headerTextVariant: { default: void 0 },
headerVariant: { default: null },
imgAlt: { default: void 0 },
imgPlacement: { default: "top" },
imgHeight: { default: void 0 },
imgSrc: { default: void 0 },
imgWidth: { default: void 0 },
noBody: {
type: Boolean,
default: false
},
subtitle: { default: void 0 },
subtitleTag: { default: "h6" },
subtitleTextVariant: { default: "body-secondary" },
tag: { default: "div" },
title: { default: void 0 },
titleTag: { default: "h4" },
variant: { default: null },
bgVariant: { default: null },
textVariant: { default: null }
},
setup(__props) {
const props = useDefaults(__props, "BCard");
const slots = useSlots();
const hasHeaderSlot = computed(() => !isEmptySlot(slots.header));
const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));
const colorClasses = useColorVariantClasses(props);
const computedClasses = computed(() => [colorClasses.value, {
[`text-${props.align}`]: props.align !== void 0,
"flex-row": props.imgPlacement === "start",
"flex-row-reverse": props.imgPlacement === "end"
}]);
const imgAttr = computed(() => ({
src: props.imgSrc,
alt: props.imgAlt,
height: props.imgHeight,
width: props.imgWidth,
placement: props.imgPlacement
}));
const ReusableImg = createReusableTemplate();
return (_ctx, _cache) => {
return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: normalizeClass(["card", computedClasses.value]) }, {
default: withCtx(() => [
createVNode(unref(ReusableImg).define, null, {
default: withCtx(() => [renderSlot(_ctx.$slots, "img", {}, () => [unref(props).imgSrc ? (openBlock(), createBlock(BCardImg_default, normalizeProps(mergeProps({ key: 0 }, imgAttr.value)), null, 16)) : createCommentVNode("", true)])]),
_: 3
}),
unref(props).imgPlacement !== "bottom" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 0 })) : createCommentVNode("", true),
unref(props).header || hasHeaderSlot.value ? (openBlock(), createBlock(BCardHeader_default, {
key: 1,
"bg-variant": unref(props).headerBgVariant,
variant: unref(props).headerVariant,
"border-variant": unref(props).headerBorderVariant,
tag: unref(props).headerTag,
"text-variant": unref(props).headerTextVariant,
class: normalizeClass(unref(props).headerClass)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "header", {}, () => [createTextVNode(toDisplayString(unref(props).header), 1)])]),
_: 3
}, 8, [
"bg-variant",
"variant",
"border-variant",
"tag",
"text-variant",
"class"
])) : createCommentVNode("", true),
!unref(props).noBody ? (openBlock(), createBlock(BCardBody_default, {
key: 2,
overlay: unref(props).imgPlacement === "overlay",
"bg-variant": unref(props).bodyBgVariant,
"border-variant": unref(props).bodyBorderVariant,
tag: unref(props).bodyTag,
"text-variant": unref(props).bodyTextVariant,
subtitle: unref(props).subtitle,
"subtitle-tag": unref(props).subtitleTag,
"subtitle-text-variant": unref(props).subtitleTextVariant,
title: unref(props).title,
"title-tag": unref(props).titleTag,
class: normalizeClass(unref(props).bodyClass)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(unref(props).bodyText), 1)])]),
_: 3
}, 8, [
"overlay",
"bg-variant",
"border-variant",
"tag",
"text-variant",
"subtitle",
"subtitle-tag",
"subtitle-text-variant",
"title",
"title-tag",
"class"
])) : renderSlot(_ctx.$slots, "default", { key: 3 }, () => [createTextVNode(toDisplayString(unref(props).bodyText), 1)]),
unref(props).footer || hasFooterSlot.value ? (openBlock(), createBlock(BCardFooter_default, {
key: 4,
"bg-variant": unref(props).footerBgVariant,
"border-variant": unref(props).footerBorderVariant,
variant: unref(props).footerVariant,
tag: unref(props).footerTag,
"text-variant": unref(props).footerTextVariant,
class: normalizeClass(unref(props).footerClass)
}, {
default: withCtx(() => [renderSlot(_ctx.$slots, "footer", {}, () => [createTextVNode(toDisplayString(unref(props).footer), 1)])]),
_: 3
}, 8, [
"bg-variant",
"border-variant",
"variant",
"tag",
"text-variant",
"class"
])) : createCommentVNode("", true),
unref(props).imgPlacement === "bottom" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 5 })) : createCommentVNode("", true)
]),
_: 3
}, 8, ["class"]);
};
}
});
//#endregion
export { BCardTitle_default as a, BCardSubtitle_default as i, BCardFooter_default as n, BCardHeader_default as o, BCardBody_default as r, BCardImg_default as s, BCard_default as t };
//# sourceMappingURL=BCard-Dly2DM9l.mjs.map