@ywfe/materials-design
Version:
YwDesign for lowcode
216 lines (213 loc) • 5.25 kB
text/typescript
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';
import { IPublicTypeSnippetMore } from '../_base';
const YwTagMeta: IPublicTypeComponentMetadata = {
componentName: 'YwTag',
title: 'YwTag',
docUrl: '',
screenshot: '',
group: '基础组件',
category: '展示',
devMode: 'proCode',
npm: {
package: '@ywfe/materials-design',
version: '0.0.1-beta.8',
exportName: 'YwTag',
main: 'src/index.tsx',
destructuring: true,
subName: '',
},
configure: {
props: [
{
title: {
label: '业务预定义标签',
tip: 'bizName | 业务预定义标签',
},
name: 'bizName',
description: '业务预定义标签',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [
{
label: 'default',
value: 'default',
},
{
label: 'amount',
value: 'amount',
},
{
label: 'level',
value: 'level',
},
],
},
initialValue: 'default',
},
},
{
title: {
label: '标签文字',
tip: 'text | 标签文字',
},
name: 'text',
description: '标签文字',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
// setter: {
// componentName: 'MixedSetter',
// props: {
// setters: [
// {
// componentName: 'StringSetter',
// isRequired: false,
// initialValue: '',
// },
// {
// componentName: 'ArraySetter',
// props: {
// itemSetter: {
// componentName: 'StringSetter',
// isRequired: false,
// initialValue: '',
// },
// },
// initialValue: '',
// },
// ],
// },
// },
},
{
title: {
label: '样式类型',
tip: 'styleType | 样式类型 hollow 空心样式',
},
name: 'styleType',
description: '样式类型 hollow 空心样式',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [
{
label: '空心',
value: 'hollow',
},
{
label: '普通',
value: '',
},
],
},
initialValue: '',
},
},
{
title: {
label: '尺寸',
tip: 'size | 尺寸',
},
name: 'size',
description: '尺寸',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [
{
label: '默认',
value: 'default',
},
{
label: '小号',
value: 's',
},
],
},
initialValue: 'default',
},
},
{
title: {
label: '颜色',
tip: 'color | 颜色',
},
name: 'color',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'SelectSetter',
props: {
options: [
{
label: 'default',
value: 'default',
},
{
label: 'error',
value: 'error',
},
{
label: 'warning',
value: 'warning',
},
{
label: 'success',
value: 'success',
},
{
label: 'processing',
value: 'processing',
},
],
},
initialValue: 'default',
},
{
componentName: 'InputSetter',
isRequired: false,
},
],
},
},
},
{
title: {
label: '是否显示',
tip: 'visible | 是否显示',
},
name: 'visible',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true,
},
},
],
supports: {
className: true,
style: true,
},
component: {},
},
};
const snippets: IPublicTypeSnippetMore[] = [
{
title: '标签',
svgId: 'toolbox-page-label',
screenshot: 'https://yw-fed-static.oss-cn-hangzhou.aliyuncs.com/lowcode/businessTag',
schema: {
componentName: 'YwTag',
props: {},
},
},
];
export default {
...YwTagMeta,
snippets,
};