UNPKG

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