import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types'; export const c_r_style = { title: { label: '样式配置', tip: `CRenderStyle`, }, name: 'CRenderStyle', display: 'accordion', setter: { componentName: 'ObjectSetter', props: { config: { items: [ { title: 'fontSize', name: 'fontSize', setter: 'NumberSetter', }, { title: 'fontStyle', name: 'fontStyle', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: 'normal', value: 'normal', }, { label: 'italic', value: 'italic', }, { label: 'oblique', value: 'oblique', }, ], }, }, }, { title: 'fontVarient', name: 'fontVarient', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: 'normal', value: 'normal', }, { label: 'small-caps', value: 'small-caps', }, ], }, }, }, { title: 'fontWeight', name: 'fontWeight', setter: { componentName: 'MixedSetter', props: { setters: [ { componentName: 'SelectSetter', props: { options: [ // 'normal' | 'bold' | 'bolder' | 'lighter' | number { label: 'normal', value: 'normal', }, { label: 'bold', value: 'bold', }, { label: 'bolder', value: 'bolder', }, { label: 'lighter', value: 'lighter', }, ], }, }, { componentName: 'NumberSetter', }, ], }, }, }, { title: 'fontFamily', name: 'fontFamily', setter: { componentName: 'StringSetter', }, }, { title: 'textAlign', name: 'textAlign', setter: { componentName: 'SelectSetter', props: { // 'start' | 'end' | 'left' | 'right' | 'center' options: [ { label: 'start', value: 'start', }, { label: 'end', value: 'end', }, { label: 'left', value: 'left', }, { label: 'right', value: 'right', }, { label: 'center', value: 'center', }, ], }, }, }, { title: '填充色', name: 'fill', setter: 'ColorSetter', }, { title: '描边色', name: 'stroke', setter: 'ColorSetter', }, { title: '图形透明度', name: 'opacity', setter: { componentName: 'NumberSetter', props: { min: 0, max: 1, precision: 2, }, }, }, // { // title: 'lineCap属性值', // name: 'lineCap', // }, // { // title: 'lineJoin属性值', // name: 'lineJoin', // }, // { // title: 'lineDash属性值', // name: 'lineDash', // }, { title: 'lineDashOffset', name: 'lineDashOffset', setter: 'NumberSetter', initialValue: 0, }, { title: 'shadowBlur', name: 'shadowBlur', setter: 'NumberSetter', initialValue: 0, }, { title: '阴影色', name: 'shadowColor', setter: 'ColorSetter', }, { title: 'shadowOffsetX', name: 'shadowOffsetX', setter: 'NumberSetter', }, { title: 'shadowOffsetY', name: 'shadowOffsetY', setter: 'NumberSetter', }, { title: 'lineWidth', name: 'lineWidth', setter: 'NumberSetter', initialValue: 1, }, { title: '图形中间点', name: 'graphCenter', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'NumberSetter', isRequired: true, }, }, }, }, { title: '图形缩放倍数', name: 'scale', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'NumberSetter', isRequired: true, }, }, }, }, { title: '图形旋转角度', name: 'rotate', setter: { componentName: 'NumberSetter', }, }, { title: '图形位移距离', name: 'translate', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'NumberSetter', isRequired: true, }, }, }, }, // { // title: '鼠标悬浮在图形上时cursor的值', // name: 'hoverCursor', // setter: { // componentName: 'SelectSetter' // } // }, { title: '渐变色', name: 'gradientColor', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'ColorSetter', isRequired: true, }, }, }, }, ], }, }, }, }; const DataVDigitalFlopMeta: IPublicTypeComponentMetadata = { componentName: 'DataVDigitalFlop', title: '数字翻牌器', docUrl: '', screenshot: '', devMode: 'proCode', group: '云仓大屏', category: '其他', npm: { package: '@ztocwst/datav-materials', version: '0.1.0', exportName: 'DataVDigitalFlop', main: 'src/index.tsx', destructuring: true, subName: '', }, configure: { props: [ { title: { label: { type: 'i18n', 'en-US': 'number', 'zh-CN': '数字数值', }, tip: 'number | 数字数值', }, name: 'number', description: '数字数值', defaultValue: '[]', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'NumberSetter', isRequired: false, initialValue: 100, props: { precision: 2, }, }, }, isRequired: true, initialValue: [], }, }, { title: { label: { type: 'i18n', 'en-US': 'content', 'zh-CN': '内容模版', }, tip: 'content | 内容模版 {nt}个', }, name: 'content', description: '内容模版', defaultValue: '""', setter: { componentName: 'I18nSetter', isRequired: true, initialValue: '', }, }, { title: { label: { type: 'i18n', 'en-US': 'toFixed', 'zh-CN': '小数位数', }, tip: 'toFixed | 小数位数', }, name: 'toFixed', description: '小数位数', defaultValue: 0, setter: { componentName: 'NumberSetter', isRequired: false, initialValue: 0, }, }, { title: { label: { type: 'i18n', 'en-US': 'textAlign', 'zh-CN': '水平对齐方式', }, tip: 'textAlign | 水平对齐方式', }, name: 'textAlign', description: '水平对齐方式', defaultValue: '"center"', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: 'center', value: 'center', }, { label: 'left', value: 'left', }, { label: 'right', value: 'right', }, ], }, initialValue: 'center', }, }, { title: { label: { type: 'i18n', 'en-US': 'rowGap', 'zh-CN': '行间距', }, tip: 'rowGap | 行间距', }, name: 'rowGap', description: '行间距', defaultValue: '0', setter: { componentName: 'NumberSetter', isRequired: false, initialValue: 0, }, }, { title: { label: '千分位展示', }, name: 'thousands', setter: { componentName: 'BoolSetter', isRequired: false, }, }, { ...c_r_style, }, { title: { label: { type: 'i18n', 'en-US': 'formatter', 'zh-CN': '格式化数字', }, tip: 'formatter | 格式化数字', }, name: 'formatter', description: '格式化数字', setter: { componentName: 'FunctionSetter', isRequired: false, }, }, { title: { label: { type: 'i18n', 'en-US': 'animationCurve', 'zh-CN': '动效曲线', }, tip: 'animationCurve | 动效曲线', }, name: 'animationCurve', description: '动效曲线', setter: { componentName: 'SelectSetter', props: { options: [ { label: 'linear', value: 'linear', }, { label: 'easeInSine', value: 'easeInSine', }, { label: 'easeOutSine', value: 'easeOutSine', }, { label: 'easeInOutSine', value: 'easeInOutSine', }, { label: 'easeInQuad', value: 'easeInQuad', }, { label: 'easeOutQuad', value: 'easeOutQuad', }, { label: 'easeInOutQuad', value: 'easeInOutQuad', }, { label: 'easeInCubic', value: 'easeInCubic', }, { label: 'easeOutCubic', value: 'easeOutCubic', }, { label: 'easeInOutCubic', value: 'easeInOutCubic', }, { label: 'easeInQuart', value: 'easeInQuart', }, { label: 'easeOutQuart', value: 'easeOutQuart', }, { label: 'easeInOutQuart', value: 'easeInOutQuart', }, { label: 'easeInQuint', value: 'easeInQuint', }, { label: 'easeOutQuint', value: 'easeOutQuint', }, { label: 'easeInOutQuint', value: 'easeInOutQuint', }, { label: 'easeInBack', value: 'easeInBack', }, { label: 'easeOutBack', value: 'easeOutBack', }, { label: 'easeInOutBack', value: 'easeInOutBack', }, { label: 'easeInElastic', value: 'easeInElastic', }, { label: 'easeOutElastic', value: 'easeOutElastic', }, { label: 'easeInOutElastic', value: 'easeInOutElastic', }, { label: 'easeInBounce', value: 'easeInBounce', }, { label: 'easeOutBounce', value: 'easeOutBounce', }, { label: 'easeInOutBounce', value: 'easeInOutBounce', }, ], }, initialValue: 'linear', }, }, { title: { label: { type: 'i18n', 'en-US': 'animationFrame', 'zh-CN': '动效帧数', }, tip: 'animationFrame | 动效帧数, 默认50', }, name: 'animationFrame', description: '动效帧数', setter: { componentName: 'NumberSetter', isRequired: false, props: { min: 0, }, }, }, ], supports: { style: true, }, // component: {}, }, }; const snippets: IPublicTypeSnippet[] = [ { title: '数字翻牌器', screenshot: 'https://files.ztocwst.com/download/72168c915a944234a96f9ef778de551b?isShow=true', schema: { componentName: 'DataVDigitalFlop', props: { style: { width: '100px', height: '100px', }, number: [100], content: '{nt}个', toFixed: 0, textAlign: 'center', }, }, }, ]; export default { ...DataVDigitalFlopMeta, snippets, };