linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
86 lines (85 loc) β’ 3.48 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons/CloseOutlined"));
var _EllipsisOutlined = _interopRequireDefault(require("@ant-design/icons/EllipsisOutlined"));
var _PlusOutlined = _interopRequireDefault(require("@ant-design/icons/PlusOutlined"));
var _classnames = _interopRequireDefault(require("classnames"));
var _rcTabs = _interopRequireDefault(require("rc-tabs"));
var React = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
var _SizeContext = _interopRequireDefault(require("../config-provider/SizeContext"));
var _warning = _interopRequireDefault(require("../_util/warning"));
var _useAnimateConfig = _interopRequireDefault(require("./hooks/useAnimateConfig"));
var _useLegacyItems = _interopRequireDefault(require("./hooks/useLegacyItems"));
var _TabPane = _interopRequireDefault(require("./TabPane"));
function Tabs({
type,
className,
size: propSize,
onEdit,
hideAdd,
centered,
addIcon,
children,
items,
animated,
...props
}) {
const {
prefixCls: customizePrefixCls,
moreIcon = /*#__PURE__*/React.createElement(_EllipsisOutlined.default, null)
} = props;
const {
getPrefixCls,
direction,
getPopupContainer
} = React.useContext(_configProvider.ConfigContext);
const prefixCls = getPrefixCls('tabs', customizePrefixCls);
let editable;
if (type === 'editable-card') {
editable = {
onEdit: (editType, {
key,
event
}) => {
onEdit?.(editType === 'add' ? event : key, editType);
},
removeIcon: /*#__PURE__*/React.createElement(_CloseOutlined.default, null),
addIcon: addIcon || /*#__PURE__*/React.createElement(_PlusOutlined.default, null),
showAdd: hideAdd !== true
};
}
const rootPrefixCls = getPrefixCls();
(0, _warning.default)(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.');
const mergedItems = (0, _useLegacyItems.default)(items, children);
const mergedAnimated = (0, _useAnimateConfig.default)(prefixCls, animated);
return /*#__PURE__*/React.createElement(_SizeContext.default.Consumer, null, contextSize => {
const size = propSize !== undefined ? propSize : contextSize;
return /*#__PURE__*/React.createElement(_rcTabs.default, (0, _extends2.default)({
direction: direction,
getPopupContainer: getPopupContainer,
moreTransitionName: `${rootPrefixCls}-slide-up`
}, props, {
items: mergedItems,
className: (0, _classnames.default)({
[`${prefixCls}-${size}`]: size,
[`${prefixCls}-card`]: ['card', 'editable-card'].includes(type),
[`${prefixCls}-editable-card`]: type === 'editable-card',
[`${prefixCls}-centered`]: centered
}, 'lm_tabs', props.noBorder && 'lm_tabs_noborder', className),
editable: editable,
moreIcon: moreIcon,
prefixCls: prefixCls,
animated: mergedAnimated
}));
});
}
Tabs.TabPane = _TabPane.default;
var _default = Tabs;
exports.default = _default;