synapse-react-client 4.0.26 → 4.0.27

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 (357) 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/StorybookComponentWrapper.js +1 -1
  125. package/dist/components/SynapseChat/SynapseChat.js +1 -1
  126. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +1 -1
  127. package/dist/components/SynapseTable/table-top/DownloadOptions.js +1 -1
  128. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  129. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
  130. package/dist/components/TextField/TextField.css +1 -1
  131. package/dist/components/TextField/TextField.d.ts.map +1 -1
  132. package/dist/components/TextField/TextField.js +27 -25
  133. package/dist/components/TextField/TextField.js.map +1 -1
  134. package/dist/components/TextField/TextField.module.js +3 -3
  135. package/dist/components/TextField/TextField.module.js.map +1 -1
  136. package/dist/components/TextField/TextField.module.scss +2 -5
  137. package/dist/components/Webhook/WebhookVerificationDialog.js +1 -1
  138. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js +1 -1
  139. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js +1 -1
  140. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +1 -1
  141. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  142. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +66 -49
  143. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  144. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
  145. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  146. package/dist/components/error/SendMessageToEntityOwnerDialog.js +1 -1
  147. package/dist/components/index.js +1 -1
  148. package/dist/components/menu/ComplexMenu.d.ts.map +1 -1
  149. package/dist/components/menu/ComplexMenu.js +1 -4
  150. package/dist/components/menu/ComplexMenu.js.map +1 -1
  151. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js +1 -1
  152. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  153. package/dist/features/curator/dashboard/CuratorDashboard.d.ts +1 -1
  154. package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -1
  155. package/dist/features/curator/dashboard/CuratorDashboard.js +36 -35
  156. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  157. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts +13 -0
  158. package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -0
  159. package/dist/features/curator/dashboard/CuratorDashboardRouter.js +37 -0
  160. package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -0
  161. package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -1
  162. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +3 -1
  163. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -1
  164. package/dist/features/curator/dashboard/components/CurationTaskCard.js +26 -157
  165. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  166. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +10 -6
  167. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -1
  168. package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +31 -0
  169. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts +25 -0
  170. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts.map +1 -0
  171. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js +134 -0
  172. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js.map +1 -0
  173. package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts +10 -0
  174. package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts.map +1 -0
  175. package/dist/features/curator/dashboard/components/ExecutableTaskCard.js +51 -0
  176. package/dist/features/curator/dashboard/components/ExecutableTaskCard.js.map +1 -0
  177. package/dist/features/curator/dashboard/components/GridTaskCard.d.ts +10 -0
  178. package/dist/features/curator/dashboard/components/GridTaskCard.d.ts.map +1 -0
  179. package/dist/features/curator/dashboard/components/GridTaskCard.js +35 -0
  180. package/dist/features/curator/dashboard/components/GridTaskCard.js.map +1 -0
  181. package/dist/features/curator/dashboard/components/NextStepButton.css +1 -1
  182. package/dist/features/curator/dashboard/components/NextStepButton.d.ts +3 -0
  183. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
  184. package/dist/features/curator/dashboard/components/NextStepButton.js +56 -26
  185. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  186. package/dist/features/curator/dashboard/components/NextStepButton.module.js +6 -5
  187. package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -1
  188. package/dist/features/curator/dashboard/components/NextStepButton.module.scss +28 -0
  189. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts +31 -0
  190. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts.map +1 -0
  191. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js +32 -0
  192. package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js.map +1 -0
  193. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  194. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +213 -204
  195. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  196. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -1
  197. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  198. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +19 -39
  199. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  200. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts +9 -3
  201. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  202. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -46
  203. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  204. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts +17 -0
  205. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -0
  206. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +43 -0
  207. package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -0
  208. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
  209. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +27 -26
  210. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  211. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts +16 -0
  212. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts.map +1 -0
  213. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js +64 -0
  214. package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js.map +1 -0
  215. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts +41 -0
  216. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts.map +1 -0
  217. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js +165 -0
  218. package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js.map +1 -0
  219. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts +18 -0
  220. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts.map +1 -0
  221. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js +78 -0
  222. package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js.map +1 -0
  223. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts +10 -0
  224. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts.map +1 -0
  225. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js +40 -0
  226. package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js.map +1 -0
  227. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts +13 -0
  228. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts.map +1 -0
  229. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js +35 -0
  230. package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js.map +1 -0
  231. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts +41 -0
  232. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts.map +1 -0
  233. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +198 -0
  234. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -0
  235. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts +8 -0
  236. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts.map +1 -0
  237. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js +29 -0
  238. package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js.map +1 -0
  239. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts +13 -0
  240. package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts.map +1 -0
  241. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js +65 -0
  242. package/dist/features/entity/metadata-task/create-task/FileBasedFields.js.map +1 -0
  243. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts +11 -0
  244. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts.map +1 -0
  245. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js +33 -0
  246. package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js.map +1 -0
  247. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts +13 -0
  248. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts.map +1 -0
  249. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js +38 -0
  250. package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js.map +1 -0
  251. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts +13 -0
  252. package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts.map +1 -0
  253. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js +72 -0
  254. package/dist/features/entity/metadata-task/create-task/RecordSetFields.js.map +1 -0
  255. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts +11 -0
  256. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts.map +1 -0
  257. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js +42 -0
  258. package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js.map +1 -0
  259. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts +17 -0
  260. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts.map +1 -0
  261. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +70 -0
  262. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -0
  263. package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts +23 -0
  264. package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts.map +1 -0
  265. package/dist/features/entity/metadata-task/create-task/TaskFormActions.js +68 -0
  266. package/dist/features/entity/metadata-task/create-task/TaskFormActions.js.map +1 -0
  267. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts +17 -0
  268. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts.map +1 -0
  269. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +33 -0
  270. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -0
  271. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts +50 -0
  272. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts.map +1 -0
  273. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js +76 -0
  274. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js.map +1 -0
  275. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts +36 -0
  276. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts.map +1 -0
  277. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js +31 -0
  278. package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js.map +1 -0
  279. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts +32 -0
  280. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts.map +1 -0
  281. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js +33 -0
  282. package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js.map +1 -0
  283. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts +10 -0
  284. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts.map +1 -0
  285. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js +13 -0
  286. package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js.map +1 -0
  287. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
  288. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +24 -24
  289. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  290. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -1
  291. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +2 -2
  292. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  293. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  294. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +33 -32
  295. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  296. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
  297. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +24 -21
  298. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  299. package/dist/features/entity/metadata-task/utils/constants.d.ts +84 -15
  300. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  301. package/dist/features/entity/metadata-task/utils/constants.js +47 -3
  302. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  303. package/dist/features/entity/metadata-task/utils/dueDate.d.ts +22 -0
  304. package/dist/features/entity/metadata-task/utils/dueDate.d.ts.map +1 -0
  305. package/dist/features/entity/metadata-task/utils/dueDate.js +24 -0
  306. package/dist/features/entity/metadata-task/utils/dueDate.js.map +1 -0
  307. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
  308. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  309. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +5 -6
  310. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  311. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts +4 -4
  312. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts.map +1 -1
  313. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js +5 -6
  314. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  315. package/dist/features/entity/metadata-task/utils/types.d.ts +12 -0
  316. package/dist/features/entity/metadata-task/utils/types.d.ts.map +1 -0
  317. package/dist/features/entity/metadata-task/utils/types.js +18 -0
  318. package/dist/features/entity/metadata-task/utils/types.js.map +1 -0
  319. package/dist/mocks/curation/mockCurationTask.d.ts +6 -0
  320. package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -1
  321. package/dist/mocks/curation/mockCurationTask.js +20 -3
  322. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  323. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts +16 -0
  324. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts.map +1 -0
  325. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js +24 -0
  326. package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js.map +1 -0
  327. package/dist/synapse-client/SynapseClient.d.ts +7 -1
  328. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  329. package/dist/synapse-client/SynapseClient.js +493 -482
  330. package/dist/synapse-client/SynapseClient.js.map +1 -1
  331. package/dist/synapse-client/index.js +3 -3
  332. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +8 -1
  333. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  334. package/dist/synapse-queries/curation/task/useCurationTask.js +48 -34
  335. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  336. package/dist/theme/palette/Palettes.js +2 -2
  337. package/dist/theme/palette/Palettes.js.map +1 -1
  338. package/dist/tsconfig.build.tsbuildinfo +1 -1
  339. package/dist/utils/AppUtils/session/useSessionManager.d.ts.map +1 -1
  340. package/dist/utils/AppUtils/session/useSessionManager.js +50 -48
  341. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  342. package/dist/utils/SynapseConstants.d.ts +4 -1
  343. package/dist/utils/SynapseConstants.d.ts.map +1 -1
  344. package/dist/utils/SynapseConstants.js +86 -83
  345. package/dist/utils/SynapseConstants.js.map +1 -1
  346. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -2
  347. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  348. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  349. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  350. package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
  351. package/dist/utils/hooks/useDetectSSOCode.js +37 -27
  352. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  353. package/package.json +5 -5
  354. package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts +0 -8
  355. package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts.map +0 -1
  356. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +0 -64
  357. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +0 -1
@@ -0,0 +1,38 @@
1
+ import { VersionSelectionType as e } from "../../../../components/EntityFinder/VersionSelectionType.js";
2
+ import { FinderScope as t } from "../../../../components/EntityFinder/tree/EntityTree.js";
3
+ import { RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION as n, RECORD_SET_FINDER_PROMPT as r, RECORD_SET_FINDER_TITLE as i } from "../utils/constants.js";
4
+ import a from "../../../../components/EntityFinder/EntityIdTextField.js";
5
+ import { jsx as o } from "react/jsx-runtime";
6
+ import { EntityType as s } from "@sage-bionetworks/synapse-client";
7
+ //#region src/features/entity/metadata-task/create-task/RecordBasedFields.tsx
8
+ function c(c) {
9
+ let { value: l, onChange: u, disabled: d = !1 } = c;
10
+ return /* @__PURE__ */ o(a, {
11
+ label: "Record Set ID",
12
+ value: l.recordSetId,
13
+ description: n,
14
+ onChange: (e) => u({
15
+ ...l,
16
+ recordSetId: e
17
+ }),
18
+ disabled: d,
19
+ required: !0,
20
+ entityFinderModalProps: {
21
+ title: i,
22
+ promptCopy: r,
23
+ confirmButtonCopy: "Select",
24
+ configuration: {
25
+ initialScope: t.ALL_PROJECTS,
26
+ initialContainer: "root",
27
+ selectMultiple: !1,
28
+ treeOnly: !1,
29
+ versionSelection: e.DISALLOWED,
30
+ selectableTypes: [s.recordset]
31
+ }
32
+ }
33
+ });
34
+ }
35
+ //#endregion
36
+ export { c as default };
37
+
38
+ //# sourceMappingURL=RecordBasedFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordBasedFields.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/RecordBasedFields.tsx"],"sourcesContent":["import EntityIdTextField from '@/components/EntityFinder/EntityIdTextField'\nimport { FinderScope } from '@/components/EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '@/components/EntityFinder/VersionSelectionType'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION,\n RECORD_SET_FINDER_PROMPT,\n RECORD_SET_FINDER_TITLE,\n} from '../utils/constants'\nimport { RecordBasedFieldsValue } from './utils/buildCurateTaskPayload'\n\nexport type RecordBasedFieldsProps = {\n value: RecordBasedFieldsValue\n onChange: (value: RecordBasedFieldsValue) => void\n /** True in edit mode, since this identity field is immutable once the task is created. */\n disabled?: boolean\n}\n\n/**\n * Fields specific to a Records-Based Curate Data task (`RecordBasedMetadataTaskProperties`): the\n * RecordSet used to start grid sessions.\n */\nexport default function RecordBasedFields(props: RecordBasedFieldsProps) {\n const { value, onChange, disabled = false } = props\n\n return (\n <EntityIdTextField\n label=\"Record Set ID\"\n value={value.recordSetId}\n description={RECORD_BASED_RECORD_SET_INPUT_DESCRIPTION}\n onChange={recordSetId => onChange({ ...value, recordSetId })}\n disabled={disabled}\n required\n entityFinderModalProps={{\n title: RECORD_SET_FINDER_TITLE,\n promptCopy: RECORD_SET_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.recordset],\n },\n }}\n />\n )\n}\n"],"mappings":";;;;;;;AAsBA,SAAwB,EAAkB,GAA+B;CACvE,IAAM,EAAE,UAAO,aAAU,cAAW,OAAU;CAE9C,OACE,kBAAC,GAAD;EACE,OAAM;EACN,OAAO,EAAM;EACb,aAAa;EACb,WAAU,MAAe,EAAS;GAAE,GAAG;GAAO;EAAY,CAAC;EACjD;EACV,UAAA;EACA,wBAAwB;GACtB,OAAO;GACP,YAAY;GACZ,mBAAmB;GACnB,eAAe;IACb,cAAc,EAAY;IAC1B,kBAAkB;IAClB,gBAAgB;IAChB,UAAU;IACV,kBAAkB,EAAqB;IACvC,iBAAiB,CAAC,EAAW,SAAS;GACxC;EACF;CACD,CAAA;AAEL"}
@@ -0,0 +1,13 @@
1
+ import { RecordSetFieldsValue } from './utils/buildComputeTaskPayload';
2
+ export type RecordSetFieldsProps = {
3
+ value: RecordSetFieldsValue;
4
+ onChange: (value: RecordSetFieldsValue) => void;
5
+ };
6
+ /**
7
+ * Fields specific to a Record Set Generation compute task
8
+ * (`RecordSetGenerationExecutionProperties`). Note that `instructions` here is the free-text prompt sent
9
+ * to the transformation agent, distinct from the task-level `CommonTaskFields` instructions shown to the
10
+ * human assignee.
11
+ */
12
+ export default function RecordSetFields(props: RecordSetFieldsProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=RecordSetFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordSetFields.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/RecordSetFields.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAGtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,oBAAoB,CAAA;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAChD,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAyDlE"}
@@ -0,0 +1,72 @@
1
+ import e from "../../../../components/TextField/TextField.js";
2
+ import "../../../../components/TextField/index.js";
3
+ import { VersionSelectionType as t } from "../../../../components/EntityFinder/VersionSelectionType.js";
4
+ import { FinderScope as n } from "../../../../components/EntityFinder/tree/EntityTree.js";
5
+ import { RECORD_SET_DESTINATION_TASK_ID_DESCRIPTION as r, RECORD_SET_DESTINATION_TASK_ID_LABEL as i, RECORD_SET_FOLDER_FINDER_PROMPT as a, RECORD_SET_FOLDER_FINDER_TITLE as o, RECORD_SET_FOLDER_ID_DESCRIPTION as s, RECORD_SET_FOLDER_ID_LABEL as c, RECORD_SET_INSTRUCTIONS_DESCRIPTION as l, RECORD_SET_INSTRUCTIONS_LABEL as u, TASK_ID_FIELD_INVALID_ERROR_MESSAGE as d } from "../utils/constants.js";
6
+ import f from "../../../../components/EntityFinder/EntityIdTextField.js";
7
+ import { isValidTaskIdInput as p } from "./utils/taskIdValidation.js";
8
+ import { Stack as m } from "@mui/material";
9
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
10
+ import { EntityType as _ } from "@sage-bionetworks/synapse-client";
11
+ //#region src/features/entity/metadata-task/create-task/RecordSetFields.tsx
12
+ function v(v) {
13
+ let { value: y, onChange: b } = v, x = p(y.destinationTaskId, { allowEmpty: !0 });
14
+ return /* @__PURE__ */ g(m, {
15
+ gap: 2,
16
+ children: [
17
+ /* @__PURE__ */ h(f, {
18
+ label: c,
19
+ value: y.folderId,
20
+ onChange: (e) => b({
21
+ ...y,
22
+ folderId: e
23
+ }),
24
+ description: s,
25
+ required: !0,
26
+ entityFinderModalProps: {
27
+ title: o,
28
+ promptCopy: a,
29
+ confirmButtonCopy: "Select",
30
+ configuration: {
31
+ initialScope: n.ALL_PROJECTS,
32
+ initialContainer: "root",
33
+ selectMultiple: !1,
34
+ treeOnly: !1,
35
+ versionSelection: t.DISALLOWED,
36
+ selectableTypes: [_.folder]
37
+ }
38
+ }
39
+ }),
40
+ /* @__PURE__ */ h(e, {
41
+ label: u,
42
+ fullWidth: !0,
43
+ required: !0,
44
+ multiline: !0,
45
+ minRows: 3,
46
+ value: y.instructions,
47
+ onChange: (e) => b({
48
+ ...y,
49
+ instructions: e.target.value
50
+ }),
51
+ description: l
52
+ }),
53
+ /* @__PURE__ */ h(e, {
54
+ label: i,
55
+ fullWidth: !0,
56
+ required: !0,
57
+ value: y.destinationTaskId,
58
+ onChange: (e) => b({
59
+ ...y,
60
+ destinationTaskId: e.target.value
61
+ }),
62
+ description: r,
63
+ error: !x,
64
+ helperText: x ? void 0 : d
65
+ })
66
+ ]
67
+ });
68
+ }
69
+ //#endregion
70
+ export { v as default };
71
+
72
+ //# sourceMappingURL=RecordSetFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordSetFields.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/RecordSetFields.tsx"],"sourcesContent":["import EntityIdTextField from '@/components/EntityFinder/EntityIdTextField'\nimport { FinderScope } from '@/components/EntityFinder/tree/EntityTree'\nimport { VersionSelectionType } from '@/components/EntityFinder/VersionSelectionType'\nimport { TextField } from '@/components/TextField'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { Stack } from '@mui/material'\nimport {\n RECORD_SET_DESTINATION_TASK_ID_DESCRIPTION,\n RECORD_SET_DESTINATION_TASK_ID_LABEL,\n RECORD_SET_FOLDER_FINDER_PROMPT,\n RECORD_SET_FOLDER_FINDER_TITLE,\n RECORD_SET_FOLDER_ID_DESCRIPTION,\n RECORD_SET_FOLDER_ID_LABEL,\n RECORD_SET_INSTRUCTIONS_DESCRIPTION,\n RECORD_SET_INSTRUCTIONS_LABEL,\n TASK_ID_FIELD_INVALID_ERROR_MESSAGE,\n} from '../utils/constants'\nimport { RecordSetFieldsValue } from './utils/buildComputeTaskPayload'\nimport { isValidTaskIdInput } from './utils/taskIdValidation'\n\nexport type RecordSetFieldsProps = {\n value: RecordSetFieldsValue\n onChange: (value: RecordSetFieldsValue) => void\n}\n\n/**\n * Fields specific to a Record Set Generation compute task\n * (`RecordSetGenerationExecutionProperties`). Note that `instructions` here is the free-text prompt sent\n * to the transformation agent, distinct from the task-level `CommonTaskFields` instructions shown to the\n * human assignee.\n */\nexport default function RecordSetFields(props: RecordSetFieldsProps) {\n const { value, onChange } = props\n\n const destinationTaskIdIsValid = isValidTaskIdInput(value.destinationTaskId, {\n allowEmpty: true,\n })\n\n return (\n <Stack gap={2}>\n <EntityIdTextField\n label={RECORD_SET_FOLDER_ID_LABEL}\n value={value.folderId}\n onChange={folderId => onChange({ ...value, folderId })}\n description={RECORD_SET_FOLDER_ID_DESCRIPTION}\n required\n entityFinderModalProps={{\n title: RECORD_SET_FOLDER_FINDER_TITLE,\n promptCopy: RECORD_SET_FOLDER_FINDER_PROMPT,\n confirmButtonCopy: 'Select',\n configuration: {\n initialScope: FinderScope.ALL_PROJECTS,\n initialContainer: 'root',\n selectMultiple: false,\n treeOnly: false,\n versionSelection: VersionSelectionType.DISALLOWED,\n selectableTypes: [EntityType.folder],\n },\n }}\n />\n <TextField\n label={RECORD_SET_INSTRUCTIONS_LABEL}\n fullWidth\n required\n multiline\n minRows={3}\n value={value.instructions}\n onChange={e => onChange({ ...value, instructions: e.target.value })}\n description={RECORD_SET_INSTRUCTIONS_DESCRIPTION}\n />\n <TextField\n label={RECORD_SET_DESTINATION_TASK_ID_LABEL}\n fullWidth\n required\n value={value.destinationTaskId}\n onChange={e =>\n onChange({ ...value, destinationTaskId: e.target.value })\n }\n description={RECORD_SET_DESTINATION_TASK_ID_DESCRIPTION}\n error={!destinationTaskIdIsValid}\n helperText={\n destinationTaskIdIsValid\n ? undefined\n : TASK_ID_FIELD_INVALID_ERROR_MESSAGE\n }\n />\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;;AA+BA,SAAwB,EAAgB,GAA6B;CACnE,IAAM,EAAE,UAAO,gBAAa,GAEtB,IAA2B,EAAmB,EAAM,mBAAmB,EAC3E,YAAY,GACd,CAAC;CAED,OACE,kBAAC,GAAD;EAAO,KAAK;YAAZ;GACE,kBAAC,GAAD;IACE,OAAO;IACP,OAAO,EAAM;IACb,WAAU,MAAY,EAAS;KAAE,GAAG;KAAO;IAAS,CAAC;IACrD,aAAa;IACb,UAAA;IACA,wBAAwB;KACtB,OAAO;KACP,YAAY;KACZ,mBAAmB;KACnB,eAAe;MACb,cAAc,EAAY;MAC1B,kBAAkB;MAClB,gBAAgB;MAChB,UAAU;MACV,kBAAkB,EAAqB;MACvC,iBAAiB,CAAC,EAAW,MAAM;KACrC;IACF;GACD,CAAA;GACD,kBAAC,GAAD;IACE,OAAO;IACP,WAAA;IACA,UAAA;IACA,WAAA;IACA,SAAS;IACT,OAAO,EAAM;IACb,WAAU,MAAK,EAAS;KAAE,GAAG;KAAO,cAAc,EAAE,OAAO;IAAM,CAAC;IAClE,aAAa;GACd,CAAA;GACD,kBAAC,GAAD;IACE,OAAO;IACP,WAAA;IACA,UAAA;IACA,OAAO,EAAM;IACb,WAAU,MACR,EAAS;KAAE,GAAG;KAAO,mBAAmB,EAAE,OAAO;IAAM,CAAC;IAE1D,aAAa;IACb,OAAO,CAAC;IACR,YACE,IACI,KAAA,IACA;GAEP,CAAA;EACI;;AAEX"}
@@ -0,0 +1,11 @@
1
+ import { SampleSheetFieldsValue } from './utils/buildComputeTaskPayload';
2
+ export type SampleSheetFieldsProps = {
3
+ value: SampleSheetFieldsValue;
4
+ onChange: (value: SampleSheetFieldsValue) => void;
5
+ };
6
+ /**
7
+ * Fields specific to a Sample Sheet Generation compute task
8
+ * (`SampleSheetGenerationExecutionProperties`).
9
+ */
10
+ export default function SampleSheetFields(props: SampleSheetFieldsProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=SampleSheetFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SampleSheetFields.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/SampleSheetFields.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,sBAAsB,CAAA;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CAClD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CA0CtE"}
@@ -0,0 +1,42 @@
1
+ import e from "../../../../components/TextField/TextField.js";
2
+ import "../../../../components/TextField/index.js";
3
+ import { SAMPLE_SHEET_DESTINATION_TASK_ID_DESCRIPTION as t, SAMPLE_SHEET_DESTINATION_TASK_ID_LABEL as n, SAMPLE_SHEET_INPUT_TASK_ID_DESCRIPTION as r, SAMPLE_SHEET_INPUT_TASK_ID_LABEL as i, TASK_ID_FIELD_INVALID_ERROR_MESSAGE as a } from "../utils/constants.js";
4
+ import { isValidTaskIdInput as o } from "./utils/taskIdValidation.js";
5
+ import { Stack as s } from "@mui/material";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ //#region src/features/entity/metadata-task/create-task/SampleSheetFields.tsx
8
+ function u(u) {
9
+ let { value: d, onChange: f } = u, p = o(d.inputTaskId, { allowEmpty: !0 }), m = o(d.destinationTaskId, { allowEmpty: !0 });
10
+ return /* @__PURE__ */ l(s, {
11
+ gap: 2,
12
+ children: [/* @__PURE__ */ c(e, {
13
+ label: i,
14
+ fullWidth: !0,
15
+ required: !0,
16
+ value: d.inputTaskId,
17
+ onChange: (e) => f({
18
+ ...d,
19
+ inputTaskId: e.target.value
20
+ }),
21
+ description: r,
22
+ error: !p,
23
+ helperText: p ? void 0 : a
24
+ }), /* @__PURE__ */ c(e, {
25
+ label: n,
26
+ fullWidth: !0,
27
+ required: !0,
28
+ value: d.destinationTaskId,
29
+ onChange: (e) => f({
30
+ ...d,
31
+ destinationTaskId: e.target.value
32
+ }),
33
+ description: t,
34
+ error: !m,
35
+ helperText: m ? void 0 : a
36
+ })]
37
+ });
38
+ }
39
+ //#endregion
40
+ export { u as default };
41
+
42
+ //# sourceMappingURL=SampleSheetFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SampleSheetFields.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/SampleSheetFields.tsx"],"sourcesContent":["import { TextField } from '@/components/TextField'\nimport { Stack } from '@mui/material'\nimport {\n SAMPLE_SHEET_DESTINATION_TASK_ID_DESCRIPTION,\n SAMPLE_SHEET_DESTINATION_TASK_ID_LABEL,\n SAMPLE_SHEET_INPUT_TASK_ID_DESCRIPTION,\n SAMPLE_SHEET_INPUT_TASK_ID_LABEL,\n TASK_ID_FIELD_INVALID_ERROR_MESSAGE,\n} from '../utils/constants'\nimport { SampleSheetFieldsValue } from './utils/buildComputeTaskPayload'\nimport { isValidTaskIdInput } from './utils/taskIdValidation'\n\nexport type SampleSheetFieldsProps = {\n value: SampleSheetFieldsValue\n onChange: (value: SampleSheetFieldsValue) => void\n}\n\n/**\n * Fields specific to a Sample Sheet Generation compute task\n * (`SampleSheetGenerationExecutionProperties`).\n */\nexport default function SampleSheetFields(props: SampleSheetFieldsProps) {\n const { value, onChange } = props\n\n const inputTaskIdIsValid = isValidTaskIdInput(value.inputTaskId, {\n allowEmpty: true,\n })\n const destinationTaskIdIsValid = isValidTaskIdInput(value.destinationTaskId, {\n allowEmpty: true,\n })\n\n return (\n <Stack gap={2}>\n <TextField\n label={SAMPLE_SHEET_INPUT_TASK_ID_LABEL}\n fullWidth\n required\n value={value.inputTaskId}\n onChange={e => onChange({ ...value, inputTaskId: e.target.value })}\n description={SAMPLE_SHEET_INPUT_TASK_ID_DESCRIPTION}\n error={!inputTaskIdIsValid}\n helperText={\n inputTaskIdIsValid ? undefined : TASK_ID_FIELD_INVALID_ERROR_MESSAGE\n }\n />\n <TextField\n label={SAMPLE_SHEET_DESTINATION_TASK_ID_LABEL}\n fullWidth\n required\n value={value.destinationTaskId}\n onChange={e =>\n onChange({ ...value, destinationTaskId: e.target.value })\n }\n description={SAMPLE_SHEET_DESTINATION_TASK_ID_DESCRIPTION}\n error={!destinationTaskIdIsValid}\n helperText={\n destinationTaskIdIsValid\n ? undefined\n : TASK_ID_FIELD_INVALID_ERROR_MESSAGE\n }\n />\n </Stack>\n )\n}\n"],"mappings":";;;;;;;AAqBA,SAAwB,EAAkB,GAA+B;CACvE,IAAM,EAAE,UAAO,gBAAa,GAEtB,IAAqB,EAAmB,EAAM,aAAa,EAC/D,YAAY,GACd,CAAC,GACK,IAA2B,EAAmB,EAAM,mBAAmB,EAC3E,YAAY,GACd,CAAC;CAED,OACE,kBAAC,GAAD;EAAO,KAAK;YAAZ,CACE,kBAAC,GAAD;GACE,OAAO;GACP,WAAA;GACA,UAAA;GACA,OAAO,EAAM;GACb,WAAU,MAAK,EAAS;IAAE,GAAG;IAAO,aAAa,EAAE,OAAO;GAAM,CAAC;GACjE,aAAa;GACb,OAAO,CAAC;GACR,YACE,IAAqB,KAAA,IAAY;EAEpC,CAAA,GACD,kBAAC,GAAD;GACE,OAAO;GACP,WAAA;GACA,UAAA;GACA,OAAO,EAAM;GACb,WAAU,MACR,EAAS;IAAE,GAAG;IAAO,mBAAmB,EAAE,OAAO;GAAM,CAAC;GAE1D,aAAa;GACb,OAAO,CAAC;GACR,YACE,IACI,KAAA,IACA;EAEP,CAAA,CACI;;AAEX"}
@@ -0,0 +1,17 @@
1
+ import { ComponentType, ReactNode, SVGProps } from 'react';
2
+ export type TaskCategoryCardProps = {
3
+ title: string;
4
+ /** Illustration for the card art, imported as a React component via SVGR. */
5
+ Illustration?: ComponentType<SVGProps<SVGSVGElement>>;
6
+ disabled?: boolean;
7
+ /** e.g. a "Coming soon" chip for a category that isn't implemented yet. */
8
+ badge?: ReactNode;
9
+ onClick?: () => void;
10
+ };
11
+ /**
12
+ * A single category tile in the "Select Category for New Task" grid (see `CreateTaskCategoryPicker`).
13
+ * Mirrors the card layout from Figma (Curator BDF-LINC file, node 12373:22776): a light illustration
14
+ * area above a dark, centered title footer.
15
+ */
16
+ export default function TaskCategoryCard(props: TaskCategoryCardProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=TaskCategoryCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskCategoryCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/TaskCategoryCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAKD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAyDpE"}
@@ -0,0 +1,70 @@
1
+ import { Card as e, CardActionArea as t, Stack as n, Typography as r } from "@mui/material";
2
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
3
+ import { InsertPhotoOutlined as o } from "@mui/icons-material";
4
+ //#region src/features/entity/metadata-task/create-task/TaskCategoryCard.tsx
5
+ var s = 260, c = 160;
6
+ function l(l) {
7
+ let { title: u, Illustration: d, disabled: f = !1, badge: p, onClick: m } = l;
8
+ return /* @__PURE__ */ i(e, {
9
+ variant: "outlined",
10
+ sx: {
11
+ width: {
12
+ xs: "100%",
13
+ sm: s
14
+ },
15
+ borderRadius: "5px",
16
+ opacity: f ? .6 : 1
17
+ },
18
+ children: /* @__PURE__ */ a(t, {
19
+ disabled: f,
20
+ onClick: m,
21
+ "aria-label": u,
22
+ sx: {
23
+ display: "flex",
24
+ flexDirection: "column",
25
+ alignItems: "stretch"
26
+ },
27
+ children: [/* @__PURE__ */ i(n, {
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ sx: {
31
+ width: "100%",
32
+ height: c,
33
+ bgcolor: "grey.200"
34
+ },
35
+ children: d ? /* @__PURE__ */ i(d, {
36
+ style: {
37
+ maxHeight: "80%",
38
+ maxWidth: "80%"
39
+ },
40
+ "aria-hidden": !0
41
+ }) : /* @__PURE__ */ i(o, { sx: {
42
+ fontSize: 48,
43
+ color: "grey.400"
44
+ } })
45
+ }), /* @__PURE__ */ a(n, {
46
+ alignItems: "center",
47
+ justifyContent: "center",
48
+ gap: 1,
49
+ sx: {
50
+ width: "100%",
51
+ bgcolor: "primary.700",
52
+ py: 2.5,
53
+ px: 2
54
+ },
55
+ children: [/* @__PURE__ */ i(r, {
56
+ variant: "headline3",
57
+ sx: {
58
+ color: "common.white",
59
+ textAlign: "center"
60
+ },
61
+ children: u
62
+ }), p]
63
+ })]
64
+ })
65
+ });
66
+ }
67
+ //#endregion
68
+ export { l as default };
69
+
70
+ //# sourceMappingURL=TaskCategoryCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskCategoryCard.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/TaskCategoryCard.tsx"],"sourcesContent":["import { InsertPhotoOutlined } from '@mui/icons-material'\nimport { Card, CardActionArea, Stack, Typography } from '@mui/material'\nimport { ComponentType, ReactNode, SVGProps } from 'react'\n\nexport type TaskCategoryCardProps = {\n title: string\n /** Illustration for the card art, imported as a React component via SVGR. */\n Illustration?: ComponentType<SVGProps<SVGSVGElement>>\n disabled?: boolean\n /** e.g. a \"Coming soon\" chip for a category that isn't implemented yet. */\n badge?: ReactNode\n onClick?: () => void\n}\n\nconst CARD_WIDTH = 260\nconst ILLUSTRATION_HEIGHT = 160\n\n/**\n * A single category tile in the \"Select Category for New Task\" grid (see `CreateTaskCategoryPicker`).\n * Mirrors the card layout from Figma (Curator BDF-LINC file, node 12373:22776): a light illustration\n * area above a dark, centered title footer.\n */\nexport default function TaskCategoryCard(props: TaskCategoryCardProps) {\n const { title, Illustration, disabled = false, badge, onClick } = props\n\n return (\n <Card\n variant=\"outlined\"\n sx={{\n width: { xs: '100%', sm: CARD_WIDTH },\n borderRadius: '5px',\n opacity: disabled ? 0.6 : 1,\n }}\n >\n <CardActionArea\n disabled={disabled}\n onClick={onClick}\n aria-label={title}\n sx={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n }}\n >\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{\n width: '100%',\n height: ILLUSTRATION_HEIGHT,\n bgcolor: 'grey.200',\n }}\n >\n {Illustration ? (\n <Illustration\n style={{ maxHeight: '80%', maxWidth: '80%' }}\n aria-hidden\n />\n ) : (\n <InsertPhotoOutlined sx={{ fontSize: 48, color: 'grey.400' }} />\n )}\n </Stack>\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={1}\n sx={{ width: '100%', bgcolor: 'primary.700', py: 2.5, px: 2 }}\n >\n <Typography\n variant=\"headline3\"\n sx={{ color: 'common.white', textAlign: 'center' }}\n >\n {title}\n </Typography>\n {badge}\n </Stack>\n </CardActionArea>\n </Card>\n )\n}\n"],"mappings":";;;;AAcA,IAAM,IAAa,KACb,IAAsB;AAO5B,SAAwB,EAAiB,GAA8B;CACrE,IAAM,EAAE,UAAO,iBAAc,cAAW,IAAO,UAAO,eAAY;CAElE,OACE,kBAAC,GAAD;EACE,SAAQ;EACR,IAAI;GACF,OAAO;IAAE,IAAI;IAAQ,IAAI;GAAW;GACpC,cAAc;GACd,SAAS,IAAW,KAAM;EAC5B;YAEA,kBAAC,GAAD;GACY;GACD;GACT,cAAY;GACZ,IAAI;IACF,SAAS;IACT,eAAe;IACf,YAAY;GACd;aARF,CAUE,kBAAC,GAAD;IACE,YAAW;IACX,gBAAe;IACf,IAAI;KACF,OAAO;KACP,QAAQ;KACR,SAAS;IACX;cAEC,IACC,kBAAC,GAAD;KACE,OAAO;MAAE,WAAW;MAAO,UAAU;KAAM;KAC3C,eAAA;IACD,CAAA,IAED,kBAAC,GAAD,EAAqB,IAAI;KAAE,UAAU;KAAI,OAAO;IAAW,EAAI,CAAA;GAE5D,CAAA,GACP,kBAAC,GAAD;IACE,YAAW;IACX,gBAAe;IACf,KAAK;IACL,IAAI;KAAE,OAAO;KAAQ,SAAS;KAAe,IAAI;KAAK,IAAI;IAAE;cAJ9D,CAME,kBAAC,GAAD;KACE,SAAQ;KACR,IAAI;MAAE,OAAO;MAAgB,WAAW;KAAS;eAEhD;IACS,CAAA,GACX,CACI;KACO;;CACZ,CAAA;AAEV"}
@@ -0,0 +1,23 @@
1
+ export type TaskFormActionsProps = {
2
+ isEditMode: boolean;
3
+ isPending: boolean;
4
+ isValid: boolean;
5
+ onSubmit: () => void;
6
+ /** Shows a "Back" button (create mode) that returns to the category picker. */
7
+ onBack?: () => void;
8
+ /** Shows a "Cancel" button (edit mode) that exits the page without saving. */
9
+ onCancel?: () => void;
10
+ /** When true, a Delete button + confirmation dialog is rendered (edit mode, with permission). */
11
+ canDelete: boolean;
12
+ showDeleteConfirmation: boolean;
13
+ onRequestDelete: () => void;
14
+ onConfirmDelete: () => void;
15
+ onCancelDelete: () => void;
16
+ isDeletePending: boolean;
17
+ };
18
+ /**
19
+ * The action-button row (Delete / Back / Cancel / Create|Save) plus the delete confirmation dialog
20
+ * shared by every curation-task create/edit form.
21
+ */
22
+ export default function TaskFormActions(props: TaskFormActionsProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=TaskFormActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFormActions.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/TaskFormActions.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,sBAAsB,EAAE,OAAO,CAAA;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,eAAe,EAAE,OAAO,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAyElE"}
@@ -0,0 +1,68 @@
1
+ import { ConfirmationDialog as e } from "../../../../components/ConfirmationDialog/ConfirmationDialog.js";
2
+ import "../../../../components/ConfirmationDialog/index.js";
3
+ import { DELETE_CURATION_TASK_CONFIRMATION_PROMPT as t, DELETE_CURATION_TASK_DIALOG_TITLE as n } from "../utils/constants.js";
4
+ import { Button as r, Divider as i, Stack as a } from "@mui/material";
5
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/features/entity/metadata-task/create-task/TaskFormActions.tsx
7
+ function l(l) {
8
+ let { isEditMode: u, isPending: d, isValid: f, onSubmit: p, onBack: m, onCancel: h, canDelete: g, showDeleteConfirmation: _, onRequestDelete: v, onConfirmDelete: y, onCancelDelete: b, isDeletePending: x } = l;
9
+ return /* @__PURE__ */ c(o, { children: [
10
+ /* @__PURE__ */ s(i, {}),
11
+ /* @__PURE__ */ c(a, {
12
+ direction: "row",
13
+ gap: 1,
14
+ justifyContent: "space-between",
15
+ sx: { mb: 2 },
16
+ children: [/* @__PURE__ */ s(a, {
17
+ direction: "row",
18
+ gap: 1,
19
+ children: g && /* @__PURE__ */ s(r, {
20
+ variant: "outlined",
21
+ color: "error",
22
+ onClick: v,
23
+ disabled: d,
24
+ children: "Delete"
25
+ })
26
+ }), /* @__PURE__ */ c(a, {
27
+ direction: "row",
28
+ gap: 1,
29
+ children: [
30
+ m && /* @__PURE__ */ s(r, {
31
+ variant: "outlined",
32
+ onClick: m,
33
+ disabled: d,
34
+ children: "Back"
35
+ }),
36
+ h && /* @__PURE__ */ s(r, {
37
+ variant: "outlined",
38
+ onClick: h,
39
+ disabled: d,
40
+ children: "Cancel"
41
+ }),
42
+ /* @__PURE__ */ s(r, {
43
+ variant: "contained",
44
+ onClick: p,
45
+ disabled: d || !f,
46
+ children: u ? "Save" : "Create"
47
+ })
48
+ ]
49
+ })]
50
+ }),
51
+ /* @__PURE__ */ s(e, {
52
+ title: n,
53
+ open: _,
54
+ content: t,
55
+ confirmButtonProps: {
56
+ children: "Delete",
57
+ color: "error",
58
+ loading: x
59
+ },
60
+ onConfirm: y,
61
+ onCancel: b
62
+ })
63
+ ] });
64
+ }
65
+ //#endregion
66
+ export { l as default };
67
+
68
+ //# sourceMappingURL=TaskFormActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFormActions.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/TaskFormActions.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport { Button, Divider, Stack } from '@mui/material'\nimport {\n DELETE_CURATION_TASK_CONFIRMATION_PROMPT,\n DELETE_CURATION_TASK_DIALOG_TITLE,\n} from '../utils/constants'\n\nexport type TaskFormActionsProps = {\n isEditMode: boolean\n isPending: boolean\n isValid: boolean\n onSubmit: () => void\n /** Shows a \"Back\" button (create mode) that returns to the category picker. */\n onBack?: () => void\n /** Shows a \"Cancel\" button (edit mode) that exits the page without saving. */\n onCancel?: () => void\n /** When true, a Delete button + confirmation dialog is rendered (edit mode, with permission). */\n canDelete: boolean\n showDeleteConfirmation: boolean\n onRequestDelete: () => void\n onConfirmDelete: () => void\n onCancelDelete: () => void\n isDeletePending: boolean\n}\n\n/**\n * The action-button row (Delete / Back / Cancel / Create|Save) plus the delete confirmation dialog\n * shared by every curation-task create/edit form.\n */\nexport default function TaskFormActions(props: TaskFormActionsProps) {\n const {\n isEditMode,\n isPending,\n isValid,\n onSubmit,\n onBack,\n onCancel,\n canDelete,\n showDeleteConfirmation,\n onRequestDelete,\n onConfirmDelete,\n onCancelDelete,\n isDeletePending,\n } = props\n\n return (\n <>\n <Divider />\n <Stack\n direction=\"row\"\n gap={1}\n justifyContent=\"space-between\"\n sx={{ mb: 2 }}\n >\n <Stack direction=\"row\" gap={1}>\n {canDelete && (\n <Button\n variant=\"outlined\"\n color=\"error\"\n onClick={onRequestDelete}\n disabled={isPending}\n >\n Delete\n </Button>\n )}\n </Stack>\n <Stack direction=\"row\" gap={1}>\n {onBack && (\n <Button variant=\"outlined\" onClick={onBack} disabled={isPending}>\n Back\n </Button>\n )}\n {onCancel && (\n <Button variant=\"outlined\" onClick={onCancel} disabled={isPending}>\n Cancel\n </Button>\n )}\n <Button\n variant=\"contained\"\n // errors surfaced via react-query error state\n onClick={onSubmit}\n disabled={isPending || !isValid}\n >\n {isEditMode ? 'Save' : 'Create'}\n </Button>\n </Stack>\n </Stack>\n\n <ConfirmationDialog\n title={DELETE_CURATION_TASK_DIALOG_TITLE}\n open={showDeleteConfirmation}\n content={DELETE_CURATION_TASK_CONFIRMATION_PROMPT}\n confirmButtonProps={{\n children: 'Delete',\n color: 'error',\n loading: isDeletePending,\n }}\n onConfirm={onConfirmDelete}\n onCancel={onCancelDelete}\n />\n </>\n )\n}\n"],"mappings":";;;;;;AA6BA,SAAwB,EAAgB,GAA6B;CACnE,IAAM,EACJ,eACA,cACA,YACA,aACA,WACA,aACA,cACA,2BACA,oBACA,oBACA,mBACA,uBACE;CAEJ,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD,CAAU,CAAA;EACV,kBAAC,GAAD;GACE,WAAU;GACV,KAAK;GACL,gBAAe;GACf,IAAI,EAAE,IAAI,EAAE;aAJd,CAME,kBAAC,GAAD;IAAO,WAAU;IAAM,KAAK;cACzB,KACC,kBAAC,GAAD;KACE,SAAQ;KACR,OAAM;KACN,SAAS;KACT,UAAU;eACX;IAEO,CAAA;GAEL,CAAA,GACP,kBAAC,GAAD;IAAO,WAAU;IAAM,KAAK;cAA5B;KACG,KACC,kBAAC,GAAD;MAAQ,SAAQ;MAAW,SAAS;MAAQ,UAAU;gBAAW;KAEzD,CAAA;KAET,KACC,kBAAC,GAAD;MAAQ,SAAQ;MAAW,SAAS;MAAU,UAAU;gBAAW;KAE3D,CAAA;KAEV,kBAAC,GAAD;MACE,SAAQ;MAER,SAAS;MACT,UAAU,KAAa,CAAC;gBAEvB,IAAa,SAAS;KACjB,CAAA;IACH;KACF;;EAEP,kBAAC,GAAD;GACE,OAAO;GACP,MAAM;GACN,SAAS;GACT,oBAAoB;IAClB,UAAU;IACV,OAAO;IACP,SAAS;GACX;GACA,WAAW;GACX,UAAU;EACX,CAAA;CACD,EAAA,CAAA;AAEN"}
@@ -0,0 +1,17 @@
1
+ export type TaskFormHeaderProps = {
2
+ /**
3
+ * Shows a "Back to All Tasks" button in the top-left, which exits the entire create/edit flow
4
+ * back to the task list.
5
+ */
6
+ onExit?: () => void;
7
+ /** When present, rendered as a centered page title above the form. */
8
+ pageTitle?: string;
9
+ /** When present, rendered as a centered subtitle below `pageTitle`. */
10
+ pageDescription?: string;
11
+ };
12
+ /**
13
+ * The optional top-left "Back to All Tasks" button and the centered page title/description block
14
+ * shared by every curation-task create/edit form.
15
+ */
16
+ export default function TaskFormHeader(props: TaskFormHeaderProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=TaskFormHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFormHeader.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/TaskFormHeader.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAiChE"}
@@ -0,0 +1,33 @@
1
+ import "../utils/constants.js";
2
+ import { Button as e, Stack as t, Typography as n } from "@mui/material";
3
+ import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ import { ArrowBack as o } from "@mui/icons-material";
5
+ //#region src/features/entity/metadata-task/create-task/TaskFormHeader.tsx
6
+ function s(s) {
7
+ let { onExit: c, pageTitle: l, pageDescription: u } = s;
8
+ return /* @__PURE__ */ a(r, { children: [c && /* @__PURE__ */ i(e, {
9
+ variant: "text",
10
+ startIcon: /* @__PURE__ */ i(o, {}),
11
+ onClick: c,
12
+ sx: { alignSelf: "flex-start" },
13
+ children: "Back to All Tasks"
14
+ }), l && /* @__PURE__ */ a(t, {
15
+ gap: 1,
16
+ alignItems: "center",
17
+ sx: { textAlign: "center" },
18
+ children: [/* @__PURE__ */ i(n, {
19
+ variant: "headline1",
20
+ component: "h1",
21
+ children: l
22
+ }), u && /* @__PURE__ */ i(n, {
23
+ variant: "headline3",
24
+ component: "p",
25
+ color: "text.secondary",
26
+ children: u
27
+ })]
28
+ })] });
29
+ }
30
+ //#endregion
31
+ export { s as default };
32
+
33
+ //# sourceMappingURL=TaskFormHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskFormHeader.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/TaskFormHeader.tsx"],"sourcesContent":["import { ArrowBack } from '@mui/icons-material'\nimport { Button, Stack, Typography } from '@mui/material'\nimport { BACK_TO_ALL_TASKS_LABEL } from '../utils/constants'\n\nexport type TaskFormHeaderProps = {\n /**\n * Shows a \"Back to All Tasks\" button in the top-left, which exits the entire create/edit flow\n * back to the task list.\n */\n onExit?: () => void\n /** When present, rendered as a centered page title above the form. */\n pageTitle?: string\n /** When present, rendered as a centered subtitle below `pageTitle`. */\n pageDescription?: string\n}\n\n/**\n * The optional top-left \"Back to All Tasks\" button and the centered page title/description block\n * shared by every curation-task create/edit form.\n */\nexport default function TaskFormHeader(props: TaskFormHeaderProps) {\n const { onExit, pageTitle, pageDescription } = props\n return (\n <>\n {onExit && (\n <Button\n variant=\"text\"\n startIcon={<ArrowBack />}\n onClick={onExit}\n sx={{ alignSelf: 'flex-start' }}\n >\n {BACK_TO_ALL_TASKS_LABEL}\n </Button>\n )}\n\n {pageTitle && (\n <Stack gap={1} alignItems=\"center\" sx={{ textAlign: 'center' }}>\n <Typography variant=\"headline1\" component=\"h1\">\n {pageTitle}\n </Typography>\n {pageDescription && (\n <Typography\n variant=\"headline3\"\n component=\"p\"\n color=\"text.secondary\"\n >\n {pageDescription}\n </Typography>\n )}\n </Stack>\n )}\n </>\n )\n}\n"],"mappings":";;;;;AAoBA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EAAE,WAAQ,cAAW,uBAAoB;CAC/C,OACE,kBAAA,GAAA,EAAA,UAAA,CACG,KACC,kBAAC,GAAD;EACE,SAAQ;EACR,WAAW,kBAAC,GAAD,CAAY,CAAA;EACvB,SAAS;EACT,IAAI,EAAE,WAAW,aAAa;;CAGxB,CAAA,GAGT,KACC,kBAAC,GAAD;EAAO,KAAK;EAAG,YAAW;EAAS,IAAI,EAAE,WAAW,SAAS;YAA7D,CACE,kBAAC,GAAD;GAAY,SAAQ;GAAY,WAAU;aACvC;EACS,CAAA,GACX,KACC,kBAAC,GAAD;GACE,SAAQ;GACR,WAAU;GACV,OAAM;aAEL;EACS,CAAA,CAET;GAET,EAAA,CAAA;AAEN"}
@@ -0,0 +1,50 @@
1
+ import { CurationTask, TaskStatusStateEnum } from '@sage-bionetworks/synapse-client';
2
+ export type UseCurationTaskFormStateArgs = {
3
+ /**
4
+ * Present when the host page already has a project context. Absent when creating from a context
5
+ * without one, in which case the caller renders a project selector. Ignored in edit mode -- the
6
+ * project is always derived from `task`.
7
+ */
8
+ projectId?: string;
9
+ /** The task being edited. Undefined when creating a new task. */
10
+ task?: CurationTask;
11
+ /** Called after the task is successfully deleted (edit mode only). */
12
+ onDeleted?: () => void;
13
+ };
14
+ /**
15
+ * The state and persistence logic shared by every curation-task create/edit form
16
+ * (`ComputeTaskForm`, `CurateTaskForm`): common fields, project selection, task status (state +
17
+ * due date), permissions, the create/update/delete mutations, and the submit-with-status flow.
18
+ * The type-specific fields, validity, and payload construction remain the responsibility of each
19
+ * form -- the caller passes a fully-built `CurationTask` payload to `submitTaskAndStatus`.
20
+ */
21
+ export declare function useCurationTaskFormState(args: UseCurationTaskFormStateArgs): {
22
+ isEditMode: boolean;
23
+ showProjectSelector: boolean;
24
+ selectedProjectId: string;
25
+ setSelectedProjectId: import("react").Dispatch<import("react").SetStateAction<string>>;
26
+ effectiveProjectId: string;
27
+ dataType: string;
28
+ setDataType: import("react").Dispatch<import("react").SetStateAction<string>>;
29
+ instructions: string;
30
+ setInstructions: import("react").Dispatch<import("react").SetStateAction<string>>;
31
+ assigneePrincipalId: string | undefined;
32
+ setAssigneePrincipalId: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
33
+ currentTaskStatus: import("@sage-bionetworks/synapse-client").TaskStatus | undefined;
34
+ isStatusFetching: boolean;
35
+ displayedStatusState: TaskStatusStateEnum | undefined;
36
+ setPendingStatusState: import("react").Dispatch<import("react").SetStateAction<TaskStatusStateEnum | undefined>>;
37
+ displayedDueDate: string;
38
+ setPendingDueDate: import("react").Dispatch<import("react").SetStateAction<string | undefined>>;
39
+ canDelete: boolean;
40
+ showDeleteConfirmation: boolean;
41
+ setShowDeleteConfirmation: import("react").Dispatch<import("react").SetStateAction<boolean>>;
42
+ deleteTask: import("@tanstack/react-query").UseMutateFunction<void, import("@sage-bionetworks/synapse-client").SynapseClientError, number, unknown>;
43
+ isDeletePending: boolean;
44
+ isPending: boolean;
45
+ error: import("@sage-bionetworks/synapse-client").SynapseClientError | null;
46
+ isCommonFieldsValid: boolean;
47
+ isProjectValid: boolean;
48
+ submitTaskAndStatus: (payload: CurationTask) => Promise<CurationTask>;
49
+ };
50
+ //# sourceMappingURL=useCurationTaskFormState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurationTaskFormState.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/create-task/useCurationTaskFormState.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACpB,MAAM,kCAAkC,CAAA;AASzC,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAmG9D,YAAY,KACpB,OAAO,CAAC,YAAY,CAAC;EA8FzB"}
@@ -0,0 +1,76 @@
1
+ import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
2
+ import { useSynapseContext as t } from "../../../../utils/context/SynapseContext.js";
3
+ import "../../../../components/ToastMessage/index.js";
4
+ import "../../../../utils/index.js";
5
+ import { useGetEntityPermissions as n } from "../../../../synapse-queries/entity/useEntity.js";
6
+ import { useCreateCurationTask as r, useDeleteCurationTask as i, useGetCurationTaskStatus as a, useUpdateCurationTask as o, useUpdateCurationTaskStatus as s } from "../../../../synapse-queries/curation/task/useCurationTask.js";
7
+ import { CREATE_TASK_STATUS_NOT_SAVED_WARNING as c, DELETE_CURATION_TASK_ERROR_TOAST_PREFIX as l, DELETE_CURATION_TASK_SUCCESS_TOAST as u } from "../utils/constants.js";
8
+ import { dueDateInputToIso as ee, isoToDueDateInput as d } from "../utils/dueDate.js";
9
+ import { useState as f } from "react";
10
+ //#region src/features/entity/metadata-task/create-task/useCurationTaskFormState.ts
11
+ function p(p) {
12
+ let { projectId: m, task: h, onDeleted: g } = p, _ = h !== void 0, { synapseClient: v } = t(), y = !_ && !m, [b, x] = f(""), S = _ ? h?.projectId ?? "" : m ?? b, [C, w] = f(() => h?.dataType ?? ""), [T, E] = f(() => h?.instructions ?? ""), [D, O] = f(() => h?.assigneePrincipalId), { data: k, isFetching: A } = a(h?.taskId ?? 0, { enabled: _ && h?.taskId != null }), [j, M] = f(void 0), N = j ?? k?.state, [P, F] = f(void 0), I = P ?? (_ ? d(k?.dueDate) : ""), { data: L } = n(S, { enabled: !!S }), [R, z] = f(!1), B = !!(L?.canDelete && _ && h?.taskId != null && g != null), { mutateAsync: V, isPending: H, error: U } = r(), { mutateAsync: W, isPending: G, error: K } = o(), { mutateAsync: q, isPending: J, error: Y } = s(), { mutate: X, isPending: Z } = i({
13
+ onSuccess: () => {
14
+ e(u, "success"), z(!1), g?.();
15
+ },
16
+ onError: (t) => {
17
+ e(l + t.message, "danger");
18
+ }
19
+ }), Q = H || G || J || Z, $ = U ?? K ?? Y, te = !!C.trim() && !!T.trim(), ne = !y || !!b.trim();
20
+ async function re(t) {
21
+ let n = ee(I);
22
+ if (_) {
23
+ let e = await W(t), r = j !== void 0 && j !== k?.state, i = P !== void 0 && n !== (k?.dueDate ?? void 0);
24
+ return (r || i) && k != null && await q({
25
+ ...k,
26
+ state: j ?? k.state,
27
+ dueDate: P === void 0 ? k.dueDate : n,
28
+ etag: e.etag
29
+ }), e;
30
+ }
31
+ let r = await V(t);
32
+ if (n && r.taskId != null) try {
33
+ await q({
34
+ ...await v.curationTaskServicesClient.getRepoV1CurationTaskTaskIdStatus({ taskId: r.taskId }),
35
+ taskId: r.taskId,
36
+ dueDate: n
37
+ });
38
+ } catch {
39
+ e(c, "warning");
40
+ }
41
+ return r;
42
+ }
43
+ return {
44
+ isEditMode: _,
45
+ showProjectSelector: y,
46
+ selectedProjectId: b,
47
+ setSelectedProjectId: x,
48
+ effectiveProjectId: S,
49
+ dataType: C,
50
+ setDataType: w,
51
+ instructions: T,
52
+ setInstructions: E,
53
+ assigneePrincipalId: D,
54
+ setAssigneePrincipalId: O,
55
+ currentTaskStatus: k,
56
+ isStatusFetching: A,
57
+ displayedStatusState: N,
58
+ setPendingStatusState: M,
59
+ displayedDueDate: I,
60
+ setPendingDueDate: F,
61
+ canDelete: B,
62
+ showDeleteConfirmation: R,
63
+ setShowDeleteConfirmation: z,
64
+ deleteTask: X,
65
+ isDeletePending: Z,
66
+ isPending: Q,
67
+ error: $,
68
+ isCommonFieldsValid: te,
69
+ isProjectValid: ne,
70
+ submitTaskAndStatus: re
71
+ };
72
+ }
73
+ //#endregion
74
+ export { p as useCurationTaskFormState };
75
+
76
+ //# sourceMappingURL=useCurationTaskFormState.js.map