@coreui/react
Version:
UI Components Library for React.js
31 lines (28 loc) • 1.49 kB
JavaScript
import { __rest, __assign } from '../../node_modules/tslib/tslib.es6.js';
import React, { forwardRef, useRef } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../_virtual/index.js';
import { useForkedRef } from '../../hooks/useForkedRef.js';
import '@popperjs/core';
import Transition from '../../node_modules/react-transition-group/esm/Transition.js';
var CTabPane = forwardRef(function (_a, ref) {
var children = _a.children, className = _a.className, onHide = _a.onHide, onShow = _a.onShow, _b = _a.transition, transition = _b === void 0 ? true : _b, visible = _a.visible, rest = __rest(_a, ["children", "className", "onHide", "onShow", "transition", "visible"]);
var tabPaneRef = useRef(null);
var forkedRef = useForkedRef(ref, tabPaneRef);
return (React.createElement(Transition, { in: visible, nodeRef: tabPaneRef, onEnter: onShow, onExit: onHide, timeout: 150 }, function (state) { return (React.createElement("div", __assign({ className: classNames('tab-pane', {
active: visible,
fade: transition,
show: state === 'entered',
}, className) }, rest, { ref: forkedRef }), children)); }));
});
CTabPane.propTypes = {
children: PropTypes.node,
className: PropTypes.string,
onHide: PropTypes.func,
onShow: PropTypes.func,
transition: PropTypes.bool,
visible: PropTypes.bool,
};
CTabPane.displayName = 'CTabPane';
export { CTabPane };
//# sourceMappingURL=CTabPane.js.map