ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
92 lines (91 loc) • 2.88 kB
JavaScript
import { defineComponent as $, mergeDefaults as S, toRef as h, useSlots as w, computed as c, createVNode as a, isVNode as V } from "vue";
import { c as i } from "../attachments/Attachments2.mjs";
import b from "../x-provider/hooks/use-x-provider-context.mjs";
import "../x-provider/context.mjs";
import { Typography as f, Flex as r } from "ant-design-vue";
import j from "../_util/hooks/use-x-component-config.mjs";
import p from "./style/index.mjs";
function T(e) {
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !V(e);
}
const F = /* @__PURE__ */ $({
name: "AXWelcome",
__name: "Welcome",
props: S({
prefixCls: null,
rootClassName: null,
className: null,
style: null,
variant: null,
classNames: null,
styles: null,
icon: null,
title: null,
description: null,
extra: null
}, {
variant: "filled",
classNames: () => ({}),
styles: () => ({})
}),
setup(e) {
h(e, "prefixCls");
const s = w(), {
direction: d,
getPrefixCls: x
} = b(), l = x("welcome", e.prefixCls), n = j("welcome"), [v, N, y] = p(l), C = c(() => {
const t = s.icon ? s.icon() : e.icon;
if (!t)
return null;
let m = t;
return typeof t == "string" && t.startsWith("http") && (m = a("img", {
src: t,
alt: "icon"
}, null)), a("div", {
class: i(`${l}-icon`, n.value.classNames.icon, e.classNames.icon),
style: e.styles.icon
}, [m]);
}), o = c(() => {
const t = s.title ? s.title() : e.title;
return t ? a(f.Title, {
level: 4,
class: i(`${l}-title`, n.value.classNames.title, e.classNames.title),
style: e.styles.title
}, T(t) ? t : {
default: () => [t]
}) : null;
}), u = c(() => s.description ? s.description() : e.description), g = c(() => {
const t = s.extra ? s.extra() : e.extra;
return t ? a("div", {
class: i(`${l}-extra`, n.value.classNames.extra, e.classNames.extra),
style: e.styles.extra
}, [t]) : null;
});
return () => v(a(r, {
class: i(l, n.value.className, e.className, e.rootClassName, N.value, y, `${l}-${e.variant}`, {
[`${l}-rtl`]: d.value === "rtl"
}),
style: e.style
}, {
default: () => [C.value, a(r, {
vertical: !0,
class: `${l}-content-wrapper`
}, {
default: () => [s.extra || e.extra ? a(r, {
align: "flex-start",
class: `${l}-title-wrapper`
}, {
default: () => [o.value, g.value]
}) : o.value, u.value && a(f.Text, {
class: i(`${l}-description`, n.value.classNames.description, e.classNames.description),
style: e.styles.description
}, {
default: () => [u.value]
})]
})]
}));
}
});
export {
F as default
};