refactor: tree-shakeable index

This commit is contained in:
07akioni 2020-11-03 13:13:49 +08:00
parent 89e6701ff8
commit 8eb31ea723
6 changed files with 187 additions and 181 deletions

View File

@ -42,7 +42,6 @@ function setupMutableStyle (
dependencyKey,
CNode
) {
console.log(instance, instance.$naive)
const naive = instance.$naive
const options = instance.$options
const {

View File

@ -1,178 +1,11 @@
import Affix from './affix'
import Alert from './alert'
import Anchor from './anchor'
import AutoComplete from './auto-complete'
import Avatar from './avatar'
import BackTop from './back-top'
import Badge from './badge'
import Breadcrumb from './breadcrumb'
import Button from './button'
import ButtonGroup from './button-group'
import Card from './card'
import Cascader from './cascader'
import CheckBox from './checkbox'
import Code from './code'
import Collapse from './collapse'
import ConfigConsumer from './config-consumer'
import ConfigProvider from './config-provider'
import Dialog from './dialog'
import DataTable from './data-table'
import DatePicker from './date-picker'
import Descriptions from './descriptions'
import Divider from './divider'
import Drawer from './drawer'
import Dropdown from './dropdown'
import DynamicInput from './dynamic-input'
import DynamicTags from './dynamic-tags'
import Element from './element'
import Empty from './empty'
import Form from './form'
import GradientText from './gradient-text'
import Grid from './grid'
import Icon from './icon'
import Input from './input'
import InputGroup from './input-group'
import InputGroupLabelStyle from './input-group-label'
import InputNumber from './input-number'
import Layout from './layout'
import List from './list'
import LoadingBar from './loading-bar'
import Log from './log'
import Menu from './menu'
import Message from './message'
import Modal from './modal'
import Notification from './notification'
import Pagination from './pagination'
import Popconfirm from './popconfirm'
import Popselect from './popselect'
import Popup from './popover'
import Progress from './progress'
import Radio from './radio'
import Rate from './rate'
import Result from './result'
import Select from './select'
import Scrollbar from './scrollbar'
import Slider from './slider'
import Space from './space'
import Spin from './spin'
import Statistic from './statistic'
import Steps from './steps'
import Switch from './switch'
import Tabs from './tabs'
import Table from './table'
import Tag from './tag'
import Thing from './thing'
import Time from './time'
import TimePicker from './time-picker'
import Timeline from './timeline'
import Tooltip from './tooltip'
import Transfer from './transfer'
import Tree from './tree'
import Typography from './typography'
import Upload from './upload'
import zhCN from './locale/zhCN'
import enUS from './locale/enUS'
export {
default
} from './preset'
import * as styles from './styles'
export {
useOsTheme
} from 'vooks'
// Can be remove after refactoring
import baseSelectionLightStyle from './_base/selection/styles/light'
import baseSelectionDarkStyle from './_base/selection/styles/dark'
// Deprecated Components
import NimbusServiceLayout from './_deprecated/NimbusServiceLayout'
// deprecated
import { lightStyleScheme, darkStyleScheme } from './_deprecated/style-scheme'
import create from './create'
export { useOsTheme } from 'vooks'
export default create({
locales: [zhCN, enUS],
fallbackLocale: enUS,
fallbackTheme: 'light',
components: [
Card,
Icon,
Layout,
GradientText,
Table,
DataTable,
CheckBox,
Button,
ButtonGroup,
Switch,
Select,
Modal,
Input,
Message,
Notification,
Pagination,
Tooltip,
Popup,
Alert,
DatePicker,
InputNumber,
Radio,
Cascader,
DynamicInput,
Form,
Tabs,
TimePicker,
Scrollbar,
Steps,
Dialog,
Progress,
Badge,
Tag,
BackTop,
Divider,
Collapse,
Timeline,
Popconfirm,
Anchor,
Dropdown,
Popselect,
ConfigProvider,
Transfer,
Spin,
Drawer,
LoadingBar,
Time,
Slider,
Tree,
Grid,
Affix,
Statistic,
Breadcrumb,
ConfigConsumer,
Descriptions,
List,
Menu,
Avatar,
Result,
Thing,
AutoComplete,
Empty,
Element,
Log,
Code,
Typography,
Upload,
InputGroup,
InputGroupLabelStyle,
DynamicTags,
Space,
Rate,
// Deprecated
NimbusServiceLayout
],
styles: Object.keys(styles).map(key => styles[key]),
// deprecated
styleSchemes: {
light: lightStyleScheme,
dark: darkStyleScheme
}
})
export {
default as create
} from './create'

View File

@ -1,7 +1,6 @@
import create from '../../_styles/utils/create-component-base'
import { changeColor } from '../../_utils/color/index'
import { baseSuffixDark } from '../../_base/suffix/styles'
import { baseDark } from '../../styles'
import { baseDark, baseSuffixDark } from '../../styles'
export default create({
name: 'Pagination',

View File

@ -1,6 +1,5 @@
import create from '../../_styles/utils/create-component-base'
import { baseSuffixLight } from '../../_base/suffix/styles'
import { baseLight } from '../../styles'
import { baseLight, baseSuffixLight } from '../../styles'
export default create({
name: 'Pagination',

172
src/preset.js Normal file
View File

@ -0,0 +1,172 @@
import Affix from './affix'
import Alert from './alert'
import Anchor from './anchor'
import AutoComplete from './auto-complete'
import Avatar from './avatar'
import BackTop from './back-top'
import Badge from './badge'
import Breadcrumb from './breadcrumb'
import Button from './button'
import ButtonGroup from './button-group'
import Card from './card'
import Cascader from './cascader'
import CheckBox from './checkbox'
import Code from './code'
import Collapse from './collapse'
import ConfigConsumer from './config-consumer'
import ConfigProvider from './config-provider'
import Dialog from './dialog'
import DataTable from './data-table'
import DatePicker from './date-picker'
import Descriptions from './descriptions'
import Divider from './divider'
import Drawer from './drawer'
import Dropdown from './dropdown'
import DynamicInput from './dynamic-input'
import DynamicTags from './dynamic-tags'
import Element from './element'
import Empty from './empty'
import Form from './form'
import GradientText from './gradient-text'
import Grid from './grid'
import Icon from './icon'
import Input from './input'
import InputGroup from './input-group'
import InputGroupLabelStyle from './input-group-label'
import InputNumber from './input-number'
import Layout from './layout'
import List from './list'
import LoadingBar from './loading-bar'
import Log from './log'
import Menu from './menu'
import Message from './message'
import Modal from './modal'
import Notification from './notification'
import Pagination from './pagination'
import Popconfirm from './popconfirm'
import Popselect from './popselect'
import Popup from './popover'
import Progress from './progress'
import Radio from './radio'
import Rate from './rate'
import Result from './result'
import Select from './select'
import Scrollbar from './scrollbar'
import Slider from './slider'
import Space from './space'
import Spin from './spin'
import Statistic from './statistic'
import Steps from './steps'
import Switch from './switch'
import Tabs from './tabs'
import Table from './table'
import Tag from './tag'
import Thing from './thing'
import Time from './time'
import TimePicker from './time-picker'
import Timeline from './timeline'
import Tooltip from './tooltip'
import Transfer from './transfer'
import Tree from './tree'
import Typography from './typography'
import Upload from './upload'
import zhCN from './locale/zhCN'
import enUS from './locale/enUS'
import * as styles from './styles'
// Deprecated Components
import NimbusServiceLayout from './_deprecated/NimbusServiceLayout'
// deprecated
import { lightStyleScheme, darkStyleScheme } from './_deprecated/style-scheme'
import create from './create'
export default create({
locales: [zhCN, enUS],
fallbackLocale: enUS,
fallbackTheme: 'light',
components: [
Card,
Icon,
Layout,
GradientText,
Table,
DataTable,
CheckBox,
Button,
ButtonGroup,
Switch,
Select,
Modal,
Input,
Message,
Notification,
Pagination,
Tooltip,
Popup,
Alert,
DatePicker,
InputNumber,
Radio,
Cascader,
DynamicInput,
Form,
Tabs,
TimePicker,
Scrollbar,
Steps,
Dialog,
Progress,
Badge,
Tag,
BackTop,
Divider,
Collapse,
Timeline,
Popconfirm,
Anchor,
Dropdown,
Popselect,
ConfigProvider,
Transfer,
Spin,
Drawer,
LoadingBar,
Time,
Slider,
Tree,
Grid,
Affix,
Statistic,
Breadcrumb,
ConfigConsumer,
Descriptions,
List,
Menu,
Avatar,
Result,
Thing,
AutoComplete,
Empty,
Element,
Log,
Code,
Typography,
Upload,
InputGroup,
InputGroupLabelStyle,
DynamicTags,
Space,
Rate,
// Deprecated
NimbusServiceLayout
],
styles: Object.keys(styles).map(key => styles[key]),
// deprecated
styleSchemes: {
light: lightStyleScheme,
dark: darkStyleScheme
}
})

View File

@ -19,6 +19,10 @@ export {
baseLoadingDark,
baseLoadingLight
} from '../_base/loading/styles'
export {
baseSuffixDark,
baseSuffixLight
} from '../_base/suffix/styles'
/** exposed style */
export {
baseDark,