UNPKG

@confi/conflux-react-ui-test-package

Version:

Modern and minimalist React UI library.

45 lines (40 loc) 1.27 kB
import React, { useEffect, useMemo } from 'react'; import withDefaults from '../utils/with-defaults'; import { useTabsContext } from './tabs-context'; var defaultProps = { disabled: false }; var TabsItem = function TabsItem(_ref) { var children = _ref.children, userCustomValue = _ref.value, label = _ref.label, disabled = _ref.disabled; var value = useMemo(function () { return userCustomValue || "".concat(label); }, [userCustomValue, label]); var _useTabsContext = useTabsContext(), register = _useTabsContext.register, unregister = _useTabsContext.unregister, currentValue = _useTabsContext.currentValue; var isActive = useMemo(function () { return currentValue === value; }, [currentValue, value]); useEffect(function () { register && register({ value: value, label: label, disabled: disabled }); return function () { unregister && unregister({ value: value, label: label, disabled: disabled }); }; }, []); /* eslint-disable react/jsx-no-useless-fragment */ return isActive ? /*#__PURE__*/React.createElement(React.Fragment, null, children) : null; }; export default withDefaults(TabsItem, defaultProps); /* eslint-enable */