synapse-react-client 4.0.45 → 4.0.47

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 (842) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +1 -0
  3. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -1
  4. package/dist/aridhia-queries/AridhiaKeyFactory.js +3 -0
  5. package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -1
  6. package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
  7. package/dist/aridhia-queries/index.d.ts +1 -0
  8. package/dist/aridhia-queries/index.d.ts.map +1 -1
  9. package/dist/aridhia-queries/index.js +11 -10
  10. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts +19 -0
  11. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts.map +1 -0
  12. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js +14 -0
  13. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js.map +1 -0
  14. package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
  15. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
  16. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.d.ts.map +1 -1
  17. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +6 -4
  18. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  19. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +1 -1
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -1
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +1 -1
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  24. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +1 -1
  25. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -1
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +11 -8
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  29. package/dist/components/AccessTokenPage/AccessTokenPage.js +1 -1
  30. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  31. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
  32. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  33. package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
  34. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  35. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
  36. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  37. package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
  38. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  39. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  40. package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
  41. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  42. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
  43. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
  44. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
  45. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
  46. package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -1
  47. package/dist/components/Aridhia/DarWizard/DarSectionForm.js +17 -13
  48. package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -1
  49. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +3 -3
  50. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -1
  51. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +33 -34
  52. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
  53. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
  54. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  55. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
  56. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  57. package/dist/components/Aridhia/fairFormToRjsf.js +1 -1
  58. package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -1
  59. package/dist/components/Authentication/LastLoginInfo.js +3 -3
  60. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  61. package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
  62. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  63. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  64. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  65. package/dist/components/Authentication/TOTPForm.js +3 -3
  66. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  67. package/dist/components/Authentication/index.d.ts +6 -6
  68. package/dist/components/Authentication/index.d.ts.map +1 -1
  69. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
  70. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  71. package/dist/components/CardContainer/CardContainer.js +7 -7
  72. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  73. package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
  74. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  75. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
  76. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  77. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +1 -1
  78. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  79. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  80. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
  81. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  82. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js +1 -1
  83. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  84. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +6 -6
  85. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  86. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.d.ts.map +1 -1
  87. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js +4 -4
  88. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  89. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +4 -4
  90. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  91. package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
  92. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  93. package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
  94. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  95. package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
  96. package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
  97. package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
  98. package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
  99. package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
  100. package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
  101. package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
  102. package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
  103. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
  104. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
  105. package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
  106. package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
  107. package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
  108. package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
  109. package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
  110. package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
  111. package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
  112. package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
  113. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  114. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  115. package/dist/components/ComponentCollapse.js +2 -1
  116. package/dist/components/ComponentCollapse.js.map +1 -1
  117. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  118. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  119. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  120. package/dist/components/DataGrid/SynapseGrid.js +231 -219
  121. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  122. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
  123. package/dist/components/DataGrid/SyncGridWithSourceButton.js +5 -4
  124. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  125. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
  126. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  127. package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
  128. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  129. package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
  130. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
  131. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
  132. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
  133. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
  134. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
  135. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  136. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +7 -5
  137. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  138. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js +4 -4
  139. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  140. package/dist/components/DataGrid/components/ReorderColumnsButton.js +4 -4
  141. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
  142. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  143. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +12 -8
  144. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  145. package/dist/components/DataGrid/components/UploadCsvToGridButton.js +1 -1
  146. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  147. package/dist/components/DataGrid/components/contextMenu.js +3 -3
  148. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  149. package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
  150. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +14 -12
  151. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  152. package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
  153. package/dist/components/DataGrid/hooks/useStack.js +2 -2
  154. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  155. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  156. package/dist/components/DataGrid/utils/applyModelChange.js +14 -14
  157. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  158. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  159. package/dist/components/DataGrid/utils/columnFactory.js +47 -42
  160. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  161. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
  162. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  163. package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
  164. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  165. package/dist/components/DataGrid/utils/splitPatch.d.ts.map +1 -1
  166. package/dist/components/DataGrid/utils/splitPatch.js +22 -13
  167. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  168. package/dist/components/DownloadCart/DownloadCartPage.js +1 -1
  169. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  170. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  171. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +3 -2
  172. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  173. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -1
  174. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +1 -3
  175. package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
  176. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +16 -10
  179. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
  183. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  184. package/dist/components/EntityFinder/EntityFinder.js +4 -4
  185. package/dist/components/EntityFinder/EntityIdTextField.js +1 -1
  186. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  187. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  188. package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
  189. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  190. package/dist/components/EntityFinder/tree/VirtualizedTree.d.ts.map +1 -1
  191. package/dist/components/EntityFinder/tree/VirtualizedTree.js +5 -4
  192. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
  196. package/dist/components/EntityHeaderTable/Filter.js +1 -1
  197. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  198. package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
  199. package/dist/components/EntityTreeTable/components/EntityNameCell.js +2 -1
  200. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  201. package/dist/components/EntityUpload/FileUploadProgress.d.ts.map +1 -1
  202. package/dist/components/EntityUpload/FileUploadProgress.js +11 -7
  203. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  204. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  205. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.d.ts.map +1 -1
  206. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js +4 -3
  207. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  208. package/dist/components/ExperimentalMode/ExperimentalMode.js +1 -1
  209. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  210. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js +1 -1
  211. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  212. package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
  213. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
  214. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  215. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -1
  216. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +2 -1
  217. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -1
  218. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -1
  219. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +2 -1
  220. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -1
  221. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -1
  222. package/dist/components/FormTemplateEditor/FieldLibrary.js +2 -1
  223. package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -1
  224. package/dist/components/FormTemplateEditor/FieldLibraryRow.js +4 -4
  225. package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -1
  226. package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
  227. package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -1
  228. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +1 -1
  229. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -1
  230. package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -1
  231. package/dist/components/FormTemplateEditor/StepCard.js +15 -10
  232. package/dist/components/FormTemplateEditor/StepCard.js.map +1 -1
  233. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -1
  234. package/dist/components/FormTemplateEditor/StepFieldRow.js +11 -6
  235. package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -1
  236. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -1
  237. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +2 -1
  238. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -1
  239. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
  240. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
  241. package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
  242. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  243. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +46 -46
  244. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
  245. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
  246. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
  247. package/dist/components/GenericCard/PortalDOI/PortalDOI.js +5 -5
  248. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  249. package/dist/components/GenericCard/TableRowGenericCard.js +38 -38
  250. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  251. package/dist/components/GoalsV3/GoalsV3.js +1 -1
  252. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  253. package/dist/components/HelpPopover/HelpPopover.js +1 -1
  254. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  255. package/dist/components/HexGrid/HexGrid.d.ts +3 -1
  256. package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
  257. package/dist/components/HexGrid/HexGrid.js +14 -13
  258. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  259. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  260. package/dist/components/IconSvg/IconSvg.js +154 -47
  261. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  262. package/dist/components/IconSvg/index.d.ts +1 -1
  263. package/dist/components/IconSvg/index.d.ts.map +1 -1
  264. package/dist/components/IconSvg/index.js.map +1 -1
  265. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
  266. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
  267. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  268. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.d.ts.map +1 -1
  269. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js +19 -16
  270. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  271. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  272. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +2 -1
  273. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  274. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts +9 -0
  275. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts.map +1 -0
  276. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js +21 -0
  277. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js.map +1 -0
  278. package/dist/components/Markdown/MarkdownCollapse.d.ts.map +1 -1
  279. package/dist/components/Markdown/MarkdownCollapse.js +3 -1
  280. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  281. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  282. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  283. package/dist/components/Markdown/widget/index.d.ts +1 -1
  284. package/dist/components/Markdown/widget/index.d.ts.map +1 -1
  285. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
  286. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  287. package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
  288. package/dist/components/ModalDownload/ModalDownload.js +2 -1
  289. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  290. package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
  291. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  292. package/dist/components/Plot/BarPlot.js +1 -1
  293. package/dist/components/Plot/BarPlot.js.map +1 -1
  294. package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
  295. package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
  296. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  297. package/dist/components/PortalList/PortalCard.d.ts.map +1 -1
  298. package/dist/components/PortalList/PortalCard.js +6 -5
  299. package/dist/components/PortalList/PortalCard.js.map +1 -1
  300. package/dist/components/PortalList/PortalList.js +4 -4
  301. package/dist/components/PortalList/PortalList.js.map +1 -1
  302. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
  303. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  304. package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
  305. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
  306. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  307. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  308. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
  309. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  310. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  311. package/dist/components/QueryBuilder/FilterConditionRow.js +31 -30
  312. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  313. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  314. package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
  315. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  316. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
  317. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  318. package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
  319. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  320. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
  321. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
  322. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
  323. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
  324. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  325. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  326. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
  327. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
  328. package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
  329. package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
  330. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
  331. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  332. package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
  333. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  334. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
  335. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  336. package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
  337. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  338. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
  339. package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
  340. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
  341. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
  342. package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
  343. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
  344. package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
  345. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  346. package/dist/components/QuerySortSelector.js +5 -5
  347. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
  348. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  349. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
  350. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
  351. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
  352. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
  353. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
  354. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
  355. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
  356. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  357. package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
  358. package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
  359. package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
  360. package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
  361. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
  362. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
  363. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
  364. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
  365. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
  366. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
  367. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
  368. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  369. package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
  370. package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
  371. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  372. package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
  373. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  374. package/dist/components/QueryWrapperErrorBoundary.js +26 -21
  375. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  376. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
  377. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
  378. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  379. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
  380. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  381. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
  382. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  383. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
  384. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  385. package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
  386. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  387. package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
  388. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
  389. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
  390. package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
  391. package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
  392. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
  393. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
  394. package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
  395. package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
  396. package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
  397. package/dist/components/RowDataTable/RowDataTable.js +25 -8
  398. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  399. package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
  400. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  401. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
  402. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
  403. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  404. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
  405. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  406. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
  407. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  408. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
  409. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  410. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
  411. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  412. package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
  413. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  414. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
  415. package/dist/components/SustainabilityScorecard/DialLayout.js +1 -1
  416. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  417. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js +1 -1
  418. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  419. package/dist/components/SynapseChat/SynapseChat.js +1 -1
  420. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  421. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  422. package/dist/components/SynapseChat/SynapseChatInteraction.js +2 -1
  423. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  424. package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
  425. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  426. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js +1 -1
  427. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js.map +1 -1
  428. package/dist/components/SynapseFooter/SynapseFooter.js +1 -1
  429. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  430. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  431. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  432. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js +1 -1
  433. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  434. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.d.ts.map +1 -1
  435. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +2 -1
  436. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  437. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js +4 -4
  438. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  439. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js +1 -1
  440. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  441. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  442. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +4 -1
  443. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  444. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
  445. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  446. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
  447. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  448. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
  449. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
  450. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  451. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js +1 -1
  452. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  453. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
  454. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +12 -9
  455. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  456. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
  457. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
  458. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  459. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
  460. package/dist/components/SynapseTable/SqlEditor.js +7 -7
  461. package/dist/components/SynapseTable/SynapseTable.js +8 -8
  462. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  463. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  464. package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
  465. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  466. package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
  467. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  468. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  469. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
  470. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  471. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
  472. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  473. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
  474. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +6 -6
  475. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  476. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
  477. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
  478. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  479. package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
  480. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
  481. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  482. package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
  483. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  484. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  485. package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
  486. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  487. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +2 -2
  488. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  489. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
  490. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  491. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
  492. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  493. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  494. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
  495. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  496. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +59 -59
  497. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  498. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.d.ts.map +1 -1
  499. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js +6 -4
  500. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  501. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
  502. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  503. package/dist/components/TanStackTable/ColumnHeader.js +1 -1
  504. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  505. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
  506. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  507. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  508. package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
  509. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  510. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js +1 -1
  511. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  512. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.d.ts.map +1 -1
  513. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js +4 -3
  514. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  515. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  516. package/dist/components/TotalQueryResults.js +14 -14
  517. package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
  518. package/dist/components/Webhook/WebhookDashboard.js +3 -3
  519. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  520. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  521. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  522. package/dist/components/dataaccess/AccessRequirementTable.js +1 -1
  523. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  524. package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -1
  525. package/dist/components/dataaccess/EDucTemplateTable.js +13 -11
  526. package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -1
  527. package/dist/components/dataaccess/FormTemplateTable.js +6 -6
  528. package/dist/components/dataaccess/FormTemplateTable.js.map +1 -1
  529. package/dist/components/dataaccess/ReviewerDashboard.js +17 -17
  530. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  531. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +4 -4
  532. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  533. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  534. package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
  535. package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
  536. package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
  537. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  538. package/dist/components/download_list/DownloadDetails.d.ts.map +1 -1
  539. package/dist/components/download_list/DownloadDetails.js +12 -10
  540. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  541. package/dist/components/entity/metadata/AnnotationsTable.js +1 -1
  542. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  543. package/dist/components/entity/page/CreatedByModifiedBy.js +1 -1
  544. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  545. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
  546. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  547. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
  548. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  549. package/dist/components/error/ErrorBanner.d.ts.map +1 -1
  550. package/dist/components/error/ErrorBanner.js +49 -46
  551. package/dist/components/error/ErrorBanner.js.map +1 -1
  552. package/dist/components/error/ErrorChip.d.ts.map +1 -1
  553. package/dist/components/error/ErrorChip.js +2 -1
  554. package/dist/components/error/ErrorChip.js.map +1 -1
  555. package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
  556. package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
  557. package/dist/components/row_renderers/Dataset.js +6 -6
  558. package/dist/components/row_renderers/Dataset.js.map +1 -1
  559. package/dist/components/row_renderers/Funder.js +1 -1
  560. package/dist/components/row_renderers/Funder.js.map +1 -1
  561. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +14 -14
  562. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +4 -4
  563. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  564. package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
  565. package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
  566. package/dist/components/widgets/ElementWithTooltip.js +22 -14
  567. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  568. package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
  569. package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
  570. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  571. package/dist/components/widgets/SynapseImage.js +1 -1
  572. package/dist/components/widgets/SynapseImage.js.map +1 -1
  573. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
  574. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  575. package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
  576. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  577. package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
  578. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
  579. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  580. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
  581. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  582. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
  583. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
  584. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  585. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
  586. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  587. package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
  588. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  589. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
  590. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
  591. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  592. package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
  593. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  594. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
  595. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
  596. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  597. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
  598. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  599. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
  600. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  601. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
  602. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  603. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
  604. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  605. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
  606. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  607. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
  608. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
  609. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  610. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
  611. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  612. package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
  613. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  614. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
  615. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
  616. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  617. package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
  618. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
  619. package/dist/features/curator/dashboard/components/NextStepButton.js +7 -6
  620. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  621. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +8 -8
  622. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  623. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +4 -4
  624. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  625. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +4 -4
  626. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  627. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  628. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  629. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +4 -4
  630. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
  631. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +1 -1
  632. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -1
  633. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +1 -1
  634. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -1
  635. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +10 -10
  636. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -1
  637. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js +1 -1
  638. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  639. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
  640. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
  641. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
  642. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
  643. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
  644. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
  645. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
  646. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
  647. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
  648. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
  649. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
  650. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
  651. package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
  652. package/dist/mocks/mockAnnotationColumns.js +1 -1
  653. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  654. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +17 -0
  655. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  656. package/dist/mocks/msw/handlers/aridhiaHandlers.js +62 -42
  657. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  658. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
  659. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  660. package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
  661. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  662. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
  663. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
  664. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
  665. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
  666. package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
  667. package/dist/mocks/msw/handlers/entityHandlers.js +70 -67
  668. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  669. package/dist/mocks/msw/handlers/gridHandlers.js +2 -2
  670. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  671. package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
  672. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  673. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  674. package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
  675. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  676. package/dist/mocks/msw/server.d.ts.map +1 -1
  677. package/dist/mocks/msw/server.js +4 -2
  678. package/dist/mocks/msw/server.js.map +1 -1
  679. package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
  680. package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
  681. package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
  682. package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
  683. package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
  684. package/dist/stories/ColorPaletteInspector.js +2 -2
  685. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  686. package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
  687. package/dist/style/main.css +1 -1
  688. package/dist/synapse-queries/auth/useOIDC.js +2 -2
  689. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  690. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
  691. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
  692. package/dist/synapse-queries/challenge/useChallenge.js +2 -2
  693. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  694. package/dist/synapse-queries/chat/useChat.js +8 -8
  695. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  696. package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
  697. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  698. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
  699. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  700. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
  701. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  702. package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
  703. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  704. package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
  705. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  706. package/dist/synapse-queries/download/index.js +2 -2
  707. package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
  708. package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
  709. package/dist/synapse-queries/download/useDownloadList.js +14 -13
  710. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  711. package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
  712. package/dist/synapse-queries/entity/useEntity.js +20 -20
  713. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  714. package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
  715. package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
  716. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  717. package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
  718. package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
  719. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  720. package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
  721. package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
  722. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  723. package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
  724. package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
  725. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  726. package/dist/synapse-queries/forum/useReply.js +6 -6
  727. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  728. package/dist/synapse-queries/forum/useThread.js +14 -14
  729. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  730. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  731. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  732. package/dist/synapse-queries/grid/useGridSession.js +4 -4
  733. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  734. package/dist/synapse-queries/index.js +177 -176
  735. package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
  736. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  737. package/dist/synapse-queries/portal/usePortal.js +7 -7
  738. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  739. package/dist/synapse-queries/subscription/useSubscription.js +4 -4
  740. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  741. package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
  742. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  743. package/dist/synapse-queries/team/useTeam.js +2 -2
  744. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  745. package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
  746. package/dist/synapse-queries/team/useTeamList.js +3 -3
  747. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  748. package/dist/synapse-queries/team/useTeamMembers.js +8 -8
  749. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  750. package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
  751. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  752. package/dist/synapse-queries/trash/useTrashCan.js +4 -4
  753. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  754. package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
  755. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  756. package/dist/synapse-queries/user/useFavorites.js +4 -4
  757. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  758. package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
  759. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  760. package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
  761. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  762. package/dist/synapse-queries/wiki/useWiki.js +10 -10
  763. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  764. package/dist/theme/DefaultTheme.d.ts.map +1 -1
  765. package/dist/theme/DefaultTheme.js +4 -1
  766. package/dist/theme/DefaultTheme.js.map +1 -1
  767. package/dist/tsconfig.build.tsbuildinfo +1 -1
  768. package/dist/utils/APIConstants.d.ts.map +1 -1
  769. package/dist/utils/APIConstants.js.map +1 -1
  770. package/dist/utils/AppUtils/AppUtils.js +1 -1
  771. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  772. package/dist/utils/ContentTypeUtils.js +4 -4
  773. package/dist/utils/ContentTypeUtils.js.map +1 -1
  774. package/dist/utils/PermissionLevelToAccessType.js +1 -1
  775. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  776. package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
  777. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  778. package/dist/utils/context/DocumentMetadataContext.js +1 -1
  779. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  780. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  781. package/dist/utils/functions/AccessControlListUtils.js +3 -3
  782. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  783. package/dist/utils/functions/ArrayUtils.js +2 -2
  784. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  785. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  786. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  787. package/dist/utils/functions/FileHandleUtils.js +1 -1
  788. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  789. package/dist/utils/functions/RegularExpressions.js +1 -1
  790. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  791. package/dist/utils/functions/StringUtils.d.ts.map +1 -1
  792. package/dist/utils/functions/StringUtils.js +1 -2
  793. package/dist/utils/functions/StringUtils.js.map +1 -1
  794. package/dist/utils/functions/deepLinkingUtils.js +2 -2
  795. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  796. package/dist/utils/functions/enumerationFacet.d.ts +26 -0
  797. package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
  798. package/dist/utils/functions/enumerationFacet.js +27 -0
  799. package/dist/utils/functions/enumerationFacet.js.map +1 -0
  800. package/dist/utils/functions/facetCountUtils.d.ts +12 -0
  801. package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
  802. package/dist/utils/functions/facetCountUtils.js +9 -0
  803. package/dist/utils/functions/facetCountUtils.js.map +1 -0
  804. package/dist/utils/functions/getEndpoint.js.map +1 -1
  805. package/dist/utils/functions/getUserData.js +1 -1
  806. package/dist/utils/functions/getUserData.js.map +1 -1
  807. package/dist/utils/functions/queryUtils.d.ts +1 -1
  808. package/dist/utils/functions/queryUtils.d.ts.map +1 -1
  809. package/dist/utils/functions/queryUtils.js +26 -22
  810. package/dist/utils/functions/queryUtils.js.map +1 -1
  811. package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
  812. package/dist/utils/functions/testDownloadSpeed.js +17 -26
  813. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  814. package/dist/utils/functions/unCamelCase.js +1 -1
  815. package/dist/utils/functions/unCamelCase.js.map +1 -1
  816. package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
  817. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  818. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
  819. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  820. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  821. package/dist/utils/hooks/useLogin.js +5 -5
  822. package/dist/utils/hooks/useLogin.js.map +1 -1
  823. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  824. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
  825. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
  826. package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
  827. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
  828. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
  829. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
  830. package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
  831. package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
  832. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
  833. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
  834. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
  835. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  836. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
  837. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  838. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
  839. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  840. package/dist/utils/jsonschema/submissionContext.js +2 -2
  841. package/dist/utils/jsonschema/submissionContext.js.map +1 -1
  842. package/package.json +7 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohortBuilderSyntheticData.js","names":[],"sources":["../../../src/mocks/cohortBuilder/cohortBuilderSyntheticData.ts"],"sourcesContent":["import {\n CohortBuilderMockProfile,\n CORE_DATA_ATTRIBUTE_NAMES,\n DATA_REFERENCE_COLUMN_NAME,\n MockAssay,\n MockStudy,\n PARTICIPANT_ID_COLUMN_NAME,\n REFERENCE_TYPE_COLUMN_NAME,\n STUDY_COLUMN_NAME,\n WeightedValues,\n} from './cohortBuilderMockProfiles'\n\nexport type ReferenceType = 'FILE' | 'DATASET'\n\n/** One MATERIAL row: a participant joined to one file or dataset reference. */\nexport type MaterialRow = Readonly<Record<string, string>>\n\nexport type SyntheticDataReference = {\n id: string\n name: string\n referenceType: ReferenceType\n study: string\n attributes: Readonly<Record<string, string>>\n}\n\nexport type CohortBuilderSyntheticData = {\n profile: CohortBuilderMockProfile\n dataAttributeNames: readonly string[]\n references: ReadonlyMap<string, SyntheticDataReference>\n materialRows: readonly MaterialRow[]\n}\n\nexport const DEFAULT_SYNTHETIC_DATA_SEED = 42\n\n// Matrix-style files that each combine a handful of participants, alongside\n// the one-participant files.\nconst SMALL_BATCH_MIN_SIZE = 3\nconst SMALL_BATCH_MAX_SIZE = 12\nconst SMALL_BATCHES_PER_ASSAY = 4\n\n/** Mulberry32: a small, fast, seedable PRNG returning floats in [0, 1). */\nexport function createSeededRandom(seed: number): () => number {\n let state = seed >>> 0\n return () => {\n state = (state + 0x6d2b79f5) >>> 0\n let t = state\n t = Math.imul(t ^ (t >>> 15), t | 1)\n t ^= t + Math.imul(t ^ (t >>> 7), t | 61)\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296\n }\n}\n\nfunction pickWeighted(random: () => number, values: WeightedValues): string {\n const entries = Object.entries(values)\n const total = entries.reduce((sum, [, weight]) => sum + weight, 0)\n let target = random() * total\n for (const [value, weight] of entries) {\n target -= weight\n if (target < 0) {\n return value\n }\n }\n return entries.at(-1)![0]\n}\n\nfunction pickOne<T>(random: () => number, values: readonly T[]): T {\n return values[Math.floor(random() * values.length)]\n}\n\nfunction pickSubset<T>(\n random: () => number,\n values: readonly T[],\n minSize: number,\n): T[] {\n const subset = values.filter(() => random() < 0.6)\n while (subset.length < minSize) {\n const candidate = pickOne(random, values)\n if (!subset.includes(candidate)) {\n subset.push(candidate)\n }\n }\n return subset\n}\n\ntype Participant = Readonly<Record<string, string>>\n\nfunction createParticipants(\n random: () => number,\n profile: CohortBuilderMockProfile,\n study: MockStudy,\n firstIndex: number,\n): Participant[] {\n return Array.from({ length: study.participantCount }, (_, offset) => {\n const participant: Record<string, string> = {\n [PARTICIPANT_ID_COLUMN_NAME]: `${profile.participantIdPrefix}-${String(\n firstIndex + offset,\n ).padStart(6, '0')}`,\n [STUDY_COLUMN_NAME]: study.name,\n }\n for (const attribute of profile.participantAttributes) {\n participant[attribute.name] = pickWeighted(random, attribute.values)\n }\n return participant\n })\n}\n\ntype SyntheticDataBuilder = {\n random: () => number\n references: Map<string, SyntheticDataReference>\n materialRows: MaterialRow[]\n addReference: (\n study: MockStudy,\n assay: MockAssay,\n referenceType: ReferenceType,\n name: string,\n ) => SyntheticDataReference\n link: (\n participants: readonly Participant[],\n reference: SyntheticDataReference,\n ) => void\n}\n\nfunction createSyntheticDataBuilder(\n random: () => number,\n profile: CohortBuilderMockProfile,\n): SyntheticDataBuilder {\n const references = new Map<string, SyntheticDataReference>()\n const materialRows: MaterialRow[] = []\n let nextEntityId = profile.firstReferenceEntityId\n return {\n random,\n references,\n materialRows,\n addReference(study, assay, referenceType, name) {\n const attributes: Record<string, string> = {\n dataType: assay.dataType,\n assay: assay.assay,\n fileFormat: pickOne(random, assay.fileFormats),\n }\n for (const attributeName of profile.extraDataAttributeNames) {\n attributes[attributeName] = pickOne(\n random,\n assay.extraAttributes[attributeName] ?? ['Unknown'],\n )\n }\n const reference: SyntheticDataReference = {\n id: `syn${nextEntityId++}`,\n name,\n referenceType,\n study: study.name,\n attributes,\n }\n references.set(reference.id, reference)\n return reference\n },\n link(participants, reference) {\n for (const participant of participants) {\n materialRows.push({\n ...participant,\n [DATA_REFERENCE_COLUMN_NAME]: reference.id,\n [REFERENCE_TYPE_COLUMN_NAME]: reference.referenceType,\n ...reference.attributes,\n })\n }\n },\n }\n}\n\n/** Many:many studies map every participant to every study dataset. */\nfunction addDatasetStudy(\n builder: SyntheticDataBuilder,\n study: MockStudy,\n participants: readonly Participant[],\n) {\n for (const assay of study.assays) {\n const dataset = builder.addReference(\n study,\n assay,\n 'DATASET',\n `${study.name} ${assay.assay} (synthetic)`,\n )\n builder.link(participants, dataset)\n }\n}\n\nfunction addBatchMatrixFiles(\n builder: SyntheticDataBuilder,\n study: MockStudy,\n assay: MockAssay,\n assayParticipants: readonly Participant[],\n) {\n const { random } = builder\n for (let batch = 1; batch <= SMALL_BATCHES_PER_ASSAY; batch++) {\n const batchSize =\n SMALL_BATCH_MIN_SIZE +\n Math.floor(random() * (SMALL_BATCH_MAX_SIZE - SMALL_BATCH_MIN_SIZE + 1))\n const batchFile = builder.addReference(\n study,\n assay,\n 'FILE',\n `${study.name}_${assay.assay}_batch${batch}_matrix`,\n )\n const start = Math.floor(\n random() * Math.max(1, assayParticipants.length - batchSize),\n )\n builder.link(assayParticipants.slice(start, start + batchSize), batchFile)\n }\n}\n\n/**\n * FILE studies give each participant a file per assay they took part in, plus\n * an all-participants matrix and several small batch matrices per assay.\n */\nfunction addFileStudy(\n builder: SyntheticDataBuilder,\n study: MockStudy,\n participants: readonly Participant[],\n) {\n const participantsByAssay = new Map<MockAssay, Participant[]>(\n study.assays.map(assay => [assay, []]),\n )\n for (const participant of participants) {\n for (const assay of pickSubset(builder.random, study.assays, 1)) {\n participantsByAssay.get(assay)!.push(participant)\n const file = builder.addReference(\n study,\n assay,\n 'FILE',\n `${study.name}_${assay.assay}_sample${String(builder.references.size).padStart(5, '0')}`,\n )\n builder.link([participant], file)\n }\n }\n\n for (const [assay, assayParticipants] of participantsByAssay) {\n if (assayParticipants.length === 0) {\n continue\n }\n const matrix = builder.addReference(\n study,\n assay,\n 'FILE',\n `${study.name}_${assay.assay}_all_participants_matrix`,\n )\n builder.link(assayParticipants, matrix)\n addBatchMatrixFiles(builder, study, assay, assayParticipants)\n }\n}\n\n/**\n * Generates a deterministic synthetic participant ⋈ file/dataset dataset (the\n * MATERIAL rows) from a mock profile.\n */\nexport function createCohortBuilderSyntheticData(\n profile: CohortBuilderMockProfile,\n seed: number = DEFAULT_SYNTHETIC_DATA_SEED,\n): CohortBuilderSyntheticData {\n const random = createSeededRandom(seed)\n const builder = createSyntheticDataBuilder(random, profile)\n let nextParticipantIndex = 1\n for (const study of profile.studies) {\n const participants = createParticipants(\n random,\n profile,\n study,\n nextParticipantIndex,\n )\n nextParticipantIndex += participants.length\n if (study.mapping === 'DATASET') {\n addDatasetStudy(builder, study, participants)\n } else {\n addFileStudy(builder, study, participants)\n }\n }\n return {\n profile,\n dataAttributeNames: [\n ...CORE_DATA_ATTRIBUTE_NAMES,\n ...profile.extraDataAttributeNames,\n ],\n references: builder.references,\n materialRows: builder.materialRows,\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mockAnnotationColumns.d.ts","sourceRoot":"","sources":["../../src/mocks/mockAnnotationColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAKzE,eAAO,MAAM,+BAA+B,EAAE,uBAc7C,CAAA"}
1
+ {"version":3,"file":"mockAnnotationColumns.d.ts","sourceRoot":"","sources":["../../src/mocks/mockAnnotationColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAKzE,eAAO,MAAM,+BAA+B,EAAE,uBAY7C,CAAA"}
@@ -4,7 +4,7 @@ import { isEqual as n, pick as r } from "lodash-es";
4
4
  //#region src/mocks/mockAnnotationColumns.ts
5
5
  var i = {
6
6
  concreteType: "org.sagebionetworks.repo.model.table.ViewColumnModelResponse",
7
- results: [...e.columnModels.filter((e) => !t.find((t) => n(r(t, ["name", "columnType"]), r(e, ["name", "columnType"]))))],
7
+ results: e.columnModels.filter((e) => !t.some((t) => n(r(t, ["name", "columnType"]), r(e, ["name", "columnType"])))),
8
8
  nextPageToken: null
9
9
  };
10
10
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"mockAnnotationColumns.js","names":[],"sources":["../../src/mocks/mockAnnotationColumns.ts"],"sourcesContent":["import { ViewColumnModelResponse } from '@sage-bionetworks/synapse-types'\nimport { isEqual, pick } from 'lodash-es'\nimport { mockQueryResultBundle } from './mockFileViewQuery'\nimport defaultFileViewColumnModels from './query/defaultFileViewColumnModels'\n\nexport const MOCK_ANNOTATION_COLUMN_RESPONSE: ViewColumnModelResponse = {\n concreteType: 'org.sagebionetworks.repo.model.table.ViewColumnModelResponse',\n results: [\n ...mockQueryResultBundle.columnModels.filter(\n cm =>\n !defaultFileViewColumnModels.find(defaultCm =>\n isEqual(\n pick(defaultCm, ['name', 'columnType']),\n pick(cm, ['name', 'columnType']),\n ),\n ),\n ),\n ],\n nextPageToken: null,\n}\n"],"mappings":";;;;AAKA,IAAa,IAA2D;CACtE,cAAc;CACd,SAAS,CACP,GAAG,EAAsB,aAAa,QACpC,MACE,CAAC,EAA4B,MAAK,MAChC,EACE,EAAK,GAAW,CAAC,QAAQ,YAAY,CAAC,GACtC,EAAK,GAAI,CAAC,QAAQ,YAAY,CAAC,CACjC,CACF,CACJ,CACF;CACA,eAAe;AACjB"}
1
+ {"version":3,"file":"mockAnnotationColumns.js","names":[],"sources":["../../src/mocks/mockAnnotationColumns.ts"],"sourcesContent":["import { ViewColumnModelResponse } from '@sage-bionetworks/synapse-types'\nimport { isEqual, pick } from 'lodash-es'\nimport { mockQueryResultBundle } from './mockFileViewQuery'\nimport defaultFileViewColumnModels from './query/defaultFileViewColumnModels'\n\nexport const MOCK_ANNOTATION_COLUMN_RESPONSE: ViewColumnModelResponse = {\n concreteType: 'org.sagebionetworks.repo.model.table.ViewColumnModelResponse',\n results: mockQueryResultBundle.columnModels.filter(\n cm =>\n !defaultFileViewColumnModels.some(defaultCm =>\n isEqual(\n pick(defaultCm, ['name', 'columnType']),\n pick(cm, ['name', 'columnType']),\n ),\n ),\n ),\n nextPageToken: null,\n}\n"],"mappings":";;;;AAKA,IAAa,IAA2D;CACtE,cAAc;CACd,SAAS,EAAsB,aAAa,QAC1C,MACE,CAAC,EAA4B,MAAK,MAChC,EACE,EAAK,GAAW,CAAC,QAAQ,YAAY,CAAC,GACtC,EAAK,GAAI,CAAC,QAAQ,YAAY,CAAC,CACjC,CACF,CACJ;CACA,eAAe;AACjB"}
@@ -1,4 +1,5 @@
1
1
  import { FairField } from '@/aridhia-queries/FairFormPayload';
2
+ import { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models';
2
3
  import { HttpHandler, JsonBodyType } from 'msw';
3
4
  export declare const MOCK_ARIDHIA_GATEWAY = "https://mock-gateway.test";
4
5
  export declare const MOCK_ARIDHIA_FAIR_PORTAL_URL = "https://mock-fair-portal.test";
@@ -53,6 +54,14 @@ export declare const MOCK_ARIDHIA_ABOUT_FIELDS: FairField[];
53
54
  export declare const MOCK_ARIDHIA_PROJECT_FIELDS: FairField[];
54
55
  export declare const MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS: FairField[];
55
56
  export declare function getAridhiaAuthenticateHandler(response?: object, status?: number): HttpHandler;
57
+ /**
58
+ * A `GET /fair/requests` list item covering `MOCK_ARIDHIA_DATASET_CODE`, created and last
59
+ * updated at `updatedAt`.
60
+ */
61
+ export declare function mockAridhiaRequestListItem(request: Pick<RequestListItem, 'code' | 'name' | 'status'> & {
62
+ updatedAt: string;
63
+ datasetCodes?: string[];
64
+ }): RequestListItem;
56
65
  export declare function getAridhiaRequestsHandler(items?: unknown[], errorResponse?: {
57
66
  status: number;
58
67
  body: object;
@@ -77,6 +86,14 @@ export declare function getAridhiaDictionariesHandler(items?: unknown[]): HttpHa
77
86
  export declare function getAridhiaWorkspaceLocationsHandler(items?: unknown[]): HttpHandler;
78
87
  export declare function getAridhiaWorkspacesHandler(items?: unknown[]): HttpHandler;
79
88
  export declare function getAridhiaCatalogueHandler(body?: JsonBodyType): HttpHandler;
89
+ export declare const MOCK_ARIDHIA_DAR_MESSAGE: {
90
+ code: string;
91
+ name: string;
92
+ grouping: string;
93
+ value: string;
94
+ };
95
+ /** Responds only to a request bearing the token that `getAridhiaAuthenticateHandler` issues. */
96
+ export declare function getAridhiaDarMessageHandler(body?: JsonBodyType, status?: number): HttpHandler;
80
97
  /**
81
98
  * `respond` receives the submitted body, so a test can both assert on it and choose the
82
99
  * response (success, or a failure to exercise the retry path).
@@ -1 +1 @@
1
- {"version":3,"file":"aridhiaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAC7D,OAAO,EAAQ,WAAW,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAA;AAEnE,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;CAK7C,CAAA;AAED,eAAO,MAAM,mCAAmC;;;CAG/C,CAAA;AAED,eAAO,MAAM,kCAAkC;;;CAG9C,CAAA;AAED,eAAO,MAAM,yBAAyB;;;GAGrC,CAAA;AAED,eAAO,MAAM,gCAAgC;;;GAE5C,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;CAIlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,EAahD,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,EAOlD,CAAA;AAED,eAAO,MAAM,kCAAkC,EAAE,SAAS,EAOzD,CAAA;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAA2C,EACrD,MAAM,SAAM,GACX,WAAW,CAIb;AAED,wBAAgB,yBAAyB,CACvC,KAAK,GAAE,OAAO,EAAO,EACrB,aAAa,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C,WAAW,CASb;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;CACtB,CAAM,GACN,WAAW,CAYb;AAED,wBAAgB,yBAAyB,CACvC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;CAAO,GAC1D,WAAW,CAab;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,GAAE,YAQL,GACA,WAAW,CAKb;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,GAAE,OAAO,EAA8B,GAC3C,WAAW,CAKb;AAED,wBAAgB,mCAAmC,CACjD,KAAK,GAAE,OAAO,EAAqC,GAClD,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,OAAO,EAA4B,GACzC,WAAW,CAKb;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,YAAqC,GAC1C,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAG,OAAO,EAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,GACjC,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,EAAE,CAW3D"}
1
+ {"version":3,"file":"aridhiaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAA;AACnF,OAAO,EAAQ,WAAW,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAA;AAEnE,eAAO,MAAM,oBAAoB,8BAA8B,CAAA;AAC/D,eAAO,MAAM,4BAA4B,kCAAkC,CAAA;AAC3E,eAAO,MAAM,yBAAyB,iBAAiB,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;CAK7C,CAAA;AAED,eAAO,MAAM,mCAAmC;;;CAG/C,CAAA;AAED,eAAO,MAAM,kCAAkC;;;CAG9C,CAAA;AAED,eAAO,MAAM,yBAAyB;;;GAGrC,CAAA;AAED,eAAO,MAAM,gCAAgC;;;GAE5C,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;CAIlC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,EAahD,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,SAAS,EAOlD,CAAA;AAED,eAAO,MAAM,kCAAkC,EAAE,SAAS,EAOzD,CAAA;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAA2C,EACrD,MAAM,SAAM,GACX,WAAW,CAIb;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,GACA,eAAe,CAYjB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,GAAE,OAAO,EAAO,EACrB,aAAa,CAAC,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C,WAAW,CASb;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;CACtB,CAAM,GACN,WAAW,CAYb;AAED,wBAAgB,yBAAyB,CACvC,MAAM,GAAE;IAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;CAAO,GAC1D,WAAW,CAab;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,GAAE,YAQL,GACA,WAAW,CAKb;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,GAAE,OAAO,EAA8B,GAC3C,WAAW,CAKb;AAED,wBAAgB,mCAAmC,CACjD,KAAK,GAAE,OAAO,EAAqC,GAClD,WAAW,CAKb;AAED,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,OAAO,EAA4B,GACzC,WAAW,CAKb;AAED,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,YAAqC,GAC1C,WAAW,CAKb;AAED,eAAO,MAAM,wBAAwB;;;;;CAMpC,CAAA;AAED,gGAAgG;AAChG,wBAAgB,2BAA2B,CACzC,IAAI,GAAE,YAAuC,EAC7C,MAAM,SAAM,GACX,WAAW,CASb;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,GAAG,OAAO,EAC5D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,GACjC,WAAW,CAKb;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,WAAW,EAAE,CAY3D"}
@@ -1,36 +1,37 @@
1
- import { HttpResponse as e, http as t } from "msw";
1
+ import { DAR_MESSAGE_VOCABULARY_CODE as e } from "../../../aridhia-queries/useGetAridhiaVocabularyTerm.js";
2
+ import { HttpResponse as t, http as n } from "msw";
2
3
  //#region src/mocks/msw/handlers/aridhiaHandlers.ts
3
- var n = "https://mock-gateway.test", r = "https://mock-fair-portal.test", i = "sdtm_als1003", a = {
4
+ var r = "https://mock-gateway.test", i = "https://mock-fair-portal.test", a = "sdtm_als1003", o = {
4
5
  status: 403,
5
6
  body: { error: {
6
7
  status: 403,
7
8
  message: "Not authorised for this operation"
8
9
  } }
9
- }, o = {
10
+ }, s = {
10
11
  subject_token_type: "urn:ietf:params:oauth:token-type:access_token",
11
12
  subject_token_issuer: "sage-prod"
12
- }, s = {
13
+ }, c = {
13
14
  access_token: "mock-aridhia-token",
14
15
  expires_in: 300
15
- }, c = [{
16
+ }, l = [{
16
17
  code: "dict_a",
17
18
  name: "Dictionary A"
18
19
  }, {
19
20
  code: "dict_b",
20
21
  name: "Dictionary B"
21
- }], l = [{
22
+ }], u = [{
22
23
  value: "uksouth",
23
24
  description: "UK South"
24
- }], u = [{
25
+ }], d = [{
25
26
  uuid: "ws-uuid-1",
26
27
  name: "My Workspace",
27
28
  location: "uksouth",
28
29
  url: "https://example.aridhia.com/workspaces/1"
29
- }], d = {
30
+ }], f = {
30
31
  title: "SDTM ALS Dataset",
31
32
  publisher: { name: "C-Path" },
32
33
  description: "A dataset"
33
- }, f = [{
34
+ }, p = [{
34
35
  name: "name",
35
36
  type: "string",
36
37
  label: "Your name",
@@ -40,42 +41,51 @@ var n = "https://mock-gateway.test", r = "https://mock-fair-portal.test", i = "s
40
41
  type: "string",
41
42
  label: "Email address",
42
43
  validation: { required: !0 }
43
- }], p = [{
44
+ }], m = [{
44
45
  name: "project_name",
45
46
  type: "string",
46
47
  label: "Project name",
47
48
  validation: { required: !0 }
48
- }], m = [{
49
+ }], h = [{
49
50
  name: "workspace_name",
50
51
  type: "string",
51
52
  label: "Workspace name",
52
53
  validation: { required: !0 }
53
54
  }];
54
- function h(r = s, i = 200) {
55
- return t.post(`${n}/authenticate`, () => e.json(r, { status: i }));
55
+ function g(e = c, i = 200) {
56
+ return n.post(`${r}/authenticate`, () => t.json(e, { status: i }));
56
57
  }
57
- function g(r = [], i) {
58
- return t.get(`${n}/fair/requests/`, () => i ? e.json(i.body, { status: i.status }) : e.json({
59
- items: r,
58
+ function _(e) {
59
+ let { updatedAt: t, datasetCodes: n = [a], ...r } = e;
60
+ return {
61
+ ...r,
62
+ datasets: n.map((e) => ({ code: e })),
63
+ created_at: t,
64
+ updated_at: t
65
+ };
66
+ }
67
+ function v(e = [], i) {
68
+ return n.get(`${r}/fair/requests/`, () => i ? t.json(i.body, { status: i.status }) : t.json({
69
+ items: e,
60
70
  paging: {
61
71
  page: 1,
62
72
  pageSize: 100,
63
- total: r.length
73
+ total: e.length
64
74
  }
65
75
  }));
66
76
  }
67
- function _(r = {}) {
68
- return t.get(`${n}/fair/datasets/${i}/settings`, () => e.json({
77
+ function y(e = {}) {
78
+ return n.get(`${r}/fair/datasets/${a}/settings`, () => t.json({
69
79
  workflow_key: "rdca_access_request",
70
80
  allow_clear: !0,
71
81
  allow_pseudonymised: !1,
72
82
  allow_manual: !1,
73
- ...r
83
+ ...e
74
84
  }));
75
85
  }
76
- function v(r = {}) {
77
- let { about: i = f, project: a = p } = r;
78
- return t.get(`${n}/fair/workflows/rdca_access_request`, () => e.json({
86
+ function b(e = {}) {
87
+ let { about: i = p, project: a = m } = e;
88
+ return n.get(`${r}/fair/workflows/rdca_access_request`, () => t.json({
79
89
  code: "rdca_access_request",
80
90
  fields: {
81
91
  about: i,
@@ -83,43 +93,53 @@ function v(r = {}) {
83
93
  }
84
94
  }));
85
95
  }
86
- function y(r = {
96
+ function x(e = {
87
97
  name: "Request a workspace",
88
98
  sections: { workspace: {
89
99
  label: "Workspace details",
90
- fields: m
100
+ fields: h
91
101
  } }
92
102
  }) {
93
- return t.get(`${n}/fair/workspaces-forms/workspace_request`, () => e.json(r));
103
+ return n.get(`${r}/fair/workspaces-forms/workspace_request`, () => t.json(e));
104
+ }
105
+ function S(e = l) {
106
+ return n.get(`${r}/fair/datasets/${a}/dictionaries/`, () => t.json({ items: e }));
94
107
  }
95
- function b(r = c) {
96
- return t.get(`${n}/fair/datasets/${i}/dictionaries/`, () => e.json({ items: r }));
108
+ function C(e = u) {
109
+ return n.get(`${r}/fair/datasets/${a}/workspaces-locations`, () => t.json({ items: e }));
97
110
  }
98
- function x(r = l) {
99
- return t.get(`${n}/fair/datasets/${i}/workspaces-locations`, () => e.json({ items: r }));
111
+ function w(e = d) {
112
+ return n.get(`${r}/fair/datasets/${a}/workspaces`, () => t.json({ items: e }));
100
113
  }
101
- function S(r = u) {
102
- return t.get(`${n}/fair/datasets/${i}/workspaces`, () => e.json({ items: r }));
114
+ function T(e = f) {
115
+ return n.get(`${r}/fair/datasets/${a}/catalogue`, () => t.json(e));
103
116
  }
104
- function C(r = d) {
105
- return t.get(`${n}/fair/datasets/${i}/catalogue`, () => e.json(r));
117
+ var E = {
118
+ code: e,
119
+ name: "Data Access Request Message",
120
+ grouping: "markdown",
121
+ value: "Thank you for your request. The review process is usually completed within 2-3 business weeks.\n\nIf approved, the signatory will receive a **Data Use Agreement (DUA)**."
122
+ };
123
+ function D(i = E, a = 200) {
124
+ return n.get(`${r}/fair/vocabularies/${e}`, ({ request: e }) => e.headers.get("Authorization") === `Bearer ${c.access_token}` ? t.json(i, { status: a }) : t.json({ error: "invalid_token" }, { status: 401 }));
106
125
  }
107
- function w(e) {
108
- return t.post(`${n}/fair/requests/`, async ({ request: t }) => e(await t.json()));
126
+ function O(e) {
127
+ return n.post(`${r}/fair/requests/`, async ({ request: t }) => e(await t.json()));
109
128
  }
110
- function T() {
129
+ function k() {
111
130
  return [
112
- h(),
113
- _(),
114
- v(),
131
+ g(),
115
132
  y(),
116
133
  b(),
117
134
  x(),
118
135
  S(),
119
- C()
136
+ C(),
137
+ w(),
138
+ T(),
139
+ D()
120
140
  ];
121
141
  }
122
142
  //#endregion
123
- export { f as MOCK_ARIDHIA_ABOUT_FIELDS, s as MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE, o as MOCK_ARIDHIA_AUTHENTICATION_REQUEST, d as MOCK_ARIDHIA_CATALOGUE, i as MOCK_ARIDHIA_DATASET_CODE, c as MOCK_ARIDHIA_DICTIONARIES, r as MOCK_ARIDHIA_FAIR_PORTAL_URL, n as MOCK_ARIDHIA_GATEWAY, a as MOCK_ARIDHIA_NOT_AUTHORIZED_ERROR, p as MOCK_ARIDHIA_PROJECT_FIELDS, u as MOCK_ARIDHIA_WORKSPACES, m as MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS, l as MOCK_ARIDHIA_WORKSPACE_LOCATIONS, h as getAridhiaAuthenticateHandler, C as getAridhiaCatalogueHandler, T as getAridhiaDarWizardHandlers, _ as getAridhiaDatasetSettingsHandler, b as getAridhiaDictionariesHandler, g as getAridhiaRequestsHandler, w as getAridhiaSubmitRequestHandler, v as getAridhiaWorkflowHandler, x as getAridhiaWorkspaceLocationsHandler, y as getAridhiaWorkspaceRequestFormHandler, S as getAridhiaWorkspacesHandler };
143
+ export { p as MOCK_ARIDHIA_ABOUT_FIELDS, c as MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE, s as MOCK_ARIDHIA_AUTHENTICATION_REQUEST, f as MOCK_ARIDHIA_CATALOGUE, E as MOCK_ARIDHIA_DAR_MESSAGE, a as MOCK_ARIDHIA_DATASET_CODE, l as MOCK_ARIDHIA_DICTIONARIES, i as MOCK_ARIDHIA_FAIR_PORTAL_URL, r as MOCK_ARIDHIA_GATEWAY, o as MOCK_ARIDHIA_NOT_AUTHORIZED_ERROR, m as MOCK_ARIDHIA_PROJECT_FIELDS, d as MOCK_ARIDHIA_WORKSPACES, h as MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS, u as MOCK_ARIDHIA_WORKSPACE_LOCATIONS, g as getAridhiaAuthenticateHandler, T as getAridhiaCatalogueHandler, D as getAridhiaDarMessageHandler, k as getAridhiaDarWizardHandlers, y as getAridhiaDatasetSettingsHandler, S as getAridhiaDictionariesHandler, v as getAridhiaRequestsHandler, O as getAridhiaSubmitRequestHandler, b as getAridhiaWorkflowHandler, C as getAridhiaWorkspaceLocationsHandler, x as getAridhiaWorkspaceRequestFormHandler, w as getAridhiaWorkspacesHandler, _ as mockAridhiaRequestListItem };
124
144
 
125
145
  //# sourceMappingURL=aridhiaHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aridhiaHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"sourcesContent":["import { FairField } from '@/aridhia-queries/FairFormPayload'\nimport { http, HttpHandler, HttpResponse, JsonBodyType } from 'msw'\n\nexport const MOCK_ARIDHIA_GATEWAY = 'https://mock-gateway.test'\nexport const MOCK_ARIDHIA_FAIR_PORTAL_URL = 'https://mock-fair-portal.test'\nexport const MOCK_ARIDHIA_DATASET_CODE = 'sdtm_als1003'\n\n/**\n * The FAIR API's 403 response for a Synapse-authenticated user with no linked RDCA-DAP\n * account. Distinct from the gateway's own `/authenticate` OAuth-error envelope.\n */\nexport const MOCK_ARIDHIA_NOT_AUTHORIZED_ERROR = {\n status: 403,\n body: {\n error: { status: 403, message: 'Not authorised for this operation' },\n },\n}\n\nexport const MOCK_ARIDHIA_AUTHENTICATION_REQUEST = {\n subject_token_type: 'urn:ietf:params:oauth:token-type:access_token',\n subject_token_issuer: 'sage-prod',\n}\n\nexport const MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE = {\n access_token: 'mock-aridhia-token',\n expires_in: 300,\n}\n\nexport const MOCK_ARIDHIA_DICTIONARIES = [\n { code: 'dict_a', name: 'Dictionary A' },\n { code: 'dict_b', name: 'Dictionary B' },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACE_LOCATIONS = [\n { value: 'uksouth', description: 'UK South' },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACES = [\n {\n uuid: 'ws-uuid-1',\n name: 'My Workspace',\n location: 'uksouth',\n url: 'https://example.aridhia.com/workspaces/1',\n },\n]\n\nexport const MOCK_ARIDHIA_CATALOGUE = {\n title: 'SDTM ALS Dataset',\n publisher: { name: 'C-Path' },\n description: 'A dataset',\n}\n\n/**\n * Every FAIR form field carries a `label`, as real gateway payloads do, so that UI built from\n * these fixtures is reachable by its accessible name.\n */\nexport const MOCK_ARIDHIA_ABOUT_FIELDS: FairField[] = [\n {\n name: 'name',\n type: 'string',\n label: 'Your name',\n validation: { required: true },\n },\n {\n name: 'email',\n type: 'string',\n label: 'Email address',\n validation: { required: true },\n },\n]\n\nexport const MOCK_ARIDHIA_PROJECT_FIELDS: FairField[] = [\n {\n name: 'project_name',\n type: 'string',\n label: 'Project name',\n validation: { required: true },\n },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS: FairField[] = [\n {\n name: 'workspace_name',\n type: 'string',\n label: 'Workspace name',\n validation: { required: true },\n },\n]\n\nexport function getAridhiaAuthenticateHandler(\n response: object = MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE,\n status = 200,\n): HttpHandler {\n return http.post(`${MOCK_ARIDHIA_GATEWAY}/authenticate`, () =>\n HttpResponse.json(response, { status }),\n )\n}\n\nexport function getAridhiaRequestsHandler(\n items: unknown[] = [],\n errorResponse?: { status: number; body: object },\n): HttpHandler {\n return http.get(`${MOCK_ARIDHIA_GATEWAY}/fair/requests/`, () =>\n errorResponse\n ? HttpResponse.json(errorResponse.body, { status: errorResponse.status })\n : HttpResponse.json({\n items,\n paging: { page: 1, pageSize: 100, total: items.length },\n }),\n )\n}\n\nexport function getAridhiaDatasetSettingsHandler(\n overrides: Partial<{\n allow_clear: boolean\n allow_pseudonymised: boolean\n allow_manual: boolean\n }> = {},\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/settings`,\n () =>\n HttpResponse.json({\n workflow_key: 'rdca_access_request',\n allow_clear: true,\n allow_pseudonymised: false,\n allow_manual: false,\n ...overrides,\n }),\n )\n}\n\nexport function getAridhiaWorkflowHandler(\n fields: { about?: FairField[]; project?: FairField[] } = {},\n): HttpHandler {\n const {\n about = MOCK_ARIDHIA_ABOUT_FIELDS,\n project = MOCK_ARIDHIA_PROJECT_FIELDS,\n } = fields\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/workflows/rdca_access_request`,\n () =>\n HttpResponse.json({\n code: 'rdca_access_request',\n fields: { about, project },\n }),\n )\n}\n\n/**\n * `body` defaults to the shape confirmed against a real gateway capture: `GET\n * /workspaces-forms/{code}` returns the form object directly, not wrapped in the `items`\n * envelope its OpenAPI spec documents. See `useGetAridhiaWorkspaceRequestForm`. Pass a body to\n * exercise a different payload shape or field set.\n */\nexport function getAridhiaWorkspaceRequestFormHandler(\n body: JsonBodyType = {\n name: 'Request a workspace',\n sections: {\n workspace: {\n label: 'Workspace details',\n fields: MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS,\n },\n },\n },\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/workspaces-forms/workspace_request`,\n () => HttpResponse.json(body),\n )\n}\n\nexport function getAridhiaDictionariesHandler(\n items: unknown[] = MOCK_ARIDHIA_DICTIONARIES,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/dictionaries/`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaWorkspaceLocationsHandler(\n items: unknown[] = MOCK_ARIDHIA_WORKSPACE_LOCATIONS,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/workspaces-locations`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaWorkspacesHandler(\n items: unknown[] = MOCK_ARIDHIA_WORKSPACES,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/workspaces`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaCatalogueHandler(\n body: JsonBodyType = MOCK_ARIDHIA_CATALOGUE,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/catalogue`,\n () => HttpResponse.json(body),\n )\n}\n\n/**\n * `respond` receives the submitted body, so a test can both assert on it and choose the\n * response (success, or a failure to exercise the retry path).\n */\nexport function getAridhiaSubmitRequestHandler<TBody = unknown>(\n respond: (body: TBody) => Response,\n): HttpHandler {\n return http.post(\n `${MOCK_ARIDHIA_GATEWAY}/fair/requests/`,\n async ({ request }) => respond((await request.json()) as TBody),\n )\n}\n\n/**\n * Everything the DAR wizard fetches to reach its first step and run through to submission,\n * excluding the submission itself — see `getAridhiaSubmitRequestHandler`.\n */\nexport function getAridhiaDarWizardHandlers(): HttpHandler[] {\n return [\n getAridhiaAuthenticateHandler(),\n getAridhiaDatasetSettingsHandler(),\n getAridhiaWorkflowHandler(),\n getAridhiaWorkspaceRequestFormHandler(),\n getAridhiaDictionariesHandler(),\n getAridhiaWorkspaceLocationsHandler(),\n getAridhiaWorkspacesHandler(),\n getAridhiaCatalogueHandler(),\n ]\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"aridhiaHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/aridhiaHandlers.ts"],"sourcesContent":["import { FairField } from '@/aridhia-queries/FairFormPayload'\nimport { DAR_MESSAGE_VOCABULARY_CODE } from '@/aridhia-queries/useGetAridhiaVocabularyTerm'\nimport { RequestListItem } from '@sage-bionetworks/aridhia-client/generated/models'\nimport { http, HttpHandler, HttpResponse, JsonBodyType } from 'msw'\n\nexport const MOCK_ARIDHIA_GATEWAY = 'https://mock-gateway.test'\nexport const MOCK_ARIDHIA_FAIR_PORTAL_URL = 'https://mock-fair-portal.test'\nexport const MOCK_ARIDHIA_DATASET_CODE = 'sdtm_als1003'\n\n/**\n * The FAIR API's 403 response for a Synapse-authenticated user with no linked RDCA-DAP\n * account. Distinct from the gateway's own `/authenticate` OAuth-error envelope.\n */\nexport const MOCK_ARIDHIA_NOT_AUTHORIZED_ERROR = {\n status: 403,\n body: {\n error: { status: 403, message: 'Not authorised for this operation' },\n },\n}\n\nexport const MOCK_ARIDHIA_AUTHENTICATION_REQUEST = {\n subject_token_type: 'urn:ietf:params:oauth:token-type:access_token',\n subject_token_issuer: 'sage-prod',\n}\n\nexport const MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE = {\n access_token: 'mock-aridhia-token',\n expires_in: 300,\n}\n\nexport const MOCK_ARIDHIA_DICTIONARIES = [\n { code: 'dict_a', name: 'Dictionary A' },\n { code: 'dict_b', name: 'Dictionary B' },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACE_LOCATIONS = [\n { value: 'uksouth', description: 'UK South' },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACES = [\n {\n uuid: 'ws-uuid-1',\n name: 'My Workspace',\n location: 'uksouth',\n url: 'https://example.aridhia.com/workspaces/1',\n },\n]\n\nexport const MOCK_ARIDHIA_CATALOGUE = {\n title: 'SDTM ALS Dataset',\n publisher: { name: 'C-Path' },\n description: 'A dataset',\n}\n\n/**\n * Every FAIR form field carries a `label`, as real gateway payloads do, so that UI built from\n * these fixtures is reachable by its accessible name.\n */\nexport const MOCK_ARIDHIA_ABOUT_FIELDS: FairField[] = [\n {\n name: 'name',\n type: 'string',\n label: 'Your name',\n validation: { required: true },\n },\n {\n name: 'email',\n type: 'string',\n label: 'Email address',\n validation: { required: true },\n },\n]\n\nexport const MOCK_ARIDHIA_PROJECT_FIELDS: FairField[] = [\n {\n name: 'project_name',\n type: 'string',\n label: 'Project name',\n validation: { required: true },\n },\n]\n\nexport const MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS: FairField[] = [\n {\n name: 'workspace_name',\n type: 'string',\n label: 'Workspace name',\n validation: { required: true },\n },\n]\n\nexport function getAridhiaAuthenticateHandler(\n response: object = MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE,\n status = 200,\n): HttpHandler {\n return http.post(`${MOCK_ARIDHIA_GATEWAY}/authenticate`, () =>\n HttpResponse.json(response, { status }),\n )\n}\n\n/**\n * A `GET /fair/requests` list item covering `MOCK_ARIDHIA_DATASET_CODE`, created and last\n * updated at `updatedAt`.\n */\nexport function mockAridhiaRequestListItem(\n request: Pick<RequestListItem, 'code' | 'name' | 'status'> & {\n updatedAt: string\n datasetCodes?: string[]\n },\n): RequestListItem {\n const {\n updatedAt,\n datasetCodes = [MOCK_ARIDHIA_DATASET_CODE],\n ...fields\n } = request\n return {\n ...fields,\n datasets: datasetCodes.map(code => ({ code })),\n created_at: updatedAt,\n updated_at: updatedAt,\n }\n}\n\nexport function getAridhiaRequestsHandler(\n items: unknown[] = [],\n errorResponse?: { status: number; body: object },\n): HttpHandler {\n return http.get(`${MOCK_ARIDHIA_GATEWAY}/fair/requests/`, () =>\n errorResponse\n ? HttpResponse.json(errorResponse.body, { status: errorResponse.status })\n : HttpResponse.json({\n items,\n paging: { page: 1, pageSize: 100, total: items.length },\n }),\n )\n}\n\nexport function getAridhiaDatasetSettingsHandler(\n overrides: Partial<{\n allow_clear: boolean\n allow_pseudonymised: boolean\n allow_manual: boolean\n }> = {},\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/settings`,\n () =>\n HttpResponse.json({\n workflow_key: 'rdca_access_request',\n allow_clear: true,\n allow_pseudonymised: false,\n allow_manual: false,\n ...overrides,\n }),\n )\n}\n\nexport function getAridhiaWorkflowHandler(\n fields: { about?: FairField[]; project?: FairField[] } = {},\n): HttpHandler {\n const {\n about = MOCK_ARIDHIA_ABOUT_FIELDS,\n project = MOCK_ARIDHIA_PROJECT_FIELDS,\n } = fields\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/workflows/rdca_access_request`,\n () =>\n HttpResponse.json({\n code: 'rdca_access_request',\n fields: { about, project },\n }),\n )\n}\n\n/**\n * `body` defaults to the shape confirmed against a real gateway capture: `GET\n * /workspaces-forms/{code}` returns the form object directly, not wrapped in the `items`\n * envelope its OpenAPI spec documents. See `useGetAridhiaWorkspaceRequestForm`. Pass a body to\n * exercise a different payload shape or field set.\n */\nexport function getAridhiaWorkspaceRequestFormHandler(\n body: JsonBodyType = {\n name: 'Request a workspace',\n sections: {\n workspace: {\n label: 'Workspace details',\n fields: MOCK_ARIDHIA_WORKSPACE_FORM_FIELDS,\n },\n },\n },\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/workspaces-forms/workspace_request`,\n () => HttpResponse.json(body),\n )\n}\n\nexport function getAridhiaDictionariesHandler(\n items: unknown[] = MOCK_ARIDHIA_DICTIONARIES,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/dictionaries/`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaWorkspaceLocationsHandler(\n items: unknown[] = MOCK_ARIDHIA_WORKSPACE_LOCATIONS,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/workspaces-locations`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaWorkspacesHandler(\n items: unknown[] = MOCK_ARIDHIA_WORKSPACES,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/workspaces`,\n () => HttpResponse.json({ items }),\n )\n}\n\nexport function getAridhiaCatalogueHandler(\n body: JsonBodyType = MOCK_ARIDHIA_CATALOGUE,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/datasets/${MOCK_ARIDHIA_DATASET_CODE}/catalogue`,\n () => HttpResponse.json(body),\n )\n}\n\nexport const MOCK_ARIDHIA_DAR_MESSAGE = {\n code: DAR_MESSAGE_VOCABULARY_CODE,\n name: 'Data Access Request Message',\n grouping: 'markdown',\n value:\n 'Thank you for your request. The review process is usually completed within 2-3 business weeks.\\n\\nIf approved, the signatory will receive a **Data Use Agreement (DUA)**.',\n}\n\n/** Responds only to a request bearing the token that `getAridhiaAuthenticateHandler` issues. */\nexport function getAridhiaDarMessageHandler(\n body: JsonBodyType = MOCK_ARIDHIA_DAR_MESSAGE,\n status = 200,\n): HttpHandler {\n return http.get(\n `${MOCK_ARIDHIA_GATEWAY}/fair/vocabularies/${DAR_MESSAGE_VOCABULARY_CODE}`,\n ({ request }) =>\n request.headers.get('Authorization') ===\n `Bearer ${MOCK_ARIDHIA_ACCESS_TOKEN_RESPONSE.access_token}`\n ? HttpResponse.json(body, { status })\n : HttpResponse.json({ error: 'invalid_token' }, { status: 401 }),\n )\n}\n\n/**\n * `respond` receives the submitted body, so a test can both assert on it and choose the\n * response (success, or a failure to exercise the retry path).\n */\nexport function getAridhiaSubmitRequestHandler<TBody = unknown>(\n respond: (body: TBody) => Response,\n): HttpHandler {\n return http.post(\n `${MOCK_ARIDHIA_GATEWAY}/fair/requests/`,\n async ({ request }) => respond((await request.json()) as TBody),\n )\n}\n\n/**\n * Everything the DAR wizard fetches to reach its first step and run through to submission,\n * excluding the submission itself — see `getAridhiaSubmitRequestHandler`.\n */\nexport function getAridhiaDarWizardHandlers(): HttpHandler[] {\n return [\n getAridhiaAuthenticateHandler(),\n getAridhiaDatasetSettingsHandler(),\n getAridhiaWorkflowHandler(),\n getAridhiaWorkspaceRequestFormHandler(),\n getAridhiaDictionariesHandler(),\n getAridhiaWorkspaceLocationsHandler(),\n getAridhiaWorkspacesHandler(),\n getAridhiaCatalogueHandler(),\n getAridhiaDarMessageHandler(),\n ]\n}\n"],"mappings":"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"}
@@ -1,9 +1,28 @@
1
1
  import { AsynchronousRequestBody, ErrorResponse } from '@sage-bionetworks/synapse-client';
2
2
  import { DefaultBodyType, HttpHandler } from 'msw';
3
+ /**
4
+ * A dispatch result that makes a mocked job FAIL: the job status reports `FAILED`
5
+ * and the job's response endpoint returns `body` with the given HTTP `status`.
6
+ */
7
+ export declare class AsyncJobFailure {
8
+ readonly status: number;
9
+ /** An ErrorResponse or one of its subtypes, e.g. BelowThresholdErrorResponse. */
10
+ readonly body: {
11
+ concreteType: string;
12
+ reason?: string;
13
+ };
14
+ constructor(status: number,
15
+ /** An ErrorResponse or one of its subtypes, e.g. BelowThresholdErrorResponse. */
16
+ body: {
17
+ concreteType: string;
18
+ reason?: string;
19
+ });
20
+ }
21
+ type AsyncJobResult = DefaultBodyType | ErrorResponse | AsyncJobFailure;
3
22
  /**
4
23
  * Maps a job request's `concreteType` to a function producing that job's response body.
5
24
  */
6
- export type AsynchronousJobDispatch = Record<string, (request: AsynchronousRequestBody) => DefaultBodyType | ErrorResponse>;
25
+ export type AsynchronousJobDispatch = Record<string, (request: AsynchronousRequestBody) => AsyncJobResult>;
7
26
  /**
8
27
  * Build a single-entry `AsynchronousJobDispatch` for one `concreteType`, narrowing `handler`'s
9
28
  * request parameter to that type's variant of `AsynchronousRequestBody` so callers never have to
@@ -11,7 +30,7 @@ export type AsynchronousJobDispatch = Record<string, (request: AsynchronousReque
11
30
  */
12
31
  export declare function dispatchEntry<T extends AsynchronousRequestBody['concreteType']>(concreteType: T, handler: (request: Extract<AsynchronousRequestBody, {
13
32
  concreteType: T;
14
- }>) => DefaultBodyType | ErrorResponse): AsynchronousJobDispatch;
33
+ }>) => AsyncJobResult): AsynchronousJobDispatch;
15
34
  /**
16
35
  * A dedicated async service-specific start/get path pair.
17
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"asyncJobHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uBAAuB,EACvB,aAAa,EACd,MAAM,kCAAkC,CAAA;AAMzC,OAAO,EAAE,eAAe,EAAQ,WAAW,EAAgB,MAAM,KAAK,CAAA;AAiBtE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,MAAM,EACN,CAAC,OAAO,EAAE,uBAAuB,KAAK,eAAe,GAAG,aAAa,CACtE,CAAA;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,uBAAuB,CAAC,cAAc,CAAC,EAEjD,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,CACP,OAAO,EAAE,OAAO,CAAC,uBAAuB,EAAE;IAAE,YAAY,EAAE,CAAC,CAAA;CAAE,CAAC,KAC3D,eAAe,GAAG,aAAa,GACnC,uBAAuB,CAKzB;AAED;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,GAAE;IACP,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qCAAqC,CAAC,EAAE,MAAM,CAAA;CAC1C,GACL,WAAW,EAAE,CA0Hf"}
1
+ {"version":3,"file":"asyncJobHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,uBAAuB,EACvB,aAAa,EACd,MAAM,kCAAkC,CAAA;AAMzC,OAAO,EAAE,eAAe,EAAQ,WAAW,EAAgB,MAAM,KAAK,CAAA;AAGtE;;;GAGG;AACH,qBAAa,eAAe;IAExB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;gBAF/C,MAAM,EAAE,MAAM;IACvB,iFAAiF;IACxE,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAE3D;AAED,KAAK,cAAc,GAAG,eAAe,GAAG,aAAa,GAAG,eAAe,CAAA;AAgBvE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,MAAM,EACN,CAAC,OAAO,EAAE,uBAAuB,KAAK,cAAc,CACrD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,SAAS,uBAAuB,CAAC,cAAc,CAAC,EAEjD,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,CACP,OAAO,EAAE,OAAO,CAAC,uBAAuB,EAAE;IAAE,YAAY,EAAE,CAAC,CAAA;CAAE,CAAC,KAC3D,cAAc,GAClB,uBAAuB,CAKzB;AAED;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7C,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,GAAE;IACP,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qCAAqC,CAAC,EAAE,MAAM,CAAA;CAC1C,GACL,WAAW,EAAE,CA6Hf"}
@@ -3,42 +3,48 @@ import { ASYNCHRONOUS_JOB as n, ASYNCHRONOUS_JOB_TOKEN as r } from "../../../uti
3
3
  import i from "../util/BasicMockedCrudService.js";
4
4
  import { HttpResponse as a, http as o } from "msw";
5
5
  //#region src/mocks/msw/handlers/asyncJobHandlers.ts
6
- var s = new i({
6
+ var s = class {
7
+ status;
8
+ body;
9
+ constructor(e, t) {
10
+ this.status = e, this.body = t;
11
+ }
12
+ }, c = new i({
7
13
  idField: "id",
8
14
  autoGenerateId: !0
9
15
  });
10
- function c(e, t) {
16
+ function l(e, t) {
11
17
  return { [e]: (e) => t(e) };
12
18
  }
13
- function l(i, c = {}) {
14
- let { asyncTypeServicePaths: l, backendOrigin: u = t(e.REPO_ENDPOINT), serviceSpecificEndpointResponseStatus: d = 201 } = c;
15
- if (l && Object.keys(i).length !== 1) throw Error("generateAsyncJobHandlers: asyncTypeServicePaths requires exactly one dispatch entry, since the dedicated path already disambiguates the job type.");
16
- let f = d < 400 ? "COMPLETE" : "FAILED";
17
- function p(e) {
19
+ function u(i, l = {}) {
20
+ let { asyncTypeServicePaths: u, backendOrigin: d = t(e.REPO_ENDPOINT), serviceSpecificEndpointResponseStatus: f = 201 } = l;
21
+ if (u && Object.keys(i).length !== 1) throw Error("generateAsyncJobHandlers: asyncTypeServicePaths requires exactly one dispatch entry, since the dedicated path already disambiguates the job type.");
22
+ let p = f < 400 ? "COMPLETE" : "FAILED";
23
+ function m(e) {
18
24
  let t = i[e.concreteType];
19
25
  if (!t) throw Error(`generateAsyncJobHandlers: unsupported concreteType "${e.concreteType}"`);
20
26
  return t(e);
21
27
  }
22
- let m = l?.requestPath ?? n, h = [o.post(`${u}${m}`, async ({ request: e }) => {
23
- let t = await e.json(), n = s.create({
28
+ let h = u?.requestPath ?? n, g = [o.post(`${d}${h}`, async ({ request: e }) => {
29
+ let t = await e.json(), n = c.create({
24
30
  request: t,
25
- response: p(t)
26
- }), r = l ? { token: n.id } : {
31
+ response: m(t)
32
+ }), r = u ? { token: n.id } : {
27
33
  jobId: n.id,
28
34
  jobState: "PROCESSING"
29
35
  };
30
36
  return a.json(r, { status: 201 });
31
- }), o.get(`${u}${r(":id")}`, ({ params: e }) => {
32
- let t = e.id, n = s.getOneById(t);
37
+ }), o.get(`${d}${r(":id")}`, ({ params: e }) => {
38
+ let t = e.id, n = c.getOneById(t);
33
39
  if (!t || !n) return a.json({ message: "The mocked asynchronous job was not found" }, { status: 404 });
34
- let { request: r, response: i } = n;
40
+ let { request: r, response: i } = n, o = i instanceof s ? i : null;
35
41
  return a.json({
36
- jobState: f,
42
+ jobState: o ? "FAILED" : p,
37
43
  jobCanceling: !1,
38
44
  requestBody: r,
39
45
  etag: "00000000-0000-0000-0000-000000000000",
40
46
  jobId: t,
41
- responseBody: i,
47
+ responseBody: o ? void 0 : i,
42
48
  startedByUserId: 0,
43
49
  startedOn: "",
44
50
  changedOn: "",
@@ -46,17 +52,19 @@ function l(i, c = {}) {
46
52
  progressCurrent: 100,
47
53
  progressTotal: 100,
48
54
  exception: "",
49
- errorMessage: "",
55
+ errorMessage: o?.body.reason ?? "",
50
56
  errorDetails: "",
51
57
  runtimeMS: 100
52
58
  }, { status: 200 });
53
59
  })];
54
- return l && h.push(o.get(`${u}${l.responsePath(":asyncJobToken")}`, ({ params: e }) => {
55
- let t = e.asyncJobToken, n = s.getOneById(t);
56
- return !t || !n ? a.json({ message: "The mocked asynchronous job was not found" }, { status: 404 }) : a.json(n.response, { status: d });
57
- })), h;
60
+ return u && g.push(o.get(`${d}${u.responsePath(":asyncJobToken")}`, ({ params: e }) => {
61
+ let t = e.asyncJobToken, n = c.getOneById(t);
62
+ if (!t || !n) return a.json({ message: "The mocked asynchronous job was not found" }, { status: 404 });
63
+ let { response: r } = n;
64
+ return r instanceof s ? a.json(r.body, { status: r.status }) : a.json(r, { status: f });
65
+ })), g;
58
66
  }
59
67
  //#endregion
60
- export { c as dispatchEntry, l as generateAsyncJobHandlers };
68
+ export { s as AsyncJobFailure, l as dispatchEntry, u as generateAsyncJobHandlers };
61
69
 
62
70
  //# sourceMappingURL=asyncJobHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asyncJobHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"sourcesContent":["import { ASYNCHRONOUS_JOB, ASYNCHRONOUS_JOB_TOKEN } from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n AsynchronousRequestBody,\n ErrorResponse,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AsynchJobState,\n AsynchronousJobStatus,\n AsyncJobId,\n} from '@sage-bionetworks/synapse-types'\nimport { DefaultBodyType, http, HttpHandler, HttpResponse } from 'msw'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\ntype AsyncJobDetails = {\n id: string\n request: AsynchronousRequestBody\n response: DefaultBodyType | ErrorResponse\n}\n\nconst mockAsynchronousJobService = new BasicMockedCrudService<\n AsyncJobDetails,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\n/**\n * Maps a job request's `concreteType` to a function producing that job's response body.\n */\nexport type AsynchronousJobDispatch = Record<\n string,\n (request: AsynchronousRequestBody) => DefaultBodyType | ErrorResponse\n>\n\n/**\n * Build a single-entry `AsynchronousJobDispatch` for one `concreteType`, narrowing `handler`'s\n * request parameter to that type's variant of `AsynchronousRequestBody` so callers never have to\n * re-cast the generic request themselves.\n */\nexport function dispatchEntry<\n T extends AsynchronousRequestBody['concreteType'],\n>(\n concreteType: T,\n handler: (\n request: Extract<AsynchronousRequestBody, { concreteType: T }>,\n ) => DefaultBodyType | ErrorResponse,\n): AsynchronousJobDispatch {\n return {\n [concreteType]: request =>\n handler(request as Extract<AsynchronousRequestBody, { concreteType: T }>),\n }\n}\n\n/**\n * A dedicated async service-specific start/get path pair.\n */\ntype AsyncTypeServicePaths = {\n requestPath: string\n responsePath: (tokenParam: string) => string\n}\n\n/**\n * Generates MSW handlers for asynchronous jobs, dispatching by request `concreteType`.\n *\n * By default, registers the generic endpoint pair used by every job type dispatched through\n * `postRepoV1AsynchronousJob`/`getRepoV1AsynchronousJobJobId`\n * (`POST /repo/v1/asynchronous/job` + `GET /repo/v1/asynchronous/job/{jobId}`). Callers that need\n * to support more than one `concreteType` in the same test/story MUST merge their entries into a\n * single `dispatch` map and call this once.\n *\n * @param dispatch maps each supported request `concreteType` to a function producing that job's response body\n * @param options.asyncTypeServicePaths registers a dedicated start/get path pair instead of the generic endpoint; see {@link AsyncTypeServicePaths}\n * @param options.backendOrigin the backend origin to use for the handlers\n * @param options.serviceSpecificEndpointResponseStatus the status code for the dedicated response path (`asyncTypeServicePaths` only); also determines whether both GET endpoints report `COMPLETE` or `FAILED`\n */\nexport function generateAsyncJobHandlers(\n dispatch: AsynchronousJobDispatch,\n options: {\n asyncTypeServicePaths?: AsyncTypeServicePaths\n backendOrigin?: string\n serviceSpecificEndpointResponseStatus?: number\n } = {},\n): HttpHandler[] {\n const {\n asyncTypeServicePaths,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n serviceSpecificEndpointResponseStatus = 201,\n } = options\n\n if (asyncTypeServicePaths && Object.keys(dispatch).length !== 1) {\n throw new Error(\n 'generateAsyncJobHandlers: asyncTypeServicePaths requires exactly one dispatch entry, since the dedicated path already disambiguates the job type.',\n )\n }\n\n const jobState: AsynchJobState =\n serviceSpecificEndpointResponseStatus < 400 ? 'COMPLETE' : 'FAILED'\n\n function resolveResponse(\n body: AsynchronousRequestBody,\n ): DefaultBodyType | ErrorResponse {\n const handler = dispatch[body.concreteType]\n if (!handler) {\n throw new Error(\n `generateAsyncJobHandlers: unsupported concreteType \"${body.concreteType}\"`,\n )\n }\n return handler(body)\n }\n\n const requestPath = asyncTypeServicePaths?.requestPath ?? ASYNCHRONOUS_JOB\n\n const handlers: HttpHandler[] = [\n // Handler for the asynchronous job request endpoint.\n http.post(`${backendOrigin}${requestPath}`, async ({ request }) => {\n const body = (await request.json()) as AsynchronousRequestBody\n const createdJob = mockAsynchronousJobService.create({\n request: body,\n response: resolveResponse(body),\n })\n\n // The generic endpoint's response is a full AsynchronousJobStatus (read via `.jobId`).\n // The per-service endpoints respond with an AsyncJobId (read via `.token`).\n const responseBody:\n | AsyncJobId\n | Partial<\n AsynchronousJobStatus<AsynchronousRequestBody, DefaultBodyType>\n > = asyncTypeServicePaths\n ? { token: createdJob.id }\n : { jobId: createdJob.id, jobState: 'PROCESSING' }\n\n return HttpResponse.json(responseBody, { status: 201 })\n }),\n\n // Generic async job response handler. Since this implementation is the same for all services and references the global map, it's fine if this is overridden.\n http.get(\n `${backendOrigin}${ASYNCHRONOUS_JOB_TOKEN(':id')}`,\n ({ params }) => {\n const id = params.id as string\n const asyncJobDetails = mockAsynchronousJobService.getOneById(id)\n if (!id || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n const { request, response } = asyncJobDetails\n\n return HttpResponse.json<\n AsynchronousJobStatus<AsynchronousRequestBody, DefaultBodyType>\n >(\n {\n jobState,\n jobCanceling: false,\n requestBody: request,\n etag: '00000000-0000-0000-0000-000000000000',\n jobId: id,\n responseBody: response as DefaultBodyType,\n startedByUserId: 0,\n startedOn: '',\n changedOn: '',\n progressMessage: '',\n progressCurrent: 100,\n progressTotal: 100,\n exception: '',\n errorMessage: '',\n errorDetails: '',\n runtimeMS: 100,\n },\n {\n // This endpoint returns a successful status code regardless of the job status\n status: 200,\n },\n )\n },\n ),\n ]\n\n if (asyncTypeServicePaths) {\n // Dedicated service-specific response endpoint, polled directly by type-specific services instead of\n // the generic async job response handler above.\n handlers.push(\n http.get<{ asyncJobToken: string }>(\n `${backendOrigin}${asyncTypeServicePaths.responsePath(':asyncJobToken')}`,\n ({ params }) => {\n const asyncJobToken = params.asyncJobToken\n const asyncJobDetails =\n mockAsynchronousJobService.getOneById(asyncJobToken)\n if (!asyncJobToken || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n\n return HttpResponse.json(asyncJobDetails.response, {\n status: serviceSpecificEndpointResponseStatus,\n })\n },\n ),\n )\n }\n\n return handlers\n}\n"],"mappings":";;;;;AAuBA,IAAM,IAA6B,IAAI,EAGrC;CACA,SAAS;CACT,gBAAgB;AAClB,CAAC;AAeD,SAAgB,EAGd,GACA,GAGyB;CACzB,OAAO,GACJ,KAAe,MACd,EAAQ,CAAgE,EAC5E;AACF;AAwBA,SAAgB,EACd,GACA,IAII,CAAC,GACU;CACf,IAAM,EACJ,0BACA,mBAAgB,EAAY,EAAuB,aAAa,GAChE,2CAAwC,QACtC;CAEJ,IAAI,KAAyB,OAAO,KAAK,CAAQ,EAAE,WAAW,GAC5D,MAAU,MACR,mJACF;CAGF,IAAM,IACJ,IAAwC,MAAM,aAAa;CAE7D,SAAS,EACP,GACiC;EACjC,IAAM,IAAU,EAAS,EAAK;EAC9B,IAAI,CAAC,GACH,MAAU,MACR,uDAAuD,EAAK,aAAa,EAC3E;EAEF,OAAO,EAAQ,CAAI;CACrB;CAEA,IAAM,IAAc,GAAuB,eAAe,GAEpD,IAA0B,CAE9B,EAAK,KAAK,GAAG,IAAgB,KAAe,OAAO,EAAE,iBAAc;EACjE,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAa,EAA2B,OAAO;GACnD,SAAS;GACT,UAAU,EAAgB,CAAI;EAChC,CAAC,GAIK,IAIE,IACJ,EAAE,OAAO,EAAW,GAAG,IACvB;GAAE,OAAO,EAAW;GAAI,UAAU;EAAa;EAEnD,OAAO,EAAa,KAAK,GAAc,EAAE,QAAQ,IAAI,CAAC;CACxD,CAAC,GAGD,EAAK,IACH,GAAG,IAAgB,EAAuB,KAAK,MAC9C,EAAE,gBAAa;EACd,IAAM,IAAK,EAAO,IACZ,IAAkB,EAA2B,WAAW,CAAE;EAChE,IAAI,CAAC,KAAM,CAAC,GACV,OAAO,EAAa,KAClB,EAAE,SAAS,4CAA4C,GACvD,EAAE,QAAQ,IAAI,CAChB;EAEF,IAAM,EAAE,YAAS,gBAAa;EAE9B,OAAO,EAAa,KAGlB;GACE;GACA,cAAc;GACd,aAAa;GACb,MAAM;GACN,OAAO;GACP,cAAc;GACd,iBAAiB;GACjB,WAAW;GACX,WAAW;GACX,iBAAiB;GACjB,iBAAiB;GACjB,eAAe;GACf,WAAW;GACX,cAAc;GACd,cAAc;GACd,WAAW;EACb,GACA,EAEE,QAAQ,IACV,CACF;CACF,CACF,CACF;CA2BA,OAzBI,KAGF,EAAS,KACP,EAAK,IACH,GAAG,IAAgB,EAAsB,aAAa,gBAAgB,MACrE,EAAE,gBAAa;EACd,IAAM,IAAgB,EAAO,eACvB,IACJ,EAA2B,WAAW,CAAa;EAQrD,OAPI,CAAC,KAAiB,CAAC,IACd,EAAa,KAClB,EAAE,SAAS,4CAA4C,GACvD,EAAE,QAAQ,IAAI,CAChB,IAGK,EAAa,KAAK,EAAgB,UAAU,EACjD,QAAQ,EACV,CAAC;CACH,CACF,CACF,GAGK;AACT"}
1
+ {"version":3,"file":"asyncJobHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"sourcesContent":["import { ASYNCHRONOUS_JOB, ASYNCHRONOUS_JOB_TOKEN } from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n AsynchronousRequestBody,\n ErrorResponse,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AsynchJobState,\n AsynchronousJobStatus,\n AsyncJobId,\n} from '@sage-bionetworks/synapse-types'\nimport { DefaultBodyType, http, HttpHandler, HttpResponse } from 'msw'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\n/**\n * A dispatch result that makes a mocked job FAIL: the job status reports `FAILED`\n * and the job's response endpoint returns `body` with the given HTTP `status`.\n */\nexport class AsyncJobFailure {\n constructor(\n readonly status: number,\n /** An ErrorResponse or one of its subtypes, e.g. BelowThresholdErrorResponse. */\n readonly body: { concreteType: string; reason?: string },\n ) {}\n}\n\ntype AsyncJobResult = DefaultBodyType | ErrorResponse | AsyncJobFailure\n\ntype AsyncJobDetails = {\n id: string\n request: AsynchronousRequestBody\n response: AsyncJobResult\n}\n\nconst mockAsynchronousJobService = new BasicMockedCrudService<\n AsyncJobDetails,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\n/**\n * Maps a job request's `concreteType` to a function producing that job's response body.\n */\nexport type AsynchronousJobDispatch = Record<\n string,\n (request: AsynchronousRequestBody) => AsyncJobResult\n>\n\n/**\n * Build a single-entry `AsynchronousJobDispatch` for one `concreteType`, narrowing `handler`'s\n * request parameter to that type's variant of `AsynchronousRequestBody` so callers never have to\n * re-cast the generic request themselves.\n */\nexport function dispatchEntry<\n T extends AsynchronousRequestBody['concreteType'],\n>(\n concreteType: T,\n handler: (\n request: Extract<AsynchronousRequestBody, { concreteType: T }>,\n ) => AsyncJobResult,\n): AsynchronousJobDispatch {\n return {\n [concreteType]: request =>\n handler(request as Extract<AsynchronousRequestBody, { concreteType: T }>),\n }\n}\n\n/**\n * A dedicated async service-specific start/get path pair.\n */\ntype AsyncTypeServicePaths = {\n requestPath: string\n responsePath: (tokenParam: string) => string\n}\n\n/**\n * Generates MSW handlers for asynchronous jobs, dispatching by request `concreteType`.\n *\n * By default, registers the generic endpoint pair used by every job type dispatched through\n * `postRepoV1AsynchronousJob`/`getRepoV1AsynchronousJobJobId`\n * (`POST /repo/v1/asynchronous/job` + `GET /repo/v1/asynchronous/job/{jobId}`). Callers that need\n * to support more than one `concreteType` in the same test/story MUST merge their entries into a\n * single `dispatch` map and call this once.\n *\n * @param dispatch maps each supported request `concreteType` to a function producing that job's response body\n * @param options.asyncTypeServicePaths registers a dedicated start/get path pair instead of the generic endpoint; see {@link AsyncTypeServicePaths}\n * @param options.backendOrigin the backend origin to use for the handlers\n * @param options.serviceSpecificEndpointResponseStatus the status code for the dedicated response path (`asyncTypeServicePaths` only); also determines whether both GET endpoints report `COMPLETE` or `FAILED`\n */\nexport function generateAsyncJobHandlers(\n dispatch: AsynchronousJobDispatch,\n options: {\n asyncTypeServicePaths?: AsyncTypeServicePaths\n backendOrigin?: string\n serviceSpecificEndpointResponseStatus?: number\n } = {},\n): HttpHandler[] {\n const {\n asyncTypeServicePaths,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n serviceSpecificEndpointResponseStatus = 201,\n } = options\n\n if (asyncTypeServicePaths && Object.keys(dispatch).length !== 1) {\n throw new Error(\n 'generateAsyncJobHandlers: asyncTypeServicePaths requires exactly one dispatch entry, since the dedicated path already disambiguates the job type.',\n )\n }\n\n const defaultJobState: AsynchJobState =\n serviceSpecificEndpointResponseStatus < 400 ? 'COMPLETE' : 'FAILED'\n\n function resolveResponse(body: AsynchronousRequestBody): AsyncJobResult {\n const handler = dispatch[body.concreteType]\n if (!handler) {\n throw new Error(\n `generateAsyncJobHandlers: unsupported concreteType \"${body.concreteType}\"`,\n )\n }\n return handler(body)\n }\n\n const requestPath = asyncTypeServicePaths?.requestPath ?? ASYNCHRONOUS_JOB\n\n const handlers: HttpHandler[] = [\n // Handler for the asynchronous job request endpoint.\n http.post(`${backendOrigin}${requestPath}`, async ({ request }) => {\n const body = (await request.json()) as AsynchronousRequestBody\n const createdJob = mockAsynchronousJobService.create({\n request: body,\n response: resolveResponse(body),\n })\n\n // The generic endpoint's response is a full AsynchronousJobStatus (read via `.jobId`).\n // The per-service endpoints respond with an AsyncJobId (read via `.token`).\n const responseBody:\n | AsyncJobId\n | Partial<\n AsynchronousJobStatus<AsynchronousRequestBody, DefaultBodyType>\n > = asyncTypeServicePaths\n ? { token: createdJob.id }\n : { jobId: createdJob.id, jobState: 'PROCESSING' }\n\n return HttpResponse.json(responseBody, { status: 201 })\n }),\n\n // Generic async job response handler. Since this implementation is the same for all services and references the global map, it's fine if this is overridden.\n http.get(\n `${backendOrigin}${ASYNCHRONOUS_JOB_TOKEN(':id')}`,\n ({ params }) => {\n const id = params.id as string\n const asyncJobDetails = mockAsynchronousJobService.getOneById(id)\n if (!id || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n const { request, response } = asyncJobDetails\n const failure = response instanceof AsyncJobFailure ? response : null\n\n return HttpResponse.json<\n AsynchronousJobStatus<AsynchronousRequestBody, DefaultBodyType>\n >(\n {\n jobState: failure ? 'FAILED' : defaultJobState,\n jobCanceling: false,\n requestBody: request,\n etag: '00000000-0000-0000-0000-000000000000',\n jobId: id,\n responseBody: failure ? undefined : (response as DefaultBodyType),\n startedByUserId: 0,\n startedOn: '',\n changedOn: '',\n progressMessage: '',\n progressCurrent: 100,\n progressTotal: 100,\n exception: '',\n errorMessage: failure?.body.reason ?? '',\n errorDetails: '',\n runtimeMS: 100,\n },\n {\n // This endpoint returns a successful status code regardless of the job status\n status: 200,\n },\n )\n },\n ),\n ]\n\n if (asyncTypeServicePaths) {\n // Dedicated service-specific response endpoint, polled directly by type-specific services instead of\n // the generic async job response handler above.\n handlers.push(\n http.get<{ asyncJobToken: string }>(\n `${backendOrigin}${asyncTypeServicePaths.responsePath(':asyncJobToken')}`,\n ({ params }) => {\n const asyncJobToken = params.asyncJobToken\n const asyncJobDetails =\n mockAsynchronousJobService.getOneById(asyncJobToken)\n if (!asyncJobToken || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n\n const { response } = asyncJobDetails\n if (response instanceof AsyncJobFailure) {\n return HttpResponse.json(response.body, { status: response.status })\n }\n return HttpResponse.json(response, {\n status: serviceSpecificEndpointResponseStatus,\n })\n },\n ),\n )\n }\n\n return handlers\n}\n"],"mappings":";;;;;AAqBA,IAAa,IAAb,MAA6B;CAEhB;CAEA;CAHX,YACE,GAEA,GACA;EADS,AAFA,KAAA,SAAA,GAEA,KAAA,OAAA;CACR;AACL,GAUM,IAA6B,IAAI,EAGrC;CACA,SAAS;CACT,gBAAgB;AAClB,CAAC;AAeD,SAAgB,EAGd,GACA,GAGyB;CACzB,OAAO,GACJ,KAAe,MACd,EAAQ,CAAgE,EAC5E;AACF;AAwBA,SAAgB,EACd,GACA,IAII,CAAC,GACU;CACf,IAAM,EACJ,0BACA,mBAAgB,EAAY,EAAuB,aAAa,GAChE,2CAAwC,QACtC;CAEJ,IAAI,KAAyB,OAAO,KAAK,CAAQ,EAAE,WAAW,GAC5D,MAAU,MACR,mJACF;CAGF,IAAM,IACJ,IAAwC,MAAM,aAAa;CAE7D,SAAS,EAAgB,GAA+C;EACtE,IAAM,IAAU,EAAS,EAAK;EAC9B,IAAI,CAAC,GACH,MAAU,MACR,uDAAuD,EAAK,aAAa,EAC3E;EAEF,OAAO,EAAQ,CAAI;CACrB;CAEA,IAAM,IAAc,GAAuB,eAAe,GAEpD,IAA0B,CAE9B,EAAK,KAAK,GAAG,IAAgB,KAAe,OAAO,EAAE,iBAAc;EACjE,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAa,EAA2B,OAAO;GACnD,SAAS;GACT,UAAU,EAAgB,CAAI;EAChC,CAAC,GAIK,IAIE,IACJ,EAAE,OAAO,EAAW,GAAG,IACvB;GAAE,OAAO,EAAW;GAAI,UAAU;EAAa;EAEnD,OAAO,EAAa,KAAK,GAAc,EAAE,QAAQ,IAAI,CAAC;CACxD,CAAC,GAGD,EAAK,IACH,GAAG,IAAgB,EAAuB,KAAK,MAC9C,EAAE,gBAAa;EACd,IAAM,IAAK,EAAO,IACZ,IAAkB,EAA2B,WAAW,CAAE;EAChE,IAAI,CAAC,KAAM,CAAC,GACV,OAAO,EAAa,KAClB,EAAE,SAAS,4CAA4C,GACvD,EAAE,QAAQ,IAAI,CAChB;EAEF,IAAM,EAAE,YAAS,gBAAa,GACxB,IAAU,aAAoB,IAAkB,IAAW;EAEjE,OAAO,EAAa,KAGlB;GACE,UAAU,IAAU,WAAW;GAC/B,cAAc;GACd,aAAa;GACb,MAAM;GACN,OAAO;GACP,cAAc,IAAU,KAAA,IAAa;GACrC,iBAAiB;GACjB,WAAW;GACX,WAAW;GACX,iBAAiB;GACjB,iBAAiB;GACjB,eAAe;GACf,WAAW;GACX,cAAc,GAAS,KAAK,UAAU;GACtC,cAAc;GACd,WAAW;EACb,GACA,EAEE,QAAQ,IACV,CACF;CACF,CACF,CACF;CA+BA,OA7BI,KAGF,EAAS,KACP,EAAK,IACH,GAAG,IAAgB,EAAsB,aAAa,gBAAgB,MACrE,EAAE,gBAAa;EACd,IAAM,IAAgB,EAAO,eACvB,IACJ,EAA2B,WAAW,CAAa;EACrD,IAAI,CAAC,KAAiB,CAAC,GACrB,OAAO,EAAa,KAClB,EAAE,SAAS,4CAA4C,GACvD,EAAE,QAAQ,IAAI,CAChB;EAGF,IAAM,EAAE,gBAAa;EAIrB,OAHI,aAAoB,IACf,EAAa,KAAK,EAAS,MAAM,EAAE,QAAQ,EAAS,OAAO,CAAC,IAE9D,EAAa,KAAK,GAAU,EACjC,QAAQ,EACV,CAAC;CACH,CACF,CACF,GAGK;AACT"}
@@ -0,0 +1,27 @@
1
+ import { CohortBuilderMockProfile } from '@/mocks/cohortBuilder/cohortBuilderMockProfiles';
2
+ import { CohortBuilderAccess, CohortBuilderMockQueryOptions } from '@/mocks/cohortBuilder/cohortBuilderMockQueryEngine';
3
+ import { CohortBuilderSyntheticData } from '@/mocks/cohortBuilder/cohortBuilderSyntheticData';
4
+ import { HttpHandler } from 'msw';
5
+ /** Synthetic files have no file handles; each is reported at this size in Download List statistics. */
6
+ export declare const MOCK_COHORT_FILE_SIZE_BYTES: number;
7
+ /** The file handle of every mock Files/Datasets CSV export. */
8
+ export declare const MOCK_COHORT_CSV_FILE_HANDLE_ID = "90000003";
9
+ /** Synthetic data for a profile, generated once per profile and reused across handlers. */
10
+ export declare function getCohortBuilderSyntheticData(profile: CohortBuilderMockProfile): CohortBuilderSyntheticData;
11
+ export type CohortBuilderHandlersOptions = CohortBuilderMockQueryOptions & {
12
+ profile?: CohortBuilderMockProfile;
13
+ access?: CohortBuilderAccess;
14
+ backendOrigin?: string;
15
+ };
16
+ /**
17
+ * MSW handlers that emulate the Cohort Builder 2.0 VirtualTables (participant
18
+ * and file/dataset perspectives) over synthetic data, including the
19
+ * AGGREGATE_DATA behavior an unapproved caller sees.
20
+ */
21
+ export declare function getCohortBuilderHandlers(options?: CohortBuilderHandlersOptions): HttpHandler[];
22
+ /**
23
+ * Storybook MSW handler groups that serve the Cohort Builder mocks on the mock stack. They replace the `entity` group so
24
+ * they run before the stock entity handlers, which answer 404 for unknown entity IDs.
25
+ */
26
+ export declare function getCohortBuilderStorybookHandlers(options?: Omit<CohortBuilderHandlersOptions, 'backendOrigin'>): Record<string, HttpHandler[]>;
27
+ //# sourceMappingURL=cohortBuilderHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohortBuilderHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/cohortBuilderHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAMzB,MAAM,iDAAiD,CAAA;AACxD,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAG9B,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EACL,0BAA0B,EAE3B,MAAM,kDAAkD,CAAA;AAuBzD,OAAO,EAAQ,WAAW,EAAgB,MAAM,KAAK,CAAA;AAmBrD,uGAAuG;AACvG,eAAO,MAAM,2BAA2B,QAAmB,CAAA;AAC3D,+DAA+D;AAC/D,eAAO,MAAM,8BAA8B,aAAa,CAAA;AAOxD,2FAA2F;AAC3F,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,wBAAwB,GAChC,0BAA0B,CAO5B;AA6DD,MAAM,MAAM,4BAA4B,GAAG,6BAA6B,GAAG;IACzE,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,4BAAiC,GACzC,WAAW,EAAE,CAmOf;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,IAAI,CAAC,4BAA4B,EAAE,eAAe,CAAM,GAChE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAU/B"}