mr-component
Version:
A library for Mr components
799 lines (796 loc) • 18.8 kB
text/typescript
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';
const MrInputMeta: IPublicTypeComponentMetadata = {
componentName: 'MrInput',
title: 'MrInput',
docUrl: '',
screenshot: '',
devMode: 'proCode',
npm: {
package: 'mr-component',
version: '0.0.4',
exportName: 'MrInput',
main: 'src/index.tsx',
destructuring: true,
subName: '',
},
configure: {
props: [
{
title: {
label: {
type: 'i18n',
'en-US': 'value',
'zh-CN': '输入框值',
},
tip: 'value | 输入框值',
},
name: 'value',
description: '输入框值',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
supportVariable: true,
},
{
title: {
label: {
type: 'i18n',
'en-US': 'defaultValue',
'zh-CN': '默认值',
},
tip: 'defaultValue | 默认值',
},
name: 'defaultValue',
description: '默认值',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'placeholder',
'zh-CN': '占位符文本',
},
tip: 'placeholder | 占位符文本',
},
name: 'placeholder',
description: '占位符文本',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'type',
'zh-CN': '输入框类型',
},
tip: 'type | 输入框类型',
},
name: 'type',
description: '输入框类型',
setter: {
componentName: 'SelectSetter',
props: {
dataSource: [
{
label: 'number',
value: 'number',
},
{
label: 'text',
value: 'text',
},
{
label: 'password',
value: 'password',
},
{
label: 'tel',
value: 'tel',
},
{
label: 'search',
value: 'search',
},
{
label: 'email',
value: 'email',
},
{
label: 'url',
value: 'url',
},
],
options: [
{
label: 'number',
value: 'number',
},
{
label: 'text',
value: 'text',
},
{
label: 'password',
value: 'password',
},
{
label: 'tel',
value: 'tel',
},
{
label: 'search',
value: 'search',
},
{
label: 'email',
value: 'email',
},
{
label: 'url',
value: 'url',
},
],
},
initialValue: 'number',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'size',
'zh-CN': '尺寸',
},
tip: 'size | 尺寸',
},
name: 'size',
description: '尺寸',
setter: {
componentName: 'RadioGroupSetter',
props: {
dataSource: [
{
label: 'large',
value: 'large',
},
{
label: 'normal',
value: 'normal',
},
],
options: [
{
label: 'large',
value: 'large',
},
{
label: 'normal',
value: 'normal',
},
],
},
initialValue: 'large',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'disabled',
'zh-CN': '禁用状态',
},
tip: 'disabled | 禁用状态',
},
name: 'disabled',
description: '禁用状态',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'readOnly',
'zh-CN': '只读状态',
},
tip: 'readOnly | 只读状态',
},
name: 'readOnly',
description: '只读状态',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'clearable',
'zh-CN': '是否可清除',
},
tip: 'clearable | 是否可清除',
},
name: 'clearable',
description: '是否可清除',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'maxLength',
'zh-CN': '最大长度',
},
tip: 'maxLength | 最大长度',
},
name: 'maxLength',
description: '最大长度',
setter: {
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'showWordLimit',
'zh-CN': '显示字数统计',
},
tip: 'showWordLimit | 显示字数统计',
},
name: 'showWordLimit',
description: '显示字数统计',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'label',
'zh-CN': '标签文本',
},
tip: 'label | 标签文本',
},
name: 'label',
description: '标签文本',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'labelWidth',
'zh-CN': '标签宽度',
},
tip: 'labelWidth | 标签宽度',
},
name: 'labelWidth',
description: '标签宽度',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'leftIcon',
'zh-CN': '左侧图标',
},
tip: 'leftIcon | 左侧图标',
},
name: 'leftIcon',
description: '左侧图标',
setter: {
componentName: 'SlotSetter',
props: {
mode: 'node',
},
isRequired: false,
initialValue: {
type: 'JSSlot',
value: [],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'rightIcon',
'zh-CN': '右侧图标',
},
tip: 'rightIcon | 右侧图标',
},
name: 'rightIcon',
description: '右侧图标',
setter: {
componentName: 'SlotSetter',
props: {
mode: 'node',
},
isRequired: false,
initialValue: {
type: 'JSSlot',
value: [],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'required',
'zh-CN': '必填标识',
},
tip: 'required | 必填标识',
},
name: 'required',
description: '必填标识',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'error',
'zh-CN': '错误状态',
},
tip: 'error | 错误状态',
},
name: 'error',
description: '错误状态',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'errorMessage',
'zh-CN': '错误信息',
},
tip: 'errorMessage | 错误信息',
},
name: 'errorMessage',
description: '错误信息',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'borderColor',
'zh-CN': '边框颜色',
},
tip: 'borderColor | 边框颜色',
},
name: 'borderColor',
description: '边框颜色',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'backgroundColor',
'zh-CN': '背景颜色',
},
tip: 'backgroundColor | 背景颜色',
},
name: 'backgroundColor',
description: '背景颜色',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'textColor',
'zh-CN': '文字颜色',
},
tip: 'textColor | 文字颜色',
},
name: 'textColor',
description: '文字颜色',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'borderRadius',
'zh-CN': '圆角大小',
},
tip: 'borderRadius | 圆角大小',
},
name: 'borderRadius',
description: '圆角大小',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'height',
'zh-CN': '高度',
},
tip: 'height | 高度',
},
name: 'height',
description: '高度',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'padding',
'zh-CN': '内边距',
},
tip: 'padding | 内边距',
},
name: 'padding',
description: '内边距',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'fontSize',
'zh-CN': '字体大小',
},
tip: 'fontSize | 字体大小',
},
name: 'fontSize',
description: '字体大小',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'fontWeight',
'zh-CN': '字体粗细',
},
tip: 'fontWeight | 字体粗细',
},
name: 'fontWeight',
description: '字体粗细',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'theme',
'zh-CN': '预设主题',
},
tip: 'theme | 预设主题',
},
name: 'theme',
description: '预设主题',
setter: {
componentName: 'SelectSetter',
props: {
dataSource: [
{
label: 'default',
value: 'default',
},
{
label: 'primary',
value: 'primary',
},
{
label: 'success',
value: 'success',
},
{
label: 'warning',
value: 'warning',
},
{
label: 'danger',
value: 'danger',
},
],
options: [
{
label: 'default',
value: 'default',
},
{
label: 'primary',
value: 'primary',
},
{
label: 'success',
value: 'success',
},
{
label: 'warning',
value: 'warning',
},
{
label: 'danger',
value: 'danger',
},
],
},
initialValue: 'default',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'onChange',
'zh-CN': '值变化回调',
},
tip: 'onChange | 值变化回调',
},
name: 'onChange',
description: '值变化回调',
setter: {
componentName: 'EventHandlerSetter',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'ref',
'zh-CN': 'ref',
},
},
name: 'ref',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'FunctionSetter',
},
{
componentName: 'ObjectSetter',
props: {
config: {
extraSetter: {
componentName: 'MixedSetter',
isRequired: false,
props: {},
},
},
},
isRequired: false,
initialValue: {},
},
],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'key',
'zh-CN': 'key',
},
},
name: 'key',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'StringSetter',
isRequired: false,
initialValue: '',
},
{
componentName: 'NumberSetter',
isRequired: false,
initialValue: 0,
},
],
},
},
},
],
supports: {
events: [
{
name: 'onChange',
description: '值变化回调',
},
{
name: 'onFocus',
description: '聚焦回调',
},
{
name: 'onBlur',
description: '失焦回调',
},
{
name: 'onClear',
description: '清除回调',
},
],
className: true,
style: true,
loop: false,
condition: true,
},
component: {
isContainer: false,
isFormItem: true,
nestingRule: {
childWhitelist: [],
descendantBlacklist: [],
},
},
},
};
const snippets: IPublicTypeSnippet[] = [
{
title: 'MrInput',
screenshot: '',
schema: {
componentName: 'MrInput',
props: {},
},
},
];
export default {
...MrInputMeta,
snippets,
};