@aloudata/aloudata-design 0.1.0-beta.4 → 0.2.0-beta.10

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 (273) hide show
  1. package/es/Button/index.d.ts +0 -1
  2. package/es/Button/index.js +0 -1
  3. package/es/Button/style/index.less +23 -13
  4. package/es/Dropdown/Button.d.ts +0 -1
  5. package/es/Dropdown/Button.js +0 -1
  6. package/es/Dropdown/index.d.ts +1 -1
  7. package/es/Dropdown/index.js +0 -1
  8. package/es/Empty/index.d.ts +7 -0
  9. package/es/Empty/index.js +56 -0
  10. package/es/Empty/style/index.d.ts +1 -0
  11. package/es/Empty/style/index.js +1 -0
  12. package/es/Empty/style/index.less +24 -0
  13. package/es/Icon/iconfont/demo_index.html +49 -3
  14. package/es/Icon/iconfont/iconfont.css +11 -3
  15. package/es/Icon/iconfont/iconfont.js +5 -5
  16. package/es/Icon/iconfont/iconfont.json +14 -0
  17. package/es/Icon/iconfont/iconfont.ttf +0 -0
  18. package/es/Icon/iconfont/iconfont.woff +0 -0
  19. package/es/Icon/iconfont/iconfont.woff2 +0 -0
  20. package/es/Icon/index.js +3 -1
  21. package/es/Icon/index.less +2 -2
  22. package/es/Input/components/Group/index.d.ts +2 -2
  23. package/es/Input/components/Input/index.d.ts +61 -0
  24. package/es/Input/components/Input/index.js +37 -0
  25. package/es/Input/components/Password/index.d.ts +5 -4
  26. package/es/Input/components/Password/index.js +5 -4
  27. package/es/Input/components/TextArea/index.d.ts +9 -4
  28. package/es/Input/components/TextArea/index.js +16 -6
  29. package/es/Input/index.d.ts +14 -63
  30. package/es/Input/index.js +4 -41
  31. package/es/Input/style/index.less +5 -3
  32. package/es/Menu/Divider.d.ts +0 -1
  33. package/es/Menu/Divider.js +0 -1
  34. package/es/Menu/MenuItem.d.ts +7 -1
  35. package/es/Menu/MenuItem.js +0 -1
  36. package/es/Menu/SubMenu.d.ts +0 -1
  37. package/es/Menu/SubMenu.js +0 -1
  38. package/es/Menu/index.d.ts +1 -1
  39. package/es/Menu/index.js +0 -1
  40. package/es/Menu/style/index.less +4 -0
  41. package/es/Navigator/components/Menu/index.d.ts +19 -0
  42. package/es/Navigator/components/Menu/index.js +187 -0
  43. package/es/Navigator/index.d.ts +40 -0
  44. package/es/Navigator/index.js +44 -0
  45. package/es/Navigator/style/index.d.ts +2 -0
  46. package/es/Navigator/style/index.js +2 -0
  47. package/es/Navigator/style/index.less +228 -0
  48. package/es/Select/index.d.ts +0 -1
  49. package/es/Select/index.js +0 -1
  50. package/es/Table/index.d.ts +4 -0
  51. package/es/Table/index.js +350 -0
  52. package/es/Table/interface.d.ts +36 -0
  53. package/es/Table/interface.js +1 -0
  54. package/es/Table/react-table-config.d.ts +122 -0
  55. package/es/Table/style/index.d.ts +2 -0
  56. package/es/Table/style/index.js +2 -0
  57. package/es/Table/style/index.less +151 -0
  58. package/es/Tabs/index.d.ts +1 -1
  59. package/es/Tabs/index.js +0 -1
  60. package/es/Tooltip/index.d.ts +0 -1
  61. package/es/Tooltip/index.js +0 -1
  62. package/es/index.d.ts +12 -0
  63. package/es/index.js +3 -1
  64. package/es/style/themes/default/index.less +1 -1
  65. package/lib/Button/index.d.ts +0 -1
  66. package/lib/Button/index.js +0 -2
  67. package/lib/Button/style/index.less +23 -13
  68. package/lib/Dropdown/Button.d.ts +0 -1
  69. package/lib/Dropdown/Button.js +0 -2
  70. package/lib/Dropdown/index.d.ts +1 -1
  71. package/lib/Dropdown/index.js +0 -2
  72. package/lib/Empty/index.d.ts +7 -0
  73. package/lib/Empty/index.js +69 -0
  74. package/lib/Empty/style/index.d.ts +1 -0
  75. package/lib/Empty/style/index.js +3 -0
  76. package/lib/Empty/style/index.less +24 -0
  77. package/lib/Icon/iconfont/demo_index.html +49 -3
  78. package/lib/Icon/iconfont/iconfont.css +11 -3
  79. package/lib/Icon/iconfont/iconfont.js +5 -5
  80. package/lib/Icon/iconfont/iconfont.json +14 -0
  81. package/lib/Icon/iconfont/iconfont.ttf +0 -0
  82. package/lib/Icon/iconfont/iconfont.woff +0 -0
  83. package/lib/Icon/iconfont/iconfont.woff2 +0 -0
  84. package/lib/Icon/index.js +5 -3
  85. package/lib/Icon/index.less +2 -2
  86. package/lib/Input/components/Group/index.d.ts +2 -2
  87. package/lib/Input/components/Input/index.d.ts +61 -0
  88. package/lib/Input/components/Input/index.js +50 -0
  89. package/lib/Input/components/Password/index.d.ts +5 -4
  90. package/lib/Input/components/Password/index.js +10 -8
  91. package/lib/Input/components/TextArea/index.d.ts +9 -4
  92. package/lib/Input/components/TextArea/index.js +18 -7
  93. package/lib/Input/index.d.ts +14 -63
  94. package/lib/Input/index.js +4 -44
  95. package/lib/Input/style/index.less +5 -3
  96. package/lib/Menu/Divider.d.ts +0 -1
  97. package/lib/Menu/Divider.js +0 -2
  98. package/lib/Menu/MenuItem.d.ts +7 -1
  99. package/lib/Menu/MenuItem.js +0 -2
  100. package/lib/Menu/SubMenu.d.ts +0 -1
  101. package/lib/Menu/SubMenu.js +0 -2
  102. package/lib/Menu/index.d.ts +1 -1
  103. package/lib/Menu/index.js +0 -2
  104. package/lib/Menu/style/index.less +4 -0
  105. package/lib/Navigator/components/Menu/index.d.ts +19 -0
  106. package/lib/Navigator/components/Menu/index.js +205 -0
  107. package/lib/Navigator/index.d.ts +40 -0
  108. package/lib/Navigator/index.js +62 -0
  109. package/lib/Navigator/style/index.d.ts +2 -0
  110. package/lib/Navigator/style/index.js +5 -0
  111. package/lib/Navigator/style/index.less +228 -0
  112. package/lib/Select/index.d.ts +0 -1
  113. package/lib/Select/index.js +0 -2
  114. package/lib/Table/index.d.ts +4 -0
  115. package/lib/Table/index.js +375 -0
  116. package/lib/Table/interface.d.ts +36 -0
  117. package/lib/Table/interface.js +5 -0
  118. package/lib/Table/react-table-config.d.ts +122 -0
  119. package/lib/Table/style/index.d.ts +2 -0
  120. package/lib/Table/style/index.js +5 -0
  121. package/lib/Table/style/index.less +151 -0
  122. package/lib/Tabs/index.d.ts +1 -1
  123. package/lib/Tabs/index.js +0 -2
  124. package/lib/Tooltip/index.d.ts +0 -1
  125. package/lib/Tooltip/index.js +0 -2
  126. package/lib/index.d.ts +12 -0
  127. package/lib/index.js +16 -0
  128. package/lib/style/themes/default/index.less +1 -1
  129. package/package.json +19 -4
  130. package/es/Button/demo/Icon/index.d.ts +0 -3
  131. package/es/Button/demo/Icon/index.js +0 -67
  132. package/es/Button/demo/Icon/index.less +0 -6
  133. package/es/Button/demo/basic/index.d.ts +0 -4
  134. package/es/Button/demo/basic/index.js +0 -57
  135. package/es/Button/demo/basic/index.less +0 -6
  136. package/es/Button/demo/disable/index.d.ts +0 -3
  137. package/es/Button/demo/disable/index.js +0 -23
  138. package/es/Button/demo/disable/index.less +0 -0
  139. package/es/Button/demo/href/index.d.ts +0 -2
  140. package/es/Button/demo/href/index.js +0 -17
  141. package/es/Button/demo/loading/index.d.ts +0 -3
  142. package/es/Button/demo/loading/index.js +0 -37
  143. package/es/Button/demo/loading/index.less +0 -6
  144. package/es/Dropdown/demo/basic/index.d.ts +0 -4
  145. package/es/Dropdown/demo/basic/index.js +0 -18
  146. package/es/Dropdown/demo/button/index.d.ts +0 -3
  147. package/es/Dropdown/demo/button/index.js +0 -159
  148. package/es/Dropdown/demo/button/index.less +0 -9
  149. package/es/Dropdown/demo/placement/index.d.ts +0 -2
  150. package/es/Dropdown/demo/placement/index.js +0 -40
  151. package/es/Dropdown/demo/subMenu/index.d.ts +0 -2
  152. package/es/Dropdown/demo/subMenu/index.js +0 -42
  153. package/es/Dropdown/demo/trigger/index.d.ts +0 -2
  154. package/es/Dropdown/demo/trigger/index.js +0 -17
  155. package/es/Input/demo/allowClear/index.d.ts +0 -3
  156. package/es/Input/demo/allowClear/index.js +0 -11
  157. package/es/Input/demo/allowClear/index.less +0 -0
  158. package/es/Input/demo/basic/index.d.ts +0 -4
  159. package/es/Input/demo/basic/index.js +0 -65
  160. package/es/Input/demo/basic/index.less +0 -6
  161. package/es/Input/demo/gourp/index.d.ts +0 -2
  162. package/es/Input/demo/gourp/index.js +0 -67
  163. package/es/Input/demo/password/index.d.ts +0 -3
  164. package/es/Input/demo/password/index.js +0 -21
  165. package/es/Input/demo/password/index.less +0 -0
  166. package/es/Input/demo/prefix/index.d.ts +0 -3
  167. package/es/Input/demo/prefix/index.js +0 -17
  168. package/es/Input/demo/prefix/index.less +0 -0
  169. package/es/Input/demo/showCount/index.d.ts +0 -3
  170. package/es/Input/demo/showCount/index.js +0 -17
  171. package/es/Input/demo/showCount/index.less +0 -0
  172. package/es/Input/demo/textArea/autoSize.d.ts +0 -2
  173. package/es/Input/demo/textArea/autoSize.js +0 -50
  174. package/es/Select/demo/disabled/index.d.ts +0 -2
  175. package/es/Select/demo/disabled/index.js +0 -50
  176. package/es/Select/demo/multiple/index.d.ts +0 -2
  177. package/es/Select/demo/multiple/index.js +0 -140
  178. package/es/Select/demo/options/index.d.ts +0 -2
  179. package/es/Select/demo/options/index.js +0 -55
  180. package/es/Select/demo/single/index.d.ts +0 -3
  181. package/es/Select/demo/single/index.js +0 -89
  182. package/es/Select/demo/single/index.less +0 -5
  183. package/es/Tabs/demo/adaptHeight/index.d.ts +0 -3
  184. package/es/Tabs/demo/adaptHeight/index.js +0 -19
  185. package/es/Tabs/demo/adaptHeight/index.less +0 -3
  186. package/es/Tabs/demo/basic/index.d.ts +0 -4
  187. package/es/Tabs/demo/basic/index.js +0 -44
  188. package/es/Tabs/demo/basic/index.less +0 -5
  189. package/es/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  190. package/es/Tabs/demo/horizontalScroll/index.js +0 -30
  191. package/es/Tabs/demo/horizontalScroll/index.less +0 -3
  192. package/es/Tooltip/demo/basic/index.d.ts +0 -2
  193. package/es/Tooltip/demo/basic/index.js +0 -7
  194. package/es/Tooltip/demo/overflow/index.d.ts +0 -2
  195. package/es/Tooltip/demo/overflow/index.js +0 -7
  196. package/es/Tooltip/demo/placement/index.d.ts +0 -6
  197. package/es/Tooltip/demo/placement/index.js +0 -70
  198. package/es/Tooltip/demo/placement/index.less +0 -7
  199. package/es/Tooltip/demo/trigger/index.d.ts +0 -3
  200. package/es/Tooltip/demo/trigger/index.js +0 -20
  201. package/es/Tooltip/demo/trigger/index.less +0 -5
  202. package/lib/Button/demo/Icon/index.d.ts +0 -3
  203. package/lib/Button/demo/Icon/index.js +0 -82
  204. package/lib/Button/demo/Icon/index.less +0 -6
  205. package/lib/Button/demo/basic/index.d.ts +0 -4
  206. package/lib/Button/demo/basic/index.js +0 -73
  207. package/lib/Button/demo/basic/index.less +0 -6
  208. package/lib/Button/demo/disable/index.d.ts +0 -3
  209. package/lib/Button/demo/disable/index.js +0 -37
  210. package/lib/Button/demo/disable/index.less +0 -0
  211. package/lib/Button/demo/href/index.d.ts +0 -2
  212. package/lib/Button/demo/href/index.js +0 -30
  213. package/lib/Button/demo/loading/index.d.ts +0 -3
  214. package/lib/Button/demo/loading/index.js +0 -51
  215. package/lib/Button/demo/loading/index.less +0 -6
  216. package/lib/Dropdown/demo/basic/index.d.ts +0 -4
  217. package/lib/Dropdown/demo/basic/index.js +0 -35
  218. package/lib/Dropdown/demo/button/index.d.ts +0 -3
  219. package/lib/Dropdown/demo/button/index.js +0 -182
  220. package/lib/Dropdown/demo/button/index.less +0 -9
  221. package/lib/Dropdown/demo/placement/index.d.ts +0 -2
  222. package/lib/Dropdown/demo/placement/index.js +0 -56
  223. package/lib/Dropdown/demo/subMenu/index.d.ts +0 -2
  224. package/lib/Dropdown/demo/subMenu/index.js +0 -59
  225. package/lib/Dropdown/demo/trigger/index.d.ts +0 -2
  226. package/lib/Dropdown/demo/trigger/index.js +0 -32
  227. package/lib/Input/demo/allowClear/index.d.ts +0 -3
  228. package/lib/Input/demo/allowClear/index.js +0 -25
  229. package/lib/Input/demo/allowClear/index.less +0 -0
  230. package/lib/Input/demo/basic/index.d.ts +0 -4
  231. package/lib/Input/demo/basic/index.js +0 -80
  232. package/lib/Input/demo/basic/index.less +0 -6
  233. package/lib/Input/demo/gourp/index.d.ts +0 -2
  234. package/lib/Input/demo/gourp/index.js +0 -81
  235. package/lib/Input/demo/password/index.d.ts +0 -3
  236. package/lib/Input/demo/password/index.js +0 -35
  237. package/lib/Input/demo/password/index.less +0 -0
  238. package/lib/Input/demo/prefix/index.d.ts +0 -3
  239. package/lib/Input/demo/prefix/index.js +0 -32
  240. package/lib/Input/demo/prefix/index.less +0 -0
  241. package/lib/Input/demo/showCount/index.d.ts +0 -3
  242. package/lib/Input/demo/showCount/index.js +0 -31
  243. package/lib/Input/demo/showCount/index.less +0 -0
  244. package/lib/Input/demo/textArea/autoSize.d.ts +0 -2
  245. package/lib/Input/demo/textArea/autoSize.js +0 -63
  246. package/lib/Select/demo/disabled/index.d.ts +0 -2
  247. package/lib/Select/demo/disabled/index.js +0 -64
  248. package/lib/Select/demo/multiple/index.d.ts +0 -2
  249. package/lib/Select/demo/multiple/index.js +0 -154
  250. package/lib/Select/demo/options/index.d.ts +0 -2
  251. package/lib/Select/demo/options/index.js +0 -69
  252. package/lib/Select/demo/single/index.d.ts +0 -3
  253. package/lib/Select/demo/single/index.js +0 -103
  254. package/lib/Select/demo/single/index.less +0 -5
  255. package/lib/Tabs/demo/adaptHeight/index.d.ts +0 -3
  256. package/lib/Tabs/demo/adaptHeight/index.js +0 -34
  257. package/lib/Tabs/demo/adaptHeight/index.less +0 -3
  258. package/lib/Tabs/demo/basic/index.d.ts +0 -4
  259. package/lib/Tabs/demo/basic/index.js +0 -67
  260. package/lib/Tabs/demo/basic/index.less +0 -5
  261. package/lib/Tabs/demo/horizontalScroll/index.d.ts +0 -3
  262. package/lib/Tabs/demo/horizontalScroll/index.js +0 -45
  263. package/lib/Tabs/demo/horizontalScroll/index.less +0 -3
  264. package/lib/Tooltip/demo/basic/index.d.ts +0 -2
  265. package/lib/Tooltip/demo/basic/index.js +0 -20
  266. package/lib/Tooltip/demo/overflow/index.d.ts +0 -2
  267. package/lib/Tooltip/demo/overflow/index.js +0 -20
  268. package/lib/Tooltip/demo/placement/index.d.ts +0 -6
  269. package/lib/Tooltip/demo/placement/index.js +0 -86
  270. package/lib/Tooltip/demo/placement/index.less +0 -7
  271. package/lib/Tooltip/demo/trigger/index.d.ts +0 -3
  272. package/lib/Tooltip/demo/trigger/index.js +0 -34
  273. package/lib/Tooltip/demo/trigger/index.less +0 -5
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { IMenuItem } from './components/Menu';
3
+ export type { IMenuItem } from './components/Menu';
4
+ export interface INavigatorProps {
5
+ /**
6
+ * @description 菜单数据
7
+ * @default []
8
+ */
9
+ menuList: IMenuItem[];
10
+ /**
11
+ * @description 当前选中的菜单项
12
+ * @default --
13
+ */
14
+ selectedKey: string;
15
+ /**
16
+ * @description logo的地址 默认高度为24px
17
+ * @default --
18
+ */
19
+ logoSrc: string;
20
+ /**
21
+ * @description logo的点击(可选)
22
+ * @default --
23
+ */
24
+ onLogoClick?: () => void;
25
+ /**
26
+ * @description 导航底部信息 可自定义
27
+ * @default null
28
+ */
29
+ footer?: React.ReactNode;
30
+ /**
31
+ * @description 菜单被选中时调用(可选)
32
+ * @default --
33
+ */
34
+ onMenuSelect?: (menuInfo: {
35
+ key: string;
36
+ path: string;
37
+ }) => void;
38
+ }
39
+ declare function Navigator(props: INavigatorProps): JSX.Element;
40
+ export default Navigator;
@@ -0,0 +1,44 @@
1
+ import React, { useCallback } from 'react';
2
+ import classNames from 'classnames';
3
+ import Menu from './components/Menu';
4
+
5
+ function Navigator(props) {
6
+ var menuList = props.menuList,
7
+ selectedKey = props.selectedKey,
8
+ logoSrc = props.logoSrc,
9
+ _props$footer = props.footer,
10
+ footer = _props$footer === void 0 ? null : _props$footer,
11
+ onLogoClick = props.onLogoClick,
12
+ onMenuSelect = props.onMenuSelect;
13
+ var renderMenu = useCallback(function () {
14
+ return /*#__PURE__*/React.createElement(Menu, {
15
+ menuList: menuList,
16
+ selectedKey: selectedKey,
17
+ onMenuSelect: onMenuSelect
18
+ });
19
+ }, [selectedKey, menuList, onMenuSelect]);
20
+ return /*#__PURE__*/React.createElement("div", {
21
+ className: classNames('ald-nav')
22
+ }, /*#__PURE__*/React.createElement("div", {
23
+ className: classNames('ald-nav-logo', {
24
+ 'ald-nav-logo-able-click': onLogoClick
25
+ })
26
+ }, logoSrc && /*#__PURE__*/React.createElement("div", {
27
+ onClick: onLogoClick,
28
+ className: "ald-nav-logo-wrap"
29
+ }, /*#__PURE__*/React.createElement("img", {
30
+ src: logoSrc,
31
+ alt: "",
32
+ draggable: false
33
+ }))), /*#__PURE__*/React.createElement("div", {
34
+ className: classNames('ald-nav-menu', {
35
+ 'ald-nav-menu-has-footer': !!footer
36
+ })
37
+ }, renderMenu()), footer && /*#__PURE__*/React.createElement("div", {
38
+ className: "ald-nav-footer"
39
+ }, /*#__PURE__*/React.createElement("div", {
40
+ className: "ald-nav-footer-wrap"
41
+ }, footer)));
42
+ }
43
+
44
+ export default Navigator;
@@ -0,0 +1,2 @@
1
+ import '../../style';
2
+ import './index.less';
@@ -0,0 +1,2 @@
1
+ import '../../style';
2
+ import './index.less';
@@ -0,0 +1,228 @@
1
+ @import '../../style/index.less';
2
+ @import '../../Icon/index.less';
3
+
4
+ /* stylelint-disable */
5
+
6
+ @ald-prefix:ant;
7
+
8
+ .supTitle() {
9
+ font-family: 'PingFang SC';
10
+ font-style: normal;
11
+ font-weight: 500;
12
+ font-size: 14px;
13
+ line-height: 20px;
14
+ }
15
+
16
+ .subTitle() {
17
+ font-family: 'PingFang SC';
18
+ font-style: normal;
19
+ font-weight: 400;
20
+ font-size: 12px;
21
+ line-height: 16px;
22
+ }
23
+
24
+ .ald-nav {
25
+ width: 216px;
26
+ background-color: @BBG15;
27
+ height: 100%;
28
+ display: flex;
29
+ flex-direction: column;
30
+ overflow: hidden;
31
+ user-select: none;
32
+
33
+ &-logo {
34
+ height: 72px;
35
+ padding: 24px;
36
+ width: 100%;
37
+
38
+ &-able-click {
39
+ cursor: pointer;
40
+ }
41
+ }
42
+
43
+ &-menu-icon-right.anticon {
44
+ color: @ND60;
45
+ }
46
+
47
+ &-menu {
48
+ flex: 1;
49
+ overflow-y: auto;
50
+ overflow-x: hidden;
51
+
52
+ .ant-menu-sub.ant-menu-inline {
53
+ background-color: unset;
54
+ }
55
+
56
+ .anticon.ant-menu-item-icon {
57
+ font-size: 20px !important;
58
+ width: 20px !important;
59
+ height: 20px !important;
60
+ }
61
+
62
+ &::-webkit-scrollbar-thumb {
63
+ border-radius: 6px;
64
+ background: @ND90;
65
+ border: 3px solid transparent;
66
+ background-clip: padding-box;
67
+ }
68
+
69
+ &::-webkit-scrollbar {
70
+ background-color: transparent;
71
+ width: 12px;
72
+ height: 12px;
73
+ }
74
+
75
+ .ant-menu-inline,
76
+ .ant-menu-vertical,
77
+ .ant-menu-vertical-left {
78
+ border-right: unset;
79
+ }
80
+
81
+ .ant-menu {
82
+ background: @BBG15;
83
+ color: @ND0;
84
+
85
+ &.ant-menu-root {
86
+
87
+ .ant-menu-item {
88
+ margin-bottom: 16px;
89
+ padding: 0 12px !important;
90
+ }
91
+
92
+ li:nth-last-child(1) {
93
+ margin-bottom: 0;
94
+ }
95
+ }
96
+
97
+ &.ant-menu-sub {
98
+ .ant-menu-item {
99
+ margin-top: 4px;
100
+ margin-bottom: 0;
101
+ padding: 0 12px 0 44px!important;
102
+ }
103
+ }
104
+
105
+ // 只有子级菜单相关颜色操作
106
+ .ant-menu-item-only-child {
107
+ color: @ND30;
108
+ height: 32px !important;
109
+ line-height: 32px !important;
110
+ font-size: 12px !important;
111
+ .subTitle();
112
+
113
+ &:hover {
114
+ color: @ND30 !important;
115
+ }
116
+
117
+ &.ant-menu-item-selected {
118
+ font-weight: 500;
119
+
120
+ &:hover {
121
+ color: @ND0 !important;
122
+ }
123
+ }
124
+ }
125
+
126
+ .ant-menu-item {
127
+ height: 40px;
128
+ width: 100%;
129
+ border-radius: 8px;
130
+ .supTitle();
131
+
132
+ ::before {
133
+ width: 4px;
134
+ content: '';
135
+ background: transparent;
136
+ height: 100%;
137
+ position: absolute;
138
+ top: 0;
139
+ left: -12px;
140
+ border-radius: 1px;
141
+ transition: all .3s;
142
+ }
143
+
144
+ &-selected {
145
+ background-color: @BBG20 !important;
146
+ color: @ND0;
147
+ position: relative;
148
+ overflow: unset;
149
+
150
+ ::before {
151
+ background: @B40;
152
+ }
153
+ }
154
+
155
+ &::after {
156
+ display: none !important;
157
+ }
158
+ }
159
+
160
+ .ant-menu-submenu {
161
+ margin-bottom: 16px;
162
+
163
+ .ant-menu-submenu-title {
164
+ padding: 0 12px !important;
165
+ height: 40px;
166
+ line-height: 40px;
167
+ .supTitle();
168
+
169
+ &:hover {
170
+ color: @ND0;
171
+ }
172
+ }
173
+
174
+ &-selected {
175
+ color: @ND0;
176
+ }
177
+
178
+ &-active {
179
+ color: @ND0;
180
+ }
181
+ }
182
+
183
+ // 修改icon和文字的margin
184
+ .ant-menu-item .ant-menu-item-icon + span,
185
+ .ant-menu-submenu-title .ant-menu-item-icon + span,
186
+ .ant-menu-item .anticon + span,
187
+ .ant-menu-submenu-title .anticon + span {
188
+ margin-left: 12px;
189
+ }
190
+
191
+ // 取消item点击时的高亮背景色
192
+ .ant-menu-item:active,
193
+ .ant-menu-submenu-title:active {
194
+ background: unset;
195
+ }
196
+
197
+ .ant-menu-inline .ant-menu-item,
198
+ .ant-menu-inline .ant-menu-submenu-title {
199
+ width: 100% !important;
200
+ }
201
+
202
+ // 删除右侧的高亮
203
+ .ant-menu-vertical .ant-menu-item::after,
204
+ .ant-menu-vertical-left .ant-menu-item::after,
205
+ .ant-menu-vertical-right .ant-menu-item::after,
206
+ .ant-menu-inline .ant-menu-item::after {
207
+ display: none;
208
+ }
209
+ }
210
+
211
+ .ant-menu-light .ant-menu-item:hover,
212
+ .ant-menu-light .ant-menu-item-active,
213
+ .ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open,
214
+ .ant-menu-light .ant-menu-submenu-active,
215
+ .ant-menu-light .ant-menu-submenu-title:hover {
216
+ color: unset;
217
+ }
218
+ }
219
+
220
+ &-footer {
221
+ height: 72px;
222
+
223
+ &-wrap {
224
+ color: @ND0;
225
+ height: 100%;
226
+ }
227
+ }
228
+ }
@@ -2,7 +2,6 @@ import BaseSelect from './BaseSelect';
2
2
  import { IOption as Option, ISelectProps as SelectProps, IOptGroupProps as OptGroupProps, IOptionProps as OptionProps } from './interface';
3
3
  import Options from './OptionsList/Options';
4
4
  import OptGroup from './OptionsList/OptGroup';
5
- import './style';
6
5
  export declare type TSelect = typeof BaseSelect & {
7
6
  Group: typeof OptGroup;
8
7
  Option: typeof Options;
@@ -1,7 +1,6 @@
1
1
  import BaseSelect from './BaseSelect';
2
2
  import Options from './OptionsList/Options';
3
3
  import OptGroup from './OptionsList/OptGroup';
4
- import './style';
5
4
  var Select = BaseSelect;
6
5
  Select.Option = Options;
7
6
  Select.Group = OptGroup;
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+ import { ITableProps } from './interface';
3
+ declare function Table<T extends Record<string, unknown>>({ columns, data, total, renderHeaderLeft, renderHeaderRight, scrollY, onRowSelected, loadMore, hasNextPage, loading, sortable, defaultSort, resizeColumn, sortDirections: allSortDirections, showHeader, onChange, }: ITableProps<T>): ReactElement;
4
+ export default Table;
@@ -0,0 +1,350 @@
1
+ var _excluded = ["style"],
2
+ _excluded2 = ["style"];
3
+
4
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
5
+
6
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+
16
+ 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."); }
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+
26
+ /// <reference types ='./react-table-config' />
27
+ import React, { useCallback, useMemo } from 'react';
28
+ import { useTable, useBlockLayout, useRowSelect, useSortBy, useResizeColumns } from 'react-table';
29
+ import usePrefixCls from '../_utils/hooks/usePrefixCls';
30
+ import { FixedSizeList } from 'react-window';
31
+ import InfiniteLoader from 'react-window-infinite-loader';
32
+ import classnames from 'classnames';
33
+ import Icon from '../Icon';
34
+ import Empty from '../Empty';
35
+ import _ from 'lodash';
36
+ var DEFAULT_ROW_HEIGHT = 40;
37
+ var ARRAY_FIRST_INDEX = 0;
38
+ var DEFAULT_ROW_WIDTH = 0;
39
+
40
+ function Table(_ref) {
41
+ var columns = _ref.columns,
42
+ data = _ref.data,
43
+ total = _ref.total,
44
+ renderHeaderLeft = _ref.renderHeaderLeft,
45
+ renderHeaderRight = _ref.renderHeaderRight,
46
+ scrollY = _ref.scrollY,
47
+ onRowSelected = _ref.onRowSelected,
48
+ _ref$loadMore = _ref.loadMore,
49
+ loadMore = _ref$loadMore === void 0 ? function () {} : _ref$loadMore,
50
+ hasNextPage = _ref.hasNextPage,
51
+ loading = _ref.loading,
52
+ _ref$sortable = _ref.sortable,
53
+ sortable = _ref$sortable === void 0 ? false : _ref$sortable,
54
+ defaultSort = _ref.defaultSort,
55
+ _ref$resizeColumn = _ref.resizeColumn,
56
+ resizeColumn = _ref$resizeColumn === void 0 ? false : _ref$resizeColumn,
57
+ allSortDirections = _ref.sortDirections,
58
+ _ref$showHeader = _ref.showHeader,
59
+ showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
60
+ _ref$onChange = _ref.onChange,
61
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;
62
+
63
+ var _React$useState = React.useState(null),
64
+ _React$useState2 = _slicedToArray(_React$useState, 2),
65
+ selectedRowId = _React$useState2[0],
66
+ setSelectedRowId = _React$useState2[1];
67
+
68
+ var newColumns = useMemo(function () {
69
+ return columns.map(function (column) {
70
+ return _objectSpread(_objectSpread({}, column), {}, {
71
+ Header: column.title,
72
+ disableSortBy: !sortable || typeof column.sorter === 'boolean',
73
+ accessor: column.dataIndex,
74
+ Cell: function Cell(_ref2) {
75
+ var row = _ref2.row,
76
+ value = _ref2.value;
77
+ return typeof column.render === 'function' ? column.render(value, row.original, row.index) : value;
78
+ }
79
+ });
80
+ });
81
+ }, [columns, sortable]);
82
+
83
+ var getInitialSortDirection = function getInitialSortDirection() {
84
+ if (defaultSort && defaultSort.id) {
85
+ return defaultSort;
86
+ }
87
+
88
+ if (sortable) {
89
+ return {
90
+ id: newColumns[ARRAY_FIRST_INDEX].accessor,
91
+ desc: false
92
+ };
93
+ }
94
+
95
+ return {
96
+ id: '',
97
+ desc: false
98
+ };
99
+ };
100
+
101
+ var _React$useState3 = React.useState(getInitialSortDirection()),
102
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
103
+ sortDirection = _React$useState4[0],
104
+ setSortDirection = _React$useState4[1];
105
+
106
+ var _useTable = useTable({
107
+ columns: newColumns,
108
+ data: data,
109
+ disableMultiSort: true,
110
+ disableSortBy: !sortable,
111
+ initialState: {
112
+ sortBy: sortDirection.id ? [sortDirection] : []
113
+ }
114
+ }, useBlockLayout, useSortBy, useRowSelect, useResizeColumns),
115
+ getTableProps = _useTable.getTableProps,
116
+ getTableBodyProps = _useTable.getTableBodyProps,
117
+ headerGroups = _useTable.headerGroups,
118
+ rows = _useTable.rows,
119
+ prepareRow = _useTable.prepareRow,
120
+ setSortBy = _useTable.setSortBy;
121
+
122
+ var theadRowWidthRef = React.useRef(DEFAULT_ROW_WIDTH);
123
+ var prefixCls = usePrefixCls('block-table');
124
+
125
+ function getTbodyStyle() {
126
+ if (scrollY) {
127
+ return {
128
+ height: "".concat(scrollY, "px")
129
+ };
130
+ }
131
+
132
+ return {};
133
+ }
134
+
135
+ var onRowClick = useCallback(function (row) {
136
+ if (!onRowSelected) {
137
+ return;
138
+ }
139
+
140
+ setSelectedRowId(row.id);
141
+ onRowSelected(row.original);
142
+ }, [onRowSelected]);
143
+ var itemCount = hasNextPage ? data.length + 1 : data.length;
144
+ var loadMoreItems = loading ? function () {} : loadMore;
145
+
146
+ var isItemLoaded = function isItemLoaded(index) {
147
+ return !hasNextPage || index < data.length;
148
+ };
149
+
150
+ var RenderRow = function RenderRow(_ref3) {
151
+ var index = _ref3.index,
152
+ style = _ref3.style;
153
+
154
+ if (!isItemLoaded(index)) {
155
+ return /*#__PURE__*/React.createElement("div", {
156
+ style: style,
157
+ className: classnames("".concat(prefixCls, "-loading"))
158
+ }, /*#__PURE__*/React.createElement(Icon, {
159
+ type: "waiting",
160
+ size: 16
161
+ }), "Loading");
162
+ }
163
+
164
+ var row = rows[index];
165
+ prepareRow(row);
166
+
167
+ var _row$getRowProps = row.getRowProps(),
168
+ rowStyle = _row$getRowProps.style,
169
+ rowProps = _objectWithoutProperties(_row$getRowProps, _excluded);
170
+
171
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, rowProps), {}, {
172
+ style: _objectSpread(_objectSpread(_objectSpread({}, style), rowStyle), {}, {
173
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
174
+ }),
175
+ className: classnames("".concat(prefixCls, "-row"), _defineProperty({}, "".concat(prefixCls, "-row-selected"), row.id === selectedRowId)),
176
+ onClick: function onClick() {
177
+ return onRowClick(row);
178
+ }
179
+ }), row.cells.map(function (cell) {
180
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, cell.getCellProps()), {}, {
181
+ className: classnames("".concat(prefixCls, "-cell"))
182
+ }), cell.render('Cell'));
183
+ }));
184
+ };
185
+
186
+ var renderHeader = function renderHeader(len) {
187
+ return /*#__PURE__*/React.createElement("div", {
188
+ className: classnames("".concat(prefixCls, "-header"))
189
+ }, renderHeaderLeft ? renderHeaderLeft() : /*#__PURE__*/React.createElement("span", {
190
+ className: classnames("".concat(prefixCls, "-header-left"))
191
+ }, "\u5171\u8BA1", total || len, "\u6761"), /*#__PURE__*/React.createElement("div", {
192
+ className: classnames("".concat(prefixCls, "-header-right"))
193
+ }, renderHeaderRight ? renderHeaderRight() : null));
194
+ };
195
+
196
+ var getNextSortDesc = function getNextSortDesc(currentDesc) {
197
+ var sortDirections = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['ascend', 'descend'];
198
+ var sortOrder = arguments.length > 2 ? arguments[2] : undefined;
199
+ var descMap = new Map([['ascend', false], ['descend', true]]);
200
+ var directions = allSortDirections || sortDirections;
201
+
202
+ if (sortOrder === 'ascend' || sortOrder === 'descend') {
203
+ return descMap.get(sortOrder);
204
+ }
205
+
206
+ if (typeof currentDesc === 'undefined') {
207
+ return descMap.get(directions[ARRAY_FIRST_INDEX]);
208
+ }
209
+
210
+ var direction = currentDesc ? 'descend' : 'ascend';
211
+
212
+ var index = _.findIndex(directions, function (item) {
213
+ return item === direction;
214
+ });
215
+
216
+ var nextIndex = index + 1;
217
+ return descMap.get(directions[nextIndex]);
218
+ };
219
+
220
+ var getHeaderProps = function getHeaderProps(column) {
221
+ // @ts-ignore
222
+ var id = column.id,
223
+ isSortedDesc = column.isSortedDesc,
224
+ canSort = column.canSort,
225
+ sorter = column.sorter,
226
+ sortOrder = column.sortOrder,
227
+ sortDirections = column.sortDirections;
228
+ var toggleProps = column.getSortByToggleProps();
229
+
230
+ if (canSort) {
231
+ // client sort
232
+ return _objectSpread(_objectSpread({}, column.getHeaderProps(_objectSpread({}, toggleProps))), {}, {
233
+ onClick: function onClick(e) {
234
+ e.stopPropagation();
235
+
236
+ if (typeof toggleProps.onClick === 'function') {
237
+ // toggleProps.onClick(e);
238
+ var desc = getNextSortDesc(isSortedDesc, sortDirections, sortOrder);
239
+ var sortBy = {
240
+ id: typeof desc === 'undefined' ? '' : id,
241
+ desc: desc
242
+ };
243
+ setSortBy(typeof desc === 'undefined' ? [] : [sortBy]);
244
+ setSortDirection(sortBy);
245
+ onChange(sortBy);
246
+ }
247
+ }
248
+ });
249
+ }
250
+
251
+ if (sorter) {
252
+ // server sort
253
+ return _objectSpread(_objectSpread({}, column.getHeaderProps({
254
+ style: {
255
+ cursor: 'pointer'
256
+ }
257
+ })), {}, {
258
+ onClick: function onClick(e) {
259
+ e.stopPropagation(); // 需要触发onChange
260
+ // debugger;
261
+
262
+ var desc = getNextSortDesc(sortDirection.desc, sortDirections, sortOrder);
263
+ var sortBy = {
264
+ id: typeof desc === 'boolean' ? id : '',
265
+ desc: desc
266
+ };
267
+ setSortDirection(sortBy);
268
+ onChange(sortBy);
269
+ }
270
+ });
271
+ }
272
+
273
+ return column.getHeaderProps();
274
+ };
275
+
276
+ var SortIcons = function SortIcons(_ref4) {
277
+ var id = _ref4.id;
278
+ var currentSortId = sortDirection.id,
279
+ desc = sortDirection.desc;
280
+
281
+ if (id !== currentSortId || !sortable) {
282
+ return null;
283
+ }
284
+
285
+ return desc ? /*#__PURE__*/React.createElement(Icon, {
286
+ className: "".concat(prefixCls, "-sortIcon"),
287
+ type: "sort_descending",
288
+ size: 12
289
+ }) : /*#__PURE__*/React.createElement(Icon, {
290
+ className: "".concat(prefixCls, "-sortIcon"),
291
+ type: "sort_ascending",
292
+ size: 12
293
+ });
294
+ };
295
+
296
+ return /*#__PURE__*/React.createElement("div", {
297
+ className: prefixCls
298
+ }, showHeader && renderHeader(data.length), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableProps()), {}, {
299
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-column-resizable"), resizeColumn))
300
+ }), /*#__PURE__*/React.createElement("div", {
301
+ className: "".concat(prefixCls, "-thead")
302
+ }, headerGroups.map(function (headerGroup) {
303
+ var _headerGroup$getHeade = headerGroup.getHeaderGroupProps(),
304
+ style = _headerGroup$getHeade.style,
305
+ headerGroupProps = _objectWithoutProperties(_headerGroup$getHeade, _excluded2);
306
+
307
+ theadRowWidthRef.current = (style === null || style === void 0 ? void 0 : style.width) || DEFAULT_ROW_WIDTH;
308
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, headerGroupProps), {}, {
309
+ style: _objectSpread(_objectSpread({}, style), {}, {
310
+ width: resizeColumn ? style === null || style === void 0 ? void 0 : style.width : '100%'
311
+ }),
312
+ className: "".concat(prefixCls, "-row")
313
+ }), headerGroup.headers.map(function (column) {
314
+ var barPorps = resizeColumn ? column.getResizerProps() : {};
315
+ return /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({
316
+ // {...column.getHeaderProps(column.getSortByToggleProps())}
317
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-cell-sorting"), column.id === sortDirection.id), "".concat(prefixCls, "-cell"))
318
+ }, getHeaderProps(column)), {}, {
319
+ key: column.id
320
+ }), column.render('Header'), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, barPorps), {}, {
321
+ className: classnames(_defineProperty({}, "".concat(prefixCls, "-dragBar"), resizeColumn), "".concat(prefixCls, "-bar"))
322
+ })), /*#__PURE__*/React.createElement(SortIcons, {
323
+ id: column.id
324
+ }));
325
+ }));
326
+ })), /*#__PURE__*/React.createElement("div", _objectSpread(_objectSpread({}, getTableBodyProps()), {}, {
327
+ className: classnames("".concat(prefixCls, "-tbody"), _defineProperty({}, "".concat(prefixCls, "-tbody-scroll"), !loadMoreItems)),
328
+ style: getTbodyStyle()
329
+ }), !loading && !rows.length && /*#__PURE__*/React.createElement(Empty, {
330
+ description: "\u5F53\u524D\u65E0\u6570\u636E"
331
+ }), /*#__PURE__*/React.createElement(InfiniteLoader, {
332
+ isItemLoaded: isItemLoaded,
333
+ itemCount: itemCount,
334
+ loadMoreItems: loadMoreItems
335
+ }, function (_ref5) {
336
+ var onItemsRendered = _ref5.onItemsRendered,
337
+ ref = _ref5.ref;
338
+ return /*#__PURE__*/React.createElement(FixedSizeList, {
339
+ itemCount: itemCount,
340
+ onItemsRendered: onItemsRendered,
341
+ height: scrollY || data.length * DEFAULT_ROW_HEIGHT,
342
+ itemSize: DEFAULT_ROW_HEIGHT,
343
+ width: resizeColumn ? theadRowWidthRef.current : '100%',
344
+ ref: ref,
345
+ className: "".concat(prefixCls, "-list")
346
+ }, RenderRow);
347
+ }))));
348
+ }
349
+
350
+ export default Table;