@hi-ui/tabs 4.0.0-alpha.2 → 4.0.0-alpha.20
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/README.md +57 -0
- package/lib/cjs/TabInk.js +6 -5
- package/lib/cjs/TabInk.js.map +1 -1
- package/lib/cjs/TabItem.js +142 -5
- package/lib/cjs/TabItem.js.map +1 -1
- package/lib/cjs/TabList.js +133 -9
- package/lib/cjs/TabList.js.map +1 -1
- package/lib/cjs/Tabs.js +34 -6
- package/lib/cjs/Tabs.js.map +1 -1
- package/lib/cjs/index.js +3 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/esm/TabInk.js +6 -5
- package/lib/esm/TabInk.js.map +1 -1
- package/lib/esm/TabItem.js +142 -6
- package/lib/esm/TabItem.js.map +1 -1
- package/lib/esm/TabList.js +134 -11
- package/lib/esm/TabList.js.map +1 -1
- package/lib/esm/Tabs.js +33 -5
- package/lib/esm/Tabs.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/types/TabInk.d.ts +1 -0
- package/lib/types/TabItem.d.ts +22 -1
- package/lib/types/TabList.d.ts +34 -4
- package/lib/types/TabPane.d.ts +2 -1
- package/lib/types/Tabs.d.ts +39 -4
- package/lib/types/index.d.ts +1 -0
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -9,3 +9,60 @@ const Tabs = require('@hi-ui/tabs');
|
|
|
9
9
|
|
|
10
10
|
// TODO: DEMONSTRATE API
|
|
11
11
|
```
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
### Tabs
|
|
16
|
+
|
|
17
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
18
|
+
| --------------- | ------------------------------------------------------------------------------------------- | ---------------- | ---------------------------------------------------- | ------------ |
|
|
19
|
+
| type | 标签类型 | string | 'desc' \| 'card' \| 'button' \| 'default' | 'default' |
|
|
20
|
+
| placement | 水平或竖直展示标签 | string | 'vertical' \| 'horizontal' | 'horizontal' |
|
|
21
|
+
| defaultActiveId | 设置默认激活的标签 | React.ReactText | - | 第一个选项卡 |
|
|
22
|
+
| activeId | 设置激活的标签,设置此值后变为受控模式 | React.ReactText | - | - |
|
|
23
|
+
| draggable | 是否支持拖拽 | boolean | true \| false | false |
|
|
24
|
+
| editable | 是否可编辑 | boolean | true \| false | false |
|
|
25
|
+
| extra | 右侧扩展区域 | React.ReactNode | - | - |
|
|
26
|
+
|
|
27
|
+
### Tabs.Pane
|
|
28
|
+
|
|
29
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
30
|
+
| --------- | -------------------------------------------- | ------------------- | ------------- | ------ |
|
|
31
|
+
| tabTitle | 选项卡头显示文字 | ReactNode | - | - |
|
|
32
|
+
| tabDesc | 选项卡头描述文字,仅对 type='desc'时生效 | ReactNode | - | - |
|
|
33
|
+
| tabId | 每个标签的唯一标识 | string \| number | - | - |
|
|
34
|
+
| disabled | 标签是否禁用 | boolean | true \| false | false |
|
|
35
|
+
| closeable | 标签是否可以关闭,仅对 editable 为true时生效 | boolean | true \| false | true |
|
|
36
|
+
|
|
37
|
+
## Events
|
|
38
|
+
|
|
39
|
+
| 名称 | 说明 | 类型 | 参数 | 返回值 |
|
|
40
|
+
| -------------- | ----------------------------------------------------------- | ------------------------------------ | --------------------------------------------------- | ------------------------------ |
|
|
41
|
+
| onTabClick | 点击标签页时触发,回调值为点击点击标签的 id | (tabId, event) => void | tabKey: 点击的标签 id, event: MouseEvent |
|
|
42
|
+
| onChange | 点击标签页变更时触发,回调值为点击点击标签的 id | (tabId, event) => void | tabKey: 点击的标签 id, event: MouseEvent | - |
|
|
43
|
+
| onDragStart | 节点开始拖拽时触发 | (e: React.DragEvent,{dragNode: TabNode}) => void | dragNode: 拖拽节点 |
|
|
44
|
+
| onDragOver | 节点开始拖拽时触发 | (e: React.DragEvent,{targetNode: TabNode}) => void | dragNode: 拖拽节点 |
|
|
45
|
+
| onDragEnd | 节点开始拖拽时触发 | (e: React.DragEvent,{targetNode: TabNode}) => void | dragNode: 拖拽节点 | - |- |
|
|
46
|
+
| onDrop | 节点拖拽时触发 | (e: React.DragEvent,{dragNode, targetNode, direction, }) => void | dragNode: 拖拽节点 | - |
|
|
47
|
+
| onAdd | 节点增加时触发 | () => void | - | - |
|
|
48
|
+
| onDelete | 点击删除节点按钮时触发 | (deletedNode: TabNode,index) => void | deletedNode: 删除的节点, index: 删除的节点索引 | - |
|
|
49
|
+
|
|
50
|
+
## CHANGELOG
|
|
51
|
+
*** 拖拽事件全面向原生看齐 ***
|
|
52
|
+
| 参数 | 变更类型 | 变更内容 | 解决的问题 |
|
|
53
|
+
| ------------ | ------------------------------- | ------------------------------------------------------------------------------ | ---------------------------- |
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
| onBeforeDelete | deprecated | 废弃onDelete前置逻辑,直接在 onDelete 处理 | 优化易用性 |
|
|
57
|
+
| onDropEnd | deprecated | 废弃onDelete前置逻辑,直接在 onDelete 处理 | 优化易用性 |
|
|
58
|
+
| canScroll | deprecated | 现在不需要canScroll,会自动计算是否可滚动 | 优化易用性 |
|
|
59
|
+
| max | deprecated | 现在不再内置收起效果,该字段没有存在意义 | 优化易用性 |
|
|
60
|
+
| animation | deprecated | 动画效果为内置 | 优化易用性,删减无意义的配置项 |
|
|
61
|
+
| onDragStart | update | 入参调整 | |
|
|
62
|
+
| onDragOver | feature | 新增钩子 | |
|
|
63
|
+
| onDragEnd | feature | 新增钩子 | |
|
|
64
|
+
|extra | feature | 右侧额外操作区 | 功能增强 |
|
|
65
|
+
| onDrop | update | 入参调整 | |
|
|
66
|
+
| type | update | 选项移除 'editable'类型,, 默认type由'card'类型改为'line' | editable 拆为配置项更合理,根据通用场景,'line‘模式用的更多,故更改默认类型 |
|
|
67
|
+
| editable | feature | 选项移除type 的 'editable'类型,迁移为一个配置项 | editable 拆为配置项更合理,解决editable 和 type的组合问题 |
|
|
68
|
+
|
package/lib/cjs/TabInk.js
CHANGED
|
@@ -34,7 +34,8 @@ var TabInk = function TabInk(_ref) {
|
|
|
34
34
|
prefixCls = _ref.prefixCls,
|
|
35
35
|
itemRef = _ref.itemRef,
|
|
36
36
|
tabListRef = _ref.tabListRef,
|
|
37
|
-
direction = _ref.direction
|
|
37
|
+
direction = _ref.direction,
|
|
38
|
+
translate = _ref.translate;
|
|
38
39
|
var inkRef = React.useRef(null);
|
|
39
40
|
React.useEffect(function () {
|
|
40
41
|
if (inkRef.current && itemRef && tabListRef) {
|
|
@@ -44,15 +45,15 @@ var TabInk = function TabInk(_ref) {
|
|
|
44
45
|
|
|
45
46
|
if (direction === 'vertical') {
|
|
46
47
|
_style = {
|
|
47
|
-
top: itemRect.top - listRect.top + "px",
|
|
48
|
-
height: itemRect.height + "px",
|
|
48
|
+
top: itemRect.top - listRect.top - translate + 2 + 8 + "px",
|
|
49
|
+
height: itemRect.height - 4 - 16 + "px",
|
|
49
50
|
left: '',
|
|
50
51
|
width: ''
|
|
51
52
|
};
|
|
52
53
|
} else {
|
|
53
54
|
_style = {
|
|
54
|
-
left: itemRect.left - listRect.left + "px",
|
|
55
|
-
width: itemRect.width + "px",
|
|
55
|
+
left: itemRect.left - listRect.left - translate + 20 + "px",
|
|
56
|
+
width: itemRect.width - 40 + "px",
|
|
56
57
|
top: '',
|
|
57
58
|
height: ''
|
|
58
59
|
};
|
package/lib/cjs/TabInk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabInk.js","sources":["../../src/TabInk.tsx"],"sourcesContent":[null],"names":["TabInk","disabled","prefixCls","itemRef","tabListRef","direction","inkRef","useRef","useEffect","current","itemRect","getBoundingClientRect","listRect","_style","top","height","left","width","Object","assign","style","React","className","cx","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"TabInk.js","sources":["../../src/TabInk.tsx"],"sourcesContent":[null],"names":["TabInk","disabled","prefixCls","itemRef","tabListRef","direction","translate","inkRef","useRef","useEffect","current","itemRect","getBoundingClientRect","listRect","_style","top","height","left","width","Object","assign","style","React","className","cx","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYaA,MAAM,GAA0B,SAAhCA,MAAgC,KAAA;;;MAC3CC,gBAAAA;MACAC,iBAAAA;MACAC,eAAAA;MACAC,kBAAAA;MACAC,iBAAAA;MACAC,iBAAAA;MAEMC,MAAM,GAAGC,YAAAA,CAAuB,IAAvBA;AAEfC,EAAAA,eAAAA,CAAU;QACJF,MAAM,CAACG,OAAPH,IAAkBJ,OAAlBI,IAA6BH,YAAY;UACrCO,QAAQ,GAAGR,OAAO,CAACS,qBAART;UACXU,QAAQ,GAAGT,UAAU,CAACQ,qBAAXR;UACbU,MAAM,GAAwB;;UAC9BT,SAAS,KAAK,YAAY;AAC5BS,QAAAA,MAAM,GAAG;AACPC,UAAAA,GAAG,EAAKJ,QAAQ,CAACI,GAATJ,GAAeE,QAAQ,CAACE,GAAxBJ,GAA8BL,SAA9BK,GAA0C,CAA1CA,GAA8C,CAA9CA,OADD;AAEPK,UAAAA,MAAM,EAAKL,QAAQ,CAACK,MAATL,GAAkB,CAAlBA,GAAsB,EAAtBA,OAFJ;AAGPM,UAAAA,IAAI,EAAE,EAHC;AAIPC,UAAAA,KAAK,EAAE;AAJA,SAATJ;AADF,aAOO;AACLA,QAAAA,MAAM,GAAG;AACPG,UAAAA,IAAI,EAAKN,QAAQ,CAACM,IAATN,GAAgBE,QAAQ,CAACI,IAAzBN,GAAgCL,SAAhCK,GAA4C,EAA5CA,OADF;AAEPO,UAAAA,KAAK,EAAKP,QAAQ,CAACO,KAATP,GAAiB,EAAjBA,OAFH;AAGPI,UAAAA,GAAG,EAAE,EAHE;AAIPC,UAAAA,MAAM,EAAE;AAJD,SAATF;;;AAOFK,MAAAA,MAAM,CAACC,MAAPD,CAAcZ,MAAM,CAACG,OAAPH,CAAec,KAA7BF,EAAoCL,MAApCK;;AApBK,GAATV,EAsBG,CAACN,OAAD,EAAUC,UAAV,EAAsBC,SAAtB,CAtBHI;sBAyBEa,yBAAAA,cAAAA,MAAAA;AACEC,IAAAA,SAAS,EAAEC,YAAAA,CAAMtB,SAAJ,UAAFsB,iBACLtB,SADO,wBACsBD,aADxBuB;AAGXC,IAAAA,GAAG,EAAElB;GAJPe;;;;"}
|
package/lib/cjs/TabItem.js
CHANGED
|
@@ -21,6 +21,8 @@ var classname = require('@hi-ui/classname');
|
|
|
21
21
|
|
|
22
22
|
var env = require('@hi-ui/env');
|
|
23
23
|
|
|
24
|
+
var icons = require('@hi-ui/icons');
|
|
25
|
+
|
|
24
26
|
function _interopDefaultLegacy(e) {
|
|
25
27
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
26
28
|
'default': e
|
|
@@ -36,24 +38,159 @@ var TabItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
36
38
|
style = _ref.style,
|
|
37
39
|
disabled = _ref.disabled,
|
|
38
40
|
tabTitle = _ref.tabTitle,
|
|
41
|
+
tabDesc = _ref.tabDesc,
|
|
39
42
|
prefixCls = _ref.prefixCls,
|
|
40
43
|
tabId = _ref.tabId,
|
|
41
44
|
onTabClick = _ref.onTabClick,
|
|
42
|
-
active = _ref.active
|
|
45
|
+
active = _ref.active,
|
|
46
|
+
editable = _ref.editable,
|
|
47
|
+
onDelete = _ref.onDelete,
|
|
48
|
+
index = _ref.index,
|
|
49
|
+
_onDragStart = _ref.onDragStart,
|
|
50
|
+
_onDragOver = _ref.onDragOver,
|
|
51
|
+
_onDrop = _ref.onDrop,
|
|
52
|
+
_onDragEnd = _ref.onDragEnd,
|
|
53
|
+
itemRef = _ref.itemRef,
|
|
54
|
+
draggable = _ref.draggable,
|
|
55
|
+
_ref$type = _ref.type,
|
|
56
|
+
type = _ref$type === void 0 ? 'line' : _ref$type,
|
|
57
|
+
_ref$closeable = _ref.closeable,
|
|
58
|
+
closeable = _ref$closeable === void 0 ? true : _ref$closeable,
|
|
59
|
+
_ref$direction = _ref.direction,
|
|
60
|
+
layout = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
|
|
61
|
+
|
|
62
|
+
var _useState = React.useState(null),
|
|
63
|
+
dragId = _useState[0],
|
|
64
|
+
setDragId = _useState[1];
|
|
65
|
+
|
|
66
|
+
var _useState2 = React.useState(null),
|
|
67
|
+
direction = _useState2[0],
|
|
68
|
+
setDirection = _useState2[1];
|
|
43
69
|
|
|
44
70
|
var _onClick = React.useCallback(function (e) {
|
|
45
71
|
if (onTabClick) {
|
|
46
|
-
onTabClick(tabId);
|
|
72
|
+
onTabClick(tabId, e);
|
|
47
73
|
}
|
|
48
74
|
}, [onTabClick, tabId]);
|
|
49
75
|
|
|
50
76
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
51
77
|
style: style,
|
|
52
|
-
className: classname.cx(prefixCls + "__item", className, (_cx = {}, _cx[prefixCls + "__item--active"] = active, _cx)),
|
|
78
|
+
className: classname.cx(prefixCls + "__item", className, (_cx = {}, _cx[prefixCls + "__item--active"] = active, _cx[prefixCls + "__item--" + direction] = direction, _cx)),
|
|
53
79
|
ref: ref,
|
|
80
|
+
draggable: draggable,
|
|
54
81
|
tabIndex: disabled ? 0 : -1,
|
|
55
|
-
onClick: _onClick
|
|
56
|
-
|
|
82
|
+
onClick: _onClick,
|
|
83
|
+
onDragStart: function onDragStart(e) {
|
|
84
|
+
e.stopPropagation();
|
|
85
|
+
e.dataTransfer.setData('tab', JSON.stringify({
|
|
86
|
+
tabId: tabId,
|
|
87
|
+
tabTitle: tabTitle
|
|
88
|
+
}));
|
|
89
|
+
setDragId(tabId);
|
|
90
|
+
|
|
91
|
+
if (_onDragStart) {
|
|
92
|
+
_onDragStart(e, {
|
|
93
|
+
dragNode: {
|
|
94
|
+
tabId: tabId,
|
|
95
|
+
tabTitle: tabTitle
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
onDragEnd: function onDragEnd(e) {
|
|
101
|
+
e.preventDefault();
|
|
102
|
+
e.stopPropagation();
|
|
103
|
+
e.dataTransfer.clearData();
|
|
104
|
+
setDragId(null);
|
|
105
|
+
|
|
106
|
+
if (_onDragEnd) {
|
|
107
|
+
_onDragEnd(e, {
|
|
108
|
+
dragNode: {
|
|
109
|
+
tabId: tabId,
|
|
110
|
+
tabTitle: tabTitle
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
onDragLeave: function onDragLeave(e) {
|
|
116
|
+
e.preventDefault();
|
|
117
|
+
e.stopPropagation();
|
|
118
|
+
setDirection(null);
|
|
119
|
+
},
|
|
120
|
+
onDragOver: function onDragOver(e) {
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
e.stopPropagation();
|
|
123
|
+
|
|
124
|
+
if (dragId !== tabId && itemRef) {
|
|
125
|
+
var targetBoundingRect = itemRef.getBoundingClientRect();
|
|
126
|
+
var hoverTargetSortY = (targetBoundingRect.bottom - targetBoundingRect.top) / 2;
|
|
127
|
+
var hoverTargetSortX = (targetBoundingRect.right - targetBoundingRect.left) / 2; // 鼠标垂直移动距离
|
|
128
|
+
|
|
129
|
+
var hoverClientY = e.clientY - targetBoundingRect.top;
|
|
130
|
+
var hoverClientX = e.clientX - targetBoundingRect.left;
|
|
131
|
+
|
|
132
|
+
if (layout === 'vertical') {
|
|
133
|
+
if (hoverClientY < hoverTargetSortY) {
|
|
134
|
+
setDirection('prev');
|
|
135
|
+
} else {
|
|
136
|
+
setDirection('next');
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
if (hoverClientX < hoverTargetSortX) {
|
|
140
|
+
setDirection('prev');
|
|
141
|
+
} else {
|
|
142
|
+
setDirection('next');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (_onDragOver) {
|
|
148
|
+
_onDragOver(e, {
|
|
149
|
+
targetNode: {
|
|
150
|
+
tabId: tabId,
|
|
151
|
+
tabTitle: tabTitle
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
onDrop: function onDrop(e) {
|
|
157
|
+
e.preventDefault();
|
|
158
|
+
e.stopPropagation();
|
|
159
|
+
setDirection(null);
|
|
160
|
+
|
|
161
|
+
if (_onDrop && dragId !== tabId) {
|
|
162
|
+
var passedData = JSON.parse(e.dataTransfer.getData('tab'));
|
|
163
|
+
|
|
164
|
+
_onDrop(e, {
|
|
165
|
+
dragNode: {
|
|
166
|
+
tabId: tabId,
|
|
167
|
+
tabTitle: tabTitle
|
|
168
|
+
},
|
|
169
|
+
targetNode: {
|
|
170
|
+
tabId: passedData.tabId,
|
|
171
|
+
tabTitle: passedData.tabTitle
|
|
172
|
+
},
|
|
173
|
+
direction: direction
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
|
178
|
+
className: prefixCls + "-item__title"
|
|
179
|
+
}, tabTitle), type === 'desc' && /*#__PURE__*/React__default['default'].createElement("span", {
|
|
180
|
+
className: prefixCls + "-item__desc"
|
|
181
|
+
}, tabDesc), editable && closeable && /*#__PURE__*/React__default['default'].createElement("span", {
|
|
182
|
+
className: prefixCls + "__close-btn",
|
|
183
|
+
onClick: function onClick(e) {
|
|
184
|
+
e.stopPropagation();
|
|
185
|
+
|
|
186
|
+
if (onDelete) {
|
|
187
|
+
onDelete({
|
|
188
|
+
tabId: tabId,
|
|
189
|
+
tabTitle: tabTitle
|
|
190
|
+
}, index);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)));
|
|
57
194
|
});
|
|
58
195
|
|
|
59
196
|
if (env.__DEV__) {
|
package/lib/cjs/TabItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItem.js","sources":["../../src/TabItem.tsx"],"sourcesContent":[null],"names":["TabItem","forwardRef","ref","className","style","disabled","tabTitle","prefixCls","tabId","onTabClick","active","_onClick","useCallback","e","React","cx","tabIndex","onClick","__DEV__","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TabItem.js","sources":["../../src/TabItem.tsx"],"sourcesContent":[null],"names":["TabItem","forwardRef","ref","className","style","disabled","tabTitle","tabDesc","prefixCls","tabId","onTabClick","active","editable","onDelete","index","onDragStart","onDragOver","onDrop","onDragEnd","itemRef","draggable","type","closeable","direction","layout","useState","dragId","setDragId","setDirection","_onClick","useCallback","e","React","cx","tabIndex","onClick","stopPropagation","dataTransfer","setData","JSON","stringify","dragNode","preventDefault","clearData","onDragLeave","targetBoundingRect","getBoundingClientRect","hoverTargetSortY","bottom","top","hoverTargetSortX","right","left","hoverClientY","clientY","hoverClientX","clientX","targetNode","passedData","parse","getData","CloseOutlined","__DEV__","displayName"],"mappings":"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"}
|
package/lib/cjs/TabList.js
CHANGED
|
@@ -27,6 +27,8 @@ var classname = require('@hi-ui/classname');
|
|
|
27
27
|
|
|
28
28
|
var TabInk = require('./TabInk.js');
|
|
29
29
|
|
|
30
|
+
var icons = require('@hi-ui/icons');
|
|
31
|
+
|
|
30
32
|
function _interopDefaultLegacy(e) {
|
|
31
33
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
32
34
|
'default': e
|
|
@@ -35,7 +37,13 @@ function _interopDefaultLegacy(e) {
|
|
|
35
37
|
|
|
36
38
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
37
39
|
|
|
40
|
+
var _role = 'tabs';
|
|
41
|
+
|
|
42
|
+
var _prefix = classname.getPrefixCls(_role);
|
|
43
|
+
|
|
38
44
|
var TabList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
45
|
+
var _cx;
|
|
46
|
+
|
|
39
47
|
var data = _ref.data,
|
|
40
48
|
className = _ref.className,
|
|
41
49
|
style = _ref.style,
|
|
@@ -43,7 +51,21 @@ var TabList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
43
51
|
defaultActiveId = _ref.defaultActiveId,
|
|
44
52
|
onChange = _ref.onChange,
|
|
45
53
|
onTabClick = _ref.onTabClick,
|
|
46
|
-
prefixCls = _ref.prefixCls
|
|
54
|
+
_ref$prefixCls = _ref.prefixCls,
|
|
55
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
56
|
+
_ref$direction = _ref.direction,
|
|
57
|
+
direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction,
|
|
58
|
+
editable = _ref.editable,
|
|
59
|
+
onAdd = _ref.onAdd,
|
|
60
|
+
onDelete = _ref.onDelete,
|
|
61
|
+
draggable = _ref.draggable,
|
|
62
|
+
onDragStart = _ref.onDragStart,
|
|
63
|
+
onDragOver = _ref.onDragOver,
|
|
64
|
+
onDrop = _ref.onDrop,
|
|
65
|
+
onDragEnd = _ref.onDragEnd,
|
|
66
|
+
_ref$type = _ref.type,
|
|
67
|
+
type = _ref$type === void 0 ? 'line' : _ref$type,
|
|
68
|
+
extra = _ref.extra;
|
|
47
69
|
|
|
48
70
|
var _a, _b;
|
|
49
71
|
|
|
@@ -55,10 +77,27 @@ var TabList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
55
77
|
innerRef = _useState[0],
|
|
56
78
|
setInnerRef = _useState[1];
|
|
57
79
|
|
|
80
|
+
var _useState2 = React.useState(null),
|
|
81
|
+
scrollRef = _useState2[0],
|
|
82
|
+
setScrollRef = _useState2[1];
|
|
83
|
+
|
|
84
|
+
var _useState3 = React.useState(0),
|
|
85
|
+
translateX = _useState3[0],
|
|
86
|
+
setTranslateX = _useState3[1];
|
|
87
|
+
|
|
88
|
+
var _useState4 = React.useState(0),
|
|
89
|
+
translateY = _useState4[0],
|
|
90
|
+
setTranslateY = _useState4[1];
|
|
91
|
+
|
|
58
92
|
var itemsRef = React.useRef({});
|
|
59
|
-
var
|
|
93
|
+
var showScrollBtn = React.useMemo(function () {
|
|
94
|
+
if (scrollRef && innerRef) {
|
|
95
|
+
return direction === 'horizontal' ? (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.clientWidth) > (innerRef === null || innerRef === void 0 ? void 0 : innerRef.clientWidth) : (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.clientHeight) > (innerRef === null || innerRef === void 0 ? void 0 : innerRef.clientHeight);
|
|
96
|
+
}
|
|
97
|
+
}, [scrollRef, innerRef, direction]);
|
|
98
|
+
var onClickTab = React.useCallback(function (key, event) {
|
|
60
99
|
if (onTabClick) {
|
|
61
|
-
onTabClick(key);
|
|
100
|
+
onTabClick(key, event);
|
|
62
101
|
}
|
|
63
102
|
|
|
64
103
|
if (key !== activeTab && setActiveTab) {
|
|
@@ -67,11 +106,49 @@ var TabList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
67
106
|
}, [activeTab, onTabClick, setActiveTab]);
|
|
68
107
|
return /*#__PURE__*/React__default['default'].createElement("div", {
|
|
69
108
|
style: style,
|
|
70
|
-
className: classname.cx(prefixCls + "__list", className),
|
|
109
|
+
className: classname.cx(prefixCls + "__list", (_cx = {}, _cx[prefixCls + "__list--" + type] = type, _cx), className),
|
|
71
110
|
ref: ref
|
|
72
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
111
|
+
}, showScrollBtn && direction === 'horizontal' && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
112
|
+
className: prefixCls + "__add-btn",
|
|
113
|
+
onClick: function onClick() {
|
|
114
|
+
if (scrollRef && innerRef) {
|
|
115
|
+
var canScroll = -translateX - innerRef.clientWidth;
|
|
116
|
+
var moveWidth = 0;
|
|
117
|
+
|
|
118
|
+
if (canScroll >= 0) {
|
|
119
|
+
moveWidth = innerRef.clientWidth;
|
|
120
|
+
} else {
|
|
121
|
+
moveWidth = -translateX;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
setTranslateX(translateX + moveWidth);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.LeftOutlined, null)), showScrollBtn && direction === 'vertical' && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
128
|
+
className: prefixCls + "__add-btn",
|
|
129
|
+
onClick: function onClick() {
|
|
130
|
+
if (scrollRef && innerRef) {
|
|
131
|
+
var canScroll = -translateY - innerRef.clientHeight;
|
|
132
|
+
var moveWidth = 0;
|
|
133
|
+
|
|
134
|
+
if (canScroll >= 0) {
|
|
135
|
+
moveWidth = innerRef.clientHeight;
|
|
136
|
+
} else {
|
|
137
|
+
moveWidth = -translateY;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
setTranslateY(translateY + moveWidth);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.UpOutlined, null)), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
73
144
|
className: classname.cx(prefixCls + "__list--inner"),
|
|
74
145
|
ref: setInnerRef
|
|
146
|
+
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
147
|
+
className: classname.cx(prefixCls + "__list--scroll"),
|
|
148
|
+
ref: setScrollRef,
|
|
149
|
+
style: showScrollBtn ? {
|
|
150
|
+
transform: direction === 'horizontal' ? "translateX(" + translateX + "px)" : "translateY(" + translateY + "px)"
|
|
151
|
+
} : {}
|
|
75
152
|
}, data.map(function (d, index) {
|
|
76
153
|
return /*#__PURE__*/React__default['default'].createElement(TabItem.TabItem, Object.assign({
|
|
77
154
|
key: index
|
|
@@ -79,16 +156,63 @@ var TabList = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
79
156
|
ref: function ref(node) {
|
|
80
157
|
itemsRef.current["" + d.tabId] = node;
|
|
81
158
|
},
|
|
159
|
+
type: type,
|
|
160
|
+
itemRef: itemsRef.current["" + d.tabId],
|
|
161
|
+
index: index,
|
|
82
162
|
active: activeTab === d.tabId,
|
|
83
163
|
prefixCls: prefixCls,
|
|
84
|
-
|
|
164
|
+
draggable: draggable,
|
|
165
|
+
onTabClick: onClickTab,
|
|
166
|
+
editable: editable,
|
|
167
|
+
onDelete: onDelete,
|
|
168
|
+
onDragStart: onDragStart,
|
|
169
|
+
onDragOver: onDragOver,
|
|
170
|
+
onDrop: onDrop,
|
|
171
|
+
onDragEnd: onDragEnd,
|
|
172
|
+
direction: direction
|
|
85
173
|
}));
|
|
86
|
-
}), /*#__PURE__*/React__default['default'].createElement(TabInk.TabInk, {
|
|
174
|
+
}), type === 'line' && /*#__PURE__*/React__default['default'].createElement(TabInk.TabInk, {
|
|
175
|
+
translate: direction === 'horizontal' ? translateX : translateY,
|
|
87
176
|
prefixCls: prefixCls,
|
|
88
|
-
direction:
|
|
177
|
+
direction: direction,
|
|
89
178
|
tabListRef: innerRef,
|
|
90
179
|
itemRef: (_b = itemsRef.current) === null || _b === void 0 ? void 0 : _b[activeTab]
|
|
91
|
-
})))
|
|
180
|
+
}))), showScrollBtn && direction === 'horizontal' && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
181
|
+
className: prefixCls + "__add-btn",
|
|
182
|
+
onClick: function onClick() {
|
|
183
|
+
if (scrollRef && innerRef) {
|
|
184
|
+
var canScroll = scrollRef.clientWidth - innerRef.clientWidth + translateX;
|
|
185
|
+
var moveWidth = 0;
|
|
186
|
+
|
|
187
|
+
if (canScroll >= innerRef.clientWidth) {
|
|
188
|
+
moveWidth = innerRef.clientWidth;
|
|
189
|
+
} else {
|
|
190
|
+
moveWidth = canScroll;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
setTranslateX(translateX - moveWidth);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.RightOutlined, null)), showScrollBtn && direction === 'vertical' && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
197
|
+
className: prefixCls + "__add-btn",
|
|
198
|
+
onClick: function onClick() {
|
|
199
|
+
if (scrollRef && innerRef) {
|
|
200
|
+
var canScroll = scrollRef.clientHeight - innerRef.clientHeight + translateY;
|
|
201
|
+
var moveWidth = 0;
|
|
202
|
+
|
|
203
|
+
if (canScroll >= innerRef.clientHeight) {
|
|
204
|
+
moveWidth = innerRef.clientHeight;
|
|
205
|
+
} else {
|
|
206
|
+
moveWidth = canScroll;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
setTranslateY(translateY - moveWidth);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, null)), editable && /*#__PURE__*/React__default['default'].createElement("div", {
|
|
213
|
+
className: prefixCls + "__add-btn",
|
|
214
|
+
onClick: onAdd
|
|
215
|
+
}, /*#__PURE__*/React__default['default'].createElement(icons.PlusOutlined, null)), extra);
|
|
92
216
|
});
|
|
93
217
|
|
|
94
218
|
if (env.__DEV__) {
|
package/lib/cjs/TabList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.js","sources":["../../src/TabList.tsx"],"sourcesContent":[null],"names":["TabList","forwardRef","ref","data","className","style","activeId","defaultActiveId","onChange","onTabClick","prefixCls","useUncontrolledState","tabId","activeTab","setActiveTab","useState","innerRef","setInnerRef","itemsRef","useRef","onClickTab","useCallback","key","React","cx","map","d","index","TabItem","node","current","active","TabInk","
|
|
1
|
+
{"version":3,"file":"TabList.js","sources":["../../src/TabList.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","TabList","forwardRef","ref","data","className","style","activeId","defaultActiveId","onChange","onTabClick","prefixCls","direction","editable","onAdd","onDelete","draggable","onDragStart","onDragOver","onDrop","onDragEnd","type","extra","useUncontrolledState","tabId","activeTab","setActiveTab","useState","innerRef","setInnerRef","scrollRef","setScrollRef","translateX","setTranslateX","translateY","setTranslateY","itemsRef","useRef","showScrollBtn","useMemo","clientWidth","clientHeight","onClickTab","useCallback","key","event","React","cx","onClick","canScroll","moveWidth","LeftOutlined","UpOutlined","transform","map","d","index","TabItem","node","current","itemRef","active","TabInk","translate","tabListRef","RightOutlined","DownOutlined","PlusOutlined","__DEV__","displayName"],"mappings":"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"}
|
package/lib/cjs/Tabs.js
CHANGED
|
@@ -42,6 +42,8 @@ var _prefix = classname.getPrefixCls(_role);
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
45
|
+
var _cx;
|
|
46
|
+
|
|
45
47
|
var _b;
|
|
46
48
|
|
|
47
49
|
var _a$prefixCls = _a.prefixCls,
|
|
@@ -54,9 +56,24 @@ var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
54
56
|
activeId = _a.activeId,
|
|
55
57
|
onChange = _a.onChange,
|
|
56
58
|
onTabClick = _a.onTabClick,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
editable = _a.editable,
|
|
60
|
+
_a$placement = _a.placement,
|
|
61
|
+
placement = _a$placement === void 0 ? 'horizontal' : _a$placement,
|
|
62
|
+
onAdd = _a.onAdd,
|
|
63
|
+
onDelete = _a.onDelete,
|
|
64
|
+
_a$draggable = _a.draggable,
|
|
65
|
+
draggable = _a$draggable === void 0 ? false : _a$draggable,
|
|
66
|
+
onDragStart = _a.onDragStart,
|
|
67
|
+
onDragOver = _a.onDragOver,
|
|
68
|
+
onDragEnd = _a.onDragEnd,
|
|
69
|
+
onDrop = _a.onDrop,
|
|
70
|
+
style = _a.style,
|
|
71
|
+
_a$type = _a.type,
|
|
72
|
+
type = _a$type === void 0 ? 'line' : _a$type,
|
|
73
|
+
extra = _a.extra,
|
|
74
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "defaultActiveId", "activeId", "onChange", "onTabClick", "editable", "placement", "onAdd", "onDelete", "draggable", "onDragStart", "onDragOver", "onDragEnd", "onDrop", "style", "type", "extra"]);
|
|
75
|
+
|
|
76
|
+
var cls = classname.cx(prefixCls, className, (_cx = {}, _cx[prefixCls + "--vertical"] = placement === 'vertical', _cx[prefixCls + "--" + type] = type, _cx));
|
|
60
77
|
var tabList = React.useMemo(function () {
|
|
61
78
|
var list = [];
|
|
62
79
|
React__default['default'].Children.map(children, function (child) {
|
|
@@ -95,17 +112,28 @@ var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
95
112
|
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
|
96
113
|
ref: ref,
|
|
97
114
|
role: role,
|
|
98
|
-
className: cls
|
|
115
|
+
className: cls,
|
|
116
|
+
style: style
|
|
99
117
|
}, rest), /*#__PURE__*/React__default['default'].createElement(TabList.TabList, {
|
|
100
118
|
prefixCls: prefixCls,
|
|
101
119
|
data: tabList,
|
|
102
120
|
activeId: activeId,
|
|
103
121
|
onChange: _onChange,
|
|
104
|
-
onTabClick: onTabClick
|
|
122
|
+
onTabClick: onTabClick,
|
|
123
|
+
direction: placement,
|
|
124
|
+
editable: editable,
|
|
125
|
+
onAdd: onAdd,
|
|
126
|
+
onDelete: onDelete,
|
|
127
|
+
draggable: draggable,
|
|
128
|
+
onDragEnd: onDragEnd,
|
|
129
|
+
onDragOver: onDragOver,
|
|
130
|
+
onDrop: onDrop,
|
|
131
|
+
type: type,
|
|
132
|
+
onDragStart: onDragStart,
|
|
133
|
+
extra: extra
|
|
105
134
|
}), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
106
135
|
className: _prefix + "__content"
|
|
107
136
|
}, React__default['default'].Children.map(children, function (child) {
|
|
108
|
-
console.log(child, child === null || child === void 0 ? void 0 : child.props.tabId, activeId);
|
|
109
137
|
return child && /*#__PURE__*/React__default['default'].cloneElement(child, {
|
|
110
138
|
active: activePane === child.props.tabId
|
|
111
139
|
});
|
package/lib/cjs/Tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sources":["../../src/Tabs.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","Tabs","forwardRef","_a","ref","prefixCls","role","className","children","defaultActiveId","activeId","onChange","onTabClick","rest","cls","cx","tabList","useMemo","list","React","Children","map","child","props","tabTitle","tabId","tabDesc","closeable","disabled","item","push","useState","activePane","setActivePane","_onChange","useCallback","TabList","data","
|
|
1
|
+
{"version":3,"file":"Tabs.js","sources":["../../src/Tabs.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","Tabs","forwardRef","_a","ref","prefixCls","role","className","children","defaultActiveId","activeId","onChange","onTabClick","editable","placement","onAdd","onDelete","draggable","onDragStart","onDragOver","onDragEnd","onDrop","style","type","extra","rest","cls","cx","tabList","useMemo","list","React","Children","map","child","props","tabTitle","tabId","tabDesc","closeable","disabled","item","push","useState","activePane","setActivePane","_onChange","useCallback","TabList","data","direction","cloneElement","active","__DEV__","displayName"],"mappings":"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"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -19,7 +19,10 @@ var Tabs = require('./Tabs.js');
|
|
|
19
19
|
|
|
20
20
|
var TabPane = require('./TabPane.js');
|
|
21
21
|
|
|
22
|
+
var TabList = require('./TabList.js');
|
|
23
|
+
|
|
22
24
|
exports.Tabs = Tabs.Tabs;
|
|
23
25
|
exports["default"] = Tabs.Tabs;
|
|
24
26
|
exports.TabPane = TabPane.TabPane;
|
|
27
|
+
exports.TabList = TabList.TabList;
|
|
25
28
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|