antd.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. function kebabCase(value) {
  2. return value
  3. .replace(/([A-Z])/g, ' $1')
  4. .trim()
  5. .split(' ')
  6. .join('-')
  7. .toLowerCase()
  8. }
  9. const antComponents = [
  10. 'Affix',
  11. 'Alert',
  12. 'Anchor',
  13. 'AnchorLink',
  14. 'AutoComplete',
  15. 'AutoCompleteOptGroup',
  16. 'AutoCompleteOption',
  17. 'Avatar',
  18. 'AvatarGroup',
  19. 'BackTop',
  20. 'Badge',
  21. 'BadgeRibbon',
  22. 'Breadcrumb',
  23. 'BreadcrumbItem',
  24. 'BreadcrumbSeparator',
  25. 'Button',
  26. 'ButtonGroup',
  27. 'Calendar',
  28. 'Card',
  29. 'CardGrid',
  30. 'CardMeta',
  31. 'Carousel',
  32. 'Cascader',
  33. 'CheckableTag',
  34. 'Checkbox',
  35. 'CheckboxGroup',
  36. 'Col',
  37. 'Collapse',
  38. 'CollapsePanel',
  39. 'Comment',
  40. 'ConfigProvider',
  41. 'DatePicker',
  42. 'Descriptions',
  43. 'DescriptionsItem',
  44. 'DirectoryTree',
  45. 'Divider',
  46. 'Drawer',
  47. 'Dropdown',
  48. 'DropdownButton',
  49. 'Empty',
  50. 'Form',
  51. 'FormItem',
  52. 'FormItemRest',
  53. 'Image',
  54. 'ImagePreviewGroup',
  55. 'Input',
  56. 'InputGroup',
  57. 'InputNumber',
  58. 'InputPassword',
  59. 'InputSearch',
  60. 'Layout',
  61. 'LayoutContent',
  62. 'LayoutFooter',
  63. 'LayoutHeader',
  64. 'LayoutSider',
  65. 'List',
  66. 'ListItem',
  67. 'ListItemMeta',
  68. 'LocaleProvider',
  69. 'Mentions',
  70. 'MentionsOption',
  71. 'Menu',
  72. 'MenuDivider',
  73. 'MenuItem',
  74. 'MenuItemGroup',
  75. 'Modal',
  76. 'MonthPicker',
  77. 'PageHeader',
  78. 'Pagination',
  79. 'Popconfirm',
  80. 'Popover',
  81. 'Progress',
  82. 'QuarterPicker',
  83. 'Radio',
  84. 'RadioButton',
  85. 'RadioGroup',
  86. 'RangePicker',
  87. 'Rate',
  88. 'Result',
  89. 'Row',
  90. 'Select',
  91. 'SelectOptGroup',
  92. 'SelectOption',
  93. 'Skeleton',
  94. 'SkeletonAvatar',
  95. 'SkeletonButton',
  96. 'SkeletonImage',
  97. 'SkeletonInput',
  98. 'Slider',
  99. 'Space',
  100. 'Spin',
  101. 'Statistic',
  102. 'StatisticCountdown',
  103. 'Step',
  104. 'Steps',
  105. 'SubMenu',
  106. 'Switch',
  107. 'TabPane',
  108. 'Table',
  109. 'TableColumn',
  110. 'TableColumnGroup',
  111. 'TableSummary',
  112. 'TableSummaryCell',
  113. 'TableSummaryRow',
  114. 'Tabs',
  115. 'Tag',
  116. 'Textarea',
  117. 'TimePicker',
  118. 'TimeRangePicker',
  119. 'Timeline',
  120. 'TimelineItem',
  121. 'Tooltip',
  122. 'Transfer',
  123. 'Tree',
  124. 'TreeNode',
  125. 'TreeSelect',
  126. 'TreeSelectNode',
  127. 'Typography',
  128. 'TypographyLink',
  129. 'TypographyParagraph',
  130. 'TypographyText',
  131. 'TypographyTitle',
  132. 'Upload',
  133. 'UploadDragger',
  134. 'WeekPicker'
  135. ]
  136. const matchComponents = [
  137. {
  138. pattern: /^Avatar/,
  139. styleDir: 'avatar'
  140. },
  141. {
  142. pattern: /^AutoComplete/,
  143. styleDir: 'auto-complete'
  144. },
  145. {
  146. pattern: /^Anchor/,
  147. styleDir: 'anchor'
  148. },
  149. {
  150. pattern: /^Badge/,
  151. styleDir: 'badge'
  152. },
  153. {
  154. pattern: /^Breadcrumb/,
  155. styleDir: 'breadcrumb'
  156. },
  157. {
  158. pattern: /^Button/,
  159. styleDir: 'button'
  160. },
  161. {
  162. pattern: /^Checkbox/,
  163. styleDir: 'checkbox'
  164. },
  165. {
  166. pattern: /^Card/,
  167. styleDir: 'card'
  168. },
  169. {
  170. pattern: /^Collapse/,
  171. styleDir: 'collapse'
  172. },
  173. {
  174. pattern: /^Descriptions/,
  175. styleDir: 'descriptions'
  176. },
  177. {
  178. pattern: /^RangePicker|^WeekPicker|^MonthPicker|^QuarterPicker/,
  179. styleDir: 'date-picker'
  180. },
  181. {
  182. pattern: /^TimeRangePicker/,
  183. styleDir: 'time-picker'
  184. },
  185. {
  186. pattern: /^Dropdown/,
  187. styleDir: 'dropdown'
  188. },
  189. {
  190. pattern: /^Form/,
  191. styleDir: 'form'
  192. },
  193. {
  194. pattern: /^InputNumber/,
  195. styleDir: 'input-number'
  196. },
  197. {
  198. pattern: /^Input|^Textarea/,
  199. styleDir: 'input'
  200. },
  201. {
  202. pattern: /^Statistic/,
  203. styleDir: 'statistic'
  204. },
  205. {
  206. pattern: /^CheckableTag/,
  207. styleDir: 'tag'
  208. },
  209. {
  210. pattern: /^Layout/,
  211. styleDir: 'layout'
  212. },
  213. {
  214. pattern: /^Menu|^SubMenu/,
  215. styleDir: 'menu'
  216. },
  217. {
  218. pattern: /^Table/,
  219. styleDir: 'table'
  220. },
  221. {
  222. pattern: /^Radio/,
  223. styleDir: 'radio'
  224. },
  225. {
  226. pattern: /^Image/,
  227. styleDir: 'image'
  228. },
  229. {
  230. pattern: /^List/,
  231. styleDir: 'list'
  232. },
  233. {
  234. pattern: /^Tab/,
  235. styleDir: 'tabs'
  236. },
  237. {
  238. pattern: /^Mentions/,
  239. styleDir: 'mentions'
  240. },
  241. {
  242. pattern: /^Step/,
  243. styleDir: 'steps'
  244. },
  245. {
  246. pattern: /^Skeleton/,
  247. styleDir: 'skeleton'
  248. },
  249. {
  250. pattern: /^Select/,
  251. styleDir: 'select'
  252. },
  253. {
  254. pattern: /^TreeSelect/,
  255. styleDir: 'tree-select'
  256. },
  257. {
  258. pattern: /^Tree|^DirectoryTree/,
  259. styleDir: 'tree'
  260. },
  261. {
  262. pattern: /^Typography/,
  263. styleDir: 'typography'
  264. },
  265. {
  266. pattern: /^Timeline/,
  267. styleDir: 'timeline'
  268. },
  269. {
  270. pattern: /^Upload/,
  271. styleDir: 'upload'
  272. }
  273. ]
  274. const antStyleDeps = Array.from(
  275. new Set(
  276. antComponents.map((name) => {
  277. for (let i = 0; i < matchComponents.length; i++) {
  278. if (name.match(matchComponents[i].pattern)) {
  279. return matchComponents[i].styleDir
  280. }
  281. }
  282. return kebabCase(name)
  283. })
  284. )
  285. ).map((name) => {
  286. return `ant-design-vue/es/${name}/style`
  287. })
  288. export default antStyleDeps