diff --git a/packages/element-plus/index.ts b/packages/element-plus/index.ts index 1aafea78f8..90645818c9 100644 --- a/packages/element-plus/index.ts +++ b/packages/element-plus/index.ts @@ -9,6 +9,7 @@ import ElDivider from '@element-plus/divider' import ElTimeLine from '@element-plus/time-line' import ElProgress from '@element-plus/progress' import ElBreadcrumb from '@element-plus/breadcrumb' +import ElIcon from '@element-plus/icon' export { ElAvatar, @@ -21,6 +22,7 @@ export { ElTimeLine, ElProgress, ElBreadcrumb, + ElIcon, } export default function install(app: App): void { @@ -34,4 +36,5 @@ export default function install(app: App): void { ElTimeLine(app) ElProgress(app) ElBreadcrumb(app) + ElIcon(app) } diff --git a/packages/element-plus/package.json b/packages/element-plus/package.json index 27896d2f88..94d61ac221 100644 --- a/packages/element-plus/package.json +++ b/packages/element-plus/package.json @@ -23,6 +23,7 @@ "@element-plus/time-line": "^0.0.0", "@element-plus/divider": "^0.0.0", "@element-plus/progress": "^0.0.0", - "@element-plus/breadcrumb": "^0.0.0" + "@element-plus/breadcrumb": "^0.0.0", + "@element-plus/icon": "^0.0.0" } } diff --git a/packages/icon/__tests__/icon.spec.ts b/packages/icon/__tests__/icon.spec.ts new file mode 100644 index 0000000000..d43095229a --- /dev/null +++ b/packages/icon/__tests__/icon.spec.ts @@ -0,0 +1,13 @@ +import { mount } from '@vue/test-utils' +import Icon from '../src/index.vue' + +describe('Icon.vue', () => { + test('render', () => { + const wrapper = mount(Icon, { + props: { + name: 'search', + }, + }) + expect(wrapper.classes()).toContain('el-icon-search') + }) +}) diff --git a/packages/icon/doc/basic.vue b/packages/icon/doc/basic.vue new file mode 100644 index 0000000000..b81fb8b5b7 --- /dev/null +++ b/packages/icon/doc/basic.vue @@ -0,0 +1,14 @@ + + + diff --git a/packages/icon/doc/index.stories.ts b/packages/icon/doc/index.stories.ts new file mode 100644 index 0000000000..2a6815aad2 --- /dev/null +++ b/packages/icon/doc/index.stories.ts @@ -0,0 +1,5 @@ +export { default as BasicUsage } from './basic.vue' + +export default { + title: 'Icon', +} diff --git a/packages/icon/index.ts b/packages/icon/index.ts new file mode 100644 index 0000000000..9ae4194b5f --- /dev/null +++ b/packages/icon/index.ts @@ -0,0 +1,5 @@ +import { App } from 'vue' +import Icon from './src/index.vue' +export default (app: App): void => { + app.component(Icon.name, Icon) +} diff --git a/packages/icon/package.json b/packages/icon/package.json new file mode 100644 index 0000000000..187951cd7d --- /dev/null +++ b/packages/icon/package.json @@ -0,0 +1,12 @@ +{ + "name": "@element-plus/icon", + "version": "0.0.0", + "main": "dist/index.js", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0-rc.1" + }, + "devDependencies": { + "@vue/test-utils": "^2.0.0-beta.0" + } +} diff --git a/packages/icon/src/index.vue b/packages/icon/src/index.vue new file mode 100644 index 0000000000..5945b255a0 --- /dev/null +++ b/packages/icon/src/index.vue @@ -0,0 +1,17 @@ + + +