UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

72 lines β€’ 3.63 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["type", "className", "size", "onEdit", "hideAdd", "centered", "addIcon", "children", "items", "animated"]; import CloseOutlined from '@ant-design/icons/CloseOutlined'; import EllipsisOutlined from '@ant-design/icons/EllipsisOutlined'; import PlusOutlined from '@ant-design/icons/PlusOutlined'; import classNames from 'classnames'; import RcTabs from 'rc-tabs'; import * as React from 'react'; import { ConfigContext } from "../config-provider"; import SizeContext from "../config-provider/SizeContext"; import warning from "../_util/warning"; import useAnimateConfig from "./hooks/useAnimateConfig"; import useLegacyItems from "./hooks/useLegacyItems"; import TabPane from "./TabPane"; function Tabs(_ref) { var type = _ref.type, className = _ref.className, propSize = _ref.size, _onEdit = _ref.onEdit, hideAdd = _ref.hideAdd, centered = _ref.centered, addIcon = _ref.addIcon, children = _ref.children, items = _ref.items, animated = _ref.animated, props = _objectWithoutProperties(_ref, _excluded); var customizePrefixCls = props.prefixCls, _props$moreIcon = props.moreIcon, moreIcon = _props$moreIcon === void 0 ? /*#__PURE__*/React.createElement(EllipsisOutlined, null) : _props$moreIcon; var _React$useContext = React.useContext(ConfigContext), getPrefixCls = _React$useContext.getPrefixCls, direction = _React$useContext.direction, getPopupContainer = _React$useContext.getPopupContainer; var prefixCls = getPrefixCls('tabs', customizePrefixCls); var editable; if (type === 'editable-card') { editable = { onEdit: function onEdit(editType, _ref2) { var key = _ref2.key, event = _ref2.event; _onEdit === null || _onEdit === void 0 ? void 0 : _onEdit(editType === 'add' ? event : key, editType); }, removeIcon: /*#__PURE__*/React.createElement(CloseOutlined, null), addIcon: addIcon || /*#__PURE__*/React.createElement(PlusOutlined, null), showAdd: hideAdd !== true }; } var rootPrefixCls = getPrefixCls(); warning(!('onPrevClick' in props) && !('onNextClick' in props), 'Tabs', '`onPrevClick` and `onNextClick` has been removed. Please use `onTabScroll` instead.'); var mergedItems = useLegacyItems(items, children); var mergedAnimated = useAnimateConfig(prefixCls, animated); return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (contextSize) { var _classNames; var size = propSize !== undefined ? propSize : contextSize; return /*#__PURE__*/React.createElement(RcTabs, _extends({ direction: direction, getPopupContainer: getPopupContainer, moreTransitionName: "".concat(rootPrefixCls, "-slide-up") }, props, { items: mergedItems, className: classNames((_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-").concat(size), size), _defineProperty(_classNames, "".concat(prefixCls, "-card"), ['card', 'editable-card'].includes(type)), _defineProperty(_classNames, "".concat(prefixCls, "-editable-card"), type === 'editable-card'), _defineProperty(_classNames, "".concat(prefixCls, "-centered"), centered), _classNames), 'lm_tabs', props.noBorder && 'lm_tabs_noborder', className), editable: editable, moreIcon: moreIcon, prefixCls: prefixCls, animated: mergedAnimated })); }); } Tabs.TabPane = TabPane; export default Tabs;