31 lines
976 B
JavaScript
Executable File
31 lines
976 B
JavaScript
Executable File
import PropTypes from 'prop-types';
|
|
import * as React from 'react';
|
|
import classNames from 'classnames';
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
const propTypes = {
|
|
/** An accessible label indicating the relevant information about the Close Button. */
|
|
'aria-label': PropTypes.string,
|
|
/** A callback fired after the Close Button is clicked. */
|
|
onClick: PropTypes.func,
|
|
/**
|
|
* Render different color variant for the button.
|
|
*
|
|
* Omitting this will render the default dark color.
|
|
*/
|
|
variant: PropTypes.oneOf(['white'])
|
|
};
|
|
const CloseButton = /*#__PURE__*/React.forwardRef(({
|
|
className,
|
|
variant,
|
|
'aria-label': ariaLabel = 'Close',
|
|
...props
|
|
}, ref) => /*#__PURE__*/_jsx("button", {
|
|
ref: ref,
|
|
type: "button",
|
|
className: classNames('btn-close', variant && `btn-close-${variant}`, className),
|
|
"aria-label": ariaLabel,
|
|
...props
|
|
}));
|
|
CloseButton.displayName = 'CloseButton';
|
|
CloseButton.propTypes = propTypes;
|
|
export default CloseButton; |