synapse-react-client 4.0.44 → 4.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/SWC.index.d.ts +1 -1
  2. package/dist/SWC.index.js +2 -2
  3. package/dist/SWC.index.js.map +1 -1
  4. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +1 -0
  5. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -1
  6. package/dist/aridhia-queries/AridhiaKeyFactory.js +3 -0
  7. package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -1
  8. package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
  9. package/dist/aridhia-queries/index.d.ts +1 -0
  10. package/dist/aridhia-queries/index.d.ts.map +1 -1
  11. package/dist/aridhia-queries/index.js +11 -10
  12. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts +19 -0
  13. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts.map +1 -0
  14. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js +14 -0
  15. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js.map +1 -0
  16. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.d.ts.map +1 -1
  17. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +6 -4
  18. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  19. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +2 -1
  20. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  21. package/dist/components/AccessRequirementList/AccessRequirementList.js +126 -125
  22. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  23. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +1 -1
  24. package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
  25. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +1 -1
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -1
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +28 -16
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +99 -97
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +1 -1
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +1 -1
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -1
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +11 -8
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +1 -1
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
  43. package/dist/components/AccessRequirementList/RequestDataStep.d.ts +1 -4
  44. package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -1
  45. package/dist/components/AccessRequirementList/RequestDataStep.js +15 -18
  46. package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -1
  47. package/dist/components/AccessTokenPage/AccessTokenPage.js +1 -1
  48. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  49. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
  50. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  51. package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -1
  52. package/dist/components/Aridhia/DarWizard/DarSectionForm.js +17 -13
  53. package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -1
  54. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +3 -3
  55. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -1
  56. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +33 -34
  57. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
  58. package/dist/components/Aridhia/fairFormToRjsf.js +1 -1
  59. package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -1
  60. package/dist/components/Authentication/LastLoginInfo.js +1 -1
  61. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  62. package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
  63. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  64. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +1 -1
  65. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  66. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js +1 -1
  67. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  68. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +6 -6
  69. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  70. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.d.ts.map +1 -1
  71. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js +4 -4
  72. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  73. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +4 -4
  74. package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
  75. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  76. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  77. package/dist/components/ComponentCollapse.js +2 -1
  78. package/dist/components/ComponentCollapse.js.map +1 -1
  79. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.d.ts.map +1 -1
  80. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +52 -49
  81. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  82. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  83. package/dist/components/DataGrid/SynapseGrid.js +231 -219
  84. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  85. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
  86. package/dist/components/DataGrid/SyncGridWithSourceButton.js +5 -4
  87. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  88. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  89. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +7 -5
  90. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  91. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js +4 -4
  92. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  93. package/dist/components/DataGrid/components/ReorderColumnsButton.js +4 -4
  94. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
  95. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  96. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +12 -8
  97. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  98. package/dist/components/DataGrid/components/UploadCsvToGridButton.js +1 -1
  99. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  100. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +5 -5
  101. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  102. package/dist/components/DataGrid/utils/applyModelChange.js +14 -14
  103. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  104. package/dist/components/DataGrid/utils/columnFactory.js +1 -1
  105. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  106. package/dist/components/DataGrid/utils/splitPatch.d.ts.map +1 -1
  107. package/dist/components/DataGrid/utils/splitPatch.js +22 -13
  108. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  109. package/dist/components/DownloadCart/DownloadCartPage.js +1 -1
  110. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  111. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  112. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +2 -1
  113. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  114. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -1
  115. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +1 -3
  116. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  117. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +16 -10
  118. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  119. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
  120. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  121. package/dist/components/EntityFinder/EntityFinder.js +4 -4
  122. package/dist/components/EntityFinder/EntityIdTextField.js +1 -1
  123. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  124. package/dist/components/EntityFinder/tree/VirtualizedTree.d.ts.map +1 -1
  125. package/dist/components/EntityFinder/tree/VirtualizedTree.js +5 -4
  126. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  127. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +1 -1
  128. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  129. package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
  130. package/dist/components/EntityTreeTable/components/EntityNameCell.js +2 -1
  131. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  132. package/dist/components/EntityUpload/FileUploadProgress.d.ts.map +1 -1
  133. package/dist/components/EntityUpload/FileUploadProgress.js +11 -7
  134. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  135. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.d.ts.map +1 -1
  136. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js +4 -3
  137. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  138. package/dist/components/ExperimentalMode/ExperimentalMode.js +1 -1
  139. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  140. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js +1 -1
  141. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  142. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -1
  143. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +2 -1
  144. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -1
  145. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -1
  146. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +2 -1
  147. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -1
  148. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -1
  149. package/dist/components/FormTemplateEditor/FieldLibrary.js +2 -1
  150. package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -1
  151. package/dist/components/FormTemplateEditor/FieldLibraryRow.js +4 -4
  152. package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -1
  153. package/dist/components/FormTemplateEditor/FormStructurePanel.js +1 -1
  154. package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -1
  155. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +1 -1
  156. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -1
  157. package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -1
  158. package/dist/components/FormTemplateEditor/StepCard.js +15 -10
  159. package/dist/components/FormTemplateEditor/StepCard.js.map +1 -1
  160. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -1
  161. package/dist/components/FormTemplateEditor/StepFieldRow.js +11 -6
  162. package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -1
  163. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -1
  164. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +2 -1
  165. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -1
  166. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -1
  167. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -1
  168. package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts +9 -0
  169. package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts.map +1 -0
  170. package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js +45 -0
  171. package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js.map +1 -0
  172. package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts +22 -0
  173. package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts.map +1 -0
  174. package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js +139 -0
  175. package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js.map +1 -0
  176. package/dist/components/Forum/ForumTable.d.ts +17 -5
  177. package/dist/components/Forum/ForumTable.d.ts.map +1 -1
  178. package/dist/components/Forum/ForumTable.js +94 -77
  179. package/dist/components/Forum/ForumTable.js.map +1 -1
  180. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +45 -45
  181. package/dist/components/GenericCard/PortalDOI/PortalDOI.js +5 -5
  182. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  183. package/dist/components/GenericCard/TableRowGenericCard.js +1 -1
  184. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  185. package/dist/components/HelpPopover/HelpPopover.js +1 -1
  186. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  187. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  188. package/dist/components/IconSvg/IconSvg.js +154 -47
  189. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  190. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.d.ts.map +1 -1
  191. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js +19 -16
  192. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  193. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  194. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +2 -1
  195. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  196. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts +9 -0
  197. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts.map +1 -0
  198. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js +21 -0
  199. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js.map +1 -0
  200. package/dist/components/Markdown/MarkdownCollapse.d.ts.map +1 -1
  201. package/dist/components/Markdown/MarkdownCollapse.js +3 -1
  202. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  203. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
  204. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  205. package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
  206. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  207. package/dist/components/PortalList/PortalCard.d.ts.map +1 -1
  208. package/dist/components/PortalList/PortalCard.js +6 -5
  209. package/dist/components/PortalList/PortalCard.js.map +1 -1
  210. package/dist/components/PortalList/PortalList.js +4 -4
  211. package/dist/components/PortalList/PortalList.js.map +1 -1
  212. package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
  213. package/dist/components/QueryBuilder/FilterConditionRow.js +4 -4
  214. package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
  215. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  216. package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
  217. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  218. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.d.ts.map +1 -1
  219. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +142 -108
  220. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  221. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.d.ts.map +1 -1
  222. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js +15 -15
  223. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  224. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
  225. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +57 -55
  226. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  227. package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
  228. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  229. package/dist/components/SustainabilityScorecard/DialLayout.js +1 -1
  230. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  231. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js +1 -1
  232. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  233. package/dist/components/SynapseChat/SynapseChat.js +1 -1
  234. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  235. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  236. package/dist/components/SynapseChat/SynapseChatInteraction.js +2 -1
  237. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  238. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js +1 -1
  239. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js.map +1 -1
  240. package/dist/components/SynapseFooter/SynapseFooter.js +1 -1
  241. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  242. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js +1 -1
  243. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  244. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.d.ts.map +1 -1
  245. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +2 -1
  246. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  247. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js +4 -4
  248. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  249. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js +1 -1
  250. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  251. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  252. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +4 -1
  253. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  254. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
  255. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  256. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js +1 -1
  257. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  258. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
  259. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +12 -9
  260. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  261. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  262. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  263. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +140 -140
  264. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  265. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  266. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  267. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
  268. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  269. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  270. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  271. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +9 -9
  272. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  273. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.d.ts.map +1 -1
  274. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js +6 -4
  275. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  276. package/dist/components/TanStackTable/ColumnHeader.js +1 -1
  277. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  278. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js +1 -1
  279. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  280. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.d.ts.map +1 -1
  281. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js +4 -3
  282. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  283. package/dist/components/Webhook/WebhookDashboard.js +1 -1
  284. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  285. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  286. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  287. package/dist/components/dataaccess/AccessRequirementTable.js +1 -1
  288. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  289. package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -1
  290. package/dist/components/dataaccess/EDucTemplateTable.js +13 -11
  291. package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -1
  292. package/dist/components/dataaccess/FormTemplateTable.js +6 -6
  293. package/dist/components/dataaccess/FormTemplateTable.js.map +1 -1
  294. package/dist/components/dataaccess/ReviewerDashboard.js +17 -17
  295. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  296. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +4 -4
  297. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  298. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +4 -1
  299. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  300. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  301. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  302. package/dist/components/download_list/DownloadDetails.d.ts.map +1 -1
  303. package/dist/components/download_list/DownloadDetails.js +12 -10
  304. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  305. package/dist/components/entity/metadata/AnnotationsTable.js +1 -1
  306. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  307. package/dist/components/entity/page/CreatedByModifiedBy.js +1 -1
  308. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  309. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
  310. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  311. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
  312. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  313. package/dist/components/error/ErrorChip.d.ts.map +1 -1
  314. package/dist/components/error/ErrorChip.js +2 -1
  315. package/dist/components/error/ErrorChip.js.map +1 -1
  316. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +14 -14
  317. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +4 -4
  318. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  319. package/dist/components/widgets/facet-nav/FacetNavPanel.js +1 -1
  320. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  321. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
  322. package/dist/features/curator/dashboard/components/NextStepButton.js +7 -6
  323. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  324. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +8 -8
  325. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  326. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +4 -4
  327. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  328. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +4 -4
  329. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  330. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  331. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  332. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +4 -4
  333. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
  334. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +1 -1
  335. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -1
  336. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +1 -1
  337. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -1
  338. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +10 -10
  339. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -1
  340. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js +1 -1
  341. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  342. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +5 -0
  343. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
  344. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +37 -26
  345. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
  346. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +8 -0
  347. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  348. package/dist/mocks/msw/handlers/aridhiaHandlers.js +52 -41
  349. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  350. package/dist/mocks/msw/handlers/discussionHandlers.d.ts.map +1 -1
  351. package/dist/mocks/msw/handlers/discussionHandlers.js +40 -33
  352. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  353. package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
  354. package/dist/mocks/msw/handlers/entityHandlers.js +70 -67
  355. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  356. package/dist/mocks/msw/handlers/gridHandlers.js +2 -2
  357. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  358. package/dist/mocks/msw/server.d.ts.map +1 -1
  359. package/dist/mocks/msw/server.js +4 -2
  360. package/dist/mocks/msw/server.js.map +1 -1
  361. package/dist/synapse-client/SynapseClient.d.ts +10 -0
  362. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  363. package/dist/synapse-client/SynapseClient.js +486 -482
  364. package/dist/synapse-client/SynapseClient.js.map +1 -1
  365. package/dist/synapse-client/index.js +3 -3
  366. package/dist/synapse-queries/KeyFactory.d.ts +13 -1
  367. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  368. package/dist/synapse-queries/KeyFactory.js +11 -1
  369. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  370. package/dist/synapse-queries/dataaccess/index.js +4 -4
  371. package/dist/synapse-queries/dataaccess/useAccessRequirements.d.ts.map +1 -1
  372. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +4 -1
  373. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  374. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +19 -5
  375. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  376. package/dist/synapse-queries/dataaccess/useEDuc.js +29 -21
  377. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  378. package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +12 -0
  379. package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -1
  380. package/dist/synapse-queries/dataaccess/useFormTemplate.js +52 -30
  381. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  382. package/dist/synapse-queries/forum/useForum.d.ts +5 -1
  383. package/dist/synapse-queries/forum/useForum.d.ts.map +1 -1
  384. package/dist/synapse-queries/forum/useForum.js +23 -1
  385. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  386. package/dist/synapse-queries/index.js +185 -184
  387. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +5 -3
  388. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -1
  389. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +12 -15
  390. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -1
  391. package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
  392. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  393. package/dist/theme/DefaultTheme.d.ts.map +1 -1
  394. package/dist/theme/DefaultTheme.js +4 -1
  395. package/dist/theme/DefaultTheme.js.map +1 -1
  396. package/dist/tsconfig.build.tsbuildinfo +1 -1
  397. package/dist/utils/APIConstants.d.ts.map +1 -1
  398. package/dist/utils/APIConstants.js.map +1 -1
  399. package/dist/utils/AppUtils/AppUtils.js +1 -1
  400. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  401. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  402. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  403. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  404. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  405. package/dist/utils/functions/getEndpoint.d.ts +1 -0
  406. package/dist/utils/functions/getEndpoint.d.ts.map +1 -1
  407. package/dist/utils/functions/getEndpoint.js +3 -3
  408. package/dist/utils/functions/getEndpoint.js.map +1 -1
  409. package/dist/utils/types/RequestableAccessRequirement.d.ts +8 -0
  410. package/dist/utils/types/RequestableAccessRequirement.d.ts.map +1 -0
  411. package/dist/utils/types/RequestableAccessRequirement.js +9 -0
  412. package/dist/utils/types/RequestableAccessRequirement.js.map +1 -0
  413. package/package.json +6 -5
  414. package/dist/testutils/ReactQueryMockUtils.js +0 -676
  415. package/dist/testutils/ReactQueryMockUtils.js.map +0 -1
@@ -16,8 +16,8 @@ import { buildCurateTaskPayload as y } from "./utils/buildCurateTaskPayload.js";
16
16
  import { Alert as b, Box as x, InputLabel as S, MenuItem as C, Select as w, Stack as T, Tooltip as E, Typography as D } from "@mui/material";
17
17
  import { jsx as O, jsxs as k } from "react/jsx-runtime";
18
18
  import { FileBasedMetadataTaskPropertiesConcreteTypeEnum as A } from "@sage-bionetworks/synapse-client";
19
- import { HelpTwoTone as j } from "@mui/icons-material";
20
- import M from "lodash-es/noop";
19
+ import j from "lodash-es/noop";
20
+ import M from "@mui/icons-material/HelpTwoTone";
21
21
  //#region src/features/entity/metadata-task/create-task/CurateTaskForm.tsx
22
22
  function N(N) {
23
23
  let { projectId: P, task: F, onCreated: I, onSaved: L, onDeleted: R, onBack: z, onCancel: B, onExit: V, pageTitle: H, pageDescription: U } = N, W = p({
@@ -131,7 +131,7 @@ function N(N) {
131
131
  children: n[e].label
132
132
  }), /* @__PURE__ */ O(E, {
133
133
  title: n[e].tooltip,
134
- children: /* @__PURE__ */ O(j, { sx: { color: "grey.700" } })
134
+ children: /* @__PURE__ */ O(M, { sx: { color: "grey.700" } })
135
135
  })]
136
136
  })
137
137
  }, e))
@@ -152,7 +152,7 @@ function N(N) {
152
152
  isEditMode: G,
153
153
  isPending: W.isPending,
154
154
  isValid: q,
155
- onSubmit: () => void J().catch(M),
155
+ onSubmit: () => void J().catch(j),
156
156
  onBack: z,
157
157
  onCancel: B,
158
158
  canDelete: W.canDelete,
@@ -1 +1 @@
1
- {"version":3,"file":"CurateTaskForm.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/CurateTaskForm.tsx"],"sourcesContent":["import FieldDescription from '@/components/FieldDescription'\nimport { StyledFormControl } from '@/components/styled'\nimport { HelpTwoTone } from '@mui/icons-material'\nimport {\n Alert,\n Box,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n CurationTask,\n FileBasedMetadataTaskPropertiesConcreteTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport noop from 'lodash-es/noop'\nimport {\n AUTH_MODE_CHANGED_WARNING,\n AUTH_MODE_CONFIG,\n AUTH_MODE_INPUT_DESCRIPTION,\n AUTH_MODE_INPUT_LABEL,\n AUTH_MODE_OPTIONS,\n CURATE_TASK_DISABLED_STATUS_STATES,\n CURATE_TASK_TYPE_CONFIG,\n CURATE_TASK_TYPE_INPUT_LABEL,\n CURATE_TASK_TYPE_OPTIONS,\n GENERIC_SAVE_ERROR_MESSAGE,\n} from '../utils/constants'\nimport CommonTaskFields from './CommonTaskFields'\nimport FileBasedFields from './FileBasedFields'\nimport ProjectSelectorField from './ProjectSelectorField'\nimport RecordBasedFields from './RecordBasedFields'\nimport TaskFormActions from './TaskFormActions'\nimport TaskFormHeader from './TaskFormHeader'\nimport TaskStatusField from './TaskStatusField'\nimport { useCurateTypeFields } from './useCurateTypeFields'\nimport { useCurationTaskFormState } from './useCurationTaskFormState'\nimport {\n AuthorizationModeOption,\n buildCurateTaskPayload,\n} from './utils/buildCurateTaskPayload'\n\nexport type CurateTaskFormProps = {\n /**\n * Present when the host page already has a project context (e.g. a project's Metadata Tasks page).\n * Absent when creating from a context without one (e.g. the Curator Dashboard), in which case the user\n * is prompted to choose a project. Ignored in edit mode -- the project is always derived from `task`.\n */\n projectId?: string\n /** The task being edited. Undefined when creating a new task. */\n task?: CurationTask\n /** Called after a new task is successfully created. */\n onCreated?: (task: CurationTask) => void\n /** Called after an existing task is successfully saved. */\n onSaved?: (task: CurationTask) => void\n /** Called after the task is successfully deleted (edit mode only). */\n onDeleted?: () => 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 /**\n * Shows a \"Back to All Tasks\" button in the top-left of the page, which exits the entire\n * create/edit flow back to the task list (as opposed to `onBack`/`onCancel`, which only move\n * between steps within the flow).\n */\n onExit?: () => void\n /**\n * When present, rendered as a centered page title above the form (e.g. \"Create New Curate Task\" or\n * \"Edit Task\"). The host page is responsible for supplying this rather than rendering its own\n * heading, so the title and the single-column form below it share one centered layout.\n */\n pageTitle?: string\n /** When present, rendered as a centered subtitle below `pageTitle`. */\n pageDescription?: string\n}\n\n/**\n * The create/edit form for a Curate Data curation task (File-Based / Records-Based). Used as the\n * `curate` step of the create wizard (`getCurationTaskFlowRoutes`) and directly by `EditCurationTaskPage`.\n */\nexport default function CurateTaskForm(props: CurateTaskFormProps) {\n const {\n projectId,\n task,\n onCreated,\n onSaved,\n onDeleted,\n onBack,\n onCancel,\n onExit,\n pageTitle,\n pageDescription,\n } = props\n\n const form = useCurationTaskFormState({ projectId, task, onDeleted })\n const { isEditMode } = form\n\n const typeFields = useCurateTypeFields({\n taskProperties: task?.taskProperties,\n isEditMode,\n })\n\n const isValid =\n form.isCommonFieldsValid && form.isProjectValid && typeFields.isValid\n\n async function handleSubmit() {\n const payload = buildCurateTaskPayload({\n existingTask: isEditMode ? task : undefined,\n projectId: form.effectiveProjectId,\n dataType: form.dataType,\n instructions: form.instructions,\n assigneePrincipalId: form.assigneePrincipalId,\n curateTypeFields: {\n ...typeFields.state,\n authorizationMode: typeFields.authorizationMode,\n },\n })\n\n const result = await form.submitTaskAndStatus(payload)\n if (isEditMode) {\n onSaved?.(result)\n } else {\n onCreated?.(result)\n }\n }\n\n return (\n <Stack gap={3}>\n <TaskFormHeader\n onExit={onExit}\n pageTitle={pageTitle}\n pageDescription={pageDescription}\n />\n\n <Stack gap={3} sx={{ width: '100%', maxWidth: 700, mx: 'auto' }}>\n <StyledFormControl fullWidth>\n <InputLabel id=\"curate-task-type-label\">\n {CURATE_TASK_TYPE_INPUT_LABEL}\n </InputLabel>\n <Select\n labelId=\"curate-task-type-label\"\n label={CURATE_TASK_TYPE_INPUT_LABEL}\n value={typeFields.state.concreteType}\n disabled={isEditMode}\n onChange={e => typeFields.setConcreteType(e.target.value)}\n >\n {CURATE_TASK_TYPE_OPTIONS.map(concreteType => (\n <MenuItem key={concreteType} value={concreteType}>\n {CURATE_TASK_TYPE_CONFIG[concreteType].label}\n </MenuItem>\n ))}\n </Select>\n </StyledFormControl>\n\n {form.showProjectSelector && (\n <ProjectSelectorField\n value={form.selectedProjectId}\n onChange={form.setSelectedProjectId}\n />\n )}\n\n <CommonTaskFields\n dataType={form.dataType}\n onDataTypeChange={form.setDataType}\n dueDate={form.displayedDueDate}\n onDueDateChange={form.setPendingDueDate}\n instructions={form.instructions}\n onInstructionsChange={form.setInstructions}\n assigneePrincipalId={form.assigneePrincipalId}\n onAssigneePrincipalIdChange={form.setAssigneePrincipalId}\n />\n\n {isEditMode && (\n <TaskStatusField\n labelId=\"curate-task-status-label\"\n value={form.displayedStatusState}\n onChange={form.setPendingStatusState}\n disabled={form.isStatusFetching || form.currentTaskStatus == null}\n disabledStates={CURATE_TASK_DISABLED_STATUS_STATES}\n />\n )}\n\n {typeFields.state.concreteType ===\n FileBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_FileBasedMetadataTaskProperties ? (\n <FileBasedFields\n value={typeFields.state.value}\n onChange={typeFields.setValue}\n disabled={isEditMode}\n />\n ) : (\n <RecordBasedFields\n value={typeFields.state.value}\n onChange={typeFields.setValue}\n disabled={isEditMode}\n />\n )}\n\n <StyledFormControl fullWidth>\n <InputLabel id=\"curate-task-auth-mode-label\">\n {AUTH_MODE_INPUT_LABEL}\n </InputLabel>\n <FieldDescription>{AUTH_MODE_INPUT_DESCRIPTION}</FieldDescription>\n <Select\n labelId=\"curate-task-auth-mode-label\"\n label={AUTH_MODE_INPUT_LABEL}\n value={typeFields.authorizationMode}\n onChange={e =>\n typeFields.setAuthorizationMode(\n e.target.value as AuthorizationModeOption,\n )\n }\n >\n {AUTH_MODE_OPTIONS.map(mode => (\n <MenuItem key={mode} value={mode}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">\n {AUTH_MODE_CONFIG[mode].label}\n </Typography>\n <Tooltip title={AUTH_MODE_CONFIG[mode].tooltip}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </StyledFormControl>\n\n {typeFields.authModeChanged && (\n <Alert severity=\"warning\">{AUTH_MODE_CHANGED_WARNING}</Alert>\n )}\n {form.error && (\n <Alert severity=\"error\">\n {form.error.reason ?? GENERIC_SAVE_ERROR_MESSAGE}\n </Alert>\n )}\n </Stack>\n\n <TaskFormActions\n isEditMode={isEditMode}\n isPending={form.isPending}\n isValid={isValid}\n onSubmit={() => void handleSubmit().catch(noop)}\n onBack={onBack}\n onCancel={onCancel}\n canDelete={form.canDelete}\n showDeleteConfirmation={form.showDeleteConfirmation}\n onRequestDelete={() => form.setShowDeleteConfirmation(true)}\n onConfirmDelete={() => {\n if (task?.taskId != null) form.deleteTask(task.taskId)\n }}\n onCancelDelete={() => form.setShowDeleteConfirmation(false)}\n isDeletePending={form.isDeletePending}\n />\n </Stack>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CurateTaskForm.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/CurateTaskForm.tsx"],"sourcesContent":["import FieldDescription from '@/components/FieldDescription'\nimport { StyledFormControl } from '@/components/styled'\nimport HelpTwoTone from '@mui/icons-material/HelpTwoTone'\nimport {\n Alert,\n Box,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport {\n CurationTask,\n FileBasedMetadataTaskPropertiesConcreteTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport noop from 'lodash-es/noop'\nimport {\n AUTH_MODE_CHANGED_WARNING,\n AUTH_MODE_CONFIG,\n AUTH_MODE_INPUT_DESCRIPTION,\n AUTH_MODE_INPUT_LABEL,\n AUTH_MODE_OPTIONS,\n CURATE_TASK_DISABLED_STATUS_STATES,\n CURATE_TASK_TYPE_CONFIG,\n CURATE_TASK_TYPE_INPUT_LABEL,\n CURATE_TASK_TYPE_OPTIONS,\n GENERIC_SAVE_ERROR_MESSAGE,\n} from '../utils/constants'\nimport CommonTaskFields from './CommonTaskFields'\nimport FileBasedFields from './FileBasedFields'\nimport ProjectSelectorField from './ProjectSelectorField'\nimport RecordBasedFields from './RecordBasedFields'\nimport TaskFormActions from './TaskFormActions'\nimport TaskFormHeader from './TaskFormHeader'\nimport TaskStatusField from './TaskStatusField'\nimport { useCurateTypeFields } from './useCurateTypeFields'\nimport { useCurationTaskFormState } from './useCurationTaskFormState'\nimport {\n AuthorizationModeOption,\n buildCurateTaskPayload,\n} from './utils/buildCurateTaskPayload'\n\nexport type CurateTaskFormProps = {\n /**\n * Present when the host page already has a project context (e.g. a project's Metadata Tasks page).\n * Absent when creating from a context without one (e.g. the Curator Dashboard), in which case the user\n * is prompted to choose a project. Ignored in edit mode -- the project is always derived from `task`.\n */\n projectId?: string\n /** The task being edited. Undefined when creating a new task. */\n task?: CurationTask\n /** Called after a new task is successfully created. */\n onCreated?: (task: CurationTask) => void\n /** Called after an existing task is successfully saved. */\n onSaved?: (task: CurationTask) => void\n /** Called after the task is successfully deleted (edit mode only). */\n onDeleted?: () => 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 /**\n * Shows a \"Back to All Tasks\" button in the top-left of the page, which exits the entire\n * create/edit flow back to the task list (as opposed to `onBack`/`onCancel`, which only move\n * between steps within the flow).\n */\n onExit?: () => void\n /**\n * When present, rendered as a centered page title above the form (e.g. \"Create New Curate Task\" or\n * \"Edit Task\"). The host page is responsible for supplying this rather than rendering its own\n * heading, so the title and the single-column form below it share one centered layout.\n */\n pageTitle?: string\n /** When present, rendered as a centered subtitle below `pageTitle`. */\n pageDescription?: string\n}\n\n/**\n * The create/edit form for a Curate Data curation task (File-Based / Records-Based). Used as the\n * `curate` step of the create wizard (`getCurationTaskFlowRoutes`) and directly by `EditCurationTaskPage`.\n */\nexport default function CurateTaskForm(props: CurateTaskFormProps) {\n const {\n projectId,\n task,\n onCreated,\n onSaved,\n onDeleted,\n onBack,\n onCancel,\n onExit,\n pageTitle,\n pageDescription,\n } = props\n\n const form = useCurationTaskFormState({ projectId, task, onDeleted })\n const { isEditMode } = form\n\n const typeFields = useCurateTypeFields({\n taskProperties: task?.taskProperties,\n isEditMode,\n })\n\n const isValid =\n form.isCommonFieldsValid && form.isProjectValid && typeFields.isValid\n\n async function handleSubmit() {\n const payload = buildCurateTaskPayload({\n existingTask: isEditMode ? task : undefined,\n projectId: form.effectiveProjectId,\n dataType: form.dataType,\n instructions: form.instructions,\n assigneePrincipalId: form.assigneePrincipalId,\n curateTypeFields: {\n ...typeFields.state,\n authorizationMode: typeFields.authorizationMode,\n },\n })\n\n const result = await form.submitTaskAndStatus(payload)\n if (isEditMode) {\n onSaved?.(result)\n } else {\n onCreated?.(result)\n }\n }\n\n return (\n <Stack gap={3}>\n <TaskFormHeader\n onExit={onExit}\n pageTitle={pageTitle}\n pageDescription={pageDescription}\n />\n\n <Stack gap={3} sx={{ width: '100%', maxWidth: 700, mx: 'auto' }}>\n <StyledFormControl fullWidth>\n <InputLabel id=\"curate-task-type-label\">\n {CURATE_TASK_TYPE_INPUT_LABEL}\n </InputLabel>\n <Select\n labelId=\"curate-task-type-label\"\n label={CURATE_TASK_TYPE_INPUT_LABEL}\n value={typeFields.state.concreteType}\n disabled={isEditMode}\n onChange={e => typeFields.setConcreteType(e.target.value)}\n >\n {CURATE_TASK_TYPE_OPTIONS.map(concreteType => (\n <MenuItem key={concreteType} value={concreteType}>\n {CURATE_TASK_TYPE_CONFIG[concreteType].label}\n </MenuItem>\n ))}\n </Select>\n </StyledFormControl>\n\n {form.showProjectSelector && (\n <ProjectSelectorField\n value={form.selectedProjectId}\n onChange={form.setSelectedProjectId}\n />\n )}\n\n <CommonTaskFields\n dataType={form.dataType}\n onDataTypeChange={form.setDataType}\n dueDate={form.displayedDueDate}\n onDueDateChange={form.setPendingDueDate}\n instructions={form.instructions}\n onInstructionsChange={form.setInstructions}\n assigneePrincipalId={form.assigneePrincipalId}\n onAssigneePrincipalIdChange={form.setAssigneePrincipalId}\n />\n\n {isEditMode && (\n <TaskStatusField\n labelId=\"curate-task-status-label\"\n value={form.displayedStatusState}\n onChange={form.setPendingStatusState}\n disabled={form.isStatusFetching || form.currentTaskStatus == null}\n disabledStates={CURATE_TASK_DISABLED_STATUS_STATES}\n />\n )}\n\n {typeFields.state.concreteType ===\n FileBasedMetadataTaskPropertiesConcreteTypeEnum.org_sagebionetworks_repo_model_curation_metadata_FileBasedMetadataTaskProperties ? (\n <FileBasedFields\n value={typeFields.state.value}\n onChange={typeFields.setValue}\n disabled={isEditMode}\n />\n ) : (\n <RecordBasedFields\n value={typeFields.state.value}\n onChange={typeFields.setValue}\n disabled={isEditMode}\n />\n )}\n\n <StyledFormControl fullWidth>\n <InputLabel id=\"curate-task-auth-mode-label\">\n {AUTH_MODE_INPUT_LABEL}\n </InputLabel>\n <FieldDescription>{AUTH_MODE_INPUT_DESCRIPTION}</FieldDescription>\n <Select\n labelId=\"curate-task-auth-mode-label\"\n label={AUTH_MODE_INPUT_LABEL}\n value={typeFields.authorizationMode}\n onChange={e =>\n typeFields.setAuthorizationMode(\n e.target.value as AuthorizationModeOption,\n )\n }\n >\n {AUTH_MODE_OPTIONS.map(mode => (\n <MenuItem key={mode} value={mode}>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\n <Typography variant=\"body1\">\n {AUTH_MODE_CONFIG[mode].label}\n </Typography>\n <Tooltip title={AUTH_MODE_CONFIG[mode].tooltip}>\n <HelpTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </StyledFormControl>\n\n {typeFields.authModeChanged && (\n <Alert severity=\"warning\">{AUTH_MODE_CHANGED_WARNING}</Alert>\n )}\n {form.error && (\n <Alert severity=\"error\">\n {form.error.reason ?? GENERIC_SAVE_ERROR_MESSAGE}\n </Alert>\n )}\n </Stack>\n\n <TaskFormActions\n isEditMode={isEditMode}\n isPending={form.isPending}\n isValid={isValid}\n onSubmit={() => void handleSubmit().catch(noop)}\n onBack={onBack}\n onCancel={onCancel}\n canDelete={form.canDelete}\n showDeleteConfirmation={form.showDeleteConfirmation}\n onRequestDelete={() => form.setShowDeleteConfirmation(true)}\n onConfirmDelete={() => {\n if (task?.taskId != null) form.deleteTask(task.taskId)\n }}\n onCancelDelete={() => form.setShowDeleteConfirmation(false)}\n isDeletePending={form.isDeletePending}\n />\n </Stack>\n )\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Card as e, CardActionArea as t, Stack as n, Typography as r } from "@mui/material";
2
2
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
3
- import { InsertPhotoOutlined as o } from "@mui/icons-material";
3
+ import o from "@mui/icons-material/InsertPhotoOutlined";
4
4
  //#region src/features/entity/metadata-task/create-task/TaskCategoryCard.tsx
5
5
  var s = 260, c = 160;
6
6
  function l(l) {
@@ -1 +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"}
1
+ {"version":3,"file":"TaskCategoryCard.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/TaskCategoryCard.tsx"],"sourcesContent":["import InsertPhotoOutlined from '@mui/icons-material/InsertPhotoOutlined'\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"}
@@ -1,7 +1,7 @@
1
1
  import "../utils/constants.js";
2
2
  import { Button as e, Stack as t, Typography as n } from "@mui/material";
3
3
  import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
4
- import { ArrowBack as o } from "@mui/icons-material";
4
+ import o from "@mui/icons-material/ArrowBack";
5
5
  //#region src/features/entity/metadata-task/create-task/TaskFormHeader.tsx
6
6
  function s(s) {
7
7
  let { onExit: c, pageTitle: l, pageDescription: u } = s;
@@ -1 +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"}
1
+ {"version":3,"file":"TaskFormHeader.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/TaskFormHeader.tsx"],"sourcesContent":["import ArrowBack from '@mui/icons-material/ArrowBack'\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"}
@@ -5,32 +5,32 @@ import o from "./CreateTaskConfirmation.js";
5
5
  import s from "./CurateTaskForm.js";
6
6
  import { Button as c } from "@mui/material";
7
7
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
8
- import { ArrowBack as f } from "@mui/icons-material";
9
- import { Navigate as p, Outlet as m, useNavigate as h, useParams as g } from "react-router";
8
+ import { Navigate as f, Outlet as p, useNavigate as m, useParams as h } from "react-router";
9
+ import g from "@mui/icons-material/ArrowBack";
10
10
  //#region src/features/entity/metadata-task/create-task/curationTaskFlowRoutes.tsx
11
11
  function _(e) {
12
12
  let { onExit: t } = e;
13
13
  return /* @__PURE__ */ d(l, { children: [t && /* @__PURE__ */ u(c, {
14
14
  variant: "text",
15
- startIcon: /* @__PURE__ */ u(f, {}),
15
+ startIcon: /* @__PURE__ */ u(g, {}),
16
16
  onClick: t,
17
17
  sx: { alignSelf: "flex-start" },
18
18
  children: "Back to All Tasks"
19
- }), /* @__PURE__ */ u(m, {})] });
19
+ }), /* @__PURE__ */ u(p, {})] });
20
20
  }
21
21
  function v(e) {
22
- let t = h();
22
+ let t = m();
23
23
  return /* @__PURE__ */ u(_, { onExit: () => void t(e.exitPath) });
24
24
  }
25
25
  function y() {
26
- let e = h();
26
+ let e = m();
27
27
  return /* @__PURE__ */ u(a, {
28
28
  onSelectCompute: () => void e("compute"),
29
29
  onSelectCurate: () => void e("curate")
30
30
  });
31
31
  }
32
32
  function b(t) {
33
- let r = h();
33
+ let r = m();
34
34
  return /* @__PURE__ */ u(i, {
35
35
  projectId: t.projectId,
36
36
  pageTitle: e,
@@ -41,7 +41,7 @@ function b(t) {
41
41
  });
42
42
  }
43
43
  function x(e) {
44
- let n = h();
44
+ let n = m();
45
45
  return /* @__PURE__ */ u(s, {
46
46
  projectId: e.projectId,
47
47
  pageTitle: t,
@@ -52,11 +52,11 @@ function x(e) {
52
52
  });
53
53
  }
54
54
  function S(e) {
55
- let { taskId: t } = g(), n = h(), r = t ? Number(t) : void 0;
55
+ let { taskId: t } = h(), n = m(), r = t ? Number(t) : void 0;
56
56
  return r ? /* @__PURE__ */ u(o, {
57
57
  taskId: r,
58
58
  onDone: () => void n(e.exitPath)
59
- }) : /* @__PURE__ */ u(p, {
59
+ }) : /* @__PURE__ */ u(f, {
60
60
  to: "..",
61
61
  replace: !0
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"curationTaskFlowRoutes.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/curationTaskFlowRoutes.tsx"],"sourcesContent":["import {\n CREATE_COMPUTE_TASK_PAGE_TITLE,\n CREATE_CURATE_TASK_PAGE_TITLE,\n FILL_IN_COMPUTE_TASK_DETAILS_DESCRIPTION,\n FILL_IN_CURATE_TASK_DETAILS_DESCRIPTION,\n BACK_TO_ALL_TASKS_LABEL,\n} from '../utils/constants'\nimport { ArrowBack } from '@mui/icons-material'\nimport { Button } from '@mui/material'\nimport {\n Navigate,\n Outlet,\n RouteObject,\n useNavigate,\n useParams,\n} from 'react-router'\nimport ComputeTaskForm from './ComputeTaskForm'\nimport CreateTaskCategoryPicker from './CreateTaskCategoryPicker'\nimport CreateTaskConfirmation from './CreateTaskConfirmation'\nimport CurateTaskForm from './CurateTaskForm'\n\nexport type GetCurationTaskFlowRoutesOptions = {\n /**\n * Present when the host page already has a project context (e.g. a project's Metadata Tasks page).\n * Absent when creating from a context without one (e.g. the Curator Dashboard).\n */\n projectId?: string\n /**\n * Path (relative to the host router) to navigate to when the user exits the flow -- via \"Back to\n * All Tasks\" on the category picker/compute/curate forms, or \"Back to All Tasks\" on the\n * confirmation screen. Typically the host's own index route (`'/'`).\n */\n exitPath: string\n}\n\n/**\n * Layout for the steps that share the generic \"Create New Task\" header (the category picker and the\n * confirmation screen). The compute/curate form steps render their own more specific centered\n * title/subtitle instead (via their `pageTitle`/`pageDescription` props below), so they aren't nested\n * under this layout.\n *\n * When `onExit` is provided, a top-left \"Back to All Tasks\" button is shown above the title, matching\n * the one on the form steps.\n */\nfunction CreateTaskLayout(props: { onExit?: () => void }) {\n const { onExit } = 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 <Outlet />\n </>\n )\n}\n\nfunction CategoryPickerLayoutRoute(props: { exitPath: string }) {\n const navigate = useNavigate()\n return <CreateTaskLayout onExit={() => void navigate(props.exitPath)} />\n}\n\nfunction CategoryPickerRoute() {\n const navigate = useNavigate()\n return (\n <CreateTaskCategoryPicker\n onSelectCompute={() => void navigate('compute')}\n onSelectCurate={() => void navigate('curate')}\n />\n )\n}\n\nfunction ComputeFormRoute(props: { projectId?: string; exitPath: string }) {\n const navigate = useNavigate()\n return (\n <ComputeTaskForm\n projectId={props.projectId}\n pageTitle={CREATE_COMPUTE_TASK_PAGE_TITLE}\n pageDescription={FILL_IN_COMPUTE_TASK_DETAILS_DESCRIPTION}\n onBack={() => void navigate(-1)}\n onExit={() => void navigate(props.exitPath)}\n onCreated={task => void navigate(`../confirmation/${task.taskId}`)}\n />\n )\n}\n\nfunction CurateFormRoute(props: { projectId?: string; exitPath: string }) {\n const navigate = useNavigate()\n return (\n <CurateTaskForm\n projectId={props.projectId}\n pageTitle={CREATE_CURATE_TASK_PAGE_TITLE}\n pageDescription={FILL_IN_CURATE_TASK_DETAILS_DESCRIPTION}\n onBack={() => void navigate(-1)}\n onExit={() => void navigate(props.exitPath)}\n onCreated={task => void navigate(`../confirmation/${task.taskId}`)}\n />\n )\n}\n\nfunction ConfirmationRoute(props: { exitPath: string }) {\n const { taskId } = useParams<{ taskId: string }>()\n const navigate = useNavigate()\n const parsedTaskId = taskId ? Number(taskId) : undefined\n if (!parsedTaskId) {\n return <Navigate to=\"..\" replace />\n }\n return (\n <CreateTaskConfirmation\n taskId={parsedTaskId}\n onDone={() => void navigate(props.exitPath)}\n />\n )\n}\n\n/**\n * Builds the route objects for the 3-step \"Create New Task\" wizard: category picker -> compute/curate\n * form -> confirmation. The task itself is created on the step-2-to-step-3 transition (see\n * `ComputeTaskForm`/`CurateTaskForm`'s `onCreated`).\n */\nexport function getCurationTaskFlowRoutes(\n options: GetCurationTaskFlowRoutesOptions,\n): RouteObject[] {\n const { projectId, exitPath } = options\n return [\n {\n element: <CategoryPickerLayoutRoute exitPath={exitPath} />,\n children: [{ index: true, element: <CategoryPickerRoute /> }],\n },\n {\n element: <CreateTaskLayout />,\n children: [\n {\n path: 'confirmation/:taskId',\n element: <ConfirmationRoute exitPath={exitPath} />,\n },\n ],\n },\n {\n path: 'compute',\n element: <ComputeFormRoute projectId={projectId} exitPath={exitPath} />,\n },\n {\n path: 'curate',\n element: <CurateFormRoute projectId={projectId} exitPath={exitPath} />,\n },\n ]\n}\n"],"mappings":";;;;;;;;;;AA4CA,SAAS,EAAiB,GAAgC;CACxD,IAAM,EAAE,cAAW;CACnB,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,GAEV,kBAAC,GAAD,CAAS,CAAA,CACT,EAAA,CAAA;AAEN;AAEA,SAAS,EAA0B,GAA6B;CAC9D,IAAM,IAAW,EAAY;CAC7B,OAAO,kBAAC,GAAD,EAAkB,cAAc,KAAK,EAAS,EAAM,QAAQ,EAAI,CAAA;AACzE;AAEA,SAAS,IAAsB;CAC7B,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,uBAAuB,KAAK,EAAS,SAAS;EAC9C,sBAAsB,KAAK,EAAS,QAAQ;CAC7C,CAAA;AAEL;AAEA,SAAS,EAAiB,GAAiD;CACzE,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,WAAW,EAAM;EACjB,WAAW;EACX,iBAAiB;EACjB,cAAc,KAAK,EAAS,EAAE;EAC9B,cAAc,KAAK,EAAS,EAAM,QAAQ;EAC1C,YAAW,MAAQ,KAAK,EAAS,mBAAmB,EAAK,QAAQ;CAClE,CAAA;AAEL;AAEA,SAAS,EAAgB,GAAiD;CACxE,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,WAAW,EAAM;EACjB,WAAW;EACX,iBAAiB;EACjB,cAAc,KAAK,EAAS,EAAE;EAC9B,cAAc,KAAK,EAAS,EAAM,QAAQ;EAC1C,YAAW,MAAQ,KAAK,EAAS,mBAAmB,EAAK,QAAQ;CAClE,CAAA;AAEL;AAEA,SAAS,EAAkB,GAA6B;CACtD,IAAM,EAAE,cAAW,EAA8B,GAC3C,IAAW,EAAY,GACvB,IAAe,IAAS,OAAO,CAAM,IAAI,KAAA;CAI/C,OAHK,IAIH,kBAAC,GAAD;EACE,QAAQ;EACR,cAAc,KAAK,EAAS,EAAM,QAAQ;CAC3C,CAAA,IANM,kBAAC,GAAD;EAAU,IAAG;EAAK,SAAA;CAAS,CAAA;AAQtC;AAOA,SAAgB,EACd,GACe;CACf,IAAM,EAAE,cAAW,gBAAa;CAChC,OAAO;EACL;GACE,SAAS,kBAAC,GAAD,EAAqC,YAAW,CAAA;GACzD,UAAU,CAAC;IAAE,OAAO;IAAM,SAAS,kBAAC,GAAD,CAAsB,CAAA;GAAE,CAAC;EAC9D;EACA;GACE,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAC5B,UAAU,CACR;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,EAA6B,YAAW,CAAA;GACnD,CACF;EACF;EACA;GACE,MAAM;GACN,SAAS,kBAAC,GAAD;IAA6B;IAAqB;GAAW,CAAA;EACxE;EACA;GACE,MAAM;GACN,SAAS,kBAAC,GAAD;IAA4B;IAAqB;GAAW,CAAA;EACvE;CACF;AACF"}
1
+ {"version":3,"file":"curationTaskFlowRoutes.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/create-task/curationTaskFlowRoutes.tsx"],"sourcesContent":["import {\n CREATE_COMPUTE_TASK_PAGE_TITLE,\n CREATE_CURATE_TASK_PAGE_TITLE,\n FILL_IN_COMPUTE_TASK_DETAILS_DESCRIPTION,\n FILL_IN_CURATE_TASK_DETAILS_DESCRIPTION,\n BACK_TO_ALL_TASKS_LABEL,\n} from '../utils/constants'\nimport ArrowBack from '@mui/icons-material/ArrowBack'\nimport { Button } from '@mui/material'\nimport {\n Navigate,\n Outlet,\n RouteObject,\n useNavigate,\n useParams,\n} from 'react-router'\nimport ComputeTaskForm from './ComputeTaskForm'\nimport CreateTaskCategoryPicker from './CreateTaskCategoryPicker'\nimport CreateTaskConfirmation from './CreateTaskConfirmation'\nimport CurateTaskForm from './CurateTaskForm'\n\nexport type GetCurationTaskFlowRoutesOptions = {\n /**\n * Present when the host page already has a project context (e.g. a project's Metadata Tasks page).\n * Absent when creating from a context without one (e.g. the Curator Dashboard).\n */\n projectId?: string\n /**\n * Path (relative to the host router) to navigate to when the user exits the flow -- via \"Back to\n * All Tasks\" on the category picker/compute/curate forms, or \"Back to All Tasks\" on the\n * confirmation screen. Typically the host's own index route (`'/'`).\n */\n exitPath: string\n}\n\n/**\n * Layout for the steps that share the generic \"Create New Task\" header (the category picker and the\n * confirmation screen). The compute/curate form steps render their own more specific centered\n * title/subtitle instead (via their `pageTitle`/`pageDescription` props below), so they aren't nested\n * under this layout.\n *\n * When `onExit` is provided, a top-left \"Back to All Tasks\" button is shown above the title, matching\n * the one on the form steps.\n */\nfunction CreateTaskLayout(props: { onExit?: () => void }) {\n const { onExit } = 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 <Outlet />\n </>\n )\n}\n\nfunction CategoryPickerLayoutRoute(props: { exitPath: string }) {\n const navigate = useNavigate()\n return <CreateTaskLayout onExit={() => void navigate(props.exitPath)} />\n}\n\nfunction CategoryPickerRoute() {\n const navigate = useNavigate()\n return (\n <CreateTaskCategoryPicker\n onSelectCompute={() => void navigate('compute')}\n onSelectCurate={() => void navigate('curate')}\n />\n )\n}\n\nfunction ComputeFormRoute(props: { projectId?: string; exitPath: string }) {\n const navigate = useNavigate()\n return (\n <ComputeTaskForm\n projectId={props.projectId}\n pageTitle={CREATE_COMPUTE_TASK_PAGE_TITLE}\n pageDescription={FILL_IN_COMPUTE_TASK_DETAILS_DESCRIPTION}\n onBack={() => void navigate(-1)}\n onExit={() => void navigate(props.exitPath)}\n onCreated={task => void navigate(`../confirmation/${task.taskId}`)}\n />\n )\n}\n\nfunction CurateFormRoute(props: { projectId?: string; exitPath: string }) {\n const navigate = useNavigate()\n return (\n <CurateTaskForm\n projectId={props.projectId}\n pageTitle={CREATE_CURATE_TASK_PAGE_TITLE}\n pageDescription={FILL_IN_CURATE_TASK_DETAILS_DESCRIPTION}\n onBack={() => void navigate(-1)}\n onExit={() => void navigate(props.exitPath)}\n onCreated={task => void navigate(`../confirmation/${task.taskId}`)}\n />\n )\n}\n\nfunction ConfirmationRoute(props: { exitPath: string }) {\n const { taskId } = useParams<{ taskId: string }>()\n const navigate = useNavigate()\n const parsedTaskId = taskId ? Number(taskId) : undefined\n if (!parsedTaskId) {\n return <Navigate to=\"..\" replace />\n }\n return (\n <CreateTaskConfirmation\n taskId={parsedTaskId}\n onDone={() => void navigate(props.exitPath)}\n />\n )\n}\n\n/**\n * Builds the route objects for the 3-step \"Create New Task\" wizard: category picker -> compute/curate\n * form -> confirmation. The task itself is created on the step-2-to-step-3 transition (see\n * `ComputeTaskForm`/`CurateTaskForm`'s `onCreated`).\n */\nexport function getCurationTaskFlowRoutes(\n options: GetCurationTaskFlowRoutesOptions,\n): RouteObject[] {\n const { projectId, exitPath } = options\n return [\n {\n element: <CategoryPickerLayoutRoute exitPath={exitPath} />,\n children: [{ index: true, element: <CategoryPickerRoute /> }],\n },\n {\n element: <CreateTaskLayout />,\n children: [\n {\n path: 'confirmation/:taskId',\n element: <ConfirmationRoute exitPath={exitPath} />,\n },\n ],\n },\n {\n path: 'compute',\n element: <ComputeFormRoute projectId={projectId} exitPath={exitPath} />,\n },\n {\n path: 'curate',\n element: <CurateFormRoute projectId={projectId} exitPath={exitPath} />,\n },\n ]\n}\n"],"mappings":";;;;;;;;;;AA4CA,SAAS,EAAiB,GAAgC;CACxD,IAAM,EAAE,cAAW;CACnB,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,GAEV,kBAAC,GAAD,CAAS,CAAA,CACT,EAAA,CAAA;AAEN;AAEA,SAAS,EAA0B,GAA6B;CAC9D,IAAM,IAAW,EAAY;CAC7B,OAAO,kBAAC,GAAD,EAAkB,cAAc,KAAK,EAAS,EAAM,QAAQ,EAAI,CAAA;AACzE;AAEA,SAAS,IAAsB;CAC7B,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,uBAAuB,KAAK,EAAS,SAAS;EAC9C,sBAAsB,KAAK,EAAS,QAAQ;CAC7C,CAAA;AAEL;AAEA,SAAS,EAAiB,GAAiD;CACzE,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,WAAW,EAAM;EACjB,WAAW;EACX,iBAAiB;EACjB,cAAc,KAAK,EAAS,EAAE;EAC9B,cAAc,KAAK,EAAS,EAAM,QAAQ;EAC1C,YAAW,MAAQ,KAAK,EAAS,mBAAmB,EAAK,QAAQ;CAClE,CAAA;AAEL;AAEA,SAAS,EAAgB,GAAiD;CACxE,IAAM,IAAW,EAAY;CAC7B,OACE,kBAAC,GAAD;EACE,WAAW,EAAM;EACjB,WAAW;EACX,iBAAiB;EACjB,cAAc,KAAK,EAAS,EAAE;EAC9B,cAAc,KAAK,EAAS,EAAM,QAAQ;EAC1C,YAAW,MAAQ,KAAK,EAAS,mBAAmB,EAAK,QAAQ;CAClE,CAAA;AAEL;AAEA,SAAS,EAAkB,GAA6B;CACtD,IAAM,EAAE,cAAW,EAA8B,GAC3C,IAAW,EAAY,GACvB,IAAe,IAAS,OAAO,CAAM,IAAI,KAAA;CAI/C,OAHK,IAIH,kBAAC,GAAD;EACE,QAAQ;EACR,cAAc,KAAK,EAAS,EAAM,QAAQ;CAC3C,CAAA,IANM,kBAAC,GAAD;EAAU,IAAG;EAAK,SAAA;CAAS,CAAA;AAQtC;AAOA,SAAgB,EACd,GACe;CACf,IAAM,EAAE,cAAW,gBAAa;CAChC,OAAO;EACL;GACE,SAAS,kBAAC,GAAD,EAAqC,YAAW,CAAA;GACzD,UAAU,CAAC;IAAE,OAAO;IAAM,SAAS,kBAAC,GAAD,CAAsB,CAAA;GAAE,CAAC;EAC9D;EACA;GACE,SAAS,kBAAC,GAAD,CAAmB,CAAA;GAC5B,UAAU,CACR;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,EAA6B,YAAW,CAAA;GACnD,CACF;EACF;EACA;GACE,MAAM;GACN,SAAS,kBAAC,GAAD;IAA6B;IAAqB;GAAW,CAAA;EACxE;EACA;GACE,MAAM;GACN,SAAS,kBAAC,GAAD;IAA4B;IAAqB;GAAW,CAAA;EACvE;CACF;AACF"}
@@ -8,7 +8,7 @@ import u from "./OpenInvitationsToUserCard.module.js";
8
8
  import { useRef as d } from "react";
9
9
  import { Card as f, Collapse as p, Divider as m, Tooltip as h } from "@mui/material";
10
10
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
11
- import { ChatTwoTone as y } from "@mui/icons-material";
11
+ import y from "@mui/icons-material/ChatTwoTone";
12
12
  import b from "@mui/material/Typography";
13
13
  import x from "@mui/material/Stack";
14
14
  import S from "@mui/material/Button";
@@ -1 +1 @@
1
- {"version":3,"file":"OpenInvitationsToUserCard.js","names":[],"sources":["../../../../../src/features/team/invitation/components/OpenInvitationsToUserCard.tsx"],"sourcesContent":["import { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport { UserBadge } from '@/components/UserCard/UserBadge'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport {\n useAddMemberToTeam,\n useDeleteMembershipInvitation,\n useGetAllOpenMembershipInvitations,\n} from '@/synapse-queries/team/useTeamMembers'\nimport { useGetCurrentUserProfile } from '@/synapse-queries/user/useUserBundle'\nimport { ChatTwoTone } from '@mui/icons-material'\nimport { Card, CardProps, Collapse, Divider, Tooltip } from '@mui/material'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { MembershipInvitation } from '@sage-bionetworks/synapse-client/generated/models/index'\nimport { useRef } from 'react'\nimport TransitionGroup from 'react-transition-group/TransitionGroup'\nimport {\n ACCEPT_TEAM_INVITATION_ERROR_MESSAGE,\n ACCEPT_TEAM_INVITATION_SUCCESS_MESSAGE,\n DECLINE_TEAM_INVITATION_ERROR_MESSAGE,\n} from '../utils/constants'\nimport styles from './OpenInvitationsToUserCard.module.scss'\n\nfunction InvitationRow(props: { invitation: MembershipInvitation }) {\n const { invitation } = props\n\n const { mutate: acceptInvitation, isPending: acceptIsPending } =\n useAddMemberToTeam({\n onSuccess: () => {\n displayToast(ACCEPT_TEAM_INVITATION_SUCCESS_MESSAGE, 'success')\n },\n onError: error => {\n displayToast(error.message, 'danger', {\n title: ACCEPT_TEAM_INVITATION_ERROR_MESSAGE,\n })\n },\n })\n const { mutate: deleteMembershipInvitation, isPending: deleteIsPending } =\n useDeleteMembershipInvitation({\n onSuccess: () => {\n displayToast('Invitation dismissed.', 'info')\n },\n onError: error => {\n displayToast(error.message, 'danger', {\n title: DECLINE_TEAM_INVITATION_ERROR_MESSAGE,\n })\n },\n })\n\n return (\n <div key={invitation.id} className={styles.row}>\n <span className={styles.teamName}>\n <UserOrTeamBadge principalId={invitation.teamId} />\n </span>\n <div className={styles.invitationMessage}>\n {invitation.message && (\n <>\n <Tooltip\n title={\n <>\n Message from{' '}\n <UserBadge\n userId={invitation.createdBy}\n showFullName\n showCardOnHover={false}\n disableLink\n />\n </>\n }\n >\n <ChatTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {invitation.message}\n </Typography>\n </>\n )}\n </div>\n <Button\n variant=\"contained\"\n color=\"primary\"\n loading={acceptIsPending}\n disabled={deleteIsPending}\n onClick={() => {\n acceptInvitation({\n teamId: invitation.teamId!,\n userId: invitation.inviteeId!,\n })\n }}\n >\n Join\n </Button>\n <Button\n variant=\"outlined\"\n loading={deleteIsPending}\n disabled={acceptIsPending}\n onClick={() => {\n deleteMembershipInvitation({\n membershipInvitation: invitation,\n })\n }}\n >\n Decline\n </Button>\n </div>\n )\n}\n\ntype OpenInvitationsToUserCardProps = {\n cardProps?: CardProps\n}\n\n/**\n * Shows a card of the open team membership invitations for the current user, if any exist. If no invitations exist, nothing is shown.\n */\nexport default function OpenInvitationsToUserCard(\n props: OpenInvitationsToUserCardProps,\n) {\n const { cardProps } = props\n const { data: currentUser } = useGetCurrentUserProfile()\n const { data: openInvitations, isLoading } =\n useGetAllOpenMembershipInvitations(currentUser?.ownerId!, {\n enabled: Boolean(currentUser?.ownerId),\n })\n\n // Keep track of the maximum number of invitations seen so that if the list of invitations goes down to 0 we can still show the section (with a message indicating there are no invitations) instead of hiding the section entirely.\n // This is to prevent jarring changes in the UI if a user accepts/declines an invitation and the section disappears entirely.\n const maxSeenInvitationsRef = useRef(0)\n maxSeenInvitationsRef.current = Math.max(\n maxSeenInvitationsRef.current,\n openInvitations?.length ?? 0,\n )\n if (\n maxSeenInvitationsRef.current == 0 &&\n (isLoading || !openInvitations || openInvitations.length === 0)\n ) {\n return null\n }\n\n return (\n <Card {...cardProps}>\n <Typography variant=\"headline3\" gutterBottom>\n Pending Team Invitations\n </Typography>\n <Typography variant=\"body1\" gutterBottom>\n You have been invited to join the following team(s). New content may be\n visible to you after you accept a team invitation.\n </Typography>\n {openInvitations && openInvitations.length > 0 ? (\n <Stack\n component={TransitionGroup}\n divider={<Divider flexItem />}\n spacing={2}\n mt={2}\n >\n {openInvitations.map(invitation => (\n <Collapse key={invitation.id}>\n <InvitationRow invitation={invitation} />\n </Collapse>\n ))}\n </Stack>\n ) : (\n <Typography\n variant=\"body1Italic\"\n align=\"center\"\n color=\"text.secondary\"\n mt={2}\n >\n You have no pending team invitations.\n </Typography>\n )}\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAS,EAAc,GAA6C;CAClE,IAAM,EAAE,kBAAe,GAEjB,EAAE,QAAQ,GAAkB,WAAW,MAC3C,EAAmB;EACjB,iBAAiB;GACf,EAAa,GAAwC,SAAS;EAChE;EACA,UAAS,MAAS;GAChB,EAAa,EAAM,SAAS,UAAU,EACpC,OAAO,EACT,CAAC;EACH;CACF,CAAC,GACG,EAAE,QAAQ,GAA4B,WAAW,MACrD,EAA8B;EAC5B,iBAAiB;GACf,EAAa,yBAAyB,MAAM;EAC9C;EACA,UAAS,MAAS;GAChB,EAAa,EAAM,SAAS,UAAU,EACpC,OAAO,EACT,CAAC;EACH;CACF,CAAC;CAEH,OACE,kBAAC,OAAD;EAAyB,WAAW,EAAO;YAA3C;GACE,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD,EAAiB,aAAa,EAAW,OAAS,CAAA;GAC9C,CAAA;GACN,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB,EAAW,WACV,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KACE,OACE,kBAAA,GAAA,EAAA,UAAA;MAAE;MACa;MACb,kBAAC,GAAD;OACE,QAAQ,EAAW;OACnB,cAAA;OACA,iBAAiB;OACjB,aAAA;MACD,CAAA;KACD,EAAA,CAAA;eAGJ,kBAAC,GAAD,EAAa,IAAI,EAAE,OAAO,WAAW,EAAI,CAAA;IAClC,CAAA,GACT,kBAAC,GAAD;KAAY,SAAQ;KAAQ,OAAM;eAC/B,EAAW;IACF,CAAA,CACZ,EAAA,CAAA;GAED,CAAA;GACL,kBAAC,GAAD;IACE,SAAQ;IACR,OAAM;IACN,SAAS;IACT,UAAU;IACV,eAAe;KACb,EAAiB;MACf,QAAQ,EAAW;MACnB,QAAQ,EAAW;KACrB,CAAC;IACH;cACD;GAEO,CAAA;GACR,kBAAC,GAAD;IACE,SAAQ;IACR,SAAS;IACT,UAAU;IACV,eAAe;KACb,EAA2B,EACzB,sBAAsB,EACxB,CAAC;IACH;cACD;GAEO,CAAA;EACL;IAtDK,EAAW,EAsDhB;AAET;AASA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,iBAAc,GAChB,EAAE,MAAM,MAAgB,EAAyB,GACjD,EAAE,MAAM,GAAiB,iBAC7B,EAAmC,GAAa,SAAU,EACxD,SAAS,EAAQ,GAAa,QAChC,CAAC,GAIG,IAAwB,EAAO,CAAC;CAYtC,OAXA,EAAsB,UAAU,KAAK,IACnC,EAAsB,SACtB,GAAiB,UAAU,CAC7B,GAEE,EAAsB,WAAW,MAChC,KAAa,CAAC,KAAmB,EAAgB,WAAW,KAEtD,OAIP,kBAAC,GAAD;EAAM,GAAI;YAAV;GACE,kBAAC,GAAD;IAAY,SAAQ;IAAY,cAAA;cAAa;GAEjC,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAQ;IAAQ,cAAA;cAAa;GAG7B,CAAA;GACX,KAAmB,EAAgB,SAAS,IAC3C,kBAAC,GAAD;IACE,WAAW;IACX,SAAS,kBAAC,GAAD,EAAS,UAAA,GAAU,CAAA;IAC5B,SAAS;IACT,IAAI;cAEH,EAAgB,KAAI,MACnB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAA2B,cAAa,CAAA,EAChC,GAFK,EAAW,EAEhB,CACX;GACI,CAAA,IAEP,kBAAC,GAAD;IACE,SAAQ;IACR,OAAM;IACN,OAAM;IACN,IAAI;cACL;GAEW,CAAA;EAEV;;AAEV"}
1
+ {"version":3,"file":"OpenInvitationsToUserCard.js","names":[],"sources":["../../../../../src/features/team/invitation/components/OpenInvitationsToUserCard.tsx"],"sourcesContent":["import { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport { UserBadge } from '@/components/UserCard/UserBadge'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport {\n useAddMemberToTeam,\n useDeleteMembershipInvitation,\n useGetAllOpenMembershipInvitations,\n} from '@/synapse-queries/team/useTeamMembers'\nimport { useGetCurrentUserProfile } from '@/synapse-queries/user/useUserBundle'\nimport ChatTwoTone from '@mui/icons-material/ChatTwoTone'\nimport { Card, CardProps, Collapse, Divider, Tooltip } from '@mui/material'\nimport Button from '@mui/material/Button'\nimport Stack from '@mui/material/Stack'\nimport Typography from '@mui/material/Typography'\nimport { MembershipInvitation } from '@sage-bionetworks/synapse-client/generated/models/index'\nimport { useRef } from 'react'\nimport TransitionGroup from 'react-transition-group/TransitionGroup'\nimport {\n ACCEPT_TEAM_INVITATION_ERROR_MESSAGE,\n ACCEPT_TEAM_INVITATION_SUCCESS_MESSAGE,\n DECLINE_TEAM_INVITATION_ERROR_MESSAGE,\n} from '../utils/constants'\nimport styles from './OpenInvitationsToUserCard.module.scss'\n\nfunction InvitationRow(props: { invitation: MembershipInvitation }) {\n const { invitation } = props\n\n const { mutate: acceptInvitation, isPending: acceptIsPending } =\n useAddMemberToTeam({\n onSuccess: () => {\n displayToast(ACCEPT_TEAM_INVITATION_SUCCESS_MESSAGE, 'success')\n },\n onError: error => {\n displayToast(error.message, 'danger', {\n title: ACCEPT_TEAM_INVITATION_ERROR_MESSAGE,\n })\n },\n })\n const { mutate: deleteMembershipInvitation, isPending: deleteIsPending } =\n useDeleteMembershipInvitation({\n onSuccess: () => {\n displayToast('Invitation dismissed.', 'info')\n },\n onError: error => {\n displayToast(error.message, 'danger', {\n title: DECLINE_TEAM_INVITATION_ERROR_MESSAGE,\n })\n },\n })\n\n return (\n <div key={invitation.id} className={styles.row}>\n <span className={styles.teamName}>\n <UserOrTeamBadge principalId={invitation.teamId} />\n </span>\n <div className={styles.invitationMessage}>\n {invitation.message && (\n <>\n <Tooltip\n title={\n <>\n Message from{' '}\n <UserBadge\n userId={invitation.createdBy}\n showFullName\n showCardOnHover={false}\n disableLink\n />\n </>\n }\n >\n <ChatTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {invitation.message}\n </Typography>\n </>\n )}\n </div>\n <Button\n variant=\"contained\"\n color=\"primary\"\n loading={acceptIsPending}\n disabled={deleteIsPending}\n onClick={() => {\n acceptInvitation({\n teamId: invitation.teamId!,\n userId: invitation.inviteeId!,\n })\n }}\n >\n Join\n </Button>\n <Button\n variant=\"outlined\"\n loading={deleteIsPending}\n disabled={acceptIsPending}\n onClick={() => {\n deleteMembershipInvitation({\n membershipInvitation: invitation,\n })\n }}\n >\n Decline\n </Button>\n </div>\n )\n}\n\ntype OpenInvitationsToUserCardProps = {\n cardProps?: CardProps\n}\n\n/**\n * Shows a card of the open team membership invitations for the current user, if any exist. If no invitations exist, nothing is shown.\n */\nexport default function OpenInvitationsToUserCard(\n props: OpenInvitationsToUserCardProps,\n) {\n const { cardProps } = props\n const { data: currentUser } = useGetCurrentUserProfile()\n const { data: openInvitations, isLoading } =\n useGetAllOpenMembershipInvitations(currentUser?.ownerId!, {\n enabled: Boolean(currentUser?.ownerId),\n })\n\n // Keep track of the maximum number of invitations seen so that if the list of invitations goes down to 0 we can still show the section (with a message indicating there are no invitations) instead of hiding the section entirely.\n // This is to prevent jarring changes in the UI if a user accepts/declines an invitation and the section disappears entirely.\n const maxSeenInvitationsRef = useRef(0)\n maxSeenInvitationsRef.current = Math.max(\n maxSeenInvitationsRef.current,\n openInvitations?.length ?? 0,\n )\n if (\n maxSeenInvitationsRef.current == 0 &&\n (isLoading || !openInvitations || openInvitations.length === 0)\n ) {\n return null\n }\n\n return (\n <Card {...cardProps}>\n <Typography variant=\"headline3\" gutterBottom>\n Pending Team Invitations\n </Typography>\n <Typography variant=\"body1\" gutterBottom>\n You have been invited to join the following team(s). New content may be\n visible to you after you accept a team invitation.\n </Typography>\n {openInvitations && openInvitations.length > 0 ? (\n <Stack\n component={TransitionGroup}\n divider={<Divider flexItem />}\n spacing={2}\n mt={2}\n >\n {openInvitations.map(invitation => (\n <Collapse key={invitation.id}>\n <InvitationRow invitation={invitation} />\n </Collapse>\n ))}\n </Stack>\n ) : (\n <Typography\n variant=\"body1Italic\"\n align=\"center\"\n color=\"text.secondary\"\n mt={2}\n >\n You have no pending team invitations.\n </Typography>\n )}\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAS,EAAc,GAA6C;CAClE,IAAM,EAAE,kBAAe,GAEjB,EAAE,QAAQ,GAAkB,WAAW,MAC3C,EAAmB;EACjB,iBAAiB;GACf,EAAa,GAAwC,SAAS;EAChE;EACA,UAAS,MAAS;GAChB,EAAa,EAAM,SAAS,UAAU,EACpC,OAAO,EACT,CAAC;EACH;CACF,CAAC,GACG,EAAE,QAAQ,GAA4B,WAAW,MACrD,EAA8B;EAC5B,iBAAiB;GACf,EAAa,yBAAyB,MAAM;EAC9C;EACA,UAAS,MAAS;GAChB,EAAa,EAAM,SAAS,UAAU,EACpC,OAAO,EACT,CAAC;EACH;CACF,CAAC;CAEH,OACE,kBAAC,OAAD;EAAyB,WAAW,EAAO;YAA3C;GACE,kBAAC,QAAD;IAAM,WAAW,EAAO;cACtB,kBAAC,GAAD,EAAiB,aAAa,EAAW,OAAS,CAAA;GAC9C,CAAA;GACN,kBAAC,OAAD;IAAK,WAAW,EAAO;cACpB,EAAW,WACV,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KACE,OACE,kBAAA,GAAA,EAAA,UAAA;MAAE;MACa;MACb,kBAAC,GAAD;OACE,QAAQ,EAAW;OACnB,cAAA;OACA,iBAAiB;OACjB,aAAA;MACD,CAAA;KACD,EAAA,CAAA;eAGJ,kBAAC,GAAD,EAAa,IAAI,EAAE,OAAO,WAAW,EAAI,CAAA;IAClC,CAAA,GACT,kBAAC,GAAD;KAAY,SAAQ;KAAQ,OAAM;eAC/B,EAAW;IACF,CAAA,CACZ,EAAA,CAAA;GAED,CAAA;GACL,kBAAC,GAAD;IACE,SAAQ;IACR,OAAM;IACN,SAAS;IACT,UAAU;IACV,eAAe;KACb,EAAiB;MACf,QAAQ,EAAW;MACnB,QAAQ,EAAW;KACrB,CAAC;IACH;cACD;GAEO,CAAA;GACR,kBAAC,GAAD;IACE,SAAQ;IACR,SAAS;IACT,UAAU;IACV,eAAe;KACb,EAA2B,EACzB,sBAAsB,EACxB,CAAC;IACH;cACD;GAEO,CAAA;EACL;IAtDK,EAAW,EAsDhB;AAET;AASA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,iBAAc,GAChB,EAAE,MAAM,MAAgB,EAAyB,GACjD,EAAE,MAAM,GAAiB,iBAC7B,EAAmC,GAAa,SAAU,EACxD,SAAS,EAAQ,GAAa,QAChC,CAAC,GAIG,IAAwB,EAAO,CAAC;CAYtC,OAXA,EAAsB,UAAU,KAAK,IACnC,EAAsB,SACtB,GAAiB,UAAU,CAC7B,GAEE,EAAsB,WAAW,MAChC,KAAa,CAAC,KAAmB,EAAgB,WAAW,KAEtD,OAIP,kBAAC,GAAD;EAAM,GAAI;YAAV;GACE,kBAAC,GAAD;IAAY,SAAQ;IAAY,cAAA;cAAa;GAEjC,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAQ;IAAQ,cAAA;cAAa;GAG7B,CAAA;GACX,KAAmB,EAAgB,SAAS,IAC3C,kBAAC,GAAD;IACE,WAAW;IACX,SAAS,kBAAC,GAAD,EAAS,UAAA,GAAU,CAAA;IAC5B,SAAS;IACT,IAAI;cAEH,EAAgB,KAAI,MACnB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAA2B,cAAa,CAAA,EAChC,GAFK,EAAW,EAEhB,CACX;GACI,CAAA,IAEP,kBAAC,GAAD;IACE,SAAQ;IACR,OAAM;IACN,OAAM;IACN,IAAI;cACL;GAEW,CAAA;EAEV;;AAEV"}
@@ -5,6 +5,11 @@ export declare const mockJsonSchemaAR1: JsonSchemaAccessRequirement;
5
5
  /** AR 2: Clinical Trial Data Access — references the Clinical Trial FormTemplate. Requires an uploaded DUC. */
6
6
  export declare const mockJsonSchemaAR2: JsonSchemaAccessRequirement;
7
7
  export declare const mockJsonSchemaAccessRequirements: JsonSchemaAccessRequirement[];
8
+ /**
9
+ * {@link mockJsonSchemaAR2} with the subjects, access type, and whole-day expiration period that the
10
+ * access requirement editor needs to load an existing AR.
11
+ */
12
+ export declare const mockEditableJsonSchemaAR: JsonSchemaAccessRequirement;
8
13
  /**
9
14
  * A wiki for {@link mockJsonSchemaAR1}. It is intentionally not registered with the shared access requirement wiki
10
15
  * mocks, so that the AR is wiki-less by default.
@@ -1 +1 @@
1
- {"version":3,"file":"mockJsonSchemaAccessRequirements.d.ts","sourceRoot":"","sources":["../../../src/mocks/accessRequirement/mockJsonSchemaAccessRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAE5B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAEL,QAAQ,EACR,WAAW,EACZ,MAAM,iCAAiC,CAAA;AAKxC,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,EAAE,2BAiB/B,CAAA;AAED,+GAA+G;AAC/G,eAAO,MAAM,iBAAiB,EAAE,2BAkB/B,CAAA;AAED,eAAO,MAAM,gCAAgC,EAAE,2BAA2B,EAGzE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAWvC,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAI1C,CAAA"}
1
+ {"version":3,"file":"mockJsonSchemaAccessRequirements.d.ts","sourceRoot":"","sources":["../../../src/mocks/accessRequirement/mockJsonSchemaAccessRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAI5B,MAAM,kCAAkC,CAAA;AAIzC,OAAO,EAEL,QAAQ,EACR,WAAW,EACZ,MAAM,iCAAiC,CAAA;AAKxC,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,EAAE,2BAiB/B,CAAA;AAED,+GAA+G;AAC/G,eAAO,MAAM,iBAAiB,EAAE,2BAkB/B,CAAA;AAED,eAAO,MAAM,gCAAgC,EAAE,2BAA2B,EAGzE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,2BAWtC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAWvC,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,WAI1C,CAAA"}
@@ -1,17 +1,19 @@
1
- import { MOCK_DUC_TEMPLATE_FILE_HANDLE_ID as e } from "../mock_file_handle.js";
2
- import { ObjectType as t } from "@sage-bionetworks/synapse-types";
3
- import { JsonSchemaAccessRequirementConcreteTypeEnum as n } from "@sage-bionetworks/synapse-client";
1
+ import { DAY_IN_MS as e } from "../../utils/SynapseConstants.js";
2
+ import { MOCK_DUC_TEMPLATE_FILE_HANDLE_ID as t } from "../mock_file_handle.js";
3
+ import { MOCK_FILE_ENTITY_ID as n } from "../entity/mockFileEntity.js";
4
+ import { ObjectType as r } from "@sage-bionetworks/synapse-types";
5
+ import { JsonSchemaAccessRequirementAccessTypeEnum as i, JsonSchemaAccessRequirementConcreteTypeEnum as a, RestrictableObjectDescriptorTypeEnum as o } from "@sage-bionetworks/synapse-client";
4
6
  //#region src/mocks/accessRequirement/mockJsonSchemaAccessRequirements.ts
5
- var r = (/* @__PURE__ */ new Date()).toISOString(), i = "1234567", a = {
7
+ var s = (/* @__PURE__ */ new Date()).toISOString(), c = "1234567", l = {
6
8
  id: 9e3,
7
9
  name: "Genomics Data Access",
8
10
  etag: "etag-ar-9000",
9
11
  versionNumber: 1,
10
- createdOn: r,
11
- modifiedOn: r,
12
- createdBy: i,
13
- modifiedBy: i,
14
- concreteType: n.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,
12
+ createdOn: s,
13
+ modifiedOn: s,
14
+ createdBy: c,
15
+ modifiedBy: c,
16
+ concreteType: a.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,
15
17
  formTemplateRef: {
16
18
  templateId: "template-1",
17
19
  templateVersionNumber: 1
@@ -21,16 +23,16 @@ var r = (/* @__PURE__ */ new Date()).toISOString(), i = "1234567", a = {
21
23
  isValidatedProfileRequired: !1,
22
24
  isTwoFaRequired: !1,
23
25
  isDUCRequired: !1
24
- }, o = {
26
+ }, u = {
25
27
  id: 9001,
26
28
  name: "Clinical Trial Data Access",
27
29
  etag: "etag-ar-9001",
28
30
  versionNumber: 1,
29
- createdOn: r,
30
- modifiedOn: r,
31
- createdBy: i,
32
- modifiedBy: i,
33
- concreteType: n.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,
31
+ createdOn: s,
32
+ modifiedOn: s,
33
+ createdBy: c,
34
+ modifiedBy: c,
35
+ concreteType: a.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,
34
36
  formTemplateRef: {
35
37
  templateId: "template-2",
36
38
  templateVersionNumber: 1
@@ -40,23 +42,32 @@ var r = (/* @__PURE__ */ new Date()).toISOString(), i = "1234567", a = {
40
42
  isValidatedProfileRequired: !0,
41
43
  isTwoFaRequired: !0,
42
44
  isDUCRequired: !0,
43
- ducTemplateFileHandleId: e
44
- }, s = [a, o], c = {
45
+ ducTemplateFileHandleId: t
46
+ }, d = [l, u], f = {
47
+ ...u,
48
+ accessType: i.DOWNLOAD,
49
+ subjectIds: [{
50
+ id: n,
51
+ type: o.ENTITY
52
+ }],
53
+ subjectsDefinedByAnnotations: !1,
54
+ expirationPeriod: 180 * e
55
+ }, p = {
45
56
  id: "9000",
46
57
  etag: "etag-wiki-9000",
47
- createdOn: r,
48
- createdBy: i,
49
- modifiedOn: r,
50
- modifiedBy: i,
58
+ createdOn: s,
59
+ createdBy: c,
60
+ modifiedOn: s,
61
+ modifiedBy: c,
51
62
  title: "",
52
63
  markdown: "**Access to these genomics data is controlled.**\n\nTo request access, provide the information that is requested in the following steps, including a description of your proposed research.",
53
64
  attachmentFileHandleIds: []
54
- }, l = {
55
- wikiPageId: c.id,
56
- ownerObjectId: String(a.id),
57
- ownerObjectType: t.ACCESS_REQUIREMENT
65
+ }, m = {
66
+ wikiPageId: p.id,
67
+ ownerObjectId: String(l.id),
68
+ ownerObjectType: r.ACCESS_REQUIREMENT
58
69
  };
59
70
  //#endregion
60
- export { a as mockJsonSchemaAR1, c as mockJsonSchemaAR1WikiPage, l as mockJsonSchemaAR1WikiPageKey, o as mockJsonSchemaAR2, s as mockJsonSchemaAccessRequirements };
71
+ export { f as mockEditableJsonSchemaAR, l as mockJsonSchemaAR1, p as mockJsonSchemaAR1WikiPage, m as mockJsonSchemaAR1WikiPageKey, u as mockJsonSchemaAR2, d as mockJsonSchemaAccessRequirements };
61
72
 
62
73
  //# sourceMappingURL=mockJsonSchemaAccessRequirements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockJsonSchemaAccessRequirements.js","names":[],"sources":["../../../src/mocks/accessRequirement/mockJsonSchemaAccessRequirements.ts"],"sourcesContent":["import {\n JsonSchemaAccessRequirement,\n JsonSchemaAccessRequirementConcreteTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport { MOCK_DUC_TEMPLATE_FILE_HANDLE_ID } from '@/mocks/mock_file_handle'\nimport {\n ObjectType,\n WikiPage,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\n\nconst now = new Date().toISOString()\nconst actUserId = '1234567'\n\n/** AR 1: Genomics Data Access — references the Genomics FormTemplate. No DUC required. */\nexport const mockJsonSchemaAR1: JsonSchemaAccessRequirement = {\n id: 9000,\n name: 'Genomics Data Access',\n etag: 'etag-ar-9000',\n versionNumber: 1,\n createdOn: now,\n modifiedOn: now,\n createdBy: actUserId,\n modifiedBy: actUserId,\n concreteType:\n JsonSchemaAccessRequirementConcreteTypeEnum.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,\n formTemplateRef: { templateId: 'template-1', templateVersionNumber: 1 },\n expirationPeriod: 31536000000, // 1 year\n isCertifiedUserRequired: true,\n isValidatedProfileRequired: false,\n isTwoFaRequired: false,\n isDUCRequired: false,\n}\n\n/** AR 2: Clinical Trial Data Access — references the Clinical Trial FormTemplate. Requires an uploaded DUC. */\nexport const mockJsonSchemaAR2: JsonSchemaAccessRequirement = {\n id: 9001,\n name: 'Clinical Trial Data Access',\n etag: 'etag-ar-9001',\n versionNumber: 1,\n createdOn: now,\n modifiedOn: now,\n createdBy: actUserId,\n modifiedBy: actUserId,\n concreteType:\n JsonSchemaAccessRequirementConcreteTypeEnum.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,\n formTemplateRef: { templateId: 'template-2', templateVersionNumber: 1 },\n expirationPeriod: 15768000000, // 6 months\n isCertifiedUserRequired: true,\n isValidatedProfileRequired: true,\n isTwoFaRequired: true,\n isDUCRequired: true,\n ducTemplateFileHandleId: MOCK_DUC_TEMPLATE_FILE_HANDLE_ID,\n}\n\nexport const mockJsonSchemaAccessRequirements: JsonSchemaAccessRequirement[] = [\n mockJsonSchemaAR1,\n mockJsonSchemaAR2,\n]\n\n/**\n * A wiki for {@link mockJsonSchemaAR1}. It is intentionally not registered with the shared access requirement wiki\n * mocks, so that the AR is wiki-less by default.\n */\nexport const mockJsonSchemaAR1WikiPage: WikiPage = {\n id: '9000',\n etag: 'etag-wiki-9000',\n createdOn: now,\n createdBy: actUserId,\n modifiedOn: now,\n modifiedBy: actUserId,\n title: '',\n markdown:\n '**Access to these genomics data is controlled.**\\n\\nTo request access, provide the information that is requested in the following steps, including a description of your proposed research.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockJsonSchemaAR1WikiPageKey: WikiPageKey = {\n wikiPageId: mockJsonSchemaAR1WikiPage.id,\n ownerObjectId: String(mockJsonSchemaAR1.id),\n ownerObjectType: ObjectType.ACCESS_REQUIREMENT,\n}\n"],"mappings":";;;;AAWA,IAAM,qBAAM,IAAI,KAAK,GAAE,YAAY,GAC7B,IAAY,WAGL,IAAiD;CAC5D,IAAI;CACJ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cACE,EAA4C;CAC9C,iBAAiB;EAAE,YAAY;EAAc,uBAAuB;CAAE;CACtE,kBAAkB;CAClB,yBAAyB;CACzB,4BAA4B;CAC5B,iBAAiB;CACjB,eAAe;AACjB,GAGa,IAAiD;CAC5D,IAAI;CACJ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cACE,EAA4C;CAC9C,iBAAiB;EAAE,YAAY;EAAc,uBAAuB;CAAE;CACtE,kBAAkB;CAClB,yBAAyB;CACzB,4BAA4B;CAC5B,iBAAiB;CACjB,eAAe;CACf,yBAAyB;AAC3B,GAEa,IAAkE,CAC7E,GACA,CACF,GAMa,IAAsC;CACjD,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAW;CACX,YAAY;CACZ,YAAY;CACZ,OAAO;CACP,UACE;CACF,yBAAyB,CAAC;AAC5B,GAEa,IAA4C;CACvD,YAAY,EAA0B;CACtC,eAAe,OAAO,EAAkB,EAAE;CAC1C,iBAAiB,EAAW;AAC9B"}
1
+ {"version":3,"file":"mockJsonSchemaAccessRequirements.js","names":[],"sources":["../../../src/mocks/accessRequirement/mockJsonSchemaAccessRequirements.ts"],"sourcesContent":["import {\n JsonSchemaAccessRequirement,\n JsonSchemaAccessRequirementAccessTypeEnum,\n JsonSchemaAccessRequirementConcreteTypeEnum,\n RestrictableObjectDescriptorTypeEnum,\n} from '@sage-bionetworks/synapse-client'\nimport { MOCK_FILE_ENTITY_ID } from '@/mocks/entity/mockFileEntity'\nimport { MOCK_DUC_TEMPLATE_FILE_HANDLE_ID } from '@/mocks/mock_file_handle'\nimport { DAY_IN_MS } from '@/utils/SynapseConstants'\nimport {\n ObjectType,\n WikiPage,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\n\nconst now = new Date().toISOString()\nconst actUserId = '1234567'\n\n/** AR 1: Genomics Data Access — references the Genomics FormTemplate. No DUC required. */\nexport const mockJsonSchemaAR1: JsonSchemaAccessRequirement = {\n id: 9000,\n name: 'Genomics Data Access',\n etag: 'etag-ar-9000',\n versionNumber: 1,\n createdOn: now,\n modifiedOn: now,\n createdBy: actUserId,\n modifiedBy: actUserId,\n concreteType:\n JsonSchemaAccessRequirementConcreteTypeEnum.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,\n formTemplateRef: { templateId: 'template-1', templateVersionNumber: 1 },\n expirationPeriod: 31536000000, // 1 year\n isCertifiedUserRequired: true,\n isValidatedProfileRequired: false,\n isTwoFaRequired: false,\n isDUCRequired: false,\n}\n\n/** AR 2: Clinical Trial Data Access — references the Clinical Trial FormTemplate. Requires an uploaded DUC. */\nexport const mockJsonSchemaAR2: JsonSchemaAccessRequirement = {\n id: 9001,\n name: 'Clinical Trial Data Access',\n etag: 'etag-ar-9001',\n versionNumber: 1,\n createdOn: now,\n modifiedOn: now,\n createdBy: actUserId,\n modifiedBy: actUserId,\n concreteType:\n JsonSchemaAccessRequirementConcreteTypeEnum.org_sagebionetworks_repo_model_JsonSchemaAccessRequirement,\n formTemplateRef: { templateId: 'template-2', templateVersionNumber: 1 },\n expirationPeriod: 15768000000, // 6 months\n isCertifiedUserRequired: true,\n isValidatedProfileRequired: true,\n isTwoFaRequired: true,\n isDUCRequired: true,\n ducTemplateFileHandleId: MOCK_DUC_TEMPLATE_FILE_HANDLE_ID,\n}\n\nexport const mockJsonSchemaAccessRequirements: JsonSchemaAccessRequirement[] = [\n mockJsonSchemaAR1,\n mockJsonSchemaAR2,\n]\n\n/**\n * {@link mockJsonSchemaAR2} with the subjects, access type, and whole-day expiration period that the\n * access requirement editor needs to load an existing AR.\n */\nexport const mockEditableJsonSchemaAR: JsonSchemaAccessRequirement = {\n ...mockJsonSchemaAR2,\n accessType: JsonSchemaAccessRequirementAccessTypeEnum.DOWNLOAD,\n subjectIds: [\n {\n id: MOCK_FILE_ENTITY_ID,\n type: RestrictableObjectDescriptorTypeEnum.ENTITY,\n },\n ],\n subjectsDefinedByAnnotations: false,\n expirationPeriod: 180 * DAY_IN_MS,\n}\n\n/**\n * A wiki for {@link mockJsonSchemaAR1}. It is intentionally not registered with the shared access requirement wiki\n * mocks, so that the AR is wiki-less by default.\n */\nexport const mockJsonSchemaAR1WikiPage: WikiPage = {\n id: '9000',\n etag: 'etag-wiki-9000',\n createdOn: now,\n createdBy: actUserId,\n modifiedOn: now,\n modifiedBy: actUserId,\n title: '',\n markdown:\n '**Access to these genomics data is controlled.**\\n\\nTo request access, provide the information that is requested in the following steps, including a description of your proposed research.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockJsonSchemaAR1WikiPageKey: WikiPageKey = {\n wikiPageId: mockJsonSchemaAR1WikiPage.id,\n ownerObjectId: String(mockJsonSchemaAR1.id),\n ownerObjectType: ObjectType.ACCESS_REQUIREMENT,\n}\n"],"mappings":";;;;;;AAeA,IAAM,qBAAM,IAAI,KAAK,GAAE,YAAY,GAC7B,IAAY,WAGL,IAAiD;CAC5D,IAAI;CACJ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cACE,EAA4C;CAC9C,iBAAiB;EAAE,YAAY;EAAc,uBAAuB;CAAE;CACtE,kBAAkB;CAClB,yBAAyB;CACzB,4BAA4B;CAC5B,iBAAiB;CACjB,eAAe;AACjB,GAGa,IAAiD;CAC5D,IAAI;CACJ,MAAM;CACN,MAAM;CACN,eAAe;CACf,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cACE,EAA4C;CAC9C,iBAAiB;EAAE,YAAY;EAAc,uBAAuB;CAAE;CACtE,kBAAkB;CAClB,yBAAyB;CACzB,4BAA4B;CAC5B,iBAAiB;CACjB,eAAe;CACf,yBAAyB;AAC3B,GAEa,IAAkE,CAC7E,GACA,CACF,GAMa,IAAwD;CACnE,GAAG;CACH,YAAY,EAA0C;CACtD,YAAY,CACV;EACE,IAAI;EACJ,MAAM,EAAqC;CAC7C,CACF;CACA,8BAA8B;CAC9B,kBAAkB,MAAM;AAC1B,GAMa,IAAsC;CACjD,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAW;CACX,YAAY;CACZ,YAAY;CACZ,OAAO;CACP,UACE;CACF,yBAAyB,CAAC;AAC5B,GAEa,IAA4C;CACvD,YAAY,EAA0B;CACtC,eAAe,OAAO,EAAkB,EAAE;CAC1C,iBAAiB,EAAW;AAC9B"}
@@ -77,6 +77,14 @@ export declare function getAridhiaDictionariesHandler(items?: unknown[]): HttpHa
77
77
  export declare function getAridhiaWorkspaceLocationsHandler(items?: unknown[]): HttpHandler;
78
78
  export declare function getAridhiaWorkspacesHandler(items?: unknown[]): HttpHandler;
79
79
  export declare function getAridhiaCatalogueHandler(body?: JsonBodyType): HttpHandler;
80
+ export declare const MOCK_ARIDHIA_DAR_MESSAGE: {
81
+ code: string;
82
+ name: string;
83
+ grouping: string;
84
+ value: string;
85
+ };
86
+ /** Responds only to a request bearing the token that `getAridhiaAuthenticateHandler` issues. */
87
+ export declare function getAridhiaDarMessageHandler(body?: JsonBodyType, status?: number): HttpHandler;
80
88
  /**
81
89
  * `respond` receives the submitted body, so a test can both assert on it and choose the
82
90
  * response (success, or a failure to exercise the retry path).
@@ -1 +1 @@
1
- {"version":3,"file":"aridhiaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAQ,WAAW,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAA;AAEnE,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;CAK7C,CAAA;AAED,eAAO,MAAM,mCAAmC;;;CAG/C,CAAA;AAED,eAAO,MAAM,kCAAkC;;;CAG9C,CAAA;AAED,eAAO,MAAM,yBAAyB;;;GAGrC,CAAA;AAED,eAAO,MAAM,gCAAgC;;;GAE5C,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;CAIlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,EAahD,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,EAOlD,CAAA;AAED,eAAO,MAAM,kCAAkC,EAAE,SAAS,EAOzD,CAAA;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAA2C,EACrD,MAAM,SAAM,GACX,WAAW,CAIb;AAED,wBAAgB,yBAAyB,CACvC,KAAK,GAAE,OAAO,EAAO,EACrB,aAAa,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C,WAAW,CASb;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;CACtB,CAAM,GACN,WAAW,CAYb;AAED,wBAAgB,yBAAyB,CACvC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;CAAO,GAC1D,WAAW,CAab;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,GAAE,YAQL,GACA,WAAW,CAKb;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,GAAE,OAAO,EAA8B,GAC3C,WAAW,CAKb;AAED,wBAAgB,mCAAmC,CACjD,KAAK,GAAE,OAAO,EAAqC,GAClD,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,OAAO,EAA4B,GACzC,WAAW,CAKb;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,YAAqC,GAC1C,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAG,OAAO,EAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,GACjC,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,EAAE,CAW3D"}
1
+ {"version":3,"file":"aridhiaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE7D,OAAO,EAAQ,WAAW,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAA;AAEnE,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;CAK7C,CAAA;AAED,eAAO,MAAM,mCAAmC;;;CAG/C,CAAA;AAED,eAAO,MAAM,kCAAkC;;;CAG9C,CAAA;AAED,eAAO,MAAM,yBAAyB;;;GAGrC,CAAA;AAED,eAAO,MAAM,gCAAgC;;;GAE5C,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;CAIlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,EAahD,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,EAOlD,CAAA;AAED,eAAO,MAAM,kCAAkC,EAAE,SAAS,EAOzD,CAAA;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAA2C,EACrD,MAAM,SAAM,GACX,WAAW,CAIb;AAED,wBAAgB,yBAAyB,CACvC,KAAK,GAAE,OAAO,EAAO,EACrB,aAAa,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C,WAAW,CASb;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;CACtB,CAAM,GACN,WAAW,CAYb;AAED,wBAAgB,yBAAyB,CACvC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;CAAO,GAC1D,WAAW,CAab;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,GAAE,YAQL,GACA,WAAW,CAKb;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,GAAE,OAAO,EAA8B,GAC3C,WAAW,CAKb;AAED,wBAAgB,mCAAmC,CACjD,KAAK,GAAE,OAAO,EAAqC,GAClD,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,OAAO,EAA4B,GACzC,WAAW,CAKb;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,YAAqC,GAC1C,WAAW,CAKb;AAED,eAAO,MAAM,wBAAwB;;;;;CAMpC,CAAA;AAED,gGAAgG;AAChG,wBAAgB,2BAA2B,CACzC,IAAI,GAAE,YAAuC,EAC7C,MAAM,SAAM,GACX,WAAW,CASb;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAG,OAAO,EAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,GACjC,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,EAAE,CAY3D"}