synapse-react-client 4.0.34 → 4.0.36

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 (336) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +24 -0
  3. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -0
  4. package/dist/aridhia-queries/AridhiaKeyFactory.js +49 -0
  5. package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -0
  6. package/dist/aridhia-queries/FairFormPayload.d.ts +45 -0
  7. package/dist/aridhia-queries/FairFormPayload.d.ts.map +1 -0
  8. package/dist/aridhia-queries/FairFormPayload.js +0 -0
  9. package/dist/aridhia-queries/TransferType.d.ts +10 -0
  10. package/dist/aridhia-queries/TransferType.d.ts.map +1 -0
  11. package/dist/aridhia-queries/TransferType.js +0 -0
  12. package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
  13. package/dist/aridhia-queries/index.d.ts +12 -0
  14. package/dist/aridhia-queries/index.d.ts.map +1 -1
  15. package/dist/aridhia-queries/index.js +12 -2
  16. package/dist/aridhia-queries/useAridhiaQuery.d.ts +37 -0
  17. package/dist/aridhia-queries/useAridhiaQuery.d.ts.map +1 -0
  18. package/dist/aridhia-queries/useAridhiaQuery.js +71 -0
  19. package/dist/aridhia-queries/useAridhiaQuery.js.map +1 -0
  20. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts +6 -0
  21. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts.map +1 -0
  22. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js +13 -0
  23. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js.map +1 -0
  24. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts +6 -0
  25. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts.map +1 -0
  26. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js +13 -0
  27. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js.map +1 -0
  28. package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts +6 -0
  29. package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts.map +1 -0
  30. package/dist/aridhia-queries/useGetAridhiaDictionaries.js +13 -0
  31. package/dist/aridhia-queries/useGetAridhiaDictionaries.js.map +1 -0
  32. package/dist/aridhia-queries/useGetAridhiaRequests.d.ts +5 -4
  33. package/dist/aridhia-queries/useGetAridhiaRequests.d.ts.map +1 -1
  34. package/dist/aridhia-queries/useGetAridhiaRequests.js +11 -18
  35. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  36. package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts +13 -0
  37. package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts.map +1 -0
  38. package/dist/aridhia-queries/useGetAridhiaWorkflow.js +19 -0
  39. package/dist/aridhia-queries/useGetAridhiaWorkflow.js.map +1 -0
  40. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts +6 -0
  41. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts.map +1 -0
  42. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js +13 -0
  43. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js.map +1 -0
  44. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts +19 -0
  45. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts.map +1 -0
  46. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js +17 -0
  47. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js.map +1 -0
  48. package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts +6 -0
  49. package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts.map +1 -0
  50. package/dist/aridhia-queries/useGetAridhiaWorkspaces.js +19 -0
  51. package/dist/aridhia-queries/useGetAridhiaWorkspaces.js.map +1 -0
  52. package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts +27 -0
  53. package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts.map +1 -0
  54. package/dist/aridhia-queries/useSubmitAridhiaDar.js +38 -0
  55. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -0
  56. package/dist/assets/icons/curie-head.svg +21 -0
  57. package/dist/components/AccessRequirement/EntityActionsRequired.d.ts +0 -1
  58. package/dist/components/AccessRequirement/EntityActionsRequired.d.ts.map +1 -1
  59. package/dist/components/AccessRequirement/EntityActionsRequired.js +3 -6
  60. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  61. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +24 -2
  62. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  63. package/dist/components/AccessRequirementList/AccessRequirementList.js +69 -66
  64. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  65. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  66. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +67 -56
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +6 -1
  72. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  73. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +55 -54
  74. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  75. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +3 -3
  76. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  77. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +1 -1
  78. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  79. package/dist/components/CardContainer/CardConfiguration.d.ts +8 -0
  80. package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
  81. package/dist/components/ChangePassword/ChangePasswordWithToken.d.ts.map +1 -1
  82. package/dist/components/ChangePassword/ChangePasswordWithToken.js +58 -23
  83. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  84. package/dist/components/ChangePassword/useChangePasswordFormState.d.ts.map +1 -1
  85. package/dist/components/ChangePassword/useChangePasswordFormState.js +13 -3
  86. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  87. package/dist/components/CreateTableViewWizard/TableNameForm.d.ts.map +1 -1
  88. package/dist/components/CreateTableViewWizard/TableNameForm.js +11 -14
  89. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  90. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts +1 -1
  91. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
  92. package/dist/components/DataGrid/SyncGridWithSourceButton.js +55 -61
  93. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  94. package/dist/components/DataGrid/components/contextMenu.d.ts.map +1 -1
  95. package/dist/components/DataGrid/components/contextMenu.js +15 -15
  96. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  97. package/dist/components/DataGrid/useMergeGridWithSource.d.ts +1 -5
  98. package/dist/components/DataGrid/useMergeGridWithSource.d.ts.map +1 -1
  99. package/dist/components/DataGrid/useMergeGridWithSource.js +21 -28
  100. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  101. package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts +35 -0
  102. package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts.map +1 -0
  103. package/dist/components/DatasetHosting/DatasetDownloadButton.js +132 -0
  104. package/dist/components/DatasetHosting/DatasetDownloadButton.js.map +1 -0
  105. package/dist/components/DatasetHosting/DatasetHosting.d.ts +91 -0
  106. package/dist/components/DatasetHosting/DatasetHosting.d.ts.map +1 -0
  107. package/dist/components/DatasetHosting/DatasetHosting.js +58 -0
  108. package/dist/components/DatasetHosting/DatasetHosting.js.map +1 -0
  109. package/dist/components/DatasetHosting/index.d.ts +5 -0
  110. package/dist/components/DatasetHosting/index.d.ts.map +1 -0
  111. package/dist/components/DatasetHosting/index.js +3 -0
  112. package/dist/components/DownloadCart/ActionRequiredListItem.d.ts +0 -2
  113. package/dist/components/DownloadCart/ActionRequiredListItem.d.ts.map +1 -1
  114. package/dist/components/DownloadCart/ActionRequiredListItem.js +2 -3
  115. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  116. package/dist/components/DownloadCart/DownloadCartPage.d.ts +1 -2
  117. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  118. package/dist/components/DownloadCart/DownloadCartPage.js +49 -49
  119. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  120. package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts +1 -5
  121. package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts.map +1 -1
  122. package/dist/components/DownloadCart/DownloadListActionsRequired.js +5 -6
  123. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  124. package/dist/components/DownloadCart/RequestDownloadCard.d.ts +0 -2
  125. package/dist/components/DownloadCart/RequestDownloadCard.d.ts.map +1 -1
  126. package/dist/components/DownloadCart/RequestDownloadCard.js +28 -32
  127. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  128. package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts +0 -2
  129. package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts.map +1 -1
  130. package/dist/components/DownloadCart/TableQueryActionsRequired.js +7 -8
  131. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  132. package/dist/components/DownloadCart/index.d.ts +1 -2
  133. package/dist/components/DownloadCart/index.d.ts.map +1 -1
  134. package/dist/components/DraggableDialog/DraggableDialog.d.ts +2 -1
  135. package/dist/components/DraggableDialog/DraggableDialog.d.ts.map +1 -1
  136. package/dist/components/DraggableDialog/DraggableDialog.js +42 -33
  137. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  138. package/dist/components/EntityTreeTable/hooks/useTableColumns.d.ts.map +1 -1
  139. package/dist/components/EntityTreeTable/hooks/useTableColumns.js +12 -6
  140. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  141. package/dist/components/ExperimentalMode/ExperimentalMode.js +2 -1
  142. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  143. package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts +10 -0
  144. package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts.map +1 -0
  145. package/dist/components/GenericCard/CardActionButtonStyleContext.js +10 -0
  146. package/dist/components/GenericCard/CardActionButtonStyleContext.js.map +1 -0
  147. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +41 -41
  148. package/dist/components/GenericCard/GenericCardActionButton.d.ts +5 -0
  149. package/dist/components/GenericCard/GenericCardActionButton.d.ts.map +1 -1
  150. package/dist/components/GenericCard/GenericCardActionButton.js +28 -11
  151. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  152. package/dist/components/GenericCard/TableRowGenericCard.d.ts +24 -0
  153. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  154. package/dist/components/GenericCard/TableRowGenericCard.js +205 -190
  155. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  156. package/dist/components/JSONArrayEditor/JSONArrayEditor.d.ts.map +1 -1
  157. package/dist/components/JSONArrayEditor/JSONArrayEditor.js +42 -42
  158. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  159. package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -0
  160. package/dist/components/JsonSchemaForm/JsonSchemaForm.d.ts.map +1 -1
  161. package/dist/components/JsonSchemaForm/JsonSchemaForm.js +13 -12
  162. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  163. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +5 -0
  164. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -0
  165. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +109 -0
  166. package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts +39 -0
  167. package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts.map +1 -0
  168. package/dist/components/QueryBuilder/QueryBuilderTypes.js +11 -0
  169. package/dist/components/QueryBuilder/QueryBuilderTypes.js.map +1 -0
  170. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +48 -0
  171. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -0
  172. package/dist/components/QueryBuilder/queryBuilderTranslation.js +256 -0
  173. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -0
  174. package/dist/components/QueryContext/QueryContext.d.ts +0 -1
  175. package/dist/components/QueryContext/QueryContext.d.ts.map +1 -1
  176. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  177. package/dist/components/QueryWrapper/QueryWrapper.d.ts +0 -1
  178. package/dist/components/QueryWrapper/QueryWrapper.d.ts.map +1 -1
  179. package/dist/components/QueryWrapper/QueryWrapper.js +52 -53
  180. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  181. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  182. package/dist/components/QueryWrapperErrorBoundary.js +4 -11
  183. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  184. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +0 -1
  185. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  186. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  187. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +123 -123
  188. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  189. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  190. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +64 -55
  191. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  192. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts.map +1 -1
  193. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js +0 -1
  194. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  195. package/dist/components/ShareThisPage/ShareThisPage.js +30 -29
  196. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  197. package/dist/components/StorybookComponentWrapper.d.ts.map +1 -1
  198. package/dist/components/StorybookComponentWrapper.js +15 -10
  199. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  200. package/dist/components/SynapseChat/GridAgentChat.d.ts.map +1 -1
  201. package/dist/components/SynapseChat/GridAgentChat.js +29 -31
  202. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  203. package/dist/components/SynapseChat/SynapseChat.d.ts +2 -1
  204. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  205. package/dist/components/SynapseChat/SynapseChat.js +118 -74
  206. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  207. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +3 -1
  208. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  209. package/dist/components/SynapseChat/SynapseChatInteraction.js +21 -21
  210. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  211. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  212. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  213. package/dist/components/SynapseChat/SynapseChatMessage.js +9 -8
  214. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  215. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -1
  216. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +2 -1
  217. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  218. package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
  219. package/dist/components/SynapseTable/SynapseTable.js +2 -1
  220. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  221. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.d.ts.map +1 -1
  222. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +29 -30
  223. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  224. package/dist/components/TanStackTable/StyledTanStackTable.d.ts +7 -0
  225. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  226. package/dist/components/TanStackTable/StyledTanStackTable.js +68 -48
  227. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  228. package/dist/components/TanStackTable/TanStackTableUtils.d.ts.map +1 -1
  229. package/dist/components/TanStackTable/TanStackTableUtils.js +6 -6
  230. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  231. package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts +13 -0
  232. package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts.map +1 -0
  233. package/dist/components/TanStackTable/useSyncedTopScrollbar.js +32 -0
  234. package/dist/components/TanStackTable/useSyncedTopScrollbar.js.map +1 -0
  235. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts +12 -0
  236. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -0
  237. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +86 -0
  238. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -0
  239. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.d.ts.map +1 -1
  240. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js +20 -18
  241. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  242. package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
  243. package/dist/components/doi/CreateOrUpdateDoiModal.js +10 -13
  244. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  245. package/dist/components/entity/page/CreatedByModifiedBy.d.ts.map +1 -1
  246. package/dist/components/entity/page/CreatedByModifiedBy.js +43 -61
  247. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  248. package/dist/components/entity/page/createdByModifiedByTooltips.d.ts +7 -0
  249. package/dist/components/entity/page/createdByModifiedByTooltips.d.ts.map +1 -0
  250. package/dist/components/entity/page/createdByModifiedByTooltips.js +36 -0
  251. package/dist/components/entity/page/createdByModifiedByTooltips.js.map +1 -0
  252. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  253. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +130 -65
  254. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  255. package/dist/components/index.d.ts +1 -0
  256. package/dist/components/index.d.ts.map +1 -1
  257. package/dist/components/index.js +143 -140
  258. package/dist/components/menu/DropdownMenu.d.ts.map +1 -1
  259. package/dist/components/menu/DropdownMenu.js +6 -6
  260. package/dist/components/menu/DropdownMenu.js.map +1 -1
  261. package/dist/components/widgets/Range.js +8 -2
  262. package/dist/components/widgets/Range.js.map +1 -1
  263. package/dist/components/widgets/query-filter/RangeFacetFilter.d.ts.map +1 -1
  264. package/dist/components/widgets/query-filter/RangeFacetFilter.js +2 -1
  265. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  266. package/dist/components/widgets/query-filter/RangeFacetFilterUI.d.ts.map +1 -1
  267. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +19 -19
  268. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  269. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +5 -5
  270. package/dist/index.js +161 -159
  271. package/dist/index.js.map +1 -1
  272. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  273. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +30 -26
  274. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  275. package/dist/mocks/msw/handlers/fileHandlers.d.ts.map +1 -1
  276. package/dist/mocks/msw/handlers/fileHandlers.js +22 -22
  277. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  278. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts +1 -0
  279. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts.map +1 -1
  280. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js +7 -1
  281. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  282. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  283. package/dist/mocks/msw/handlers/userProfileHandlers.js +40 -36
  284. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  285. package/dist/mocks/user/mock_user_profile.d.ts +1 -0
  286. package/dist/mocks/user/mock_user_profile.d.ts.map +1 -1
  287. package/dist/mocks/user/mock_user_profile.js +45 -45
  288. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  289. package/dist/style/components/_all.scss +0 -1
  290. package/dist/style/components/_cards.scss +4 -2
  291. package/dist/style/main.css +1 -1
  292. package/dist/synapse-queries/KeyFactory.d.ts +2 -0
  293. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  294. package/dist/synapse-queries/KeyFactory.js +6 -0
  295. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  296. package/dist/synapse-queries/dataaccess/index.js +4 -4
  297. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +20 -1
  298. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  299. package/dist/synapse-queries/dataaccess/useEDuc.js +75 -49
  300. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  301. package/dist/synapse-queries/index.js +190 -188
  302. package/dist/tsconfig.build.tsbuildinfo +1 -1
  303. package/dist/utils/APIConstants.d.ts +2 -0
  304. package/dist/utils/APIConstants.d.ts.map +1 -1
  305. package/dist/utils/APIConstants.js +2 -2
  306. package/dist/utils/APIConstants.js.map +1 -1
  307. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  308. package/dist/utils/AppUtils/session/ApplicationSessionManager.js +20 -19
  309. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  310. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -4
  311. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  312. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  313. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  314. package/dist/utils/functions/RegularExpressions.d.ts +17 -0
  315. package/dist/utils/functions/RegularExpressions.d.ts.map +1 -1
  316. package/dist/utils/functions/RegularExpressions.js +11 -4
  317. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  318. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  319. package/dist/utils/functions/SqlFunctions.js +19 -3
  320. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  321. package/dist/utils/hooks/useIsHydrated.d.ts +9 -0
  322. package/dist/utils/hooks/useIsHydrated.d.ts.map +1 -0
  323. package/dist/utils/hooks/useIsHydrated.js +10 -0
  324. package/dist/utils/hooks/useIsHydrated.js.map +1 -0
  325. package/dist/utils/index.js +16 -16
  326. package/dist/utils/types/IsType.d.ts +4 -1
  327. package/dist/utils/types/IsType.d.ts.map +1 -1
  328. package/dist/utils/types/IsType.js +4 -4
  329. package/dist/utils/types/IsType.js.map +1 -1
  330. package/dist/utils/types/index.js +2 -2
  331. package/package.json +7 -7
  332. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts +0 -12
  333. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts.map +0 -1
  334. package/dist/components/DataGrid/useMergeGridWithRecordSet.js +0 -25
  335. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +0 -1
  336. package/dist/style/components/_annotations.scss +0 -110
@@ -5,38 +5,39 @@ import { useGetDataAccessRequestForUpdate as r, useUpdateDataAccessRequest as i
5
5
  import { useGetDataAccessRequestPreview as a, useGetDataAccessRequestSignatureStatus as o, useGetDataAccessRequestSignedFileHandleId as s } from "../../../../synapse-queries/dataaccess/useEDuc.js";
6
6
  import "../../../../synapse-queries/index.js";
7
7
  import c from "../../../IconSvg/IconSvg.js";
8
- import { longFieldLabelSx as ee } from "../styles.js";
9
- import { useState as l } from "react";
10
- import { Alert as u, Box as d, Button as f, DialogActions as p, DialogContent as m, DialogTitle as h, IconButton as g, Link as _, Skeleton as v, Stack as y, Typography as b } from "@mui/material";
11
- import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
8
+ import { longFieldLabelSx as l } from "../styles.js";
9
+ import { useState as u } from "react";
10
+ import { Alert as d, Box as f, Button as p, DialogActions as m, DialogContent as ee, DialogTitle as te, IconButton as h, Link as g, Skeleton as _, Stack as v, Typography as y } from "@mui/material";
11
+ import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
12
+ import { FileHandleAssociateType as C } from "@sage-bionetworks/synapse-types";
12
13
  import { CheckCircleOutline as w, HourglassEmpty as T, OpenInNew as E, Refresh as D } from "@mui/icons-material";
13
14
  //#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx
14
15
  function O(e) {
15
- let { managedACTAccessRequirement: O, subjectId: A, subjectType: j, onHide: te, onBackClicked: ne, onSubmissionCreated: re, viewDucHrefOverride: M } = e, { data: N, isLoading: P } = r(String(O.id), {
16
+ let { managedACTAccessRequirement: O, subjectId: ne, subjectType: re, onHide: ie, onBackClicked: A, onSubmissionCreated: j, viewDucHrefOverride: M } = e, { data: N, isLoading: P } = r(String(O.id), {
16
17
  staleTime: Infinity,
17
18
  throwOnError: !0
18
- }), F = N?.id ?? "", { data: I, isLoading: L, isRefetching: R, error: z, refetch: B } = o(F, { enabled: !!F }), V = I?.signerStatus ?? [], H = V.filter((e) => e.status === "done").length, U = V.length, W = U > 0 && H === U, G = V.filter((e) => e.status !== "done"), { data: K } = a(F, { enabled: !!F && !M }), q = M ?? (K?.fileHandleId ? t.getPortalFileHandleServletUrl(K.fileHandleId) : void 0), { data: J } = s(F, { enabled: !!F && W }), [Y, X] = l(), [Z, Q] = l(), { mutateAsync: ie, isPending: ae } = i({ onError: (e) => X(e.reason) }), { mutate: oe, isPending: $ } = n({
19
- onSuccess: (e) => re(e.submissionId),
19
+ }), F = N?.id ?? "", { data: I, isLoading: L, isRefetching: R, error: z, refetch: B } = o(F, { enabled: !!F }), V = I?.signerStatus ?? [], H = V.filter((e) => e.status === "done").length, U = V.length, W = U > 0 && H === U, G = V.filter((e) => e.status !== "done"), { data: K } = a(F, { enabled: !!F && !M }), q = M ?? (K?.fileHandleId && F ? t.getPortalFileHandleServletUrl(K.fileHandleId, F, C.DataAccessRequestAttachment) : void 0), { data: J } = s(F, { enabled: !!F && W }), [Y, X] = u(), [Z, Q] = u(), { mutateAsync: ae, isPending: oe } = i({ onError: (e) => X(e.reason) }), { mutate: se, isPending: $ } = n({
20
+ onSuccess: (e) => j(e.submissionId),
20
21
  onError: (e) => Q(e.reason)
21
- }), se = P || L || R || !N || !W || !J?.fileHandleId || ae || $, ce = async () => {
22
+ }), ce = P || L || R || !N || !W || !J?.fileHandleId || oe || $, le = async () => {
22
23
  if (!N || !J?.fileHandleId) return;
23
24
  X(void 0), Q(void 0);
24
- let e = await ie({
25
+ let e = await ae({
25
26
  ...N,
26
27
  ducFileHandleId: J.fileHandleId
27
28
  }).catch(() => null);
28
- e && oe({
29
+ e && se({
29
30
  request: {
30
31
  requestId: e.id,
31
32
  requestEtag: e.etag,
32
- subjectId: A,
33
- subjectType: j
33
+ subjectId: ne,
34
+ subjectType: re
34
35
  },
35
36
  accessRequirementId: String(O.id)
36
37
  });
37
38
  };
38
- return /* @__PURE__ */ C(x, { children: [
39
- /* @__PURE__ */ S(h, { children: /* @__PURE__ */ C(y, {
39
+ return /* @__PURE__ */ S(b, { children: [
40
+ /* @__PURE__ */ x(te, { children: /* @__PURE__ */ S(v, {
40
41
  direction: "row",
41
42
  sx: {
42
43
  alignItems: "center",
@@ -44,11 +45,11 @@ function O(e) {
44
45
  },
45
46
  children: [
46
47
  "Request Access",
47
- /* @__PURE__ */ S(d, { sx: { flexGrow: 1 } }),
48
- /* @__PURE__ */ S(g, {
48
+ /* @__PURE__ */ x(f, { sx: { flexGrow: 1 } }),
49
+ /* @__PURE__ */ x(h, {
49
50
  "aria-label": "Close",
50
- onClick: te,
51
- children: /* @__PURE__ */ S(c, {
51
+ onClick: ie,
52
+ children: /* @__PURE__ */ x(c, {
52
53
  icon: "close",
53
54
  wrap: !1,
54
55
  sx: { color: "grey.700" }
@@ -56,36 +57,36 @@ function O(e) {
56
57
  })
57
58
  ]
58
59
  }) }),
59
- /* @__PURE__ */ C(m, { children: [
60
- /* @__PURE__ */ S(b, {
60
+ /* @__PURE__ */ S(ee, { children: [
61
+ /* @__PURE__ */ x(y, {
61
62
  variant: "headline3",
62
63
  sx: { mb: 2 },
63
64
  children: "Sign a Data Use Certificate (DUC)"
64
65
  }),
65
- /* @__PURE__ */ S(b, {
66
+ /* @__PURE__ */ x(y, {
66
67
  variant: "body1",
67
68
  sx: {
68
- ...ee,
69
+ ...l,
69
70
  mb: 2
70
71
  },
71
72
  children: "Your DUC has been emailed to your Collaborators. Once all signatures (including the Signing Official) have been collected, you can submit the Data Access Request."
72
73
  }),
73
- L && /* @__PURE__ */ S(v, {
74
+ L && /* @__PURE__ */ x(_, {
74
75
  variant: "rectangular",
75
76
  width: "100%",
76
77
  height: 120,
77
78
  "data-testid": "SignatureStatusStep-loading"
78
79
  }),
79
- z && /* @__PURE__ */ C(u, {
80
+ z && /* @__PURE__ */ S(d, {
80
81
  severity: "error",
81
82
  children: [
82
- /* @__PURE__ */ S("strong", { children: "Sorry, we couldn't load the current signature status." }),
83
- /* @__PURE__ */ S("br", {}),
83
+ /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't load the current signature status." }),
84
+ /* @__PURE__ */ x("br", {}),
84
85
  z.reason
85
86
  ]
86
87
  }),
87
- !L && !z && I && /* @__PURE__ */ C(x, { children: [
88
- /* @__PURE__ */ C(y, {
88
+ !L && !z && I && /* @__PURE__ */ S(b, { children: [
89
+ /* @__PURE__ */ S(v, {
89
90
  direction: "row",
90
91
  sx: {
91
92
  alignItems: "center",
@@ -93,14 +94,14 @@ function O(e) {
93
94
  mb: 1
94
95
  },
95
96
  children: [
96
- W ? /* @__PURE__ */ S(w, { color: "success" }) : /* @__PURE__ */ S(T, { sx: { color: "grey.700" } }),
97
- /* @__PURE__ */ S(b, {
97
+ W ? /* @__PURE__ */ x(w, { color: "success" }) : /* @__PURE__ */ x(T, { sx: { color: "grey.700" } }),
98
+ /* @__PURE__ */ x(y, {
98
99
  variant: "body1",
99
100
  sx: { fontWeight: 700 },
100
101
  children: W ? "All signatures collected." : `${H} out of ${U} signatures collected.`
101
102
  }),
102
- /* @__PURE__ */ S(d, { sx: { flexGrow: 1 } }),
103
- q && /* @__PURE__ */ C(_, {
103
+ /* @__PURE__ */ x(f, { sx: { flexGrow: 1 } }),
104
+ q && /* @__PURE__ */ S(g, {
104
105
  href: q,
105
106
  target: "_blank",
106
107
  rel: "noopener",
@@ -109,26 +110,26 @@ function O(e) {
109
110
  alignItems: "center",
110
111
  gap: .5
111
112
  },
112
- children: ["View DUC", /* @__PURE__ */ S(E, { fontSize: "small" })]
113
+ children: ["View DUC", /* @__PURE__ */ x(E, { fontSize: "small" })]
113
114
  })
114
115
  ]
115
116
  }),
116
- G.length > 0 && /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(b, {
117
+ G.length > 0 && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(y, {
117
118
  variant: "body1",
118
119
  sx: { mb: 1 },
119
120
  children: "You're still waiting for signatures from"
120
- }), /* @__PURE__ */ S(d, {
121
+ }), /* @__PURE__ */ x(f, {
121
122
  component: "ul",
122
123
  sx: {
123
124
  mt: 0,
124
125
  mb: 2,
125
126
  pl: 3
126
127
  },
127
- children: G.map((e, t) => /* @__PURE__ */ S("li", { children: /* @__PURE__ */ S(k, { signer: e }) }, e.userId ?? `${e.name}-${t}`))
128
+ children: G.map((e, t) => /* @__PURE__ */ x("li", { children: /* @__PURE__ */ x(k, { signer: e }) }, e.userId ?? `${e.name}-${t}`))
128
129
  })] }),
129
- /* @__PURE__ */ S(f, {
130
+ /* @__PURE__ */ x(p, {
130
131
  variant: "outlined",
131
- startIcon: /* @__PURE__ */ S(D, {}),
132
+ startIcon: /* @__PURE__ */ x(D, {}),
132
133
  loading: R,
133
134
  onClick: () => {
134
135
  B();
@@ -136,38 +137,38 @@ function O(e) {
136
137
  children: "Refresh"
137
138
  })
138
139
  ] }),
139
- Y && /* @__PURE__ */ C(u, {
140
+ Y && /* @__PURE__ */ S(d, {
140
141
  severity: "error",
141
142
  sx: { mt: 2 },
142
143
  children: [
143
- /* @__PURE__ */ S("strong", { children: "Sorry, we couldn't save your change." }),
144
- /* @__PURE__ */ S("br", {}),
144
+ /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't save your change." }),
145
+ /* @__PURE__ */ x("br", {}),
145
146
  Y
146
147
  ]
147
148
  }),
148
- Z && /* @__PURE__ */ C(u, {
149
+ Z && /* @__PURE__ */ S(d, {
149
150
  severity: "error",
150
151
  sx: { mt: 2 },
151
152
  children: [
152
- /* @__PURE__ */ S("strong", { children: "Sorry, we couldn't submit your request." }),
153
- /* @__PURE__ */ S("br", {}),
153
+ /* @__PURE__ */ x("strong", { children: "Sorry, we couldn't submit your request." }),
154
+ /* @__PURE__ */ x("br", {}),
154
155
  Z
155
156
  ]
156
157
  })
157
158
  ] }),
158
- /* @__PURE__ */ C(p, { children: [
159
- /* @__PURE__ */ S(f, {
159
+ /* @__PURE__ */ S(m, { children: [
160
+ A && /* @__PURE__ */ x(p, {
160
161
  variant: "outlined",
161
- onClick: ne,
162
+ onClick: A,
162
163
  children: "Back"
163
164
  }),
164
- /* @__PURE__ */ S(d, { sx: { flexGrow: 1 } }),
165
- /* @__PURE__ */ S(f, {
165
+ /* @__PURE__ */ x(f, { sx: { flexGrow: 1 } }),
166
+ /* @__PURE__ */ x(p, {
166
167
  variant: "contained",
167
- disabled: se,
168
+ disabled: ce,
168
169
  loading: $,
169
170
  onClick: () => {
170
- ce();
171
+ le();
171
172
  },
172
173
  children: "Submit"
173
174
  })
@@ -176,15 +177,15 @@ function O(e) {
176
177
  }
177
178
  function k(t) {
178
179
  let { signer: n } = t, r = n.name ?? "Unnamed signer";
179
- return /* @__PURE__ */ C(b, {
180
+ return /* @__PURE__ */ S(y, {
180
181
  variant: "body1",
181
182
  component: "span",
182
- children: [n.userId ? /* @__PURE__ */ S(_, {
183
+ children: [n.userId ? /* @__PURE__ */ x(g, {
183
184
  href: `${e.PORTAL}Profile:${n.userId}`,
184
185
  target: "_blank",
185
186
  rel: "noopener",
186
187
  children: r
187
- }) : /* @__PURE__ */ S(x, { children: r }), n.status && n.status !== "pending" && n.status !== "done" ? ` (${n.status})` : ""]
188
+ }) : /* @__PURE__ */ x(b, { children: r }), n.status && n.status !== "pending" && n.status !== "done" ? ` (${n.status})` : ""]
188
189
  });
189
190
  }
190
191
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureStatusStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"sourcesContent":["import {\n useGetDataAccessRequestForUpdate,\n useGetDataAccessRequestPreview,\n useGetDataAccessRequestSignatureStatus,\n useGetDataAccessRequestSignedFileHandleId,\n useSubmitDataAccessRequest,\n useUpdateDataAccessRequest,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n CheckCircleOutline,\n HourglassEmpty,\n OpenInNew,\n Refresh,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Link,\n Skeleton,\n Stack,\n Typography,\n} from '@mui/material'\nimport { EDucSignerStatus } from '@sage-bionetworks/synapse-client'\nimport {\n ManagedACTAccessRequirement,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { longFieldLabelSx } from '../styles'\n\nexport type SignatureStatusStepProps = {\n managedACTAccessRequirement: ManagedACTAccessRequirement\n subjectId: string\n subjectType: RestrictableObjectType\n onHide: () => void\n onBackClicked: () => void\n onSubmissionCreated: (submissionId: string) => void\n /**\n * Optional href override for the \"View DUC\" link. When set, the preview file handle fetch\n * is skipped and this URL is used directly. Used by stories and tests where the portal\n * servlet is not available.\n */\n viewDucHrefOverride?: string\n}\n\n/**\n * Wizard step shown after the user has routed the eDUC for electronic signature\n * (PORTALS-4380). Polls the DocuSign envelope status, lists the pending signers,\n * and enables submission once every signer has signed.\n */\nexport default function SignatureStatusStep(props: SignatureStatusStepProps) {\n const {\n managedACTAccessRequirement,\n subjectId,\n subjectType,\n onHide,\n onBackClicked,\n onSubmissionCreated,\n viewDucHrefOverride,\n } = props\n\n const { data: dataAccessRequest, isLoading: isLoadingDar } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const requestId = dataAccessRequest?.id ?? ''\n\n const {\n data: signatureStatus,\n isLoading: isLoadingStatus,\n isRefetching: isRefetchingStatus,\n error: statusError,\n refetch: refetchStatus,\n } = useGetDataAccessRequestSignatureStatus(requestId, {\n enabled: Boolean(requestId),\n })\n\n const signers: EDucSignerStatus[] = signatureStatus?.signerStatus ?? []\n const collectedCount = signers.filter(s => s.status === 'done').length\n const totalCount = signers.length\n const allCollected = totalCount > 0 && collectedCount === totalCount\n const outstandingSigners = signers.filter(s => s.status !== 'done')\n\n const { data: previewFileHandle } = useGetDataAccessRequestPreview(\n requestId,\n { enabled: Boolean(requestId) && !viewDucHrefOverride },\n )\n const viewDucHref =\n viewDucHrefOverride ??\n (previewFileHandle?.fileHandleId\n ? SynapseClient.getPortalFileHandleServletUrl(\n previewFileHandle.fileHandleId,\n )\n : undefined)\n\n const { data: signedFileHandle } = useGetDataAccessRequestSignedFileHandleId(\n requestId,\n { enabled: Boolean(requestId) && allCollected },\n )\n\n const [updateDarError, setUpdateDarError] = useState<string | undefined>()\n const [submitDarError, setSubmitDarError] = useState<string | undefined>()\n\n const { mutateAsync: updateDarAsync, isPending: isUpdating } =\n useUpdateDataAccessRequest({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutate: submit, isPending: isSubmitting } =\n useSubmitDataAccessRequest({\n onSuccess: submission => onSubmissionCreated(submission.submissionId),\n onError: e => setSubmitDarError(e.reason),\n })\n\n const isSubmitDisabled =\n isLoadingDar ||\n isLoadingStatus ||\n isRefetchingStatus ||\n !dataAccessRequest ||\n !allCollected ||\n !signedFileHandle?.fileHandleId ||\n isUpdating ||\n isSubmitting\n\n const handleSubmit = async () => {\n if (!dataAccessRequest || !signedFileHandle?.fileHandleId) return\n setUpdateDarError(undefined)\n setSubmitDarError(undefined)\n const updated = await updateDarAsync({\n ...dataAccessRequest,\n ducFileHandleId: signedFileHandle.fileHandleId,\n }).catch(() => null)\n if (!updated) return\n submit({\n request: {\n requestId: updated.id,\n requestEtag: updated.etag,\n subjectId,\n subjectType,\n },\n accessRequirementId: String(managedACTAccessRequirement.id),\n })\n }\n\n return (\n <>\n <DialogTitle>\n <Stack direction=\"row\" sx={{ alignItems: 'center', gap: '5px' }}>\n Request Access\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Your DUC has been emailed to your Collaborators. Once all signatures\n (including the Signing Official) have been collected, you can submit\n the Data Access Request.\n </Typography>\n {/* TODO: restore once the backend precheck allows editing collaborators mid-signature (PORTALS-4380 notes).\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n You can update the list of Collaborators by pressing{' '}\n <strong>Back</strong>.\n </Typography>\n */}\n\n {isLoadingStatus && (\n <Skeleton\n variant={'rectangular'}\n width={'100%'}\n height={120}\n data-testid={'SignatureStatusStep-loading'}\n />\n )}\n\n {statusError && (\n <Alert severity={'error'}>\n <strong>\n Sorry, we couldn&apos;t load the current signature status.\n </strong>\n <br />\n {statusError.reason}\n </Alert>\n )}\n\n {!isLoadingStatus && !statusError && signatureStatus && (\n <>\n <Stack\n direction={'row'}\n sx={{ alignItems: 'center', gap: 1, mb: 1 }}\n >\n {allCollected ? (\n <CheckCircleOutline color={'success'} />\n ) : (\n <HourglassEmpty sx={{ color: 'grey.700' }} />\n )}\n <Typography variant={'body1'} sx={{ fontWeight: 700 }}>\n {allCollected\n ? 'All signatures collected.'\n : `${collectedCount} out of ${totalCount} signatures collected.`}\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n {viewDucHref && (\n <Link\n href={viewDucHref}\n target={'_blank'}\n rel={'noopener'}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }}\n >\n View DUC\n <OpenInNew fontSize={'small'} />\n </Link>\n )}\n </Stack>\n\n {outstandingSigners.length > 0 && (\n <>\n <Typography variant={'body1'} sx={{ mb: 1 }}>\n You&apos;re still waiting for signatures from\n </Typography>\n <Box component={'ul'} sx={{ mt: 0, mb: 2, pl: 3 }}>\n {outstandingSigners.map((signer, index) => (\n <li key={signer.userId ?? `${signer.name}-${index}`}>\n <SignerLine signer={signer} />\n </li>\n ))}\n </Box>\n </>\n )}\n\n <Button\n variant={'outlined'}\n startIcon={<Refresh />}\n loading={isRefetchingStatus}\n onClick={() => {\n refetchStatus()\n }}\n >\n Refresh\n </Button>\n </>\n )}\n\n {updateDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t save your change.</strong>\n <br />\n {updateDarError}\n </Alert>\n )}\n {submitDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t submit your request.</strong>\n <br />\n {submitDarError}\n </Alert>\n )}\n </DialogContent>\n <DialogActions>\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n <Box sx={{ flexGrow: 1 }} />\n <Button\n variant={'contained'}\n disabled={isSubmitDisabled}\n loading={isSubmitting}\n onClick={() => {\n handleSubmit()\n }}\n >\n Submit\n </Button>\n </DialogActions>\n </>\n )\n}\n\nfunction SignerLine(props: { signer: EDucSignerStatus }) {\n const { signer } = props\n const displayName = signer.name ?? 'Unnamed signer'\n const nameNode = signer.userId ? (\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Profile:${signer.userId}`}\n target={'_blank'}\n rel={'noopener'}\n >\n {displayName}\n </Link>\n ) : (\n <>{displayName}</>\n )\n // Only surface non-pending problem states inline; pending is implied by the section header.\n const statusLabel =\n signer.status && signer.status !== 'pending' && signer.status !== 'done'\n ? ` (${signer.status})`\n : ''\n return (\n <Typography variant={'body1'} component={'span'}>\n {nameNode}\n {statusLabel}\n </Typography>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AA0DA,SAAwB,EAAoB,GAAiC;CAC3E,IAAM,EACJ,gCACA,cACA,gBACA,YACA,mBACA,yBACA,2BACE,GAEE,EAAE,MAAM,GAAmB,WAAW,MAC1C,EAAiC,OAAO,EAA4B,EAAE,GAAG;EACvE,WAAW;EACX,cAAc;CAChB,CAAC,GAEG,IAAY,GAAmB,MAAM,IAErC,EACJ,MAAM,GACN,WAAW,GACX,cAAc,GACd,OAAO,GACP,SAAS,MACP,EAAuC,GAAW,EACpD,SAAS,EAAQ,EACnB,CAAC,GAEK,IAA8B,GAAiB,gBAAgB,CAAC,GAChE,IAAiB,EAAQ,QAAO,MAAK,EAAE,WAAW,MAAM,EAAE,QAC1D,IAAa,EAAQ,QACrB,IAAe,IAAa,KAAK,MAAmB,GACpD,IAAqB,EAAQ,QAAO,MAAK,EAAE,WAAW,MAAM,GAE5D,EAAE,MAAM,MAAsB,EAClC,GACA,EAAE,SAAS,EAAQ,KAAc,CAAC,EAAoB,CACxD,GACM,IACJ,MACC,GAAmB,eAChB,EAAc,8BACZ,EAAkB,YACpB,IACA,KAAA,IAEA,EAAE,MAAM,MAAqB,EACjC,GACA,EAAE,SAAS,EAAQ,KAAc,EAAa,CAChD,GAEM,CAAC,GAAgB,KAAqB,EAA6B,GACnE,CAAC,GAAgB,KAAqB,EAA6B,GAEnE,EAAE,aAAa,IAAgB,WAAW,OAC9C,EAA2B,EACzB,UAAS,MAAK,EAAkB,EAAE,MAAM,EAC1C,CAAC,GAEG,EAAE,QAAQ,IAAQ,WAAW,MACjC,EAA2B;EACzB,YAAW,MAAc,GAAoB,EAAW,YAAY;EACpE,UAAS,MAAK,EAAkB,EAAE,MAAM;CAC1C,CAAC,GAEG,KACJ,KACA,KACA,KACA,CAAC,KACD,CAAC,KACD,CAAC,GAAkB,gBACnB,MACA,GAEI,KAAe,YAAY;EAC/B,IAAI,CAAC,KAAqB,CAAC,GAAkB,cAAc;EAE3D,AADA,EAAkB,KAAA,CAAS,GAC3B,EAAkB,KAAA,CAAS;EAC3B,IAAM,IAAU,MAAM,GAAe;GACnC,GAAG;GACH,iBAAiB,EAAiB;EACpC,CAAC,EAAE,YAAY,IAAI;EACd,KACL,GAAO;GACL,SAAS;IACP,WAAW,EAAQ;IACnB,aAAa,EAAQ;IACrB;IACA;GACF;GACA,qBAAqB,OAAO,EAA4B,EAAE;EAC5D,CAAC;CACH;CAEA,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAO,WAAU;GAAM,IAAI;IAAE,YAAY;IAAU,KAAK;GAAM;aAA9D;IAAiE;IAE/D,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;IAC3B,kBAAC,GAAD;KAAY,cAAY;KAAS,SAAS;eACxC,kBAAC,GAAD;MAAS,MAAM;MAAS,MAAM;MAAO,IAAI,EAAE,OAAO,WAAW;KAAI,CAAA;IACvD,CAAA;GACP;KACI,CAAA;EACb,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAY,SAAS;IAAa,IAAI,EAAE,IAAI,EAAE;cAAG;GAErC,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAS;IAAS,IAAI;KAAE,GAAG;KAAkB,IAAI;IAAE;cAAG;GAItD,CAAA;GAQX,KACC,kBAAC,GAAD;IACE,SAAS;IACT,OAAO;IACP,QAAQ;IACR,eAAa;GACd,CAAA;GAGF,KACC,kBAAC,GAAD;IAAO,UAAU;cAAjB;KACE,kBAAC,UAAD,EAAA,UAAQ,wDAEA,CAAA;KACR,kBAAC,MAAD,CAAK,CAAA;KACJ,EAAY;IACR;;GAGR,CAAC,KAAmB,CAAC,KAAe,KACnC,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KACE,WAAW;KACX,IAAI;MAAE,YAAY;MAAU,KAAK;MAAG,IAAI;KAAE;eAF5C;MAIG,IACC,kBAAC,GAAD,EAAoB,OAAO,UAAY,CAAA,IAEvC,kBAAC,GAAD,EAAgB,IAAI,EAAE,OAAO,WAAW,EAAI,CAAA;MAE9C,kBAAC,GAAD;OAAY,SAAS;OAAS,IAAI,EAAE,YAAY,IAAI;iBACjD,IACG,8BACA,GAAG,EAAe,UAAU,EAAW;MACjC,CAAA;MACZ,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;MAC1B,KACC,kBAAC,GAAD;OACE,MAAM;OACN,QAAQ;OACR,KAAK;OACL,IAAI;QACF,SAAS;QACT,YAAY;QACZ,KAAK;OACP;iBARF,CASC,YAEC,kBAAC,GAAD,EAAW,UAAU,QAAU,CAAA,CAC3B;;KAEH;;IAEN,EAAmB,SAAS,KAC3B,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KAAY,SAAS;KAAS,IAAI,EAAE,IAAI,EAAE;eAAG;IAEjC,CAAA,GACZ,kBAAC,GAAD;KAAK,WAAW;KAAM,IAAI;MAAE,IAAI;MAAG,IAAI;MAAG,IAAI;KAAE;eAC7C,EAAmB,KAAK,GAAQ,MAC/B,kBAAC,MAAD,EAAA,UACE,kBAAC,GAAD,EAAoB,UAAS,CAAA,EAC3B,GAFK,EAAO,UAAU,GAAG,EAAO,KAAK,GAAG,GAExC,CACL;IACE,CAAA,CACL,EAAA,CAAA;IAGJ,kBAAC,GAAD;KACE,SAAS;KACT,WAAW,kBAAC,GAAD,CAAU,CAAA;KACrB,SAAS;KACT,eAAe;MACb,EAAc;KAChB;eACD;IAEO,CAAA;GACR,EAAA,CAAA;GAGH,KACC,kBAAC,GAAD;IAAO,UAAU;IAAS,IAAI,EAAE,IAAI,EAAE;cAAtC;KACE,kBAAC,UAAD,EAAA,UAAQ,uCAAiD,CAAA;KACzD,kBAAC,MAAD,CAAK,CAAA;KACJ;IACI;;GAER,KACC,kBAAC,GAAD;IAAO,UAAU;IAAS,IAAI,EAAE,IAAI,EAAE;cAAtC;KACE,kBAAC,UAAD,EAAA,UAAQ,0CAAoD,CAAA;KAC5D,kBAAC,MAAD,CAAK,CAAA;KACJ;IACI;;EAEI,EAAA,CAAA;EACf,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAQ,SAAS;IAAY,SAAS;cAAe;GAE7C,CAAA;GACR,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;GAC3B,kBAAC,GAAD;IACE,SAAS;IACT,UAAU;IACV,SAAS;IACT,eAAe;KACb,GAAa;IACf;cACD;GAEO,CAAA;EACK,EAAA,CAAA;CACf,EAAA,CAAA;AAEN;AAEA,SAAS,EAAW,GAAqC;CACvD,IAAM,EAAE,cAAW,GACb,IAAc,EAAO,QAAQ;CAiBnC,OACE,kBAAC,GAAD;EAAY,SAAS;EAAS,WAAW;YAAzC,CAjBe,EAAO,SACtB,kBAAC,GAAD;GACE,MAAM,GAAG,EAA2B,OAAO,UAAU,EAAO;GAC5D,QAAQ;GACR,KAAK;aAEJ;EACG,CAAA,IAEN,kBAAA,GAAA,EAAA,UAAG,EAAc,CAAA,GAIjB,EAAO,UAAU,EAAO,WAAW,aAAa,EAAO,WAAW,SAC9D,KAAK,EAAO,OAAO,KACnB,EAKQ;;AAEhB"}
1
+ {"version":3,"file":"SignatureStatusStep.js","names":[],"sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.tsx"],"sourcesContent":["import {\n useGetDataAccessRequestForUpdate,\n useGetDataAccessRequestPreview,\n useGetDataAccessRequestSignatureStatus,\n useGetDataAccessRequestSignedFileHandleId,\n useSubmitDataAccessRequest,\n useUpdateDataAccessRequest,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n CheckCircleOutline,\n HourglassEmpty,\n OpenInNew,\n Refresh,\n} from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n Link,\n Skeleton,\n Stack,\n Typography,\n} from '@mui/material'\nimport { EDucSignerStatus } from '@sage-bionetworks/synapse-client'\nimport {\n FileHandleAssociateType,\n ManagedACTAccessRequirement,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport IconSvg from '../../../IconSvg/IconSvg'\nimport { longFieldLabelSx } from '../styles'\n\nexport type SignatureStatusStepProps = {\n managedACTAccessRequirement: ManagedACTAccessRequirement\n subjectId: string\n subjectType: RestrictableObjectType\n onHide: () => void\n /**\n * Called when the user clicks the Back button. When omitted, the Back button is hidden —\n * used when the step is reached via direct entry (e.g. a deep-link route) rather than\n * through the wizard flow, so there is no meaningful previous step to return to.\n */\n onBackClicked?: () => void\n onSubmissionCreated: (submissionId: string) => void\n /**\n * Optional href override for the \"View DUC\" link. When set, the preview file handle fetch\n * is skipped and this URL is used directly. Used by stories and tests where the portal\n * servlet is not available.\n */\n viewDucHrefOverride?: string\n}\n\n/**\n * Wizard step shown after the user has routed the eDUC for electronic signature\n * (PORTALS-4380). Polls the DocuSign envelope status, lists the pending signers,\n * and enables submission once every signer has signed.\n */\nexport default function SignatureStatusStep(props: SignatureStatusStepProps) {\n const {\n managedACTAccessRequirement,\n subjectId,\n subjectType,\n onHide,\n onBackClicked,\n onSubmissionCreated,\n viewDucHrefOverride,\n } = props\n\n const { data: dataAccessRequest, isLoading: isLoadingDar } =\n useGetDataAccessRequestForUpdate(String(managedACTAccessRequirement.id), {\n staleTime: Infinity,\n throwOnError: true,\n })\n\n const requestId = dataAccessRequest?.id ?? ''\n\n const {\n data: signatureStatus,\n isLoading: isLoadingStatus,\n isRefetching: isRefetchingStatus,\n error: statusError,\n refetch: refetchStatus,\n } = useGetDataAccessRequestSignatureStatus(requestId, {\n enabled: Boolean(requestId),\n })\n\n const signers: EDucSignerStatus[] = signatureStatus?.signerStatus ?? []\n const collectedCount = signers.filter(s => s.status === 'done').length\n const totalCount = signers.length\n const allCollected = totalCount > 0 && collectedCount === totalCount\n const outstandingSigners = signers.filter(s => s.status !== 'done')\n\n const { data: previewFileHandle } = useGetDataAccessRequestPreview(\n requestId,\n { enabled: Boolean(requestId) && !viewDucHrefOverride },\n )\n const viewDucHref =\n viewDucHrefOverride ??\n (previewFileHandle?.fileHandleId && requestId\n ? SynapseClient.getPortalFileHandleServletUrl(\n previewFileHandle.fileHandleId,\n requestId,\n FileHandleAssociateType.DataAccessRequestAttachment,\n )\n : undefined)\n\n const { data: signedFileHandle } = useGetDataAccessRequestSignedFileHandleId(\n requestId,\n { enabled: Boolean(requestId) && allCollected },\n )\n\n const [updateDarError, setUpdateDarError] = useState<string | undefined>()\n const [submitDarError, setSubmitDarError] = useState<string | undefined>()\n\n const { mutateAsync: updateDarAsync, isPending: isUpdating } =\n useUpdateDataAccessRequest({\n onError: e => setUpdateDarError(e.reason),\n })\n\n const { mutate: submit, isPending: isSubmitting } =\n useSubmitDataAccessRequest({\n onSuccess: submission => onSubmissionCreated(submission.submissionId),\n onError: e => setSubmitDarError(e.reason),\n })\n\n const isSubmitDisabled =\n isLoadingDar ||\n isLoadingStatus ||\n isRefetchingStatus ||\n !dataAccessRequest ||\n !allCollected ||\n !signedFileHandle?.fileHandleId ||\n isUpdating ||\n isSubmitting\n\n const handleSubmit = async () => {\n if (!dataAccessRequest || !signedFileHandle?.fileHandleId) return\n setUpdateDarError(undefined)\n setSubmitDarError(undefined)\n const updated = await updateDarAsync({\n ...dataAccessRequest,\n ducFileHandleId: signedFileHandle.fileHandleId,\n }).catch(() => null)\n if (!updated) return\n submit({\n request: {\n requestId: updated.id,\n requestEtag: updated.etag,\n subjectId,\n subjectType,\n },\n accessRequirementId: String(managedACTAccessRequirement.id),\n })\n }\n\n return (\n <>\n <DialogTitle>\n <Stack direction=\"row\" sx={{ alignItems: 'center', gap: '5px' }}>\n Request Access\n <Box sx={{ flexGrow: 1 }} />\n <IconButton aria-label={'Close'} onClick={onHide}>\n <IconSvg icon={'close'} wrap={false} sx={{ color: 'grey.700' }} />\n </IconButton>\n </Stack>\n </DialogTitle>\n <DialogContent>\n <Typography variant={'headline3'} sx={{ mb: 2 }}>\n Sign a Data Use Certificate (DUC)\n </Typography>\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 2 }}>\n Your DUC has been emailed to your Collaborators. Once all signatures\n (including the Signing Official) have been collected, you can submit\n the Data Access Request.\n </Typography>\n {/* TODO: restore once the backend precheck allows editing collaborators mid-signature (PORTALS-4380 notes).\n <Typography variant={'body1'} sx={{ ...longFieldLabelSx, mb: 3 }}>\n You can update the list of Collaborators by pressing{' '}\n <strong>Back</strong>.\n </Typography>\n */}\n\n {isLoadingStatus && (\n <Skeleton\n variant={'rectangular'}\n width={'100%'}\n height={120}\n data-testid={'SignatureStatusStep-loading'}\n />\n )}\n\n {statusError && (\n <Alert severity={'error'}>\n <strong>\n Sorry, we couldn&apos;t load the current signature status.\n </strong>\n <br />\n {statusError.reason}\n </Alert>\n )}\n\n {!isLoadingStatus && !statusError && signatureStatus && (\n <>\n <Stack\n direction={'row'}\n sx={{ alignItems: 'center', gap: 1, mb: 1 }}\n >\n {allCollected ? (\n <CheckCircleOutline color={'success'} />\n ) : (\n <HourglassEmpty sx={{ color: 'grey.700' }} />\n )}\n <Typography variant={'body1'} sx={{ fontWeight: 700 }}>\n {allCollected\n ? 'All signatures collected.'\n : `${collectedCount} out of ${totalCount} signatures collected.`}\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n {viewDucHref && (\n <Link\n href={viewDucHref}\n target={'_blank'}\n rel={'noopener'}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.5,\n }}\n >\n View DUC\n <OpenInNew fontSize={'small'} />\n </Link>\n )}\n </Stack>\n\n {outstandingSigners.length > 0 && (\n <>\n <Typography variant={'body1'} sx={{ mb: 1 }}>\n You&apos;re still waiting for signatures from\n </Typography>\n <Box component={'ul'} sx={{ mt: 0, mb: 2, pl: 3 }}>\n {outstandingSigners.map((signer, index) => (\n <li key={signer.userId ?? `${signer.name}-${index}`}>\n <SignerLine signer={signer} />\n </li>\n ))}\n </Box>\n </>\n )}\n\n <Button\n variant={'outlined'}\n startIcon={<Refresh />}\n loading={isRefetchingStatus}\n onClick={() => {\n refetchStatus()\n }}\n >\n Refresh\n </Button>\n </>\n )}\n\n {updateDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t save your change.</strong>\n <br />\n {updateDarError}\n </Alert>\n )}\n {submitDarError && (\n <Alert severity={'error'} sx={{ mt: 2 }}>\n <strong>Sorry, we couldn&apos;t submit your request.</strong>\n <br />\n {submitDarError}\n </Alert>\n )}\n </DialogContent>\n <DialogActions>\n {onBackClicked && (\n <Button variant={'outlined'} onClick={onBackClicked}>\n Back\n </Button>\n )}\n <Box sx={{ flexGrow: 1 }} />\n <Button\n variant={'contained'}\n disabled={isSubmitDisabled}\n loading={isSubmitting}\n onClick={() => {\n handleSubmit()\n }}\n >\n Submit\n </Button>\n </DialogActions>\n </>\n )\n}\n\nfunction SignerLine(props: { signer: EDucSignerStatus }) {\n const { signer } = props\n const displayName = signer.name ?? 'Unnamed signer'\n const nameNode = signer.userId ? (\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Profile:${signer.userId}`}\n target={'_blank'}\n rel={'noopener'}\n >\n {displayName}\n </Link>\n ) : (\n <>{displayName}</>\n )\n // Only surface non-pending problem states inline; pending is implied by the section header.\n const statusLabel =\n signer.status && signer.status !== 'pending' && signer.status !== 'done'\n ? ` (${signer.status})`\n : ''\n return (\n <Typography variant={'body1'} component={'span'}>\n {nameNode}\n {statusLabel}\n </Typography>\n )\n}\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { RestrictionUiType } from '../HasAccess/AccessIcon';
2
- import { Request } from '@sage-bionetworks/aridhia-client/generated/models';
2
+ import { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models';
3
3
  /**
4
4
  * Maps an Aridhia request status to the appropriate RestrictionUiType for display.
5
5
  *
6
6
  * @param request - The Aridhia request object, or undefined if no request exists
7
7
  * @returns The appropriate RestrictionUiType based on the request status
8
8
  */
9
- export declare function getRestrictionUiTypeFromAridhiaRequest(request: Request | undefined): RestrictionUiType;
9
+ export declare function getRestrictionUiTypeFromAridhiaRequest(request: RequestListItem | undefined): RestrictionUiType;
10
10
  /**
11
11
  * Finds the Aridhia request for a specific dataset from a list of requests.
12
12
  * If multiple requests match, returns the most recently updated one.
@@ -15,5 +15,5 @@ export declare function getRestrictionUiTypeFromAridhiaRequest(request: Request
15
15
  * @param datasetCode - The dataset code to search for
16
16
  * @returns The most recently updated request that contains the specified dataset, or undefined if not found
17
17
  */
18
- export declare function findRequestForDataset(requests: Request[], datasetCode: string): Request | undefined;
18
+ export declare function findRequestForDataset(requests: RequestListItem[], datasetCode: string): RequestListItem | undefined;
19
19
  //# sourceMappingURL=aridhiaAccessStatusUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aridhiaAccessStatusUtils.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/aridhiaAccessStatusUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mDAAmD,CAAA;AAE3E;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,iBAAiB,CAkBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,SAAS,CAmBrB"}
1
+ {"version":3,"file":"aridhiaAccessStatusUtils.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/aridhiaAccessStatusUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AAEnF;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,eAAe,GAAG,SAAS,GACnC,iBAAiB,CAkBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,eAAe,GAAG,SAAS,CAmB7B"}
@@ -11,7 +11,7 @@ function t(t) {
11
11
  }
12
12
  }
13
13
  function n(e, t) {
14
- let n = e.filter((e) => e.datasets?.some((e) => e.code === t));
14
+ let n = e.filter((e) => e.datasets?.code === t);
15
15
  if (n.length !== 0) return n.reduce((e, t) => e.updated_at ? t.updated_at && t.updated_at > e.updated_at ? t : e : t);
16
16
  }
17
17
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"aridhiaAccessStatusUtils.js","names":[],"sources":["../../../src/components/Aridhia/aridhiaAccessStatusUtils.ts"],"sourcesContent":["import { RestrictionUiType } from '../HasAccess/AccessIcon'\nimport { Request } from '@sage-bionetworks/aridhia-client/generated/models'\n\n/**\n * Maps an Aridhia request status to the appropriate RestrictionUiType for display.\n *\n * @param request - The Aridhia request object, or undefined if no request exists\n * @returns The appropriate RestrictionUiType based on the request status\n */\nexport function getRestrictionUiTypeFromAridhiaRequest(\n request: Request | undefined,\n): RestrictionUiType {\n if (!request) {\n // No request found - user needs to request access\n return RestrictionUiType.AccessBlockedByRestriction\n }\n\n switch (request.status) {\n case 'approved':\n return RestrictionUiType.Accessible\n case 'pending':\n return RestrictionUiType.AccessBlockedByRestrictionWithPendingRDCADAPRequest\n case 'denied':\n return RestrictionUiType.AccessBlockedByRestrictionWithRejectedRDCADAPRequest\n case 'error':\n return RestrictionUiType.AccessBlockedByACL\n default:\n return RestrictionUiType.AccessBlockedByRestriction\n }\n}\n\n/**\n * Finds the Aridhia request for a specific dataset from a list of requests.\n * If multiple requests match, returns the most recently updated one.\n *\n * @param requests - Array of Aridhia requests\n * @param datasetCode - The dataset code to search for\n * @returns The most recently updated request that contains the specified dataset, or undefined if not found\n */\nexport function findRequestForDataset(\n requests: Request[],\n datasetCode: string,\n): Request | undefined {\n const matchingRequests = requests.filter(request =>\n request.datasets?.some(dataset => dataset.code === datasetCode),\n )\n\n if (matchingRequests.length === 0) {\n return undefined\n }\n\n // Return the most recently updated request\n return matchingRequests.reduce((mostRecent, current) => {\n if (!mostRecent.updated_at) {\n return current\n }\n if (!current.updated_at) {\n return mostRecent\n }\n return current.updated_at > mostRecent.updated_at ? current : mostRecent\n })\n}\n"],"mappings":";;AASA,SAAgB,EACd,GACmB;CACnB,IAAI,CAAC,GAEH,OAAO,EAAkB;CAG3B,QAAQ,EAAQ,QAAhB;EACE,KAAK,YACH,OAAO,EAAkB;EAC3B,KAAK,WACH,OAAO,EAAkB;EAC3B,KAAK,UACH,OAAO,EAAkB;EAC3B,KAAK,SACH,OAAO,EAAkB;EAC3B,SACE,OAAO,EAAkB;CAC7B;AACF;AAUA,SAAgB,EACd,GACA,GACqB;CACrB,IAAM,IAAmB,EAAS,QAAO,MACvC,EAAQ,UAAU,MAAK,MAAW,EAAQ,SAAS,CAAW,CAChE;CAEI,MAAiB,WAAW,GAKhC,OAAO,EAAiB,QAAQ,GAAY,MACrC,EAAW,aAGX,EAAQ,cAGN,EAAQ,aAAa,EAAW,aAAa,IAAU,IALrD,CAMV;AACH"}
1
+ {"version":3,"file":"aridhiaAccessStatusUtils.js","names":[],"sources":["../../../src/components/Aridhia/aridhiaAccessStatusUtils.ts"],"sourcesContent":["import { RestrictionUiType } from '../HasAccess/AccessIcon'\nimport { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models'\n\n/**\n * Maps an Aridhia request status to the appropriate RestrictionUiType for display.\n *\n * @param request - The Aridhia request object, or undefined if no request exists\n * @returns The appropriate RestrictionUiType based on the request status\n */\nexport function getRestrictionUiTypeFromAridhiaRequest(\n request: RequestListItem | undefined,\n): RestrictionUiType {\n if (!request) {\n // No request found - user needs to request access\n return RestrictionUiType.AccessBlockedByRestriction\n }\n\n switch (request.status) {\n case 'approved':\n return RestrictionUiType.Accessible\n case 'pending':\n return RestrictionUiType.AccessBlockedByRestrictionWithPendingRDCADAPRequest\n case 'denied':\n return RestrictionUiType.AccessBlockedByRestrictionWithRejectedRDCADAPRequest\n case 'error':\n return RestrictionUiType.AccessBlockedByACL\n default:\n return RestrictionUiType.AccessBlockedByRestriction\n }\n}\n\n/**\n * Finds the Aridhia request for a specific dataset from a list of requests.\n * If multiple requests match, returns the most recently updated one.\n *\n * @param requests - Array of Aridhia requests\n * @param datasetCode - The dataset code to search for\n * @returns The most recently updated request that contains the specified dataset, or undefined if not found\n */\nexport function findRequestForDataset(\n requests: RequestListItem[],\n datasetCode: string,\n): RequestListItem | undefined {\n const matchingRequests = requests.filter(\n request => request.datasets?.code === datasetCode,\n )\n\n if (matchingRequests.length === 0) {\n return undefined\n }\n\n // Return the most recently updated request\n return matchingRequests.reduce((mostRecent, current) => {\n if (!mostRecent.updated_at) {\n return current\n }\n if (!current.updated_at) {\n return mostRecent\n }\n return current.updated_at > mostRecent.updated_at ? current : mostRecent\n })\n}\n"],"mappings":";;AASA,SAAgB,EACd,GACmB;CACnB,IAAI,CAAC,GAEH,OAAO,EAAkB;CAG3B,QAAQ,EAAQ,QAAhB;EACE,KAAK,YACH,OAAO,EAAkB;EAC3B,KAAK,WACH,OAAO,EAAkB;EAC3B,KAAK,UACH,OAAO,EAAkB;EAC3B,KAAK,SACH,OAAO,EAAkB;EAC3B,SACE,OAAO,EAAkB;CAC7B;AACF;AAUA,SAAgB,EACd,GACA,GAC6B;CAC7B,IAAM,IAAmB,EAAS,QAChC,MAAW,EAAQ,UAAU,SAAS,CACxC;CAEI,MAAiB,WAAW,GAKhC,OAAO,EAAiB,QAAQ,GAAY,MACrC,EAAW,aAGX,EAAQ,cAGN,EAAQ,aAAa,EAAW,aAAa,IAAU,IALrD,CAMV;AACH"}
@@ -1,4 +1,5 @@
1
1
  import { CardLink } from '@/components/CardContainer/CardLink';
2
+ import { CardActionButtonStyle } from '@/components/GenericCard/CardActionButtonStyleContext';
2
3
  import { ColumnIconConfigs, CTACardLink, DescriptionConfig, LabelLinkConfig } from '@/components/CardContainerLogic/CardContainerLogic';
3
4
  import { TableToGenericCardMapping } from '@/components/GenericCard/TableRowGenericCard';
4
5
  import { HeaderCardVariant } from '@/components/HeaderCard';
@@ -77,6 +78,13 @@ export type CommonCardProps = {
77
78
  * @default 400
78
79
  */
79
80
  charCountCutoff?: number;
81
+ /**
82
+ * Visual style for the card's action buttons (Download/hosting, Cite As,
83
+ * Croissant, Share): `'button'` (default, compact) or `'chip'` (pill-shaped,
84
+ * with the hosting action as a colored chip).
85
+ * @default 'button'
86
+ */
87
+ actionButtonStyle?: CardActionButtonStyle;
80
88
  };
81
89
  export type CardConfiguration = CommonCardProps & (StandardCardTypeConfiguration | GenericCardConfiguration | ReleaseCardConfiguration | DatasetCardConfiguration);
82
90
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"CardConfiguration.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainer/CardConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EAChB,MAAM,oDAAoD,CAAA;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGrD,KAAK,6BAA6B,GAAG;IACnC,iCAAiC;IACjC,IAAI,EAAE,OAAO,MAAM,GAAG,OAAO,gBAAgB,GAAG,OAAO,gBAAgB,CAAA;CACxE,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,iCAAiC;IACjC,IAAI,EAAE,OAAO,YAAY,CAAA;IACzB,wDAAwD;IACxD,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,iCAAiC;IACjC,IAAI,EAAE,OAAO,OAAO,CAAA;IACpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;CAC9C,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,iCAAiC;IACjC,IAAI,EAAE,OAAO,YAAY,CAAA;IACzB,wDAAwD;IACxD,iBAAiB,EAAE,yBAAyB,CAAA;CAC7C,CAAA;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG;IAC5B,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,kFAAkF;IAClF,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,gIAAgI;IAChI,aAAa,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAA;IAC3C,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,qDAAqD;IACrD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C;;OAEG;IACH,uBAAuB,CAAC,EAAE,4BAA4B,CAAA;IACtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,wBAAwB,CAAC,EAAE,kBAAkB,CAAA;IAC7C,oHAAoH;IACpH,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CAAC,CAAA;IACF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAC7C,CACI,6BAA6B,GAC7B,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,CAC3B,CAAA"}
1
+ {"version":3,"file":"CardConfiguration.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainer/CardConfiguration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordWithToken.d.ts","sourceRoot":"","sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAK1E,KAAK,4BAA4B,GAAG;IAClC,mBAAmB,EAAE,wBAAwB,CAAA;IAC7C,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,2CA0FpC"}
1
+ {"version":3,"file":"ChangePasswordWithToken.d.ts","sourceRoot":"","sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAM1E,KAAK,4BAA4B,GAAG;IAClC,mBAAmB,EAAE,wBAAwB,CAAA;IAC7C,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAAK,EAAE,4BAA4B,2CAsIpC"}
@@ -1,52 +1,87 @@
1
1
  import { displayToast as e } from "../ToastMessage/ToastMessage.js";
2
2
  import { validatePassword as t } from "../../utils/functions/StringUtils.js";
3
3
  import "../ToastMessage/index.js";
4
- import n from "./useChangePasswordFormState.js";
5
- import { useState as r } from "react";
6
- import { Alert as i, Button as a, TextField as o } from "@mui/material";
7
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ import { BEGIN_RESET_2FA_BUTTON_TEXT as n } from "../Authentication/OneTimePasswordForm.js";
5
+ import r from "./useChangePasswordFormState.js";
6
+ import { useState as i } from "react";
7
+ import { Alert as a, Button as o, Link as s, TextField as c, Typography as l } from "@mui/material";
8
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
8
9
  //#region src/components/ChangePassword/ChangePasswordWithToken.tsx
9
- function l(l) {
10
- let { passwordChangeToken: u, onSuccess: d } = l, [f, p] = r(""), [m, h] = r(""), [g, _] = r(void 0), { promptForTwoFactorAuth: v, TwoFactorAuthPrompt: y, isPending: b, handleChangePasswordWithResetToken: x, error: S } = n({ onChangePasswordSuccess: () => {
11
- p(""), h(""), e("Password successfully changed.", "success"), d();
12
- } }), C = (t) => {
13
- t.preventDefault(), f === m ? x(f, u) : e("Passwords do not match.", "danger");
10
+ function p(p) {
11
+ let { passwordChangeToken: m, onSuccess: h } = p, [g, _] = i(""), [v, y] = i(""), [b, x] = i(void 0), [S, C] = i(!1), { promptForTwoFactorAuth: w, TwoFactorAuthPrompt: T, isPending: E, handleChangePasswordWithResetToken: D, error: O } = r({
12
+ hideReset2FA: !0,
13
+ onChangePasswordSuccess: () => {
14
+ _(""), y(""), e("Password successfully changed.", "success"), h();
15
+ }
16
+ }), k = (t) => {
17
+ t.preventDefault(), g === v ? D(g, m) : e("Passwords do not match.", "danger");
14
18
  };
15
- return /* @__PURE__ */ c("div", { children: [v ? /* @__PURE__ */ s(y, {}) : /* @__PURE__ */ c("form", {
19
+ return /* @__PURE__ */ f("div", { children: [w ? /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d(T, {}), S ? /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ f(l, {
20
+ variant: "body1",
21
+ sx: { my: 2 },
22
+ align: "center",
23
+ children: [
24
+ "Because you're resetting your password by email, we can't verify your identity strongly enough to reset two-factor authentication here. Please contact the",
25
+ " ",
26
+ /* @__PURE__ */ d(s, {
27
+ target: "_blank",
28
+ rel: "noopener noreferrer",
29
+ href: "https://sagebionetworks.jira.com/servicedesk/customer/portal/9",
30
+ children: "Synapse Service Desk"
31
+ }),
32
+ " ",
33
+ "for help recovering your account."
34
+ ]
35
+ }), /* @__PURE__ */ d(l, {
36
+ variant: "body1",
37
+ sx: { my: 2 },
38
+ align: "center",
39
+ children: "If you have a Google or ORCID account linked to your Synapse account, you may also be able to regain access by signing in with that account instead."
40
+ })] }) : /* @__PURE__ */ d(s, {
41
+ align: "center",
42
+ color: "grey.700",
43
+ sx: {
44
+ display: "block",
45
+ mx: "auto",
46
+ my: 2
47
+ },
48
+ onClick: () => C(!0),
49
+ children: n
50
+ })] }) : /* @__PURE__ */ f("form", {
16
51
  onSubmit: (e) => {
17
- C(e);
52
+ k(e);
18
53
  },
19
54
  children: [
20
- /* @__PURE__ */ s(o, {
55
+ /* @__PURE__ */ d(c, {
21
56
  fullWidth: !0,
22
57
  required: !0,
23
- helperText: g,
58
+ helperText: b,
24
59
  type: "password",
25
60
  id: "newPassword",
26
61
  name: "newPassword",
27
62
  label: "New password",
28
63
  onChange: (e) => {
29
- _(t(e.target.value)), p(e.target.value);
64
+ x(t(e.target.value)), _(e.target.value);
30
65
  },
31
- value: f || "",
66
+ value: g || "",
32
67
  sx: { mb: 2 }
33
68
  }),
34
- /* @__PURE__ */ s(o, {
69
+ /* @__PURE__ */ d(c, {
35
70
  fullWidth: !0,
36
71
  required: !0,
37
72
  type: "password",
38
73
  id: "confirmPassword",
39
74
  name: "confirmPassword",
40
75
  label: "Confirm password",
41
- onChange: (e) => h(e.target.value),
42
- value: m || "",
76
+ onChange: (e) => y(e.target.value),
77
+ value: v || "",
43
78
  sx: { mb: 2 }
44
79
  }),
45
- /* @__PURE__ */ s(a, {
80
+ /* @__PURE__ */ d(o, {
46
81
  variant: "contained",
47
82
  type: "submit",
48
83
  fullWidth: !0,
49
- disabled: !f || !m || b,
84
+ disabled: !g || !v || E,
50
85
  sx: {
51
86
  mt: 3,
52
87
  py: 2
@@ -54,13 +89,13 @@ function l(l) {
54
89
  children: "Change Password"
55
90
  })
56
91
  ]
57
- }), S && /* @__PURE__ */ s(i, {
92
+ }), O && /* @__PURE__ */ d(a, {
58
93
  severity: "error",
59
94
  sx: { my: 2 },
60
- children: S.reason
95
+ children: O.reason
61
96
  })] });
62
97
  }
63
98
  //#endregion
64
- export { l as default };
99
+ export { p as default };
65
100
 
66
101
  //# sourceMappingURL=ChangePasswordWithToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChangePasswordWithToken.js","names":[],"sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"sourcesContent":["import { validatePassword } from '@/utils/functions/StringUtils'\nimport { Alert, Button, TextField } from '@mui/material'\nimport { PasswordResetSignedToken } from '@sage-bionetworks/synapse-types'\nimport { FormEvent, useState } from 'react'\nimport { displayToast } from '../ToastMessage'\nimport useChangePasswordFormState from './useChangePasswordFormState'\n\ntype ChangePasswordWithTokenProps = {\n passwordChangeToken: PasswordResetSignedToken\n onSuccess: () => void\n}\n\nexport default function ChangePasswordWithToken(\n props: ChangePasswordWithTokenProps,\n) {\n const { passwordChangeToken, onSuccess } = props\n const [newPassword, setNewPassword] = useState<string>('')\n const [confirmPassword, setConfirmPassword] = useState<string>('')\n const [newPasswordError, setNewPasswordError] = useState<string | undefined>(\n undefined,\n )\n\n const {\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt,\n isPending: changePasswordIsPending,\n handleChangePasswordWithResetToken,\n error,\n } = useChangePasswordFormState({\n onChangePasswordSuccess: () => {\n setNewPassword('')\n setConfirmPassword('')\n displayToast('Password successfully changed.', 'success')\n onSuccess()\n },\n })\n\n const handleChangePassword = (clickEvent: FormEvent<HTMLElement>) => {\n clickEvent.preventDefault()\n if (newPassword !== confirmPassword) {\n displayToast('Passwords do not match.', 'danger')\n } else {\n handleChangePasswordWithResetToken(newPassword, passwordChangeToken)\n }\n }\n\n return (\n <div>\n {promptForTwoFactorAuth ? (\n <TwoFactorAuthPrompt />\n ) : (\n <form\n onSubmit={e => {\n handleChangePassword(e)\n }}\n >\n <TextField\n fullWidth\n required\n helperText={newPasswordError}\n type=\"password\"\n id=\"newPassword\"\n name=\"newPassword\"\n label={'New password'}\n onChange={e => {\n const error = validatePassword(e.target.value)\n setNewPasswordError(error)\n setNewPassword(e.target.value)\n }}\n value={newPassword || ''}\n sx={{ mb: 2 }}\n />\n <TextField\n fullWidth\n required\n type=\"password\"\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n label={'Confirm password'}\n onChange={e => setConfirmPassword(e.target.value)}\n value={confirmPassword || ''}\n sx={{ mb: 2 }}\n />\n <Button\n variant=\"contained\"\n type=\"submit\"\n fullWidth\n disabled={\n !newPassword || !confirmPassword || changePasswordIsPending\n }\n sx={{ mt: 3, py: 2 }}\n >\n Change Password\n </Button>\n </form>\n )}\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {error.reason}\n </Alert>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAYA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,wBAAqB,iBAAc,GACrC,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAAiB,KAAsB,EAAiB,EAAE,GAC3D,CAAC,GAAkB,KAAuB,EAC9C,KAAA,CACF,GAEM,EACJ,2BACA,wBACA,WAAW,GACX,uCACA,aACE,EAA2B,EAC7B,+BAA+B;EAI7B,AAHA,EAAe,EAAE,GACjB,EAAmB,EAAE,GACrB,EAAa,kCAAkC,SAAS,GACxD,EAAU;CACZ,EACF,CAAC,GAEK,KAAwB,MAAuC;EAEnE,AADA,EAAW,eAAe,GACtB,MAAgB,IAGlB,EAAmC,GAAa,CAAmB,IAFnE,EAAa,2BAA2B,QAAQ;CAIpD;CAEA,OACE,kBAAC,OAAD,EAAA,UAAA,CACG,IACC,kBAAC,GAAD,CAAsB,CAAA,IAEtB,kBAAC,QAAD;EACE,WAAU,MAAK;GACb,EAAqB,CAAC;EACxB;YAHF;GAKE,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,YAAY;IACZ,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK;KAGb,AADA,EADc,EAAiB,EAAE,OAAO,KACpB,CAAK,GACzB,EAAe,EAAE,OAAO,KAAK;IAC/B;IACA,OAAO,KAAe;IACtB,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK,EAAmB,EAAE,OAAO,KAAK;IAChD,OAAO,KAAmB;IAC1B,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAA;IACA,UACE,CAAC,KAAe,CAAC,KAAmB;IAEtC,IAAI;KAAE,IAAI;KAAG,IAAI;IAAE;cACpB;GAEO,CAAA;EACJ;KAEP,KACC,kBAAC,GAAD;EAAO,UAAU;EAAS,IAAI,EAAE,IAAI,EAAE;YACnC,EAAM;CACF,CAAA,CAEN,EAAA,CAAA;AAET"}
1
+ {"version":3,"file":"ChangePasswordWithToken.js","names":[],"sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"sourcesContent":["import { validatePassword } from '@/utils/functions/StringUtils'\nimport { Alert, Button, Link, TextField, Typography } from '@mui/material'\nimport { PasswordResetSignedToken } from '@sage-bionetworks/synapse-types'\nimport { FormEvent, useState } from 'react'\nimport { BEGIN_RESET_2FA_BUTTON_TEXT } from '../Authentication/OneTimePasswordForm'\nimport { displayToast } from '../ToastMessage'\nimport useChangePasswordFormState from './useChangePasswordFormState'\n\ntype ChangePasswordWithTokenProps = {\n passwordChangeToken: PasswordResetSignedToken\n onSuccess: () => void\n}\n\nexport default function ChangePasswordWithToken(\n props: ChangePasswordWithTokenProps,\n) {\n const { passwordChangeToken, onSuccess } = props\n const [newPassword, setNewPassword] = useState<string>('')\n const [confirmPassword, setConfirmPassword] = useState<string>('')\n const [newPasswordError, setNewPasswordError] = useState<string | undefined>(\n undefined,\n )\n const [\n showTwoFactorAuthRecoveryGuidance,\n setShowTwoFactorAuthRecoveryGuidance,\n ] = useState(false)\n\n const {\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt,\n isPending: changePasswordIsPending,\n handleChangePasswordWithResetToken,\n error,\n } = useChangePasswordFormState({\n // This flow authenticates via an emailed password-reset token: the user has no current\n // password, and their 2FA challenge token is scoped to PASSWORD_CHANGE, which the 2fa/reset\n // endpoint rejects (it only accepts a token from an AUTHENTICATION/login challenge, e.g. one\n // obtained by signing in with a linked SSO provider). There is no credential this flow can\n // offer to self-service reset 2FA, so we hide the interactive reset option (it would only\n // fail) and instead show guidance below.\n hideReset2FA: true,\n onChangePasswordSuccess: () => {\n setNewPassword('')\n setConfirmPassword('')\n displayToast('Password successfully changed.', 'success')\n onSuccess()\n },\n })\n\n const handleChangePassword = (clickEvent: FormEvent<HTMLElement>) => {\n clickEvent.preventDefault()\n if (newPassword !== confirmPassword) {\n displayToast('Passwords do not match.', 'danger')\n } else {\n handleChangePasswordWithResetToken(newPassword, passwordChangeToken)\n }\n }\n\n return (\n <div>\n {promptForTwoFactorAuth ? (\n <>\n <TwoFactorAuthPrompt />\n {!showTwoFactorAuthRecoveryGuidance ? (\n <Link\n align={'center'}\n color={'grey.700'}\n sx={{ display: 'block', mx: 'auto', my: 2 }}\n onClick={() => setShowTwoFactorAuthRecoveryGuidance(true)}\n >\n {BEGIN_RESET_2FA_BUTTON_TEXT}\n </Link>\n ) : (\n <>\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n Because you're resetting your password by email, we can't verify\n your identity strongly enough to reset two-factor authentication\n here. Please contact the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portal/9\"\n >\n Synapse Service Desk\n </Link>{' '}\n for help recovering your account.\n </Typography>\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n If you have a Google or ORCID account linked to your Synapse\n account, you may also be able to regain access by signing in\n with that account instead.\n </Typography>\n </>\n )}\n </>\n ) : (\n <form\n onSubmit={e => {\n handleChangePassword(e)\n }}\n >\n <TextField\n fullWidth\n required\n helperText={newPasswordError}\n type=\"password\"\n id=\"newPassword\"\n name=\"newPassword\"\n label={'New password'}\n onChange={e => {\n const error = validatePassword(e.target.value)\n setNewPasswordError(error)\n setNewPassword(e.target.value)\n }}\n value={newPassword || ''}\n sx={{ mb: 2 }}\n />\n <TextField\n fullWidth\n required\n type=\"password\"\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n label={'Confirm password'}\n onChange={e => setConfirmPassword(e.target.value)}\n value={confirmPassword || ''}\n sx={{ mb: 2 }}\n />\n <Button\n variant=\"contained\"\n type=\"submit\"\n fullWidth\n disabled={\n !newPassword || !confirmPassword || changePasswordIsPending\n }\n sx={{ mt: 3, py: 2 }}\n >\n Change Password\n </Button>\n </form>\n )}\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {error.reason}\n </Alert>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;AAaA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,wBAAqB,iBAAc,GACrC,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAAiB,KAAsB,EAAiB,EAAE,GAC3D,CAAC,GAAkB,KAAuB,EAC9C,KAAA,CACF,GACM,CACJ,GACA,KACE,EAAS,EAAK,GAEZ,EACJ,2BACA,wBACA,WAAW,GACX,uCACA,aACE,EAA2B;EAO7B,cAAc;EACd,+BAA+B;GAI7B,AAHA,EAAe,EAAE,GACjB,EAAmB,EAAE,GACrB,EAAa,kCAAkC,SAAS,GACxD,EAAU;EACZ;CACF,CAAC,GAEK,KAAwB,MAAuC;EAEnE,AADA,EAAW,eAAe,GACtB,MAAgB,IAGlB,EAAmC,GAAa,CAAmB,IAFnE,EAAa,2BAA2B,QAAQ;CAIpD;CAEA,OACE,kBAAC,OAAD,EAAA,UAAA,CACG,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD,CAAsB,CAAA,GACpB,IAUA,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAY,SAAS;EAAS,IAAI,EAAE,IAAI,EAAE;EAAG,OAAO;YAApD;GAA8D;GAGnC;GACzB,kBAAC,GAAD;IACE,QAAO;IACP,KAAI;IACJ,MAAK;cACN;GAEK,CAAA;GAAE;GAAI;EAEF;KACZ,kBAAC,GAAD;EAAY,SAAS;EAAS,IAAI,EAAE,IAAI,EAAE;EAAG,OAAO;YAAU;CAIlD,CAAA,CACZ,EAAA,CAAA,IA5BF,kBAAC,GAAD;EACE,OAAO;EACP,OAAO;EACP,IAAI;GAAE,SAAS;GAAS,IAAI;GAAQ,IAAI;EAAE;EAC1C,eAAe,EAAqC,EAAI;YAEvD;CACG,CAAA,CAuBR,EAAA,CAAA,IAEF,kBAAC,QAAD;EACE,WAAU,MAAK;GACb,EAAqB,CAAC;EACxB;YAHF;GAKE,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,YAAY;IACZ,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK;KAGb,AADA,EADc,EAAiB,EAAE,OAAO,KACpB,CAAK,GACzB,EAAe,EAAE,OAAO,KAAK;IAC/B;IACA,OAAO,KAAe;IACtB,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK,EAAmB,EAAE,OAAO,KAAK;IAChD,OAAO,KAAmB;IAC1B,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAA;IACA,UACE,CAAC,KAAe,CAAC,KAAmB;IAEtC,IAAI;KAAE,IAAI;KAAG,IAAI;IAAE;cACpB;GAEO,CAAA;EACJ;KAEP,KACC,kBAAC,GAAD;EAAO,UAAU;EAAS,IAAI,EAAE,IAAI,EAAE;YACnC,EAAM;CACF,CAAA,CAEN,EAAA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChangePasswordFormState.d.ts","sourceRoot":"","sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,wBAAwB,EAGzB,MAAM,iCAAiC,CAAA;AAQxC,eAAO,MAAM,sCAAsC,2GACuD,CAAA;AAE1G,MAAM,MAAM,iCAAiC,GAAG;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;CACrC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAChD,OAAO,CAAC,EAAE,iCAAiC;;;;;;wDAuC9B,MAAM,mBAAmB,MAAM,eAAe,MAAM;sDAgBjD,MAAM,uBAAuB,wBAAwB;EA8HtE"}
1
+ {"version":3,"file":"useChangePasswordFormState.d.ts","sourceRoot":"","sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,wBAAwB,EAGzB,MAAM,iCAAiC,CAAA;AAQxC,eAAO,MAAM,sCAAsC,2GACuD,CAAA;AAE1G,MAAM,MAAM,iCAAiC,GAAG;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;CACrC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAChD,OAAO,CAAC,EAAE,iCAAiC;;;;;;wDAuC9B,MAAM,mBAAmB,MAAM,eAAe,MAAM;sDAgBjD,MAAM,uBAAuB,wBAAwB;EAwItE"}
@@ -37,7 +37,7 @@ function p(f) {
37
37
  otpType: n,
38
38
  otpCode: t
39
39
  });
40
- }, [w, v]), A = !!v, { mutate: j, isSuccess: M, isPending: N } = r(), P = a((e) => {
40
+ }, [w, v]), A = !!v, { mutate: j, isSuccess: M, isPending: N, error: P } = r(), F = a((e) => {
41
41
  v && j({
42
42
  userId: v.userId,
43
43
  twoFaResetEndpoint: e,
@@ -81,7 +81,7 @@ function p(f) {
81
81
  x("DISABLE_2FA_PROMPT");
82
82
  },
83
83
  onClickReset2FA: () => {
84
- P(p);
84
+ F(p);
85
85
  },
86
86
  twoFactorAuthResetIsPending: N,
87
87
  twoFactorAuthResetIsSuccess: M
@@ -95,15 +95,25 @@ function p(f) {
95
95
  severity: "warning",
96
96
  sx: { my: 2 },
97
97
  children: [/* @__PURE__ */ u("strong", { children: "Your password has not been changed." }), " To disable two-factor authentication, you may be required to enter your current password after clicking the link sent to your email address."]
98
+ }),
99
+ b === "DISABLE_2FA_PROMPT" && P && /* @__PURE__ */ d(s, {
100
+ severity: "error",
101
+ sx: { my: 2 },
102
+ children: [
103
+ "Failed to reset two-factor authentication:",
104
+ " ",
105
+ P.reason
106
+ ]
98
107
  })
99
108
  ] }) : /* @__PURE__ */ u(l, {}), [
100
- P,
109
+ F,
101
110
  k,
102
111
  T,
103
112
  g,
104
113
  f?.hideReset2FA,
105
114
  b,
106
115
  A,
116
+ P,
107
117
  N,
108
118
  M,
109
119
  p