mr-component
Version:
A library for Mr components
350 lines (346 loc) • 8.31 kB
text/typescript
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';
const MrTitleMeta: IPublicTypeComponentMetadata = {
componentName: 'MrTitle',
title: 'MrTitle',
docUrl: '',
screenshot: '',
devMode: 'proCode',
npm: {
package: 'mr-component',
version: '0.0.4',
exportName: 'MrTitle',
main: 'src/index.tsx',
destructuring: true,
subName: '',
},
configure: {
props: [
{
title: {
label: {
type: 'i18n',
'en-US': 'title',
'zh-CN': '标题文本',
},
tip: 'title | 标题文本',
},
name: 'title',
description: '标题文本',
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: '标题',
},
supportVariable: true,
},
{
title: {
label: {
type: 'i18n',
'en-US': 'showBack',
'zh-CN': '显示返回按钮',
},
tip: 'showBack | 是否显示返回按钮',
},
name: 'showBack',
description: '是否显示返回按钮',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'titleColor',
'zh-CN': '标题颜色',
},
tip: 'titleColor | 标题文本颜色',
},
name: 'titleColor',
description: '标题文本颜色',
setter: {
componentName: 'ColorSetter',
isRequired: false,
initialValue: '#000000',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'backgroundColor',
'zh-CN': '背景颜色',
},
tip: 'backgroundColor | 背景颜色',
},
name: 'backgroundColor',
description: '背景颜色',
setter: {
componentName: 'ColorSetter',
isRequired: false,
initialValue: '#ffffff',
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'height',
'zh-CN': '标题栏高度',
},
tip: 'height | 标题栏高度',
},
name: 'height',
description: '标题栏高度',
setter: {
componentName: 'NumberSetter',
isRequired: false,
initialValue: 44,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'fixed',
'zh-CN': '固定在顶部',
},
tip: 'fixed | 是否固定在顶部',
},
name: 'fixed',
description: '是否固定在顶部',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'safeArea',
'zh-CN': '适配安全区域',
},
tip: 'safeArea | 是否适配手机顶部安全区域',
},
name: 'safeArea',
description: '是否适配手机顶部安全区域',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'showBorder',
'zh-CN': '显示底部边框',
},
tip: 'showBorder | 是否显示底部边框线',
},
name: 'showBorder',
description: '是否显示底部边框线',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'maxLength',
'zh-CN': '标题最大长度',
},
tip: 'maxLength | 标题最大字符数,超出显示省略号',
},
name: 'maxLength',
description: '标题最大字符数,超出显示省略号',
setter: {
componentName: 'NumberSetter',
isRequired: false,
initialValue: 20,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'fontSize',
'zh-CN': '字体大小',
},
tip: 'fontSize | 字体大小',
},
name: 'fontSize',
description: '字体大小',
setter: {
componentName: 'NumberSetter',
isRequired: false,
initialValue: 18,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'fontWeight',
'zh-CN': '字体粗细',
},
tip: 'fontWeight | 字体粗细',
},
name: 'fontWeight',
description: '字体粗细',
setter: {
componentName: 'NumberSetter',
isRequired: false,
initialValue: 600,
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'backIcon',
'zh-CN': '返回按钮图标',
},
tip: 'backIcon | 自定义返回按钮图标',
},
name: 'backIcon',
description: '自定义返回按钮图标',
setter: {
componentName: 'SlotSetter',
props: {
mode: 'node',
},
isRequired: false,
initialValue: {
type: 'JSSlot',
value: [],
},
},
},
{
title: {
label: {
type: 'i18n',
'en-US': 'onBack',
'zh-CN': '返回按钮点击事件',
},
tip: 'onBack | 返回按钮点击事件',
},
name: 'onBack',
description: '返回按钮点击事件',
setter: {
componentName: 'FunctionSetter',
},
},
{
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: 'onBack',
description: '返回按钮点击事件',
},
],
className: true,
style: true,
loop: false,
condition: true,
},
component: {
isContainer: false,
isFormItem: false,
nestingRule: {
childWhitelist: [],
descendantBlacklist: [],
},
},
},
};
const snippets: IPublicTypeSnippet[] = [
{
title: 'MrTitle',
screenshot: '',
schema: {
componentName: 'MrTitle',
props: {
title: '页面标题',
showBack: true,
safeArea: true,
fixed: true,
},
},
},
];
export default {
...MrTitleMeta,
snippets,
};