import type { IComponentPrototype } from "@xirang/studio-helpers";
import { StylePrototypes } from "./common";
export const Descriptions: IComponentPrototype = {
name: "Descriptions",
title: "描述列表",
package: "@xirang/design-antd",
icon: "icon-miaoshu",
help: "成组展示多个只读字段,常见于详情页的信息展示",
type: "element",
hasChildren: true,
childrenName: "DescriptionItem",
// initChildren: ``,
relatedImports: ["DescriptionItem", "Text"],
props: [
...StylePrototypes,
{
name: "title",
title: "列表标题",
setter: "textSetter",
initValue: "标题",
},
{
name: "bordered",
title: "是否展示边框",
setter: "boolSetter",
},
// {
// name: 'colon',
// title: '是否展示冒号',
// setter: 'boolSetter',
// group: 'style',
// },
{
name: "column",
title: "列数",
setter: "numberSetter",
initValue: 3,
},
// {
// name: 'contentStyle',
// group: 'style',
// title: '自定义内容样式',
// setter: 'expressionSetter',
// },
{
name: "extra",
title: "标题栏自定义操作区",
setter: "jsxSetter",
},
{
name: "labelAlign",
title: "标签位置",
setter: "choiceSetter",
options: [
{ label: "居左", value: "left" },
{ label: "居右", value: "right" },
],
},
{ name: "labelWidth", title: "标签宽度", setter: "textSetter" },
// {
// name: 'layout',
// title: '描述布局',
// setter: 'choiceSetter',
// setterProps: {
// options: [
// { label: '水平', value: 'horizontal' },
// { label: '垂直', value: 'vertical' },
// ],
// },
// },
{
name: "size",
title: "设置列表的大小",
tip: "仅在展示边框时有效",
setter: "choiceSetter",
setterProps: {
options: [
{ label: "默认", value: "default" },
{ label: "中", value: "middle" },
{ label: "小", value: "small" },
],
},
},
{
name: "labelStyle",
title: "标签样式",
setter: "expressionSetter",
group: "style",
},
{
name: "contentStyle",
title: "内容样式",
setter: "expressionSetter",
group: "style",
},
],
};
export const DescriptionItem: IComponentPrototype = {
name: "DescriptionItem",
title: "描述列表子项",
package: "@xirang/design-antd",
icon: "icon-miaoshuliebiaoitem",
type: "element",
hasChildren: false,
props: [
...StylePrototypes,
{ name: "label", title: "标签", setter: "textSetter", initValue: "标签名" },
{
name: "span",
title: "占据列数",
setter: "numberSetter",
},
{
name: "type",
title: "内容渲染类型",
setter: "pickerSetter",
options: [
{ label: "文本", value: "text" },
{ label: "链接", value: "link" },
{ label: "图片", value: "image" },
{ label: "日期时间", value: "datetime" },
{ label: "数字", value: "decimal" },
],
},
{
name: "content",
title: "内容",
setter: "jsxSetter",
setterProps: {
showInput: true,
},
},
{
name: "labelStyle",
title: "标签样式",
setter: "expressionSetter",
group: "style",
},
{
name: "contentStyle",
title: "内容样式",
setter: "expressionSetter",
group: "style",
},
],
};
// 兼容旧版本
export const DescriptionsItem = DescriptionItem;