1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports.default = void 0;
|
7 |
|
8 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9 |
|
10 | var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
11 |
|
12 | var _classnames = _interopRequireDefault(require("classnames"));
|
13 |
|
14 | var _react = _interopRequireDefault(require("react"));
|
15 |
|
16 | var _uncontrollable = require("uncontrollable");
|
17 |
|
18 | var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback"));
|
19 |
|
20 | var _createWithBsPrefix = _interopRequireDefault(require("./createWithBsPrefix"));
|
21 |
|
22 | var _divWithClassName = _interopRequireDefault(require("./divWithClassName"));
|
23 |
|
24 | var _ThemeProvider = require("./ThemeProvider");
|
25 |
|
26 | var _Fade = _interopRequireDefault(require("./Fade"));
|
27 |
|
28 | var _CloseButton = _interopRequireDefault(require("./CloseButton"));
|
29 |
|
30 | var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor"));
|
31 |
|
32 | var defaultProps = {
|
33 | show: true,
|
34 | transition: _Fade.default,
|
35 | closeLabel: 'Close alert'
|
36 | };
|
37 | var controllables = {
|
38 | show: 'onClose'
|
39 | };
|
40 |
|
41 | var Alert = _react.default.forwardRef(function (uncontrolledProps, ref) {
|
42 | var _useUncontrolled = (0, _uncontrollable.useUncontrolled)(uncontrolledProps, controllables),
|
43 | bsPrefix = _useUncontrolled.bsPrefix,
|
44 | show = _useUncontrolled.show,
|
45 | closeLabel = _useUncontrolled.closeLabel,
|
46 | className = _useUncontrolled.className,
|
47 | children = _useUncontrolled.children,
|
48 | variant = _useUncontrolled.variant,
|
49 | onClose = _useUncontrolled.onClose,
|
50 | dismissible = _useUncontrolled.dismissible,
|
51 | Transition = _useUncontrolled.transition,
|
52 | props = (0, _objectWithoutPropertiesLoose2.default)(_useUncontrolled, ["bsPrefix", "show", "closeLabel", "className", "children", "variant", "onClose", "dismissible", "transition"]);
|
53 |
|
54 | var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'alert');
|
55 | var handleClose = (0, _useEventCallback.default)(function (e) {
|
56 | onClose(false, e);
|
57 | });
|
58 |
|
59 | var alert = _react.default.createElement("div", (0, _extends2.default)({
|
60 | role: "alert"
|
61 | }, Transition ? props : undefined, {
|
62 | ref: ref,
|
63 | className: (0, _classnames.default)(className, prefix, variant && prefix + "-" + variant, dismissible && prefix + "-dismissible")
|
64 | }), dismissible && _react.default.createElement(_CloseButton.default, {
|
65 | onClick: handleClose,
|
66 | label: closeLabel
|
67 | }), children);
|
68 |
|
69 | if (!Transition) return show ? alert : null;
|
70 | return _react.default.createElement(Transition, (0, _extends2.default)({
|
71 | unmountOnExit: true
|
72 | }, props, {
|
73 | in: show
|
74 | }), alert);
|
75 | });
|
76 |
|
77 | var DivStyledAsH4 = (0, _divWithClassName.default)('h4');
|
78 | DivStyledAsH4.displayName = 'DivStyledAsH4';
|
79 | Alert.displayName = 'Alert';
|
80 | Alert.defaultProps = defaultProps;
|
81 | Alert.Link = (0, _createWithBsPrefix.default)('alert-link', {
|
82 | Component: _SafeAnchor.default
|
83 | });
|
84 | Alert.Heading = (0, _createWithBsPrefix.default)('alert-heading', {
|
85 | Component: DivStyledAsH4
|
86 | });
|
87 | var _default = Alert;
|
88 | exports.default = _default;
|
89 | module.exports = exports["default"]; |
\ | No newline at end of file |