@coreui/react-pro
Version:
UI Components Library for React.js
26 lines (23 loc) • 1.17 kB
JavaScript
import React, { createContext, forwardRef, useId, useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../node_modules/classnames/index.js';
var TabsContext = createContext({});
var CTabs = forwardRef(function (_a, ref) {
var children = _a.children, activeItemKey = _a.activeItemKey, className = _a.className, onChange = _a.onChange;
var id = useId();
var _b = useState(activeItemKey), _activeItemKey = _b[0], setActiveItemKey = _b[1];
useEffect(function () {
_activeItemKey && onChange && onChange(_activeItemKey);
}, [_activeItemKey]);
return (React.createElement(TabsContext.Provider, { value: { _activeItemKey: _activeItemKey, setActiveItemKey: setActiveItemKey, id: id } },
React.createElement("div", { className: classNames('tabs', className), ref: ref }, children)));
});
CTabs.propTypes = {
activeItemKey: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
children: PropTypes.node,
className: PropTypes.string,
onChange: PropTypes.func,
};
CTabs.displayName = 'CTabs';
export { CTabs, TabsContext };
//# sourceMappingURL=CTabs.js.map