ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
104 lines (103 loc) • 2.88 kB
JavaScript
import { defineComponent as o, mergeDefaults as u, toRef as f, useSlots as m, computed as v, useAttrs as y, createVNode as t, withDirectives as h, mergeProps as C, vShow as x } from "vue";
import { Button as q } from "ant-design-vue";
import { b as s, l as g } from "../chunks/module-chunk.mjs";
import { useSenderHeaderContextInject as S } from "./context.mjs";
import "../transition-collapse/index.mjs";
import N from "../transition-collapse/TransitionCollapse.mjs";
import { _ as b } from "../chunks/helper-chunk.mjs";
const H = /* @__PURE__ */ o({
name: "AXSenderHeader",
inheritAttrs: !1,
__name: "SenderHeader",
props: u({
forceRender: {
type: Boolean,
required: !1
},
open: {
type: Boolean,
required: !1
},
onOpenChange: {
type: Function,
required: !1
},
title: {
required: !1
},
children: {
required: !1
},
className: {
type: String,
required: !1
},
style: {
required: !1
},
classNames: {
type: Object,
required: !1
},
styles: {
type: Object,
required: !1
},
closable: {
type: Boolean,
required: !1
}
}, {
classNames: () => ({}),
styles: () => ({})
}),
setup(e, {
expose: d
}) {
d(), f(e, "classNames");
const a = m(), n = S(), l = v(() => `${n.value.prefixCls}-header`), c = y();
return () => t(N, {
prefixCls: n.value.prefixCls
}, {
default: () => {
var r;
return [e.open || e.forceRender ? h(t("div", C(c, {
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(q, {
type: "text",
icon: t(g, null, null),
size: "small",
onClick: () => {
var i;
(i = e.onOpenChange) == null || i.call(e, !e.open);
}
}, null)])]), a.default && t("div", {
class: s(`${l.value}-content`, e.classNames.content),
style: {
...e.styles.content
}
}, [(r = a.default) == null ? void 0 : r.call(a)])]), [[x, e.open]]) : null];
}
});
}
}), z = /* @__PURE__ */ b(H, [["__file", "/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/sender/SenderHeader.vue"]]);
export {
z as default
};