bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
167 lines (166 loc) • 5.26 kB
JavaScript
require("./chunk-CoQrYLCe.js");
const require_keys = require("./keys-durSVUrO.js");
const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
const require_BLink = require("./BLink-uemyYKst.js");
let vue = require("vue");
//#endregion
//#region src/components/BListGroup/BListGroup.vue
var BListGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BListGroup",
props: {
flush: {
type: Boolean,
default: false
},
horizontal: {
type: [Boolean, String],
default: false
},
numbered: {
type: Boolean,
default: false
},
tag: { default: "div" }
},
setup(__props) {
const props = require_useDefaults.useDefaults(__props, "BListGroup");
const computedClasses = (0, vue.computed)(() => {
const horizontal = props.flush ? false : props.horizontal;
return {
"list-group-flush": props.flush,
"list-group-horizontal": horizontal === true,
[`list-group-horizontal-${horizontal}`]: typeof horizontal === "string",
"list-group-numbered": props.numbered
};
});
const computedTag = (0, vue.computed)(() => props.numbered === true ? "ol" : props.tag);
(0, vue.provide)(require_keys.listGroupInjectionKey, { numbered: (0, vue.toRef)(() => props.numbered) });
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(computedTag.value), { class: (0, vue.normalizeClass)(["list-group", computedClasses.value]) }, {
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
_: 3
}, 8, ["class"]);
};
}
});
//#endregion
//#region src/components/BListGroup/BListGroupItem.vue
var BListGroupItem_default = /* @__PURE__ */ (0, vue.defineComponent)({
__name: "BListGroupItem",
props: {
action: {
type: Boolean,
default: false
},
button: {
type: Boolean,
default: false
},
tag: { default: "div" },
active: {
type: Boolean,
default: false
},
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, "BListGroupItem");
const attrs = (0, vue.useAttrs)();
const parentData = (0, vue.inject)(require_keys.listGroupInjectionKey, null);
const { computedLink, computedLinkProps } = require_BLink.useBLinkHelper(props);
const isLink = (0, vue.computed)(() => !props.button && computedLink.value);
const tagComputed = (0, vue.computed)(() => parentData?.numbered.value ? "li" : props.button ? "button" : !isLink.value ? props.tag : require_BLink.BLink_default);
const isAction = (0, vue.computed)(() => props.action || isLink.value || props.button || [
"a",
"router-link",
"button",
"b-link"
].includes(props.tag));
const computedClasses = (0, vue.computed)(() => ({
[`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== void 0,
"list-group-item-action": isAction.value,
"active": props.active,
"disabled": props.disabled
}));
const computedAttrs = (0, vue.computed)(() => {
const localAttrs = {};
if (props.button) {
if (!attrs || !attrs.type) localAttrs.type = "button";
if (props.disabled) localAttrs.disabled = true;
}
return localAttrs;
});
return (_ctx, _cache) => {
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(tagComputed.value), (0, vue.mergeProps)({
class: ["list-group-item", computedClasses.value],
"aria-current": (0, vue.unref)(props).active ? true : void 0,
"aria-disabled": (0, vue.unref)(props).disabled ? true : void 0,
target: isLink.value ? (0, vue.unref)(props).target : void 0,
href: !(0, vue.unref)(props).button ? (0, vue.unref)(props).href : void 0,
to: !(0, vue.unref)(props).button ? (0, vue.unref)(props).to : void 0
}, {
...isLink.value ? (0, vue.unref)(computedLinkProps) : {},
...computedAttrs.value
}), {
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "default")]),
_: 3
}, 16, [
"class",
"aria-current",
"aria-disabled",
"target",
"href",
"to"
]);
};
}
});
//#endregion
Object.defineProperty(exports, "BListGroupItem_default", {
enumerable: true,
get: function() {
return BListGroupItem_default;
}
});
Object.defineProperty(exports, "BListGroup_default", {
enumerable: true,
get: function() {
return BListGroup_default;
}
});
//# sourceMappingURL=BListGroup-DuyMdAxJ.js.map