PurePanel.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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.Overlay = void 0;
  9. var React = _interopRequireWildcard(require("react"));
  10. var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons/ExclamationCircleFilled"));
  11. var _classnames = _interopRequireDefault(require("classnames"));
  12. var _ActionButton = _interopRequireDefault(require("../_util/ActionButton"));
  13. var _getRenderPropValue = require("../_util/getRenderPropValue");
  14. var _button = _interopRequireDefault(require("../button"));
  15. var _buttonHelpers = require("../button/buttonHelpers");
  16. var _configProvider = require("../config-provider");
  17. var _locale = require("../locale");
  18. var _en_US = _interopRequireDefault(require("../locale/en_US"));
  19. var _PurePanel = _interopRequireDefault(require("../popover/PurePanel"));
  20. var _style = _interopRequireDefault(require("./style"));
  21. var __rest = void 0 && (void 0).__rest || function (s, e) {
  22. var t = {};
  23. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  24. if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  25. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  26. }
  27. return t;
  28. };
  29. const Overlay = props => {
  30. const {
  31. prefixCls,
  32. okButtonProps,
  33. cancelButtonProps,
  34. title,
  35. description,
  36. cancelText,
  37. okText,
  38. okType = 'primary',
  39. icon = /*#__PURE__*/React.createElement(_ExclamationCircleFilled.default, null),
  40. showCancel = true,
  41. close,
  42. onConfirm,
  43. onCancel,
  44. onPopupClick
  45. } = props;
  46. const {
  47. getPrefixCls
  48. } = React.useContext(_configProvider.ConfigContext);
  49. const [contextLocale] = (0, _locale.useLocale)('Popconfirm', _en_US.default.Popconfirm);
  50. const titleNode = (0, _getRenderPropValue.getRenderPropValue)(title);
  51. const descriptionNode = (0, _getRenderPropValue.getRenderPropValue)(description);
  52. return /*#__PURE__*/React.createElement("div", {
  53. className: `${prefixCls}-inner-content`,
  54. onClick: onPopupClick
  55. }, /*#__PURE__*/React.createElement("div", {
  56. className: `${prefixCls}-message`
  57. }, icon && /*#__PURE__*/React.createElement("span", {
  58. className: `${prefixCls}-message-icon`
  59. }, icon), /*#__PURE__*/React.createElement("div", {
  60. className: `${prefixCls}-message-text`
  61. }, titleNode && /*#__PURE__*/React.createElement("div", {
  62. className: `${prefixCls}-title`
  63. }, titleNode), descriptionNode && /*#__PURE__*/React.createElement("div", {
  64. className: `${prefixCls}-description`
  65. }, descriptionNode))), /*#__PURE__*/React.createElement("div", {
  66. className: `${prefixCls}-buttons`
  67. }, showCancel && (/*#__PURE__*/React.createElement(_button.default, Object.assign({
  68. onClick: onCancel,
  69. size: "small"
  70. }, cancelButtonProps), cancelText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.cancelText))), /*#__PURE__*/React.createElement(_ActionButton.default, {
  71. buttonProps: Object.assign(Object.assign({
  72. size: 'small'
  73. }, (0, _buttonHelpers.convertLegacyProps)(okType)), okButtonProps),
  74. actionFn: onConfirm,
  75. close: close,
  76. prefixCls: getPrefixCls('btn'),
  77. quitOnNullishReturnValue: true,
  78. emitEvent: true
  79. }, okText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.okText))));
  80. };
  81. exports.Overlay = Overlay;
  82. const PurePanel = props => {
  83. const {
  84. prefixCls: customizePrefixCls,
  85. placement,
  86. className,
  87. style
  88. } = props,
  89. restProps = __rest(props, ["prefixCls", "placement", "className", "style"]);
  90. const {
  91. getPrefixCls
  92. } = React.useContext(_configProvider.ConfigContext);
  93. const prefixCls = getPrefixCls('popconfirm', customizePrefixCls);
  94. const [wrapCSSVar] = (0, _style.default)(prefixCls);
  95. return wrapCSSVar(/*#__PURE__*/React.createElement(_PurePanel.default, {
  96. placement: placement,
  97. className: (0, _classnames.default)(prefixCls, className),
  98. style: style,
  99. content: /*#__PURE__*/React.createElement(Overlay, Object.assign({
  100. prefixCls: prefixCls
  101. }, restProps))
  102. }));
  103. };
  104. var _default = exports.default = PurePanel;