@bigbinary/neeto-molecules 1.15.68 → 1.16.0
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
|
@@ -25,6 +25,7 @@ https://neeto-molecules.neeto.com/
|
|
|
25
25
|
- [CustomDomainDashboard](./docs/components/CustomDomainDashboard.md)
|
|
26
26
|
- [DateFormat/TimeFormat](./docs/components/DateFormatTimeFormat.md)
|
|
27
27
|
- [DateRangeFilter](./docs/components/DateRangeFilter.md)
|
|
28
|
+
- [DeleteArchiveModal](./docs/components/DeleteArchiveModal.md)
|
|
28
29
|
- [DocumentEditor](./docs/components/DocumentEditor.md)
|
|
29
30
|
- [DownloadMobileAppCallout](./docs/components/DownloadMobileAppCallout.md)
|
|
30
31
|
- [DynamicVariables](./docs/components/DynamicVariables.md)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { _ as _slicedToArray } from './slicedToArray-b4278ecd.js';
|
|
2
|
+
import React__default, { useState, useEffect } from 'react';
|
|
3
|
+
import { noop } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { Modal, Typography, Checkbox, Button } from '@bigbinary/neetoui';
|
|
5
|
+
import { not } from 'ramda';
|
|
6
|
+
import { useTranslation } from 'react-i18next';
|
|
7
|
+
|
|
8
|
+
var DeleteArchiveModal = function DeleteArchiveModal(_ref) {
|
|
9
|
+
var _ref$checkboxLabel = _ref.checkboxLabel,
|
|
10
|
+
checkboxLabel = _ref$checkboxLabel === void 0 ? "" : _ref$checkboxLabel,
|
|
11
|
+
_ref$className = _ref.className,
|
|
12
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
13
|
+
_ref$description = _ref.description,
|
|
14
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
15
|
+
_ref$isArchiving = _ref.isArchiving,
|
|
16
|
+
isArchiving = _ref$isArchiving === void 0 ? false : _ref$isArchiving,
|
|
17
|
+
_ref$isDeleting = _ref.isDeleting,
|
|
18
|
+
isDeleting = _ref$isDeleting === void 0 ? false : _ref$isDeleting,
|
|
19
|
+
_ref$isOpen = _ref.isOpen,
|
|
20
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
21
|
+
_ref$onArchive = _ref.onArchive,
|
|
22
|
+
onArchive = _ref$onArchive === void 0 ? noop : _ref$onArchive,
|
|
23
|
+
_ref$onClose = _ref.onClose,
|
|
24
|
+
onClose = _ref$onClose === void 0 ? noop : _ref$onClose,
|
|
25
|
+
_ref$onDelete = _ref.onDelete,
|
|
26
|
+
onDelete = _ref$onDelete === void 0 ? noop : _ref$onDelete,
|
|
27
|
+
_ref$title = _ref.title,
|
|
28
|
+
title = _ref$title === void 0 ? "" : _ref$title;
|
|
29
|
+
var _useTranslation = useTranslation(),
|
|
30
|
+
t = _useTranslation.t;
|
|
31
|
+
var _useState = useState(false),
|
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
33
|
+
isChecked = _useState2[0],
|
|
34
|
+
setIsChecked = _useState2[1];
|
|
35
|
+
var handleClose = function handleClose() {
|
|
36
|
+
setIsChecked(false);
|
|
37
|
+
onClose();
|
|
38
|
+
};
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
if (not(isOpen)) setIsChecked(false);
|
|
41
|
+
}, [isOpen]);
|
|
42
|
+
return /*#__PURE__*/React__default.createElement(Modal, {
|
|
43
|
+
className: className,
|
|
44
|
+
isOpen: isOpen,
|
|
45
|
+
"data-cy": "alert-box",
|
|
46
|
+
"data-testid": "delete-archive-modal",
|
|
47
|
+
onClose: handleClose
|
|
48
|
+
}, /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
49
|
+
"data-cy": "delete-archive-alert-title",
|
|
50
|
+
style: "h2"
|
|
51
|
+
}, title)), /*#__PURE__*/React__default.createElement(Modal.Body, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
52
|
+
"data-cy": "delete-archive-alert-message",
|
|
53
|
+
lineHeight: "normal",
|
|
54
|
+
style: "body2"
|
|
55
|
+
}, description), /*#__PURE__*/React__default.createElement(Checkbox, {
|
|
56
|
+
checked: isChecked,
|
|
57
|
+
className: "mt-4",
|
|
58
|
+
"data-cy": "delete-archive-alert-archive-checkbox",
|
|
59
|
+
"data-testid": "delete-archive-alert-archive-checkbox",
|
|
60
|
+
label: checkboxLabel,
|
|
61
|
+
onChange: function onChange() {
|
|
62
|
+
return setIsChecked(function (isChecked) {
|
|
63
|
+
return !isChecked;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
})), /*#__PURE__*/React__default.createElement(Modal.Footer, {
|
|
67
|
+
className: "neeto-ui-gap-2 neeto-ui-flex neeto-ui-items-center"
|
|
68
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
69
|
+
"data-cy": "delete-archive-alert-archive-button",
|
|
70
|
+
disabled: not(isOpen),
|
|
71
|
+
label: t("neetoMolecules.common.actions.archive"),
|
|
72
|
+
loading: isArchiving,
|
|
73
|
+
style: "secondary",
|
|
74
|
+
onClick: onArchive
|
|
75
|
+
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
76
|
+
"data-cy": "delete-archive-alert-delete-button",
|
|
77
|
+
disabled: not(isChecked),
|
|
78
|
+
label: t("neetoMolecules.common.actions.delete"),
|
|
79
|
+
loading: isDeleting,
|
|
80
|
+
style: "danger",
|
|
81
|
+
onClick: onDelete
|
|
82
|
+
})));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { DeleteArchiveModal as default };
|
|
86
|
+
//# sourceMappingURL=DeleteArchiveModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteArchiveModal.js","sources":["../src/components/DeleteArchiveModal/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Button, Checkbox, Modal, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DeleteArchiveModal = ({\n checkboxLabel = \"\",\n className = \"\",\n description = \"\",\n isArchiving = false,\n isDeleting = false,\n isOpen = false,\n onArchive = noop,\n onClose = noop,\n onDelete = noop,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const handleClose = () => {\n setIsChecked(false);\n onClose();\n };\n\n useEffect(() => {\n if (not(isOpen)) setIsChecked(false);\n }, [isOpen]);\n\n return (\n <Modal\n {...{ className, isOpen }}\n data-cy=\"alert-box\"\n data-testid=\"delete-archive-modal\"\n onClose={handleClose}\n >\n <Modal.Header>\n <Typography data-cy=\"delete-archive-alert-title\" style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-cy=\"delete-archive-alert-message\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <Checkbox\n checked={isChecked}\n className=\"mt-4\"\n data-cy=\"delete-archive-alert-archive-checkbox\"\n data-testid=\"delete-archive-alert-archive-checkbox\"\n label={checkboxLabel}\n onChange={() => setIsChecked(isChecked => !isChecked)}\n />\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-items-center\">\n <Button\n data-cy=\"delete-archive-alert-archive-button\"\n disabled={not(isOpen)}\n label={t(\"neetoMolecules.common.actions.archive\")}\n loading={isArchiving}\n style=\"secondary\"\n onClick={onArchive}\n />\n <Button\n data-cy=\"delete-archive-alert-delete-button\"\n disabled={not(isChecked)}\n label={t(\"neetoMolecules.common.actions.delete\")}\n loading={isDeleting}\n style=\"danger\"\n onClick={onDelete}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nDeleteArchiveModal.propTypes = {\n /**\n * To specify whether the modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * To be passed to loading prop of the archive button\n */\n isArchiving: PropTypes.bool,\n /**\n * To be passed to loading prop of the delete button\n */\n isDeleting: PropTypes.bool,\n /**\n * Additional classes to be added to the modal\n */\n className: PropTypes.string,\n /**\n * Function to be called when the modal is closed\n */\n onClose: PropTypes.func,\n /**\n * Function to be called when the archive button is clicked\n */\n onArchive: PropTypes.func,\n /**\n * Function to be called when the delete button is clicked\n * */\n onDelete: PropTypes.func,\n /**\n * Title of the modal\n */\n title: PropTypes.string,\n /**\n * Description of the modal\n */\n description: PropTypes.string,\n /**\n * Label for the checkbox\n */\n checkboxLabel: PropTypes.string,\n};\n\nexport default DeleteArchiveModal;\n"],"names":["DeleteArchiveModal","_ref","_ref$checkboxLabel","checkboxLabel","_ref$className","className","_ref$description","description","_ref$isArchiving","isArchiving","_ref$isDeleting","isDeleting","_ref$isOpen","isOpen","_ref$onArchive","onArchive","noop","_ref$onClose","onClose","_ref$onDelete","onDelete","_ref$title","title","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","handleClose","useEffect","not","React","createElement","Modal","Header","Typography","style","Body","lineHeight","Checkbox","checked","label","onChange","Footer","Button","disabled","loading","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var slicedToArray = require('./slicedToArray-f320d9e7.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
7
|
+
var ramda = require('ramda');
|
|
8
|
+
var reactI18next = require('react-i18next');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
|
|
14
|
+
var DeleteArchiveModal = function DeleteArchiveModal(_ref) {
|
|
15
|
+
var _ref$checkboxLabel = _ref.checkboxLabel,
|
|
16
|
+
checkboxLabel = _ref$checkboxLabel === void 0 ? "" : _ref$checkboxLabel,
|
|
17
|
+
_ref$className = _ref.className,
|
|
18
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
19
|
+
_ref$description = _ref.description,
|
|
20
|
+
description = _ref$description === void 0 ? "" : _ref$description,
|
|
21
|
+
_ref$isArchiving = _ref.isArchiving,
|
|
22
|
+
isArchiving = _ref$isArchiving === void 0 ? false : _ref$isArchiving,
|
|
23
|
+
_ref$isDeleting = _ref.isDeleting,
|
|
24
|
+
isDeleting = _ref$isDeleting === void 0 ? false : _ref$isDeleting,
|
|
25
|
+
_ref$isOpen = _ref.isOpen,
|
|
26
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
27
|
+
_ref$onArchive = _ref.onArchive,
|
|
28
|
+
onArchive = _ref$onArchive === void 0 ? neetoCist.noop : _ref$onArchive,
|
|
29
|
+
_ref$onClose = _ref.onClose,
|
|
30
|
+
onClose = _ref$onClose === void 0 ? neetoCist.noop : _ref$onClose,
|
|
31
|
+
_ref$onDelete = _ref.onDelete,
|
|
32
|
+
onDelete = _ref$onDelete === void 0 ? neetoCist.noop : _ref$onDelete,
|
|
33
|
+
_ref$title = _ref.title,
|
|
34
|
+
title = _ref$title === void 0 ? "" : _ref$title;
|
|
35
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
36
|
+
t = _useTranslation.t;
|
|
37
|
+
var _useState = React.useState(false),
|
|
38
|
+
_useState2 = slicedToArray._slicedToArray(_useState, 2),
|
|
39
|
+
isChecked = _useState2[0],
|
|
40
|
+
setIsChecked = _useState2[1];
|
|
41
|
+
var handleClose = function handleClose() {
|
|
42
|
+
setIsChecked(false);
|
|
43
|
+
onClose();
|
|
44
|
+
};
|
|
45
|
+
React.useEffect(function () {
|
|
46
|
+
if (ramda.not(isOpen)) setIsChecked(false);
|
|
47
|
+
}, [isOpen]);
|
|
48
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
|
|
49
|
+
className: className,
|
|
50
|
+
isOpen: isOpen,
|
|
51
|
+
"data-cy": "alert-box",
|
|
52
|
+
"data-testid": "delete-archive-modal",
|
|
53
|
+
onClose: handleClose
|
|
54
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
55
|
+
"data-cy": "delete-archive-alert-title",
|
|
56
|
+
style: "h2"
|
|
57
|
+
}, title)), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
58
|
+
"data-cy": "delete-archive-alert-message",
|
|
59
|
+
lineHeight: "normal",
|
|
60
|
+
style: "body2"
|
|
61
|
+
}, description), /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
|
|
62
|
+
checked: isChecked,
|
|
63
|
+
className: "mt-4",
|
|
64
|
+
"data-cy": "delete-archive-alert-archive-checkbox",
|
|
65
|
+
"data-testid": "delete-archive-alert-archive-checkbox",
|
|
66
|
+
label: checkboxLabel,
|
|
67
|
+
onChange: function onChange() {
|
|
68
|
+
return setIsChecked(function (isChecked) {
|
|
69
|
+
return !isChecked;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
|
|
73
|
+
className: "neeto-ui-gap-2 neeto-ui-flex neeto-ui-items-center"
|
|
74
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
75
|
+
"data-cy": "delete-archive-alert-archive-button",
|
|
76
|
+
disabled: ramda.not(isOpen),
|
|
77
|
+
label: t("neetoMolecules.common.actions.archive"),
|
|
78
|
+
loading: isArchiving,
|
|
79
|
+
style: "secondary",
|
|
80
|
+
onClick: onArchive
|
|
81
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
82
|
+
"data-cy": "delete-archive-alert-delete-button",
|
|
83
|
+
disabled: ramda.not(isChecked),
|
|
84
|
+
label: t("neetoMolecules.common.actions.delete"),
|
|
85
|
+
loading: isDeleting,
|
|
86
|
+
style: "danger",
|
|
87
|
+
onClick: onDelete
|
|
88
|
+
})));
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
module.exports = DeleteArchiveModal;
|
|
92
|
+
//# sourceMappingURL=DeleteArchiveModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeleteArchiveModal.js","sources":["../../src/components/DeleteArchiveModal/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Button, Checkbox, Modal, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DeleteArchiveModal = ({\n checkboxLabel = \"\",\n className = \"\",\n description = \"\",\n isArchiving = false,\n isDeleting = false,\n isOpen = false,\n onArchive = noop,\n onClose = noop,\n onDelete = noop,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const [isChecked, setIsChecked] = useState(false);\n\n const handleClose = () => {\n setIsChecked(false);\n onClose();\n };\n\n useEffect(() => {\n if (not(isOpen)) setIsChecked(false);\n }, [isOpen]);\n\n return (\n <Modal\n {...{ className, isOpen }}\n data-cy=\"alert-box\"\n data-testid=\"delete-archive-modal\"\n onClose={handleClose}\n >\n <Modal.Header>\n <Typography data-cy=\"delete-archive-alert-title\" style=\"h2\">\n {title}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography\n data-cy=\"delete-archive-alert-message\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n <Checkbox\n checked={isChecked}\n className=\"mt-4\"\n data-cy=\"delete-archive-alert-archive-checkbox\"\n data-testid=\"delete-archive-alert-archive-checkbox\"\n label={checkboxLabel}\n onChange={() => setIsChecked(isChecked => !isChecked)}\n />\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-items-center\">\n <Button\n data-cy=\"delete-archive-alert-archive-button\"\n disabled={not(isOpen)}\n label={t(\"neetoMolecules.common.actions.archive\")}\n loading={isArchiving}\n style=\"secondary\"\n onClick={onArchive}\n />\n <Button\n data-cy=\"delete-archive-alert-delete-button\"\n disabled={not(isChecked)}\n label={t(\"neetoMolecules.common.actions.delete\")}\n loading={isDeleting}\n style=\"danger\"\n onClick={onDelete}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nDeleteArchiveModal.propTypes = {\n /**\n * To specify whether the modal should be opened or closed.\n */\n isOpen: PropTypes.bool,\n /**\n * To be passed to loading prop of the archive button\n */\n isArchiving: PropTypes.bool,\n /**\n * To be passed to loading prop of the delete button\n */\n isDeleting: PropTypes.bool,\n /**\n * Additional classes to be added to the modal\n */\n className: PropTypes.string,\n /**\n * Function to be called when the modal is closed\n */\n onClose: PropTypes.func,\n /**\n * Function to be called when the archive button is clicked\n */\n onArchive: PropTypes.func,\n /**\n * Function to be called when the delete button is clicked\n * */\n onDelete: PropTypes.func,\n /**\n * Title of the modal\n */\n title: PropTypes.string,\n /**\n * Description of the modal\n */\n description: PropTypes.string,\n /**\n * Label for the checkbox\n */\n checkboxLabel: PropTypes.string,\n};\n\nexport default DeleteArchiveModal;\n"],"names":["DeleteArchiveModal","_ref","_ref$checkboxLabel","checkboxLabel","_ref$className","className","_ref$description","description","_ref$isArchiving","isArchiving","_ref$isDeleting","isDeleting","_ref$isOpen","isOpen","_ref$onArchive","onArchive","noop","_ref$onClose","onClose","_ref$onDelete","onDelete","_ref$title","title","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","handleClose","useEffect","not","React","createElement","Modal","Header","Typography","style","Body","lineHeight","Checkbox","checked","label","onChange","Footer","Button","disabled","loading","onClick"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* The DeleteArchiveModal component is designed to facilitate the deletion of an entity, emphasizing the irreversible nature of this action through a confirmation checkbox. Additionally, it provides an option to archive the entity instead of deleting it.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* import React from "react";
|
|
9
|
+
* import DeleteArchiveModal from "@bigbinary/neeto-molecules/DeleteArchiveModal";
|
|
10
|
+
*
|
|
11
|
+
* import { deleteProject, archiveProject } from "apis/projectApi.js";
|
|
12
|
+
*
|
|
13
|
+
* const App = ({ project }) => {
|
|
14
|
+
* const [isDeleting, setIsDeleting] = useState(false);
|
|
15
|
+
* const [isArchiving, setIsArchiving] = useState(false);
|
|
16
|
+
* const [showModal, setShowModal] = useState(false);
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <DeleteArchiveModal
|
|
20
|
+
* checkboxLabel="Yes, delete <Form_Name>"
|
|
21
|
+
* description={
|
|
22
|
+
* `The selected form <Form_Name> and all associated responses will be permanently deleted.
|
|
23
|
+
*
|
|
24
|
+
* Since, we won't be able to recover the deleted form we suggest you to archive the form.`
|
|
25
|
+
* }
|
|
26
|
+
* isArchiving={isArchiving}
|
|
27
|
+
* isDeleting={isDeleting}
|
|
28
|
+
* isOpen={showModal}
|
|
29
|
+
* title="Delete form?"
|
|
30
|
+
* onClose={() => setShowModal(false)}
|
|
31
|
+
* onDelete={async () => {
|
|
32
|
+
* setIsDeleting(true);
|
|
33
|
+
* await deleteProject(project.name);
|
|
34
|
+
* setShowModal(false);
|
|
35
|
+
* setIsDeleting(false);
|
|
36
|
+
* }}
|
|
37
|
+
* onArchive={async () => {
|
|
38
|
+
* setIsArchiving(true);
|
|
39
|
+
* await archiveProject(project.name);
|
|
40
|
+
* setShowModal(false);
|
|
41
|
+
* setIsArchiving(false);
|
|
42
|
+
* }}
|
|
43
|
+
* />
|
|
44
|
+
* );
|
|
45
|
+
* };
|
|
46
|
+
* @endexample
|
|
47
|
+
*/
|
|
48
|
+
const DeleteArchiveModal: React.FC<{
|
|
49
|
+
checkboxLabel: string;
|
|
50
|
+
className: string;
|
|
51
|
+
description: string;
|
|
52
|
+
isArchiving: boolean;
|
|
53
|
+
isDeleting: boolean;
|
|
54
|
+
isOpen: boolean;
|
|
55
|
+
onArchive: Function;
|
|
56
|
+
onClose: Function;
|
|
57
|
+
onDelete: Function;
|
|
58
|
+
title: string;
|
|
59
|
+
}>;
|
|
60
|
+
export default DeleteArchiveModal;
|