synapse-react-client 4.0.38 → 4.0.41

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 (350) hide show
  1. package/dist/SWC.index.d.ts +1 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +2 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/aridhia-queries/useAridhiaQuery.d.ts +6 -2
  6. package/dist/aridhia-queries/useAridhiaQuery.d.ts.map +1 -1
  7. package/dist/aridhia-queries/useAridhiaQuery.js +3 -0
  8. package/dist/aridhia-queries/useAridhiaQuery.js.map +1 -1
  9. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts +1 -0
  10. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map +1 -1
  11. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js +12 -12
  12. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  13. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts +2 -1
  14. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  15. package/dist/components/Aridhia/AridhiaAccessStatus.js +57 -31
  16. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  17. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +12 -0
  18. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -0
  19. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +56 -0
  20. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -0
  21. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts.map +1 -1
  22. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js +38 -30
  23. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js.map +1 -1
  24. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +15 -14
  25. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
  26. package/dist/components/Aridhia/RdcaDapEligibilityDialog.d.ts +11 -0
  27. package/dist/components/Aridhia/RdcaDapEligibilityDialog.d.ts.map +1 -0
  28. package/dist/components/Aridhia/RdcaDapEligibilityDialog.js +37 -0
  29. package/dist/components/Aridhia/RdcaDapEligibilityDialog.js.map +1 -0
  30. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +2 -2
  31. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  32. package/dist/components/Aridhia/aridhiaFairPortalUrls.d.ts +10 -0
  33. package/dist/components/Aridhia/aridhiaFairPortalUrls.d.ts.map +1 -0
  34. package/dist/components/Aridhia/aridhiaFairPortalUrls.js +11 -0
  35. package/dist/components/Aridhia/aridhiaFairPortalUrls.js.map +1 -0
  36. package/dist/components/Aridhia/rdcaDapConstants.d.ts +3 -0
  37. package/dist/components/Aridhia/rdcaDapConstants.d.ts.map +1 -0
  38. package/dist/components/Aridhia/rdcaDapConstants.js +6 -0
  39. package/dist/components/Aridhia/rdcaDapConstants.js.map +1 -0
  40. package/dist/components/Authentication/Constants.d.ts +4 -0
  41. package/dist/components/Authentication/Constants.d.ts.map +1 -1
  42. package/dist/components/Authentication/Constants.js +5 -2
  43. package/dist/components/Authentication/Constants.js.map +1 -1
  44. package/dist/components/Authentication/RecoveryCodeGrid.d.ts.map +1 -1
  45. package/dist/components/Authentication/RecoveryCodeGrid.js +8 -1
  46. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  47. package/dist/components/Authentication/RegenerateBackupCodesWarning.js +4 -1
  48. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  49. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  50. package/dist/components/Authentication/TOTPForm.js +20 -18
  51. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  52. package/dist/components/Authentication/TwoFactorBackupCodes.d.ts.map +1 -1
  53. package/dist/components/Authentication/TwoFactorBackupCodes.js +41 -12
  54. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  55. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  56. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +74 -71
  57. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  58. package/dist/components/DataExplorer/DataExplorer.css +1 -1
  59. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  60. package/dist/components/DataExplorer/DataExplorer.js +50 -50
  61. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  62. package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
  63. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
  64. package/dist/components/DataExplorer/DataExplorer.module.scss +29 -6
  65. package/dist/components/DataGrid/columns/DateTimeColumn.d.ts +16 -7
  66. package/dist/components/DataGrid/columns/DateTimeColumn.d.ts.map +1 -1
  67. package/dist/components/DataGrid/columns/DateTimeColumn.js +79 -57
  68. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  69. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  70. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +43 -46
  71. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  72. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  73. package/dist/components/DataGrid/utils/columnFactory.js +11 -8
  74. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  75. package/dist/components/DatePicker/DatePicker.d.ts +10 -0
  76. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  77. package/dist/components/DatePicker/DatePicker.js +18 -0
  78. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  79. package/dist/components/EntityCitation/EntityCitation.d.ts.map +1 -1
  80. package/dist/components/EntityCitation/EntityCitation.js +8 -5
  81. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  82. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts +11 -0
  83. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -0
  84. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +61 -0
  85. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -0
  86. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts +33 -0
  87. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -0
  88. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +187 -0
  89. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -0
  90. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts +14 -0
  91. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -0
  92. package/dist/components/FormTemplateEditor/FormTemplatePreview.js +83 -0
  93. package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -0
  94. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts +13 -0
  95. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts.map +1 -0
  96. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js +33 -0
  97. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js.map +1 -0
  98. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts +32 -0
  99. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts.map +1 -0
  100. package/dist/components/FormTemplateEditor/formTemplateValidation.js +75 -0
  101. package/dist/components/FormTemplateEditor/formTemplateValidation.js.map +1 -0
  102. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts +25 -0
  103. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts.map +1 -0
  104. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +66 -0
  105. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -0
  106. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts +28 -0
  107. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -0
  108. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js +39 -0
  109. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -0
  110. package/dist/components/FormTemplateEditor/utils.d.ts +21 -0
  111. package/dist/components/FormTemplateEditor/utils.d.ts.map +1 -0
  112. package/dist/components/FormTemplateEditor/utils.js +27 -0
  113. package/dist/components/FormTemplateEditor/utils.js.map +1 -0
  114. package/dist/components/HasAccess/AccessIcon.d.ts +3 -1
  115. package/dist/components/HasAccess/AccessIcon.d.ts.map +1 -1
  116. package/dist/components/HasAccess/AccessIcon.js +11 -1
  117. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  118. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +1 -1
  119. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
  120. package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -1
  121. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +1 -1
  122. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -1
  123. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +6 -1
  124. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  125. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +4 -0
  126. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  127. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts +2 -1
  128. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.d.ts.map +1 -1
  129. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js +81 -53
  130. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  131. package/dist/components/ProjectInfo/ProjectInfo.d.ts.map +1 -1
  132. package/dist/components/ProjectInfo/ProjectInfo.js +3 -2
  133. package/dist/components/ProjectInfo/ProjectInfo.js.map +1 -1
  134. package/dist/components/QueryBuilder/FilterConditionRow.css +1 -0
  135. package/dist/components/QueryBuilder/FilterConditionRow.d.ts +8 -0
  136. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -0
  137. package/dist/components/QueryBuilder/FilterConditionRow.js +260 -0
  138. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -0
  139. package/dist/components/QueryBuilder/FilterConditionRow.module.js +16 -0
  140. package/dist/components/QueryBuilder/FilterConditionRow.module.js.map +1 -0
  141. package/dist/components/QueryBuilder/FilterConditionRow.module.scss +101 -0
  142. package/dist/components/QueryBuilder/FilterGroupNode.css +1 -0
  143. package/dist/components/QueryBuilder/FilterGroupNode.d.ts +11 -0
  144. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -0
  145. package/dist/components/QueryBuilder/FilterGroupNode.js +134 -0
  146. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -0
  147. package/dist/components/QueryBuilder/FilterGroupNode.module.js +16 -0
  148. package/dist/components/QueryBuilder/FilterGroupNode.module.js.map +1 -0
  149. package/dist/components/QueryBuilder/FilterGroupNode.module.scss +92 -0
  150. package/dist/components/QueryBuilder/QBDragHandle.d.ts +10 -0
  151. package/dist/components/QueryBuilder/QBDragHandle.d.ts.map +1 -0
  152. package/dist/components/QueryBuilder/QBDragHandle.js +22 -0
  153. package/dist/components/QueryBuilder/QBDragHandle.js.map +1 -0
  154. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -0
  155. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts +21 -0
  156. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -0
  157. package/dist/components/QueryBuilder/QueryBuilderControls.js +143 -0
  158. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -0
  159. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +17 -0
  160. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -0
  161. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +79 -0
  162. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +39 -0
  163. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -0
  164. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js +19 -0
  165. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -0
  166. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts +14 -0
  167. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts.map +1 -0
  168. package/dist/components/QueryBuilder/qbTreeToReadable.js +89 -0
  169. package/dist/components/QueryBuilder/qbTreeToReadable.js.map +1 -0
  170. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts +27 -0
  171. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts.map +1 -0
  172. package/dist/components/QueryBuilder/queryBuilderDnd.js +41 -0
  173. package/dist/components/QueryBuilder/queryBuilderDnd.js.map +1 -0
  174. package/dist/components/QueryBuilder/queryBuilderDrag.css +1 -0
  175. package/dist/components/QueryBuilder/queryBuilderDrag.module.js +8 -0
  176. package/dist/components/QueryBuilder/queryBuilderDrag.module.js.map +1 -0
  177. package/dist/components/QueryBuilder/queryBuilderDrag.module.scss +12 -0
  178. package/dist/components/QueryBuilder/queryBuilderId.d.ts +2 -0
  179. package/dist/components/QueryBuilder/queryBuilderId.d.ts.map +1 -0
  180. package/dist/components/QueryBuilder/queryBuilderId.js +9 -0
  181. package/dist/components/QueryBuilder/queryBuilderId.js.map +1 -0
  182. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +24 -0
  183. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -0
  184. package/dist/components/QueryBuilder/queryBuilderMetadata.js +91 -0
  185. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -0
  186. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts +71 -0
  187. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts.map +1 -0
  188. package/dist/components/QueryBuilder/queryBuilderOperations.js +203 -0
  189. package/dist/components/QueryBuilder/queryBuilderOperations.js.map +1 -0
  190. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +3 -2
  191. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  192. package/dist/components/QueryBuilder/queryBuilderTranslation.js +82 -84
  193. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  194. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts +11 -0
  195. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -0
  196. package/dist/components/QueryBuilder/useQBCombinedSql.js +29 -0
  197. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -0
  198. package/dist/components/QueryBuilder/useQBFacetSourceMetadata.d.ts +18 -0
  199. package/dist/components/QueryBuilder/useQBFacetSourceMetadata.d.ts.map +1 -0
  200. package/dist/components/QueryBuilder/useQBFacetSourceMetadata.js +27 -0
  201. package/dist/components/QueryBuilder/useQBFacetSourceMetadata.js.map +1 -0
  202. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +14 -1
  203. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  204. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +183 -119
  205. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  206. package/dist/components/RssFeedCards/RssFeedCards.d.ts +1 -0
  207. package/dist/components/RssFeedCards/RssFeedCards.d.ts.map +1 -1
  208. package/dist/components/RssFeedCards/RssFeedCards.js +11 -11
  209. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  210. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  211. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  212. package/dist/components/SynapseChat/SynapseChat.js +76 -71
  213. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  214. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +3 -1
  215. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -1
  216. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +24 -13
  217. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  218. package/dist/components/SynapseChat/portalChatSessionStorage.d.ts +23 -0
  219. package/dist/components/SynapseChat/portalChatSessionStorage.d.ts.map +1 -0
  220. package/dist/components/SynapseChat/portalChatSessionStorage.js +29 -0
  221. package/dist/components/SynapseChat/portalChatSessionStorage.js.map +1 -0
  222. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts +6 -0
  223. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  224. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +92 -79
  225. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  226. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts +3 -4
  227. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  228. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +2 -2
  229. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  230. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +1 -1
  231. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  232. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
  233. package/dist/components/entity/page/action_menu/EntityActionMenu.js +9 -2
  234. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  235. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
  236. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  237. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +36 -37
  238. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  239. package/dist/components/menu/ComplexMenu.js +1 -1
  240. package/dist/components/menu/ComplexMenu.js.map +1 -1
  241. package/dist/components/menu/DropdownMenu.d.ts.map +1 -1
  242. package/dist/components/menu/DropdownMenu.js +4 -0
  243. package/dist/components/menu/DropdownMenu.js.map +1 -1
  244. package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
  245. package/dist/components/styled/LeftRightPanel.js +19 -2
  246. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  247. package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.d.ts +10 -0
  248. package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.d.ts.map +1 -0
  249. package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.js +20 -0
  250. package/dist/features/entity/metadata-task/hooks/useMarkCurationTaskInProgress.js.map +1 -0
  251. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
  252. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +29 -20
  253. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  254. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts +16 -0
  255. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts.map +1 -0
  256. package/dist/mocks/accessRequirement/mockFormTemplates.js +63 -0
  257. package/dist/mocks/accessRequirement/mockFormTemplates.js.map +1 -0
  258. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +7 -0
  259. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -0
  260. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +47 -0
  261. package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -0
  262. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts +27 -0
  263. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts.map +1 -0
  264. package/dist/mocks/accessRequirement/mockJsonSchemas.js +83 -0
  265. package/dist/mocks/accessRequirement/mockJsonSchemas.js.map +1 -0
  266. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +18 -1
  267. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  268. package/dist/mocks/msw/handlers/aridhiaHandlers.js +39 -33
  269. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  270. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +41 -14
  271. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  272. package/dist/mocks/msw/handlers/asyncJobHandlers.js +53 -44
  273. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  274. package/dist/mocks/msw/handlers/chatHandlers.d.ts.map +1 -1
  275. package/dist/mocks/msw/handlers/chatHandlers.js +19 -13
  276. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  277. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts +5 -0
  278. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts.map +1 -0
  279. package/dist/mocks/msw/handlers/formTemplateHandlers.js +65 -0
  280. package/dist/mocks/msw/handlers/formTemplateHandlers.js.map +1 -0
  281. package/dist/mocks/msw/handlers/schemaHandlers.d.ts +2 -1
  282. package/dist/mocks/msw/handlers/schemaHandlers.d.ts.map +1 -1
  283. package/dist/mocks/msw/handlers/schemaHandlers.js +13 -7
  284. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  285. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  286. package/dist/mocks/msw/handlers/searchQueryHandlers.js +24 -18
  287. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  288. package/dist/mocks/msw/handlers/tableQueryHandlers.d.ts.map +1 -1
  289. package/dist/mocks/msw/handlers/tableQueryHandlers.js +35 -16
  290. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  291. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  292. package/dist/mocks/msw/handlers.js +49 -47
  293. package/dist/mocks/msw/handlers.js.map +1 -1
  294. package/dist/style/abstracts/_cssVariables.scss +7 -0
  295. package/dist/style/components/_query-wrapper-plot-nav.scss +9 -0
  296. package/dist/style/main.css +1 -1
  297. package/dist/synapse-queries/KeyFactory.d.ts +5 -1
  298. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  299. package/dist/synapse-queries/KeyFactory.js +14 -2
  300. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  301. package/dist/synapse-queries/chat/useChat.d.ts.map +1 -1
  302. package/dist/synapse-queries/chat/useChat.js +2 -4
  303. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  304. package/dist/synapse-queries/dataaccess/index.d.ts +1 -0
  305. package/dist/synapse-queries/dataaccess/index.d.ts.map +1 -1
  306. package/dist/synapse-queries/dataaccess/index.js +4 -3
  307. package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +41 -0
  308. package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -0
  309. package/dist/synapse-queries/dataaccess/useFormTemplate.js +63 -0
  310. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -0
  311. package/dist/synapse-queries/index.js +186 -180
  312. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +9 -0
  313. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -0
  314. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +22 -0
  315. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -0
  316. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  317. package/dist/testutils/vitest.setup.js +18 -9
  318. package/dist/testutils/vitest.setup.js.map +1 -1
  319. package/dist/tsconfig.build.tsbuildinfo +1 -1
  320. package/dist/utils/APIConstants.d.ts +1 -0
  321. package/dist/utils/APIConstants.d.ts.map +1 -1
  322. package/dist/utils/APIConstants.js +2 -2
  323. package/dist/utils/APIConstants.js.map +1 -1
  324. package/dist/utils/appendFinalQueryParamKey.d.ts.map +1 -1
  325. package/dist/utils/appendFinalQueryParamKey.js +4 -1
  326. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  327. package/dist/utils/functions/ArrayUtils.d.ts +3 -0
  328. package/dist/utils/functions/ArrayUtils.d.ts.map +1 -1
  329. package/dist/utils/functions/ArrayUtils.js +7 -1
  330. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  331. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts +26 -0
  332. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts.map +1 -0
  333. package/dist/utils/jsonschema/generateDataAccessSchema.js +28 -0
  334. package/dist/utils/jsonschema/generateDataAccessSchema.js.map +1 -0
  335. package/dist/utils/jsonschema/getType.d.ts.map +1 -1
  336. package/dist/utils/jsonschema/getType.js +4 -1
  337. package/dist/utils/jsonschema/getType.js.map +1 -1
  338. package/dist/utils/jsonschema/submissionContext.d.ts +86 -0
  339. package/dist/utils/jsonschema/submissionContext.d.ts.map +1 -0
  340. package/dist/utils/jsonschema/submissionContext.js +186 -0
  341. package/dist/utils/jsonschema/submissionContext.js.map +1 -0
  342. package/package.json +10 -8
  343. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts +0 -6
  344. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts.map +0 -1
  345. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +0 -32
  346. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +0 -1
  347. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts +0 -9
  348. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts.map +0 -1
  349. package/dist/components/entity/page/title_bar/TitleBarProperties.js +0 -24
  350. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +0 -1
@@ -2,19 +2,20 @@ import { useGlobalIsEditingContext as e } from "../../../utils/context/GlobalIsE
2
2
  import { fairSectionToRjsf as t, parseFairFormSections as n, summarizeFormAnswers as r } from "../fairFormToRjsf.js";
3
3
  import { useGetAridhiaDatasetSettings as i } from "../../../aridhia-queries/useGetAridhiaDatasetSettings.js";
4
4
  import { useGetAridhiaWorkflow as a } from "../../../aridhia-queries/useGetAridhiaWorkflow.js";
5
- import { useGetAridhiaDictionaries as o } from "../../../aridhia-queries/useGetAridhiaDictionaries.js";
6
- import { useGetAridhiaWorkspaces as s } from "../../../aridhia-queries/useGetAridhiaWorkspaces.js";
7
- import { useGetAridhiaWorkspaceRequestForm as c } from "../../../aridhia-queries/useGetAridhiaWorkspaceRequestForm.js";
8
- import { useSubmitAridhiaDar as ee } from "../../../aridhia-queries/useSubmitAridhiaDar.js";
9
- import { useDarDraft as te } from "./useDarDraft.js";
10
- import { DarDestinationStep as l } from "./DarDestinationStep.js";
11
- import { DarWorkspaceStep as ne } from "./DarWorkspaceStep.js";
12
- import { DarAboutStep as re } from "./DarAboutStep.js";
13
- import { DarProjectStep as ie } from "./DarProjectStep.js";
14
- import { DarCompleteStep as ae } from "./DarCompleteStep.js";
5
+ import { useGetAridhiaDictionaries as ee } from "../../../aridhia-queries/useGetAridhiaDictionaries.js";
6
+ import { useGetAridhiaWorkspaces as te } from "../../../aridhia-queries/useGetAridhiaWorkspaces.js";
7
+ import { useGetAridhiaWorkspaceRequestForm as o } from "../../../aridhia-queries/useGetAridhiaWorkspaceRequestForm.js";
8
+ import { useSubmitAridhiaDar as ne } from "../../../aridhia-queries/useSubmitAridhiaDar.js";
9
+ import { RdcaDapEligibilityExplainer as re } from "../RdcaDapEligibilityDialog.js";
10
+ import { useDarDraft as s } from "./useDarDraft.js";
11
+ import { DarDestinationStep as c } from "./DarDestinationStep.js";
12
+ import { DarWorkspaceStep as ie } from "./DarWorkspaceStep.js";
13
+ import { DarAboutStep as ae } from "./DarAboutStep.js";
14
+ import { DarProjectStep as oe } from "./DarProjectStep.js";
15
+ import { DarCompleteStep as l } from "./DarCompleteStep.js";
15
16
  import { DarSubmittedPanel as u } from "./DarSubmittedPanel.js";
16
17
  import { useEffect as d, useMemo as f, useState as p } from "react";
17
- import { Alert as m, Box as h, Button as g, Link as oe, Skeleton as _ } from "@mui/material";
18
+ import { Alert as m, Box as h, Button as g, Link as se, Skeleton as _ } from "@mui/material";
18
19
  import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
19
20
  //#region src/components/Aridhia/DarWizard/AridhiaDarWizard.tsx
20
21
  var x = [
@@ -35,9 +36,9 @@ function w(e, r) {
35
36
  }, [e, r]);
36
37
  }
37
38
  function T(t, n) {
38
- let { datasetCode: h, datasetName: T, onSubmitted: E } = t, D = n?.enabled ?? !0, { draft: O, setDraft: k, clearDraft: se } = te(h), [A, ce] = p(), j = D && !A && (O.step > 0 || O.selectedDictionaryCodes.length > 0 || O.workspaceRequested || O.termsAccepted || Object.keys(O.values).length > 0), { setIsEditing: M } = e();
39
+ let { datasetCode: h, datasetName: T, onSubmitted: E } = t, D = n?.enabled ?? !0, { draft: O, setDraft: k, clearDraft: ce } = s(h), [A, le] = p(), j = D && !A && (O.step > 0 || O.selectedDictionaryCodes.length > 0 || O.workspaceRequested || O.termsAccepted || Object.keys(O.values).length > 0), { setIsEditing: M } = e();
39
40
  d(() => (M(j), () => M(!1)), [j, M]);
40
- let N = i(h, { enabled: D }), P = N.data?.workflow_key, F = a(P), I = c({ enabled: O.workspaceRequested && D }), L = o(h, { enabled: D }), R = s(h, O.workspaceLocation, { enabled: D }), z = f(() => {
41
+ let N = i(h, { enabled: D }), P = N.data?.workflow_key, F = a(P), I = o({ enabled: O.workspaceRequested && D }), L = ee(h, { enabled: D }), R = te(h, O.workspaceLocation, { enabled: D }), z = f(() => {
41
42
  let e = N.data;
42
43
  return e ? x.filter((t) => e[`allow_${t}`] === !0) : [];
43
44
  }, [N.data]);
@@ -60,14 +61,20 @@ function T(t, n) {
60
61
  V,
61
62
  H,
62
63
  O.workspaceRequested
63
- ]), W = ee({ onSuccess: (e) => {
64
- se();
64
+ ]), W = ne({ onSuccess: (e) => {
65
+ ce();
65
66
  let t = e.code ?? O.code;
66
- ce({
67
+ le({
67
68
  code: t,
68
69
  status: e.status
69
70
  }), E?.(t);
70
71
  } });
72
+ if ([
73
+ N.error,
74
+ F.error,
75
+ L.error,
76
+ W.error
77
+ ].find((e) => e?.isEligibilityFailure)) return { content: /* @__PURE__ */ y(re, {}) };
71
78
  if (N.isLoading) return { content: /* @__PURE__ */ y(_, { height: 400 }) };
72
79
  if (N.isError || !N.data) return { content: /* @__PURE__ */ y(m, {
73
80
  severity: "error",
@@ -99,8 +106,8 @@ function T(t, n) {
99
106
  "project",
100
107
  "about",
101
108
  "complete"
102
- ], K = G[Math.min(O.step, G.length - 1)], q = (L.data?.items ?? []).filter((e) => !!e.code), J = O.selectedDictionaryCodes.length > 0 ? q.filter((e) => O.selectedDictionaryCodes.includes(e.code)) : q, le = (R.data?.items ?? []).find((e) => e.uuid === O.workspaceUuid)?.name, ue = z.length > 1, de = B ? r(B.schema, O.values) : [], fe = V ? r(V.schema, O.values) : [];
103
- function pe(e) {
109
+ ], K = G[Math.min(O.step, G.length - 1)], q = (L.data?.items ?? []).filter((e) => !!e.code), J = O.selectedDictionaryCodes.length > 0 ? q.filter((e) => O.selectedDictionaryCodes.includes(e.code)) : q, ue = (R.data?.items ?? []).find((e) => e.uuid === O.workspaceUuid)?.name, de = z.length > 1, fe = B ? r(B.schema, O.values) : [], pe = V ? r(V.schema, O.values) : [];
110
+ function me(e) {
104
111
  switch (e) {
105
112
  case "destination": return !!O.transferType && (O.workspaceRequested || !!O.workspaceUuid);
106
113
  case "workspace": return !I.isLoading && !!O.workspaceReference?.trim() && (!H || C(H.schema, O.values));
@@ -137,7 +144,7 @@ function T(t, n) {
137
144
  selectedDictionaries: J
138
145
  });
139
146
  }
140
- let Q = G.indexOf(K), $ = pe(K);
147
+ let Q = G.indexOf(K), $ = me(K);
141
148
  return {
142
149
  content: /* @__PURE__ */ b(v, { children: [
143
150
  U.length > 0 && /* @__PURE__ */ b(m, {
@@ -148,7 +155,7 @@ function T(t, n) {
148
155
  U.map((e) => e.name).join(", "),
149
156
  "). Please",
150
157
  " ",
151
- /* @__PURE__ */ y(oe, {
158
+ /* @__PURE__ */ y(se, {
152
159
  href: S,
153
160
  target: "_blank",
154
161
  rel: "noopener noreferrer",
@@ -158,7 +165,7 @@ function T(t, n) {
158
165
  "— submission is disabled until this is resolved."
159
166
  ]
160
167
  }),
161
- K === "destination" && /* @__PURE__ */ y(l, {
168
+ K === "destination" && /* @__PURE__ */ y(c, {
162
169
  datasetCode: h,
163
170
  allowedTransferTypes: z,
164
171
  selectedDictionaryCodes: O.selectedDictionaryCodes,
@@ -186,7 +193,7 @@ function T(t, n) {
186
193
  transferType: e
187
194
  }))
188
195
  }),
189
- K === "workspace" && (I.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : H ? /* @__PURE__ */ y(ne, {
196
+ K === "workspace" && (I.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : H ? /* @__PURE__ */ y(ie, {
190
197
  schema: H.schema,
191
198
  uiSchema: H.uiSchema,
192
199
  formData: O.values,
@@ -200,7 +207,7 @@ function T(t, n) {
200
207
  severity: "error",
201
208
  children: "Unable to load the new-workspace request form. Please try again later."
202
209
  })),
203
- K === "project" && (F.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : V ? /* @__PURE__ */ y(ie, {
210
+ K === "project" && (F.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : V ? /* @__PURE__ */ y(oe, {
204
211
  schema: V.schema,
205
212
  uiSchema: V.uiSchema,
206
213
  formData: O.values,
@@ -209,7 +216,7 @@ function T(t, n) {
209
216
  severity: "error",
210
217
  children: "Unable to load the project section of this request form. Please try again later."
211
218
  })),
212
- K === "about" && (F.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : B ? /* @__PURE__ */ y(re, {
219
+ K === "about" && (F.isLoading ? /* @__PURE__ */ y(_, { height: 200 }) : B ? /* @__PURE__ */ y(ae, {
213
220
  schema: B.schema,
214
221
  uiSchema: B.uiSchema,
215
222
  formData: O.values,
@@ -218,18 +225,18 @@ function T(t, n) {
218
225
  severity: "error",
219
226
  children: "Unable to load the \"about you\" section of this request form. Please try again later."
220
227
  })),
221
- K === "complete" && /* @__PURE__ */ y(ae, {
228
+ K === "complete" && /* @__PURE__ */ y(l, {
222
229
  datasetCode: h,
223
230
  datasetName: T,
224
231
  selectedDictionaryNames: J.map((e) => e.name ?? e.code),
225
232
  allTablesSelected: O.selectedDictionaryCodes.length === 0,
226
233
  workspaceRequested: O.workspaceRequested,
227
- workspaceName: le,
234
+ workspaceName: ue,
228
235
  workspaceReference: O.workspaceReference,
229
- showTransferType: ue,
236
+ showTransferType: de,
230
237
  transferType: O.transferType ?? z[0],
231
- aboutAnswers: de,
232
- projectAnswers: fe,
238
+ aboutAnswers: fe,
239
+ projectAnswers: pe,
233
240
  termsAccepted: O.termsAccepted,
234
241
  onTermsAcceptedChange: (e) => k((t) => ({
235
242
  ...t,
@@ -254,7 +261,8 @@ function T(t, n) {
254
261
  children: "Back"
255
262
  }), K === "complete" ? /* @__PURE__ */ y(g, {
256
263
  variant: "contained",
257
- disabled: !$ || U.length > 0 || W.isPending,
264
+ disabled: !$ || U.length > 0,
265
+ loading: W.isPending,
258
266
  onClick: Z,
259
267
  children: "Submit request"
260
268
  }) : /* @__PURE__ */ y(g, {
@@ -1 +1 @@
1
- {"version":3,"file":"AridhiaDarWizard.js","names":[],"sources":["../../../../src/components/Aridhia/DarWizard/AridhiaDarWizard.tsx"],"sourcesContent":["import { ReactNode, useEffect, useMemo, useState } from 'react'\nimport { Alert, Box, Button, Link, Skeleton } from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useGetAridhiaDatasetSettings } from '@/aridhia-queries/useGetAridhiaDatasetSettings'\nimport { useGetAridhiaWorkflow } from '@/aridhia-queries/useGetAridhiaWorkflow'\nimport { useGetAridhiaDictionaries } from '@/aridhia-queries/useGetAridhiaDictionaries'\nimport { useGetAridhiaWorkspaces } from '@/aridhia-queries/useGetAridhiaWorkspaces'\nimport { useGetAridhiaWorkspaceRequestForm } from '@/aridhia-queries/useGetAridhiaWorkspaceRequestForm'\nimport { useSubmitAridhiaDar } from '@/aridhia-queries/useSubmitAridhiaDar'\nimport { TransferType } from '@/aridhia-queries/TransferType'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\nimport {\n fairSectionToRjsf,\n FairField,\n FairFormPayload,\n parseFairFormSections,\n summarizeFormAnswers,\n} from '@/components/Aridhia/fairFormToRjsf'\nimport { useDarDraft } from './useDarDraft'\nimport { DarDestinationStep } from './DarDestinationStep'\nimport { DarWorkspaceStep } from './DarWorkspaceStep'\nimport { DarAboutStep } from './DarAboutStep'\nimport { DarProjectStep } from './DarProjectStep'\nimport { DarCompleteStep } from './DarCompleteStep'\nimport { DarSubmittedPanel } from './DarSubmittedPanel'\n\nexport type { TransferType }\n\nexport type AridhiaDarWizardProps = {\n datasetCode: string\n /** Display name for headings; falls back to the FAIR catalogue title. */\n datasetName?: string\n onSubmitted?: (requestCode: string) => void\n}\n\n// `DatasetSettings.allow_{type}` (e.g. `allow_clear`) gates each `TransferType` value below.\n// See Aridhia docs here: https://knowledgebase.aridhia.io/fair-data-services/managing-data/dataset-administration/available-data-delivery-formats/\n// NOTE: For the AMP-ALS integration, the published datasets support 'clear' only.\nconst TRANSFER_TYPE_PRIORITY: TransferType[] = [\n 'clear',\n 'pseudonymised',\n 'manual',\n]\n\ntype StepKey = 'destination' | 'workspace' | 'project' | 'about' | 'complete'\n\n/** Sage's general-purpose issue portal; RDCA-DAP/ALSKP has no dedicated service desk. */\nconst SUPPORT_PORTAL_URL =\n 'https://sagebionetworks.jira.com/servicedesk/customer/portal/9'\n\nfunction isSectionComplete(\n schema: RJSFSchema,\n values: Record<string, unknown>,\n): boolean {\n return (schema.required ?? []).every(key => {\n const value = values[key]\n return value !== undefined && value !== null && value !== ''\n })\n}\n\nfunction useFairSection(data: FairFormPayload | null | undefined, key: string) {\n return useMemo(() => {\n const section = parseFairFormSections(data).find(s => s.key === key)\n return section ? fairSectionToRjsf(section) : undefined\n }, [data, key])\n}\n\n/**\n * Five-step (four when no new workspace is requested) DAR wizard: Destination, Workspace\n * (conditional), About, Project, Review & Submit.\n */\nfunction useAridhiaDarWizardParts(\n props: AridhiaDarWizardProps,\n options?: {\n enabled?: boolean\n /** Dialog-hosted callers only: renders a \"Close\" action on the post-submission screen. */\n onClose?: () => void\n },\n): {\n content: ReactNode\n actions?: ReactNode\n} {\n const { datasetCode, datasetName, onSubmitted } = props\n // Callers that only conditionally show this wizard (e.g. a closed dialog) pass `enabled:\n // false` so its network requests, and the \"editing\" flag below, stay dormant until shown.\n const enabled = options?.enabled ?? true\n const { draft, setDraft, clearDraft } = useDarDraft(datasetCode)\n const [submitted, setSubmitted] = useState<{\n code: string\n status?: string\n }>()\n\n // Once submitted the draft is cleared and there's nothing left to lose, so don't treat the\n // wizard as \"editing\" anymore — callers (e.g. a hosting dialog) can let the user close freely.\n const isDirty =\n enabled &&\n !submitted &&\n (draft.step > 0 ||\n draft.selectedDictionaryCodes.length > 0 ||\n draft.workspaceRequested ||\n draft.termsAccepted ||\n Object.keys(draft.values).length > 0)\n const { setIsEditing } = useGlobalIsEditingContext()\n useEffect(() => {\n setIsEditing(isDirty)\n return () => setIsEditing(false)\n }, [isDirty, setIsEditing])\n\n const settingsQuery = useGetAridhiaDatasetSettings(datasetCode, { enabled })\n const workflowKey = settingsQuery.data?.workflow_key\n const workflowQuery = useGetAridhiaWorkflow(workflowKey)\n const workspaceFormQuery = useGetAridhiaWorkspaceRequestForm({\n enabled: draft.workspaceRequested && enabled,\n })\n const dictionariesQuery = useGetAridhiaDictionaries(datasetCode, {\n enabled,\n })\n const workspacesQuery = useGetAridhiaWorkspaces(\n datasetCode,\n draft.workspaceLocation,\n { enabled },\n )\n\n const allowedTransferTypes = useMemo<TransferType[]>(() => {\n const settings = settingsQuery.data\n if (!settings) return []\n return TRANSFER_TYPE_PRIORITY.filter(\n type => settings[`allow_${type}` as const] === true,\n )\n }, [settingsQuery.data])\n\n // Default transfer_type to the first allowed option once settings load.\n useEffect(() => {\n if (!draft.transferType && allowedTransferTypes.length > 0) {\n setDraft(previous => ({\n ...previous,\n transferType: allowedTransferTypes[0],\n }))\n }\n }, [allowedTransferTypes, draft.transferType, setDraft])\n\n const aboutRjsf = useFairSection(workflowQuery.data, 'about')\n const projectRjsf = useFairSection(workflowQuery.data, 'project')\n const workspaceRjsf = useFairSection(workspaceFormQuery.data, 'workspace')\n\n const unsupportedFields: FairField[] = useMemo(() => {\n return [\n ...(aboutRjsf?.unsupported ?? []),\n ...(projectRjsf?.unsupported ?? []),\n ...(draft.workspaceRequested ? (workspaceRjsf?.unsupported ?? []) : []),\n ]\n }, [aboutRjsf, projectRjsf, workspaceRjsf, draft.workspaceRequested])\n\n const submitMutation = useSubmitAridhiaDar({\n onSuccess: data => {\n clearDraft()\n const code = data.code ?? draft.code\n setSubmitted({ code, status: data.status })\n onSubmitted?.(code)\n },\n })\n\n if (settingsQuery.isLoading) {\n return { content: <Skeleton height={400} /> }\n }\n\n if (settingsQuery.isError || !settingsQuery.data) {\n return {\n content: (\n <Alert severity=\"error\">\n Unable to load this dataset&apos;s access settings. Please try again\n later.\n </Alert>\n ),\n }\n }\n\n if (allowedTransferTypes.length === 0) {\n return {\n content: (\n <Alert severity=\"error\">\n This dataset cannot currently be requested.\n </Alert>\n ),\n }\n }\n\n if (submitted) {\n return {\n content: (\n <DarSubmittedPanel\n requestCode={submitted.code}\n status={submitted.status}\n />\n ),\n actions: options?.onClose && (\n <Button variant=\"contained\" onClick={options.onClose}>\n Close\n </Button>\n ),\n }\n }\n\n const stepKeys: readonly StepKey[] = draft.workspaceRequested\n ? ['destination', 'workspace', 'project', 'about', 'complete']\n : ['destination', 'project', 'about', 'complete']\n const currentStepKey: StepKey =\n stepKeys[Math.min(draft.step, stepKeys.length - 1)]\n\n // Matches RDCA-DAP's own UI: selecting no tables is equivalent to selecting every table.\n const allDictionaries = (dictionariesQuery.data?.items ?? []).filter(\n (d): d is { code: string; name: string } => !!d.code,\n )\n const selectedDictionaries =\n draft.selectedDictionaryCodes.length > 0\n ? allDictionaries.filter(d =>\n draft.selectedDictionaryCodes.includes(d.code),\n )\n : allDictionaries\n const workspaceName = (workspacesQuery.data?.items ?? []).find(\n w => w.uuid === draft.workspaceUuid,\n )?.name\n // The Destination step only asks the user to pick a transfer type when there's more than\n // one allowed option — don't show a value on the review step for a question never asked.\n const showTransferType = allowedTransferTypes.length > 1\n const aboutAnswers = aboutRjsf\n ? summarizeFormAnswers(aboutRjsf.schema, draft.values)\n : []\n const projectAnswers = projectRjsf\n ? summarizeFormAnswers(projectRjsf.schema, draft.values)\n : []\n\n function canAdvanceFrom(stepKey: StepKey): boolean {\n switch (stepKey) {\n case 'destination':\n return (\n !!draft.transferType &&\n (draft.workspaceRequested || !!draft.workspaceUuid)\n )\n case 'workspace':\n return (\n !workspaceFormQuery.isLoading &&\n !!draft.workspaceReference?.trim() &&\n (!workspaceRjsf ||\n isSectionComplete(workspaceRjsf.schema, draft.values))\n )\n case 'about':\n return (\n !workflowQuery.isLoading &&\n (!aboutRjsf || isSectionComplete(aboutRjsf.schema, draft.values))\n )\n case 'project':\n return (\n !workflowQuery.isLoading &&\n (!projectRjsf || isSectionComplete(projectRjsf.schema, draft.values))\n )\n case 'complete':\n return draft.termsAccepted\n }\n }\n\n function goToStep(index: number) {\n setDraft(previous => ({ ...previous, step: index }))\n }\n\n function mergeValues(next: Record<string, unknown>) {\n setDraft(previous => ({\n ...previous,\n values: { ...previous.values, ...next },\n }))\n }\n\n function handleSubmit() {\n const { name, code: _formCode, ...fields } = draft.values\n submitMutation.mutate({\n code: draft.code,\n name: (name as string) ?? '',\n fields,\n transferType: draft.transferType!,\n workspaceRequested: draft.workspaceRequested,\n workspaceUuid: draft.workspaceUuid,\n workspaceReference: draft.workspaceReference,\n selectedDictionaries,\n })\n }\n\n const stepIndex = stepKeys.indexOf(currentStepKey)\n const canAdvance = canAdvanceFrom(currentStepKey)\n\n const content = (\n <>\n {unsupportedFields.length > 0 && (\n <Alert severity=\"error\" sx={{ mb: 2 }}>\n This request form includes field types the portal cannot render yet (\n {unsupportedFields.map(f => f.name).join(', ')}). Please{' '}\n <Link\n href={SUPPORT_PORTAL_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n contact support\n </Link>{' '}\n — submission is disabled until this is resolved.\n </Alert>\n )}\n {currentStepKey === 'destination' && (\n <DarDestinationStep\n datasetCode={datasetCode}\n allowedTransferTypes={allowedTransferTypes}\n selectedDictionaryCodes={draft.selectedDictionaryCodes}\n onSelectedDictionaryCodesChange={codes =>\n setDraft(previous => ({\n ...previous,\n selectedDictionaryCodes: codes,\n }))\n }\n workspaceRequested={draft.workspaceRequested}\n workspaceLocation={draft.workspaceLocation}\n workspaceUuid={draft.workspaceUuid}\n onWorkspaceChange={change =>\n setDraft(previous => {\n const next = { ...previous, ...change }\n if (previous.workspaceRequested && !change.workspaceRequested) {\n // Switching from \"request a new workspace\" back to an existing one: drop\n // whatever was entered into the new-workspace form so it isn't submitted\n // against the existing-workspace's schema (that form's fields aren't valid\n // there). RDCA-DAP's workspace form re-asks some fields already collected by\n // the About/Project steps (e.g. `project_name`) — those answers still belong\n // to their own step and must survive, so only drop fields unique to the\n // workspace form.\n const sharedFieldNames = new Set([\n ...Object.keys(aboutRjsf?.schema.properties ?? {}),\n ...Object.keys(projectRjsf?.schema.properties ?? {}),\n ])\n const workspaceOnlyFieldNames = Object.keys(\n workspaceRjsf?.schema.properties ?? {},\n ).filter(name => !sharedFieldNames.has(name))\n next.values = Object.fromEntries(\n Object.entries(previous.values).filter(\n ([key]) => !workspaceOnlyFieldNames.includes(key),\n ),\n )\n next.workspaceReference = undefined\n }\n return next\n })\n }\n transferType={draft.transferType ?? allowedTransferTypes[0]}\n onTransferTypeChange={transferType =>\n setDraft(previous => ({ ...previous, transferType }))\n }\n />\n )}\n\n {currentStepKey === 'workspace' &&\n (workspaceFormQuery.isLoading ? (\n <Skeleton height={200} />\n ) : workspaceRjsf ? (\n <DarWorkspaceStep\n schema={workspaceRjsf.schema}\n uiSchema={workspaceRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n reference={draft.workspaceReference ?? ''}\n onReferenceChange={reference =>\n setDraft(previous => ({\n ...previous,\n workspaceReference: reference,\n }))\n }\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the new-workspace request form. Please try again\n later.\n </Alert>\n ))}\n\n {currentStepKey === 'project' &&\n (workflowQuery.isLoading ? (\n <Skeleton height={200} />\n ) : projectRjsf ? (\n <DarProjectStep\n schema={projectRjsf.schema}\n uiSchema={projectRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the project section of this request form. Please try\n again later.\n </Alert>\n ))}\n\n {currentStepKey === 'about' &&\n (workflowQuery.isLoading ? (\n <Skeleton height={200} />\n ) : aboutRjsf ? (\n <DarAboutStep\n schema={aboutRjsf.schema}\n uiSchema={aboutRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the &quot;about you&quot; section of this request\n form. Please try again later.\n </Alert>\n ))}\n\n {currentStepKey === 'complete' && (\n <DarCompleteStep\n datasetCode={datasetCode}\n datasetName={datasetName}\n selectedDictionaryNames={selectedDictionaries.map(\n d => d.name ?? d.code,\n )}\n allTablesSelected={draft.selectedDictionaryCodes.length === 0}\n workspaceRequested={draft.workspaceRequested}\n workspaceName={workspaceName}\n workspaceReference={draft.workspaceReference}\n showTransferType={showTransferType}\n transferType={draft.transferType ?? allowedTransferTypes[0]}\n aboutAnswers={aboutAnswers}\n projectAnswers={projectAnswers}\n termsAccepted={draft.termsAccepted}\n onTermsAcceptedChange={accepted =>\n setDraft(previous => ({ ...previous, termsAccepted: accepted }))\n }\n />\n )}\n\n {submitMutation.isError && (\n <Alert\n severity=\"error\"\n sx={{ mt: 2 }}\n action={\n (submitMutation.error?.httpStatus ?? 0) >= 500 ||\n !submitMutation.error?.httpStatus ? (\n <Button color=\"inherit\" size=\"small\" onClick={handleSubmit}>\n Retry\n </Button>\n ) : undefined\n }\n >\n {submitMutation.error?.message ??\n 'The request could not be submitted.'}\n </Alert>\n )}\n </>\n )\n\n const actions = (\n <>\n <Button\n disabled={stepIndex === 0}\n onClick={() => goToStep(stepIndex - 1)}\n >\n Back\n </Button>\n {currentStepKey === 'complete' ? (\n <Button\n variant=\"contained\"\n disabled={\n !canAdvance ||\n unsupportedFields.length > 0 ||\n submitMutation.isPending\n }\n onClick={handleSubmit}\n >\n Submit request\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n disabled={!canAdvance || unsupportedFields.length > 0}\n onClick={() => goToStep(stepIndex + 1)}\n >\n Next\n </Button>\n )}\n </>\n )\n\n return { content, actions }\n}\n\n/**\n * Full-page/standalone entry point for the DAR wizard: renders the step content and its\n * Back/Next/Submit navigation inline in a single scrolling column.\n *\n * Dialog-hosted callers (e.g. `AridhiaAccessStatus`) should use `useAridhiaDarWizardParts`\n * directly instead, so the navigation buttons can be placed in a real MUI `DialogActions`\n * footer rather than nested inside the scrollable dialog content.\n */\nexport function AridhiaDarWizard(props: AridhiaDarWizardProps) {\n const { content, actions } = useAridhiaDarWizardParts(props)\n return (\n <Box sx={{ width: '100%' }}>\n {content}\n {actions && (\n <Box sx={{ display: 'flex', justifyContent: 'space-between', mt: 3 }}>\n {actions}\n </Box>\n )}\n </Box>\n )\n}\n\nexport { useAridhiaDarWizardParts }\n"],"mappings":"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"}
1
+ {"version":3,"file":"AridhiaDarWizard.js","names":[],"sources":["../../../../src/components/Aridhia/DarWizard/AridhiaDarWizard.tsx"],"sourcesContent":["import { ReactNode, useEffect, useMemo, useState } from 'react'\nimport { Alert, Box, Button, Link, Skeleton } from '@mui/material'\nimport { RJSFSchema } from '@rjsf/utils'\nimport { useGetAridhiaDatasetSettings } from '@/aridhia-queries/useGetAridhiaDatasetSettings'\nimport { useGetAridhiaWorkflow } from '@/aridhia-queries/useGetAridhiaWorkflow'\nimport { useGetAridhiaDictionaries } from '@/aridhia-queries/useGetAridhiaDictionaries'\nimport { useGetAridhiaWorkspaces } from '@/aridhia-queries/useGetAridhiaWorkspaces'\nimport { useGetAridhiaWorkspaceRequestForm } from '@/aridhia-queries/useGetAridhiaWorkspaceRequestForm'\nimport { useSubmitAridhiaDar } from '@/aridhia-queries/useSubmitAridhiaDar'\nimport { TransferType } from '@/aridhia-queries/TransferType'\nimport { useGlobalIsEditingContext } from '@/utils/context/GlobalIsEditingContext'\nimport {\n fairSectionToRjsf,\n FairField,\n FairFormPayload,\n parseFairFormSections,\n summarizeFormAnswers,\n} from '@/components/Aridhia/fairFormToRjsf'\nimport { RdcaDapEligibilityExplainer } from '@/components/Aridhia/RdcaDapEligibilityDialog'\nimport { useDarDraft } from './useDarDraft'\nimport { DarDestinationStep } from './DarDestinationStep'\nimport { DarWorkspaceStep } from './DarWorkspaceStep'\nimport { DarAboutStep } from './DarAboutStep'\nimport { DarProjectStep } from './DarProjectStep'\nimport { DarCompleteStep } from './DarCompleteStep'\nimport { DarSubmittedPanel } from './DarSubmittedPanel'\n\nexport type { TransferType }\n\nexport type AridhiaDarWizardProps = {\n datasetCode: string\n /** Display name for headings; falls back to the FAIR catalogue title. */\n datasetName?: string\n onSubmitted?: (requestCode: string) => void\n}\n\n// `DatasetSettings.allow_{type}` (e.g. `allow_clear`) gates each `TransferType` value below.\n// See Aridhia docs here: https://knowledgebase.aridhia.io/fair-data-services/managing-data/dataset-administration/available-data-delivery-formats/\n// NOTE: For the AMP-ALS integration, the published datasets support 'clear' only.\nconst TRANSFER_TYPE_PRIORITY: TransferType[] = [\n 'clear',\n 'pseudonymised',\n 'manual',\n]\n\ntype StepKey = 'destination' | 'workspace' | 'project' | 'about' | 'complete'\n\n/** Sage's general-purpose issue portal; RDCA-DAP/ALSKP has no dedicated service desk. */\nconst SUPPORT_PORTAL_URL =\n 'https://sagebionetworks.jira.com/servicedesk/customer/portal/9'\n\nfunction isSectionComplete(\n schema: RJSFSchema,\n values: Record<string, unknown>,\n): boolean {\n return (schema.required ?? []).every(key => {\n const value = values[key]\n return value !== undefined && value !== null && value !== ''\n })\n}\n\nfunction useFairSection(data: FairFormPayload | null | undefined, key: string) {\n return useMemo(() => {\n const section = parseFairFormSections(data).find(s => s.key === key)\n return section ? fairSectionToRjsf(section) : undefined\n }, [data, key])\n}\n\n/**\n * Five-step (four when no new workspace is requested) DAR wizard: Destination, Workspace\n * (conditional), About, Project, Review & Submit.\n */\nfunction useAridhiaDarWizardParts(\n props: AridhiaDarWizardProps,\n options?: {\n enabled?: boolean\n /** Dialog-hosted callers only: renders a \"Close\" action on the post-submission screen. */\n onClose?: () => void\n },\n): {\n content: ReactNode\n actions?: ReactNode\n} {\n const { datasetCode, datasetName, onSubmitted } = props\n // Callers that only conditionally show this wizard (e.g. a closed dialog) pass `enabled:\n // false` so its network requests, and the \"editing\" flag below, stay dormant until shown.\n const enabled = options?.enabled ?? true\n const { draft, setDraft, clearDraft } = useDarDraft(datasetCode)\n const [submitted, setSubmitted] = useState<{\n code: string\n status?: string\n }>()\n\n // Once submitted the draft is cleared and there's nothing left to lose, so don't treat the\n // wizard as \"editing\" anymore — callers (e.g. a hosting dialog) can let the user close freely.\n const isDirty =\n enabled &&\n !submitted &&\n (draft.step > 0 ||\n draft.selectedDictionaryCodes.length > 0 ||\n draft.workspaceRequested ||\n draft.termsAccepted ||\n Object.keys(draft.values).length > 0)\n const { setIsEditing } = useGlobalIsEditingContext()\n useEffect(() => {\n setIsEditing(isDirty)\n return () => setIsEditing(false)\n }, [isDirty, setIsEditing])\n\n const settingsQuery = useGetAridhiaDatasetSettings(datasetCode, { enabled })\n const workflowKey = settingsQuery.data?.workflow_key\n const workflowQuery = useGetAridhiaWorkflow(workflowKey)\n const workspaceFormQuery = useGetAridhiaWorkspaceRequestForm({\n enabled: draft.workspaceRequested && enabled,\n })\n const dictionariesQuery = useGetAridhiaDictionaries(datasetCode, {\n enabled,\n })\n const workspacesQuery = useGetAridhiaWorkspaces(\n datasetCode,\n draft.workspaceLocation,\n { enabled },\n )\n\n const allowedTransferTypes = useMemo<TransferType[]>(() => {\n const settings = settingsQuery.data\n if (!settings) return []\n return TRANSFER_TYPE_PRIORITY.filter(\n type => settings[`allow_${type}` as const] === true,\n )\n }, [settingsQuery.data])\n\n // Default transfer_type to the first allowed option once settings load.\n useEffect(() => {\n if (!draft.transferType && allowedTransferTypes.length > 0) {\n setDraft(previous => ({\n ...previous,\n transferType: allowedTransferTypes[0],\n }))\n }\n }, [allowedTransferTypes, draft.transferType, setDraft])\n\n const aboutRjsf = useFairSection(workflowQuery.data, 'about')\n const projectRjsf = useFairSection(workflowQuery.data, 'project')\n const workspaceRjsf = useFairSection(workspaceFormQuery.data, 'workspace')\n\n const unsupportedFields: FairField[] = useMemo(() => {\n return [\n ...(aboutRjsf?.unsupported ?? []),\n ...(projectRjsf?.unsupported ?? []),\n ...(draft.workspaceRequested ? (workspaceRjsf?.unsupported ?? []) : []),\n ]\n }, [aboutRjsf, projectRjsf, workspaceRjsf, draft.workspaceRequested])\n\n const submitMutation = useSubmitAridhiaDar({\n onSuccess: data => {\n clearDraft()\n const code = data.code ?? draft.code\n setSubmitted({ code, status: data.status })\n onSubmitted?.(code)\n },\n })\n\n const eligibilityError = [\n settingsQuery.error,\n workflowQuery.error,\n dictionariesQuery.error,\n submitMutation.error,\n ].find(error => error?.isEligibilityFailure)\n\n if (eligibilityError) {\n return { content: <RdcaDapEligibilityExplainer /> }\n }\n\n if (settingsQuery.isLoading) {\n return { content: <Skeleton height={400} /> }\n }\n\n if (settingsQuery.isError || !settingsQuery.data) {\n return {\n content: (\n <Alert severity=\"error\">\n Unable to load this dataset&apos;s access settings. Please try again\n later.\n </Alert>\n ),\n }\n }\n\n if (allowedTransferTypes.length === 0) {\n return {\n content: (\n <Alert severity=\"error\">\n This dataset cannot currently be requested.\n </Alert>\n ),\n }\n }\n\n if (submitted) {\n return {\n content: (\n <DarSubmittedPanel\n requestCode={submitted.code}\n status={submitted.status}\n />\n ),\n actions: options?.onClose && (\n <Button variant=\"contained\" onClick={options.onClose}>\n Close\n </Button>\n ),\n }\n }\n\n const stepKeys: readonly StepKey[] = draft.workspaceRequested\n ? ['destination', 'workspace', 'project', 'about', 'complete']\n : ['destination', 'project', 'about', 'complete']\n const currentStepKey: StepKey =\n stepKeys[Math.min(draft.step, stepKeys.length - 1)]\n\n // Matches RDCA-DAP's own UI: selecting no tables is equivalent to selecting every table.\n const allDictionaries = (dictionariesQuery.data?.items ?? []).filter(\n (d): d is { code: string; name: string } => !!d.code,\n )\n const selectedDictionaries =\n draft.selectedDictionaryCodes.length > 0\n ? allDictionaries.filter(d =>\n draft.selectedDictionaryCodes.includes(d.code),\n )\n : allDictionaries\n const workspaceName = (workspacesQuery.data?.items ?? []).find(\n w => w.uuid === draft.workspaceUuid,\n )?.name\n // The Destination step only asks the user to pick a transfer type when there's more than\n // one allowed option — don't show a value on the review step for a question never asked.\n const showTransferType = allowedTransferTypes.length > 1\n const aboutAnswers = aboutRjsf\n ? summarizeFormAnswers(aboutRjsf.schema, draft.values)\n : []\n const projectAnswers = projectRjsf\n ? summarizeFormAnswers(projectRjsf.schema, draft.values)\n : []\n\n function canAdvanceFrom(stepKey: StepKey): boolean {\n switch (stepKey) {\n case 'destination':\n return (\n !!draft.transferType &&\n (draft.workspaceRequested || !!draft.workspaceUuid)\n )\n case 'workspace':\n return (\n !workspaceFormQuery.isLoading &&\n !!draft.workspaceReference?.trim() &&\n (!workspaceRjsf ||\n isSectionComplete(workspaceRjsf.schema, draft.values))\n )\n case 'about':\n return (\n !workflowQuery.isLoading &&\n (!aboutRjsf || isSectionComplete(aboutRjsf.schema, draft.values))\n )\n case 'project':\n return (\n !workflowQuery.isLoading &&\n (!projectRjsf || isSectionComplete(projectRjsf.schema, draft.values))\n )\n case 'complete':\n return draft.termsAccepted\n }\n }\n\n function goToStep(index: number) {\n setDraft(previous => ({ ...previous, step: index }))\n }\n\n function mergeValues(next: Record<string, unknown>) {\n setDraft(previous => ({\n ...previous,\n values: { ...previous.values, ...next },\n }))\n }\n\n function handleSubmit() {\n const { name, code: _formCode, ...fields } = draft.values\n submitMutation.mutate({\n code: draft.code,\n name: (name as string) ?? '',\n fields,\n transferType: draft.transferType!,\n workspaceRequested: draft.workspaceRequested,\n workspaceUuid: draft.workspaceUuid,\n workspaceReference: draft.workspaceReference,\n selectedDictionaries,\n })\n }\n\n const stepIndex = stepKeys.indexOf(currentStepKey)\n const canAdvance = canAdvanceFrom(currentStepKey)\n\n const content = (\n <>\n {unsupportedFields.length > 0 && (\n <Alert severity=\"error\" sx={{ mb: 2 }}>\n This request form includes field types the portal cannot render yet (\n {unsupportedFields.map(f => f.name).join(', ')}). Please{' '}\n <Link\n href={SUPPORT_PORTAL_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n contact support\n </Link>{' '}\n — submission is disabled until this is resolved.\n </Alert>\n )}\n {currentStepKey === 'destination' && (\n <DarDestinationStep\n datasetCode={datasetCode}\n allowedTransferTypes={allowedTransferTypes}\n selectedDictionaryCodes={draft.selectedDictionaryCodes}\n onSelectedDictionaryCodesChange={codes =>\n setDraft(previous => ({\n ...previous,\n selectedDictionaryCodes: codes,\n }))\n }\n workspaceRequested={draft.workspaceRequested}\n workspaceLocation={draft.workspaceLocation}\n workspaceUuid={draft.workspaceUuid}\n onWorkspaceChange={change =>\n setDraft(previous => {\n const next = { ...previous, ...change }\n if (previous.workspaceRequested && !change.workspaceRequested) {\n // Switching from \"request a new workspace\" back to an existing one: drop\n // whatever was entered into the new-workspace form so it isn't submitted\n // against the existing-workspace's schema (that form's fields aren't valid\n // there). RDCA-DAP's workspace form re-asks some fields already collected by\n // the About/Project steps (e.g. `project_name`) — those answers still belong\n // to their own step and must survive, so only drop fields unique to the\n // workspace form.\n const sharedFieldNames = new Set([\n ...Object.keys(aboutRjsf?.schema.properties ?? {}),\n ...Object.keys(projectRjsf?.schema.properties ?? {}),\n ])\n const workspaceOnlyFieldNames = Object.keys(\n workspaceRjsf?.schema.properties ?? {},\n ).filter(name => !sharedFieldNames.has(name))\n next.values = Object.fromEntries(\n Object.entries(previous.values).filter(\n ([key]) => !workspaceOnlyFieldNames.includes(key),\n ),\n )\n next.workspaceReference = undefined\n }\n return next\n })\n }\n transferType={draft.transferType ?? allowedTransferTypes[0]}\n onTransferTypeChange={transferType =>\n setDraft(previous => ({ ...previous, transferType }))\n }\n />\n )}\n\n {currentStepKey === 'workspace' &&\n (workspaceFormQuery.isLoading ? (\n <Skeleton height={200} />\n ) : workspaceRjsf ? (\n <DarWorkspaceStep\n schema={workspaceRjsf.schema}\n uiSchema={workspaceRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n reference={draft.workspaceReference ?? ''}\n onReferenceChange={reference =>\n setDraft(previous => ({\n ...previous,\n workspaceReference: reference,\n }))\n }\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the new-workspace request form. Please try again\n later.\n </Alert>\n ))}\n\n {currentStepKey === 'project' &&\n (workflowQuery.isLoading ? (\n <Skeleton height={200} />\n ) : projectRjsf ? (\n <DarProjectStep\n schema={projectRjsf.schema}\n uiSchema={projectRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the project section of this request form. Please try\n again later.\n </Alert>\n ))}\n\n {currentStepKey === 'about' &&\n (workflowQuery.isLoading ? (\n <Skeleton height={200} />\n ) : aboutRjsf ? (\n <DarAboutStep\n schema={aboutRjsf.schema}\n uiSchema={aboutRjsf.uiSchema}\n formData={draft.values}\n onChange={mergeValues}\n />\n ) : (\n <Alert severity=\"error\">\n Unable to load the &quot;about you&quot; section of this request\n form. Please try again later.\n </Alert>\n ))}\n\n {currentStepKey === 'complete' && (\n <DarCompleteStep\n datasetCode={datasetCode}\n datasetName={datasetName}\n selectedDictionaryNames={selectedDictionaries.map(\n d => d.name ?? d.code,\n )}\n allTablesSelected={draft.selectedDictionaryCodes.length === 0}\n workspaceRequested={draft.workspaceRequested}\n workspaceName={workspaceName}\n workspaceReference={draft.workspaceReference}\n showTransferType={showTransferType}\n transferType={draft.transferType ?? allowedTransferTypes[0]}\n aboutAnswers={aboutAnswers}\n projectAnswers={projectAnswers}\n termsAccepted={draft.termsAccepted}\n onTermsAcceptedChange={accepted =>\n setDraft(previous => ({ ...previous, termsAccepted: accepted }))\n }\n />\n )}\n\n {submitMutation.isError && (\n <Alert\n severity=\"error\"\n sx={{ mt: 2 }}\n action={\n (submitMutation.error?.httpStatus ?? 0) >= 500 ||\n !submitMutation.error?.httpStatus ? (\n <Button color=\"inherit\" size=\"small\" onClick={handleSubmit}>\n Retry\n </Button>\n ) : undefined\n }\n >\n {submitMutation.error?.message ??\n 'The request could not be submitted.'}\n </Alert>\n )}\n </>\n )\n\n const actions = (\n <>\n <Button\n disabled={stepIndex === 0}\n onClick={() => goToStep(stepIndex - 1)}\n >\n Back\n </Button>\n {currentStepKey === 'complete' ? (\n <Button\n variant=\"contained\"\n disabled={!canAdvance || unsupportedFields.length > 0}\n loading={submitMutation.isPending}\n onClick={handleSubmit}\n >\n Submit request\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n disabled={!canAdvance || unsupportedFields.length > 0}\n onClick={() => goToStep(stepIndex + 1)}\n >\n Next\n </Button>\n )}\n </>\n )\n\n return { content, actions }\n}\n\n/**\n * Full-page/standalone entry point for the DAR wizard: renders the step content and its\n * Back/Next/Submit navigation inline in a single scrolling column.\n *\n * Dialog-hosted callers (e.g. `AridhiaAccessStatus`) should use `useAridhiaDarWizardParts`\n * directly instead, so the navigation buttons can be placed in a real MUI `DialogActions`\n * footer rather than nested inside the scrollable dialog content.\n */\nexport function AridhiaDarWizard(props: AridhiaDarWizardProps) {\n const { content, actions } = useAridhiaDarWizardParts(props)\n return (\n <Box sx={{ width: '100%' }}>\n {content}\n {actions && (\n <Box sx={{ display: 'flex', justifyContent: 'space-between', mt: 3 }}>\n {actions}\n </Box>\n )}\n </Box>\n )\n}\n\nexport { useAridhiaDarWizardParts }\n"],"mappings":"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"}
@@ -1,27 +1,28 @@
1
- import { Alert as e, Link as t, Stack as n, Typography as r } from "@mui/material";
2
- import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
1
+ import { RDCA_DAP_URL as e } from "../rdcaDapConstants.js";
2
+ import { Alert as t, Link as n, Stack as r, Typography as i } from "@mui/material";
3
+ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
3
4
  //#region src/components/Aridhia/DarWizard/DarSubmittedPanel.tsx
4
- var s = "https://portal.rdca.c-path.org/", c = "vtheurercrider@c-path.org";
5
+ var c = "vtheurercrider@c-path.org";
5
6
  function l(l) {
6
7
  let { requestCode: u, status: d } = l;
7
- return /* @__PURE__ */ o(n, {
8
+ return /* @__PURE__ */ s(r, {
8
9
  spacing: 2,
9
10
  children: [
10
- /* @__PURE__ */ a(e, {
11
+ /* @__PURE__ */ o(t, {
11
12
  severity: "success",
12
13
  children: "Your data access request was submitted."
13
14
  }),
14
- /* @__PURE__ */ o(r, { children: [
15
+ /* @__PURE__ */ s(i, { children: [
15
16
  "Request code: ",
16
- /* @__PURE__ */ a("strong", { children: u }),
17
- d && /* @__PURE__ */ o(i, { children: [" — status: ", d] })
17
+ /* @__PURE__ */ o("strong", { children: u }),
18
+ d && /* @__PURE__ */ s(a, { children: [" — status: ", d] })
18
19
  ] }),
19
- /* @__PURE__ */ a(r, { children: "Thank you for your request. The information you've provided will be shared with the appropriate reviewing committee. The review process is usually completed within 2-3 business weeks." }),
20
- /* @__PURE__ */ o(r, { children: [
20
+ /* @__PURE__ */ o(i, { children: "Thank you for your request. The information you've provided will be shared with the appropriate reviewing committee. The review process is usually completed within 2-3 business weeks." }),
21
+ /* @__PURE__ */ s(i, { children: [
21
22
  "If approved, the signatory listed in your submission will receive a required Data Use Agreement (DUA) for review and execution. You will be notified via email when the DUA has been signed and the remaining processing is complete, or you can check the status of your request at any time by logging in to",
22
23
  " ",
23
- /* @__PURE__ */ a(t, {
24
- href: s,
24
+ /* @__PURE__ */ o(n, {
25
+ href: e,
25
26
  target: "_blank",
26
27
  rel: "noopener noreferrer",
27
28
  children: "RDCA-DAP"
@@ -29,10 +30,10 @@ function l(l) {
29
30
  " ",
30
31
  "and clicking Access > My Requests."
31
32
  ] }),
32
- /* @__PURE__ */ o(r, { children: [
33
+ /* @__PURE__ */ s(i, { children: [
33
34
  "If you have any questions about your request, please contact C-Path's administrator at",
34
35
  " ",
35
- /* @__PURE__ */ a(t, {
36
+ /* @__PURE__ */ o(n, {
36
37
  href: `mailto:${c}`,
37
38
  children: c
38
39
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"DarSubmittedPanel.js","names":[],"sources":["../../../../src/components/Aridhia/DarWizard/DarSubmittedPanel.tsx"],"sourcesContent":["import { Alert, Link as MuiLink, Stack, Typography } from '@mui/material'\n\nconst RDCA_DAP_URL = 'https://portal.rdca.c-path.org/'\nconst C_PATH_ADMIN_EMAIL = 'vtheurercrider@c-path.org'\n\nexport type DarSubmittedPanelProps = {\n requestCode: string\n status?: string\n}\n\n/**\n * Confirmation panel shown after a successful `POST /fair/requests/`. Mirrors the guidance\n * RDCA-DAP's own post-submission screen gives — timeline, the DUA step, and where to check\n * status — since this wizard has no equivalent \"My Requests\" view of its own.\n */\nexport function DarSubmittedPanel(props: DarSubmittedPanelProps) {\n const { requestCode, status } = props\n return (\n <Stack spacing={2}>\n <Alert severity=\"success\">Your data access request was submitted.</Alert>\n <Typography>\n Request code: <strong>{requestCode}</strong>\n {status && <> &mdash; status: {status}</>}\n </Typography>\n <Typography>\n Thank you for your request. The information you&apos;ve provided will be\n shared with the appropriate reviewing committee. The review process is\n usually completed within 2-3 business weeks.\n </Typography>\n <Typography>\n If approved, the signatory listed in your submission will receive a\n required Data Use Agreement (DUA) for review and execution. You will be\n notified via email when the DUA has been signed and the remaining\n processing is complete, or you can check the status of your request at\n any time by logging in to{' '}\n <MuiLink href={RDCA_DAP_URL} target=\"_blank\" rel=\"noopener noreferrer\">\n RDCA-DAP\n </MuiLink>{' '}\n and clicking Access &gt; My Requests.\n </Typography>\n <Typography>\n If you have any questions about your request, please contact\n C-Path&apos;s administrator at{' '}\n <MuiLink href={`mailto:${C_PATH_ADMIN_EMAIL}`}>\n {C_PATH_ADMIN_EMAIL}\n </MuiLink>\n .\n </Typography>\n </Stack>\n )\n}\n"],"mappings":";;;AAEA,IAAM,IAAe,mCACf,IAAqB;AAY3B,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EAAE,gBAAa,cAAW;CAChC,OACE,kBAAC,GAAD;EAAO,SAAS;YAAhB;GACE,kBAAC,GAAD;IAAO,UAAS;cAAU;GAA8C,CAAA;GACxE,kBAAC,GAAD,EAAA,UAAA;IAAY;IACI,kBAAC,UAAD,EAAA,UAAS,EAAoB,CAAA;IAC1C,KAAU,kBAAA,GAAA,EAAA,UAAA,CAAE,eAAkB,CAAS,EAAA,CAAA;GAC9B,EAAA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAY,0LAIA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAA;IAAY;IAKgB;IAC1B,kBAAC,GAAD;KAAS,MAAM;KAAc,QAAO;KAAS,KAAI;eAAsB;IAE9D,CAAA;IAAE;IAAI;GAEL,EAAA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAA;IAAY;IAEqB;IAC/B,kBAAC,GAAD;KAAS,MAAM,UAAU;eACtB;IACM,CAAA;IAAC;GAEA,EAAA,CAAA;EACP;;AAEX"}
1
+ {"version":3,"file":"DarSubmittedPanel.js","names":[],"sources":["../../../../src/components/Aridhia/DarWizard/DarSubmittedPanel.tsx"],"sourcesContent":["import { Alert, Link as MuiLink, Stack, Typography } from '@mui/material'\nimport { RDCA_DAP_URL } from '@/components/Aridhia/rdcaDapConstants'\n\nconst C_PATH_ADMIN_EMAIL = 'vtheurercrider@c-path.org'\n\nexport type DarSubmittedPanelProps = {\n requestCode: string\n status?: string\n}\n\n/**\n * Confirmation panel shown after a successful `POST /fair/requests/`. Mirrors the guidance\n * RDCA-DAP's own post-submission screen gives — timeline, the DUA step, and where to check\n * status — since this wizard has no equivalent \"My Requests\" view of its own.\n */\nexport function DarSubmittedPanel(props: DarSubmittedPanelProps) {\n const { requestCode, status } = props\n return (\n <Stack spacing={2}>\n <Alert severity=\"success\">Your data access request was submitted.</Alert>\n <Typography>\n Request code: <strong>{requestCode}</strong>\n {status && <> &mdash; status: {status}</>}\n </Typography>\n <Typography>\n Thank you for your request. The information you&apos;ve provided will be\n shared with the appropriate reviewing committee. The review process is\n usually completed within 2-3 business weeks.\n </Typography>\n <Typography>\n If approved, the signatory listed in your submission will receive a\n required Data Use Agreement (DUA) for review and execution. You will be\n notified via email when the DUA has been signed and the remaining\n processing is complete, or you can check the status of your request at\n any time by logging in to{' '}\n <MuiLink href={RDCA_DAP_URL} target=\"_blank\" rel=\"noopener noreferrer\">\n RDCA-DAP\n </MuiLink>{' '}\n and clicking Access &gt; My Requests.\n </Typography>\n <Typography>\n If you have any questions about your request, please contact\n C-Path&apos;s administrator at{' '}\n <MuiLink href={`mailto:${C_PATH_ADMIN_EMAIL}`}>\n {C_PATH_ADMIN_EMAIL}\n </MuiLink>\n .\n </Typography>\n </Stack>\n )\n}\n"],"mappings":";;;;AAGA,IAAM,IAAqB;AAY3B,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EAAE,gBAAa,cAAW;CAChC,OACE,kBAAC,GAAD;EAAO,SAAS;YAAhB;GACE,kBAAC,GAAD;IAAO,UAAS;cAAU;GAA8C,CAAA;GACxE,kBAAC,GAAD,EAAA,UAAA;IAAY;IACI,kBAAC,UAAD,EAAA,UAAS,EAAoB,CAAA;IAC1C,KAAU,kBAAA,GAAA,EAAA,UAAA,CAAE,eAAkB,CAAS,EAAA,CAAA;GAC9B,EAAA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAY,0LAIA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAA;IAAY;IAKgB;IAC1B,kBAAC,GAAD;KAAS,MAAM;KAAc,QAAO;KAAS,KAAI;eAAsB;IAE9D,CAAA;IAAE;IAAI;GAEL,EAAA,CAAA;GACZ,kBAAC,GAAD,EAAA,UAAA;IAAY;IAEqB;IAC/B,kBAAC,GAAD;KAAS,MAAM,UAAU;eACtB;IACM,CAAA;IAAC;GAEA,EAAA,CAAA;EACP;;AAEX"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Explains why the user can't use the RDCA-DAP API yet. A one-time RDCA-DAP sign-in links
3
+ * the Synapse account.
4
+ */
5
+ export declare function RdcaDapEligibilityExplainer(): import("react/jsx-runtime").JSX.Element;
6
+ export type RdcaDapEligibilityDialogProps = {
7
+ open: boolean;
8
+ onClose: () => void;
9
+ };
10
+ export default function RdcaDapEligibilityDialog(props: RdcaDapEligibilityDialogProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=RdcaDapEligibilityDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RdcaDapEligibilityDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/RdcaDapEligibilityDialog.tsx"],"names":[],"mappings":"AAWA;;;GAGG;AACH,wBAAgB,2BAA2B,4CAa1C;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,KAAK,EAAE,6BAA6B,2CAsBrC"}
@@ -0,0 +1,37 @@
1
+ import { RDCA_DAP_URL as e } from "./rdcaDapConstants.js";
2
+ import { Button as t, Dialog as n, DialogActions as r, DialogContent as i, DialogTitle as a, Stack as o, Typography as s } from "@mui/material";
3
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
4
+ //#region src/components/Aridhia/RdcaDapEligibilityDialog.tsx
5
+ function u() {
6
+ return /* @__PURE__ */ l(o, {
7
+ spacing: 2,
8
+ children: [/* @__PURE__ */ c(s, { children: "You need a linked RDCA-DAP account before you can request access to this dataset." }), /* @__PURE__ */ c(s, { children: "To create a new account or link an existing account, open RDCA-DAP and sign in with your ALS Knowledge Portal (Synapse) account." })]
9
+ });
10
+ }
11
+ function d(o) {
12
+ let { open: s, onClose: d } = o;
13
+ return /* @__PURE__ */ l(n, {
14
+ open: s,
15
+ onClose: d,
16
+ maxWidth: "sm",
17
+ fullWidth: !0,
18
+ children: [
19
+ /* @__PURE__ */ c(a, { children: "Link your RDCA-DAP account" }),
20
+ /* @__PURE__ */ c(i, { children: /* @__PURE__ */ c(u, {}) }),
21
+ /* @__PURE__ */ l(r, { children: [/* @__PURE__ */ c(t, {
22
+ onClick: d,
23
+ children: "Close"
24
+ }), /* @__PURE__ */ c(t, {
25
+ variant: "contained",
26
+ href: e,
27
+ target: "_blank",
28
+ rel: "noopener noreferrer",
29
+ children: "Go to RDCA-DAP"
30
+ })] })
31
+ ]
32
+ });
33
+ }
34
+ //#endregion
35
+ export { u as RdcaDapEligibilityExplainer, d as default };
36
+
37
+ //# sourceMappingURL=RdcaDapEligibilityDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RdcaDapEligibilityDialog.js","names":[],"sources":["../../../src/components/Aridhia/RdcaDapEligibilityDialog.tsx"],"sourcesContent":["import {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Stack,\n Typography,\n} from '@mui/material'\nimport { RDCA_DAP_URL } from './rdcaDapConstants'\n\n/**\n * Explains why the user can't use the RDCA-DAP API yet. A one-time RDCA-DAP sign-in links\n * the Synapse account.\n */\nexport function RdcaDapEligibilityExplainer() {\n return (\n <Stack spacing={2}>\n <Typography>\n You need a linked RDCA-DAP account before you can request access to this\n dataset.\n </Typography>\n <Typography>\n To create a new account or link an existing account, open RDCA-DAP and\n sign in with your ALS Knowledge Portal (Synapse) account.\n </Typography>\n </Stack>\n )\n}\n\nexport type RdcaDapEligibilityDialogProps = {\n open: boolean\n onClose: () => void\n}\n\nexport default function RdcaDapEligibilityDialog(\n props: RdcaDapEligibilityDialogProps,\n) {\n const { open, onClose } = props\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"sm\" fullWidth>\n <DialogTitle>Link your RDCA-DAP account</DialogTitle>\n <DialogContent>\n <RdcaDapEligibilityExplainer />\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>Close</Button>\n <Button\n variant=\"contained\"\n href={RDCA_DAP_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Go to RDCA-DAP\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n"],"mappings":";;;;AAeA,SAAgB,IAA8B;CAC5C,OACE,kBAAC,GAAD;EAAO,SAAS;YAAhB,CACE,kBAAC,GAAD,EAAA,UAAY,oFAGA,CAAA,GACZ,kBAAC,GAAD,EAAA,UAAY,mIAGA,CAAA,CACP;;AAEX;AAOA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,SAAM,eAAY;CAC1B,OACE,kBAAC,GAAD;EAAc;EAAe;EAAS,UAAS;EAAK,WAAA;YAApD;GACE,kBAAC,GAAD,EAAA,UAAa,6BAAuC,CAAA;GACpD,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,CAA8B,CAAA,EACjB,CAAA;GACf,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;IAAQ,SAAS;cAAS;GAAa,CAAA,GACvC,kBAAC,GAAD;IACE,SAAQ;IACR,MAAM;IACN,QAAO;IACP,KAAI;cACL;GAEO,CAAA,CACK,EAAA,CAAA;EACT;;AAEZ"}
@@ -3,7 +3,7 @@ import { RestrictionUiType as e } from "../HasAccess/AccessIcon.js";
3
3
  function t(t) {
4
4
  if (!t) return e.AccessBlockedByRestriction;
5
5
  switch (t.status) {
6
- case "approved": return e.Accessible;
6
+ case "approved": return e.AccessibleOnRDCADAP;
7
7
  case "pending": return e.AccessBlockedByRestrictionWithPendingRDCADAPRequest;
8
8
  case "denied": return e.AccessBlockedByRestrictionWithRejectedRDCADAPRequest;
9
9
  case "error": return e.AccessBlockedByACL;
@@ -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?.code === t);
14
+ let n = e.filter((e) => e.datasets?.some((e) => e.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 { 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
+ {"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.AccessibleOnRDCADAP\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(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,GAC6B;CAC7B,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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Builds a link to a dataset's page on the RDCA-DAP FAIR portal's browsable UI.
3
+ */
4
+ export declare function getAridhiaFairPortalDatasetUrl(fairPortalUrl: string, datasetCode: string): string;
5
+ /**
6
+ * Builds a link to a specific data access request's page on the RDCA-DAP FAIR portal's
7
+ * browsable UI.
8
+ */
9
+ export declare function getAridhiaFairPortalRequestUrl(fairPortalUrl: string, requestCode: string): string;
10
+ //# sourceMappingURL=aridhiaFairPortalUrls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aridhiaFairPortalUrls.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/aridhiaFairPortalUrls.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER"}
@@ -0,0 +1,11 @@
1
+ //#region src/components/Aridhia/aridhiaFairPortalUrls.ts
2
+ function e(e, t) {
3
+ return `${e}/#/data/datasets/${t}`;
4
+ }
5
+ function t(e, t) {
6
+ return `${e}/#/data/requests/${t}`;
7
+ }
8
+ //#endregion
9
+ export { e as getAridhiaFairPortalDatasetUrl, t as getAridhiaFairPortalRequestUrl };
10
+
11
+ //# sourceMappingURL=aridhiaFairPortalUrls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aridhiaFairPortalUrls.js","names":[],"sources":["../../../src/components/Aridhia/aridhiaFairPortalUrls.ts"],"sourcesContent":["/**\n * Builds a link to a dataset's page on the RDCA-DAP FAIR portal's browsable UI.\n */\nexport function getAridhiaFairPortalDatasetUrl(\n fairPortalUrl: string,\n datasetCode: string,\n): string {\n return `${fairPortalUrl}/#/data/datasets/${datasetCode}`\n}\n\n/**\n * Builds a link to a specific data access request's page on the RDCA-DAP FAIR portal's\n * browsable UI.\n */\nexport function getAridhiaFairPortalRequestUrl(\n fairPortalUrl: string,\n requestCode: string,\n): string {\n return `${fairPortalUrl}/#/data/requests/${requestCode}`\n}\n"],"mappings":";AAGA,SAAgB,EACd,GACA,GACQ;CACR,OAAO,GAAG,EAAc,mBAAmB;AAC7C;AAMA,SAAgB,EACd,GACA,GACQ;CACR,OAAO,GAAG,EAAc,mBAAmB;AAC7C"}
@@ -0,0 +1,3 @@
1
+ /** Base URL of RDCA-DAP's own sign-in/browsable UI (not the FAIR portal — see `aridhiaFairPortalUrls.ts`). */
2
+ export declare const RDCA_DAP_URL = "https://portal.rdca.c-path.org/";
3
+ //# sourceMappingURL=rdcaDapConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdcaDapConstants.d.ts","sourceRoot":"","sources":["../../../src/components/Aridhia/rdcaDapConstants.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,eAAO,MAAM,YAAY,oCAAoC,CAAA"}
@@ -0,0 +1,6 @@
1
+ //#region src/components/Aridhia/rdcaDapConstants.ts
2
+ var e = "https://portal.rdca.c-path.org/";
3
+ //#endregion
4
+ export { e as RDCA_DAP_URL };
5
+
6
+ //# sourceMappingURL=rdcaDapConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdcaDapConstants.js","names":[],"sources":["../../../src/components/Aridhia/rdcaDapConstants.ts"],"sourcesContent":["/** Base URL of RDCA-DAP's own sign-in/browsable UI (not the FAIR portal — see `aridhiaFairPortalUrls.ts`). */\nexport const RDCA_DAP_URL = 'https://portal.rdca.c-path.org/'\n"],"mappings":";AACA,IAAa,IAAe"}
@@ -1,4 +1,8 @@
1
1
  export declare const TOTP_GUIDANCE_TEXT = "Enter the 6-digit, time-based verification code provided by your authenticator app.";
2
2
  export declare const RECOVERY_CODE_GUIDANCE_TEXT_SHORT = "Enter a one-time backup code. Your backup code is a 16 digit code, with groups of 4 letters or numbers separated by hyphens.";
3
3
  export declare const TOTP_CLOCK_SKEW_ERROR_APPENDAGE = "Please ensure automatic date and time is enabled in your device settings and try again.";
4
+ export declare const NUMERIC_CODE_HTML_INPUT_PROPS: {
5
+ readonly inputMode: "numeric";
6
+ readonly pattern: "[0-9]*";
7
+ };
4
8
  //# sourceMappingURL=Constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/components/Authentication/Constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,wFACwD,CAAA;AAEvF,eAAO,MAAM,iCAAiC,iIACkF,CAAA;AAEhI,eAAO,MAAM,+BAA+B,4FAC+C,CAAA"}
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../../src/components/Authentication/Constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,wFACwD,CAAA;AAEvF,eAAO,MAAM,iCAAiC,iIACkF,CAAA;AAEhI,eAAO,MAAM,+BAA+B,4FAC+C,CAAA;AAE3F,eAAO,MAAM,6BAA6B;;;CAGsB,CAAA"}
@@ -1,6 +1,9 @@
1
1
  //#region src/components/Authentication/Constants.ts
2
- var e = "Enter the 6-digit, time-based verification code provided by your authenticator app.", t = "Enter a one-time backup code. Your backup code is a 16 digit code, with groups of 4 letters or numbers separated by hyphens.", n = "Please ensure automatic date and time is enabled in your device settings and try again.";
2
+ var e = "Enter the 6-digit, time-based verification code provided by your authenticator app.", t = "Enter a one-time backup code. Your backup code is a 16 digit code, with groups of 4 letters or numbers separated by hyphens.", n = "Please ensure automatic date and time is enabled in your device settings and try again.", r = {
3
+ inputMode: "numeric",
4
+ pattern: "[0-9]*"
5
+ };
3
6
  //#endregion
4
- export { t as RECOVERY_CODE_GUIDANCE_TEXT_SHORT, n as TOTP_CLOCK_SKEW_ERROR_APPENDAGE, e as TOTP_GUIDANCE_TEXT };
7
+ export { r as NUMERIC_CODE_HTML_INPUT_PROPS, t as RECOVERY_CODE_GUIDANCE_TEXT_SHORT, n as TOTP_CLOCK_SKEW_ERROR_APPENDAGE, e as TOTP_GUIDANCE_TEXT };
5
8
 
6
9
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","names":[],"sources":["../../../src/components/Authentication/Constants.ts"],"sourcesContent":["export const TOTP_GUIDANCE_TEXT =\n 'Enter the 6-digit, time-based verification code provided by your authenticator app.'\n\nexport const RECOVERY_CODE_GUIDANCE_TEXT_SHORT =\n 'Enter a one-time backup code. Your backup code is a 16 digit code, with groups of 4 letters or numbers separated by hyphens.'\n\nexport const TOTP_CLOCK_SKEW_ERROR_APPENDAGE =\n 'Please ensure automatic date and time is enabled in your device settings and try again.'\n"],"mappings":";AAAA,IAAa,IACX,uFAEW,IACX,gIAEW,IACX"}
1
+ {"version":3,"file":"Constants.js","names":[],"sources":["../../../src/components/Authentication/Constants.ts"],"sourcesContent":["export const TOTP_GUIDANCE_TEXT =\n 'Enter the 6-digit, time-based verification code provided by your authenticator app.'\n\nexport const RECOVERY_CODE_GUIDANCE_TEXT_SHORT =\n 'Enter a one-time backup code. Your backup code is a 16 digit code, with groups of 4 letters or numbers separated by hyphens.'\n\nexport const TOTP_CLOCK_SKEW_ERROR_APPENDAGE =\n 'Please ensure automatic date and time is enabled in your device settings and try again.'\n\nexport const NUMERIC_CODE_HTML_INPUT_PROPS = {\n inputMode: 'numeric',\n pattern: '[0-9]*',\n} as const satisfies React.InputHTMLAttributes<HTMLInputElement>\n"],"mappings":";AAAA,IAAa,IACX,uFAEW,IACX,gIAEW,IACX,2FAEW,IAAgC;CAC3C,WAAW;CACX,SAAS;AACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryCodeGrid.d.ts","sourceRoot":"","sources":["../../../src/components/Authentication/RecoveryCodeGrid.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAU5E,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,0BAA0B,CAAA;CAC3C,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAoC5D"}
1
+ {"version":3,"file":"RecoveryCodeGrid.d.ts","sourceRoot":"","sources":["../../../src/components/Authentication/RecoveryCodeGrid.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAU5E,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,0BAA0B,CAAA;CAC3C,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAqC5D"}
@@ -9,7 +9,14 @@ function a(a) {
9
9
  return /* @__PURE__ */ n(t, {
10
10
  sx: {
11
11
  display: "grid",
12
- gridTemplateColumns: "47.5% 47.5%",
12
+ gridTemplateColumns: {
13
+ xs: "max-content",
14
+ md: "47.5% 47.5%"
15
+ },
16
+ justifyContent: {
17
+ xs: "center",
18
+ md: "stretch"
19
+ },
13
20
  columnGap: "5%",
14
21
  gridTemplateRows: "repeat(5, 1fr)",
15
22
  fontFamily: "Menlo, Courier New, Courier, monospace",
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryCodeGrid.js","names":[],"sources":["../../../src/components/Authentication/RecoveryCodeGrid.tsx"],"sourcesContent":["import ConditionalWrapper from '@/components/utils/ConditionalWrapper'\nimport { Box } from '@mui/material'\nimport Skeleton from '@mui/material/Skeleton'\nimport { TwoFactorAuthRecoveryCodes } from '@sage-bionetworks/synapse-types'\n\nconst DEFAULT_RECOVERY_CODE_COUNT = 10\n\n// Placeholder codes used to render skeletons while loading\nconst PLACEHOLDER_RECOVERY_CODE = '1234-5678-9012-3456'\nconst PLACEHOLDER_RECOVERY_CODES = Array(DEFAULT_RECOVERY_CODE_COUNT).fill(\n PLACEHOLDER_RECOVERY_CODE,\n)\n\ntype RecoveryCodeGridProps = {\n recoveryCodes?: TwoFactorAuthRecoveryCodes\n}\n\nexport function RecoveryCodeGrid(props: RecoveryCodeGridProps) {\n const { recoveryCodes } = props\n return (\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: '47.5% 47.5%',\n columnGap: '5%',\n gridTemplateRows: 'repeat(5, 1fr)',\n fontFamily: 'Menlo, Courier New, Courier, monospace',\n my: 2,\n }}\n >\n {(recoveryCodes?.codes ?? PLACEHOLDER_RECOVERY_CODES).map(\n (code, index) => {\n return (\n <ConditionalWrapper\n key={index}\n condition={!recoveryCodes}\n wrapper={Skeleton}\n wrapperProps={{ width: '100%', height: '100%' }}\n >\n <Box\n sx={{\n my: 1,\n fontSize: '13px',\n }}\n >\n {code}\n </Box>\n </ConditionalWrapper>\n )\n },\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;AASA,IAAM,IAA6B,MAAM,EAA2B,EAAE,KACpE,qBACF;AAMA,SAAgB,EAAiB,GAA8B;CAC7D,IAAM,EAAE,qBAAkB;CAC1B,OACE,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,qBAAqB;GACrB,WAAW;GACX,kBAAkB;GAClB,YAAY;GACZ,IAAI;EACN;aAEE,GAAe,SAAS,GAA4B,KACnD,GAAM,MAEH,kBAAC,GAAD;GAEE,WAAW,CAAC;GACZ,SAAS;GACT,cAAc;IAAE,OAAO;IAAQ,QAAQ;GAAO;aAE9C,kBAAC,GAAD;IACE,IAAI;KACF,IAAI;KACJ,UAAU;IACZ;cAEC;GACE,CAAA;EACa,GAbb,CAaa,CAG1B;CACG,CAAA;AAET"}
1
+ {"version":3,"file":"RecoveryCodeGrid.js","names":[],"sources":["../../../src/components/Authentication/RecoveryCodeGrid.tsx"],"sourcesContent":["import ConditionalWrapper from '@/components/utils/ConditionalWrapper'\nimport { Box } from '@mui/material'\nimport Skeleton from '@mui/material/Skeleton'\nimport { TwoFactorAuthRecoveryCodes } from '@sage-bionetworks/synapse-types'\n\nconst DEFAULT_RECOVERY_CODE_COUNT = 10\n\n// Placeholder codes used to render skeletons while loading\nconst PLACEHOLDER_RECOVERY_CODE = '1234-5678-9012-3456'\nconst PLACEHOLDER_RECOVERY_CODES = Array(DEFAULT_RECOVERY_CODE_COUNT).fill(\n PLACEHOLDER_RECOVERY_CODE,\n)\n\ntype RecoveryCodeGridProps = {\n recoveryCodes?: TwoFactorAuthRecoveryCodes\n}\n\nexport function RecoveryCodeGrid(props: RecoveryCodeGridProps) {\n const { recoveryCodes } = props\n return (\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: { xs: 'max-content', md: '47.5% 47.5%' },\n justifyContent: { xs: 'center', md: 'stretch' },\n columnGap: '5%',\n gridTemplateRows: 'repeat(5, 1fr)',\n fontFamily: 'Menlo, Courier New, Courier, monospace',\n my: 2,\n }}\n >\n {(recoveryCodes?.codes ?? PLACEHOLDER_RECOVERY_CODES).map(\n (code, index) => {\n return (\n <ConditionalWrapper\n key={index}\n condition={!recoveryCodes}\n wrapper={Skeleton}\n wrapperProps={{ width: '100%', height: '100%' }}\n >\n <Box\n sx={{\n my: 1,\n fontSize: '13px',\n }}\n >\n {code}\n </Box>\n </ConditionalWrapper>\n )\n },\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;AASA,IAAM,IAA6B,MAAM,EAA2B,EAAE,KACpE,qBACF;AAMA,SAAgB,EAAiB,GAA8B;CAC7D,IAAM,EAAE,qBAAkB;CAC1B,OACE,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,qBAAqB;IAAE,IAAI;IAAe,IAAI;GAAc;GAC5D,gBAAgB;IAAE,IAAI;IAAU,IAAI;GAAU;GAC9C,WAAW;GACX,kBAAkB;GAClB,YAAY;GACZ,IAAI;EACN;aAEE,GAAe,SAAS,GAA4B,KACnD,GAAM,MAEH,kBAAC,GAAD;GAEE,WAAW,CAAC;GACZ,SAAS;GACT,cAAc;IAAE,OAAO;IAAQ,QAAQ;GAAO;aAE9C,kBAAC,GAAD;IACE,IAAI;KACF,IAAI;KACJ,UAAU;IACZ;cAEC;GACE,CAAA;EACa,GAbb,CAaa,CAG1B;CACG,CAAA;AAET"}
@@ -8,7 +8,10 @@ function l(l) {
8
8
  sx: {
9
9
  m: "auto",
10
10
  maxWidth: "500px",
11
- p: 8
11
+ p: {
12
+ xs: "20px",
13
+ md: 8
14
+ }
12
15
  },
13
16
  children: [
14
17
  /* @__PURE__ */ s(t, {