Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Alert.js 3.2 KiB

il y a 3 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  7. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
  8. var _react = _interopRequireDefault(require("react"));
  9. var _propTypes = _interopRequireDefault(require("prop-types"));
  10. var _classnames = _interopRequireDefault(require("classnames"));
  11. var _utils = require("./utils");
  12. var _Fade = _interopRequireDefault(require("./Fade"));
  13. var propTypes = {
  14. children: _propTypes.default.node,
  15. className: _propTypes.default.string,
  16. closeClassName: _propTypes.default.string,
  17. closeAriaLabel: _propTypes.default.string,
  18. cssModule: _propTypes.default.object,
  19. color: _propTypes.default.string,
  20. fade: _propTypes.default.bool,
  21. isOpen: _propTypes.default.bool,
  22. toggle: _propTypes.default.func,
  23. tag: _utils.tagPropType,
  24. transition: _propTypes.default.shape(_Fade.default.propTypes),
  25. innerRef: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string, _propTypes.default.func])
  26. };
  27. var defaultProps = {
  28. color: 'success',
  29. isOpen: true,
  30. tag: 'div',
  31. closeAriaLabel: 'Close',
  32. fade: true,
  33. transition: (0, _objectSpread2.default)({}, _Fade.default.defaultProps, {
  34. unmountOnExit: true
  35. })
  36. };
  37. function Alert(props) {
  38. var className = props.className,
  39. closeClassName = props.closeClassName,
  40. closeAriaLabel = props.closeAriaLabel,
  41. cssModule = props.cssModule,
  42. Tag = props.tag,
  43. color = props.color,
  44. isOpen = props.isOpen,
  45. toggle = props.toggle,
  46. children = props.children,
  47. transition = props.transition,
  48. fade = props.fade,
  49. innerRef = props.innerRef,
  50. attributes = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "closeClassName", "closeAriaLabel", "cssModule", "tag", "color", "isOpen", "toggle", "children", "transition", "fade", "innerRef"]);
  51. var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className, 'alert', "alert-" + color, {
  52. 'alert-dismissible': toggle
  53. }), cssModule);
  54. var closeClasses = (0, _utils.mapToCssModules)((0, _classnames.default)('close', closeClassName), cssModule);
  55. var alertTransition = (0, _objectSpread2.default)({}, _Fade.default.defaultProps, transition, {
  56. baseClass: fade ? transition.baseClass : '',
  57. timeout: fade ? transition.timeout : 0
  58. });
  59. return _react.default.createElement(_Fade.default, (0, _extends2.default)({}, attributes, alertTransition, {
  60. tag: Tag,
  61. className: classes,
  62. in: isOpen,
  63. role: "alert",
  64. innerRef: innerRef
  65. }), toggle ? _react.default.createElement("button", {
  66. type: "button",
  67. className: closeClasses,
  68. "aria-label": closeAriaLabel,
  69. onClick: toggle
  70. }, _react.default.createElement("span", {
  71. "aria-hidden": "true"
  72. }, "\xD7")) : null, children);
  73. }
  74. Alert.propTypes = propTypes;
  75. Alert.defaultProps = defaultProps;
  76. var _default = Alert;
  77. exports.default = _default;