@coreui/react-pro
Version:
UI Components Library for React.js
30 lines (27 loc) • 1.42 kB
JavaScript
import { __rest, __assign } from '../../node_modules/tslib/tslib.es6.js';
import React, { forwardRef } from 'react';
import PropTypes from 'prop-types';
import classNames from '../../_virtual/index.js';
var CLink = forwardRef(function (_a, ref) {
var children = _a.children, active = _a.active, _b = _a.as, Component = _b === void 0 ? 'a' : _b, className = _a.className, disabled = _a.disabled, rest = __rest(_a, ["children", "active", "as", "className", "disabled"]);
return (React.createElement(Component
// TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`
, __assign({
// TODO: remove duplicated classes ex. `active active` in `<CListGroupItem>`
className: classNames(className, { active: active, disabled: disabled }) }, (active && { 'aria-current': 'page' }), (Component === 'a' && disabled && { 'aria-disabled': true, tabIndex: -1 }), ((Component === 'a' || Component === 'button') && {
onClick: function (event) {
event.preventDefault;
!disabled && rest.onClick && rest.onClick(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';
export { CLink };
//# sourceMappingURL=CLink.js.map