UNPKG

react-dyn-tabs

Version:
80 lines (79 loc) 5 kB
"use strict"; exports.__esModule = true; exports.ShowMoreButton = void 0; exports["default"] = setComponents; exports.setTablistView = exports.setTablistOverflow = exports.setSetting = exports.setMoreButtonPlugin = exports.setDefaultOptions = void 0; var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } 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); } function setComponents(deps, ctx, components) { var moreButtonPlugin_buttonComponent = deps.moreButtonPlugin_buttonComponent, ShowMoreTabs = deps.ShowMoreTabs, moreButtonPlugin_iconComponent = deps.moreButtonPlugin_iconComponent; setComponents.setSetting(ctx); setComponents.setDefaultOptions(ctx, components, moreButtonPlugin_buttonComponent, moreButtonPlugin_iconComponent); setComponents.setTablistView(components); setComponents.setMoreButtonPlugin(ctx, components, ShowMoreTabs, setComponents.ShowMoreButton, _react.memo); setComponents.setTablistOverflow(components); } var ShowMoreButton = exports.ShowMoreButton = setComponents.ShowMoreButton = function ShowMoreButton(deps, props) { var ShowMoreTabs = deps.ShowMoreTabs, _deps$components = deps.components, useForceUpdate = _deps$components.useForceUpdate, useRootState = _deps$components.useRootState; useForceUpdate(); var _useRootState = useRootState(), openTabIDs = _useRootState.openTabIDs, selectedTabID = _useRootState.selectedTabID; return /*#__PURE__*/_react["default"].createElement(ShowMoreTabs, _extends({}, props, { ctx: deps.ctx, openTabIDs: openTabIDs, selectedTabID: selectedTabID }), props.children /* eslint-disable-line react/prop-types */); }; var setMoreButtonPlugin = exports.setMoreButtonPlugin = setComponents.setMoreButtonPlugin = function (ctx, components, ShowMoreTabs, ShowMoreButton, memo) { components.MoreButtonPlugin = memo(ShowMoreButton.bind(undefined, { ctx: ctx, components: components, ShowMoreTabs: ShowMoreTabs }), function () { return true; }); }; var setTablistOverflow = exports.setTablistOverflow = setComponents.setTablistOverflow = function (components) { if (!components.OriginalTablistOverflow) { components.OriginalTablistOverflow = components.TablistOverflow; components.TablistOverflow = function TablistOverflow(props) { return /*#__PURE__*/_react["default"].createElement(components.OriginalTablistOverflow, props, props.children /* eslint-disable-line react/prop-types */, /*#__PURE__*/_react["default"].createElement(components.MoreButtonPlugin, null)); }; } }; var setTablistView = exports.setTablistView = setComponents.setTablistView = function (components) { components.TablistView = components.TablistViewFactory.bind(undefined, function (ins) { return { tablistViewPropsManager: function tablistViewPropsManager() { var attrs = components.tablistViewPropsManager(ins); attrs.className += ' rc-dyn-tabs-responsive'; return attrs; } }; }); }; var setDefaultOptions = exports.setDefaultOptions = setComponents.setDefaultOptions = function (ctx, components, moreButtonPlugin_buttonComponent, moreButtonPlugin_iconComponent) { ctx.optionsManager.options = Object.assign({ moreButtonPlugin_buttonComponent: moreButtonPlugin_buttonComponent({ ctx: ctx, components: components }), moreButtonPlugin_iconComponent: moreButtonPlugin_iconComponent, moreButtonPlugin_buttonTooltip: 'show more' }, ctx.optionsManager.options); }; var setSetting = exports.setSetting = setComponents.setSetting = function (ctx) { ctx.optionsManager.setting.showMoreContainerClass = 'rc-dyn-tabs-showmorebutton-container'; ctx.optionsManager.setting.showMoreButtonClass = 'rc-dyn-tabs-showmorebutton'; ctx.optionsManager.setting.showMorePopperClass = 'rc-dyn-tabs-popper'; };