jadq-x-vue
Version:
Craft AI-driven interfaces effortlessly
81 lines (80 loc) • 2.33 kB
JavaScript
import { defineComponent as i, toRef as m, useSlots as r, computed as u, useAttrs as f, createVNode as t, withDirectives as v, mergeProps as y, vShow as h } from "vue";
import { Button as C } from "ant-design-vue";
import { b as s, l as x } from "../chunks/module-chunk.mjs";
import { useSenderHeaderContextInject as N } from "./context.mjs";
import "../transition-collapse/index.mjs";
import S from "../transition-collapse/TransitionCollapse.mjs";
const O = /* @__PURE__ */ i({
name: "AXSenderHeader",
inheritAttrs: !1,
__name: "SenderHeader",
props: {
forceRender: {
type: Boolean
},
open: {
type: Boolean
},
onOpenChange: {},
title: {},
children: {},
className: {},
style: {},
classNames: {
default: () => ({})
},
styles: {
default: () => ({})
},
closable: {
type: Boolean
}
},
setup(e) {
m(e, "classNames");
const a = r(), n = N(), l = u(() => `${n.value.prefixCls}-header`), d = f();
return () => t(S, {
prefixCls: n.value.prefixCls
}, {
default: () => {
var c;
return [e.open || e.forceRender ? v(t("div", y(d, {
class: s(l.value, e.className),
style: {
...e.style
}
}), [(e.closable !== !1 || e.title) && t("div", {
class: (
// We follow antd naming standard here.
// So the header part is use `-header` suffix.
// Though its little bit weird for double `-header`.
s(`${l.value}-header`, e.classNames.header)
),
style: {
...e.styles.header
}
}, [t("div", {
class: `${l.value}-title`
}, [e.title]), e.closable !== !1 && t("div", {
class: `${l.value}-close`
}, [t(C, {
type: "text",
icon: t(x, null, null),
size: "small",
onClick: () => {
var o;
(o = e.onOpenChange) == null || o.call(e, !e.open);
}
}, null)])]), a.default && t("div", {
class: s(`${l.value}-content`, e.classNames.content),
style: {
...e.styles.content
}
}, [(c = a.default) == null ? void 0 : c.call(a)])]), [[h, e.open]]) : null];
}
});
}
});
export {
O as default
};