ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
117 lines (116 loc) • 3.64 kB
JavaScript
import { defineComponent as k, mergeDefaults as x, toRef as u, useSlots as g, computed as c, createVNode as a, mergeProps as I } from "vue";
import { a as P, c as i } from "../attachments/Attachments2.mjs";
import w from "./style/index.mjs";
import S from "../x-provider/hooks/use-x-provider-context.mjs";
import "../x-provider/context.mjs";
import { Typography as L } from "ant-design-vue";
import V from "../_util/hooks/use-x-component-config.mjs";
const X = /* @__PURE__ */ k({
name: "AXPrompts",
__name: "Prompts",
props: x({
items: null,
title: null,
onItemClick: {
type: Function
},
vertical: {
type: Boolean
},
wrap: {
type: Boolean
},
styles: null,
classNames: null,
prefixCls: null,
rootClassName: null
}, {
styles: () => ({}),
classNames: () => ({})
}),
setup(e) {
const y = P(e, ["prefixCls", "title", "class", "items", "onItemClick", "vertical", "wrap", "rootClassName", "styles", "classNames", "style"]);
u(e, "class"), u(e, "prefixCls");
const n = g(), {
getPrefixCls: v,
direction: C
} = S(), t = v("prompts", e.prefixCls), l = V("prompts"), [d, N, $] = w(t), f = c(() => i(t, l.value.className, e.class, e.rootClassName, N.value, $, {
[`${t}-rtl`]: C.value === "rtl"
})), b = c(() => i(`${t}-list`, l.value.classNames.list, e.classNames.list, {
[`${t}-list-wrap`]: e.wrap
}, {
[`${t}-list-vertical`]: e.vertical
})), o = c(() => n.title ? n.title() : e.title);
return () => {
var r;
return d(a("div", I(y, {
class: f.value,
style: {
...typeof e.style == "object" ? e.style : {},
...typeof l.value.style == "object" ? l.value.style : {}
}
}), [o.value && a(L.Title, {
level: 5,
class: i(`${t}-title`, l.value.classNames.title, e.classNames.title),
style: {
...l.value.styles.title,
...e.styles.title
}
}, {
default: () => [o.value]
}), a("div", {
class: b.value,
style: {
...l.value.styles.list,
...e.styles.list
}
}, [(r = e.items) == null ? void 0 : r.map((s, h) => {
const m = s.children && s.children.length > 0;
return a("div", {
key: s.key || `key_${h}`,
style: {
...l.value.styles.item,
...e.styles.item
},
class: i(`${t}-item`, l.value.classNames.item, e.classNames.item, {
[`${t}-item-disabled`]: s.disabled,
[`${t}-item-has-nest`]: m
}),
onClick: () => {
!m && e.onItemClick && e.onItemClick({
data: s
});
}
}, [s.icon && a("div", {
class: `${t}-icon`
}, [s.icon]), a("div", {
class: i(`${t}-content`, l.value.classNames.itemContent, e.classNames.itemContent),
style: {
...l.value.styles.itemContent,
...e.styles.itemContent
}
}, [s.label && a("h6", {
class: `${t}-label`
}, [s.label]), s.description && a("p", {
class: `${t}-desc`
}, [s.description]), m && a(X, {
class: `${t}-nested`,
items: s.children,
vertical: !0,
onItemClick: e.onItemClick,
classNames: {
list: e.classNames.subList,
item: e.classNames.subItem
},
styles: {
list: e.styles.subList,
item: e.styles.subItem
}
}, null)])]);
})])]));
};
}
});
export {
X as default
};