@aloudata/aloudata-design 0.4.8 → 0.4.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.
- package/dist/Button/index.js +5 -5
- package/dist/Button/style/index.less +48 -44
- package/dist/Button/style/variables.less +13 -13
- package/dist/Checkbox/style/index.less +34 -13
- package/dist/DoubleCircleIcon/index.d.ts +1 -0
- package/dist/DoubleCircleIcon/index.js +5 -2
- package/dist/DoubleCircleIcon/style/index.less +33 -1
- package/dist/Dropdown/style/index.less +15 -10
- package/dist/Empty/image/SearchSmall.js +5 -0
- package/dist/Empty/style/index.less +11 -0
- package/dist/Icon/icons.js +32 -0
- package/dist/Input/style/index.less +64 -42
- package/dist/InputNumber/style/index.less +9 -4
- package/dist/Menu/style/index.less +78 -2
- package/dist/Modal/index.d.ts +4 -1
- package/dist/Modal/index.js +178 -67
- package/dist/Modal/style/index.less +48 -7
- package/dist/Radio/components/Group/index.js +11 -6
- package/dist/Radio/components/Radio/index.js +13 -6
- package/dist/Radio/interface/radioGroup.d.ts +6 -1
- package/dist/Radio/style/index.less +220 -53
- package/dist/Select/components/MultipleOption.d.ts +1 -0
- package/dist/Select/components/MultipleOption.js +7 -3
- package/dist/Select/components/SingleOption.d.ts +1 -0
- package/dist/Select/components/SingleOption.js +6 -2
- package/dist/Select/index.js +74 -13
- package/dist/Select/style/index.less +8 -3
- package/dist/Select/style/multiple.less +13 -2
- package/dist/Select/style/single.less +12 -1
- package/dist/Select/style/status.less +1 -1
- package/dist/Table/style/index.less +14 -8
- package/dist/Tabs/index.d.ts +15 -0
- package/dist/Tabs/index.js +46 -6
- package/dist/Tabs/style/index.less +42 -1
- package/dist/Tooltip/style/index.less +7 -1
- package/dist/notification/demo/index.js +28 -7
- package/dist/notification/index.d.ts +9 -1
- package/dist/notification/index.js +132 -1
- package/dist/notification/style/index.less +28 -0
- package/dist/style/themes/default/index.less +25 -25
- package/dist/style/themes/default/themeColor.module.less +9 -9
- package/package.json +4 -4
package/dist/Select/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "notFoundContent", "value", "style"];
|
|
1
|
+
var _excluded = ["mode", "options", "dropdownRender", "onDropdownVisibleChange", "defaultValue", "onChange", "open", "defaultOpen", "prefix", "className", "popupClassName", "listHeight", "listItemHeight", "notFoundContent", "value", "tagRender", "style"];
|
|
2
2
|
|
|
3
3
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
4
|
|
|
@@ -28,12 +28,20 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
28
28
|
|
|
29
29
|
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; }
|
|
30
30
|
|
|
31
|
+
import { FoldDownFill } from '@aloudata/icons-react';
|
|
31
32
|
import { Select as AntdSelect } from 'antd';
|
|
32
33
|
import classNames from 'classnames';
|
|
33
|
-
import
|
|
34
|
+
import List from 'rc-virtual-list';
|
|
35
|
+
import React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
|
|
34
36
|
import Empty from "../Empty";
|
|
35
|
-
import
|
|
37
|
+
import MultipleOption from "./components/MultipleOption";
|
|
36
38
|
import SingleOption from "./components/SingleOption";
|
|
39
|
+
import theme from "../style/themes/default/themeColor.module.less";
|
|
40
|
+
var suffixIconSizeMap = {
|
|
41
|
+
large: 20,
|
|
42
|
+
middle: 16,
|
|
43
|
+
small: 14
|
|
44
|
+
};
|
|
37
45
|
|
|
38
46
|
var getSelectedOptionsFromValue = function getSelectedOptionsFromValue(isMultiple, options, value, defaultValue) {
|
|
39
47
|
if (typeof value !== 'undefined') {
|
|
@@ -90,9 +98,17 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
90
98
|
prefix = props.prefix,
|
|
91
99
|
className = props.className,
|
|
92
100
|
popupClassName = props.popupClassName,
|
|
101
|
+
listHeight = props.listHeight,
|
|
102
|
+
_props$listItemHeight = props.listItemHeight,
|
|
103
|
+
listItemHeight = _props$listItemHeight === void 0 ? 36 : _props$listItemHeight,
|
|
93
104
|
_props$notFoundConten = props.notFoundContent,
|
|
94
|
-
notFoundContent = _props$notFoundConten === void 0 ? /*#__PURE__*/React.createElement(Empty,
|
|
105
|
+
notFoundContent = _props$notFoundConten === void 0 ? /*#__PURE__*/React.createElement(Empty, {
|
|
106
|
+
image: Empty.PRESENTED_IMAGE_SEARCH_SMALL,
|
|
107
|
+
size: "small",
|
|
108
|
+
title: "\u65E0\u6570\u636E"
|
|
109
|
+
}) : _props$notFoundConten,
|
|
95
110
|
value = props.value,
|
|
111
|
+
tagRender = props.tagRender,
|
|
96
112
|
_props$style = props.style,
|
|
97
113
|
style = _props$style === void 0 ? {} : _props$style,
|
|
98
114
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
@@ -118,6 +134,8 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
118
134
|
prefixWidth = _React$useState6[0],
|
|
119
135
|
setPrefixWidth = _React$useState6[1];
|
|
120
136
|
|
|
137
|
+
var updatedRef = useRef(false);
|
|
138
|
+
|
|
121
139
|
var onMultipleOptionChange = function onMultipleOptionChange(option, selected) {
|
|
122
140
|
var newOptions = [];
|
|
123
141
|
|
|
@@ -144,16 +162,33 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
144
162
|
}), newOptions);
|
|
145
163
|
};
|
|
146
164
|
|
|
165
|
+
var getListHeight = function getListHeight() {
|
|
166
|
+
if (typeof listHeight === 'number' && options !== null && options !== void 0 && options.length) {
|
|
167
|
+
if (listHeight <= options.length * listItemHeight) {
|
|
168
|
+
return listHeight;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
return 0;
|
|
173
|
+
};
|
|
174
|
+
|
|
147
175
|
var multipleRender = function multipleRender() {
|
|
148
176
|
return /*#__PURE__*/React.createElement("div", {
|
|
149
177
|
className: "ald-multiple-option-list"
|
|
150
|
-
},
|
|
178
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
179
|
+
data: options || [],
|
|
180
|
+
"data-id": "list",
|
|
181
|
+
height: getListHeight(),
|
|
182
|
+
itemHeight: listItemHeight,
|
|
183
|
+
itemKey: "value"
|
|
184
|
+
}, function (option) {
|
|
151
185
|
var isSelected = selectedOptions.some(function (selectedOption) {
|
|
152
186
|
return selectedOption.value === option.value;
|
|
153
187
|
});
|
|
154
|
-
return /*#__PURE__*/React.createElement(
|
|
188
|
+
return /*#__PURE__*/React.createElement(MultipleOption, {
|
|
155
189
|
key: option.value,
|
|
156
190
|
selected: isSelected,
|
|
191
|
+
className: option.className,
|
|
157
192
|
option: option,
|
|
158
193
|
disabled: option.disabled,
|
|
159
194
|
onChange: function onChange(selected) {
|
|
@@ -178,13 +213,20 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
178
213
|
var singleRender = function singleRender() {
|
|
179
214
|
return /*#__PURE__*/React.createElement("div", {
|
|
180
215
|
className: "ald-single-option-list"
|
|
181
|
-
},
|
|
216
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
217
|
+
data: options || [],
|
|
218
|
+
"data-id": "list",
|
|
219
|
+
height: getListHeight(),
|
|
220
|
+
itemHeight: listItemHeight,
|
|
221
|
+
itemKey: "value"
|
|
222
|
+
}, function (option) {
|
|
182
223
|
var isSelected = selectedOptions.some(function (selectedOption) {
|
|
183
224
|
return selectedOption.value === option.value;
|
|
184
225
|
});
|
|
185
226
|
return /*#__PURE__*/React.createElement(SingleOption, {
|
|
186
227
|
key: option.value,
|
|
187
228
|
selected: isSelected,
|
|
229
|
+
className: option.className,
|
|
188
230
|
option: option,
|
|
189
231
|
disabled: option.disabled,
|
|
190
232
|
onChange: function onChange() {
|
|
@@ -196,7 +238,18 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
196
238
|
|
|
197
239
|
var getDropdownRender = function getDropdownRender() {
|
|
198
240
|
if (dropdownRender) {
|
|
199
|
-
|
|
241
|
+
if (isMultiple) {
|
|
242
|
+
var menu = multipleRender();
|
|
243
|
+
return function () {
|
|
244
|
+
return dropdownRender(menu);
|
|
245
|
+
};
|
|
246
|
+
} else {
|
|
247
|
+
var _menu = singleRender();
|
|
248
|
+
|
|
249
|
+
return function () {
|
|
250
|
+
return dropdownRender(_menu);
|
|
251
|
+
};
|
|
252
|
+
}
|
|
200
253
|
} else if (Array.isArray(options) && options.length > 0) {
|
|
201
254
|
if (!isMultiple) {
|
|
202
255
|
return singleRender;
|
|
@@ -208,8 +261,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
208
261
|
return /*#__PURE__*/React.createElement(React.Fragment, null, notFoundContent);
|
|
209
262
|
};
|
|
210
263
|
}
|
|
211
|
-
}; // todo:
|
|
212
|
-
// todo: 隐藏已选择项
|
|
264
|
+
}; // todo: 隐藏已选择项
|
|
213
265
|
// todo: 分组
|
|
214
266
|
|
|
215
267
|
|
|
@@ -233,7 +285,7 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
233
285
|
'--ald-select-prefix-width': "".concat(prefixWidth, "px")
|
|
234
286
|
};
|
|
235
287
|
|
|
236
|
-
var
|
|
288
|
+
var defaultTagRender = function defaultTagRender(props) {
|
|
237
289
|
var label = props.label;
|
|
238
290
|
return /*#__PURE__*/React.createElement("span", {
|
|
239
291
|
className: "ald-select-multiple-tag-default"
|
|
@@ -245,7 +297,11 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
245
297
|
};
|
|
246
298
|
|
|
247
299
|
useEffect(function () {
|
|
248
|
-
|
|
300
|
+
if (updatedRef.current) {
|
|
301
|
+
setSelectedOptions(getSelectedOptionsFromValue(isMultiple, options, value));
|
|
302
|
+
} else {
|
|
303
|
+
updatedRef.current = true;
|
|
304
|
+
}
|
|
249
305
|
}, [value]);
|
|
250
306
|
return /*#__PURE__*/React.createElement("div", {
|
|
251
307
|
className: classNames('ald-select', className, {
|
|
@@ -273,7 +329,8 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
273
329
|
open: typeof open === 'boolean' ? open : isOpen,
|
|
274
330
|
maxTagCount: "responsive",
|
|
275
331
|
ref: ref,
|
|
276
|
-
tagRender: tagRender,
|
|
332
|
+
tagRender: tagRender || defaultTagRender,
|
|
333
|
+
onChange: onChange,
|
|
277
334
|
popupClassName: classNames('ald-select-popup', popupClassName),
|
|
278
335
|
maxTagPlaceholder: maxTagPlaceholder,
|
|
279
336
|
className: classNames({
|
|
@@ -285,6 +342,10 @@ var Select = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
285
342
|
style: {
|
|
286
343
|
width: '100%'
|
|
287
344
|
},
|
|
345
|
+
suffixIcon: /*#__PURE__*/React.createElement(FoldDownFill, {
|
|
346
|
+
size: suffixIconSizeMap[props.size || 'middle'],
|
|
347
|
+
fill: theme.NL50
|
|
348
|
+
}),
|
|
288
349
|
onDropdownVisibleChange: function onDropdownVisibleChange(open) {
|
|
289
350
|
setIsOpen(open);
|
|
290
351
|
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
padding-right: 0;
|
|
12
12
|
|
|
13
13
|
&.ald-select-popup {
|
|
14
|
-
max-height: 264px;
|
|
14
|
+
// max-height: 264px;
|
|
15
15
|
overflow-y: auto;
|
|
16
16
|
overflow-y: overlay;
|
|
17
|
+
border:1px solid @BG70;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -23,9 +24,14 @@
|
|
|
23
24
|
box-sizing: border-box;
|
|
24
25
|
border: 1px solid @BG60;
|
|
25
26
|
border-radius: 4px;
|
|
27
|
+
background-color: @BG100;
|
|
26
28
|
// padding: 0 4px;
|
|
27
29
|
cursor: pointer;
|
|
28
|
-
width:100%;
|
|
30
|
+
width: 100%;
|
|
31
|
+
|
|
32
|
+
.ant-select-selector {
|
|
33
|
+
color: @NL0;
|
|
34
|
+
}
|
|
29
35
|
|
|
30
36
|
.ald-select-prefix {
|
|
31
37
|
color: @NL40;
|
|
@@ -50,7 +56,6 @@
|
|
|
50
56
|
border: none;
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
|
-
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
.ant-select-selection-overflow {
|
|
@@ -5,20 +5,31 @@
|
|
|
5
5
|
justify-content: space-between;
|
|
6
6
|
flex-direction: column;
|
|
7
7
|
color: @NL0;
|
|
8
|
-
font-size:
|
|
8
|
+
font-size: 13px;
|
|
9
9
|
line-height: 20px;
|
|
10
10
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.ald-multiple-option{
|
|
14
14
|
padding: 8px 14px;
|
|
15
|
-
height: 20px;
|
|
15
|
+
// height: 20px;
|
|
16
16
|
margin-left: 0;
|
|
17
17
|
display: flex;
|
|
18
|
+
height: 36px;
|
|
19
|
+
box-sizing: border-box;
|
|
18
20
|
|
|
19
21
|
&:hover{
|
|
20
22
|
background-color: @BG90;
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
&.ald-multiple-option-disabled{
|
|
26
|
+
opacity: 0.5;
|
|
27
|
+
|
|
28
|
+
&:hover{
|
|
29
|
+
background: none;
|
|
30
|
+
cursor: default;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
34
|
|
|
24
35
|
.ald-multiple-option-label{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ald-single-option-list{
|
|
2
2
|
color: @NL0;
|
|
3
|
-
font-size:
|
|
3
|
+
font-size: 13px;
|
|
4
4
|
line-height: 20px;
|
|
5
5
|
|
|
6
6
|
.ald-single-option{
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
display: flex;
|
|
9
9
|
align-items: center;
|
|
10
10
|
margin-left: 0;
|
|
11
|
+
height: 36px;
|
|
12
|
+
box-sizing: border-box;
|
|
11
13
|
|
|
12
14
|
&:hover{
|
|
13
15
|
background-color: @BG90;
|
|
@@ -23,5 +25,14 @@
|
|
|
23
25
|
.ald-single-option-text{
|
|
24
26
|
white-space: nowrap;
|
|
25
27
|
}
|
|
28
|
+
|
|
29
|
+
&.ald-single-option-disabled{
|
|
30
|
+
opacity: 0.5;
|
|
31
|
+
|
|
32
|
+
&:hover{
|
|
33
|
+
background: none;
|
|
34
|
+
cursor: default;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
26
37
|
}
|
|
27
38
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
color: inherit;
|
|
42
42
|
text-align: left;
|
|
43
43
|
word-break: break-all;
|
|
44
|
-
border-bottom: 1px solid @
|
|
44
|
+
border-bottom: 1px solid @BG80;
|
|
45
45
|
|
|
46
46
|
&-content {
|
|
47
47
|
flex: 1;
|
|
@@ -63,8 +63,10 @@
|
|
|
63
63
|
&-thead {
|
|
64
64
|
flex: 1;
|
|
65
65
|
overflow: hidden;
|
|
66
|
-
font-size:
|
|
66
|
+
font-size: 13px;
|
|
67
67
|
font-weight: 600;
|
|
68
|
+
background-color: @BG80;
|
|
69
|
+
mix-blend-mode: multiply;
|
|
68
70
|
|
|
69
71
|
.ald-table-row {
|
|
70
72
|
min-width: 9999px; // 防止拖动时的闪动
|
|
@@ -76,7 +78,6 @@
|
|
|
76
78
|
padding: 6px 16px;
|
|
77
79
|
color: @NL0;
|
|
78
80
|
line-height: 20px;
|
|
79
|
-
background-color: @BG80;
|
|
80
81
|
height: 100%;
|
|
81
82
|
|
|
82
83
|
.ald-table-cell-content {
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
z-index: 1;
|
|
93
94
|
display: inline-block;
|
|
94
95
|
width: 12px;
|
|
95
|
-
height:
|
|
96
|
+
height: 1em;
|
|
96
97
|
transform: translateY(-50%);
|
|
97
98
|
touch-action: none;
|
|
98
99
|
|
|
@@ -101,6 +102,7 @@
|
|
|
101
102
|
width: 1px;
|
|
102
103
|
height: 100%;
|
|
103
104
|
background-color: @BG70;
|
|
105
|
+
mix-blend-mode: multiply;
|
|
104
106
|
content: '';
|
|
105
107
|
}
|
|
106
108
|
}
|
|
@@ -130,7 +132,7 @@
|
|
|
130
132
|
display: flex;
|
|
131
133
|
align-items: center;
|
|
132
134
|
padding-left: 16px;
|
|
133
|
-
color: @
|
|
135
|
+
color: @NL0;
|
|
134
136
|
|
|
135
137
|
.ald-table-cell-container {
|
|
136
138
|
width: 100%;
|
|
@@ -192,8 +194,8 @@
|
|
|
192
194
|
|
|
193
195
|
&-left {
|
|
194
196
|
color: @NL0;
|
|
195
|
-
font-weight:
|
|
196
|
-
font-size:
|
|
197
|
+
font-weight: 600;
|
|
198
|
+
font-size: 13px;
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
&-right {
|
|
@@ -202,7 +204,7 @@
|
|
|
202
204
|
justify-content: flex-end;
|
|
203
205
|
height: 28px;
|
|
204
206
|
color: @NL0;
|
|
205
|
-
font-size:
|
|
207
|
+
font-size: 13px;
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
210
|
|
|
@@ -216,6 +218,10 @@
|
|
|
216
218
|
margin-left: 4px;
|
|
217
219
|
}
|
|
218
220
|
|
|
221
|
+
.ald-table-thead {
|
|
222
|
+
border-top: 1px solid @BG70;
|
|
223
|
+
}
|
|
224
|
+
|
|
219
225
|
&-column-resizable {
|
|
220
226
|
overflow: overlay;
|
|
221
227
|
|
package/dist/Tabs/index.d.ts
CHANGED
|
@@ -39,6 +39,21 @@ export interface ITabsProps extends Omit<TabsProps, 'size'> {
|
|
|
39
39
|
tabPosition?: 'left' | 'right' | 'top' | 'bottom';
|
|
40
40
|
className?: string;
|
|
41
41
|
children?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* @description header行背景颜色
|
|
44
|
+
* @default -
|
|
45
|
+
*/
|
|
46
|
+
headerBackgroundColor?: string;
|
|
47
|
+
/**
|
|
48
|
+
* @description tab 宽度等分,只有tabPosition 为top的时候生效
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
monospace?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* @description tab 填充padding,默认false
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
padding?: boolean | number;
|
|
42
57
|
}
|
|
43
58
|
declare function Tabs(props: ITabsProps): JSX.Element;
|
|
44
59
|
declare namespace Tabs {
|
package/dist/Tabs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["size", "className", "popupClassName", "adaptHeight"];
|
|
1
|
+
var _excluded = ["size", "className", "popupClassName", "adaptHeight", "style", "monospace", "tabPosition", "padding"];
|
|
2
2
|
|
|
3
3
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
4
|
|
|
@@ -12,36 +12,76 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
12
12
|
|
|
13
13
|
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; }
|
|
14
14
|
|
|
15
|
-
import React from 'react'; // import AntdTabs, { TabsProps } from 'antd/lib/tabs';
|
|
15
|
+
import React, { useMemo } from 'react'; // import AntdTabs, { TabsProps } from 'antd/lib/tabs';
|
|
16
16
|
|
|
17
|
-
import { Tabs as AntdTabs } from 'antd';
|
|
18
17
|
import { MoreVerticalLine } from '@aloudata/icons-react';
|
|
19
|
-
import
|
|
18
|
+
import { Tabs as AntdTabs } from 'antd';
|
|
20
19
|
import classNames from 'classnames';
|
|
20
|
+
import TabPane from "./TabPane";
|
|
21
21
|
export default function Tabs(props) {
|
|
22
22
|
var size = props.size,
|
|
23
23
|
className = props.className,
|
|
24
24
|
popupClassName = props.popupClassName,
|
|
25
25
|
adaptHeight = props.adaptHeight,
|
|
26
|
+
_props$style = props.style,
|
|
27
|
+
style = _props$style === void 0 ? {} : _props$style,
|
|
28
|
+
monospace = props.monospace,
|
|
29
|
+
_props$tabPosition = props.tabPosition,
|
|
30
|
+
tabPosition = _props$tabPosition === void 0 ? 'top' : _props$tabPosition,
|
|
31
|
+
_props$padding = props.padding,
|
|
32
|
+
padding = _props$padding === void 0 ? false : _props$padding,
|
|
26
33
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
27
34
|
|
|
35
|
+
var headerBackgroundColor = props.headerBackgroundColor;
|
|
36
|
+
|
|
28
37
|
var tabsProps = _objectSpread({}, otherProps);
|
|
29
38
|
|
|
30
39
|
if (size === 'large') {
|
|
31
40
|
tabsProps.size = size;
|
|
32
41
|
}
|
|
33
42
|
|
|
43
|
+
var _monospace = tabPosition !== 'top' ? false : monospace;
|
|
44
|
+
|
|
45
|
+
var _padding = useMemo(function () {
|
|
46
|
+
if (tabPosition !== 'top') return 0;
|
|
47
|
+
|
|
48
|
+
if (typeof padding === 'number') {
|
|
49
|
+
return padding;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (typeof padding === 'boolean' && padding) {
|
|
53
|
+
return 16;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return 0;
|
|
57
|
+
}, [padding, tabPosition]);
|
|
58
|
+
|
|
59
|
+
var getTabBarGutter = function getTabBarGutter() {
|
|
60
|
+
if (tabPosition === 'top' && !_monospace) {
|
|
61
|
+
return 24;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return 0;
|
|
65
|
+
};
|
|
66
|
+
|
|
34
67
|
return /*#__PURE__*/React.createElement(AntdTabs, _extends({
|
|
35
68
|
moreIcon: /*#__PURE__*/React.createElement("div", {
|
|
36
69
|
className: "ald-tabs-more-icon"
|
|
37
70
|
}, /*#__PURE__*/React.createElement(MoreVerticalLine, {
|
|
38
71
|
color: "currentColor"
|
|
39
72
|
})),
|
|
40
|
-
|
|
73
|
+
style: Object.assign(style, {
|
|
74
|
+
'--header-bg-color': headerBackgroundColor,
|
|
75
|
+
'--tabs-padding': "".concat(_padding, "px")
|
|
76
|
+
}),
|
|
77
|
+
tabPosition: tabPosition,
|
|
78
|
+
tabBarGutter: getTabBarGutter(),
|
|
41
79
|
popupClassName: classNames(popupClassName, 'ald-tabs-dropdown'),
|
|
42
80
|
className: classNames('ald-tabs', className, {
|
|
43
81
|
'ald-adapt-height': adaptHeight,
|
|
44
|
-
'ald-tabs-default': size !== 'large'
|
|
82
|
+
'ald-tabs-default': size !== 'large',
|
|
83
|
+
'ald-tabs-monospace': _monospace,
|
|
84
|
+
'ald-tabs-padding': !!padding
|
|
45
85
|
})
|
|
46
86
|
}, tabsProps));
|
|
47
87
|
}
|
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
.ant-tabs.ald-tabs {
|
|
23
23
|
&.ant-tabs {
|
|
24
24
|
color: @NL40;
|
|
25
|
+
|
|
26
|
+
.ant-tabs-nav {
|
|
27
|
+
background-color: var(--header-bg-color);
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
.ant-tabs-tab {
|
|
@@ -125,12 +129,22 @@
|
|
|
125
129
|
&.ant-tabs-bottom > .ant-tabs-nav,
|
|
126
130
|
&.ant-tabs-top > div > .ant-tabs-nav,
|
|
127
131
|
&.ant-tabs-bottom > div > .ant-tabs-nav {
|
|
128
|
-
margin:
|
|
132
|
+
margin-bottom: 16px;
|
|
129
133
|
|
|
130
134
|
&::before {
|
|
131
135
|
border-color: @BG70;
|
|
132
136
|
}
|
|
133
137
|
}
|
|
138
|
+
|
|
139
|
+
&.ant-tabs-left {
|
|
140
|
+
.ant-tabs-nav-list {
|
|
141
|
+
padding-right: 24px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.ant-tabs-tab {
|
|
145
|
+
padding: 8px 0;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
134
148
|
}
|
|
135
149
|
|
|
136
150
|
.ald-tabs-dropdown {
|
|
@@ -166,3 +180,30 @@
|
|
|
166
180
|
}
|
|
167
181
|
}
|
|
168
182
|
}
|
|
183
|
+
|
|
184
|
+
.ald-tabs-monospace {
|
|
185
|
+
.ant-tabs-nav {
|
|
186
|
+
.ant-tabs-nav-wrap {
|
|
187
|
+
.ant-tabs-nav-list {
|
|
188
|
+
width: 100%;
|
|
189
|
+
|
|
190
|
+
.ant-tabs-tab {
|
|
191
|
+
flex-grow: 1;
|
|
192
|
+
justify-content: center;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.ald-tabs-padding {
|
|
200
|
+
.ant-tabs-nav {
|
|
201
|
+
.ant-tabs-nav-wrap {
|
|
202
|
+
margin: 0 var(--tabs-padding);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.ant-tabs-content-holder {
|
|
207
|
+
padding: 0 var(--tabs-padding) var(--tabs-padding);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -5,12 +5,18 @@
|
|
|
5
5
|
padding: 6px 12px;
|
|
6
6
|
line-height: 20px;
|
|
7
7
|
background: @BG10;
|
|
8
|
-
border-radius:
|
|
8
|
+
border-radius: 4px;
|
|
9
9
|
box-shadow: none;
|
|
10
10
|
color:@ND0;
|
|
11
11
|
font-size: 13px;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
.ant-tooltip-arrow {
|
|
15
|
+
&::before{
|
|
16
|
+
background-color: @BG10;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
14
20
|
.ant-tooltip-arrow-content {
|
|
15
21
|
background: @BG10;
|
|
16
22
|
}
|
|
@@ -1,13 +1,34 @@
|
|
|
1
|
-
import { Button, notification } from "../..";
|
|
1
|
+
import { Button, notification, Space } from "../..";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export default (function () {
|
|
4
|
-
var notices = function notices() {
|
|
5
|
-
notification
|
|
6
|
-
message: 'Notification
|
|
4
|
+
var notices = function notices(type) {
|
|
5
|
+
notification[type]({
|
|
6
|
+
message: 'Notification Message',
|
|
7
|
+
description: 'description,description,description,description,description,description,description,description',
|
|
8
|
+
style: {
|
|
9
|
+
maxHeight: 500,
|
|
10
|
+
overflow: 'auto'
|
|
11
|
+
}
|
|
7
12
|
});
|
|
8
13
|
};
|
|
9
14
|
|
|
10
|
-
return /*#__PURE__*/React.createElement(
|
|
11
|
-
|
|
12
|
-
},
|
|
15
|
+
return /*#__PURE__*/React.createElement(Space, {
|
|
16
|
+
direction: "vertical"
|
|
17
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
18
|
+
onClick: function onClick() {
|
|
19
|
+
return notices('success');
|
|
20
|
+
}
|
|
21
|
+
}, "Notification success with message\u3001description"), /*#__PURE__*/React.createElement(Button, {
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
return notices('error');
|
|
24
|
+
}
|
|
25
|
+
}, "Notification error with message\u3001description"), /*#__PURE__*/React.createElement(Button, {
|
|
26
|
+
onClick: function onClick() {
|
|
27
|
+
return notices('warning');
|
|
28
|
+
}
|
|
29
|
+
}, "Notification warning with message\u3001description"), /*#__PURE__*/React.createElement(Button, {
|
|
30
|
+
onClick: function onClick() {
|
|
31
|
+
return notices('info');
|
|
32
|
+
}
|
|
33
|
+
}, "Notification info with message\u3001description"));
|
|
13
34
|
});
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ArgsProps } from 'antd/es/notification/interface';
|
|
2
|
+
declare const notification: {
|
|
3
|
+
open: (config: ArgsProps) => void;
|
|
4
|
+
success: (config: ArgsProps) => void;
|
|
5
|
+
error: (config: ArgsProps) => void;
|
|
6
|
+
warning: (config: ArgsProps) => void;
|
|
7
|
+
info: (config: ArgsProps) => void;
|
|
8
|
+
destroy: (key?: string) => void;
|
|
9
|
+
};
|
|
2
10
|
export default notification;
|