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