
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';

const OadpAttributeNumberMeta: IPublicTypeComponentMetadata = {
  "componentName": "OadpAttributeNumber",
  "title": "数字属性",
  "docUrl": "",
  "category": "高级组件",
  "group": "低代码组件",
  "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_number-picker.png",
  "devMode": "proCode",
  "npm": {
    "package": "oadp-material",
    "version": "{{version}}",
    "exportName": "OadpAttributeNumber",
    "main": "src/index.tsx",
    "destructuring": true,
    "subName": ""
  },
  "configure": {
    "props": [
      {
        "name": "DataSetting",
        "title": "数据设置",
        "type": "group",
        "display": "block",
        "items": [   
          {
            "name": "name",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "表单标识",
                "en_US": "Name",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: name | 说明: 表单标识",
                "en_US": "prop: name | description: switch name",
              },
            },
            "setter": "StringSetter", 
            "supportVariable": false,
          },
          {
            "name": "id",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "唯一标识",
                "en_US": "ID",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: id | 说明: 唯一标识",
                "en_US": "prop: id | description: switch id",
              },
            },
            "setter": "StringSetter" 
          }, 
          {
            "name": "defaultValue",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "默认值",
                "en_US": "Default Value",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: defaultValue | 说明: 默认值",
                "en_US": "prop: defaultValue | description: Default Value",
              },
            },
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            },
            "supportVariable": true,
            "description": "默认值",
          },  
          {
            "name": "step",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "步长",
                "en_US": "step",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: step | 说明: 默认值",
                "en_US": "prop: step | description: step",
              },
            },
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            },
            "supportVariable": true,
            "description": "步长",
          },  
          {
            "name": "precision",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "精度",
                "en_US": "precision",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: precision | 说明: 精度",
                "en_US": "prop: precision | description: precision Value",
              },
            },
            "description": "精度",
            "setter": "NumberSetter", 
          },   
          {
            "name": "max",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "最大值",
                "en_US": "max",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: max | 说明: 最大值",
                "en_US": "prop: max | description: max",
              },
            },
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            },
            "supportVariable": true,
            "description": "最大值",
          },  
          {
            "name": "min",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "最小值",
                "en_US": "min",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: min | 说明: 最小值",
                "en_US": "prop: min | description: min",
              },
            },
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            },
            "supportVariable": true,
            "description": "最小值",
          },
        ]
      },
      {
        "name": "DisplaySetting",
        "title": "显示设置",
        "type": "group",
        "display": "block",
        "items": [ 
          {
            "name": "label",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "标题",
                "en_US": "Label",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: label | 说明: 标题",
                "en_US": "prop: label | description: label content",
              },
            },
            "setter": "StringSetter",
            "description": "标题",
          }, 
          {
            "name": "size",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "Size",
                "zh-CN": "尺寸模式"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: size | 说明: 尺寸模式，可选值:small=紧凑模式, medium=普通模式, large=放大模式。默认为:medium。",
                "en_US": "prop: size | description: Size mode, optional values: small=compact mode, medium=normal mode, large=large mode. The default is: medium.",
              },
            },
            "description": "属性: size | 说明: 尺寸模式，可选值:small=紧凑模式, medium=普通模式, large=放大模式。默认为:medium。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "普通模式",
                    "value": "medium"
                  },
                  {
                    "label": "紧凑模式",
                    "value": "small"
                  },
                  {
                    "label": "放大模式",
                    "value": "large"
                  }
                ],
                "options": [
                  {
                    "label": "普通模式",
                    "value": "medium"
                  },
                  {
                    "label": "紧凑模式",
                    "value": "small"
                  },
                  {
                    "label": "放大模式",
                    "value": "large"
                  }
                ]
              },
              "initialValue": "medium"
            }
          },  
          {
            "name": "type",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "type",
                "zh-CN": "类型"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: type | 说明: 类型，可选值:normal=正常模式, inline=内联模式。默认为:normal。",
                "en_US": "prop: type | description: type, optional values: normal=normal mode, inline=inline mode. The default is: normal.",
              },
            },
            "description": "属性: type | 说明: 类型，可选值:normal=正常模式, inline=内联模式。默认为:normal。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "正常模式",
                    "value": "normal"
                  },
                  {
                    "label": "内联模式",
                    "value": "inline"
                  }
                ],
                "options": [
                  {
                    "label": "正常模式",
                    "value": "normal"
                  },
                  {
                    "label": "内联模式",
                    "value": "inline"
                  }
                ]
              },
              "initialValue": "normal"
            }
          },  
        ]
      }, 
      {
        "name": "InteractionSetting",
        "title": "交互设置",
        "type": "group",
        "display": "block",
        "items": [ 
          {
            "name": "editable",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "editable",
                "zh-CN": "手动输入"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: editable | 说明: 手动输入",
                "en_US": "prop: editable | description: editable",
              },
            },
            "description": "手动输入",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": false
            }
          },
          {
            "name": "hasTrigger",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "hasTrigger",
                "zh-CN": "悬浮展示按钮"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: hasTrigger | 说明: 悬浮展示按钮",
                "en_US": "prop: hasTrigger | description: hasTrigger",
              },
            },
            "description": "悬浮展示按钮",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": false
            }
          },
          {
            "name": "alwaysShowTrigger",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "alwaysShowTrigger",
                "zh-CN": "始终展示按钮"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: alwaysShowTrigger | 说明: 始终展示按钮",
                "en_US": "prop: alwaysShowTrigger | description: alwaysShowTrigger",
              },
            },
            "description": "始终展示按钮",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": false
            }
          },
          {
            "name": "readOnly",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "只读",
                "en_US": "readOnly",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: readOnly | 说明: 是否只读，只读模式下可以展开弹层但不能选",
                "en_US": "prop: readOnly | description: Whether it is read-only, read-only mode can expand the pop-up layer but cannot select",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "只读",
          },  
          {
            "name": "disabled",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "禁用",
                "en_US": "Disabled",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: disabled | 说明: 禁用",
                "en_US": "prop: disabled | description: disabled",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "禁用",
          },  
        ]
      },
    ],
    "supports": {
      "style": true
    },
    "component": {}
  }
};
const snippets: IPublicTypeSnippet[] = [
  {
    "title": "数字属性",
    "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_number-picker.png",
    "schema": {
      "componentName": "OadpAttributeNumber", 
      "props": {     
        "defaultValue": 0,  
        "disabled": false, 
        "size": "medium", 
        "hasClear": true,
        "style": { 
          "width": 256 
        },
        "hasTrigger": true
      },
    }
  }
];

export default {
  ...OadpAttributeNumberMeta,
  snippets
};
