1 | import _extends from "@babel/runtime/helpers/esm/extends";
|
2 | import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
3 | var _excluded = ["bsPrefix", "closeLabel", "closeButton", "onHide", "className", "children"];
|
4 | import classNames from 'classnames';
|
5 | import React, { useContext } from 'react';
|
6 | import useEventCallback from '@restart/hooks/useEventCallback';
|
7 | import { useBootstrapPrefix } from './ThemeProvider';
|
8 | import CloseButton from './CloseButton';
|
9 | import ModalContext from './ModalContext';
|
10 | var defaultProps = {
|
11 | closeLabel: 'Close',
|
12 | closeButton: false
|
13 | };
|
14 | var ModalHeader = 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 React.createElement("div", _extends({
|
30 | ref: ref
|
31 | }, props, {
|
32 | className: classNames(className, bsPrefix)
|
33 | }), children, closeButton && React.createElement(CloseButton, {
|
34 | label: closeLabel,
|
35 | onClick: handleClick
|
36 | }));
|
37 | });
|
38 | ModalHeader.displayName = 'ModalHeader';
|
39 | ModalHeader.defaultProps = defaultProps;
|
40 | export default ModalHeader; |
\ | No newline at end of file |