diff --git a/README.md b/README.md index 695a8a05..13bb6161 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,10 @@ Vue.use(SoramitsuElements, options) ### 2.Install only necessary components (to reduce vendors bundle size) ``` import Vue from 'vue -import ElementUIPlugin from '@soramitsu/soramitsu-js-ui/src/plugins/elementUI' -import SoramitsuUIStorePlugin from '@soramitsu/soramitsu-js-ui/src/plugins/soramitsuUIStore' -import SButton from '@soramitsu/soramitsu-js-ui/src/components/Button/SButton' -import SButton from '@soramitsu/soramitsu-js-ui/src/components/Input/SInput' +import ElementUIPlugin from '@soramitsu/soramitsu-js-ui/lib/plugins/elementUI' +import SoramitsuUIStorePlugin from '@soramitsu/soramitsu-js-ui/lib/plugins/soramitsuUIStore' +import SButton from '@soramitsu/soramitsu-js-ui/lib/components/Button/SButton' +import SButton from '@soramitsu/soramitsu-js-ui/lib/components/Input/SInput' Vue.use(ElementUIPlugin) // required Vue.use(SoramitsuUIStorePlugin, store) // optional diff --git a/build/rollup.config.js b/build/rollup.config.js index 4a1ec3c2..78630ecb 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -21,12 +21,17 @@ export default { 'src/types/DesignSystem.ts', 'src/types/Locale.ts', 'src/types/Theme.ts', + 'src/types/components.ts', + 'src/types/index.ts', 'src/locale/index.ts', 'src/plugins/*.ts', 'src/store/index.ts', 'src/utils/*.ts', 'src/directives/index.ts', - 'src/components/*/**/index.ts' + 'src/components/*/**/index.ts', + 'src/components/*/**/consts.ts', + 'src/components/DesignSystem/DesignSystemInject.ts', + 'src/mixins/*.ts' ], output: { format: 'esm', @@ -74,20 +79,13 @@ export default { }), scss(), resolve(), - terser(), + /* eslint-disable @typescript-eslint/camelcase */ + terser({ keep_classnames: true }), del({ targets: [ - 'lib/styles/index.d.ts', - 'bundle.css' - // TODO: find a way how to remove this dependencies - // 'lib/BorderRadiusMixin-**.js', - // 'lib/SizeMixin-**.js', - // 'lib/DesignSystem-**.js', - // 'lib/DesignSystemInject-**.js', + // TODO: find a way how to remove this dependency below // 'lib/normalize-component-**.js', - // 'lib/components-**.js', - // 'lib/consts-**.js', - // 'lib/index-**.js' + 'bundle.css' ], hook: 'writeBundle' }) diff --git a/package.json b/package.json index 5d4254a9..03bf50d5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@soramitsu/soramitsu-js-ui", - "version": "1.0.3", + "version": "1.0.4", "private": false, "publishConfig": { "registry": "https://nexus.iroha.tech/repository/npm-soramitsu/" diff --git a/src/components/Breadcrumb/SBreadcrumb/index.ts b/src/components/Breadcrumb/SBreadcrumb/index.ts index 25093ad7..a4ae62ef 100644 --- a/src/components/Breadcrumb/SBreadcrumb/index.ts +++ b/src/components/Breadcrumb/SBreadcrumb/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SBreadcrumb from './SBreadcrumb.vue' const SBreadcrumb = _SBreadcrumb as SFCWithInstall -SBreadcrumb.install = function (vue: VueConstructor) { - vue.component(Components.SBreadcrumb, SBreadcrumb) -} +SBreadcrumb.install = install(Components.SBreadcrumb, SBreadcrumb) export { SBreadcrumb } export default SBreadcrumb diff --git a/src/components/Breadcrumb/SBreadcrumbItem/index.ts b/src/components/Breadcrumb/SBreadcrumbItem/index.ts index 4b553cb2..1f03cd39 100644 --- a/src/components/Breadcrumb/SBreadcrumbItem/index.ts +++ b/src/components/Breadcrumb/SBreadcrumbItem/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SBreadcrumbItem from './SBreadcrumbItem.vue' const SBreadcrumbItem = _SBreadcrumbItem as SFCWithInstall -SBreadcrumbItem.install = function (vue: VueConstructor) { - vue.component(Components.SBreadcrumbItem, SBreadcrumbItem) -} +SBreadcrumbItem.install = install(Components.SBreadcrumbItem, SBreadcrumbItem) export { SBreadcrumbItem } export default SBreadcrumbItem diff --git a/src/components/Button/SButton/index.ts b/src/components/Button/SButton/index.ts index 6e4b31ab..63000572 100644 --- a/src/components/Button/SButton/index.ts +++ b/src/components/Button/SButton/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SButton from './SButton.vue' const SButton = _SButton as SFCWithInstall -SButton.install = function (vue: VueConstructor) { - vue.component(Components.SButton, SButton) -} +SButton.install = install(Components.SButton, SButton) export { SButton } export default SButton diff --git a/src/components/Button/SButtonGroup/index.ts b/src/components/Button/SButtonGroup/index.ts index 1d5863b0..34750a1c 100644 --- a/src/components/Button/SButtonGroup/index.ts +++ b/src/components/Button/SButtonGroup/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SButtonGroup from './SButtonGroup.vue' const SButtonGroup = _SButtonGroup as SFCWithInstall -SButtonGroup.install = function (vue: VueConstructor) { - vue.component(Components.SButtonGroup, SButtonGroup) -} +SButtonGroup.install = install(Components.SButtonGroup, SButtonGroup) export { SButtonGroup } export default SButtonGroup diff --git a/src/components/Card/SCard/index.ts b/src/components/Card/SCard/index.ts index c301ebde..dd9f56b1 100644 --- a/src/components/Card/SCard/index.ts +++ b/src/components/Card/SCard/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SCard from './SCard.vue' const SCard = _SCard as SFCWithInstall -SCard.install = function (vue: VueConstructor) { - vue.component(Components.SCard, SCard) -} +SCard.install = install(Components.SCard, SCard) export { SCard } export default SCard diff --git a/src/components/Checkbox/index.ts b/src/components/Checkbox/index.ts index 8781ed78..7736b71b 100644 --- a/src/components/Checkbox/index.ts +++ b/src/components/Checkbox/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../types/components' +import install from '../../utils/install' import _SCheckbox from './SCheckbox.vue' const SCheckbox = _SCheckbox as SFCWithInstall -SCheckbox.install = function (vue: VueConstructor) { - vue.component(Components.SCheckbox, SCheckbox) -} +SCheckbox.install = install(Components.SCheckbox, SCheckbox) export { SCheckbox } export default SCheckbox diff --git a/src/components/Collapse/SCollapse/index.ts b/src/components/Collapse/SCollapse/index.ts index 9c09acc7..19e60223 100644 --- a/src/components/Collapse/SCollapse/index.ts +++ b/src/components/Collapse/SCollapse/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SCollapse from './SCollapse.vue' const SCollapse = _SCollapse as SFCWithInstall -SCollapse.install = function (vue: VueConstructor) { - vue.component(Components.SCollapse, SCollapse) -} +SCollapse.install = install(Components.SCollapse, SCollapse) export { SCollapse } export default SCollapse diff --git a/src/components/Collapse/SCollapseItem/index.ts b/src/components/Collapse/SCollapseItem/index.ts index e2b40340..7df6110a 100644 --- a/src/components/Collapse/SCollapseItem/index.ts +++ b/src/components/Collapse/SCollapseItem/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SCollapseItem from './SCollapseItem.vue' const SCollapseItem = _SCollapseItem as SFCWithInstall -SCollapseItem.install = function (vue: VueConstructor) { - vue.component(Components.SCollapseItem, SCollapseItem) -} +SCollapseItem.install = install(Components.SCollapseItem, SCollapseItem) export { SCollapseItem } export default SCollapseItem diff --git a/src/components/DatePicker/SDatePicker/index.ts b/src/components/DatePicker/SDatePicker/index.ts index 88736cc4..ebc9c6b6 100644 --- a/src/components/DatePicker/SDatePicker/index.ts +++ b/src/components/DatePicker/SDatePicker/index.ts @@ -1,13 +1,11 @@ -import { VueConstructor } from 'vue' import { Components, SFCWithInstall } from '../../../types/components' +import install from '../../../utils/install' import _SDatePicker from './SDatePicker.vue' const SDatePicker = _SDatePicker as SFCWithInstall -SDatePicker.install = function (vue: VueConstructor) { - vue.component(Components.SDatePicker, SDatePicker) -} +SDatePicker.install = install(Components.SDatePicker, SDatePicker) export { SDatePicker } export default SDatePicker diff --git a/src/components/DesignSystem/DesignSystemInject.ts b/src/components/DesignSystem/DesignSystemInject.ts index 24ca84cd..1b76f72b 100644 --- a/src/components/DesignSystem/DesignSystemInject.ts +++ b/src/components/DesignSystem/DesignSystemInject.ts @@ -1,10 +1,12 @@ import { Component, Vue, Inject, Prop } from 'vue-property-decorator' + import { DesignSystemProvideKey } from './consts' import DesignSystem from '../../types/DesignSystem' @Component export default class DesignSystemInject extends Vue { @Prop({ default: true, type: Boolean }) readonly useDesignSystem!: boolean + @Inject({ from: DesignSystemProvideKey, default: DesignSystem.DEFAULT }) readonly designSystem!: any get designSystemClass (): string { diff --git a/src/components/DesignSystem/SDesignSystemProvider/SDesignSystemProvider.vue b/src/components/DesignSystem/SDesignSystemProvider/SDesignSystemProvider.vue index 57e40ce8..15df436c 100644 --- a/src/components/DesignSystem/SDesignSystemProvider/SDesignSystemProvider.vue +++ b/src/components/DesignSystem/SDesignSystemProvider/SDesignSystemProvider.vue @@ -6,12 +6,14 @@