index.js 1.78 KB
/**
 * `@drama/ui` 公共面 —— 唯一对外入口(禁止深导入)。
 *
 * 导出通用 Vue3 基础组件、命令式 toast API、主题 tokens(JS 形态)。组件与业务无关、
 * 不直连网络、不读 env。顶层公共面会加载 theme.css,业务应用无需深导入样式子路径。
 */

import './theme/theme.css'

export { default as Button } from './components/Button.vue'
export { default as Modal } from './components/Modal.vue'
export { default as Drawer } from './components/Drawer.vue'
export { default as Card } from './components/Card.vue'
export { default as PageHeader } from './components/PageHeader.vue'
export { default as Section } from './components/Section.vue'
export { default as Stat } from './components/Stat.vue'
export { default as Table } from './components/Table.vue'
export { default as ToastHost } from './components/ToastHost.vue'
export { default as Input } from './components/Input.vue'
export { default as Textarea } from './components/Textarea.vue'
export { default as Select } from './components/Select.vue'
export { default as Slider } from './components/Slider.vue'
export { default as SegmentedControl } from './components/SegmentedControl.vue'
export { default as Toolbar } from './components/Toolbar.vue'
export { default as FormField } from './components/FormField.vue'
export { default as Badge } from './components/Badge.vue'
export { default as Tabs } from './components/Tabs.vue'
export { default as Pagination } from './components/Pagination.vue'
export { default as EmptyState } from './components/EmptyState.vue'
export { default as Spinner } from './components/Spinner.vue'
export { default as ConfirmAction } from './components/ConfirmAction.vue'

export { useToast } from './composables/use-toast.js'

export { tokens } from './theme/tokens.js'