UNPKG

bootstrap-vue-next

Version:

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

452 lines (451 loc) 12.5 kB
require("./chunk-CoQrYLCe.js"); const require_useDefaults = require("./useDefaults-DsLf4iRY.js"); const require_object = require("./object-BN7QwMcz.js"); const require_BLink = require("./BLink-uemyYKst.js"); const require_useAlignment = require("./useAlignment-Dus_TOxG.js"); const require_BDropdown = require("./BDropdown-g6_09NKU.js"); const require_BForm = require("./BForm-D1hmPFIR.js"); let vue = require("vue"); //#endregion //#region src/components/BNav/BNav.vue var BNav_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BNav", props: { align: { default: void 0 }, cardHeader: { type: Boolean, default: false }, fill: { type: Boolean, default: false }, justified: { type: Boolean, default: false }, pills: { type: Boolean, default: false }, small: { type: Boolean, default: false }, tabs: { type: Boolean, default: false }, tag: { default: "ul" }, underline: { type: Boolean, default: false }, vertical: { type: Boolean, default: false } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BNav"); const alignment = require_useAlignment.useAlignment(() => props.align); const computedClasses = (0, vue.computed)(() => ({ "nav-tabs": props.tabs, "nav-pills": props.pills && !props.tabs, "card-header-tabs": !props.vertical && props.cardHeader && props.tabs, "card-header-pills": !props.vertical && props.cardHeader && props.pills && !props.tabs, "flex-column": props.vertical, "nav-fill": !props.vertical && props.fill, "nav-justified": !props.vertical && props.justified, [alignment.value]: !props.vertical && props.align !== void 0, "small": props.small, "nav-underline": props.underline })); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), { class: (0, vue.normalizeClass)(["nav", computedClasses.value]) }, { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]), _: 3 }, 8, ["class"]); }; } }); //#endregion //#region src/components/BNav/BNavForm.vue var BNavForm_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BNavForm", props: { role: { default: void 0 }, wrapperAttrs: { default: void 0 }, formClass: { default: void 0 }, floating: { type: Boolean, default: void 0 }, id: { default: void 0 }, novalidate: { type: Boolean, default: void 0 }, validated: { type: Boolean, default: void 0 } }, emits: ["submit"], setup(__props, { emit: __emit }) { const props = require_useDefaults.useDefaults(__props, "BNavForm"); const emit = __emit; const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...formAttrs } = attrs; return { wrapperClass, formAttrs }; }); const submitted = (e) => { emit("submit", e); }; const liClasses = (0, vue.computed)(() => [ "d-flex", "flex-row", "align-items-center", "flex-wrap", processedAttrs.value.wrapperClass ]); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ class: liClasses.value }, __props.wrapperAttrs), [(0, vue.createVNode)(require_BForm.BForm_default, (0, vue.mergeProps)(processedAttrs.value.formAttrs, { id: (0, vue.unref)(props).id, floating: (0, vue.unref)(props).floating, role: (0, vue.unref)(props).role, novalidate: (0, vue.unref)(props).novalidate, validated: (0, vue.unref)(props).validated, class: ["d-flex", (0, vue.unref)(props).formClass], onSubmit: (0, vue.withModifiers)(submitted, ["prevent"]) }), { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]), _: 3 }, 16, [ "id", "floating", "role", "novalidate", "validated", "class" ])], 16); }; } }); //#endregion //#region src/components/BNav/BNavItem.vue?vue&type=script&setup=true&lang.ts var _hoisted_1$2 = { class: "nav-item" }; //#endregion //#region src/components/BNav/BNavItem.vue var BNavItem_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BNavItem", props: { linkAttrs: { default: void 0 }, linkClass: { default: void 0 }, active: { type: Boolean, default: void 0 }, activeClass: { default: void 0 }, disabled: { type: Boolean, default: void 0 }, exactActiveClass: { default: "router-link-exact-active active" }, href: { default: void 0 }, icon: { type: Boolean, default: void 0 }, noRel: { type: Boolean, default: void 0 }, opacity: { default: void 0 }, opacityHover: { default: void 0 }, prefetch: { type: Boolean, default: void 0 }, prefetchOn: { default: void 0 }, noPrefetch: { type: Boolean, default: void 0 }, prefetchedClass: { default: void 0 }, 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 } }, emits: ["click"], setup(__props, { emit: __emit }) { const props = require_useDefaults.useDefaults(__props, "BNavItem"); const emit = __emit; const computedLinkProps = (0, vue.computed)(() => require_object.pick(props, [ "active", "activeClass", "disabled", "exactActiveClass", "href", "icon", "noRel", "noPrefetch", "opacity", "opacityHover", "prefetch", "prefetchedClass", "prefetchOn", "rel", "replace", "routerComponentName", "stretched", "target", "to", "underlineOffset", "underlineOffsetHover", "underlineOpacity", "underlineOpacityHover", "underlineVariant", "variant" ])); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", _hoisted_1$2, [(0, vue.createVNode)(require_BLink.BLink_default, (0, vue.mergeProps)({ class: ["nav-link", __props.linkClass], tabindex: (0, vue.unref)(props).disabled ? -1 : void 0, "aria-disabled": (0, vue.unref)(props).disabled ? true : void 0 }, { ...computedLinkProps.value, ...__props.linkAttrs }, { onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) }), { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]), _: 3 }, 16, [ "class", "tabindex", "aria-disabled" ]), (0, vue.renderSlot)(_ctx.$slots, "after")]); }; } }); //#endregion //#region src/components/BNav/BNavItemDropdown.vue?vue&type=script&setup=true&lang.ts var _hoisted_1$1 = { class: "nav-item dropdown" }; //#endregion //#region src/components/BNav/BNavItemDropdown.vue var BNavItemDropdown_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BNavItemDropdown", props: /* @__PURE__ */ (0, vue.mergeModels)({ ariaLabel: { default: void 0 }, autoClose: { type: [Boolean, String], default: true }, boundary: { default: "clippingAncestors" }, boundaryPadding: { default: void 0 }, disabled: { type: Boolean, default: false }, floatingMiddleware: { default: void 0 }, icon: { type: Boolean, default: false }, id: { default: void 0 }, isNav: { type: Boolean, default: true }, menuClass: { default: void 0 }, noCaret: { type: Boolean, default: false }, noFlip: { type: Boolean, default: false }, noShift: { type: Boolean, default: false }, noSize: { type: Boolean, default: false }, offset: { default: 0 }, role: { default: "menu" }, size: { default: "md" }, noWrapper: { type: Boolean, default: void 0 }, split: { type: Boolean, default: false }, splitButtonType: { default: "button" }, splitClass: { default: void 0 }, splitDisabled: { type: Boolean, default: void 0 }, splitHref: { default: void 0 }, splitTo: { default: void 0 }, splitVariant: { default: void 0 }, strategy: { default: "absolute" }, text: { default: void 0 }, toggleClass: { default: void 0 }, toggleText: { default: "Toggle dropdown" }, variant: { default: "link" }, wrapperClass: { default: void 0 }, placement: { default: void 0 }, teleportDisabled: { type: Boolean, default: false }, teleportTo: { default: void 0 }, initialAnimation: { type: Boolean, default: false }, noAnimation: { type: Boolean }, noFade: { type: Boolean }, lazy: { type: Boolean, default: false }, unmountLazy: { type: Boolean }, show: { type: Boolean }, transProps: {}, visible: { type: Boolean } }, { "modelValue": { type: Boolean, default: false }, "modelModifiers": {} }), emits: /* @__PURE__ */ (0, vue.mergeModels)([ "split-click", "hide", "hide-prevented", "hidden", "show", "show-prevented", "shown", "toggle", "toggle-prevented" ], ["update:modelValue"]), setup(__props, { expose: __expose, emit: __emit }) { const props = require_useDefaults.useDefaults(__props, "BNavItemDropdown"); const emit = __emit; const modelValue = (0, vue.useModel)(__props, "modelValue"); const dropdown = (0, vue.useTemplateRef)("_dropdown"); const hide = () => { dropdown.value?.hide(); }; const show = () => { dropdown.value?.show(); }; const toggle = () => { dropdown.value?.toggle(); }; __expose({ hide, show, toggle }); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", _hoisted_1$1, [(0, vue.createVNode)(require_BDropdown.BDropdown_default, (0, vue.mergeProps)({ ref: "_dropdown" }, (0, vue.unref)(props), { modelValue: modelValue.value, "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event), "is-nav": "", onShow: _cache[1] || (_cache[1] = ($event) => emit("show", $event)), onShown: _cache[2] || (_cache[2] = ($event) => emit("shown", $event)), onHide: _cache[3] || (_cache[3] = ($event) => emit("hide", $event)), onHidden: _cache[4] || (_cache[4] = ($event) => emit("hidden", $event)), onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit("hide-prevented", $event)), onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit("show-prevented", $event)), onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit("toggle-prevented", $event)), onToggle: _cache[8] || (_cache[8] = ($event) => emit("toggle", $event)), onSplitClick: _cache[9] || (_cache[9] = ($event) => emit("split-click", $event)) }), { "button-content": (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "button-content")]), "toggle-text": (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "toggle-text")]), default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", { hide, show })]), _: 3 }, 16, ["modelValue"])]); }; } }); //#endregion //#region src/components/BNav/BNavText.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = { class: "navbar-text" }; //#endregion //#region src/components/BNav/BNavText.vue var BNavText_default = /* @__PURE__ */ (0, vue.defineComponent)({ __name: "BNavText", props: { text: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BNavText"); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).text), 1)])]); }; } }); //#endregion Object.defineProperty(exports, "BNavForm_default", { enumerable: true, get: function() { return BNavForm_default; } }); Object.defineProperty(exports, "BNavItemDropdown_default", { enumerable: true, get: function() { return BNavItemDropdown_default; } }); Object.defineProperty(exports, "BNavItem_default", { enumerable: true, get: function() { return BNavItem_default; } }); Object.defineProperty(exports, "BNavText_default", { enumerable: true, get: function() { return BNavText_default; } }); Object.defineProperty(exports, "BNav_default", { enumerable: true, get: function() { return BNav_default; } }); //# sourceMappingURL=BNav-dxOO1pJI.js.map