@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
@@ -102,12 +102,12 @@ const DragDropUpload = ({ onFilesSelected, maxFileSize = 10, acceptedFileTypes =
102
102
  (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
103
103
  };
104
104
  return (react_1.default.createElement(core_1.Box, { className: "w-full" },
105
- react_1.default.createElement(core_1.Box, { onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, className: `
106
- relative border-2 border-dashed rounded-lg p-8 text-center transition-all duration-200
105
+ react_1.default.createElement(core_1.Box, { onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, className: `
106
+ relative border-2 border-dashed rounded-lg p-8 text-center transition-all duration-200
107
107
  ${isDragging
108
108
  ? "border-blue-500 bg-blue-50"
109
- : "border-gray-300 bg-gray-50 hover:border-gray-400"}
110
- ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
109
+ : "border-gray-300 bg-gray-50 hover:border-gray-400"}
110
+ ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
111
111
  `, onClick: !disabled ? handleBrowseClick : undefined },
112
112
  react_1.default.createElement("input", { ref: fileInputRef, type: "file", multiple: true, accept: acceptedFileTypes.join(","), onChange: handleFileInputChange, style: { display: "none" }, disabled: disabled }),
113
113
  react_1.default.createElement(core_1.Box, { className: "flex flex-col items-center justify-center space-y-4" },
@@ -1,6 +1,6 @@
1
- interface UploadFilesButtonProps {
2
- onFileSelect: (file: File) => void;
3
- isLoading?: boolean;
4
- }
5
- export declare const UploadFilesButton: ({ onFileSelect, isLoading, }: UploadFilesButtonProps) => JSX.Element;
6
- export {};
1
+ interface UploadFilesButtonProps {
2
+ onFileSelect: (file: File) => void;
3
+ isLoading?: boolean;
4
+ }
5
+ export declare const UploadFilesButton: ({ onFileSelect, isLoading, }: UploadFilesButtonProps) => JSX.Element;
6
+ export {};
@@ -1,29 +1,29 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UploadFilesButton = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const base_ui_1 = require("@paro.io/base-ui");
9
- const react_2 = require("react");
10
- const UploadFilesButton = ({ onFileSelect, isLoading, }) => {
11
- const fileInputRef = (0, react_2.useRef)(null);
12
- const handleClick = () => {
13
- var _a;
14
- (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
15
- };
16
- const handleFileChange = (event) => {
17
- var _a;
18
- const file = (_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0];
19
- if (file) {
20
- onFileSelect(file);
21
- }
22
- // Reset input value to allow uploading the same file again
23
- event.target.value = '';
24
- };
25
- return (react_1.default.createElement("div", null,
26
- react_1.default.createElement("input", { type: "file", ref: fileInputRef, onChange: handleFileChange, className: "hidden", accept: ".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx" }),
27
- react_1.default.createElement(base_ui_1.Button, { onClick: handleClick, disabled: isLoading })));
28
- };
29
- exports.UploadFilesButton = UploadFilesButton;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UploadFilesButton = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const base_ui_1 = require("@paro.io/base-ui");
9
+ const react_2 = require("react");
10
+ const UploadFilesButton = ({ onFileSelect, isLoading, }) => {
11
+ const fileInputRef = (0, react_2.useRef)(null);
12
+ const handleClick = () => {
13
+ var _a;
14
+ (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
15
+ };
16
+ const handleFileChange = (event) => {
17
+ var _a;
18
+ const file = (_a = event.target.files) === null || _a === void 0 ? void 0 : _a[0];
19
+ if (file) {
20
+ onFileSelect(file);
21
+ }
22
+ // Reset input value to allow uploading the same file again
23
+ event.target.value = '';
24
+ };
25
+ return (react_1.default.createElement("div", null,
26
+ react_1.default.createElement("input", { type: "file", ref: fileInputRef, onChange: handleFileChange, className: "hidden", accept: ".pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx" }),
27
+ react_1.default.createElement(base_ui_1.Button, { onClick: handleClick, disabled: isLoading })));
28
+ };
29
+ exports.UploadFilesButton = UploadFilesButton;
@@ -1,52 +1,52 @@
1
- import React from 'react';
2
- export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"tooltip">;
3
- interface ActiveProjectCardProps {
4
- project: any;
5
- projectsData: any;
6
- expertName: string;
7
- freelancerId: number;
8
- freelancerEmail: string;
9
- isAuthenticated: boolean;
10
- activeProject?: boolean;
11
- adhocProject?: boolean;
12
- upcomingProject?: boolean;
13
- selectedTab: number;
14
- projectTagsMap?: any;
15
- updateProjectStatusMutation: any;
16
- GetAllProjectIrprDetailsForFreelancerDocument: any;
17
- updateParoProjectTagsMutation: any;
18
- GetParoProjectsDocument: any;
19
- updateProjectTagReviewStatusMutation: any;
20
- getSowLazyQuery: any;
21
- createChangeRequestMutation: any;
22
- createOrUpdateRatingRequestMutation: any;
23
- updateProjectTaskMutation: any;
24
- submitProjectHoursMutation: any;
25
- getAuth0Roles: any;
26
- user: any;
27
- internalPortal?: boolean;
28
- csmUserGroup?: boolean;
29
- clientPortal?: boolean;
30
- signedSow?: boolean;
31
- }
32
- interface unAuthProps {
33
- updateProjectStatus?: any;
34
- updateProjectTags?: any;
35
- sendParoSupportEmail?: any;
36
- submitProjectHoursLambda?: any;
37
- updateProjectTask?: any;
38
- createChangeRequest?: any;
39
- }
40
- export declare const CheckItem: ({ checked, text }: any) => React.JSX.Element;
41
- export declare const getAllProjectRecommendationData: ({ projectData }: any) => {
42
- minFloorHours: any;
43
- maxFloorHours: any;
44
- loggedHours: string | number;
45
- weeklyHoursLogged: any;
46
- hoursPerWeek: number | false;
47
- minFloorName: string;
48
- hoursToComplete: number | false;
49
- remainingWeeks: number;
50
- };
51
- export declare const ActiveProjectCard: ({ project, projectsData, expertName, freelancerId, freelancerEmail, isAuthenticated, activeProject, adhocProject, upcomingProject, selectedTab, projectTagsMap, updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation, GetParoProjectsDocument, updateProjectTagReviewStatusMutation, updateProjectStatus, updateProjectTags, getSowLazyQuery, sendParoSupportEmail, createChangeRequestMutation, createChangeRequest, createOrUpdateRatingRequestMutation, updateProjectTaskMutation, updateProjectTask, submitProjectHoursMutation, getAuth0Roles, submitProjectHoursLambda, user, internalPortal, csmUserGroup, clientPortal, signedSow, }: ActiveProjectCardProps & unAuthProps) => JSX.Element;
52
- export {};
1
+ import React from 'react';
2
+ export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"tooltip">;
3
+ interface ActiveProjectCardProps {
4
+ project: any;
5
+ projectsData: any;
6
+ expertName: string;
7
+ freelancerId: number;
8
+ freelancerEmail: string;
9
+ isAuthenticated: boolean;
10
+ activeProject?: boolean;
11
+ adhocProject?: boolean;
12
+ upcomingProject?: boolean;
13
+ selectedTab: number;
14
+ projectTagsMap?: any;
15
+ updateProjectStatusMutation: any;
16
+ GetAllProjectIrprDetailsForFreelancerDocument: any;
17
+ updateParoProjectTagsMutation: any;
18
+ GetParoProjectsDocument: any;
19
+ updateProjectTagReviewStatusMutation: any;
20
+ getSowLazyQuery: any;
21
+ createChangeRequestMutation: any;
22
+ createOrUpdateRatingRequestMutation: any;
23
+ updateProjectTaskMutation: any;
24
+ submitProjectHoursMutation: any;
25
+ getAuth0Roles: any;
26
+ user: any;
27
+ internalPortal?: boolean;
28
+ csmUserGroup?: boolean;
29
+ clientPortal?: boolean;
30
+ signedSow?: boolean;
31
+ }
32
+ interface unAuthProps {
33
+ updateProjectStatus?: any;
34
+ updateProjectTags?: any;
35
+ sendParoSupportEmail?: any;
36
+ submitProjectHoursLambda?: any;
37
+ updateProjectTask?: any;
38
+ createChangeRequest?: any;
39
+ }
40
+ export declare const CheckItem: ({ checked, text }: any) => React.JSX.Element;
41
+ export declare const getAllProjectRecommendationData: ({ projectData }: any) => {
42
+ minFloorHours: any;
43
+ maxFloorHours: any;
44
+ loggedHours: string | number;
45
+ weeklyHoursLogged: any;
46
+ hoursPerWeek: number | false;
47
+ minFloorName: string;
48
+ hoursToComplete: number | false;
49
+ remainingWeeks: number;
50
+ };
51
+ export declare const ActiveProjectCard: ({ project, projectsData, expertName, freelancerId, freelancerEmail, isAuthenticated, activeProject, adhocProject, upcomingProject, selectedTab, projectTagsMap, updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation, GetParoProjectsDocument, updateProjectTagReviewStatusMutation, updateProjectStatus, updateProjectTags, getSowLazyQuery, sendParoSupportEmail, createChangeRequestMutation, createChangeRequest, createOrUpdateRatingRequestMutation, updateProjectTaskMutation, updateProjectTask, submitProjectHoursMutation, getAuth0Roles, submitProjectHoursLambda, user, internalPortal, csmUserGroup, clientPortal, signedSow, }: ActiveProjectCardProps & unAuthProps) => JSX.Element;
52
+ export {};
@@ -1,161 +1,161 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ActiveProjectCard = exports.getAllProjectRecommendationData = exports.CheckItem = exports.useStyles = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const base_icons_1 = require("@paro.io/base-icons");
32
- const base_ui_1 = require("@paro.io/base-ui");
33
- const core_1 = require("@material-ui/core");
34
- const lab_1 = require("@material-ui/lab");
35
- const dayjs_1 = __importDefault(require("dayjs"));
36
- const styles_1 = require("@material-ui/core/styles");
37
- const moment_1 = __importDefault(require("moment"));
38
- const Star_1 = __importDefault(require("@material-ui/icons/Star"));
39
- const RightCardUI_1 = require("./RightCardUI");
40
- const LeftCardUI_1 = require("./LeftCardUI");
41
- const CenterCardUI_1 = require("./CenterCardUI");
42
- const utc_1 = __importDefault(require("dayjs/plugin/utc"));
43
- const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
44
- dayjs_1.default.extend(utc_1.default);
45
- dayjs_1.default.extend(timezone_1.default);
46
- exports.useStyles = (0, styles_1.makeStyles)({
47
- tooltip: {
48
- fontSize: ".9em",
49
- },
50
- });
51
- const CheckItem = ({ checked, text }) => (react_1.default.createElement("div", { className: "p-2 w-full border-2 border-solid border-[#F1F5F9] rounded-md flex items-center" },
52
- checked ? react_1.default.createElement(base_icons_1.IconCheck, { className: "mr-2 text-[#248384]" }) : react_1.default.createElement(base_icons_1.IconX, { className: "mr-2 text-[#A73A43]" }),
53
- react_1.default.createElement("p", null, text)));
54
- exports.CheckItem = CheckItem;
55
- const getAllProjectRecommendationData = ({ projectData }) => {
56
- var _a;
57
- const date = (0, moment_1.default)();
58
- const lastDayOfMonth = (0, moment_1.default)().endOf('month');
59
- const daysLeftInProject = (0, moment_1.default)(projectData === null || projectData === void 0 ? void 0 : projectData.endDate).diff(date, 'day');
60
- const checkDays = (0, moment_1.default)(projectData === null || projectData === void 0 ? void 0 : projectData.endDate).isBefore(lastDayOfMonth) ? lastDayOfMonth.date() : daysLeftInProject;
61
- const remainingWeeks = Math.ceil(checkDays / 7);
62
- const minFloorHours = (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== null && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== undefined && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== 0 ? projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours : projectData === null || projectData === void 0 ? void 0 : projectData.totalEstimatedMinHours;
63
- const maxFloorHours = projectData === null || projectData === void 0 ? void 0 : projectData.maxHours;
64
- const loggedHours = (projectData === null || projectData === void 0 ? void 0 : projectData.hoursInvoiced) ? (_a = Number(projectData === null || projectData === void 0 ? void 0 : projectData.hoursInvoiced)) === null || _a === void 0 ? void 0 : _a.toFixed(2) : 0;
65
- const weeklyHoursLogged = projectData === null || projectData === void 0 ? void 0 : projectData.weeklyMinHoursLogged;
66
- const hoursToComplete = minFloorHours > 0 && (loggedHours >= minFloorHours ? 0 : Number(minFloorHours) - Number(loggedHours));
67
- const hoursPerWeek = (hoursToComplete && remainingWeeks) && hoursToComplete / remainingWeeks;
68
- const minFloorName = (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== null && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== undefined && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== 0 ? "Min Floor Hours" : "Estimated Min Hours";
69
- return {
70
- minFloorHours,
71
- maxFloorHours,
72
- loggedHours,
73
- weeklyHoursLogged,
74
- hoursPerWeek,
75
- minFloorName,
76
- hoursToComplete,
77
- remainingWeeks
78
- };
79
- };
80
- exports.getAllProjectRecommendationData = getAllProjectRecommendationData;
81
- const checkProjectFrequencyType = (projectFrequencyId) => {
82
- let projectFrequencyType = '';
83
- if (projectFrequencyId === 1 || projectFrequencyId === 2) {
84
- projectFrequencyType = "Recurring";
85
- }
86
- else if (projectFrequencyId === 3) {
87
- projectFrequencyType = "One-time";
88
- }
89
- return projectFrequencyType;
90
- };
91
- const checkProjectRateType = (freelanceRateTypeId) => {
92
- let projectType = '';
93
- if (freelanceRateTypeId === 1) {
94
- projectType = "Hourly";
95
- }
96
- else if (freelanceRateTypeId === 2) {
97
- projectType = "Fixed";
98
- }
99
- return projectType;
100
- };
101
- const ActiveProjectCard = ({ project, projectsData, expertName, freelancerId, freelancerEmail, isAuthenticated, activeProject, adhocProject, upcomingProject, selectedTab, projectTagsMap, updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation, GetParoProjectsDocument, updateProjectTagReviewStatusMutation, updateProjectStatus, updateProjectTags, getSowLazyQuery, sendParoSupportEmail, createChangeRequestMutation, createChangeRequest, createOrUpdateRatingRequestMutation, updateProjectTaskMutation, updateProjectTask, submitProjectHoursMutation, getAuth0Roles, submitProjectHoursLambda, user, internalPortal = false, csmUserGroup = false, clientPortal = false, signedSow = false, }) => {
102
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
103
- const [editEndDate, setEditEndDate] = (0, react_1.useState)(false);
104
- const [editStartDate, setEditStartDate] = (0, react_1.useState)(false);
105
- const [showTimeModal, setShowTimeModal] = (0, react_1.useState)(false);
106
- const [singleProjectData, setSingleProjectData] = (0, react_1.useState)();
107
- const projectHealth = (_a = project === null || project === void 0 ? void 0 : project.healthGrade) !== null && _a !== void 0 ? _a : "!";
108
- const [expand, setExpand] = (0, react_1.useState)(projectHealth === "!" ? true : false);
109
- const projectRateType = checkProjectRateType((_b = project === null || project === void 0 ? void 0 : project.projectScope) === null || _b === void 0 ? void 0 : _b.freelanceRateTypeId);
110
- const projectFrequencyType = checkProjectFrequencyType((_c = project === null || project === void 0 ? void 0 : project.projectScope) === null || _c === void 0 ? void 0 : _c.projectFrequencyId);
111
- const checkStartDate = (0, moment_1.default)(project === null || project === void 0 ? void 0 : project.startDate).isSameOrAfter((0, moment_1.default)());
112
- const classes = (0, exports.useStyles)();
113
- let sumOfRatingValuesOfSingleProject = 0;
114
- project === null || project === void 0 ? void 0 : project.rating.forEach((rating) => sumOfRatingValuesOfSingleProject += rating.overallRating);
115
- const [ratingValue, setRatingValue] = (0, react_1.useState)((sumOfRatingValuesOfSingleProject / ((_d = project === null || project === void 0 ? void 0 : project.rating) === null || _d === void 0 ? void 0 : _d.length)).toFixed(1));
116
- (0, react_1.useEffect)(() => {
117
- setSingleProjectData(projectsData.find((projectData) => projectData.id === (project === null || project === void 0 ? void 0 : project.id)));
118
- }, [projectsData, project]);
119
- const sortRatingsAndRequests = (data) => {
120
- return [...data].sort((a, b) => (0, dayjs_1.default)(b === null || b === void 0 ? void 0 : b.createdAt).diff((0, dayjs_1.default)(a === null || a === void 0 ? void 0 : a.createdAt), 'days'));
121
- };
122
- if ((project === null || project === void 0 ? void 0 : project.rating.length) > 1) {
123
- project.rating = sortRatingsAndRequests(project.rating);
124
- }
125
- if ((project === null || project === void 0 ? void 0 : project.ratingRequest.length) > 1) {
126
- project.ratingRequest = sortRatingsAndRequests(project.ratingRequest);
127
- }
128
- const showRating = ratingValue && (0, dayjs_1.default)((0, dayjs_1.default)().tz('America/Los_Angeles').format('YYYY-MM-DD HH:mm:ss')).diff((0, dayjs_1.default)((_f = (_e = project === null || project === void 0 ? void 0 : project.rating) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.createdAt.replace('Z', '')).format('YYYY-MM-DD HH:mm:ss'), 'hours') > 48;
129
- return (react_1.default.createElement("div", { className: "w-full mb-8" },
130
- react_1.default.createElement("h1", { className: "font-bold text-lg m-2" }, (_g = project === null || project === void 0 ? void 0 : project.client) === null || _g === void 0 ? void 0 :
131
- _g.name,
132
- ":",
133
- " ", project === null || project === void 0 ? void 0 :
134
- project.name),
135
- react_1.default.createElement(core_1.Card, { style: { padding: '12px' } },
136
- react_1.default.createElement("div", { className: "flex flex-col-reverse justify-between w-full mt-3 md:flex-row gap-y-4" },
137
- react_1.default.createElement("div", { className: "flex flex-col" },
138
- react_1.default.createElement("h1", null, (_h = project === null || project === void 0 ? void 0 : project.client) === null || _h === void 0 ? void 0 : _h.name),
139
- react_1.default.createElement("p", { className: "font-bold text-md mt-1" }, `${(_j = project === null || project === void 0 ? void 0 : project.name) !== null && _j !== void 0 ? _j : "Project"} ${(singleProjectData === null || singleProjectData === void 0 ? void 0 : singleProjectData.minFloorHours) ? "WITH" : "WITHOUT"} a min floor.`)),
140
- react_1.default.createElement("div", { className: "flex flex-row gap-x-2 items-center ml-auto" },
141
- showRating && react_1.default.createElement("div", { className: "flex flex-auto items-center justify-between" },
142
- react_1.default.createElement(lab_1.Rating, { name: "read-only", value: Number(ratingValue), precision: 0.5, size: "large", readOnly: true, emptyIcon: react_1.default.createElement(Star_1.default, { fontSize: "inherit" }) })),
143
- (singleProjectData === null || singleProjectData === void 0 ? void 0 : singleProjectData.minFloorHours) && !adhocProject ? react_1.default.createElement(core_1.Tooltip, { classes: { tooltip: classes.tooltip }, title: "Minimum Floor Hours is the minimum amount of hours needed to log for this project.", placement: "top", arrow: true },
144
- react_1.default.createElement("div", { className: "h-10 w-14 bg-[#FDD7A5] border-2 border-solid border-[#F1F5F9] rounded-md flex place-content-center" },
145
- react_1.default.createElement("p", { className: "font-bold text-md self-center" }, "MF"))) : "",
146
- (projectRateType !== "Fixed" && !adhocProject && !clientPortal) &&
147
- react_1.default.createElement(core_1.Tooltip, { classes: { tooltip: classes.tooltip }, title: ['A', 'B', 'C', 'D'].includes(projectHealth) ? "This is your current grade for this project based on the amount of work you have completed to how much is expected to be completed throughout the duration of the project" : "If your project health grade is a ! log more than 60% of your Max Hours to change your grade. Please expand this section and contact your Customer Success Manager if you have questions.", placement: "top", arrow: true },
148
- react_1.default.createElement("div", { className: `h-10 w-14 border-2 border-solid rounded-md flex place-content-center ${['A', 'B', 'C', 'D'].includes(projectHealth) ? (['A', 'B'].includes(projectHealth) && "bg-[#F1F5F9] border-[#A3DCD8]") || (['C', 'D'].includes(projectHealth) && "bg-[#A73A43] border-[#F9C34F]") : "bg-[#A73A43] text-[#F1F5F9] border-[#F1F5F9]"}` },
149
- react_1.default.createElement("p", { className: "font-bold text-md self-center" }, projectHealth))),
150
- checkStartDate ?
151
- react_1.default.createElement("div", { className: "h-10 w-14 bg-[#F1F5F9] border-[#A3DCD8] border-2 border-solid rounded-md flex place-content-center" },
152
- react_1.default.createElement("p", { className: "font-bold text-md self-center" }, "NEW !")) : "",
153
- react_1.default.createElement("div", { className: "h-10 w-14 bg-[#F1F5F9] rounded-md flex place-content-center" },
154
- react_1.default.createElement(base_ui_1.Button, { onClick: () => { setExpand(!expand); }, className: "font-bold text-md p-8", icon: expand ? react_1.default.createElement(base_icons_1.IconChevronUp, null) : react_1.default.createElement(base_icons_1.IconChevronDown, null) })))),
155
- expand && react_1.default.createElement("div", { className: `flex w-full p-4 gap-x-10 gap-y-10 ${projectRateType === "Fixed" ? "flex-col" : "flex-col md:flex-row"}` },
156
- react_1.default.createElement(LeftCardUI_1.LeftCardUI, { projectData: singleProjectData, projectFrequencyType: projectFrequencyType, projectRateType: projectRateType, project: project, isAuthenticated: isAuthenticated, adhocProject: adhocProject, activeProject: activeProject, freelancerId: freelancerId, selectedTab: selectedTab, updateProjectTaskMutation: updateProjectTaskMutation, GetAllProjectIrprDetailsForFreelancerDocument: GetAllProjectIrprDetailsForFreelancerDocument, updateProjectTask: updateProjectTask, clientPortal: clientPortal }),
157
- react_1.default.createElement("div", { className: "flex flex-col flex-grow md:flex-row gap-x-0 justify-around" },
158
- react_1.default.createElement(CenterCardUI_1.CenterCardUI, { startDate: project === null || project === void 0 ? void 0 : project.startDate, endDate: project === null || project === void 0 ? void 0 : project.endDate, projectData: singleProjectData, projectRateType: projectRateType, project: project, projectFrequencyType: projectFrequencyType, adhocProject: adhocProject, clientPortal: clientPortal }),
159
- react_1.default.createElement(RightCardUI_1.RightCardUI, { project: project, expertName: expertName, freelancerEmail: freelancerEmail, freelancerId: freelancerId, isAuthenticated: isAuthenticated, editEndDate: editEndDate, setEditEndDate: setEditEndDate, editStartDate: editStartDate, setEditStartDate: setEditStartDate, showTimeModal: showTimeModal, setShowTimeModal: setShowTimeModal, setSingleProjectData: setSingleProjectData, projectData: singleProjectData, checkStartDate: checkStartDate, activeProject: activeProject, projectRateType: projectRateType, projectFrequencyType: projectFrequencyType, upcomingProject: upcomingProject, selectedTab: selectedTab, showRating: !!showRating, projectTagsMap: projectTagsMap, updateProjectStatusMutation: updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument: GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation: updateParoProjectTagsMutation, GetParoProjectsDocument: GetParoProjectsDocument, updateProjectTagReviewStatusMutation: updateProjectTagReviewStatusMutation, updateProjectStatus: updateProjectStatus, updateProjectTags: updateProjectTags, getSowLazyQuery: getSowLazyQuery, sendParoSupportEmail: sendParoSupportEmail, createChangeRequestMutation: createChangeRequestMutation, createChangeRequest: createChangeRequest, createOrUpdateRatingRequestMutation: createOrUpdateRatingRequestMutation, submitProjectHoursMutation: submitProjectHoursMutation, getAuth0Roles: getAuth0Roles, submitProjectHoursLambda: submitProjectHoursLambda, user: user, internalPortal: internalPortal, csmUserGroup: csmUserGroup, clientPortal: clientPortal, signedSow: signedSow }))))));
160
- };
161
- exports.ActiveProjectCard = ActiveProjectCard;
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 __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ActiveProjectCard = exports.getAllProjectRecommendationData = exports.CheckItem = exports.useStyles = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const base_icons_1 = require("@paro.io/base-icons");
32
+ const base_ui_1 = require("@paro.io/base-ui");
33
+ const core_1 = require("@material-ui/core");
34
+ const lab_1 = require("@material-ui/lab");
35
+ const dayjs_1 = __importDefault(require("dayjs"));
36
+ const styles_1 = require("@material-ui/core/styles");
37
+ const moment_1 = __importDefault(require("moment"));
38
+ const Star_1 = __importDefault(require("@material-ui/icons/Star"));
39
+ const RightCardUI_1 = require("./RightCardUI");
40
+ const LeftCardUI_1 = require("./LeftCardUI");
41
+ const CenterCardUI_1 = require("./CenterCardUI");
42
+ const utc_1 = __importDefault(require("dayjs/plugin/utc"));
43
+ const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
44
+ dayjs_1.default.extend(utc_1.default);
45
+ dayjs_1.default.extend(timezone_1.default);
46
+ exports.useStyles = (0, styles_1.makeStyles)({
47
+ tooltip: {
48
+ fontSize: ".9em",
49
+ },
50
+ });
51
+ const CheckItem = ({ checked, text }) => (react_1.default.createElement("div", { className: "p-2 w-full border-2 border-solid border-[#F1F5F9] rounded-md flex items-center" },
52
+ checked ? react_1.default.createElement(base_icons_1.IconCheck, { className: "mr-2 text-[#248384]" }) : react_1.default.createElement(base_icons_1.IconX, { className: "mr-2 text-[#A73A43]" }),
53
+ react_1.default.createElement("p", null, text)));
54
+ exports.CheckItem = CheckItem;
55
+ const getAllProjectRecommendationData = ({ projectData }) => {
56
+ var _a;
57
+ const date = (0, moment_1.default)();
58
+ const lastDayOfMonth = (0, moment_1.default)().endOf('month');
59
+ const daysLeftInProject = (0, moment_1.default)(projectData === null || projectData === void 0 ? void 0 : projectData.endDate).diff(date, 'day');
60
+ const checkDays = (0, moment_1.default)(projectData === null || projectData === void 0 ? void 0 : projectData.endDate).isBefore(lastDayOfMonth) ? lastDayOfMonth.date() : daysLeftInProject;
61
+ const remainingWeeks = Math.ceil(checkDays / 7);
62
+ const minFloorHours = (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== null && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== undefined && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== 0 ? projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours : projectData === null || projectData === void 0 ? void 0 : projectData.totalEstimatedMinHours;
63
+ const maxFloorHours = projectData === null || projectData === void 0 ? void 0 : projectData.maxHours;
64
+ const loggedHours = (projectData === null || projectData === void 0 ? void 0 : projectData.hoursInvoiced) ? (_a = Number(projectData === null || projectData === void 0 ? void 0 : projectData.hoursInvoiced)) === null || _a === void 0 ? void 0 : _a.toFixed(2) : 0;
65
+ const weeklyHoursLogged = projectData === null || projectData === void 0 ? void 0 : projectData.weeklyMinHoursLogged;
66
+ const hoursToComplete = minFloorHours > 0 && (loggedHours >= minFloorHours ? 0 : Number(minFloorHours) - Number(loggedHours));
67
+ const hoursPerWeek = (hoursToComplete && remainingWeeks) && hoursToComplete / remainingWeeks;
68
+ const minFloorName = (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== null && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== undefined && (projectData === null || projectData === void 0 ? void 0 : projectData.minFloorHours) !== 0 ? "Min Floor Hours" : "Estimated Min Hours";
69
+ return {
70
+ minFloorHours,
71
+ maxFloorHours,
72
+ loggedHours,
73
+ weeklyHoursLogged,
74
+ hoursPerWeek,
75
+ minFloorName,
76
+ hoursToComplete,
77
+ remainingWeeks
78
+ };
79
+ };
80
+ exports.getAllProjectRecommendationData = getAllProjectRecommendationData;
81
+ const checkProjectFrequencyType = (projectFrequencyId) => {
82
+ let projectFrequencyType = '';
83
+ if (projectFrequencyId === 1 || projectFrequencyId === 2) {
84
+ projectFrequencyType = "Recurring";
85
+ }
86
+ else if (projectFrequencyId === 3) {
87
+ projectFrequencyType = "One-time";
88
+ }
89
+ return projectFrequencyType;
90
+ };
91
+ const checkProjectRateType = (freelanceRateTypeId) => {
92
+ let projectType = '';
93
+ if (freelanceRateTypeId === 1) {
94
+ projectType = "Hourly";
95
+ }
96
+ else if (freelanceRateTypeId === 2) {
97
+ projectType = "Fixed";
98
+ }
99
+ return projectType;
100
+ };
101
+ const ActiveProjectCard = ({ project, projectsData, expertName, freelancerId, freelancerEmail, isAuthenticated, activeProject, adhocProject, upcomingProject, selectedTab, projectTagsMap, updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation, GetParoProjectsDocument, updateProjectTagReviewStatusMutation, updateProjectStatus, updateProjectTags, getSowLazyQuery, sendParoSupportEmail, createChangeRequestMutation, createChangeRequest, createOrUpdateRatingRequestMutation, updateProjectTaskMutation, updateProjectTask, submitProjectHoursMutation, getAuth0Roles, submitProjectHoursLambda, user, internalPortal = false, csmUserGroup = false, clientPortal = false, signedSow = false, }) => {
102
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
103
+ const [editEndDate, setEditEndDate] = (0, react_1.useState)(false);
104
+ const [editStartDate, setEditStartDate] = (0, react_1.useState)(false);
105
+ const [showTimeModal, setShowTimeModal] = (0, react_1.useState)(false);
106
+ const [singleProjectData, setSingleProjectData] = (0, react_1.useState)();
107
+ const projectHealth = (_a = project === null || project === void 0 ? void 0 : project.healthGrade) !== null && _a !== void 0 ? _a : "!";
108
+ const [expand, setExpand] = (0, react_1.useState)(projectHealth === "!" ? true : false);
109
+ const projectRateType = checkProjectRateType((_b = project === null || project === void 0 ? void 0 : project.projectScope) === null || _b === void 0 ? void 0 : _b.freelanceRateTypeId);
110
+ const projectFrequencyType = checkProjectFrequencyType((_c = project === null || project === void 0 ? void 0 : project.projectScope) === null || _c === void 0 ? void 0 : _c.projectFrequencyId);
111
+ const checkStartDate = (0, moment_1.default)(project === null || project === void 0 ? void 0 : project.startDate).isSameOrAfter((0, moment_1.default)());
112
+ const classes = (0, exports.useStyles)();
113
+ let sumOfRatingValuesOfSingleProject = 0;
114
+ project === null || project === void 0 ? void 0 : project.rating.forEach((rating) => sumOfRatingValuesOfSingleProject += rating.overallRating);
115
+ const [ratingValue, setRatingValue] = (0, react_1.useState)((sumOfRatingValuesOfSingleProject / ((_d = project === null || project === void 0 ? void 0 : project.rating) === null || _d === void 0 ? void 0 : _d.length)).toFixed(1));
116
+ (0, react_1.useEffect)(() => {
117
+ setSingleProjectData(projectsData.find((projectData) => projectData.id === (project === null || project === void 0 ? void 0 : project.id)));
118
+ }, [projectsData, project]);
119
+ const sortRatingsAndRequests = (data) => {
120
+ return [...data].sort((a, b) => (0, dayjs_1.default)(b === null || b === void 0 ? void 0 : b.createdAt).diff((0, dayjs_1.default)(a === null || a === void 0 ? void 0 : a.createdAt), 'days'));
121
+ };
122
+ if ((project === null || project === void 0 ? void 0 : project.rating.length) > 1) {
123
+ project.rating = sortRatingsAndRequests(project.rating);
124
+ }
125
+ if ((project === null || project === void 0 ? void 0 : project.ratingRequest.length) > 1) {
126
+ project.ratingRequest = sortRatingsAndRequests(project.ratingRequest);
127
+ }
128
+ const showRating = ratingValue && (0, dayjs_1.default)((0, dayjs_1.default)().tz('America/Los_Angeles').format('YYYY-MM-DD HH:mm:ss')).diff((0, dayjs_1.default)((_f = (_e = project === null || project === void 0 ? void 0 : project.rating) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.createdAt.replace('Z', '')).format('YYYY-MM-DD HH:mm:ss'), 'hours') > 48;
129
+ return (react_1.default.createElement("div", { className: "w-full mb-8" },
130
+ react_1.default.createElement("h1", { className: "font-bold text-lg m-2" }, (_g = project === null || project === void 0 ? void 0 : project.client) === null || _g === void 0 ? void 0 :
131
+ _g.name,
132
+ ":",
133
+ " ", project === null || project === void 0 ? void 0 :
134
+ project.name),
135
+ react_1.default.createElement(core_1.Card, { style: { padding: '12px' } },
136
+ react_1.default.createElement("div", { className: "flex flex-col-reverse justify-between w-full mt-3 md:flex-row gap-y-4" },
137
+ react_1.default.createElement("div", { className: "flex flex-col" },
138
+ react_1.default.createElement("h1", null, (_h = project === null || project === void 0 ? void 0 : project.client) === null || _h === void 0 ? void 0 : _h.name),
139
+ react_1.default.createElement("p", { className: "font-bold text-md mt-1" }, `${(_j = project === null || project === void 0 ? void 0 : project.name) !== null && _j !== void 0 ? _j : "Project"} ${(singleProjectData === null || singleProjectData === void 0 ? void 0 : singleProjectData.minFloorHours) ? "WITH" : "WITHOUT"} a min floor.`)),
140
+ react_1.default.createElement("div", { className: "flex flex-row gap-x-2 items-center ml-auto" },
141
+ showRating && react_1.default.createElement("div", { className: "flex flex-auto items-center justify-between" },
142
+ react_1.default.createElement(lab_1.Rating, { name: "read-only", value: Number(ratingValue), precision: 0.5, size: "large", readOnly: true, emptyIcon: react_1.default.createElement(Star_1.default, { fontSize: "inherit" }) })),
143
+ (singleProjectData === null || singleProjectData === void 0 ? void 0 : singleProjectData.minFloorHours) && !adhocProject ? react_1.default.createElement(core_1.Tooltip, { classes: { tooltip: classes.tooltip }, title: "Minimum Floor Hours is the minimum amount of hours needed to log for this project.", placement: "top", arrow: true },
144
+ react_1.default.createElement("div", { className: "h-10 w-14 bg-[#FDD7A5] border-2 border-solid border-[#F1F5F9] rounded-md flex place-content-center" },
145
+ react_1.default.createElement("p", { className: "font-bold text-md self-center" }, "MF"))) : "",
146
+ (projectRateType !== "Fixed" && !adhocProject && !clientPortal) &&
147
+ react_1.default.createElement(core_1.Tooltip, { classes: { tooltip: classes.tooltip }, title: ['A', 'B', 'C', 'D'].includes(projectHealth) ? "This is your current grade for this project based on the amount of work you have completed to how much is expected to be completed throughout the duration of the project" : "If your project health grade is a ! log more than 60% of your Max Hours to change your grade. Please expand this section and contact your Customer Success Manager if you have questions.", placement: "top", arrow: true },
148
+ react_1.default.createElement("div", { className: `h-10 w-14 border-2 border-solid rounded-md flex place-content-center ${['A', 'B', 'C', 'D'].includes(projectHealth) ? (['A', 'B'].includes(projectHealth) && "bg-[#F1F5F9] border-[#A3DCD8]") || (['C', 'D'].includes(projectHealth) && "bg-[#A73A43] border-[#F9C34F]") : "bg-[#A73A43] text-[#F1F5F9] border-[#F1F5F9]"}` },
149
+ react_1.default.createElement("p", { className: "font-bold text-md self-center" }, projectHealth))),
150
+ checkStartDate ?
151
+ react_1.default.createElement("div", { className: "h-10 w-14 bg-[#F1F5F9] border-[#A3DCD8] border-2 border-solid rounded-md flex place-content-center" },
152
+ react_1.default.createElement("p", { className: "font-bold text-md self-center" }, "NEW !")) : "",
153
+ react_1.default.createElement("div", { className: "h-10 w-14 bg-[#F1F5F9] rounded-md flex place-content-center" },
154
+ react_1.default.createElement(base_ui_1.Button, { onClick: () => { setExpand(!expand); }, className: "font-bold text-md p-8", icon: expand ? react_1.default.createElement(base_icons_1.IconChevronUp, null) : react_1.default.createElement(base_icons_1.IconChevronDown, null) })))),
155
+ expand && react_1.default.createElement("div", { className: `flex w-full p-4 gap-x-10 gap-y-10 ${projectRateType === "Fixed" ? "flex-col" : "flex-col md:flex-row"}` },
156
+ react_1.default.createElement(LeftCardUI_1.LeftCardUI, { projectData: singleProjectData, projectFrequencyType: projectFrequencyType, projectRateType: projectRateType, project: project, isAuthenticated: isAuthenticated, adhocProject: adhocProject, activeProject: activeProject, freelancerId: freelancerId, selectedTab: selectedTab, updateProjectTaskMutation: updateProjectTaskMutation, GetAllProjectIrprDetailsForFreelancerDocument: GetAllProjectIrprDetailsForFreelancerDocument, updateProjectTask: updateProjectTask, clientPortal: clientPortal }),
157
+ react_1.default.createElement("div", { className: "flex flex-col flex-grow md:flex-row gap-x-0 justify-around" },
158
+ react_1.default.createElement(CenterCardUI_1.CenterCardUI, { startDate: project === null || project === void 0 ? void 0 : project.startDate, endDate: project === null || project === void 0 ? void 0 : project.endDate, projectData: singleProjectData, projectRateType: projectRateType, project: project, projectFrequencyType: projectFrequencyType, adhocProject: adhocProject, clientPortal: clientPortal }),
159
+ react_1.default.createElement(RightCardUI_1.RightCardUI, { project: project, expertName: expertName, freelancerEmail: freelancerEmail, freelancerId: freelancerId, isAuthenticated: isAuthenticated, editEndDate: editEndDate, setEditEndDate: setEditEndDate, editStartDate: editStartDate, setEditStartDate: setEditStartDate, showTimeModal: showTimeModal, setShowTimeModal: setShowTimeModal, setSingleProjectData: setSingleProjectData, projectData: singleProjectData, checkStartDate: checkStartDate, activeProject: activeProject, projectRateType: projectRateType, projectFrequencyType: projectFrequencyType, upcomingProject: upcomingProject, selectedTab: selectedTab, showRating: !!showRating, projectTagsMap: projectTagsMap, updateProjectStatusMutation: updateProjectStatusMutation, GetAllProjectIrprDetailsForFreelancerDocument: GetAllProjectIrprDetailsForFreelancerDocument, updateParoProjectTagsMutation: updateParoProjectTagsMutation, GetParoProjectsDocument: GetParoProjectsDocument, updateProjectTagReviewStatusMutation: updateProjectTagReviewStatusMutation, updateProjectStatus: updateProjectStatus, updateProjectTags: updateProjectTags, getSowLazyQuery: getSowLazyQuery, sendParoSupportEmail: sendParoSupportEmail, createChangeRequestMutation: createChangeRequestMutation, createChangeRequest: createChangeRequest, createOrUpdateRatingRequestMutation: createOrUpdateRatingRequestMutation, submitProjectHoursMutation: submitProjectHoursMutation, getAuth0Roles: getAuth0Roles, submitProjectHoursLambda: submitProjectHoursLambda, user: user, internalPortal: internalPortal, csmUserGroup: csmUserGroup, clientPortal: clientPortal, signedSow: signedSow }))))));
160
+ };
161
+ exports.ActiveProjectCard = ActiveProjectCard;
@@ -1,13 +1,13 @@
1
- import React from 'react';
2
- interface CenterCardUIProps {
3
- startDate: any;
4
- endDate: any;
5
- projectRateType: string;
6
- projectData: any;
7
- projectFrequencyType: string;
8
- project: any;
9
- adhocProject: any;
10
- clientPortal: boolean;
11
- }
12
- export declare const CenterCardUI: ({ startDate, endDate, projectRateType, projectData, projectFrequencyType, project, adhocProject, clientPortal, }: CenterCardUIProps) => React.JSX.Element;
13
- export {};
1
+ import React from 'react';
2
+ interface CenterCardUIProps {
3
+ startDate: any;
4
+ endDate: any;
5
+ projectRateType: string;
6
+ projectData: any;
7
+ projectFrequencyType: string;
8
+ project: any;
9
+ adhocProject: any;
10
+ clientPortal: boolean;
11
+ }
12
+ export declare const CenterCardUI: ({ startDate, endDate, projectRateType, projectData, projectFrequencyType, project, adhocProject, clientPortal, }: CenterCardUIProps) => React.JSX.Element;
13
+ export {};