UNPKG

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
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