ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
142 lines (141 loc) • 4.21 kB
JavaScript
import { defineComponent as h, mergeDefaults as k, toRef as u, useSlots as P, computed as m, createVNode as a, mergeProps as q } from "vue";
import { c as I, _ as w } from "../chunks/helper-chunk.mjs";
import { b as i } from "../chunks/module-chunk.mjs";
import S from "./style/index.mjs";
import "../x-provider/index.mjs";
import j from "../_util/hooks/use-x-component-config.mjs";
import { Typography as p } from "ant-design-vue";
import "./index.mjs";
import L from "../x-provider/hooks/use-x-provider-context.mjs";
const V = /* @__PURE__ */ h({
name: "AXPrompts",
__name: "Prompts",
props: k({
items: {
type: Array,
required: !1
},
title: {
required: !1
},
onItemClick: {
type: Function,
required: !1
},
vertical: {
type: Boolean,
required: !1
},
wrap: {
type: Boolean,
required: !1
},
styles: {
type: Object,
required: !1
},
classNames: {
type: Object,
required: !1
},
prefixCls: {
type: String,
required: !1
},
rootClassName: {
type: String,
required: !1
}
}, {
styles: () => ({}),
classNames: () => ({})
}),
setup(e, {
expose: y
}) {
y();
const d = I(e, ["prefixCls", "title", "class", "items", "onItemClick", "vertical", "wrap", "rootClassName", "styles", "classNames", "style"]);
u(e, "class"), u(e, "prefixCls");
const r = P(), {
getPrefixCls: v,
direction: C
} = L(), t = v("prompts", e.prefixCls), l = j("prompts"), [f, N, b] = S(t), g = m(() => i(t, l.value.className, e.class, e.rootClassName, N.value, b, {
[`${t}-rtl`]: C.value === "rtl"
})), x = m(() => i(`${t}-list`, l.value.classNames.list, e.classNames.list, {
[`${t}-list-wrap`]: e.wrap
}, {
[`${t}-list-vertical`]: e.vertical
})), n = m(() => r.title ? r.title() : typeof e.title == "function" ? e.title() : e.title);
return () => {
var o;
return f(a("div", q(d, {
class: g.value,
style: {
...typeof e.style == "object" ? e.style : {},
...typeof l.value.style == "object" ? l.value.style : {}
}
}), [n.value && a(p.Title, {
level: 5,
class: i(`${t}-title`, l.value.classNames.title, e.classNames.title),
style: {
...l.value.styles.title,
...e.styles.title
}
}, {
default: () => [n.value]
}), a("div", {
class: x.value,
style: {
...l.value.styles.list,
...e.styles.list
}
}, [(o = e.items) == null ? void 0 : o.map((s, $) => {
const c = s.children && s.children.length > 0;
return a("div", {
key: s.key || `key_${$}`,
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`]: c
}),
onClick: () => {
!c && 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]), c && 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)])]);
})])]));
};
}
}), X = /* @__PURE__ */ w(V, [["__file", "/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/prompts/Prompts.vue"]]);
export {
X as default
};