UNPKG

bootstrap-vue-next

Version:

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

137 lines (136 loc) 4.38 kB
require("./chunk-CoQrYLCe.js"); const require_useDefaults = require("./useDefaults-DsLf4iRY.js"); const require_useId = require("./useId-DHrBgM7P.js"); const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js"); const require_useNumberishToStyle = require("./useNumberishToStyle-DMGqQGfo.js"); let vue = require("vue"); //#region src/components/BTable/BTableSimple.vue?vue&type=script&setup=true&lang.ts var defaultStickyHeaderHeight = "300px"; //#endregion //#region src/components/BTable/BTableSimple.vue var BTableSimple_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BTableSimple", props: { bordered: { type: Boolean, default: false }, borderless: { type: Boolean, default: false }, borderVariant: { default: null }, captionTop: { type: Boolean, default: false }, dark: { type: Boolean, default: false }, fixed: { type: Boolean, default: false }, hover: { type: Boolean, default: false }, id: { default: void 0 }, noBorderCollapse: { type: Boolean, default: false }, outlined: { type: Boolean, default: false }, responsive: { type: [Boolean, String], default: false }, small: { type: Boolean, default: false }, stacked: { type: [Boolean, String], default: false }, stickyHeader: { type: [ Boolean, String, Number ], default: false }, striped: { type: Boolean, default: false }, stripedColumns: { type: Boolean, default: false }, variant: { default: null }, tableAttrs: { default: void 0 }, tableClass: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BTableSimple"); const computedId = require_useId.useId(() => props.id); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ borderVariant: props.borderVariant }))); const computedClasses = (0, vue.computed)(() => [ props.tableClass, "table", "b-table", colorClasses.value, { "border": props.outlined, "table-bordered": props.bordered, "table-borderless": props.borderless, "caption-top": props.captionTop, "table-dark": props.dark, "table-hover": props.hover, "b-table-stacked": props.stacked === true, [`b-table-stacked-${props.stacked}`]: typeof props.stacked === "string", "table-striped": props.striped, "table-sm": props.small, [`table-${props.variant}`]: props.variant !== null, "table-striped-columns": props.stripedColumns, "b-table-fixed": props.fixed, "b-table-no-border-collapse": props.noBorderCollapse } ]); const computedTableAttrs = (0, vue.computed)(() => ({ id: computedId.value, class: computedClasses.value, ...props.tableAttrs })); const computedSticky = require_useNumberishToStyle.useNumberishToStyle((0, vue.computed)(() => (props.stickyHeader === true ? defaultStickyHeaderHeight : props.stickyHeader) || NaN)); const stickyIsValid = (0, vue.computed)(() => props.stickyHeader !== false); const isResponsive = (0, vue.computed)(() => props.responsive !== false || stickyIsValid.value); const responsiveStyles = (0, vue.computed)(() => stickyIsValid.value ? { maxHeight: computedSticky.value } : void 0); const responsiveClasses = (0, vue.computed)(() => ({ "table-responsive": props.responsive === true, [`table-responsive-${props.responsive}`]: typeof props.responsive === "string", "b-table-sticky-header": stickyIsValid.value })); return (_ctx, _cache) => { return isResponsive.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", { key: 0, class: (0, vue.normalizeClass)(responsiveClasses.value), style: (0, vue.normalizeStyle)(responsiveStyles.value) }, [(0, vue.createElementVNode)("table", (0, vue.normalizeProps)((0, vue.guardReactiveProps)(computedTableAttrs.value)), [(0, vue.renderSlot)(_ctx.$slots, "default")], 16)], 6)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("table", (0, vue.normalizeProps)((0, vue.mergeProps)({ key: 1 }, computedTableAttrs.value)), [(0, vue.renderSlot)(_ctx.$slots, "default")], 16)); }; } }); //#endregion Object.defineProperty(exports, "BTableSimple_default", { enumerable: true, get: function() { return BTableSimple_default; } }); //# sourceMappingURL=BTableSimple-Bq8PToKM.js.map