UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

151 lines (150 loc) 4.95 kB
import { defineComponent as T, mergeDefaults as B, toRef as C, ref as R, useSlots as V, computed as c, getCurrentInstance as A, createVNode as i, mergeProps as F, Transition as X, isVNode as O } from "vue"; import { c as D } from "../chunks/helper-chunk.mjs"; import { b as o } from "../chunks/module-chunk.mjs"; import E from "./style/index.mjs"; import "../x-provider/index.mjs"; import q from "../_util/hooks/use-x-component-config.mjs"; import { Typography as z } from "ant-design-vue"; import G from "../x-provider/hooks/use-x-provider-context.mjs"; function H(e) { return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !O(e); } const p = /* @__PURE__ */ T({ name: "AXPrompts", __name: "Prompts", props: B({ items: null, title: null, onItemClick: { type: Function }, vertical: { type: Boolean }, wrap: { type: Boolean }, fadeIn: { type: Boolean }, fadeInLeft: { type: Boolean }, styles: null, classNames: null, prefixCls: null, rootClassName: null }, { styles: () => ({}), classNames: () => ({}) }), setup(e, { expose: $ }) { const N = D(e, ["prefixCls", "title", "class", "items", "onItemClick", "vertical", "wrap", "rootClassName", "styles", "classNames", "style", "fadeIn", "fadeInLeft"]); C(e, "class"), C(e, "prefixCls"); const u = R(null), v = V(), { getPrefixCls: y, direction: I } = G(), t = y("prompts", e.prefixCls), b = y(), l = q("prompts"), [x, g, h] = E(t), k = c(() => e.fadeInLeft || e.fadeIn ? `${b}-x-fade${e.fadeInLeft ? "-left" : ""}` : ""), P = c(() => { var n; return o(t, l.value.className, e.class, e.rootClassName, (n = l.value.classNames) == null ? void 0 : n.root, e.classNames.root, g.value, h, { [`${t}-rtl`]: I.value === "rtl" }); }), L = c(() => { var n; return { ...typeof e.style == "object" ? e.style : {}, ...typeof l.value.style == "object" ? l.value.style : {}, ...((n = l.value.styles) == null ? void 0 : n.root) || {}, ...e.styles.root || {} }; }), S = c(() => o(`${t}-list`, l.value.classNames.list, e.classNames.list, { [`${t}-list-wrap`]: e.wrap }, { [`${t}-list-vertical`]: e.vertical })), d = c(() => v.title ? v.title() : typeof e.title == "function" ? e.title() : e.title); return $({ nativeElement: u }), () => { var f; const n = A().type, m = i("div", F(N, { ref: u, class: P.value, style: L.value }), [d.value && i(z.Title, { level: 5, class: o(`${t}-title`, l.value.classNames.title, e.classNames.title), style: { ...l.value.styles.title, ...e.styles.title } }, { default: () => [d.value] }), i("div", { class: S.value, style: { ...l.value.styles.list, ...e.styles.list } }, [(f = e.items) == null ? void 0 : f.map((a, w) => { const r = a.children && a.children.length > 0; return i("div", { key: a.key || `key_${w}`, style: { ...l.value.styles.item, ...e.styles.item }, class: o(`${t}-item`, l.value.classNames.item, e.classNames.item, { [`${t}-item-disabled`]: a.disabled, [`${t}-item-has-nest`]: r }), onClick: () => { !r && e.onItemClick && e.onItemClick({ data: a }); } }, [a.icon && i("div", { class: `${t}-icon` }, [a.icon]), i("div", { class: o(`${t}-content`, l.value.classNames.itemContent, e.classNames.itemContent), style: { ...l.value.styles.itemContent, ...e.styles.itemContent } }, [a.label && i("h6", { class: `${t}-label` }, [a.label]), a.description && i("p", { class: `${t}-desc` }, [a.description]), r && i(n, { class: `${t}-nested`, items: a.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)])]); })])]), s = k.value, j = s ? i(X, { appear: !0, enterFromClass: `${s}-enter ${s}-appear`, enterActiveClass: `${s}-enter ${s}-enter-active ${s}-appear ${s}-appear-active`, enterToClass: `${s}-enter ${s}-enter-active`, leaveFromClass: `${s}-leave`, leaveActiveClass: `${s}-leave ${s}-leave-active`, leaveToClass: `${s}-leave ${s}-leave-active` }, H(m) ? m : { default: () => [m] }) : m; return x(j); }; } }); export { p as default };