index.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. "use strict";
  2. "use client";
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  5. Object.defineProperty(exports, "__esModule", {
  6. value: true
  7. });
  8. exports.default = exports.IconMap = exports.ExceptionMap = void 0;
  9. var React = _interopRequireWildcard(require("react"));
  10. var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons/CheckCircleFilled"));
  11. var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons/CloseCircleFilled"));
  12. var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons/ExclamationCircleFilled"));
  13. var _WarningFilled = _interopRequireDefault(require("@ant-design/icons/WarningFilled"));
  14. var _classnames = _interopRequireDefault(require("classnames"));
  15. var _warning = require("../_util/warning");
  16. var _configProvider = require("../config-provider");
  17. var _noFound = _interopRequireDefault(require("./noFound"));
  18. var _serverError = _interopRequireDefault(require("./serverError"));
  19. var _style = _interopRequireDefault(require("./style"));
  20. var _unauthorized = _interopRequireDefault(require("./unauthorized"));
  21. const IconMap = exports.IconMap = {
  22. success: _CheckCircleFilled.default,
  23. error: _CloseCircleFilled.default,
  24. info: _ExclamationCircleFilled.default,
  25. warning: _WarningFilled.default
  26. };
  27. const ExceptionMap = exports.ExceptionMap = {
  28. '404': _noFound.default,
  29. '500': _serverError.default,
  30. '403': _unauthorized.default
  31. };
  32. // ExceptionImageMap keys
  33. const ExceptionStatus = Object.keys(ExceptionMap);
  34. const Icon = ({
  35. prefixCls,
  36. icon,
  37. status
  38. }) => {
  39. const className = (0, _classnames.default)(`${prefixCls}-icon`);
  40. if (process.env.NODE_ENV !== 'production') {
  41. const warning = (0, _warning.devUseWarning)('Result');
  42. process.env.NODE_ENV !== "production" ? warning(!(typeof icon === 'string' && icon.length > 2), 'breaking', `\`icon\` is using ReactNode instead of string naming in v4. Please check \`${icon}\` at https://ant.design/components/icon`) : void 0;
  43. }
  44. if (ExceptionStatus.includes(`${status}`)) {
  45. const SVGComponent = ExceptionMap[status];
  46. return /*#__PURE__*/React.createElement("div", {
  47. className: `${className} ${prefixCls}-image`
  48. }, /*#__PURE__*/React.createElement(SVGComponent, null));
  49. }
  50. const iconNode = /*#__PURE__*/React.createElement(IconMap[status]);
  51. if (icon === null || icon === false) {
  52. return null;
  53. }
  54. return /*#__PURE__*/React.createElement("div", {
  55. className: className
  56. }, icon || iconNode);
  57. };
  58. const Extra = ({
  59. prefixCls,
  60. extra
  61. }) => {
  62. if (!extra) {
  63. return null;
  64. }
  65. return /*#__PURE__*/React.createElement("div", {
  66. className: `${prefixCls}-extra`
  67. }, extra);
  68. };
  69. const Result = ({
  70. prefixCls: customizePrefixCls,
  71. className: customizeClassName,
  72. rootClassName,
  73. subTitle,
  74. title,
  75. style,
  76. children,
  77. status = 'info',
  78. icon,
  79. extra
  80. }) => {
  81. const {
  82. getPrefixCls,
  83. direction,
  84. result
  85. } = React.useContext(_configProvider.ConfigContext);
  86. const prefixCls = getPrefixCls('result', customizePrefixCls);
  87. // Style
  88. const [wrapCSSVar, hashId, cssVarCls] = (0, _style.default)(prefixCls);
  89. const className = (0, _classnames.default)(prefixCls, `${prefixCls}-${status}`, customizeClassName, result === null || result === void 0 ? void 0 : result.className, rootClassName, {
  90. [`${prefixCls}-rtl`]: direction === 'rtl'
  91. }, hashId, cssVarCls);
  92. const mergedStyle = Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.style), style);
  93. return wrapCSSVar(/*#__PURE__*/React.createElement("div", {
  94. className: className,
  95. style: mergedStyle
  96. }, /*#__PURE__*/React.createElement(Icon, {
  97. prefixCls: prefixCls,
  98. status: status,
  99. icon: icon
  100. }), /*#__PURE__*/React.createElement("div", {
  101. className: `${prefixCls}-title`
  102. }, title), subTitle && /*#__PURE__*/React.createElement("div", {
  103. className: `${prefixCls}-subtitle`
  104. }, subTitle), /*#__PURE__*/React.createElement(Extra, {
  105. prefixCls: prefixCls,
  106. extra: extra
  107. }), children && /*#__PURE__*/React.createElement("div", {
  108. className: `${prefixCls}-content`
  109. }, children)));
  110. };
  111. Result.PRESENTED_IMAGE_403 = ExceptionMap['403'];
  112. Result.PRESENTED_IMAGE_404 = ExceptionMap['404'];
  113. Result.PRESENTED_IMAGE_500 = ExceptionMap['500'];
  114. if (process.env.NODE_ENV !== 'production') {
  115. Result.displayName = 'Result';
  116. }
  117. var _default = exports.default = Result;