UNPKG

bootstrap-vue-next

Version:

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

60 lines (59 loc) 2.27 kB
require("./chunk-CoQrYLCe.js"); const require_dom = require("./dom-Bs6DzM72.js"); const require_useDefaults = require("./useDefaults-DsLf4iRY.js"); const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js"); let vue = require("vue"); //#region src/components/BSpinner/BSpinner.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = { key: 0, class: "visually-hidden" }; //#endregion //#region src/components/BSpinner/BSpinner.vue var BSpinner_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BSpinner", props: { label: { default: void 0 }, role: { default: "status" }, small: { type: Boolean, default: false }, tag: { default: "span" }, type: { default: "border" }, variant: { default: null } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BSpinner"); const slots = (0, vue.useSlots)(); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.variant }))); const computedClasses = (0, vue.computed)(() => [ `spinner-${props.type}`, colorClasses.value, { [`spinner-${props.type}-sm`]: props.small } ]); const hasLabelSlot = (0, vue.computed)(() => !require_dom.isEmptySlot(slots.label)); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), { class: (0, vue.normalizeClass)(computedClasses.value), role: (0, vue.unref)(props).label || hasLabelSlot.value ? (0, vue.unref)(props).role : null, "aria-hidden": (0, vue.unref)(props).label || hasLabelSlot.value ? null : true }, { default: (0, vue.withCtx)(() => [(0, vue.unref)(props).label || hasLabelSlot.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "label", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).label), 1)])])) : (0, vue.createCommentVNode)("", true)]), _: 3 }, 8, [ "class", "role", "aria-hidden" ]); }; } }); //#endregion Object.defineProperty(exports, "BSpinner_default", { enumerable: true, get: function() { return BSpinner_default; } }); //# sourceMappingURL=BSpinner-8UMAINYb.js.map