@bigbinary/neeto-pdf-frontend 1.0.2 → 1.0.3

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.
Files changed (64) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/AttachmentCard-Blp45MKz.js +64 -0
  3. package/dist/AttachmentCard-Blp45MKz.js.map +1 -0
  4. package/dist/AttachmentCard-CbDrjY7P.js +67 -0
  5. package/dist/AttachmentCard-CbDrjY7P.js.map +1 -0
  6. package/dist/FilenameUtilities-DFEKeP7n.js +150 -0
  7. package/dist/FilenameUtilities-DFEKeP7n.js.map +1 -0
  8. package/dist/{FilenameUtilities-BRCCinT2.js → FilenameUtilities-Di7TmEIR.js} +9 -184
  9. package/dist/FilenameUtilities-Di7TmEIR.js.map +1 -0
  10. package/dist/FilenameUtilities-SpduImYz.js +139 -0
  11. package/dist/FilenameUtilities-SpduImYz.js.map +1 -0
  12. package/dist/{FilenameUtilities-DHtvZ32y.js → FilenameUtilities-Xttn7r8R.js} +2 -177
  13. package/dist/FilenameUtilities-Xttn7r8R.js.map +1 -0
  14. package/dist/IconBlock-BZvD1k7W.js +17 -0
  15. package/dist/IconBlock-BZvD1k7W.js.map +1 -0
  16. package/dist/IconBlock-Cte1G732.js +15 -0
  17. package/dist/IconBlock-Cte1G732.js.map +1 -0
  18. package/dist/PdfDocumentsPage.js +2 -1
  19. package/dist/PdfDocumentsPage.js.map +1 -1
  20. package/dist/PdfEditorPage.js +3 -146
  21. package/dist/PdfEditorPage.js.map +1 -1
  22. package/dist/cjs/PdfDocumentsPage.js +2 -1
  23. package/dist/cjs/PdfDocumentsPage.js.map +1 -1
  24. package/dist/cjs/PdfEditorPage.js +12 -155
  25. package/dist/cjs/PdfEditorPage.js.map +1 -1
  26. package/dist/cjs/index.js +3 -1
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/v2/PdfAttachmentSelector.js +95 -0
  29. package/dist/cjs/v2/PdfAttachmentSelector.js.map +1 -0
  30. package/dist/cjs/v2/PdfAttachmentsPreview.js +45 -0
  31. package/dist/cjs/v2/PdfAttachmentsPreview.js.map +1 -0
  32. package/dist/cjs/v2/PdfDocumentsPage.js +555 -0
  33. package/dist/cjs/v2/PdfDocumentsPage.js.map +1 -0
  34. package/dist/cjs/v2/PdfEditorPage.js +1920 -0
  35. package/dist/cjs/v2/PdfEditorPage.js.map +1 -0
  36. package/dist/cjs/v2/index.js +67 -0
  37. package/dist/cjs/v2/index.js.map +1 -0
  38. package/dist/constants-DDj0SAA-.js +8 -0
  39. package/dist/constants-DDj0SAA-.js.map +1 -0
  40. package/dist/constants-MHmmvZDo.js +5 -0
  41. package/dist/constants-MHmmvZDo.js.map +1 -0
  42. package/dist/index.js +3 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/pdf_documents-PKt4xiTc.js +181 -0
  45. package/dist/pdf_documents-PKt4xiTc.js.map +1 -0
  46. package/dist/pdf_documents-j2CBlJrR.js +179 -0
  47. package/dist/pdf_documents-j2CBlJrR.js.map +1 -0
  48. package/dist/pdf_mapping_schema-CS6f9Kug.js +149 -0
  49. package/dist/pdf_mapping_schema-CS6f9Kug.js.map +1 -0
  50. package/dist/pdf_mapping_schema-Co4FN4KU.js +147 -0
  51. package/dist/pdf_mapping_schema-Co4FN4KU.js.map +1 -0
  52. package/dist/v2/PdfAttachmentSelector.js +93 -0
  53. package/dist/v2/PdfAttachmentSelector.js.map +1 -0
  54. package/dist/v2/PdfAttachmentsPreview.js +43 -0
  55. package/dist/v2/PdfAttachmentsPreview.js.map +1 -0
  56. package/dist/v2/PdfDocumentsPage.js +553 -0
  57. package/dist/v2/PdfDocumentsPage.js.map +1 -0
  58. package/dist/v2/PdfEditorPage.js +1899 -0
  59. package/dist/v2/PdfEditorPage.js.map +1 -0
  60. package/dist/v2/index.js +58 -0
  61. package/dist/v2/index.js.map +1 -0
  62. package/package.json +13 -1
  63. package/dist/FilenameUtilities-BRCCinT2.js.map +0 -1
  64. package/dist/FilenameUtilities-DHtvZ32y.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/v2/react-utils';
5
+ import { p as pdfDocumentsApi } from './pdf_documents-j2CBlJrR.js';
6
+
7
+ 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; }
8
+ 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; }
9
+ var documentKeys = function documentKeys(ownerId, apiBaseUrl) {
10
+ return ["neeto-pdf-documents", apiBaseUrl, ownerId];
11
+ };
12
+ var useInvalidatingMutation = function useInvalidatingMutation(mutationFn, ownerId, apiBaseUrl) {
13
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
14
+ return useMutationWithInvalidation(mutationFn, _objectSpread({
15
+ keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)]
16
+ }, options));
17
+ };
18
+ var getPdfDocumentApiErrorMessage = function getPdfDocumentApiErrorMessage(error, fallback) {
19
+ var _error$response;
20
+ return (error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.error) || fallback;
21
+ };
22
+ var useFetchPdfDocuments = function useFetchPdfDocuments(_ref) {
23
+ var apiBaseUrl = _ref.apiBaseUrl,
24
+ ownerId = _ref.ownerId,
25
+ _ref$options = _ref.options,
26
+ options = _ref$options === void 0 ? {} : _ref$options;
27
+ return useQuery(_objectSpread({
28
+ queryKey: documentKeys(ownerId, apiBaseUrl),
29
+ queryFn: function queryFn() {
30
+ return pdfDocumentsApi.list({
31
+ apiBaseUrl: apiBaseUrl,
32
+ ownerId: ownerId
33
+ });
34
+ },
35
+ enabled: Boolean(apiBaseUrl && ownerId)
36
+ }, options));
37
+ };
38
+ var useFetchPdfDocument = function useFetchPdfDocument(_ref2) {
39
+ var apiBaseUrl = _ref2.apiBaseUrl,
40
+ ownerId = _ref2.ownerId,
41
+ documentId = _ref2.documentId,
42
+ _ref2$options = _ref2.options,
43
+ options = _ref2$options === void 0 ? {} : _ref2$options;
44
+ return useQuery(_objectSpread({
45
+ queryKey: [].concat(_toConsumableArray(documentKeys(ownerId, apiBaseUrl)), [documentId]),
46
+ queryFn: function queryFn() {
47
+ return pdfDocumentsApi.show({
48
+ apiBaseUrl: apiBaseUrl,
49
+ ownerId: ownerId,
50
+ documentId: documentId
51
+ });
52
+ },
53
+ enabled: Boolean(apiBaseUrl && ownerId && documentId)
54
+ }, options));
55
+ };
56
+ var useCreatePdfDocument = function useCreatePdfDocument(_ref3) {
57
+ var apiBaseUrl = _ref3.apiBaseUrl,
58
+ ownerId = _ref3.ownerId,
59
+ _ref3$options = _ref3.options,
60
+ options = _ref3$options === void 0 ? {} : _ref3$options;
61
+ return useInvalidatingMutation(function (file) {
62
+ return pdfDocumentsApi.create({
63
+ apiBaseUrl: apiBaseUrl,
64
+ ownerId: ownerId,
65
+ file: file
66
+ });
67
+ }, ownerId, apiBaseUrl, options);
68
+ };
69
+ var useUpdatePdfDocument = function useUpdatePdfDocument(_ref4) {
70
+ var apiBaseUrl = _ref4.apiBaseUrl,
71
+ ownerId = _ref4.ownerId,
72
+ _ref4$options = _ref4.options,
73
+ options = _ref4$options === void 0 ? {} : _ref4$options;
74
+ return useInvalidatingMutation(function (_ref5) {
75
+ var documentId = _ref5.documentId,
76
+ payload = _ref5.payload;
77
+ return pdfDocumentsApi.update({
78
+ apiBaseUrl: apiBaseUrl,
79
+ ownerId: ownerId,
80
+ documentId: documentId,
81
+ payload: payload
82
+ });
83
+ }, ownerId, apiBaseUrl, options);
84
+ };
85
+ var useUpdatePdfDocumentTemplateFile = function useUpdatePdfDocumentTemplateFile(_ref6) {
86
+ var apiBaseUrl = _ref6.apiBaseUrl,
87
+ ownerId = _ref6.ownerId,
88
+ _ref6$options = _ref6.options,
89
+ options = _ref6$options === void 0 ? {} : _ref6$options;
90
+ return useInvalidatingMutation(function (_ref7) {
91
+ var documentId = _ref7.documentId,
92
+ file = _ref7.file;
93
+ return pdfDocumentsApi.updateTemplateFile({
94
+ apiBaseUrl: apiBaseUrl,
95
+ ownerId: ownerId,
96
+ documentId: documentId,
97
+ file: file
98
+ });
99
+ }, ownerId, apiBaseUrl, options);
100
+ };
101
+ var useClonePdfDocument = function useClonePdfDocument(_ref8) {
102
+ var apiBaseUrl = _ref8.apiBaseUrl,
103
+ ownerId = _ref8.ownerId,
104
+ _ref8$options = _ref8.options,
105
+ options = _ref8$options === void 0 ? {} : _ref8$options;
106
+ return useInvalidatingMutation(function (documentId) {
107
+ return pdfDocumentsApi.clone({
108
+ apiBaseUrl: apiBaseUrl,
109
+ ownerId: ownerId,
110
+ documentId: documentId
111
+ });
112
+ }, ownerId, apiBaseUrl, options);
113
+ };
114
+ var useDeletePdfDocument = function useDeletePdfDocument(_ref9) {
115
+ var apiBaseUrl = _ref9.apiBaseUrl,
116
+ ownerId = _ref9.ownerId,
117
+ _ref9$options = _ref9.options,
118
+ options = _ref9$options === void 0 ? {} : _ref9$options;
119
+ return useInvalidatingMutation(function (documentId) {
120
+ return pdfDocumentsApi.destroy({
121
+ apiBaseUrl: apiBaseUrl,
122
+ ownerId: ownerId,
123
+ documentId: documentId
124
+ });
125
+ }, ownerId, apiBaseUrl, options);
126
+ };
127
+
128
+ var buildOutputFilenameTemplate = function buildOutputFilenameTemplate(name) {
129
+ var parameterizedName = (name || "").trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
130
+ return "".concat(parameterizedName || "document", "-{{id}}.pdf");
131
+ };
132
+ var buildOutputFilename = function buildOutputFilename(pdfDocument, submission) {
133
+ var base = (pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.outputFilename) || "".concat((pdfDocument === null || pdfDocument === void 0 ? void 0 : pdfDocument.name) || "document", ".pdf");
134
+ var withId = base.replace(/\{\{\s*id\s*\}\}/g, (submission === null || submission === void 0 ? void 0 : submission.id) || "");
135
+ return withId.endsWith(".pdf") ? withId : "".concat(withId, ".pdf");
136
+ };
137
+
138
+ export { useDeletePdfDocument as a, useUpdatePdfDocumentTemplateFile as b, useClonePdfDocument as c, buildOutputFilenameTemplate as d, useFetchPdfDocuments as e, useCreatePdfDocument as f, getPdfDocumentApiErrorMessage as g, buildOutputFilename as h, useFetchPdfDocument as i, useUpdatePdfDocument as u };
139
+ //# sourceMappingURL=FilenameUtilities-SpduImYz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilenameUtilities-SpduImYz.js","sources":["../app/javascript/src/v2/hooks/usePdfDocumentsApi.js","../app/javascript/src/v2/components/PdfDocuments/FilenameUtilities.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/v2/react-utils\";\n\nimport pdfDocumentsApi from \"src/apis/pdf_documents\";\n\nconst documentKeys = (ownerId, apiBaseUrl) => [\n \"neeto-pdf-documents\",\n apiBaseUrl,\n ownerId,\n];\n\nconst useInvalidatingMutation = (\n mutationFn,\n ownerId,\n apiBaseUrl,\n options = {}\n) =>\n useMutationWithInvalidation(mutationFn, {\n keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)],\n ...options,\n });\n\nexport const getPdfDocumentApiErrorMessage = (error, fallback) =>\n error?.response?.data?.error || fallback;\n\nexport const useFetchPdfDocuments = ({ apiBaseUrl, ownerId, options = {} }) =>\n useQuery({\n queryKey: documentKeys(ownerId, apiBaseUrl),\n queryFn: () => pdfDocumentsApi.list({ apiBaseUrl, ownerId }),\n enabled: Boolean(apiBaseUrl && ownerId),\n ...options,\n });\n\nexport const useFetchPdfDocument = ({\n apiBaseUrl,\n ownerId,\n documentId,\n options = {},\n}) =>\n useQuery({\n queryKey: [...documentKeys(ownerId, apiBaseUrl), documentId],\n queryFn: () => pdfDocumentsApi.show({ apiBaseUrl, ownerId, documentId }),\n enabled: Boolean(apiBaseUrl && ownerId && documentId),\n ...options,\n });\n\nexport const useCreatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n file => pdfDocumentsApi.create({ apiBaseUrl, ownerId, file }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n ({ documentId, payload }) =>\n pdfDocumentsApi.update({ apiBaseUrl, ownerId, documentId, payload }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocumentTemplateFile = ({\n apiBaseUrl,\n ownerId,\n options = {},\n}) =>\n useInvalidatingMutation(\n ({ documentId, file }) =>\n pdfDocumentsApi.updateTemplateFile({\n apiBaseUrl,\n ownerId,\n documentId,\n file,\n }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useClonePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.clone({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useDeletePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.destroy({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n","export const buildOutputFilenameTemplate = name => {\n const parameterizedName = (name || \"\")\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n\n return `${parameterizedName || \"document\"}-{{id}}.pdf`;\n};\n\nexport const buildOutputFilename = (pdfDocument, submission) => {\n const base =\n pdfDocument?.outputFilename || `${pdfDocument?.name || \"document\"}.pdf`;\n const withId = base.replace(/\\{\\{\\s*id\\s*\\}\\}/g, submission?.id || \"\");\n\n return withId.endsWith(\".pdf\") ? withId : `${withId}.pdf`;\n};\n"],"names":["documentKeys","ownerId","apiBaseUrl","useInvalidatingMutation","mutationFn","options","arguments","length","undefined","useMutationWithInvalidation","_objectSpread","keysToInvalidate","getPdfDocumentApiErrorMessage","error","fallback","_error$response","response","data","useFetchPdfDocuments","_ref","_ref$options","useQuery","queryKey","queryFn","pdfDocumentsApi","list","enabled","Boolean","useFetchPdfDocument","_ref2","documentId","_ref2$options","concat","_toConsumableArray","show","useCreatePdfDocument","_ref3","_ref3$options","file","create","useUpdatePdfDocument","_ref4","_ref4$options","_ref5","payload","update","useUpdatePdfDocumentTemplateFile","_ref6","_ref6$options","_ref7","updateTemplateFile","useClonePdfDocument","_ref8","_ref8$options","clone","useDeletePdfDocument","_ref9","_ref9$options","destroy","buildOutputFilenameTemplate","name","parameterizedName","trim","toLowerCase","replace","buildOutputFilename","pdfDocument","submission","base","outputFilename","withId","id","endsWith"],"mappings":"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"}
@@ -2,182 +2,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
5
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
6
- import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import axios from 'axios';
8
-
9
- var trimTrailingSlash = function trimTrailingSlash(value) {
10
- return (value === null || value === void 0 ? void 0 : value.replace(/\/+$/, "")) || "";
11
- };
12
- var documentsUrl = function documentsUrl(apiBaseUrl) {
13
- return "".concat(trimTrailingSlash(apiBaseUrl), "/documents");
14
- };
15
- var documentUrl = function documentUrl(_ref) {
16
- var apiBaseUrl = _ref.apiBaseUrl,
17
- documentId = _ref.documentId;
18
- return "".concat(documentsUrl(apiBaseUrl), "/").concat(documentId);
19
- };
20
- var documentActionUrl = function documentActionUrl(_ref2) {
21
- var apiBaseUrl = _ref2.apiBaseUrl,
22
- documentId = _ref2.documentId,
23
- _ref2$suffix = _ref2.suffix,
24
- suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix;
25
- return "".concat(documentUrl({
26
- apiBaseUrl: apiBaseUrl,
27
- documentId: documentId
28
- })).concat(suffix);
29
- };
30
- var normalizeResponse = /*#__PURE__*/function () {
31
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
32
- var _response$data;
33
- var response;
34
- return _regeneratorRuntime.wrap(function _callee$(_context) {
35
- while (1) switch (_context.prev = _context.next) {
36
- case 0:
37
- _context.next = 2;
38
- return request;
39
- case 2:
40
- response = _context.sent;
41
- return _context.abrupt("return", (_response$data = response === null || response === void 0 ? void 0 : response.data) !== null && _response$data !== void 0 ? _response$data : response);
42
- case 4:
43
- case "end":
44
- return _context.stop();
45
- }
46
- }, _callee);
47
- }));
48
- return function normalizeResponse(_x) {
49
- return _ref3.apply(this, arguments);
50
- };
51
- }();
52
- var list = function list(_ref4) {
53
- var apiBaseUrl = _ref4.apiBaseUrl,
54
- ownerId = _ref4.ownerId;
55
- return normalizeResponse(axios.get(documentsUrl(apiBaseUrl), {
56
- params: {
57
- ownerId: ownerId
58
- }
59
- }));
60
- };
61
- var show = function show(_ref5) {
62
- var apiBaseUrl = _ref5.apiBaseUrl,
63
- ownerId = _ref5.ownerId,
64
- documentId = _ref5.documentId;
65
- return normalizeResponse(axios.get(documentUrl({
66
- apiBaseUrl: apiBaseUrl,
67
- documentId: documentId
68
- }), {
69
- params: {
70
- ownerId: ownerId
71
- }
72
- }));
73
- };
74
- var create = function create(_ref6) {
75
- var _file$name2, _file$name2$trim;
76
- var apiBaseUrl = _ref6.apiBaseUrl,
77
- ownerId = _ref6.ownerId,
78
- file = _ref6.file;
79
- if (file !== null && file !== void 0 && file.signedId) {
80
- var _file$name;
81
- return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), {
82
- template_file: file.signedId,
83
- name: (_file$name = file.name) === null || _file$name === void 0 ? void 0 : _file$name.replace(/\.[^/.]+$/, "")
84
- }, {
85
- params: {
86
- ownerId: ownerId
87
- }
88
- }));
89
- }
90
- var formData = new FormData();
91
- var sanitizedName = file === null || file === void 0 || (_file$name2 = file.name) === null || _file$name2 === void 0 || (_file$name2$trim = _file$name2.trim) === null || _file$name2$trim === void 0 ? void 0 : _file$name2$trim.call(_file$name2).replace(/\.[^/.]+$/, "");
92
- var baseName = sanitizedName || "";
93
- formData.append("template_file", file);
94
- formData.append("name", baseName);
95
- return normalizeResponse(axios.post(documentsUrl(apiBaseUrl), formData, {
96
- params: {
97
- ownerId: ownerId
98
- }
99
- }));
100
- };
101
- var update = function update(_ref7) {
102
- var apiBaseUrl = _ref7.apiBaseUrl,
103
- ownerId = _ref7.ownerId,
104
- documentId = _ref7.documentId,
105
- payload = _ref7.payload;
106
- return normalizeResponse(axios.put(documentUrl({
107
- apiBaseUrl: apiBaseUrl,
108
- documentId: documentId
109
- }), payload, {
110
- params: {
111
- ownerId: ownerId
112
- }
113
- }));
114
- };
115
- var updateTemplateFile = function updateTemplateFile(_ref8) {
116
- var apiBaseUrl = _ref8.apiBaseUrl,
117
- ownerId = _ref8.ownerId,
118
- documentId = _ref8.documentId,
119
- file = _ref8.file;
120
- if (file !== null && file !== void 0 && file.signedId) {
121
- return normalizeResponse(axios.patch(documentActionUrl({
122
- apiBaseUrl: apiBaseUrl,
123
- documentId: documentId,
124
- suffix: "/template_file"
125
- }), {
126
- template_file: file.signedId
127
- }, {
128
- params: {
129
- ownerId: ownerId
130
- }
131
- }));
132
- }
133
- var formData = new FormData();
134
- formData.append("template_file", file);
135
- return normalizeResponse(axios.patch(documentActionUrl({
136
- apiBaseUrl: apiBaseUrl,
137
- documentId: documentId,
138
- suffix: "/template_file"
139
- }), formData, {
140
- params: {
141
- ownerId: ownerId
142
- }
143
- }));
144
- };
145
- var clone = function clone(_ref9) {
146
- var apiBaseUrl = _ref9.apiBaseUrl,
147
- ownerId = _ref9.ownerId,
148
- documentId = _ref9.documentId;
149
- return normalizeResponse(axios.post(documentActionUrl({
150
- apiBaseUrl: apiBaseUrl,
151
- documentId: documentId,
152
- suffix: "/clone"
153
- }), null, {
154
- params: {
155
- ownerId: ownerId
156
- }
157
- }));
158
- };
159
- var destroy = function destroy(_ref0) {
160
- var apiBaseUrl = _ref0.apiBaseUrl,
161
- ownerId = _ref0.ownerId,
162
- documentId = _ref0.documentId;
163
- return normalizeResponse(axios["delete"](documentUrl({
164
- apiBaseUrl: apiBaseUrl,
165
- documentId: documentId
166
- }), {
167
- params: {
168
- ownerId: ownerId
169
- }
170
- }));
171
- };
172
- var pdfDocumentsApi = {
173
- clone: clone,
174
- create: create,
175
- update: update,
176
- updateTemplateFile: updateTemplateFile,
177
- destroy: destroy,
178
- list: list,
179
- show: show
180
- };
5
+ import { p as pdfDocumentsApi } from './pdf_documents-j2CBlJrR.js';
181
6
 
182
7
  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; }
183
8
  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; }
@@ -311,4 +136,4 @@ var buildOutputFilename = function buildOutputFilename(pdfDocument, submission)
311
136
  };
312
137
 
313
138
  export { useDeletePdfDocument as a, useUpdatePdfDocumentTemplateFile as b, useClonePdfDocument as c, buildOutputFilenameTemplate as d, useFetchPdfDocuments as e, useCreatePdfDocument as f, getPdfDocumentApiErrorMessage as g, buildOutputFilename as h, useFetchPdfDocument as i, useUpdatePdfDocument as u };
314
- //# sourceMappingURL=FilenameUtilities-DHtvZ32y.js.map
139
+ //# sourceMappingURL=FilenameUtilities-Xttn7r8R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilenameUtilities-Xttn7r8R.js","sources":["../app/javascript/src/hooks/usePdfDocumentsApi.js","../app/javascript/src/components/PdfDocuments/FilenameUtilities.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport pdfDocumentsApi from \"src/apis/pdf_documents\";\n\nconst documentKeys = (ownerId, apiBaseUrl) => [\n \"neeto-pdf-documents\",\n apiBaseUrl,\n ownerId,\n];\n\nconst useInvalidatingMutation = (\n mutationFn,\n ownerId,\n apiBaseUrl,\n options = {}\n) =>\n useMutationWithInvalidation(mutationFn, {\n keysToInvalidate: [documentKeys(ownerId, apiBaseUrl)],\n ...options,\n });\n\nexport const getPdfDocumentApiErrorMessage = (error, fallback) =>\n error?.response?.data?.error || fallback;\n\nexport const useFetchPdfDocuments = ({ apiBaseUrl, ownerId, options = {} }) =>\n useQuery({\n queryKey: documentKeys(ownerId, apiBaseUrl),\n queryFn: () => pdfDocumentsApi.list({ apiBaseUrl, ownerId }),\n enabled: Boolean(apiBaseUrl && ownerId),\n ...options,\n });\n\nexport const useFetchPdfDocument = ({\n apiBaseUrl,\n ownerId,\n documentId,\n options = {},\n}) =>\n useQuery({\n queryKey: [...documentKeys(ownerId, apiBaseUrl), documentId],\n queryFn: () => pdfDocumentsApi.show({ apiBaseUrl, ownerId, documentId }),\n enabled: Boolean(apiBaseUrl && ownerId && documentId),\n ...options,\n });\n\nexport const useCreatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n file => pdfDocumentsApi.create({ apiBaseUrl, ownerId, file }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n ({ documentId, payload }) =>\n pdfDocumentsApi.update({ apiBaseUrl, ownerId, documentId, payload }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useUpdatePdfDocumentTemplateFile = ({\n apiBaseUrl,\n ownerId,\n options = {},\n}) =>\n useInvalidatingMutation(\n ({ documentId, file }) =>\n pdfDocumentsApi.updateTemplateFile({\n apiBaseUrl,\n ownerId,\n documentId,\n file,\n }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useClonePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.clone({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n\nexport const useDeletePdfDocument = ({ apiBaseUrl, ownerId, options = {} }) =>\n useInvalidatingMutation(\n documentId => pdfDocumentsApi.destroy({ apiBaseUrl, ownerId, documentId }),\n ownerId,\n apiBaseUrl,\n options\n );\n","export const buildOutputFilenameTemplate = name => {\n const parameterizedName = (name || \"\")\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n\n return `${parameterizedName || \"document\"}-{{id}}.pdf`;\n};\n\nexport const buildOutputFilename = (pdfDocument, submission) => {\n const base =\n pdfDocument?.outputFilename || `${pdfDocument?.name || \"document\"}.pdf`;\n const withId = base.replace(/\\{\\{\\s*id\\s*\\}\\}/g, submission?.id || \"\");\n\n return withId.endsWith(\".pdf\") ? withId : `${withId}.pdf`;\n};\n"],"names":["documentKeys","ownerId","apiBaseUrl","useInvalidatingMutation","mutationFn","options","arguments","length","undefined","useMutationWithInvalidation","_objectSpread","keysToInvalidate","getPdfDocumentApiErrorMessage","error","fallback","_error$response","response","data","useFetchPdfDocuments","_ref","_ref$options","useQuery","queryKey","queryFn","pdfDocumentsApi","list","enabled","Boolean","useFetchPdfDocument","_ref2","documentId","_ref2$options","concat","_toConsumableArray","show","useCreatePdfDocument","_ref3","_ref3$options","file","create","useUpdatePdfDocument","_ref4","_ref4$options","_ref5","payload","update","useUpdatePdfDocumentTemplateFile","_ref6","_ref6$options","_ref7","updateTemplateFile","useClonePdfDocument","_ref8","_ref8$options","clone","useDeletePdfDocument","_ref9","_ref9$options","destroy","buildOutputFilenameTemplate","name","parameterizedName","trim","toLowerCase","replace","buildOutputFilename","pdfDocument","submission","base","outputFilename","withId","id","endsWith"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ var IconBlock = function IconBlock(_ref) {
6
+ var Icon = _ref.icon;
7
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
8
+ className: "bg-success rounded-lg flex h-10 w-10 shrink-0 items-center justify-center",
9
+ children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
10
+ className: "text-success-foreground",
11
+ size: 20
12
+ })
13
+ });
14
+ };
15
+
16
+ exports.IconBlock = IconBlock;
17
+ //# sourceMappingURL=IconBlock-BZvD1k7W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBlock-BZvD1k7W.js","sources":["../app/javascript/src/v2/components/PdfDocuments/IconBlock.jsx"],"sourcesContent":["const IconBlock = ({ icon: Icon }) => (\n <div className=\"bg-success rounded-lg flex h-10 w-10 shrink-0 items-center justify-center\">\n <Icon className=\"text-success-foreground\" size={20} />\n </div>\n);\n\nexport default IconBlock;\n"],"names":["IconBlock","_ref","Icon","icon","_jsx","className","children","size"],"mappings":";;;;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAYC,IAAI,GAAAD,IAAA,CAAVE,IAAI;AAAA,EAAA,oBACvBC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,2EAA2E;IAAAC,QAAA,eACxFF,cAAA,CAACF,IAAI,EAAA;AAACG,MAAAA,SAAS,EAAC,yBAAyB;AAACE,MAAAA,IAAI,EAAE;KAAK;AAAC,GACnD,CAAC;AAAA;;;;"}
@@ -0,0 +1,15 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ var IconBlock = function IconBlock(_ref) {
4
+ var Icon = _ref.icon;
5
+ return /*#__PURE__*/jsx("div", {
6
+ className: "bg-success rounded-lg flex h-10 w-10 shrink-0 items-center justify-center",
7
+ children: /*#__PURE__*/jsx(Icon, {
8
+ className: "text-success-foreground",
9
+ size: 20
10
+ })
11
+ });
12
+ };
13
+
14
+ export { IconBlock as I };
15
+ //# sourceMappingURL=IconBlock-Cte1G732.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconBlock-Cte1G732.js","sources":["../app/javascript/src/v2/components/PdfDocuments/IconBlock.jsx"],"sourcesContent":["const IconBlock = ({ icon: Icon }) => (\n <div className=\"bg-success rounded-lg flex h-10 w-10 shrink-0 items-center justify-center\">\n <Icon className=\"text-success-foreground\" size={20} />\n </div>\n);\n\nexport default IconBlock;\n"],"names":["IconBlock","_ref","Icon","icon","_jsx","className","children","size"],"mappings":";;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAYC,IAAI,GAAAD,IAAA,CAAVE,IAAI;AAAA,EAAA,oBACvBC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,2EAA2E;IAAAC,QAAA,eACxFF,GAAA,CAACF,IAAI,EAAA;AAACG,MAAAA,SAAS,EAAC,yBAAyB;AAACE,MAAAA,IAAI,EAAE;KAAK;AAAC,GACnD,CAAC;AAAA;;;;"}
@@ -7,7 +7,7 @@ import Spinner from '@bigbinary/neetoui/Spinner';
7
7
  import Toastr from '@bigbinary/neetoui/Toastr';
8
8
  import Typography from '@bigbinary/neetoui/Typography';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { u as useUpdatePdfDocument, a as useDeletePdfDocument, b as useUpdatePdfDocumentTemplateFile, c as useClonePdfDocument, g as getPdfDocumentApiErrorMessage, d as buildOutputFilenameTemplate, e as useFetchPdfDocuments, f as useCreatePdfDocument } from './FilenameUtilities-DHtvZ32y.js';
10
+ import { u as useUpdatePdfDocument, a as useDeletePdfDocument, b as useUpdatePdfDocumentTemplateFile, c as useClonePdfDocument, g as getPdfDocumentApiErrorMessage, d as buildOutputFilenameTemplate, e as useFetchPdfDocuments, f as useCreatePdfDocument } from './FilenameUtilities-Xttn7r8R.js';
11
11
  import Copy from '@bigbinary/neeto-icons/Copy';
12
12
  import Delete from '@bigbinary/neeto-icons/Delete';
13
13
  import Edit from '@bigbinary/neeto-icons/Edit';
@@ -29,6 +29,7 @@ import '@babel/runtime/helpers/toConsumableArray';
29
29
  import '@babel/runtime/helpers/defineProperty';
30
30
  import '@tanstack/react-query';
31
31
  import '@bigbinary/neeto-commons-frontend/react-utils';
32
+ import './pdf_documents-j2CBlJrR.js';
32
33
  import '@babel/runtime/helpers/asyncToGenerator';
33
34
  import '@babel/runtime/regenerator';
34
35
  import 'axios';
@@ -1 +1 @@
1
- {"version":3,"file":"PdfDocumentsPage.js","sources":["../app/javascript/src/components/PdfDocuments/PdfUploadModal.jsx","../app/javascript/src/components/PdfDocuments/RenameModal.jsx","../app/javascript/src/components/PdfDocuments/DocumentCard.jsx","../app/javascript/src/components/PdfDocuments/EmailCard.jsx","../app/javascript/src/components/PdfDocuments/index.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { FileUpload } from \"neetomolecules/FileUpload\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PDF_FILE_SIZE_LIMIT_IN_MB } from \"./constants\";\n\nconst PdfUploadModal = ({ isOpen, isSubmitting, title, onClose, onSubmit }) => {\n const [files, setFiles] = useState([]);\n const [error, setError] = useState(\"\");\n const { t } = useTranslation();\n\n const handleClose = () => {\n setFiles([]);\n setError(\"\");\n onClose();\n };\n\n const handleSubmit = () => {\n const [file] = files;\n\n if (!file?.signedId) return;\n\n onSubmit(file, handleClose);\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h2\">{title}</Typography>\n </Modal.Header>\n <Modal.Body>\n <FileUpload\n {...{ files, setError }}\n allowedFileTypes=\"pdf\"\n maxFileSize={PDF_FILE_SIZE_LIMIT_IN_MB}\n multipleFilesAllowed={false}\n onChange={setFiles}\n />\n {error && (\n <Typography className=\"neeto-ui-text-error-500 mt-2\" style=\"body2\">\n {error}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n disabled={!files[0]?.signedId}\n label={t(\"neetoPdf.common.save\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n <Button\n label={t(\"neetoPdf.common.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default PdfUploadModal;\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Input, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RenameModal = ({\n isOpen,\n onClose,\n onSubmit,\n isSubmitting,\n initialName = \"\",\n}) => {\n const { t } = useTranslation();\n const [name, setName] = useState(initialName);\n\n useEffect(() => {\n if (isOpen) setName(initialName);\n }, [isOpen, initialName]);\n\n const trimmedName = name.trim();\n const isDisabled = !trimmedName || trimmedName === initialName;\n\n const handleSubmit = () => {\n if (isDisabled) return;\n\n onSubmit(trimmedName);\n };\n\n return (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPdf.pdfDocuments.rename.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Input\n autoFocus\n data-testid=\"pdf-document-rename-input\"\n label={t(\"neetoPdf.pdfDocuments.rename.label\")}\n placeholder={t(\"neetoPdf.pdfDocuments.rename.placeholder\")}\n value={name}\n onChange={event => setName(event.target.value)}\n onKeyDown={event => event.key === \"Enter\" && handleSubmit()}\n />\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"pdf-document-rename-submit\"\n disabled={isDisabled}\n label={t(\"neetoPdf.common.save\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n <Button\n label={t(\"neetoPdf.common.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RenameModal;\n","import { useState } from \"react\";\n\nimport { Copy, Delete, Edit, File, FontSize, Right, Upload } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Alert, Tag, Toastr, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n getPdfDocumentApiErrorMessage,\n useClonePdfDocument,\n useDeletePdfDocument,\n useUpdatePdfDocument,\n useUpdatePdfDocumentTemplateFile,\n} from \"src/hooks/usePdfDocumentsApi\";\n\nimport { buildOutputFilenameTemplate } from \"./FilenameUtilities\";\nimport IconBlock from \"./IconBlock\";\nimport PdfUploadModal from \"./PdfUploadModal\";\nimport RenameModal from \"./RenameModal\";\n\nconst DocumentCard = ({\n apiBaseUrl,\n ownerId,\n document,\n canManage = true,\n onOpenEditor,\n isAttachedToEmail = false,\n}) => {\n const { t } = useTranslation();\n const [isRenameOpen, setIsRenameOpen] = useState(false);\n const [isDeleteOpen, setIsDeleteOpen] = useState(false);\n const [isUpdatePdfOpen, setIsUpdatePdfOpen] = useState(false);\n\n const handleEdit = () => onOpenEditor?.(document);\n\n const { mutate: renameDocument, isPending: isRenaming } =\n useUpdatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => {\n Toastr.success(t(\"neetoPdf.pdfDocuments.rename.success\"));\n setIsRenameOpen(false);\n },\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.rename.error\")\n )\n ),\n },\n });\n\n const { mutate: deleteDocument, isPending: isDeleting } =\n useDeletePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => {\n Toastr.success(t(\"neetoPdf.pdfDocuments.delete.success\"));\n setIsDeleteOpen(false);\n },\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.delete.error\")\n )\n ),\n },\n });\n\n const { mutate: updateTemplateFile, isPending: isUpdatingTemplateFile } =\n useUpdatePdfDocumentTemplateFile({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.updatePdf.success\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.updatePdf.error\")\n )\n ),\n },\n });\n\n const { mutate: cloneDocument } = useClonePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => Toastr.success(t(\"neetoPdf.pdfDocuments.clone.success\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.clone.error\")\n )\n ),\n },\n });\n\n const handleRename = name =>\n renameDocument({\n documentId: document.id,\n payload: { name, outputFilename: buildOutputFilenameTemplate(name) },\n });\n\n const handleTemplateFileUpdate = (file, onSuccess) =>\n updateTemplateFile({ documentId: document.id, file }, { onSuccess });\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoPdf.pdfDocuments.menu.edit\"),\n prefix: <Edit size={16} />,\n onClick: handleEdit,\n \"data-testid\": \"pdf-document-edit-button\",\n },\n {\n key: \"rename\",\n label: t(\"neetoPdf.pdfDocuments.menu.rename\"),\n prefix: <FontSize size={16} />,\n onClick: () => setIsRenameOpen(true),\n \"data-testid\": \"pdf-document-rename-button\",\n },\n {\n key: \"update-pdf\",\n label: t(\"neetoPdf.pdfDocuments.menu.updatePdf\"),\n prefix: <Upload size={16} />,\n onClick: () => setIsUpdatePdfOpen(true),\n \"data-testid\": \"pdf-document-update-pdf-button\",\n },\n {\n key: \"clone\",\n label: t(\"neetoPdf.pdfDocuments.menu.clone\"),\n prefix: <Copy size={16} />,\n onClick: () => cloneDocument(document.id),\n \"data-testid\": \"pdf-document-clone-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPdf.pdfDocuments.menu.delete\"),\n prefix: <Delete className=\"neeto-ui-text-error-500\" size={16} />,\n className: \"neeto-ui-text-error-500\",\n onClick: () => setIsDeleteOpen(true),\n \"data-testid\": \"pdf-document-delete-button\",\n },\n ];\n\n return (\n <>\n <div className=\"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg hover:neeto-ui-shadow-sm relative flex w-full items-center gap-4 border px-6 py-5 text-left transition\">\n {onOpenEditor && (\n <button\n aria-label={t(\"neetoPdf.pdfDocuments.menu.edit\")}\n className=\"absolute inset-0 z-0 h-full w-full cursor-pointer\"\n data-testid=\"pdf-document-card\"\n type=\"button\"\n onClick={handleEdit}\n />\n )}\n <IconBlock icon={File} />\n <div className=\"min-w-0 grow\">\n <Typography className=\"truncate\" style=\"h4\" weight=\"semibold\">\n {document.name}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 truncate font-mono\"\n style=\"body2\"\n >\n {document.outputFilename}\n </Typography>\n </div>\n {isAttachedToEmail && (\n <Tag\n label={t(\"neetoPdf.pdfDocuments.attachedToEmail\")}\n style=\"success\"\n />\n )}\n {canManage && (\n <div className=\"relative z-10\">\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownButtonProps={{\n \"data-testid\": \"pdf-document-dropdown\",\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => window.document.body,\n }}\n />\n </div>\n )}\n {onOpenEditor && (\n <Right className=\"neeto-ui-text-gray-400 relative z-0\" size={20} />\n )}\n </div>\n <RenameModal\n initialName={document.name}\n isOpen={isRenameOpen}\n isSubmitting={isRenaming}\n onClose={() => setIsRenameOpen(false)}\n onSubmit={handleRename}\n />\n <PdfUploadModal\n isOpen={isUpdatePdfOpen}\n isSubmitting={isUpdatingTemplateFile}\n title={t(\"neetoPdf.pdfDocuments.menu.updatePdf\")}\n onClose={() => setIsUpdatePdfOpen(false)}\n onSubmit={handleTemplateFileUpdate}\n />\n <Alert\n isOpen={isDeleteOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoPdf.pdfDocuments.menu.delete\")}\n title={t(\"neetoPdf.pdfDocuments.delete.title\")}\n message={t(\"neetoPdf.pdfDocuments.delete.message\", {\n name: document.name,\n })}\n onClose={() => setIsDeleteOpen(false)}\n onSubmit={() => deleteDocument(document.id)}\n />\n </>\n );\n};\n\nexport default DocumentCard;\n","import { MailSend } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport IconBlock from \"./IconBlock\";\n\nconst cardClassName =\n \"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg flex min-h-[76px] items-center gap-4 border px-5 text-left transition\";\n\nconst EmailCard = ({ title, href }) => (\n <a {...{ href }} className={`${cardClassName} hover:neeto-ui-shadow-sm`}>\n <IconBlock icon={MailSend} />\n <Typography className=\"grow\" style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n </a>\n);\n\nexport default EmailCard;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Spinner, Toastr, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n getPdfDocumentApiErrorMessage,\n useCreatePdfDocument,\n useFetchPdfDocuments,\n} from \"src/hooks/usePdfDocumentsApi\";\n\nimport DocumentCard from \"./DocumentCard\";\nimport EmailCard from \"./EmailCard\";\nimport PdfUploadModal from \"./PdfUploadModal\";\n\nconst LoadingState = () => (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n);\n\nconst PdfDocumentsPage = ({\n apiBaseUrl,\n ownerId,\n canManage = true,\n selectedPdfDocumentIds = [],\n emailRoutes = {},\n onOpenEditor,\n renderHeader,\n renderContent,\n}) => {\n const [isUploadModalOpen, setIsUploadModalOpen] = useState(false);\n const { t } = useTranslation();\n const title = t(\"neetoPdf.pdfDocuments.title\");\n const description = t(\"neetoPdf.pdfDocuments.description\");\n const selectedPdfDocumentIdSet = useMemo(\n () => new Set(selectedPdfDocumentIds),\n [selectedPdfDocumentIds]\n );\n\n const { data: { documents = [] } = {}, isLoading } = useFetchPdfDocuments({\n apiBaseUrl,\n ownerId,\n });\n\n const { mutate: createPdfDocument, isPending: isUploading } =\n useCreatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.uploadSuccess\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.uploadError\")\n )\n ),\n },\n });\n\n const handleUpload = (file, onSuccess) =>\n createPdfDocument(file, { onSuccess });\n\n const actionBlock = canManage ? (\n <Button\n icon={Plus}\n label={t(\"neetoPdf.pdfDocuments.newDocument\")}\n loading={isUploading}\n onClick={() => setIsUploadModalOpen(true)}\n />\n ) : null;\n\n if (isLoading) return <LoadingState />;\n\n const content = (\n <>\n <div className=\"mb-10 space-y-4\">\n {isNotEmpty(documents) ? (\n documents.map(document => (\n <DocumentCard\n {...{ apiBaseUrl, canManage, document, onOpenEditor, ownerId }}\n isAttachedToEmail={selectedPdfDocumentIdSet.has(document.id)}\n key={document.id}\n />\n ))\n ) : (\n <div className=\"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg border px-6 py-8\">\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body1\">\n {t(\"neetoPdf.pdfDocuments.empty\")}\n </Typography>\n </div>\n )}\n </div>\n {(emailRoutes.submitter || emailRoutes.receiver) && (\n <div>\n <Typography className=\"mb-2\" style=\"h3\" weight=\"semibold\">\n {t(\"neetoPdf.pdfDocuments.sendPdfInEmail.title\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600 mb-5\" style=\"body1\">\n {t(\"neetoPdf.pdfDocuments.sendPdfInEmail.description\")}\n </Typography>\n <div className=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n {emailRoutes.submitter && (\n <EmailCard\n href={emailRoutes.submitter}\n title={t(\"neetoPdf.pdfDocuments.sendPdfInEmail.submitter\")}\n />\n )}\n {emailRoutes.receiver && (\n <EmailCard\n href={emailRoutes.receiver}\n title={t(\"neetoPdf.pdfDocuments.sendPdfInEmail.notification\")}\n />\n )}\n </div>\n </div>\n )}\n </>\n );\n\n return (\n <>\n <div className=\"h-full w-full overflow-y-auto\">\n {renderHeader?.({ actionBlock, title }) || (\n <div className=\"mb-6 flex items-center justify-between gap-4\">\n <div>\n <Typography style=\"h2\" weight=\"semibold\">\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 mt-1 max-w-2xl\"\n style=\"body1\"\n >\n {description}\n </Typography>\n </div>\n {actionBlock}\n </div>\n )}\n {renderContent?.(content) || <div className=\"max-w-5xl\">{content}</div>}\n </div>\n <PdfUploadModal\n isOpen={isUploadModalOpen}\n isSubmitting={isUploading}\n title={t(\"neetoPdf.pdfDocuments.newDocument\")}\n onClose={() => setIsUploadModalOpen(false)}\n onSubmit={handleUpload}\n />\n </>\n );\n};\n\nexport default PdfDocumentsPage;\n"],"names":["PdfUploadModal","_ref","_files$","isOpen","isSubmitting","title","onClose","onSubmit","_useState","useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","error","setError","_useTranslation","useTranslation","t","handleClose","handleSubmit","_files","file","signedId","_jsxs","Modal","children","_jsx","Header","Typography","style","Body","FileUpload","allowedFileTypes","maxFileSize","PDF_FILE_SIZE_LIMIT_IN_MB","multipleFilesAllowed","onChange","className","Footer","Button","disabled","label","loading","onClick","RenameModal","_ref$initialName","initialName","name","setName","useEffect","trimmedName","trim","isDisabled","Input","autoFocus","placeholder","value","event","target","onKeyDown","key","DocumentCard","apiBaseUrl","ownerId","document","_ref$canManage","canManage","onOpenEditor","_ref$isAttachedToEmai","isAttachedToEmail","isRenameOpen","setIsRenameOpen","isDeleteOpen","setIsDeleteOpen","_useState5","_useState6","isUpdatePdfOpen","setIsUpdatePdfOpen","handleEdit","_useUpdatePdfDocument","useUpdatePdfDocument","options","onSuccess","Toastr","success","onError","getPdfDocumentApiErrorMessage","renameDocument","mutate","isRenaming","isPending","_useDeletePdfDocument","useDeletePdfDocument","deleteDocument","isDeleting","_useUpdatePdfDocument2","useUpdatePdfDocumentTemplateFile","updateTemplateFile","isUpdatingTemplateFile","_useClonePdfDocument","useClonePdfDocument","cloneDocument","handleRename","documentId","id","payload","outputFilename","buildOutputFilenameTemplate","handleTemplateFileUpdate","menuItems","prefix","Edit","size","FontSize","Upload","Copy","Delete","_Fragment","type","IconBlock","icon","File","weight","Tag","MoreDropdown","isVertical","dropdownButtonProps","dropdownProps","strategy","appendTo","window","body","Right","Alert","submitButtonLabel","message","cardClassName","EmailCard","href","concat","MailSend","LoadingState","Spinner","PdfDocumentsPage","_ref$selectedPdfDocum","selectedPdfDocumentIds","_ref$emailRoutes","emailRoutes","renderHeader","renderContent","isUploadModalOpen","setIsUploadModalOpen","description","selectedPdfDocumentIdSet","useMemo","Set","_useFetchPdfDocuments","useFetchPdfDocuments","_useFetchPdfDocuments2","data","_useFetchPdfDocuments3","_useFetchPdfDocuments4","documents","isLoading","_useCreatePdfDocument","useCreatePdfDocument","createPdfDocument","isUploading","handleUpload","actionBlock","Plus","content","isNotEmpty","map","_createElement","has","submitter","receiver"],"mappings":"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"}
1
+ {"version":3,"file":"PdfDocumentsPage.js","sources":["../app/javascript/src/components/PdfDocuments/PdfUploadModal.jsx","../app/javascript/src/components/PdfDocuments/RenameModal.jsx","../app/javascript/src/components/PdfDocuments/DocumentCard.jsx","../app/javascript/src/components/PdfDocuments/EmailCard.jsx","../app/javascript/src/components/PdfDocuments/index.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { FileUpload } from \"neetomolecules/FileUpload\";\nimport { Button, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PDF_FILE_SIZE_LIMIT_IN_MB } from \"./constants\";\n\nconst PdfUploadModal = ({ isOpen, isSubmitting, title, onClose, onSubmit }) => {\n const [files, setFiles] = useState([]);\n const [error, setError] = useState(\"\");\n const { t } = useTranslation();\n\n const handleClose = () => {\n setFiles([]);\n setError(\"\");\n onClose();\n };\n\n const handleSubmit = () => {\n const [file] = files;\n\n if (!file?.signedId) return;\n\n onSubmit(file, handleClose);\n };\n\n return (\n <Modal {...{ isOpen }} onClose={handleClose}>\n <Modal.Header>\n <Typography style=\"h2\">{title}</Typography>\n </Modal.Header>\n <Modal.Body>\n <FileUpload\n {...{ files, setError }}\n allowedFileTypes=\"pdf\"\n maxFileSize={PDF_FILE_SIZE_LIMIT_IN_MB}\n multipleFilesAllowed={false}\n onChange={setFiles}\n />\n {error && (\n <Typography className=\"neeto-ui-text-error-500 mt-2\" style=\"body2\">\n {error}\n </Typography>\n )}\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n disabled={!files[0]?.signedId}\n label={t(\"neetoPdf.common.save\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n <Button\n label={t(\"neetoPdf.common.cancel\")}\n style=\"text\"\n onClick={handleClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default PdfUploadModal;\n","import { useEffect, useState } from \"react\";\n\nimport { Button, Input, Modal, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RenameModal = ({\n isOpen,\n onClose,\n onSubmit,\n isSubmitting,\n initialName = \"\",\n}) => {\n const { t } = useTranslation();\n const [name, setName] = useState(initialName);\n\n useEffect(() => {\n if (isOpen) setName(initialName);\n }, [isOpen, initialName]);\n\n const trimmedName = name.trim();\n const isDisabled = !trimmedName || trimmedName === initialName;\n\n const handleSubmit = () => {\n if (isDisabled) return;\n\n onSubmit(trimmedName);\n };\n\n return (\n <Modal {...{ isOpen, onClose }}>\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoPdf.pdfDocuments.rename.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Input\n autoFocus\n data-testid=\"pdf-document-rename-input\"\n label={t(\"neetoPdf.pdfDocuments.rename.label\")}\n placeholder={t(\"neetoPdf.pdfDocuments.rename.placeholder\")}\n value={name}\n onChange={event => setName(event.target.value)}\n onKeyDown={event => event.key === \"Enter\" && handleSubmit()}\n />\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"pdf-document-rename-submit\"\n disabled={isDisabled}\n label={t(\"neetoPdf.common.save\")}\n loading={isSubmitting}\n onClick={handleSubmit}\n />\n <Button\n label={t(\"neetoPdf.common.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RenameModal;\n","import { useState } from \"react\";\n\nimport { Copy, Delete, Edit, File, FontSize, Right, Upload } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Alert, Tag, Toastr, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n getPdfDocumentApiErrorMessage,\n useClonePdfDocument,\n useDeletePdfDocument,\n useUpdatePdfDocument,\n useUpdatePdfDocumentTemplateFile,\n} from \"src/hooks/usePdfDocumentsApi\";\n\nimport { buildOutputFilenameTemplate } from \"./FilenameUtilities\";\nimport IconBlock from \"./IconBlock\";\nimport PdfUploadModal from \"./PdfUploadModal\";\nimport RenameModal from \"./RenameModal\";\n\nconst DocumentCard = ({\n apiBaseUrl,\n ownerId,\n document,\n canManage = true,\n onOpenEditor,\n isAttachedToEmail = false,\n}) => {\n const { t } = useTranslation();\n const [isRenameOpen, setIsRenameOpen] = useState(false);\n const [isDeleteOpen, setIsDeleteOpen] = useState(false);\n const [isUpdatePdfOpen, setIsUpdatePdfOpen] = useState(false);\n\n const handleEdit = () => onOpenEditor?.(document);\n\n const { mutate: renameDocument, isPending: isRenaming } =\n useUpdatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => {\n Toastr.success(t(\"neetoPdf.pdfDocuments.rename.success\"));\n setIsRenameOpen(false);\n },\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.rename.error\")\n )\n ),\n },\n });\n\n const { mutate: deleteDocument, isPending: isDeleting } =\n useDeletePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => {\n Toastr.success(t(\"neetoPdf.pdfDocuments.delete.success\"));\n setIsDeleteOpen(false);\n },\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.delete.error\")\n )\n ),\n },\n });\n\n const { mutate: updateTemplateFile, isPending: isUpdatingTemplateFile } =\n useUpdatePdfDocumentTemplateFile({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.updatePdf.success\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.updatePdf.error\")\n )\n ),\n },\n });\n\n const { mutate: cloneDocument } = useClonePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () => Toastr.success(t(\"neetoPdf.pdfDocuments.clone.success\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.clone.error\")\n )\n ),\n },\n });\n\n const handleRename = name =>\n renameDocument({\n documentId: document.id,\n payload: { name, outputFilename: buildOutputFilenameTemplate(name) },\n });\n\n const handleTemplateFileUpdate = (file, onSuccess) =>\n updateTemplateFile({ documentId: document.id, file }, { onSuccess });\n\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoPdf.pdfDocuments.menu.edit\"),\n prefix: <Edit size={16} />,\n onClick: handleEdit,\n \"data-testid\": \"pdf-document-edit-button\",\n },\n {\n key: \"rename\",\n label: t(\"neetoPdf.pdfDocuments.menu.rename\"),\n prefix: <FontSize size={16} />,\n onClick: () => setIsRenameOpen(true),\n \"data-testid\": \"pdf-document-rename-button\",\n },\n {\n key: \"update-pdf\",\n label: t(\"neetoPdf.pdfDocuments.menu.updatePdf\"),\n prefix: <Upload size={16} />,\n onClick: () => setIsUpdatePdfOpen(true),\n \"data-testid\": \"pdf-document-update-pdf-button\",\n },\n {\n key: \"clone\",\n label: t(\"neetoPdf.pdfDocuments.menu.clone\"),\n prefix: <Copy size={16} />,\n onClick: () => cloneDocument(document.id),\n \"data-testid\": \"pdf-document-clone-button\",\n },\n {\n key: \"delete\",\n label: t(\"neetoPdf.pdfDocuments.menu.delete\"),\n prefix: <Delete className=\"neeto-ui-text-error-500\" size={16} />,\n className: \"neeto-ui-text-error-500\",\n onClick: () => setIsDeleteOpen(true),\n \"data-testid\": \"pdf-document-delete-button\",\n },\n ];\n\n return (\n <>\n <div className=\"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg hover:neeto-ui-shadow-sm relative flex w-full items-center gap-4 border px-6 py-5 text-left transition\">\n {onOpenEditor && (\n <button\n aria-label={t(\"neetoPdf.pdfDocuments.menu.edit\")}\n className=\"absolute inset-0 z-0 h-full w-full cursor-pointer\"\n data-testid=\"pdf-document-card\"\n type=\"button\"\n onClick={handleEdit}\n />\n )}\n <IconBlock icon={File} />\n <div className=\"min-w-0 grow\">\n <Typography className=\"truncate\" style=\"h4\" weight=\"semibold\">\n {document.name}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 truncate font-mono\"\n style=\"body2\"\n >\n {document.outputFilename}\n </Typography>\n </div>\n {isAttachedToEmail && (\n <Tag\n label={t(\"neetoPdf.pdfDocuments.attachedToEmail\")}\n style=\"success\"\n />\n )}\n {canManage && (\n <div className=\"relative z-10\">\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownButtonProps={{\n \"data-testid\": \"pdf-document-dropdown\",\n }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => window.document.body,\n }}\n />\n </div>\n )}\n {onOpenEditor && (\n <Right className=\"neeto-ui-text-gray-400 relative z-0\" size={20} />\n )}\n </div>\n <RenameModal\n initialName={document.name}\n isOpen={isRenameOpen}\n isSubmitting={isRenaming}\n onClose={() => setIsRenameOpen(false)}\n onSubmit={handleRename}\n />\n <PdfUploadModal\n isOpen={isUpdatePdfOpen}\n isSubmitting={isUpdatingTemplateFile}\n title={t(\"neetoPdf.pdfDocuments.menu.updatePdf\")}\n onClose={() => setIsUpdatePdfOpen(false)}\n onSubmit={handleTemplateFileUpdate}\n />\n <Alert\n isOpen={isDeleteOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoPdf.pdfDocuments.menu.delete\")}\n title={t(\"neetoPdf.pdfDocuments.delete.title\")}\n message={t(\"neetoPdf.pdfDocuments.delete.message\", {\n name: document.name,\n })}\n onClose={() => setIsDeleteOpen(false)}\n onSubmit={() => deleteDocument(document.id)}\n />\n </>\n );\n};\n\nexport default DocumentCard;\n","import { MailSend } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport IconBlock from \"./IconBlock\";\n\nconst cardClassName =\n \"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg flex min-h-[76px] items-center gap-4 border px-5 text-left transition\";\n\nconst EmailCard = ({ title, href }) => (\n <a {...{ href }} className={`${cardClassName} hover:neeto-ui-shadow-sm`}>\n <IconBlock icon={MailSend} />\n <Typography className=\"grow\" style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n </a>\n);\n\nexport default EmailCard;\n","import { useMemo, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Spinner, Toastr, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n getPdfDocumentApiErrorMessage,\n useCreatePdfDocument,\n useFetchPdfDocuments,\n} from \"src/hooks/usePdfDocumentsApi\";\n\nimport DocumentCard from \"./DocumentCard\";\nimport EmailCard from \"./EmailCard\";\nimport PdfUploadModal from \"./PdfUploadModal\";\n\nconst LoadingState = () => (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n);\n\nconst PdfDocumentsPage = ({\n apiBaseUrl,\n ownerId,\n canManage = true,\n selectedPdfDocumentIds = [],\n emailRoutes = {},\n onOpenEditor,\n renderHeader,\n renderContent,\n}) => {\n const [isUploadModalOpen, setIsUploadModalOpen] = useState(false);\n const { t } = useTranslation();\n const title = t(\"neetoPdf.pdfDocuments.title\");\n const description = t(\"neetoPdf.pdfDocuments.description\");\n const selectedPdfDocumentIdSet = useMemo(\n () => new Set(selectedPdfDocumentIds),\n [selectedPdfDocumentIds]\n );\n\n const { data: { documents = [] } = {}, isLoading } = useFetchPdfDocuments({\n apiBaseUrl,\n ownerId,\n });\n\n const { mutate: createPdfDocument, isPending: isUploading } =\n useCreatePdfDocument({\n apiBaseUrl,\n ownerId,\n options: {\n onSuccess: () =>\n Toastr.success(t(\"neetoPdf.pdfDocuments.uploadSuccess\")),\n onError: error =>\n Toastr.error(\n getPdfDocumentApiErrorMessage(\n error,\n t(\"neetoPdf.pdfDocuments.uploadError\")\n )\n ),\n },\n });\n\n const handleUpload = (file, onSuccess) =>\n createPdfDocument(file, { onSuccess });\n\n const actionBlock = canManage ? (\n <Button\n icon={Plus}\n label={t(\"neetoPdf.pdfDocuments.newDocument\")}\n loading={isUploading}\n onClick={() => setIsUploadModalOpen(true)}\n />\n ) : null;\n\n if (isLoading) return <LoadingState />;\n\n const content = (\n <>\n <div className=\"mb-10 space-y-4\">\n {isNotEmpty(documents) ? (\n documents.map(document => (\n <DocumentCard\n {...{ apiBaseUrl, canManage, document, onOpenEditor, ownerId }}\n isAttachedToEmail={selectedPdfDocumentIdSet.has(document.id)}\n key={document.id}\n />\n ))\n ) : (\n <div className=\"neeto-ui-border-gray-200 neeto-ui-bg-white neeto-ui-rounded-lg border px-6 py-8\">\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body1\">\n {t(\"neetoPdf.pdfDocuments.empty\")}\n </Typography>\n </div>\n )}\n </div>\n {(emailRoutes.submitter || emailRoutes.receiver) && (\n <div>\n <Typography className=\"mb-2\" style=\"h3\" weight=\"semibold\">\n {t(\"neetoPdf.pdfDocuments.sendPdfInEmail.title\")}\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600 mb-5\" style=\"body1\">\n {t(\"neetoPdf.pdfDocuments.sendPdfInEmail.description\")}\n </Typography>\n <div className=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n {emailRoutes.submitter && (\n <EmailCard\n href={emailRoutes.submitter}\n title={t(\"neetoPdf.pdfDocuments.sendPdfInEmail.submitter\")}\n />\n )}\n {emailRoutes.receiver && (\n <EmailCard\n href={emailRoutes.receiver}\n title={t(\"neetoPdf.pdfDocuments.sendPdfInEmail.notification\")}\n />\n )}\n </div>\n </div>\n )}\n </>\n );\n\n return (\n <>\n <div className=\"h-full w-full overflow-y-auto\">\n {renderHeader?.({ actionBlock, title }) || (\n <div className=\"mb-6 flex items-center justify-between gap-4\">\n <div>\n <Typography style=\"h2\" weight=\"semibold\">\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 mt-1 max-w-2xl\"\n style=\"body1\"\n >\n {description}\n </Typography>\n </div>\n {actionBlock}\n </div>\n )}\n {renderContent?.(content) || <div className=\"max-w-5xl\">{content}</div>}\n </div>\n <PdfUploadModal\n isOpen={isUploadModalOpen}\n isSubmitting={isUploading}\n title={t(\"neetoPdf.pdfDocuments.newDocument\")}\n onClose={() => setIsUploadModalOpen(false)}\n onSubmit={handleUpload}\n />\n </>\n );\n};\n\nexport default PdfDocumentsPage;\n"],"names":["PdfUploadModal","_ref","_files$","isOpen","isSubmitting","title","onClose","onSubmit","_useState","useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","error","setError","_useTranslation","useTranslation","t","handleClose","handleSubmit","_files","file","signedId","_jsxs","Modal","children","_jsx","Header","Typography","style","Body","FileUpload","allowedFileTypes","maxFileSize","PDF_FILE_SIZE_LIMIT_IN_MB","multipleFilesAllowed","onChange","className","Footer","Button","disabled","label","loading","onClick","RenameModal","_ref$initialName","initialName","name","setName","useEffect","trimmedName","trim","isDisabled","Input","autoFocus","placeholder","value","event","target","onKeyDown","key","DocumentCard","apiBaseUrl","ownerId","document","_ref$canManage","canManage","onOpenEditor","_ref$isAttachedToEmai","isAttachedToEmail","isRenameOpen","setIsRenameOpen","isDeleteOpen","setIsDeleteOpen","_useState5","_useState6","isUpdatePdfOpen","setIsUpdatePdfOpen","handleEdit","_useUpdatePdfDocument","useUpdatePdfDocument","options","onSuccess","Toastr","success","onError","getPdfDocumentApiErrorMessage","renameDocument","mutate","isRenaming","isPending","_useDeletePdfDocument","useDeletePdfDocument","deleteDocument","isDeleting","_useUpdatePdfDocument2","useUpdatePdfDocumentTemplateFile","updateTemplateFile","isUpdatingTemplateFile","_useClonePdfDocument","useClonePdfDocument","cloneDocument","handleRename","documentId","id","payload","outputFilename","buildOutputFilenameTemplate","handleTemplateFileUpdate","menuItems","prefix","Edit","size","FontSize","Upload","Copy","Delete","_Fragment","type","IconBlock","icon","File","weight","Tag","MoreDropdown","isVertical","dropdownButtonProps","dropdownProps","strategy","appendTo","window","body","Right","Alert","submitButtonLabel","message","cardClassName","EmailCard","href","concat","MailSend","LoadingState","Spinner","PdfDocumentsPage","_ref$selectedPdfDocum","selectedPdfDocumentIds","_ref$emailRoutes","emailRoutes","renderHeader","renderContent","isUploadModalOpen","setIsUploadModalOpen","description","selectedPdfDocumentIdSet","useMemo","Set","_useFetchPdfDocuments","useFetchPdfDocuments","_useFetchPdfDocuments2","data","_useFetchPdfDocuments3","_useFetchPdfDocuments4","documents","isLoading","_useCreatePdfDocument","useCreatePdfDocument","createPdfDocument","isUploading","handleUpload","actionBlock","Plus","content","isNotEmpty","map","_createElement","has","submitter","receiver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAA2D;AAAA,EAAA,IAAAC,OAAA;AAAA,EAAA,IAArDC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;AACtE,EAAA,IAAAC,SAAA,GAA0BC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/BI,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAI,UAAA,GAA0BL,QAAQ,CAAC,EAAE,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA/BE,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAG,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBR,QAAQ,CAAC,EAAE,CAAC;IACZI,QAAQ,CAAC,EAAE,CAAC;AACZX,IAAAA,OAAO,EAAE;EACX,CAAC;AAED,EAAA,IAAMgB,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAAC,MAAA,GAAAZ,cAAA,CAAeC,KAAK,EAAA,CAAA,CAAA;AAAbY,MAAAA,IAAI,GAAAD,MAAA,CAAA,CAAA,CAAA;IAEX,IAAI,EAACC,IAAI,KAAA,IAAA,IAAJA,IAAI,eAAJA,IAAI,CAAEC,QAAQ,CAAA,EAAE;AAErBlB,IAAAA,QAAQ,CAACiB,IAAI,EAAEH,WAAW,CAAC;EAC7B,CAAC;EAED,oBACEK,IAAA,CAACC,KAAK,EAAA;AAAOxB,IAAAA,MAAM,EAANA,MAAM;AAAIG,IAAAA,OAAO,EAAEe,WAAY;AAAAO,IAAAA,QAAA,EAAA,cAC1CC,GAAA,CAACF,KAAK,CAACG,MAAM,EAAA;MAAAF,QAAA,eACXC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAAAJ,QAAAA,QAAA,EAAEvB;OAAkB;AAAC,KAC/B,CAAC,eACfqB,IAAA,CAACC,KAAK,CAACM,IAAI,EAAA;MAAAL,QAAA,EAAA,cACTC,GAAA,CAACK,UAAU,EAAA;AACHtB,QAAAA,KAAK,EAALA,KAAK;AAAEK,QAAAA,QAAQ,EAARA,QAAQ;AACrBkB,QAAAA,gBAAgB,EAAC,KAAK;AACtBC,QAAAA,WAAW,EAAEC,yBAA0B;AACvCC,QAAAA,oBAAoB,EAAE,KAAM;AAC5BC,QAAAA,QAAQ,EAAE1B;AAAS,OACpB,CAAC,EACDG,KAAK,iBACJa,GAAA,CAACE,UAAU,EAAA;AAACS,QAAAA,SAAS,EAAC,8BAA8B;AAACR,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EAC/DZ;AAAK,OACI,CACb;AAAA,KACS,CAAC,eACbU,IAAA,CAACC,KAAK,CAACc,MAAM,EAAA;AAACD,MAAAA,SAAS,EAAC,WAAW;MAAAZ,QAAA,EAAA,cACjCC,GAAA,CAACa,MAAM,EAAA;AACLC,QAAAA,QAAQ,EAAE,EAAA,CAAAzC,OAAA,GAACU,KAAK,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAV,OAAA,KAAA,MAAA,IAARA,OAAA,CAAUuB,QAAQ,CAAC;AAC9BmB,QAAAA,KAAK,EAAExB,CAAC,CAAC,sBAAsB,CAAE;AACjCyB,QAAAA,OAAO,EAAEzC,YAAa;AACtB0C,QAAAA,OAAO,EAAExB;AAAa,OACvB,CAAC,eACFO,GAAA,CAACa,MAAM,EAAA;AACLE,QAAAA,KAAK,EAAExB,CAAC,CAAC,wBAAwB,CAAE;AACnCY,QAAAA,KAAK,EAAC,MAAM;AACZc,QAAAA,OAAO,EAAEzB;AAAY,OACtB,CAAC;AAAA,KACU,CAAC;AAAA,GACV,CAAC;AAEZ,CAAC;;ACxDD,IAAM0B,WAAW,GAAG,SAAdA,WAAWA,CAAA9C,IAAA,EAMX;AAAA,EAAA,IALJE,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNG,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACPC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRH,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAA4C,gBAAA,GAAA/C,IAAA,CACZgD,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;AAEhB,EAAA,IAAA9B,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAZ,SAAA,GAAwBC,QAAQ,CAACwC,WAAW,CAAC;IAAAvC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtC0C,IAAAA,IAAI,GAAAxC,UAAA,CAAA,CAAA,CAAA;AAAEyC,IAAAA,OAAO,GAAAzC,UAAA,CAAA,CAAA,CAAA;AAEpB0C,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIjD,MAAM,EAAEgD,OAAO,CAACF,WAAW,CAAC;AAClC,EAAA,CAAC,EAAE,CAAC9C,MAAM,EAAE8C,WAAW,CAAC,CAAC;AAEzB,EAAA,IAAMI,WAAW,GAAGH,IAAI,CAACI,IAAI,EAAE;AAC/B,EAAA,IAAMC,UAAU,GAAG,CAACF,WAAW,IAAIA,WAAW,KAAKJ,WAAW;AAE9D,EAAA,IAAM3B,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAIiC,UAAU,EAAE;IAEhBhD,QAAQ,CAAC8C,WAAW,CAAC;EACvB,CAAC;EAED,oBACE3B,IAAA,CAACC,KAAK,EAAA;AAAOxB,IAAAA,MAAM,EAANA,MAAM;AAAEG,IAAAA,OAAO,EAAPA,OAAO;AAAAsB,IAAAA,QAAA,EAAA,cAC1BC,GAAA,CAACF,KAAK,CAACG,MAAM,EAAA;MAAAF,QAAA,eACXC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAAJ,QAAA,EACnBR,CAAC,CAAC,oCAAoC;OAC7B;AAAC,KACD,CAAC,eACfS,GAAA,CAACF,KAAK,CAACM,IAAI,EAAA;MAAAL,QAAA,eACTC,GAAA,CAAC2B,KAAK,EAAA;QACJC,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,2BAA2B;AACvCb,QAAAA,KAAK,EAAExB,CAAC,CAAC,oCAAoC,CAAE;AAC/CsC,QAAAA,WAAW,EAAEtC,CAAC,CAAC,0CAA0C,CAAE;AAC3DuC,QAAAA,KAAK,EAAET,IAAK;AACZX,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEqB,KAAK,EAAA;AAAA,UAAA,OAAIT,OAAO,CAACS,KAAK,CAACC,MAAM,CAACF,KAAK,CAAC;QAAA,CAAC;AAC/CG,QAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEF,KAAK,EAAA;UAAA,OAAIA,KAAK,CAACG,GAAG,KAAK,OAAO,IAAIzC,YAAY,EAAE;AAAA,QAAA;OAC5D;AAAC,KACQ,CAAC,eACbI,IAAA,CAACC,KAAK,CAACc,MAAM,EAAA;AAACD,MAAAA,SAAS,EAAC,WAAW;MAAAZ,QAAA,EAAA,cACjCC,GAAA,CAACa,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,4BAA4B;AACxCC,QAAAA,QAAQ,EAAEY,UAAW;AACrBX,QAAAA,KAAK,EAAExB,CAAC,CAAC,sBAAsB,CAAE;AACjCyB,QAAAA,OAAO,EAAEzC,YAAa;AACtB0C,QAAAA,OAAO,EAAExB;AAAa,OACvB,CAAC,eACFO,GAAA,CAACa,MAAM,EAAA;AACLE,QAAAA,KAAK,EAAExB,CAAC,CAAC,wBAAwB,CAAE;AACnCY,QAAAA,KAAK,EAAC,MAAM;AACZc,QAAAA,OAAO,EAAExC;AAAQ,OAClB,CAAC;AAAA,KACU,CAAC;AAAA,GACV,CAAC;AAEZ,CAAC;;AC1CD,IAAM0D,YAAY,GAAG,SAAfA,YAAYA,CAAA/D,IAAA,EAOZ;AAAA,EAAA,IANJgE,UAAU,GAAAhE,IAAA,CAAVgE,UAAU;IACVC,OAAO,GAAAjE,IAAA,CAAPiE,OAAO;IACPC,QAAQ,GAAAlE,IAAA,CAARkE,QAAQ;IAAAC,cAAA,GAAAnE,IAAA,CACRoE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;IAChBE,YAAY,GAAArE,IAAA,CAAZqE,YAAY;IAAAC,qBAAA,GAAAtE,IAAA,CACZuE,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;AAEzB,EAAA,IAAArD,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAAZ,SAAA,GAAwCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDiE,IAAAA,YAAY,GAAA/D,UAAA,CAAA,CAAA,CAAA;AAAEgE,IAAAA,eAAe,GAAAhE,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAI,UAAA,GAAwCL,QAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAhD6D,IAAAA,YAAY,GAAA5D,UAAA,CAAA,CAAA,CAAA;AAAE6D,IAAAA,eAAe,GAAA7D,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAA8D,UAAA,GAA8CpE,QAAQ,CAAC,KAAK,CAAC;IAAAqE,UAAA,GAAAnE,cAAA,CAAAkE,UAAA,EAAA,CAAA,CAAA;AAAtDE,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAMG,UAAU,GAAG,SAAbA,UAAUA,GAAA;AAAA,IAAA,OAASX,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAGH,QAAQ,CAAC;AAAA,EAAA,CAAA;EAEjD,IAAAe,qBAAA,GACEC,oBAAoB,CAAC;AACnBlB,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA,OAAO;AACPkB,MAAAA,OAAO,EAAE;AACPC,QAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AACfC,UAAAA,MAAM,CAACC,OAAO,CAACnE,CAAC,CAAC,sCAAsC,CAAC,CAAC;UACzDsD,eAAe,CAAC,KAAK,CAAC;QACxB,CAAC;AACDc,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAExE,KAAK,EAAA;AAAA,UAAA,OACZsE,MAAM,CAACtE,KAAK,CACVyE,6BAA6B,CAC3BzE,KAAK,EACLI,CAAC,CAAC,oCAAoC,CACxC,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAjBYsE,cAAc,GAAAR,qBAAA,CAAtBS,MAAM;IAA6BC,UAAU,GAAAV,qBAAA,CAArBW,SAAS;EAmBzC,IAAAC,qBAAA,GACEC,oBAAoB,CAAC;AACnB9B,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA,OAAO;AACPkB,MAAAA,OAAO,EAAE;AACPC,QAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AACfC,UAAAA,MAAM,CAACC,OAAO,CAACnE,CAAC,CAAC,sCAAsC,CAAC,CAAC;UACzDwD,eAAe,CAAC,KAAK,CAAC;QACxB,CAAC;AACDY,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAExE,KAAK,EAAA;AAAA,UAAA,OACZsE,MAAM,CAACtE,KAAK,CACVyE,6BAA6B,CAC3BzE,KAAK,EACLI,CAAC,CAAC,oCAAoC,CACxC,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAjBY4E,cAAc,GAAAF,qBAAA,CAAtBH,MAAM;IAA6BM,UAAU,GAAAH,qBAAA,CAArBD,SAAS;EAmBzC,IAAAK,sBAAA,GACEC,gCAAgC,CAAC;AAC/BlC,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA,OAAO;AACPkB,MAAAA,OAAO,EAAE;QACPC,SAAS,EAAE,SAAXA,SAASA,GAAA;UAAA,OACPC,MAAM,CAACC,OAAO,CAACnE,CAAC,CAAC,yCAAyC,CAAC,CAAC;AAAA,QAAA,CAAA;AAC9DoE,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAExE,KAAK,EAAA;AAAA,UAAA,OACZsE,MAAM,CAACtE,KAAK,CACVyE,6BAA6B,CAC3BzE,KAAK,EACLI,CAAC,CAAC,uCAAuC,CAC3C,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAfYgF,kBAAkB,GAAAF,sBAAA,CAA1BP,MAAM;IAAiCU,sBAAsB,GAAAH,sBAAA,CAAjCL,SAAS;EAiB7C,IAAAS,oBAAA,GAAkCC,mBAAmB,CAAC;AACpDtC,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA,OAAO;AACPkB,MAAAA,OAAO,EAAE;QACPC,SAAS,EAAE,SAAXA,SAASA,GAAA;UAAA,OAAQC,MAAM,CAACC,OAAO,CAACnE,CAAC,CAAC,qCAAqC,CAAC,CAAC;AAAA,QAAA,CAAA;AACzEoE,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAExE,KAAK,EAAA;AAAA,UAAA,OACZsE,MAAM,CAACtE,KAAK,CACVyE,6BAA6B,CAC3BzE,KAAK,EACLI,CAAC,CAAC,mCAAmC,CACvC,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAbcoF,aAAa,GAAAF,oBAAA,CAArBX,MAAM;AAed,EAAA,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAGvD,IAAI,EAAA;AAAA,IAAA,OACvBwC,cAAc,CAAC;MACbgB,UAAU,EAAEvC,QAAQ,CAACwC,EAAE;AACvBC,MAAAA,OAAO,EAAE;AAAE1D,QAAAA,IAAI,EAAJA,IAAI;QAAE2D,cAAc,EAAEC,2BAA2B,CAAC5D,IAAI;AAAE;AACrE,KAAC,CAAC;AAAA,EAAA,CAAA;AAEJ,EAAA,IAAM6D,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIvF,IAAI,EAAE6D,SAAS,EAAA;AAAA,IAAA,OAC/Ce,kBAAkB,CAAC;MAAEM,UAAU,EAAEvC,QAAQ,CAACwC,EAAE;AAAEnF,MAAAA,IAAI,EAAJA;AAAK,KAAC,EAAE;AAAE6D,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;AAAA,EAAA,CAAA;EAEtE,IAAM2B,SAAS,GAAG,CAChB;AACEjD,IAAAA,GAAG,EAAE,MAAM;AACXnB,IAAAA,KAAK,EAAExB,CAAC,CAAC,iCAAiC,CAAC;IAC3C6F,MAAM,eAAEpF,GAAA,CAACqF,IAAI,EAAA;AAACC,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;AAC1BrE,IAAAA,OAAO,EAAEmC,UAAU;AACnB,IAAA,aAAa,EAAE;AACjB,GAAC,EACD;AACElB,IAAAA,GAAG,EAAE,QAAQ;AACbnB,IAAAA,KAAK,EAAExB,CAAC,CAAC,mCAAmC,CAAC;IAC7C6F,MAAM,eAAEpF,GAAA,CAACuF,QAAQ,EAAA;AAACD,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;IAC9BrE,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4B,eAAe,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;AACpC,IAAA,aAAa,EAAE;AACjB,GAAC,EACD;AACEX,IAAAA,GAAG,EAAE,YAAY;AACjBnB,IAAAA,KAAK,EAAExB,CAAC,CAAC,sCAAsC,CAAC;IAChD6F,MAAM,eAAEpF,GAAA,CAACwF,MAAM,EAAA;AAACF,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;IAC5BrE,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQkC,kBAAkB,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;AACvC,IAAA,aAAa,EAAE;AACjB,GAAC,EACD;AACEjB,IAAAA,GAAG,EAAE,OAAO;AACZnB,IAAAA,KAAK,EAAExB,CAAC,CAAC,kCAAkC,CAAC;IAC5C6F,MAAM,eAAEpF,GAAA,CAACyF,IAAI,EAAA;AAACH,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;IAC1BrE,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQ0D,aAAa,CAACrC,QAAQ,CAACwC,EAAE,CAAC;AAAA,IAAA,CAAA;AACzC,IAAA,aAAa,EAAE;AACjB,GAAC,EACD;AACE5C,IAAAA,GAAG,EAAE,QAAQ;AACbnB,IAAAA,KAAK,EAAExB,CAAC,CAAC,mCAAmC,CAAC;IAC7C6F,MAAM,eAAEpF,GAAA,CAAC0F,MAAM,EAAA;AAAC/E,MAAAA,SAAS,EAAC,yBAAyB;AAAC2E,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC;AAChE3E,IAAAA,SAAS,EAAE,yBAAyB;IACpCM,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ8B,eAAe,CAAC,IAAI,CAAC;AAAA,IAAA,CAAA;AACpC,IAAA,aAAa,EAAE;AACjB,GAAC,CACF;EAED,oBACElD,IAAA,CAAA8F,QAAA,EAAA;AAAA5F,IAAAA,QAAA,gBACEF,IAAA,CAAA,KAAA,EAAA;AAAKc,MAAAA,SAAS,EAAC,uKAAuK;MAAAZ,QAAA,EAAA,CACnL0C,YAAY,iBACXzC,GAAA,CAAA,QAAA,EAAA;QACE,YAAA,EAAYT,CAAC,CAAC,iCAAiC,CAAE;AACjDoB,QAAAA,SAAS,EAAC,mDAAmD;AAC7D,QAAA,aAAA,EAAY,mBAAmB;AAC/BiF,QAAAA,IAAI,EAAC,QAAQ;AACb3E,QAAAA,OAAO,EAAEmC;AAAW,OACrB,CACF,eACDpD,GAAA,CAAC6F,SAAS,EAAA;AAACC,QAAAA,IAAI,EAAEC;OAAO,CAAC,eACzBlG,IAAA,CAAA,KAAA,EAAA;AAAKc,QAAAA,SAAS,EAAC,cAAc;QAAAZ,QAAA,EAAA,cAC3BC,GAAA,CAACE,UAAU,EAAA;AAACS,UAAAA,SAAS,EAAC,UAAU;AAACR,UAAAA,KAAK,EAAC,IAAI;AAAC6F,UAAAA,MAAM,EAAC,UAAU;UAAAjG,QAAA,EAC1DuC,QAAQ,CAACjB;AAAI,SACJ,CAAC,eACbrB,GAAA,CAACE,UAAU,EAAA;AACTS,UAAAA,SAAS,EAAC,2CAA2C;AACrDR,UAAAA,KAAK,EAAC,OAAO;UAAAJ,QAAA,EAEZuC,QAAQ,CAAC0C;AAAc,SACd,CAAC;AAAA,OACV,CAAC,EACLrC,iBAAiB,iBAChB3C,GAAA,CAACiG,GAAG,EAAA;AACFlF,QAAAA,KAAK,EAAExB,CAAC,CAAC,uCAAuC,CAAE;AAClDY,QAAAA,KAAK,EAAC;AAAS,OAChB,CACF,EACAqC,SAAS,iBACRxC,GAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,eAAe;QAAAZ,QAAA,eAC5BC,GAAA,CAACkG,YAAY,EAAA;AACLf,UAAAA,SAAS,EAATA,SAAS;UACfgB,UAAU,EAAA,IAAA;AACVC,UAAAA,mBAAmB,EAAE;AACnB,YAAA,aAAa,EAAE;WACf;AACFC,UAAAA,aAAa,EAAE;AACbC,YAAAA,QAAQ,EAAE,OAAO;YACjBC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;AAAA,cAAA,OAAQC,MAAM,CAAClE,QAAQ,CAACmE,IAAI;AAAA,YAAA;AACtC;SACD;AAAC,OACC,CACN,EACAhE,YAAY,iBACXzC,GAAA,CAAC0G,KAAK,EAAA;AAAC/F,QAAAA,SAAS,EAAC,qCAAqC;AAAC2E,QAAAA,IAAI,EAAE;AAAG,OAAE,CACnE;AAAA,KACE,CAAC,eACNtF,GAAA,CAACkB,WAAW,EAAA;MACVE,WAAW,EAAEkB,QAAQ,CAACjB,IAAK;AAC3B/C,MAAAA,MAAM,EAAEsE,YAAa;AACrBrE,MAAAA,YAAY,EAAEwF,UAAW;MACzBtF,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQoE,eAAe,CAAC,KAAK,CAAC;MAAA,CAAC;AACtCnE,MAAAA,QAAQ,EAAEkG;AAAa,KACxB,CAAC,eACF5E,GAAA,CAAC7B,cAAc,EAAA;AACbG,MAAAA,MAAM,EAAE4E,eAAgB;AACxB3E,MAAAA,YAAY,EAAEiG,sBAAuB;AACrChG,MAAAA,KAAK,EAAEe,CAAC,CAAC,sCAAsC,CAAE;MACjDd,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ0E,kBAAkB,CAAC,KAAK,CAAC;MAAA,CAAC;AACzCzE,MAAAA,QAAQ,EAAEwG;AAAyB,KACpC,CAAC,eACFlF,GAAA,CAAC2G,KAAK,EAAA;AACJrI,MAAAA,MAAM,EAAEwE,YAAa;AACrBvE,MAAAA,YAAY,EAAE6F,UAAW;AACzBwC,MAAAA,iBAAiB,EAAErH,CAAC,CAAC,mCAAmC,CAAE;AAC1Df,MAAAA,KAAK,EAAEe,CAAC,CAAC,oCAAoC,CAAE;AAC/CsH,MAAAA,OAAO,EAAEtH,CAAC,CAAC,sCAAsC,EAAE;QACjD8B,IAAI,EAAEiB,QAAQ,CAACjB;AACjB,OAAC,CAAE;MACH5C,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQsE,eAAe,CAAC,KAAK,CAAC;MAAA,CAAC;MACtCrE,QAAQ,EAAE,SAAVA,QAAQA,GAAA;AAAA,QAAA,OAAQyF,cAAc,CAAC7B,QAAQ,CAACwC,EAAE,CAAC;AAAA,MAAA;AAAC,KAC7C,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AChOD,IAAMgC,aAAa,GACjB,sIAAsI;AAExI,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAA3I,IAAA,EAAA;AAAA,EAAA,IAAMI,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEwI,IAAI,GAAA5I,IAAA,CAAJ4I,IAAI;AAAA,EAAA,oBAC9BnH,IAAA,CAAA,GAAA,EAAA;AAASmH,IAAAA,IAAI,EAAJA,IAAI;AAAIrG,IAAAA,SAAS,EAAA,EAAA,CAAAsG,MAAA,CAAKH,aAAa,EAAA,2BAAA,CAA4B;IAAA/G,QAAA,EAAA,cACtEC,GAAA,CAAC6F,SAAS,EAAA;AAACC,MAAAA,IAAI,EAAEoB;AAAS,KAAE,CAAC,eAC7BlH,GAAA,CAACE,UAAU,EAAA;AAACS,MAAAA,SAAS,EAAC,MAAM;AAACR,MAAAA,KAAK,EAAC,IAAI;AAAC6F,MAAAA,MAAM,EAAC,UAAU;AAAAjG,MAAAA,QAAA,EACtDvB;AAAK,KACI,CAAC;AAAA,GACZ,CAAC;AAAA,CACL;;ACED,IAAM2I,YAAY,GAAG,SAAfA,YAAYA,GAAA;AAAA,EAAA,oBAChBnH,GAAA,CAAA,KAAA,EAAA;AAAKW,IAAAA,SAAS,EAAC,gDAAgD;AAAAZ,IAAAA,QAAA,eAC7DC,GAAA,CAACoH,OAAO,EAAA,EAAE;AAAC,GACR,CAAC;AAAA,CACP;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAjJ,IAAA,EAShB;AAAA,EAAA,IARJgE,UAAU,GAAAhE,IAAA,CAAVgE,UAAU;IACVC,OAAO,GAAAjE,IAAA,CAAPiE,OAAO;IAAAE,cAAA,GAAAnE,IAAA,CACPoE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;IAAA+E,qBAAA,GAAAlJ,IAAA,CAChBmJ,sBAAsB;AAAtBA,IAAAA,sBAAsB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,gBAAA,GAAApJ,IAAA,CAC3BqJ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAChB/E,YAAY,GAAArE,IAAA,CAAZqE,YAAY;IACZiF,YAAY,GAAAtJ,IAAA,CAAZsJ,YAAY;IACZC,aAAa,GAAAvJ,IAAA,CAAbuJ,aAAa;AAEb,EAAA,IAAAhJ,SAAA,GAAkDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1DiJ,IAAAA,iBAAiB,GAAA/I,UAAA,CAAA,CAAA,CAAA;AAAEgJ,IAAAA,oBAAoB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAQ,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAMf,KAAK,GAAGe,CAAC,CAAC,6BAA6B,CAAC;AAC9C,EAAA,IAAMuI,WAAW,GAAGvI,CAAC,CAAC,mCAAmC,CAAC;EAC1D,IAAMwI,wBAAwB,GAAGC,OAAO,CACtC,YAAA;AAAA,IAAA,OAAM,IAAIC,GAAG,CAACV,sBAAsB,CAAC;EAAA,CAAA,EACrC,CAACA,sBAAsB,CACzB,CAAC;EAED,IAAAW,qBAAA,GAAqDC,oBAAoB,CAAC;AACxE/F,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAAA+F,sBAAA,GAAAF,qBAAA,CAHMG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,sBAAA,KAAA,MAAA,GAAuB,EAAE,GAAAA,sBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArBE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAASE,SAAS,GAAAP,qBAAA,CAATO,SAAS;EAKhD,IAAAC,qBAAA,GACEC,oBAAoB,CAAC;AACnBvG,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,OAAO,EAAPA,OAAO;AACPkB,MAAAA,OAAO,EAAE;QACPC,SAAS,EAAE,SAAXA,SAASA,GAAA;UAAA,OACPC,MAAM,CAACC,OAAO,CAACnE,CAAC,CAAC,qCAAqC,CAAC,CAAC;AAAA,QAAA,CAAA;AAC1DoE,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAExE,KAAK,EAAA;AAAA,UAAA,OACZsE,MAAM,CAACtE,KAAK,CACVyE,6BAA6B,CAC3BzE,KAAK,EACLI,CAAC,CAAC,mCAAmC,CACvC,CACF,CAAC;AAAA,QAAA;AACL;AACF,KAAC,CAAC;IAfYqJ,iBAAiB,GAAAF,qBAAA,CAAzB5E,MAAM;IAAgC+E,WAAW,GAAAH,qBAAA,CAAtB1E,SAAS;AAiB5C,EAAA,IAAM8E,YAAY,GAAG,SAAfA,YAAYA,CAAInJ,IAAI,EAAE6D,SAAS,EAAA;IAAA,OACnCoF,iBAAiB,CAACjJ,IAAI,EAAE;AAAE6D,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;AAAA,EAAA,CAAA;AAExC,EAAA,IAAMuF,WAAW,GAAGvG,SAAS,gBAC3BxC,GAAA,CAACa,MAAM,EAAA;AACLiF,IAAAA,IAAI,EAAEkD,IAAK;AACXjI,IAAAA,KAAK,EAAExB,CAAC,CAAC,mCAAmC,CAAE;AAC9CyB,IAAAA,OAAO,EAAE6H,WAAY;IACrB5H,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4G,oBAAoB,CAAC,IAAI,CAAC;AAAA,IAAA;GAC1C,CAAC,GACA,IAAI;AAER,EAAA,IAAIY,SAAS,EAAE,oBAAOzI,GAAA,CAACmH,YAAY,IAAE,CAAC;AAEtC,EAAA,IAAM8B,OAAO,gBACXpJ,IAAA,CAAA8F,QAAA,EAAA;AAAA5F,IAAAA,QAAA,gBACEC,GAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,iBAAiB;MAAAZ,QAAA,EAC7BmJ,UAAU,CAACV,SAAS,CAAC,GACpBA,SAAS,CAACW,GAAG,CAAC,UAAA7G,QAAQ,EAAA;QAAA,oBACpB8G,aAAA,CAACjH,YAAY,EAAA;AACLC,UAAAA,UAAU,EAAVA,UAAU;AAAEI,UAAAA,SAAS,EAATA,SAAS;AAAEF,UAAAA,QAAQ,EAARA,QAAQ;AAAEG,UAAAA,YAAY,EAAZA,YAAY;AAAEJ,UAAAA,OAAO,EAAPA,OAAO;UAC5DM,iBAAiB,EAAEoF,wBAAwB,CAACsB,GAAG,CAAC/G,QAAQ,CAACwC,EAAE,CAAE;UAC7D5C,GAAG,EAAEI,QAAQ,CAACwC;AAAG,SAClB,CAAC;MAAA,CACH,CAAC,gBAEF9E,GAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,iFAAiF;QAAAZ,QAAA,eAC9FC,GAAA,CAACE,UAAU,EAAA;AAACS,UAAAA,SAAS,EAAC,wBAAwB;AAACR,UAAAA,KAAK,EAAC,OAAO;UAAAJ,QAAA,EACzDR,CAAC,CAAC,6BAA6B;SACtB;OACT;KAEJ,CAAC,EACL,CAACkI,WAAW,CAAC6B,SAAS,IAAI7B,WAAW,CAAC8B,QAAQ,kBAC7C1J,IAAA,CAAA,KAAA,EAAA;MAAAE,QAAA,EAAA,cACEC,GAAA,CAACE,UAAU,EAAA;AAACS,QAAAA,SAAS,EAAC,MAAM;AAACR,QAAAA,KAAK,EAAC,IAAI;AAAC6F,QAAAA,MAAM,EAAC,UAAU;QAAAjG,QAAA,EACtDR,CAAC,CAAC,4CAA4C;AAAC,OACtC,CAAC,eACbS,GAAA,CAACE,UAAU,EAAA;AAACS,QAAAA,SAAS,EAAC,6BAA6B;AAACR,QAAAA,KAAK,EAAC,OAAO;QAAAJ,QAAA,EAC9DR,CAAC,CAAC,kDAAkD;OAC3C,CAAC,eACbM,IAAA,CAAA,KAAA,EAAA;AAAKc,QAAAA,SAAS,EAAC,uCAAuC;AAAAZ,QAAAA,QAAA,GACnD0H,WAAW,CAAC6B,SAAS,iBACpBtJ,GAAA,CAAC+G,SAAS,EAAA;UACRC,IAAI,EAAES,WAAW,CAAC6B,SAAU;UAC5B9K,KAAK,EAAEe,CAAC,CAAC,gDAAgD;SAC1D,CACF,EACAkI,WAAW,CAAC8B,QAAQ,iBACnBvJ,GAAA,CAAC+G,SAAS,EAAA;UACRC,IAAI,EAAES,WAAW,CAAC8B,QAAS;UAC3B/K,KAAK,EAAEe,CAAC,CAAC,mDAAmD;AAAE,SAC/D,CACF;AAAA,OACE,CAAC;AAAA,KACH,CACN;AAAA,GACD,CACH;EAED,oBACEM,IAAA,CAAA8F,QAAA,EAAA;AAAA5F,IAAAA,QAAA,gBACEF,IAAA,CAAA,KAAA,EAAA;AAAKc,MAAAA,SAAS,EAAC,+BAA+B;AAAAZ,MAAAA,QAAA,GAC3C,CAAA2H,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAG;AAAEqB,QAAAA,WAAW,EAAXA,WAAW;AAAEvK,QAAAA,KAAK,EAALA;OAAO,CAAC,kBACrCqB,IAAA,CAAA,KAAA,EAAA;AAAKc,QAAAA,SAAS,EAAC,8CAA8C;AAAAZ,QAAAA,QAAA,gBAC3DF,IAAA,CAAA,KAAA,EAAA;UAAAE,QAAA,EAAA,cACEC,GAAA,CAACE,UAAU,EAAA;AAACC,YAAAA,KAAK,EAAC,IAAI;AAAC6F,YAAAA,MAAM,EAAC,UAAU;AAAAjG,YAAAA,QAAA,EACrCvB;AAAK,WACI,CAAC,eACbwB,GAAA,CAACE,UAAU,EAAA;AACTS,YAAAA,SAAS,EAAC,uCAAuC;AACjDR,YAAAA,KAAK,EAAC,OAAO;AAAAJ,YAAAA,QAAA,EAEZ+H;AAAW,WACF,CAAC;SACV,CAAC,EACLiB,WAAW;AAAA,OACT,CACN,EACA,CAAApB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAGsB,OAAO,CAAC,kBAAIjJ,GAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,WAAW;AAAAZ,QAAAA,QAAA,EAAEkJ;AAAO,OAAM,CAAC;AAAA,KACpE,CAAC,eACNjJ,GAAA,CAAC7B,cAAc,EAAA;AACbG,MAAAA,MAAM,EAAEsJ,iBAAkB;AAC1BrJ,MAAAA,YAAY,EAAEsK,WAAY;AAC1BrK,MAAAA,KAAK,EAAEe,CAAC,CAAC,mCAAmC,CAAE;MAC9Cd,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQoJ,oBAAoB,CAAC,KAAK,CAAC;MAAA,CAAC;AAC3CnJ,MAAAA,QAAQ,EAAEoK;AAAa,KACxB,CAAC;AAAA,GACF,CAAC;AAEP;;;;"}