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