@indielayer/ui
Version:
Indielayer UI Components with Tailwind CSS build for Vue 3
54 lines (53 loc) • 1.41 kB
JavaScript
import { defineComponent as a, provide as u, openBlock as m, createBlock as i, resolveDynamicComponent as d, normalizeStyle as f, unref as t, normalizeClass as c, withCtx as B, renderSlot as y } from "vue";
import { useTheme as g } from "../../composables/useTheme.js";
import { useCommon as r } from "../../composables/useCommon.js";
import { useColors as v } from "../../composables/useColors.js";
import { useInteractive as C } from "../../composables/useInteractive.js";
import { injectButtonGroupKey as h } from "../../composables/keys.js";
const G = {
...r.props(),
...v.props(),
...C.props(),
tag: {
type: String,
default: "div"
},
outlined: Boolean,
rounded: Boolean,
ghost: Boolean,
light: Boolean,
flat: Boolean
}, _ = {
name: "XButtonGroup",
validators: {
...r.validators()
}
}, j = /* @__PURE__ */ a({
..._,
props: G,
setup(s) {
const e = s;
u(h, {
groupProps: e,
isButtonGroup: !0
});
const { className: n, classes: p, styles: l } = g("ButtonGroup", {}, e);
return (o, b) => (m(), i(d(o.tag), {
style: f(t(l)),
class: c([
t(n),
o.$style["button-group"],
o.rounded ? o.$style["button-group--rounded"] : "",
t(p).wrapper
])
}, {
default: B(() => [
y(o.$slots, "default")
]),
_: 3
}, 8, ["style", "class"]));
}
});
export {
j as default
};