UNPKG

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