@coreui/react-pro
Version:
UI Components Library for React.js
25 lines (22 loc) • 1.24 kB
JavaScript
import { __rest } from '../../node_modules/tslib/tslib.es6.js';
import React, { forwardRef, useContext } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../_virtual/index.js';
import { CTabsContext } from './CTabsContext.js';
const CTab = forwardRef((_a, ref) => {
var { children, className, itemKey } = _a, rest = __rest(_a, ["children", "className", "itemKey"]);
const { _activeItemKey, setActiveItemKey, id } = useContext(CTabsContext);
const isActive = () => itemKey === _activeItemKey;
return (React.createElement("button", Object.assign({ className: classNames('nav-link', {
active: isActive(),
}, className), id: `${id}${itemKey}-tab`, onClick: () => setActiveItemKey(itemKey), onFocus: () => setActiveItemKey(itemKey), role: "tab", tabIndex: isActive() ? 0 : -1, type: "button", "aria-controls": `${id}${itemKey}-tab-pane`, "aria-selected": isActive(), ref: ref }, rest), children));
});
CTab.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
disabled: PropTypes.bool,
itemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
};
CTab.displayName = 'CTab';
export { CTab };
//# sourceMappingURL=CTab.js.map