synapse-react-client 4.0.26 → 4.0.28

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 (360) hide show
  1. package/dist/SWC.index.d.ts +3 -2
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +4 -3
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/assets/icons/FileCopy.d.ts +5 -0
  6. package/dist/assets/icons/FileCopy.d.ts.map +1 -0
  7. package/dist/assets/icons/FileCopy.js +13 -0
  8. package/dist/assets/icons/FileCopy.js.map +1 -0
  9. package/dist/assets/icons/NIHIcon.d.ts +4 -0
  10. package/dist/assets/icons/NIHIcon.d.ts.map +1 -0
  11. package/dist/assets/icons/NIHIcon.js +14 -0
  12. package/dist/assets/icons/NIHIcon.js.map +1 -0
  13. package/dist/assets/icons/fileCopy.svg +8 -0
  14. package/dist/assets/icons/fileCopy2.js +33 -0
  15. package/dist/assets/icons/fileCopy2.js.map +1 -0
  16. package/dist/assets/icons/nih.js +35 -0
  17. package/dist/assets/icons/nih.js.map +1 -0
  18. package/dist/assets/icons/nih.svg +9 -0
  19. package/dist/assets/illustrations/compute_illustration.js +485 -0
  20. package/dist/assets/illustrations/compute_illustration.js.map +1 -0
  21. package/dist/assets/illustrations/compute_illustration.svg +204 -0
  22. package/dist/assets/illustrations/curate_data_illustration.js +479 -0
  23. package/dist/assets/illustrations/curate_data_illustration.js.map +1 -0
  24. package/dist/assets/illustrations/curate_data_illustration.svg +91 -0
  25. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js +1 -1
  26. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js +1 -1
  27. package/dist/components/Authentication/AuthenticationMethodSelection.d.ts +1 -0
  28. package/dist/components/Authentication/AuthenticationMethodSelection.d.ts.map +1 -1
  29. package/dist/components/Authentication/AuthenticationMethodSelection.js +17 -10
  30. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  31. package/dist/components/Authentication/LastLoginInfo.d.ts +2 -2
  32. package/dist/components/Authentication/LoginForm.d.ts +1 -0
  33. package/dist/components/Authentication/LoginForm.d.ts.map +1 -1
  34. package/dist/components/Authentication/LoginForm.js +3 -2
  35. package/dist/components/Authentication/LoginForm.js.map +1 -1
  36. package/dist/components/Authentication/LoginMethod.d.ts +2 -2
  37. package/dist/components/Authentication/LoginMethod.d.ts.map +1 -1
  38. package/dist/components/Authentication/LoginMethod.js +10 -8
  39. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  40. package/dist/components/Authentication/StandaloneLoginForm.d.ts +1 -0
  41. package/dist/components/Authentication/StandaloneLoginForm.d.ts.map +1 -1
  42. package/dist/components/Authentication/StandaloneLoginForm.js +16 -15
  43. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  44. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -2
  45. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  46. package/dist/components/Breadcrumbs/Breadcrumbs.js +24 -30
  47. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  48. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +1 -1
  49. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js +1 -1
  50. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +1 -1
  51. package/dist/components/ChangePassword/ChangePassword.js +1 -1
  52. package/dist/components/CopyToClipboardString/CopyToClipboardString.d.ts +3 -2
  53. package/dist/components/CopyToClipboardString/CopyToClipboardString.d.ts.map +1 -1
  54. package/dist/components/CopyToClipboardString/CopyToClipboardString.js +27 -18
  55. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  56. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  57. package/dist/components/DataGrid/SynapseGrid.js +2 -5
  58. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  59. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts +35 -0
  60. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -0
  61. package/dist/components/DataGrid/SyncGridWithSourceButton.js +115 -0
  62. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -0
  63. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts +2 -0
  64. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts.map +1 -1
  65. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  66. package/dist/components/DataGrid/useMergeGridWithSource.d.ts +12 -7
  67. package/dist/components/DataGrid/useMergeGridWithSource.d.ts.map +1 -1
  68. package/dist/components/DataGrid/useMergeGridWithSource.js +31 -25
  69. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  70. package/dist/components/DownloadCart/DownloadListTable.js +1 -1
  71. package/dist/components/DynamicForm/DynamicForm.js +1 -1
  72. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  73. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js +1 -1
  74. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
  75. package/dist/components/EntityFinder/EntityIdTextField.d.ts +1 -0
  76. package/dist/components/EntityFinder/EntityIdTextField.d.ts.map +1 -1
  77. package/dist/components/EntityFinder/EntityIdTextField.js +7 -6
  78. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  79. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +1 -1
  80. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  81. package/dist/components/EntitySidebar/EntitySidebar.css +1 -1
  82. package/dist/components/EntitySidebar/EntitySidebar.d.ts.map +1 -1
  83. package/dist/components/EntitySidebar/EntitySidebar.js +47 -39
  84. package/dist/components/EntitySidebar/EntitySidebar.js.map +1 -1
  85. package/dist/components/EntitySidebar/EntitySidebar.module.js +11 -11
  86. package/dist/components/EntitySidebar/EntitySidebar.module.js.map +1 -1
  87. package/dist/components/EntitySidebar/EntitySidebar.module.scss +6 -6
  88. package/dist/components/FieldDescription/FieldDescription.css +1 -0
  89. package/dist/components/FieldDescription/FieldDescription.d.ts +15 -0
  90. package/dist/components/FieldDescription/FieldDescription.d.ts.map +1 -0
  91. package/dist/components/FieldDescription/FieldDescription.js +13 -0
  92. package/dist/components/FieldDescription/FieldDescription.js.map +1 -0
  93. package/dist/components/FieldDescription/FieldDescription.module.js +5 -0
  94. package/dist/components/FieldDescription/FieldDescription.module.js.map +1 -0
  95. package/dist/components/FieldDescription/FieldDescription.module.scss +8 -0
  96. package/dist/components/FieldDescription/index.d.ts +3 -0
  97. package/dist/components/FieldDescription/index.d.ts.map +1 -0
  98. package/dist/components/FieldDescription/index.js +2 -0
  99. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  100. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  101. package/dist/components/IconSvg/IconSvg.js +216 -212
  102. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  103. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js +1 -1
  104. package/dist/components/OAuthClientManagement/OAuthManagement.js +1 -1
  105. package/dist/components/PortalAclEditor/PortalAclEditorModal.js +1 -1
  106. package/dist/components/PortalList/CreatePortalModal.js +1 -1
  107. package/dist/components/PortalList/PortalCard.js +1 -1
  108. package/dist/components/ProjectInfo/ProjectInfo.css +1 -0
  109. package/dist/components/ProjectInfo/ProjectInfo.d.ts +5 -0
  110. package/dist/components/ProjectInfo/ProjectInfo.d.ts.map +1 -0
  111. package/dist/components/ProjectInfo/ProjectInfo.js +50 -0
  112. package/dist/components/ProjectInfo/ProjectInfo.js.map +1 -0
  113. package/dist/components/ProjectInfo/ProjectInfo.module.js +11 -0
  114. package/dist/components/ProjectInfo/ProjectInfo.module.js.map +1 -0
  115. package/dist/components/ProjectInfo/ProjectInfo.module.scss +35 -0
  116. package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts +10 -0
  117. package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts.map +1 -0
  118. package/dist/components/ProjectInfo/ProjectInfoPopover.js +94 -0
  119. package/dist/components/ProjectInfo/ProjectInfoPopover.js.map +1 -0
  120. package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts +2 -1
  121. package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts.map +1 -1
  122. package/dist/components/ProjectStorage/ProjectDataAvailability.js +67 -75
  123. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  124. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  125. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +12 -3
  126. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  127. package/dist/components/StorybookComponentWrapper.js +1 -1
  128. package/dist/components/SynapseChat/SynapseChat.js +1 -1
  129. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +1 -1
  130. package/dist/components/SynapseTable/table-top/DownloadOptions.js +1 -1
  131. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  132. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
  133. package/dist/components/TextField/TextField.css +1 -1
  134. package/dist/components/TextField/TextField.d.ts.map +1 -1
  135. package/dist/components/TextField/TextField.js +27 -25
  136. package/dist/components/TextField/TextField.js.map +1 -1
  137. package/dist/components/TextField/TextField.module.js +3 -3
  138. package/dist/components/TextField/TextField.module.js.map +1 -1
  139. package/dist/components/TextField/TextField.module.scss +2 -5
  140. package/dist/components/Webhook/WebhookVerificationDialog.js +1 -1
  141. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js +1 -1
  142. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js +1 -1
  143. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +1 -1
  144. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  145. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +66 -49
  146. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  147. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
  148. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  149. package/dist/components/error/SendMessageToEntityOwnerDialog.js +1 -1
  150. package/dist/components/index.js +1 -1
  151. package/dist/components/menu/ComplexMenu.d.ts.map +1 -1
  152. package/dist/components/menu/ComplexMenu.js +1 -4
  153. package/dist/components/menu/ComplexMenu.js.map +1 -1
  154. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js +1 -1
  155. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  156. package/dist/features/curator/dashboard/CuratorDashboard.d.ts +1 -1
  157. package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -1
  158. package/dist/features/curator/dashboard/CuratorDashboard.js +36 -35
  159. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  160. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts +13 -0
  161. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -0
  162. package/dist/features/curator/dashboard/CuratorDashboardRouter.js +37 -0
  163. package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -0
  164. package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -1
  165. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +3 -1
  166. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -1
  167. package/dist/features/curator/dashboard/components/CurationTaskCard.js +26 -157
  168. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  169. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +10 -6
  170. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -1
  171. package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +31 -0
  172. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts +25 -0
  173. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts.map +1 -0
  174. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js +134 -0
  175. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js.map +1 -0
  176. package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts +10 -0
  177. package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts.map +1 -0
  178. package/dist/features/curator/dashboard/components/ExecutableTaskCard.js +51 -0
  179. package/dist/features/curator/dashboard/components/ExecutableTaskCard.js.map +1 -0
  180. package/dist/features/curator/dashboard/components/GridTaskCard.d.ts +10 -0
  181. package/dist/features/curator/dashboard/components/GridTaskCard.d.ts.map +1 -0
  182. package/dist/features/curator/dashboard/components/GridTaskCard.js +35 -0
  183. package/dist/features/curator/dashboard/components/GridTaskCard.js.map +1 -0
  184. package/dist/features/curator/dashboard/components/NextStepButton.css +1 -1
  185. package/dist/features/curator/dashboard/components/NextStepButton.d.ts +3 -0
  186. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
  187. package/dist/features/curator/dashboard/components/NextStepButton.js +56 -26
  188. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  189. package/dist/features/curator/dashboard/components/NextStepButton.module.js +6 -5
  190. package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -1
  191. package/dist/features/curator/dashboard/components/NextStepButton.module.scss +28 -0
  192. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts +31 -0
  193. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts.map +1 -0
  194. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js +32 -0
  195. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js.map +1 -0
  196. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  197. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +213 -204
  198. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  199. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -1
  200. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  201. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +19 -39
  202. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  203. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts +9 -3
  204. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  205. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +39 -49
  206. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  207. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts +17 -0
  208. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -0
  209. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +43 -0
  210. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -0
  211. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
  212. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +27 -26
  213. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  214. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts +16 -0
  215. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts.map +1 -0
  216. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js +64 -0
  217. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js.map +1 -0
  218. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts +41 -0
  219. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts.map +1 -0
  220. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js +165 -0
  221. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js.map +1 -0
  222. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts +18 -0
  223. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts.map +1 -0
  224. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js +78 -0
  225. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js.map +1 -0
  226. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts +10 -0
  227. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts.map +1 -0
  228. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js +40 -0
  229. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js.map +1 -0
  230. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts +13 -0
  231. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts.map +1 -0
  232. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js +35 -0
  233. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js.map +1 -0
  234. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts +41 -0
  235. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts.map +1 -0
  236. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +198 -0
  237. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -0
  238. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts +8 -0
  239. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts.map +1 -0
  240. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js +29 -0
  241. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js.map +1 -0
  242. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts +13 -0
  243. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts.map +1 -0
  244. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js +65 -0
  245. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js.map +1 -0
  246. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts +11 -0
  247. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts.map +1 -0
  248. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js +33 -0
  249. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js.map +1 -0
  250. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts +13 -0
  251. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts.map +1 -0
  252. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js +38 -0
  253. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js.map +1 -0
  254. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts +13 -0
  255. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts.map +1 -0
  256. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js +72 -0
  257. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js.map +1 -0
  258. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts +11 -0
  259. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts.map +1 -0
  260. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js +42 -0
  261. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js.map +1 -0
  262. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts +17 -0
  263. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts.map +1 -0
  264. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +70 -0
  265. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -0
  266. package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts +23 -0
  267. package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts.map +1 -0
  268. package/dist/features/entity/metadata-task/create-task/TaskFormActions.js +68 -0
  269. package/dist/features/entity/metadata-task/create-task/TaskFormActions.js.map +1 -0
  270. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts +17 -0
  271. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts.map +1 -0
  272. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +33 -0
  273. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -0
  274. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts +50 -0
  275. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts.map +1 -0
  276. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js +76 -0
  277. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js.map +1 -0
  278. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts +36 -0
  279. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts.map +1 -0
  280. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js +31 -0
  281. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js.map +1 -0
  282. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts +32 -0
  283. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts.map +1 -0
  284. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js +33 -0
  285. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js.map +1 -0
  286. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts +10 -0
  287. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts.map +1 -0
  288. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js +13 -0
  289. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js.map +1 -0
  290. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
  291. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +24 -24
  292. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  293. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -1
  294. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +2 -2
  295. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  296. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  297. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +33 -32
  298. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  299. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
  300. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +24 -21
  301. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  302. package/dist/features/entity/metadata-task/utils/constants.d.ts +84 -15
  303. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  304. package/dist/features/entity/metadata-task/utils/constants.js +47 -3
  305. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  306. package/dist/features/entity/metadata-task/utils/dueDate.d.ts +22 -0
  307. package/dist/features/entity/metadata-task/utils/dueDate.d.ts.map +1 -0
  308. package/dist/features/entity/metadata-task/utils/dueDate.js +24 -0
  309. package/dist/features/entity/metadata-task/utils/dueDate.js.map +1 -0
  310. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
  311. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  312. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +5 -6
  313. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  314. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts +4 -4
  315. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts.map +1 -1
  316. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js +5 -6
  317. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  318. package/dist/features/entity/metadata-task/utils/types.d.ts +12 -0
  319. package/dist/features/entity/metadata-task/utils/types.d.ts.map +1 -0
  320. package/dist/features/entity/metadata-task/utils/types.js +18 -0
  321. package/dist/features/entity/metadata-task/utils/types.js.map +1 -0
  322. package/dist/mocks/curation/mockCurationTask.d.ts +6 -0
  323. package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -1
  324. package/dist/mocks/curation/mockCurationTask.js +20 -3
  325. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  326. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts +16 -0
  327. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts.map +1 -0
  328. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js +24 -0
  329. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js.map +1 -0
  330. package/dist/synapse-client/SynapseClient.d.ts +7 -1
  331. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  332. package/dist/synapse-client/SynapseClient.js +493 -482
  333. package/dist/synapse-client/SynapseClient.js.map +1 -1
  334. package/dist/synapse-client/index.js +3 -3
  335. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +8 -1
  336. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  337. package/dist/synapse-queries/curation/task/useCurationTask.js +48 -34
  338. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  339. package/dist/theme/palette/Palettes.js +2 -2
  340. package/dist/theme/palette/Palettes.js.map +1 -1
  341. package/dist/tsconfig.build.tsbuildinfo +1 -1
  342. package/dist/utils/AppUtils/session/useSessionManager.d.ts.map +1 -1
  343. package/dist/utils/AppUtils/session/useSessionManager.js +50 -48
  344. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  345. package/dist/utils/SynapseConstants.d.ts +4 -1
  346. package/dist/utils/SynapseConstants.d.ts.map +1 -1
  347. package/dist/utils/SynapseConstants.js +86 -83
  348. package/dist/utils/SynapseConstants.js.map +1 -1
  349. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -2
  350. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  351. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  352. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  353. package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
  354. package/dist/utils/hooks/useDetectSSOCode.js +37 -27
  355. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  356. package/package.json +5 -5
  357. package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts +0 -8
  358. package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts.map +0 -1
  359. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +0 -64
  360. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ import e from "../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import { TASK_STATUS_CONFIG as t } from "../../../entity/metadata-task/utils/constants.js";
3
+ import { parseDueDate as n } from "../../../entity/metadata-task/utils/dueDate.js";
4
+ import r from "./CurationTaskCard.module.js";
5
+ import i from "./shared.module.js";
6
+ import a from "./UserOrTeamChip.js";
7
+ import { useState as o } from "react";
8
+ import { Card as s, Chip as c, Collapse as l, Divider as u, IconButton as d, Skeleton as f, Typography as p } from "@mui/material";
9
+ import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
10
+ import { useNavigate as _ } from "react-router";
11
+ import v from "dayjs";
12
+ import y from "dayjs/plugin/utc";
13
+ import b from "classnames";
14
+ import x from "@mui/icons-material/SettingsOutlined";
15
+ //#region src/features/curator/dashboard/components/CurationTaskCardLayout.tsx
16
+ v.extend(y);
17
+ function S(e) {
18
+ let { label: t } = e;
19
+ return /* @__PURE__ */ h(c, {
20
+ sx: {
21
+ fontWeight: 600,
22
+ backgroundColor: "#BFD3ED"
23
+ },
24
+ label: t
25
+ });
26
+ }
27
+ function C(e) {
28
+ let { state: n } = e;
29
+ if (!n) return null;
30
+ let { label: r, backgroundColor: i } = t[n];
31
+ return /* @__PURE__ */ h(c, {
32
+ size: "small",
33
+ sx: {
34
+ fontWeight: 600,
35
+ backgroundColor: i
36
+ },
37
+ label: r
38
+ });
39
+ }
40
+ function w(e) {
41
+ let { dueDate: t } = e, r = n(t);
42
+ if (!r) return null;
43
+ let i = r.diff(v.utc().startOf("day"), "day"), a = r.format("MM/DD/YY"), o = "#E0E0E0";
44
+ return i < 0 ? o = "#FFCDD2" : i < 30 && (o = "#FFF9C4"), /* @__PURE__ */ h(c, {
45
+ size: "small",
46
+ sx: {
47
+ fontWeight: 600,
48
+ backgroundColor: o
49
+ },
50
+ label: `Due ${a}`
51
+ });
52
+ }
53
+ function T(e) {
54
+ return {
55
+ title: e?.dataType ?? "",
56
+ description: e?.instructions ?? "",
57
+ principalIds: e?.assigneePrincipalId ? [e.assigneePrincipalId] : []
58
+ };
59
+ }
60
+ function E(t) {
61
+ let { taskBundle: n, title: c, description: v, taskType: y, principalIds: T, renderActionButton: E } = t, D = _(), [O, k] = o(!1), A = n.task?.taskId, j = n.task?.projectId, { data: M } = e(j, void 0, {
62
+ includeEntity: !0,
63
+ includePermissions: !0
64
+ }), N = M?.permissions?.canEdit ?? !1;
65
+ return /* @__PURE__ */ g(s, {
66
+ className: b(i.card, r.card),
67
+ children: [/* @__PURE__ */ g("div", {
68
+ className: r.cardContent,
69
+ children: [
70
+ /* @__PURE__ */ g("div", {
71
+ className: r.mainContent,
72
+ children: [
73
+ /* @__PURE__ */ g("div", {
74
+ className: r.titleChipContainer,
75
+ children: [
76
+ /* @__PURE__ */ h(p, {
77
+ variant: "headline3",
78
+ className: r.title,
79
+ onClick: () => k(!O),
80
+ children: c
81
+ }),
82
+ y && /* @__PURE__ */ h(S, { label: y }),
83
+ N && /* @__PURE__ */ h(d, {
84
+ onClick: () => void D(`edit/${A}`),
85
+ "aria-label": "Task settings",
86
+ children: /* @__PURE__ */ h(x, {})
87
+ })
88
+ ]
89
+ }),
90
+ /* @__PURE__ */ g("div", {
91
+ className: r.entityInfo,
92
+ children: [M?.entity?.name ? /* @__PURE__ */ h(p, {
93
+ variant: "body1",
94
+ children: M.entity.name
95
+ }) : /* @__PURE__ */ h(f, { width: 100 }), A && /* @__PURE__ */ g(p, {
96
+ variant: "body1",
97
+ children: ["Task ID: ", A]
98
+ })]
99
+ }),
100
+ /* @__PURE__ */ h("div", {
101
+ className: r.userChipContainer,
102
+ children: T.map((e) => /* @__PURE__ */ h(a, { principalId: e }, e))
103
+ })
104
+ ]
105
+ }),
106
+ /* @__PURE__ */ g("div", {
107
+ className: r.statusContainer,
108
+ children: [/* @__PURE__ */ h(C, { state: n.status?.state }), /* @__PURE__ */ h(w, { dueDate: n.status?.dueDate })]
109
+ }),
110
+ !O && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(u, {
111
+ orientation: "vertical",
112
+ flexItem: !0,
113
+ sx: { display: {
114
+ xs: "none",
115
+ md: "block"
116
+ } }
117
+ }), E({ expanded: !1 })] })
118
+ ]
119
+ }), /* @__PURE__ */ h(l, {
120
+ in: O,
121
+ children: /* @__PURE__ */ g("div", {
122
+ className: r.expandedContent,
123
+ children: [v && /* @__PURE__ */ h(p, {
124
+ variant: "body1",
125
+ children: v
126
+ }), E({ expanded: !0 })]
127
+ })
128
+ })]
129
+ });
130
+ }
131
+ //#endregion
132
+ export { E as default, T as deriveCardFields };
133
+
134
+ //# sourceMappingURL=CurationTaskCardLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurationTaskCardLayout.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"sourcesContent":["import {\n Card,\n Chip,\n Collapse,\n Divider,\n IconButton,\n Skeleton,\n Typography,\n} from '@mui/material'\nimport {\n TaskBundle,\n TaskStatusStateEnum,\n} from '@sage-bionetworks/synapse-client'\nimport classNames from 'classnames'\nimport { ReactNode, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport dayjs from 'dayjs'\nimport utc from 'dayjs/plugin/utc'\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { TASK_STATUS_CONFIG } from '@/features/entity/metadata-task/utils/constants'\nimport { parseDueDate } from '@/features/entity/metadata-task/utils/dueDate'\nimport styles from './CurationTaskCard.module.scss'\nimport sharedStyles from './shared.module.scss'\nimport UserOrTeamChip from './UserOrTeamChip'\n\ndayjs.extend(utc)\n\nfunction TaskTypeChip(props: { label: string }) {\n const { label } = props\n return (\n <Chip sx={{ fontWeight: 600, backgroundColor: '#BFD3ED' }} label={label} />\n )\n}\n\n/**\n * A chip to display CurationTask status.\n *\n * See {@link https://www.figma.com/design/0oPm5lLSUva8kyfVNMS6FA/Sage-Style---Component-Library--SDS-?node-id=4942-1129&m=dev}\n */\nfunction TaskStatusChip(props: { state: TaskStatusStateEnum | undefined }) {\n const { state } = props\n if (!state) return null\n const { label, backgroundColor } = TASK_STATUS_CONFIG[state]\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={label}\n />\n )\n}\n\nfunction DueDateChip(props: { dueDate: string | undefined }) {\n const { dueDate } = props\n const dueDateObj = parseDueDate(dueDate)\n if (!dueDateObj) return null\n\n const daysUntilDue = dueDateObj.diff(dayjs.utc().startOf('day'), 'day')\n const formattedDate = dueDateObj.format('MM/DD/YY')\n\n let backgroundColor = '#E0E0E0'\n if (daysUntilDue < 0) {\n backgroundColor = '#FFCDD2'\n } else if (daysUntilDue < 30) {\n backgroundColor = '#FFF9C4'\n }\n\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={`Due ${formattedDate}`}\n />\n )\n}\n\nexport type CurationTaskCardLayoutProps = {\n taskBundle: TaskBundle\n title: string\n description: string\n taskType: string\n principalIds: string[]\n /** Renders the action button. `expanded` reflects whether the card is in its expanded layout. */\n renderActionButton: (props: { expanded: boolean }) => ReactNode\n}\n\n/** Derives the fields shared by every card variant from a task's common properties. */\nexport function deriveCardFields(task: TaskBundle['task']) {\n return {\n title: task?.dataType ?? '',\n description: task?.instructions ?? '',\n principalIds: task?.assigneePrincipalId ? [task.assigneePrincipalId] : [],\n }\n}\n\n/**\n * Shared presentational chrome for a curation task card: title, chips, entity info, assignees,\n * status/due date, and an action button slot. Both the grid and executable task cards compose this.\n */\nexport default function CurationTaskCardLayout(\n props: CurationTaskCardLayoutProps,\n) {\n const {\n taskBundle,\n title,\n description,\n taskType,\n principalIds,\n renderActionButton,\n } = props\n\n const navigate = useNavigate()\n const [isExpanded, setIsExpanded] = useState(false)\n\n const taskId = taskBundle.task?.taskId\n const projectId = taskBundle.task?.projectId\n const { data: bundle } = useGetEntityBundle(projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n return (\n <Card className={classNames(sharedStyles.card, styles.card)}>\n <div className={styles.cardContent}>\n <div className={styles.mainContent}>\n <div className={styles.titleChipContainer}>\n <Typography\n variant=\"headline3\"\n className={styles.title}\n onClick={() => setIsExpanded(!isExpanded)}\n >\n {title}\n </Typography>\n {taskType && <TaskTypeChip label={taskType} />}\n {canEdit && (\n <IconButton\n onClick={() => void navigate(`edit/${taskId}`)}\n aria-label=\"Task settings\"\n >\n <SettingsOutlinedIcon />\n </IconButton>\n )}\n </div>\n <div className={styles.entityInfo}>\n {bundle?.entity?.name ? (\n <Typography variant=\"body1\">{bundle.entity.name}</Typography>\n ) : (\n <Skeleton width={100} />\n )}\n {taskId && (\n <Typography variant=\"body1\">Task ID: {taskId}</Typography>\n )}\n </div>\n <div className={styles.userChipContainer}>\n {principalIds.map(principalId => (\n <UserOrTeamChip key={principalId} principalId={principalId} />\n ))}\n </div>\n </div>\n <div className={styles.statusContainer}>\n <TaskStatusChip state={taskBundle.status?.state} />\n <DueDateChip dueDate={taskBundle.status?.dueDate} />\n </div>\n {!isExpanded && (\n <>\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ display: { xs: 'none', md: 'block' } }}\n />\n {renderActionButton({ expanded: false })}\n </>\n )}\n </div>\n <Collapse in={isExpanded}>\n <div className={styles.expandedContent}>\n {description && (\n <Typography variant=\"body1\">{description}</Typography>\n )}\n {renderActionButton({ expanded: true })}\n </div>\n </Collapse>\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AA0BA,EAAM,OAAO,CAAG;AAEhB,SAAS,EAAa,GAA0B;CAC9C,IAAM,EAAE,aAAU;CAClB,OACE,kBAAC,GAAD;EAAM,IAAI;GAAE,YAAY;GAAK,iBAAiB;EAAU;EAAU;CAAQ,CAAA;AAE9E;AAOA,SAAS,EAAe,GAAmD;CACzE,IAAM,EAAE,aAAU;CAClB,IAAI,CAAC,GAAO,OAAO;CACnB,IAAM,EAAE,UAAO,uBAAoB,EAAmB;CACtD,OACE,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EAChC;CACR,CAAA;AAEL;AAEA,SAAS,EAAY,GAAwC;CAC3D,IAAM,EAAE,eAAY,GACd,IAAa,EAAa,CAAO;CACvC,IAAI,CAAC,GAAY,OAAO;CAExB,IAAM,IAAe,EAAW,KAAK,EAAM,IAAI,EAAE,QAAQ,KAAK,GAAG,KAAK,GAChE,IAAgB,EAAW,OAAO,UAAU,GAE9C,IAAkB;CAOtB,OANI,IAAe,IACjB,IAAkB,YACT,IAAe,OACxB,IAAkB,YAIlB,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EACvC,OAAO,OAAO;CACf,CAAA;AAEL;AAaA,SAAgB,EAAiB,GAA0B;CACzD,OAAO;EACL,OAAO,GAAM,YAAY;EACzB,aAAa,GAAM,gBAAgB;EACnC,cAAc,GAAM,sBAAsB,CAAC,EAAK,mBAAmB,IAAI,CAAC;CAC1E;AACF;AAMA,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,eACA,UACA,gBACA,aACA,iBACA,0BACE,GAEE,IAAW,EAAY,GACvB,CAAC,GAAY,KAAiB,EAAS,EAAK,GAE5C,IAAS,EAAW,MAAM,QAC1B,IAAY,EAAW,MAAM,WAC7B,EAAE,MAAM,MAAW,EAAmB,GAAW,KAAA,GAAW;EAChE,eAAe;EACf,oBAAoB;CACtB,CAAC,GACK,IAAU,GAAQ,aAAa,WAAW;CAEhD,OACE,kBAAC,GAAD;EAAM,WAAW,EAAW,EAAa,MAAM,EAAO,IAAI;YAA1D,CACE,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACE,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB;MACE,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB;QACE,kBAAC,GAAD;SACE,SAAQ;SACR,WAAW,EAAO;SAClB,eAAe,EAAc,CAAC,CAAU;mBAEvC;QACS,CAAA;QACX,KAAY,kBAAC,GAAD,EAAc,OAAO,EAAW,CAAA;QAC5C,KACC,kBAAC,GAAD;SACE,eAAe,KAAK,EAAS,QAAQ,GAAQ;SAC7C,cAAW;mBAEX,kBAAC,GAAD,CAAuB,CAAA;QACb,CAAA;OAEX;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB,CACG,GAAQ,QAAQ,OACf,kBAAC,GAAD;QAAY,SAAQ;kBAAS,EAAO,OAAO;OAAiB,CAAA,IAE5D,kBAAC,GAAD,EAAU,OAAO,IAAM,CAAA,GAExB,KACC,kBAAC,GAAD;QAAY,SAAQ;kBAApB,CAA4B,aAAU,CAAmB;SAExD;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBACpB,EAAa,KAAI,MAChB,kBAAC,GAAD,EAA+C,eAAc,GAAxC,CAAwC,CAC9D;MACE,CAAA;KACF;;IACL,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACE,kBAAC,GAAD,EAAgB,OAAO,EAAW,QAAQ,MAAQ,CAAA,GAClD,kBAAC,GAAD,EAAa,SAAS,EAAW,QAAQ,QAAU,CAAA,CAChD;;IACJ,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KACE,aAAY;KACZ,UAAA;KACA,IAAI,EAAE,SAAS;MAAE,IAAI;MAAQ,IAAI;KAAQ,EAAE;IAC5C,CAAA,GACA,EAAmB,EAAE,UAAU,GAAM,CAAC,CACvC,EAAA,CAAA;GAED;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACG,KACC,kBAAC,GAAD;KAAY,SAAQ;eAAS;IAAwB,CAAA,GAEtD,EAAmB,EAAE,UAAU,GAAK,CAAC,CACnC;;EACG,CAAA,CACN;;AAEV"}
@@ -0,0 +1,10 @@
1
+ import { TaskBundle } from '@sage-bionetworks/synapse-client';
2
+ export type ExecutableTaskCardProps = {
3
+ taskBundle: TaskBundle;
4
+ };
5
+ /**
6
+ * Card for an executable (Compute Data) curation task. Lets an authorized user run the task's agent
7
+ * and, once finished, navigate to the destination task where the generated output was written.
8
+ */
9
+ export default function ExecutableTaskCard(props: ExecutableTaskCardProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ExecutableTaskCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutableTaskCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/ExecutableTaskCard.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAS7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAwExE"}
@@ -0,0 +1,51 @@
1
+ import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
2
+ import { GRID_PAGE_TASK_ID_QUERY_PARAM as t } from "../../../../utils/SynapseConstants.js";
3
+ import n from "../../../../synapse-queries/entity/useEntityBundle.js";
4
+ import { useGetCurrentUserProfile as r } from "../../../../synapse-queries/user/useUserBundle.js";
5
+ import { useGetIsPrincipalIdUserOrMemberOfTeam as i } from "../../../../synapse-queries/team/useTeamMembers.js";
6
+ import "../../../../components/index.js";
7
+ import { useExecuteCurationTask as a } from "../../../../synapse-queries/curation/task/useCurationTask.js";
8
+ import o from "./CurationTaskCard.module.js";
9
+ import s, { deriveCardFields as c } from "./CurationTaskCardLayout.js";
10
+ import { getExecutableTaskButtonState as l } from "./getExecutableTaskButtonState.js";
11
+ import u from "./NextStepButton.js";
12
+ import { jsx as d } from "react/jsx-runtime";
13
+ import { useSearchParams as f } from "react-router";
14
+ //#region src/features/curator/dashboard/components/ExecutableTaskCard.tsx
15
+ function p(p) {
16
+ let { taskBundle: m } = p, h = m.task, g = h.taskProperties, _ = g && "destinationTaskId" in g ? g.destinationTaskId : void 0, [, v] = f(), { data: y } = n(h.projectId, void 0, {
17
+ includeEntity: !0,
18
+ includePermissions: !0
19
+ }), b = y?.permissions?.canEdit ?? !1, { data: x } = r(), { data: S } = i(x?.ownerId ?? "", h.assigneePrincipalId ?? "", { enabled: !!x?.ownerId && !!h.assigneePrincipalId }), C = b || !!S, { mutate: w, isPending: T } = a({ onError: (t) => e(t.message, "danger") }), E = l({
20
+ state: m.status?.state,
21
+ canExecute: C,
22
+ isExecutePending: T,
23
+ destinationTaskId: _
24
+ }), { title: D, description: O, principalIds: k } = c(h);
25
+ function A() {
26
+ E.action === "start" ? w(h.taskId) : E.action === "viewResult" && _ && v((e) => {
27
+ let n = new URLSearchParams(e);
28
+ return n.set(t, String(_)), n;
29
+ });
30
+ }
31
+ return /* @__PURE__ */ d(s, {
32
+ taskBundle: m,
33
+ title: D,
34
+ description: O,
35
+ taskType: "Compute",
36
+ principalIds: k,
37
+ renderActionButton: ({ expanded: e }) => /* @__PURE__ */ d(u, {
38
+ className: o.cardButton,
39
+ buttonText: E.buttonText,
40
+ onClick: A,
41
+ disabled: E.disabled,
42
+ loading: E.loading,
43
+ tooltip: E.tooltip,
44
+ expanded: e
45
+ })
46
+ });
47
+ }
48
+ //#endregion
49
+ export { p as default };
50
+
51
+ //# sourceMappingURL=ExecutableTaskCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutableTaskCard.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/ExecutableTaskCard.tsx"],"sourcesContent":["import { displayToast } from '@/components'\nimport { useExecuteCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { useGetIsPrincipalIdUserOrMemberOfTeam } from '@/synapse-queries/team/useTeamMembers'\nimport { useGetCurrentUserProfile } from '@/synapse-queries/user/useUserBundle'\nimport { GRID_PAGE_TASK_ID_QUERY_PARAM } from '@/utils/SynapseConstants'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { useSearchParams } from 'react-router'\nimport CurationTaskCardLayout, {\n deriveCardFields,\n} from './CurationTaskCardLayout'\nimport { getExecutableTaskButtonState } from './getExecutableTaskButtonState'\nimport NextStepButton from './NextStepButton'\nimport styles from './CurationTaskCard.module.scss'\n\nexport type ExecutableTaskCardProps = {\n taskBundle: TaskBundle\n}\n\n/**\n * Card for an executable (Compute Data) curation task. Lets an authorized user run the task's agent\n * and, once finished, navigate to the destination task where the generated output was written.\n */\nexport default function ExecutableTaskCard(props: ExecutableTaskCardProps) {\n const { taskBundle } = props\n const task = taskBundle.task!\n const taskProperties = task.taskProperties\n const destinationTaskId =\n taskProperties && 'destinationTaskId' in taskProperties\n ? taskProperties.destinationTaskId\n : undefined\n\n const [, setSearchParams] = useSearchParams()\n\n const { data: bundle } = useGetEntityBundle(task.projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n const { data: currentUserProfile } = useGetCurrentUserProfile()\n const { data: isAssigneeOrTeamMember } =\n useGetIsPrincipalIdUserOrMemberOfTeam(\n currentUserProfile?.ownerId ?? '',\n task.assigneePrincipalId ?? '',\n { enabled: !!currentUserProfile?.ownerId && !!task.assigneePrincipalId },\n )\n\n const canExecute = canEdit || Boolean(isAssigneeOrTeamMember)\n\n const { mutate: executeTask, isPending } = useExecuteCurationTask({\n onError: error => displayToast(error.message, 'danger'),\n })\n\n const buttonState = getExecutableTaskButtonState({\n state: taskBundle.status?.state,\n canExecute,\n isExecutePending: isPending,\n destinationTaskId,\n })\n\n const { title, description, principalIds } = deriveCardFields(task)\n\n function onClickAction() {\n if (buttonState.action === 'start') {\n executeTask(task.taskId!)\n } else if (buttonState.action === 'viewResult' && destinationTaskId) {\n setSearchParams(prev => {\n const next = new URLSearchParams(prev)\n next.set(GRID_PAGE_TASK_ID_QUERY_PARAM, String(destinationTaskId))\n return next\n })\n }\n }\n\n return (\n <CurationTaskCardLayout\n taskBundle={taskBundle}\n title={title}\n description={description}\n taskType=\"Compute\"\n principalIds={principalIds}\n renderActionButton={({ expanded }) => (\n <NextStepButton\n className={styles.cardButton}\n buttonText={buttonState.buttonText}\n onClick={onClickAction}\n disabled={buttonState.disabled}\n loading={buttonState.loading}\n tooltip={buttonState.tooltip}\n expanded={expanded}\n />\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAuBA,SAAwB,EAAmB,GAAgC;CACzE,IAAM,EAAE,kBAAe,GACjB,IAAO,EAAW,MAClB,IAAiB,EAAK,gBACtB,IACJ,KAAkB,uBAAuB,IACrC,EAAe,oBACf,KAAA,GAEA,GAAG,KAAmB,EAAgB,GAEtC,EAAE,MAAM,MAAW,EAAmB,EAAK,WAAW,KAAA,GAAW;EACrE,eAAe;EACf,oBAAoB;CACtB,CAAC,GACK,IAAU,GAAQ,aAAa,WAAW,IAE1C,EAAE,MAAM,MAAuB,EAAyB,GACxD,EAAE,MAAM,MACZ,EACE,GAAoB,WAAW,IAC/B,EAAK,uBAAuB,IAC5B,EAAE,SAAS,CAAC,CAAC,GAAoB,WAAW,CAAC,CAAC,EAAK,oBAAoB,CACzE,GAEI,IAAa,KAAW,EAAQ,GAEhC,EAAE,QAAQ,GAAa,iBAAc,EAAuB,EAChE,UAAS,MAAS,EAAa,EAAM,SAAS,QAAQ,EACxD,CAAC,GAEK,IAAc,EAA6B;EAC/C,OAAO,EAAW,QAAQ;EAC1B;EACA,kBAAkB;EAClB;CACF,CAAC,GAEK,EAAE,UAAO,gBAAa,oBAAiB,EAAiB,CAAI;CAElE,SAAS,IAAgB;EACvB,AAAI,EAAY,WAAW,UACzB,EAAY,EAAK,MAAO,IACf,EAAY,WAAW,gBAAgB,KAChD,GAAgB,MAAQ;GACtB,IAAM,IAAO,IAAI,gBAAgB,CAAI;GAErC,OADA,EAAK,IAAI,GAA+B,OAAO,CAAiB,CAAC,GAC1D;EACT,CAAC;CAEL;CAEA,OACE,kBAAC,GAAD;EACc;EACL;EACM;EACb,UAAS;EACK;EACd,qBAAqB,EAAE,kBACrB,kBAAC,GAAD;GACE,WAAW,EAAO;GAClB,YAAY,EAAY;GACxB,SAAS;GACT,UAAU,EAAY;GACtB,SAAS,EAAY;GACrB,SAAS,EAAY;GACX;EACX,CAAA;CAEJ,CAAA;AAEL"}
@@ -0,0 +1,10 @@
1
+ import { TaskBundle } from '@sage-bionetworks/synapse-client';
2
+ export type GridTaskCardProps = {
3
+ taskBundle: TaskBundle;
4
+ };
5
+ /**
6
+ * Card for a grid-supported (Curate Data) curation task. The action button opens the task in
7
+ * Curator, gated on read access to the task's source entity.
8
+ */
9
+ export default function GridTaskCard(props: GridTaskCardProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=GridTaskCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTaskCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/GridTaskCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAO7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAmC5D"}
@@ -0,0 +1,35 @@
1
+ import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
2
+ import "../../../../components/index.js";
3
+ import { OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE as t } from "../../../entity/metadata-task/utils/constants.js";
4
+ import n from "../../../entity/metadata-task/hooks/useOpenCuratorButton.js";
5
+ import r from "./CurationTaskCard.module.js";
6
+ import i, { deriveCardFields as a } from "./CurationTaskCardLayout.js";
7
+ import o from "./NextStepButton.js";
8
+ import { jsx as s } from "react/jsx-runtime";
9
+ //#region src/features/curator/dashboard/components/GridTaskCard.tsx
10
+ function c(c) {
11
+ let { taskBundle: l } = c, { onClick: u, isLoading: d, isPending: f, hasPermission: p } = n(l);
12
+ function m() {
13
+ p ? u() : e(t, "danger");
14
+ }
15
+ let { title: h, description: g, principalIds: _ } = a(l.task);
16
+ return /* @__PURE__ */ s(i, {
17
+ taskBundle: l,
18
+ title: h,
19
+ description: g,
20
+ taskType: "Curate Data",
21
+ principalIds: _,
22
+ renderActionButton: ({ expanded: e }) => /* @__PURE__ */ s(o, {
23
+ className: r.cardButton,
24
+ buttonText: "Open Curator",
25
+ onClick: m,
26
+ disabled: d,
27
+ loading: f,
28
+ expanded: e
29
+ })
30
+ });
31
+ }
32
+ //#endregion
33
+ export { c as default };
34
+
35
+ //# sourceMappingURL=GridTaskCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridTaskCard.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/GridTaskCard.tsx"],"sourcesContent":["import { displayToast } from '@/components'\nimport useOpenCuratorFromTaskButton from '@/features/entity/metadata-task/hooks/useOpenCuratorButton'\nimport { OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE } from '@/features/entity/metadata-task/utils/constants'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport CurationTaskCardLayout, {\n deriveCardFields,\n} from './CurationTaskCardLayout'\nimport NextStepButton from './NextStepButton'\nimport styles from './CurationTaskCard.module.scss'\n\nexport type GridTaskCardProps = {\n taskBundle: TaskBundle\n}\n\n/**\n * Card for a grid-supported (Curate Data) curation task. The action button opens the task in\n * Curator, gated on read access to the task's source entity.\n */\nexport default function GridTaskCard(props: GridTaskCardProps) {\n const { taskBundle } = props\n\n const { onClick, isLoading, isPending, hasPermission } =\n useOpenCuratorFromTaskButton(taskBundle)\n\n function onClickAction() {\n if (hasPermission) {\n onClick()\n } else {\n displayToast(OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE, 'danger')\n }\n }\n\n const { title, description, principalIds } = deriveCardFields(taskBundle.task)\n\n return (\n <CurationTaskCardLayout\n taskBundle={taskBundle}\n title={title}\n description={description}\n taskType=\"Curate Data\"\n principalIds={principalIds}\n renderActionButton={({ expanded }) => (\n <NextStepButton\n className={styles.cardButton}\n buttonText=\"Open Curator\"\n onClick={onClickAction}\n disabled={isLoading}\n loading={isPending}\n expanded={expanded}\n />\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;AAkBA,SAAwB,EAAa,GAA0B;CAC7D,IAAM,EAAE,kBAAe,GAEjB,EAAE,YAAS,cAAW,cAAW,qBACrC,EAA6B,CAAU;CAEzC,SAAS,IAAgB;EACvB,AAAI,IACF,EAAQ,IAER,EAAa,GAAoD,QAAQ;CAE7E;CAEA,IAAM,EAAE,UAAO,gBAAa,oBAAiB,EAAiB,EAAW,IAAI;CAE7E,OACE,kBAAC,GAAD;EACc;EACL;EACM;EACb,UAAS;EACK;EACd,qBAAqB,EAAE,kBACrB,kBAAC,GAAD;GACE,WAAW,EAAO;GAClB,YAAW;GACX,SAAS;GACT,UAAU;GACV,SAAS;GACC;EACX,CAAA;CAEJ,CAAA;AAEL"}
@@ -1 +1 @@
1
- ._button_1mypv_1{flex-direction:row;justify-content:flex-end;align-items:center;gap:32px;display:flex}._button_1mypv_1 ._icon_1mypv_8{color:var(--synapse-gray-700);font-size:30px}._button_1mypv_1 ._buttonText_1mypv_12{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:0;margin-left:16px;margin-right:16px;display:flex}._button_1mypv_1 ._buttonTextSub_1mypv_22{color:var(--synapse-gray-700)}._button_1mypv_1:disabled{pointer-events:all;opacity:.5}._button_1mypv_1:hover:not(:disabled) ._buttonTextMain_1mypv_29{text-decoration:underline}._button_1mypv_1:hover:not(:disabled) ._icon_1mypv_8,._button_1mypv_1:hover:not(:disabled) ._buttonTextSub_1mypv_22{color:var(--synapse-gray-800)}._button_1mypv_1:active:not(:disabled) ._buttonTextMain_1mypv_29{text-decoration:underline;text-decoration-thickness:3px}._button_1mypv_1:active:not(:disabled) ._icon_1mypv_8,._button_1mypv_1:active:not(:disabled) ._buttonTextSub_1mypv_22{color:var(--synapse-gray-900)}
1
+ ._button_1ncgu_1{flex-direction:row;justify-content:flex-end;align-items:center;gap:32px;display:flex}._button_1ncgu_1 ._icon_1ncgu_8{color:var(--synapse-gray-700);font-size:30px}._button_1ncgu_1 ._buttonText_1ncgu_12{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:0;margin-left:16px;margin-right:16px;display:flex}._button_1ncgu_1 ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-700)}._button_1ncgu_1:disabled{pointer-events:all;opacity:.5}._button_1ncgu_1:hover:not(:disabled) ._buttonTextMain_1ncgu_29{text-decoration:underline}._button_1ncgu_1:hover:not(:disabled) ._icon_1ncgu_8,._button_1ncgu_1:hover:not(:disabled) ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-800)}._button_1ncgu_1:active:not(:disabled) ._buttonTextMain_1ncgu_29{text-decoration:underline;text-decoration-thickness:3px}._button_1ncgu_1:active:not(:disabled) ._icon_1ncgu_8,._button_1ncgu_1:active:not(:disabled) ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-900)}._expandedButton_1ncgu_49{background-color:var(--synapse-primary-action-color);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;display:flex}._expandedButton_1ncgu_49:disabled{pointer-events:all;opacity:.5}._expandedButton_1ncgu_49:hover:not(:disabled){opacity:.9}._expandedButton_1ncgu_49:active:not(:disabled){opacity:.8}
@@ -4,6 +4,9 @@ type NextStepButtonProps = {
4
4
  onClick: () => void;
5
5
  disabled?: boolean;
6
6
  loading?: boolean;
7
+ expanded?: boolean;
8
+ /** When provided, wraps the button in a tooltip. Useful to explain a disabled state. */
9
+ tooltip?: string;
7
10
  };
8
11
  /**
9
12
  * Button component used to proceed to the next step in a workflow.
@@ -1 +1 @@
1
- {"version":3,"file":"NextStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"names":[],"mappings":"AAMA,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA8BhE"}
1
+ {"version":3,"file":"NextStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"names":[],"mappings":"AAOA,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAoBD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA8DhE"}
@@ -1,35 +1,65 @@
1
1
  import { SynapseSpinner as e } from "../../../../components/LoadingScreen/LoadingScreen.js";
2
2
  import t from "./NextStepButton.module.js";
3
- import { Typography as n } from "@mui/material";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { ArrowForwardIos as a } from "@mui/icons-material";
6
- import o from "classnames";
3
+ import { Button as n, Tooltip as r, Typography as i } from "@mui/material";
4
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ import { ArrowForwardIos as s, TableChartOutlined as c } from "@mui/icons-material";
6
+ import l from "classnames";
7
7
  //#region src/features/curator/dashboard/components/NextStepButton.tsx
8
- function s(s) {
9
- let { className: c, buttonText: l, onClick: u, disabled: d, loading: f } = s;
10
- return /* @__PURE__ */ i("button", {
11
- type: "button",
12
- className: o(t.button, c),
13
- onClick: u,
14
- disabled: d || f,
15
- children: [/* @__PURE__ */ i("div", {
16
- className: t.buttonText,
17
- children: [/* @__PURE__ */ r(n, {
18
- className: t.buttonTextSub,
19
- variant: "body1",
20
- children: "Next step"
21
- }), /* @__PURE__ */ r(n, {
22
- className: t.buttonTextMain,
8
+ function u(e) {
9
+ let { children: t, title: n } = e;
10
+ return n ? /* @__PURE__ */ a(r, {
11
+ title: n,
12
+ children: /* @__PURE__ */ a("span", {
13
+ style: { display: "inline-flex" },
14
+ children: t
15
+ })
16
+ }) : t;
17
+ }
18
+ function d(r) {
19
+ let { className: d, buttonText: f, onClick: p, disabled: m, loading: h, expanded: g, tooltip: _ } = r;
20
+ return g ? /* @__PURE__ */ a(u, {
21
+ title: _,
22
+ children: /* @__PURE__ */ a(n, {
23
+ className: l(t.expandedButton, d),
24
+ onClick: p,
25
+ disabled: m || h,
26
+ startIcon: /* @__PURE__ */ a(c, { sx: { fontSize: 20 } }),
27
+ sx: { width: "100%" },
28
+ children: /* @__PURE__ */ a(i, {
23
29
  variant: "buttonLink",
24
- color: "primary",
25
- fontWeight: 700,
26
- align: "left",
27
- children: l
28
- })]
29
- }), f ? /* @__PURE__ */ r(e, { size: 30 }) : /* @__PURE__ */ r(a, { className: t.icon })]
30
+ sx: {
31
+ color: "inherit",
32
+ fontWeight: 700
33
+ },
34
+ children: f
35
+ })
36
+ })
37
+ }) : /* @__PURE__ */ a(u, {
38
+ title: _,
39
+ children: /* @__PURE__ */ o("button", {
40
+ type: "button",
41
+ className: l(t.button, d),
42
+ onClick: p,
43
+ disabled: m || h,
44
+ children: [/* @__PURE__ */ o("div", {
45
+ className: t.buttonText,
46
+ children: [/* @__PURE__ */ a(i, {
47
+ className: t.buttonTextSub,
48
+ variant: "body1",
49
+ children: "Next step"
50
+ }), /* @__PURE__ */ a(i, {
51
+ className: t.buttonTextMain,
52
+ variant: "buttonLink",
53
+ color: "primary",
54
+ fontWeight: 700,
55
+ align: "left",
56
+ children: f
57
+ })]
58
+ }), h ? /* @__PURE__ */ a(e, { size: 30 }) : /* @__PURE__ */ a(s, { className: t.icon })]
59
+ })
30
60
  });
31
61
  }
32
62
  //#endregion
33
- export { s as default };
63
+ export { d as default };
34
64
 
35
65
  //# sourceMappingURL=NextStepButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NextStepButton.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"sourcesContent":["import styles from './NextStepButton.module.scss'\nimport { Typography } from '@mui/material'\nimport { ArrowForwardIos } from '@mui/icons-material'\nimport { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport classNames from 'classnames'\n\ntype NextStepButtonProps = {\n className?: string\n buttonText: string\n onClick: () => void\n disabled?: boolean\n loading?: boolean\n}\n\n/**\n * Button component used to proceed to the next step in a workflow.\n * Displays an arrow icon or loading spinner when appropriate.\n */\nexport default function NextStepButton(props: NextStepButtonProps) {\n const { className, buttonText, onClick, disabled, loading } = props\n return (\n <button\n type=\"button\"\n className={classNames(styles.button, className)}\n onClick={onClick}\n disabled={disabled || loading}\n >\n <div className={styles.buttonText}>\n <Typography className={styles.buttonTextSub} variant=\"body1\">\n Next step\n </Typography>\n <Typography\n className={styles.buttonTextMain}\n variant=\"buttonLink\"\n color=\"primary\"\n fontWeight={700}\n align=\"left\"\n >\n {buttonText}\n </Typography>\n </div>\n {loading ? (\n <SynapseSpinner size={30} />\n ) : (\n <ArrowForwardIos className={styles.icon} />\n )}\n </button>\n )\n}\n"],"mappings":";;;;;;;AAkBA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EAAE,cAAW,eAAY,YAAS,aAAU,eAAY;CAC9D,OACE,kBAAC,UAAD;EACE,MAAK;EACL,WAAW,EAAW,EAAO,QAAQ,CAAS;EACrC;EACT,UAAU,KAAY;YAJxB,CAME,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACE,kBAAC,GAAD;IAAY,WAAW,EAAO;IAAe,SAAQ;cAAQ;GAEjD,CAAA,GACZ,kBAAC,GAAD;IACE,WAAW,EAAO;IAClB,SAAQ;IACR,OAAM;IACN,YAAY;IACZ,OAAM;cAEL;GACS,CAAA,CACT;MACJ,IACC,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAE3B,kBAAC,GAAD,EAAiB,WAAW,EAAO,KAAO,CAAA,CAEtC;;AAEZ"}
1
+ {"version":3,"file":"NextStepButton.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"sourcesContent":["import styles from './NextStepButton.module.scss'\nimport { Button, Tooltip, Typography } from '@mui/material'\nimport { ArrowForwardIos, TableChartOutlined } from '@mui/icons-material'\nimport { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport classNames from 'classnames'\nimport { PropsWithChildren } from 'react'\n\ntype NextStepButtonProps = {\n className?: string\n buttonText: string\n onClick: () => void\n disabled?: boolean\n loading?: boolean\n expanded?: boolean\n /** When provided, wraps the button in a tooltip. Useful to explain a disabled state. */\n tooltip?: string\n}\n\n/**\n * Wraps the button in a Tooltip when tooltip text is provided. A disabled MUI button does not fire\n * pointer events, so the button is wrapped in a focusable span so the tooltip remains discoverable.\n */\nfunction OptionalButtonTooltip(\n props: PropsWithChildren<{ title: string | undefined }>,\n) {\n const { children, title } = props\n if (!title) {\n return children\n }\n return (\n <Tooltip title={title}>\n <span style={{ display: 'inline-flex' }}>{children}</span>\n </Tooltip>\n )\n}\n\n/**\n * Button component used to proceed to the next step in a workflow.\n * Displays an arrow icon or loading spinner when appropriate.\n */\nexport default function NextStepButton(props: NextStepButtonProps) {\n const {\n className,\n buttonText,\n onClick,\n disabled,\n loading,\n expanded,\n tooltip,\n } = props\n\n if (expanded) {\n return (\n <OptionalButtonTooltip title={tooltip}>\n <Button\n className={classNames(styles.expandedButton, className)}\n onClick={onClick}\n disabled={disabled || loading}\n startIcon={<TableChartOutlined sx={{ fontSize: 20 }} />}\n sx={{ width: '100%' }}\n >\n <Typography\n variant=\"buttonLink\"\n sx={{ color: 'inherit', fontWeight: 700 }}\n >\n {buttonText}\n </Typography>\n </Button>\n </OptionalButtonTooltip>\n )\n }\n\n return (\n <OptionalButtonTooltip title={tooltip}>\n <button\n type=\"button\"\n className={classNames(styles.button, className)}\n onClick={onClick}\n disabled={disabled || loading}\n >\n <div className={styles.buttonText}>\n <Typography className={styles.buttonTextSub} variant=\"body1\">\n Next step\n </Typography>\n <Typography\n className={styles.buttonTextMain}\n variant=\"buttonLink\"\n color=\"primary\"\n fontWeight={700}\n align=\"left\"\n >\n {buttonText}\n </Typography>\n </div>\n {loading ? (\n <SynapseSpinner size={30} />\n ) : (\n <ArrowForwardIos className={styles.icon} />\n )}\n </button>\n </OptionalButtonTooltip>\n )\n}\n"],"mappings":";;;;;;;AAsBA,SAAS,EACP,GACA;CACA,IAAM,EAAE,aAAU,aAAU;CAI5B,OAHK,IAIH,kBAAC,GAAD;EAAgB;YACd,kBAAC,QAAD;GAAM,OAAO,EAAE,SAAS,cAAc;GAAI;EAAe,CAAA;CAClD,CAAA,IALF;AAOX;AAMA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EACJ,cACA,eACA,YACA,aACA,YACA,aACA,eACE;CAuBJ,OArBI,IAEA,kBAAC,GAAD;EAAuB,OAAO;YAC5B,kBAAC,GAAD;GACE,WAAW,EAAW,EAAO,gBAAgB,CAAS;GAC7C;GACT,UAAU,KAAY;GACtB,WAAW,kBAAC,GAAD,EAAoB,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA;GACtD,IAAI,EAAE,OAAO,OAAO;aAEpB,kBAAC,GAAD;IACE,SAAQ;IACR,IAAI;KAAE,OAAO;KAAW,YAAY;IAAI;cAEvC;GACS,CAAA;EACN,CAAA;CACa,CAAA,IAKzB,kBAAC,GAAD;EAAuB,OAAO;YAC5B,kBAAC,UAAD;GACE,MAAK;GACL,WAAW,EAAW,EAAO,QAAQ,CAAS;GACrC;GACT,UAAU,KAAY;aAJxB,CAME,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACE,kBAAC,GAAD;KAAY,WAAW,EAAO;KAAe,SAAQ;eAAQ;IAEjD,CAAA,GACZ,kBAAC,GAAD;KACE,WAAW,EAAO;KAClB,SAAQ;KACR,OAAM;KACN,YAAY;KACZ,OAAM;eAEL;IACS,CAAA,CACT;OACJ,IACC,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAE3B,kBAAC,GAAD,EAAiB,WAAW,EAAO,KAAO,CAAA,CAEtC;;CACa,CAAA;AAE3B"}
@@ -1,9 +1,10 @@
1
1
  import './NextStepButton.css';var e = {
2
- button: "_button_1mypv_1",
3
- icon: "_icon_1mypv_8",
4
- buttonText: "_buttonText_1mypv_12",
5
- buttonTextSub: "_buttonTextSub_1mypv_22",
6
- buttonTextMain: "_buttonTextMain_1mypv_29"
2
+ button: "_button_1ncgu_1",
3
+ icon: "_icon_1ncgu_8",
4
+ buttonText: "_buttonText_1ncgu_12",
5
+ buttonTextSub: "_buttonTextSub_1ncgu_22",
6
+ buttonTextMain: "_buttonTextMain_1ncgu_29",
7
+ expandedButton: "_expandedButton_1ncgu_49"
7
8
  };
8
9
  //#endregion
9
10
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"NextStepButton.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.module.scss"],"sourcesContent":[".button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 32px;\n\n .icon {\n color: var(--synapse-gray-700);\n font-size: 30px;\n }\n\n .buttonText {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n gap: 0;\n flex-shrink: 0;\n margin-left: 16px;\n margin-right: 16px;\n }\n\n .buttonTextSub {\n color: var(--synapse-gray-700);\n }\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n }\n .icon {\n color: var(--synapse-gray-800);\n }\n .buttonTextSub {\n color: var(--synapse-gray-800);\n }\n }\n\n &:active:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n text-decoration-thickness: 3px;\n }\n .icon {\n color: var(--synapse-gray-900);\n }\n .buttonTextSub {\n color: var(--synapse-gray-900);\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"NextStepButton.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.module.scss"],"sourcesContent":[".button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 32px;\n\n .icon {\n color: var(--synapse-gray-700);\n font-size: 30px;\n }\n\n .buttonText {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n gap: 0;\n flex-shrink: 0;\n margin-left: 16px;\n margin-right: 16px;\n }\n\n .buttonTextSub {\n color: var(--synapse-gray-700);\n }\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n }\n .icon {\n color: var(--synapse-gray-800);\n }\n .buttonTextSub {\n color: var(--synapse-gray-800);\n }\n }\n\n &:active:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n text-decoration-thickness: 3px;\n }\n .icon {\n color: var(--synapse-gray-900);\n }\n .buttonTextSub {\n color: var(--synapse-gray-900);\n }\n }\n}\n\n.expandedButton {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n padding: 12px 24px;\n background-color: var(--synapse-primary-action-color);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n opacity: 0.9;\n }\n\n &:active:not(:disabled) {\n opacity: 0.8;\n }\n}\n"],"mappings":""}
@@ -55,3 +55,31 @@
55
55
  }
56
56
  }
57
57
  }
58
+
59
+ .expandedButton {
60
+ display: flex;
61
+ flex-direction: row;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 8px;
65
+ width: 100%;
66
+ padding: 12px 24px;
67
+ background-color: var(--synapse-primary-action-color);
68
+ color: white;
69
+ border: none;
70
+ border-radius: 4px;
71
+ cursor: pointer;
72
+
73
+ &:disabled {
74
+ pointer-events: all;
75
+ opacity: 0.5;
76
+ }
77
+
78
+ &:hover:not(:disabled) {
79
+ opacity: 0.9;
80
+ }
81
+
82
+ &:active:not(:disabled) {
83
+ opacity: 0.8;
84
+ }
85
+ }
@@ -0,0 +1,31 @@
1
+ import { TaskStatusStateEnum } from '@sage-bionetworks/synapse-client';
2
+ export declare const RUN_AGENT_BUTTON_TEXT = "Start (Run Agent)";
3
+ export declare const RUNNING_BUTTON_TEXT = "Running";
4
+ export declare const VIEW_RESULT_BUTTON_TEXT = "View Result";
5
+ export declare const EXECUTABLE_TASK_NO_PERMISSION_MESSAGE = "You do not have permission to run this task. Only the assignee or a data manager can run it.";
6
+ export declare const DESTINATION_TASK_MISSING_MESSAGE = "Destination task is missing";
7
+ /** The action that clicking the button should perform. */
8
+ export type ExecutableTaskButtonAction = 'start' | 'viewResult' | 'none';
9
+ export type ExecutableTaskButtonState = {
10
+ buttonText: string;
11
+ action: ExecutableTaskButtonAction;
12
+ disabled: boolean;
13
+ loading: boolean;
14
+ tooltip: string | undefined;
15
+ };
16
+ export type GetExecutableTaskButtonStateArgs = {
17
+ state: TaskStatusStateEnum | undefined;
18
+ canExecute: boolean;
19
+ isExecutePending: boolean;
20
+ destinationTaskId: number | undefined;
21
+ };
22
+ /**
23
+ * Pure state machine mapping a task's status, the user's execute permission, and the local
24
+ * mutation state to the props the action button should render with.
25
+ *
26
+ * "Running" is derived from the server state (`EXECUTING`) OR the in-flight local mutation, so it
27
+ * survives reloads and reflects a run started by another user. Any state past `NOT_STARTED`/
28
+ * `EXECUTING` is treated leniently as "finished" and offers to view the result.
29
+ */
30
+ export declare function getExecutableTaskButtonState(args: GetExecutableTaskButtonStateArgs): ExecutableTaskButtonState;
31
+ //# sourceMappingURL=getExecutableTaskButtonState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExecutableTaskButtonState.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/getExecutableTaskButtonState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAEtE,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AACxD,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAC5C,eAAO,MAAM,uBAAuB,gBAAgB,CAAA;AAEpD,eAAO,MAAM,qCAAqC,iGAC8C,CAAA;AAChG,eAAO,MAAM,gCAAgC,gCAAgC,CAAA;AAE7E,0DAA0D;AAC1D,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAA;AAExE,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,0BAA0B,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACtC,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gCAAgC,GACrC,yBAAyB,CAgC3B"}
@@ -0,0 +1,32 @@
1
+ import { TaskStatusStateEnum as e } from "@sage-bionetworks/synapse-client";
2
+ //#region src/features/curator/dashboard/components/getExecutableTaskButtonState.ts
3
+ var t = "Start (Run Agent)", n = "Running", r = "View Result", i = "You do not have permission to run this task. Only the assignee or a data manager can run it.", a = "Destination task is missing";
4
+ function o(o) {
5
+ let { state: s, canExecute: c, isExecutePending: l, destinationTaskId: u } = o;
6
+ if (s === e.EXECUTING || l) return {
7
+ buttonText: n,
8
+ action: "none",
9
+ disabled: !0,
10
+ loading: !0,
11
+ tooltip: void 0
12
+ };
13
+ if (s === void 0 || s === e.NOT_STARTED) return {
14
+ buttonText: t,
15
+ action: c ? "start" : "none",
16
+ disabled: !c,
17
+ loading: !1,
18
+ tooltip: c ? void 0 : i
19
+ };
20
+ let d = u !== void 0;
21
+ return {
22
+ buttonText: r,
23
+ action: d ? "viewResult" : "none",
24
+ disabled: !d,
25
+ loading: !1,
26
+ tooltip: d ? void 0 : a
27
+ };
28
+ }
29
+ //#endregion
30
+ export { a as DESTINATION_TASK_MISSING_MESSAGE, i as EXECUTABLE_TASK_NO_PERMISSION_MESSAGE, n as RUNNING_BUTTON_TEXT, t as RUN_AGENT_BUTTON_TEXT, r as VIEW_RESULT_BUTTON_TEXT, o as getExecutableTaskButtonState };
31
+
32
+ //# sourceMappingURL=getExecutableTaskButtonState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExecutableTaskButtonState.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/getExecutableTaskButtonState.ts"],"sourcesContent":["import { TaskStatusStateEnum } from '@sage-bionetworks/synapse-client'\n\nexport const RUN_AGENT_BUTTON_TEXT = 'Start (Run Agent)'\nexport const RUNNING_BUTTON_TEXT = 'Running'\nexport const VIEW_RESULT_BUTTON_TEXT = 'View Result'\n\nexport const EXECUTABLE_TASK_NO_PERMISSION_MESSAGE =\n 'You do not have permission to run this task. Only the assignee or a data manager can run it.'\nexport const DESTINATION_TASK_MISSING_MESSAGE = 'Destination task is missing'\n\n/** The action that clicking the button should perform. */\nexport type ExecutableTaskButtonAction = 'start' | 'viewResult' | 'none'\n\nexport type ExecutableTaskButtonState = {\n buttonText: string\n action: ExecutableTaskButtonAction\n disabled: boolean\n loading: boolean\n tooltip: string | undefined\n}\n\nexport type GetExecutableTaskButtonStateArgs = {\n state: TaskStatusStateEnum | undefined\n canExecute: boolean\n isExecutePending: boolean\n destinationTaskId: number | undefined\n}\n\n/**\n * Pure state machine mapping a task's status, the user's execute permission, and the local\n * mutation state to the props the action button should render with.\n *\n * \"Running\" is derived from the server state (`EXECUTING`) OR the in-flight local mutation, so it\n * survives reloads and reflects a run started by another user. Any state past `NOT_STARTED`/\n * `EXECUTING` is treated leniently as \"finished\" and offers to view the result.\n */\nexport function getExecutableTaskButtonState(\n args: GetExecutableTaskButtonStateArgs,\n): ExecutableTaskButtonState {\n const { state, canExecute, isExecutePending, destinationTaskId } = args\n\n const isRunning = state === TaskStatusStateEnum.EXECUTING || isExecutePending\n if (isRunning) {\n return {\n buttonText: RUNNING_BUTTON_TEXT,\n action: 'none',\n disabled: true,\n loading: true,\n tooltip: undefined,\n }\n }\n\n if (state === undefined || state === TaskStatusStateEnum.NOT_STARTED) {\n return {\n buttonText: RUN_AGENT_BUTTON_TEXT,\n action: canExecute ? 'start' : 'none',\n disabled: !canExecute,\n loading: false,\n tooltip: canExecute ? undefined : EXECUTABLE_TASK_NO_PERMISSION_MESSAGE,\n }\n }\n\n const hasDestination = destinationTaskId !== undefined\n return {\n buttonText: VIEW_RESULT_BUTTON_TEXT,\n action: hasDestination ? 'viewResult' : 'none',\n disabled: !hasDestination,\n loading: false,\n tooltip: hasDestination ? undefined : DESTINATION_TASK_MISSING_MESSAGE,\n }\n}\n"],"mappings":";;AAEA,IAAa,IAAwB,qBACxB,IAAsB,WACtB,IAA0B,eAE1B,IACX,gGACW,IAAmC;AA4BhD,SAAgB,EACd,GAC2B;CAC3B,IAAM,EAAE,UAAO,eAAY,qBAAkB,yBAAsB;CAGnE,IADkB,MAAU,EAAoB,aAAa,GAE3D,OAAO;EACL,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,SAAS;EACT,SAAS,KAAA;CACX;CAGF,IAAI,MAAU,KAAA,KAAa,MAAU,EAAoB,aACvD,OAAO;EACL,YAAY;EACZ,QAAQ,IAAa,UAAU;EAC/B,UAAU,CAAC;EACX,SAAS;EACT,SAAS,IAAa,KAAA,IAAY;CACpC;CAGF,IAAM,IAAiB,MAAsB,KAAA;CAC7C,OAAO;EACL,YAAY;EACZ,QAAQ,IAAiB,eAAe;EACxC,UAAU,CAAC;EACX,SAAS;EACT,SAAS,IAAiB,KAAA,IAAY;CACxC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAuCA,OAAO,EACL,YAAY,EAMb,MAAM,kCAAkC,CAAA;AA6CzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CAsoB7C"}
1
+ {"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAuCA,OAAO,EACL,YAAY,EAMb,MAAM,kCAAkC,CAAA;AA8CzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CA0qB7C"}