diff --git a/scripts/generateIndex.ts b/scripts/generateIndex.ts index 81822d24..1d4f65f2 100644 --- a/scripts/generateIndex.ts +++ b/scripts/generateIndex.ts @@ -25,23 +25,20 @@ export async function run() { }) const template = `import { componentsReducer, propsReducer } from '../../utils' -${imports.join('\n')} +import { getComponentsMap, getPropsMap } from './mapping' // import directives from '../directives.json' -const map: any = [ - ${entry.map((_url: string) => `${_url.split('.')[0]},`).join('\n ')} -] export function ${name}() { - return propsReducer('${lib}', map, '${prefix}') + return propsReducer({ + uiName: '${lib}', + lib: '${lib}', + map: getPropsMap(), + }) } -const componentsMap = [ - ${map.join('\n ')} -] - export function ${name}Components() { return componentsReducer({ - map: componentsMap, + map: getComponentsMap(), isSeperatorByHyphen: ${isHyphen}, prefix: '${prefix}', isReact: ${isReact}, @@ -50,7 +47,22 @@ export function ${name}Components() { }) } ` +// 生成 index.ts fsp.writeFile(path.resolve(root, `${folder}/${name}/index.ts`), template) + // 生成 mapping.ts + fsp.writeFile(path.resolve(root, `${folder}/${name}/mapping.ts`), `${imports.join('\n')} + +export function getPropsMap() { + return [ + ${entry.map((_url: string) => `${_url.split('.')[0]},`).join('\n ')} + ] +} + +export function getComponentsMap() { + return [ + ${map.join('\n ')} + ] +}`) } run() diff --git a/src/index.ts b/src/index.ts index 5f681afa..907ec18e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -224,7 +224,7 @@ export function activate(context: vscode.ExtensionContext) { const endColumn = Math.max(pos.column - 1, 0) updateText((edit) => { if (isVine()) - edit.insert(getPosition(pos.offset + offset), `\n${empty}`) + edit.insert(getPosition(pos.offset + offset).position, `\n${empty}`) else edit.insert(createPosition(pos.line - 1, endColumn), `\n${empty}`) }) @@ -246,7 +246,7 @@ export function activate(context: vscode.ExtensionContext) { const pos = getPosition(index) updateText((edit) => { if (isVine()) - edit.insert(getPosition(pos.offset + offset), `${isNeedLineBlock ? '\n' : ''}${empty} \n${isNeedLineBlock ? empty : ''}`) + edit.insert(getPosition(pos.offset + offset).position, `${isNeedLineBlock ? '\n' : ''}${empty} \n${isNeedLineBlock ? empty : ''}`) else edit.insert(createPosition(pos), `${isNeedLineBlock ? '\n' : ''}${empty} \n${isNeedLineBlock ? empty : ''}`) }) @@ -329,7 +329,7 @@ export function activate(context: vscode.ExtensionContext) { return UiCompletions.icons const propName = result.propName - let target = UiCompletions[name] || await findDynamicComponent(name, deps) + let target = await findDynamicComponent(name, deps, uiDeps[name]) const importUiSource = uiDeps[name] if (importUiSource && target.uiName !== importUiSource) { for (const p of optionsComponents.prefix.filter(Boolean)) { @@ -593,6 +593,7 @@ export function activate(context: vscode.ExtensionContext) { return const code = document.getText() + const uiDeps = getUiDeps(code) // word 修正 if (lineText[range.end.character] === '.' || lineText[range.end.character] === '-') { let index = range.end.character @@ -601,7 +602,6 @@ export function activate(context: vscode.ExtensionContext) { index++ } } - if (lineText[range.start.character - 1] === '.') { let index = range.start.character - 1 while (!/[<\s/]/.test(lineText[index]) && index >= 0) { @@ -616,33 +616,16 @@ export function activate(context: vscode.ExtensionContext) { if (result.type === 'tag') { const data = optionsComponents.data.map((c: any) => c()).flat() if (!data?.length || !word) - return new vscode.Hover('') + return createHover('') const tag = toCamel(result.tag)[0].toUpperCase() + toCamel(result.tag).slice(1) - let target = UiCompletions[tag] || await findDynamicComponent(tag, {}) - if (!target) - return - const uiDeps = getUiDeps(code) - const importUiSource = uiDeps[tag] - if (importUiSource && target.uiName !== importUiSource) { - for (const p of optionsComponents.prefix.filter(Boolean)) { - const realName = p[0].toUpperCase() + p.slice(1) + tag - const newTarget = UiCompletions[realName] - if (!newTarget) - continue - if (newTarget.uiName === importUiSource) { - target = newTarget - break - } - } - } - + const target = await findDynamicComponent(tag, {}, uiDeps[tag]) if (!target) return const tableDocument = target.tableDocument if (tableDocument) - return new vscode.Hover(tableDocument) + return createHover(tableDocument) } else if (!result.propName) { return @@ -661,7 +644,7 @@ export function activate(context: vscode.ExtensionContext) { const detail = getHoverAttribute(completions, propName) if (!detail) return - return new vscode.Hover(`## Details \n\n${detail}`) + return createHover(`## Details \n\n${detail}`) } // todo: 优化这里的条件,在 react 中, 也可以减少更多的处理步骤 if (isVue()) { @@ -769,33 +752,16 @@ export function activate(context: vscode.ExtensionContext) { } const data = optionsComponents.data.map((c: any) => c()).flat() if (!data?.length || !word) - return new vscode.Hover('') + return createHover('') word = toCamel(word)[0].toUpperCase() + toCamel(word).slice(1) - let target = UiCompletions[word] || await findDynamicComponent(word, {}) - if (!target) - return - const uiDeps = getUiDeps(code) - const importUiSource = uiDeps[word] - if (importUiSource && target.uiName !== importUiSource) { - for (const p of optionsComponents.prefix.filter(Boolean)) { - const realName = p[0].toUpperCase() + p.slice(1) + word - const newTarget = UiCompletions[realName] - if (!newTarget) - continue - if (newTarget.uiName === importUiSource) { - target = newTarget - break - } - } - } - + const target = await findDynamicComponent(word, {}, uiDeps[word]) if (!target) return const tableDocument = target.tableDocument if (tableDocument) - return new vscode.Hover(tableDocument) + return createHover(tableDocument) }, })) } @@ -984,29 +950,38 @@ async function getTemplateParentElementName(url: string) { return result } -export async function findDynamicComponent(name: string, deps: Record) { +export async function findDynamicComponent(name: string, deps: Record, from?: string) { const prefix = optionsComponents.prefix - let target = findDynamic(name, prefix) + let target = findDynamic(name, prefix, from) + if (target) + return target let dep - if (!target && (dep = deps[name])) { + if (dep = deps[name]) { // 只往下找一层 const tag = await getTemplateParentElementName(getAbsoluteUrl(dep)) if (!tag) return - target = findDynamic(tag, prefix) + target = findDynamic(tag, prefix, from) } return target } -function findDynamic(tag: string, prefix: string[]) { +function findDynamic(tag: string, prefix: string[], from?: string) { let target = UiCompletions[tag] + if (target && from && target.lib !== from) { + target = null + } if (!target) { for (const p of prefix) { if (!p) continue const t = UiCompletions[p[0].toUpperCase() + p.slice(1) + tag] - if (t) { + if (from && t && t.lib === from) { + target = t + break + } + else if (t) { target = t break } diff --git a/src/ui/antDesignVue/antDesignVue1/index.ts b/src/ui/antDesignVue/antDesignVue1/index.ts index 229ce597..a8a18690 100644 --- a/src/ui/antDesignVue/antDesignVue1/index.ts +++ b/src/ui/antDesignVue/antDesignVue1/index.ts @@ -1,377 +1,18 @@ -import { getLocale } from '@vscode-use/utils' import { componentsReducer, propsReducer } from '../../utils' -import AAffix from './affix.json' -import AAlert from './alert.json' -import AAnchor from './anchor.json' -import AAutoComplete from './autoComplete.json' -import AAvatar from './avatar.json' -import ABackTop from './backTop.json' -import ABadge from './badge.json' -import ABreadcrumb from './breadcrumb.json' -import ABreadcrumbItem from './breadcrumbItem.json' -import ABreadcrumbSeparator from './breadcrumbSeparator.json' -import AButton from './button.json' -import ACalendar from './calendar.json' -import ACard from './card.json' -import ACardMeta from './cardMeta.json' -import ACascader from './cascader.json' -import ACarousel from './carousel.json' -import ACheckbox from './checkbox.json' -import ACheckboxGroup from './checkboxGroup.json' -import ACheckableTag from './checkableTag.json' -import ACollapse from './collapse.json' -import ACollapsePanel from './collapsePanel.json' -import AComment from './comment.json' -import AConfigProvider from './configProvider.json' -import ADatePicker from './datePicker.json' -import ADescriptions from './descriptions.json' -import ADescriptionsItem from './descriptionsItem.json' -import ADivider from './divider.json' -import ADrawer from './drawer.json' -import ADropdown from './dropdown.json' -import ADropdownButton from './dropdownButton.json' -import AEmpty from './empty.json' -import AForm from './form.json' -import AFormItem from './formItem.json' -import AFormModel from './formModel.json' -import AFormModelItem from './formModelItem.json' -import ARow from './row.json' -import ARadio from './radio.json' -import ARadioGroup from './radioGroup.json' -import ARadioButton from './radioButton.json' -import ACol from './col.json' -import AInput from './input.json' -import AInputPassword from './inputPassword.json' -import AInputSearch from './inputSearch.json' -import AInputGroup from './inputGroup.json' -import AInputNumber from './inputNumber.json' -import AResult from './result.json' -import APagination from './pagination.json' -import AProgress from './progress.json' -import APageHeader from './pageHeader.json' -import AMenu from './menu.json' -import AModal from './modal.json' -import AMentions from './mentions.json' -import ALayoutContent from './layoutContent.json' -import ALayoutHeader from './layoutHeader.json' -import ALayoutFooter from './layoutFooter.json' -import ALayoutSider from './layoutSider.json' -import ALayout from './layout.json' -import AList from './list.json' -import AListItem from './listItem.json' -import APopover from './popover.json' -import APopconfirm from './popconfirm.json' -import AListItemMeta from './listItemMeta.json' -import ARate from './rate.json' -import ARangePicker from './rangePicker.json' -import ASelect from './select.json' -import ASelectOption from './selectOption.json' -import ASelectOptionGroup from './selectOptionGroup.json' -import ASpace from './space.json' -import ASkeleton from './skeleton.json' -import ASwitch from './switch.json' -import ASpin from './spin.json' -import ASlider from './slider.json' -import AStatistic from './statistic.json' -import AStatisticCountdown from './statisticCountdown.json' -import AStep from './step.json' -import ASteps from './steps.json' -import ATimeline from './timeline.json' -import ATimelineItem from './timelineItem.json' -import ATooltip from './tooltip.json' -import ATabs from './tabs.json' -import ATabPane from './tabPane.json' -import ATimePicker from './timePicker.json' -import ATextarea from './textarea.json' -import ATransfer from './transfer.json' -import ATable from './table.json' -import ATableColumn from './tableColumn.json' -import ATag from './tag.json' -import ATree from './tree.json' -import ATreeSelect from './treeSelect.json' -import AUpload from './upload.json' +import { getComponentMap, getPropsMap } from './mapping' export function antDesignVue1() { - const map: any = [ - AAffix, - AAlert, - AAnchor, - AAutoComplete, - AAvatar, - ABackTop, - ABadge, - ABreadcrumb, - ABreadcrumbItem, - ABreadcrumbSeparator, - AButton, - ACalendar, - ACard, - ACardMeta, - ACascader, - ACarousel, - ACheckbox, - ACheckboxGroup, - ACheckableTag, - ACollapse, - ACollapsePanel, - AComment, - AConfigProvider, - ADatePicker, - ADescriptions, - ADescriptionsItem, - ADivider, - ADrawer, - ADropdown, - ADropdownButton, - AEmpty, - AForm, - AFormItem, - AFormModel, - AFormModelItem, - ARow, - ARadio, - ARadioGroup, - ARadioButton, - ACol, - AInput, - AInputPassword, - AInputSearch, - AInputGroup, - AInputNumber, - AResult, - APagination, - AProgress, - AMenu, - AModal, - AMentions, - ALayoutContent, - ALayoutHeader, - ALayoutFooter, - ALayoutSider, - APageHeader, - ALayout, - AList, - AListItem, - AListItemMeta, - APopover, - APopconfirm, - ARangePicker, - ARate, - ASelect, - ASelectOption, - ASelectOptionGroup, - ASpace, - ASkeleton, - ASwitch, - ASpin, - ASlider, - AStatistic, - AStatisticCountdown, - ATimeline, - ATimelineItem, - ATooltip, - ATabs, - ATabPane, - AUpload, - ATimePicker, - ATransfer, - ATable, - ATableColumn, - ATag, - ATree, - ] - return propsReducer('ant-design-vue1', map, 'a') + return propsReducer({ + uiName: 'ant-design-vue1', + map: getPropsMap(), + lib: 'ant-design-vue', + prefix: 'a', + }) } export function antDesignVue1Components() { - const isZh = getLocale().includes('zh') - const map = isZh - ? [ - [ARow, '栅格布局'], - [ACol, '栅格布局'], - [ALayoutContent, '内容部分,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中'], - [ALayoutHeader, '顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], - [ALayoutSider, '侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 Layout 中。'], - [ALayout, '布局容器,其下可嵌套 Header Sider Content Footer 或 Layout 本身,可以放在任何父容器中。'], - [ALayoutFooter, '底部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], - [AButton, '按钮'], - [ASpace, '间距 设置组件之间的间距'], - [AAnchor, '锚点'], - [AAutoComplete, '输入字段的自动完成功能'], - [ARadio, '单选框'], - [ARadioGroup, '单选框组'], - [ARadioButton, '按钮样式的单选组合'], - [ACheckbox, '多选框'], - [ACheckboxGroup, '多选框组'], - [AInput, '输入框'], - [AInputPassword, '密码框'], - [AInputSearch, '搜索框 带有搜索按钮的输入框'], - [AInputGroup, '输入框组 Input.Group 中所有的 Input 的大小,可选 large default small'], - [AInputNumber, '计数器'], - [ASelect, '选择器'], - [ASelectOption, '基础多选'], - [ASelectOptionGroup, '备选项进行分组展示'], - [ACascader, '级联选择器'], - [ACheckableTag, '进行标记和分类的小标签。'], - [ASwitch, '开关'], - [ASlider, '滑块'], - [ATimePicker, '时间选择器'], - [ARangePicker, '时间范围选择器'], - [ADatePicker, '日期选择器/日期时间选择器'], - [AUpload, '上传'], - [ASpin, '加载中 用于页面和区块的加载中状态'], - [ARate, '评分'], - [AAffix, '固钉 将页面元素钉在可视范围'], - [AConfigProvider, '全局化配置 为组件提供统一的全局化配置'], - [ABackTop, '回到顶部'], - [ATextarea, '适应文本高度的文本域'], - [ATransfer, '穿梭框'], - [AForm, '表单'], - [AFormItem, '表单项'], - [AFormModel, '表单'], - [AFormModelItem, '表单项'], - [ATable, '表格'], - [ATableColumn, '表格项'], - [ATag, '标签'], - [AProgress, '进度条'], - [ATree, '树形控件'], - [ATreeSelect, '树型选择控件。'], - [APagination, '分页'], - [ABadge, '标记'], - [AAvatar, '头像'], - [ASkeleton, '骨架屏'], - [AEmpty, '空状态'], - [ADescriptions, '描述列表'], - [ADescriptionsItem, '描述列表项'], - [AResult, '结果'], - [AStatistic, '统计数值'], - [AStatisticCountdown, '统计数值'], - [AAlert, '警告'], - [AMenu, '导航菜单'], - [ATabs, '标签页'], - [ATabPane, '标签项'], - [ABreadcrumb, '面包屑'], - [ABreadcrumbItem, '面包屑项'], - [ABreadcrumbSeparator, '可以自定义分隔符的面包屑项'], - [APageHeader, '页头'], - [ADropdown, '下拉菜单'], - [ADropdownButton, '带下拉框的按钮'], - [ASteps, '步骤条'], - [AStep, '步骤条项'], - [ATooltip, '文字提示'], - [APopover, '弹出框'], - [APopconfirm, '气泡确认框'], - [ACard, '卡片'], - [ACardMeta, '卡片 可以利用 Card.Meta 支持更灵活的内容'], - [ACarousel, '走马灯'], - [ACollapse, '折叠面板'], - [ACollapsePanel, '折叠面板项'], - [ATimeline, '时间线'], - [ATimelineItem, '时间线项'], - [ADivider, '分割线 区隔内容的分割线'], - [ACalendar, '日历'], - [ADrawer, '抽屉'], - [AModal, '对话框'], - [AMentions, '提及 用于在输入中提及某人或某事,常用于发布、聊天或评论功能'], - [AComment, '评论 对网站内容的反馈、评价和讨论'], - [AList, '列表 最基础的列表展示,可承载文字、列表、图片、段落,常用于后台数据展示页面'], - [AListItem, '列表项'], - [AListItemMeta, '列表元素图'], - ] - : [ - [ARow, 'grid layout'], - [ACol, 'Grid layout'], - [ALayoutContent, 'The content part has its own default style. Any elements can be nested under it and can only be placed in Layout'], - [ALayoutHeader, 'The top layout has its own default style. Any element can be nested under it and can only be placed in Layout. '], - [ALayoutSider, 'Sidebar has its own default style and basic functions. Any element can be nested under it and can only be placed in Layout. '], - [ALayout, 'Layout container, under which Header Sider Content Footer or Layout itself can be nested, and can be placed in any parent container. '], - [ALayoutFooter, 'Bottom layout, with its own default style, any element can be nested under it, and can only be placed in Layout. '], - [AButton, 'button'], - [ASpace, 'Spacing sets the spacing between components'], - [AAnchor, 'anchor'], - [AAutoComplete, 'Autocomplete function of input field.'], - [ARadio, 'radio button'], - [ARadioGroup, 'Radio group'], - [ARadioButton, 'Radio combination of button styles'], - [ACheckbox, 'Multiple checkbox'], - [ACheckboxGroup, 'Multiple checkbox group'], - [AInput, 'input box'], - [AInputPassword, 'password box'], - [AInputSearch, 'Search box input box with search button'], - [AInputGroup, 'The size of all Inputs in the input box group Input.Group, optional large default small'], - [AInputNumber, 'counter'], - [ASelect, 'selector'], - [ASelectOption, 'Basic multiple selection'], - [ASelectOptionGroup, 'Alternative options are displayed in groups'], - [ACascader, 'cascading selector'], - [ACheckableTag, 'Tag for categorizing or markup.'], - [ASwitch, 'switch'], - [ASlider, 'slider'], - [ATimePicker, 'time picker'], - [ARangePicker, 'time range picker'], - [ADatePicker, 'Date picker/date time picker'], - [AUpload, 'upload'], - [ASpin, 'Loading'], - [ARate, 'rating'], - [AAffix, 'Pin the page element to the visible range'], - [AConfigProvider, 'Global configuration provides unified global configuration for components'], - [ABackTop, 'back to top'], - [ATextarea, 'Text area that adapts to text height'], - [ATransfer, 'shuttle box'], - [AForm, 'form'], - [AFormItem, 'form item'], - [AFormModel, 'form'], - [AFormModelItem, 'form item'], - [ATable, 'table'], - [ATableColumn, 'table item'], - [ATag, 'tag'], - [AProgress, 'progress bar'], - [ATree, 'Tree control'], - [ATreeSelect, 'Tree selection control.'], - [APagination, 'pagination'], - [ABadge, 'mark'], - [AAvatar, 'avatar'], - [ASkeleton, 'skeleton screen'], - [AEmpty, 'empty state'], - [ADescriptions, 'description list'], - [ADescriptionsItem, 'Description list item'], - [AResult, 'result'], - [AStatistic, 'statistical value'], - [AStatisticCountdown, 'statistical value'], - [AAlert, 'warning'], - [AMenu, 'Navigation menu'], - [ATabs, 'tabs'], - [ATabPane, 'tab item'], - [ABreadcrumb, 'breadcrumb'], - [ABreadcrumbItem, 'breadcrumb item'], - [ABreadcrumbSeparator, 'Breadcrumb items with customizable separators'], - [APageHeader, 'page header'], - [ADropdown, 'drop-down menu'], - [ADropdownButton, 'Button with dropdown box'], - [ASteps, 'step bar'], - [AStep, 'step bar item'], - [ATooltip, 'Text tip'], - [APopover, 'pop-up box'], - [APopconfirm, 'Bubble confirmation box'], - [ACard, 'card'], - [ACardMeta, 'Cards can use Card.Meta to support more flexible content'], - [ACarousel, 'carousel'], - [ACollapse, 'collapse panel'], - [ACollapsePanel, 'collapse panel item'], - [ATimeline, 'timeline'], - [ATimelineItem, 'Timeline item'], - [ADivider, 'Divider line The dividing line that separates content'], - [ACalendar, 'calendar'], - [ADrawer, 'drawer'], - [AModal, 'dialog'], - [AMentions, 'Mentions are used to mention someone or something in the input, often used in publishing, chat or comment functions'], - [AComment, 'Comment Feedback, evaluation and discussion of website content'], - [AList, 'List is the most basic list display, which can carry text, lists, pictures, paragraphs, and is often used in background data display pages'], - [AListItem, 'list item'], - [AListItemMeta, 'List element graph'], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'a', lib: 'ant-design-vue', diff --git a/src/ui/antDesignVue/antDesignVue1/mapping.ts b/src/ui/antDesignVue/antDesignVue1/mapping.ts new file mode 100644 index 00000000..c43c38be --- /dev/null +++ b/src/ui/antDesignVue/antDesignVue1/mapping.ts @@ -0,0 +1,371 @@ +import { getLocale } from '@vscode-use/utils' +import AAffix from './affix.json' +import AAlert from './alert.json' +import AAnchor from './anchor.json' +import AAutoComplete from './autoComplete.json' +import AAvatar from './avatar.json' +import ABackTop from './backTop.json' +import ABadge from './badge.json' +import ABreadcrumb from './breadcrumb.json' +import ABreadcrumbItem from './breadcrumbItem.json' +import ABreadcrumbSeparator from './breadcrumbSeparator.json' +import AButton from './button.json' +import ACalendar from './calendar.json' +import ACard from './card.json' +import ACardMeta from './cardMeta.json' +import ACascader from './cascader.json' +import ACarousel from './carousel.json' +import ACheckbox from './checkbox.json' +import ACheckboxGroup from './checkboxGroup.json' +import ACheckableTag from './checkableTag.json' +import ACollapse from './collapse.json' +import ACollapsePanel from './collapsePanel.json' +import AComment from './comment.json' +import AConfigProvider from './configProvider.json' +import ADatePicker from './datePicker.json' +import ADescriptions from './descriptions.json' +import ADescriptionsItem from './descriptionsItem.json' +import ADivider from './divider.json' +import ADrawer from './drawer.json' +import ADropdown from './dropdown.json' +import ADropdownButton from './dropdownButton.json' +import AEmpty from './empty.json' +import AForm from './form.json' +import AFormItem from './formItem.json' +import AFormModel from './formModel.json' +import AFormModelItem from './formModelItem.json' +import ARow from './row.json' +import ARadio from './radio.json' +import ARadioGroup from './radioGroup.json' +import ARadioButton from './radioButton.json' +import ACol from './col.json' +import AInput from './input.json' +import AInputPassword from './inputPassword.json' +import AInputSearch from './inputSearch.json' +import AInputGroup from './inputGroup.json' +import AInputNumber from './inputNumber.json' +import AResult from './result.json' +import APagination from './pagination.json' +import AProgress from './progress.json' +import APageHeader from './pageHeader.json' +import AMenu from './menu.json' +import AModal from './modal.json' +import AMentions from './mentions.json' +import ALayoutContent from './layoutContent.json' +import ALayoutHeader from './layoutHeader.json' +import ALayoutFooter from './layoutFooter.json' +import ALayoutSider from './layoutSider.json' +import ALayout from './layout.json' +import AList from './list.json' +import AListItem from './listItem.json' +import APopover from './popover.json' +import APopconfirm from './popconfirm.json' +import AListItemMeta from './listItemMeta.json' +import ARate from './rate.json' +import ARangePicker from './rangePicker.json' +import ASelect from './select.json' +import ASelectOption from './selectOption.json' +import ASelectOptionGroup from './selectOptionGroup.json' +import ASpace from './space.json' +import ASkeleton from './skeleton.json' +import ASwitch from './switch.json' +import ASpin from './spin.json' +import ASlider from './slider.json' +import AStatistic from './statistic.json' +import AStatisticCountdown from './statisticCountdown.json' +import AStep from './step.json' +import ASteps from './steps.json' +import ATimeline from './timeline.json' +import ATimelineItem from './timelineItem.json' +import ATooltip from './tooltip.json' +import ATabs from './tabs.json' +import ATabPane from './tabPane.json' +import ATimePicker from './timePicker.json' +import ATextarea from './textarea.json' +import ATransfer from './transfer.json' +import ATable from './table.json' +import ATableColumn from './tableColumn.json' +import ATag from './tag.json' +import ATree from './tree.json' +import ATreeSelect from './treeSelect.json' +import AUpload from './upload.json' + +export function getPropsMap() { + return [ + AAffix, + AAlert, + AAnchor, + AAutoComplete, + AAvatar, + ABackTop, + ABadge, + ABreadcrumb, + ABreadcrumbItem, + ABreadcrumbSeparator, + AButton, + ACalendar, + ACard, + ACardMeta, + ACascader, + ACarousel, + ACheckbox, + ACheckboxGroup, + ACheckableTag, + ACollapse, + ACollapsePanel, + AComment, + AConfigProvider, + ADatePicker, + ADescriptions, + ADescriptionsItem, + ADivider, + ADrawer, + ADropdown, + ADropdownButton, + AEmpty, + AForm, + AFormItem, + AFormModel, + AFormModelItem, + ARow, + ARadio, + ARadioGroup, + ARadioButton, + ACol, + AInput, + AInputPassword, + AInputSearch, + AInputGroup, + AInputNumber, + AResult, + APagination, + AProgress, + AMenu, + AModal, + AMentions, + ALayoutContent, + ALayoutHeader, + ALayoutFooter, + ALayoutSider, + APageHeader, + ALayout, + AList, + AListItem, + AListItemMeta, + APopover, + APopconfirm, + ARangePicker, + ARate, + ASelect, + ASelectOption, + ASelectOptionGroup, + ASpace, + ASkeleton, + ASwitch, + ASpin, + ASlider, + AStatistic, + AStatisticCountdown, + ATimeline, + ATimelineItem, + ATooltip, + ATabs, + ATabPane, + AUpload, + ATimePicker, + ATransfer, + ATable, + ATableColumn, + ATag, + ATree, + ] +} + +export function getComponentMap() { + const isZh = getLocale().includes('zh') + return isZh + ? [ + [ARow, '栅格布局'], + [ACol, '栅格布局'], + [ALayoutContent, '内容部分,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中'], + [ALayoutHeader, '顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], + [ALayoutSider, '侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 Layout 中。'], + [ALayout, '布局容器,其下可嵌套 Header Sider Content Footer 或 Layout 本身,可以放在任何父容器中。'], + [ALayoutFooter, '底部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], + [AButton, '按钮'], + [ASpace, '间距 设置组件之间的间距'], + [AAnchor, '锚点'], + [AAutoComplete, '输入字段的自动完成功能'], + [ARadio, '单选框'], + [ARadioGroup, '单选框组'], + [ARadioButton, '按钮样式的单选组合'], + [ACheckbox, '多选框'], + [ACheckboxGroup, '多选框组'], + [AInput, '输入框'], + [AInputPassword, '密码框'], + [AInputSearch, '搜索框 带有搜索按钮的输入框'], + [AInputGroup, '输入框组 Input.Group 中所有的 Input 的大小,可选 large default small'], + [AInputNumber, '计数器'], + [ASelect, '选择器'], + [ASelectOption, '基础多选'], + [ASelectOptionGroup, '备选项进行分组展示'], + [ACascader, '级联选择器'], + [ACheckableTag, '进行标记和分类的小标签。'], + [ASwitch, '开关'], + [ASlider, '滑块'], + [ATimePicker, '时间选择器'], + [ARangePicker, '时间范围选择器'], + [ADatePicker, '日期选择器/日期时间选择器'], + [AUpload, '上传'], + [ASpin, '加载中 用于页面和区块的加载中状态'], + [ARate, '评分'], + [AAffix, '固钉 将页面元素钉在可视范围'], + [AConfigProvider, '全局化配置 为组件提供统一的全局化配置'], + [ABackTop, '回到顶部'], + [ATextarea, '适应文本高度的文本域'], + [ATransfer, '穿梭框'], + [AForm, '表单'], + [AFormItem, '表单项'], + [AFormModel, '表单'], + [AFormModelItem, '表单项'], + [ATable, '表格'], + [ATableColumn, '表格项'], + [ATag, '标签'], + [AProgress, '进度条'], + [ATree, '树形控件'], + [ATreeSelect, '树型选择控件。'], + [APagination, '分页'], + [ABadge, '标记'], + [AAvatar, '头像'], + [ASkeleton, '骨架屏'], + [AEmpty, '空状态'], + [ADescriptions, '描述列表'], + [ADescriptionsItem, '描述列表项'], + [AResult, '结果'], + [AStatistic, '统计数值'], + [AStatisticCountdown, '统计数值'], + [AAlert, '警告'], + [AMenu, '导航菜单'], + [ATabs, '标签页'], + [ATabPane, '标签项'], + [ABreadcrumb, '面包屑'], + [ABreadcrumbItem, '面包屑项'], + [ABreadcrumbSeparator, '可以自定义分隔符的面包屑项'], + [APageHeader, '页头'], + [ADropdown, '下拉菜单'], + [ADropdownButton, '带下拉框的按钮'], + [ASteps, '步骤条'], + [AStep, '步骤条项'], + [ATooltip, '文字提示'], + [APopover, '弹出框'], + [APopconfirm, '气泡确认框'], + [ACard, '卡片'], + [ACardMeta, '卡片 可以利用 Card.Meta 支持更灵活的内容'], + [ACarousel, '走马灯'], + [ACollapse, '折叠面板'], + [ACollapsePanel, '折叠面板项'], + [ATimeline, '时间线'], + [ATimelineItem, '时间线项'], + [ADivider, '分割线 区隔内容的分割线'], + [ACalendar, '日历'], + [ADrawer, '抽屉'], + [AModal, '对话框'], + [AMentions, '提及 用于在输入中提及某人或某事,常用于发布、聊天或评论功能'], + [AComment, '评论 对网站内容的反馈、评价和讨论'], + [AList, '列表 最基础的列表展示,可承载文字、列表、图片、段落,常用于后台数据展示页面'], + [AListItem, '列表项'], + [AListItemMeta, '列表元素图'], + ] + : [ + [ARow, 'grid layout'], + [ACol, 'Grid layout'], + [ALayoutContent, 'The content part has its own default style. Any elements can be nested under it and can only be placed in Layout'], + [ALayoutHeader, 'The top layout has its own default style. Any element can be nested under it and can only be placed in Layout. '], + [ALayoutSider, 'Sidebar has its own default style and basic functions. Any element can be nested under it and can only be placed in Layout. '], + [ALayout, 'Layout container, under which Header Sider Content Footer or Layout itself can be nested, and can be placed in any parent container. '], + [ALayoutFooter, 'Bottom layout, with its own default style, any element can be nested under it, and can only be placed in Layout. '], + [AButton, 'button'], + [ASpace, 'Spacing sets the spacing between components'], + [AAnchor, 'anchor'], + [AAutoComplete, 'Autocomplete function of input field.'], + [ARadio, 'radio button'], + [ARadioGroup, 'Radio group'], + [ARadioButton, 'Radio combination of button styles'], + [ACheckbox, 'Multiple checkbox'], + [ACheckboxGroup, 'Multiple checkbox group'], + [AInput, 'input box'], + [AInputPassword, 'password box'], + [AInputSearch, 'Search box input box with search button'], + [AInputGroup, 'The size of all Inputs in the input box group Input.Group, optional large default small'], + [AInputNumber, 'counter'], + [ASelect, 'selector'], + [ASelectOption, 'Basic multiple selection'], + [ASelectOptionGroup, 'Alternative options are displayed in groups'], + [ACascader, 'cascading selector'], + [ACheckableTag, 'Tag for categorizing or markup.'], + [ASwitch, 'switch'], + [ASlider, 'slider'], + [ATimePicker, 'time picker'], + [ARangePicker, 'time range picker'], + [ADatePicker, 'Date picker/date time picker'], + [AUpload, 'upload'], + [ASpin, 'Loading'], + [ARate, 'rating'], + [AAffix, 'Pin the page element to the visible range'], + [AConfigProvider, 'Global configuration provides unified global configuration for components'], + [ABackTop, 'back to top'], + [ATextarea, 'Text area that adapts to text height'], + [ATransfer, 'shuttle box'], + [AForm, 'form'], + [AFormItem, 'form item'], + [AFormModel, 'form'], + [AFormModelItem, 'form item'], + [ATable, 'table'], + [ATableColumn, 'table item'], + [ATag, 'tag'], + [AProgress, 'progress bar'], + [ATree, 'Tree control'], + [ATreeSelect, 'Tree selection control.'], + [APagination, 'pagination'], + [ABadge, 'mark'], + [AAvatar, 'avatar'], + [ASkeleton, 'skeleton screen'], + [AEmpty, 'empty state'], + [ADescriptions, 'description list'], + [ADescriptionsItem, 'Description list item'], + [AResult, 'result'], + [AStatistic, 'statistical value'], + [AStatisticCountdown, 'statistical value'], + [AAlert, 'warning'], + [AMenu, 'Navigation menu'], + [ATabs, 'tabs'], + [ATabPane, 'tab item'], + [ABreadcrumb, 'breadcrumb'], + [ABreadcrumbItem, 'breadcrumb item'], + [ABreadcrumbSeparator, 'Breadcrumb items with customizable separators'], + [APageHeader, 'page header'], + [ADropdown, 'drop-down menu'], + [ADropdownButton, 'Button with dropdown box'], + [ASteps, 'step bar'], + [AStep, 'step bar item'], + [ATooltip, 'Text tip'], + [APopover, 'pop-up box'], + [APopconfirm, 'Bubble confirmation box'], + [ACard, 'card'], + [ACardMeta, 'Cards can use Card.Meta to support more flexible content'], + [ACarousel, 'carousel'], + [ACollapse, 'collapse panel'], + [ACollapsePanel, 'collapse panel item'], + [ATimeline, 'timeline'], + [ATimelineItem, 'Timeline item'], + [ADivider, 'Divider line The dividing line that separates content'], + [ACalendar, 'calendar'], + [ADrawer, 'drawer'], + [AModal, 'dialog'], + [AMentions, 'Mentions are used to mention someone or something in the input, often used in publishing, chat or comment functions'], + [AComment, 'Comment Feedback, evaluation and discussion of website content'], + [AList, 'List is the most basic list display, which can carry text, lists, pictures, paragraphs, and is often used in background data display pages'], + [AListItem, 'list item'], + [AListItemMeta, 'List element graph'], + ] +} diff --git a/src/ui/antDesignVue/antDesignVue2/index.ts b/src/ui/antDesignVue/antDesignVue2/index.ts index 4effbb40..8d38b076 100644 --- a/src/ui/antDesignVue/antDesignVue2/index.ts +++ b/src/ui/antDesignVue/antDesignVue2/index.ts @@ -4,7 +4,12 @@ export function antDesignVue2() { const map: any = [ ] - return propsReducer('ant-design-vue2', map, 'a') + return propsReducer({ + uiName: 'ant-design-vue2', + map, + lib: 'ant-design-vue', + prefix: 'a', + }) } export function antDesignVue2Components() { diff --git a/src/ui/antDesignVue/antDesignVue3/index.ts b/src/ui/antDesignVue/antDesignVue3/index.ts index 6f457c69..cf2a0acb 100644 --- a/src/ui/antDesignVue/antDesignVue3/index.ts +++ b/src/ui/antDesignVue/antDesignVue3/index.ts @@ -1,278 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import Affix from './affix.json' -import Alert from './alert.json' -import Anchor from './anchor.json' -import AutoComplete from './autoComplete.json' -import Avatar from './avatar.json' -import AvatarGroup from './avatarGroup.json' -import BackTop from './backTop.json' -import Badge from './badge.json' -import Breadcrumb from './breadcrumb.json' -import BreadcrumbItem from './breadcrumbItem.json' -import Button from './button.json' -import Calendar from './calendar.json' -import Card from './card.json' -import CardMeta from './cardMeta.json' -import Carousel from './carousel.json' -import Cascader from './cascader.json' -import Checkbox from './checkbox.json' -import CheckboxGroup from './checkboxGroup.json' -import Col from './col.json' -import Collapse from './collapse.json' -import CollapsePanel from './collapsePanel.json' -import Comment from './comment.json' -import DatePicker from './datePicker.json' -import Descriptions from './descriptions.json' -import DescriptionsItem from './descriptionsItem.json' -import Divider from './divider.json' -import Drawer from './drawer.json' -import Dropdown from './dropdown.json' -import DropdownButton from './dropdownButton.json' -import Empty from './empty.json' -import Form from './form.json' -import FormItem from './formItem.json' -import Input from './input.json' -import InputGroup from './inputGroup.json' -import InputNumber from './inputNumber.json' -import InputPassword from './inputPassword.json' -import InputSearch from './inputSearch.json' -import Layout from './layout.json' -import LayoutFooter from './layoutFooter.json' -import LayoutHeader from './layoutHeader.json' -import LayoutSider from './layoutSider.json' -import List from './list.json' -import ListItem from './listItem.json' -import ListItemMeta from './listItemMeta.json' -import Mentions from './mentions.json' -import Menu from './menu.json' -import Modal from './modal.json' -import PageHeader from './pageHeader.json' -import Pagination from './pagination.json' -import Popconfirm from './popconfirm.json' -import Popover from './popover.json' -import Progress from './progress.json' -import Radio from './radio.json' -import RadioButton from './radioButton.json' -import RadioGroup from './radioGroup.json' -import RangePicker from './rangePicker.json' -import Rate from './rate.json' -import Result from './result.json' -import Row from './row.json' -import Select from './select.json' -import SelectOption from './selectOption.json' -import SelectOptionGroup from './selectOptionGroup.json' -import Skeleton from './skeleton.json' -import Slider from './slider.json' -import Space from './space.json' -import Spin from './spin.json' -import Statistic from './statistic.json' -import StatisticCountdown from './statisticCountdown.json' -import Steps from './steps.json' -import Switch from './switch.json' -import TabPane from './tabPane.json' -import Table from './table.json' -import TableColumn from './tableColumn.json' -import Tabs from './tabs.json' -import Tag from './tag.json' -import Textarea from './textarea.json' -import TimePicker from './timePicker.json' -import Timeline from './timeline.json' -import TimelineItem from './timelineItem.json' -import Tooltip from './tooltip.json' -import Transfer from './transfer.json' -import Tree from './tree.json' -import TreeSelect from './treeSelect.json' -import TypographyParagraph from './typographyParagraph.json' -import TypographyText from './typographyText.json' -import TypographyTitle from './typographyTitle.json' -import Upload from './upload.json' +import { getComponentMap, getPropsMap } from './mapping' export function antDesignVue3() { - const map: any = [ - Affix, - Alert, - Anchor, - AutoComplete, - Avatar, - AvatarGroup, - BackTop, - Badge, - Breadcrumb, - BreadcrumbItem, - Button, - Calendar, - Card, - CardMeta, - Carousel, - Cascader, - Checkbox, - CheckboxGroup, - Col, - Collapse, - CollapsePanel, - Comment, - DatePicker, - Descriptions, - DescriptionsItem, - Divider, - Drawer, - Dropdown, - DropdownButton, - Empty, - Form, - FormItem, - Input, - InputGroup, - InputNumber, - InputPassword, - InputSearch, - Layout, - LayoutFooter, - LayoutHeader, - LayoutSider, - List, - ListItem, - ListItemMeta, - Mentions, - Menu, - Modal, - PageHeader, - Pagination, - Popconfirm, - Popover, - Progress, - Radio, - RadioButton, - RadioGroup, - RangePicker, - Rate, - Result, - Row, - Select, - SelectOption, - SelectOptionGroup, - Skeleton, - Slider, - Space, - Spin, - Statistic, - StatisticCountdown, - Steps, - Switch, - TabPane, - Table, - TableColumn, - Tabs, - Tag, - Textarea, - TimePicker, - Timeline, - TimelineItem, - Tooltip, - Transfer, - Tree, - TreeSelect, - TypographyParagraph, - TypographyText, - TypographyTitle, - Upload, - ] - - return propsReducer('ant-design-vue3', map, 'a') + return propsReducer({ + uiName: 'ant-design-vue3', + map: getPropsMap(), + lib: 'ant-design-vue', + prefix: 'a', + }) } export function antDesignVue3Components() { - const map = [ - [Affix, Affix.name, ''], - [Alert, Alert.name, ''], - [Anchor, Anchor.name, ''], - [AutoComplete, AutoComplete.name, ''], - [Avatar, Avatar.name, ''], - [AvatarGroup, AvatarGroup.name, ''], - [BackTop, BackTop.name, ''], - [Badge, Badge.name, ''], - [Breadcrumb, Breadcrumb.name, ''], - [BreadcrumbItem, BreadcrumbItem.name, ''], - [Button, Button.name, ''], - [Calendar, Calendar.name, ''], - [Card, Card.name, ''], - [CardMeta, CardMeta.name, ''], - [Carousel, Carousel.name, ''], - [Cascader, Cascader.name, ''], - [Checkbox, Checkbox.name, ''], - [CheckboxGroup, CheckboxGroup.name, ''], - [Col, Col.name, ''], - [Collapse, Collapse.name, ''], - [CollapsePanel, CollapsePanel.name, ''], - [Comment, Comment.name, ''], - [DatePicker, DatePicker.name, ''], - [Descriptions, Descriptions.name, ''], - [DescriptionsItem, DescriptionsItem.name, ''], - [Divider, Divider.name, ''], - [Drawer, Drawer.name, ''], - [Dropdown, Dropdown.name, ''], - [DropdownButton, DropdownButton.name, ''], - [Empty, Empty.name, ''], - [Form, Form.name, ''], - [FormItem, FormItem.name, ''], - [Input, Input.name, ''], - [InputGroup, InputGroup.name, ''], - [InputNumber, InputNumber.name, ''], - [InputPassword, InputPassword.name, ''], - [InputSearch, InputSearch.name, ''], - [Layout, Layout.name, ''], - [LayoutFooter, LayoutFooter.name, ''], - [LayoutHeader, LayoutHeader.name, ''], - [LayoutSider, LayoutSider.name, ''], - [List, List.name, ''], - [ListItem, ListItem.name, ''], - [ListItemMeta, ListItemMeta.name, ''], - [Mentions, Mentions.name, ''], - [Menu, Menu.name, ''], - [Modal, Modal.name, ''], - [PageHeader, PageHeader.name, ''], - [Pagination, Pagination.name, ''], - [Popconfirm, Popconfirm.name, ''], - [Popover, Popover.name, ''], - [Progress, Progress.name, ''], - [Radio, Radio.name, ''], - [RadioButton, RadioButton.name, ''], - [RadioGroup, RadioGroup.name, ''], - [RangePicker, RangePicker.name, ''], - [Rate, Rate.name, ''], - [Result, Result.name, ''], - [Row, Row.name, ''], - [Select, Select.name, ''], - [SelectOption, SelectOption.name, ''], - [SelectOptionGroup, SelectOptionGroup.name, ''], - [Skeleton, Skeleton.name, ''], - [Slider, Slider.name, ''], - [Space, Space.name, ''], - [Spin, Spin.name, ''], - [Statistic, Statistic.name, ''], - [StatisticCountdown, StatisticCountdown.name, ''], - [Steps, Steps.name, ''], - [Switch, Switch.name, ''], - [TabPane, TabPane.name, ''], - [Table, Table.name, ''], - [TableColumn, TableColumn.name, ''], - [Tabs, Tabs.name, ''], - [Tag, Tag.name, ''], - [Textarea, Textarea.name, ''], - [TimePicker, TimePicker.name, ''], - [Timeline, Timeline.name, ''], - [TimelineItem, TimelineItem.name, ''], - [Tooltip, Tooltip.name, ''], - [Transfer, Transfer.name, ''], - [Tree, Tree.name, ''], - [TreeSelect, TreeSelect.name, ''], - [TypographyParagraph, TypographyParagraph.name, ''], - [TypographyText, TypographyText.name, ''], - [TypographyTitle, TypographyTitle.name, ''], - [Upload, Upload.name, ''], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'a', lib: 'ant-design-vue', diff --git a/src/ui/antDesignVue/antDesignVue3/mapping.ts b/src/ui/antDesignVue/antDesignVue3/mapping.ts new file mode 100644 index 00000000..987ac204 --- /dev/null +++ b/src/ui/antDesignVue/antDesignVue3/mapping.ts @@ -0,0 +1,271 @@ +import Affix from './affix.json' +import Alert from './alert.json' +import Anchor from './anchor.json' +import AutoComplete from './autoComplete.json' +import Avatar from './avatar.json' +import AvatarGroup from './avatarGroup.json' +import BackTop from './backTop.json' +import Badge from './badge.json' +import Breadcrumb from './breadcrumb.json' +import BreadcrumbItem from './breadcrumbItem.json' +import Button from './button.json' +import Calendar from './calendar.json' +import Card from './card.json' +import CardMeta from './cardMeta.json' +import Carousel from './carousel.json' +import Cascader from './cascader.json' +import Checkbox from './checkbox.json' +import CheckboxGroup from './checkboxGroup.json' +import Col from './col.json' +import Collapse from './collapse.json' +import CollapsePanel from './collapsePanel.json' +import Comment from './comment.json' +import DatePicker from './datePicker.json' +import Descriptions from './descriptions.json' +import DescriptionsItem from './descriptionsItem.json' +import Divider from './divider.json' +import Drawer from './drawer.json' +import Dropdown from './dropdown.json' +import DropdownButton from './dropdownButton.json' +import Empty from './empty.json' +import Form from './form.json' +import FormItem from './formItem.json' +import Input from './input.json' +import InputGroup from './inputGroup.json' +import InputNumber from './inputNumber.json' +import InputPassword from './inputPassword.json' +import InputSearch from './inputSearch.json' +import Layout from './layout.json' +import LayoutFooter from './layoutFooter.json' +import LayoutHeader from './layoutHeader.json' +import LayoutSider from './layoutSider.json' +import List from './list.json' +import ListItem from './listItem.json' +import ListItemMeta from './listItemMeta.json' +import Mentions from './mentions.json' +import Menu from './menu.json' +import Modal from './modal.json' +import PageHeader from './pageHeader.json' +import Pagination from './pagination.json' +import Popconfirm from './popconfirm.json' +import Popover from './popover.json' +import Progress from './progress.json' +import Radio from './radio.json' +import RadioButton from './radioButton.json' +import RadioGroup from './radioGroup.json' +import RangePicker from './rangePicker.json' +import Rate from './rate.json' +import Result from './result.json' +import Row from './row.json' +import Select from './select.json' +import SelectOption from './selectOption.json' +import SelectOptionGroup from './selectOptionGroup.json' +import Skeleton from './skeleton.json' +import Slider from './slider.json' +import Space from './space.json' +import Spin from './spin.json' +import Statistic from './statistic.json' +import StatisticCountdown from './statisticCountdown.json' +import Steps from './steps.json' +import Switch from './switch.json' +import TabPane from './tabPane.json' +import Table from './table.json' +import TableColumn from './tableColumn.json' +import Tabs from './tabs.json' +import Tag from './tag.json' +import Textarea from './textarea.json' +import TimePicker from './timePicker.json' +import Timeline from './timeline.json' +import TimelineItem from './timelineItem.json' +import Tooltip from './tooltip.json' +import Transfer from './transfer.json' +import Tree from './tree.json' +import TreeSelect from './treeSelect.json' +import TypographyParagraph from './typographyParagraph.json' +import TypographyText from './typographyText.json' +import TypographyTitle from './typographyTitle.json' +import Upload from './upload.json' + +export function getPropsMap() { + return [ + Affix, + Alert, + Anchor, + AutoComplete, + Avatar, + AvatarGroup, + BackTop, + Badge, + Breadcrumb, + BreadcrumbItem, + Button, + Calendar, + Card, + CardMeta, + Carousel, + Cascader, + Checkbox, + CheckboxGroup, + Col, + Collapse, + CollapsePanel, + Comment, + DatePicker, + Descriptions, + DescriptionsItem, + Divider, + Drawer, + Dropdown, + DropdownButton, + Empty, + Form, + FormItem, + Input, + InputGroup, + InputNumber, + InputPassword, + InputSearch, + Layout, + LayoutFooter, + LayoutHeader, + LayoutSider, + List, + ListItem, + ListItemMeta, + Mentions, + Menu, + Modal, + PageHeader, + Pagination, + Popconfirm, + Popover, + Progress, + Radio, + RadioButton, + RadioGroup, + RangePicker, + Rate, + Result, + Row, + Select, + SelectOption, + SelectOptionGroup, + Skeleton, + Slider, + Space, + Spin, + Statistic, + StatisticCountdown, + Steps, + Switch, + TabPane, + Table, + TableColumn, + Tabs, + Tag, + Textarea, + TimePicker, + Timeline, + TimelineItem, + Tooltip, + Transfer, + Tree, + TreeSelect, + TypographyParagraph, + TypographyText, + TypographyTitle, + Upload, + ] +} + +export function getComponentMap() { + return [ + [Affix, Affix.name, ''], + [Alert, Alert.name, ''], + [Anchor, Anchor.name, ''], + [AutoComplete, AutoComplete.name, ''], + [Avatar, Avatar.name, ''], + [AvatarGroup, AvatarGroup.name, ''], + [BackTop, BackTop.name, ''], + [Badge, Badge.name, ''], + [Breadcrumb, Breadcrumb.name, ''], + [BreadcrumbItem, BreadcrumbItem.name, ''], + [Button, Button.name, ''], + [Calendar, Calendar.name, ''], + [Card, Card.name, ''], + [CardMeta, CardMeta.name, ''], + [Carousel, Carousel.name, ''], + [Cascader, Cascader.name, ''], + [Checkbox, Checkbox.name, ''], + [CheckboxGroup, CheckboxGroup.name, ''], + [Col, Col.name, ''], + [Collapse, Collapse.name, ''], + [CollapsePanel, CollapsePanel.name, ''], + [Comment, Comment.name, ''], + [DatePicker, DatePicker.name, ''], + [Descriptions, Descriptions.name, ''], + [DescriptionsItem, DescriptionsItem.name, ''], + [Divider, Divider.name, ''], + [Drawer, Drawer.name, ''], + [Dropdown, Dropdown.name, ''], + [DropdownButton, DropdownButton.name, ''], + [Empty, Empty.name, ''], + [Form, Form.name, ''], + [FormItem, FormItem.name, ''], + [Input, Input.name, ''], + [InputGroup, InputGroup.name, ''], + [InputNumber, InputNumber.name, ''], + [InputPassword, InputPassword.name, ''], + [InputSearch, InputSearch.name, ''], + [Layout, Layout.name, ''], + [LayoutFooter, LayoutFooter.name, ''], + [LayoutHeader, LayoutHeader.name, ''], + [LayoutSider, LayoutSider.name, ''], + [List, List.name, ''], + [ListItem, ListItem.name, ''], + [ListItemMeta, ListItemMeta.name, ''], + [Mentions, Mentions.name, ''], + [Menu, Menu.name, ''], + [Modal, Modal.name, ''], + [PageHeader, PageHeader.name, ''], + [Pagination, Pagination.name, ''], + [Popconfirm, Popconfirm.name, ''], + [Popover, Popover.name, ''], + [Progress, Progress.name, ''], + [Radio, Radio.name, ''], + [RadioButton, RadioButton.name, ''], + [RadioGroup, RadioGroup.name, ''], + [RangePicker, RangePicker.name, ''], + [Rate, Rate.name, ''], + [Result, Result.name, ''], + [Row, Row.name, ''], + [Select, Select.name, ''], + [SelectOption, SelectOption.name, ''], + [SelectOptionGroup, SelectOptionGroup.name, ''], + [Skeleton, Skeleton.name, ''], + [Slider, Slider.name, ''], + [Space, Space.name, ''], + [Spin, Spin.name, ''], + [Statistic, Statistic.name, ''], + [StatisticCountdown, StatisticCountdown.name, ''], + [Steps, Steps.name, ''], + [Switch, Switch.name, ''], + [TabPane, TabPane.name, ''], + [Table, Table.name, ''], + [TableColumn, TableColumn.name, ''], + [Tabs, Tabs.name, ''], + [Tag, Tag.name, ''], + [Textarea, Textarea.name, ''], + [TimePicker, TimePicker.name, ''], + [Timeline, Timeline.name, ''], + [TimelineItem, TimelineItem.name, ''], + [Tooltip, Tooltip.name, ''], + [Transfer, Transfer.name, ''], + [Tree, Tree.name, ''], + [TreeSelect, TreeSelect.name, ''], + [TypographyParagraph, TypographyParagraph.name, ''], + [TypographyText, TypographyText.name, ''], + [TypographyTitle, TypographyTitle.name, ''], + [Upload, Upload.name, ''], + ] +} diff --git a/src/ui/antDesignVue/antDesignVue4/index.ts b/src/ui/antDesignVue/antDesignVue4/index.ts index 2b300d7e..896b1a8b 100644 --- a/src/ui/antDesignVue/antDesignVue4/index.ts +++ b/src/ui/antDesignVue/antDesignVue4/index.ts @@ -1,326 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import Affix from './affix.json' -import Alert from './alert.json' -import Anchor from './anchor.json' -import AutoComplete from './autoComplete.json' -import Avatar from './avatar.json' -import AvatarGroup from './avatarGroup.json' -import BackTop from './backTop.json' -import Badge from './badge.json' -import BadgeRibbon from './badgeRibbon.json' -import Breadcrumb from './breadcrumb.json' -import BreadcrumbItem from './breadcrumbItem.json' -import BreadcrumbSeparator from './breadcrumbSeparator.json' -import Button from './button.json' -import Calendar from './calendar.json' -import Card from './card.json' -import CardMeta from './cardMeta.json' -import Carousel from './carousel.json' -import Cascader from './cascader.json' -import CheckableTag from './checkableTag.json' -import Checkbox from './checkbox.json' -import CheckboxGroup from './checkboxGroup.json' -import Col from './col.json' -import Collapse from './collapse.json' -import CollapsePanel from './collapsePanel.json' -import Comment from './comment.json' -import ConfigProvider from './configProvider.json' -import DatePicker from './datePicker.json' -import Descriptions from './descriptions.json' -import DescriptionsItem from './descriptionsItem.json' -import Divider from './divider.json' -import Drawer from './drawer.json' -import Dropdown from './dropdown.json' -import DropdownButton from './dropdownButton.json' -import Empty from './empty.json' -import Flex from './flex.json' -import FloatButton from './floatButton.json' -import FloatButtonGroup from './floatButtonGroup.json' -import Form from './form.json' -import FormItem from './formItem.json' -import Image from './image.json' -import Input from './input.json' -import InputGroup from './inputGroup.json' -import InputNumber from './inputNumber.json' -import InputPassword from './inputPassword.json' -import InputSearch from './inputSearch.json' -import Layout from './layout.json' -import LayoutContent from './layoutContent.json' -import LayoutFooter from './layoutFooter.json' -import LayoutHeader from './layoutHeader.json' -import LayoutSider from './layoutSider.json' -import List from './list.json' -import ListItem from './listItem.json' -import ListItemMeta from './listItemMeta.json' -import Mentions from './mentions.json' -import Menu from './menu.json' -import Modal from './modal.json' -import PageHeader from './pageHeader.json' -import Pagination from './pagination.json' -import Popconfirm from './popconfirm.json' -import Popover from './popover.json' -import Progress from './progress.json' -import Qrcode from './qrcode.json' -import Radio from './radio.json' -import RadioButton from './radioButton.json' -import RadioGroup from './radioGroup.json' -import RangePicker from './rangePicker.json' -import Rate from './rate.json' -import Result from './result.json' -import Row from './row.json' -import Segmented from './segmented.json' -import Select from './select.json' -import SelectOption from './selectOption.json' -import SelectOptionGroup from './selectOptionGroup.json' -import Skeleton from './skeleton.json' -import Slider from './slider.json' -import Space from './space.json' -import SpaceCompact from './spaceCompact.json' -import Spin from './spin.json' -import Statistic from './statistic.json' -import StatisticCountdown from './statisticCountdown.json' -import Steps from './steps.json' -import Switch from './switch.json' -import TabPane from './tabPane.json' -import Table from './table.json' -import TableColumn from './tableColumn.json' -import Tabs from './tabs.json' -import Tag from './tag.json' -import Textarea from './textarea.json' -import TimePicker from './timePicker.json' -import Timeline from './timeline.json' -import TimelineItem from './timelineItem.json' -import Tooltip from './tooltip.json' -import Tour from './tour.json' -import Transfer from './transfer.json' -import Tree from './tree.json' -import TreeSelect from './treeSelect.json' -import Typography from './typography.json' -import TypographyLink from './typographyLink.json' -import TypographyParagraph from './typographyParagraph.json' -import TypographyText from './typographyText.json' -import TypographyTitle from './typographyTitle.json' -import Upload from './upload.json' -import Watermark from './watermark.json' +import { getComponentMap, getPropsMap } from './mapping' export function antDesignVue4() { - const map: any = [ - Affix, - Alert, - Anchor, - AutoComplete, - Avatar, - AvatarGroup, - BackTop, - Badge, - BadgeRibbon, - Breadcrumb, - BreadcrumbItem, - BreadcrumbSeparator, - Button, - Calendar, - Card, - CardMeta, - Carousel, - Cascader, - CheckableTag, - Checkbox, - CheckboxGroup, - Col, - Collapse, - CollapsePanel, - Comment, - ConfigProvider, - DatePicker, - Descriptions, - DescriptionsItem, - Divider, - Drawer, - Dropdown, - DropdownButton, - Empty, - Flex, - FloatButton, - FloatButtonGroup, - Form, - FormItem, - Image, - Input, - InputGroup, - InputNumber, - InputPassword, - InputSearch, - Layout, - LayoutContent, - LayoutFooter, - LayoutHeader, - LayoutSider, - List, - ListItem, - ListItemMeta, - Mentions, - Menu, - Modal, - PageHeader, - Pagination, - Popconfirm, - Popover, - Progress, - Qrcode, - Radio, - RadioButton, - RadioGroup, - RangePicker, - Rate, - Result, - Row, - Segmented, - Select, - SelectOption, - SelectOptionGroup, - Skeleton, - Slider, - Space, - SpaceCompact, - Spin, - Statistic, - StatisticCountdown, - Steps, - Switch, - TabPane, - Table, - TableColumn, - Tabs, - Tag, - Textarea, - TimePicker, - Timeline, - TimelineItem, - Tooltip, - Tour, - Transfer, - Tree, - TreeSelect, - Typography, - TypographyLink, - TypographyParagraph, - TypographyText, - TypographyTitle, - Upload, - Watermark, - ] - - return propsReducer('ant-design-vue4', map, 'a') + return propsReducer({ + uiName: 'ant-design-vue4', + map: getPropsMap(), + lib: 'ant-design-vue', + prefix: 'a', + }) } export function antDesignVue4Components() { - const map = [ - [Affix, Affix.name, ''], - [Alert, Alert.name, ''], - [Anchor, Anchor.name, ''], - [AutoComplete, AutoComplete.name, ''], - [Avatar, Avatar.name, ''], - [AvatarGroup, AvatarGroup.name, ''], - [BackTop, BackTop.name, ''], - [Badge, Badge.name, ''], - [BadgeRibbon, BadgeRibbon.name, ''], - [Breadcrumb, Breadcrumb.name, ''], - [BreadcrumbItem, BreadcrumbItem.name, ''], - [BreadcrumbSeparator, BreadcrumbSeparator.name, ''], - [Button, Button.name, ''], - [Calendar, Calendar.name, ''], - [Card, Card.name, ''], - [CardMeta, CardMeta.name, ''], - [Carousel, Carousel.name, ''], - [Cascader, Cascader.name, ''], - [CheckableTag, CheckableTag.name, ''], - [Checkbox, Checkbox.name, ''], - [CheckboxGroup, CheckboxGroup.name, ''], - [Col, Col.name, ''], - [Collapse, Collapse.name, ''], - [CollapsePanel, CollapsePanel.name, ''], - [Comment, Comment.name, ''], - [ConfigProvider, ConfigProvider.name, ''], - [DatePicker, DatePicker.name, ''], - [Descriptions, Descriptions.name, ''], - [DescriptionsItem, DescriptionsItem.name, ''], - [Divider, Divider.name, ''], - [Drawer, Drawer.name, ''], - [Dropdown, Dropdown.name, ''], - [DropdownButton, DropdownButton.name, ''], - [Empty, Empty.name, ''], - [Flex, Flex.name, ''], - [FloatButton, FloatButton.name, ''], - [FloatButtonGroup, FloatButtonGroup.name, ''], - [Form, Form.name, ''], - [FormItem, FormItem.name, ''], - [Image, Image.name, ''], - [Input, Input.name, ''], - [InputGroup, InputGroup.name, ''], - [InputNumber, InputNumber.name, ''], - [InputPassword, InputPassword.name, ''], - [InputSearch, InputSearch.name, ''], - [Layout, Layout.name, ''], - [LayoutContent, LayoutContent.name, ''], - [LayoutFooter, LayoutFooter.name, ''], - [LayoutHeader, LayoutHeader.name, ''], - [LayoutSider, LayoutSider.name, ''], - [List, List.name, ''], - [ListItem, ListItem.name, ''], - [ListItemMeta, ListItemMeta.name, ''], - [Mentions, Mentions.name, ''], - [Menu, Menu.name, ''], - [Modal, Modal.name, ''], - [PageHeader, PageHeader.name, ''], - [Pagination, Pagination.name, ''], - [Popconfirm, Popconfirm.name, ''], - [Popover, Popover.name, ''], - [Progress, Progress.name, ''], - [Qrcode, Qrcode.name, ''], - [Radio, Radio.name, ''], - [RadioButton, RadioButton.name, ''], - [RadioGroup, RadioGroup.name, ''], - [RangePicker, RangePicker.name, ''], - [Rate, Rate.name, ''], - [Result, Result.name, ''], - [Row, Row.name, ''], - [Segmented, Segmented.name, ''], - [Select, Select.name, ''], - [SelectOption, SelectOption.name, ''], - [SelectOptionGroup, SelectOptionGroup.name, ''], - [Skeleton, Skeleton.name, ''], - [Slider, Slider.name, ''], - [Space, Space.name, ''], - [SpaceCompact, SpaceCompact.name, ''], - [Spin, Spin.name, ''], - [Statistic, Statistic.name, ''], - [StatisticCountdown, StatisticCountdown.name, ''], - [Steps, Steps.name, ''], - [Switch, Switch.name, ''], - [TabPane, TabPane.name, ''], - [Table, Table.name, ''], - [TableColumn, TableColumn.name, ''], - [Tabs, Tabs.name, ''], - [Tag, Tag.name, ''], - [Textarea, Textarea.name, ''], - [TimePicker, TimePicker.name, ''], - [Timeline, Timeline.name, ''], - [TimelineItem, TimelineItem.name, ''], - [Tooltip, Tooltip.name, ''], - [Tour, Tour.name, ''], - [Transfer, Transfer.name, ''], - [Tree, Tree.name, ''], - [TreeSelect, TreeSelect.name, ''], - [Typography, Typography.name, ''], - [TypographyLink, TypographyLink.name, ''], - [TypographyParagraph, TypographyParagraph.name, ''], - [TypographyText, TypographyText.name, ''], - [TypographyTitle, TypographyTitle.name, ''], - [Upload, Upload.name, ''], - [Watermark, Watermark.name, ''], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'a', lib: 'ant-design-vue', diff --git a/src/ui/antDesignVue/antDesignVue4/mapping.ts b/src/ui/antDesignVue/antDesignVue4/mapping.ts new file mode 100644 index 00000000..9034bbb6 --- /dev/null +++ b/src/ui/antDesignVue/antDesignVue4/mapping.ts @@ -0,0 +1,319 @@ +import Affix from './affix.json' +import Alert from './alert.json' +import Anchor from './anchor.json' +import AutoComplete from './autoComplete.json' +import Avatar from './avatar.json' +import AvatarGroup from './avatarGroup.json' +import BackTop from './backTop.json' +import Badge from './badge.json' +import BadgeRibbon from './badgeRibbon.json' +import Breadcrumb from './breadcrumb.json' +import BreadcrumbItem from './breadcrumbItem.json' +import BreadcrumbSeparator from './breadcrumbSeparator.json' +import Button from './button.json' +import Calendar from './calendar.json' +import Card from './card.json' +import CardMeta from './cardMeta.json' +import Carousel from './carousel.json' +import Cascader from './cascader.json' +import CheckableTag from './checkableTag.json' +import Checkbox from './checkbox.json' +import CheckboxGroup from './checkboxGroup.json' +import Col from './col.json' +import Collapse from './collapse.json' +import CollapsePanel from './collapsePanel.json' +import Comment from './comment.json' +import ConfigProvider from './configProvider.json' +import DatePicker from './datePicker.json' +import Descriptions from './descriptions.json' +import DescriptionsItem from './descriptionsItem.json' +import Divider from './divider.json' +import Drawer from './drawer.json' +import Dropdown from './dropdown.json' +import DropdownButton from './dropdownButton.json' +import Empty from './empty.json' +import Flex from './flex.json' +import FloatButton from './floatButton.json' +import FloatButtonGroup from './floatButtonGroup.json' +import Form from './form.json' +import FormItem from './formItem.json' +import Image from './image.json' +import Input from './input.json' +import InputGroup from './inputGroup.json' +import InputNumber from './inputNumber.json' +import InputPassword from './inputPassword.json' +import InputSearch from './inputSearch.json' +import Layout from './layout.json' +import LayoutContent from './layoutContent.json' +import LayoutFooter from './layoutFooter.json' +import LayoutHeader from './layoutHeader.json' +import LayoutSider from './layoutSider.json' +import List from './list.json' +import ListItem from './listItem.json' +import ListItemMeta from './listItemMeta.json' +import Mentions from './mentions.json' +import Menu from './menu.json' +import Modal from './modal.json' +import PageHeader from './pageHeader.json' +import Pagination from './pagination.json' +import Popconfirm from './popconfirm.json' +import Popover from './popover.json' +import Progress from './progress.json' +import Qrcode from './qrcode.json' +import Radio from './radio.json' +import RadioButton from './radioButton.json' +import RadioGroup from './radioGroup.json' +import RangePicker from './rangePicker.json' +import Rate from './rate.json' +import Result from './result.json' +import Row from './row.json' +import Segmented from './segmented.json' +import Select from './select.json' +import SelectOption from './selectOption.json' +import SelectOptionGroup from './selectOptionGroup.json' +import Skeleton from './skeleton.json' +import Slider from './slider.json' +import Space from './space.json' +import SpaceCompact from './spaceCompact.json' +import Spin from './spin.json' +import Statistic from './statistic.json' +import StatisticCountdown from './statisticCountdown.json' +import Steps from './steps.json' +import Switch from './switch.json' +import TabPane from './tabPane.json' +import Table from './table.json' +import TableColumn from './tableColumn.json' +import Tabs from './tabs.json' +import Tag from './tag.json' +import Textarea from './textarea.json' +import TimePicker from './timePicker.json' +import Timeline from './timeline.json' +import TimelineItem from './timelineItem.json' +import Tooltip from './tooltip.json' +import Tour from './tour.json' +import Transfer from './transfer.json' +import Tree from './tree.json' +import TreeSelect from './treeSelect.json' +import Typography from './typography.json' +import TypographyLink from './typographyLink.json' +import TypographyParagraph from './typographyParagraph.json' +import TypographyText from './typographyText.json' +import TypographyTitle from './typographyTitle.json' +import Upload from './upload.json' +import Watermark from './watermark.json' + +export function getPropsMap() { + return [ + Affix, + Alert, + Anchor, + AutoComplete, + Avatar, + AvatarGroup, + BackTop, + Badge, + BadgeRibbon, + Breadcrumb, + BreadcrumbItem, + BreadcrumbSeparator, + Button, + Calendar, + Card, + CardMeta, + Carousel, + Cascader, + CheckableTag, + Checkbox, + CheckboxGroup, + Col, + Collapse, + CollapsePanel, + Comment, + ConfigProvider, + DatePicker, + Descriptions, + DescriptionsItem, + Divider, + Drawer, + Dropdown, + DropdownButton, + Empty, + Flex, + FloatButton, + FloatButtonGroup, + Form, + FormItem, + Image, + Input, + InputGroup, + InputNumber, + InputPassword, + InputSearch, + Layout, + LayoutContent, + LayoutFooter, + LayoutHeader, + LayoutSider, + List, + ListItem, + ListItemMeta, + Mentions, + Menu, + Modal, + PageHeader, + Pagination, + Popconfirm, + Popover, + Progress, + Qrcode, + Radio, + RadioButton, + RadioGroup, + RangePicker, + Rate, + Result, + Row, + Segmented, + Select, + SelectOption, + SelectOptionGroup, + Skeleton, + Slider, + Space, + SpaceCompact, + Spin, + Statistic, + StatisticCountdown, + Steps, + Switch, + TabPane, + Table, + TableColumn, + Tabs, + Tag, + Textarea, + TimePicker, + Timeline, + TimelineItem, + Tooltip, + Tour, + Transfer, + Tree, + TreeSelect, + Typography, + TypographyLink, + TypographyParagraph, + TypographyText, + TypographyTitle, + Upload, + Watermark, + ] +} + +export function getComponentMap() { + return [ + [Affix, Affix.name, ''], + [Alert, Alert.name, ''], + [Anchor, Anchor.name, ''], + [AutoComplete, AutoComplete.name, ''], + [Avatar, Avatar.name, ''], + [AvatarGroup, AvatarGroup.name, ''], + [BackTop, BackTop.name, ''], + [Badge, Badge.name, ''], + [BadgeRibbon, BadgeRibbon.name, ''], + [Breadcrumb, Breadcrumb.name, ''], + [BreadcrumbItem, BreadcrumbItem.name, ''], + [BreadcrumbSeparator, BreadcrumbSeparator.name, ''], + [Button, Button.name, ''], + [Calendar, Calendar.name, ''], + [Card, Card.name, ''], + [CardMeta, CardMeta.name, ''], + [Carousel, Carousel.name, ''], + [Cascader, Cascader.name, ''], + [CheckableTag, CheckableTag.name, ''], + [Checkbox, Checkbox.name, ''], + [CheckboxGroup, CheckboxGroup.name, ''], + [Col, Col.name, ''], + [Collapse, Collapse.name, ''], + [CollapsePanel, CollapsePanel.name, ''], + [Comment, Comment.name, ''], + [ConfigProvider, ConfigProvider.name, ''], + [DatePicker, DatePicker.name, ''], + [Descriptions, Descriptions.name, ''], + [DescriptionsItem, DescriptionsItem.name, ''], + [Divider, Divider.name, ''], + [Drawer, Drawer.name, ''], + [Dropdown, Dropdown.name, ''], + [DropdownButton, DropdownButton.name, ''], + [Empty, Empty.name, ''], + [Flex, Flex.name, ''], + [FloatButton, FloatButton.name, ''], + [FloatButtonGroup, FloatButtonGroup.name, ''], + [Form, Form.name, ''], + [FormItem, FormItem.name, ''], + [Image, Image.name, ''], + [Input, Input.name, ''], + [InputGroup, InputGroup.name, ''], + [InputNumber, InputNumber.name, ''], + [InputPassword, InputPassword.name, ''], + [InputSearch, InputSearch.name, ''], + [Layout, Layout.name, ''], + [LayoutContent, LayoutContent.name, ''], + [LayoutFooter, LayoutFooter.name, ''], + [LayoutHeader, LayoutHeader.name, ''], + [LayoutSider, LayoutSider.name, ''], + [List, List.name, ''], + [ListItem, ListItem.name, ''], + [ListItemMeta, ListItemMeta.name, ''], + [Mentions, Mentions.name, ''], + [Menu, Menu.name, ''], + [Modal, Modal.name, ''], + [PageHeader, PageHeader.name, ''], + [Pagination, Pagination.name, ''], + [Popconfirm, Popconfirm.name, ''], + [Popover, Popover.name, ''], + [Progress, Progress.name, ''], + [Qrcode, Qrcode.name, ''], + [Radio, Radio.name, ''], + [RadioButton, RadioButton.name, ''], + [RadioGroup, RadioGroup.name, ''], + [RangePicker, RangePicker.name, ''], + [Rate, Rate.name, ''], + [Result, Result.name, ''], + [Row, Row.name, ''], + [Segmented, Segmented.name, ''], + [Select, Select.name, ''], + [SelectOption, SelectOption.name, ''], + [SelectOptionGroup, SelectOptionGroup.name, ''], + [Skeleton, Skeleton.name, ''], + [Slider, Slider.name, ''], + [Space, Space.name, ''], + [SpaceCompact, SpaceCompact.name, ''], + [Spin, Spin.name, ''], + [Statistic, Statistic.name, ''], + [StatisticCountdown, StatisticCountdown.name, ''], + [Steps, Steps.name, ''], + [Switch, Switch.name, ''], + [TabPane, TabPane.name, ''], + [Table, Table.name, ''], + [TableColumn, TableColumn.name, ''], + [Tabs, Tabs.name, ''], + [Tag, Tag.name, ''], + [Textarea, Textarea.name, ''], + [TimePicker, TimePicker.name, ''], + [Timeline, Timeline.name, ''], + [TimelineItem, TimelineItem.name, ''], + [Tooltip, Tooltip.name, ''], + [Tour, Tour.name, ''], + [Transfer, Transfer.name, ''], + [Tree, Tree.name, ''], + [TreeSelect, TreeSelect.name, ''], + [Typography, Typography.name, ''], + [TypographyLink, TypographyLink.name, ''], + [TypographyParagraph, TypographyParagraph.name, ''], + [TypographyText, TypographyText.name, ''], + [TypographyTitle, TypographyTitle.name, ''], + [Upload, Upload.name, ''], + [Watermark, Watermark.name, ''], + ] +} diff --git a/src/ui/antd/antd4/index.ts b/src/ui/antd/antd4/index.ts index 25b47ebf..4d42531e 100644 --- a/src/ui/antd/antd4/index.ts +++ b/src/ui/antd/antd4/index.ts @@ -1,683 +1,17 @@ -import { getLocale } from '@vscode-use/utils' import { componentsReducer, propsReducer } from '../../utils' -import Affix from './affix.json' -import Divider from './divider.json' -import Row from './row.json' -import Col from './col.json' -import Layout from './layout.json' -import Sider from './sider.json' -import Space from './space.json' -import Button from './button.json' -import Icon from './icon.json' -import Text from './text.json' -import Title from './title.json' -import Paragraph from './paragraph.json' -import Anchor from './anchor.json' -import Breadcrumb from './breadcrumb.json' -import BreadcrumbItem from './breadcrumbItem.json' -import Dropdown from './dropdown.json' -import DropdownButton from './dropdownButton.json' -import Menu from './menu.json' -import Pagination from './pagination.json' -import Steps from './steps.json' -import AutoComplete from './autoComplete.json' -import Cascader from './cascader.json' -import Checkbox from './checkbox.json' -import CheckboxGroup from './checkboxGroup.json' -import ColorPicker from './colorPicker.json' -import DatePicker from './datePicker.json' -import RangePicker from './rangePicker.json' -import Form from './form.json' -import FormItem from './formItem.json' -import Input from './input.json' -import InputNumber from './inputNumber.json' -import InputPassword from './inputPassword.json' -import InputSearch from './inputSearch.json' -import InputTextArea from './InputTextArea.json' -import Mentions from './mentions.json' -import Radio from './radio.json' -import RadioGroup from './radioGroup.json' -import Rate from './rate.json' -import Select from './select.json' -import Slider from './slider.json' -import Switch from './switch.json' -import TimePicker from './timePicker.json' -import Transfer from './transfer.json' -import TreeSelect from './treeSelect.json' -import Upload from './upload.json' -import Avatar from './avatar.json' -import AvatarGroup from './avatarGroup.json' -import Badge from './badge.json' -import BadgeRibbon from './badegRibbon.json' -import Calendar from './calendar.json' -import Card from './card.json' -import CardGrid from './cardGrid.json' -import CardMeta from './cardMeta.json' -import Carousel from './carousel.json' -import Collapse from './collapse.json' -import CollapsePanel from './collapsePanel.json' -import Descriptions from './descriptions.json' -import DescriptionsItem from './descriptionsItem.json' -import Empty from './empty.json' -import Image from './image.json' -import ImagePreviewGroup from './imagePreviewGroup.json' -import List from './list.json' -import ListItemMeta from './listItemMeta.json' -import ListItem from './listItem.json' -import Popover from './popover.json' -import Segmented from './segmented.json' -import Statistic from './statistic.json' -import StatisticCountdown from './statisticCountdown.json' -import Table from './table.json' -import Tabs from './tabs.json' -import Tag from './tag.json' -import TagCheckableTag from './tagCheckableTag.json' -import Timeline from './timeline.json' -import Tooltip from './tooltip.json' -import Tree from './tree.json' -import Alert from './alert.json' -import Drawer from './drawer.json' -import Modal from './modal.json' -import Popconfirm from './popconfirm.json' -import Progress from './progress.json' -import Result from './result.json' -import Spin from './spin.json' -import QRCode from './qrCode.json' -import Tour from './tour.json' +import { getComponentMap, getPropsMap } from './mapping' export function antd4() { - const map: any = [ - Affix, - Divider, - Row, - Col, - Layout, - Sider, - Space, - Button, - Icon, - Text, - Title, - Paragraph, - Anchor, - Breadcrumb, - BreadcrumbItem, - Dropdown, - DropdownButton, - Menu, - Pagination, - Steps, - AutoComplete, - Cascader, - Checkbox, - CheckboxGroup, - ColorPicker, - DatePicker, - RangePicker, - Form, - FormItem, - Input, - InputNumber, - InputPassword, - InputSearch, - InputTextArea, - Mentions, - Radio, - RadioGroup, - Rate, - Select, - Slider, - Switch, - TimePicker, - Transfer, - TreeSelect, - Upload, - Avatar, - AvatarGroup, - Badge, - BadgeRibbon, - Calendar, - Card, - CardGrid, - CardMeta, - Carousel, - Collapse, - CollapsePanel, - Descriptions, - DescriptionsItem, - Empty, - Image, - ImagePreviewGroup, - List, - ListItem, - ListItemMeta, - Popover, - Segmented, - Statistic, - StatisticCountdown, - Table, - Tabs, - Tag, - TagCheckableTag, - Timeline, - Tooltip, - Tree, - Alert, - Drawer, - Modal, - Popconfirm, - Progress, - Result, - Spin, - ] - - return propsReducer('antd4', map, '') + return propsReducer({ + uiName: 'antd4', + map: getPropsMap(), + lib: 'antd', + }) } export function antd4Components() { - const isZh = getLocale().includes('zh') - - const map = isZh - ? [ - [Button, '按钮', ''], - ['Typography', '排版', ''], - [Title, '标题组件', ''], - [Paragraph, '排版', ''], - ['Link', '文本与超链接组件', ` - Ant Design (Link) -`], - [Divider, '分割线', ''], - [Row, '栅格', ''], - [Col, '栅格', ''], - [Layout, '布局容器,其下可嵌套 Header Sider Content Footer 或 Layout 本身,可以放在任何父容器中。'], - ['Content', '内容部分,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中'], - ['Header', '顶部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], - [Sider, '侧边栏,自带默认样式及基本功能,其下可嵌套任何元素,只能放在 Layout 中。'], - ['Footer', '底部布局,自带默认样式,其下可嵌套任何元素,只能放在 Layout 中。'], - [Space, '间距'], - [Anchor, '锚点'], - [Breadcrumb, '面包屑'], - [BreadcrumbItem, '面包屑子项'], - [Dropdown, '下拉菜单'], - [Menu, '导航菜单'], - [Pagination, '分页', ''], - [Steps, '步骤条', ``], - [AutoComplete, '自动完成', ` setOptions(getPanelValue(text))} - placeholder="input here" -/>`], - [Cascader, '级联选择', ''], - [Checkbox, '多选框', 'Checkbox'], - ['Checkbox.Group', '多选框组', ''], - [ColorPicker, '颜色选择器', ''], - [DatePicker, '日期选择框', ''], - ['DatePicker.RangePicker', '日期选择框'], - [Form, '表单', `
`], - ['Form.Item', '表单项', ` - -`], - [Input, '输入框', ''], - ['Input.Search', '输入框'], - ['Input.TextArea', '输入框'], - [InputNumber, '数字输入框', ''], - [Mentions, '提及', ''], - [Radio, '单选框', 'Radio'], - ['Radio.Button', '单选框按钮', 'Radio'], - ['Radio.Group', '单选框组', ` - A - B - C - D -`], - [Rate, '评分', ''], - [Select, '选择器', ` -`], - [Input, 'input box', ''], - ['Input.Search', 'input box'], - ['Input.TextArea', 'input box'], - [InputNumber, 'Number input box', ''], - [Mentions, 'mentions', ''], - [Radio, 'Radio button', 'Radio'], - ['Radio.Button', 'Radio button button', 'Radio'], - ['Radio.Group', 'Radio group', ` - A - B - C - D -`], - [Rate, 'Rating', ''], - [Select, 'selector', ` +`], + [Input, '输入框', ''], + ['Input.Search', '输入框'], + ['Input.TextArea', '输入框'], + [InputNumber, '数字输入框', ''], + [Mentions, '提及', ''], + [Radio, '单选框', 'Radio'], + ['Radio.Button', '单选框按钮', 'Radio'], + ['Radio.Group', '单选框组', ` + A + B + C + D +`], + [Rate, '评分', ''], + [Select, '选择器', ` +`], + [Input, 'input box', ''], + ['Input.Search', 'input box'], + ['Input.TextArea', 'input box'], + [InputNumber, 'Number input box', ''], + [Mentions, 'mentions', ''], + [Radio, 'Radio button', 'Radio'], + ['Radio.Button', 'Radio button button', 'Radio'], + ['Radio.Group', 'Radio group', ` + A + B + C + D +`], + [Rate, 'Rating', ''], + [Select, 'selector', ` -`], - [Input, '输入框', ''], - [InputSearch, '输入框'], - [InputTextArea, '输入框'], - [InputNumber, '数字输入框', ''], - [Mentions, '提及', ''], - [Radio, '单选框', 'Radio'], - ['Radio.Button', '单选框按钮', 'Radio'], - ['Radio.Group', '单选框组', ` - A - B - C - D -`], - [Rate, '评分', ''], - [Select, '选择器', ` -`], - [Input, 'input box', ''], - [InputSearch, 'input box'], - [InputTextArea, 'input box'], - [InputNumber, 'Number input box', ''], - [Mentions, 'mentions', ''], - [Radio, 'Radio button', 'Radio'], - [RadioButton, 'Radio button button', 'Radio'], - [RadioGroup, 'Radio group', ` - A - B - C - D -`], - [Rate, 'Rating', ''], - [Select, 'selector', ` +`], + [Input, '输入框', ''], + [InputSearch, '输入框'], + [InputTextArea, '输入框'], + [InputNumber, '数字输入框', ''], + [Mentions, '提及', ''], + [Radio, '单选框', 'Radio'], + ['Radio.Button', '单选框按钮', 'Radio'], + ['Radio.Group', '单选框组', ` + A + B + C + D +`], + [Rate, '评分', ''], + [Select, '选择器', ` +`], + [Input, 'input box', ''], + [InputSearch, 'input box'], + [InputTextArea, 'input box'], + [InputNumber, 'Number input box', ''], + [Mentions, 'mentions', ''], + [Radio, 'Radio button', 'Radio'], + [RadioButton, 'Radio button button', 'Radio'], + [RadioGroup, 'Radio group', ` + A + B + C + D +`], + [Rate, 'Rating', ''], + [Select, 'selector', `'], - [InputGroup, '输入框', ''], - [InputNumber, '数字输入框', ''], - [InputPassword, '密码输入框', ''], - [InputSearch, '搜索输入框', ''], - [InputTag, '标签输入框', ''], - [InputTextArea, '文本输入框', ''], - [Layout, '布局', ''], - [LayoutContent, '布局', ''], - [LayoutFooter, '布局', ''], - [LayoutHeader, '布局', ''], - [LayoutSider, '布局', ''], - [Link, '链接', ''], - [List, '列表', ''], - [ListItem, '列表', ''], - [ListItemMeta, '列表', ''], - [Mentions, '提及', ''], - [Menu, '菜单', ''], - [MenuItem, '菜单', ''], - [MenuItemGroup, '菜单', ''], - [MenuSubMenu, '菜单', ''], - [Modal, '对话框', ''], - [MonthPicker, '日期选择器', ''], - [PageHeader, '布局', ''], - [Pagination, '分页器', ''], - [Picker, '时间选择', ''], - [Popconfirm, '气泡确认框', ''], - [Popover, '气泡卡片', ''], - [Progress, '进度条', ''], - [QuarterPicker, '时间选择器', ''], - [Radio, '按钮', ''], - [RadioGroup, '按钮组', ''], - [RangePicker, '区域时间选择器', ''], - [Rate, '评分', ''], - [ResizeBox, '伸缩框', ''], - [ResizeBoxSplit, '伸缩框', ''], - [ResizeBoxSplitGroup, '伸缩框', ''], - [ResizeBoxSplitGroupCollapsedConfig, '伸缩框', ''], - [ResizeBoxSplitGroupPane, '伸缩框', ''], - [Result, '结果', ''], - [Row, '行', ''], - [Select, '选择', ''], - [SelectOption, '选择', ''], - [SelectOptionGroup, '选择', ''], - [Skeleton, '骨架屏', ''], - [Slider, '滑块', ''], - [Space, '间距', ''], - [Spin, '加载中', ''], - [Statistic, '数值显示', ''], - [StatisticCountdown, '数值显示', ''], - [Steps, '步骤', ''], - [StepsStep, '步骤', ''], - [Switch, '切换', ''], - [Table, '表格', '
'], - [Tabs, '标签页', ''], - [TabsTabPane, '标签页', ''], - [Tag, '标签', ''], - [TimePicker, '时间选择器', ''], - [TimePickerRangePicker, '时间选择器', ''], - [Timeline, '时间线', ''], - [TimelineItem, '时间线', ''], - [Tooltip, '文字气泡', ''], - [Transfer, '数据穿梭框', ''], - [TransferItem, '数据穿梭框', ''], - [Tree, '树', ''], - [TreeNode, '树', ''], - [TreeSelect, '树选择器', ''], - [Trigger, '触发器', ''], - [Typography, '排版', ''], - [TypographyParagraph, '排版', ''], - [TypographyText, '排版', ''], - [TypographyTitle, '排版', ''], - [Upload, '上传', ''], - [VerificationCode, '验证码输入', ''], - [WeekPicker, '日期选择器', ''], - [YearPicker, '日期选择器', ''], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: false, prefix: '', lib: '@arco-design/web-react', diff --git a/src/ui/arcoDesign/arcoDesign2/mapping.ts b/src/ui/arcoDesign/arcoDesign2/mapping.ts new file mode 100644 index 00000000..7d89d3e7 --- /dev/null +++ b/src/ui/arcoDesign/arcoDesign2/mapping.ts @@ -0,0 +1,361 @@ +import Affix from './Affix.json' +import Alert from './Alert.json' +import Anchor from './Anchor.json' +import AnchorLink from './AnchorLink.json' +import AutoComplete from './AutoComplete.json' +import Avatar from './Avatar.json' +import AvatarGroup from './AvatarGroup.json' +import BackTop from './BackTop.json' +import Badge from './Badge.json' +import Breadcrumb from './Breadcrumb.json' +import BreadcrumbItem from './BreadcrumbItem.json' +import Button from './Button.json' +import Calendar from './Calendar.json' +import Card from './Card.json' +import ColorPicker from './ColorPicker.json' +import CardGrid from './CardGrid.json' +import Carousel from './Carousel.json' +import Cascader from './Cascader.json' +import Checkbox from './Checkbox.json' +import CheckboxGroup from './CheckboxGroup.json' +import Col from './Col.json' +import Collapse from './Collapse.json' +import CollapseItem from './CollapseItem.json' +import Comment from './Comment.json' +import ConfigProvider from './ConfigProvider.json' +import DatePicker from './DatePicker.json' +import Descriptions from './Descriptions.json' +import Divider from './Divider.json' +import Drawer from './Drawer.json' +import Dropdown from './Dropdown.json' +import DropdownButton from './DropdownButton.json' +import Empty from './Empty.json' +import Form from './Form.json' +import FormItem from './FormItem.json' +import FormItemList from './FormItemList.json' +import FormProvider from './FormProvider.json' +import Grid from './Grid.json' +import GridItem from './GridItem.json' +import Image from './Image.json' +import ImagePreview from './ImagePreview.json' +import ImagePreviewGroup from './ImagePreviewGroup.json' +import Input from './Input.json' +import InputGroup from './InputGroup.json' +import InputNumber from './InputNumber.json' +import InputPassword from './InputPassword.json' +import InputSearch from './InputSearch.json' +import InputTag from './InputTag.json' +import InputTextArea from './InputTextArea.json' +import Layout from './Layout.json' +import LayoutContent from './LayoutContent.json' +import LayoutFooter from './LayoutFooter.json' +import LayoutHeader from './LayoutHeader.json' +import LayoutSider from './LayoutSider.json' +import Link from './Link.json' +import List from './List.json' +import ListItem from './ListItem.json' +import ListItemMeta from './ListItemMeta.json' +import Mentions from './Mentions.json' +import Menu from './Menu.json' +import MenuItem from './MenuItem.json' +import MenuItemGroup from './MenuItemGroup.json' +import MenuSubMenu from './MenuSubMenu.json' +import Modal from './Modal.json' +import MonthPicker from './MonthPicker.json' +import PageHeader from './PageHeader.json' +import Pagination from './Pagination.json' +import Picker from './Picker.json' +import Popconfirm from './Popconfirm.json' +import Popover from './Popover.json' +import Progress from './Progress.json' +import QuarterPicker from './QuarterPicker.json' +import Radio from './Radio.json' +import RadioGroup from './RadioGroup.json' +import RangePicker from './RangePicker.json' +import Rate from './Rate.json' +import ResizeBox from './ResizeBox.json' +import ResizeBoxSplit from './ResizeBoxSplit.json' +import ResizeBoxSplitGroup from './ResizeBoxSplitGroup.json' +import ResizeBoxSplitGroupCollapsedConfig from './ResizeBoxSplitGroupCollapsedConfig.json' +import ResizeBoxSplitGroupPane from './ResizeBoxSplitGroupPane.json' +import Result from './Result.json' +import Row from './Row.json' +import Select from './Select.json' +import SelectOption from './SelectOption.json' +import SelectOptionGroup from './SelectOptionGroup.json' +import Skeleton from './Skeleton.json' +import Slider from './Slider.json' +import Space from './Space.json' +import Spin from './Spin.json' +import Statistic from './Statistic.json' +import StatisticCountdown from './StatisticCountdown.json' +import Steps from './Steps.json' +import StepsStep from './StepsStep.json' +import Switch from './Switch.json' +import Table from './Table.json' +import Tabs from './Tabs.json' +import TabsTabPane from './TabsTabPane.json' +import Tag from './Tag.json' +import TimePicker from './TimePicker.json' +import TimePickerRangePicker from './TimePickerRangePicker.json' +import Timeline from './Timeline.json' +import TimelineItem from './TimelineItem.json' +import Tooltip from './Tooltip.json' +import Transfer from './Transfer.json' +import TransferItem from './TransferItem.json' +import Tree from './Tree.json' +import TreeNode from './TreeNode.json' +import TreeSelect from './TreeSelect.json' +import Trigger from './Trigger.json' +import Typography from './Typography.json' +import TypographyParagraph from './TypographyParagraph.json' +import TypographyText from './TypographyText.json' +import TypographyTitle from './TypographyTitle.json' +import Upload from './Upload.json' +import VerificationCode from './VerificationCode.json' +import WeekPicker from './WeekPicker.json' +import YearPicker from './YearPicker.json' + +export function getPropsMap() { + return [ + Affix, + Alert, + Anchor, + AnchorLink, + AutoComplete, + Avatar, + AvatarGroup, + BackTop, + Badge, + Breadcrumb, + BreadcrumbItem, + Button, + Calendar, + ColorPicker, + Card, + CardGrid, + Carousel, + Cascader, + Checkbox, + CheckboxGroup, + Col, + Collapse, + CollapseItem, + Comment, + ConfigProvider, + DatePicker, + Descriptions, + Divider, + Drawer, + Dropdown, + DropdownButton, + Empty, + Form, + FormItem, + FormItemList, + FormProvider, + Grid, + GridItem, + Image, + ImagePreview, + ImagePreviewGroup, + Input, + InputGroup, + InputNumber, + InputPassword, + InputSearch, + InputTag, + InputTextArea, + Layout, + LayoutContent, + LayoutFooter, + LayoutHeader, + LayoutSider, + Link, + List, + ListItem, + ListItemMeta, + Mentions, + Menu, + MenuItem, + MenuItemGroup, + MenuSubMenu, + Modal, + MonthPicker, + PageHeader, + Pagination, + Picker, + Popconfirm, + Popover, + Progress, + QuarterPicker, + Radio, + RadioGroup, + RangePicker, + Rate, + ResizeBox, + ResizeBoxSplit, + ResizeBoxSplitGroup, + ResizeBoxSplitGroupCollapsedConfig, + ResizeBoxSplitGroupPane, + Result, + Row, + Select, + SelectOption, + SelectOptionGroup, + Skeleton, + Slider, + Space, + Spin, + Statistic, + StatisticCountdown, + Steps, + StepsStep, + Switch, + Table, + Tabs, + TabsTabPane, + Tag, + TimePicker, + TimePickerRangePicker, + Timeline, + TimelineItem, + Tooltip, + Transfer, + TransferItem, + Tree, + TreeNode, + TreeSelect, + Trigger, + Typography, + TypographyParagraph, + TypographyText, + TypographyTitle, + Upload, + VerificationCode, + WeekPicker, + YearPicker, + ] +} + +export function getComponentMap() { + return [ + [Affix, '固钉', ''], + [Alert, '警告提示', ''], + [Anchor, '锚点', ''], + [AnchorLink, '锚点', ''], + [AutoComplete, '自动补全', ''], + [Avatar, '头像', ''], + [AvatarGroup, '头像', ''], + [BackTop, '返回顶部', ''], + [Badge, '徽标数', ''], + [Breadcrumb, '面包屑', ''], + [BreadcrumbItem, '面包屑', ''], + [Button, '按钮', ''], + [Calendar, '日历', ''], + [Card, '卡片', ''], + [ColorPicker, '颜色选择器', ''], + [CardGrid, '卡片', ''], + [Carousel, '图片轮播', ''], + [Cascader, '级联选择', ''], + [Checkbox, '复选框', ''], + [CheckboxGroup, '复选框', ''], + [Col, '列', ''], + [Collapse, '折叠面板', ''], + [CollapseItem, '折叠面板', ''], + [Comment, '评论', ''], + [ConfigProvider, '全局配置', ''], + [DatePicker, '日期选择器', ''], + [Descriptions, '描述列表', ''], + [Divider, '分割线', ''], + [Drawer, '抽屉', ''], + [Dropdown, '下拉选', ''], + [DropdownButton, '下拉按钮', ''], + [Empty, '空状态', ''], + [Form, '表单', '
'], + [FormItem, '表单', ''], + [FormItemList, '表单', ''], + [FormProvider, '表单', ''], + [Grid, '栅格', ''], + [GridItem, '栅格', ''], + [Image, '图片', ''], + [ImagePreview, '图片', ''], + [ImagePreviewGroup, '图片', ''], + [Input, '输入框', ''], + [InputGroup, '输入框', ''], + [InputNumber, '数字输入框', ''], + [InputPassword, '密码输入框', ''], + [InputSearch, '搜索输入框', ''], + [InputTag, '标签输入框', ''], + [InputTextArea, '文本输入框', ''], + [Layout, '布局', ''], + [LayoutContent, '布局', ''], + [LayoutFooter, '布局', ''], + [LayoutHeader, '布局', ''], + [LayoutSider, '布局', ''], + [Link, '链接', ''], + [List, '列表', ''], + [ListItem, '列表', ''], + [ListItemMeta, '列表', ''], + [Mentions, '提及', ''], + [Menu, '菜单', ''], + [MenuItem, '菜单', ''], + [MenuItemGroup, '菜单', ''], + [MenuSubMenu, '菜单', ''], + [Modal, '对话框', ''], + [MonthPicker, '日期选择器', ''], + [PageHeader, '布局', ''], + [Pagination, '分页器', ''], + [Picker, '时间选择', ''], + [Popconfirm, '气泡确认框', ''], + [Popover, '气泡卡片', ''], + [Progress, '进度条', ''], + [QuarterPicker, '时间选择器', ''], + [Radio, '按钮', ''], + [RadioGroup, '按钮组', ''], + [RangePicker, '区域时间选择器', ''], + [Rate, '评分', ''], + [ResizeBox, '伸缩框', ''], + [ResizeBoxSplit, '伸缩框', ''], + [ResizeBoxSplitGroup, '伸缩框', ''], + [ResizeBoxSplitGroupCollapsedConfig, '伸缩框', ''], + [ResizeBoxSplitGroupPane, '伸缩框', ''], + [Result, '结果', ''], + [Row, '行', ''], + [Select, '选择', ''], + [SelectOption, '选择', ''], + [SelectOptionGroup, '选择', ''], + [Skeleton, '骨架屏', ''], + [Slider, '滑块', ''], + [Space, '间距', ''], + [Spin, '加载中', ''], + [Statistic, '数值显示', ''], + [StatisticCountdown, '数值显示', ''], + [Steps, '步骤', ''], + [StepsStep, '步骤', ''], + [Switch, '切换', ''], + [Table, '表格', '
'], + [Tabs, '标签页', ''], + [TabsTabPane, '标签页', ''], + [Tag, '标签', ''], + [TimePicker, '时间选择器', ''], + [TimePickerRangePicker, '时间选择器', ''], + [Timeline, '时间线', ''], + [TimelineItem, '时间线', ''], + [Tooltip, '文字气泡', ''], + [Transfer, '数据穿梭框', ''], + [TransferItem, '数据穿梭框', ''], + [Tree, '树', ''], + [TreeNode, '树', ''], + [TreeSelect, '树选择器', ''], + [Trigger, '触发器', ''], + [Typography, '排版', ''], + [TypographyParagraph, '排版', ''], + [TypographyText, '排版', ''], + [TypographyTitle, '排版', ''], + [Upload, '上传', ''], + [VerificationCode, '验证码输入', ''], + [WeekPicker, '日期选择器', ''], + [YearPicker, '日期选择器', ''], + ] +} diff --git a/src/ui/arcoDesignVue/arcoDesignVue2/index.ts b/src/ui/arcoDesignVue/arcoDesignVue2/index.ts index 030599a0..36071e9d 100644 --- a/src/ui/arcoDesignVue/arcoDesignVue2/index.ts +++ b/src/ui/arcoDesignVue/arcoDesignVue2/index.ts @@ -1,371 +1,17 @@ import { componentsReducer, propsReducer } from '../../utils' -import Affix from './Affix.json' -import Alert from './Alert.json' -import Anchor from './Anchor.json' -import AnchorLink from './AnchorLink.json' -import AutoComplete from './AutoComplete.json' -import Avatar from './Avatar.json' -import AvatarGroup from './AvatarGroup.json' -import BackTop from './BackTop.json' -import Badge from './Badge.json' -import Breadcrumb from './Breadcrumb.json' -import BreadcrumbItem from './BreadcrumbItem.json' -import Button from './Button.json' -import ButtonGroup from './ButtonGroup.json' -import Calendar from './Calendar.json' -import Card from './Card.json' -import CardGrid from './CardGrid.json' -import CardMeta from './CardMeta.json' -import Carousel from './Carousel.json' -import Cascader from './Cascader.json' -import CascaderPanel from './CascaderPanel.json' -import Checkbox from './Checkbox.json' -import CheckboxGroup from './CheckboxGroup.json' -import Col from './Col.json' -import Collapse from './Collapse.json' -import CollapseItem from './CollapseItem.json' -import Comment from './Comment.json' -import ConfigProvider from './ConfigProvider.json' -import Countdown from './Countdown.json' -import DatePicker from './DatePicker.json' -import Descriptions from './Descriptions.json' -import DescriptionsItem from './DescriptionsItem.json' -import Dgroup from './Dgroup.json' -import Divider from './Divider.json' -import Doption from './Doption.json' -import Drawer from './Drawer.json' -import Dropdown from './Dropdown.json' -import DropdownButton from './DropdownButton.json' -import Dsubmenu from './Dsubmenu.json' -import Empty from './Empty.json' -import Form from './Form.json' -import FormItem from './FormItem.json' -import Grid from './Grid.json' -import GridItem from './GridItem.json' -import Image from './Image.json' -import ImagePreview from './ImagePreview.json' -import ImagePreviewAction from './ImagePreviewAction.json' -import ImagePreviewGroup from './ImagePreviewGroup.json' -import Input from './Input.json' -import InputNumber from './InputNumber.json' -import InputPassword from './InputPassword.json' -import InputSearch from './InputSearch.json' -import InputTag from './InputTag.json' -import Layout from './Layout.json' -import LayoutContent from './LayoutContent.json' -import LayoutFooter from './LayoutFooter.json' -import LayoutHeader from './LayoutHeader.json' -import LayoutSider from './LayoutSider.json' -import Link from './Link.json' -import List from './List.json' -import ListItem from './ListItem.json' -import ListItemMeta from './ListItemMeta.json' -import Mention from './Mention.json' -import Menu from './Menu.json' -import MenuItem from './MenuItem.json' -import MenuItemGroup from './MenuItemGroup.json' -import Modal from './Modal.json' -import MonthPicker from './MonthPicker.json' -import OverflowList from './OverflowList.json' -import PageHeader from './PageHeader.json' -import Pagination from './Pagination.json' -import Popconfirm from './Popconfirm.json' -import Popover from './Popover.json' -import Progress from './Progress.json' -import QuarterPicker from './QuarterPicker.json' -import Radio from './Radio.json' -import RadioGroup from './RadioGroup.json' -import RangePicker from './RangePicker.json' -import Rate from './Rate.json' -import ResizeBox from './ResizeBox.json' -import Result from './Result.json' -import Row from './Row.json' -import Scrollbar from './Scrollbar.json' -import Select from './Select.json' -import SelectOptgroup from './SelectOptgroup.json' -import SelectOption from './SelectOption.json' -import Skeleton from './Skeleton.json' -import SkeletonLine from './SkeletonLine.json' -import SkeletonShape from './SkeletonShape.json' -import Slider from './Slider.json' -import Space from './Space.json' -import Spin from './Spin.json' -import Split from './Split.json' -import Statistic from './Statistic.json' -import Step from './Step.json' -import Steps from './Steps.json' -import SubMenu from './SubMenu.json' -import Switch from './Switch.json' -import TabPane from './TabPane.json' -import Table from './Table.json' -import TableColumn from './TableColumn.json' -import Tabs from './Tabs.json' -import Tag from './Tag.json' -import Textarea from './Textarea.json' -import TimePicker from './TimePicker.json' -import Timeline from './Timeline.json' -import TimelineItem from './TimelineItem.json' -import Tooltip from './Tooltip.json' -import Transfer from './Transfer.json' -import Tree from './Tree.json' -import TreeSelect from './TreeSelect.json' -import Trigger from './Trigger.json' -import Typography from './Typography.json' -import TypographyParagraph from './TypographyParagraph.json' -import TypographyTitle from './TypographyTitle.json' -import Upload from './Upload.json' -import Watermark from './Watermark.json' -import WeekPicker from './WeekPicker.json' -import YearPicker from './YearPicker.json' +import { getComponentMap, getPropsMap } from './mapping' export function arcoDesignVue2() { - const map: any = [ - Affix, - Alert, - Anchor, - AnchorLink, - AutoComplete, - Avatar, - AvatarGroup, - BackTop, - Badge, - Breadcrumb, - BreadcrumbItem, - Button, - ButtonGroup, - Calendar, - Card, - CardGrid, - CardMeta, - Carousel, - Cascader, - CascaderPanel, - Checkbox, - CheckboxGroup, - Col, - Collapse, - CollapseItem, - Comment, - ConfigProvider, - Countdown, - DatePicker, - Descriptions, - DescriptionsItem, - Dgroup, - Divider, - Doption, - Drawer, - Dropdown, - DropdownButton, - Dsubmenu, - Empty, - Form, - FormItem, - Grid, - GridItem, - Image, - ImagePreview, - ImagePreviewAction, - ImagePreviewGroup, - Input, - InputNumber, - InputPassword, - InputSearch, - InputTag, - Layout, - LayoutContent, - LayoutFooter, - LayoutHeader, - LayoutSider, - Link, - List, - ListItem, - ListItemMeta, - Mention, - Menu, - MenuItem, - MenuItemGroup, - Modal, - MonthPicker, - OverflowList, - PageHeader, - Pagination, - Popconfirm, - Popover, - Progress, - QuarterPicker, - Radio, - RadioGroup, - RangePicker, - Rate, - ResizeBox, - Result, - Row, - Scrollbar, - Select, - SelectOptgroup, - SelectOption, - Skeleton, - SkeletonLine, - SkeletonShape, - Slider, - Space, - Spin, - Split, - Statistic, - Step, - Steps, - SubMenu, - Switch, - TabPane, - Table, - TableColumn, - Tabs, - Tag, - Textarea, - TimePicker, - Timeline, - TimelineItem, - Tooltip, - Transfer, - Tree, - TreeSelect, - Trigger, - Typography, - TypographyParagraph, - TypographyTitle, - Upload, - Watermark, - WeekPicker, - YearPicker, - ] - - return propsReducer('@arco-design/web-vue2', map, 'a') + return propsReducer({ + uiName: '@arco-design/web-vue2', + map: getPropsMap(), + lib: '@arco-design/web-vue', + }) } export function arcoDesignVue2Components() { - const map = [ - [Affix, Affix.name, ''], - [Alert, Alert.name, ''], - [Anchor, Anchor.name, ''], - [AnchorLink, AnchorLink.name, ''], - [AutoComplete, AutoComplete.name, ''], - [Avatar, Avatar.name, ''], - [AvatarGroup, AvatarGroup.name, ''], - [BackTop, BackTop.name, ''], - [Badge, Badge.name, ''], - [Breadcrumb, Breadcrumb.name, ''], - [BreadcrumbItem, BreadcrumbItem.name, ''], - [Button, Button.name, ''], - [ButtonGroup, ButtonGroup.name, ''], - [Calendar, Calendar.name, ''], - [Card, Card.name, ''], - [CardGrid, CardGrid.name, ''], - [CardMeta, CardMeta.name, ''], - [Carousel, Carousel.name, ''], - [Cascader, Cascader.name, ''], - [CascaderPanel, CascaderPanel.name, ''], - [Checkbox, Checkbox.name, ''], - [CheckboxGroup, CheckboxGroup.name, ''], - [Col, Col.name, ''], - [Collapse, Collapse.name, ''], - [CollapseItem, CollapseItem.name, ''], - [Comment, Comment.name, ''], - [ConfigProvider, ConfigProvider.name, ''], - [Countdown, Countdown.name, ''], - [DatePicker, DatePicker.name, ''], - [Descriptions, Descriptions.name, ''], - [DescriptionsItem, DescriptionsItem.name, ''], - [Dgroup, Dgroup.name, ''], - [Divider, Divider.name, ''], - [Doption, Doption.name, ''], - [Drawer, Drawer.name, ''], - [Dropdown, Dropdown.name, ''], - [DropdownButton, DropdownButton.name, ''], - [Dsubmenu, Dsubmenu.name, ''], - [Empty, Empty.name, ''], - [Form, Form.name, ''], - [FormItem, FormItem.name, ''], - [Grid, Grid.name, ''], - [GridItem, GridItem.name, ''], - [Image, Image.name, ''], - [ImagePreview, ImagePreview.name, ''], - [ImagePreviewAction, ImagePreviewAction.name, ''], - [ImagePreviewGroup, ImagePreviewGroup.name, ''], - [Input, Input.name, ''], - [InputNumber, InputNumber.name, ''], - [InputPassword, InputPassword.name, ''], - [InputSearch, InputSearch.name, ''], - [InputTag, InputTag.name, ''], - [Layout, Layout.name, ''], - [LayoutContent, LayoutContent.name, ''], - [LayoutFooter, LayoutFooter.name, ''], - [LayoutHeader, LayoutHeader.name, ''], - [LayoutSider, LayoutSider.name, ''], - [Link, Link.name, ''], - [List, List.name, ''], - [ListItem, ListItem.name, ''], - [ListItemMeta, ListItemMeta.name, ''], - [Mention, Mention.name, ''], - [Menu, Menu.name, ''], - [MenuItem, MenuItem.name, ''], - [MenuItemGroup, MenuItemGroup.name, ''], - [Modal, Modal.name, ''], - [MonthPicker, MonthPicker.name, ''], - [OverflowList, OverflowList.name, ''], - [PageHeader, PageHeader.name, ''], - [Pagination, Pagination.name, ''], - [Popconfirm, Popconfirm.name, ''], - [Popover, Popover.name, ''], - [Progress, Progress.name, ''], - [QuarterPicker, QuarterPicker.name, ''], - [Radio, Radio.name, ''], - [RadioGroup, RadioGroup.name, ''], - [RangePicker, RangePicker.name, ''], - [Rate, Rate.name, ''], - [ResizeBox, ResizeBox.name, ''], - [Result, Result.name, ''], - [Row, Row.name, ''], - [Scrollbar, Scrollbar.name, ''], - [Select, Select.name, ''], - [SelectOptgroup, SelectOptgroup.name, ''], - [SelectOption, SelectOption.name, ''], - [Skeleton, Skeleton.name, ''], - [SkeletonLine, SkeletonLine.name, ''], - [SkeletonShape, SkeletonShape.name, ''], - [Slider, Slider.name, ''], - [Space, Space.name, ''], - [Spin, Spin.name, ''], - [Split, Split.name, ''], - [Statistic, Statistic.name, ''], - [Step, Step.name, ''], - [Steps, Steps.name, ''], - [SubMenu, SubMenu.name, ''], - [Switch, Switch.name, ''], - [TabPane, TabPane.name, ''], - [Table, Table.name, ''], - [TableColumn, TableColumn.name, ''], - [Tabs, Tabs.name, ''], - [Tag, Tag.name, ''], - [Textarea, Textarea.name, ''], - [TimePicker, TimePicker.name, ''], - [Timeline, Timeline.name, ''], - [TimelineItem, TimelineItem.name, ''], - [Tooltip, Tooltip.name, ''], - [Transfer, Transfer.name, ''], - [Tree, Tree.name, ''], - [TreeSelect, TreeSelect.name, ''], - [Trigger, Trigger.name, ''], - [Typography, Typography.name, ''], - [TypographyParagraph, TypographyParagraph.name, ''], - [TypographyTitle, TypographyTitle.name, ''], - [Upload, Upload.name, ''], - [Watermark, Watermark.name, ''], - [WeekPicker, WeekPicker.name, ''], - [YearPicker, YearPicker.name, ''], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'a', lib: '@arco-design/web-vue', diff --git a/src/ui/arcoDesignVue/arcoDesignVue2/mapping.ts b/src/ui/arcoDesignVue/arcoDesignVue2/mapping.ts new file mode 100644 index 00000000..dddc987e --- /dev/null +++ b/src/ui/arcoDesignVue/arcoDesignVue2/mapping.ts @@ -0,0 +1,364 @@ +import Affix from './Affix.json' +import Alert from './Alert.json' +import Anchor from './Anchor.json' +import AnchorLink from './AnchorLink.json' +import AutoComplete from './AutoComplete.json' +import Avatar from './Avatar.json' +import AvatarGroup from './AvatarGroup.json' +import BackTop from './BackTop.json' +import Badge from './Badge.json' +import Breadcrumb from './Breadcrumb.json' +import BreadcrumbItem from './BreadcrumbItem.json' +import Button from './Button.json' +import ButtonGroup from './ButtonGroup.json' +import Calendar from './Calendar.json' +import Card from './Card.json' +import CardGrid from './CardGrid.json' +import CardMeta from './CardMeta.json' +import Carousel from './Carousel.json' +import Cascader from './Cascader.json' +import CascaderPanel from './CascaderPanel.json' +import Checkbox from './Checkbox.json' +import CheckboxGroup from './CheckboxGroup.json' +import Col from './Col.json' +import Collapse from './Collapse.json' +import CollapseItem from './CollapseItem.json' +import Comment from './Comment.json' +import ConfigProvider from './ConfigProvider.json' +import Countdown from './Countdown.json' +import DatePicker from './DatePicker.json' +import Descriptions from './Descriptions.json' +import DescriptionsItem from './DescriptionsItem.json' +import Dgroup from './Dgroup.json' +import Divider from './Divider.json' +import Doption from './Doption.json' +import Drawer from './Drawer.json' +import Dropdown from './Dropdown.json' +import DropdownButton from './DropdownButton.json' +import Dsubmenu from './Dsubmenu.json' +import Empty from './Empty.json' +import Form from './Form.json' +import FormItem from './FormItem.json' +import Grid from './Grid.json' +import GridItem from './GridItem.json' +import Image from './Image.json' +import ImagePreview from './ImagePreview.json' +import ImagePreviewAction from './ImagePreviewAction.json' +import ImagePreviewGroup from './ImagePreviewGroup.json' +import Input from './Input.json' +import InputNumber from './InputNumber.json' +import InputPassword from './InputPassword.json' +import InputSearch from './InputSearch.json' +import InputTag from './InputTag.json' +import Layout from './Layout.json' +import LayoutContent from './LayoutContent.json' +import LayoutFooter from './LayoutFooter.json' +import LayoutHeader from './LayoutHeader.json' +import LayoutSider from './LayoutSider.json' +import Link from './Link.json' +import List from './List.json' +import ListItem from './ListItem.json' +import ListItemMeta from './ListItemMeta.json' +import Mention from './Mention.json' +import Menu from './Menu.json' +import MenuItem from './MenuItem.json' +import MenuItemGroup from './MenuItemGroup.json' +import Modal from './Modal.json' +import MonthPicker from './MonthPicker.json' +import OverflowList from './OverflowList.json' +import PageHeader from './PageHeader.json' +import Pagination from './Pagination.json' +import Popconfirm from './Popconfirm.json' +import Popover from './Popover.json' +import Progress from './Progress.json' +import QuarterPicker from './QuarterPicker.json' +import Radio from './Radio.json' +import RadioGroup from './RadioGroup.json' +import RangePicker from './RangePicker.json' +import Rate from './Rate.json' +import ResizeBox from './ResizeBox.json' +import Result from './Result.json' +import Row from './Row.json' +import Scrollbar from './Scrollbar.json' +import Select from './Select.json' +import SelectOptgroup from './SelectOptgroup.json' +import SelectOption from './SelectOption.json' +import Skeleton from './Skeleton.json' +import SkeletonLine from './SkeletonLine.json' +import SkeletonShape from './SkeletonShape.json' +import Slider from './Slider.json' +import Space from './Space.json' +import Spin from './Spin.json' +import Split from './Split.json' +import Statistic from './Statistic.json' +import Step from './Step.json' +import Steps from './Steps.json' +import SubMenu from './SubMenu.json' +import Switch from './Switch.json' +import TabPane from './TabPane.json' +import Table from './Table.json' +import TableColumn from './TableColumn.json' +import Tabs from './Tabs.json' +import Tag from './Tag.json' +import Textarea from './Textarea.json' +import TimePicker from './TimePicker.json' +import Timeline from './Timeline.json' +import TimelineItem from './TimelineItem.json' +import Tooltip from './Tooltip.json' +import Transfer from './Transfer.json' +import Tree from './Tree.json' +import TreeSelect from './TreeSelect.json' +import Trigger from './Trigger.json' +import Typography from './Typography.json' +import TypographyParagraph from './TypographyParagraph.json' +import TypographyTitle from './TypographyTitle.json' +import Upload from './Upload.json' +import Watermark from './Watermark.json' +import WeekPicker from './WeekPicker.json' +import YearPicker from './YearPicker.json' + +export function getPropsMap() { + return [ + Affix, + Alert, + Anchor, + AnchorLink, + AutoComplete, + Avatar, + AvatarGroup, + BackTop, + Badge, + Breadcrumb, + BreadcrumbItem, + Button, + ButtonGroup, + Calendar, + Card, + CardGrid, + CardMeta, + Carousel, + Cascader, + CascaderPanel, + Checkbox, + CheckboxGroup, + Col, + Collapse, + CollapseItem, + Comment, + ConfigProvider, + Countdown, + DatePicker, + Descriptions, + DescriptionsItem, + Dgroup, + Divider, + Doption, + Drawer, + Dropdown, + DropdownButton, + Dsubmenu, + Empty, + Form, + FormItem, + Grid, + GridItem, + Image, + ImagePreview, + ImagePreviewAction, + ImagePreviewGroup, + Input, + InputNumber, + InputPassword, + InputSearch, + InputTag, + Layout, + LayoutContent, + LayoutFooter, + LayoutHeader, + LayoutSider, + Link, + List, + ListItem, + ListItemMeta, + Mention, + Menu, + MenuItem, + MenuItemGroup, + Modal, + MonthPicker, + OverflowList, + PageHeader, + Pagination, + Popconfirm, + Popover, + Progress, + QuarterPicker, + Radio, + RadioGroup, + RangePicker, + Rate, + ResizeBox, + Result, + Row, + Scrollbar, + Select, + SelectOptgroup, + SelectOption, + Skeleton, + SkeletonLine, + SkeletonShape, + Slider, + Space, + Spin, + Split, + Statistic, + Step, + Steps, + SubMenu, + Switch, + TabPane, + Table, + TableColumn, + Tabs, + Tag, + Textarea, + TimePicker, + Timeline, + TimelineItem, + Tooltip, + Transfer, + Tree, + TreeSelect, + Trigger, + Typography, + TypographyParagraph, + TypographyTitle, + Upload, + Watermark, + WeekPicker, + YearPicker, + ] +} + +export function getComponentMap() { + return [ + [Affix, Affix.name, ''], + [Alert, Alert.name, ''], + [Anchor, Anchor.name, ''], + [AnchorLink, AnchorLink.name, ''], + [AutoComplete, AutoComplete.name, ''], + [Avatar, Avatar.name, ''], + [AvatarGroup, AvatarGroup.name, ''], + [BackTop, BackTop.name, ''], + [Badge, Badge.name, ''], + [Breadcrumb, Breadcrumb.name, ''], + [BreadcrumbItem, BreadcrumbItem.name, ''], + [Button, Button.name, ''], + [ButtonGroup, ButtonGroup.name, ''], + [Calendar, Calendar.name, ''], + [Card, Card.name, ''], + [CardGrid, CardGrid.name, ''], + [CardMeta, CardMeta.name, ''], + [Carousel, Carousel.name, ''], + [Cascader, Cascader.name, ''], + [CascaderPanel, CascaderPanel.name, ''], + [Checkbox, Checkbox.name, ''], + [CheckboxGroup, CheckboxGroup.name, ''], + [Col, Col.name, ''], + [Collapse, Collapse.name, ''], + [CollapseItem, CollapseItem.name, ''], + [Comment, Comment.name, ''], + [ConfigProvider, ConfigProvider.name, ''], + [Countdown, Countdown.name, ''], + [DatePicker, DatePicker.name, ''], + [Descriptions, Descriptions.name, ''], + [DescriptionsItem, DescriptionsItem.name, ''], + [Dgroup, Dgroup.name, ''], + [Divider, Divider.name, ''], + [Doption, Doption.name, ''], + [Drawer, Drawer.name, ''], + [Dropdown, Dropdown.name, ''], + [DropdownButton, DropdownButton.name, ''], + [Dsubmenu, Dsubmenu.name, ''], + [Empty, Empty.name, ''], + [Form, Form.name, ''], + [FormItem, FormItem.name, ''], + [Grid, Grid.name, ''], + [GridItem, GridItem.name, ''], + [Image, Image.name, ''], + [ImagePreview, ImagePreview.name, ''], + [ImagePreviewAction, ImagePreviewAction.name, ''], + [ImagePreviewGroup, ImagePreviewGroup.name, ''], + [Input, Input.name, ''], + [InputNumber, InputNumber.name, ''], + [InputPassword, InputPassword.name, ''], + [InputSearch, InputSearch.name, ''], + [InputTag, InputTag.name, ''], + [Layout, Layout.name, ''], + [LayoutContent, LayoutContent.name, ''], + [LayoutFooter, LayoutFooter.name, ''], + [LayoutHeader, LayoutHeader.name, ''], + [LayoutSider, LayoutSider.name, ''], + [Link, Link.name, ''], + [List, List.name, ''], + [ListItem, ListItem.name, ''], + [ListItemMeta, ListItemMeta.name, ''], + [Mention, Mention.name, ''], + [Menu, Menu.name, ''], + [MenuItem, MenuItem.name, ''], + [MenuItemGroup, MenuItemGroup.name, ''], + [Modal, Modal.name, ''], + [MonthPicker, MonthPicker.name, ''], + [OverflowList, OverflowList.name, ''], + [PageHeader, PageHeader.name, ''], + [Pagination, Pagination.name, ''], + [Popconfirm, Popconfirm.name, ''], + [Popover, Popover.name, ''], + [Progress, Progress.name, ''], + [QuarterPicker, QuarterPicker.name, ''], + [Radio, Radio.name, ''], + [RadioGroup, RadioGroup.name, ''], + [RangePicker, RangePicker.name, ''], + [Rate, Rate.name, ''], + [ResizeBox, ResizeBox.name, ''], + [Result, Result.name, ''], + [Row, Row.name, ''], + [Scrollbar, Scrollbar.name, ''], + [Select, Select.name, ''], + [SelectOptgroup, SelectOptgroup.name, ''], + [SelectOption, SelectOption.name, ''], + [Skeleton, Skeleton.name, ''], + [SkeletonLine, SkeletonLine.name, ''], + [SkeletonShape, SkeletonShape.name, ''], + [Slider, Slider.name, ''], + [Space, Space.name, ''], + [Spin, Spin.name, ''], + [Split, Split.name, ''], + [Statistic, Statistic.name, ''], + [Step, Step.name, ''], + [Steps, Steps.name, ''], + [SubMenu, SubMenu.name, ''], + [Switch, Switch.name, ''], + [TabPane, TabPane.name, ''], + [Table, Table.name, ''], + [TableColumn, TableColumn.name, ''], + [Tabs, Tabs.name, ''], + [Tag, Tag.name, ''], + [Textarea, Textarea.name, ''], + [TimePicker, TimePicker.name, ''], + [Timeline, Timeline.name, ''], + [TimelineItem, TimelineItem.name, ''], + [Tooltip, Tooltip.name, ''], + [Transfer, Transfer.name, ''], + [Tree, Tree.name, ''], + [TreeSelect, TreeSelect.name, ''], + [Trigger, Trigger.name, ''], + [Typography, Typography.name, ''], + [TypographyParagraph, TypographyParagraph.name, ''], + [TypographyTitle, TypographyTitle.name, ''], + [Upload, Upload.name, ''], + [Watermark, Watermark.name, ''], + [WeekPicker, WeekPicker.name, ''], + [YearPicker, YearPicker.name, ''], + ] +} diff --git a/src/ui/bitsUi/bitsUi0/index.ts b/src/ui/bitsUi/bitsUi0/index.ts index 3edeec3d..82b5a6f9 100644 --- a/src/ui/bitsUi/bitsUi0/index.ts +++ b/src/ui/bitsUi/bitsUi0/index.ts @@ -573,7 +573,11 @@ const map: any = [ TooltipTrigger, ] export function bitsUi0() { - return propsReducer('bitsUi0', map, '') + return propsReducer({ + uiName: 'bitsUi0', + map, + lib: 'bits-ui', + }) } const componentsMap = [ @@ -875,7 +879,11 @@ export function bitsUi0Components() { } export function shadcnSvelte0() { - return propsReducer('shadcnSvelte0', map, '') + return propsReducer({ + uiName: 'shadcnSvelte0', + map, + lib: 'shadcn-svelte', + }) } export function shadcnSvelte0Components() { diff --git a/src/ui/chakraUi/chakra-ui-react2/index.ts b/src/ui/chakraUi/chakra-ui-react2/index.ts index 0286c4bd..3f900b0b 100644 --- a/src/ui/chakraUi/chakra-ui-react2/index.ts +++ b/src/ui/chakraUi/chakra-ui-react2/index.ts @@ -28,7 +28,11 @@ export function chakraUiReact2() { IconButton, ] - return propsReducer('@chakra-ui/react2', map, '') + return propsReducer({ + uiName: '@chakra-ui/react2', + map, + lib: '@chakra-ui/react', + }) } export function chakraUiReact2Components() { diff --git a/src/ui/chakraUi/chakra-ui-vue0/index.ts b/src/ui/chakraUi/chakra-ui-vue0/index.ts index 060db2a5..f0bcee52 100644 --- a/src/ui/chakraUi/chakra-ui-vue0/index.ts +++ b/src/ui/chakraUi/chakra-ui-vue0/index.ts @@ -6,7 +6,11 @@ export function chakraUiVue0() { Accordion, ] - return propsReducer('@chakra-ui/vue', map, '') + return propsReducer({ + uiName: '@chakra-ui/vue', + map, + lib: '@chakra-ui/vue', + }) } export function chakraUiVue0Components() { diff --git a/src/ui/elementPlus/elementPlus2/index.ts b/src/ui/elementPlus/elementPlus2/index.ts index 9d859ab0..9513cc59 100644 --- a/src/ui/elementPlus/elementPlus2/index.ts +++ b/src/ui/elementPlus/elementPlus2/index.ts @@ -1,1002 +1,18 @@ -import { getLocale } from '@vscode-use/utils' import { componentsReducer, propsReducer } from '../../utils' -import ElRow from './row.json' -import ElCalendar from './calendar.json' -import ElCol from './col.json' -import ElAlert from './alert.json' -import ElButton from './button.json' -import ElButtonGroup from './buttonGroup.json' -import ElContainer from './container.json' -import ElHeader from './header.json' -import ElAside from './aside.json' -import ElFooter from './footer.json' -import ElLink from './link.json' -import ElSpace from './space.json' -import ElText from './text.json' -import ElRadio from './radio.json' -import ElRadioGroup from './radioGroup.json' -import ElRadioButton from './radioButton.json' -import ElForm from './form.json' -import ElFormItem from './formItem.json' -import ElTable from './table.json' -import ElTableColumn from './tableColumn.json' -import ElCard from './card.json' -import ElInput from './input.json' -import ElInputNumber from './inputNumber.json' -import ElAutocomplete from './autocomplete.json' -import ElSelect from './select.json' -import ElCascader from './cascader.json' -import ElCascaderPanel from './cascaderPanel.json' -import ElCheckbox from './checkbox.json' -import ElCheckboxGroup from './checkboxGroup.json' -import ElCheckboxButton from './checkboxButton.json' -import ElBadge from './badge.json' -import ElBreadcrumb from './breadcrumb.json' -import ElCarousel from './carousel.json' -import ElCarouselItem from './carouselItem.json' -import ElCollapse from './collapse.json' -import ElCollapseItem from './collapseItem.json' -import ElColorPicker from './colorPicker.json' -import ElImage from './image.json' -import ElEmpty from './empty.json' -import ElDropdown from './dropdown.json' -import ElDropdownMenu from './dropdownMenu.json' -import ElDropdownItem from './dropdownItem.json' -import ElDrawer from './drawer.json' -import ElDivider from './divider.json' -import ElDialog from './dialog.json' -import ElDescriptions from './descriptions.json' -import ElDescriptionItem from './descriptionItem.json' -import ElDatePicker from './datePicker.json' -import ElDatetimePicker from './datetimePicker.json' -import ElMain from './main.json' -import ElMenu from './menu.json' -import ElMenuItem from './menuItem.json' -import ElPageHeader from './pageHeader.json' -import ElPagination from './pagination.json' -import ElPopconfirm from './popconfirm.json' -import ElPopover from './popover.json' -import ElProgress from './progress.json' -import ElRate from './rate.json' -import ElResult from './result.json' -import ElSkeleton from './skeleton.json' -import ElSkeletonItem from './skeletonItem.json' -import ElSlider from './slider.json' -import ElStatistic from './statistic.json' -import ElStep from './step.json' -import ElSteps from './steps.json' -import ElSubmenu from './submenu.json' -import ElSwitch from './switch.json' -import ElTabPane from './tabPane.json' -import ElTabs from './tabs.json' -import ElTag from './tag.json' -import ElTimeline from './timeline.json' -import ElTimelineItem from './timelineItem.json' -import ElTimePicker from './timePicker.json' -import ElTimeSelect from './timeSelect.json' -import ElTooltip from './tooltip.json' -import ElTransfer from './transfer.json' -import ElTree from './tree.json' -import ElUpload from './upload.json' -import ElAvatar from './avatar.json' -import ElBacktop from './backtop.json' -import ElOption from './option.json' -import ElOptionGroup from './optionGroup.json' -import ElTour from './tour.json' -import ElTourStep from './tourStep.json' +import { getComponentMap, getPropsMap } from './mapping' export function elementPlus2() { - const map: any = [ - ElRow, - ElCol, - ElCalendar, - ElAlert, - ElButton, - ElButtonGroup, - ElContainer, - ElHeader, - ElAside, - ElFooter, - ElLink, - ElSpace, - ElText, - ElRadio, - ElRadioGroup, - ElRadioButton, - ElForm, - ElFormItem, - ElTable, - ElTableColumn, - ElCard, - ElInput, - ElInputNumber, - ElAutocomplete, - ElSelect, - ElCascader, - ElCascaderPanel, - ElCheckbox, - ElCheckboxGroup, - ElCheckboxButton, - ElBadge, - ElBreadcrumb, - ElCarousel, - ElCarouselItem, - ElCollapse, - ElCollapseItem, - ElColorPicker, - ElImage, - ElEmpty, - ElDropdown, - ElDropdownMenu, - ElDropdownItem, - ElDrawer, - ElDivider, - ElDialog, - ElDescriptions, - ElDescriptionItem, - ElDatePicker, - ElDatetimePicker, - ElMain, - ElMenu, - ElMenuItem, - ElPageHeader, - ElPagination, - ElPopconfirm, - ElPopover, - ElProgress, - ElRate, - ElResult, - ElSkeleton, - ElSkeletonItem, - ElSlider, - ElStatistic, - ElStep, - ElSteps, - ElSubmenu, - ElSwitch, - ElTabPane, - ElTabs, - ElTag, - ElTimeline, - ElTimelineItem, - ElTimePicker, - ElTimeSelect, - ElTooltip, - ElTransfer, - ElTree, - ElUpload, - ElAvatar, - ElBacktop, - ElOption, - ElOptionGroup, - ElTour, - ElTourStep, - ] - - return propsReducer('element-plus2', map, 'el') + return propsReducer({ + uiName: 'element-plus2', + map: getPropsMap(), + lib: 'element-plus', + prefix: 'el', + }) } export function elementPlus2Components() { - const isZh = getLocale().includes('zh') - - const map = isZh - ? [ - [ - ElRow, - '行布局', - '', - ], - [ - ElCol, - '列布局', - '', - ], - [ - ElContainer, - '布局容器', - '', - ], - [ - ElHeader, - '顶栏容器', - '', - ], - [ - ElAside, - '侧边栏容器', - '', - ], - [ - 'el-main', - '主要区域容器', - '', - ], - [ - ElFooter, - '底栏容器', - '', - ], - [ - ElButton, - '按钮', - '', - ], - [ - ElButtonGroup, - '按钮组', - '', - ], - [ - ElSpace, - '间距', - '', - ], - [ - ElText, - '文本的常见操作', - '', - ], - [ - ElLink, - '文字链接', - '', - ], - [ - ElRadio, - '单选框', - '', - ], - [ - ElRadioGroup, - '单选框组', - '', - ], - [ - ElRadioButton, - '按钮样式的单选组合', - '', - ], - [ - ElCheckbox, - '多选框', - '', - ], - [ - ElCheckboxGroup, - '多选框组', - '', - ], - [ - ElCheckboxButton, - '按钮样式的多选组合', - '', - ], - [ - ElInput, - '输入框', - '', - ], - [ - ElInputNumber, - '计数器', - '', - ], - [ - ElSelect, - '选择器', - '', - ], - [ - ElOption, - '基础多选', - '', - ], - [ - ElOptionGroup, - '备选项进行分组展示', - '', - ], - [ - ElCascader, - '级联选择器', - '', - ], - [ - ElCascaderPanel, - '级联面板', - '', - ], - [ - ElSwitch, - '开关', - '', - ], - [ - ElSlider, - '滑块', - '', - ], - [ - ElTimeSelect, - '时间选择器', - '', - ], - [ - ElDatePicker, - '日期选择器/日期时间选择器', - '', - ], - [ - ElUpload, - '上传', - '', - ], - [ - ElRate, - '评分', - '', - ], - [ - ElColorPicker, - '颜色选择器', - '', - ], - [ - ElTransfer, - '穿梭框', - '', - ], - [ - ElForm, - '表单', - '', - ], - [ - ElFormItem, - '表单项', - '', - ], - [ - ElTable, - '表格', - '', - ], - [ - ElTableColumn, - '表格项', - '', - ], - [ - ElTag, - '标签', - '', - ], - [ - ElProgress, - '进度条', - '', - ], - [ - ElTree, - '树形控件', - '', - ], - [ - ElPagination, - '分页', - '', - ], - [ - ElBadge, - '标记', - '', - ], - [ - ElAvatar, - '头像', - '', - ], - [ - ElSkeleton, - '骨架屏', - '', - ], - [ - ElEmpty, - '空状态', - '', - ], - [ - ElDescriptions, - '描述列表', - '', - ], - [ - ElDescriptionItem, - '描述列表', - '', - ], - [ - 'el-descriptions-item', - '描述列表项', - '', - ], - [ - ElResult, - '结果', - '', - ], - [ - ElStatistic, - '统计数值', - '', - ], - [ - ElAlert, - '警告', - '', - ], - - [ - ElMain, - '主要区域容器', - '', - ], - [ - ElMenu, - '导航菜单', - '', - ], - [ - ElSubmenu, - '导航子菜单', - '', - ], - [ - ElMenuItem, - '导航菜单项', - '', - ], - [ - ElTabs, - '标签页', - '', - ], - [ - ElTabPane, - '标签项', - '', - ], - [ - ElBreadcrumb, - '面包屑', - '', - ], - [ - 'el-breadcrumb-item', - '面包屑项', - '', - ], - [ - ElPageHeader, - '页头', - '', - ], - [ - ElDropdown, - '下拉菜单', - '', - ], - [ - ElDropdownMenu, - '下拉菜单列表', - '', - ], - [ - ElDropdownItem, - '下拉菜单列表项', - '', - ], - [ - ElSteps, - '步骤条', - '', - ], - [ - ElDialog, - '对话框', - '', - ], - [ - ElTooltip, - '文字提示', - '', - ], - [ - ElPopover, - '弹出框', - '', - ], - [ - ElPopconfirm, - '气泡确认框', - '', - ], - [ - ElCard, - '卡片', - '', - ], - [ - ElCarousel, - '走马灯', - '', - ], - [ - ElCarouselItem, - '走马灯项', - '', - ], - [ - ElCollapse, - '折叠面板', - '', - ], - [ - ElCollapseItem, - '折叠面板项', - '', - ], - [ - ElTimeline, - '时间线', - '', - ], - [ - ElTimelineItem, - '时间线项', - '', - ], - [ - ElDivider, - '分割线', - '', - ], - [ - ElCalendar, - '日历', - '', - ], - [ - ElImage, - '图片', - '', - ], - [ - ElBacktop, - '回到顶部', - '', - ], - [ - ElDrawer, - '抽屉', - '', - ], - [ - ElAutocomplete, - '远程搜索', - '', - ], - [ - ElTour, - '漫游式引导', - '', - ], - [ - ElTourStep, - '漫游式引导步骤', - '', - ], - ] - : [ - [ - ElRow, - 'Row layout', - '', - ], - [ - ElCol, - 'Column layout', - '', - ], - [ - ElContainer, - 'Layout container', - '', - ], - [ - ElHeader, - 'Top bar container', - '', - ], - [ - ElAside, - 'Sidebar container', - '', - ], - [ - 'el-main', - 'Main area container', - '', - ], - [ - ElFooter, - 'Bottom column container', - '', - ], - [ - ElButton, - 'button', - '', - ], - [ - ElButtonGroup, - 'button group', - '', - ], - [ - ElLink, - 'Text link', - '', - ], - [ - ElRadio, - 'Single box', - '', - ], - [ - ElRadioGroup, - 'Radio button group', - '', - ], - [ - ElRadioButton, - 'Radio combination of button styles', - '', - ], - [ - ElCheckbox, - 'Checkbox', - '', - ], - [ - ElCheckboxGroup, - 'Multiple selection box group', - '', - ], - [ - ElCheckboxButton, - 'Multi-select combination of button styles', - '', - ], - [ - ElInput, - 'Input box', - '', - ], - [ - ElInputNumber, - 'counter', - '', - ], - [ - ElSelect, - 'Selector', - '', - ], - [ - ElOption, - 'Basic multiple selection', - '', - ], - [ - ElOptionGroup, - 'Alternatives are displayed in groups', - '', - ], - [ - ElCascader, - 'Cascade selector', - '', - ], - [ - ElCascaderPanel, - 'Cascading Panel', - '', - ], - [ - ElSwitch, - 'switch', - '', - ], - [ - ElSlider, - 'slider', - '', - ], - [ - ElTimeSelect, - 'Time picker', - '', - ], - [ - ElDatePicker, - 'Date picker/date time picker', - '', - ], - [ - ElUpload, - 'Upload', - '', - ], - [ - ElRate, - 'score', - '', - ], - [ - ElColorPicker, - 'Color picker', - '', - ], - [ - ElTransfer, - 'Shuttle box', - '', - ], - [ - ElForm, - 'form', - '', - ], - [ - ElFormItem, - 'Form item', - '', - ], - [ - ElTable, - 'sheet', - '', - ], - [ - ElTableColumn, - 'Table item', - '', - ], - [ - ElTag, - 'Label', - '', - ], - [ - ElProgress, - 'progress bar', - '', - ], - [ - ElTree, - 'Tree control', - '', - ], - [ - ElPagination, - 'pagination', - '', - ], - [ - ElBadge, - 'mark', - '', - ], - [ - ElAvatar, - 'avatar', - '', - ], - [ - ElSkeleton, - 'Skeleton screen', - '', - ], - [ - ElEmpty, - 'Empty state', - '', - ], - [ - ElDescriptions, - 'Description list', - '', - ], - [ - ElDropdownItem, - 'Describe list item', - '', - ], - [ - ElResult, - 'result', - '', - ], - [ - ElStatistic, - 'statistical value', - '', - ], - [ - ElAlert, - 'warn', - '', - ], - [ - ElMenu, - 'Navigation menu', - '', - ], - [ - ElSubmenu, - 'Navigation submenu', - '', - ], - [ - ElMenuItem, - 'Navigation menu item', - '', - ], - [ - ElTabs, - 'Bookmark page', - '', - ], - [ - ElTabPane, - 'Tag item', - '', - ], - [ - ElBreadcrumb, - 'Bread crumbs', - '', - ], - [ - 'el-breadcrumb-item', - 'Breadcrumb item', - '', - ], - [ - ElPageHeader, - 'Header', - '', - ], - [ - ElDropdown, - 'Drop-down menu', - '', - ], - [ - ElDropdownMenu, - 'Drop-down menu list', - '', - ], - [ - ElDropdownItem, - 'Drop-down menu list item', - '', - ], - [ - ElSteps, - 'step bar', - '', - ], - [ - ElDialog, - 'Dialog', - '', - ], - [ - ElTooltip, - 'Text prompt', - '', - ], - [ - ElPopover, - 'Pop-up box', - '', - ], - [ - ElPopconfirm, - 'Bubble confirmation box', - '', - ], - [ - ElCard, - 'card', - '', - ], - [ - ElCarousel, - 'Revolving Lantern', - '', - ], - [ - ElCarouselItem, - 'Revolving Lantern', - '', - ], - [ - ElCollapse, - 'Collapse panel', - '', - ], - [ - ElCollapseItem, - 'Collapse panel item', - '', - ], - [ - ElTimeline, - 'timeline', - '', - ], - [ - ElTimelineItem, - 'Timeline item', - '', - ], - [ - ElDivider, - 'Dividing line', - '', - ], - [ - ElCalendar, - 'calendar', - '', - ], - [ - ElImage, - 'picture', - '', - ], - [ - ElBacktop, - 'back to the top', - '', - ], - [ - ElDrawer, - 'drawer', - '', - ], - [ - ElAutocomplete, - 'Remote search', - '', - ], - [ - ElTour, - 'tour', - '', - ], - [ - ElTourStep, - 'tour step', - '', - ], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'el', lib: 'element-plus', diff --git a/src/ui/elementPlus/elementPlus2/mapping.ts b/src/ui/elementPlus/elementPlus2/mapping.ts new file mode 100644 index 00000000..8676143c --- /dev/null +++ b/src/ui/elementPlus/elementPlus2/mapping.ts @@ -0,0 +1,995 @@ +import { getLocale } from '@vscode-use/utils' +import ElRow from './row.json' +import ElCalendar from './calendar.json' +import ElCol from './col.json' +import ElAlert from './alert.json' +import ElButton from './button.json' +import ElButtonGroup from './buttonGroup.json' +import ElContainer from './container.json' +import ElHeader from './header.json' +import ElAside from './aside.json' +import ElFooter from './footer.json' +import ElLink from './link.json' +import ElSpace from './space.json' +import ElText from './text.json' +import ElRadio from './radio.json' +import ElRadioGroup from './radioGroup.json' +import ElRadioButton from './radioButton.json' +import ElForm from './form.json' +import ElFormItem from './formItem.json' +import ElTable from './table.json' +import ElTableColumn from './tableColumn.json' +import ElCard from './card.json' +import ElInput from './input.json' +import ElInputNumber from './inputNumber.json' +import ElAutocomplete from './autocomplete.json' +import ElSelect from './select.json' +import ElCascader from './cascader.json' +import ElCascaderPanel from './cascaderPanel.json' +import ElCheckbox from './checkbox.json' +import ElCheckboxGroup from './checkboxGroup.json' +import ElCheckboxButton from './checkboxButton.json' +import ElBadge from './badge.json' +import ElBreadcrumb from './breadcrumb.json' +import ElCarousel from './carousel.json' +import ElCarouselItem from './carouselItem.json' +import ElCollapse from './collapse.json' +import ElCollapseItem from './collapseItem.json' +import ElColorPicker from './colorPicker.json' +import ElImage from './image.json' +import ElEmpty from './empty.json' +import ElDropdown from './dropdown.json' +import ElDropdownMenu from './dropdownMenu.json' +import ElDropdownItem from './dropdownItem.json' +import ElDrawer from './drawer.json' +import ElDivider from './divider.json' +import ElDialog from './dialog.json' +import ElDescriptions from './descriptions.json' +import ElDescriptionItem from './descriptionItem.json' +import ElDatePicker from './datePicker.json' +import ElDatetimePicker from './datetimePicker.json' +import ElMain from './main.json' +import ElMenu from './menu.json' +import ElMenuItem from './menuItem.json' +import ElPageHeader from './pageHeader.json' +import ElPagination from './pagination.json' +import ElPopconfirm from './popconfirm.json' +import ElPopover from './popover.json' +import ElProgress from './progress.json' +import ElRate from './rate.json' +import ElResult from './result.json' +import ElSkeleton from './skeleton.json' +import ElSkeletonItem from './skeletonItem.json' +import ElSlider from './slider.json' +import ElStatistic from './statistic.json' +import ElStep from './step.json' +import ElSteps from './steps.json' +import ElSubmenu from './submenu.json' +import ElSwitch from './switch.json' +import ElTabPane from './tabPane.json' +import ElTabs from './tabs.json' +import ElTag from './tag.json' +import ElTimeline from './timeline.json' +import ElTimelineItem from './timelineItem.json' +import ElTimePicker from './timePicker.json' +import ElTimeSelect from './timeSelect.json' +import ElTooltip from './tooltip.json' +import ElTransfer from './transfer.json' +import ElTree from './tree.json' +import ElUpload from './upload.json' +import ElAvatar from './avatar.json' +import ElBacktop from './backtop.json' +import ElOption from './option.json' +import ElOptionGroup from './optionGroup.json' +import ElTour from './tour.json' +import ElTourStep from './tourStep.json' + +export function getPropsMap() { + return [ + ElRow, + ElCol, + ElCalendar, + ElAlert, + ElButton, + ElButtonGroup, + ElContainer, + ElHeader, + ElAside, + ElFooter, + ElLink, + ElSpace, + ElText, + ElRadio, + ElRadioGroup, + ElRadioButton, + ElForm, + ElFormItem, + ElTable, + ElTableColumn, + ElCard, + ElInput, + ElInputNumber, + ElAutocomplete, + ElSelect, + ElCascader, + ElCascaderPanel, + ElCheckbox, + ElCheckboxGroup, + ElCheckboxButton, + ElBadge, + ElBreadcrumb, + ElCarousel, + ElCarouselItem, + ElCollapse, + ElCollapseItem, + ElColorPicker, + ElImage, + ElEmpty, + ElDropdown, + ElDropdownMenu, + ElDropdownItem, + ElDrawer, + ElDivider, + ElDialog, + ElDescriptions, + ElDescriptionItem, + ElDatePicker, + ElDatetimePicker, + ElMain, + ElMenu, + ElMenuItem, + ElPageHeader, + ElPagination, + ElPopconfirm, + ElPopover, + ElProgress, + ElRate, + ElResult, + ElSkeleton, + ElSkeletonItem, + ElSlider, + ElStatistic, + ElStep, + ElSteps, + ElSubmenu, + ElSwitch, + ElTabPane, + ElTabs, + ElTag, + ElTimeline, + ElTimelineItem, + ElTimePicker, + ElTimeSelect, + ElTooltip, + ElTransfer, + ElTree, + ElUpload, + ElAvatar, + ElBacktop, + ElOption, + ElOptionGroup, + ElTour, + ElTourStep, + ] +} + +export function getComponentMap() { + const isZh = getLocale().includes('zh') + + return isZh + ? [ + [ + ElRow, + '行布局', + '', + ], + [ + ElCol, + '列布局', + '', + ], + [ + ElContainer, + '布局容器', + '', + ], + [ + ElHeader, + '顶栏容器', + '', + ], + [ + ElAside, + '侧边栏容器', + '', + ], + [ + 'el-main', + '主要区域容器', + '', + ], + [ + ElFooter, + '底栏容器', + '', + ], + [ + ElButton, + '按钮', + '', + ], + [ + ElButtonGroup, + '按钮组', + '', + ], + [ + ElSpace, + '间距', + '', + ], + [ + ElText, + '文本的常见操作', + '', + ], + [ + ElLink, + '文字链接', + '', + ], + [ + ElRadio, + '单选框', + '', + ], + [ + ElRadioGroup, + '单选框组', + '', + ], + [ + ElRadioButton, + '按钮样式的单选组合', + '', + ], + [ + ElCheckbox, + '多选框', + '', + ], + [ + ElCheckboxGroup, + '多选框组', + '', + ], + [ + ElCheckboxButton, + '按钮样式的多选组合', + '', + ], + [ + ElInput, + '输入框', + '', + ], + [ + ElInputNumber, + '计数器', + '', + ], + [ + ElSelect, + '选择器', + '', + ], + [ + ElOption, + '基础多选', + '', + ], + [ + ElOptionGroup, + '备选项进行分组展示', + '', + ], + [ + ElCascader, + '级联选择器', + '', + ], + [ + ElCascaderPanel, + '级联面板', + '', + ], + [ + ElSwitch, + '开关', + '', + ], + [ + ElSlider, + '滑块', + '', + ], + [ + ElTimeSelect, + '时间选择器', + '', + ], + [ + ElDatePicker, + '日期选择器/日期时间选择器', + '', + ], + [ + ElUpload, + '上传', + '', + ], + [ + ElRate, + '评分', + '', + ], + [ + ElColorPicker, + '颜色选择器', + '', + ], + [ + ElTransfer, + '穿梭框', + '', + ], + [ + ElForm, + '表单', + '', + ], + [ + ElFormItem, + '表单项', + '', + ], + [ + ElTable, + '表格', + '', + ], + [ + ElTableColumn, + '表格项', + '', + ], + [ + ElTag, + '标签', + '', + ], + [ + ElProgress, + '进度条', + '', + ], + [ + ElTree, + '树形控件', + '', + ], + [ + ElPagination, + '分页', + '', + ], + [ + ElBadge, + '标记', + '', + ], + [ + ElAvatar, + '头像', + '', + ], + [ + ElSkeleton, + '骨架屏', + '', + ], + [ + ElEmpty, + '空状态', + '', + ], + [ + ElDescriptions, + '描述列表', + '', + ], + [ + ElDescriptionItem, + '描述列表', + '', + ], + [ + 'el-descriptions-item', + '描述列表项', + '', + ], + [ + ElResult, + '结果', + '', + ], + [ + ElStatistic, + '统计数值', + '', + ], + [ + ElAlert, + '警告', + '', + ], + + [ + ElMain, + '主要区域容器', + '', + ], + [ + ElMenu, + '导航菜单', + '', + ], + [ + ElSubmenu, + '导航子菜单', + '', + ], + [ + ElMenuItem, + '导航菜单项', + '', + ], + [ + ElTabs, + '标签页', + '', + ], + [ + ElTabPane, + '标签项', + '', + ], + [ + ElBreadcrumb, + '面包屑', + '', + ], + [ + 'el-breadcrumb-item', + '面包屑项', + '', + ], + [ + ElPageHeader, + '页头', + '', + ], + [ + ElDropdown, + '下拉菜单', + '', + ], + [ + ElDropdownMenu, + '下拉菜单列表', + '', + ], + [ + ElDropdownItem, + '下拉菜单列表项', + '', + ], + [ + ElSteps, + '步骤条', + '', + ], + [ + ElDialog, + '对话框', + '', + ], + [ + ElTooltip, + '文字提示', + '', + ], + [ + ElPopover, + '弹出框', + '', + ], + [ + ElPopconfirm, + '气泡确认框', + '', + ], + [ + ElCard, + '卡片', + '', + ], + [ + ElCarousel, + '走马灯', + '', + ], + [ + ElCarouselItem, + '走马灯项', + '', + ], + [ + ElCollapse, + '折叠面板', + '', + ], + [ + ElCollapseItem, + '折叠面板项', + '', + ], + [ + ElTimeline, + '时间线', + '', + ], + [ + ElTimelineItem, + '时间线项', + '', + ], + [ + ElDivider, + '分割线', + '', + ], + [ + ElCalendar, + '日历', + '', + ], + [ + ElImage, + '图片', + '', + ], + [ + ElBacktop, + '回到顶部', + '', + ], + [ + ElDrawer, + '抽屉', + '', + ], + [ + ElAutocomplete, + '远程搜索', + '', + ], + [ + ElTour, + '漫游式引导', + '', + ], + [ + ElTourStep, + '漫游式引导步骤', + '', + ], + ] + : [ + [ + ElRow, + 'Row layout', + '', + ], + [ + ElCol, + 'Column layout', + '', + ], + [ + ElContainer, + 'Layout container', + '', + ], + [ + ElHeader, + 'Top bar container', + '', + ], + [ + ElAside, + 'Sidebar container', + '', + ], + [ + 'el-main', + 'Main area container', + '', + ], + [ + ElFooter, + 'Bottom column container', + '', + ], + [ + ElButton, + 'button', + '', + ], + [ + ElButtonGroup, + 'button group', + '', + ], + [ + ElLink, + 'Text link', + '', + ], + [ + ElRadio, + 'Single box', + '', + ], + [ + ElRadioGroup, + 'Radio button group', + '', + ], + [ + ElRadioButton, + 'Radio combination of button styles', + '', + ], + [ + ElCheckbox, + 'Checkbox', + '', + ], + [ + ElCheckboxGroup, + 'Multiple selection box group', + '', + ], + [ + ElCheckboxButton, + 'Multi-select combination of button styles', + '', + ], + [ + ElInput, + 'Input box', + '', + ], + [ + ElInputNumber, + 'counter', + '', + ], + [ + ElSelect, + 'Selector', + '', + ], + [ + ElOption, + 'Basic multiple selection', + '', + ], + [ + ElOptionGroup, + 'Alternatives are displayed in groups', + '', + ], + [ + ElCascader, + 'Cascade selector', + '', + ], + [ + ElCascaderPanel, + 'Cascading Panel', + '', + ], + [ + ElSwitch, + 'switch', + '', + ], + [ + ElSlider, + 'slider', + '', + ], + [ + ElTimeSelect, + 'Time picker', + '', + ], + [ + ElDatePicker, + 'Date picker/date time picker', + '', + ], + [ + ElUpload, + 'Upload', + '', + ], + [ + ElRate, + 'score', + '', + ], + [ + ElColorPicker, + 'Color picker', + '', + ], + [ + ElTransfer, + 'Shuttle box', + '', + ], + [ + ElForm, + 'form', + '', + ], + [ + ElFormItem, + 'Form item', + '', + ], + [ + ElTable, + 'sheet', + '', + ], + [ + ElTableColumn, + 'Table item', + '', + ], + [ + ElTag, + 'Label', + '', + ], + [ + ElProgress, + 'progress bar', + '', + ], + [ + ElTree, + 'Tree control', + '', + ], + [ + ElPagination, + 'pagination', + '', + ], + [ + ElBadge, + 'mark', + '', + ], + [ + ElAvatar, + 'avatar', + '', + ], + [ + ElSkeleton, + 'Skeleton screen', + '', + ], + [ + ElEmpty, + 'Empty state', + '', + ], + [ + ElDescriptions, + 'Description list', + '', + ], + [ + ElDropdownItem, + 'Describe list item', + '', + ], + [ + ElResult, + 'result', + '', + ], + [ + ElStatistic, + 'statistical value', + '', + ], + [ + ElAlert, + 'warn', + '', + ], + [ + ElMenu, + 'Navigation menu', + '', + ], + [ + ElSubmenu, + 'Navigation submenu', + '', + ], + [ + ElMenuItem, + 'Navigation menu item', + '', + ], + [ + ElTabs, + 'Bookmark page', + '', + ], + [ + ElTabPane, + 'Tag item', + '', + ], + [ + ElBreadcrumb, + 'Bread crumbs', + '', + ], + [ + 'el-breadcrumb-item', + 'Breadcrumb item', + '', + ], + [ + ElPageHeader, + 'Header', + '', + ], + [ + ElDropdown, + 'Drop-down menu', + '', + ], + [ + ElDropdownMenu, + 'Drop-down menu list', + '', + ], + [ + ElDropdownItem, + 'Drop-down menu list item', + '', + ], + [ + ElSteps, + 'step bar', + '', + ], + [ + ElDialog, + 'Dialog', + '', + ], + [ + ElTooltip, + 'Text prompt', + '', + ], + [ + ElPopover, + 'Pop-up box', + '', + ], + [ + ElPopconfirm, + 'Bubble confirmation box', + '', + ], + [ + ElCard, + 'card', + '', + ], + [ + ElCarousel, + 'Revolving Lantern', + '', + ], + [ + ElCarouselItem, + 'Revolving Lantern', + '', + ], + [ + ElCollapse, + 'Collapse panel', + '', + ], + [ + ElCollapseItem, + 'Collapse panel item', + '', + ], + [ + ElTimeline, + 'timeline', + '', + ], + [ + ElTimelineItem, + 'Timeline item', + '', + ], + [ + ElDivider, + 'Dividing line', + '', + ], + [ + ElCalendar, + 'calendar', + '', + ], + [ + ElImage, + 'picture', + '', + ], + [ + ElBacktop, + 'back to the top', + '', + ], + [ + ElDrawer, + 'drawer', + '', + ], + [ + ElAutocomplete, + 'Remote search', + '', + ], + [ + ElTour, + 'tour', + '', + ], + [ + ElTourStep, + 'tour step', + '', + ], + ] +} diff --git a/src/ui/elementUi/elementUi2/index.ts b/src/ui/elementUi/elementUi2/index.ts index 7fe36aba..05babf89 100644 --- a/src/ui/elementUi/elementUi2/index.ts +++ b/src/ui/elementUi/elementUi2/index.ts @@ -1,169 +1,7 @@ -import { getLocale } from '@vscode-use/utils' import { componentsReducer, propsReducer } from '../../utils' -import ElRow from './row.json' -import ElCalendar from './calendar.json' -import ElCol from './col.json' -import ElAlert from './alert.json' -import ElButton from './button.json' -import ElButtonGroup from './buttonGroup.json' -import ElContainer from './container.json' -import ElHeader from './header.json' -import ElAside from './aside.json' -import ElFooter from './footer.json' -import ElLink from './link.json' -import ElRadio from './radio.json' -import ElRadioGroup from './radioGroup.json' -import ElRadioButton from './radioButton.json' -import ElForm from './form.json' -import ElFormItem from './formItem.json' -import ElTable from './table.json' -import ElTableColumn from './tableColumn.json' -import ElCard from './card.json' -import ElInput from './input.json' -import ElInputNumber from './inputNumber.json' -import ElAutocomplete from './autocomplete.json' -import ElSelect from './select.json' -import ElCascader from './cascader.json' -import ElCascaderPanel from './cascaderPanel.json' -import ElCheckbox from './checkbox.json' -import ElCheckboxGroup from './checkboxGroup.json' -import ElCheckboxButton from './checkboxButton.json' -import ElBadge from './badge.json' -import ElBreadcrumb from './breadcrumb.json' -import ElCarousel from './carousel.json' -import ElCarouselItem from './carouselItem.json' -import ElCollapse from './collapse.json' -import ElCollapseItem from './collapseItem.json' -import ElColorPicker from './colorPicker.json' -import ElImage from './image.json' -import ElEmpty from './empty.json' -import ElDropdown from './dropdown.json' -import ElDropdownMenu from './dropdownMenu.json' -import ElDropdownItem from './dropdownItem.json' -import ElDrawer from './drawer.json' -import ElDivider from './divider.json' -import ElDialog from './dialog.json' -import ElDescriptions from './descriptions.json' -import ElDescriptionItem from './descriptionItem.json' -import ElDatePicker from './datePicker.json' -import ElDatetimePicker from './datetimePicker.json' -import ElMain from './main.json' -import ElMenu from './menu.json' -import ElMenuItem from './menuItem.json' -import ElPageHeader from './pageHeader.json' -import ElPagination from './pagination.json' -import ElPopconfirm from './popconfirm.json' -import ElPopover from './popover.json' -import ElProgress from './progress.json' -import ElRate from './rate.json' -import ElResult from './result.json' -import ElSkeleton from './skeleton.json' -import ElSkeletonItem from './skeletonItem.json' -import ElSlider from './slider.json' -import ElStatistic from './statistic.json' -import ElStep from './step.json' -import ElSteps from './steps.json' -import ElSubmenu from './submenu.json' -import ElSwitch from './switch.json' -import ElTabPane from './tabPane.json' -import ElTabs from './tabs.json' -import ElTag from './tag.json' -import ElTimeline from './timeline.json' -import ElTimelineItem from './timelineItem.json' -import ElTimePicker from './timePicker.json' -import ElTimeSelect from './timeSelect.json' -import ElTooltip from './tooltip.json' -import ElTransfer from './transfer.json' -import ElTree from './tree.json' -import ElUpload from './upload.json' -import ElAvatar from './avatar.json' -import ElBacktop from './backtop.json' -import ElOption from './option.json' -import ElOptionGroup from './optionGroup.json' +import { getComponentMap, getPropsMap } from './mapping' export function elementUi2(extensionContext: any) { - const map: any = [ - ElRow, - ElCol, - ElCalendar, - ElAlert, - ElButton, - ElButtonGroup, - ElContainer, - ElHeader, - ElAside, - ElFooter, - ElLink, - ElRadio, - ElRadioGroup, - ElRadioButton, - ElForm, - ElFormItem, - ElTable, - ElTableColumn, - ElCard, - ElInput, - ElInputNumber, - ElAutocomplete, - ElSelect, - ElCascader, - ElCascaderPanel, - ElCheckbox, - ElCheckboxGroup, - ElCheckboxButton, - ElBadge, - ElBreadcrumb, - ElCarousel, - ElCarouselItem, - ElCollapse, - ElCollapseItem, - ElColorPicker, - ElImage, - ElEmpty, - ElDropdown, - ElDropdownMenu, - ElDropdownItem, - ElDrawer, - ElDivider, - ElDialog, - ElDescriptions, - ElDescriptionItem, - ElDatePicker, - ElDatetimePicker, - ElMain, - ElMenu, - ElMenuItem, - ElPageHeader, - ElPagination, - ElPopconfirm, - ElPopover, - ElProgress, - ElRate, - ElResult, - ElSkeleton, - ElSkeletonItem, - ElSlider, - ElStatistic, - ElStep, - ElSteps, - ElSubmenu, - ElSwitch, - ElTabPane, - ElTabs, - ElTag, - ElTimeline, - ElTimelineItem, - ElTimePicker, - ElTimeSelect, - ElTooltip, - ElTransfer, - ElTree, - ElUpload, - ElAvatar, - ElBacktop, - ElOption, - ElOptionGroup, - ] const icons = [ 'platform-eleme', 'eleme', @@ -447,800 +285,18 @@ export function elementUi2(extensionContext: any) { 'ice-cream-round', ] - return propsReducer('element-ui2', map, 'el', { prefix: 'el-icon', type: 'elementUi', icons }, extensionContext) + return propsReducer({ + uiName: 'element-ui2', + map: getPropsMap(), + lib: 'element-ui', + iconData: { prefix: 'el-icon', type: 'elementUi', icons }, + extensionContext, + }) } export function elementUi2Components() { - const isZh = getLocale().includes('zh') - - const map = isZh - ? [ - [ - ElRow, - '行布局', - '', - ], - [ - ElCol, - '列布局', - '', - ], - [ - ElContainer, - '布局容器', - '', - ], - [ - ElHeader, - '顶栏容器', - '', - ], - [ - ElAside, - '侧边栏容器', - '', - ], - [ - 'el-main', - '主要区域容器', - '', - ], - [ - ElFooter, - '底栏容器', - '', - ], - [ - ElButton, - '按钮', - '', - ], - [ - ElButtonGroup, - '按钮组', - '', - ], - [ - ElLink, - '文字链接', - '', - ], - [ - ElRadio, - '单选框', - '', - ], - [ - ElRadioGroup, - '单选框组', - '', - ], - [ - ElRadioButton, - '按钮样式的单选组合', - '', - ], - [ - ElCheckbox, - '多选框', - '', - ], - [ - ElCheckboxGroup, - '多选框组', - '', - ], - [ - ElCheckboxButton, - '按钮样式的多选组合', - '', - ], - [ - ElInput, - '输入框', - '', - ], - [ - ElInputNumber, - '计数器', - '', - ], - [ - ElSelect, - '选择器', - '', - ], - [ - ElOption, - '基础多选', - '', - ], - [ - ElOptionGroup, - '备选项进行分组展示', - '', - ], - [ - ElCascader, - '级联选择器', - '', - ], - [ - ElCascaderPanel, - '级联面板', - '', - ], - [ - ElSwitch, - '开关', - '', - ], - [ - ElSlider, - '滑块', - '', - ], - [ - ElTimeSelect, - '时间选择器', - '', - ], - [ - ElDatePicker, - '日期选择器/日期时间选择器', - '', - ], - [ - ElUpload, - '上传', - '', - ], - [ - ElRate, - '评分', - '', - ], - [ - ElColorPicker, - '颜色选择器', - '', - ], - [ - ElTransfer, - '穿梭框', - '', - ], - [ - ElForm, - '表单', - '', - ], - [ - ElFormItem, - '表单项', - '', - ], - [ - ElTable, - '表格', - '', - ], - [ - ElTableColumn, - '表格项', - '', - ], - [ - ElTag, - '标签', - '', - ], - [ - ElProgress, - '进度条', - '', - ], - [ - ElTree, - '树形控件', - '', - ], - [ - ElPagination, - '分页', - '', - ], - [ - ElBadge, - '标记', - '', - ], - [ - ElAvatar, - '头像', - '', - ], - [ - ElSkeleton, - '骨架屏', - '', - ], - [ - ElEmpty, - '空状态', - '', - ], - [ - ElDescriptions, - '描述列表', - '', - ], - [ - ElDescriptionItem, - '描述列表', - '', - ], - [ - 'el-descriptions-item', - '描述列表项', - '', - ], - [ - ElResult, - '结果', - '', - ], - [ - ElStatistic, - '统计数值', - '', - ], - [ - ElAlert, - '警告', - '', - ], - - [ - ElMain, - '主要区域容器', - '', - ], - [ - ElMenu, - '导航菜单', - '', - ], - [ - ElSubmenu, - '导航子菜单', - '', - ], - [ - ElMenuItem, - '导航菜单项', - '', - ], - [ - ElTabs, - '标签页', - '', - ], - [ - ElTabPane, - '标签项', - '', - ], - [ - ElBreadcrumb, - '面包屑', - '', - ], - [ - 'el-breadcrumb-item', - '面包屑项', - '', - ], - [ - ElPageHeader, - '页头', - '', - ], - [ - ElDropdown, - '下拉菜单', - '', - ], - [ - ElDropdownMenu, - '下拉菜单列表', - '', - ], - [ - ElDropdownItem, - '下拉菜单列表项', - '', - ], - [ - ElSteps, - '步骤条', - '', - ], - [ - ElDialog, - '对话框', - '', - ], - [ - ElTooltip, - '文字提示', - '', - ], - [ - ElPopover, - '弹出框', - '', - ], - [ - ElPopconfirm, - '气泡确认框', - '', - ], - [ - ElCard, - '卡片', - '', - ], - [ - ElCarousel, - '走马灯', - '', - ], - [ - ElCarouselItem, - '走马灯项', - '', - ], - [ - ElCollapse, - '折叠面板', - '', - ], - [ - ElCollapseItem, - '折叠面板项', - '', - ], - [ - ElTimeline, - '时间线', - '', - ], - [ - ElTimelineItem, - '时间线项', - '', - ], - [ - ElDivider, - '分割线', - '', - ], - [ - ElCalendar, - '日历', - '', - ], - [ - ElImage, - '图片', - '', - ], - [ - ElBacktop, - '回到顶部', - '', - ], - [ - ElDrawer, - '抽屉', - '', - ], - [ - ElAutocomplete, - '远程搜索', - '', - ], - ] - : [ - [ - ElRow, - 'Row layout', - '', - ], - [ - ElCol, - 'Column layout', - '', - ], - [ - ElContainer, - 'Layout container', - '', - ], - [ - ElHeader, - 'Top bar container', - '', - ], - [ - ElAside, - 'Sidebar container', - '', - ], - [ - 'el-main', - 'Main area container', - '', - ], - [ - ElFooter, - 'Bottom column container', - '', - ], - [ - ElButton, - 'button', - '', - ], - [ - ElButtonGroup, - 'button group', - '', - ], - [ - ElLink, - 'Text link', - '', - ], - [ - ElRadio, - 'Single box', - '', - ], - [ - ElRadioGroup, - 'Radio button group', - '', - ], - [ - ElRadioButton, - 'Radio combination of button styles', - '', - ], - [ - ElCheckbox, - 'Checkbox', - '', - ], - [ - ElCheckboxGroup, - 'Multiple selection box group', - '', - ], - [ - ElCheckboxButton, - 'Multi-select combination of button styles', - '', - ], - [ - ElInput, - 'Input box', - '', - ], - [ - ElInputNumber, - 'counter', - '', - ], - [ - ElSelect, - 'Selector', - '', - ], - [ - ElOption, - 'Basic multiple selection', - '', - ], - [ - ElOptionGroup, - 'Alternatives are displayed in groups', - '', - ], - [ - ElCascader, - 'Cascade selector', - '', - ], - [ - ElCascaderPanel, - 'Cascading Panel', - '', - ], - [ - ElSwitch, - 'switch', - '', - ], - [ - ElSlider, - 'slider', - '', - ], - [ - ElTimeSelect, - 'Time picker', - '', - ], - [ - ElDatePicker, - 'Date picker/date time picker', - '', - ], - [ - ElUpload, - 'Upload', - '', - ], - [ - ElRate, - 'score', - '', - ], - [ - ElColorPicker, - 'Color picker', - '', - ], - [ - ElTransfer, - 'Shuttle box', - '', - ], - [ - ElForm, - 'form', - '', - ], - [ - ElFormItem, - 'Form item', - '', - ], - [ - ElTable, - 'sheet', - '', - ], - [ - ElTableColumn, - 'Table item', - '', - ], - [ - ElTag, - 'Label', - '', - ], - [ - ElProgress, - 'progress bar', - '', - ], - [ - ElTree, - 'Tree control', - '', - ], - [ - ElPagination, - 'pagination', - '', - ], - [ - ElBadge, - 'mark', - '', - ], - [ - ElAvatar, - 'avatar', - '', - ], - [ - ElSkeleton, - 'Skeleton screen', - '', - ], - [ - ElEmpty, - 'Empty state', - '', - ], - [ - ElDescriptions, - 'Description list', - '', - ], - [ - ElDropdownItem, - 'Describe list item', - '', - ], - [ - ElResult, - 'result', - '', - ], - [ - ElStatistic, - 'statistical value', - '', - ], - [ - ElAlert, - 'warn', - '', - ], - [ - ElMenu, - 'Navigation menu', - '', - ], - [ - ElSubmenu, - 'Navigation submenu', - '', - ], - [ - ElMenuItem, - 'Navigation menu item', - '', - ], - [ - ElTabs, - 'Bookmark page', - '', - ], - [ - ElTabPane, - 'Tag item', - '', - ], - [ - ElBreadcrumb, - 'Bread crumbs', - '', - ], - [ - 'el-breadcrumb-item', - 'Breadcrumb item', - '', - ], - [ - ElPageHeader, - 'Header', - '', - ], - [ - ElDropdown, - 'Drop-down menu', - '', - ], - [ - ElDropdownMenu, - 'Drop-down menu list', - '', - ], - [ - ElDropdownItem, - 'Drop-down menu list item', - '', - ], - [ - ElSteps, - 'step bar', - '', - ], - [ - ElDialog, - 'Dialog', - '', - ], - [ - ElTooltip, - 'Text prompt', - '', - ], - [ - ElPopover, - 'Pop-up box', - '', - ], - [ - ElPopconfirm, - 'Bubble confirmation box', - '', - ], - [ - ElCard, - 'card', - '', - ], - [ - ElCarousel, - 'Revolving Lantern', - '', - ], - [ - ElCarouselItem, - 'Revolving Lantern', - '', - ], - [ - ElCollapse, - 'Collapse panel', - '', - ], - [ - ElCollapseItem, - 'Collapse panel item', - '', - ], - [ - ElTimeline, - 'timeline', - '', - ], - [ - ElTimelineItem, - 'Timeline item', - '', - ], - [ - ElDivider, - 'Dividing line', - '', - ], - [ - ElCalendar, - 'calendar', - '', - ], - [ - ElImage, - 'picture', - '', - ], - [ - ElBacktop, - 'back to the top', - '', - ], - [ - ElDrawer, - 'drawer', - '', - ], - [ - ElAutocomplete, - 'Remote search', - '', - ], - ] return componentsReducer({ - map, + map: getComponentMap, isSeperatorByHyphen: true, prefix: 'el', lib: 'element-ui', diff --git a/src/ui/elementUi/elementUi2/mapping.ts b/src/ui/elementUi/elementUi2/mapping.ts new file mode 100644 index 00000000..6bde9bca --- /dev/null +++ b/src/ui/elementUi/elementUi2/mapping.ts @@ -0,0 +1,957 @@ +import { getLocale } from '@vscode-use/utils' +import ElRow from './row.json' +import ElCalendar from './calendar.json' +import ElCol from './col.json' +import ElAlert from './alert.json' +import ElButton from './button.json' +import ElButtonGroup from './buttonGroup.json' +import ElContainer from './container.json' +import ElHeader from './header.json' +import ElAside from './aside.json' +import ElFooter from './footer.json' +import ElLink from './link.json' +import ElRadio from './radio.json' +import ElRadioGroup from './radioGroup.json' +import ElRadioButton from './radioButton.json' +import ElForm from './form.json' +import ElFormItem from './formItem.json' +import ElTable from './table.json' +import ElTableColumn from './tableColumn.json' +import ElCard from './card.json' +import ElInput from './input.json' +import ElInputNumber from './inputNumber.json' +import ElAutocomplete from './autocomplete.json' +import ElSelect from './select.json' +import ElCascader from './cascader.json' +import ElCascaderPanel from './cascaderPanel.json' +import ElCheckbox from './checkbox.json' +import ElCheckboxGroup from './checkboxGroup.json' +import ElCheckboxButton from './checkboxButton.json' +import ElBadge from './badge.json' +import ElBreadcrumb from './breadcrumb.json' +import ElCarousel from './carousel.json' +import ElCarouselItem from './carouselItem.json' +import ElCollapse from './collapse.json' +import ElCollapseItem from './collapseItem.json' +import ElColorPicker from './colorPicker.json' +import ElImage from './image.json' +import ElEmpty from './empty.json' +import ElDropdown from './dropdown.json' +import ElDropdownMenu from './dropdownMenu.json' +import ElDropdownItem from './dropdownItem.json' +import ElDrawer from './drawer.json' +import ElDivider from './divider.json' +import ElDialog from './dialog.json' +import ElDescriptions from './descriptions.json' +import ElDescriptionItem from './descriptionItem.json' +import ElDatePicker from './datePicker.json' +import ElDatetimePicker from './datetimePicker.json' +import ElMain from './main.json' +import ElMenu from './menu.json' +import ElMenuItem from './menuItem.json' +import ElPageHeader from './pageHeader.json' +import ElPagination from './pagination.json' +import ElPopconfirm from './popconfirm.json' +import ElPopover from './popover.json' +import ElProgress from './progress.json' +import ElRate from './rate.json' +import ElResult from './result.json' +import ElSkeleton from './skeleton.json' +import ElSkeletonItem from './skeletonItem.json' +import ElSlider from './slider.json' +import ElStatistic from './statistic.json' +import ElStep from './step.json' +import ElSteps from './steps.json' +import ElSubmenu from './submenu.json' +import ElSwitch from './switch.json' +import ElTabPane from './tabPane.json' +import ElTabs from './tabs.json' +import ElTag from './tag.json' +import ElTimeline from './timeline.json' +import ElTimelineItem from './timelineItem.json' +import ElTimePicker from './timePicker.json' +import ElTimeSelect from './timeSelect.json' +import ElTooltip from './tooltip.json' +import ElTransfer from './transfer.json' +import ElTree from './tree.json' +import ElUpload from './upload.json' +import ElAvatar from './avatar.json' +import ElBacktop from './backtop.json' +import ElOption from './option.json' +import ElOptionGroup from './optionGroup.json' + +export function getPropsMap() { + return [ + ElRow, + ElCol, + ElCalendar, + ElAlert, + ElButton, + ElButtonGroup, + ElContainer, + ElHeader, + ElAside, + ElFooter, + ElLink, + ElRadio, + ElRadioGroup, + ElRadioButton, + ElForm, + ElFormItem, + ElTable, + ElTableColumn, + ElCard, + ElInput, + ElInputNumber, + ElAutocomplete, + ElSelect, + ElCascader, + ElCascaderPanel, + ElCheckbox, + ElCheckboxGroup, + ElCheckboxButton, + ElBadge, + ElBreadcrumb, + ElCarousel, + ElCarouselItem, + ElCollapse, + ElCollapseItem, + ElColorPicker, + ElImage, + ElEmpty, + ElDropdown, + ElDropdownMenu, + ElDropdownItem, + ElDrawer, + ElDivider, + ElDialog, + ElDescriptions, + ElDescriptionItem, + ElDatePicker, + ElDatetimePicker, + ElMain, + ElMenu, + ElMenuItem, + ElPageHeader, + ElPagination, + ElPopconfirm, + ElPopover, + ElProgress, + ElRate, + ElResult, + ElSkeleton, + ElSkeletonItem, + ElSlider, + ElStatistic, + ElStep, + ElSteps, + ElSubmenu, + ElSwitch, + ElTabPane, + ElTabs, + ElTag, + ElTimeline, + ElTimelineItem, + ElTimePicker, + ElTimeSelect, + ElTooltip, + ElTransfer, + ElTree, + ElUpload, + ElAvatar, + ElBacktop, + ElOption, + ElOptionGroup, + ] +} + +export function getComponentMap() { + const isZh = getLocale().includes('zh') + + return isZh + ? [ + [ + ElRow, + '行布局', + '', + ], + [ + ElCol, + '列布局', + '', + ], + [ + ElContainer, + '布局容器', + '', + ], + [ + ElHeader, + '顶栏容器', + '', + ], + [ + ElAside, + '侧边栏容器', + '', + ], + [ + 'el-main', + '主要区域容器', + '', + ], + [ + ElFooter, + '底栏容器', + '', + ], + [ + ElButton, + '按钮', + '', + ], + [ + ElButtonGroup, + '按钮组', + '', + ], + [ + ElLink, + '文字链接', + '', + ], + [ + ElRadio, + '单选框', + '', + ], + [ + ElRadioGroup, + '单选框组', + '', + ], + [ + ElRadioButton, + '按钮样式的单选组合', + '', + ], + [ + ElCheckbox, + '多选框', + '', + ], + [ + ElCheckboxGroup, + '多选框组', + '', + ], + [ + ElCheckboxButton, + '按钮样式的多选组合', + '', + ], + [ + ElInput, + '输入框', + '', + ], + [ + ElInputNumber, + '计数器', + '', + ], + [ + ElSelect, + '选择器', + '', + ], + [ + ElOption, + '基础多选', + '', + ], + [ + ElOptionGroup, + '备选项进行分组展示', + '', + ], + [ + ElCascader, + '级联选择器', + '', + ], + [ + ElCascaderPanel, + '级联面板', + '', + ], + [ + ElSwitch, + '开关', + '', + ], + [ + ElSlider, + '滑块', + '', + ], + [ + ElTimeSelect, + '时间选择器', + '', + ], + [ + ElDatePicker, + '日期选择器/日期时间选择器', + '', + ], + [ + ElUpload, + '上传', + '', + ], + [ + ElRate, + '评分', + '', + ], + [ + ElColorPicker, + '颜色选择器', + '', + ], + [ + ElTransfer, + '穿梭框', + '', + ], + [ + ElForm, + '表单', + '', + ], + [ + ElFormItem, + '表单项', + '', + ], + [ + ElTable, + '表格', + '', + ], + [ + ElTableColumn, + '表格项', + '', + ], + [ + ElTag, + '标签', + '', + ], + [ + ElProgress, + '进度条', + '', + ], + [ + ElTree, + '树形控件', + '', + ], + [ + ElPagination, + '分页', + '', + ], + [ + ElBadge, + '标记', + '', + ], + [ + ElAvatar, + '头像', + '', + ], + [ + ElSkeleton, + '骨架屏', + '', + ], + [ + ElEmpty, + '空状态', + '', + ], + [ + ElDescriptions, + '描述列表', + '', + ], + [ + ElDescriptionItem, + '描述列表', + '', + ], + [ + 'el-descriptions-item', + '描述列表项', + '', + ], + [ + ElResult, + '结果', + '', + ], + [ + ElStatistic, + '统计数值', + '', + ], + [ + ElAlert, + '警告', + '', + ], + + [ + ElMain, + '主要区域容器', + '', + ], + [ + ElMenu, + '导航菜单', + '', + ], + [ + ElSubmenu, + '导航子菜单', + '', + ], + [ + ElMenuItem, + '导航菜单项', + '', + ], + [ + ElTabs, + '标签页', + '', + ], + [ + ElTabPane, + '标签项', + '', + ], + [ + ElBreadcrumb, + '面包屑', + '', + ], + [ + 'el-breadcrumb-item', + '面包屑项', + '', + ], + [ + ElPageHeader, + '页头', + '', + ], + [ + ElDropdown, + '下拉菜单', + '', + ], + [ + ElDropdownMenu, + '下拉菜单列表', + '', + ], + [ + ElDropdownItem, + '下拉菜单列表项', + '', + ], + [ + ElSteps, + '步骤条', + '', + ], + [ + ElDialog, + '对话框', + '', + ], + [ + ElTooltip, + '文字提示', + '', + ], + [ + ElPopover, + '弹出框', + '', + ], + [ + ElPopconfirm, + '气泡确认框', + '', + ], + [ + ElCard, + '卡片', + '', + ], + [ + ElCarousel, + '走马灯', + '', + ], + [ + ElCarouselItem, + '走马灯项', + '', + ], + [ + ElCollapse, + '折叠面板', + '', + ], + [ + ElCollapseItem, + '折叠面板项', + '', + ], + [ + ElTimeline, + '时间线', + '', + ], + [ + ElTimelineItem, + '时间线项', + '', + ], + [ + ElDivider, + '分割线', + '', + ], + [ + ElCalendar, + '日历', + '', + ], + [ + ElImage, + '图片', + '', + ], + [ + ElBacktop, + '回到顶部', + '', + ], + [ + ElDrawer, + '抽屉', + '', + ], + [ + ElAutocomplete, + '远程搜索', + '', + ], + ] + : [ + [ + ElRow, + 'Row layout', + '', + ], + [ + ElCol, + 'Column layout', + '', + ], + [ + ElContainer, + 'Layout container', + '', + ], + [ + ElHeader, + 'Top bar container', + '', + ], + [ + ElAside, + 'Sidebar container', + '', + ], + [ + 'el-main', + 'Main area container', + '', + ], + [ + ElFooter, + 'Bottom column container', + '', + ], + [ + ElButton, + 'button', + '', + ], + [ + ElButtonGroup, + 'button group', + '', + ], + [ + ElLink, + 'Text link', + '', + ], + [ + ElRadio, + 'Single box', + '', + ], + [ + ElRadioGroup, + 'Radio button group', + '', + ], + [ + ElRadioButton, + 'Radio combination of button styles', + '', + ], + [ + ElCheckbox, + 'Checkbox', + '', + ], + [ + ElCheckboxGroup, + 'Multiple selection box group', + '', + ], + [ + ElCheckboxButton, + 'Multi-select combination of button styles', + '', + ], + [ + ElInput, + 'Input box', + '', + ], + [ + ElInputNumber, + 'counter', + '', + ], + [ + ElSelect, + 'Selector', + '', + ], + [ + ElOption, + 'Basic multiple selection', + '', + ], + [ + ElOptionGroup, + 'Alternatives are displayed in groups', + '', + ], + [ + ElCascader, + 'Cascade selector', + '', + ], + [ + ElCascaderPanel, + 'Cascading Panel', + '', + ], + [ + ElSwitch, + 'switch', + '', + ], + [ + ElSlider, + 'slider', + '', + ], + [ + ElTimeSelect, + 'Time picker', + '', + ], + [ + ElDatePicker, + 'Date picker/date time picker', + '', + ], + [ + ElUpload, + 'Upload', + '', + ], + [ + ElRate, + 'score', + '', + ], + [ + ElColorPicker, + 'Color picker', + '', + ], + [ + ElTransfer, + 'Shuttle box', + '', + ], + [ + ElForm, + 'form', + '', + ], + [ + ElFormItem, + 'Form item', + '', + ], + [ + ElTable, + 'sheet', + '', + ], + [ + ElTableColumn, + 'Table item', + '', + ], + [ + ElTag, + 'Label', + '', + ], + [ + ElProgress, + 'progress bar', + '', + ], + [ + ElTree, + 'Tree control', + '', + ], + [ + ElPagination, + 'pagination', + '', + ], + [ + ElBadge, + 'mark', + '', + ], + [ + ElAvatar, + 'avatar', + '', + ], + [ + ElSkeleton, + 'Skeleton screen', + '', + ], + [ + ElEmpty, + 'Empty state', + '', + ], + [ + ElDescriptions, + 'Description list', + '', + ], + [ + ElDropdownItem, + 'Describe list item', + '', + ], + [ + ElResult, + 'result', + '', + ], + [ + ElStatistic, + 'statistical value', + '', + ], + [ + ElAlert, + 'warn', + '', + ], + [ + ElMenu, + 'Navigation menu', + '', + ], + [ + ElSubmenu, + 'Navigation submenu', + '', + ], + [ + ElMenuItem, + 'Navigation menu item', + '', + ], + [ + ElTabs, + 'Bookmark page', + '', + ], + [ + ElTabPane, + 'Tag item', + '', + ], + [ + ElBreadcrumb, + 'Bread crumbs', + '', + ], + [ + 'el-breadcrumb-item', + 'Breadcrumb item', + '', + ], + [ + ElPageHeader, + 'Header', + '', + ], + [ + ElDropdown, + 'Drop-down menu', + '', + ], + [ + ElDropdownMenu, + 'Drop-down menu list', + '', + ], + [ + ElDropdownItem, + 'Drop-down menu list item', + '', + ], + [ + ElSteps, + 'step bar', + '', + ], + [ + ElDialog, + 'Dialog', + '', + ], + [ + ElTooltip, + 'Text prompt', + '', + ], + [ + ElPopover, + 'Pop-up box', + '', + ], + [ + ElPopconfirm, + 'Bubble confirmation box', + '', + ], + [ + ElCard, + 'card', + '', + ], + [ + ElCarousel, + 'Revolving Lantern', + '', + ], + [ + ElCarouselItem, + 'Revolving Lantern', + '', + ], + [ + ElCollapse, + 'Collapse panel', + '', + ], + [ + ElCollapseItem, + 'Collapse panel item', + '', + ], + [ + ElTimeline, + 'timeline', + '', + ], + [ + ElTimelineItem, + 'Timeline item', + '', + ], + [ + ElDivider, + 'Dividing line', + '', + ], + [ + ElCalendar, + 'calendar', + '', + ], + [ + ElImage, + 'picture', + '', + ], + [ + ElBacktop, + 'back to the top', + '', + ], + [ + ElDrawer, + 'drawer', + '', + ], + [ + ElAutocomplete, + 'Remote search', + '', + ], + ] +} diff --git a/src/ui/materialUi/materialUi5/index.ts b/src/ui/materialUi/materialUi5/index.ts index 9eef36d3..2495120e 100644 --- a/src/ui/materialUi/materialUi5/index.ts +++ b/src/ui/materialUi/materialUi5/index.ts @@ -1,424 +1,17 @@ import { componentsReducer, propsReducer } from '../../utils' -import Accordion from './Accordion.json' -import AccordionActions from './AccordionActions.json' -import AccordionDetails from './AccordionDetails.json' -import AccordionSummary from './AccordionSummary.json' -import Alert from './Alert.json' -import AlertTitle from './AlertTitle.json' -import AppBar from './AppBar.json' -import Autocomplete from './Autocomplete.json' -import Avatar from './Avatar.json' -import AvatarGroup from './AvatarGroup.json' -import Backdrop from './Backdrop.json' -import Badge from './Badge.json' -import BottomNavigation from './BottomNavigation.json' -import BottomNavigationAction from './BottomNavigationAction.json' -import Box from './Box.json' -import Breadcrumbs from './Breadcrumbs.json' -import Button from './Button.json' -import ButtonBase from './ButtonBase.json' -import ButtonGroup from './ButtonGroup.json' -import Card from './Card.json' -import CardActionArea from './CardActionArea.json' -import CardActions from './CardActions.json' -import CardContent from './CardContent.json' -import CardHeader from './CardHeader.json' -import CardMedia from './CardMedia.json' -import Checkbox from './Checkbox.json' -import Chip from './Chip.json' -import CircularProgress from './CircularProgress.json' -import Collapse from './Collapse.json' -import Container from './Container.json' -import CssBaseline from './CssBaseline.json' -import Dialog from './Dialog.json' -import DialogActions from './DialogActions.json' -import DialogContent from './DialogContent.json' -import DialogContentText from './DialogContentText.json' -import DialogTitle from './DialogTitle.json' -import Divider from './Divider.json' -import Drawer from './Drawer.json' -import Fab from './Fab.json' -import Fade from './Fade.json' -import FilledInput from './FilledInput.json' -import FormControl from './FormControl.json' -import FormControlLabel from './FormControlLabel.json' -import FormGroup from './FormGroup.json' -import FormHelperText from './FormHelperText.json' -import FormLabel from './FormLabel.json' -import GlobalStyles from './GlobalStyles.json' -import Grid from './Grid.json' -import Grow from './Grow.json' -import Hidden from './Hidden.json' -import Icon from './Icon.json' -import IconButton from './IconButton.json' -import ImageList from './ImageList.json' -import ImageListItem from './ImageListItem.json' -import ImageListItemBar from './ImageListItemBar.json' -import Input from './Input.json' -import InputAdornment from './InputAdornment.json' -import InputBase from './InputBase.json' -import InputLabel from './InputLabel.json' -import LinearProgress from './LinearProgress.json' -import Link from './Link.json' -import List from './List.json' -import ListItem from './ListItem.json' -import ListItemAvatar from './ListItemAvatar.json' -import ListItemButton from './ListItemButton.json' -import ListItemIcon from './ListItemIcon.json' -import ListItemSecondaryAction from './ListItemSecondaryAction.json' -import ListItemText from './ListItemText.json' -import ListSubheader from './ListSubheader.json' -import LoadingButton from './LoadingButton.json' -import Masonry from './Masonry.json' -import Menu from './Menu.json' -import MenuItem from './MenuItem.json' -import MenuList from './MenuList.json' -import MobileStepper from './MobileStepper.json' -import Modal from './Modal.json' -import NativeSelect from './NativeSelect.json' -import OutlinedInput from './OutlinedInput.json' -import Pagination from './Pagination.json' -import PaginationItem from './PaginationItem.json' -import Paper from './Paper.json' -import Popover from './Popover.json' -import Popper from './Popper.json' -import Radio from './Radio.json' -import RadioGroup from './RadioGroup.json' -import Rating from './Rating.json' -import ScopedCssBaseline from './ScopedCssBaseline.json' -import Select from './Select.json' -import Skeleton from './Skeleton.json' -import Slide from './Slide.json' -import Slider from './Slider.json' -import Snackbar from './Snackbar.json' -import SnackbarContent from './SnackbarContent.json' -import SpeedDial from './SpeedDial.json' -import SpeedDialAction from './SpeedDialAction.json' -import SpeedDialIcon from './SpeedDialIcon.json' -import Stack from './Stack.json' -import Step from './Step.json' -import StepButton from './StepButton.json' -import StepConnector from './StepConnector.json' -import StepContent from './StepContent.json' -import StepIcon from './StepIcon.json' -import StepLabel from './StepLabel.json' -import Stepper from './Stepper.json' -import SvgIcon from './SvgIcon.json' -import SwipeableDrawer from './SwipeableDrawer.json' -import Switch from './Switch.json' -import Tab from './Tab.json' -import TabContext from './TabContext.json' -import TabList from './TabList.json' -import TabPanel from './TabPanel.json' -import TabScrollButton from './TabScrollButton.json' -import Table from './Table.json' -import TableBody from './TableBody.json' -import TableCell from './TableCell.json' -import TableContainer from './TableContainer.json' -import TableFooter from './TableFooter.json' -import TableHead from './TableHead.json' -import TablePagination from './TablePagination.json' -import TableRow from './TableRow.json' -import TableSortLabel from './TableSortLabel.json' -import Tabs from './Tabs.json' -import TextField from './TextField.json' -import Timeline from './Timeline.json' -import TimelineConnector from './TimelineConnector.json' -import TimelineContent from './TimelineContent.json' -import TimelineDot from './TimelineDot.json' -import TimelineItem from './TimelineItem.json' -import TimelineOppositeContent from './TimelineOppositeContent.json' -import TimelineSeparator from './TimelineSeparator.json' -import ToggleButton from './ToggleButton.json' -import ToggleButtonGroup from './ToggleButtonGroup.json' -import Toolbar from './Toolbar.json' -import Tooltip from './Tooltip.json' -import Typography from './Typography.json' -import Zoom from './Zoom.json' +import { getComponentMap, getPropsMap } from './mapping' -const map: any = [ - Accordion, - AccordionActions, - AccordionDetails, - AccordionSummary, - Alert, - AlertTitle, - AppBar, - Autocomplete, - Avatar, - AvatarGroup, - Backdrop, - Badge, - BottomNavigation, - BottomNavigationAction, - Box, - Breadcrumbs, - Button, - ButtonBase, - ButtonGroup, - Card, - CardActionArea, - CardActions, - CardContent, - CardHeader, - CardMedia, - Checkbox, - Chip, - CircularProgress, - Collapse, - Container, - CssBaseline, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - Divider, - Drawer, - Fab, - Fade, - FilledInput, - FormControl, - FormControlLabel, - FormGroup, - FormHelperText, - FormLabel, - GlobalStyles, - Grid, - Grow, - Hidden, - Icon, - IconButton, - ImageList, - ImageListItem, - ImageListItemBar, - Input, - InputAdornment, - InputBase, - InputLabel, - LinearProgress, - Link, - List, - ListItem, - ListItemAvatar, - ListItemButton, - ListItemIcon, - ListItemSecondaryAction, - ListItemText, - ListSubheader, - LoadingButton, - Masonry, - Menu, - MenuItem, - MenuList, - MobileStepper, - Modal, - NativeSelect, - OutlinedInput, - Pagination, - PaginationItem, - Paper, - Popover, - Popper, - Radio, - RadioGroup, - Rating, - ScopedCssBaseline, - Select, - Skeleton, - Slide, - Slider, - Snackbar, - SnackbarContent, - SpeedDial, - SpeedDialAction, - SpeedDialIcon, - Stack, - Step, - StepButton, - StepConnector, - StepContent, - StepIcon, - StepLabel, - Stepper, - SvgIcon, - SwipeableDrawer, - Switch, - Tab, - TabContext, - TabList, - TabPanel, - TabScrollButton, - Table, - TableBody, - TableCell, - TableContainer, - TableFooter, - TableHead, - TablePagination, - TableRow, - TableSortLabel, - Tabs, - TextField, - Timeline, - TimelineConnector, - TimelineContent, - TimelineDot, - TimelineItem, - TimelineOppositeContent, - TimelineSeparator, - ToggleButton, - ToggleButtonGroup, - Toolbar, - Tooltip, - Typography, - Zoom, -] export function materialUi5() { - return propsReducer('materialUi5', map, '') + return propsReducer({ + uiName: 'materialUi5', + map: getPropsMap(), + lib: '@mui/material', + }) } -const componentsMap = [ - [Accordion, Accordion.name, `<${Accordion.name}>'], - [popconfirm, '弹出确认', ''], - [timePicker, '时间选择器', ''], - [step, '步骤', ''], - [step, '步骤', ''], - ['n-anchor-link', '侧边导航', ''], - [countdown, '倒计时', ''], - [imageGroup, '照片组', ''], - [popselect, '弹出选择', ` - {{ value || '弹出选择' }} -`], - [dropdown, '下拉菜单', ` - 找个地方休息 -`], - [numberAnimation, '数值动画', ''], - [mention, '提及', ''], - [carousel, '轮播图', ''], - [log, '日志', ``], - [datePicker, '日期选择器', ''], - [cascader, '级联选择', ``], - [avatar, '头像', ``], - [avatarGroup, '头像组', ''], - [badge, '标记', ` - - `], - [breadcrumb, '面包屑', ` - - 北京总行 - - 天津分行 - - 平山道支行 -`], - [breadcrumbItem, '面包屑', ` - - 北京总行 - - 天津分行 - - 平山道支行 -`], - [button, '按钮', 'Default'], - [buttonGroup, '按钮组', 'Default'], - [checkbox, '复选框', ` - 复选框 -`], - [checkboxGroup, '复选框组', ` - - - - - - -`], - [dialog, '对话框', ``], - [modal, '模态框', ``], - [pagination, '分页', ''], - [popover, '弹出信息', ` - - 或许不想知道你的花园长得咋样 -`], - [radio, '单选', ` - Definitely Maybe -`], - [radioButton, '单选', ` -Definitely Maybe -`], - [radioGroup, '单选组', ` - - - {{ song.label }} - - -`], - [select, '选择器', ''], - ['n-switch', '开关', ''], - [table, '表格', ` - - - Abandon - Abnormal - - - - - ... - ... - - -`], - [dataTable, '数据表格', ``], - [form, '表单', ``], - [formItem, '表单', ` - - `], - [formItemGi, '表单', ` - -`], - [tabs, '标签页', ` - - {{ panel }} - -`], - [tab, '标签页'], - [tabPane, '标签页'], - [upload, '上传', ` - 上传文件 -`], - [autoComplete, '自动填充', ``], - [image, '图像', ``], - [input, '文本输入', ''], - [inputNumber, '数字输入', ''], - [layout, '布局', ''], - [layoutSider, '布局', '海淀桥'], - [layoutHeader, '布局', '海淀桥'], - [layoutContent, '布局', '海淀桥'], - [layoutFooter, '布局', '海淀桥'], - [loadingBarProvider, '加载条', ` - -`], - [menu, '菜单', ''], - [messageProvider, '信息', ` - -`], - [notificationProvider, '通知', ` - -`], - [rate, '评分', ''], - [result, '结果页', ` - -`], - [scrollbar, '滚动条', ''], - [skeleton, '骨架屏', ' '], - [slider, '滑动选择', ''], - [space, '间距', ` - Oops! - Oops! - Oops! - Long! Long! Cross the line! -`], - [spin, '加载', ''], - [statistic, '统计数据', '`], - [step, '步骤', ``], - [tag, '标签', ' 爱在西元前 '], - [thing, '东西', ''], - [time, '时间', ''], - [timeline, '时间线', ''], - [timelineItem, '时间线', ''], - [transfer, '穿梭框', ''], - [tree, '树', ``], - [treeSelect, '树型选择', ``], - [text, '排印', ` - sin(x) -`], - [h1, '排印', ''], - [h2, '排印', ''], - [h3, '排印', ''], - [h4, '排印', ''], - [h5, '排印', ''], - [h6, '排印', ''], - [u1, '排印', ''], - [o1, '排印', ''], - [watermark, '水印', ``], - ] - : [ - [anchor, 'Side navigation', ''], - [popconfirm, 'Pop confirmation', ''], - [timePicker, 'Time Picker', ''], - [step, 'step', ''], - [step, 'step', ''], - ['n-anchor-link', 'Side navigation', ''], - [countdown, 'Countdown', ''], - [imageGroup, 'Photo group', ''], - [popselect, 'pop-up selection', ` - {{ value || 'Popup selection' }} -`], - [dropdown, 'Drop-down menu', ` - Find a place to rest -`], - [numberAnimation, 'Numerical animation', ''], - [mention, 'mention', ''], - [carousel, 'carousel', ''], - [log, 'log', ``], - [datePicker, 'Date Picker', ''], - [cascader, 'cascading selection', ``], - [avatar, 'avatar', ``], - [avatarGroup, 'avatar group', ''], - [badge, 'mark', ` - - `], - [breadcrumb, 'breadcrumb', ` - - Beijing Head Office - - Tianjin Branch - - Ping Shan Road Branch -`], - [breadcrumbItem, 'breadcrumb', ` - - Beijing Head Office - - Tianjin Branch - - Ping Shan Road Branch -`], - [button, 'button', 'Default'], - [buttonGroup, 'Button group', 'Default'], - [checkbox, 'checkbox', ` - checkbox -`], - [checkboxGroup, 'checkbox group', ` - - - - - - -`], - [dialog, 'Dialog', ``], - [modal, 'modal box', ``], - [pagination, 'pagination', ''], - [popover, 'pop-up message', ` - - Maybe you don’t want to know what your garden looks like -`], - [radio, 'radio', ` - Definitely Maybe -`], - [radioButton, 'Radio selection', ` -Definitely Maybe -`], - [radioGroup, 'radio group', ` - - - {{ song.label }} - - -`], - [select, 'selector', ''], - ['n-switch', 'switch', ''], - [table, 'table', ` - - - Abandon - Abnormal - - - - - ... - ... - - -`], - [dataTable, 'data table', ``], - [form, 'form', ``], - [formItem, 'form', ` - - `], - [formItemGi, 'Form', ` - -`], - [tabs, 'tabs', ` - - {{ panel }} - -`], - [tab, 'tab'], - [tabPane, 'TabPane'], - [upload, 'upload', ` - Upload files -`], - [autoComplete, 'autocomplete', ``], - [image, 'image', ``], - [input, 'Text input', ''], - [inputNumber, 'Number input', ''], - [layout, 'layout', ''], - [layoutSider, 'layout', 'Haidian Bridge'], - [layoutHeader, 'layout', 'Haidian Bridge'], - [layoutContent, 'layout', 'Haidian Bridge'], - [layoutFooter, 'layout', 'Haidian Bridge'], - [loadingBarProvider, 'Loading bar', ` - -`], - [menu, 'menu', ''], - [messageProvider, 'message', ` - -`], - [notificationProvider, 'notification', ` - -`], - [rate, 'rating', ''], - [result, 'Result page', ` - -`], - [scrollbar, 'Scrollbar', ''], - [skeleton, 'skeleton screen', ' '], - [slider, 'Sliding selection', ''], - [space, 'spacing', ` - Oops! - Oops! - Oops! - Long! Long! Cross the line! -`], - [spin, 'Loading', ''], - [statistic, 'statistical data', '`], - [step, 'step', ``], - [tag, 'tag', ' love in BC '], - [thing, 'something', ''], - [time, 'time', ''], - [timeline, 'Timeline', ''], - [timelineItem, 'Timeline', ''], - [transfer, 'shuttle box', ''], - [tree, 'tree', ``], - [treeSelect, 'tree selection', ``], - [text, 'Typography', ` - sin(x) -`], - [h1, 'Typography', ''], - [h2, 'Typography', ''], - [h3, 'Typography', ''], - [h4, 'Typography', ''], - [h5, 'Typography', ''], - [h6, 'Typography', ''], - [u1, 'Typography', ''], - [o1, 'Typography', ''], - [watermark, 'watermark', ``], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'n', lib: 'naive-ui', diff --git a/src/ui/naiveUi/naiveUi2/mapping.ts b/src/ui/naiveUi/naiveUi2/mapping.ts new file mode 100644 index 00000000..5a73ccd9 --- /dev/null +++ b/src/ui/naiveUi/naiveUi2/mapping.ts @@ -0,0 +1,746 @@ +import { getLocale } from '@vscode-use/utils' +import anchor from './anchor.json' +import popconfirm from './popconfirm.json' +import step from './step.json' +import steps from './steps.json' +import timePicker from './timePicker.json' +import button from './button.json' +import buttonGroup from './buttonGroup.json' +import avatar from './avatar.json' +import avatarGroup from './avatarGroup.json' +import badge from './badge.json' +import breadcrumb from './breadcrumb.json' +import breadcrumbItem from './breadcrumbItem.json' +import carousel from './carousel.json' +import cascader from './cascader.json' +import countdown from './countdown.json' +import checkbox from './checkbox.json' +import checkboxGroup from './checkboxGroup.json' +import dialog from './dialog.json' +import datePicker from './datePicker.json' +import modal from './modal.json' +import mention from './mention.json' +import pagination from './pagination.json' +import popover from './popover.json' +import radio from './radio.json' +import radioButton from './radioButton.json' +import radioGroup from './radioGroup.json' +import select from './select.json' +import nswitch from './switch.json' +import table from './table.json' +import dataTable from './dataTable.json' +import form from './form.json' +import formItem from './formItem.json' +import formItemGi from './formItemGi.json' +import tabs from './tabs.json' +import tab from './tab.json' +import tabPane from './tabPane.json' +import upload from './upload.json' +import autoComplete from './autoComplete.json' +import image from './image.json' +import input from './input.json' +import inputNumber from './inputNumber.json' +import layout from './layout.json' +import layoutSider from './layoutSider.json' +import layoutContent from './layoutContent.json' +import layoutHeader from './layoutHeader.json' +import layoutFooter from './layoutFooter.json' +import loadingBarProvider from './loadingBarProvider.json' +import log from './log.json' +import menu from './menu.json' +import messageProvider from './messageProvider.json' +import notificationProvider from './notificationProvider.json' +import numberAnimation from './numberAnimation.json' +import rate from './rate.json' +import result from './result.json' +import scrollbar from './scrollbar.json' +import skeleton from './skeleton.json' +import slider from './slider.json' +import space from './space.json' +import spin from './spin.json' +import statistic from './statistic.json' +import tag from './tag.json' +import thing from './thing.json' +import time from './time.json' +import timeline from './timeline.json' +import timelineItem from './timelineItem.json' +import transfer from './transfer.json' +import tree from './tree.json' +import treeSelect from './treeSelect.json' +import text from './text.json' +import h1 from './h1.json' +import h2 from './h2.json' +import h3 from './h3.json' +import h4 from './h4.json' +import h5 from './h5.json' +import h6 from './h6.json' +import o1 from './o1.json' +import u1 from './u1.json' +import watermark from './watermark.json' +import dropdown from './dropdown.json' +import imageGroup from './imageGroup.json' +import popselect from './popselect.json' + +export function getPropsMap() { + return [ + anchor, + timePicker, + popconfirm, + step, + steps, + avatar, + avatarGroup, + badge, + breadcrumb, + breadcrumbItem, + imageGroup, + popselect, + button, + buttonGroup, + carousel, + cascader, + countdown, + checkbox, + checkboxGroup, + dialog, + modal, + mention, + numberAnimation, + pagination, + popover, + radio, + radioGroup, + radioButton, + select, + nswitch, + table, + dataTable, + datePicker, + form, + formItem, + formItemGi, + tabs, + tab, + tabPane, + upload, + autoComplete, + image, + input, + inputNumber, + dropdown, + layout, + layoutSider, + layoutContent, + layoutHeader, + layoutFooter, + loadingBarProvider, + log, + menu, + messageProvider, + notificationProvider, + rate, + result, + scrollbar, + skeleton, + slider, + space, + spin, + statistic, + tag, + thing, + time, + timeline, + timelineItem, + transfer, + tree, + treeSelect, + text, + h1, + h2, + h3, + h4, + h5, + h6, + o1, + u1, + watermark, + ] +} + +export function getComponentMap() { + const isZh = getLocale().includes('zh') + + return isZh + ? [ + [anchor, '侧边导航', ''], + [popconfirm, '弹出确认', ''], + [timePicker, '时间选择器', ''], + [step, '步骤', ''], + [step, '步骤', ''], + ['n-anchor-link', '侧边导航', ''], + [countdown, '倒计时', ''], + [imageGroup, '照片组', ''], + [popselect, '弹出选择', ` + {{ value || '弹出选择' }} +`], + [dropdown, '下拉菜单', ` + 找个地方休息 +`], + [numberAnimation, '数值动画', ''], + [mention, '提及', ''], + [carousel, '轮播图', ''], + [log, '日志', ``], + [datePicker, '日期选择器', ''], + [cascader, '级联选择', ``], + [avatar, '头像', ``], + [avatarGroup, '头像组', ''], + [badge, '标记', ` + + `], + [breadcrumb, '面包屑', ` + + 北京总行 + + 天津分行 + + 平山道支行 +`], + [breadcrumbItem, '面包屑', ` + + 北京总行 + + 天津分行 + + 平山道支行 +`], + [button, '按钮', 'Default'], + [buttonGroup, '按钮组', 'Default'], + [checkbox, '复选框', ` + 复选框 +`], + [checkboxGroup, '复选框组', ` + + + + + + +`], + [dialog, '对话框', ``], + [modal, '模态框', ``], + [pagination, '分页', ''], + [popover, '弹出信息', ` + + 或许不想知道你的花园长得咋样 +`], + [radio, '单选', ` + Definitely Maybe +`], + [radioButton, '单选', ` +Definitely Maybe +`], + [radioGroup, '单选组', ` + + + {{ song.label }} + + +`], + [select, '选择器', ''], + ['n-switch', '开关', ''], + [table, '表格', ` + + + Abandon + Abnormal + + + + + ... + ... + + +`], + [dataTable, '数据表格', ``], + [form, '表单', ``], + [formItem, '表单', ` + + `], + [formItemGi, '表单', ` + +`], + [tabs, '标签页', ` + + {{ panel }} + +`], + [tab, '标签页'], + [tabPane, '标签页'], + [upload, '上传', ` + 上传文件 +`], + [autoComplete, '自动填充', ``], + [image, '图像', ``], + [input, '文本输入', ''], + [inputNumber, '数字输入', ''], + [layout, '布局', ''], + [layoutSider, '布局', '海淀桥'], + [layoutHeader, '布局', '海淀桥'], + [layoutContent, '布局', '海淀桥'], + [layoutFooter, '布局', '海淀桥'], + [loadingBarProvider, '加载条', ` + +`], + [menu, '菜单', ''], + [messageProvider, '信息', ` + +`], + [notificationProvider, '通知', ` + +`], + [rate, '评分', ''], + [result, '结果页', ` + +`], + [scrollbar, '滚动条', ''], + [skeleton, '骨架屏', ' '], + [slider, '滑动选择', ''], + [space, '间距', ` + Oops! + Oops! + Oops! + Long! Long! Cross the line! +`], + [spin, '加载', ''], + [statistic, '统计数据', '`], + [step, '步骤', ``], + [tag, '标签', ' 爱在西元前 '], + [thing, '东西', ''], + [time, '时间', ''], + [timeline, '时间线', ''], + [timelineItem, '时间线', ''], + [transfer, '穿梭框', ''], + [tree, '树', ``], + [treeSelect, '树型选择', ``], + [text, '排印', ` + sin(x) +`], + [h1, '排印', ''], + [h2, '排印', ''], + [h3, '排印', ''], + [h4, '排印', ''], + [h5, '排印', ''], + [h6, '排印', ''], + [u1, '排印', ''], + [o1, '排印', ''], + [watermark, '水印', ``], + ] + : [ + [anchor, 'Side navigation', ''], + [popconfirm, 'Pop confirmation', ''], + [timePicker, 'Time Picker', ''], + [step, 'step', ''], + [step, 'step', ''], + ['n-anchor-link', 'Side navigation', ''], + [countdown, 'Countdown', ''], + [imageGroup, 'Photo group', ''], + [popselect, 'pop-up selection', ` + {{ value || 'Popup selection' }} +`], + [dropdown, 'Drop-down menu', ` + Find a place to rest +`], + [numberAnimation, 'Numerical animation', ''], + [mention, 'mention', ''], + [carousel, 'carousel', ''], + [log, 'log', ``], + [datePicker, 'Date Picker', ''], + [cascader, 'cascading selection', ``], + [avatar, 'avatar', ``], + [avatarGroup, 'avatar group', ''], + [badge, 'mark', ` + + `], + [breadcrumb, 'breadcrumb', ` + + Beijing Head Office + + Tianjin Branch + + Ping Shan Road Branch +`], + [breadcrumbItem, 'breadcrumb', ` + + Beijing Head Office + + Tianjin Branch + + Ping Shan Road Branch +`], + [button, 'button', 'Default'], + [buttonGroup, 'Button group', 'Default'], + [checkbox, 'checkbox', ` + checkbox +`], + [checkboxGroup, 'checkbox group', ` + + + + + + +`], + [dialog, 'Dialog', ``], + [modal, 'modal box', ``], + [pagination, 'pagination', ''], + [popover, 'pop-up message', ` + + Maybe you don’t want to know what your garden looks like +`], + [radio, 'radio', ` + Definitely Maybe +`], + [radioButton, 'Radio selection', ` +Definitely Maybe +`], + [radioGroup, 'radio group', ` + + + {{ song.label }} + + +`], + [select, 'selector', ''], + ['n-switch', 'switch', ''], + [table, 'table', ` + + + Abandon + Abnormal + + + + + ... + ... + + +`], + [dataTable, 'data table', ``], + [form, 'form', ``], + [formItem, 'form', ` + + `], + [formItemGi, 'Form', ` + +`], + [tabs, 'tabs', ` + + {{ panel }} + +`], + [tab, 'tab'], + [tabPane, 'TabPane'], + [upload, 'upload', ` + Upload files +`], + [autoComplete, 'autocomplete', ``], + [image, 'image', ``], + [input, 'Text input', ''], + [inputNumber, 'Number input', ''], + [layout, 'layout', ''], + [layoutSider, 'layout', 'Haidian Bridge'], + [layoutHeader, 'layout', 'Haidian Bridge'], + [layoutContent, 'layout', 'Haidian Bridge'], + [layoutFooter, 'layout', 'Haidian Bridge'], + [loadingBarProvider, 'Loading bar', ` + +`], + [menu, 'menu', ''], + [messageProvider, 'message', ` + +`], + [notificationProvider, 'notification', ` + +`], + [rate, 'rating', ''], + [result, 'Result page', ` + +`], + [scrollbar, 'Scrollbar', ''], + [skeleton, 'skeleton screen', ' '], + [slider, 'Sliding selection', ''], + [space, 'spacing', ` + Oops! + Oops! + Oops! + Long! Long! Cross the line! +`], + [spin, 'Loading', ''], + [statistic, 'statistical data', '`], + [step, 'step', ``], + [tag, 'tag', ' love in BC '], + [thing, 'something', ''], + [time, 'time', ''], + [timeline, 'Timeline', ''], + [timelineItem, 'Timeline', ''], + [transfer, 'shuttle box', ''], + [tree, 'tree', ``], + [treeSelect, 'tree selection', ``], + [text, 'Typography', ` + sin(x) +`], + [h1, 'Typography', ''], + [h2, 'Typography', ''], + [h3, 'Typography', ''], + [h4, 'Typography', ''], + [h5, 'Typography', ''], + [h6, 'Typography', ''], + [u1, 'Typography', ''], + [o1, 'Typography', ''], + [watermark, 'watermark', ``], + ] +} diff --git a/src/ui/nextUi/nextUi2/index.ts b/src/ui/nextUi/nextUi2/index.ts index b5dc72a2..8012ac13 100644 --- a/src/ui/nextUi/nextUi2/index.ts +++ b/src/ui/nextUi/nextUi2/index.ts @@ -1,466 +1,17 @@ import { componentsReducer, propsReducer } from '../../utils' -import NextUIProvider from './NextUIProvider.json' -import Accordion from './Accordion.json' -import Autocomplete from './Autocomplete.json' -import AutocompleteItem from './AutocompleteItem.json' -import AutocompleteSection from './AutocompleteSection.json' -import AccordionItem from './AccordionItem.json' -import Avatar from './Avatar.json' -import AvatarGroup from './AvatarGroup.json' -import Badge from './Badge.json' -import Breadcrumbs from './Breadcrumbs.json' -import BreadcrumbItem from './BreadcrumbItem.json' -import Button from './Button.json' -import ButtonGroup from './ButtonGroup.json' -import Card from './Card.json' -import Checkbox from './Checkbox.json' -import CheckboxGroup from './CheckboxGroup.json' -import Chip from './Chip.json' -import CircularProgress from './CircularProgress.json' -import Code from './Code.json' -import Divider from './Divider.json' -import Dropdown from './Dropdown.json' -import DropdownItem from './DropdownItem.json' -import DropdownMenu from './DropdownMenu.json' -import DropdownSection from './DropdownSection.json' -import DropdownTrigger from './DropdownTrigger.json' -import Image from './Image.json' -import Input from './Input.json' -import KeyboardKey from './KeyboardKey.json' -import Link from './Link.json' -import Listbox from './Listbox.json' -import ListboxItem from './ListboxItem.json' -import ListboxSection from './ListboxSection.json' -import Modal from './Modal.json' -import Navbar from './Navbar.json' -import NavbarContent from './NavbarContent.json' -import NavbarItem from './NavbarItem.json' -import NavbarMenu from './NavbarMenu.json' -import NavbarMenuToggle from './NavbarMenuToggle.json' -import Pagination from './Pagination.json' -import Popover from './Popover.json' -import Progress from './Progress.json' -import PopoverContent from './PopoverContent.json' -import PopoverTrigger from './PopoverTrigger.json' -import Radio from './Radio.json' -import RadioGroup from './RadioGroup.json' -import Select from './Select.json' -import Slider from './Slider.json' -import ShadowScroll from './ShadowScroll.json' -import Skeleton from './Skeleton.json' -import Snippet from './Snippet.json' -import Spacer from './Spacer.json' -import Spinner from './Spinner.json' -import Switch from './Switch.json' -import Tab from './Tab.json' -import Table from './Table.json' -import TableBody from './TableBody.json' -import TableCell from './TableCell.json' -import TableColumn from './TableColumn.json' -import TableHeader from './TableHeader.json' -import TableRow from './TableRow.json' -import Tabs from './Tabs.json' -import Textarea from './Textarea.json' -import Tooltip from './Tooltip.json' -import User from './User.json' +import { getComponentMap, getPropsMap } from './mapping' export function nextui2() { - const map: any = [ - NextUIProvider, - Accordion, - AccordionItem, - Autocomplete, - AutocompleteItem, - AutocompleteSection, - Avatar, - AvatarGroup, - Badge, - Breadcrumbs, - BreadcrumbItem, - Button, - ButtonGroup, - Card, - Checkbox, - CheckboxGroup, - Chip, - CircularProgress, - Code, - Divider, - Dropdown, - DropdownItem, - DropdownMenu, - DropdownSection, - DropdownTrigger, - Image, - Input, - KeyboardKey, - Link, - Listbox, - ListboxItem, - ListboxSection, - Modal, - Navbar, - NavbarContent, - NavbarItem, - NavbarMenu, - NavbarMenuToggle, - Pagination, - Popover, - Progress, - PopoverContent, - PopoverTrigger, - Radio, - RadioGroup, - Select, - Slider, - ShadowScroll, - Skeleton, - Snippet, - Spacer, - Spinner, - Switch, - Tab, - Table, - TableBody, - TableCell, - TableColumn, - TableHeader, - TableRow, - Tabs, - Textarea, - Tooltip, - User, - ] - - return propsReducer('@nextui-org/react2', map, '') + return propsReducer({ + uiName: '@nextui-org/react2', + map: getPropsMap(), + lib: '@nextui-org/react', + }) } export function nextui2Components() { - const map = [ - [ - NextUIProvider, - 'NextUIProvider', - '', - ], - [ - Accordion, - 'Accordion', - '', - ], - [ - AccordionItem, - 'AccordionItem', - '', - ], - [ - Autocomplete, - 'Autocomplete', - '', - ], - [ - AutocompleteItem, - 'AutocompleteItem', - '', - ], - [ - AutocompleteSection, - 'AutocompleteSection', - '', - ], - [ - Avatar, - 'Avatar', - '', - ], - [ - AvatarGroup, - 'AvatarGroup', - '', - ], - [ - Badge, - 'Badge', - '', - ], - [ - Breadcrumbs, - 'Breadcrumbs', - '', - ], - [ - BreadcrumbItem, - 'BreadcrumbItem', - '', - ], - [ - Button, - 'Button', - '', - ], - [ - ButtonGroup, - 'ButtonGroup', - '', - ], - [ - Card, - 'Card', - '', - ], - [ - Checkbox, - 'Checkbox', - '', - ], - [ - CheckboxGroup, - 'CheckboxGroup', - '', - ], - [ - Chip, - 'Chip', - '', - ], - [ - CircularProgress, - 'CircularProgress', - '', - ], - [ - Code, - 'Code', - '', - ], - [ - Divider, - 'Divider', - '', - ], - [ - Dropdown, - 'Dropdown', - '', - ], - [ - DropdownItem, - 'DropdownItem', - '', - ], - [ - DropdownMenu, - 'DropdownMenu', - '', - ], - [ - DropdownSection, - 'DropdownSection', - '', - ], - [ - DropdownTrigger, - 'DropdownTrigger', - '', - ], - [ - Image, - 'Image', - '', - ], - [ - Input, - 'Input', - '', - ], - [ - KeyboardKey, - 'KeyboardKey', - '', - ], - [ - Link, - 'Link', - '', - ], - [ - Listbox, - 'Listbox', - '', - ], - [ - ListboxItem, - 'ListboxItem', - '', - ], - [ - ListboxSection, - 'ListboxSection', - '', - ], - [ - Modal, - 'Modal', - '', - ], - [ - Navbar, - 'Navbar', - '', - ], - [ - NavbarContent, - 'NavbarContent', - '', - ], - [ - NavbarItem, - 'NavbarItem', - '', - ], - [ - NavbarMenu, - 'NavbarMenu', - '', - ], - [ - NavbarMenuToggle, - 'NavbarMenuToggle', - '', - ], - [ - Pagination, - 'Pagination', - '', - ], - [ - Popover, - 'Popover', - '', - ], - [ - Progress, - 'Progress', - '', - ], - [ - PopoverContent, - 'PopoverContent', - '', - ], - [ - PopoverTrigger, - 'PopoverTrigger', - '', - ], - [ - Radio, - 'Radio', - '', - ], - [ - RadioGroup, - 'RadioGroup', - '', - ], - [ - Slider, - 'Slider', - '', - ], - [ - Select, - 'Select', - '', - ], - [ - ShadowScroll, - 'ShadowScroll', - '', - ], - [ - Skeleton, - 'Skeleton', - '', - ], - [ - Snippet, - 'Snippet', - '', - ], - [ - Spacer, - 'Spacer', - '', - ], - [ - Spinner, - 'Spinner', - '', - ], - [ - Switch, - 'Switch', - '', - ], - [ - Tab, - 'Tab', - '', - ], - [ - Table, - 'Table', - '
', - ], - [ - TableBody, - 'TableBody', - '', - ], - [ - TableCell, - 'TableCell', - '', - ], - [ - TableColumn, - 'TableColumn', - '', - ], - [ - TableHeader, - 'TableHeader', - '', - ], - [ - TableRow, - 'TableRow', - '', - ], - [ - Tabs, - 'Tabs', - '', - ], - [ - Textarea, - 'Textarea', - '', - ], - [ - Tooltip, - 'Tooltip', - '', - ], - [ - User, - 'User', - '', - ], - ] - return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: false, prefix: '', lib: '@nextui-org/react', diff --git a/src/ui/nextUi/nextUi2/mapping.ts b/src/ui/nextUi/nextUi2/mapping.ts new file mode 100644 index 00000000..c57d1118 --- /dev/null +++ b/src/ui/nextUi/nextUi2/mapping.ts @@ -0,0 +1,458 @@ +import NextUIProvider from './NextUIProvider.json' +import Accordion from './Accordion.json' +import Autocomplete from './Autocomplete.json' +import AutocompleteItem from './AutocompleteItem.json' +import AutocompleteSection from './AutocompleteSection.json' +import AccordionItem from './AccordionItem.json' +import Avatar from './Avatar.json' +import AvatarGroup from './AvatarGroup.json' +import Badge from './Badge.json' +import Breadcrumbs from './Breadcrumbs.json' +import BreadcrumbItem from './BreadcrumbItem.json' +import Button from './Button.json' +import ButtonGroup from './ButtonGroup.json' +import Card from './Card.json' +import Checkbox from './Checkbox.json' +import CheckboxGroup from './CheckboxGroup.json' +import Chip from './Chip.json' +import CircularProgress from './CircularProgress.json' +import Code from './Code.json' +import Divider from './Divider.json' +import Dropdown from './Dropdown.json' +import DropdownItem from './DropdownItem.json' +import DropdownMenu from './DropdownMenu.json' +import DropdownSection from './DropdownSection.json' +import DropdownTrigger from './DropdownTrigger.json' +import Image from './Image.json' +import Input from './Input.json' +import KeyboardKey from './KeyboardKey.json' +import Link from './Link.json' +import Listbox from './Listbox.json' +import ListboxItem from './ListboxItem.json' +import ListboxSection from './ListboxSection.json' +import Modal from './Modal.json' +import Navbar from './Navbar.json' +import NavbarContent from './NavbarContent.json' +import NavbarItem from './NavbarItem.json' +import NavbarMenu from './NavbarMenu.json' +import NavbarMenuToggle from './NavbarMenuToggle.json' +import Pagination from './Pagination.json' +import Popover from './Popover.json' +import Progress from './Progress.json' +import PopoverContent from './PopoverContent.json' +import PopoverTrigger from './PopoverTrigger.json' +import Radio from './Radio.json' +import RadioGroup from './RadioGroup.json' +import Select from './Select.json' +import Slider from './Slider.json' +import ShadowScroll from './ShadowScroll.json' +import Skeleton from './Skeleton.json' +import Snippet from './Snippet.json' +import Spacer from './Spacer.json' +import Spinner from './Spinner.json' +import Switch from './Switch.json' +import Tab from './Tab.json' +import Table from './Table.json' +import TableBody from './TableBody.json' +import TableCell from './TableCell.json' +import TableColumn from './TableColumn.json' +import TableHeader from './TableHeader.json' +import TableRow from './TableRow.json' +import Tabs from './Tabs.json' +import Textarea from './Textarea.json' +import Tooltip from './Tooltip.json' +import User from './User.json' + +export function getPropsMap() { + return [ + NextUIProvider, + Accordion, + AccordionItem, + Autocomplete, + AutocompleteItem, + AutocompleteSection, + Avatar, + AvatarGroup, + Badge, + Breadcrumbs, + BreadcrumbItem, + Button, + ButtonGroup, + Card, + Checkbox, + CheckboxGroup, + Chip, + CircularProgress, + Code, + Divider, + Dropdown, + DropdownItem, + DropdownMenu, + DropdownSection, + DropdownTrigger, + Image, + Input, + KeyboardKey, + Link, + Listbox, + ListboxItem, + ListboxSection, + Modal, + Navbar, + NavbarContent, + NavbarItem, + NavbarMenu, + NavbarMenuToggle, + Pagination, + Popover, + Progress, + PopoverContent, + PopoverTrigger, + Radio, + RadioGroup, + Select, + Slider, + ShadowScroll, + Skeleton, + Snippet, + Spacer, + Spinner, + Switch, + Tab, + Table, + TableBody, + TableCell, + TableColumn, + TableHeader, + TableRow, + Tabs, + Textarea, + Tooltip, + User, + ] +} + +export function getComponentMap() { + return [ + [ + NextUIProvider, + 'NextUIProvider', + '', + ], + [ + Accordion, + 'Accordion', + '', + ], + [ + AccordionItem, + 'AccordionItem', + '', + ], + [ + Autocomplete, + 'Autocomplete', + '', + ], + [ + AutocompleteItem, + 'AutocompleteItem', + '', + ], + [ + AutocompleteSection, + 'AutocompleteSection', + '', + ], + [ + Avatar, + 'Avatar', + '', + ], + [ + AvatarGroup, + 'AvatarGroup', + '', + ], + [ + Badge, + 'Badge', + '', + ], + [ + Breadcrumbs, + 'Breadcrumbs', + '', + ], + [ + BreadcrumbItem, + 'BreadcrumbItem', + '', + ], + [ + Button, + 'Button', + '', + ], + [ + ButtonGroup, + 'ButtonGroup', + '', + ], + [ + Card, + 'Card', + '', + ], + [ + Checkbox, + 'Checkbox', + '', + ], + [ + CheckboxGroup, + 'CheckboxGroup', + '', + ], + [ + Chip, + 'Chip', + '', + ], + [ + CircularProgress, + 'CircularProgress', + '', + ], + [ + Code, + 'Code', + '', + ], + [ + Divider, + 'Divider', + '', + ], + [ + Dropdown, + 'Dropdown', + '', + ], + [ + DropdownItem, + 'DropdownItem', + '', + ], + [ + DropdownMenu, + 'DropdownMenu', + '', + ], + [ + DropdownSection, + 'DropdownSection', + '', + ], + [ + DropdownTrigger, + 'DropdownTrigger', + '', + ], + [ + Image, + 'Image', + '', + ], + [ + Input, + 'Input', + '', + ], + [ + KeyboardKey, + 'KeyboardKey', + '', + ], + [ + Link, + 'Link', + '', + ], + [ + Listbox, + 'Listbox', + '', + ], + [ + ListboxItem, + 'ListboxItem', + '', + ], + [ + ListboxSection, + 'ListboxSection', + '', + ], + [ + Modal, + 'Modal', + '', + ], + [ + Navbar, + 'Navbar', + '', + ], + [ + NavbarContent, + 'NavbarContent', + '', + ], + [ + NavbarItem, + 'NavbarItem', + '', + ], + [ + NavbarMenu, + 'NavbarMenu', + '', + ], + [ + NavbarMenuToggle, + 'NavbarMenuToggle', + '', + ], + [ + Pagination, + 'Pagination', + '', + ], + [ + Popover, + 'Popover', + '', + ], + [ + Progress, + 'Progress', + '', + ], + [ + PopoverContent, + 'PopoverContent', + '', + ], + [ + PopoverTrigger, + 'PopoverTrigger', + '', + ], + [ + Radio, + 'Radio', + '', + ], + [ + RadioGroup, + 'RadioGroup', + '', + ], + [ + Slider, + 'Slider', + '', + ], + [ + Select, + 'Select', + '', + ], + [ + ShadowScroll, + 'ShadowScroll', + '', + ], + [ + Skeleton, + 'Skeleton', + '', + ], + [ + Snippet, + 'Snippet', + '', + ], + [ + Spacer, + 'Spacer', + '', + ], + [ + Spinner, + 'Spinner', + '', + ], + [ + Switch, + 'Switch', + '', + ], + [ + Tab, + 'Tab', + '', + ], + [ + Table, + 'Table', + '
', + ], + [ + TableBody, + 'TableBody', + '', + ], + [ + TableCell, + 'TableCell', + '', + ], + [ + TableColumn, + 'TableColumn', + '', + ], + [ + TableHeader, + 'TableHeader', + '', + ], + [ + TableRow, + 'TableRow', + '', + ], + [ + Tabs, + 'Tabs', + '', + ], + [ + Textarea, + 'Textarea', + '', + ], + [ + Tooltip, + 'Tooltip', + '', + ], + [ + User, + 'User', + '', + ], + ] +} diff --git a/src/ui/nutUi/nutUi4/index.ts b/src/ui/nutUi/nutUi4/index.ts index acfe9934..53398995 100644 --- a/src/ui/nutUi/nutUi4/index.ts +++ b/src/ui/nutUi/nutUi4/index.ts @@ -1,326 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import ActionSheet from './ActionSheet.json' -import Address from './Address.json' -import AddressList from './AddressList.json' -import Animate from './Animate.json' -import Audio from './Audio.json' -import Avatar from './Avatar.json' -import AvatarCropper from './AvatarCropper.json' -import AvatarGroup from './AvatarGroup.json' -import Backtop from './Backtop.json' -import Badge from './Badge.json' -import Barrage from './Barrage.json' -import Button from './Button.json' -import Calendar from './Calendar.json' -import CalendarCard from './CalendarCard.json' -import Card from './Card.json' -import Cascader from './Cascader.json' -import Category from './Category.json' -import CategoryPane from './CategoryPane.json' -import Cell from './Cell.json' -import CellGroup from './CellGroup.json' -import Checkbox from './Checkbox.json' -import CheckboxGroup from './CheckboxGroup.json' -import CircleProgress from './CircleProgress.json' -import Col from './Col.json' -import Collapse from './Collapse.json' -import CollapseItem from './CollapseItem.json' -import Comment from './Comment.json' -import ConfigProvider from './ConfigProvider.json' -import Countdown from './Countdown.json' -import Countup from './Countup.json' -import DatePicker from './DatePicker.json' -import Dialog from './Dialog.json' -import Divider from './Divider.json' -import Drag from './Drag.json' -import Ecard from './Ecard.json' -import Elevator from './Elevator.json' -import Ellipsis from './Ellipsis.json' -import Empty from './Empty.json' -import FixedNav from './FixedNav.json' -import Form from './Form.json' -import FormItem from './FormItem.json' -import Grid from './Grid.json' -import GridItem from './GridItem.json' -import Image from './Image.json' -import ImagePreview from './ImagePreview.json' -import Indicator from './Indicator.json' -import InfiniteLoading from './InfiniteLoading.json' -import Input from './Input.json' -import InputNumber from './InputNumber.json' -import Invoice from './Invoice.json' -import List from './List.json' -import Menu from './Menu.json' -import MenuItem from './MenuItem.json' -import Navbar from './Navbar.json' -import Noticebar from './Noticebar.json' -import Notify from './Notify.json' -import NumberKeyboard from './NumberKeyboard.json' -import Overlay from './Overlay.json' -import Pagination from './Pagination.json' -import Picker from './Picker.json' -import Popover from './Popover.json' -import Popup from './Popup.json' -import Price from './Price.json' -import Progress from './Progress.json' -import PullRefresh from './PullRefresh.json' -import Radio from './Radio.json' -import RadioGroup from './RadioGroup.json' -import Range from './Range.json' -import Rate from './Rate.json' -import Row from './Row.json' -import Searchbar from './Searchbar.json' -import ShortPassword from './ShortPassword.json' -import SideNavbar from './SideNavbar.json' -import SideNavbarItem from './SideNavbarItem.json' -import Signature from './Signature.json' -import Skeleton from './Skeleton.json' -import Sku from './Sku.json' -import Space from './Space.json' -import Step from './Step.json' -import Steps from './Steps.json' -import Sticky from './Sticky.json' -import SubSideNavbar from './SubSideNavbar.json' -import Swipe from './Swipe.json' -import SwipeGroup from './SwipeGroup.json' -import Swiper from './Swiper.json' -import Switch from './Switch.json' -import TabPane from './TabPane.json' -import Tabbar from './Tabbar.json' -import TabbarItem from './TabbarItem.json' -import Table from './Table.json' -import TableColumn from './TableColumn.json' -import Tabs from './Tabs.json' -import Tag from './Tag.json' -import Textarea from './Textarea.json' -import TimeDetail from './TimeDetail.json' -import TimePannel from './TimePannel.json' -import TimeSelect from './TimeSelect.json' -import Toast from './Toast.json' -import Tour from './Tour.json' -import TrendArrow from './TrendArrow.json' -import Uploader from './Uploader.json' -import Video from './Video.json' -import Watermark from './Watermark.json' +import { getComponentMap, getPropsMap } from './mapping' -const map: any = [ - ActionSheet, - Address, - AddressList, - Animate, - Audio, - Avatar, - AvatarCropper, - AvatarGroup, - Backtop, - Badge, - Barrage, - Button, - Calendar, - CalendarCard, - Card, - Cascader, - Category, - CategoryPane, - Cell, - CellGroup, - Checkbox, - CheckboxGroup, - CircleProgress, - Col, - Collapse, - CollapseItem, - Comment, - ConfigProvider, - Countdown, - Countup, - DatePicker, - Dialog, - Divider, - Drag, - Ecard, - Elevator, - Ellipsis, - Empty, - FixedNav, - Form, - FormItem, - Grid, - GridItem, - Image, - ImagePreview, - Indicator, - InfiniteLoading, - Input, - InputNumber, - Invoice, - List, - Menu, - MenuItem, - Navbar, - Noticebar, - Notify, - NumberKeyboard, - Overlay, - Pagination, - Picker, - Popover, - Popup, - Price, - Progress, - PullRefresh, - Radio, - RadioGroup, - Range, - Rate, - Row, - Searchbar, - ShortPassword, - SideNavbar, - SideNavbarItem, - Signature, - Skeleton, - Sku, - Space, - Step, - Steps, - Sticky, - SubSideNavbar, - Swipe, - SwipeGroup, - Swiper, - Switch, - TabPane, - Tabbar, - TabbarItem, - Table, - TableColumn, - Tabs, - Tag, - Textarea, - TimeDetail, - TimePannel, - TimeSelect, - Toast, - Tour, - TrendArrow, - Uploader, - Video, - Watermark, -] export function nutUi4() { - return propsReducer('@nutui/nutui4', map, 'nut') + return propsReducer({ + uiName: '@nutui/nutui4', + map: getPropsMap(), + lib: '@nutui/nutui', + prefix: 'nut', + }) } -const componentsMap = [ - [ActionSheet, ActionSheet.name, ``], - [Address, Address.name, ``], - [AddressList, AddressList.name, ``], - [Animate, Animate.name, ``], - [Audio, Audio.name, ``], - [Avatar, Avatar.name, ``], - [AvatarCropper, AvatarCropper.name, ``], - [AvatarGroup, AvatarGroup.name, ``], - [Backtop, Backtop.name, ``], - [Badge, Badge.name, ``], - [Barrage, Barrage.name, ``], - [Button, Button.name, ``], - [Calendar, Calendar.name, ``], - [CalendarCard, CalendarCard.name, ``], - [Card, Card.name, ``], - [Cascader, Cascader.name, ``], - [Category, Category.name, ``], - [CategoryPane, CategoryPane.name, ``], - [Cell, Cell.name, ``], - [CellGroup, CellGroup.name, ``], - [Checkbox, Checkbox.name, ``], - [CheckboxGroup, CheckboxGroup.name, ``], - [CircleProgress, CircleProgress.name, ``], - [Col, Col.name, ``], - [Collapse, Collapse.name, ``], - [CollapseItem, CollapseItem.name, ``], - [Comment, Comment.name, ``], - [ConfigProvider, ConfigProvider.name, ``], - [Countdown, Countdown.name, ``], - [Countup, Countup.name, ``], - [DatePicker, DatePicker.name, ``], - [Dialog, Dialog.name, ``], - [Divider, Divider.name, ``], - [Drag, Drag.name, ``], - [Ecard, Ecard.name, ``], - [Elevator, Elevator.name, ``], - [Ellipsis, Ellipsis.name, ``], - [Empty, Empty.name, ``], - [FixedNav, FixedNav.name, ``], - [Form, Form.name, ``], - [FormItem, FormItem.name, ``], - [Grid, Grid.name, ``], - [GridItem, GridItem.name, ``], - [Image, Image.name, ``], - [ImagePreview, ImagePreview.name, ``], - [Indicator, Indicator.name, ``], - [InfiniteLoading, InfiniteLoading.name, ``], - [Input, Input.name, ``], - [InputNumber, InputNumber.name, ``], - [Invoice, Invoice.name, ``], - [List, List.name, ``], - [Menu, Menu.name, ``], - [MenuItem, MenuItem.name, ``], - [Navbar, Navbar.name, ``], - [Noticebar, Noticebar.name, ``], - [Notify, Notify.name, ``], - [NumberKeyboard, NumberKeyboard.name, ``], - [Overlay, Overlay.name, ``], - [Pagination, Pagination.name, ``], - [Picker, Picker.name, ``], - [Popover, Popover.name, ``], - [Popup, Popup.name, ``], - [Price, Price.name, ``], - [Progress, Progress.name, ``], - [PullRefresh, PullRefresh.name, ``], - [Radio, Radio.name, ``], - [RadioGroup, RadioGroup.name, ``], - [Range, Range.name, ``], - [Rate, Rate.name, ``], - [Row, Row.name, ``], - [Searchbar, Searchbar.name, ``], - [ShortPassword, ShortPassword.name, ``], - [SideNavbar, SideNavbar.name, ``], - [SideNavbarItem, SideNavbarItem.name, ``], - [Signature, Signature.name, ``], - [Skeleton, Skeleton.name, ``], - [Sku, Sku.name, ``], - [Space, Space.name, ``], - [Step, Step.name, ``], - [Steps, Steps.name, ``], - [Sticky, Sticky.name, ``], - [SubSideNavbar, SubSideNavbar.name, ``], - [Swipe, Swipe.name, ``], - [SwipeGroup, SwipeGroup.name, ``], - [Swiper, Swiper.name, ``], - [Switch, Switch.name, ``], - [TabPane, TabPane.name, ``], - [Tabbar, Tabbar.name, ``], - [TabbarItem, TabbarItem.name, ``], - [Table, Table.name, ``], - [TableColumn, TableColumn.name, ``], - [Tabs, Tabs.name, ``], - [Tag, Tag.name, ``], - [Textarea, Textarea.name, ``], - [TimeDetail, TimeDetail.name, ``], - [TimePannel, TimePannel.name, ``], - [TimeSelect, TimeSelect.name, ``], - [Toast, Toast.name, ``], - [Tour, Tour.name, ``], - [TrendArrow, TrendArrow.name, ``], - [Uploader, Uploader.name, ``], - [Video, Video.name, ``], - [Watermark, Watermark.name, ``], -] - export function nutUi4Components() { return componentsReducer({ - map: componentsMap, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'nut', isReact: false, diff --git a/src/ui/nutUi/nutUi4/mapping.ts b/src/ui/nutUi/nutUi4/mapping.ts new file mode 100644 index 00000000..54858b13 --- /dev/null +++ b/src/ui/nutUi/nutUi4/mapping.ts @@ -0,0 +1,319 @@ +import ActionSheet from './ActionSheet.json' +import Address from './Address.json' +import AddressList from './AddressList.json' +import Animate from './Animate.json' +import Audio from './Audio.json' +import Avatar from './Avatar.json' +import AvatarCropper from './AvatarCropper.json' +import AvatarGroup from './AvatarGroup.json' +import Backtop from './Backtop.json' +import Badge from './Badge.json' +import Barrage from './Barrage.json' +import Button from './Button.json' +import Calendar from './Calendar.json' +import CalendarCard from './CalendarCard.json' +import Card from './Card.json' +import Cascader from './Cascader.json' +import Category from './Category.json' +import CategoryPane from './CategoryPane.json' +import Cell from './Cell.json' +import CellGroup from './CellGroup.json' +import Checkbox from './Checkbox.json' +import CheckboxGroup from './CheckboxGroup.json' +import CircleProgress from './CircleProgress.json' +import Col from './Col.json' +import Collapse from './Collapse.json' +import CollapseItem from './CollapseItem.json' +import Comment from './Comment.json' +import ConfigProvider from './ConfigProvider.json' +import Countdown from './Countdown.json' +import Countup from './Countup.json' +import DatePicker from './DatePicker.json' +import Dialog from './Dialog.json' +import Divider from './Divider.json' +import Drag from './Drag.json' +import Ecard from './Ecard.json' +import Elevator from './Elevator.json' +import Ellipsis from './Ellipsis.json' +import Empty from './Empty.json' +import FixedNav from './FixedNav.json' +import Form from './Form.json' +import FormItem from './FormItem.json' +import Grid from './Grid.json' +import GridItem from './GridItem.json' +import Image from './Image.json' +import ImagePreview from './ImagePreview.json' +import Indicator from './Indicator.json' +import InfiniteLoading from './InfiniteLoading.json' +import Input from './Input.json' +import InputNumber from './InputNumber.json' +import Invoice from './Invoice.json' +import List from './List.json' +import Menu from './Menu.json' +import MenuItem from './MenuItem.json' +import Navbar from './Navbar.json' +import Noticebar from './Noticebar.json' +import Notify from './Notify.json' +import NumberKeyboard from './NumberKeyboard.json' +import Overlay from './Overlay.json' +import Pagination from './Pagination.json' +import Picker from './Picker.json' +import Popover from './Popover.json' +import Popup from './Popup.json' +import Price from './Price.json' +import Progress from './Progress.json' +import PullRefresh from './PullRefresh.json' +import Radio from './Radio.json' +import RadioGroup from './RadioGroup.json' +import Range from './Range.json' +import Rate from './Rate.json' +import Row from './Row.json' +import Searchbar from './Searchbar.json' +import ShortPassword from './ShortPassword.json' +import SideNavbar from './SideNavbar.json' +import SideNavbarItem from './SideNavbarItem.json' +import Signature from './Signature.json' +import Skeleton from './Skeleton.json' +import Sku from './Sku.json' +import Space from './Space.json' +import Step from './Step.json' +import Steps from './Steps.json' +import Sticky from './Sticky.json' +import SubSideNavbar from './SubSideNavbar.json' +import Swipe from './Swipe.json' +import SwipeGroup from './SwipeGroup.json' +import Swiper from './Swiper.json' +import Switch from './Switch.json' +import TabPane from './TabPane.json' +import Tabbar from './Tabbar.json' +import TabbarItem from './TabbarItem.json' +import Table from './Table.json' +import TableColumn from './TableColumn.json' +import Tabs from './Tabs.json' +import Tag from './Tag.json' +import Textarea from './Textarea.json' +import TimeDetail from './TimeDetail.json' +import TimePannel from './TimePannel.json' +import TimeSelect from './TimeSelect.json' +import Toast from './Toast.json' +import Tour from './Tour.json' +import TrendArrow from './TrendArrow.json' +import Uploader from './Uploader.json' +import Video from './Video.json' +import Watermark from './Watermark.json' + +export function getPropsMap() { + return [ + ActionSheet, + Address, + AddressList, + Animate, + Audio, + Avatar, + AvatarCropper, + AvatarGroup, + Backtop, + Badge, + Barrage, + Button, + Calendar, + CalendarCard, + Card, + Cascader, + Category, + CategoryPane, + Cell, + CellGroup, + Checkbox, + CheckboxGroup, + CircleProgress, + Col, + Collapse, + CollapseItem, + Comment, + ConfigProvider, + Countdown, + Countup, + DatePicker, + Dialog, + Divider, + Drag, + Ecard, + Elevator, + Ellipsis, + Empty, + FixedNav, + Form, + FormItem, + Grid, + GridItem, + Image, + ImagePreview, + Indicator, + InfiniteLoading, + Input, + InputNumber, + Invoice, + List, + Menu, + MenuItem, + Navbar, + Noticebar, + Notify, + NumberKeyboard, + Overlay, + Pagination, + Picker, + Popover, + Popup, + Price, + Progress, + PullRefresh, + Radio, + RadioGroup, + Range, + Rate, + Row, + Searchbar, + ShortPassword, + SideNavbar, + SideNavbarItem, + Signature, + Skeleton, + Sku, + Space, + Step, + Steps, + Sticky, + SubSideNavbar, + Swipe, + SwipeGroup, + Swiper, + Switch, + TabPane, + Tabbar, + TabbarItem, + Table, + TableColumn, + Tabs, + Tag, + Textarea, + TimeDetail, + TimePannel, + TimeSelect, + Toast, + Tour, + TrendArrow, + Uploader, + Video, + Watermark, + ] +} + +export function getComponentMap() { + return [ + [ActionSheet, ActionSheet.name, ``], + [Address, Address.name, ``], + [AddressList, AddressList.name, ``], + [Animate, Animate.name, ``], + [Audio, Audio.name, ``], + [Avatar, Avatar.name, ``], + [AvatarCropper, AvatarCropper.name, ``], + [AvatarGroup, AvatarGroup.name, ``], + [Backtop, Backtop.name, ``], + [Badge, Badge.name, ``], + [Barrage, Barrage.name, ``], + [Button, Button.name, ``], + [Calendar, Calendar.name, ``], + [CalendarCard, CalendarCard.name, ``], + [Card, Card.name, ``], + [Cascader, Cascader.name, ``], + [Category, Category.name, ``], + [CategoryPane, CategoryPane.name, ``], + [Cell, Cell.name, ``], + [CellGroup, CellGroup.name, ``], + [Checkbox, Checkbox.name, ``], + [CheckboxGroup, CheckboxGroup.name, ``], + [CircleProgress, CircleProgress.name, ``], + [Col, Col.name, ``], + [Collapse, Collapse.name, ``], + [CollapseItem, CollapseItem.name, ``], + [Comment, Comment.name, ``], + [ConfigProvider, ConfigProvider.name, ``], + [Countdown, Countdown.name, ``], + [Countup, Countup.name, ``], + [DatePicker, DatePicker.name, ``], + [Dialog, Dialog.name, ``], + [Divider, Divider.name, ``], + [Drag, Drag.name, ``], + [Ecard, Ecard.name, ``], + [Elevator, Elevator.name, ``], + [Ellipsis, Ellipsis.name, ``], + [Empty, Empty.name, ``], + [FixedNav, FixedNav.name, ``], + [Form, Form.name, ``], + [FormItem, FormItem.name, ``], + [Grid, Grid.name, ``], + [GridItem, GridItem.name, ``], + [Image, Image.name, ``], + [ImagePreview, ImagePreview.name, ``], + [Indicator, Indicator.name, ``], + [InfiniteLoading, InfiniteLoading.name, ``], + [Input, Input.name, ``], + [InputNumber, InputNumber.name, ``], + [Invoice, Invoice.name, ``], + [List, List.name, ``], + [Menu, Menu.name, ``], + [MenuItem, MenuItem.name, ``], + [Navbar, Navbar.name, ``], + [Noticebar, Noticebar.name, ``], + [Notify, Notify.name, ``], + [NumberKeyboard, NumberKeyboard.name, ``], + [Overlay, Overlay.name, ``], + [Pagination, Pagination.name, ``], + [Picker, Picker.name, ``], + [Popover, Popover.name, ``], + [Popup, Popup.name, ``], + [Price, Price.name, ``], + [Progress, Progress.name, ``], + [PullRefresh, PullRefresh.name, ``], + [Radio, Radio.name, ``], + [RadioGroup, RadioGroup.name, ``], + [Range, Range.name, ``], + [Rate, Rate.name, ``], + [Row, Row.name, ``], + [Searchbar, Searchbar.name, ``], + [ShortPassword, ShortPassword.name, ``], + [SideNavbar, SideNavbar.name, ``], + [SideNavbarItem, SideNavbarItem.name, ``], + [Signature, Signature.name, ``], + [Skeleton, Skeleton.name, ``], + [Sku, Sku.name, ``], + [Space, Space.name, ``], + [Step, Step.name, ``], + [Steps, Steps.name, ``], + [Sticky, Sticky.name, ``], + [SubSideNavbar, SubSideNavbar.name, ``], + [Swipe, Swipe.name, ``], + [SwipeGroup, SwipeGroup.name, ``], + [Swiper, Swiper.name, ``], + [Switch, Switch.name, ``], + [TabPane, TabPane.name, ``], + [Tabbar, Tabbar.name, ``], + [TabbarItem, TabbarItem.name, ``], + [Table, Table.name, ``], + [TableColumn, TableColumn.name, ``], + [Tabs, Tabs.name, ``], + [Tag, Tag.name, ``], + [Textarea, Textarea.name, ``], + [TimeDetail, TimeDetail.name, ``], + [TimePannel, TimePannel.name, ``], + [TimeSelect, TimeSelect.name, ``], + [Toast, Toast.name, ``], + [Tour, Tour.name, ``], + [TrendArrow, TrendArrow.name, ``], + [Uploader, Uploader.name, ``], + [Video, Video.name, ``], + [Watermark, Watermark.name, ``], + ] +} diff --git a/src/ui/nuxtUi/nuxtUi2/index.ts b/src/ui/nuxtUi/nuxtUi2/index.ts index 1dcbc371..85ba7a29 100644 --- a/src/ui/nuxtUi/nuxtUi2/index.ts +++ b/src/ui/nuxtUi/nuxtUi2/index.ts @@ -1,318 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import UAccordion from './UAccordion.json' -import UAlert from './UAlert.json' -import UAvatar from './UAvatar.json' -import UBadge from './UBadge.json' -import UButton from './UButton.json' -import UDropdown from './UDropdown.json' -import UIcon from './UIcon.json' -import UKbd from './UKbd.json' -import ULink from './ULink.json' -import UInput from './UInput.json' -import UTextarea from './UTextarea.json' -import USelect from './USelect.json' -import USelectMenu from './USelectMenu.json' -import UCheckbox from './UCheckbox.json' -import URadio from './URadio.json' -import UToggle from './UToggle.json' -import URange from './URange.json' -import UFormGroup from './UFormGroup.json' -import UForm from './UForm.json' -import UTable from './UTable.json' -import UVerticalNavigation from './UVerticalNavigation.json' -import UCommandPalette from './UCommandPalette.json' -import UPagination from './UPagination.json' -import UTabs from './UTabs.json' -import UModal from './UModal.json' -import USlideover from './USlideover.json' -import UPopover from './UPopover.json' -import UTooltip from './UTooltip.json' -import UContextMenu from './UContextMenu.json' -import UNotification from './UNotification.json' -import UCard from './UCard.json' -import UContainer from './UContainer.json' -import USkeleton from './USkeleton.json' -import URadioGroup from './URadioGroup.json' -import UDivider from './UDivider.json' -import UMeter from './UMeter.json' -import UMeterGroup from './UMeterGroup.json' -import UProgress from './UProgress.json' -import UBreadcrumb from './UBreadcrumb.json' -import UChip from './UChip.json' -import UCarousel from './UCarousel.json' -import UHorizontalNavigation from './UHorizontalNavigation.json' -import UInputMenu from './UInputMenu.json' +import { getComponentMap, getPropsMap } from './mapping' export function nuxtui2() { - const map: any = [ - UAccordion, - UAlert, - UAvatar, - UBadge, - UButton, - UDropdown, - UIcon, - UKbd, - UInput, - UTextarea, - USelect, - USelectMenu, - UCheckbox, - URadio, - UToggle, - URange, - UFormGroup, - UForm, - UTable, - UVerticalNavigation, - UCommandPalette, - UPagination, - UTabs, - UModal, - USlideover, - UPopover, - UTooltip, - UContextMenu, - UNotification, - UCard, - UContainer, - USkeleton, - URadioGroup, - UDivider, - UMeter, - UMeterGroup, - UProgress, - UBreadcrumb, - UChip, - UCarousel, - UHorizontalNavigation, - UInputMenu, - ] - - return propsReducer('@nuxt/ui2', map, 'U') + return propsReducer({ + uiName: '@nuxt/ui2', + map: getPropsMap(), + lib: '@nuxt/ui', + prefix: 'U', + }) } export function nuxtui2Components() { - const map = [ - [ - UAccordion, - UAccordion.name, - `<${UAccordion.name}>`, - ], - [ - UAlert, - UAlert.name, - `<${UAlert.name}>`, - ], - [ - UAvatar, - UAvatar.name, - `<${UAvatar.name}>`, - ], - [ - UBadge, - UBadge.name, - `<${UBadge.name}>`, - ], - [ - UButton, - UButton.name, - `<${UButton.name}>`, - ], - [ - UDropdown, - UDropdown.name, - `<${UDropdown.name}>`, - ], - [ - UIcon, - UIcon.name, - `<${UIcon.name}>`, - ], - [ - UKbd, - UKbd.name, - `<${UKbd.name}>`, - ], - [ - ULink, - ULink.name, - `<${ULink.name}>`, - ], - [ - UInput, - UInput.name, - `<${UInput.name}>`, - ], - [ - UTextarea, - UTextarea.name, - `<${UTextarea.name}>`, - ], - [ - USelect, - USelect.name, - `<${USelect.name}>`, - ], - [ - USelectMenu, - USelectMenu.name, - `<${USelectMenu.name}>`, - ], - [ - UCheckbox, - UCheckbox.name, - `<${UCheckbox.name}>`, - ], - [ - URadio, - URadio.name, - `<${URadio.name}>`, - ], - [ - UToggle, - UToggle.name, - `<${UToggle.name}>`, - ], - [ - URange, - URange.name, - `<${URange.name}>`, - ], - [ - UFormGroup, - UFormGroup.name, - `<${UFormGroup.name}>`, - ], - [ - UForm, - UForm.name, - `<${UForm.name}>`, - ], - [ - UTable, - UTable.name, - `<${UTable.name}>`, - ], - [ - UVerticalNavigation, - UVerticalNavigation.name, - `<${UVerticalNavigation.name}>`, - ], - [ - UCommandPalette, - UCommandPalette.name, - `<${UCommandPalette.name}>`, - ], - [ - UPagination, - UPagination.name, - `<${UPagination.name}>`, - ], - [ - UTabs, - UTabs.name, - `<${UTabs.name}>`, - ], - [ - UModal, - UModal.name, - `<${UModal.name}>`, - ], - [ - USlideover, - USlideover.name, - `<${USlideover.name}>`, - ], - [ - UPopover, - UPopover.name, - `<${UPopover.name}>`, - ], - [ - UTooltip, - UTooltip.name, - `<${UTooltip.name}>`, - ], - [ - UContextMenu, - UContextMenu.name, - `<${UContextMenu.name}>`, - ], - [ - UNotification, - UNotification.name, - `<${UNotification.name}>`, - ], - [ - UCard, - UCard.name, - `<${UCard.name}>`, - ], - [ - UContainer, - UContainer.name, - `<${UContainer.name}>`, - ], - [ - USkeleton, - USkeleton.name, - `<${USkeleton.name}>`, - ], - [ - URadioGroup, - URadioGroup.name, - `<${URadioGroup.name}>`, - ], - [ - UDivider, - UDivider.name, - `<${UDivider.name}>`, - ], - [ - UMeter, - UMeter.name, - `<${UMeter.name}>`, - ], - [ - UMeterGroup, - UMeterGroup.name, - `<${UMeterGroup.name}>`, - ], - [ - UProgress, - UProgress.name, - `<${UProgress.name}>`, - ], - [ - UBreadcrumb, - UBreadcrumb.name, - `<${UBreadcrumb.name}>`, - ], - [ - UChip, - UChip.name, - `<${UChip.name}>`, - ], - [ - UCarousel, - UCarousel.name, - `<${UCarousel.name}>`, - ], - [ - UHorizontalNavigation, - UHorizontalNavigation.name, - `<${UHorizontalNavigation.name}>`, - ], - [ - UInputMenu, - UInputMenu.name, - `<${UInputMenu.name}>`, - ], - ] - return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: false, prefix: 'U', lib: '@nuxt/ui', diff --git a/src/ui/nuxtUi/nuxtUi2/mapping.ts b/src/ui/nuxtUi/nuxtUi2/mapping.ts new file mode 100644 index 00000000..a79115b9 --- /dev/null +++ b/src/ui/nuxtUi/nuxtUi2/mapping.ts @@ -0,0 +1,310 @@ +import UAccordion from './UAccordion.json' +import UAlert from './UAlert.json' +import UAvatar from './UAvatar.json' +import UBadge from './UBadge.json' +import UButton from './UButton.json' +import UDropdown from './UDropdown.json' +import UIcon from './UIcon.json' +import UKbd from './UKbd.json' +import ULink from './ULink.json' +import UInput from './UInput.json' +import UTextarea from './UTextarea.json' +import USelect from './USelect.json' +import USelectMenu from './USelectMenu.json' +import UCheckbox from './UCheckbox.json' +import URadio from './URadio.json' +import UToggle from './UToggle.json' +import URange from './URange.json' +import UFormGroup from './UFormGroup.json' +import UForm from './UForm.json' +import UTable from './UTable.json' +import UVerticalNavigation from './UVerticalNavigation.json' +import UCommandPalette from './UCommandPalette.json' +import UPagination from './UPagination.json' +import UTabs from './UTabs.json' +import UModal from './UModal.json' +import USlideover from './USlideover.json' +import UPopover from './UPopover.json' +import UTooltip from './UTooltip.json' +import UContextMenu from './UContextMenu.json' +import UNotification from './UNotification.json' +import UCard from './UCard.json' +import UContainer from './UContainer.json' +import USkeleton from './USkeleton.json' +import URadioGroup from './URadioGroup.json' +import UDivider from './UDivider.json' +import UMeter from './UMeter.json' +import UMeterGroup from './UMeterGroup.json' +import UProgress from './UProgress.json' +import UBreadcrumb from './UBreadcrumb.json' +import UChip from './UChip.json' +import UCarousel from './UCarousel.json' +import UHorizontalNavigation from './UHorizontalNavigation.json' +import UInputMenu from './UInputMenu.json' + +export function getPropsMap() { + return [ + UAccordion, + UAlert, + UAvatar, + UBadge, + UButton, + UDropdown, + UIcon, + UKbd, + UInput, + UTextarea, + USelect, + USelectMenu, + UCheckbox, + URadio, + UToggle, + URange, + UFormGroup, + UForm, + UTable, + UVerticalNavigation, + UCommandPalette, + UPagination, + UTabs, + UModal, + USlideover, + UPopover, + UTooltip, + UContextMenu, + UNotification, + UCard, + UContainer, + USkeleton, + URadioGroup, + UDivider, + UMeter, + UMeterGroup, + UProgress, + UBreadcrumb, + UChip, + UCarousel, + UHorizontalNavigation, + UInputMenu, + ] +} + +export function getComponentMap() { + return [ + [ + UAccordion, + UAccordion.name, + `<${UAccordion.name}>`, + ], + [ + UAlert, + UAlert.name, + `<${UAlert.name}>`, + ], + [ + UAvatar, + UAvatar.name, + `<${UAvatar.name}>`, + ], + [ + UBadge, + UBadge.name, + `<${UBadge.name}>`, + ], + [ + UButton, + UButton.name, + `<${UButton.name}>`, + ], + [ + UDropdown, + UDropdown.name, + `<${UDropdown.name}>`, + ], + [ + UIcon, + UIcon.name, + `<${UIcon.name}>`, + ], + [ + UKbd, + UKbd.name, + `<${UKbd.name}>`, + ], + [ + ULink, + ULink.name, + `<${ULink.name}>`, + ], + [ + UInput, + UInput.name, + `<${UInput.name}>`, + ], + [ + UTextarea, + UTextarea.name, + `<${UTextarea.name}>`, + ], + [ + USelect, + USelect.name, + `<${USelect.name}>`, + ], + [ + USelectMenu, + USelectMenu.name, + `<${USelectMenu.name}>`, + ], + [ + UCheckbox, + UCheckbox.name, + `<${UCheckbox.name}>`, + ], + [ + URadio, + URadio.name, + `<${URadio.name}>`, + ], + [ + UToggle, + UToggle.name, + `<${UToggle.name}>`, + ], + [ + URange, + URange.name, + `<${URange.name}>`, + ], + [ + UFormGroup, + UFormGroup.name, + `<${UFormGroup.name}>`, + ], + [ + UForm, + UForm.name, + `<${UForm.name}>`, + ], + [ + UTable, + UTable.name, + `<${UTable.name}>`, + ], + [ + UVerticalNavigation, + UVerticalNavigation.name, + `<${UVerticalNavigation.name}>`, + ], + [ + UCommandPalette, + UCommandPalette.name, + `<${UCommandPalette.name}>`, + ], + [ + UPagination, + UPagination.name, + `<${UPagination.name}>`, + ], + [ + UTabs, + UTabs.name, + `<${UTabs.name}>`, + ], + [ + UModal, + UModal.name, + `<${UModal.name}>`, + ], + [ + USlideover, + USlideover.name, + `<${USlideover.name}>`, + ], + [ + UPopover, + UPopover.name, + `<${UPopover.name}>`, + ], + [ + UTooltip, + UTooltip.name, + `<${UTooltip.name}>`, + ], + [ + UContextMenu, + UContextMenu.name, + `<${UContextMenu.name}>`, + ], + [ + UNotification, + UNotification.name, + `<${UNotification.name}>`, + ], + [ + UCard, + UCard.name, + `<${UCard.name}>`, + ], + [ + UContainer, + UContainer.name, + `<${UContainer.name}>`, + ], + [ + USkeleton, + USkeleton.name, + `<${USkeleton.name}>`, + ], + [ + URadioGroup, + URadioGroup.name, + `<${URadioGroup.name}>`, + ], + [ + UDivider, + UDivider.name, + `<${UDivider.name}>`, + ], + [ + UMeter, + UMeter.name, + `<${UMeter.name}>`, + ], + [ + UMeterGroup, + UMeterGroup.name, + `<${UMeterGroup.name}>`, + ], + [ + UProgress, + UProgress.name, + `<${UProgress.name}>`, + ], + [ + UBreadcrumb, + UBreadcrumb.name, + `<${UBreadcrumb.name}>`, + ], + [ + UChip, + UChip.name, + `<${UChip.name}>`, + ], + [ + UCarousel, + UCarousel.name, + `<${UCarousel.name}>`, + ], + [ + UHorizontalNavigation, + UHorizontalNavigation.name, + `<${UHorizontalNavigation.name}>`, + ], + [ + UInputMenu, + UInputMenu.name, + `<${UInputMenu.name}>`, + ], + ] +} diff --git a/src/ui/nuxtUiPro/nuxtUiPro1/index.ts b/src/ui/nuxtUiPro/nuxtUiPro1/index.ts index 0842dfc4..9fe4e76f 100644 --- a/src/ui/nuxtUiPro/nuxtUiPro1/index.ts +++ b/src/ui/nuxtUiPro/nuxtUiPro1/index.ts @@ -1,227 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import Aside from './Aside.json' -import AsideLinks from './AsideLinks.json' -import AuthForm from './AuthForm.json' -import BlogList from './BlogList.json' -import BlogPost from './BlogPost.json' -import Callout from './Callout.json' -import Card from './Card.json' -import CardGroup from './CardGroup.json' -import CodeBlock from './CodeBlock.json' -import CodeGroup from './CodeGroup.json' -import Collapsible from './Collapsible.json' -import ColorModeAvatar from './ColorModeAvatar.json' -import ColorModeButton from './ColorModeButton.json' -import ColorModeImage from './ColorModeImage.json' -import ColorModeSelect from './ColorModeSelect.json' -import ColorModeToggle from './ColorModeToggle.json' -import ContentSearch from './ContentSearch.json' -import ContentSearchButton from './ContentSearchButton.json' -import ContentSurround from './ContentSurround.json' -import ContentToc from './ContentToc.json' -import DashboardCard from './DashboardCard.json' -import DashboardLayout from './DashboardLayout.json' -import DashboardModal from './DashboardModal.json' -import DashboardNavbar from './DashboardNavbar.json' -import DashboardNavbarToggle from './DashboardNavbarToggle.json' -import DashboardPage from './DashboardPage.json' -import DashboardPanel from './DashboardPanel.json' -import DashboardPanelContent from './DashboardPanelContent.json' -import DashboardPanelHandle from './DashboardPanelHandle.json' -import DashboardSearch from './DashboardSearch.json' -import DashboardSearchButton from './DashboardSearchButton.json' -import DashboardSection from './DashboardSection.json' -import DashboardSidebar from './DashboardSidebar.json' -import DashboardSidebarLinks from './DashboardSidebarLinks.json' -import DashboardSlideover from './DashboardSlideover.json' -import DashboardToolbar from './DashboardToolbar.json' -import Field from './Field.json' -import FieldGroup from './FieldGroup.json' -import Footer from './Footer.json' -import FooterColumns from './FooterColumns.json' -import FooterLinks from './FooterLinks.json' -import Header from './Header.json' -import HeaderLinks from './HeaderLinks.json' -import HeaderPopoverLinks from './HeaderPopoverLinks.json' -import LandingCTA from './LandingCTA.json' -import LandingCard from './LandingCard.json' -import LandingFAQ from './LandingFAQ.json' -import LandingGrid from './LandingGrid.json' -import LandingHero from './LandingHero.json' -import LandingLogos from './LandingLogos.json' -import LandingSection from './LandingSection.json' -import LandingTestimonial from './LandingTestimonial.json' -import Main from './Main.json' -import NavigationAccordion from './NavigationAccordion.json' -import NavigationLinks from './NavigationLinks.json' -import NavigationTree from './NavigationTree.json' -import Page from './Page.json' -import PageBody from './PageBody.json' -import PageCard from './PageCard.json' -import PageColumns from './PageColumns.json' -import PageError from './PageError.json' -import PageGrid from './PageGrid.json' -import PageHeader from './PageHeader.json' -import PageHero from './PageHero.json' -import PageLinks from './PageLinks.json' -import PricingCard from './PricingCard.json' -import PricingGrid from './PricingGrid.json' -import PricingToggle from './PricingToggle.json' -import Shortcut from './Shortcut.json' -import Tabs from './Tabs.json' +import { getComponentMap, getPropsMap } from './mapping' export function nuxtUiPro1() { - const map: any = [ - Aside, - AsideLinks, - AuthForm, - BlogList, - BlogPost, - Callout, - Card, - CardGroup, - CodeBlock, - CodeGroup, - Collapsible, - ColorModeAvatar, - ColorModeButton, - ColorModeImage, - ColorModeSelect, - ColorModeToggle, - ContentSearch, - ContentSearchButton, - ContentSurround, - ContentToc, - DashboardCard, - DashboardLayout, - DashboardModal, - DashboardNavbar, - DashboardNavbarToggle, - DashboardPage, - DashboardPanel, - DashboardPanelContent, - DashboardPanelHandle, - DashboardSearch, - DashboardSearchButton, - DashboardSection, - DashboardSidebar, - DashboardSidebarLinks, - DashboardSlideover, - DashboardToolbar, - Field, - FieldGroup, - Footer, - FooterColumns, - FooterLinks, - Header, - HeaderLinks, - HeaderPopoverLinks, - LandingCTA, - LandingCard, - LandingFAQ, - LandingGrid, - LandingHero, - LandingLogos, - LandingSection, - LandingTestimonial, - Main, - NavigationAccordion, - NavigationLinks, - NavigationTree, - Page, - PageBody, - PageCard, - PageColumns, - PageError, - PageGrid, - PageHeader, - PageHero, - PageLinks, - PricingCard, - PricingGrid, - PricingToggle, - Shortcut, - Tabs, - ] - - return propsReducer('@nuxt/ui-pro1', map, '') + return propsReducer({ + uiName: '@nuxt/ui-pro1', + map: getPropsMap(), + lib: '@nuxt/ui-pro', + prefix: 'U', + }) } export function nuxtUiPro1Components() { - const map = [ - [Aside, Aside.name, `<${Aside.name}>`], - [Alert, Alert.name, ``], - [Anchor, Anchor.name, ``], - [AutoComplete, AutoComplete.name, ``], - [AutonaviMap, AutonaviMap.name, ``], - [Badge, Badge.name, ``], - [BaiduMap, BaiduMap.name, ``], - [BaseSelect, BaseSelect.name, ``], - [Breadcrumb, Breadcrumb.name, ``], - [BreadcrumbItem, BreadcrumbItem.name, ``], - [BulletinBoard, BulletinBoard.name, ``], - [Button, Button.name, ``], - [ButtonGroup, ButtonGroup.name, ``], - [Calendar, Calendar.name, ``], - [CalendarView, CalendarView.name, ``], - [Card, Card.name, ``], - [Carousel, Carousel.name, ``], - [CarouselItem, CarouselItem.name, ``], - [Cascader, Cascader.name, ``], - [CascaderPanel, CascaderPanel.name, ``], - [Chart, Chart.name, ``], - [ChartBar, ChartBar.name, ``], - [ChartBoxplot, ChartBoxplot.name, ``], - [ChartCandle, ChartCandle.name, ``], - [ChartFunnel, ChartFunnel.name, ``], - [ChartGauge, ChartGauge.name, ``], - [ChartGraph, ChartGraph.name, ``], - [ChartHeatmap, ChartHeatmap.name, ``], - [ChartHistogram, ChartHistogram.name, ``], - [ChartLine, ChartLine.name, ``], - [ChartLiquidfill, ChartLiquidfill.name, ``], - [ChartMap, ChartMap.name, ``], - [ChartPie, ChartPie.name, ``], - [ChartProcess, ChartProcess.name, ``], - [ChartRadar, ChartRadar.name, ``], - [ChartRing, ChartRing.name, ``], - [ChartSankey, ChartSankey.name, ``], - [ChartScatter, ChartScatter.name, ``], - [ChartSunburst, ChartSunburst.name, ``], - [ChartTree, ChartTree.name, ``], - [ChartWaterfall, ChartWaterfall.name, ``], - [ChartWordcloud, ChartWordcloud.name, ``], - [Checkbox, Checkbox.name, ``], - [CheckboxButton, CheckboxButton.name, ``], - [CheckboxGroup, CheckboxGroup.name, ``], - [Col, Col.name, ``], - [Collapse, Collapse.name, ``], - [CollapseItem, CollapseItem.name, ``], - [Color, Color.name, ``], - [ColorPicker, ColorPicker.name, ``], - [ColorSelectPanel, ColorSelectPanel.name, ``], - [ConfigProvider, ConfigProvider.name, ``], - [Container, Container.name, ``], - [Crop, Crop.name, ``], - [DatePicker, DatePicker.name, ``], - [DialogBox, DialogBox.name, ``], - [DialogSelect, DialogSelect.name, ``], - [Divider, Divider.name, ``], - [Drawer, Drawer.name, ``], - [DropTimes, DropTimes.name, ``], - [Dropdown, Dropdown.name, ``], - [DropdownItem, DropdownItem.name, ``], - [DropdownMenu, DropdownMenu.name, ``], - [FallMenu, FallMenu.name, ``], - [FileUpload, FileUpload.name, ``], - [FilterPanel, FilterPanel.name, ``], - [FloatBar, FloatBar.name, ``], - [FlowChart, FlowChart.name, ``], - [Form, Form.name, ``], - [FormItem, FormItem.name, ``], - [Fullscreen, Fullscreen.name, ``], - [Grid, Grid.name, ``], - [GridColumn, GridColumn.name, ``], - [GridToolbar, GridToolbar.name, ``], - [Guide, Guide.name, ``], - [Image, Image.name, ``], - [Input, Input.name, ``], - [IpAddress, IpAddress.name, ``], - [Layout, Layout.name, ``], - [Link, Link.name, ``], - [LinkMenu, LinkMenu.name, ``], - [Milestone, Milestone.name, ``], - [MindMap, MindMap.name, ``], - [Modal, Modal.name, ``], - [NavMenu, NavMenu.name, ``], - [Numeric, Numeric.name, ``], - [Option, Option.name, ``], - [Pager, Pager.name, ``], - [PopConfirm, PopConfirm.name, ``], - [PopEditor, PopEditor.name, ``], - [PopUpload, PopUpload.name, ``], - [Popover, Popover.name, ``], - [Progress, Progress.name, ``], - [QrCode, QrCode.name, ``], - [Radio, Radio.name, ``], - [RadioButton, RadioButton.name, ``], - [RadioGroup, RadioGroup.name, ``], - [Rate, Rate.name, ``], - [RichTextEditor, RichTextEditor.name, ``], - [Row, Row.name, ``], - [ScrollText, ScrollText.name, ``], - [Search, Search.name, ``], - [Select, Select.name, ``], - [Skeleton, Skeleton.name, ``], - [SkeletonItem, SkeletonItem.name, ``], - [Slider, Slider.name, ``], - [Split, Split.name, ``], - [Statistic, Statistic.name, ``], - [Steps, Steps.name, ``], - [Switch, Switch.name, ``], - [TabItem, TabItem.name, ``], - [Tabs, Tabs.name, ``], - [Tag, Tag.name, ``], - [TagGroup, TagGroup.name, ``], - [TextPopup, TextPopup.name, ``], - [TimePicker, TimePicker.name, ``], - [TimeSelect, TimeSelect.name, ``], - [Timeline, Timeline.name, ``], - [TimelineItem, TimelineItem.name, ``], - [ToggleMenu, ToggleMenu.name, ``], - [ToolTip, ToolTip.name, ``], - [Transfer, Transfer.name, ``], - [Tree, Tree.name, ``], - [TreeMenu, TreeMenu.name, ``], - [UserContact, UserContact.name, ``], - [UserHead, UserHead.name, ``], - [Watermark, Watermark.name, ``], - [Wizard, Wizard.name, ``], -] - export function tinyVue3Components() { return componentsReducer({ - map: componentsMap, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'tiny', lib: '@opentiny/vue', diff --git a/src/ui/tinyVue/tinyVue3/mapping.ts b/src/ui/tinyVue/tinyVue3/mapping.ts new file mode 100644 index 00000000..e22a04b3 --- /dev/null +++ b/src/ui/tinyVue/tinyVue3/mapping.ts @@ -0,0 +1,394 @@ +import ActionMenu from './ActionMenu.json' +import Alert from './Alert.json' +import Anchor from './Anchor.json' +import AutoComplete from './AutoComplete.json' +import AutonaviMap from './AutonaviMap.json' +import Badge from './Badge.json' +import BaiduMap from './BaiduMap.json' +import BaseSelect from './BaseSelect.json' +import Breadcrumb from './Breadcrumb.json' +import BreadcrumbItem from './BreadcrumbItem.json' +import BulletinBoard from './BulletinBoard.json' +import Button from './Button.json' +import ButtonGroup from './ButtonGroup.json' +import Calendar from './Calendar.json' +import CalendarView from './CalendarView.json' +import Card from './Card.json' +import Carousel from './Carousel.json' +import CarouselItem from './CarouselItem.json' +import Cascader from './Cascader.json' +import CascaderPanel from './CascaderPanel.json' +import Chart from './Chart.json' +import ChartBar from './ChartBar.json' +import ChartBoxplot from './ChartBoxplot.json' +import ChartCandle from './ChartCandle.json' +import ChartFunnel from './ChartFunnel.json' +import ChartGauge from './ChartGauge.json' +import ChartGraph from './ChartGraph.json' +import ChartHeatmap from './ChartHeatmap.json' +import ChartHistogram from './ChartHistogram.json' +import ChartLine from './ChartLine.json' +import ChartLiquidfill from './ChartLiquidfill.json' +import ChartMap from './ChartMap.json' +import ChartPie from './ChartPie.json' +import ChartProcess from './ChartProcess.json' +import ChartRadar from './ChartRadar.json' +import ChartRing from './ChartRing.json' +import ChartSankey from './ChartSankey.json' +import ChartScatter from './ChartScatter.json' +import ChartSunburst from './ChartSunburst.json' +import ChartTree from './ChartTree.json' +import ChartWaterfall from './ChartWaterfall.json' +import ChartWordcloud from './ChartWordcloud.json' +import Checkbox from './Checkbox.json' +import CheckboxButton from './CheckboxButton.json' +import CheckboxGroup from './CheckboxGroup.json' +import Col from './Col.json' +import Collapse from './Collapse.json' +import CollapseItem from './CollapseItem.json' +import Color from './Color.json' +import ColorPicker from './ColorPicker.json' +import ColorSelectPanel from './ColorSelectPanel.json' +import ConfigProvider from './ConfigProvider.json' +import Container from './Container.json' +import Crop from './Crop.json' +import DatePicker from './DatePicker.json' +import DialogBox from './DialogBox.json' +import DialogSelect from './DialogSelect.json' +import Divider from './Divider.json' +import Drawer from './Drawer.json' +import DropTimes from './DropTimes.json' +import Dropdown from './Dropdown.json' +import DropdownItem from './DropdownItem.json' +import DropdownMenu from './DropdownMenu.json' +import FallMenu from './FallMenu.json' +import FileUpload from './FileUpload.json' +import FilterPanel from './FilterPanel.json' +import FloatBar from './FloatBar.json' +import FlowChart from './FlowChart.json' +import Form from './Form.json' +import FormItem from './FormItem.json' +import Fullscreen from './Fullscreen.json' +import Grid from './Grid.json' +import GridColumn from './GridColumn.json' +import GridToolbar from './GridToolbar.json' +import Guide from './Guide.json' +import Image from './Image.json' +import Input from './Input.json' +import IpAddress from './IpAddress.json' +import Layout from './Layout.json' +import Link from './Link.json' +import LinkMenu from './LinkMenu.json' +import Milestone from './Milestone.json' +import MindMap from './MindMap.json' +import Modal from './Modal.json' +import NavMenu from './NavMenu.json' +import Numeric from './Numeric.json' +import Option from './Option.json' +import Pager from './Pager.json' +import PopConfirm from './PopConfirm.json' +import PopEditor from './PopEditor.json' +import PopUpload from './PopUpload.json' +import Popover from './Popover.json' +import Progress from './Progress.json' +import QrCode from './QrCode.json' +import Radio from './Radio.json' +import RadioButton from './RadioButton.json' +import RadioGroup from './RadioGroup.json' +import Rate from './Rate.json' +import RichTextEditor from './RichTextEditor.json' +import Row from './Row.json' +import ScrollText from './ScrollText.json' +import Search from './Search.json' +import Select from './Select.json' +import Skeleton from './Skeleton.json' +import SkeletonItem from './SkeletonItem.json' +import Slider from './Slider.json' +import Split from './Split.json' +import Statistic from './Statistic.json' +import Steps from './Steps.json' +import Switch from './Switch.json' +import TabItem from './TabItem.json' +import Tabs from './Tabs.json' +import Tag from './Tag.json' +import TagGroup from './TagGroup.json' +import TextPopup from './TextPopup.json' +import TimePicker from './TimePicker.json' +import TimeSelect from './TimeSelect.json' +import Timeline from './Timeline.json' +import TimelineItem from './TimelineItem.json' +import ToggleMenu from './ToggleMenu.json' +import ToolTip from './ToolTip.json' +import Transfer from './Transfer.json' +import Tree from './Tree.json' +import TreeMenu from './TreeMenu.json' +import UserContact from './UserContact.json' +import UserHead from './UserHead.json' +import Watermark from './Watermark.json' +import Wizard from './Wizard.json' + +export function getPropsMap() { + return [ + ActionMenu, + Alert, + Anchor, + AutoComplete, + AutonaviMap, + Badge, + BaiduMap, + BaseSelect, + Breadcrumb, + BreadcrumbItem, + BulletinBoard, + Button, + ButtonGroup, + Calendar, + CalendarView, + Card, + Carousel, + CarouselItem, + Cascader, + CascaderPanel, + Chart, + ChartBar, + ChartBoxplot, + ChartCandle, + ChartFunnel, + ChartGauge, + ChartGraph, + ChartHeatmap, + ChartHistogram, + ChartLine, + ChartLiquidfill, + ChartMap, + ChartPie, + ChartProcess, + ChartRadar, + ChartRing, + ChartSankey, + ChartScatter, + ChartSunburst, + ChartTree, + ChartWaterfall, + ChartWordcloud, + Checkbox, + CheckboxButton, + CheckboxGroup, + Col, + Collapse, + CollapseItem, + Color, + ColorPicker, + ColorSelectPanel, + ConfigProvider, + Container, + Crop, + DatePicker, + DialogBox, + DialogSelect, + Divider, + Drawer, + DropTimes, + Dropdown, + DropdownItem, + DropdownMenu, + FallMenu, + FileUpload, + FilterPanel, + FloatBar, + FlowChart, + Form, + FormItem, + Fullscreen, + Grid, + GridColumn, + GridToolbar, + Guide, + Image, + Input, + IpAddress, + Layout, + Link, + LinkMenu, + Milestone, + MindMap, + Modal, + NavMenu, + Numeric, + Option, + Pager, + PopConfirm, + PopEditor, + PopUpload, + Popover, + Progress, + QrCode, + Radio, + RadioButton, + RadioGroup, + Rate, + RichTextEditor, + Row, + ScrollText, + Search, + Select, + Skeleton, + SkeletonItem, + Slider, + Split, + Statistic, + Steps, + Switch, + TabItem, + Tabs, + Tag, + TagGroup, + TextPopup, + TimePicker, + TimeSelect, + Timeline, + TimelineItem, + ToggleMenu, + ToolTip, + Transfer, + Tree, + TreeMenu, + UserContact, + UserHead, + Watermark, + Wizard, + ] +} + +export function getComponentMap() { + return [ + [ActionMenu, ActionMenu.name, ``], + [Alert, Alert.name, ``], + [Anchor, Anchor.name, ``], + [AutoComplete, AutoComplete.name, ``], + [AutonaviMap, AutonaviMap.name, ``], + [Badge, Badge.name, ``], + [BaiduMap, BaiduMap.name, ``], + [BaseSelect, BaseSelect.name, ``], + [Breadcrumb, Breadcrumb.name, ``], + [BreadcrumbItem, BreadcrumbItem.name, ``], + [BulletinBoard, BulletinBoard.name, ``], + [Button, Button.name, ``], + [ButtonGroup, ButtonGroup.name, ``], + [Calendar, Calendar.name, ``], + [CalendarView, CalendarView.name, ``], + [Card, Card.name, ``], + [Carousel, Carousel.name, ``], + [CarouselItem, CarouselItem.name, ``], + [Cascader, Cascader.name, ``], + [CascaderPanel, CascaderPanel.name, ``], + [Chart, Chart.name, ``], + [ChartBar, ChartBar.name, ``], + [ChartBoxplot, ChartBoxplot.name, ``], + [ChartCandle, ChartCandle.name, ``], + [ChartFunnel, ChartFunnel.name, ``], + [ChartGauge, ChartGauge.name, ``], + [ChartGraph, ChartGraph.name, ``], + [ChartHeatmap, ChartHeatmap.name, ``], + [ChartHistogram, ChartHistogram.name, ``], + [ChartLine, ChartLine.name, ``], + [ChartLiquidfill, ChartLiquidfill.name, ``], + [ChartMap, ChartMap.name, ``], + [ChartPie, ChartPie.name, ``], + [ChartProcess, ChartProcess.name, ``], + [ChartRadar, ChartRadar.name, ``], + [ChartRing, ChartRing.name, ``], + [ChartSankey, ChartSankey.name, ``], + [ChartScatter, ChartScatter.name, ``], + [ChartSunburst, ChartSunburst.name, ``], + [ChartTree, ChartTree.name, ``], + [ChartWaterfall, ChartWaterfall.name, ``], + [ChartWordcloud, ChartWordcloud.name, ``], + [Checkbox, Checkbox.name, ``], + [CheckboxButton, CheckboxButton.name, ``], + [CheckboxGroup, CheckboxGroup.name, ``], + [Col, Col.name, ``], + [Collapse, Collapse.name, ``], + [CollapseItem, CollapseItem.name, ``], + [Color, Color.name, ``], + [ColorPicker, ColorPicker.name, ``], + [ColorSelectPanel, ColorSelectPanel.name, ``], + [ConfigProvider, ConfigProvider.name, ``], + [Container, Container.name, ``], + [Crop, Crop.name, ``], + [DatePicker, DatePicker.name, ``], + [DialogBox, DialogBox.name, ``], + [DialogSelect, DialogSelect.name, ``], + [Divider, Divider.name, ``], + [Drawer, Drawer.name, ``], + [DropTimes, DropTimes.name, ``], + [Dropdown, Dropdown.name, ``], + [DropdownItem, DropdownItem.name, ``], + [DropdownMenu, DropdownMenu.name, ``], + [FallMenu, FallMenu.name, ``], + [FileUpload, FileUpload.name, ``], + [FilterPanel, FilterPanel.name, ``], + [FloatBar, FloatBar.name, ``], + [FlowChart, FlowChart.name, ``], + [Form, Form.name, ``], + [FormItem, FormItem.name, ``], + [Fullscreen, Fullscreen.name, ``], + [Grid, Grid.name, ``], + [GridColumn, GridColumn.name, ``], + [GridToolbar, GridToolbar.name, ``], + [Guide, Guide.name, ``], + [Image, Image.name, ``], + [Input, Input.name, ``], + [IpAddress, IpAddress.name, ``], + [Layout, Layout.name, ``], + [Link, Link.name, ``], + [LinkMenu, LinkMenu.name, ``], + [Milestone, Milestone.name, ``], + [MindMap, MindMap.name, ``], + [Modal, Modal.name, ``], + [NavMenu, NavMenu.name, ``], + [Numeric, Numeric.name, ``], + [Option, Option.name, ``], + [Pager, Pager.name, ``], + [PopConfirm, PopConfirm.name, ``], + [PopEditor, PopEditor.name, ``], + [PopUpload, PopUpload.name, ``], + [Popover, Popover.name, ``], + [Progress, Progress.name, ``], + [QrCode, QrCode.name, ``], + [Radio, Radio.name, ``], + [RadioButton, RadioButton.name, ``], + [RadioGroup, RadioGroup.name, ``], + [Rate, Rate.name, ``], + [RichTextEditor, RichTextEditor.name, ``], + [Row, Row.name, ``], + [ScrollText, ScrollText.name, ``], + [Search, Search.name, ``], + [Select, Select.name, ``], + [Skeleton, Skeleton.name, ``], + [SkeletonItem, SkeletonItem.name, ``], + [Slider, Slider.name, ``], + [Split, Split.name, ``], + [Statistic, Statistic.name, ``], + [Steps, Steps.name, ``], + [Switch, Switch.name, ``], + [TabItem, TabItem.name, ``], + [Tabs, Tabs.name, ``], + [Tag, Tag.name, ``], + [TagGroup, TagGroup.name, ``], + [TextPopup, TextPopup.name, ``], + [TimePicker, TimePicker.name, ``], + [TimeSelect, TimeSelect.name, ``], + [Timeline, Timeline.name, ``], + [TimelineItem, TimelineItem.name, ``], + [ToggleMenu, ToggleMenu.name, ``], + [ToolTip, ToolTip.name, ``], + [Transfer, Transfer.name, ``], + [Tree, Tree.name, ``], + [TreeMenu, TreeMenu.name, ``], + [UserContact, UserContact.name, ``], + [UserHead, UserHead.name, ``], + [Watermark, Watermark.name, ``], + [Wizard, Wizard.name, ``], + ] +} diff --git a/src/ui/utils.ts b/src/ui/utils.ts index 4bc3d1a5..113a1060 100644 --- a/src/ui/utils.ts +++ b/src/ui/utils.ts @@ -2,7 +2,17 @@ import * as vscode from 'vscode' import { createCompletionItem, createHover, createMarkdownString, getActiveTextEditorLanguageId, getCurrentFileUrl, getLocale, setCommandParams } from '@vscode-use/utils' import { escapeRegExp } from '../utils' -export function propsReducer(uiName: string, map: string[], prefix: string, iconData?: { prefix: string, type: string, icons: any[] }, extensionContext?: any) { +interface PropsOptions { + uiName: string + lib: string + map: any[] + iconData?: { prefix: string, type: string, icons: any[] } + extensionContext?: any + prefix?: string +} + +export function propsReducer(options: PropsOptions) { + const { uiName, lib, map, iconData, extensionContext, prefix = '' } = options const result: any = {} let icons if (iconData) { @@ -330,7 +340,7 @@ export function propsReducer(uiName: string, map: string[], prefix: string, icon } const tableDocument = createTableDocument() - result[item.name!] = { completions, events, methods, slots, suggestions: item.suggestions || [], tableDocument, rawSlots: item.slots, uiName } + result[item.name!] = { completions, events, methods, slots, suggestions: item.suggestions || [], tableDocument, rawSlots: item.slots, uiName, lib } return result }, result) } @@ -352,7 +362,7 @@ export type Directives = { }[] // todo: 重构参数,参数过多,改为 options -interface Options { +interface ComponentOptions { map: any[][] isSeperatorByHyphen?: boolean prefix?: string @@ -362,7 +372,7 @@ interface Options { importWay?: 'as default' | 'default' directives?: Directives } -export function componentsReducer(options: Options) { +export function componentsReducer(options: ComponentOptions) { const { map, isSeperatorByHyphen = true, prefix = '', lib, isReact = false, dynamicLib, importWay, directives } = options const isZh = getLocale().includes('zh') if (!isReact && prefix) { @@ -700,11 +710,15 @@ function generateSnippetNameOptions(item: any, keyName: string, prefix: string) if (keyName[0] === ':') keyName = keyName.slice(1) keyName = toCamel(keyName.replace(/:.*/, '')) - const componentName = item.name[prefix.length].toLowerCase() + item.name.slice(prefix.length + 1) + const componentName = prefix ? item.name[prefix.length].toLowerCase() + item.name.slice(prefix.length + 1) : item.name + const splitNames = componentName.split(/(?=[A-Z])/).map((i: string) => `${i.toLocaleLowerCase()}${keyName[0].toUpperCase()}${keyName.slice(1)}`) + const splitNamesReverse = componentName.split(/(?=[A-Z])/).map((i: string) => `${keyName.toLocaleLowerCase()}${i}`) return [ keyName, `${keyName}Value`, `is${keyName[0].toUpperCase()}${keyName.slice(1)}`, + ...splitNames, + ...splitNamesReverse, `${componentName}${keyName[0].toUpperCase()}${keyName.slice(1)}`, `${componentName}_${keyName}`, ].join(',') diff --git a/src/ui/uview/uview1/index.ts b/src/ui/uview/uview1/index.ts index 76d2322f..76f3768c 100644 --- a/src/ui/uview/uview1/index.ts +++ b/src/ui/uview/uview1/index.ts @@ -1,265 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import formItem from './formItem.json' -import form from './form.json' -import field from './field.json' -import gap from './gap.json' -import grid from './grid.json' -import gridItem from './gridItem.json' -import icon from './icon.json' -import image from './image.json' -import indexList from './indexList.json' -import indexAnchor from './indexAnchor.json' -import indexBar from './indexBar.json' -import input from './input.json' -import keyboard from './keyboard.json' -import lazyLoad from './lazyLoad.json' -import line from './line.json' -import lineProgress from './lineProgress.json' -import circleProgress from './circleProgress.json' -import checkbox from './checkbox.json' -import checkboxGroup from './checkboxGroup.json' -import col from './col.json' -import collapse from './collapse.json' -import collapseItem from './collapseItem.json' -import countDown from './countDown.json' -import countTo from './countTo.json' -import divider from './divider.json' -import dropdown from './dropdown.json' -import dropdownItem from './dropdownItem.json' -import empty from './empty.json' -import link from './link.json' -import loading from './loading.json' -import loadmore from './loadmore.json' -import mask from './mask.json' -import messageInput from './messageInput.json' -import modal from './modal.json' -import navbar from './navbar.json' -import noNetwork from './noNetwork.json' -import noticeBar from './noticeBar.json' -import numberBox from './numberBox.json' -import parse from './parse.json' -import picker from './picker.json' -import popup from './popup.json' -import radio from './radio.json' -import radioGroup from './radioGroup.json' -import rate from './rate.json' -import readMore from './readMore.json' -import row from './row.json' -import search from './search.json' -import section from './section.json' -import select from './select.json' -import skeleton from './skeleton.json' -import slider from './slider.json' -import steps from './steps.json' -import sticky from './sticky.json' -import subsection from './subsection.json' -import swipeAction from './swipeAction.json' -import actionSheet from './actionSheet.json' -import alertTips from './alertTips.json' -import avatar from './avatar.json' -import avatarCropper from './avatarCropper.json' -import backTop from './backTop.json' -import badge from './badge.json' -import button from './button.json' -import calendar from './calendar.json' -import card from './card.json' -import swiper from './swiper.json' -import uswitch from './switch.json' -import tabbar from './tabbar.json' -import table from './table.json' -import tabs from './tabs.json' -import tabSwiper from './tabSwiper.json' -import tag from './tag.json' -import td from './td.json' -import tr from './tr.json' -import th from './th.json' -import timeLine from './timeLine.json' -import timeLineItem from './timeLineItem.json' -import toast from './toast.json' -import topTips from './topTips.json' -import upload from './upload.json' -import verificationCode from './verificationCode.json' -import waterfall from './waterfall.json' -import cellItem from './cellItem.json' -import cellGroup from './cellGroup.json' +import { getComponentMap, getPropsMap } from './mapping' export function uview1() { - const map: any = [ - formItem, - form, - field, - gap, - grid, - gridItem, - icon, - image, - indexAnchor, - indexBar, - input, - keyboard, - lazyLoad, - line, - lineProgress, - circleProgress, - checkbox, - checkboxGroup, - col, - collapse, - collapseItem, - countDown, - countTo, - divider, - dropdown, - dropdownItem, - empty, - link, - loading, - loadmore, - mask, - messageInput, - modal, - navbar, - noNetwork, - noticeBar, - numberBox, - parse, - picker, - popup, - radio, - radioGroup, - rate, - readMore, - row, - search, - section, - select, - skeleton, - slider, - steps, - sticky, - subsection, - swipeAction, - actionSheet, - alertTips, - avatar, - avatarCropper, - backTop, - badge, - button, - calendar, - card, - swiper, - uswitch, - tabbar, - table, - tabs, - tabSwiper, - tag, - td, - tr, - th, - timeLine, - timeLineItem, - toast, - topTips, - upload, - verificationCode, - waterfall, - cellItem, - cellGroup, - ] - - return propsReducer('uview1', map, 'u') + return propsReducer({ + uiName: 'uview1', + map: getPropsMap(), + lib: 'uview-ui', + prefix: 'u', + }) } export function uview1Components() { - const map = [ - [formItem, formItem.name, `<${formItem.name}>`], - [form, form.name, `<${form.name}>`], - [field, field.name, `<${field.name}>`], - [gap, gap.name, `<${gap.name}>`], - [grid, grid.name, `<${grid.name}>`], - [gridItem, gridItem.name, `<${gridItem.name}>`], - [icon, icon.name, `<${icon.name}>`], - [image, image.name, `<${image.name}>`], - [indexAnchor, indexAnchor.name, `<${indexAnchor.name}>`], - [indexList, indexList.name, `<${indexList.name}>`], - [indexBar, indexBar.name, `<${indexBar.name}>`], - [input, input.name, `<${input.name}>`], - [keyboard, keyboard.name, `<${keyboard.name}>`], - [lazyLoad, lazyLoad.name, `<${lazyLoad.name}>`], - [line, line.name, `<${line.name}>`], - [lineProgress, lineProgress.name, `<${lineProgress.name}>`], - [circleProgress, circleProgress.name, `<${circleProgress.name}>`], - [checkbox, checkbox.name, `<${checkbox.name}>`], - [checkboxGroup, checkboxGroup.name, `<${checkboxGroup.name}>`], - [col, col.name, `<${col.name}>`], - [collapse, collapse.name, `<${collapse.name}>`], - [collapseItem, collapseItem.name, `<${collapseItem.name}>`], - [countDown, countDown.name, `<${countDown.name}>`], - [countTo, countTo.name, `<${countTo.name}>`], - [divider, divider.name, `<${divider.name}>`], - [dropdown, dropdown.name, `<${dropdown.name}>`], - [dropdownItem, dropdownItem.name, `<${dropdownItem.name}>`], - [empty, empty.name, `<${empty.name}>`], - [link, link.name, `<${link.name}>`], - [loading, loading.name, `<${loading.name}>`], - [loadmore, loadmore.name, `<${loadmore.name}>`], - [mask, mask.name, `<${mask.name}>`], - [messageInput, messageInput.name, `<${messageInput.name}>`], - [modal, modal.name, `<${modal.name}>`], - [navbar, navbar.name, `<${navbar.name}>`], - [noNetwork, noNetwork.name, `<${noNetwork.name}>`], - [noticeBar, noticeBar.name, `<${noticeBar.name}>`], - [numberBox, numberBox.name, `<${numberBox.name}>`], - [parse, parse.name, `<${parse.name}>`], - [picker, picker.name, `<${picker.name}>`], - [popup, popup.name, `<${popup.name}>`], - [radio, radio.name, `<${radio.name}>`], - [radioGroup, radioGroup.name, `<${radioGroup.name}>`], - [rate, rate.name, `<${rate.name}>`], - [readMore, readMore.name, `<${readMore.name}>`], - [row, row.name, `<${row.name}>`], - [search, search.name, `<${search.name}>`], - [section, section.name, `<${section.name}>`], - [select, select.name, `<${select.name}>`], - [skeleton, skeleton.name, `<${skeleton.name}>`], - [slider, slider.name, `<${slider.name}>`], - [steps, steps.name, `<${steps.name}>`], - [sticky, sticky.name, `<${sticky.name}>`], - [subsection, subsection.name, `<${subsection.name}>`], - [swipeAction, swipeAction.name, `<${swipeAction.name}>`], - [actionSheet, actionSheet.name, `<${actionSheet.name}>`], - [alertTips, alertTips.name, `<${alertTips.name}>`], - [avatar, avatar.name, `<${avatar.name}>`], - [avatarCropper, avatarCropper.name, `<${avatarCropper.name}>`], - [backTop, backTop.name, `<${backTop.name}>`], - [badge, badge.name, `<${badge.name}>`], - [button, button.name, `<${button.name}>`], - [calendar, calendar.name, `<${calendar.name}>`], - [card, card.name, `<${card.name}>`], - [swiper, swiper.name, `<${swiper.name}>`], - [uswitch, uswitch.name, `<${uswitch.name}>`], - [tabbar, tabbar.name, `<${tabbar.name}>`], - [table, table.name, `<${table.name}>`], - [tabs, tabs.name, `<${tabs.name}>`], - [tabSwiper, tabSwiper.name, `<${tabSwiper.name}>`], - [tag, tag.name, `<${tag.name}>`], - [td, td.name, `<${td.name}>`], - [tr, tr.name, `<${tr.name}>`], - [th, th.name, `<${th.name}>`], - [timeLine, timeLine.name, `<${timeLine.name}>`], - [timeLineItem, timeLineItem.name, `<${timeLineItem.name}>`], - [toast, toast.name, `<${toast.name}>`], - [topTips, topTips.name, `<${topTips.name}>`], - [upload, upload.name, `<${upload.name}>`], - [verificationCode, verificationCode.name, `<${verificationCode.name}>`], - [waterfall, waterfall.name, `<${waterfall.name}>`], - [cellItem, cellItem.name, `<${cellItem.name}>`], - [cellGroup, cellGroup.name, `<${cellGroup.name}>`], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'u', lib: 'uview-ui', diff --git a/src/ui/uview/uview1/mapping.ts b/src/ui/uview/uview1/mapping.ts new file mode 100644 index 00000000..67571d8f --- /dev/null +++ b/src/ui/uview/uview1/mapping.ts @@ -0,0 +1,258 @@ +import formItem from './formItem.json' +import form from './form.json' +import field from './field.json' +import gap from './gap.json' +import grid from './grid.json' +import gridItem from './gridItem.json' +import icon from './icon.json' +import image from './image.json' +import indexList from './indexList.json' +import indexAnchor from './indexAnchor.json' +import indexBar from './indexBar.json' +import input from './input.json' +import keyboard from './keyboard.json' +import lazyLoad from './lazyLoad.json' +import line from './line.json' +import lineProgress from './lineProgress.json' +import circleProgress from './circleProgress.json' +import checkbox from './checkbox.json' +import checkboxGroup from './checkboxGroup.json' +import col from './col.json' +import collapse from './collapse.json' +import collapseItem from './collapseItem.json' +import countDown from './countDown.json' +import countTo from './countTo.json' +import divider from './divider.json' +import dropdown from './dropdown.json' +import dropdownItem from './dropdownItem.json' +import empty from './empty.json' +import link from './link.json' +import loading from './loading.json' +import loadmore from './loadmore.json' +import mask from './mask.json' +import messageInput from './messageInput.json' +import modal from './modal.json' +import navbar from './navbar.json' +import noNetwork from './noNetwork.json' +import noticeBar from './noticeBar.json' +import numberBox from './numberBox.json' +import parse from './parse.json' +import picker from './picker.json' +import popup from './popup.json' +import radio from './radio.json' +import radioGroup from './radioGroup.json' +import rate from './rate.json' +import readMore from './readMore.json' +import row from './row.json' +import search from './search.json' +import section from './section.json' +import select from './select.json' +import skeleton from './skeleton.json' +import slider from './slider.json' +import steps from './steps.json' +import sticky from './sticky.json' +import subsection from './subsection.json' +import swipeAction from './swipeAction.json' +import actionSheet from './actionSheet.json' +import alertTips from './alertTips.json' +import avatar from './avatar.json' +import avatarCropper from './avatarCropper.json' +import backTop from './backTop.json' +import badge from './badge.json' +import button from './button.json' +import calendar from './calendar.json' +import card from './card.json' +import swiper from './swiper.json' +import uswitch from './switch.json' +import tabbar from './tabbar.json' +import table from './table.json' +import tabs from './tabs.json' +import tabSwiper from './tabSwiper.json' +import tag from './tag.json' +import td from './td.json' +import tr from './tr.json' +import th from './th.json' +import timeLine from './timeLine.json' +import timeLineItem from './timeLineItem.json' +import toast from './toast.json' +import topTips from './topTips.json' +import upload from './upload.json' +import verificationCode from './verificationCode.json' +import waterfall from './waterfall.json' +import cellItem from './cellItem.json' +import cellGroup from './cellGroup.json' + +export function getPropsMap() { + return [ + formItem, + form, + field, + gap, + grid, + gridItem, + icon, + image, + indexAnchor, + indexBar, + input, + keyboard, + lazyLoad, + line, + lineProgress, + circleProgress, + checkbox, + checkboxGroup, + col, + collapse, + collapseItem, + countDown, + countTo, + divider, + dropdown, + dropdownItem, + empty, + link, + loading, + loadmore, + mask, + messageInput, + modal, + navbar, + noNetwork, + noticeBar, + numberBox, + parse, + picker, + popup, + radio, + radioGroup, + rate, + readMore, + row, + search, + section, + select, + skeleton, + slider, + steps, + sticky, + subsection, + swipeAction, + actionSheet, + alertTips, + avatar, + avatarCropper, + backTop, + badge, + button, + calendar, + card, + swiper, + uswitch, + tabbar, + table, + tabs, + tabSwiper, + tag, + td, + tr, + th, + timeLine, + timeLineItem, + toast, + topTips, + upload, + verificationCode, + waterfall, + cellItem, + cellGroup, + ] +} + +export function getComponentMap() { + return [ + [formItem, formItem.name, `<${formItem.name}>`], + [form, form.name, `<${form.name}>`], + [field, field.name, `<${field.name}>`], + [gap, gap.name, `<${gap.name}>`], + [grid, grid.name, `<${grid.name}>`], + [gridItem, gridItem.name, `<${gridItem.name}>`], + [icon, icon.name, `<${icon.name}>`], + [image, image.name, `<${image.name}>`], + [indexAnchor, indexAnchor.name, `<${indexAnchor.name}>`], + [indexList, indexList.name, `<${indexList.name}>`], + [indexBar, indexBar.name, `<${indexBar.name}>`], + [input, input.name, `<${input.name}>`], + [keyboard, keyboard.name, `<${keyboard.name}>`], + [lazyLoad, lazyLoad.name, `<${lazyLoad.name}>`], + [line, line.name, `<${line.name}>`], + [lineProgress, lineProgress.name, `<${lineProgress.name}>`], + [circleProgress, circleProgress.name, `<${circleProgress.name}>`], + [checkbox, checkbox.name, `<${checkbox.name}>`], + [checkboxGroup, checkboxGroup.name, `<${checkboxGroup.name}>`], + [col, col.name, `<${col.name}>`], + [collapse, collapse.name, `<${collapse.name}>`], + [collapseItem, collapseItem.name, `<${collapseItem.name}>`], + [countDown, countDown.name, `<${countDown.name}>`], + [countTo, countTo.name, `<${countTo.name}>`], + [divider, divider.name, `<${divider.name}>`], + [dropdown, dropdown.name, `<${dropdown.name}>`], + [dropdownItem, dropdownItem.name, `<${dropdownItem.name}>`], + [empty, empty.name, `<${empty.name}>`], + [link, link.name, `<${link.name}>`], + [loading, loading.name, `<${loading.name}>`], + [loadmore, loadmore.name, `<${loadmore.name}>`], + [mask, mask.name, `<${mask.name}>`], + [messageInput, messageInput.name, `<${messageInput.name}>`], + [modal, modal.name, `<${modal.name}>`], + [navbar, navbar.name, `<${navbar.name}>`], + [noNetwork, noNetwork.name, `<${noNetwork.name}>`], + [noticeBar, noticeBar.name, `<${noticeBar.name}>`], + [numberBox, numberBox.name, `<${numberBox.name}>`], + [parse, parse.name, `<${parse.name}>`], + [picker, picker.name, `<${picker.name}>`], + [popup, popup.name, `<${popup.name}>`], + [radio, radio.name, `<${radio.name}>`], + [radioGroup, radioGroup.name, `<${radioGroup.name}>`], + [rate, rate.name, `<${rate.name}>`], + [readMore, readMore.name, `<${readMore.name}>`], + [row, row.name, `<${row.name}>`], + [search, search.name, `<${search.name}>`], + [section, section.name, `<${section.name}>`], + [select, select.name, `<${select.name}>`], + [skeleton, skeleton.name, `<${skeleton.name}>`], + [slider, slider.name, `<${slider.name}>`], + [steps, steps.name, `<${steps.name}>`], + [sticky, sticky.name, `<${sticky.name}>`], + [subsection, subsection.name, `<${subsection.name}>`], + [swipeAction, swipeAction.name, `<${swipeAction.name}>`], + [actionSheet, actionSheet.name, `<${actionSheet.name}>`], + [alertTips, alertTips.name, `<${alertTips.name}>`], + [avatar, avatar.name, `<${avatar.name}>`], + [avatarCropper, avatarCropper.name, `<${avatarCropper.name}>`], + [backTop, backTop.name, `<${backTop.name}>`], + [badge, badge.name, `<${badge.name}>`], + [button, button.name, `<${button.name}>`], + [calendar, calendar.name, `<${calendar.name}>`], + [card, card.name, `<${card.name}>`], + [swiper, swiper.name, `<${swiper.name}>`], + [uswitch, uswitch.name, `<${uswitch.name}>`], + [tabbar, tabbar.name, `<${tabbar.name}>`], + [table, table.name, `<${table.name}>`], + [tabs, tabs.name, `<${tabs.name}>`], + [tabSwiper, tabSwiper.name, `<${tabSwiper.name}>`], + [tag, tag.name, `<${tag.name}>`], + [td, td.name, `<${td.name}>`], + [tr, tr.name, `<${tr.name}>`], + [th, th.name, `<${th.name}>`], + [timeLine, timeLine.name, `<${timeLine.name}>`], + [timeLineItem, timeLineItem.name, `<${timeLineItem.name}>`], + [toast, toast.name, `<${toast.name}>`], + [topTips, topTips.name, `<${topTips.name}>`], + [upload, upload.name, `<${upload.name}>`], + [verificationCode, verificationCode.name, `<${verificationCode.name}>`], + [waterfall, waterfall.name, `<${waterfall.name}>`], + [cellItem, cellItem.name, `<${cellItem.name}>`], + [cellGroup, cellGroup.name, `<${cellGroup.name}>`], + ] +} diff --git a/src/ui/uview/uview2/index.ts b/src/ui/uview/uview2/index.ts index e6e479e1..fea4b634 100644 --- a/src/ui/uview/uview2/index.ts +++ b/src/ui/uview/uview2/index.ts @@ -1,208 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import formItem from './formItem.json' -import form from './form.json' -import gap from './gap.json' -import grid from './grid.json' -import gridItem from './gridItem.json' -import icon from './icon.json' -import image from './image.json' -import indexList from './indexList.json' -import indexAnchor from './indexAnchor.json' -import indexBar from './indexBar.json' -import input from './input.json' -import keyboard from './keyboard.json' -import line from './line.json' -import lineProgress from './lineProgress.json' -import link from './link.json' -import loadmore from './loadmore.json' -import modal from './modal.json' -import navbar from './navbar.json' -import noNetwork from './noNetwork.json' -import noticeBar from './noticeBar.json' -import numberBox from './numberBox.json' -import parse from './parse.json' -import picker from './picker.json' -import popup from './popup.json' -import radio from './radio.json' -import radioGroup from './radioGroup.json' -import rate from './rate.json' -import readMore from './readMore.json' -import row from './row.json' -import search from './search.json' -import skeleton from './skeleton.json' -import slider from './slider.json' -import steps from './steps.json' -import sticky from './sticky.json' -import subsection from './subsection.json' -import swipeAction from './swipeAction.json' -import swiper from './swiper.json' -import uswitch from './switch.json' -import tabbar from './tabbar.json' -import tabs from './tabs.json' -import tag from './tag.json' -import toast from './toast.json' -import upload from './upload.json' -import text from './text.json' -import cell from './cell.json' -import cellGroup from './cellGroup.json' -import album from './album.json' -import code from './code.json' -import datetimePicker from './datetimePicker.json' -import loadingIcon from './loadingIcon.json' -import loadingPage from './loadingPage.json' -import textarea from './textarea.json' -import alert from './alert.json' -import avatarGroup from './avatarGroup.json' -import codeInput from './codeInput.json' -import list from './list.json' -import listItem from './listItem.json' -import notify from './notify.json' -import overlay from './overlay.json' -import scrollList from './scrollList.json' -import stepsItem from './stepsItem.json' -import swipeActionItem from './swipeActionItem.json' -import tabbarItem from './tabbarItem.json' -import transition from './transition.json' +import { getComponentMap, getPropsMap } from './mapping' export function uview2() { - const map: any = [ - formItem, - form, - gap, - grid, - gridItem, - icon, - image, - indexAnchor, - indexBar, - input, - keyboard, - line, - lineProgress, - link, - loadmore, - modal, - navbar, - noNetwork, - noticeBar, - numberBox, - parse, - picker, - popup, - radio, - radioGroup, - rate, - readMore, - row, - search, - skeleton, - slider, - steps, - sticky, - subsection, - swipeAction, - swiper, - uswitch, - tabbar, - tabs, - tag, - toast, - upload, - text, - cell, - cellGroup, - album, - code, - datetimePicker, - loadingIcon, - loadingPage, - textarea, - alert, - avatarGroup, - codeInput, - list, - listItem, - notify, - overlay, - scrollList, - stepsItem, - swipeActionItem, - tabbarItem, - transition, - ] - - return propsReducer('uview2', map, 'u') + return propsReducer({ + uiName: 'uview2', + map: getPropsMap(), + lib: 'uview-ui', + prefix: 'u', + }) } export function uview2Components() { - const map = [ - [formItem, formItem.name, `<${formItem.name}>`], - [form, form.name, `<${form.name}>`], - [gap, gap.name, `<${gap.name}>`], - [grid, grid.name, `<${grid.name}>`], - [gridItem, gridItem.name, `<${gridItem.name}>`], - [icon, icon.name, `<${icon.name}>`], - [image, image.name, `<${image.name}>`], - [indexAnchor, indexAnchor.name, `<${indexAnchor.name}>`], - [indexList, indexList.name, `<${indexList.name}>`], - [indexBar, indexBar.name, `<${indexBar.name}>`], - [input, input.name, `<${input.name}>`], - [keyboard, keyboard.name, `<${keyboard.name}>`], - [line, line.name, `<${line.name}>`], - [lineProgress, lineProgress.name, `<${lineProgress.name}>`], - [link, link.name, `<${link.name}>`], - [loadmore, loadmore.name, `<${loadmore.name}>`], - [modal, modal.name, `<${modal.name}>`], - [navbar, navbar.name, `<${navbar.name}>`], - [noNetwork, noNetwork.name, `<${noNetwork.name}>`], - [noticeBar, noticeBar.name, `<${noticeBar.name}>`], - [numberBox, numberBox.name, `<${numberBox.name}>`], - [parse, parse.name, `<${parse.name}>`], - [picker, picker.name, `<${picker.name}>`], - [popup, popup.name, `<${popup.name}>`], - [radio, radio.name, `<${radio.name}>`], - [radioGroup, radioGroup.name, `<${radioGroup.name}>`], - [rate, rate.name, `<${rate.name}>`], - [readMore, readMore.name, `<${readMore.name}>`], - [row, row.name, `<${row.name}>`], - [search, search.name, `<${search.name}>`], - [skeleton, skeleton.name, `<${skeleton.name}>`], - [slider, slider.name, `<${slider.name}>`], - [steps, steps.name, `<${steps.name}>`], - [sticky, sticky.name, `<${sticky.name}>`], - [subsection, subsection.name, `<${subsection.name}>`], - [swipeAction, swipeAction.name, `<${swipeAction.name}>`], - [swiper, swiper.name, `<${swiper.name}>`], - [uswitch, uswitch.name, `<${uswitch.name}>`], - [tabbar, tabbar.name, `<${tabbar.name}>`], - [tabs, tabs.name, `<${tabs.name}>`], - [tag, tag.name, `<${tag.name}>`], - [toast, toast.name, `<${toast.name}>`], - [upload, upload.name, `<${upload.name}>`], - [text, text.name, `<${text.name}>`], - [cell, cell.name, `<${cell.name}>`], - [cellGroup, cellGroup.name, `<${cellGroup.name}>`], - [album, album.name, `<${album.name}>`], - [code, code.name, `<${code.name}>`], - [datetimePicker, datetimePicker.name, `<${datetimePicker.name}>`], - [loadingIcon, loadingIcon.name, `<${loadingIcon.name}>`], - [loadingPage, loadingPage.name, `<${loadingPage.name}>`], - [textarea, textarea.name, `<${textarea.name}>`], - [alert, alert.name, `<${alert.name}>`], - [avatarGroup, avatarGroup.name, `<${avatarGroup.name}>`], - [codeInput, codeInput.name, `<${codeInput.name}>`], - [list, list.name, `<${list.name}>`], - [listItem, listItem.name, `<${listItem.name}>`], - [notify, notify.name, `<${notify.name}>`], - [overlay, overlay.name, `<${overlay.name}>`], - [scrollList, scrollList.name, `<${scrollList.name}>`], - [stepsItem, stepsItem.name, `<${stepsItem.name}>`], - [swipeActionItem, swipeActionItem.name, `<${swipeActionItem.name}>`], - [tabbarItem, tabbarItem.name, `<${tabbarItem.name}>`], - [transition, transition.name, `<${transition.name}>`], - ] return componentsReducer({ - map, + map: getComponentMap(), isSeperatorByHyphen: true, prefix: 'u', lib: 'uview-ui', diff --git a/src/ui/uview/uview2/mapping.ts b/src/ui/uview/uview2/mapping.ts new file mode 100644 index 00000000..1f11cd33 --- /dev/null +++ b/src/ui/uview/uview2/mapping.ts @@ -0,0 +1,201 @@ +import formItem from './formItem.json' +import form from './form.json' +import gap from './gap.json' +import grid from './grid.json' +import gridItem from './gridItem.json' +import icon from './icon.json' +import image from './image.json' +import indexList from './indexList.json' +import indexAnchor from './indexAnchor.json' +import indexBar from './indexBar.json' +import input from './input.json' +import keyboard from './keyboard.json' +import line from './line.json' +import lineProgress from './lineProgress.json' +import link from './link.json' +import loadmore from './loadmore.json' +import modal from './modal.json' +import navbar from './navbar.json' +import noNetwork from './noNetwork.json' +import noticeBar from './noticeBar.json' +import numberBox from './numberBox.json' +import parse from './parse.json' +import picker from './picker.json' +import popup from './popup.json' +import radio from './radio.json' +import radioGroup from './radioGroup.json' +import rate from './rate.json' +import readMore from './readMore.json' +import row from './row.json' +import search from './search.json' +import skeleton from './skeleton.json' +import slider from './slider.json' +import steps from './steps.json' +import sticky from './sticky.json' +import subsection from './subsection.json' +import swipeAction from './swipeAction.json' +import swiper from './swiper.json' +import uswitch from './switch.json' +import tabbar from './tabbar.json' +import tabs from './tabs.json' +import tag from './tag.json' +import toast from './toast.json' +import upload from './upload.json' +import text from './text.json' +import cell from './cell.json' +import cellGroup from './cellGroup.json' +import album from './album.json' +import code from './code.json' +import datetimePicker from './datetimePicker.json' +import loadingIcon from './loadingIcon.json' +import loadingPage from './loadingPage.json' +import textarea from './textarea.json' +import alert from './alert.json' +import avatarGroup from './avatarGroup.json' +import codeInput from './codeInput.json' +import list from './list.json' +import listItem from './listItem.json' +import notify from './notify.json' +import overlay from './overlay.json' +import scrollList from './scrollList.json' +import stepsItem from './stepsItem.json' +import swipeActionItem from './swipeActionItem.json' +import tabbarItem from './tabbarItem.json' +import transition from './transition.json' + +export function getPropsMap() { + return [ + formItem, + form, + gap, + grid, + gridItem, + icon, + image, + indexAnchor, + indexBar, + input, + keyboard, + line, + lineProgress, + link, + loadmore, + modal, + navbar, + noNetwork, + noticeBar, + numberBox, + parse, + picker, + popup, + radio, + radioGroup, + rate, + readMore, + row, + search, + skeleton, + slider, + steps, + sticky, + subsection, + swipeAction, + swiper, + uswitch, + tabbar, + tabs, + tag, + toast, + upload, + text, + cell, + cellGroup, + album, + code, + datetimePicker, + loadingIcon, + loadingPage, + textarea, + alert, + avatarGroup, + codeInput, + list, + listItem, + notify, + overlay, + scrollList, + stepsItem, + swipeActionItem, + tabbarItem, + transition, + ] +} + +export function getComponentMap() { + return [ + [formItem, formItem.name, `<${formItem.name}>`], + [form, form.name, `<${form.name}>`], + [gap, gap.name, `<${gap.name}>`], + [grid, grid.name, `<${grid.name}>`], + [gridItem, gridItem.name, `<${gridItem.name}>`], + [icon, icon.name, `<${icon.name}>`], + [image, image.name, `<${image.name}>`], + [indexAnchor, indexAnchor.name, `<${indexAnchor.name}>`], + [indexList, indexList.name, `<${indexList.name}>`], + [indexBar, indexBar.name, `<${indexBar.name}>`], + [input, input.name, `<${input.name}>`], + [keyboard, keyboard.name, `<${keyboard.name}>`], + [line, line.name, `<${line.name}>`], + [lineProgress, lineProgress.name, `<${lineProgress.name}>`], + [link, link.name, `<${link.name}>`], + [loadmore, loadmore.name, `<${loadmore.name}>`], + [modal, modal.name, `<${modal.name}>`], + [navbar, navbar.name, `<${navbar.name}>`], + [noNetwork, noNetwork.name, `<${noNetwork.name}>`], + [noticeBar, noticeBar.name, `<${noticeBar.name}>`], + [numberBox, numberBox.name, `<${numberBox.name}>`], + [parse, parse.name, `<${parse.name}>`], + [picker, picker.name, `<${picker.name}>`], + [popup, popup.name, `<${popup.name}>`], + [radio, radio.name, `<${radio.name}>`], + [radioGroup, radioGroup.name, `<${radioGroup.name}>`], + [rate, rate.name, `<${rate.name}>`], + [readMore, readMore.name, `<${readMore.name}>`], + [row, row.name, `<${row.name}>`], + [search, search.name, `<${search.name}>`], + [skeleton, skeleton.name, `<${skeleton.name}>`], + [slider, slider.name, `<${slider.name}>`], + [steps, steps.name, `<${steps.name}>`], + [sticky, sticky.name, `<${sticky.name}>`], + [subsection, subsection.name, `<${subsection.name}>`], + [swipeAction, swipeAction.name, `<${swipeAction.name}>`], + [swiper, swiper.name, `<${swiper.name}>`], + [uswitch, uswitch.name, `<${uswitch.name}>`], + [tabbar, tabbar.name, `<${tabbar.name}>`], + [tabs, tabs.name, `<${tabs.name}>`], + [tag, tag.name, `<${tag.name}>`], + [toast, toast.name, `<${toast.name}>`], + [upload, upload.name, `<${upload.name}>`], + [text, text.name, `<${text.name}>`], + [cell, cell.name, `<${cell.name}>`], + [cellGroup, cellGroup.name, `<${cellGroup.name}>`], + [album, album.name, `<${album.name}>`], + [code, code.name, `<${code.name}>`], + [datetimePicker, datetimePicker.name, `<${datetimePicker.name}>`], + [loadingIcon, loadingIcon.name, `<${loadingIcon.name}>`], + [loadingPage, loadingPage.name, `<${loadingPage.name}>`], + [textarea, textarea.name, `<${textarea.name}>`], + [alert, alert.name, `<${alert.name}>`], + [avatarGroup, avatarGroup.name, `<${avatarGroup.name}>`], + [codeInput, codeInput.name, `<${codeInput.name}>`], + [list, list.name, `<${list.name}>`], + [listItem, listItem.name, `<${listItem.name}>`], + [notify, notify.name, `<${notify.name}>`], + [overlay, overlay.name, `<${overlay.name}>`], + [scrollList, scrollList.name, `<${scrollList.name}>`], + [stepsItem, stepsItem.name, `<${stepsItem.name}>`], + [swipeActionItem, swipeActionItem.name, `<${swipeActionItem.name}>`], + [tabbarItem, tabbarItem.name, `<${tabbarItem.name}>`], + [transition, transition.name, `<${transition.name}>`], + ] +} diff --git a/src/ui/uviewPlus/uviewPlus3/index.ts b/src/ui/uviewPlus/uviewPlus3/index.ts index 9828e0c3..a7d70f72 100644 --- a/src/ui/uviewPlus/uviewPlus3/index.ts +++ b/src/ui/uviewPlus/uviewPlus3/index.ts @@ -1,272 +1,18 @@ import { componentsReducer, propsReducer } from '../../utils' -import ActionSheet from './ActionSheet.json' -import Album from './Album.json' -import Alert from './Alert.json' -import Avatar from './Avatar.json' -import AvatarGroup from './AvatarGroup.json' -import BackTop from './BackTop.json' -import Badge from './Badge.json' -import Button from './Button.json' -import Calendar from './Calendar.json' -import Cell from './Cell.json' -import CellGroup from './CellGroup.json' -import Checkbox from './Checkbox.json' -import CheckboxGroup from './CheckboxGroup.json' -import Code from './Code.json' -import CodeInput from './CodeInput.json' -import Col from './Col.json' -import Collapse from './Collapse.json' -import CollapseItem from './CollapseItem.json' -import Copy from './Copy.json' -import CountDown from './CountDown.json' -import CountTo from './CountTo.json' -import DatetimePicker from './DatetimePicker.json' -import Divider from './Divider.json' -import Dropdown from './Dropdown.json' -import Empty from './Empty.json' -import Form from './Form.json' -import FormItem from './FormItem.json' -import Gap from './Gap.json' -import Grid from './Grid.json' -import GridItem from './GridItem.json' -import Icon from './Icon.json' -import Image from './Image.json' -import IndexAnchor from './IndexAnchor.json' -import IndexBar from './IndexBar.json' -import IndexItem from './IndexItem.json' -import IndexList from './IndexList.json' -import Input from './Input.json' -import Keyboard from './Keyboard.json' -import LazyLoad from './LazyLoad.json' -import Line from './Line.json' -import LineProgress from './LineProgress.json' -import Link from './Link.json' -import List from './List.json' -import LoadMore from './LoadMore.json' -import LoadingIcon from './LoadingIcon.json' -import LoadingPage from './LoadingPage.json' -import Modal from './Modal.json' -import Navbar from './Navbar.json' -import NoNetwork from './NoNetwork.json' -import NoticeBar from './NoticeBar.json' -import Notify from './Notify.json' -import NumberBox from './NumberBox.json' -import Overlay from './Overlay.json' -import Parse from './Parse.json' -import Picker from './Picker.json' -import Popup from './Popup.json' -import Qrcode from './Qrcode.json' -import Radio from './Radio.json' -import RadioGroup from './RadioGroup.json' -import Rate from './Rate.json' -import ReadMore from './ReadMore.json' -import Row from './Row.json' -import ScrollList from './ScrollList.json' -import Search from './Search.json' -import Skeleton from './Skeleton.json' -import Slider from './Slider.json' -import Steps from './Steps.json' -import StepsItem from './StepsItem.json' -import Sticky from './Sticky.json' -import Subsection from './Subsection.json' -import SwipeAction from './SwipeAction.json' -import Swiper from './Swiper.json' -import SwiperIndicator from './SwiperIndicator.json' -import Switch from './Switch.json' -import Tabbar from './Tabbar.json' -import TabbarItem from './TabbarItem.json' -import Tabs from './Tabs.json' -import Tag from './Tag.json' -import Text from './Text.json' -import Textarea from './Textarea.json' -import Toast from './Toast.json' -import Tooltip from './Tooltip.json' -import Transition from './Transition.json' -import Upload from './Upload.json' -import Waterfall from './Waterfall.json' +import { getComponentMap, getPropsMap } from './mapping' export function uviewPlus3() { - const map: any = [ - ActionSheet, - Album, - Alert, - Avatar, - AvatarGroup, - BackTop, - Badge, - Button, - Calendar, - Cell, - CellGroup, - Checkbox, - CheckboxGroup, - Code, - CodeInput, - Col, - Collapse, - CollapseItem, - Copy, - CountDown, - CountTo, - DatetimePicker, - Divider, - Dropdown, - Empty, - Form, - FormItem, - Gap, - Grid, - GridItem, - Icon, - Image, - IndexAnchor, - IndexBar, - IndexItem, - IndexList, - Input, - Keyboard, - LazyLoad, - Line, - LineProgress, - Link, - List, - LoadMore, - LoadingIcon, - LoadingPage, - Modal, - Navbar, - NoNetwork, - NoticeBar, - Notify, - NumberBox, - Overlay, - Parse, - Picker, - Popup, - Qrcode, - Radio, - RadioGroup, - Rate, - ReadMore, - Row, - ScrollList, - Search, - Skeleton, - Slider, - Steps, - StepsItem, - Sticky, - Subsection, - SwipeAction, - Swiper, - SwiperIndicator, - Switch, - Tabbar, - TabbarItem, - Tabs, - Tag, - Text, - Textarea, - Toast, - Tooltip, - Transition, - Upload, - Waterfall, - ] - - return propsReducer('uviewPlus3', map, 'up') + return propsReducer({ + uiName: 'uviewPlus3', + map: getPropsMap(), + lib: 'uview-plus', + prefix: 'up', + }) } export function uviewPlus3Components() { - const map = [ - [ActionSheet, ActionSheet.name, ``], - [Album, Album.name, ``], - [Alert, Alert.name, ``], - [Avatar, Avatar.name, ``], - [AvatarGroup, AvatarGroup.name, ``], - [BackTop, BackTop.name, ``], - [Badge, Badge.name, ``], - [Button, Button.name, `