bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
147 lines (146 loc) • 5.38 kB
JavaScript
require("./chunk-CoQrYLCe.js");
const require_keys = require("./keys-durSVUrO.js");
const require_dist = require("./dist-B_c893QG.js");
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js");
let vue = require("vue");
//#endregion
//#region src/components/BProgress/BProgressBar.vue
var BProgressBar_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BProgressBar",
props: {
animated: {
type: Boolean,
default: false
},
label: { default: void 0 },
max: { default: void 0 },
precision: { default: 0 },
showProgress: {
type: Boolean,
default: false
},
showValue: {
type: Boolean,
default: false
},
striped: {
type: Boolean,
default: false
},
value: { default: 0 },
variant: { default: null },
bgVariant: { default: null },
textVariant: { default: null }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BProgressBar");
const parentData = (0, vue.inject)(require_keys.progressInjectionKey, null);
const colorClasses = require_useColorVariantClasses.useColorVariantClasses(props);
const computedClasses = (0, vue.computed)(() => [colorClasses.value, {
"progress-bar-animated": props.animated || parentData?.animated.value,
"progress-bar-striped": props.striped || parentData?.striped.value || props.animated || parentData?.animated.value
}]);
const numberPrecision = require_dist.useToNumber(() => props.precision);
const numberValue = require_dist.useToNumber(() => props.value);
const numberMax = require_dist.useToNumber(() => props.max ?? NaN);
const parentMaxNumber = require_dist.useToNumber(() => parentData?.max.value ?? NaN);
const computedLabel = (0, vue.computed)(() => props.showValue || parentData?.showValue.value ? numberValue.value.toFixed(numberPrecision.value) : props.showProgress || parentData?.showProgress.value ? (numberValue.value * 100 / (numberMax.value || 100)).toFixed(numberPrecision.value) : props.label !== void 0 ? props.label : "");
const computedWidth = (0, vue.computed)(() => parentMaxNumber.value ? `${numberValue.value * 100 / parentMaxNumber.value}%` : numberMax.value ? `${numberValue.value * 100 / numberMax.value}%` : typeof props.value === "string" ? props.value : `${props.value}%`);
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
class: (0, vue.normalizeClass)(["progress-bar", computedClasses.value]),
style: (0, vue.normalizeStyle)({ width: computedWidth.value })
}, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(computedLabel.value), 1)])], 6);
};
}
});
//#endregion
//#region src/components/BProgress/BProgress.vue?vue&type=script&setup=true&lang.ts
var _hoisted_1 = ["aria-valuenow", "aria-valuemax"];
//#endregion
//#region src/components/BProgress/BProgress.vue
var BProgress_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BProgress",
props: {
height: { default: void 0 },
animated: {
type: Boolean,
default: void 0
},
max: { default: 100 },
precision: { default: void 0 },
showProgress: {
type: Boolean,
default: void 0
},
showValue: {
type: Boolean,
default: void 0
},
striped: {
type: Boolean,
default: void 0
},
value: { default: void 0 },
variant: { default: void 0 },
bgVariant: { default: void 0 },
textVariant: { default: void 0 }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BProgress");
(0, vue.provide)(require_keys.progressInjectionKey, {
animated: (0, vue.toRef)(() => props.animated),
max: (0, vue.toRef)(() => props.max),
showProgress: (0, vue.toRef)(() => props.showProgress),
showValue: (0, vue.toRef)(() => props.showValue),
striped: (0, vue.toRef)(() => props.striped)
});
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
class: "progress",
role: "progressbar",
style: (0, vue.normalizeStyle)({ height: (0, vue.unref)(props).height }),
"aria-valuenow": (0, vue.unref)(props).value,
"aria-valuemin": "0",
"aria-valuemax": (0, vue.unref)(props).max
}, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createVNode)(BProgressBar_default, {
animated: (0, vue.unref)(props).animated,
max: (0, vue.unref)(props).max,
precision: (0, vue.unref)(props).precision,
"show-progress": (0, vue.unref)(props).showProgress,
"show-value": (0, vue.unref)(props).showValue,
striped: (0, vue.unref)(props).striped,
value: (0, vue.unref)(props).value,
variant: (0, vue.unref)(props).variant,
"text-variant": (0, vue.unref)(props).textVariant,
"bg-variant": (0, vue.unref)(props).bgVariant
}, null, 8, [
"animated",
"max",
"precision",
"show-progress",
"show-value",
"striped",
"value",
"variant",
"text-variant",
"bg-variant"
])])], 12, _hoisted_1);
};
}
});
//#endregion
Object.defineProperty(exports, "BProgressBar_default", {
enumerable: true,
get: function() {
return BProgressBar_default;
}
});
Object.defineProperty(exports, "BProgress_default", {
enumerable: true,
get: function() {
return BProgress_default;
}
});
//# sourceMappingURL=BProgress-DAnEfDXq.js.map