@bigbinary/neeto-approvals-frontend 1.2.15 → 1.2.18
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 +0 -2
- package/app/javascript/src/translations/hu.json +100 -0
- package/dist/.ready +1 -0
- package/dist/Approvals.js +44 -107
- package/dist/Approvals.js.map +1 -1
- package/dist/Form.js +9 -32
- package/dist/Form.js.map +1 -1
- package/dist/Public.js +7 -50
- package/dist/Public.js.map +1 -1
- package/dist/RequestDetailsPane.js +4 -2
- package/dist/RequestDetailsPane.js.map +1 -1
- package/dist/cjs/Approvals.js +83 -146
- package/dist/cjs/Approvals.js.map +1 -1
- package/dist/cjs/Form.js +15 -38
- package/dist/cjs/Form.js.map +1 -1
- package/dist/cjs/Public.js +10 -53
- package/dist/cjs/Public.js.map +1 -1
- package/dist/cjs/RequestDetailsPane.js +4 -2
- package/dist/cjs/RequestDetailsPane.js.map +1 -1
- package/dist/cjs/index.js +12 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/Approvals.js +1007 -0
- package/dist/cjs/v2/Approvals.js.map +1 -0
- package/dist/cjs/v2/Form.js +199 -0
- package/dist/cjs/v2/Form.js.map +1 -0
- package/dist/cjs/v2/Public.js +130 -0
- package/dist/cjs/v2/Public.js.map +1 -0
- package/dist/cjs/v2/RequestDetailsPane.js +31 -0
- package/dist/cjs/v2/RequestDetailsPane.js.map +1 -0
- package/dist/cjs/v2/index.js +59 -0
- package/dist/cjs/v2/index.js.map +1 -0
- package/dist/{constants-BX-hlAjh.js → constants-BwvPJzqf.js} +1 -16
- package/dist/constants-BwvPJzqf.js.map +1 -0
- package/dist/constants-DaDwtZe3.js +83 -0
- package/dist/constants-DaDwtZe3.js.map +1 -0
- package/dist/constants-DzID-rqV.js +53 -0
- package/dist/constants-DzID-rqV.js.map +1 -0
- package/dist/{constants-B5EiwxHH.js → constants-qLYJlKc6.js} +2 -14
- package/dist/constants-qLYJlKc6.js.map +1 -0
- package/dist/index-C8moxeiZ.js +225 -0
- package/dist/index-C8moxeiZ.js.map +1 -0
- package/dist/{index-pLvVQgrV.js → index-CFiP9Hcn.js} +4 -49
- package/dist/index-CFiP9Hcn.js.map +1 -0
- package/dist/index-hZqdAkyl.js +229 -0
- package/dist/index-hZqdAkyl.js.map +1 -0
- package/dist/{index-BBsNL9uK.js → index-t8u9Sjvr.js} +4 -48
- package/dist/index-t8u9Sjvr.js.map +1 -0
- package/dist/index.js +12 -7
- package/dist/index.js.map +1 -1
- package/dist/queryConstants-DjYiOKxE.js +18 -0
- package/dist/queryConstants-DjYiOKxE.js.map +1 -0
- package/dist/queryConstants-Vrcjv9lF.js +14 -0
- package/dist/queryConstants-Vrcjv9lF.js.map +1 -0
- package/dist/useApprovalRequest-D_WJmB5t.js +53 -0
- package/dist/useApprovalRequest-D_WJmB5t.js.map +1 -0
- package/dist/useApprovalRequest-XjfcKfLQ.js +57 -0
- package/dist/useApprovalRequest-XjfcKfLQ.js.map +1 -0
- package/dist/useApproversApi-B7ChYonT.js +32 -0
- package/dist/useApproversApi-B7ChYonT.js.map +1 -0
- package/dist/useApproversApi-BO6XC1KJ.js +34 -0
- package/dist/useApproversApi-BO6XC1KJ.js.map +1 -0
- package/dist/useRequestsApi-DEGfFuv5.js +50 -0
- package/dist/useRequestsApi-DEGfFuv5.js.map +1 -0
- package/dist/useRequestsApi-DO-oEAzQ.js +53 -0
- package/dist/useRequestsApi-DO-oEAzQ.js.map +1 -0
- package/dist/{useTemplatesApi-CwlWKJYa.js → useTemplatesApi-BII_qvcl.js} +4 -3
- package/dist/useTemplatesApi-BII_qvcl.js.map +1 -0
- package/dist/{useTemplatesApi-BhdNkkYy.js → useTemplatesApi-ByO6idQD.js} +15 -14
- package/dist/useTemplatesApi-ByO6idQD.js.map +1 -0
- package/dist/useViewsApi-B1OpZkLp.js +76 -0
- package/dist/useViewsApi-B1OpZkLp.js.map +1 -0
- package/dist/useViewsApi-k6u7op_J.js +71 -0
- package/dist/useViewsApi-k6u7op_J.js.map +1 -0
- package/dist/v2/Approvals.js +986 -0
- package/dist/v2/Approvals.js.map +1 -0
- package/dist/v2/Form.js +197 -0
- package/dist/v2/Form.js.map +1 -0
- package/dist/v2/Public.js +128 -0
- package/dist/v2/Public.js.map +1 -0
- package/dist/v2/RequestDetailsPane.js +25 -0
- package/dist/v2/RequestDetailsPane.js.map +1 -0
- package/dist/v2/index.js +50 -0
- package/dist/v2/index.js.map +1 -0
- package/package.json +48 -38
- package/dist/constants-B5EiwxHH.js.map +0 -1
- package/dist/constants-BX-hlAjh.js.map +0 -1
- package/dist/index-BBsNL9uK.js.map +0 -1
- package/dist/index-pLvVQgrV.js.map +0 -1
- package/dist/useTemplatesApi-BhdNkkYy.js.map +0 -1
- package/dist/useTemplatesApi-CwlWKJYa.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CFiP9Hcn.js","sources":["../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"h-auto flex-grow space-y-6 pb-6\">\n <div className=\"neeto-ui-rounded w-full divide-y border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Pane","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","style","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","request","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Typography","Tag","capitalize","STATUS_TAG_STYLE","Body","Label","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
7
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
|
+
var utils$1 = require('@bigbinary/neeto-commons-frontend/v2/utils');
|
|
9
|
+
var EditorContent = require('@bigbinary/neeto-editor/v2/EditorContent');
|
|
10
|
+
var reactI18next = require('react-i18next');
|
|
11
|
+
var useRequestsApi = require('./useRequestsApi-DO-oEAzQ.js');
|
|
12
|
+
var constants = require('./constants-DaDwtZe3.js');
|
|
13
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
14
|
+
var timezone = require('@bigbinary/neeto-commons-frontend/utils/timezonePlugin');
|
|
15
|
+
var utc = require('dayjs/plugin/utc');
|
|
16
|
+
var i18next = require('i18next');
|
|
17
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
18
|
+
var constants$1 = require('@bigbinary/neeto-commons-frontend/v2/constants');
|
|
19
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
20
|
+
|
|
21
|
+
var Footer = function Footer(_ref) {
|
|
22
|
+
var isLoading = _ref.isLoading,
|
|
23
|
+
handleSubmit = _ref.handleSubmit,
|
|
24
|
+
isCurrentUserApprover = _ref.isCurrentUserApprover,
|
|
25
|
+
isCurrentUserRequester = _ref.isCurrentUserRequester;
|
|
26
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
27
|
+
t = _useTranslation.t;
|
|
28
|
+
if (!isCurrentUserApprover && !isCurrentUserRequester) return null;
|
|
29
|
+
if (isCurrentUserApprover) {
|
|
30
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Footer, {
|
|
31
|
+
className: "flex flex-shrink-0 gap-x-2",
|
|
32
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
33
|
+
label: t("neetoApprovals.buttons.approve"),
|
|
34
|
+
loading: isLoading,
|
|
35
|
+
type: "submit",
|
|
36
|
+
onClick: function onClick() {
|
|
37
|
+
return handleSubmit(constants.STATUSES.approved);
|
|
38
|
+
}
|
|
39
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
40
|
+
label: t("neetoApprovals.buttons.decline"),
|
|
41
|
+
loading: isLoading,
|
|
42
|
+
variant: "ghost",
|
|
43
|
+
onClick: function onClick() {
|
|
44
|
+
return handleSubmit(constants.STATUSES.rejected);
|
|
45
|
+
}
|
|
46
|
+
})]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
|
|
50
|
+
className: "flex flex-shrink-0 gap-x-2",
|
|
51
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
52
|
+
label: t("neetoApprovals.buttons.cancelRequest"),
|
|
53
|
+
loading: isLoading,
|
|
54
|
+
type: "submit",
|
|
55
|
+
onClick: function onClick() {
|
|
56
|
+
return handleSubmit(constants.STATUSES.cancelled);
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
utils.dayjs.extend(utc);
|
|
63
|
+
utils.dayjs.extend(timezone);
|
|
64
|
+
var updateApprovalDetails = function updateApprovalDetails(_ref) {
|
|
65
|
+
var requestsData = _ref.requestsData,
|
|
66
|
+
approvalDetails = _ref.approvalDetails;
|
|
67
|
+
if (neetoCist.isPresent(requestsData === null || requestsData === void 0 ? void 0 : requestsData.requests) && neetoCist.isPresent(approvalDetails)) {
|
|
68
|
+
return neetoCist.findBy({
|
|
69
|
+
id: approvalDetails.id
|
|
70
|
+
}, requestsData.requests) || {};
|
|
71
|
+
}
|
|
72
|
+
return {};
|
|
73
|
+
};
|
|
74
|
+
var timeInZone = function timeInZone(time) {
|
|
75
|
+
var _globalProps$user, _globalProps$user2;
|
|
76
|
+
((_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.timeZone) && utils.dayjs.tz.setDefault((_globalProps$user2 = initializers.globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.timeZone);
|
|
77
|
+
return utils.dayjs(time).tz();
|
|
78
|
+
};
|
|
79
|
+
var getApprovalFilter = function getApprovalFilter() {
|
|
80
|
+
return {
|
|
81
|
+
PENDING: {
|
|
82
|
+
label: i18next.t("neetoApprovals.common.pending"),
|
|
83
|
+
value: "PENDING"
|
|
84
|
+
},
|
|
85
|
+
TEMPLATES: {
|
|
86
|
+
label: i18next.t("neetoApprovals.common.template", constants$1.PLURAL),
|
|
87
|
+
value: "TEMPLATES"
|
|
88
|
+
},
|
|
89
|
+
HISTORY: {
|
|
90
|
+
label: i18next.t("neetoApprovals.common.history"),
|
|
91
|
+
value: "HISTORY"
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
var MemoizedEditorContent = /*#__PURE__*/react.memo(EditorContent);
|
|
97
|
+
var RequestDetailsPane = function RequestDetailsPane(_ref) {
|
|
98
|
+
var _window$globalProps, _window$globalProps2;
|
|
99
|
+
var isOpen = _ref.isOpen,
|
|
100
|
+
onClose = _ref.onClose,
|
|
101
|
+
approvalDetails = _ref.approvalDetails,
|
|
102
|
+
_ref$isPending = _ref.isPending,
|
|
103
|
+
isPending = _ref$isPending === void 0 ? false : _ref$isPending;
|
|
104
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
105
|
+
t = _useTranslation.t;
|
|
106
|
+
var title = approvalDetails.title,
|
|
107
|
+
_approvalDetails$stat = approvalDetails.status,
|
|
108
|
+
status = _approvalDetails$stat === void 0 ? "" : _approvalDetails$stat,
|
|
109
|
+
message = approvalDetails.message,
|
|
110
|
+
createdAt = approvalDetails.createdAt,
|
|
111
|
+
approverName = approvalDetails.approverName,
|
|
112
|
+
approverEmail = approvalDetails.approverEmail,
|
|
113
|
+
_approvalDetails$note = approvalDetails.note,
|
|
114
|
+
initialNote = _approvalDetails$note === void 0 ? "" : _approvalDetails$note,
|
|
115
|
+
requesterName = approvalDetails.requesterName,
|
|
116
|
+
requesterEmail = approvalDetails.requesterEmail;
|
|
117
|
+
var _useState = react.useState(initialNote),
|
|
118
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
119
|
+
note = _useState2[0],
|
|
120
|
+
setNote = _useState2[1];
|
|
121
|
+
var _useUpdateRequest = useRequestsApi.useUpdateRequest(),
|
|
122
|
+
updatePendingRequest = _useUpdateRequest.mutate,
|
|
123
|
+
isUpdateRequestPending = _useUpdateRequest.isPending;
|
|
124
|
+
react.useEffect(function () {
|
|
125
|
+
setNote(initialNote);
|
|
126
|
+
}, [initialNote]);
|
|
127
|
+
var requesterOrApproverDetails = status === constants.STATUSES.cancelled ? "".concat(requesterName, " (").concat(requesterEmail, ")") : "".concat(approverName, " (").concat(approverEmail, ")");
|
|
128
|
+
var isCurrentUserApprover = ((_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 || (_window$globalProps = _window$globalProps.user) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.email) === approverEmail;
|
|
129
|
+
var isCurrentUserRequester = ((_window$globalProps2 = window.globalProps) === null || _window$globalProps2 === void 0 || (_window$globalProps2 = _window$globalProps2.user) === null || _window$globalProps2 === void 0 ? void 0 : _window$globalProps2.email) === requesterEmail;
|
|
130
|
+
var getStatusLabel = function getStatusLabel() {
|
|
131
|
+
if (isPending) {
|
|
132
|
+
return t("neetoApprovals.common.waitingFor");
|
|
133
|
+
}
|
|
134
|
+
return constants.STATUS_UPDATED_BY[status];
|
|
135
|
+
};
|
|
136
|
+
var handleOnClose = function handleOnClose() {
|
|
137
|
+
setNote("");
|
|
138
|
+
onClose();
|
|
139
|
+
};
|
|
140
|
+
var handleSubmit = function handleSubmit(status) {
|
|
141
|
+
return updatePendingRequest({
|
|
142
|
+
id: approvalDetails.id,
|
|
143
|
+
payload: _defineProperty({
|
|
144
|
+
status: status,
|
|
145
|
+
note: note
|
|
146
|
+
}, "".concat(status, "At"), new Date())
|
|
147
|
+
}, {
|
|
148
|
+
onSuccess: handleOnClose
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
|
|
152
|
+
isOpen: isOpen,
|
|
153
|
+
className: "flex flex-col",
|
|
154
|
+
size: "large",
|
|
155
|
+
onClose: handleOnClose,
|
|
156
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Header, {
|
|
157
|
+
className: "space-y-2",
|
|
158
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
159
|
+
variant: "h2",
|
|
160
|
+
children: title
|
|
161
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, {
|
|
162
|
+
variant: constants.STATUS_BADGE_VARIANT[constants.STATUS_TAG_STYLE[status]],
|
|
163
|
+
children: neetoCist.capitalize(status)
|
|
164
|
+
})]
|
|
165
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
|
|
166
|
+
className: "h-auto flex-grow space-y-6 pb-6",
|
|
167
|
+
hasFooter: isPending,
|
|
168
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
169
|
+
className: "w-full divide-y rounded border p-2",
|
|
170
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
171
|
+
className: "flex flex-col gap-2 p-2 lg:flex-row lg:gap-3",
|
|
172
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
|
|
173
|
+
className: "font-normal",
|
|
174
|
+
children: getStatusLabel()
|
|
175
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
176
|
+
variant: "body2",
|
|
177
|
+
weight: "medium",
|
|
178
|
+
children: requesterOrApproverDetails
|
|
179
|
+
})]
|
|
180
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
181
|
+
className: "flex flex-col gap-2 p-2 lg:flex-row lg:gap-3",
|
|
182
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
|
|
183
|
+
className: "font-normal",
|
|
184
|
+
children: t("neetoApprovals.common.created")
|
|
185
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
186
|
+
variant: "body2",
|
|
187
|
+
weight: "medium",
|
|
188
|
+
children: utils$1.dateFormat.defaultWithTime(timeInZone(createdAt))
|
|
189
|
+
})]
|
|
190
|
+
})]
|
|
191
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
192
|
+
className: "w-full space-y-2",
|
|
193
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
|
|
194
|
+
children: t("neetoApprovals.inputs.labels.message")
|
|
195
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent, {
|
|
196
|
+
className: "rounded bg-muted p-4",
|
|
197
|
+
content: message
|
|
198
|
+
})]
|
|
199
|
+
}), isPending && isCurrentUserApprover && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Textarea, {
|
|
200
|
+
className: "w-full",
|
|
201
|
+
disabled: !isPending,
|
|
202
|
+
label: t("neetoApprovals.common.note"),
|
|
203
|
+
value: note,
|
|
204
|
+
placeholder: t("neetoApprovals.inputs.placeholders.add_", {
|
|
205
|
+
what: t("neetoApprovals.common.note")
|
|
206
|
+
}),
|
|
207
|
+
onChange: utils$1.withEventTargetValue(setNote)
|
|
208
|
+
}), !isPending && note && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
209
|
+
className: "w-full space-y-2",
|
|
210
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
|
|
211
|
+
children: t("neetoApprovals.common.note")
|
|
212
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
213
|
+
className: "bg-muted p-4",
|
|
214
|
+
children: note
|
|
215
|
+
})]
|
|
216
|
+
})]
|
|
217
|
+
}), isPending && /*#__PURE__*/jsxRuntime.jsx(Footer, {
|
|
218
|
+
handleSubmit: handleSubmit,
|
|
219
|
+
isCurrentUserApprover: isCurrentUserApprover,
|
|
220
|
+
isCurrentUserRequester: isCurrentUserRequester,
|
|
221
|
+
isLoading: isUpdateRequestPending
|
|
222
|
+
})]
|
|
223
|
+
});
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
exports.RequestDetailsPane = RequestDetailsPane;
|
|
227
|
+
exports.getApprovalFilter = getApprovalFilter;
|
|
228
|
+
exports.updateApprovalDetails = updateApprovalDetails;
|
|
229
|
+
//# sourceMappingURL=index-hZqdAkyl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-hZqdAkyl.js","sources":["../app/javascript/src/v2/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/v2/components/Approvals/utils.js","../app/javascript/src/v2/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Sheet.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n variant=\"ghost\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Sheet.Footer>\n );\n }\n\n return (\n <Sheet.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Sheet.Footer>\n );\n};\n\nexport default Footer;\n","import timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n return findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport {\n Badge,\n Label,\n Sheet,\n Textarea,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/v2/utils\";\nimport EditorContent from \"neetoeditor/v2/EditorContent\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport {\n STATUSES,\n STATUS_BADGE_VARIANT,\n STATUS_TAG_STYLE,\n STATUS_UPDATED_BY,\n} from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Sheet\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Sheet.Header className=\"space-y-2\">\n <Typography variant=\"h2\">{title}</Typography>\n <Badge variant={STATUS_BADGE_VARIANT[STATUS_TAG_STYLE[status]]}>\n {capitalize(status)}\n </Badge>\n </Sheet.Header>\n <Sheet.Body\n className=\"h-auto flex-grow space-y-6 pb-6\"\n hasFooter={isPending}\n >\n <div className=\"w-full divide-y rounded border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography variant=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography variant=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"rounded bg-muted p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"bg-muted p-4\">{note}</div>\n </div>\n )}\n </Sheet.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Sheet>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Sheet","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","variant","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Typography","Badge","STATUS_BADGE_VARIANT","STATUS_TAG_STYLE","capitalize","Body","hasFooter","Label","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":"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"}
|
|
@@ -10,11 +10,9 @@ import Tag from '@bigbinary/neetoui/Tag';
|
|
|
10
10
|
import Textarea from '@bigbinary/neetoui/Textarea';
|
|
11
11
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
12
12
|
import { useTranslation } from 'react-i18next';
|
|
13
|
-
import {
|
|
14
|
-
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
15
|
-
import axios from 'axios';
|
|
16
|
-
import { B as BASE_URL, Q as QUERY_KEYS, S as STATUSES, a as STATUS_TAG_STYLE, b as STATUS_UPDATED_BY } from './constants-B5EiwxHH.js';
|
|
13
|
+
import { u as useUpdateRequest } from './useRequestsApi-DEGfFuv5.js';
|
|
17
14
|
import Button from '@bigbinary/neetoui/Button';
|
|
15
|
+
import { S as STATUSES, a as STATUS_TAG_STYLE, b as STATUS_UPDATED_BY } from './constants-qLYJlKc6.js';
|
|
18
16
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
19
17
|
import dayjs from 'dayjs';
|
|
20
18
|
import timezone from '@bigbinary/neeto-commons-frontend/utils/timezonePlugin';
|
|
@@ -23,48 +21,6 @@ import { t } from 'i18next';
|
|
|
23
21
|
import { PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
24
22
|
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
25
23
|
|
|
26
|
-
var fetch = function fetch(params, url) {
|
|
27
|
-
return axios.get(url, {
|
|
28
|
-
params: params
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
var update = function update(_ref) {
|
|
32
|
-
var id = _ref.id,
|
|
33
|
-
payload = _ref.payload;
|
|
34
|
-
return axios.put("".concat(BASE_URL, "/requests/").concat(id), {
|
|
35
|
-
request: payload
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
var requestsApi = {
|
|
39
|
-
fetch: fetch,
|
|
40
|
-
update: update
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
44
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
45
|
-
var useFetchRequests = function useFetchRequests(_ref) {
|
|
46
|
-
var requestUrl = _ref.requestUrl,
|
|
47
|
-
_ref$params = _ref.params,
|
|
48
|
-
params = _ref$params === void 0 ? {} : _ref$params,
|
|
49
|
-
_ref$options = _ref.options,
|
|
50
|
-
options = _ref$options === void 0 ? {} : _ref$options;
|
|
51
|
-
return useQuery(_objectSpread({
|
|
52
|
-
queryKey: [QUERY_KEYS.REQUESTS, params],
|
|
53
|
-
queryFn: function queryFn() {
|
|
54
|
-
return requestsApi.fetch(params, requestUrl);
|
|
55
|
-
},
|
|
56
|
-
select: function select(response) {
|
|
57
|
-
return response.data || response;
|
|
58
|
-
},
|
|
59
|
-
placeholderData: keepPreviousData
|
|
60
|
-
}, options));
|
|
61
|
-
};
|
|
62
|
-
var useUpdateRequest = function useUpdateRequest(options) {
|
|
63
|
-
return useMutationWithInvalidation(requestsApi.update, _objectSpread({
|
|
64
|
-
keysToInvalidate: [[QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
65
|
-
}, options));
|
|
66
|
-
};
|
|
67
|
-
|
|
68
24
|
var Footer = function Footer(_ref) {
|
|
69
25
|
var isLoading = _ref.isLoading,
|
|
70
26
|
handleSubmit = _ref.handleSubmit,
|
|
@@ -270,5 +226,5 @@ var RequestDetailsPane = function RequestDetailsPane(_ref) {
|
|
|
270
226
|
});
|
|
271
227
|
};
|
|
272
228
|
|
|
273
|
-
export { RequestDetailsPane as R,
|
|
274
|
-
//# sourceMappingURL=index-
|
|
229
|
+
export { RequestDetailsPane as R, getApprovalFilter as g, updateApprovalDetails as u };
|
|
230
|
+
//# sourceMappingURL=index-t8u9Sjvr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-t8u9Sjvr.js","sources":["../app/javascript/src/components/Approvals/RequestDetailsPane/Footer.jsx","../app/javascript/src/components/Approvals/utils.js","../app/javascript/src/components/Approvals/RequestDetailsPane/index.jsx"],"sourcesContent":["import { Button, Pane } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { STATUSES } from \"../constants\";\n\nconst Footer = ({\n isLoading,\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n}) => {\n const { t } = useTranslation();\n\n if (!isCurrentUserApprover && !isCurrentUserRequester) return null;\n\n if (isCurrentUserApprover) {\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.approve\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.approved)}\n />\n <Button\n label={t(\"neetoApprovals.buttons.decline\")}\n loading={isLoading}\n style=\"text\"\n onClick={() => handleSubmit(STATUSES.rejected)}\n />\n </Pane.Footer>\n );\n }\n\n return (\n <Pane.Footer className=\"flex flex-shrink-0 gap-x-2\">\n <Button\n label={t(\"neetoApprovals.buttons.cancelRequest\")}\n loading={isLoading}\n type=\"submit\"\n onClick={() => handleSubmit(STATUSES.cancelled)}\n />\n </Pane.Footer>\n );\n};\n\nexport default Footer;\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { t } from \"i18next\";\nimport { findBy, isPresent } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const updateApprovalDetails = ({ requestsData, approvalDetails }) => {\n if (isPresent(requestsData?.requests) && isPresent(approvalDetails)) {\n const request =\n findBy({ id: approvalDetails.id }, requestsData.requests) || {};\n\n return request;\n }\n\n return {};\n};\n\nexport const timeInZone = time => {\n globalProps.user?.timeZone && dayjs.tz.setDefault(globalProps.user?.timeZone);\n\n return dayjs(time).tz();\n};\n\nexport const getApprovalFilter = () => ({\n PENDING: { label: t(\"neetoApprovals.common.pending\"), value: \"PENDING\" },\n TEMPLATES: {\n label: t(\"neetoApprovals.common.template\", PLURAL),\n value: \"TEMPLATES\",\n },\n HISTORY: { label: t(\"neetoApprovals.common.history\"), value: \"HISTORY\" },\n});\n","import { memo, useEffect, useState } from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { dateFormat, withEventTargetValue } from \"neetocommons/utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Label, Pane, Tag, Textarea, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useUpdateRequest } from \"hooks/reactQuery/requests/useRequestsApi\";\n\nimport Footer from \"./Footer\";\n\nimport { STATUSES, STATUS_TAG_STYLE, STATUS_UPDATED_BY } from \"../constants\";\nimport { timeInZone } from \"../utils\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst RequestDetailsPane = ({\n isOpen,\n onClose,\n approvalDetails,\n isPending = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n title,\n status = \"\",\n message,\n createdAt,\n approverName,\n approverEmail,\n note: initialNote = \"\",\n requesterName,\n requesterEmail,\n } = approvalDetails;\n\n const [note, setNote] = useState(initialNote);\n\n const { mutate: updatePendingRequest, isPending: isUpdateRequestPending } =\n useUpdateRequest();\n\n useEffect(() => {\n setNote(initialNote);\n }, [initialNote]);\n\n const requesterOrApproverDetails =\n status === STATUSES.cancelled\n ? `${requesterName} (${requesterEmail})`\n : `${approverName} (${approverEmail})`;\n\n const isCurrentUserApprover =\n window.globalProps?.user?.email === approverEmail;\n\n const isCurrentUserRequester =\n window.globalProps?.user?.email === requesterEmail;\n\n const getStatusLabel = () => {\n if (isPending) {\n return t(\"neetoApprovals.common.waitingFor\");\n }\n\n return STATUS_UPDATED_BY[status];\n };\n\n const handleOnClose = () => {\n setNote(\"\");\n onClose();\n };\n\n const handleSubmit = status =>\n updatePendingRequest(\n {\n id: approvalDetails.id,\n payload: { status, note, [`${status}At`]: new Date() },\n },\n { onSuccess: handleOnClose }\n );\n\n return (\n <Pane\n {...{ isOpen }}\n className=\"flex flex-col\"\n size=\"large\"\n onClose={handleOnClose}\n >\n <Pane.Header className=\"space-y-2\">\n <Typography style=\"h2\">{title}</Typography>\n <Tag label={capitalize(status)} style={STATUS_TAG_STYLE[status]} />\n </Pane.Header>\n <Pane.Body className=\"h-auto flex-grow space-y-6 pb-6\">\n <div className=\"neeto-ui-rounded w-full divide-y border p-2\">\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">{getStatusLabel()}</Label>\n <Typography style=\"body2\" weight=\"medium\">\n {requesterOrApproverDetails}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-2 p-2 lg:flex-row lg:gap-3\">\n <Label className=\"font-normal\">\n {t(\"neetoApprovals.common.created\")}\n </Label>\n <Typography style=\"body2\" weight=\"medium\">\n {dateFormat.defaultWithTime(timeInZone(createdAt))}\n </Typography>\n </div>\n </div>\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.inputs.labels.message\")}</Label>\n <MemoizedEditorContent\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\"\n content={message}\n />\n </div>\n {isPending && isCurrentUserApprover && (\n <Textarea\n className=\"w-full\"\n disabled={!isPending}\n label={t(\"neetoApprovals.common.note\")}\n value={note}\n placeholder={t(\"neetoApprovals.inputs.placeholders.add_\", {\n what: t(\"neetoApprovals.common.note\"),\n })}\n onChange={withEventTargetValue(setNote)}\n />\n )}\n {!isPending && note && (\n <div className=\"w-full space-y-2\">\n <Label>{t(\"neetoApprovals.common.note\")}</Label>\n <div className=\"neeto-ui-bg-gray-100 p-4\">{note}</div>\n </div>\n )}\n </Pane.Body>\n {isPending && (\n <Footer\n {...{\n handleSubmit,\n isCurrentUserApprover,\n isCurrentUserRequester,\n }}\n isLoading={isUpdateRequestPending}\n />\n )}\n </Pane>\n );\n};\n\nexport default RequestDetailsPane;\n"],"names":["Footer","_ref","isLoading","handleSubmit","isCurrentUserApprover","isCurrentUserRequester","_useTranslation","useTranslation","t","_jsxs","Pane","className","children","_jsx","Button","label","loading","type","onClick","STATUSES","approved","style","rejected","cancelled","dayjs","extend","utc","timezone","updateApprovalDetails","requestsData","approvalDetails","isPresent","requests","request","findBy","id","timeInZone","time","_globalProps$user","_globalProps$user2","globalProps","user","timeZone","tz","setDefault","getApprovalFilter","PENDING","value","TEMPLATES","PLURAL","HISTORY","MemoizedEditorContent","memo","EditorContent","RequestDetailsPane","_window$globalProps","_window$globalProps2","isOpen","onClose","_ref$isPending","isPending","title","_approvalDetails$stat","status","message","createdAt","approverName","approverEmail","_approvalDetails$note","note","initialNote","requesterName","requesterEmail","_useState","useState","_useState2","_slicedToArray","setNote","_useUpdateRequest","useUpdateRequest","updatePendingRequest","mutate","isUpdateRequestPending","useEffect","requesterOrApproverDetails","concat","window","email","getStatusLabel","STATUS_UPDATED_BY","handleOnClose","payload","_defineProperty","Date","onSuccess","size","Header","Typography","Tag","capitalize","STATUS_TAG_STYLE","Body","Label","weight","dateFormat","defaultWithTime","content","Textarea","disabled","placeholder","what","onChange","withEventTargetValue"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
1
|
export { default as Approvals } from './Approvals.js';
|
|
2
2
|
export { default as Form } from './Form.js';
|
|
3
3
|
export { default as Public } from './Public.js';
|
|
4
|
-
export { R as RequestDetailsPane } from './index-
|
|
4
|
+
export { R as RequestDetailsPane } from './index-t8u9Sjvr.js';
|
|
5
5
|
import '@babel/runtime/helpers/defineProperty';
|
|
6
6
|
import '@babel/runtime/helpers/slicedToArray';
|
|
7
7
|
import 'react';
|
|
8
8
|
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
9
9
|
import '@bigbinary/neeto-molecules/Container';
|
|
10
10
|
import 'react-router-dom';
|
|
11
|
-
import '
|
|
11
|
+
import './useViewsApi-k6u7op_J.js';
|
|
12
|
+
import 'ramda';
|
|
12
13
|
import '@bigbinary/neeto-commons-frontend/constants';
|
|
14
|
+
import '@tanstack/react-query';
|
|
15
|
+
import 'axios';
|
|
16
|
+
import './queryConstants-Vrcjv9lF.js';
|
|
17
|
+
import 'i18next';
|
|
13
18
|
import '@bigbinary/neetoui/Button';
|
|
14
19
|
import '@bigbinary/neeto-cist';
|
|
15
20
|
import '@bigbinary/neeto-molecules/TableWrapper';
|
|
16
21
|
import '@bigbinary/neetoui/Table';
|
|
17
22
|
import '@bigbinary/neetoui/NoData';
|
|
18
|
-
import 'ramda';
|
|
19
23
|
import 'react-i18next';
|
|
24
|
+
import './useRequestsApi-DEGfFuv5.js';
|
|
20
25
|
import '@bigbinary/neeto-molecules/DateFormat';
|
|
21
26
|
import '@bigbinary/neetoui/Tag';
|
|
22
|
-
import './constants-
|
|
27
|
+
import './constants-qLYJlKc6.js';
|
|
23
28
|
import '@bigbinary/neeto-editor/utils';
|
|
24
29
|
import 'yup';
|
|
25
30
|
import 'react/jsx-runtime';
|
|
26
31
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
27
32
|
import '@bigbinary/neeto-molecules/PageLoader';
|
|
28
33
|
import '@bigbinary/neetoui/Alert';
|
|
29
|
-
import './useTemplatesApi-
|
|
30
|
-
import '@tanstack/react-query';
|
|
34
|
+
import './useTemplatesApi-BII_qvcl.js';
|
|
31
35
|
import '@bigbinary/neeto-commons-frontend/utils';
|
|
32
|
-
import 'axios';
|
|
33
36
|
import '@bigbinary/neetoui/Pane';
|
|
34
37
|
import '@bigbinary/neetoui/Typography';
|
|
35
38
|
import '@bigbinary/neetoui/formik/ActionBlock';
|
|
@@ -46,9 +49,11 @@ import '@bigbinary/neeto-molecules/Header';
|
|
|
46
49
|
import '@bigbinary/neetoui/Tab';
|
|
47
50
|
import '@bigbinary/neeto-commons-frontend/initializers';
|
|
48
51
|
import '@bigbinary/neetoui/Select';
|
|
52
|
+
import './useApproversApi-B7ChYonT.js';
|
|
49
53
|
import '@bigbinary/neeto-molecules/CardLayout';
|
|
50
54
|
import '@bigbinary/neetoui/Callout';
|
|
51
55
|
import '@bigbinary/neetoui/Textarea';
|
|
56
|
+
import './useApprovalRequest-D_WJmB5t.js';
|
|
52
57
|
import 'dayjs';
|
|
53
58
|
import '@bigbinary/neeto-commons-frontend/utils/timezonePlugin';
|
|
54
59
|
import 'dayjs/plugin/utc';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var BASE_URL = "neeto_approvals";
|
|
4
|
+
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
5
|
+
|
|
6
|
+
var QUERY_KEYS = {
|
|
7
|
+
APPROVERS: "neeto-approvals-approvers",
|
|
8
|
+
TEMPLATES: "neeto-approvals-templates",
|
|
9
|
+
REQUESTS: "neeto-approvals-requests",
|
|
10
|
+
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
11
|
+
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
12
|
+
VIEWS: "neeto-approvals-views"
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.BASE_URL = BASE_URL;
|
|
16
|
+
exports.QUERY_KEYS = QUERY_KEYS;
|
|
17
|
+
exports.TEMPLATE_URL = TEMPLATE_URL;
|
|
18
|
+
//# sourceMappingURL=queryConstants-DjYiOKxE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryConstants-DjYiOKxE.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/common/queryConstants.js"],"sourcesContent":["export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n"],"names":["BASE_URL","TEMPLATE_URL","concat","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS"],"mappings":";;AAMO,IAAMA,QAAQ,GAAG;IACXC,YAAY,GAAA,EAAA,CAAAC,MAAA,CAAMF,QAAQ,EAAA,YAAA;;ACPhC,IAAMG,UAAU,GAAG;AACxBC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EAAE,qCAAqC;AAC1DC,EAAAA,KAAK,EAAE;AACT;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var BASE_URL = "neeto_approvals";
|
|
2
|
+
var TEMPLATE_URL = "".concat(BASE_URL, "/templates");
|
|
3
|
+
|
|
4
|
+
var QUERY_KEYS = {
|
|
5
|
+
APPROVERS: "neeto-approvals-approvers",
|
|
6
|
+
TEMPLATES: "neeto-approvals-templates",
|
|
7
|
+
REQUESTS: "neeto-approvals-requests",
|
|
8
|
+
SHOW_TEMPLATE: "neeto-approvals-show-template",
|
|
9
|
+
SHOW_PUBLIC_REQUEST: "neeto-approvals-show-public-request",
|
|
10
|
+
VIEWS: "neeto-approvals-views"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { BASE_URL as B, QUERY_KEYS as Q, TEMPLATE_URL as T };
|
|
14
|
+
//# sourceMappingURL=queryConstants-Vrcjv9lF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryConstants-Vrcjv9lF.js","sources":["../app/javascript/src/common/constants.js","../app/javascript/src/common/queryConstants.js"],"sourcesContent":["export const MANAGE_MEMBER_PERMISSIONS = [\n \"members.manage_members\",\n \"agents.manage_agents\",\n];\nexport const DEFAULT_PERMISSION = true; // Until we add permission prop to all neeto apps, this is the default permission.\n\nexport const BASE_URL = \"neeto_approvals\";\nexport const TEMPLATE_URL = `${BASE_URL}/templates`;\n","export const QUERY_KEYS = {\n APPROVERS: \"neeto-approvals-approvers\",\n TEMPLATES: \"neeto-approvals-templates\",\n REQUESTS: \"neeto-approvals-requests\",\n SHOW_TEMPLATE: \"neeto-approvals-show-template\",\n SHOW_PUBLIC_REQUEST: \"neeto-approvals-show-public-request\",\n VIEWS: \"neeto-approvals-views\",\n};\n"],"names":["BASE_URL","TEMPLATE_URL","concat","QUERY_KEYS","APPROVERS","TEMPLATES","REQUESTS","SHOW_TEMPLATE","SHOW_PUBLIC_REQUEST","VIEWS"],"mappings":"AAMO,IAAMA,QAAQ,GAAG;IACXC,YAAY,GAAA,EAAA,CAAAC,MAAA,CAAMF,QAAQ,EAAA,YAAA;;ACPhC,IAAMG,UAAU,GAAG;AACxBC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,SAAS,EAAE,2BAA2B;AACtCC,EAAAA,QAAQ,EAAE,0BAA0B;AACpCC,EAAAA,aAAa,EAAE,+BAA+B;AAC9CC,EAAAA,mBAAmB,EAAE,qCAAqC;AAC1DC,EAAAA,KAAK,EAAE;AACT;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import axios from 'axios';
|
|
5
|
+
import { B as BASE_URL, Q as QUERY_KEYS } from './queryConstants-Vrcjv9lF.js';
|
|
6
|
+
|
|
7
|
+
var show = function show(id) {
|
|
8
|
+
return axios.get("".concat(BASE_URL, "/public/requests/").concat(id));
|
|
9
|
+
};
|
|
10
|
+
var accept = function accept(_ref) {
|
|
11
|
+
var id = _ref.id,
|
|
12
|
+
note = _ref.note;
|
|
13
|
+
return axios.patch("".concat(BASE_URL, "/public/requests/").concat(id, "/accept"), {
|
|
14
|
+
note: note
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
var decline = function decline(_ref2) {
|
|
18
|
+
var id = _ref2.id,
|
|
19
|
+
note = _ref2.note;
|
|
20
|
+
return axios.patch("".concat(BASE_URL, "/public/requests/").concat(id, "/decline"), {
|
|
21
|
+
note: note
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var publicRequestsApi = {
|
|
25
|
+
show: show,
|
|
26
|
+
accept: accept,
|
|
27
|
+
decline: decline
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
31
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
|
+
var useFetchPublicRequest = function useFetchPublicRequest(_ref, options) {
|
|
33
|
+
var requestId = _ref.requestId;
|
|
34
|
+
return useQuery(_objectSpread({
|
|
35
|
+
queryKey: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],
|
|
36
|
+
queryFn: function queryFn() {
|
|
37
|
+
return publicRequestsApi.show(requestId);
|
|
38
|
+
}
|
|
39
|
+
}, options));
|
|
40
|
+
};
|
|
41
|
+
var useAcceptPendingRequest = function useAcceptPendingRequest(options) {
|
|
42
|
+
return useMutationWithInvalidation(publicRequestsApi.accept, _objectSpread({
|
|
43
|
+
keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
44
|
+
}, options));
|
|
45
|
+
};
|
|
46
|
+
var useDeclinePendingRequest = function useDeclinePendingRequest(options) {
|
|
47
|
+
return useMutationWithInvalidation(publicRequestsApi.decline, _objectSpread({
|
|
48
|
+
keysToInvalidate: [[QUERY_KEYS.SHOW_PUBLIC_REQUEST], [QUERY_KEYS.REQUESTS], [QUERY_KEYS.VIEWS]]
|
|
49
|
+
}, options));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { useAcceptPendingRequest as a, useDeclinePendingRequest as b, useFetchPublicRequest as u };
|
|
53
|
+
//# sourceMappingURL=useApprovalRequest-D_WJmB5t.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApprovalRequest-D_WJmB5t.js","sources":["../app/javascript/src/apis/public/requests.js","../app/javascript/src/hooks/reactQuery/public/requests/useApprovalRequest.js"],"sourcesContent":["import axios from \"axios\";\nimport { BASE_URL } from \"common/constants\";\n\nconst show = id => axios.get(`${BASE_URL}/public/requests/${id}`);\n\nconst accept = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/accept`, { note });\n\nconst decline = ({ id, note }) =>\n axios.patch(`${BASE_URL}/public/requests/${id}/decline`, { note });\n\nconst publicRequestsApi = { show, accept, decline };\n\nexport default publicRequestsApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"@tanstack/react-query\";\n\nimport publicRequestsApi from \"apis/public/requests\";\nimport { QUERY_KEYS } from \"common/queryConstants\";\n\nconst useFetchPublicRequest = ({ requestId }, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.SHOW_PUBLIC_REQUEST, requestId],\n queryFn: () => publicRequestsApi.show(requestId),\n ...options,\n });\n\nconst useAcceptPendingRequest = options =>\n useMutationWithInvalidation(publicRequestsApi.accept, {\n keysToInvalidate: [\n [QUERY_KEYS.SHOW_PUBLIC_REQUEST],\n [QUERY_KEYS.REQUESTS],\n [QUERY_KEYS.VIEWS],\n ],\n ...options,\n });\n\nconst useDeclinePendingRequest = options =>\n useMutationWithInvalidation(publicRequestsApi.decline, {\n keysToInvalidate: [\n [QUERY_KEYS.SHOW_PUBLIC_REQUEST],\n [QUERY_KEYS.REQUESTS],\n [QUERY_KEYS.VIEWS],\n ],\n ...options,\n });\n\nexport {\n useFetchPublicRequest,\n useAcceptPendingRequest,\n useDeclinePendingRequest,\n};\n"],"names":["show","id","axios","get","concat","BASE_URL","accept","_ref","note","patch","decline","_ref2","publicRequestsApi","useFetchPublicRequest","options","requestId","useQuery","_objectSpread","queryKey","QUERY_KEYS","SHOW_PUBLIC_REQUEST","queryFn","useAcceptPendingRequest","useMutationWithInvalidation","keysToInvalidate","REQUESTS","VIEWS","useDeclinePendingRequest"],"mappings":";;;;;;AAGA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAGC,EAAE,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIC,QAAQ,EAAA,mBAAA,CAAA,CAAAD,MAAA,CAAoBH,EAAE,CAAE,CAAC;AAAA,CAAA;AAEjE,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMN,EAAE,GAAAM,IAAA,CAAFN,EAAE;IAAEO,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAAA,OACxBN,KAAK,CAACO,KAAK,CAAA,EAAA,CAAAL,MAAA,CAAIC,QAAQ,EAAA,mBAAA,CAAA,CAAAD,MAAA,CAAoBH,EAAE,EAAA,SAAA,CAAA,EAAW;AAAEO,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;AAAA,CAAA;AAEnE,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMV,EAAE,GAAAU,KAAA,CAAFV,EAAE;IAAEO,IAAI,GAAAG,KAAA,CAAJH,IAAI;EAAA,OACzBN,KAAK,CAACO,KAAK,CAAA,EAAA,CAAAL,MAAA,CAAIC,QAAQ,EAAA,mBAAA,CAAA,CAAAD,MAAA,CAAoBH,EAAE,EAAA,UAAA,CAAA,EAAY;AAAEO,IAAAA,IAAI,EAAJA;AAAK,GAAC,CAAC;AAAA,CAAA;AAEpE,IAAMI,iBAAiB,GAAG;AAAEZ,EAAAA,IAAI,EAAJA,IAAI;AAAEM,EAAAA,MAAM,EAANA,MAAM;AAAEI,EAAAA,OAAO,EAAPA;AAAQ,CAAC;;;;ACLnD,IAAMG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAN,IAAA,EAAmBO,OAAO,EAAA;AAAA,EAAA,IAApBC,SAAS,GAAAR,IAAA,CAATQ,SAAS;EAAA,OACxCC,QAAQ,CAAAC,aAAA,CAAA;AACNC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,mBAAmB,EAAEL,SAAS,CAAC;IACrDM,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQT,iBAAiB,CAACZ,IAAI,CAACe,SAAS,CAAC;AAAA,IAAA;GAAA,EAC7CD,OAAO,CACX,CAAC;AAAA;AAEJ,IAAMQ,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAGR,OAAO,EAAA;AAAA,EAAA,OACrCS,2BAA2B,CAACX,iBAAiB,CAACN,MAAM,EAAAW,aAAA,CAAA;AAClDO,IAAAA,gBAAgB,EAAE,CAChB,CAACL,UAAU,CAACC,mBAAmB,CAAC,EAChC,CAACD,UAAU,CAACM,QAAQ,CAAC,EACrB,CAACN,UAAU,CAACO,KAAK,CAAC;GACnB,EACEZ,OAAO,CACX,CAAC;AAAA;AAEJ,IAAMa,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGb,OAAO,EAAA;AAAA,EAAA,OACtCS,2BAA2B,CAACX,iBAAiB,CAACF,OAAO,EAAAO,aAAA,CAAA;AACnDO,IAAAA,gBAAgB,EAAE,CAChB,CAACL,UAAU,CAACC,mBAAmB,CAAC,EAChC,CAACD,UAAU,CAACM,QAAQ,CAAC,EACrB,CAACN,UAAU,CAACO,KAAK,CAAC;GACnB,EACEZ,OAAO,CACX,CAAC;AAAA;;;;"}
|