UNPKG

bootstrap-vue-next

Version:

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

415 lines (414 loc) 14.8 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"); require("./BDropdown-C1AxRj81.js"); let vue = require("vue"); //#endregion //#region src/components/BDropdown/BDropdownDivider.vue var BDropdownDivider_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownDivider", props: { dividerClass: { default: void 0 }, tag: { default: "hr" }, variant: {}, wrapperAttrs: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BDropdownDivider"); const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...dividerAttrs } = attrs; return { wrapperClass, dividerAttrs }; }); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, __props.wrapperAttrs), [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), (0, vue.mergeProps)({ class: ["dropdown-divider", (0, vue.unref)(props).dividerClass], role: "separator", "aria-orientation": "horizontal" }, processedAttrs.value.dividerAttrs), null, 16, ["class"]))], 16); }; } }); //#endregion //#region src/components/BDropdown/BDropdownForm.vue?vue&type=script&setup=true&lang.ts var _hoisted_1$2 = ["novalidate"]; //#endregion //#region src/components/BDropdown/BDropdownForm.vue var BDropdownForm_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownForm", props: { formClass: { default: void 0 }, novalidate: { type: Boolean, default: void 0 }, validated: { type: Boolean, default: void 0 }, wrapperAttrs: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BDropdownForm"); const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...formAttrs } = attrs; return { wrapperClass, formAttrs }; }); const computedClasses = (0, vue.computed)(() => [props.formClass, { "was-validated": props.validated }]); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, (0, vue.unref)(props).wrapperAttrs), [(0, vue.createElementVNode)("form", (0, vue.mergeProps)({ class: ["dropdown-item-text", computedClasses.value], novalidate: (0, vue.unref)(props).novalidate }, processedAttrs.value.formAttrs), [(0, vue.renderSlot)(_ctx.$slots, "default")], 16, _hoisted_1$2)], 16); }; } }); //#endregion //#region src/components/BDropdown/BDropdownGroup.vue?vue&type=script&setup=true&lang.ts var _hoisted_1$1 = { role: "presentation" }; var _hoisted_2 = ["id", "aria-describedby"]; //#endregion //#region src/components/BDropdown/BDropdownGroup.vue var BDropdownGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownGroup", props: { ariaDescribedby: { default: void 0 }, header: { default: void 0 }, headerClass: { default: void 0 }, headerTag: { default: "header" }, headerVariant: { default: null }, id: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BDropdownGroup"); const headerId = (0, vue.computed)(() => props.id ? `${props.id}_group_dd_header` : void 0); const headerRole = (0, vue.computed)(() => props.headerTag === "header" ? void 0 : "heading"); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.headerVariant }))); const computedClasses = (0, vue.computed)(() => [props.headerClass, colorClasses.value]); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", _hoisted_1$1, [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).headerTag), { id: headerId.value, class: (0, vue.normalizeClass)(["dropdown-header", computedClasses.value]), role: headerRole.value }, { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "header", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).header), 1)])]), _: 3 }, 8, [ "id", "class", "role" ])), (0, vue.createElementVNode)("ul", (0, vue.mergeProps)({ id: (0, vue.unref)(props).id, role: "group", class: "list-unstyled" }, _ctx.$attrs, { "aria-describedby": (0, vue.unref)(props).ariaDescribedby || headerId.value }), [(0, vue.renderSlot)(_ctx.$slots, "default")], 16, _hoisted_2)]); }; } }); //#endregion //#region src/components/BDropdown/BDropdownHeader.vue var BDropdownHeader_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownHeader", props: { headerClass: { default: void 0 }, tag: { default: "h6" }, text: { default: void 0 }, variant: { default: null }, wrapperAttrs: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BDropdownHeader"); const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...headerAttrs } = attrs; return { wrapperClass, headerAttrs }; }); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.variant }))); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, __props.wrapperAttrs), [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), (0, vue.mergeProps)({ class: ["dropdown-header", [(0, vue.unref)(colorClasses), (0, vue.unref)(props).headerClass]] }, processedAttrs.value.headerAttrs), { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).text), 1)])]), _: 3 }, 16, ["class"]))], 16); }; } }); //#endregion //#region src/components/BDropdown/BDropdownItem.vue var BDropdownItem_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownItem", props: { linkClass: { default: void 0 }, wrapperAttrs: { default: void 0 }, 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: null } }, emits: ["click"], setup(__props, { emit: __emit }) { const props = require_useDefaults.useDefaults(__props, "BDropdownItem"); const emit = __emit; const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...dropdownItemAttrs } = attrs; return { wrapperClass, dropdownItemAttrs }; }); const { computedLink, computedLinkProps } = require_BLink.useBLinkHelper(props); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.variant }))); const computedClasses = (0, vue.computed)(() => [ props.linkClass, colorClasses.value, { active: props.active, disabled: props.disabled } ]); const computedTag = (0, vue.computed)(() => computedLink.value ? require_BLink.BLink_default : props.href ? "a" : "button"); const collapseData = (0, vue.inject)(require_keys.collapseInjectionKey, null); const dropdownData = (0, vue.inject)(require_keys.dropdownInjectionKey, null); const navbarData = (0, vue.inject)(require_keys.navbarInjectionKey, null); const clicked = (e) => { emit("click", e); if (navbarData !== null && navbarData?.noAutoClose?.value !== true) collapseData?.hide?.(); dropdownData?.hide?.(); }; return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, (0, vue.unref)(props).wrapperAttrs), [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(computedTag.value), (0, vue.mergeProps)({ class: ["dropdown-item", computedClasses.value], disabled: (0, vue.unref)(props).disabled, "aria-disabled": (0, vue.unref)(props).disabled ? true : null, "aria-current": (0, vue.unref)(props).active ? true : null, href: computedTag.value === "a" ? (0, vue.unref)(props).href : null, rel: (0, vue.unref)(props).rel, role: "menuitem", type: computedTag.value === "button" ? "button" : null, target: (0, vue.unref)(props).target }, { ...(0, vue.unref)(computedLinkProps), ...processedAttrs.value.dropdownItemAttrs }, { onClick: clicked }), { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]), _: 3 }, 16, [ "class", "disabled", "aria-disabled", "aria-current", "href", "rel", "type", "target" ]))], 16); }; } }); //#endregion //#region src/components/BDropdown/BDropdownItemButton.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = ["disabled"]; //#endregion //#region src/components/BDropdown/BDropdownItemButton.vue var BDropdownItemButton_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownItemButton", props: { active: { type: Boolean, default: false }, activeClass: { default: "active" }, buttonClass: { default: void 0 }, wrapperAttrs: { default: void 0 }, disabled: { type: Boolean, default: false }, variant: { default: null } }, emits: ["click"], setup(__props, { emit: __emit }) { const props = require_useDefaults.useDefaults(__props, "BDropdownItemButton"); const emit = __emit; const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...buttonAttrs } = attrs; return { wrapperClass, buttonAttrs }; }); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.variant }))); const computedClasses = (0, vue.computed)(() => [ props.buttonClass, colorClasses.value, { [props.activeClass]: props.active, disabled: props.disabled } ]); const clicked = (e) => { if (props.disabled) { e.preventDefault(); e.stopPropagation(); return; } emit("click", e); }; return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, (0, vue.unref)(props).wrapperAttrs), [(0, vue.createElementVNode)("button", (0, vue.mergeProps)({ role: "menu", type: "button", class: ["dropdown-item", computedClasses.value], disabled: (0, vue.unref)(props).disabled }, processedAttrs.value.buttonAttrs, { onClick: clicked }), [(0, vue.renderSlot)(_ctx.$slots, "default")], 16, _hoisted_1)], 16); }; } }); //#endregion //#region src/components/BDropdown/BDropdownText.vue var BDropdownText_default = /* @__PURE__ */ (0, vue.defineComponent)({ inheritAttrs: false, __name: "BDropdownText", props: { textClass: { default: void 0 }, tag: { default: "span" }, text: { default: void 0 }, variant: { default: null }, wrapperAttrs: { default: void 0 } }, setup(__props) { const props = require_useDefaults.useDefaults(__props, "BDropdownText"); const attrs = (0, vue.useAttrs)(); const processedAttrs = (0, vue.computed)(() => { const { class: wrapperClass, ...textAttrs } = attrs; return { wrapperClass, textAttrs }; }); const colorClasses = require_useColorVariantClasses.useColorVariantClasses((0, vue.computed)(() => ({ textVariant: props.variant }))); return (_ctx, _cache) => { return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", (0, vue.mergeProps)({ role: "presentation", class: processedAttrs.value.wrapperClass }, __props.wrapperAttrs), [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(props).tag), (0, vue.mergeProps)({ class: ["dropdown-item-text", [(0, vue.unref)(colorClasses), (0, vue.unref)(props).textClass]] }, processedAttrs.value.textAttrs), { default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default", {}, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)((0, vue.unref)(props).text), 1)])]), _: 3 }, 16, ["class"]))], 16); }; } }); //#endregion Object.defineProperty(exports, "BDropdownDivider_default", { enumerable: true, get: function() { return BDropdownDivider_default; } }); Object.defineProperty(exports, "BDropdownForm_default", { enumerable: true, get: function() { return BDropdownForm_default; } }); Object.defineProperty(exports, "BDropdownGroup_default", { enumerable: true, get: function() { return BDropdownGroup_default; } }); Object.defineProperty(exports, "BDropdownHeader_default", { enumerable: true, get: function() { return BDropdownHeader_default; } }); Object.defineProperty(exports, "BDropdownItemButton_default", { enumerable: true, get: function() { return BDropdownItemButton_default; } }); Object.defineProperty(exports, "BDropdownItem_default", { enumerable: true, get: function() { return BDropdownItem_default; } }); Object.defineProperty(exports, "BDropdownText_default", { enumerable: true, get: function() { return BDropdownText_default; } }); //# sourceMappingURL=BDropdown-CuVOxCzu.js.map