UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

27 lines (23 loc) 1.27 kB
'use strict'; var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js'); var React = require('react'); var PropTypes = require('prop-types'); var index = require('../../_virtual/index.js'); var CTabsContext = require('./CTabsContext.js'); const CTab = React.forwardRef((_a, ref) => { var { children, className, itemKey } = _a, rest = tslib_es6.__rest(_a, ["children", "className", "itemKey"]); const { _activeItemKey, setActiveItemKey, id } = React.useContext(CTabsContext.CTabsContext); const isActive = () => itemKey === _activeItemKey; return (React.createElement("button", Object.assign({ className: index.default('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'; exports.CTab = CTab; //# sourceMappingURL=CTab.js.map