export default { version: '1.0.0', packages: { '@alifd/next': { title: 'fusion组件库', package: '@alifd/next', version: '1.19.18', urls: [ 'https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.js', 'https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.css' ], library: 'Next' } }, components: { Page: { componentName: 'Page', title: '页面', configure: { events: { supportedLifecycles: [ { description: '初始化时', name: 'constructor' }, { description: '装载后', name: 'componentDidMount' }, { description: '更新时', name: 'componentDidMount' }, { description: '卸载时', name: 'componentWillUnmount' } ] }, component: { isContainer: true } } }, Div: { componentName: 'Div', title: '容器', configure: { component: { isContainer: true } } }, Button: { componentName: 'Button', title: '按钮', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Button' }, props: [ { name: 'prefix', propType: 'string', defaultValue: 'next-' }, { name: 'rtl', propType: 'bool' }, { name: 'type', propType: { type: 'oneOf', value: ['primary', 'secondary', 'normal'] }, description: '按钮的类型', defaultValue: 'normal' }, { name: 'size', propType: { type: 'oneOf', value: ['small', 'medium', 'large'] }, description: '按钮的尺寸', defaultValue: 'medium' }, { name: 'iconSize', propType: { type: 'oneOf', value: ['xxs', 'xs', 'small', 'medium', 'large', 'xl', 'xxl', 'xxxl'] }, description: '按钮中 Icon 的尺寸,用于替代 Icon 的默认大小' }, { name: 'htmlType', propType: { type: 'oneOf', value: ['submit', 'reset', 'button'] }, description: "当 component = 'button' 时,设置 button 标签的 type 值", defaultValue: 'button' }, { name: 'component', propType: { type: 'oneOf', value: ['button', 'a', 'div', 'span'] }, description: '设置标签类型', defaultValue: 'button' }, { name: 'loading', propType: 'bool', description: '设置按钮的载入状态', defaultValue: false }, { name: 'ghost', propType: { type: 'oneOf', value: [true, false, 'light', 'dark'] }, description: '是否为幽灵按钮', defaultValue: false }, { name: 'text', propType: 'bool', description: '是否为文本按钮', defaultValue: false }, { name: 'warning', propType: 'bool', description: '是否为警告按钮', defaultValue: false }, { name: 'disabled', propType: 'bool', description: '是否禁用', defaultValue: false }, { name: 'onClick', propType: 'func', description: '点击按钮的回调\n@param {Object} e Event Object' }, { name: 'className', propType: 'string' }, { name: 'onMouseUp', propType: 'func' }, { name: 'children', propType: 'node' } ], }, 'Button.Group': { componentName: 'Button.Group', title: '按钮组', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Button', subName: 'Group' }, props: [ { name: 'rtl', propType: 'bool' }, { name: 'prefix', propType: 'string', defaultValue: 'next-' }, { name: 'size', propType: 'string', description: '统一设置 Button 组件的按钮大小', defaultValue: 'medium' }, { name: 'className', propType: 'string' }, { name: 'children', propType: 'node' } ], configure: { component: { isContainer: true, nestingRule: { childWhitelist: 'Button' } } } }, Input: { componentName: 'Input', title: '输入框', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Input' }, props: [ { name: 'label', propType: 'node', description: 'label' }, { name: 'hasClear', propType: 'bool', description: '是否出现clear按钮' }, { name: 'hasBorder', propType: 'bool', description: '是否有边框', defaultValue: 'true' }, { name: 'state', propType: { type: 'oneOf', value: ['error', 'loading', 'success', 'warning'] }, description: '状态\n@enumdesc 错误, 校验中, 成功, 警告' }, { name: 'size', propType: { type: 'oneOf', value: ['small', 'medium', 'large'] }, description: '尺寸\n@enumdesc 小, 中, 大', defaultValue: 'medium' }, { name: 'onPressEnter', propType: 'func', description: '按下回车的回调', defaultValue: 'func.noop' }, { name: 'onClear', propType: 'func' }, { name: 'htmlType', propType: 'string', description: '原生type' }, { name: 'htmlSize', propType: 'string' }, { name: 'hint', propType: 'string', description: '水印 (Icon的type类型,和hasClear占用一个地方)' }, { name: 'innerBefore', propType: 'node', description: '文字前附加内容' }, { name: 'innerAfter', propType: 'node', description: '文字后附加内容' }, { name: 'addonBefore', propType: 'node', description: '输入框前附加内容' }, { name: 'addonAfter', propType: 'node', description: '输入框后附加内容' }, { name: 'addonTextBefore', propType: 'node', description: '输入框前附加文字' }, { name: 'addonTextAfter', propType: 'node', description: '输入框后附加文字' }, { name: 'autoComplete', propType: 'string', description: '(原生input支持)', defaultValue: 'off' }, { name: 'autoFocus', propType: 'bool', description: '自动聚焦(原生input支持)' }, { name: 'inputRender', propType: 'func', defaultValue: 'el => el' }, { name: 'extra', propType: 'node' }, { name: 'innerBeforeClassName', propType: 'string' }, { name: 'innerAfterClassName', propType: 'string' }, { name: 'isPreview', propType: 'bool', description: '是否为预览态', defaultValue: 'false' }, { name: 'renderPreview', propType: 'func', description: '预览态模式下渲染的内容\n@param {number} value 评分值' } ] }, Form: { componentName: 'Form', title: '表单容器', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Form' }, props: [ { name: 'prefix', propType: 'string', description: '样式前缀', defaultValue: 'next-' }, { name: 'inline', propType: 'bool', description: '内联表单' }, { name: 'size', propType: { type: 'oneOf', value: ['large', 'medium', 'small'] }, description: '单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。\n@enumdesc 大, 中, 小', defaultValue: 'medium' }, { name: 'fullWidth', propType: 'bool', description: '单个 Item 中表单类组件宽度是否是100%' }, { name: 'labelAlign', propType: { type: 'oneOf', value: ['top', 'left', 'inset'] }, description: '标签的位置\n@enumdesc 上, 左, 内', defaultValue: 'left' }, { name: 'labelTextAlign', propType: { type: 'oneOf', value: ['left', 'right'] }, description: '标签的左右对齐方式\n@enumdesc 左, 右' }, { name: 'field', propType: 'any', description: 'field 实例, 传 false 会禁用 field' }, { name: 'saveField', propType: 'func', description: '保存 Form 自动生成的 field 对象' }, { name: 'labelCol', propType: 'object', description: '控制第一级 Item 的 labelCol' }, { name: 'wrapperCol', propType: 'object', description: '控制第一级 Item 的 wrapperCol' }, { name: 'onSubmit', propType: 'func', description: 'form内有 `htmlType="submit"` 的元素的时候会触发' }, { name: 'children', propType: 'any', description: '子元素' }, { name: 'className', propType: 'string', description: '扩展class' }, { name: 'style', propType: 'object', description: '自定义内联样式' }, { name: 'value', propType: 'object', description: '表单数值' }, { name: 'onChange', propType: 'func', description: '表单变化回调\n@param {Object} values 表单数据\n@param {Object} item 详细\n@param {String} item.name 变化的组件名\n@param {String} item.value 变化的数据\n@param {Object} item.field field 实例' }, { name: 'component', propType: { type: 'oneOfType', value: ['string', 'func'] }, description: '设置标签类型', defaultValue: 'form' }, { name: 'fieldOptions', propType: 'object' }, { name: 'rtl', propType: 'bool' }, { name: 'device', propType: { type: 'oneOf', value: ['phone', 'tablet', 'desktop'] }, description: '预设屏幕宽度', defaultValue: 'desktop' }, { name: 'responsive', propType: 'bool', description: '是否开启内置的响应式布局 (使用ResponsiveGrid)' }, { name: 'isPreview', propType: 'bool', description: '是否开启预览态' } ], configure: { component: { isContainer: true } } }, 'Form.Item': { componentName: 'Form.Item', title: '表单项', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Form', subName: 'Item' }, props: [ { name: 'prefix', propType: 'string', description: '样式前缀', defaultValue: 'next-' }, { name: 'rtl', propType: 'bool' }, { name: 'label', propType: 'node', description: 'label 标签的文本' }, { name: 'labelCol', propType: 'object', description: 'label 标签布局,通 `` 组件,设置 span offset 值,如 {span: 8, offset: 16},该项仅在垂直表单有效' }, { name: 'wrapperCol', propType: 'object', description: '需要为输入控件设置布局样式时,使用该属性,用法同 labelCol' }, { name: 'help', propType: 'node', description: '自定义提示信息,如不设置,则会根据校验规则自动生成.' }, { name: 'extra', propType: 'node', description: '额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面' }, { name: 'validateState', propType: { type: 'oneOf', value: ['error', 'success', 'loading', 'warning'] }, description: '校验状态,如不设置,则会根据校验规则自动生成\n@enumdesc 失败, 成功, 校验中, 警告' }, { name: 'hasFeedback', propType: 'bool', description: '配合 validateState 属性使用,是否展示 success/loading 的校验状态图标, 目前只有Input支持', defaultValue: false }, { name: 'style', propType: 'object', description: '自定义内联样式' }, { name: 'id', propType: 'string' }, { name: 'children', propType: { type: 'oneOfType', value: ['node', 'func'] }, description: 'node 或者 function(values)' }, { name: 'size', propType: { type: 'oneOf', value: ['large', 'small', 'medium'] }, description: '单个 Item 的 size 自定义,优先级高于 Form 的 size, 并且当组件与 Item 一起使用时,组件自身设置 size 属性无效。' }, { name: 'fullWidth', propType: 'bool', description: '单个 Item 中表单类组件宽度是否是100%' }, { name: 'labelAlign', propType: { type: 'oneOf', value: ['top', 'left', 'inset'] }, description: '标签的位置\n@enumdesc 上, 左, 内' }, { name: 'labelTextAlign', propType: { type: 'oneOf', value: ['left', 'right'] }, description: '标签的左右对齐方式\n@enumdesc 左, 右' }, { name: 'className', propType: 'string', description: '扩展class' }, { name: 'required', propType: 'bool', description: '[表单校验] 不能为空' }, { name: 'asterisk', propType: 'bool', description: 'required 的星号是否显示' }, { name: 'requiredMessage', propType: 'string', description: 'required 自定义错误信息' }, { name: 'requiredTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'required 自定义触发方式' }, { name: 'min', propType: 'number', description: '[表单校验] 最小值' }, { name: 'max', propType: 'number', description: '[表单校验] 最大值' }, { name: 'minmaxMessage', propType: 'string', description: 'min/max 自定义错误信息' }, { name: 'minmaxTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'min/max 自定义触发方式' }, { name: 'minLength', propType: 'number', description: '[表单校验] 字符串最小长度 / 数组最小个数' }, { name: 'maxLength', propType: 'number', description: '[表单校验] 字符串最大长度 / 数组最大个数' }, { name: 'minmaxLengthMessage', propType: 'string', description: 'minLength/maxLength 自定义错误信息' }, { name: 'minmaxLengthTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'minLength/maxLength 自定义触发方式' }, { name: 'length', propType: 'number', description: '[表单校验] 字符串精确长度 / 数组精确个数' }, { name: 'lengthMessage', propType: 'string', description: 'length 自定义错误信息' }, { name: 'lengthTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'length 自定义触发方式' }, { name: 'pattern', propType: 'any', description: '正则校验' }, { name: 'patternMessage', propType: 'string', description: 'pattern 自定义错误信息' }, { name: 'patternTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'pattern 自定义触发方式' }, { name: 'format', propType: { type: 'oneOf', value: ['number', 'email', 'url', 'tel'] }, description: '[表单校验] 四种常用的 pattern' }, { name: 'formatMessage', propType: 'string', description: 'format 自定义错误信息' }, { name: 'formatTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'format 自定义触发方式' }, { name: 'validator', propType: 'func', description: '[表单校验] 自定义校验函数' }, { name: 'validatorTrigger', propType: { type: 'oneOfType', value: ['string', 'array'] }, description: 'validator 自定义触发方式' }, { name: 'autoValidate', propType: 'bool', description: '是否修改数据时自动触发校验' }, { name: 'device', propType: { type: 'oneOf', value: ['phone', 'tablet', 'desktop'] }, description: '预设屏幕宽度' }, { name: 'responsive', propType: 'bool' }, { name: 'colSpan', propType: 'number', description: '在响应式布局模式下,表单项占多少列' }, { name: 'labelWidth', propType: { type: 'oneOfType', value: ['string', 'number'] }, description: '在响应式布局下,且label在左边时,label的宽度是多少', defaultValue: 100 }, { name: 'isPreview', propType: 'bool', description: '是否开启预览态' }, { name: 'renderPreview', propType: 'func', description: '预览态模式下渲染的内容\n@param {any} value 根据包裹的组件的 value 类型而决定' } ], configure: { component: { isContainer: true, nestingRule: { parentWhitelist: 'Form' } } } }, NumberPicker: { componentName: 'NumberPicker', title: '数字输入', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'NumberPicker' }, props: [ { name: 'prefix', propType: 'string', description: '样式前缀', defaultValue: 'next-' }, { name: 'type', propType: { type: 'oneOf', value: ['normal', 'inline'] }, description: '设置类型\n@enumdesc 普通, 内联', defaultValue: 'normal' }, { name: 'size', propType: { type: 'oneOf', value: ['large', 'medium'] }, description: '大小', defaultValue: 'medium' }, { name: 'value', propType: 'number', description: '当前值' }, { name: 'defaultValue', propType: 'number', description: '默认值' }, { name: 'disabled', propType: 'bool', description: '是否禁用' }, { name: 'step', propType: { type: 'oneOfType', value: ['number', 'string'] }, description: '步长', defaultValue: 1 }, { name: 'precision', propType: 'number', description: '保留小数点后位数', defaultValue: 0 }, { name: 'editable', propType: 'bool', description: '用户是否可以输入', defaultValue: true }, { name: 'autoFocus', propType: 'bool', description: '自动焦点' }, { name: 'onChange', propType: 'func', description: '数值被改变的事件\n@param {Number} value 数据\n@param {Event} e DOM事件对象' }, { name: 'onKeyDown', propType: 'func', description: '键盘按下' }, { name: 'onFocus', propType: 'func', description: '焦点获得' }, { name: 'onBlur', propType: 'func', description: '焦点失去' }, { name: 'onCorrect', propType: 'func', description: '数值订正后的回调\n@param {Object} obj {currentValue,oldValue:String}' }, { name: 'onDisabled', propType: 'func' }, { name: 'max', propType: 'number', description: '最大值', defaultValue: null }, { name: 'min', propType: 'number', description: '最小值', defaultValue: null }, { name: 'className', propType: 'string', description: '自定义class' }, { name: 'style', propType: 'object', description: '自定义内联样式' }, { name: 'state', propType: { type: 'oneOf', value: ['error'] } }, { name: 'format', propType: 'func', description: '格式化当前值\n@param {Number} value\n@return {String|Number}' }, { name: 'upBtnProps', propType: 'object', description: '增加按钮的props' }, { name: 'downBtnProps', propType: 'object', description: '减少按钮的props' }, { name: 'label', propType: 'node', description: '内联 label' }, { name: 'innerAfter', propType: 'node', description: 'inner after' }, { name: 'rtl', propType: 'bool' }, { name: 'isPreview', propType: 'bool', description: '是否为预览态' }, { name: 'renderPreview', propType: 'func', description: '预览态模式下渲染的内容\n@param {number} value 评分值' }, { name: 'device', propType: { type: 'oneOf', value: ['phone', 'tablet', 'desktop'] }, description: '预设屏幕宽度' } ] }, Select: { componentName: 'Select', title: '下拉', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Select' }, props: [ { name: 'mode', propType: { type: 'oneOf', value: ['single', 'multiple', 'tag'] }, description: '选择器模式', defaultValue: 'single' }, { name: 'value', propType: 'any', description: '当前值,用于受控模式' }, { name: 'defaultValue', propType: 'any', description: '初始的默认值' }, { name: 'onChange', propType: 'func', description: "Select发生改变时触发的回调\n@param {*} value 选中的值\n@param {String} actionType 触发的方式, 'itemClick', 'enter', 'tag'\n@param {*} item 选中的值的对象数据 (useDetailValue=false有效)" }, { name: 'dataSource', propType: { type: 'arrayOf', value: { type: 'oneOfType', value: [ { type: 'shape', value: [ { name: 'value', propType: 'any' }, { name: 'label', propType: 'any' }, { name: 'disabled', propType: 'bool' }, { name: 'children', propType: 'array' } ] }, 'bool', 'number', 'string' ] } }, description: '传入的数据源,可以动态渲染子项,详见 [dataSource的使用](#dataSource的使用)' }, { name: 'hasBorder', propType: 'bool', description: '是否有边框' }, { name: 'hasArrow', propType: 'bool', description: '是否有下拉箭头', defaultValue: true }, { name: 'showSearch', propType: 'bool', description: '展开后是否能搜索(tag 模式下固定为true)', defaultValue: false }, { name: 'onSearch', propType: 'func', description: '当搜索框值变化时回调\n@param {String} value 数据' }, { name: 'onSearchClear', propType: 'func', description: "当搜索框值被清空时候的回调\n@param {String} actionType 触发的方式, 'select'(选择清空), 'popupClose'(弹窗关闭清空)" }, { name: 'hasSelectAll', propType: { type: 'oneOfType', value: ['bool', 'string'] }, description: '多选模式下是否有全选功能' }, { name: 'fillProps', propType: 'string', description: '填充到选择框里的值的 key\b\b' }, { name: 'useDetailValue', propType: 'bool', description: 'onChange 返回的 value 使用 dataSource 的对象' }, { name: 'cacheValue', propType: 'bool', description: 'dataSource 变化的时是否保留已选的内容', defaultValue: true }, { name: 'valueRender', propType: 'func', description: '渲染 Select 展现内容的方法\n@param {Object} item 渲染节点的item\n@return {ReactNode} 展现内容\n@default item => item.label \\|\\| item.value' }, { name: 'itemRender', propType: 'func', description: '渲染 MenuItem 内容的方法\n@param {Object} item 渲染节点的item\n@param {String} searchValue 搜索关键字(如果开启搜索)\n@return {ReactNode} item node' }, { name: 'notFoundContent', propType: 'node', description: '弹层内容为空的文案' }, { name: 'style', propType: 'object' }, { name: 'searchValue', propType: 'string', description: '受控搜索值,一般不需要设置\n@type {[type]}' }, { name: 'tagInline', propType: 'bool', description: '是否一行显示,仅在 mode 为 multiple 的时候生效', defaultValue: false }, { name: 'maxTagCount', propType: 'number', description: '最多显示多少个 tag' }, { name: 'maxTagPlaceholder', propType: 'func', description: '隐藏多余 tag 时显示的内容,在 maxTagCount 生效时起作用\n@param {number} selectedValues 当前已选中的元素\n@param {number} totalValues 总待选元素' }, { name: 'hiddenSelected', propType: 'bool', description: '选择后是否立即隐藏菜单 (mode=multiple/tag 模式生效)' }, { name: 'onRemove', propType: 'func', description: 'tag 删除回调\n@param {object} item 渲染节点的item' }, { name: 'onFocus', propType: 'func', description: '焦点事件' }, { name: 'onBlur', propType: 'func', description: '失去焦点事件' }, { name: 'onMouseEnter', propType: 'func' }, { name: 'onMouseLeave', propType: 'func' }, { name: 'onKeyDown', propType: 'func' }, { name: 'locale', propType: 'object' } ], configure: { component: { isContainer: true, nestingRule: { childWhitelist: 'Select.Option' }, rectSelector: '.next-select', }, props: [ { name: 'mode', title: '选择器模式', setter: { componentName: 'RadioGroupSetter', props: { defaultValue: 'single', dataSource: [ { value: 'single', label: 'single' }, { value: 'multiple', label: 'multiple' }, { value: 'tag', label: 'tag' } ] } } }, { name: 'mode', title: '选择器模式', setter: { componentName: 'SelectSetter', props: { defaultValue: 'single', dataSource: [ { value: 'single', label: 'single' }, { value: 'multiple', label: 'multiple' }, { value: 'tag', label: 'tag' } ] } } }, { name: 'value', title: '受控值', setter: 'StringSetter', }, { name: 'hasBorder', title: '是否有边框', setter: { componentName: 'BoolSetter', props: { defaultValue: true } } }, { name: 'maxTagCount', title: '最多显示多少个 tag', setter: 'NumberSetter' }, { name: 'maxTagCount', title: '最多显示多少个 tag', setter: 'ExpressionSetter' }, { name: 'MixinSetter', placeholder: '混合', setter: { componentName: 'MixinSetter', props: { types: [ { name: 'StringSetter', // 当前mixin setter API props: {} }, { name: 'TextAreaSetter', props: {} }, { name: 'SelectSetter', // 当前mixin setter API props: { hasClear: true, dataSource: [ { label: '上', value: 't' }, { label: '右', value: 'r' }, { label: '下', value: 'b' }, { label: '左', value: 'l' } ] } }, { name: 'NumberSetter', props: {} }, { name: 'BoolSetter', props: {} } ], defaultType: 'SelectSetter' } } }, { type: 'group', name: '扩展 Setter', items: [ { name: 'TextAreaSetter', setter: 'TextAreaSetter' }, { name: 'date', title: '测试日期', setter: 'DateSetter' }, { name: 'date', title: '测试日期-年', setter: 'DateYearSetter' }, { name: 'date', title: '测试日期-月', setter: 'DateMonthSetter' }, { name: 'date', title: '测试日期-区间', setter: 'DateRangeSetter' } ] }, { type: 'group', name: 'ArraySetter', items: [ { name: 'arrayValue1', title: '字符数组', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'StringSetter', initialValue: '' } } } }, { name: 'arrayValue2', title: '数字数组', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'NumberSetter', initialValue: 0 } } } }, { name: 'arrayValue3', title: '混合数组', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'MixinSetter', props: { types: [ { name: 'StringSetter', // 当前mixin setter API props: {} }, { name: 'ExpressionSetter', props: {} }, { name: 'RadioGroupSetter', // 当前mixin setter API props: { hasClear: true, dataSource: [ { label: '上', value: 't' }, { label: '右', value: 'r' }, { label: '下', value: 'b' }, { label: '左', value: 'l' } ] } } ], defaultType: 'SelectSetter' } } } } }, { name: 'arrayValue4', title: '对象数组', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [{ name: 'username', title: '姓名', setter: 'StringSetter', important: true, }, { name: 'phone', title: '电话', setter: 'StringSetter', important: true, }, { name: 'age', title: '年龄', setter: 'NumberSetter' }, { name: 'married', title: '婚否', setter: 'BoolSetter' }, { type: 'group', title: 'work', items: [ { name: 'job', title: '工作岗位', setter: { componentName: 'SelectSetter', props: { dataSource: [{ label: '工程师', value: 1 }, { label: '高级工程师', value: 2 }, { label: '资深工程师', value: 3 }] } } }, { name: 'address', title: '工作地点', setter: 'TextAreaSetter' } ] }], } }, initialValue: {}, } } } }, { name: 'arrayValue5', title: '对象数组', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ObjectSetter', props: { config: { items: [{ name: 'username', title: '姓名', setter: 'StringSetter', important: true, }, { name: 'age', title: '年龄', setter: 'NumberSetter', important: true, }, { name: 'married', title: '婚否', setter: 'BoolSetter', important: true, }, { name: 'log', title: '到访记录', setter: { componentName: 'ArraySetter', props: { itemSetter: 'StringSetter' } }, important: true, }, { type: 'group', title: 'work', items: [ { name: 'job', title: '工作岗位', setter: { componentName: 'SelectSetter', props: { dataSource: [{ label: '工程师', value: 1 }, { label: '高级工程师', value: 2 }, { label: '资深工程师', value: 3 }] } } }, { name: 'address', title: '工作地点', setter: 'TextAreaSetter' } ] }], } }, initialValue: {}, }, mode: 'popup' } } }, ], extraProps: { defaultCollapsed: false, } }, { type: 'group', name: 'ObjectSetter', items: [ { name: 'objectValue1', title: '对象数据1', setter: { componentName: 'ObjectSetter', props: { config: { items: [{ name: 'username', title: '姓名', setter: 'StringSetter', important: true, }, { name: 'age', title: '年龄', setter: 'NumberSetter', important: true, }, { name: 'married', title: '婚否', setter: 'BoolSetter', important: true, }, { name: 'log', title: '到访记录', setter: { componentName: 'ArraySetter', props: { itemSetter: 'StringSetter' } }, important: true, }, { type: 'group', title: 'work', items: [ { name: 'job', title: '工作岗位', setter: { componentName: 'SelectSetter', props: { dataSource: [{ label: '工程师', value: 1 }, { label: '高级工程师', value: 2 }, { label: '资深工程师', value: 3 }] } } }, { name: 'address', title: '工作地点', setter: 'TextAreaSetter' } ] }], } }, initialValue: {}, } }, { name: 'objectValue2', title: '对象数据2', setter: { componentName: 'ObjectSetter', props: { mode: 'popup', config: { items: [{ name: 'username', title: '姓名', setter: 'StringSetter', important: true, }, { name: 'age', title: '年龄', setter: 'NumberSetter', important: true, }, { name: 'married', title: '婚否', setter: 'BoolSetter', important: true, }, { name: 'log', title: '到访记录', setter: { componentName: 'ArraySetter', props: { itemSetter: 'StringSetter' } }, important: true, }, { type: 'group', title: 'work', items: [ { name: 'job', title: '工作岗位', setter: { componentName: 'SelectSetter', props: { dataSource: [{ label: '工程师', value: 1 }, { label: '高级工程师', value: 2 }, { label: '资深工程师', value: 3 }] } } }, { name: 'address', title: '工作地点', setter: 'TextAreaSetter' } ] }], } }, initialValue: {}, } } ] } ] } }, 'Select.Option': { componentName: 'Select.Option', title: '选择项', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Select', subName: 'Option' }, props: [ { name: 'value', propType: { type: 'any', isRequired: true }, description: '选项值' }, { name: 'disabled', propType: 'bool', description: '是否禁用' }, { name: 'children', propType: 'any' } ], configure: { component: { isContainer: true, nestingRule: { parentWhitelist: 'Select' } } } }, Dialog: { componentName: 'Dialog', title: '弹窗', devMode: 'proCode', npm: { package: '@alifd/next', version: '1.19.18', destructuring: true, exportName: 'Dialog' }, props: [{ name: 'title', propType: 'string' }], configure: { component: { rectSelector: '.next-dialog' } } } }, componentList: [ { title: '基础', icon: '', children: [ { componentName: 'Button', title: '按钮', icon: '', package: '@alife/next', libraryId: 2, snippets: [ { title: 'private', screenshot: 'https://img.alicdn.com/tfs/TB16gZhi.H1gK0jSZSyXXXtlpXa-192-144.png', schema: { componentName: 'Button', props: { type: 'primary' }, children: 'Primary' } }, { title: 'secondary', screenshot: 'https://img.alicdn.com/tfs/TB11Hkji1H2gK0jSZFEXXcqMpXa-192-144.png', schema: { componentName: 'Button', props: { type: 'secondary' }, children: 'secondary' } }, { title: 'normal', screenshot: '', schema: { componentName: 'Button', props: { type: 'normal' }, children: 'normal' } } ] } ] }, { title: '表单', icon: '', children: [ { componentName: 'Input', libraryId: 2, title: '输入框', icon: '', package: '@alife/next', snippets: [ { title: '普通', screenshot: '', schema: { componentName: 'Input', props: {} } } ] }, { componentName: 'Select', libraryId: 2, title: '选择框', icon: '', package: '@alife/next', snippets: [ { title: '默认', screenshot: '', schema: { componentName: 'Select', props: {} } } ] }, { componentName: 'NumberPicker', libraryId: 2, title: '数字', icon: '', package: '@alife/next', snippets: [ { title: '默认', screenshot: '', schema: { componentName: 'NumberPicker', props: {} } } ] } ] }, { title: '其他', icon: '', children: [ { componentName: 'Div', libraryId: 3, title: '容器', icon: '', snippets: [ { title: '默认', screenshot: '', schema: { componentName: 'Div', props: {} } } ] }, { componentName: 'Dialog', libraryId: 3, title: '弹窗', icon: '', snippets: [ { title: '弹窗', screenshot: '', schema: { componentName: 'Dialog', props: { title: '这是一个dialog', visible: true }, children: [ { compoentName: 'Div' } ] } } ] } ] } ] };