import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types'; const YCCalendarMeta: IPublicTypeComponentMetadata = { componentName: 'YCCalendar', title: 'YCCalendar', docUrl: '', screenshot: '', devMode: 'proCode', npm: { package: 'yc-material', version: '0.1.0', exportName: 'YCCalendar', main: 'src/index.tsx', destructuring: true, subName: '', }, configure: { props: [ { title: { label: { type: 'i18n', 'en-US': 'allowSelect', 'zh-CN': '是否允许选中', }, tip: 'allowSelect | 是否允许选中和切换日期,`panel` 模式下默认可选中切换', }, name: 'allowSelect', description: '是否允许选中和切换日期,`panel` 模式下默认可选中切换', setter: { componentName: 'BoolSetter', isRequired: false, initialValue: false, }, }, { title: { label: { type: 'i18n', 'en-US': 'panel', 'zh-CN': '是否在容器中', }, tip: 'panel | 是否放在容器中进行展示。', }, name: 'panel', description: '是否放在容器中进行展示。', setter: { componentName: 'BoolSetter', isRequired: false, initialValue: false, }, }, { title: { label: { type: 'i18n', 'en-US': 'panelWidth', 'zh-CN': '卡片模式的宽', }, tip: 'panelWidth | 卡片模式的宽度', }, name: 'panelWidth', description: '卡片模式的宽度', setter: { componentName: 'NumberSetter', isRequired: false, initialValue: 265, }, }, { title: { label: { type: 'i18n', 'en-US': 'panelTodayBtn', 'zh-CN': '是否显示跳转', }, tip: 'panelTodayBtn | 是否显示跳转到今天的按钮', }, name: 'panelTodayBtn', description: '是否显示跳转到今天的按钮', setter: { componentName: 'BoolSetter', isRequired: false, initialValue: false, }, }, { title: { label: { type: 'i18n', 'en-US': 'panelOperations', 'zh-CN': '卡片操作按钮', }, tip: 'panelOperations | 卡片模式下配置操作按钮', }, name: 'panelOperations', description: '卡片模式下配置操作按钮', setter: { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'SelectSetter', props: { options: [ { label: 'left', value: 'left', }, { label: 'right', value: 'right', }, { label: 'double-left', value: 'double-left', }, { label: 'double-right', value: 'double-right', }, ], }, initialValue: 'left', }, }, initialValue: [], }, }, { title: { label: { type: 'i18n', 'en-US': 'isWeek', 'zh-CN': '周选择', }, tip: 'isWeek | 周选择', }, name: 'isWeek', description: '周选择', setter: { componentName: 'BoolSetter', isRequired: false, initialValue: false, }, }, { title: { label: { type: 'i18n', 'en-US': 'dayStartOfWeek', 'zh-CN': '每周的第一天', }, tip: 'dayStartOfWeek | 每周的第一天开始于周几,0 - 周日,1 - 周一。', }, name: 'dayStartOfWeek', description: '每周的第一天开始于周几,0 - 周日,1 - 周一。', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: '0', value: 0, }, { label: '1', value: 1, }, ], }, initialValue: 0, }, }, { title: { label: { type: 'i18n', 'en-US': 'defaultValue', 'zh-CN': '默认值', }, }, name: 'defaultValue', setter: { componentName: 'MixedSetter', props: { setters: [ { componentName: 'ObjectSetter', isRequired: false, initialValue: {}, }, { componentName: 'StringSetter', isRequired: false, initialValue: '2024-01-01', }, ], }, }, }, { title: { label: { type: 'i18n', 'en-US': 'value', 'zh-CN': '绑定值', }, }, name: 'value', setter: { componentName: 'MixedSetter', props: { setters: [ { componentName: 'ObjectSetter', isRequired: false, initialValue: {}, }, { componentName: 'StringSetter', isRequired: false, initialValue: '', }, { componentName: 'NumberSetter', isRequired: false, initialValue: 0, }, ], }, }, }, { title: { label: { type: 'i18n', 'en-US': 'defaultMode', 'zh-CN': '选择日期的月', }, tip: 'defaultMode | 选择日期的月日历和选择月份的年日历。', }, name: 'defaultMode', description: '选择日期的月日历和选择月份的年日历。', setter: { componentName: 'SelectSetter', props: { options: [ { label: 'day', value: 'day', }, { label: 'week', value: 'week', }, { label: 'month', value: 'month', }, { label: 'year', value: 'year', }, ], }, initialValue: 'month', }, }, { title: { label: { type: 'i18n', 'en-US': 'mode', 'zh-CN': '选择日期的月', }, tip: 'mode | 选择日期的月日历和选择月份的年日历,受控模式。', }, name: 'mode', description: '选择日期的月日历和选择月份的年日历,受控模式。', setter: { componentName: 'SelectSetter', props: { options: [ { label: 'day', value: 'day', }, { label: 'week', value: 'week', }, { label: 'month', value: 'month', }, { label: 'year', value: 'year', }, ], }, initialValue: '', }, }, { title: { label: { type: 'i18n', 'en-US': 'disabledDate', 'zh-CN': '不可选取时间', }, tip: 'disabledDate | 不可选取的时间', }, name: 'disabledDate', description: '不可选取的时间', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'onChange', 'zh-CN': '日期变化回调', }, tip: 'onChange | 日期变化触发的回调。', }, name: 'onChange', description: '日期变化触发的回调。', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'onPanelChange', 'zh-CN': '日期改变回调', }, tip: 'onPanelChange | 面板日期发生改变触发的回调。', }, name: 'onPanelChange', description: '面板日期发生改变触发的回调。', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'dateRender', 'zh-CN': '日期渲染', }, tip: 'dateRender | 日期渲染', }, name: 'dateRender', description: '日期渲染', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'monthRender', 'zh-CN': '定制月份显示', }, tip: 'monthRender | \b定制月份显示,会完全覆盖月份单元格。', }, name: 'monthRender', description: '\b定制月份显示,会完全覆盖月份单元格。', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'dateInnerContent', 'zh-CN': '定制日期单元', }, tip: 'dateInnerContent | 定制日期单元格,内容会被添加到单元格内,只在全屏日历模式下生效。', }, name: 'dateInnerContent', description: '定制日期单元格,内容会被添加到单元格内,只在全屏日历模式下生效。', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'headerRender', 'zh-CN': '自定义头部', }, tip: 'headerRender | 自定义头部渲染。', }, name: 'headerRender', description: '自定义头部渲染。', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'headerType', 'zh-CN': '头部类型', }, tip: 'headerType | 有两种头部可供选择,默认的按钮类型和下拉框类型,只在全屏日历模式下生效。', }, name: 'headerType', description: '有两种头部可供选择,默认的按钮类型和下拉框类型,只在全屏日历模式下生效。', setter: { componentName: 'RadioGroupSetter', props: { options: [ { label: 'button', value: 'button', }, { label: 'select', value: 'select', }, ], }, initialValue: 'button', }, }, { title: { label: { type: 'i18n', 'en-US': 'onMouseEnterCell', 'zh-CN': '鼠标进入单元格', }, }, name: 'onMouseEnterCell', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'onMouseLeaveCell', 'zh-CN': '鼠标离开单元格', }, }, name: 'onMouseLeaveCell', setter: { componentName: 'FunctionSetter', }, }, { title: { label: { type: 'i18n', 'en-US': 'className', 'zh-CN': 'className', }, }, name: 'className', setter: { componentName: 'MixedSetter', props: { setters: [ { componentName: 'StringSetter', isRequired: false, initialValue: '', }, { componentName: 'ArraySetter', props: { itemSetter: { componentName: 'StringSetter', isRequired: false, initialValue: '', }, }, initialValue: [], }, ], }, }, }, ], supports: { style: true, events: ['onChange','onPanelChange'] }, component: {}, }, }; const snippets: IPublicTypeSnippet[] = [ { title: '日历', screenshot: '', schema: { componentName: 'YCCalendar', props: { defaultValue: '2024-01-01', }, }, }, ]; export default { ...YCCalendarMeta, snippets, };