@aloudata/aloudata-design 0.1.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/.editorconfig +16 -0
  2. package/.eslintrc.js +43 -0
  3. package/.fatherrc.ts +16 -0
  4. package/.prettierignore +7 -0
  5. package/.prettierrc.js +1 -0
  6. package/.stylelintrc.json +36 -0
  7. package/.umirc.ts +15 -0
  8. package/README.md +82 -0
  9. package/commitlint.config.js +21 -0
  10. package/docs/index.md +21 -0
  11. package/jest/setupTests.js +1 -0
  12. package/lib/Button/demo/Icon/index.d.ts +3 -0
  13. package/lib/Button/demo/Icon/index.js +82 -0
  14. package/lib/Button/demo/Icon/index.less +6 -0
  15. package/lib/Button/demo/basic/index.d.ts +4 -0
  16. package/lib/Button/demo/basic/index.js +73 -0
  17. package/lib/Button/demo/basic/index.less +7 -0
  18. package/lib/Button/demo/disable/index.d.ts +3 -0
  19. package/lib/Button/demo/disable/index.js +37 -0
  20. package/lib/Button/demo/disable/index.less +0 -0
  21. package/lib/Button/demo/href/index.d.ts +2 -0
  22. package/lib/Button/demo/href/index.js +30 -0
  23. package/lib/Button/demo/loading/index.d.ts +3 -0
  24. package/lib/Button/demo/loading/index.js +51 -0
  25. package/lib/Button/demo/loading/index.less +6 -0
  26. package/lib/Button/index.d.ts +50 -0
  27. package/lib/Button/index.js +124 -0
  28. package/lib/Button/style/index.d.ts +2 -0
  29. package/lib/Button/style/index.js +5 -0
  30. package/lib/Button/style/index.less +255 -0
  31. package/lib/Dropdown/Button.d.ts +69 -0
  32. package/lib/Dropdown/Button.js +52 -0
  33. package/lib/Dropdown/demo/basic/index.d.ts +4 -0
  34. package/lib/Dropdown/demo/basic/index.js +35 -0
  35. package/lib/Dropdown/demo/button/index.d.ts +3 -0
  36. package/lib/Dropdown/demo/button/index.js +182 -0
  37. package/lib/Dropdown/demo/button/index.less +9 -0
  38. package/lib/Dropdown/demo/placement/index.d.ts +2 -0
  39. package/lib/Dropdown/demo/placement/index.js +56 -0
  40. package/lib/Dropdown/demo/subMenu/index.d.ts +2 -0
  41. package/lib/Dropdown/demo/subMenu/index.js +59 -0
  42. package/lib/Dropdown/demo/trigger/index.d.ts +2 -0
  43. package/lib/Dropdown/demo/trigger/index.js +32 -0
  44. package/lib/Dropdown/index.d.ts +59 -0
  45. package/lib/Dropdown/index.js +47 -0
  46. package/lib/Dropdown/style/index.d.ts +2 -0
  47. package/lib/Dropdown/style/index.js +5 -0
  48. package/lib/Dropdown/style/index.less +40 -0
  49. package/lib/Icon/iconfont/demo.css +539 -0
  50. package/lib/Icon/iconfont/demo_index.html +628 -0
  51. package/lib/Icon/iconfont/iconfont.css +93 -0
  52. package/lib/Icon/iconfont/iconfont.js +48 -0
  53. package/lib/Icon/iconfont/iconfont.json +142 -0
  54. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  55. package/lib/Icon/iconfont/iconfont.woff +0 -0
  56. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  57. package/lib/Icon/index.d.ts +11 -0
  58. package/lib/Icon/index.js +54 -0
  59. package/lib/Icon/index.less +32 -0
  60. package/lib/Input/components/Group/index.d.ts +15 -0
  61. package/lib/Input/components/Group/index.js +24 -0
  62. package/lib/Input/components/Password/index.d.ts +10 -0
  63. package/lib/Input/components/Password/index.js +33 -0
  64. package/lib/Input/components/TextArea/index.d.ts +52 -0
  65. package/lib/Input/components/TextArea/index.js +26 -0
  66. package/lib/Input/demo/allowClear/index.d.ts +3 -0
  67. package/lib/Input/demo/allowClear/index.js +25 -0
  68. package/lib/Input/demo/allowClear/index.less +0 -0
  69. package/lib/Input/demo/basic/index.d.ts +4 -0
  70. package/lib/Input/demo/basic/index.js +80 -0
  71. package/lib/Input/demo/basic/index.less +6 -0
  72. package/lib/Input/demo/gourp/index.d.ts +2 -0
  73. package/lib/Input/demo/gourp/index.js +81 -0
  74. package/lib/Input/demo/password/index.d.ts +3 -0
  75. package/lib/Input/demo/password/index.js +35 -0
  76. package/lib/Input/demo/password/index.less +0 -0
  77. package/lib/Input/demo/prefix/index.d.ts +3 -0
  78. package/lib/Input/demo/prefix/index.js +32 -0
  79. package/lib/Input/demo/prefix/index.less +0 -0
  80. package/lib/Input/demo/showCount/index.d.ts +3 -0
  81. package/lib/Input/demo/showCount/index.js +31 -0
  82. package/lib/Input/demo/showCount/index.less +0 -0
  83. package/lib/Input/demo/textArea/autoSize.d.ts +2 -0
  84. package/lib/Input/demo/textArea/autoSize.js +63 -0
  85. package/lib/Input/index.d.ts +65 -0
  86. package/lib/Input/index.js +63 -0
  87. package/lib/Input/style/index.d.ts +2 -0
  88. package/lib/Input/style/index.js +5 -0
  89. package/lib/Input/style/index.less +62 -0
  90. package/lib/Menu/Divider.d.ts +5 -0
  91. package/lib/Menu/Divider.js +28 -0
  92. package/lib/Menu/MenuItem.d.ts +17 -0
  93. package/lib/Menu/MenuItem.js +28 -0
  94. package/lib/Menu/SubMenu.d.ts +26 -0
  95. package/lib/Menu/SubMenu.js +44 -0
  96. package/lib/Menu/index.d.ts +20 -0
  97. package/lib/Menu/index.js +49 -0
  98. package/lib/Menu/style/index.d.ts +2 -0
  99. package/lib/Menu/style/index.js +5 -0
  100. package/lib/Menu/style/index.less +33 -0
  101. package/lib/Select/BaseSelect.d.ts +5 -0
  102. package/lib/Select/BaseSelect.js +433 -0
  103. package/lib/Select/OptionsList/OptGroup.d.ts +7 -0
  104. package/lib/Select/OptionsList/OptGroup.js +14 -0
  105. package/lib/Select/OptionsList/OptionItem.d.ts +35 -0
  106. package/lib/Select/OptionsList/OptionItem.js +185 -0
  107. package/lib/Select/OptionsList/Options.d.ts +7 -0
  108. package/lib/Select/OptionsList/Options.js +14 -0
  109. package/lib/Select/OptionsList/index.d.ts +4 -0
  110. package/lib/Select/OptionsList/index.js +207 -0
  111. package/lib/Select/Selector/index.d.ts +4 -0
  112. package/lib/Select/Selector/index.js +273 -0
  113. package/lib/Select/VirtualList.d.ts +5 -0
  114. package/lib/Select/VirtualList.js +42 -0
  115. package/lib/Select/demo/disabled/index.d.ts +2 -0
  116. package/lib/Select/demo/disabled/index.js +64 -0
  117. package/lib/Select/demo/multiple/index.d.ts +2 -0
  118. package/lib/Select/demo/multiple/index.js +154 -0
  119. package/lib/Select/demo/options/index.d.ts +2 -0
  120. package/lib/Select/demo/options/index.js +69 -0
  121. package/lib/Select/demo/single/index.d.ts +2 -0
  122. package/lib/Select/demo/single/index.js +99 -0
  123. package/lib/Select/hooks/useCacheOption.d.ts +9 -0
  124. package/lib/Select/hooks/useCacheOption.js +113 -0
  125. package/lib/Select/index.d.ts +12 -0
  126. package/lib/Select/index.js +34 -0
  127. package/lib/Select/interface.d.ts +221 -0
  128. package/lib/Select/interface.js +5 -0
  129. package/lib/Select/style/index.d.ts +2 -0
  130. package/lib/Select/style/index.js +5 -0
  131. package/lib/Select/style/index.less +539 -0
  132. package/lib/Select/utils.d.ts +21 -0
  133. package/lib/Select/utils.js +233 -0
  134. package/lib/Tabs/TabPane.d.ts +21 -0
  135. package/lib/Tabs/TabPane.js +24 -0
  136. package/lib/Tabs/demo/adaptHeight/index.d.ts +3 -0
  137. package/lib/Tabs/demo/adaptHeight/index.js +34 -0
  138. package/lib/Tabs/demo/adaptHeight/index.less +3 -0
  139. package/lib/Tabs/demo/basic/index.d.ts +4 -0
  140. package/lib/Tabs/demo/basic/index.js +67 -0
  141. package/lib/Tabs/demo/basic/index.less +5 -0
  142. package/lib/Tabs/demo/horizontalScroll/index.d.ts +3 -0
  143. package/lib/Tabs/demo/horizontalScroll/index.js +45 -0
  144. package/lib/Tabs/demo/horizontalScroll/index.less +3 -0
  145. package/lib/Tabs/index.d.ts +41 -0
  146. package/lib/Tabs/index.js +58 -0
  147. package/lib/Tabs/style/index.d.ts +2 -0
  148. package/lib/Tabs/style/index.js +5 -0
  149. package/lib/Tabs/style/index.less +61 -0
  150. package/lib/Tooltip/demo/basic/index.d.ts +2 -0
  151. package/lib/Tooltip/demo/basic/index.js +20 -0
  152. package/lib/Tooltip/demo/overflow/index.d.ts +2 -0
  153. package/lib/Tooltip/demo/overflow/index.js +20 -0
  154. package/lib/Tooltip/demo/placement/index.d.ts +6 -0
  155. package/lib/Tooltip/demo/placement/index.js +86 -0
  156. package/lib/Tooltip/demo/placement/index.less +7 -0
  157. package/lib/Tooltip/demo/trigger/index.d.ts +3 -0
  158. package/lib/Tooltip/demo/trigger/index.js +34 -0
  159. package/lib/Tooltip/demo/trigger/index.less +5 -0
  160. package/lib/Tooltip/index.d.ts +63 -0
  161. package/lib/Tooltip/index.js +44 -0
  162. package/lib/Tooltip/style/index.d.ts +2 -0
  163. package/lib/Tooltip/style/index.js +5 -0
  164. package/lib/Tooltip/style/index.less +14 -0
  165. package/lib/_utils/hooks/useControlledState.d.ts +2 -0
  166. package/lib/_utils/hooks/useControlledState.js +63 -0
  167. package/lib/_utils/hooks/usePrefixCls.d.ts +2 -0
  168. package/lib/_utils/hooks/usePrefixCls.js +27 -0
  169. package/lib/index.d.ts +8 -0
  170. package/lib/index.js +63 -0
  171. package/lib/style/index.d.ts +2 -0
  172. package/lib/style/index.js +5 -0
  173. package/lib/style/index.less +3 -0
  174. package/lib/style/mixins/index.less +0 -0
  175. package/lib/style/themes/default/index.less +36 -0
  176. package/lib/style/themes/default/themeColor.less +259 -0
  177. package/package.json +83 -0
  178. package/public/favicon.ico +0 -0
  179. package/src/Button/demo/Icon/index.less +6 -0
  180. package/src/Button/demo/Icon/index.tsx +41 -0
  181. package/src/Button/demo/basic/index.less +7 -0
  182. package/src/Button/demo/basic/index.tsx +26 -0
  183. package/src/Button/demo/disable/index.less +0 -0
  184. package/src/Button/demo/disable/index.tsx +16 -0
  185. package/src/Button/demo/href/index.tsx +14 -0
  186. package/src/Button/demo/loading/index.less +6 -0
  187. package/src/Button/demo/loading/index.tsx +21 -0
  188. package/src/Button/index.md +25 -0
  189. package/src/Button/index.test.tsx +58 -0
  190. package/src/Button/index.tsx +136 -0
  191. package/src/Button/style/index.less +255 -0
  192. package/src/Button/style/index.ts +2 -0
  193. package/src/Dropdown/Button.tsx +93 -0
  194. package/src/Dropdown/demo/basic/index.tsx +20 -0
  195. package/src/Dropdown/demo/button/index.less +9 -0
  196. package/src/Dropdown/demo/button/index.tsx +98 -0
  197. package/src/Dropdown/demo/placement/index.tsx +47 -0
  198. package/src/Dropdown/demo/subMenu/index.tsx +35 -0
  199. package/src/Dropdown/demo/trigger/index.tsx +19 -0
  200. package/src/Dropdown/index.md +35 -0
  201. package/src/Dropdown/index.test.tsx +185 -0
  202. package/src/Dropdown/index.tsx +71 -0
  203. package/src/Dropdown/style/index.less +40 -0
  204. package/src/Dropdown/style/index.ts +2 -0
  205. package/src/Icon/iconfont/demo.css +539 -0
  206. package/src/Icon/iconfont/demo_index.html +628 -0
  207. package/src/Icon/iconfont/iconfont.css +93 -0
  208. package/src/Icon/iconfont/iconfont.js +1 -0
  209. package/src/Icon/iconfont/iconfont.json +142 -0
  210. package/src/Icon/iconfont/iconfont.ttf +0 -0
  211. package/src/Icon/iconfont/iconfont.woff +0 -0
  212. package/src/Icon/iconfont/iconfont.woff2 +0 -0
  213. package/src/Icon/index.less +32 -0
  214. package/src/Icon/index.tsx +38 -0
  215. package/src/Input/components/Group/index.tsx +21 -0
  216. package/src/Input/components/Password/index.tsx +23 -0
  217. package/src/Input/components/TextArea/index.tsx +57 -0
  218. package/src/Input/demo/allowClear/index.less +0 -0
  219. package/src/Input/demo/allowClear/index.tsx +10 -0
  220. package/src/Input/demo/basic/index.less +6 -0
  221. package/src/Input/demo/basic/index.tsx +25 -0
  222. package/src/Input/demo/gourp/index.tsx +30 -0
  223. package/src/Input/demo/password/index.less +0 -0
  224. package/src/Input/demo/password/index.tsx +11 -0
  225. package/src/Input/demo/prefix/index.less +0 -0
  226. package/src/Input/demo/prefix/index.tsx +13 -0
  227. package/src/Input/demo/showCount/index.less +0 -0
  228. package/src/Input/demo/showCount/index.tsx +16 -0
  229. package/src/Input/demo/textArea/autoSize.tsx +21 -0
  230. package/src/Input/index.md +37 -0
  231. package/src/Input/index.test.tsx +78 -0
  232. package/src/Input/index.tsx +91 -0
  233. package/src/Input/style/index.less +62 -0
  234. package/src/Input/style/index.ts +2 -0
  235. package/src/Menu/Divider.tsx +12 -0
  236. package/src/Menu/MenuItem.tsx +24 -0
  237. package/src/Menu/SubMenu.tsx +37 -0
  238. package/src/Menu/index.md +36 -0
  239. package/src/Menu/index.test.tsx +144 -0
  240. package/src/Menu/index.tsx +27 -0
  241. package/src/Menu/style/index.less +33 -0
  242. package/src/Menu/style/index.ts +2 -0
  243. package/src/Select/BaseSelect.tsx +321 -0
  244. package/src/Select/OptionsList/OptGroup.tsx +9 -0
  245. package/src/Select/OptionsList/OptionItem.tsx +151 -0
  246. package/src/Select/OptionsList/Options.tsx +11 -0
  247. package/src/Select/OptionsList/index.tsx +169 -0
  248. package/src/Select/Selector/index.tsx +211 -0
  249. package/src/Select/VirtualList.tsx +36 -0
  250. package/src/Select/demo/disabled/index.tsx +44 -0
  251. package/src/Select/demo/multiple/index.tsx +77 -0
  252. package/src/Select/demo/options/index.tsx +63 -0
  253. package/src/Select/demo/single/index.tsx +50 -0
  254. package/src/Select/hooks/useCacheOption.ts +67 -0
  255. package/src/Select/index.md +72 -0
  256. package/src/Select/index.tsx +23 -0
  257. package/src/Select/interface.ts +231 -0
  258. package/src/Select/style/index.less +539 -0
  259. package/src/Select/style/index.ts +2 -0
  260. package/src/Select/utils.tsx +133 -0
  261. package/src/Tabs/TabPane.tsx +28 -0
  262. package/src/Tabs/demo/adaptHeight/index.less +3 -0
  263. package/src/Tabs/demo/adaptHeight/index.tsx +33 -0
  264. package/src/Tabs/demo/basic/index.less +5 -0
  265. package/src/Tabs/demo/basic/index.tsx +30 -0
  266. package/src/Tabs/demo/horizontalScroll/index.less +3 -0
  267. package/src/Tabs/demo/horizontalScroll/index.tsx +36 -0
  268. package/src/Tabs/index.md +30 -0
  269. package/src/Tabs/index.test.tsx +100 -0
  270. package/src/Tabs/index.tsx +64 -0
  271. package/src/Tabs/style/index.less +61 -0
  272. package/src/Tabs/style/index.ts +2 -0
  273. package/src/Tooltip/demo/basic/index.tsx +10 -0
  274. package/src/Tooltip/demo/overflow/index.tsx +10 -0
  275. package/src/Tooltip/demo/placement/index.less +7 -0
  276. package/src/Tooltip/demo/placement/index.tsx +60 -0
  277. package/src/Tooltip/demo/trigger/index.less +5 -0
  278. package/src/Tooltip/demo/trigger/index.tsx +22 -0
  279. package/src/Tooltip/index.md +28 -0
  280. package/src/Tooltip/index.test.tsx +152 -0
  281. package/src/Tooltip/index.tsx +113 -0
  282. package/src/Tooltip/style/index.less +14 -0
  283. package/src/Tooltip/style/index.ts +2 -0
  284. package/src/_utils/hooks/useControlledState.ts +39 -0
  285. package/src/_utils/hooks/usePrefixCls.ts +11 -0
  286. package/src/index.ts +8 -0
  287. package/src/style/index.less +3 -0
  288. package/src/style/index.ts +2 -0
  289. package/src/style/mixins/index.less +0 -0
  290. package/src/style/themes/default/index.less +36 -0
  291. package/src/style/themes/default/themeColor.less +259 -0
  292. package/tsconfig.json +13 -0
  293. package/typings.d.ts +3 -0
package/.editorconfig ADDED
@@ -0,0 +1,16 @@
1
+ # http://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+
12
+ [*.md]
13
+ trim_trailing_whitespace = false
14
+
15
+ [Makefile]
16
+ indent_style = tab
package/.eslintrc.js ADDED
@@ -0,0 +1,43 @@
1
+ module.exports = {
2
+ extends: [
3
+ '@aloudata/eslint-config-base'
4
+ ],
5
+ parserOptions: {
6
+ project: './tsconfig.json',
7
+ },
8
+ ignorePatterns: [
9
+ '**/*.less.d.ts',
10
+ '**/demo/*',
11
+ "**/iconfont.js",
12
+ "jest"
13
+ ],
14
+ rules: {
15
+ 'react/require-default-props': 'off',
16
+ 'linebreak-style': 'off',
17
+ curly: ['error', 'all'],
18
+ 'import/extensions': 'off',
19
+ '@typescript-eslint/type-annotation-spacing': ['error', { after: true }],
20
+ '@typescript-eslint/no-unsafe-member-access': ['error'],
21
+ // 'id-length': ['error', { properties: 'never', exceptions: ['i', 'j', 'e', '_'] }],
22
+ // 'react/jsx-key': ['error'],
23
+ '@typescript-eslint/naming-convention': [
24
+ 'error',
25
+ {
26
+ selector: 'interface',
27
+ format: ['PascalCase'],
28
+ custom: {
29
+ regex: '^I[A-Z]',
30
+ match: true
31
+ }
32
+ },
33
+ {
34
+ selector: 'enum',
35
+ format: ['PascalCase'],
36
+ custom: {
37
+ regex: '^E[A-Z]',
38
+ match: true
39
+ }
40
+ }
41
+ ],
42
+ }
43
+ };
package/.fatherrc.ts ADDED
@@ -0,0 +1,16 @@
1
+ export default {
2
+ esm: 'babel', // 通过 babel 编译相关组件即可,而无需打包在一个文件中,实现在使用时可按需加载。
3
+ cjs: 'babel',
4
+ // lessInBabelMode: true, // less 转 css
5
+ // 打包的产物若需引入 antd ,则通过按需加载形式引入。
6
+ extraBabelPlugins: [
7
+ [
8
+ 'babel-plugin-import',
9
+ {
10
+ libraryName: 'antd',
11
+ libraryDirectory: 'es',
12
+ style: true,
13
+ },
14
+ ],
15
+ ],
16
+ }
@@ -0,0 +1,7 @@
1
+ **/*.svg
2
+ **/*.ejs
3
+ **/*.html
4
+ package.json
5
+ .umi
6
+ .umi-production
7
+ .umi-test
package/.prettierrc.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('@umijs/fabric').prettier;
@@ -0,0 +1,36 @@
1
+ {
2
+ "extends": "stylelint-config-standard",
3
+ "ignoreFiles": [
4
+ "src/style/**/*",
5
+ "**/*.tsx",
6
+ "**/*.js",
7
+ "**/*.ts",
8
+ "**/*.png",
9
+ "**/*.css",
10
+ "**/*.json",
11
+ "**/*.md",
12
+ "**/*.ttf",
13
+ "**/*.woff",
14
+ "**/*.woff2",
15
+ "**/*.html"
16
+ ],
17
+ "overrides": [{
18
+ "files": ["**/*.less"],
19
+ "customSyntax": "postcss-less",
20
+ "rules": {
21
+ "no-missing-end-of-source-newline": null,
22
+ "no-empty-source": null,
23
+ "selector-pseudo-class-no-unknown": [
24
+ true,
25
+ {
26
+ "ignorePseudoClasses": ["global", "local"]
27
+ }
28
+ ],
29
+ "selector-class-pattern": ["^([a-z][a-zA-Z0-9]+)|(([a-z][a-z0-9]*)(-[a-z0-9]+)*$)$"],
30
+ "alpha-value-notation": null,
31
+ "color-function-notation": null,
32
+ "keyframes-name-pattern": "^[a-z][a-zA-Z0-9]+$",
33
+ "string-quotes": "single"
34
+ }
35
+ }]
36
+ }
package/.umirc.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { defineConfig } from 'dumi';
2
+ export default defineConfig({
3
+ // mode:'site',
4
+ title: 'design',
5
+ logo: 'https://cdn.aloudata.com/source/workstation_test/static/logo.8b20330e.svg',
6
+ outputPath: 'docs-dist',
7
+ apiParser:{
8
+ propFilter:{
9
+ skipNodeModules: true,
10
+ skipPropsWithoutDoc:true
11
+ }
12
+ }
13
+ // mode:'site'
14
+ // more config: https://d.umijs.org/config
15
+ });
package/README.md ADDED
@@ -0,0 +1,82 @@
1
+ # design
2
+
3
+ ## Getting Started
4
+
5
+ Install dependencies,
6
+
7
+ ```bash
8
+ $ yarn i
9
+ ```
10
+
11
+ 开始 dev 环境开发,
12
+
13
+ ```bash
14
+ $ yarn start
15
+ ```
16
+ lint校验
17
+ ```
18
+ npm run lint
19
+ ```
20
+ 打包组件库 通过 `father-build`,
21
+
22
+ ```bash
23
+ $ npm run build
24
+ ```
25
+
26
+ 构建 doc 文档
27
+
28
+ ```bash
29
+ $ npm run docs:build
30
+ ```
31
+
32
+ 测试命令
33
+
34
+ ```bash
35
+ $ npm test
36
+ ```
37
+ ## 组件开发
38
+ ```
39
+ // 基于antd组件开发新组件,必须需要额外antd的组件样式文件
40
+ // 非基于antd组件开发不需要引入这一条,下面以button为例:
41
+ @import '~antd/lib/button/style/index.less';
42
+
43
+ // 主题样式变量、mixin等
44
+ @import '~@/style/index.less';
45
+
46
+ // 自定义的样式
47
+ .ald-class {
48
+ ...
49
+ }
50
+ ···
51
+ ```
52
+
53
+ ### 覆盖antd组件的icon
54
+
55
+ 在组件对应的 less 文件中
56
+
57
+ ```
58
+ @import '~@/Icon/index.less';
59
+
60
+ // 找到antd组件的svg的父节点,覆盖其样式
61
+ .ant-icon-parent-node-class {
62
+ // \e691 是 iconfont 中图标对应的 Unicode 码
63
+ .ald-iconfont('\e691');
64
+ }
65
+ ```
66
+
67
+ ### 更新iconfont文件
68
+
69
+ 在 iconfont 网站上点击“下载至本地”按钮。解压为名为 download 的文件夹。
70
+
71
+ 将 `src/Icon/iconfont` 文件夹中的所有内容替换成 download 文件夹的内容。
72
+
73
+ 将 `src/Icon/index.less` 文件中的 `@font-face` 下的 `src` 属性的内容,替换成 `src/Icon/iconfont/iconfont.css` 文件中的 `@font-face` 下的 `src` 属性的内容。并将 `url(iconfont.woff` 和 `url(iconfont.ttf` 更改为 `url(./iconfont/iconfont.woff` 和 `url(./iconfont/iconfont.ttf`。
74
+
75
+ ### link 到本地
76
+
77
+ link 到本地后,其它项目可以通过 link 本项目直接 import 使用
78
+
79
+ ```
80
+ cd es
81
+ npm link
82
+ ```
@@ -0,0 +1,21 @@
1
+ const OFF_NUM = 0;
2
+ const ERROR_NUM = 2;
3
+
4
+ module.exports = {
5
+ extends: ['@commitlint/config-angular'],
6
+ rules: {
7
+ 'type-enum': [ERROR_NUM, 'always', [
8
+ 'feat', // 新功能(feature)
9
+ 'fix', // 修补bug
10
+ 'style', // 样式(不影响代码运行的变动)
11
+ 'refactor', // 重构(即不是新增功能,也不是修改bug的代码变动)
12
+ 'test', // 增加测试
13
+ 'chore', // 构建过程或辅助工具的变动
14
+ 'delete', // 删除内容
15
+ 'doc', // 文档类修改
16
+ ]],
17
+ 'subject-full-stop': [OFF_NUM, 'never'],
18
+ 'subject-case': [OFF_NUM, 'never']
19
+ }
20
+
21
+ };
package/docs/index.md ADDED
@@ -0,0 +1,21 @@
1
+ ---
2
+ hero:
3
+ title: design
4
+ desc: design site example
5
+ actions:
6
+ - text: Getting Started
7
+ link: /components
8
+ features:
9
+ - icon: https://gw.alipayobjects.com/zos/bmw-prod/881dc458-f20b-407b-947a-95104b5ec82b/k79dm8ih_w144_h144.png
10
+ title: Feature 1
11
+ desc: Balabala
12
+ - icon: https://gw.alipayobjects.com/zos/bmw-prod/d60657df-0822-4631-9d7c-e7a869c2f21c/k79dmz3q_w126_h126.png
13
+ title: Feature 2
14
+ desc: Balabala
15
+ - icon: https://gw.alipayobjects.com/zos/bmw-prod/d1ee0c6f-5aed-4a45-a507-339a4bfe076c/k7bjsocq_w144_h144.png
16
+ title: Feature 3
17
+ desc: Balabala
18
+ footer: Open-source MIT Licensed | Copyright © 2020<br />Powered by [dumi](https://d.umijs.org)
19
+ ---
20
+
21
+ ## Hello design!
@@ -0,0 +1 @@
1
+ jest.mock('../src/Icon/iconfont/iconfont.js', () => {});
@@ -0,0 +1,3 @@
1
+ import './index.less';
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _aloudataDesign = require("@aloudata/aloudata-design");
11
+
12
+ require("./index.less");
13
+
14
+ var _Icon = _interopRequireDefault(require("../../../Icon"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ var _default = function _default() {
19
+ return /*#__PURE__*/_react.default.createElement("div", {
20
+ className: "ald-button-demo"
21
+ }, /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
22
+ type: "primary",
23
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
24
+ type: "add",
25
+ size: 20
26
+ })
27
+ }, "Search"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
28
+ type: "secondary",
29
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
30
+ type: "add",
31
+ size: 20
32
+ })
33
+ }, "Search"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
34
+ type: "text",
35
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
36
+ type: "add",
37
+ size: 20
38
+ })
39
+ }, "Search"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
40
+ type: "danger",
41
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
42
+ type: "add",
43
+ size: 20
44
+ })
45
+ }, "Search"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
46
+ type: "link",
47
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
48
+ type: "add",
49
+ size: 20
50
+ })
51
+ }, "Search"), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
52
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
53
+ type: "add",
54
+ size: 20
55
+ })
56
+ }), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
57
+ shape: 'circle',
58
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
59
+ type: "add",
60
+ size: 20
61
+ })
62
+ }), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
63
+ shape: 'circle'
64
+ }, "S"), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
65
+ size: 'small',
66
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
67
+ type: "add",
68
+ size: 20
69
+ })
70
+ }), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
71
+ shape: 'circle',
72
+ size: "large",
73
+ icon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
74
+ type: "add",
75
+ size: 20
76
+ })
77
+ }), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
78
+ shape: 'circle'
79
+ }, "M"));
80
+ };
81
+
82
+ exports.default = _default;
@@ -0,0 +1,6 @@
1
+ .ald-button-demo {
2
+ .ant-btn {
3
+ margin-right: 8px;
4
+ margin-bottom: 12px;
5
+ }
6
+ }
@@ -0,0 +1,4 @@
1
+ import '../../style/index.less';
2
+ import './index.less';
3
+ declare const _default: () => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ require("antd/es/radio/style");
9
+
10
+ var _radio = _interopRequireDefault(require("antd/es/radio"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _aloudataDesign = require("@aloudata/aloudata-design");
15
+
16
+ require("../../style/index.less");
17
+
18
+ require("./index.less");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ var _default = function _default() {
35
+ var _React$useState = _react.default.useState('default'),
36
+ _React$useState2 = _slicedToArray(_React$useState, 2),
37
+ size = _React$useState2[0],
38
+ setSize = _React$useState2[1];
39
+
40
+ var handleSizeChange = function handleSizeChange(e) {
41
+ setSize(e.target.value);
42
+ };
43
+
44
+ return /*#__PURE__*/_react.default.createElement("div", {
45
+ className: 'ald-button-demo'
46
+ }, /*#__PURE__*/_react.default.createElement(_radio.default.Group, {
47
+ value: size,
48
+ onChange: handleSizeChange
49
+ }, /*#__PURE__*/_react.default.createElement(_radio.default.Button, {
50
+ value: "small"
51
+ }, "Small"), /*#__PURE__*/_react.default.createElement(_radio.default.Button, {
52
+ value: 'default'
53
+ }, "Default"), /*#__PURE__*/_react.default.createElement(_radio.default.Button, {
54
+ value: "large"
55
+ }, "Large")), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
56
+ type: "primary",
57
+ size: size
58
+ }, "Primary Button"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
59
+ type: "danger",
60
+ size: size
61
+ }, "danger Button"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
62
+ type: "secondary",
63
+ size: size
64
+ }, "secondary Button"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
65
+ type: "text",
66
+ size: size
67
+ }, "Text Button"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
68
+ type: "link",
69
+ size: size
70
+ }, "Link Button"));
71
+ };
72
+
73
+ exports.default = _default;
@@ -0,0 +1,7 @@
1
+
2
+ .ald-button-demo {
3
+ .ant-btn {
4
+ margin-right: 8px;
5
+ margin-top: 12px;
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ import './index.less';
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _aloudataDesign = require("@aloudata/aloudata-design");
11
+
12
+ require("./index.less");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ var _default = function _default() {
17
+ return /*#__PURE__*/_react.default.createElement("div", {
18
+ className: "ald-button-demo"
19
+ }, /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
20
+ type: "primary",
21
+ disabled: true
22
+ }, "primary disable"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
23
+ type: "secondary",
24
+ disabled: true
25
+ }, "secondary disable"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
26
+ type: "text",
27
+ disabled: true
28
+ }, "text disable"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
29
+ type: "danger",
30
+ disabled: true
31
+ }, "danger disable"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
32
+ type: "link",
33
+ disabled: true
34
+ }, "link disable"));
35
+ };
36
+
37
+ exports.default = _default;
File without changes
@@ -0,0 +1,2 @@
1
+ declare const _default: () => JSX.Element;
2
+ export default _default;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _aloudataDesign = require("@aloudata/aloudata-design");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var _default = function _default() {
15
+ return /*#__PURE__*/_react.default.createElement("div", {
16
+ className: "ald-button-demo"
17
+ }, /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
18
+ href: "https://www.aloudata.com/"
19
+ }, "aloudata"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
20
+ href: "https://www.aloudata.com/",
21
+ target: "_blank"
22
+ }, "target _blank aloudata"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
23
+ href: "https://www.aloudata.com/",
24
+ target: "_self"
25
+ }, "target _self aloudata"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
26
+ target: "_blank"
27
+ }, " \u65E0href target _blank"));
28
+ };
29
+
30
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import './index.less';
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _aloudataDesign = require("@aloudata/aloudata-design");
11
+
12
+ require("./index.less");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ var _default = function _default() {
29
+ var _React$useState = _react.default.useState(false),
30
+ _React$useState2 = _slicedToArray(_React$useState, 2),
31
+ loading = _React$useState2[0],
32
+ setLoading = _React$useState2[1];
33
+
34
+ var handleChange = function handleChange(e) {
35
+ setLoading(true);
36
+ setTimeout(setLoading.bind(false), 3000);
37
+ };
38
+
39
+ return /*#__PURE__*/_react.default.createElement("div", {
40
+ className: "ald-button-demo"
41
+ }, /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
42
+ loading: true
43
+ }, "loading"), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
44
+ loading: true
45
+ }), /*#__PURE__*/_react.default.createElement(_aloudataDesign.Button, {
46
+ loading: loading,
47
+ onClick: handleChange
48
+ }, "\u70B9\u51FB\u63D0\u4EA4"));
49
+ };
50
+
51
+ exports.default = _default;
@@ -0,0 +1,6 @@
1
+ .ald-button-demo {
2
+ .ant-btn {
3
+ margin-right: 8px;
4
+ margin-bottom: 12px;
5
+ }
6
+ }
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import './style';
3
+ import type { ButtonProps as AntdButtonProps } from 'antd/lib/button';
4
+ export declare type ButtonType = 'primary' | 'secondary' | 'danger' | 'text' | 'link';
5
+ export declare type Size = 'small' | 'default' | 'large';
6
+ export interface IButtonProps extends Omit<AntdButtonProps, 'type' | 'size' | 'danger' | 'shape' | 'icon' | 'href' | 'target' | 'onClick' | 'loading'> {
7
+ /**
8
+ * @description 类型
9
+ * @type 'primary' | 'secondary' | 'danger' | 'text' | 'link'
10
+ * @default primary
11
+ */
12
+ type?: ButtonType;
13
+ /**
14
+ * @description 尺寸
15
+ * @type 'small' | 'default' | 'large'
16
+ * @default large
17
+ */
18
+ size?: Size;
19
+ /**
20
+ * @description 是否禁用
21
+ * @default false
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * @description 设置按钮的图标组件
26
+ */
27
+ icon?: React.ReactNode;
28
+ shape?: 'circle' | 'default';
29
+ /**
30
+ * @description 指定此属性,点击行为和a链接一致
31
+ */
32
+ href?: string;
33
+ /**
34
+ * @description 相当于 a 链接的 target 属性,href 存在时生效
35
+ */
36
+ target?: string;
37
+ /**
38
+ * @description 点击按钮时的回调
39
+ */
40
+ onClick?: React.MouseEventHandler<HTMLElement>;
41
+ /**
42
+ * @description 设置按钮进入载入状态
43
+ * @default false
44
+ */
45
+ loading?: boolean | {
46
+ delay?: number;
47
+ };
48
+ }
49
+ declare function Button(props: IButtonProps): JSX.Element;
50
+ export default Button;