@coreui/react-pro
Version:
UI Components Library for React.js
34 lines (30 loc) • 1.4 kB
JavaScript
;
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');
const CLink = React.forwardRef((_a, ref) => {
var { children, active, as: Component = 'a', className, disabled } = _a, rest = tslib_es6.__rest(_a, ["children", "active", "as", "className", "disabled"]);
return (React.createElement(Component
// TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`
, Object.assign({
// TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`
className: index.default(className, { active, disabled }) }, (active && { 'aria-current': 'page' }), (Component === 'a' && disabled && { 'aria-disabled': true, tabIndex: -1 }), ((Component === 'a' || Component === 'button') && {
onClick: (event) => {
var _a;
if (!disabled) {
(_a = rest.onClick) === null || _a === void 0 ? void 0 : _a.call(rest, event);
}
},
}), { disabled: disabled }, rest, { ref: ref }), children));
});
CLink.propTypes = {
active: PropTypes.bool,
as: PropTypes.elementType,
children: PropTypes.node,
className: PropTypes.string,
disabled: PropTypes.bool,
};
CLink.displayName = 'CLink';
exports.CLink = CLink;
//# sourceMappingURL=CLink.js.map