react-confirm 0.3.0-7 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,29 +32,27 @@ react-confirm library offers several benefits:
32
32
 
33
33
  ### Create your dialog component and Apply `confirmable` HOC to your component.
34
34
 
35
- ```js
36
- import React from 'react';
37
- import PropTypes from 'prop-types';
38
- import { confirmable } from 'react-confirm';
39
- import Dialog from 'any-dialog-library'; // your choice.
35
+ ```ts
36
+ import * as React from 'react';
37
+
38
+ import Modal from 'react-bootstrap/Modal'
39
+ import Button from 'react-bootstrap/Button'
40
+
41
+ import { confirmable, ConfirmDialog } from 'react-confirm';
40
42
 
41
- const YourDialog = ({show, proceed, confirmation, options}) => (
43
+ export interface Props {
44
+ confirmation?: string;
45
+ };
46
+
47
+ const Confirmation: ConfirmDialog<Props, boolean> = ({show, proceed, confirmation}) => (
42
48
  <Dialog onHide={() => proceed(false)} show={show}>
43
49
  {confirmation}
44
50
  <button onClick={() => proceed(false)}>CANCEL</button>
45
51
  <button onClick={() => proceed(true)}>OK</button>
46
52
  </Dialog>
47
- )
48
-
49
- YourDialog.propTypes = {
50
- show: PropTypes.bool, // from confirmable. indicates if the dialog is shown or not.
51
- proceed: PropTypes.func, // from confirmable. call to close the dialog with promise resolved.
52
- confirmation: PropTypes.string, // arguments of your confirm function
53
- options: PropTypes.object // arguments of your confirm function
54
- }
53
+ );
55
54
 
56
- // confirmable HOC pass props `show`, `dismiss`, `cancel` and `proceed` to your component.
57
- export default confirmable(YourDialog);
55
+ export default confirmable(Confirmation);
58
56
  ```
59
57
 
60
58
  ### Create a function using `createConfirmation`
@@ -64,18 +62,13 @@ import YourDialog from './YourDialog';
64
62
 
65
63
  // create confirm function
66
64
  export const confirm = createConfirmation(YourDialog);
67
-
68
- // This is optional. But wrapping function makes it easy to use.
69
- export function confirmWrapper(confirmation, options = {}) {
70
- return confirm({ confirmation, options });
71
- }
72
65
  ```
73
66
 
74
67
  ### Call it!
75
68
  Now, you can show dialog just like window.confirm with async-await. The most common example is onclick handler for submit buttons.
76
69
 
77
70
  ```js
78
- import { confirmWrapper, confirm } from './confirm'
71
+ import { confirm } from './confirm'
79
72
 
80
73
  const handleOnClick = async () => {
81
74
  if (await confirm({
@@ -87,14 +80,6 @@ const handleOnClick = async () => {
87
80
  }
88
81
  }
89
82
 
90
- const handleOnClick2 = async () => {
91
- if (await confirmWrapper('Are your sure?')) {
92
- console.log('yes');
93
- } else {
94
- console.log('no');
95
- }
96
- }
97
-
98
83
  ```
99
84
 
100
85
  You can check more complex example in [codesandbox](https://codesandbox.io/s/react-confirm-with-react-bootstrap-kjju1)
@@ -1,65 +1,45 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _excluded = ["dispose", "reject", "resolve"];
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
18
12
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
-
20
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
-
22
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
-
24
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
-
26
16
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
27
-
28
17
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
29
-
30
18
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
-
32
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
33
-
34
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
-
36
21
  var confirmable = function confirmable(Component) {
37
22
  return function (_ref) {
38
23
  var dispose = _ref.dispose,
39
- reject = _ref.reject,
40
- resolve = _ref.resolve,
41
- other = _objectWithoutProperties(_ref, _excluded);
42
-
24
+ reject = _ref.reject,
25
+ resolve = _ref.resolve,
26
+ other = _objectWithoutProperties(_ref, _excluded);
43
27
  var _useState = (0, _react.useState)(true),
44
- _useState2 = _slicedToArray(_useState, 2),
45
- show = _useState2[0],
46
- setShow = _useState2[1];
47
-
28
+ _useState2 = _slicedToArray(_useState, 2),
29
+ show = _useState2[0],
30
+ setShow = _useState2[1];
48
31
  var dismiss = function dismiss() {
49
32
  setShow(false);
50
33
  dispose();
51
34
  };
52
-
53
35
  var cancel = function cancel(value) {
54
36
  setShow(false);
55
37
  reject(value);
56
38
  };
57
-
58
39
  var proceed = function proceed(value) {
59
40
  setShow(false);
60
41
  resolve(value);
61
42
  };
62
-
63
43
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({
64
44
  cancel: cancel,
65
45
  dismiss: dismiss,
@@ -68,6 +48,5 @@ var confirmable = function confirmable(Component) {
68
48
  }, other));
69
49
  };
70
50
  };
71
-
72
51
  var _default = confirmable;
73
52
  exports["default"] = _default;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = exports.createConfirmationCreater = void 0;
7
-
8
7
  var _domTree = require("./mounter/domTree");
9
-
10
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
-
12
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
-
14
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
-
16
11
  var createConfirmationCreater = function createConfirmationCreater(mounter) {
17
12
  return function (Component) {
18
13
  var unmountDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
@@ -31,13 +26,11 @@ var createConfirmationCreater = function createConfirmationCreater(mounter) {
31
26
  throw e;
32
27
  }
33
28
  });
34
-
35
29
  function dispose() {
36
30
  setTimeout(function () {
37
31
  mounter.unmount(mountId);
38
32
  }, unmountDelay);
39
33
  }
40
-
41
34
  return promise.then(function (result) {
42
35
  dispose();
43
36
  return result;
@@ -48,9 +41,6 @@ var createConfirmationCreater = function createConfirmationCreater(mounter) {
48
41
  };
49
42
  };
50
43
  };
51
-
52
44
  exports.createConfirmationCreater = createConfirmationCreater;
53
-
54
45
  var _default = createConfirmationCreater((0, _domTree.createDomTreeMounter)());
55
-
56
46
  exports["default"] = _default;
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -41,17 +40,10 @@ Object.defineProperty(exports, "createReactTreeMounter", {
41
40
  return _reactTree.createReactTreeMounter;
42
41
  }
43
42
  });
44
-
45
43
  var _confirmable = _interopRequireDefault(require("./confirmable"));
46
-
47
44
  var _createConfirmation = _interopRequireWildcard(require("./createConfirmation"));
48
-
49
45
  var _domTree = require("./mounter/domTree");
50
-
51
46
  var _reactTree = require("./mounter/reactTree");
52
-
53
47
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
54
-
55
48
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
56
-
57
49
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createDomTreeMounter = createDomTreeMounter;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _client = require("react-dom/client");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
-
14
10
  function createDomTreeMounter(defaultMountNode) {
15
11
  var confirms = {};
16
12
  var callbacks = {};
17
-
18
13
  function mount(Component, props, mountNode) {
19
14
  var key = Math.floor(Math.random() * (1 << 30)).toString(16);
20
15
  var wrapper = (mountNode || defaultMountNode || document.body).appendChild(document.createElement('div'));
@@ -24,16 +19,13 @@ function createDomTreeMounter(defaultMountNode) {
24
19
  callbacks.mounted && callbacks.mounted();
25
20
  return key;
26
21
  }
27
-
28
22
  function unmount(key) {
29
23
  var wrapper = confirms[key];
30
24
  delete confirms[key];
31
-
32
25
  if (wrapper && wrapper.parentNode) {
33
26
  wrapper.parentNode.removeChild(wrapper);
34
27
  }
35
28
  }
36
-
37
29
  return {
38
30
  mount: mount,
39
31
  unmount: unmount,
@@ -1,45 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createMountPoint = createMountPoint;
9
8
  exports.createReactTreeMounter = createReactTreeMounter;
10
-
11
9
  var _react = _interopRequireWildcard(require("react"));
12
-
13
10
  var _reactDom = require("react-dom");
14
-
15
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
-
17
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
-
19
13
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
-
21
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
-
23
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
-
25
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
-
27
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
28
-
29
18
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
30
-
31
19
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
32
-
33
20
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
34
-
35
21
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
36
-
37
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
38
-
39
23
  function createReactTreeMounter(mountNode) {
40
24
  var confirms = {};
41
25
  var callbacks = {};
42
-
43
26
  function mount(Component, props) {
44
27
  var key = Math.floor(Math.random() * (1 << 30)).toString(16);
45
28
  confirms[key] = {
@@ -49,16 +32,13 @@ function createReactTreeMounter(mountNode) {
49
32
  callbacks.mounted && callbacks.mounted(confirms);
50
33
  return key;
51
34
  }
52
-
53
35
  function unmount(key) {
54
36
  delete confirms[key];
55
37
  callbacks.mounted && callbacks.mounted(confirms);
56
38
  }
57
-
58
39
  function setMountedCallback(func) {
59
40
  callbacks.mounted = func;
60
41
  }
61
-
62
42
  return {
63
43
  mount: mount,
64
44
  unmount: unmount,
@@ -68,33 +48,28 @@ function createReactTreeMounter(mountNode) {
68
48
  }
69
49
  };
70
50
  }
71
-
72
51
  function createMountPoint(reactTreeMounter) {
73
52
  return function () {
74
53
  var _useState = (0, _react.useState)({}),
75
- _useState2 = _slicedToArray(_useState, 2),
76
- confirmComponents = _useState2[0],
77
- setConfirmComponents = _useState2[1];
78
-
54
+ _useState2 = _slicedToArray(_useState, 2),
55
+ confirmComponents = _useState2[0],
56
+ setConfirmComponents = _useState2[1];
79
57
  (0, _react.useEffect)(function () {
80
58
  return reactTreeMounter.options.setMountedCallback(function (components) {
81
59
  setConfirmComponents(_objectSpread({}, components));
82
60
  });
83
61
  }, []);
84
-
85
62
  var element = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, Object.keys(confirmComponents).map(function (key) {
86
63
  var _confirmComponents$ke = confirmComponents[key],
87
- Component = _confirmComponents$ke.Component,
88
- props = _confirmComponents$ke.props;
64
+ Component = _confirmComponents$ke.Component,
65
+ props = _confirmComponents$ke.props;
89
66
  return /*#__PURE__*/_react["default"].createElement(Component, _extends({
90
67
  key: key
91
68
  }, props));
92
69
  }));
93
-
94
70
  if (reactTreeMounter.options.mountNode) {
95
71
  element = /*#__PURE__*/(0, _reactDom.createPortal)(element, reactTreeMounter.options.mountNode);
96
72
  }
97
-
98
73
  return element;
99
74
  };
100
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-confirm",
3
- "version": "0.3.0-7",
3
+ "version": "0.3.1",
4
4
  "description": "Small library which makes your Dialog component callable",
5
5
  "main": "lib/index.js",
6
6
  "repository": {
@@ -30,8 +30,8 @@
30
30
  "author": "",
31
31
  "license": "MIT",
32
32
  "peerDependencies": {
33
- "react": "18.x",
34
- "react-dom": "18.x"
33
+ "react": ">=18.x",
34
+ "react-dom": ">=18.x"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@babel/cli": "^7.17.6",
@@ -44,8 +44,8 @@
44
44
  "babel-jest": "^29.5.0",
45
45
  "jest": "^29.5.0",
46
46
  "jest-environment-jsdom": "^29.5.0",
47
- "react": "^18.2.0",
48
- "react-dom": "^18.2.0",
47
+ "react": ">=18.2.0",
48
+ "react-dom": ">=18.2.0",
49
49
  "regenerator-runtime": "^0.13.11",
50
50
  "rimraf": "^3.0.2"
51
51
  },
@@ -9,9 +9,13 @@ type ConfirmableProps<P, R> = {
9
9
  type ConfirmableDialog<P, R> = React.ComponentType<ConfirmableProps<P, R>>;
10
10
 
11
11
  export type ConfirmDialogProps<P, R> = {
12
+ /** Dismiss dialog without resolving the promise. */
12
13
  dismiss: () => void;
14
+ /** Resolve the promise with the given value. */
13
15
  proceed: (value: R) => void;
16
+ /** Reject the promise with the given value. */
14
17
  cancel: (value?: any) => void;
18
+ /** Indicates if the dialog should be shown aka. someone is waiting for a promise. */
15
19
  show: boolean;
16
20
  } & P;
17
21