@paro.io/expert-shared-components 1.14.43 → 1.14.46

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 (242) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +2 -2
  3. package/lib/README.md +2 -0
  4. package/lib/components/ClientReferencesSection/DeleteButton.js +11 -11
  5. package/lib/components/ClientReferencesSection/ParoError.js +10 -10
  6. package/lib/components/ClientReferencesSection/TagsSection.js +2 -2
  7. package/lib/components/ClientReferencesSection/styles/BrandedTypography.js +2 -2
  8. package/lib/components/ClientReferencesSection/styles/Buttons.js +15 -15
  9. package/lib/components/ClientReferencesSection/styles/Name.js +5 -5
  10. package/lib/components/ClientReferencesSection/styles/NullContentConditionalColor.js +4 -4
  11. package/lib/components/ClientReferencesSection/styles/SectionBody.js +11 -11
  12. package/lib/components/ClientReferencesSection/styles/SectionTitle.js +6 -6
  13. package/lib/components/ClientReferencesSection/styles/Tags.js +2 -2
  14. package/lib/components/DiscussionThread/DiscussionThread.d.ts +25 -25
  15. package/lib/components/DiscussionThread/DiscussionThread.js +137 -137
  16. package/lib/components/DiscussionThread/chat.d.ts +22 -22
  17. package/lib/components/DiscussionThread/chat.js +106 -106
  18. package/lib/components/DiscussionThread/index.d.ts +1 -1
  19. package/lib/components/DiscussionThread/index.js +5 -5
  20. package/lib/components/DocumentCenter/DocumentTable.d.ts +15 -15
  21. package/lib/components/DocumentCenter/DocumentTable.js +350 -350
  22. package/lib/components/DocumentCenter/DragDropUpload.js +4 -4
  23. package/lib/components/DocumentCenter/UploadFilesButton.d.ts +6 -6
  24. package/lib/components/DocumentCenter/UploadFilesButton.js +29 -29
  25. package/lib/components/EarningsTracker/ActiveProjectCard.d.ts +52 -52
  26. package/lib/components/EarningsTracker/ActiveProjectCard.js +161 -161
  27. package/lib/components/EarningsTracker/CenterCardUI.d.ts +13 -13
  28. package/lib/components/EarningsTracker/CenterCardUI.js +134 -134
  29. package/lib/components/EarningsTracker/EarningsTracker.d.ts +52 -52
  30. package/lib/components/EarningsTracker/EarningsTracker.js +508 -508
  31. package/lib/components/EarningsTracker/EditDateModal.d.ts +22 -22
  32. package/lib/components/EarningsTracker/EditDateModal.js +149 -149
  33. package/lib/components/EarningsTracker/EmailModal.d.ts +14 -14
  34. package/lib/components/EarningsTracker/EmailModal.js +79 -79
  35. package/lib/components/EarningsTracker/EndProjectModal.d.ts +56 -56
  36. package/lib/components/EarningsTracker/EndProjectModal.js +221 -221
  37. package/lib/components/EarningsTracker/LeftCardUI.d.ts +18 -18
  38. package/lib/components/EarningsTracker/LeftCardUI.js +189 -189
  39. package/lib/components/EarningsTracker/LogTimeModalAuthenticated.d.ts +52 -52
  40. package/lib/components/EarningsTracker/LogTimeModalAuthenticated.js +358 -358
  41. package/lib/components/EarningsTracker/ProgressBar.d.ts +4 -4
  42. package/lib/components/EarningsTracker/ProgressBar.js +66 -66
  43. package/lib/components/EarningsTracker/ReviewRequestModal.d.ts +17 -17
  44. package/lib/components/EarningsTracker/ReviewRequestModal.js +135 -135
  45. package/lib/components/EarningsTracker/RightCardUI.d.ts +46 -46
  46. package/lib/components/EarningsTracker/RightCardUI.js +231 -231
  47. package/lib/components/EarningsTracker/index.d.ts +1 -1
  48. package/lib/components/EarningsTracker/index.js +5 -5
  49. package/lib/components/Escalations/CustomTag.d.ts +3 -3
  50. package/lib/components/Escalations/CustomTag.js +25 -25
  51. package/lib/components/Escalations/ViewReponseModal.d.ts +8 -8
  52. package/lib/components/Escalations/ViewReponseModal.js +27 -27
  53. package/lib/components/ExpertProfileHeader/ActionButtonSection.js +6 -6
  54. package/lib/components/ExpertProfileHeader/ProfileSection.js +7 -7
  55. package/lib/components/Invoices/TestDecisionSection.d.ts +1 -1
  56. package/lib/components/Invoices/TestDecisionSection.js +126 -126
  57. package/lib/components/OrganizationChart/OrganizationChart.d.ts +15 -15
  58. package/lib/components/OrganizationChart/OrganizationChart.js +312 -312
  59. package/lib/components/OrganizationChart/PersonCard.js +5 -5
  60. package/lib/components/OrganizationChart/utils.js +79 -79
  61. package/lib/components/ProjectCard/ProgressBar.js +4 -4
  62. package/lib/components/ProjectCard/ReviewRequestModal.js +5 -5
  63. package/lib/components/ProjectIntelligence/MissingInformation/index.js +1 -1
  64. package/lib/components/Reviews/Pagination.js +6 -6
  65. package/lib/components/ReviewsTab/RatingHeader.js +6 -6
  66. package/lib/components/ReviewsTab/expert-shared-components.code-workspace +20 -20
  67. package/lib/components/ReviewsTab/reviewRequestModal.js +5 -5
  68. package/lib/components/shared/Image.js +13 -13
  69. package/lib/components/shared/ProfileTextField.d.ts +18 -18
  70. package/lib/components/shared/ProfileTextField.js +16 -16
  71. package/lib/components/shared/StyledActionButtons.d.ts +7 -7
  72. package/lib/components/shared/StyledActionButtons.js +15 -15
  73. package/lib/components/shared/ToastNotification.d.ts +10 -10
  74. package/lib/components/shared/ToastNotification.js +63 -63
  75. package/lib/index.d.ts +13 -0
  76. package/lib/index.js +27 -1
  77. package/lib/package.json +68 -0
  78. package/lib/tax-axis/components/clientReport/ClientReportCover.d.ts +9 -0
  79. package/lib/tax-axis/components/clientReport/ClientReportCover.js +39 -0
  80. package/lib/tax-axis/components/clientReport/ClientReportTOC.d.ts +8 -0
  81. package/lib/tax-axis/components/clientReport/ClientReportTOC.js +24 -0
  82. package/lib/tax-axis/components/clientReport/ClientReportToolbar.d.ts +2 -0
  83. package/lib/tax-axis/components/clientReport/ClientReportToolbar.js +6 -0
  84. package/lib/tax-axis/components/clientReport/ETRChart.d.ts +10 -0
  85. package/lib/tax-axis/components/clientReport/ETRChart.js +50 -0
  86. package/lib/tax-axis/components/clientReport/ExecutiveSummary.d.ts +15 -0
  87. package/lib/tax-axis/components/clientReport/ExecutiveSummary.js +73 -0
  88. package/lib/tax-axis/components/clientReport/FootnoteBlock.d.ts +11 -0
  89. package/lib/tax-axis/components/clientReport/FootnoteBlock.js +34 -0
  90. package/lib/tax-axis/components/clientReport/ImplementationRoadmap.d.ts +26 -0
  91. package/lib/tax-axis/components/clientReport/ImplementationRoadmap.js +51 -0
  92. package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.d.ts +10 -0
  93. package/lib/tax-axis/components/clientReport/ImplementationTimelineChart.js +49 -0
  94. package/lib/tax-axis/components/clientReport/Methodology.d.ts +10 -0
  95. package/lib/tax-axis/components/clientReport/Methodology.js +40 -0
  96. package/lib/tax-axis/components/clientReport/QuarterlyCashChart.d.ts +10 -0
  97. package/lib/tax-axis/components/clientReport/QuarterlyCashChart.js +56 -0
  98. package/lib/tax-axis/components/clientReport/RecommendedStrategies.d.ts +13 -0
  99. package/lib/tax-axis/components/clientReport/RecommendedStrategies.js +51 -0
  100. package/lib/tax-axis/components/clientReport/SavingsStackChart.d.ts +10 -0
  101. package/lib/tax-axis/components/clientReport/SavingsStackChart.js +66 -0
  102. package/lib/tax-axis/components/clientReport/SectionOpener.d.ts +11 -0
  103. package/lib/tax-axis/components/clientReport/SectionOpener.js +20 -0
  104. package/lib/tax-axis/components/clientReport/Sidebar.d.ts +8 -0
  105. package/lib/tax-axis/components/clientReport/Sidebar.js +37 -0
  106. package/lib/tax-axis/components/clientReport/StrategyCard.d.ts +16 -0
  107. package/lib/tax-axis/components/clientReport/StrategyCard.js +63 -0
  108. package/lib/tax-axis/components/clientReport/TaxAxisClientReport.d.ts +9 -0
  109. package/lib/tax-axis/components/clientReport/TaxAxisClientReport.js +125 -0
  110. package/lib/tax-axis/components/clientReport/applyFootnotes.d.ts +12 -0
  111. package/lib/tax-axis/components/clientReport/applyFootnotes.js +43 -0
  112. package/lib/tax-axis/components/clientReport/palette.d.ts +28 -0
  113. package/lib/tax-axis/components/clientReport/palette.js +34 -0
  114. package/lib/tax-axis/components/dashboard/ConfidenceArc.d.ts +7 -0
  115. package/lib/tax-axis/components/dashboard/ConfidenceArc.js +20 -0
  116. package/lib/tax-axis/components/dashboard/DashboardActions.d.ts +13 -0
  117. package/lib/tax-axis/components/dashboard/DashboardActions.js +94 -0
  118. package/lib/tax-axis/components/dashboard/DashboardSummary.d.ts +11 -0
  119. package/lib/tax-axis/components/dashboard/DashboardSummary.js +98 -0
  120. package/lib/tax-axis/components/dashboard/DashboardTopBar.d.ts +10 -0
  121. package/lib/tax-axis/components/dashboard/DashboardTopBar.js +48 -0
  122. package/lib/tax-axis/components/dashboard/StrategyDetailPanel.d.ts +10 -0
  123. package/lib/tax-axis/components/dashboard/StrategyDetailPanel.js +139 -0
  124. package/lib/tax-axis/components/dashboard/StrategyTile.d.ts +10 -0
  125. package/lib/tax-axis/components/dashboard/StrategyTile.js +82 -0
  126. package/lib/tax-axis/components/dashboard/TaxAxisDashboard.d.ts +12 -0
  127. package/lib/tax-axis/components/dashboard/TaxAxisDashboard.js +285 -0
  128. package/lib/tax-axis/components/dashboard/useCountUp.d.ts +1 -0
  129. package/lib/tax-axis/components/dashboard/useCountUp.js +25 -0
  130. package/lib/tax-axis/components/documents/DocumentCard.d.ts +18 -0
  131. package/lib/tax-axis/components/documents/DocumentCard.js +61 -0
  132. package/lib/tax-axis/components/documents/DocumentTier.d.ts +21 -0
  133. package/lib/tax-axis/components/documents/DocumentTier.js +23 -0
  134. package/lib/tax-axis/components/documents/TaxAxisDocuments.d.ts +8 -0
  135. package/lib/tax-axis/components/documents/TaxAxisDocuments.js +157 -0
  136. package/lib/tax-axis/components/extractionReview/DocumentCard.d.ts +17 -0
  137. package/lib/tax-axis/components/extractionReview/DocumentCard.js +105 -0
  138. package/lib/tax-axis/components/extractionReview/FieldRow.d.ts +17 -0
  139. package/lib/tax-axis/components/extractionReview/FieldRow.js +137 -0
  140. package/lib/tax-axis/components/extractionReview/PurposeBlock.d.ts +7 -0
  141. package/lib/tax-axis/components/extractionReview/PurposeBlock.js +18 -0
  142. package/lib/tax-axis/components/extractionReview/RerunFooter.d.ts +8 -0
  143. package/lib/tax-axis/components/extractionReview/RerunFooter.js +60 -0
  144. package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.d.ts +11 -0
  145. package/lib/tax-axis/components/extractionReview/TaxAxisExtractionReview.js +186 -0
  146. package/lib/tax-axis/components/intake/ClientParametersSection.d.ts +7 -0
  147. package/lib/tax-axis/components/intake/ClientParametersSection.js +146 -0
  148. package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.d.ts +7 -0
  149. package/lib/tax-axis/components/intake/CpaIntakeQuestionsSection.js +93 -0
  150. package/lib/tax-axis/components/intake/IntakeCtaCards.d.ts +9 -0
  151. package/lib/tax-axis/components/intake/IntakeCtaCards.js +30 -0
  152. package/lib/tax-axis/components/intake/RefineAnalysisSection.d.ts +7 -0
  153. package/lib/tax-axis/components/intake/RefineAnalysisSection.js +151 -0
  154. package/lib/tax-axis/components/intake/StateMultiSelect.d.ts +7 -0
  155. package/lib/tax-axis/components/intake/StateMultiSelect.js +90 -0
  156. package/lib/tax-axis/components/intake/StrategyRadar.d.ts +7 -0
  157. package/lib/tax-axis/components/intake/StrategyRadar.js +240 -0
  158. package/lib/tax-axis/components/intake/TaxAxisIntake.d.ts +8 -0
  159. package/lib/tax-axis/components/intake/TaxAxisIntake.js +38 -0
  160. package/lib/tax-axis/components/intake/intakeSchema.d.ts +97 -0
  161. package/lib/tax-axis/components/intake/intakeSchema.js +91 -0
  162. package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.d.ts +9 -0
  163. package/lib/tax-axis/components/preparerWorkpaper/CalculationTraceAccordion.js +19 -0
  164. package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.d.ts +9 -0
  165. package/lib/tax-axis/components/preparerWorkpaper/EngagementHeader.js +43 -0
  166. package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.d.ts +9 -0
  167. package/lib/tax-axis/components/preparerWorkpaper/Position6694Accordion.js +25 -0
  168. package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.d.ts +14 -0
  169. package/lib/tax-axis/components/preparerWorkpaper/PriorityGroup.js +20 -0
  170. package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.d.ts +9 -0
  171. package/lib/tax-axis/components/preparerWorkpaper/Section6694Summary.js +36 -0
  172. package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.d.ts +9 -0
  173. package/lib/tax-axis/components/preparerWorkpaper/SourceDocumentsAccordion.js +20 -0
  174. package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.d.ts +14 -0
  175. package/lib/tax-axis/components/preparerWorkpaper/StrategyWorkpaperCard.js +53 -0
  176. package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.d.ts +9 -0
  177. package/lib/tax-axis/components/preparerWorkpaper/TaxAxisPreparerWorkpaper.js +175 -0
  178. package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.d.ts +7 -0
  179. package/lib/tax-axis/components/presentationMode/TaxAxisPresentationMode.js +245 -0
  180. package/lib/tax-axis/components/processing/ProcessingStages.d.ts +7 -0
  181. package/lib/tax-axis/components/processing/ProcessingStages.js +17 -0
  182. package/lib/tax-axis/components/processing/TaxAxisProcessing.d.ts +7 -0
  183. package/lib/tax-axis/components/processing/TaxAxisProcessing.js +105 -0
  184. package/lib/tax-axis/components/prospectReport/ProspectCover.d.ts +10 -0
  185. package/lib/tax-axis/components/prospectReport/ProspectCover.js +47 -0
  186. package/lib/tax-axis/components/prospectReport/ProspectDocuments.d.ts +9 -0
  187. package/lib/tax-axis/components/prospectReport/ProspectDocuments.js +31 -0
  188. package/lib/tax-axis/components/prospectReport/ProspectNextSteps.d.ts +13 -0
  189. package/lib/tax-axis/components/prospectReport/ProspectNextSteps.js +37 -0
  190. package/lib/tax-axis/components/prospectReport/ProspectPrintView.d.ts +26 -0
  191. package/lib/tax-axis/components/prospectReport/ProspectPrintView.js +185 -0
  192. package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.d.ts +10 -0
  193. package/lib/tax-axis/components/prospectReport/ProspectStrategyCard.js +52 -0
  194. package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.d.ts +7 -0
  195. package/lib/tax-axis/components/prospectReport/SampleAnalysisPreview.js +120 -0
  196. package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.d.ts +9 -0
  197. package/lib/tax-axis/components/prospectReport/TaxAxisProspectReport.js +173 -0
  198. package/lib/tax-axis/components/prospectReport/TaxPositionGap.d.ts +15 -0
  199. package/lib/tax-axis/components/prospectReport/TaxPositionGap.js +45 -0
  200. package/lib/tax-axis/components/prospectReport/theme.d.ts +26 -0
  201. package/lib/tax-axis/components/prospectReport/theme.js +33 -0
  202. package/lib/tax-axis/components/shared/ReportToolbar.d.ts +12 -0
  203. package/lib/tax-axis/components/shared/ReportToolbar.js +81 -0
  204. package/lib/tax-axis/components/shared/SectionHeader.d.ts +8 -0
  205. package/lib/tax-axis/components/shared/SectionHeader.js +15 -0
  206. package/lib/tax-axis/components/shared/TaxAxisBadge.d.ts +12 -0
  207. package/lib/tax-axis/components/shared/TaxAxisBadge.js +34 -0
  208. package/lib/tax-axis/components/shared/TaxAxisButton.d.ts +12 -0
  209. package/lib/tax-axis/components/shared/TaxAxisButton.js +17 -0
  210. package/lib/tax-axis/components/shared/TaxAxisCard.d.ts +9 -0
  211. package/lib/tax-axis/components/shared/TaxAxisCard.js +13 -0
  212. package/lib/tax-axis/index.d.ts +25 -0
  213. package/lib/tax-axis/index.js +51 -0
  214. package/lib/tax-axis/lib/compute/index.d.ts +8 -0
  215. package/lib/tax-axis/lib/compute/index.js +163 -0
  216. package/lib/tax-axis/lib/data/documents.d.ts +3 -0
  217. package/lib/tax-axis/lib/data/documents.js +33 -0
  218. package/lib/tax-axis/lib/data/extractedData.d.ts +2 -0
  219. package/lib/tax-axis/lib/data/extractedData.js +47 -0
  220. package/lib/tax-axis/lib/data/footnoteData.d.ts +2 -0
  221. package/lib/tax-axis/lib/data/footnoteData.js +48 -0
  222. package/lib/tax-axis/lib/data/index.d.ts +11 -0
  223. package/lib/tax-axis/lib/data/index.js +31 -0
  224. package/lib/tax-axis/lib/data/nextSteps.d.ts +2 -0
  225. package/lib/tax-axis/lib/data/nextSteps.js +35 -0
  226. package/lib/tax-axis/lib/data/sidebarLookup.d.ts +2 -0
  227. package/lib/tax-axis/lib/data/sidebarLookup.js +90 -0
  228. package/lib/tax-axis/lib/data/sourceDescriptions.d.ts +1 -0
  229. package/lib/tax-axis/lib/data/sourceDescriptions.js +32 -0
  230. package/lib/tax-axis/lib/data/states.d.ts +6 -0
  231. package/lib/tax-axis/lib/data/states.js +25 -0
  232. package/lib/tax-axis/lib/data/strategies.d.ts +8 -0
  233. package/lib/tax-axis/lib/data/strategies.js +166 -0
  234. package/lib/tax-axis/lib/data/strategyNarrative.d.ts +3 -0
  235. package/lib/tax-axis/lib/data/strategyNarrative.js +170 -0
  236. package/lib/tax-axis/lib/data/strategyProspect.d.ts +2 -0
  237. package/lib/tax-axis/lib/data/strategyProspect.js +66 -0
  238. package/lib/tax-axis/lib/data/workpaperInteractions.d.ts +1 -0
  239. package/lib/tax-axis/lib/data/workpaperInteractions.js +15 -0
  240. package/lib/tax-axis/lib/types/index.d.ts +183 -0
  241. package/lib/tax-axis/lib/types/index.js +7 -0
  242. package/package.json +68 -67
@@ -1,350 +1,350 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.DocumentTable = void 0;
39
- const react_1 = __importStar(require("react"));
40
- const core_1 = require("@material-ui/core");
41
- const Pagination_1 = __importDefault(require("../Reviews/Pagination"));
42
- const DocumentUploadRow_1 = require("./DocumentUploadRow");
43
- const base_icons_1 = require("@paro.io/base-icons");
44
- const base_ui_1 = require("@paro.io/base-ui");
45
- const useStyles = (0, core_1.makeStyles)({
46
- tableCell: {
47
- whiteSpace: 'normal',
48
- border: '1px solid #E2E8F0',
49
- padding: '10px'
50
- },
51
- tableRow: {
52
- height: 40
53
- },
54
- container: {
55
- overflow: 'auto',
56
- padding: 10,
57
- width: '100%',
58
- borderRadius: '12px',
59
- margin: '12px'
60
- },
61
- tableCellBorder: {
62
- whiteSpace: 'nowrap',
63
- border: '1px solid #E2E8F0'
64
- },
65
- shade: {
66
- backgroundColor: '#D9EFEF'
67
- }
68
- });
69
- const headCells = [
70
- {
71
- id: 'fileName',
72
- label: 'File Name',
73
- },
74
- {
75
- id: 'docType',
76
- label: 'Document Type',
77
- },
78
- {
79
- id: 'docSize',
80
- label: 'Document Size',
81
- },
82
- {
83
- id: 'clientName',
84
- label: 'Client Name',
85
- },
86
- {
87
- id: 'projectName',
88
- label: 'Project Name',
89
- },
90
- {
91
- id: 'projectStatus',
92
- label: 'Project Status',
93
- },
94
- {
95
- id: 'uploadedDate',
96
- label: 'Uploaded Date',
97
- },
98
- {
99
- id: 'uploadedBy',
100
- label: 'Uploaded By',
101
- },
102
- {
103
- id: 'lastViewed',
104
- label: 'Last Viewed',
105
- },
106
- ];
107
- function descendingComparator(a, b, orderBy) {
108
- var _a, _b, _c, _d, _e, _f;
109
- // Check for orderBy being 'projectDuration', we will compare docSize if 'docSize' is passed
110
- if (orderBy === 'docSize') {
111
- //@ts-ignore
112
- const sizeA = (_a = a === null || a === void 0 ? void 0 : a.docSize) !== null && _a !== void 0 ? _a : 0;
113
- //@ts-ignore
114
- const sizeB = (_b = b === null || b === void 0 ? void 0 : b.docSize) !== null && _b !== void 0 ? _b : 0;
115
- if (sizeB < sizeA) {
116
- return -1;
117
- }
118
- if (sizeB > sizeA) {
119
- return 1;
120
- }
121
- return 0;
122
- }
123
- else if (orderBy === 'uploadedDate' || orderBy === 'lastViewed') {
124
- // For 'uploadedDate' and 'lastViewed', we assume they're strings or date strings
125
- //@ts-ignore
126
- const dateA = a === null || a === void 0 ? void 0 : a[orderBy];
127
- //@ts-ignore
128
- const dateB = b === null || b === void 0 ? void 0 : b[orderBy];
129
- //@ts-ignore
130
- if (dateB < dateA) {
131
- return -1;
132
- }
133
- //@ts-ignore
134
- if (dateB > dateA) {
135
- return 1;
136
- }
137
- return 0;
138
- }
139
- else if (orderBy === 'clientName') {
140
- // For clientName, do normal string comparison
141
- //@ts-ignore
142
- const clientA = (_c = a === null || a === void 0 ? void 0 : a.clientName) !== null && _c !== void 0 ? _c : "";
143
- //@ts-ignore
144
- const clientB = (_d = b === null || b === void 0 ? void 0 : b.clientName) !== null && _d !== void 0 ? _d : "";
145
- if (clientB < clientA) {
146
- return -1;
147
- }
148
- if (clientB > clientA) {
149
- return 1;
150
- }
151
- return 0;
152
- }
153
- else if (orderBy === 'fileName' || orderBy === 'docType' || orderBy === 'projectName' || orderBy === 'uploadedBy') {
154
- // For string-based comparisons (e.g., fileName, docType, projectName, uploadedBy)
155
- //@ts-ignore
156
- const valueA = (_e = a === null || a === void 0 ? void 0 : a[orderBy]) !== null && _e !== void 0 ? _e : "";
157
- //@ts-ignore
158
- const valueB = (_f = b === null || b === void 0 ? void 0 : b[orderBy]) !== null && _f !== void 0 ? _f : "";
159
- if (valueB < valueA) {
160
- return -1;
161
- }
162
- if (valueB > valueA) {
163
- return 1;
164
- }
165
- return 0;
166
- }
167
- else {
168
- // General case for other properties
169
- //@ts-ignore
170
- const selectedColumnA = a === null || a === void 0 ? void 0 : a[orderBy];
171
- //@ts-ignore
172
- const selectedColumnB = b === null || b === void 0 ? void 0 : b[orderBy];
173
- if (selectedColumnA === 'N/A' && selectedColumnB !== 'N/A') {
174
- return 1;
175
- }
176
- if (selectedColumnA !== 'N/A' && selectedColumnB === 'N/A') {
177
- return -1;
178
- }
179
- if (selectedColumnB === undefined) {
180
- return -1;
181
- }
182
- if (selectedColumnA === undefined) {
183
- return 1;
184
- }
185
- //@ts-ignore
186
- if (selectedColumnB < selectedColumnA) {
187
- return -1;
188
- }
189
- //@ts-ignore
190
- if (selectedColumnB > selectedColumnA) {
191
- return 1;
192
- }
193
- return 0;
194
- }
195
- }
196
- function getComparator(order, orderBy) {
197
- return order === 'desc'
198
- ? (a, b) => descendingComparator(a, b, orderBy)
199
- : (a, b) => -descendingComparator(a, b, orderBy);
200
- }
201
- function stableSort(array, comparator) {
202
- const stabilizedThis = array.map((el, index) => [el, index]);
203
- stabilizedThis.sort((a, b) => {
204
- const order = comparator(a[0], b[0]);
205
- if (order !== 0) {
206
- return order;
207
- }
208
- return a[1] - b[1];
209
- });
210
- return stabilizedThis.map((el) => el[0]);
211
- }
212
- const DocumentTable = ({ legacyFreelancerId, paroProjectsData, expiryDate, expertFiles, uploadExpertClientFiles, uploadFileData, deleteFileMutation, updateFreelancerExpiryMutation, GetFilesDocument, foldername, paroDocuments }) => {
213
- const classes = useStyles();
214
- const [order, setOrder] = react_1.default.useState('asc');
215
- const [orderBy, setOrderBy] = react_1.default.useState('lastViewed');
216
- const [currentPage, setCurrentPage] = (0, react_1.useState)(1);
217
- const [perPageItems, setPerPageItems] = (0, react_1.useState)(10);
218
- const [files, setFiles] = (0, react_1.useState)(paroProjectsData);
219
- const [documentName, setDocumentName] = (0, react_1.useState)('');
220
- const [clientAndProject, setClientAndProject] = (0, react_1.useState)('');
221
- const [docType, setDocType] = (0, react_1.useState)('');
222
- const [searchText, setSearchText] = (0, react_1.useState)('');
223
- const [downloadFilename, setDownloadFilename] = (0, react_1.useState)('');
224
- const [apiFoldername, setApiFoldername] = (0, react_1.useState)('');
225
- const [isDeleteModalOpen, setDeleteModalOpen] = (0, react_1.useState)(false);
226
- const [deleteFileName, setDeleteFileName] = (0, react_1.useState)('');
227
- const [insuranceExpiryDate, setInsuranceExpiryDate] = (0, react_1.useState)(expiryDate);
228
- const firstItem = (currentPage - 1) * perPageItems;
229
- const lastItem = (currentPage - 1) * perPageItems + perPageItems;
230
- const tableData = files === null || files === void 0 ? void 0 : files.map((file) => {
231
- return {
232
- fileName: (file === null || file === void 0 ? void 0 : file.fileName) || "-", // Assuming there's a `fileName` property in `project`
233
- docType: (file === null || file === void 0 ? void 0 : file.docType) || "-", // Assuming there's a `docType` property in `project`
234
- docSize: (file === null || file === void 0 ? void 0 : file.docSize) || 0, // Assuming there's a `docSize` property in `project`
235
- clientName: file.clientName || "-", // Mapping from project.client.name
236
- projectName: file.projectName, // Mapping from project.name
237
- projectStatus: file.projectStatus,
238
- uploadedDate: file.uploadedDate, // Assuming there's an `uploadedDate` property
239
- uploadedBy: file.uploadedBy || "-", // Assuming there's an `uploadedBy` property
240
- lastViewed: file.lastViewed, // Assuming there's a `lastViewed` property
241
- };
242
- });
243
- (0, react_1.useEffect)(() => {
244
- const sortByTextProjects = searchText === ''
245
- ? paroProjectsData
246
- : paroProjectsData.filter((p) => {
247
- var _a, _b, _c;
248
- return ((_a = p === null || p === void 0 ? void 0 : p.clientName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchText.toLowerCase())) ||
249
- (((_b = p === null || p === void 0 ? void 0 : p.projectName) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchText.toLowerCase())) ||
250
- ((_c = p === null || p === void 0 ? void 0 : p.fileName) === null || _c === void 0 ? void 0 : _c.toLowerCase().includes(searchText.toLowerCase())));
251
- });
252
- setFiles(sortByTextProjects);
253
- }, [searchText]);
254
- const handleRequestSort = (event, property) => {
255
- const isDesc = orderBy === property && order === 'desc';
256
- setOrder(isDesc ? 'asc' : 'desc');
257
- setOrderBy(property);
258
- };
259
- const createSortHandler = (property) => (event) => {
260
- handleRequestSort(event, property);
261
- };
262
- const handleDelete = () => {
263
- if (apiFoldername.split('/')[1] === 'EO Insurance') {
264
- updateFreelancerExpiryMutation({
265
- variables: {
266
- id: legacyFreelancerId,
267
- },
268
- })
269
- .catch((err) => { console.log(`Error deleting insurance from freelancer table ${err}`); });
270
- setInsuranceExpiryDate('');
271
- }
272
- deleteFileMutation({
273
- variables: {
274
- input: {
275
- foldername: apiFoldername,
276
- filename: deleteFileName,
277
- },
278
- },
279
- refetchQueries: [{ query: GetFilesDocument, variables: { input: { foldername } } }],
280
- })
281
- .then(() => {
282
- toggleDeleteModal(deleteFileName);
283
- })
284
- .catch((err) => {
285
- toggleDeleteModal(deleteFileName);
286
- console.log(`Error deleting file ${err}`);
287
- });
288
- };
289
- const handleDownloadFile = (name) => __awaiter(void 0, void 0, void 0, function* () {
290
- if (name && name.filename && name.filename.trim().length > 0) {
291
- setDownloadFilename(name.filename.split('/').pop());
292
- const segments = name.filename.split('/');
293
- setApiFoldername(segments.slice(0, segments.length - 1).join('/'));
294
- }
295
- });
296
- const toggleDeleteModal = (name) => {
297
- setDeleteModalOpen(!isDeleteModalOpen);
298
- if (name && name.filename && name.filename.trim().length > 0) {
299
- setDeleteFileName(name.filename.split('/').pop());
300
- const segments = name.filename.split('/');
301
- setApiFoldername(segments.slice(0, segments.length - 1).join('/'));
302
- }
303
- };
304
- return (react_1.default.createElement(core_1.Paper, { className: classes.container },
305
- react_1.default.createElement(DocumentUploadRow_1.DocumentUploadRow, { documentName: documentName, setDocumentName: setDocumentName, clientAndProject: clientAndProject, setClientAndProject: setClientAndProject, docType: docType, setDocType: setDocType, searchText: searchText, setSearchText: setSearchText }),
306
- react_1.default.createElement(core_1.Box, { mt: 2 },
307
- react_1.default.createElement(core_1.Table, { style: { overflow: 'auto' } },
308
- react_1.default.createElement(core_1.TableHead, null,
309
- react_1.default.createElement(core_1.TableRow, { className: [classes.tableCellBorder, classes.shade].join(" ") },
310
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }),
311
- headCells.map((headCell) => (react_1.default.createElement(core_1.TableCell, { key: headCell.id, sortDirection: orderBy === headCell.id ? order : false, align: "center", className: classes.tableCell },
312
- react_1.default.createElement(core_1.TableSortLabel, { active: orderBy === headCell.id, direction: orderBy === headCell.id ? order : 'asc', onClick: createSortHandler(headCell.id) },
313
- react_1.default.createElement("div", { className: "flex flex-row items-center gap-x-1" },
314
- react_1.default.createElement("div", { className: "flex flex-col justify-center items-center" },
315
- react_1.default.createElement("b", null, headCell.label)),
316
- orderBy === headCell.id && null))))),
317
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }))),
318
- react_1.default.createElement(core_1.TableBody, null, stableSort(tableData, getComparator(order, orderBy)).slice(firstItem, lastItem).map((row, index) => {
319
- const { fileName, docType, docSize, clientName, projectName, projectStatus, uploadedDate, uploadedBy, lastViewed } = row;
320
- return (react_1.default.createElement(core_1.TableRow, { key: index },
321
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, index + 1),
322
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, fileName),
323
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, docType),
324
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, docSize),
325
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, clientName),
326
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, projectName),
327
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, projectStatus),
328
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, uploadedDate),
329
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, uploadedBy),
330
- react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, lastViewed),
331
- react_1.default.createElement(core_1.TableCell, { className: "flex items-center gap-x-4" },
332
- react_1.default.createElement(core_1.Grid, { item: true, container: true, direction: "row", justify: "space-between", alignItems: "center" },
333
- react_1.default.createElement(core_1.IconButton, { onClick: () => __awaiter(void 0, void 0, void 0, function* () { return handleDownloadFile(name); }) },
334
- react_1.default.createElement(base_icons_1.IconDocumentDownload, { size: "sm" })),
335
- react_1.default.createElement(core_1.IconButton, { onClick: () => toggleDeleteModal(name) },
336
- react_1.default.createElement(base_icons_1.IconTrash, { size: "sm" }))))));
337
- })))),
338
- react_1.default.createElement(core_1.Box, { m: 2 },
339
- react_1.default.createElement(Pagination_1.default, { total: paroProjectsData === null || paroProjectsData === void 0 ? void 0 : paroProjectsData.length, currentPage: currentPage, setCurrentPage: setCurrentPage, perPageItems: perPageItems, setPerPageItems: setPerPageItems, displayText: "projects" })),
340
- react_1.default.createElement(base_ui_1.Modal, { variant: base_ui_1.ModalVariant.transactional, label: "Delete Document?", color: "danger", open: isDeleteModalOpen, onClose: () => { setDeleteModalOpen(!isDeleteModalOpen); }, icon: "danger", iconCustom: react_1.default.createElement(base_icons_1.IconExclamation, null), size: "md", onPrimaryButtonClickHandler: handleDelete }, apiFoldername.split('/')[1] !== "EO Insurance" ? (react_1.default.createElement(react_1.default.Fragment, null,
341
- "Are you sure you want to delete document ",
342
- react_1.default.createElement("strong", null, deleteFileName),
343
- "? If you continue, this document will no longer be available.")) : (react_1.default.createElement(react_1.default.Fragment, null,
344
- "Are you sure you want to delete Insurance document ",
345
- react_1.default.createElement("strong", null, deleteFileName),
346
- "? ",
347
- react_1.default.createElement("strong", null, "Note:"),
348
- " You hold only one insurance document. Deleting it might effect your 'Matching'.")))));
349
- };
350
- exports.DocumentTable = DocumentTable;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.DocumentTable = void 0;
39
+ const react_1 = __importStar(require("react"));
40
+ const core_1 = require("@material-ui/core");
41
+ const Pagination_1 = __importDefault(require("../Reviews/Pagination"));
42
+ const DocumentUploadRow_1 = require("./DocumentUploadRow");
43
+ const base_icons_1 = require("@paro.io/base-icons");
44
+ const base_ui_1 = require("@paro.io/base-ui");
45
+ const useStyles = (0, core_1.makeStyles)({
46
+ tableCell: {
47
+ whiteSpace: 'normal',
48
+ border: '1px solid #E2E8F0',
49
+ padding: '10px'
50
+ },
51
+ tableRow: {
52
+ height: 40
53
+ },
54
+ container: {
55
+ overflow: 'auto',
56
+ padding: 10,
57
+ width: '100%',
58
+ borderRadius: '12px',
59
+ margin: '12px'
60
+ },
61
+ tableCellBorder: {
62
+ whiteSpace: 'nowrap',
63
+ border: '1px solid #E2E8F0'
64
+ },
65
+ shade: {
66
+ backgroundColor: '#D9EFEF'
67
+ }
68
+ });
69
+ const headCells = [
70
+ {
71
+ id: 'fileName',
72
+ label: 'File Name',
73
+ },
74
+ {
75
+ id: 'docType',
76
+ label: 'Document Type',
77
+ },
78
+ {
79
+ id: 'docSize',
80
+ label: 'Document Size',
81
+ },
82
+ {
83
+ id: 'clientName',
84
+ label: 'Client Name',
85
+ },
86
+ {
87
+ id: 'projectName',
88
+ label: 'Project Name',
89
+ },
90
+ {
91
+ id: 'projectStatus',
92
+ label: 'Project Status',
93
+ },
94
+ {
95
+ id: 'uploadedDate',
96
+ label: 'Uploaded Date',
97
+ },
98
+ {
99
+ id: 'uploadedBy',
100
+ label: 'Uploaded By',
101
+ },
102
+ {
103
+ id: 'lastViewed',
104
+ label: 'Last Viewed',
105
+ },
106
+ ];
107
+ function descendingComparator(a, b, orderBy) {
108
+ var _a, _b, _c, _d, _e, _f;
109
+ // Check for orderBy being 'projectDuration', we will compare docSize if 'docSize' is passed
110
+ if (orderBy === 'docSize') {
111
+ //@ts-ignore
112
+ const sizeA = (_a = a === null || a === void 0 ? void 0 : a.docSize) !== null && _a !== void 0 ? _a : 0;
113
+ //@ts-ignore
114
+ const sizeB = (_b = b === null || b === void 0 ? void 0 : b.docSize) !== null && _b !== void 0 ? _b : 0;
115
+ if (sizeB < sizeA) {
116
+ return -1;
117
+ }
118
+ if (sizeB > sizeA) {
119
+ return 1;
120
+ }
121
+ return 0;
122
+ }
123
+ else if (orderBy === 'uploadedDate' || orderBy === 'lastViewed') {
124
+ // For 'uploadedDate' and 'lastViewed', we assume they're strings or date strings
125
+ //@ts-ignore
126
+ const dateA = a === null || a === void 0 ? void 0 : a[orderBy];
127
+ //@ts-ignore
128
+ const dateB = b === null || b === void 0 ? void 0 : b[orderBy];
129
+ //@ts-ignore
130
+ if (dateB < dateA) {
131
+ return -1;
132
+ }
133
+ //@ts-ignore
134
+ if (dateB > dateA) {
135
+ return 1;
136
+ }
137
+ return 0;
138
+ }
139
+ else if (orderBy === 'clientName') {
140
+ // For clientName, do normal string comparison
141
+ //@ts-ignore
142
+ const clientA = (_c = a === null || a === void 0 ? void 0 : a.clientName) !== null && _c !== void 0 ? _c : "";
143
+ //@ts-ignore
144
+ const clientB = (_d = b === null || b === void 0 ? void 0 : b.clientName) !== null && _d !== void 0 ? _d : "";
145
+ if (clientB < clientA) {
146
+ return -1;
147
+ }
148
+ if (clientB > clientA) {
149
+ return 1;
150
+ }
151
+ return 0;
152
+ }
153
+ else if (orderBy === 'fileName' || orderBy === 'docType' || orderBy === 'projectName' || orderBy === 'uploadedBy') {
154
+ // For string-based comparisons (e.g., fileName, docType, projectName, uploadedBy)
155
+ //@ts-ignore
156
+ const valueA = (_e = a === null || a === void 0 ? void 0 : a[orderBy]) !== null && _e !== void 0 ? _e : "";
157
+ //@ts-ignore
158
+ const valueB = (_f = b === null || b === void 0 ? void 0 : b[orderBy]) !== null && _f !== void 0 ? _f : "";
159
+ if (valueB < valueA) {
160
+ return -1;
161
+ }
162
+ if (valueB > valueA) {
163
+ return 1;
164
+ }
165
+ return 0;
166
+ }
167
+ else {
168
+ // General case for other properties
169
+ //@ts-ignore
170
+ const selectedColumnA = a === null || a === void 0 ? void 0 : a[orderBy];
171
+ //@ts-ignore
172
+ const selectedColumnB = b === null || b === void 0 ? void 0 : b[orderBy];
173
+ if (selectedColumnA === 'N/A' && selectedColumnB !== 'N/A') {
174
+ return 1;
175
+ }
176
+ if (selectedColumnA !== 'N/A' && selectedColumnB === 'N/A') {
177
+ return -1;
178
+ }
179
+ if (selectedColumnB === undefined) {
180
+ return -1;
181
+ }
182
+ if (selectedColumnA === undefined) {
183
+ return 1;
184
+ }
185
+ //@ts-ignore
186
+ if (selectedColumnB < selectedColumnA) {
187
+ return -1;
188
+ }
189
+ //@ts-ignore
190
+ if (selectedColumnB > selectedColumnA) {
191
+ return 1;
192
+ }
193
+ return 0;
194
+ }
195
+ }
196
+ function getComparator(order, orderBy) {
197
+ return order === 'desc'
198
+ ? (a, b) => descendingComparator(a, b, orderBy)
199
+ : (a, b) => -descendingComparator(a, b, orderBy);
200
+ }
201
+ function stableSort(array, comparator) {
202
+ const stabilizedThis = array.map((el, index) => [el, index]);
203
+ stabilizedThis.sort((a, b) => {
204
+ const order = comparator(a[0], b[0]);
205
+ if (order !== 0) {
206
+ return order;
207
+ }
208
+ return a[1] - b[1];
209
+ });
210
+ return stabilizedThis.map((el) => el[0]);
211
+ }
212
+ const DocumentTable = ({ legacyFreelancerId, paroProjectsData, expiryDate, expertFiles, uploadExpertClientFiles, uploadFileData, deleteFileMutation, updateFreelancerExpiryMutation, GetFilesDocument, foldername, paroDocuments }) => {
213
+ const classes = useStyles();
214
+ const [order, setOrder] = react_1.default.useState('asc');
215
+ const [orderBy, setOrderBy] = react_1.default.useState('lastViewed');
216
+ const [currentPage, setCurrentPage] = (0, react_1.useState)(1);
217
+ const [perPageItems, setPerPageItems] = (0, react_1.useState)(10);
218
+ const [files, setFiles] = (0, react_1.useState)(paroProjectsData);
219
+ const [documentName, setDocumentName] = (0, react_1.useState)('');
220
+ const [clientAndProject, setClientAndProject] = (0, react_1.useState)('');
221
+ const [docType, setDocType] = (0, react_1.useState)('');
222
+ const [searchText, setSearchText] = (0, react_1.useState)('');
223
+ const [downloadFilename, setDownloadFilename] = (0, react_1.useState)('');
224
+ const [apiFoldername, setApiFoldername] = (0, react_1.useState)('');
225
+ const [isDeleteModalOpen, setDeleteModalOpen] = (0, react_1.useState)(false);
226
+ const [deleteFileName, setDeleteFileName] = (0, react_1.useState)('');
227
+ const [insuranceExpiryDate, setInsuranceExpiryDate] = (0, react_1.useState)(expiryDate);
228
+ const firstItem = (currentPage - 1) * perPageItems;
229
+ const lastItem = (currentPage - 1) * perPageItems + perPageItems;
230
+ const tableData = files === null || files === void 0 ? void 0 : files.map((file) => {
231
+ return {
232
+ fileName: (file === null || file === void 0 ? void 0 : file.fileName) || "-", // Assuming there's a `fileName` property in `project`
233
+ docType: (file === null || file === void 0 ? void 0 : file.docType) || "-", // Assuming there's a `docType` property in `project`
234
+ docSize: (file === null || file === void 0 ? void 0 : file.docSize) || 0, // Assuming there's a `docSize` property in `project`
235
+ clientName: file.clientName || "-", // Mapping from project.client.name
236
+ projectName: file.projectName, // Mapping from project.name
237
+ projectStatus: file.projectStatus,
238
+ uploadedDate: file.uploadedDate, // Assuming there's an `uploadedDate` property
239
+ uploadedBy: file.uploadedBy || "-", // Assuming there's an `uploadedBy` property
240
+ lastViewed: file.lastViewed, // Assuming there's a `lastViewed` property
241
+ };
242
+ });
243
+ (0, react_1.useEffect)(() => {
244
+ const sortByTextProjects = searchText === ''
245
+ ? paroProjectsData
246
+ : paroProjectsData.filter((p) => {
247
+ var _a, _b, _c;
248
+ return ((_a = p === null || p === void 0 ? void 0 : p.clientName) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchText.toLowerCase())) ||
249
+ (((_b = p === null || p === void 0 ? void 0 : p.projectName) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes(searchText.toLowerCase())) ||
250
+ ((_c = p === null || p === void 0 ? void 0 : p.fileName) === null || _c === void 0 ? void 0 : _c.toLowerCase().includes(searchText.toLowerCase())));
251
+ });
252
+ setFiles(sortByTextProjects);
253
+ }, [searchText]);
254
+ const handleRequestSort = (event, property) => {
255
+ const isDesc = orderBy === property && order === 'desc';
256
+ setOrder(isDesc ? 'asc' : 'desc');
257
+ setOrderBy(property);
258
+ };
259
+ const createSortHandler = (property) => (event) => {
260
+ handleRequestSort(event, property);
261
+ };
262
+ const handleDelete = () => {
263
+ if (apiFoldername.split('/')[1] === 'EO Insurance') {
264
+ updateFreelancerExpiryMutation({
265
+ variables: {
266
+ id: legacyFreelancerId,
267
+ },
268
+ })
269
+ .catch((err) => { console.log(`Error deleting insurance from freelancer table ${err}`); });
270
+ setInsuranceExpiryDate('');
271
+ }
272
+ deleteFileMutation({
273
+ variables: {
274
+ input: {
275
+ foldername: apiFoldername,
276
+ filename: deleteFileName,
277
+ },
278
+ },
279
+ refetchQueries: [{ query: GetFilesDocument, variables: { input: { foldername } } }],
280
+ })
281
+ .then(() => {
282
+ toggleDeleteModal(deleteFileName);
283
+ })
284
+ .catch((err) => {
285
+ toggleDeleteModal(deleteFileName);
286
+ console.log(`Error deleting file ${err}`);
287
+ });
288
+ };
289
+ const handleDownloadFile = (name) => __awaiter(void 0, void 0, void 0, function* () {
290
+ if (name && name.filename && name.filename.trim().length > 0) {
291
+ setDownloadFilename(name.filename.split('/').pop());
292
+ const segments = name.filename.split('/');
293
+ setApiFoldername(segments.slice(0, segments.length - 1).join('/'));
294
+ }
295
+ });
296
+ const toggleDeleteModal = (name) => {
297
+ setDeleteModalOpen(!isDeleteModalOpen);
298
+ if (name && name.filename && name.filename.trim().length > 0) {
299
+ setDeleteFileName(name.filename.split('/').pop());
300
+ const segments = name.filename.split('/');
301
+ setApiFoldername(segments.slice(0, segments.length - 1).join('/'));
302
+ }
303
+ };
304
+ return (react_1.default.createElement(core_1.Paper, { className: classes.container },
305
+ react_1.default.createElement(DocumentUploadRow_1.DocumentUploadRow, { documentName: documentName, setDocumentName: setDocumentName, clientAndProject: clientAndProject, setClientAndProject: setClientAndProject, docType: docType, setDocType: setDocType, searchText: searchText, setSearchText: setSearchText }),
306
+ react_1.default.createElement(core_1.Box, { mt: 2 },
307
+ react_1.default.createElement(core_1.Table, { style: { overflow: 'auto' } },
308
+ react_1.default.createElement(core_1.TableHead, null,
309
+ react_1.default.createElement(core_1.TableRow, { className: [classes.tableCellBorder, classes.shade].join(" ") },
310
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }),
311
+ headCells.map((headCell) => (react_1.default.createElement(core_1.TableCell, { key: headCell.id, sortDirection: orderBy === headCell.id ? order : false, align: "center", className: classes.tableCell },
312
+ react_1.default.createElement(core_1.TableSortLabel, { active: orderBy === headCell.id, direction: orderBy === headCell.id ? order : 'asc', onClick: createSortHandler(headCell.id) },
313
+ react_1.default.createElement("div", { className: "flex flex-row items-center gap-x-1" },
314
+ react_1.default.createElement("div", { className: "flex flex-col justify-center items-center" },
315
+ react_1.default.createElement("b", null, headCell.label)),
316
+ orderBy === headCell.id && null))))),
317
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }))),
318
+ react_1.default.createElement(core_1.TableBody, null, stableSort(tableData, getComparator(order, orderBy)).slice(firstItem, lastItem).map((row, index) => {
319
+ const { fileName, docType, docSize, clientName, projectName, projectStatus, uploadedDate, uploadedBy, lastViewed } = row;
320
+ return (react_1.default.createElement(core_1.TableRow, { key: index },
321
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, index + 1),
322
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, fileName),
323
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, docType),
324
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, docSize),
325
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, clientName),
326
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, projectName),
327
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, projectStatus),
328
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, uploadedDate),
329
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, uploadedBy),
330
+ react_1.default.createElement(core_1.TableCell, { className: classes.tableCell, align: "center" }, lastViewed),
331
+ react_1.default.createElement(core_1.TableCell, { className: "flex items-center gap-x-4" },
332
+ react_1.default.createElement(core_1.Grid, { item: true, container: true, direction: "row", justify: "space-between", alignItems: "center" },
333
+ react_1.default.createElement(core_1.IconButton, { onClick: () => __awaiter(void 0, void 0, void 0, function* () { return handleDownloadFile(name); }) },
334
+ react_1.default.createElement(base_icons_1.IconDocumentDownload, { size: "sm" })),
335
+ react_1.default.createElement(core_1.IconButton, { onClick: () => toggleDeleteModal(name) },
336
+ react_1.default.createElement(base_icons_1.IconTrash, { size: "sm" }))))));
337
+ })))),
338
+ react_1.default.createElement(core_1.Box, { m: 2 },
339
+ react_1.default.createElement(Pagination_1.default, { total: paroProjectsData === null || paroProjectsData === void 0 ? void 0 : paroProjectsData.length, currentPage: currentPage, setCurrentPage: setCurrentPage, perPageItems: perPageItems, setPerPageItems: setPerPageItems, displayText: "projects" })),
340
+ react_1.default.createElement(base_ui_1.Modal, { variant: base_ui_1.ModalVariant.transactional, label: "Delete Document?", color: "danger", open: isDeleteModalOpen, onClose: () => { setDeleteModalOpen(!isDeleteModalOpen); }, icon: "danger", iconCustom: react_1.default.createElement(base_icons_1.IconExclamation, null), size: "md", onPrimaryButtonClickHandler: handleDelete }, apiFoldername.split('/')[1] !== "EO Insurance" ? (react_1.default.createElement(react_1.default.Fragment, null,
341
+ "Are you sure you want to delete document ",
342
+ react_1.default.createElement("strong", null, deleteFileName),
343
+ "? If you continue, this document will no longer be available.")) : (react_1.default.createElement(react_1.default.Fragment, null,
344
+ "Are you sure you want to delete Insurance document ",
345
+ react_1.default.createElement("strong", null, deleteFileName),
346
+ "? ",
347
+ react_1.default.createElement("strong", null, "Note:"),
348
+ " You hold only one insurance document. Deleting it might effect your 'Matching'.")))));
349
+ };
350
+ exports.DocumentTable = DocumentTable;