@rainbow-oh/yee-c 0.9.2 → 0.11.0
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/cjs/Button/demo/icon.js +1 -1
- package/dist/cjs/Input/style/index.less +1 -0
- package/dist/cjs/Table/demo/resizable.d.ts +3 -0
- package/dist/cjs/Table/demo/resizable.js +143 -0
- package/dist/cjs/Table/hooks/useColumnResize.d.ts +30 -0
- package/dist/cjs/Table/hooks/useColumnResize.js +217 -0
- package/dist/cjs/Table/hooks/useColumns.d.ts +3 -1
- package/dist/cjs/Table/hooks/useColumns.js +14 -3
- package/dist/cjs/Table/interface.d.ts +49 -0
- package/dist/cjs/Table/style/index.less +42 -0
- package/dist/cjs/Table/table.js +62 -9
- package/dist/cjs/Table/theader/cell.js +46 -4
- package/dist/cjs/Table/util/index.d.ts +19 -1
- package/dist/cjs/Table/util/index.js +22 -0
- package/dist/cjs/Tabs/demo/overflow-center.d.ts +3 -0
- package/dist/cjs/Tabs/demo/overflow-center.js +54 -0
- package/dist/cjs/Tabs/hooks/useNavListMove.d.ts +2 -1
- package/dist/cjs/Tabs/hooks/useNavListMove.js +51 -16
- package/dist/cjs/Tabs/hooks/useTabScroll.d.ts +1 -0
- package/dist/cjs/Tabs/hooks/useTabScroll.js +5 -1
- package/dist/cjs/Tabs/interface.d.ts +10 -1
- package/dist/cjs/Tabs/style/index.less +5 -0
- package/dist/cjs/Tabs/tab-header/index.d.ts +1 -0
- package/dist/cjs/Tabs/tab-header/index.js +11 -3
- package/dist/cjs/Tabs/tabs.js +4 -1
- package/dist/cjs/Upload/demo/auto-upload.d.ts +3 -0
- package/dist/cjs/Upload/demo/auto-upload.js +65 -0
- package/dist/cjs/Upload/demo/basic.js +5 -10
- package/dist/cjs/Upload/demo/controlled.js +4 -4
- package/dist/cjs/Upload/demo/pictureWall.js +14 -13
- package/dist/cjs/Upload/dragger.d.ts +2 -1
- package/dist/cjs/Upload/dragger.js +32 -21
- package/dist/cjs/Upload/index.d.ts +1 -1
- package/dist/cjs/Upload/interface.d.ts +67 -120
- package/dist/cjs/Upload/style/index.less +40 -13
- package/dist/cjs/Upload/upload.d.ts +2 -2
- package/dist/cjs/Upload/upload.js +435 -185
- package/dist/cjs/Upload/uploaded-list/index.d.ts +2 -1
- package/dist/cjs/Upload/uploaded-list/index.js +6 -3
- package/dist/cjs/Upload/uploaded-list/uploaded-item.d.ts +6 -3
- package/dist/cjs/Upload/uploaded-list/uploaded-item.js +127 -138
- package/dist/cjs/locale/interface.d.ts +1 -0
- package/dist/cjs/locale/lang/en_US.js +2 -1
- package/dist/cjs/locale/lang/ja_JP.js +2 -1
- package/dist/cjs/locale/lang/zh_CN.js +2 -1
- package/dist/cjs/locale/lang/zh_TW.js +2 -1
- package/dist/cjs/style/size.css +2 -1
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +3 -2
- package/dist/cjs/utils/ax/core.d.ts +3 -1
- package/dist/cjs/utils/ax/core.js +24 -37
- package/dist/cjs/utils/ax/index.d.ts +3 -1
- package/dist/cjs/utils/folder-scanner.d.ts +1 -1
- package/dist/cjs/utils/folder-scanner.js +43 -34
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Button/demo/icon.js +7 -4
- package/dist/esm/Input/style/index.less +1 -0
- package/dist/esm/Table/demo/resizable.d.ts +3 -0
- package/dist/esm/Table/demo/resizable.js +110 -0
- package/dist/esm/Table/hooks/useColumnResize.d.ts +30 -0
- package/dist/esm/Table/hooks/useColumnResize.js +206 -0
- package/dist/esm/Table/hooks/useColumns.d.ts +3 -1
- package/dist/esm/Table/hooks/useColumns.js +9 -4
- package/dist/esm/Table/interface.d.ts +49 -0
- package/dist/esm/Table/style/index.less +42 -0
- package/dist/esm/Table/table.js +83 -13
- package/dist/esm/Table/theader/cell.js +38 -3
- package/dist/esm/Table/util/index.d.ts +19 -1
- package/dist/esm/Table/util/index.js +37 -0
- package/dist/esm/Tabs/demo/overflow-center.d.ts +3 -0
- package/dist/esm/Tabs/demo/overflow-center.js +61 -0
- package/dist/esm/Tabs/hooks/useNavListMove.d.ts +2 -1
- package/dist/esm/Tabs/hooks/useNavListMove.js +62 -25
- package/dist/esm/Tabs/hooks/useTabScroll.d.ts +1 -0
- package/dist/esm/Tabs/hooks/useTabScroll.js +9 -0
- package/dist/esm/Tabs/interface.d.ts +10 -1
- package/dist/esm/Tabs/style/index.less +5 -0
- package/dist/esm/Tabs/tab-header/index.d.ts +1 -0
- package/dist/esm/Tabs/tab-header/index.js +15 -3
- package/dist/esm/Tabs/tabs.js +4 -2
- package/dist/esm/Upload/demo/auto-upload.d.ts +3 -0
- package/dist/esm/Upload/demo/auto-upload.js +42 -0
- package/dist/esm/Upload/demo/basic.js +5 -11
- package/dist/esm/Upload/demo/controlled.js +8 -6
- package/dist/esm/Upload/demo/pictureWall.js +17 -14
- package/dist/esm/Upload/dragger.d.ts +2 -1
- package/dist/esm/Upload/dragger.js +10 -5
- package/dist/esm/Upload/index.d.ts +1 -1
- package/dist/esm/Upload/interface.d.ts +67 -120
- package/dist/esm/Upload/style/index.less +40 -13
- package/dist/esm/Upload/upload.d.ts +2 -2
- package/dist/esm/Upload/upload.js +573 -271
- package/dist/esm/Upload/uploaded-list/index.d.ts +2 -1
- package/dist/esm/Upload/uploaded-list/index.js +9 -4
- package/dist/esm/Upload/uploaded-list/uploaded-item.d.ts +6 -3
- package/dist/esm/Upload/uploaded-list/uploaded-item.js +145 -150
- package/dist/esm/locale/interface.d.ts +1 -0
- package/dist/esm/locale/lang/en_US.js +2 -1
- package/dist/esm/locale/lang/ja_JP.js +2 -1
- package/dist/esm/locale/lang/zh_CN.js +2 -1
- package/dist/esm/locale/lang/zh_TW.js +2 -1
- package/dist/esm/style/size.css +2 -1
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +3 -2
- package/dist/esm/utils/ax/core.d.ts +3 -1
- package/dist/esm/utils/ax/core.js +32 -40
- package/dist/esm/utils/ax/index.d.ts +3 -1
- package/dist/esm/utils/folder-scanner.d.ts +1 -1
- package/dist/esm/utils/folder-scanner.js +76 -75
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +2 -2
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Button/demo/icon.tsx +5 -3
- package/src/Input/style/index.less +1 -0
- package/src/Table/demo/resizable.tsx +106 -0
- package/src/Table/hooks/useColumnResize.ts +224 -0
- package/src/Table/hooks/useColumns.ts +18 -3
- package/src/Table/index.en-US.md +7 -0
- package/src/Table/index.zh-CN.md +7 -0
- package/src/Table/interface.ts +52 -0
- package/src/Table/style/index.less +42 -0
- package/src/Table/table-resize.test.tsx +234 -0
- package/src/Table/table.tsx +90 -13
- package/src/Table/theader/cell.tsx +52 -2
- package/src/Table/util/index.ts +44 -1
- package/src/Tabs/demo/overflow-center.tsx +35 -0
- package/src/Tabs/hooks/useNavListMove.ts +60 -18
- package/src/Tabs/hooks/useTabScroll.ts +7 -1
- package/src/Tabs/index.en-US.md +33 -31
- package/src/Tabs/index.zh-CN.md +33 -31
- package/src/Tabs/interface.ts +10 -1
- package/src/Tabs/style/index.less +5 -0
- package/src/Tabs/tab-header/index.tsx +14 -3
- package/src/Tabs/tabs.tsx +2 -0
- package/src/Upload/demo/auto-upload.tsx +35 -0
- package/src/Upload/demo/basic.tsx +7 -11
- package/src/Upload/demo/controlled.tsx +12 -8
- package/src/Upload/demo/directory.tsx +3 -4
- package/src/Upload/demo/drag.tsx +5 -12
- package/src/Upload/demo/multiple.tsx +3 -4
- package/src/Upload/demo/pictureWall.tsx +22 -21
- package/src/Upload/dragger.tsx +47 -34
- package/src/Upload/index.en-US.md +63 -43
- package/src/Upload/index.ts +8 -1
- package/src/Upload/index.zh-CN.md +62 -42
- package/src/Upload/interface.ts +68 -120
- package/src/Upload/style/index.less +40 -13
- package/src/Upload/upload.tsx +546 -215
- package/src/Upload/uploaded-list/index.tsx +9 -5
- package/src/Upload/uploaded-list/uploaded-item.tsx +199 -228
- package/src/locale/interface.ts +1 -0
- package/src/locale/lang/en_US.ts +1 -0
- package/src/locale/lang/ja_JP.ts +1 -0
- package/src/locale/lang/zh_CN.ts +1 -0
- package/src/locale/lang/zh_TW.ts +1 -0
- package/src/style/size.css +2 -1
- package/src/utils/ax/core.ts +28 -41
- package/src/utils/folder-scanner.ts +51 -37
- package/src/version.ts +1 -1
|
@@ -10,6 +10,8 @@ export function useNavListMove(_ref) {
|
|
|
10
10
|
var direction = _ref.direction,
|
|
11
11
|
activeKey = _ref.activeKey,
|
|
12
12
|
enabled = _ref.enabled,
|
|
13
|
+
_ref$align = _ref.align,
|
|
14
|
+
align = _ref$align === void 0 ? 'auto' : _ref$align,
|
|
13
15
|
activetab = _ref.activetab,
|
|
14
16
|
navList = _ref.navList,
|
|
15
17
|
navContainer = _ref.navContainer,
|
|
@@ -21,47 +23,82 @@ export function useNavListMove(_ref) {
|
|
|
21
23
|
if (!enabled || !tab || !list || !container) {
|
|
22
24
|
return;
|
|
23
25
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (
|
|
26
|
+
|
|
27
|
+
// 'auto': keep as-is when the active tab is already fully visible.
|
|
28
|
+
// 'center': always re-center, even for tabs already visible on the header.
|
|
29
|
+
if (align !== 'center') {
|
|
30
|
+
var _isInContainer = isInContainer(direction, tab, list, container),
|
|
31
|
+
_isInContainer2 = _slicedToArray(_isInContainer, 1),
|
|
32
|
+
isVisible = _isInContainer2[0];
|
|
33
|
+
if (isVisible) return;
|
|
34
|
+
}
|
|
35
|
+
var moved = false;
|
|
28
36
|
if (direction === 'horizontal') {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
if (align === 'center') {
|
|
38
|
+
var containerWidth = container.clientWidth;
|
|
39
|
+
var maxOffset = list.scrollWidth - containerWidth;
|
|
40
|
+
var tabCenter = tab.offsetLeft + tab.offsetWidth / 2;
|
|
41
|
+
var newX = Math.round(containerWidth / 2 - tabCenter);
|
|
42
|
+
newX = Math.max(-maxOffset, Math.min(0, newX));
|
|
43
|
+
var _getEleTranslate = getEleTranslate(list),
|
|
44
|
+
_getEleTranslate2 = _slicedToArray(_getEleTranslate, 1),
|
|
45
|
+
x = _getEleTranslate2[0];
|
|
46
|
+
if (Math.abs(newX - x) > 0.5) {
|
|
47
|
+
setEleTranslate(list, newX);
|
|
48
|
+
moved = true;
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
var _getEleTranslate3 = getEleTranslate(list),
|
|
52
|
+
_getEleTranslate4 = _slicedToArray(_getEleTranslate3, 1),
|
|
53
|
+
_x = _getEleTranslate4[0];
|
|
54
|
+
var tabLeft = tab.offsetLeft;
|
|
55
|
+
var tabWidth = tab.offsetWidth;
|
|
56
|
+
var _containerWidth = container.clientWidth;
|
|
57
|
+
var _newX = _x;
|
|
36
58
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
59
|
+
// Tab overflows on the right side
|
|
60
|
+
if (tabLeft + tabWidth - Math.abs(_x) > _containerWidth) {
|
|
61
|
+
var overflow = tabLeft + tabWidth - Math.abs(_x) - _containerWidth;
|
|
62
|
+
_newX = _x - overflow;
|
|
63
|
+
}
|
|
64
|
+
// Tab overflows on the left side
|
|
65
|
+
else if (tabLeft < Math.abs(_x)) {
|
|
66
|
+
var _overflow = Math.abs(_x) - tabLeft;
|
|
67
|
+
_newX = _x + _overflow;
|
|
68
|
+
}
|
|
69
|
+
setEleTranslate(list, _newX);
|
|
70
|
+
moved = true;
|
|
41
71
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
72
|
+
} else if (align === 'center') {
|
|
73
|
+
var containerHeight = container.clientHeight;
|
|
74
|
+
var _maxOffset = container.scrollHeight - containerHeight;
|
|
75
|
+
var _tabCenter = tab.offsetTop + tab.offsetHeight / 2;
|
|
76
|
+
var newScrollTop = Math.max(0, Math.min(_maxOffset, Math.round(_tabCenter - containerHeight / 2)));
|
|
77
|
+
if (Math.abs(newScrollTop - container.scrollTop) > 0.5) {
|
|
78
|
+
container.scrollTop = newScrollTop;
|
|
79
|
+
moved = true;
|
|
46
80
|
}
|
|
47
|
-
setEleTranslate(list, newX);
|
|
48
81
|
} else {
|
|
49
82
|
var tabTop = tab.offsetTop;
|
|
50
83
|
var tabHeight = tab.offsetHeight;
|
|
51
|
-
var
|
|
84
|
+
var _containerHeight = container.clientHeight;
|
|
52
85
|
var scrollTop = container.scrollTop;
|
|
53
86
|
|
|
54
87
|
// Tab overflows below
|
|
55
|
-
if (tabTop + tabHeight - scrollTop >=
|
|
56
|
-
var _overflow2 = tabTop + tabHeight - scrollTop -
|
|
88
|
+
if (tabTop + tabHeight - scrollTop >= _containerHeight) {
|
|
89
|
+
var _overflow2 = tabTop + tabHeight - scrollTop - _containerHeight;
|
|
57
90
|
container.scrollTop = scrollTop + _overflow2;
|
|
91
|
+
moved = true;
|
|
58
92
|
}
|
|
59
93
|
// Tab overflows above
|
|
60
94
|
else if (tabTop < scrollTop) {
|
|
61
95
|
var _overflow3 = scrollTop - tabTop;
|
|
62
96
|
container.scrollTop = scrollTop - _overflow3;
|
|
97
|
+
moved = true;
|
|
63
98
|
}
|
|
64
99
|
}
|
|
65
|
-
|
|
66
|
-
|
|
100
|
+
if (moved) {
|
|
101
|
+
onMoved === null || onMoved === void 0 || onMoved();
|
|
102
|
+
}
|
|
103
|
+
}, [activeKey, enabled, direction, align, activetab, navList, navContainer, onMoved]);
|
|
67
104
|
}
|
|
@@ -7,6 +7,7 @@ interface UseTabScrollOptions {
|
|
|
7
7
|
}
|
|
8
8
|
export declare function useTabScroll({ direction, navContainer, navList, enabled, }: UseTabScrollOptions): {
|
|
9
9
|
refreshKey: number;
|
|
10
|
+
refresh: () => void;
|
|
10
11
|
updateShadow: import("../../utils/debounce").Debounced<() => void>;
|
|
11
12
|
};
|
|
12
13
|
export {};
|
|
@@ -35,6 +35,14 @@ export function useTabScroll(_ref) {
|
|
|
35
35
|
container.classList.toggle('with-suffix-shadow', currentOffset < maxOffset);
|
|
36
36
|
}, [direction, navContainer, navList]);
|
|
37
37
|
var debouncedUpdateShadow = useDebounceFunction(updateShadow, 200);
|
|
38
|
+
|
|
39
|
+
// Refresh dropdown range and shadows after the nav list is moved programmatically
|
|
40
|
+
var refresh = useCallback(function () {
|
|
41
|
+
setRefreshKey(function (prev) {
|
|
42
|
+
return prev + 1;
|
|
43
|
+
});
|
|
44
|
+
debouncedUpdateShadow();
|
|
45
|
+
}, [debouncedUpdateShadow]);
|
|
38
46
|
useEffect(function () {
|
|
39
47
|
var container = navContainer.current;
|
|
40
48
|
var list = navList.current;
|
|
@@ -84,6 +92,7 @@ export function useTabScroll(_ref) {
|
|
|
84
92
|
}, [direction, enabled, navContainer, navList, debouncedUpdateShadow, updateShadow]);
|
|
85
93
|
return {
|
|
86
94
|
refreshKey: refreshKey,
|
|
95
|
+
refresh: refresh,
|
|
87
96
|
updateShadow: debouncedUpdateShadow
|
|
88
97
|
};
|
|
89
98
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { DataAttributeProps } from '../utils/types';
|
|
3
|
-
type SemanticDOM = 'header' | 'content' | 'track' | 'list' | 'activeBar';
|
|
3
|
+
type SemanticDOM = 'header' | 'content' | 'track' | 'list' | 'activeBar' | 'more';
|
|
4
4
|
export type TabItemType = {
|
|
5
5
|
/**
|
|
6
6
|
* Unique key corresponding to activeKey
|
|
@@ -121,5 +121,14 @@ export interface TabsProps extends DataAttributeProps {
|
|
|
121
121
|
* @default false
|
|
122
122
|
*/
|
|
123
123
|
fixedHeader?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* How the active tab is aligned when the tab list overflows
|
|
126
|
+
* - 'auto': scroll minimally so the active tab is visible at the edge;
|
|
127
|
+
* no scrolling when it is already fully visible
|
|
128
|
+
* - 'center': always scroll so the active tab is centered in the header,
|
|
129
|
+
* including tabs clicked directly on the header
|
|
130
|
+
* @default 'auto'
|
|
131
|
+
*/
|
|
132
|
+
activeAlign?: 'auto' | 'center';
|
|
124
133
|
}
|
|
125
134
|
export {};
|
|
@@ -439,6 +439,10 @@
|
|
|
439
439
|
height: var(--yee-tabs-nav-operations-height);
|
|
440
440
|
}
|
|
441
441
|
|
|
442
|
+
@{pls}-nav-more {
|
|
443
|
+
margin-left: 4px;
|
|
444
|
+
}
|
|
445
|
+
|
|
442
446
|
// 下拉框
|
|
443
447
|
@{pls}-operation-container {
|
|
444
448
|
max-height: var(--yee-tabs-operation-container-max-height);
|
|
@@ -452,6 +456,7 @@
|
|
|
452
456
|
|
|
453
457
|
@{pls}-tab {
|
|
454
458
|
height: var(--yee-tabs-operation-tab-height);
|
|
459
|
+
margin: 0;
|
|
455
460
|
padding: var(--yee-tabs-operation-tab-padding);
|
|
456
461
|
cursor: pointer;
|
|
457
462
|
|
|
@@ -12,6 +12,7 @@ export interface TabHeaderProps {
|
|
|
12
12
|
prefixCls: string;
|
|
13
13
|
type?: 'card' | 'editable-card';
|
|
14
14
|
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
15
|
+
activeAlign?: 'auto' | 'center';
|
|
15
16
|
headerExtra?: {
|
|
16
17
|
prefix?: React.ReactNode | (() => React.ReactNode);
|
|
17
18
|
suffix?: React.ReactNode | (() => React.ReactNode);
|
|
@@ -23,6 +23,8 @@ var TabHeader = function TabHeader(props) {
|
|
|
23
23
|
type = props.type,
|
|
24
24
|
_props$position = props.position,
|
|
25
25
|
position = _props$position === void 0 ? 'top' : _props$position,
|
|
26
|
+
_props$activeAlign = props.activeAlign,
|
|
27
|
+
activeAlign = _props$activeAlign === void 0 ? 'auto' : _props$activeAlign,
|
|
26
28
|
headerExtra = props.headerExtra,
|
|
27
29
|
classNames = props.classNames,
|
|
28
30
|
styles = props.styles,
|
|
@@ -58,7 +60,8 @@ var TabHeader = function TabHeader(props) {
|
|
|
58
60
|
navList: navList,
|
|
59
61
|
enabled: moreOpen
|
|
60
62
|
}),
|
|
61
|
-
refreshKey = _useTabScroll.refreshKey
|
|
63
|
+
refreshKey = _useTabScroll.refreshKey,
|
|
64
|
+
refreshNav = _useTabScroll.refresh;
|
|
62
65
|
|
|
63
66
|
// ActiveBar movement
|
|
64
67
|
useActiveBar({
|
|
@@ -70,15 +73,22 @@ var TabHeader = function TabHeader(props) {
|
|
|
70
73
|
enabled: !type // Only show active bar for non-card types
|
|
71
74
|
});
|
|
72
75
|
|
|
76
|
+
// Recompute dropdown visibility, dropdown range and shadows after the list is moved
|
|
77
|
+
var handleNavMoved = useCallback(function () {
|
|
78
|
+
checkVisibility();
|
|
79
|
+
refreshNav();
|
|
80
|
+
}, [checkVisibility, refreshNav]);
|
|
81
|
+
|
|
73
82
|
// Navigation list movement
|
|
74
83
|
useNavListMove({
|
|
75
84
|
direction: direction,
|
|
76
85
|
activeKey: activeKey,
|
|
77
86
|
enabled: moreOpen,
|
|
87
|
+
align: activeAlign,
|
|
78
88
|
activetab: activetab,
|
|
79
89
|
navList: navList,
|
|
80
90
|
navContainer: navContainer,
|
|
81
|
-
onMoved:
|
|
91
|
+
onMoved: handleNavMoved
|
|
82
92
|
});
|
|
83
93
|
|
|
84
94
|
// Listen for container size changes
|
|
@@ -158,7 +168,9 @@ var TabHeader = function TabHeader(props) {
|
|
|
158
168
|
items: items || [],
|
|
159
169
|
range: range
|
|
160
170
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
161
|
-
className: "".concat(prefixCls, "-nav-more"),
|
|
171
|
+
className: clsx("".concat(prefixCls, "-nav-more"), classNames === null || classNames === void 0 ? void 0 : classNames.more),
|
|
172
|
+
style: styles === null || styles === void 0 ? void 0 : styles.more,
|
|
173
|
+
size: "small",
|
|
162
174
|
icon: /*#__PURE__*/React.createElement(Ellipsis, {
|
|
163
175
|
size: 14,
|
|
164
176
|
strokeWidth: 1.5
|
package/dist/esm/Tabs/tabs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _excluded = ["prefixCls", "position", "type", "className", "style", "classNames", "styles", "items", "lazy", "activeKey", "defaultActiveKey", "fixedHeader", "onChange", "onEdit", "onTabClick"];
|
|
2
|
+
var _excluded = ["prefixCls", "position", "type", "className", "style", "classNames", "styles", "items", "lazy", "activeKey", "defaultActiveKey", "fixedHeader", "activeAlign", "onChange", "onEdit", "onTabClick"];
|
|
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
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
@@ -42,6 +42,7 @@ var Tabs = function Tabs(baseprops) {
|
|
|
42
42
|
activeKey = props.activeKey,
|
|
43
43
|
defaultActiveKey = props.defaultActiveKey,
|
|
44
44
|
fixedHeader = props.fixedHeader,
|
|
45
|
+
activeAlign = props.activeAlign,
|
|
45
46
|
onChange = props.onChange,
|
|
46
47
|
onEdit = props.onEdit,
|
|
47
48
|
onTabClick = props.onTabClick,
|
|
@@ -110,7 +111,8 @@ var Tabs = function Tabs(baseprops) {
|
|
|
110
111
|
}), /*#__PURE__*/React.createElement(TabsCtx.Provider, {
|
|
111
112
|
value: contextValue
|
|
112
113
|
}, /*#__PURE__*/React.createElement(TabHeader, _extends({}, omit(props, ['children', 'className', 'style']), {
|
|
113
|
-
prefixCls: prefixCls
|
|
114
|
+
prefixCls: prefixCls,
|
|
115
|
+
activeAlign: activeAlign
|
|
114
116
|
})), /*#__PURE__*/React.createElement(TabContent, {
|
|
115
117
|
prefixCls: prefixCls,
|
|
116
118
|
className: classNames === null || classNames === void 0 ? void 0 : classNames.content,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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); }
|
|
4
|
+
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; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { Button, Upload } from "../..";
|
|
8
|
+
import React, { useRef, useState } from 'react';
|
|
9
|
+
export default (function () {
|
|
10
|
+
var uploadRef = useRef(null);
|
|
11
|
+
var _useState = useState([]),
|
|
12
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
13
|
+
fileList = _useState2[0],
|
|
14
|
+
setFileList = _useState2[1];
|
|
15
|
+
var readyCount = fileList.filter(function (file) {
|
|
16
|
+
return file.status === 'ready';
|
|
17
|
+
}).length;
|
|
18
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
19
|
+
style: {
|
|
20
|
+
display: 'flex',
|
|
21
|
+
flexDirection: 'column',
|
|
22
|
+
gap: 12
|
|
23
|
+
}
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Upload, {
|
|
25
|
+
ref: uploadRef,
|
|
26
|
+
autoUpload: false,
|
|
27
|
+
multiple: true,
|
|
28
|
+
action: "https://www.mocky.io/v2/5cc8019d300000980a055e76",
|
|
29
|
+
fileList: fileList,
|
|
30
|
+
onChange: function onChange(_ref) {
|
|
31
|
+
var nextFileList = _ref.fileList;
|
|
32
|
+
return setFileList(nextFileList);
|
|
33
|
+
}
|
|
34
|
+
}), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
35
|
+
type: "primary",
|
|
36
|
+
disabled: readyCount === 0,
|
|
37
|
+
onClick: function onClick() {
|
|
38
|
+
var _uploadRef$current;
|
|
39
|
+
return (_uploadRef$current = uploadRef.current) === null || _uploadRef$current === void 0 ? void 0 : _uploadRef$current.upload();
|
|
40
|
+
}
|
|
41
|
+
}, "Start upload (", readyCount, ")")));
|
|
42
|
+
});
|
|
@@ -13,24 +13,18 @@ export default (function () {
|
|
|
13
13
|
defaultFileList: [{
|
|
14
14
|
uid: '1',
|
|
15
15
|
name: 'xxx.png',
|
|
16
|
-
status: '
|
|
17
|
-
raw: {},
|
|
16
|
+
status: 'success',
|
|
18
17
|
size: 123,
|
|
19
|
-
percent:
|
|
18
|
+
percent: 100,
|
|
20
19
|
type: 'image/png'
|
|
21
20
|
}, {
|
|
22
21
|
uid: '2',
|
|
23
22
|
name: 'yyy.png',
|
|
24
|
-
status: '
|
|
25
|
-
raw: {},
|
|
23
|
+
status: 'success',
|
|
26
24
|
size: 123,
|
|
27
|
-
percent:
|
|
25
|
+
percent: 100,
|
|
28
26
|
type: 'image/png'
|
|
29
27
|
}]
|
|
30
28
|
};
|
|
31
|
-
return (
|
|
32
|
-
/*#__PURE__*/
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
React.createElement(Upload, props, /*#__PURE__*/React.createElement(Button, null, "Upload"))
|
|
35
|
-
);
|
|
29
|
+
return /*#__PURE__*/React.createElement(Upload, props, /*#__PURE__*/React.createElement(Button, null, "Upload"));
|
|
36
30
|
});
|
|
@@ -16,16 +16,18 @@ export default (function () {
|
|
|
16
16
|
fileList: fileList,
|
|
17
17
|
onChange: function onChange(_ref) {
|
|
18
18
|
var file = _ref.file,
|
|
19
|
-
|
|
20
|
-
setFileList(
|
|
19
|
+
nextFileList = _ref.fileList;
|
|
20
|
+
setFileList(nextFileList);
|
|
21
21
|
if (file.status !== 'uploading') {
|
|
22
|
-
console.log(file,
|
|
22
|
+
console.log(file, nextFileList);
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
onRemove: function onRemove(file) {
|
|
26
|
-
setFileList(
|
|
27
|
-
return
|
|
28
|
-
|
|
26
|
+
setFileList(function (current) {
|
|
27
|
+
return current.filter(function (item) {
|
|
28
|
+
return item.uid !== file.uid;
|
|
29
|
+
});
|
|
30
|
+
});
|
|
29
31
|
return true;
|
|
30
32
|
}
|
|
31
33
|
};
|
|
@@ -6,35 +6,38 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import { Upload } from "../..";
|
|
8
8
|
import React, { useState } from 'react';
|
|
9
|
+
var imageUrl = 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png';
|
|
9
10
|
export default (function () {
|
|
10
11
|
var _useState = useState([{
|
|
11
12
|
uid: '-1',
|
|
12
|
-
name: 'image.png',
|
|
13
|
-
status: '
|
|
14
|
-
|
|
13
|
+
name: 'image-1.png',
|
|
14
|
+
status: 'success',
|
|
15
|
+
type: 'image/png',
|
|
16
|
+
url: imageUrl
|
|
15
17
|
}, {
|
|
16
18
|
uid: '-2',
|
|
17
|
-
name: 'image.png',
|
|
18
|
-
status: '
|
|
19
|
-
|
|
19
|
+
name: 'image-2.png',
|
|
20
|
+
status: 'success',
|
|
21
|
+
type: 'image/png',
|
|
22
|
+
url: imageUrl
|
|
20
23
|
}, {
|
|
21
24
|
uid: '-3',
|
|
22
|
-
name: 'image.png',
|
|
23
|
-
status: '
|
|
24
|
-
|
|
25
|
+
name: 'image-3.png',
|
|
26
|
+
status: 'success',
|
|
27
|
+
type: 'image/png',
|
|
28
|
+
url: imageUrl
|
|
25
29
|
}]),
|
|
26
30
|
_useState2 = _slicedToArray(_useState, 2),
|
|
27
31
|
fileList = _useState2[0],
|
|
28
32
|
setFileList = _useState2[1];
|
|
29
|
-
var handleChange = function handleChange(_ref) {
|
|
30
|
-
var fileList = _ref.fileList;
|
|
31
|
-
setFileList(fileList);
|
|
32
|
-
};
|
|
33
33
|
var props = {
|
|
34
34
|
action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76',
|
|
35
35
|
listType: 'picture-wall',
|
|
36
36
|
fileList: fileList,
|
|
37
|
-
onChange:
|
|
37
|
+
onChange: function onChange(_ref) {
|
|
38
|
+
var nextFileList = _ref.fileList;
|
|
39
|
+
return setFileList(nextFileList);
|
|
40
|
+
}
|
|
38
41
|
};
|
|
39
42
|
return /*#__PURE__*/React.createElement(Upload, props);
|
|
40
43
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import type { UploadDraggerProps, UploadInstance } from './interface';
|
|
3
|
+
declare const Dragger: React.ForwardRefExoticComponent<UploadDraggerProps & React.RefAttributes<UploadInstance>>;
|
|
3
4
|
export default Dragger;
|
|
@@ -18,7 +18,8 @@ var Dragger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
18
18
|
t = _useLocale.t;
|
|
19
19
|
var renderChildren = function renderChildren() {
|
|
20
20
|
return children !== null && children !== void 0 ? children : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
21
|
-
className: "".concat(prefixCls, "-icon")
|
|
21
|
+
className: "".concat(prefixCls, "-icon"),
|
|
22
|
+
"aria-hidden": "true"
|
|
22
23
|
}, /*#__PURE__*/React.createElement(UploadIcon, {
|
|
23
24
|
size: 22
|
|
24
25
|
})), /*#__PURE__*/React.createElement("span", {
|
|
@@ -29,11 +30,15 @@ var Dragger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
29
30
|
type: "drag",
|
|
30
31
|
ref: ref
|
|
31
32
|
}), /*#__PURE__*/React.createElement("div", {
|
|
32
|
-
className: clsx(
|
|
33
|
+
className: clsx(prefixCls, _defineProperty({}, "".concat(prefixCls, "-disabled"), disabled)),
|
|
34
|
+
role: "button",
|
|
35
|
+
"aria-disabled": disabled,
|
|
33
36
|
tabIndex: disabled ? -1 : 0,
|
|
34
|
-
onKeyDown: function onKeyDown(
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
+
onKeyDown: function onKeyDown(event) {
|
|
38
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
39
|
+
var _event$currentTarget$;
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
(_event$currentTarget$ = event.currentTarget.parentElement) === null || _event$currentTarget$ === void 0 || (_event$currentTarget$ = _event$currentTarget$.querySelector('input[type="file"]')) === null || _event$currentTarget$ === void 0 || _event$currentTarget$.click();
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
}, renderChildren()));
|
|
@@ -4,5 +4,5 @@ type UploadType = typeof InternalUpload & {
|
|
|
4
4
|
Dragger: typeof Dragger;
|
|
5
5
|
};
|
|
6
6
|
declare const Upload: UploadType;
|
|
7
|
-
export type { UploadProps } from './interface';
|
|
7
|
+
export type { UploadDraggerProps, UploadFile, UploadInstance, UploadProps, UploadRequestAbort, UploadRequestOptions, } from './interface';
|
|
8
8
|
export default Upload;
|