components.ts 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. import { VueConstructor } from 'vue'
  2. import { VxeUI } from './ui'
  3. import zhCN from './language/zh-CN'
  4. import VxeAlert from './alert'
  5. import VxeAnchor from './anchor'
  6. import VxeAnchorLink from './anchor-link'
  7. import VxeAvatar from './avatar'
  8. import VxeBadge from './badge'
  9. import VxeBreadcrumb from './breadcrumb'
  10. import VxeBreadcrumbItem from './breadcrumb-item'
  11. import VxeButton from './button'
  12. import VxeButtonGroup from './button-group'
  13. import VxeCalendar from './calendar'
  14. import VxeCard from './card'
  15. import VxeCarousel from './carousel'
  16. import VxeCarouselItem from './carousel-item'
  17. import VxeCheckbox from './checkbox'
  18. import VxeCheckboxButton from './checkbox-button'
  19. import VxeCheckboxGroup from './checkbox-group'
  20. import VxeCol from './col'
  21. import VxeCollapse from './collapse'
  22. import VxeCollapsePane from './collapse-pane'
  23. import VxeColorPicker from './color-picker'
  24. import VxeCountdown from './countdown'
  25. import VxeDatePanel from './date-panel'
  26. import VxeDatePicker from './date-picker'
  27. import VxeDateRangePicker from './date-range-picker'
  28. import VxeDrawer, { DrawerController } from './drawer'
  29. import VxeEmpty from './empty'
  30. import VxeForm from './form'
  31. import VxeFormGather from './form-gather'
  32. import VxeFormGroup from './form-group'
  33. import VxeFormItem from './form-item'
  34. import VxeIcon from './icon'
  35. import VxeIconPicker from './icon-picker'
  36. import VxeImage from './image'
  37. import VxeImageGroup from './image-group'
  38. import VxeImagePreview from './image-preview'
  39. import VxeInput from './input'
  40. import VxeLayoutAside from './layout-aside'
  41. import VxeLayoutBody from './layout-body'
  42. import VxeLayoutContainer from './layout-container'
  43. import VxeLayoutFooter from './layout-footer'
  44. import VxeLayoutHeader from './layout-header'
  45. import VxeLink from './link'
  46. import VxeList from './list'
  47. import VxeLoading, { LoadingController } from './loading'
  48. import VxeMenu from './menu'
  49. import VxeModal, { ModalController } from './modal'
  50. import VxeNoticeBar from './notice-bar'
  51. import VxeNumberInput from './number-input'
  52. import VxeOptgroup from './optgroup'
  53. import VxeOption from './option'
  54. import VxePager from './pager'
  55. import VxePasswordInput from './password-input'
  56. import VxePrintPageBreak from './print-page-break'
  57. import VxePrint from './print'
  58. import VxePulldown from './pulldown'
  59. import VxeRadio from './radio'
  60. import VxeRadioButton from './radio-button'
  61. import VxeRadioGroup from './radio-group'
  62. import VxeRate from './rate'
  63. import VxeResult from './result'
  64. import VxeRow from './row'
  65. import VxeSelect from './select'
  66. import VxeSplit from './split'
  67. import VxeSplitPane from './split-pane'
  68. import VxeSlider from './slider'
  69. import VxeSteps from './steps'
  70. import VxeSwitch from './switch'
  71. import VxeTabPane from './tab-pane'
  72. import VxeTableSelect from './table-select'
  73. import VxeTabs from './tabs'
  74. import VxeTag from './tag'
  75. import VxeTextEllipsis from './text-ellipsis'
  76. import VxeText from './text'
  77. import VxeTextarea from './textarea'
  78. import VxeTip from './tip'
  79. import VxeTooltip from './tooltip'
  80. import VxeTree from './tree'
  81. import VxeTreeSelect from './tree-select'
  82. import VxeUpload from './upload'
  83. import VxeWatermark, { WatermarkController } from './watermark'
  84. import { saveLocalFile, readLocalFile } from './upload/src/util'
  85. import { printHtml } from './print/src/util'
  86. import type { VxeGlobalConfig } from '@vxe-ui/core'
  87. const { setI18n, setLanguage, setTheme, setConfig } = VxeUI
  88. const components = [
  89. VxeAlert,
  90. VxeAnchor,
  91. VxeAnchorLink,
  92. VxeAvatar,
  93. VxeBadge,
  94. VxeBreadcrumb,
  95. VxeBreadcrumbItem,
  96. VxeButton,
  97. VxeButtonGroup,
  98. VxeCalendar,
  99. VxeCard,
  100. VxeCarousel,
  101. VxeCarouselItem,
  102. VxeCheckbox,
  103. VxeCheckboxButton,
  104. VxeCheckboxGroup,
  105. VxeCol,
  106. VxeCollapse,
  107. VxeCollapsePane,
  108. VxeColorPicker,
  109. VxeCountdown,
  110. VxeDatePanel,
  111. VxeDatePicker,
  112. VxeDateRangePicker,
  113. VxeDrawer,
  114. VxeEmpty,
  115. VxeForm,
  116. VxeFormGather,
  117. VxeFormGroup,
  118. VxeFormItem,
  119. VxeIcon,
  120. VxeIconPicker,
  121. VxeImage,
  122. VxeImageGroup,
  123. VxeImagePreview,
  124. VxeInput,
  125. VxeLayoutAside,
  126. VxeLayoutBody,
  127. VxeLayoutContainer,
  128. VxeLayoutFooter,
  129. VxeLayoutHeader,
  130. VxeLink,
  131. VxeList,
  132. VxeLoading,
  133. VxeMenu,
  134. VxeModal,
  135. VxeNoticeBar,
  136. VxeNumberInput,
  137. VxeOptgroup,
  138. VxeOption,
  139. VxePager,
  140. VxePasswordInput,
  141. VxePrintPageBreak,
  142. VxePrint,
  143. VxePulldown,
  144. VxeRadio,
  145. VxeRadioButton,
  146. VxeRadioGroup,
  147. VxeRate,
  148. VxeResult,
  149. VxeRow,
  150. VxeSelect,
  151. VxeSplit,
  152. VxeSplitPane,
  153. VxeSlider,
  154. VxeSteps,
  155. VxeSwitch,
  156. VxeTabPane,
  157. VxeTableSelect,
  158. VxeTabs,
  159. VxeTag,
  160. VxeTextEllipsis,
  161. VxeText,
  162. VxeTextarea,
  163. VxeTip,
  164. VxeTooltip,
  165. VxeTree,
  166. VxeTreeSelect,
  167. VxeUpload,
  168. VxeWatermark
  169. ]
  170. export function install (app: VueConstructor, options?: VxeGlobalConfig) {
  171. setConfig(options)
  172. components.forEach(component => app.use(component))
  173. }
  174. // 默认中文
  175. const defaultLanguage = 'zh-CN'
  176. setI18n(defaultLanguage, zhCN)
  177. setLanguage(defaultLanguage)
  178. setTheme('light')
  179. // 兼容老版本
  180. export const loading = LoadingController
  181. export const modal = ModalController
  182. export const drawer = DrawerController
  183. export const watermark = WatermarkController
  184. export const print = printHtml
  185. export const saveFile = saveLocalFile
  186. export const readFile = readLocalFile
  187. export * from './ui'
  188. // Components
  189. export * from './alert'
  190. export * from './anchor'
  191. export * from './anchor-link'
  192. export * from './avatar'
  193. export * from './badge'
  194. export * from './breadcrumb'
  195. export * from './breadcrumb-item'
  196. export * from './button'
  197. export * from './button-group'
  198. export * from './calendar'
  199. export * from './card'
  200. export * from './carousel'
  201. export * from './carousel-item'
  202. export * from './checkbox'
  203. export * from './checkbox-button'
  204. export * from './checkbox-group'
  205. export * from './col'
  206. export * from './collapse'
  207. export * from './collapse-pane'
  208. export * from './color-picker'
  209. export * from './countdown'
  210. export * from './date-panel'
  211. export * from './date-picker'
  212. export * from './date-range-picker'
  213. export * from './drawer'
  214. export * from './empty'
  215. export * from './form'
  216. export * from './form-gather'
  217. export * from './form-group'
  218. export * from './form-item'
  219. export * from './icon'
  220. export * from './icon-picker'
  221. export * from './image'
  222. export * from './image-group'
  223. export * from './image-preview'
  224. export * from './input'
  225. export * from './layout-aside'
  226. export * from './layout-body'
  227. export * from './layout-container'
  228. export * from './layout-footer'
  229. export * from './layout-header'
  230. export * from './link'
  231. export * from './list'
  232. export * from './loading'
  233. export * from './menu'
  234. export * from './modal'
  235. export * from './notice-bar'
  236. export * from './number-input'
  237. export * from './optgroup'
  238. export * from './option'
  239. export * from './pager'
  240. export * from './password-input'
  241. export * from './print-page-break'
  242. export * from './print'
  243. export * from './pulldown'
  244. export * from './radio'
  245. export * from './radio-button'
  246. export * from './radio-group'
  247. export * from './rate'
  248. export * from './result'
  249. export * from './row'
  250. export * from './select'
  251. export * from './split'
  252. export * from './split-pane'
  253. export * from './slider'
  254. export * from './steps'
  255. export * from './switch'
  256. export * from './tab-pane'
  257. export * from './table-select'
  258. export * from './tabs'
  259. export * from './tag'
  260. export * from './text-ellipsis'
  261. export * from './text'
  262. export * from './textarea'
  263. export * from './tip'
  264. export * from './tooltip'
  265. export * from './tree'
  266. export * from './tree-select'
  267. export * from './upload'
  268. export * from './watermark'