react-dyn-tabs
Version:
React dynamic tabs with full API
33 lines (32 loc) • 1.66 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _context = require("../context.js");
var _propTypes = _interopRequireDefault(require("prop-types"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
var TabComponent = function TabComponent(deps, props) {
_react["default"].useContext(_context.ForceUpdateContext);
var api = _react["default"].useContext(_context.ApiContext);
var _deps = deps(api),
tabPropsManager = _deps.tabPropsManager,
tabInnerPropsManager = _deps.tabInnerPropsManager,
closeIconPropsManager = _deps.closeIconPropsManager;
var id = props.id,
selectedTabID = props.selectedTabID,
TabInnerComponent = api.getOption('tabComponent'),
tabObj = api.getTab(id),
clkHandler = function clkHandler(e) {
api.eventHandlerFactory({
e: e,
id: id
});
};
return /*#__PURE__*/_react["default"].createElement("li", _extends({}, tabPropsManager(props), {
onClick: function onClick(e) {
clkHandler(e);
}
}), /*#__PURE__*/_react["default"].createElement(TabInnerComponent, tabInnerPropsManager(props), tabObj.title), tabObj.closable ? /*#__PURE__*/_react["default"].createElement("span", closeIconPropsManager(), "\xD7") : null);
};
var _default = exports["default"] = TabComponent;
;