UNPKG

1.54 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3var _excluded = ["bsPrefix", "closeLabel", "closeButton", "onHide", "className", "children"];
4import classNames from 'classnames';
5import React, { useContext } from 'react';
6import useEventCallback from '@restart/hooks/useEventCallback';
7import { useBootstrapPrefix } from './ThemeProvider';
8import CloseButton from './CloseButton';
9import ModalContext from './ModalContext';
10var defaultProps = {
11 closeLabel: 'Close',
12 closeButton: false
13};
14var ModalHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
15 var bsPrefix = _ref.bsPrefix,
16 closeLabel = _ref.closeLabel,
17 closeButton = _ref.closeButton,
18 onHide = _ref.onHide,
19 className = _ref.className,
20 children = _ref.children,
21 props = _objectWithoutPropertiesLoose(_ref, _excluded);
22
23 bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');
24 var context = useContext(ModalContext);
25 var handleClick = useEventCallback(function () {
26 if (context) context.onHide();
27 if (onHide) onHide();
28 });
29 return /*#__PURE__*/React.createElement("div", _extends({
30 ref: ref
31 }, props, {
32 className: classNames(className, bsPrefix)
33 }), children, closeButton && /*#__PURE__*/React.createElement(CloseButton, {
34 label: closeLabel,
35 onClick: handleClick
36 }));
37});
38ModalHeader.displayName = 'ModalHeader';
39ModalHeader.defaultProps = defaultProps;
40export default ModalHeader;
\No newline at end of file