@hi-ui/tabs 4.1.1 → 4.1.2

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.
@@ -9,68 +9,41 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var tslib = require('tslib');
19
-
20
13
  var React = require('react');
21
-
22
14
  var reactUtils = require('@hi-ui/react-utils');
23
-
24
15
  var classname = require('@hi-ui/classname');
25
-
26
- function _interopDefaultLegacy(e) {
27
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
28
- 'default': e
29
- };
30
- }
31
-
32
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
33
-
34
16
  var _role = 'tabs-tab-pane';
35
-
36
17
  var _prefix = classname.getPrefixCls(_role);
37
-
38
18
  var omitProps = ['tabId', 'tabTitle', 'disabled', 'tabDesc', 'closeable'];
39
-
40
19
  var TabPane = function TabPane(_a) {
41
20
  var children = _a.children,
42
- className = _a.className,
43
- style = _a.style,
44
- active = _a.active,
45
- _a$unmountOnInactive = _a.unmountOnInactive,
46
- unmountOnInactive = _a$unmountOnInactive === void 0 ? true : _a$unmountOnInactive,
47
- rest = tslib.__rest(_a, ["children", "className", "style", "active", "unmountOnInactive"]);
48
-
21
+ className = _a.className,
22
+ style = _a.style,
23
+ active = _a.active,
24
+ _a$unmountOnInactive = _a.unmountOnInactive,
25
+ unmountOnInactive = _a$unmountOnInactive === void 0 ? true : _a$unmountOnInactive,
26
+ rest = tslib.__rest(_a, ["children", "className", "style", "active", "unmountOnInactive"]);
49
27
  var htmlProps = reactUtils.filterProps(rest, omitProps);
50
-
51
- var _React$useState = React__default["default"].useState(false),
52
- isLoaded = _React$useState[0],
53
- setIsLoaded = _React$useState[1];
54
-
55
- var childrenContentMemo = React__default["default"].useMemo(function () {
28
+ var _React$useState = React.useState(false),
29
+ isLoaded = _React$useState[0],
30
+ setIsLoaded = _React$useState[1];
31
+ var childrenContentMemo = React.useMemo(function () {
56
32
  if (!unmountOnInactive) {
57
33
  if (active && !isLoaded) {
58
34
  setIsLoaded(true);
59
35
  }
60
-
61
36
  if (isLoaded) {
62
37
  return children;
63
38
  }
64
39
  } else if (active) {
65
40
  return children;
66
41
  }
67
-
68
42
  return null;
69
43
  }, [active, children, isLoaded, unmountOnInactive]);
70
- return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
44
+ return /*#__PURE__*/React.createElement("div", Object.assign({
71
45
  style: style,
72
46
  className: classname.cx(className, !unmountOnInactive && !active && _prefix + "--hide")
73
47
  }, htmlProps), childrenContentMemo);
74
48
  };
75
-
76
49
  exports.TabPane = TabPane;
package/lib/cjs/Tabs.js CHANGED
@@ -9,80 +9,55 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
12
  var tslib = require('tslib');
19
-
20
13
  var React = require('react');
21
-
22
14
  var classname = require('@hi-ui/classname');
23
-
24
15
  var env = require('@hi-ui/env');
25
-
26
16
  var TabList = require('./TabList.js');
27
-
28
17
  var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
29
-
30
18
  var typeAssertion = require('@hi-ui/type-assertion');
31
-
32
- function _interopDefaultLegacy(e) {
33
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
34
- 'default': e
35
- };
36
- }
37
-
38
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
-
40
19
  var _role = 'tabs';
41
-
42
20
  var _prefix = classname.getPrefixCls(_role);
43
21
  /**
44
22
  * Tabs 标签页
45
23
  */
46
-
47
-
48
24
  var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
49
25
  var _a$prefixCls = _a.prefixCls,
50
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
51
- _a$role = _a.role,
52
- role = _a$role === void 0 ? _role : _a$role,
53
- className = _a.className,
54
- children = _a.children,
55
- defaultActiveId = _a.defaultActiveId,
56
- activeId = _a.activeId,
57
- onChange = _a.onChange,
58
- onTabClick = _a.onTabClick,
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
-
26
+ prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
27
+ _a$role = _a.role,
28
+ role = _a$role === void 0 ? _role : _a$role,
29
+ className = _a.className,
30
+ children = _a.children,
31
+ defaultActiveId = _a.defaultActiveId,
32
+ activeId = _a.activeId,
33
+ onChange = _a.onChange,
34
+ onTabClick = _a.onTabClick,
35
+ editable = _a.editable,
36
+ _a$placement = _a.placement,
37
+ placement = _a$placement === void 0 ? 'horizontal' : _a$placement,
38
+ onAdd = _a.onAdd,
39
+ onDelete = _a.onDelete,
40
+ _a$draggable = _a.draggable,
41
+ draggable = _a$draggable === void 0 ? false : _a$draggable,
42
+ onDragStart = _a.onDragStart,
43
+ onDragOver = _a.onDragOver,
44
+ onDragEnd = _a.onDragEnd,
45
+ onDrop = _a.onDrop,
46
+ style = _a.style,
47
+ _a$type = _a.type,
48
+ type = _a$type === void 0 ? 'line' : _a$type,
49
+ extra = _a.extra,
50
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "defaultActiveId", "activeId", "onChange", "onTabClick", "editable", "placement", "onAdd", "onDelete", "draggable", "onDragStart", "onDragOver", "onDragEnd", "onDrop", "style", "type", "extra"]);
76
51
  var tabList = React.useMemo(function () {
77
52
  var list = [];
78
- React__default["default"].Children.map(children, function (child) {
53
+ React.Children.map(children, function (child) {
79
54
  if (child) {
80
55
  var _child$props = child.props,
81
- tabTitle = _child$props.tabTitle,
82
- tabId = _child$props.tabId,
83
- tabDesc = _child$props.tabDesc,
84
- closeable = _child$props.closeable,
85
- disabled = _child$props.disabled;
56
+ tabTitle = _child$props.tabTitle,
57
+ tabId = _child$props.tabId,
58
+ tabDesc = _child$props.tabDesc,
59
+ closeable = _child$props.closeable,
60
+ disabled = _child$props.disabled;
86
61
  var item = {
87
62
  tabTitle: tabTitle,
88
63
  tabId: tabId,
@@ -95,24 +70,21 @@ var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
95
70
  });
96
71
  return list;
97
72
  }, [children]);
98
-
99
73
  var _useUncontrolledState = useUncontrolledState.useUncontrolledState(function () {
100
- if (typeAssertion.isUndef(defaultActiveId)) {
101
- return tabList[0] ? tabList[0].tabId : '';
102
- }
103
-
104
- return defaultActiveId;
105
- }, activeId, onChange),
106
- activeTabId = _useUncontrolledState[0],
107
- setActiveTabId = _useUncontrolledState[1];
108
-
74
+ if (typeAssertion.isUndef(defaultActiveId)) {
75
+ return tabList[0] ? tabList[0].tabId : '';
76
+ }
77
+ return defaultActiveId;
78
+ }, activeId, onChange),
79
+ activeTabId = _useUncontrolledState[0],
80
+ setActiveTabId = _useUncontrolledState[1];
109
81
  var cls = classname.cx(prefixCls, className, placement && prefixCls + "--placement-" + placement, type && prefixCls + "--type-" + type);
110
- return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
82
+ return /*#__PURE__*/React.createElement("div", Object.assign({
111
83
  ref: ref,
112
84
  role: role,
113
85
  className: cls,
114
86
  style: style
115
- }, rest), /*#__PURE__*/React__default["default"].createElement(TabList.TabList, {
87
+ }, rest), /*#__PURE__*/React.createElement(TabList.TabList, {
116
88
  prefixCls: prefixCls,
117
89
  data: tabList,
118
90
  activeId: activeTabId,
@@ -129,19 +101,17 @@ var Tabs = /*#__PURE__*/React.forwardRef(function (_a, ref) {
129
101
  type: type,
130
102
  onDragStart: onDragStart,
131
103
  extra: extra
132
- }), /*#__PURE__*/React__default["default"].createElement("div", {
104
+ }), /*#__PURE__*/React.createElement("div", {
133
105
  className: _prefix + "__content"
134
- }, React__default["default"].Children.map(children, function (child) {
135
- return child ? /*#__PURE__*/React__default["default"].cloneElement(child, {
106
+ }, React.Children.map(children, function (child) {
107
+ return child ? /*#__PURE__*/React.cloneElement(child, {
136
108
  key: child.props.tabId,
137
109
  className: classname.cx(_prefix + "-tab-pane", child.props.className),
138
110
  active: activeTabId === child.props.tabId
139
111
  }) : null;
140
112
  })));
141
113
  });
142
-
143
114
  if (env.__DEV__) {
144
115
  Tabs.displayName = 'Tabs';
145
116
  }
146
-
147
117
  exports.Tabs = Tabs;
@@ -9,26 +9,19 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- Object.defineProperty(exports, '__esModule', {
13
- value: true
14
- });
15
-
16
12
  var React = require('react');
17
-
18
13
  var useLatest = require('@hi-ui/use-latest');
19
-
20
14
  var useUnmountEffect = require('@hi-ui/use-unmount-effect');
15
+
21
16
  /**
22
17
  * 响应式监听元素的 size 变化
23
18
  */
24
-
25
-
26
19
  var useResizeObserver = function useResizeObserver(_ref) {
27
20
  var element = _ref.element,
28
- onResize = _ref.onResize,
29
- _ref$initialSize = _ref.initialSize,
30
- initialSize = _ref$initialSize === void 0 ? 0 : _ref$initialSize,
31
- getSize = _ref.getSize;
21
+ onResize = _ref.onResize,
22
+ _ref$initialSize = _ref.initialSize,
23
+ initialSize = _ref$initialSize === void 0 ? 0 : _ref$initialSize,
24
+ getSize = _ref.getSize;
32
25
  var getSizeLatestRef = useLatest.useLatestRef(getSize);
33
26
  var onResizeLatest = useLatest.useLatestCallback(onResize);
34
27
  var prevSizeRef = React.useRef(initialSize);
@@ -38,11 +31,9 @@ var useResizeObserver = function useResizeObserver(_ref) {
38
31
  var _resizeObserver = new ResizeObserver(function () {
39
32
  if (unmountRef.current) return;
40
33
  var getSize = getSizeLatestRef.current;
41
-
42
34
  if (element) {
43
35
  if (getSize) {
44
36
  var nextSize = getSize(element);
45
-
46
37
  if (prevSizeRef.current !== nextSize) {
47
38
  prevSizeRef.current = nextSize;
48
39
  onResizeLatest(element, nextSize);
@@ -52,12 +43,9 @@ var useResizeObserver = function useResizeObserver(_ref) {
52
43
  }
53
44
  }
54
45
  });
55
-
56
46
  _resizeObserver.observe(element);
57
47
  }
58
-
59
48
  return function () {};
60
49
  }, [element, getSizeLatestRef, onResizeLatest, unmountRef]);
61
50
  };
62
-
63
51
  exports.useResizeObserver = useResizeObserver;
package/lib/cjs/index.js CHANGED
@@ -12,15 +12,10 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
-
16
15
  require('./styles/index.scss.js');
17
-
18
16
  var Tabs$1 = require('./Tabs.js');
19
-
20
17
  var TabPane = require('./TabPane.js');
21
-
22
18
  var TabList = require('./TabList.js');
23
-
24
19
  var Tabs = Object.assign(Tabs$1.Tabs, {
25
20
  Pane: TabPane.TabPane
26
21
  });
@@ -13,9 +13,6 @@ Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
15
  var css_248z = ".hi-v4-tabs__add-btn.hi-v4-icon-button {font-size: var(--hi-v4-text-size-md, 0.875rem);}.hi-v4-tabs__up-btn.hi-v4-icon-button, .hi-v4-tabs__down-btn.hi-v4-icon-button, .hi-v4-tabs__left-btn.hi-v4-icon-button, .hi-v4-tabs__right-btn.hi-v4-icon-button {margin: var(--hi-v4-spacing-1, 2px);}.hi-v4-tabs__close-btn {cursor: pointer;color: var(--hi-v4-color-gray-500, #929aa6);margin-left: var(--hi-v4-spacing-2, 4px);-webkit-transition: color 0.3s;transition: color 0.3s;}.hi-v4-tabs__close-btn:hover {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs--type-card .hi-v4-tabs__content {background-color: var(--hi-v4-color-static-white, #fff);}.hi-v4-tabs__list {position: relative;font-size: var(--hi-v4-text-size-md, 0.875rem);color: var(--hi-v4-color-gray-500, #929aa6);display: -webkit-box;display: -ms-flexbox;display: flex;overflow: hidden;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}.hi-v4-tabs__list--card .hi-v4-tabs__item {background-color: var(--hi-v4-color-gray-200, #ebedf0);margin: 0;padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-8, 16px);border-radius: 0;-webkit-transition: all 0.3s;transition: all 0.3s;line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs__list--card .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-static-white, #fff);border-radius: var(--hi-v4-border-radius-md, 4px) 0 0 var(--hi-v4-border-radius-md, 4px);}.hi-v4-tabs__list--button .hi-v4-tabs__item {position: relative;margin: var(--hi-v4-spacing-2, 4px) var(--hi-v4-spacing-2, 4px) var(--hi-v4-spacing-2, 4px) 0;padding: var(--hi-v4-spacing-2, 4px) var(--hi-v4-spacing-6, 12px);border-radius: var(--hi-v4-border-radius-md, 4px);-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover {background-color: var(--hi-v4-color-gray-200, #ebedf0);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover::after {display: none;}.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover + .hi-v4-tabs__item::after {display: none;}.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled))::after {content: \"\";position: absolute;width: 1px;height: var(--hi-v4-height-4, 16px);background-color: var(--hi-v4-color-gray-300, #dfe2e8);left: 0;top: 50%;-webkit-transform: translateY(-50%);transform: translateY(-50%);}.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):first-child::after {display: none;}.hi-v4-tabs__list--button .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-tabs__list--button .hi-v4-tabs__item--active + .hi-v4-tabs__item::after {display: none;}.hi-v4-tabs__list--desc .hi-v4-tabs-item__title {color: var(--hi-v4-color-gray-700, #1f2733);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs__list--desc .hi-v4-tabs-item__desc {color: var(--hi-v4-color-gray-500, #929aa6);font-size: var(--hi-v4-text-size-sm, 0.75rem);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs__list--desc .hi-v4-tabs__item {background: var(--hi-v4-color-gray-50, #f5f7fa);display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin: 0 var(--hi-v4-spacing-6, 12px) 0 0;padding: var(--hi-v4-spacing-8, 16px);border-radius: var(--hi-v4-border-radius-md, 4px);-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v4-tabs__list--desc .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover {background-color: var(--hi-v4-color-gray-200, #ebedf0);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-tabs__list--desc .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-tabs__list--desc .hi-v4-tabs__item--active .hi-v4-tabs-item__title {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__list--desc .hi-v4-tabs__item--active .hi-v4-tabs-item__desc {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__list--inner {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1;position: relative;overflow: hidden;}.hi-v4-tabs__list--scroll {display: -webkit-box;display: -ms-flexbox;display: flex;position: relative;-ms-flex-negative: 0;flex-shrink: 0;-webkit-transition-property: -webkit-transform;transition-property: -webkit-transform;transition-property: transform;transition-property: transform, -webkit-transform;-webkit-transition-duration: var(--hi-v4-motion-duration-slow, 300ms);transition-duration: var(--hi-v4-motion-duration-slow, 300ms);-webkit-transition-timing-function: var(--hi-v4-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));transition-timing-function: var(--hi-v4-motion-bezier-easing, cubic-bezier(0.37, 0.02, 0.34, 1));will-change: transform;}.hi-v4-tabs__list--placement-vertical > .hi-v4-tabs__list--inner > .hi-v4-tabs__list--scroll {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.hi-v4-tabs__list--placement-vertical {display: -webkit-inline-box;display: -ms-inline-flexbox;display: inline-flex;}.hi-v4-tabs--placement-vertical {display: -webkit-box;display: -ms-flexbox;display: flex;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__content {padding-left: 16px;padding-top: 0;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list {-ms-flex-negative: 0;flex-shrink: 0;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs-item__title {color: var(--hi-v4-color-gray-700, #1f2733);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs-item__desc {color: var(--hi-v4-color-gray-500, #929aa6);font-size: var(--hi-v4-text-size-sm, 0.75rem);line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__item {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;-webkit-box-align: center;-ms-flex-align: center;align-items: center;padding: var(--hi-v4-spacing-8, 16px);border-radius: var(--hi-v4-border-radius-md, 4px);-webkit-transition: all 0.3s;transition: all 0.3s;background: var(--hi-v4-color-gray-50, #f5f7fa);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover {background-color: var(--hi-v4-color-gray-200, #ebedf0);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__item--active .hi-v4-tabs-item__title {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__item--active .hi-v4-tabs-item__desc {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--desc .hi-v4-tabs__list--scroll {row-gap: var(--hi-v4-spacing-6, 12px);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--card .hi-v4-tabs__item {margin: 0;padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-8, 16px);background-color: var(--hi-v4-color-gray-200, #ebedf0);border-radius: 0;-webkit-transition: all 0.3s;transition: all 0.3s;line-height: var(--hi-v4-text-lineheight-sm, 1.25rem);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--card .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-static-white, #fff);border-radius: var(--hi-v4-border-radius-md, 4px) 0 0 var(--hi-v4-border-radius-md, 4px);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--button .hi-v4-tabs__item {margin: 0 0 var(--hi-v4-spacing-2, 4px) 0;padding: var(--hi-v4-spacing-2, 4px) var(--hi-v4-spacing-6, 12px);border-radius: var(--hi-v4-border-radius-md, 4px);-webkit-transition: all 0.3s;transition: all 0.3s;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--button .hi-v4-tabs__item:not(:where(.hi-v4-tabs__item--active, .hi-v4-tabs__item--disabled)):hover {background-color: var(--hi-v4-color-gray-200, #ebedf0);color: var(--hi-v4-color-gray-500, #929aa6);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--button .hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list.hi-v4-tabs__list--button .hi-v4-tabs__list--scroll {row-gap: var(--hi-v4-spacing-2, 4px);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__list--inner {width: auto;display: block;position: relative;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__list--scroll {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;position: relative;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__item {line-height: var(--hi-v4-text-lineheight-lg, 1.5rem);padding: var(--hi-v4-spacing-4, 8px) var(--hi-v4-spacing-10, 20px);margin: 0;-webkit-transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__item::after {display: none;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__item--prev {border-top: 1px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-left: none;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__item--next {border-bottom: 1px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));border-right: none;}.hi-v4-tabs--placement-vertical > .hi-v4-tabs__list .hi-v4-tabs__ink {position: absolute;left: 0;bottom: auto;width: 2px;background-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));-webkit-transition: top 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);transition: top 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), height 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);}.hi-v4-tabs__ink {position: absolute;bottom: 0;right: auto;top: auto;height: 2px;background-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));-webkit-transition: left 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);transition: left 0.2s cubic-bezier(0.34, 0.69, 0.1, 1), width 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);}.hi-v4-tabs__item {line-height: var(--hi-v4-text-lineheight-lg, 1.5rem);padding: var(--hi-v4-spacing-4, 8px) var(--hi-v4-spacing-10, 20px);margin: 0;cursor: pointer;-ms-flex-negative: 0;flex-shrink: 0;-webkit-transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);transition: all 0.2s cubic-bezier(0.34, 0.69, 0.1, 1);}.hi-v4-tabs__item:focus {outline: 0;}.hi-v4-tabs__item:not(.hi-v4-tabs__item--disabled):hover {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__item--active {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__item--prev {border-left: 1px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__item--next {border-right: 1px dashed var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa));}.hi-v4-tabs__item--disabled, .hi-v4-tabs__item--disabled .hi-v4-tabs__close-btn {color: var(--hi-v4-color-gray-400, #b5bcc7);cursor: not-allowed;}.hi-v4-tabs__item:not(.hi-v4-tabs__item--active) {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}.hi-v4-tabs__content {width: 100%;overflow: hidden;padding-top: var(--hi-v4-spacing-8, 16px);-webkit-box-sizing: border-box;box-sizing: border-box;}.hi-v4-tabs-tab-pane--hide {display: none;}";
16
-
17
16
  var __styleInject__ = require('style-inject')["default"];
18
-
19
17
  __styleInject__(css_248z);
20
-
21
18
  exports["default"] = css_248z;
@@ -9,24 +9,16 @@
9
9
  */
10
10
  'use strict';
11
11
 
12
- Object.defineProperty(exports, '__esModule', {
13
- value: true
14
- });
15
-
16
12
  var typeAssertion = require('@hi-ui/type-assertion');
17
-
18
13
  var getNextTabId = function getNextTabId(data, tabId) {
19
14
  if (typeAssertion.isArrayNonEmpty(data)) {
20
15
  var itemIndex = data.findIndex(function (item) {
21
16
  return item.tabId === tabId;
22
17
  });
23
-
24
18
  if (itemIndex !== -1 && data[itemIndex + 1]) {
25
19
  return data[itemIndex + 1].tabId;
26
20
  }
27
21
  }
28
-
29
22
  return null;
30
23
  };
31
-
32
24
  exports.getNextTabId = getNextTabId;
package/lib/esm/TabInk.js CHANGED
@@ -10,16 +10,14 @@
10
10
  import React, { useRef, useCallback, useEffect } from 'react';
11
11
  import { cx } from '@hi-ui/classname';
12
12
  import { useResizeObserver } from './hooks/index.js';
13
-
14
13
  var TabInk = function TabInk(_ref) {
15
14
  var _cx;
16
-
17
15
  var disabled = _ref.disabled,
18
- prefixCls = _ref.prefixCls,
19
- activeItemElement = _ref.activeItemElement,
20
- activeTabId = _ref.activeTabId,
21
- getTabOffset = _ref.getTabOffset,
22
- showHorizontal = _ref.showHorizontal;
16
+ prefixCls = _ref.prefixCls,
17
+ activeItemElement = _ref.activeItemElement,
18
+ activeTabId = _ref.activeTabId,
19
+ getTabOffset = _ref.getTabOffset,
20
+ showHorizontal = _ref.showHorizontal;
23
21
  var inkRef = useRef(null);
24
22
  var setTabLnkPositionStyle = useCallback(function () {
25
23
  if (!inkRef.current) return;
@@ -27,9 +25,7 @@ var TabInk = function TabInk(_ref) {
27
25
  var computedStyle = getComputedStyle(activeItemElement);
28
26
  var itemRect = activeItemElement.getBoundingClientRect();
29
27
  var offset = getTabOffset(activeTabId);
30
-
31
28
  var _style;
32
-
33
29
  if (!showHorizontal) {
34
30
  var paddingTop = parseFloat(computedStyle.getPropertyValue('padding-top'));
35
31
  var paddingBottom = parseFloat(computedStyle.getPropertyValue('padding-bottom'));
@@ -50,7 +46,6 @@ var TabInk = function TabInk(_ref) {
50
46
  height: ''
51
47
  };
52
48
  }
53
-
54
49
  Object.assign(inkRef.current.style, _style);
55
50
  }, [activeItemElement, activeTabId, getTabOffset, showHorizontal]);
56
51
  useEffect(function () {
@@ -69,5 +64,4 @@ var TabInk = function TabInk(_ref) {
69
64
  ref: inkRef
70
65
  });
71
66
  };
72
-
73
67
  export { TabInk };
@@ -13,46 +13,41 @@ import { __DEV__ } from '@hi-ui/env';
13
13
  import { CloseOutlined } from '@hi-ui/icons';
14
14
  var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
15
15
  var _cx;
16
-
17
16
  var className = _ref.className,
18
- style = _ref.style,
19
- disabled = _ref.disabled,
20
- tabTitle = _ref.tabTitle,
21
- tabDesc = _ref.tabDesc,
22
- prefixCls = _ref.prefixCls,
23
- tabId = _ref.tabId,
24
- onTabClick = _ref.onTabClick,
25
- active = _ref.active,
26
- editable = _ref.editable,
27
- onDelete = _ref.onDelete,
28
- index = _ref.index,
29
- _onDragStart = _ref.onDragStart,
30
- _onDragOver = _ref.onDragOver,
31
- _onDrop = _ref.onDrop,
32
- _onDragEnd = _ref.onDragEnd,
33
- itemRef = _ref.itemRef,
34
- draggable = _ref.draggable,
35
- _ref$type = _ref.type,
36
- type = _ref$type === void 0 ? 'line' : _ref$type,
37
- _ref$closeable = _ref.closeable,
38
- closeable = _ref$closeable === void 0 ? true : _ref$closeable,
39
- _ref$direction = _ref.direction,
40
- layout = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
41
-
17
+ style = _ref.style,
18
+ disabled = _ref.disabled,
19
+ tabTitle = _ref.tabTitle,
20
+ tabDesc = _ref.tabDesc,
21
+ prefixCls = _ref.prefixCls,
22
+ tabId = _ref.tabId,
23
+ onTabClick = _ref.onTabClick,
24
+ active = _ref.active,
25
+ editable = _ref.editable,
26
+ onDelete = _ref.onDelete,
27
+ index = _ref.index,
28
+ _onDragStart = _ref.onDragStart,
29
+ _onDragOver = _ref.onDragOver,
30
+ _onDrop = _ref.onDrop,
31
+ _onDragEnd = _ref.onDragEnd,
32
+ itemRef = _ref.itemRef,
33
+ draggable = _ref.draggable,
34
+ _ref$type = _ref.type,
35
+ type = _ref$type === void 0 ? 'line' : _ref$type,
36
+ _ref$closeable = _ref.closeable,
37
+ closeable = _ref$closeable === void 0 ? true : _ref$closeable,
38
+ _ref$direction = _ref.direction,
39
+ layout = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
42
40
  var _useState = useState(null),
43
- dragId = _useState[0],
44
- setDragId = _useState[1];
45
-
41
+ dragId = _useState[0],
42
+ setDragId = _useState[1];
46
43
  var _useState2 = useState(null),
47
- direction = _useState2[0],
48
- setDirection = _useState2[1];
49
-
44
+ direction = _useState2[0],
45
+ setDirection = _useState2[1];
50
46
  var _onClick = useCallback(function (e) {
51
47
  if (onTabClick) {
52
48
  onTabClick(tabId, e);
53
49
  }
54
50
  }, [onTabClick, tabId]);
55
-
56
51
  return /*#__PURE__*/React.createElement("div", {
57
52
  style: style,
58
53
  className: cx(prefixCls + "__item", className, (_cx = {}, _cx[prefixCls + "__item--active"] = active, _cx[prefixCls + "__item--disabled"] = disabled, _cx[prefixCls + "__item--" + direction] = direction, _cx)),
@@ -67,7 +62,6 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
67
62
  tabTitle: tabTitle
68
63
  }));
69
64
  setDragId(tabId);
70
-
71
65
  if (_onDragStart) {
72
66
  _onDragStart(e, {
73
67
  dragNode: {
@@ -82,7 +76,6 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
82
76
  e.stopPropagation();
83
77
  e.dataTransfer.clearData();
84
78
  setDragId(null);
85
-
86
79
  if (_onDragEnd) {
87
80
  _onDragEnd(e, {
88
81
  dragNode: {
@@ -100,15 +93,13 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
100
93
  onDragOver: function onDragOver(e) {
101
94
  e.preventDefault();
102
95
  e.stopPropagation();
103
-
104
96
  if (dragId !== tabId && itemRef) {
105
97
  var targetBoundingRect = itemRef.getBoundingClientRect();
106
98
  var hoverTargetSortY = (targetBoundingRect.bottom - targetBoundingRect.top) / 2;
107
- var hoverTargetSortX = (targetBoundingRect.right - targetBoundingRect.left) / 2; // 鼠标垂直移动距离
108
-
99
+ var hoverTargetSortX = (targetBoundingRect.right - targetBoundingRect.left) / 2;
100
+ // 鼠标垂直移动距离
109
101
  var hoverClientY = e.clientY - targetBoundingRect.top;
110
102
  var hoverClientX = e.clientX - targetBoundingRect.left;
111
-
112
103
  if (layout === 'vertical') {
113
104
  if (hoverClientY < hoverTargetSortY) {
114
105
  setDirection('prev');
@@ -123,7 +114,6 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
123
114
  }
124
115
  }
125
116
  }
126
-
127
117
  if (_onDragOver) {
128
118
  _onDragOver(e, {
129
119
  targetNode: {
@@ -137,10 +127,8 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
137
127
  e.preventDefault();
138
128
  e.stopPropagation();
139
129
  setDirection(null);
140
-
141
130
  if (_onDrop && dragId !== tabId) {
142
131
  var passedData = JSON.parse(e.dataTransfer.getData('tab'));
143
-
144
132
  _onDrop(e, {
145
133
  dragNode: {
146
134
  tabId: tabId,
@@ -162,7 +150,6 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
162
150
  className: prefixCls + "__close-btn",
163
151
  onClick: function onClick(e) {
164
152
  e.stopPropagation();
165
-
166
153
  if (onDelete) {
167
154
  onDelete({
168
155
  tabId: tabId,
@@ -172,9 +159,7 @@ var TabItem = /*#__PURE__*/forwardRef(function (_ref, ref) {
172
159
  }
173
160
  }, /*#__PURE__*/React.createElement(CloseOutlined, null)));
174
161
  });
175
-
176
162
  if (__DEV__) {
177
163
  TabItem.displayName = 'TabItem';
178
164
  }
179
-
180
165
  export { TabItem };