bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
245 lines (244 loc) • 8.23 kB
JavaScript
require("./chunk-CoQrYLCe.js");
const require_keys = require("./keys-durSVUrO.js");
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
const require_useColorVariantClasses = require("./useColorVariantClasses-CEfOwjPv.js");
const require_BLink = require("./BLink-uemyYKst.js");
const require_useAlignment = require("./useAlignment-Dus_TOxG.js");
const require_registryAccess = require("./registryAccess-ROXkP1Do.js");
let vue = require("vue");
//#region src/composables/useContainerClasses.ts
var useContainerClasses = (value) => (0, vue.computed)(() => {
const resolvedValue = (0, vue.toValue)(value);
return {
container: resolvedValue === true,
[`container-${resolvedValue}`]: typeof resolvedValue === "string"
};
});
//#endregion
//#region src/components/BNavbar/BNavbar.vue
var BNavbar_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BNavbar",
props: {
container: {
type: [Boolean, String],
default: "fluid"
},
fixed: { default: void 0 },
noAutoClose: {
type: Boolean,
default: false
},
print: {
type: Boolean,
default: false
},
sticky: { default: void 0 },
tag: { default: "nav" },
toggleable: {
type: [Boolean, String],
default: false
},
variant: { default: null }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BNavbar");
const computedRole = (0, vue.computed)(() => props.tag === "nav" ? void 0 : "navigation");
const containerClass = useContainerClasses(() => props.container);
const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ bgVariant: props.variant })));
const computedClasses = (0, vue.computed)(() => [colorClasses.value, {
"d-print": props.print,
[`sticky-${props.sticky}`]: props.sticky !== void 0,
[`fixed-${props.fixed}`]: props.fixed !== void 0,
"navbar-expand": props.toggleable === false,
[`navbar-expand-${props.toggleable}`]: typeof props.toggleable === "string"
}]);
(0, vue.provide)(require_keys.navbarInjectionKey, {
tag: (0, vue.toRef)(() => props.tag),
noAutoClose: (0, vue.toRef)(() => props.noAutoClose)
});
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), {
class: (0, vue.normalizeClass)(["navbar", computedClasses.value]),
role: computedRole.value
}, {
default: (0, vue.withCtx)(() => [(0, vue.unref)(props).container !== false ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
key: 0,
class: (0, vue.normalizeClass)((0, vue.unref)(containerClass))
}, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2)) : (0, vue.renderSlot)(_ctx.$slots, "default", { key: 1 })]),
_: 3
}, 8, ["class", "role"]);
};
}
});
//#endregion
//#region src/components/BNavbar/BNavbarBrand.vue
var BNavbarBrand_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BNavbarBrand",
props: {
tag: { default: "div" },
active: {
type: Boolean,
default: void 0
},
activeClass: { default: void 0 },
disabled: {
type: Boolean,
default: void 0
},
exactActiveClass: { default: void 0 },
href: { default: void 0 },
icon: {
type: Boolean,
default: void 0
},
noRel: { type: Boolean },
opacity: { default: void 0 },
opacityHover: { default: void 0 },
prefetch: { type: Boolean },
prefetchOn: {},
noPrefetch: { type: Boolean },
prefetchedClass: {},
rel: { default: void 0 },
replace: {
type: Boolean,
default: void 0
},
routerComponentName: { default: void 0 },
stretched: {
type: Boolean,
default: false
},
target: { default: void 0 },
to: { default: void 0 },
underlineOffset: { default: void 0 },
underlineOffsetHover: { default: void 0 },
underlineOpacity: { default: void 0 },
underlineOpacityHover: { default: void 0 },
underlineVariant: { default: void 0 },
variant: { default: void 0 }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BNavbarBrand");
const { computedLink, computedLinkProps } = require_BLink.useBLinkHelper(props);
const computedTag = (0, vue.computed)(() => computedLink.value ? require_BLink.BLink_default : props.tag);
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(computedTag.value), (0, vue.mergeProps)({ class: "navbar-brand" }, (0, vue.unref)(computedLinkProps)), {
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
_: 3
}, 16);
};
}
});
//#endregion
//#region src/components/BNavbar/BNavbarNav.vue
var BNavbarNav_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BNavbarNav",
props: {
align: { default: void 0 },
fill: {
type: Boolean,
default: false
},
justified: {
type: Boolean,
default: false
},
small: {
type: Boolean,
default: false
},
tag: { default: "ul" }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BNavbarNav");
const alignment = require_useAlignment.useAlignment(() => props.align);
const computedClasses = (0, vue.computed)(() => ({
"nav-fill": props.fill,
"nav-justified": props.justified,
[alignment.value]: props.align !== void 0,
"small": props.small
}));
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("ul", { class: (0, vue.normalizeClass)(["navbar-nav", computedClasses.value]) }, [(0, vue.renderSlot)(_ctx.$slots, "default")], 2);
};
}
});
//#endregion
//#region src/components/BNavbar/BNavbarToggle.vue?vue&type=script&setup=true&lang.ts
var _hoisted_1 = ["disabled", "aria-label"];
//#endregion
//#region src/components/BNavbar/BNavbarToggle.vue
var BNavbarToggle_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BNavbarToggle",
props: {
disabled: {
type: Boolean,
default: false
},
label: { default: "Toggle navigation" },
target: { default: void 0 }
},
emits: ["click"],
setup(__props, { emit: __emit }) {
const props = require_useDefaults.useDefaults(__props, "BNavbarToggle");
const emit = __emit;
const computedClasses = (0, vue.computed)(() => ({ disabled: props.disabled }));
const showHideData = (0, vue.inject)(require_keys.showHideRegistryKey, null);
const collapseExpanded = (0, vue.computed)(() => {
if (!props.target || !showHideData) return false;
if (typeof props.target === "string") return require_registryAccess.getShowHideValue(showHideData.values, props.target);
return props.target.some((target) => require_registryAccess.getShowHideValue(showHideData.values, target));
});
const toggleExpand = () => {
if (!props.target || !showHideData) return;
if (typeof props.target === "string") {
require_registryAccess.getActiveShowHide(showHideData.values, props.target)?.toggle();
return;
}
props.target.forEach((target) => {
require_registryAccess.getActiveShowHide(showHideData.values, target)?.toggle();
});
};
const onClick = (e) => {
if (!props.disabled) {
emit("click", e);
toggleExpand();
}
};
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
class: (0, vue.normalizeClass)(["navbar-toggler", computedClasses.value]),
type: "button",
disabled: (0, vue.unref)(props).disabled,
"aria-label": (0, vue.unref)(props).label,
onClick
}, [(0, vue.renderSlot)(_ctx.$slots, "default", { expanded: collapseExpanded.value }, () => [_cache[0] || (_cache[0] = (0, vue.createElementVNode)("span", { class: "navbar-toggler-icon" }, null, -1))])], 10, _hoisted_1);
};
}
});
//#endregion
Object.defineProperty(exports, "BNavbarBrand_default", {
enumerable: true,
get: function() {
return BNavbarBrand_default;
}
});
Object.defineProperty(exports, "BNavbarNav_default", {
enumerable: true,
get: function() {
return BNavbarNav_default;
}
});
Object.defineProperty(exports, "BNavbarToggle_default", {
enumerable: true,
get: function() {
return BNavbarToggle_default;
}
});
Object.defineProperty(exports, "BNavbar_default", {
enumerable: true,
get: function() {
return BNavbar_default;
}
});
//# sourceMappingURL=BNavbar-EayLl9th.js.map