UNPKG

bootstrap-vue-next

Version:

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

326 lines (325 loc) 13.5 kB
require("./chunk-CoQrYLCe.js"); const require_dist = require("./dist-BJ15ThEs.js"); const require_useDefaults = require("./useDefaults-DsLf4iRY.js"); const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js"); const require_BCard = require("./BCard-CgbTFn3S.js"); const require_BTableSimple = require("./BTableSimple-BcdizuDm.js"); let vue = require("vue"); //#endregion //#region src/components/BPlaceholder/BPlaceholder.vue var BPlaceholder_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BPlaceholder", props: { animation: { default: void 0 }, cols: { default: 12 }, size: { default: "md" }, tag: { default: "span" }, variant: { default: null }, width: { default: void 0 }, wrapperTag: { default: "span" } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BPlaceholder"); const widthString = (0, vue.computed)(() => props.width === void 0 ? void 0 : typeof props.width === "number" ? props.width.toString() : props.width.replace("%", "")); const colsString = (0, vue.computed)(() => props.cols === void 0 ? void 0 : typeof props.cols === "number" ? props.cols.toString() : props.cols); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ bgVariant: props.variant }))); const computedClasses = (0, vue.computed)(() => [colorClasses.value, { [`col-${colsString.value}`]: colsString.value !== void 0 && widthString.value === void 0, [`placeholder-${props.size}`]: props.size !== "md" }]); const wrapperClasses = (0, vue.computed)(() => ({ [`placeholder-${props.animation}`]: props.animation !== void 0 })); const computedStyle = (0, vue.computed)(() => ({ width: widthString.value === void 0 ? void 0 : `${widthString.value}%` })); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).wrapperTag), { class: (0, vue.normalizeClass)(wrapperClasses.value) }, { default: (0, vue.withCtx)(() => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(__props.tag), (0, vue.mergeProps)(_ctx.$attrs, { class: ["placeholder", computedClasses.value], style: computedStyle.value }), null, 16, ["class", "style"]))]), _: 1 }, 8, ["class"]); }; } }); //#endregion //#region src/components/BPlaceholder/BPlaceholderButton.vue var BPlaceholderButton_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BPlaceholderButton", props: { animation: { default: void 0 }, cols: { default: void 0 }, tag: { default: "div" }, variant: { default: "primary" }, width: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BPlaceholderButton"); const computedClasses = (0, vue.computed)(() => ({ [`btn-${props.variant}`]: props.variant !== null })); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)(BPlaceholder_default, { class: (0, vue.normalizeClass)(["btn disabled", computedClasses.value]), animation: (0, vue.unref)(props).animation, width: (0, vue.unref)(props).width, cols: (0, vue.unref)(props).cols, tag: (0, vue.unref)(props).tag, style: { "cursor": "wait", "pointer-events": "auto" } }, null, 8, [ "class", "animation", "width", "cols", "tag" ]); }; } }); //#endregion //#region src/components/BPlaceholder/BPlaceholderCard.vue var BPlaceholderCard_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BPlaceholderCard", props: { animation: { default: void 0 }, footerAnimation: { default: void 0 }, footerSize: { default: "md" }, footerVariant: { default: void 0 }, footerWidth: { default: 100 }, headerAnimation: { default: void 0 }, headerSize: { default: "md" }, headerVariant: { default: void 0 }, headerWidth: { default: 100 }, imgBlankColor: { default: "#868e96" }, imgPlacement: { default: "top" }, imgHeight: { default: 100 }, imgSrc: { default: void 0 }, noButton: { type: Boolean, default: false }, noFooter: { type: Boolean, default: false }, noHeader: { type: Boolean, default: false }, noImg: { type: Boolean, default: false }, size: { default: "md" }, variant: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BPlaceholderCard"); const defaultAttrs = (0, vue.computed)(() => ({ animation: props.animation, size: props.size, variant: props.variant })); const footerComponent = (0, vue.computed)(() => !props.noButton ? BPlaceholderButton_default : BPlaceholder_default); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)(require_BCard.BCard_default, { "img-placement": (0, vue.unref)(props).imgPlacement }, (0, vue.createSlots)({ default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [ (0, vue.createVNode)(BPlaceholder_default, (0, vue.mergeProps)({ cols: "7" }, defaultAttrs.value), null, 16), (0, vue.createVNode)(BPlaceholder_default, (0, vue.mergeProps)({ cols: "4" }, defaultAttrs.value), null, 16), (0, vue.createVNode)(BPlaceholder_default, (0, vue.mergeProps)({ cols: "4" }, defaultAttrs.value), null, 16), (0, vue.createVNode)(BPlaceholder_default, (0, vue.mergeProps)({ cols: "6" }, defaultAttrs.value), null, 16), (0, vue.createVNode)(BPlaceholder_default, (0, vue.mergeProps)({ cols: "8" }, defaultAttrs.value), null, 16) ])]), _: 2 }, [ !(0, vue.unref)(props).noImg ? { name: "img", fn: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "img", {}, () => [(0, vue.createVNode)(require_BCard.BCardImg_default, { blank: !(0, vue.unref)(props).imgSrc ? true : false, "blank-color": (0, vue.unref)(props).imgBlankColor, height: !(0, vue.unref)(props).imgSrc ? (0, vue.unref)(props).imgHeight : void 0, src: (0, vue.unref)(props).imgSrc, "img-placement": (0, vue.unref)(props).imgPlacement, style: { cursor: "wait" } }, null, 8, [ "blank", "blank-color", "height", "src", "img-placement" ])])]), key: "0" } : void 0, !(0, vue.unref)(props).noHeader ? { name: "header", fn: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "header", {}, () => [(0, vue.createVNode)(BPlaceholder_default, { width: (0, vue.unref)(props).headerWidth, variant: (0, vue.unref)(props).headerVariant, animation: (0, vue.unref)(props).headerAnimation, size: (0, vue.unref)(props).headerSize }, null, 8, [ "width", "variant", "animation", "size" ])])]), key: "1" } : void 0, !(0, vue.unref)(props).noFooter ? { name: "footer", fn: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "footer", {}, () => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(footerComponent.value), { width: (0, vue.unref)(props).footerWidth, animation: (0, vue.unref)(props).footerAnimation, size: (0, vue.unref)(props).noButton ? (0, vue.unref)(props).footerSize : void 0, variant: (0, vue.unref)(props).footerVariant }, null, 8, [ "width", "animation", "size", "variant" ]))])]), key: "2" } : void 0 ]), 1032, ["img-placement"]); }; } }); //#endregion //#region src/components/BPlaceholder/BPlaceholderTable.vue var BPlaceholderTable_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BPlaceholderTable", props: { animation: { default: void 0 }, cellWidth: { default: 100 }, columns: { default: 5 }, footerAnimation: { default: void 0 }, footerCellWidth: { default: 100 }, footerColumns: { default: void 0 }, footerSize: { default: "md" }, footerVariant: { default: void 0 }, headerAnimation: { default: void 0 }, headerCellWidth: { default: 100 }, headerColumns: { default: void 0 }, headerSize: { default: "md" }, headerVariant: { default: void 0 }, noHeader: { type: Boolean, default: false }, rows: { default: 3 }, showFooter: { type: Boolean, default: false }, size: { default: "md" }, variant: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BPlaceholderTable"); const columnsToNumber = require_dist.useToNumber(() => props.columns); const rowsToNumber = require_dist.useToNumber(() => props.rows); const computedHeaderColumns = (0, vue.computed)(() => props.headerColumns ?? NaN); const computedFooterColumns = (0, vue.computed)(() => props.footerColumns ?? NaN); const headerColumnsNumber = require_dist.useToNumber(computedHeaderColumns); const footerColumnsNumber = require_dist.useToNumber(computedFooterColumns); const columnsNumber = (0, vue.computed)(() => columnsToNumber.value || 5); const rowsNumber = (0, vue.computed)(() => rowsToNumber.value || 3); const computedHeaderColumnsLength = (0, vue.computed)(() => props.headerColumns === void 0 ? columnsNumber.value : Number.isNaN(headerColumnsNumber.value) ? columnsNumber.value : headerColumnsNumber.value); const computedFooterColumnsLength = (0, vue.computed)(() => props.footerColumns === void 0 ? columnsNumber.value : Number.isNaN(footerColumnsNumber.value) ? columnsNumber.value : footerColumnsNumber.value); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)(require_BTableSimple.BTableSimple_default, null, { default: (0, vue.withCtx)(() => [ !(0, vue.unref)(props).noHeader ? (0, vue.renderSlot)(_ctx.$slots, "thead", { key: 0 }, () => [(0, vue.createElementVNode)("thead", null, [(0, vue.createElementVNode)("tr", null, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(computedHeaderColumnsLength.value, (_, i) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("th", { key: i }, [(0, vue.createVNode)(BPlaceholder_default, { size: (0, vue.unref)(props).headerSize, variant: (0, vue.unref)(props).headerVariant, animation: (0, vue.unref)(props).headerAnimation, width: (0, vue.unref)(props).headerCellWidth }, null, 8, [ "size", "variant", "animation", "width" ])]); }), 128))])])]) : (0, vue.createCommentVNode)("", true), (0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createElementVNode)("tbody", null, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(rowsNumber.value, (_, j) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("tr", { key: j }, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(columnsNumber.value, (__, k) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("td", { key: k }, [(0, vue.createVNode)(BPlaceholder_default, { size: (0, vue.unref)(props).size, variant: (0, vue.unref)(props).variant, animation: (0, vue.unref)(props).animation, width: (0, vue.unref)(props).cellWidth }, null, 8, [ "size", "variant", "animation", "width" ])]); }), 128))]); }), 128))])]), (0, vue.unref)(props).showFooter ? (0, vue.renderSlot)(_ctx.$slots, "tfoot", { key: 1 }, () => [(0, vue.createElementVNode)("tfoot", null, [(0, vue.createElementVNode)("tr", null, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(computedFooterColumnsLength.value, (_, l) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("th", { key: l }, [(0, vue.createVNode)(BPlaceholder_default, { size: (0, vue.unref)(props).footerSize, variant: (0, vue.unref)(props).footerVariant, animation: (0, vue.unref)(props).footerAnimation, width: (0, vue.unref)(props).footerCellWidth }, null, 8, [ "size", "variant", "animation", "width" ])]); }), 128))])])]) : (0, vue.createCommentVNode)("", true) ]), _: 3 }); }; } }); //#endregion //#region src/components/BPlaceholder/BPlaceholderWrapper.vue var BPlaceholderWrapper_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BPlaceholderWrapper", props: { loading: { type: Boolean, default: false } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BPlaceholderWrapper"); return (_ctx, _cache) => { return (0, vue.unref)(props).loading ? (0, vue.renderSlot)(_ctx.$slots, "loading", { key: 0 }) : (0, vue.renderSlot)(_ctx.$slots, "default", { key: 1 }); }; } }); //#endregion Object.defineProperty(exports, "BPlaceholderButton_default", { enumerable: true, get: function() { return BPlaceholderButton_default; } }); Object.defineProperty(exports, "BPlaceholderCard_default", { enumerable: true, get: function() { return BPlaceholderCard_default; } }); Object.defineProperty(exports, "BPlaceholderTable_default", { enumerable: true, get: function() { return BPlaceholderTable_default; } }); Object.defineProperty(exports, "BPlaceholderWrapper_default", { enumerable: true, get: function() { return BPlaceholderWrapper_default; } }); Object.defineProperty(exports, "BPlaceholder_default", { enumerable: true, get: function() { return BPlaceholder_default; } }); //# sourceMappingURL=BPlaceholder-DYYYuNgR.js.map