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
@@ -1 +1 @@
1
- {"version":3,"file":"QueryVisualizationWrapper.js","names":[],"sources":["../../../src/components/QueryVisualizationWrapper/QueryVisualizationWrapper.tsx"],"sourcesContent":["import { getDisplayValue } from '@/utils/functions/getDataFromFromStorage'\nimport { unCamelCase } from '@/utils/functions/unCamelCase'\nimport useMutuallyExclusiveState from '@/utils/hooks/useMutuallyExclusiveState'\nimport { useQuery } from '@tanstack/react-query'\nimport { ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport { NoContentPlaceholderType } from '../SynapseTable/NoContentPlaceholderType'\nimport { ExternalAnalysisPlatform } from '../SynapseTable/export/ExternalAnalysisPlatformsConstants'\nimport NoContentPlaceholderComponent from './NoContentPlaceholder'\nimport { createDuoFacetValueRenderer } from '../GenericCard/DuoTermTags/DuoTermTags'\nimport {\n QueryVisualizationContextProvider,\n QueryVisualizationContextType,\n RenderedFacetValueChip,\n} from './QueryVisualizationContext'\n\n// By default, show no external analysis platforms.\nconst DEFAULT_ENABLED_ANALYSIS_PLATFORMS: ExternalAnalysisPlatform[] = []\n\ntype ColumnOrFacetHelpConfig = {\n /** Text that describes the column or facet */\n helpText: string\n /** The name of the column for which the markdown applies */\n columnName: string\n /** The JSON path matching a described JSON Column facet */\n jsonPath?: string\n}\n\nexport type QueryVisualizationWrapperProps = {\n children: ReactNode | ReactNode[]\n rgbIndex?: number\n /** The singular word to use to describe a what a row represents (e.g. \"file\"). Defaults to \"result\" */\n unitDescription?: string\n /** Mapping from column name to the name that should be shown for the column */\n columnAliases?: Record<string, string>\n /** Optional custom renderer for enumeration facet values (see context). */\n renderFacetValue?: (\n columnName: string,\n value: string,\n ) => RenderedFacetValueChip | undefined\n /**\n * Column name of a STRING_LIST of Data Use Ontology (DUO) values. When set,\n * that column's facet values and active-filter pills are automatically\n * rendered as DUO tags, so portals don't need to supply their own\n * `renderFacetValue` handler. An explicit `renderFacetValue` takes precedence.\n */\n dataUseModifiersColumnName?: string\n visibleColumnCount?: number\n hiddenColumns?: string[]\n defaultShowPlots?: boolean\n hideCopyToClipboard?: boolean\n hideSearchBarControl?: boolean\n /** When true, the text matches filter pill is shown but cannot be removed. Defaults to true. */\n lockTextMatchesQueryFilterPill?: boolean\n defaultShowSearchBar?: boolean\n showLastUpdatedOn?: boolean\n /** Default is INTERACTIVE */\n noContentPlaceholderType?: NoContentPlaceholderType\n isRowSelectionVisible?: boolean\n /** The set of columns that defines a uniqueness constraint on the table for the purposes of filtering based on row selection.\n * Note that Synapse tables have no internal concept of a primary key.\n */\n rowSelectionPrimaryKey?: string[]\n /** Look for additional filters using the given key. If not provided, the entity ID will be used.\n * @deprecated - configure the filter before passing a query */\n additionalFiltersSessionStorageKey?: string\n /** Configuration to add a help popover to each corresponding column header */\n helpConfiguration?: ColumnOrFacetHelpConfig[]\n hasCustomPlots?: boolean\n /** The set of external analysis platform to which the UI will support exporting data.\n * @default [] (no platforms are enabled) */\n enabledExternalAnalysisPlatforms?: ExternalAnalysisPlatform[]\n hideVisualizationsControl?: boolean\n}\n\n/**\n * QueryVisualizationWrapper manages UI state for components that query tables in Synapse. That state can be accessed\n * or updated using QueryVisualizationContext. A QueryVisualizationWrapper must be used within a QueryWrapper.\n */\nexport function QueryVisualizationWrapper(\n props: QueryVisualizationWrapperProps,\n) {\n const {\n noContentPlaceholderType = NoContentPlaceholderType.INTERACTIVE,\n defaultShowSearchBar = false,\n defaultShowPlots = true,\n hideCopyToClipboard = false,\n hideSearchBarControl = false,\n lockTextMatchesQueryFilterPill = true,\n unitDescription = 'result',\n helpConfiguration,\n hasCustomPlots = false,\n visibleColumnCount = Infinity,\n enabledExternalAnalysisPlatforms = DEFAULT_ENABLED_ANALYSIS_PLATFORMS,\n } = props\n\n const columnAliases = useMemo(\n () => props.columnAliases ?? {},\n [props.columnAliases],\n )\n\n // An explicit renderFacetValue wins; otherwise, if a DUO column is declared,\n // render that column's facet values and pills as DUO tags automatically.\n const renderFacetValue = useMemo(() => {\n if (props.renderFacetValue) {\n return props.renderFacetValue\n }\n if (props.dataUseModifiersColumnName) {\n return createDuoFacetValueRenderer(props.dataUseModifiersColumnName)\n }\n return undefined\n }, [props.renderFacetValue, props.dataUseModifiersColumnName])\n\n const {\n getCurrentQueryRequest,\n hasFacetedSelectColumn,\n hasResettableFilters,\n rowDataQueryOptions,\n } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n\n // Get the selectColumns from either query so that creating the context isn't bottlenecked by one or the other\n // Use the previous result as placeholder data so we don't reset the selectColumns unless they have actually changed.\n const { data: selectColumnsFromRowData } = useQuery({\n ...rowDataQueryOptions,\n select: data => data.responseBody?.queryResult?.queryResults.headers,\n placeholderData: prevData => prevData,\n })\n const { data: selectColumnsFromMetadata } = useGetQueryMetadata({\n select: data => data.responseBody?.selectColumns,\n placeholderData: prevData => prevData,\n })\n // We deep-compare-memoize the selectColumns so we don't reset visible columns if the reference changes, but not the contents (e.g. on page change)\n const selectColumns = useDeepCompareMemoize(\n selectColumnsFromRowData ?? selectColumnsFromMetadata ?? [],\n )\n\n const [showSqlEditor, setShowSqlEditor] = useState(false)\n const [showPlots, setShowPlots] = useState(defaultShowPlots)\n const [showCopyToClipboard, setShowCopyToClipboard] =\n useState(!hideCopyToClipboard)\n const [showFacetFilter, setShowFacetFilter] = useState(true)\n\n // The search bar and download confirmation should not be shown at the same time.\n const [\n showSearchBar,\n setShowSearchBar,\n showDownloadConfirmation,\n setShowDownloadConfirmation,\n ] = useMutuallyExclusiveState(\n defaultShowSearchBar && !hideSearchBarControl,\n false,\n )\n\n const [\n isShowingExportToAnalysisPlatformModal,\n setIsShowingExportToAnalysisPlatformModal,\n ] = useState<boolean>(false)\n\n const [visibleColumns, setVisibleColumns] = useState<string[]>([])\n\n const lastQueryRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n\n // Deep-compare-memoize so callers passing a fresh array literal\n // (e.g. `hiddenColumns={['topic']}`) don't reset visible columns on every\n // parent render.\n const hiddenColumns = useDeepCompareMemoize(props.hiddenColumns ?? [])\n useEffect(() => {\n // SWC-6030: If sql changes, reset what columns are visible\n const hidden = new Set(hiddenColumns)\n setVisibleColumns(\n selectColumns\n .filter(el => !hidden.has(el.name))\n .slice(0, visibleColumnCount)\n .map(el => el.name),\n )\n }, [\n selectColumns,\n lastQueryRequest.query.sql,\n visibleColumnCount,\n hiddenColumns,\n ])\n\n const getColumnDisplayName = useCallback(\n (columnName: string, jsonPath?: string) => {\n // SWC-5982: if force-display-original-column-names is set, then just return the string\n const forceDisplayOriginalColumnName =\n typeof localStorage !== 'undefined' &&\n localStorage.getItem('force-display-original-column-names') === 'true'\n\n if (!columnName || (forceDisplayOriginalColumnName && !jsonPath)) {\n return columnName\n }\n if (columnAliases[columnName]) {\n return columnAliases[columnName]\n }\n if (jsonPath) {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n if (columnModel?.jsonSubColumns) {\n const jsonSubColumn = columnModel.jsonSubColumns.find(\n jsc => jsc.jsonPath === jsonPath,\n )\n if (jsonSubColumn) {\n return jsonSubColumn.name\n }\n }\n }\n return unCamelCase(columnName)\n },\n [columnAliases, queryMetadata?.columnModels],\n )\n\n const getHelpText = useCallback(\n (columnName: string, jsonPath?: string): string | undefined => {\n if (Array.isArray(helpConfiguration)) {\n const helpConfig = helpConfiguration.find(\n config =>\n config.columnName === columnName && config.jsonPath === jsonPath,\n )\n return helpConfig?.helpText\n }\n return undefined\n },\n [helpConfiguration],\n )\n\n const NoContentPlaceholder = useCallback(\n () => (\n <NoContentPlaceholderComponent\n type={noContentPlaceholderType}\n hasResettableFilters={hasResettableFilters}\n />\n ),\n [noContentPlaceholderType, hasResettableFilters],\n )\n\n const context: QueryVisualizationContextType = useMemo(\n () => ({\n columnsToShowInTable: visibleColumns,\n setColumnsToShowInTable: setVisibleColumns,\n rgbIndex: props.rgbIndex,\n unitDescription: unitDescription,\n showLastUpdatedOn: props.showLastUpdatedOn,\n getColumnDisplayName,\n getDisplayValue,\n renderFacetValue,\n getHelpText,\n NoContentPlaceholder,\n isShowingExportToAnalysisPlatformModal:\n isShowingExportToAnalysisPlatformModal,\n setIsShowingExportToAnalysisPlatformModal:\n setIsShowingExportToAnalysisPlatformModal,\n showFacetFilter: hasFacetedSelectColumn ? showFacetFilter : false,\n setShowFacetFilter,\n hideSearchBarControl,\n lockTextMatchesQueryFilterPill,\n showSearchBar,\n setShowSearchBar,\n showDownloadConfirmation,\n setShowDownloadConfirmation,\n showSqlEditor,\n setShowSqlEditor,\n showPlots: hasCustomPlots || hasFacetedSelectColumn ? showPlots : false,\n setShowPlots,\n showCopyToClipboard,\n setShowCopyToClipboard,\n enabledExternalAnalysisPlatforms,\n }),\n [\n NoContentPlaceholder,\n getColumnDisplayName,\n getHelpText,\n hasFacetedSelectColumn,\n isShowingExportToAnalysisPlatformModal,\n props.rgbIndex,\n props.showLastUpdatedOn,\n renderFacetValue,\n setShowDownloadConfirmation,\n setShowSearchBar,\n showCopyToClipboard,\n showDownloadConfirmation,\n showFacetFilter,\n showPlots,\n showSearchBar,\n showSqlEditor,\n unitDescription,\n visibleColumns,\n hasCustomPlots,\n enabledExternalAnalysisPlatforms,\n hideSearchBarControl,\n lockTextMatchesQueryFilterPill,\n ],\n )\n /**\n * Render the children without any formatting\n */\n const { children } = props\n return (\n <QueryVisualizationContextProvider queryVisualizationContext={context}>\n {children}\n </QueryVisualizationContextProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAM,IAAiE,CAAC;AA8DxE,SAAgB,EACd,GACA;CACA,IAAM,EACJ,8BAA2B,GAAyB,aACpD,0BAAuB,IACvB,sBAAmB,IACnB,yBAAsB,IACtB,0BAAuB,IACvB,oCAAiC,IACjC,qBAAkB,UAClB,sBACA,oBAAiB,IACjB,wBAAqB,UACrB,sCAAmC,MACjC,GAEE,IAAgB,QACd,EAAM,iBAAiB,CAAC,GAC9B,CAAC,EAAM,aAAa,CACtB,GAIM,IAAmB,QAAc;EACrC,IAAI,EAAM,kBACR,OAAO,EAAM;EAEf,IAAI,EAAM,4BACR,OAAO,EAA4B,EAAM,0BAA0B;CAGvE,GAAG,CAAC,EAAM,kBAAkB,EAAM,0BAA0B,CAAC,GAEvD,EACJ,2BACA,2BACA,yBACA,2BACE,EAAgB,GACd,EAAE,MAAM,MAAkB,EAAoB,GAI9C,EAAE,MAAM,MAA6B,GAAS;EAClD,GAAG;EACH,SAAQ,MAAQ,EAAK,cAAc,aAAa,aAAa;EAC7D,kBAAiB,MAAY;CAC/B,CAAC,GACK,EAAE,MAAM,OAA8B,EAAoB;EAC9D,SAAQ,MAAQ,EAAK,cAAc;EACnC,kBAAiB,MAAY;CAC/B,CAAC,GAEK,IAAgB,EACpB,KAA4B,MAA6B,CAAC,CAC5D,GAEM,CAAC,GAAe,MAAoB,EAAS,EAAK,GAClD,CAAC,GAAW,KAAgB,EAAS,CAAgB,GACrD,CAAC,GAAqB,KAC1B,EAAS,CAAC,CAAmB,GACzB,CAAC,GAAiB,KAAsB,EAAS,EAAI,GAGrD,CACJ,GACA,GACA,GACA,KACE,EACF,KAAwB,CAAC,GACzB,EACF,GAEM,CACJ,GACA,KACE,EAAkB,EAAK,GAErB,CAAC,GAAgB,KAAqB,EAAmB,CAAC,CAAC,GAE3D,KAAmB,QACjB,EAAuB,GAC7B,CAAC,CAAsB,CACzB,GAKM,IAAgB,EAAsB,EAAM,iBAAiB,CAAC,CAAC;CACrE,QAAgB;EAEd,IAAM,IAAS,IAAI,IAAI,CAAa;EACpC,EACE,EACG,QAAO,MAAM,CAAC,EAAO,IAAI,EAAG,IAAI,CAAC,EACjC,MAAM,GAAG,CAAkB,EAC3B,KAAI,MAAM,EAAG,IAAI,CACtB;CACF,GAAG;EACD;EACA,GAAiB,MAAM;EACvB;EACA;CACF,CAAC;CAED,IAAM,IAAuB,GAC1B,GAAoB,MAAsB;EAEzC,IAAM,IACJ,OAAO,eAAiB,OACxB,aAAa,QAAQ,qCAAqC,MAAM;EAElE,IAAI,CAAC,KAAe,KAAkC,CAAC,GACrD,OAAO;EAET,IAAI,EAAc,IAChB,OAAO,EAAc;EAEvB,IAAI,GAAU;GACZ,IAAM,IAAc,GAAe,cAAc,MAC/C,MAAM,EAAG,SAAS,CACpB;GACA,IAAI,GAAa,gBAAgB;IAC/B,IAAM,IAAgB,EAAY,eAAe,MAC/C,MAAO,EAAI,aAAa,CAC1B;IACA,IAAI,GACF,OAAO,EAAc;GAEzB;EACF;EACA,OAAO,EAAY,CAAU;CAC/B,GACA,CAAC,GAAe,GAAe,YAAY,CAC7C,GAEM,IAAc,GACjB,GAAoB,MAA0C;EAC7D,IAAI,MAAM,QAAQ,CAAiB,GAKjC,OAJmB,EAAkB,MACnC,MACE,EAAO,eAAe,KAAc,EAAO,aAAa,CAErD,GAAY;CAGvB,GACA,CAAC,CAAiB,CACpB,GAEM,IAAuB,QAEzB,kBAAC,GAAD;EACE,MAAM;EACgB;CACvB,CAAA,GAEH,CAAC,GAA0B,CAAoB,CACjD,GAEM,KAAyC,SACtC;EACL,sBAAsB;EACtB,yBAAyB;EACzB,UAAU,EAAM;EACC;EACjB,mBAAmB,EAAM;EACzB;EACA;EACA;EACA;EACA,sBAAA;EAEE;EAEA;EACF,iBAAiB,IAAyB,IAAkB;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,KAAkB,IAAyB,IAAY;EAClE;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA,EAAM;EACN,EAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF,GAIM,EAAE,iBAAa;CACrB,OACE,kBAAC,IAAD;EAAmC,2BAA2B;EAC3D;CACgC,CAAA;AAEvC"}
1
+ {"version":3,"file":"QueryVisualizationWrapper.js","names":[],"sources":["../../../src/components/QueryVisualizationWrapper/QueryVisualizationWrapper.tsx"],"sourcesContent":["import { getDisplayValue } from '@/utils/functions/getDataFromFromStorage'\nimport { unCamelCase } from '@/utils/functions/unCamelCase'\nimport useMutuallyExclusiveState from '@/utils/hooks/useMutuallyExclusiveState'\nimport { useQuery } from '@tanstack/react-query'\nimport { ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport { NoContentPlaceholderType } from '../SynapseTable/NoContentPlaceholderType'\nimport { ExternalAnalysisPlatform } from '../SynapseTable/export/ExternalAnalysisPlatformsConstants'\nimport NoContentPlaceholderComponent from './NoContentPlaceholder'\nimport { createDuoFacetValueRenderer } from '../GenericCard/DuoTermTags/DuoTermTags'\nimport {\n QueryVisualizationContextProvider,\n QueryVisualizationContextType,\n RenderedFacetValueChip,\n} from './QueryVisualizationContext'\n\n// By default, show no external analysis platforms.\nconst DEFAULT_ENABLED_ANALYSIS_PLATFORMS: ExternalAnalysisPlatform[] = []\n\ntype ColumnOrFacetHelpConfig = {\n /** Text that describes the column or facet */\n helpText: string\n /** The name of the column for which the markdown applies */\n columnName: string\n /** The JSON path matching a described JSON Column facet */\n jsonPath?: string\n}\n\nexport type QueryVisualizationWrapperProps = {\n children: ReactNode | ReactNode[]\n rgbIndex?: number\n /** The singular word to use to describe a what a row represents (e.g. \"file\"). Defaults to \"result\" */\n unitDescription?: string\n /** Mapping from column name to the name that should be shown for the column */\n columnAliases?: Record<string, string>\n /** Optional custom renderer for enumeration facet values (see context). */\n renderFacetValue?: (\n columnName: string,\n value: string,\n ) => RenderedFacetValueChip | undefined\n /**\n * Column name of a STRING_LIST of Data Use Ontology (DUO) values. When set,\n * that column's facet values and active-filter pills are automatically\n * rendered as DUO tags, so portals don't need to supply their own\n * `renderFacetValue` handler. An explicit `renderFacetValue` takes precedence.\n */\n dataUseModifiersColumnName?: string\n visibleColumnCount?: number\n hiddenColumns?: string[]\n defaultShowPlots?: boolean\n hideCopyToClipboard?: boolean\n hideSearchBarControl?: boolean\n /** When true, the text matches filter pill is shown but cannot be removed. Defaults to true. */\n lockTextMatchesQueryFilterPill?: boolean\n defaultShowSearchBar?: boolean\n showLastUpdatedOn?: boolean\n /** Default is INTERACTIVE */\n noContentPlaceholderType?: NoContentPlaceholderType\n isRowSelectionVisible?: boolean\n /** The set of columns that defines a uniqueness constraint on the table for the purposes of filtering based on row selection.\n * Note that Synapse tables have no internal concept of a primary key.\n */\n rowSelectionPrimaryKey?: string[]\n /** Look for additional filters using the given key. If not provided, the entity ID will be used.\n * @deprecated - configure the filter before passing a query */\n additionalFiltersSessionStorageKey?: string\n /** Configuration to add a help popover to each corresponding column header */\n helpConfiguration?: ColumnOrFacetHelpConfig[]\n hasCustomPlots?: boolean\n /** The set of external analysis platform to which the UI will support exporting data.\n * @default [] (no platforms are enabled) */\n enabledExternalAnalysisPlatforms?: ExternalAnalysisPlatform[]\n hideVisualizationsControl?: boolean\n}\n\n/**\n * QueryVisualizationWrapper manages UI state for components that query tables in Synapse. That state can be accessed\n * or updated using QueryVisualizationContext. A QueryVisualizationWrapper must be used within a QueryWrapper.\n */\nexport function QueryVisualizationWrapper(\n props: QueryVisualizationWrapperProps,\n) {\n const {\n noContentPlaceholderType = NoContentPlaceholderType.INTERACTIVE,\n defaultShowSearchBar = false,\n defaultShowPlots = true,\n hideCopyToClipboard = false,\n hideSearchBarControl = false,\n lockTextMatchesQueryFilterPill = true,\n unitDescription = 'result',\n helpConfiguration,\n hasCustomPlots = false,\n visibleColumnCount = Infinity,\n enabledExternalAnalysisPlatforms = DEFAULT_ENABLED_ANALYSIS_PLATFORMS,\n } = props\n\n const columnAliases = useMemo(\n () => props.columnAliases ?? {},\n [props.columnAliases],\n )\n\n // An explicit renderFacetValue wins; otherwise, if a DUO column is declared,\n // render that column's facet values and pills as DUO tags automatically.\n const renderFacetValue = useMemo(() => {\n if (props.renderFacetValue) {\n return props.renderFacetValue\n }\n if (props.dataUseModifiersColumnName) {\n return createDuoFacetValueRenderer(props.dataUseModifiersColumnName)\n }\n return undefined\n }, [props.renderFacetValue, props.dataUseModifiersColumnName])\n\n const {\n getCurrentQueryRequest,\n hasFacetedSelectColumn,\n hasResettableFilters,\n rowDataQueryOptions,\n } = useQueryContext()\n const { data: queryMetadata } = useGetQueryMetadata()\n\n // Get the selectColumns from either query so that creating the context isn't bottlenecked by one or the other\n // Use the previous result as placeholder data so we don't reset the selectColumns unless they have actually changed.\n const { data: selectColumnsFromRowData } = useQuery({\n ...rowDataQueryOptions,\n select: data => data.responseBody?.queryResult?.queryResults.headers,\n placeholderData: prevData => prevData,\n })\n const { data: selectColumnsFromMetadata } = useGetQueryMetadata({\n select: data => data.responseBody?.selectColumns,\n placeholderData: prevData => prevData,\n })\n // We deep-compare-memoize the selectColumns so we don't reset visible columns if the reference changes, but not the contents (e.g. on page change)\n const selectColumns = useDeepCompareMemoize(\n selectColumnsFromRowData ?? selectColumnsFromMetadata ?? [],\n )\n\n const [showSqlEditor, setShowSqlEditor] = useState(false)\n const [showPlots, setShowPlots] = useState(defaultShowPlots)\n const [showCopyToClipboard, setShowCopyToClipboard] =\n useState(!hideCopyToClipboard)\n const [showFacetFilter, setShowFacetFilter] = useState(true)\n\n // The search bar and download confirmation should not be shown at the same time.\n const [\n showSearchBar,\n setShowSearchBar,\n showDownloadConfirmation,\n setShowDownloadConfirmation,\n ] = useMutuallyExclusiveState(\n defaultShowSearchBar && !hideSearchBarControl,\n false,\n )\n\n const [\n isShowingExportToAnalysisPlatformModal,\n setIsShowingExportToAnalysisPlatformModal,\n ] = useState<boolean>(false)\n\n const [visibleColumns, setVisibleColumns] = useState<string[]>([])\n\n const lastQueryRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n\n // Deep-compare-memoize so callers passing a fresh array literal\n // (e.g. `hiddenColumns={['topic']}`) don't reset visible columns on every\n // parent render.\n const hiddenColumns = useDeepCompareMemoize(props.hiddenColumns ?? [])\n useEffect(() => {\n // SWC-6030: If sql changes, reset what columns are visible\n const hidden = new Set(hiddenColumns)\n setVisibleColumns(\n selectColumns\n .filter(el => !hidden.has(el.name))\n .slice(0, visibleColumnCount)\n .map(el => el.name),\n )\n }, [\n selectColumns,\n lastQueryRequest.query.sql,\n visibleColumnCount,\n hiddenColumns,\n ])\n\n const getColumnDisplayName = useCallback(\n (columnName: string, jsonPath?: string) => {\n // SWC-5982: if force-display-original-column-names is set, then just return the string\n const forceDisplayOriginalColumnName =\n typeof localStorage !== 'undefined' &&\n localStorage.getItem('force-display-original-column-names') === 'true'\n\n if (!columnName || (forceDisplayOriginalColumnName && !jsonPath)) {\n return columnName\n }\n if (columnAliases[columnName]) {\n return columnAliases[columnName]\n }\n if (jsonPath) {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n if (columnModel?.jsonSubColumns) {\n const jsonSubColumn = columnModel.jsonSubColumns.find(\n jsc => jsc.jsonPath === jsonPath,\n )\n if (jsonSubColumn) {\n return jsonSubColumn.name\n }\n }\n }\n return unCamelCase(columnName)\n },\n [columnAliases, queryMetadata?.columnModels],\n )\n\n const getHelpText = useCallback(\n (columnName: string, jsonPath?: string): string | undefined => {\n if (Array.isArray(helpConfiguration)) {\n const helpConfig = helpConfiguration.find(\n config =>\n config.columnName === columnName && config.jsonPath === jsonPath,\n )\n return helpConfig?.helpText\n }\n return undefined\n },\n [helpConfiguration],\n )\n\n const NoContentPlaceholder = useCallback(\n () => (\n <NoContentPlaceholderComponent\n type={noContentPlaceholderType}\n hasResettableFilters={hasResettableFilters}\n />\n ),\n [noContentPlaceholderType, hasResettableFilters],\n )\n\n const context: QueryVisualizationContextType = useMemo(\n () => ({\n columnsToShowInTable: visibleColumns,\n setColumnsToShowInTable: setVisibleColumns,\n rgbIndex: props.rgbIndex,\n unitDescription: unitDescription,\n showLastUpdatedOn: props.showLastUpdatedOn,\n getColumnDisplayName,\n getDisplayValue,\n renderFacetValue,\n getHelpText,\n NoContentPlaceholder,\n isShowingExportToAnalysisPlatformModal:\n isShowingExportToAnalysisPlatformModal,\n setIsShowingExportToAnalysisPlatformModal:\n setIsShowingExportToAnalysisPlatformModal,\n showFacetFilter: hasFacetedSelectColumn ? showFacetFilter : false,\n setShowFacetFilter,\n hideSearchBarControl,\n lockTextMatchesQueryFilterPill,\n showSearchBar,\n setShowSearchBar,\n showDownloadConfirmation,\n setShowDownloadConfirmation,\n showSqlEditor,\n setShowSqlEditor,\n showPlots: hasCustomPlots || hasFacetedSelectColumn ? showPlots : false,\n setShowPlots,\n showCopyToClipboard,\n setShowCopyToClipboard,\n enabledExternalAnalysisPlatforms,\n }),\n [\n NoContentPlaceholder,\n getColumnDisplayName,\n getHelpText,\n hasFacetedSelectColumn,\n isShowingExportToAnalysisPlatformModal,\n props.rgbIndex,\n props.showLastUpdatedOn,\n renderFacetValue,\n setShowDownloadConfirmation,\n setShowSearchBar,\n showCopyToClipboard,\n showDownloadConfirmation,\n showFacetFilter,\n showPlots,\n showSearchBar,\n showSqlEditor,\n unitDescription,\n visibleColumns,\n hasCustomPlots,\n enabledExternalAnalysisPlatforms,\n hideSearchBarControl,\n lockTextMatchesQueryFilterPill,\n ],\n )\n /**\n * Render the children without any formatting\n */\n const { children } = props\n return (\n <QueryVisualizationContextProvider queryVisualizationContext={context}>\n {children}\n </QueryVisualizationContextProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAM,IAAiE,CAAC;AA8DxE,SAAgB,EACd,GACA;CACA,IAAM,EACJ,8BAA2B,GAAyB,aACpD,0BAAuB,IACvB,sBAAmB,IACnB,yBAAsB,IACtB,0BAAuB,IACvB,oCAAiC,IACjC,qBAAkB,UAClB,sBACA,oBAAiB,IACjB,wBAAqB,UACrB,sCAAmC,MACjC,GAEE,IAAgB,QACd,EAAM,iBAAiB,CAAC,GAC9B,CAAC,EAAM,aAAa,CACtB,GAIM,IAAmB,QAAc;EACrC,IAAI,EAAM,kBACR,OAAO,EAAM;EAEf,IAAI,EAAM,4BACR,OAAO,GAA4B,EAAM,0BAA0B;CAGvE,GAAG,CAAC,EAAM,kBAAkB,EAAM,0BAA0B,CAAC,GAEvD,EACJ,2BACA,2BACA,yBACA,2BACE,EAAgB,GACd,EAAE,MAAM,MAAkB,EAAoB,GAI9C,EAAE,MAAM,OAA6B,GAAS;EAClD,GAAG;EACH,SAAQ,MAAQ,EAAK,cAAc,aAAa,aAAa;EAC7D,kBAAiB,MAAY;CAC/B,CAAC,GACK,EAAE,MAAM,OAA8B,EAAoB;EAC9D,SAAQ,MAAQ,EAAK,cAAc;EACnC,kBAAiB,MAAY;CAC/B,CAAC,GAEK,IAAgB,EACpB,MAA4B,MAA6B,CAAC,CAC5D,GAEM,CAAC,GAAe,KAAoB,EAAS,EAAK,GAClD,CAAC,GAAW,KAAgB,EAAS,CAAgB,GACrD,CAAC,GAAqB,KAC1B,EAAS,CAAC,CAAmB,GACzB,CAAC,GAAiB,KAAsB,EAAS,EAAI,GAGrD,CACJ,GACA,GACA,GACA,KACE,EACF,KAAwB,CAAC,GACzB,EACF,GAEM,CACJ,GACA,KACE,EAAkB,EAAK,GAErB,CAAC,GAAgB,KAAqB,EAAmB,CAAC,CAAC,GAE3D,KAAmB,QACjB,EAAuB,GAC7B,CAAC,CAAsB,CACzB,GAKM,IAAgB,EAAsB,EAAM,iBAAiB,CAAC,CAAC;CACrE,QAAgB;EAEd,IAAM,IAAS,IAAI,IAAI,CAAa;EACpC,EACE,EACG,QAAO,MAAM,CAAC,EAAO,IAAI,EAAG,IAAI,CAAC,EACjC,MAAM,GAAG,CAAkB,EAC3B,KAAI,MAAM,EAAG,IAAI,CACtB;CACF,GAAG;EACD;EACA,GAAiB,MAAM;EACvB;EACA;CACF,CAAC;CAED,IAAM,IAAuB,GAC1B,GAAoB,MAAsB;EAEzC,IAAM,IACJ,OAAO,eAAiB,OACxB,aAAa,QAAQ,qCAAqC,MAAM;EAElE,IAAI,CAAC,KAAe,KAAkC,CAAC,GACrD,OAAO;EAET,IAAI,EAAc,IAChB,OAAO,EAAc;EAEvB,IAAI,GAAU;GACZ,IAAM,IAAc,GAAe,cAAc,MAC/C,MAAM,EAAG,SAAS,CACpB;GACA,IAAI,GAAa,gBAAgB;IAC/B,IAAM,IAAgB,EAAY,eAAe,MAC/C,MAAO,EAAI,aAAa,CAC1B;IACA,IAAI,GACF,OAAO,EAAc;GAEzB;EACF;EACA,OAAO,EAAY,CAAU;CAC/B,GACA,CAAC,GAAe,GAAe,YAAY,CAC7C,GAEM,IAAc,GACjB,GAAoB,MAA0C;EAC7D,IAAI,MAAM,QAAQ,CAAiB,GAKjC,OAJmB,EAAkB,MACnC,MACE,EAAO,eAAe,KAAc,EAAO,aAAa,CAErD,GAAY;CAGvB,GACA,CAAC,CAAiB,CACpB,GAEM,IAAuB,QAEzB,kBAAC,GAAD;EACE,MAAM;EACgB;CACvB,CAAA,GAEH,CAAC,GAA0B,CAAoB,CACjD,GAEM,KAAyC,SACtC;EACL,sBAAsB;EACtB,yBAAyB;EACzB,UAAU,EAAM;EACC;EACjB,mBAAmB,EAAM;EACzB;EACA;EACA;EACA;EACA,sBAAA;EAEE;EAEA;EACF,iBAAiB,IAAyB,IAAkB;EAC5D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW,KAAkB,IAAyB,IAAY;EAClE;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA,EAAM;EACN,EAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF,GAIM,EAAE,iBAAa;CACrB,OACE,kBAAC,GAAD;EAAmC,2BAA2B;EAC3D;CACgC,CAAA;AAEvC"}
@@ -0,0 +1,20 @@
1
+ import { BelowThresholdErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/BelowThresholdErrorResponse';
2
+ import { RowSuppressionErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/RowSuppressionErrorResponse';
3
+ export type AggregateQueryError = BelowThresholdErrorResponse | RowSuppressionErrorResponse;
4
+ /**
5
+ * Returns the server's error body when a table query was withheld because the caller has aggregate-only access: the
6
+ * number of matching rows was below the suppression threshold (BELOW_THRESHOLD), or row results were requested
7
+ * (ROW_SUPPRESSED). Returns undefined for any other error.
8
+ */
9
+ export declare function getAggregateQueryError(error: unknown): AggregateQueryError | undefined;
10
+ export type AggregateQueryErrorNoticeProps = {
11
+ error: AggregateQueryError;
12
+ /** What the queried rows are, in the plural (e.g. "files and datasets"). Defaults to the pluralized unitDescription. */
13
+ pluralUnitDescription?: string;
14
+ };
15
+ /**
16
+ * Explains a table query result that the server withheld from a caller with aggregate-only access. It is a normal
17
+ * state, not an error: the query is valid, and the caller can adjust it.
18
+ */
19
+ export declare function AggregateQueryErrorNotice(props: AggregateQueryErrorNoticeProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=AggregateQueryErrorNotice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregateQueryErrorNotice.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/AggregateQueryErrorNotice.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAE5B,MAAM,+EAA+E,CAAA;AACtF,OAAO,EAEL,2BAA2B,EAC5B,MAAM,+EAA+E,CAAA;AAMtF,MAAM,MAAM,mBAAmB,GAC3B,2BAA2B,GAC3B,2BAA2B,CAAA;AAE/B;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,mBAAmB,GAAG,SAAS,CASjC;AAoBD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,mBAAmB,CAAA;IAC1B,wHAAwH;IACxH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CAmBtC"}
@@ -0,0 +1,50 @@
1
+ import { QueryVisualizationContext as e } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
2
+ import { useContext as t } from "react";
3
+ import { Box as n, Typography as r } from "@mui/material";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { SynapseClientError as o } from "@sage-bionetworks/synapse-client/util/SynapseClientError";
6
+ import { instanceOfBelowThresholdErrorResponse as s } from "@sage-bionetworks/synapse-client/generated/models/BelowThresholdErrorResponse";
7
+ import { instanceOfRowSuppressionErrorResponse as c } from "@sage-bionetworks/synapse-client/generated/models/RowSuppressionErrorResponse";
8
+ import l from "pluralize";
9
+ //#region src/components/QueryWrapper/AggregateQueryErrorNotice.tsx
10
+ function u(e) {
11
+ if (!(e instanceof o) || !e.errorResponse) return;
12
+ let t = e.errorResponse;
13
+ return s(t) || c(t) ? t : void 0;
14
+ }
15
+ function d(e, t) {
16
+ if (s(e)) {
17
+ let n = e.suppressionThreshold;
18
+ return {
19
+ title: n === void 0 ? `Too few ${t} match these filters` : `A minimum of ${n.toLocaleString()} ${t} is required`,
20
+ description: `Broaden your filters to include more ${t}.`
21
+ };
22
+ }
23
+ return {
24
+ title: "Individual records are not available",
25
+ description: "Your access to this data is limited to counts and charts, so individual records cannot be shown."
26
+ };
27
+ }
28
+ function f(o) {
29
+ let s = t(e)?.unitDescription ?? "result", { title: c, description: u } = d(o.error, o.pluralUnitDescription ?? l(s));
30
+ return /* @__PURE__ */ a(n, {
31
+ role: "status",
32
+ sx: {
33
+ textAlign: "center",
34
+ py: 4
35
+ },
36
+ children: [/* @__PURE__ */ i(r, {
37
+ variant: "headline3",
38
+ component: "p",
39
+ children: c
40
+ }), /* @__PURE__ */ i(r, {
41
+ variant: "body1",
42
+ sx: { mt: 1 },
43
+ children: u
44
+ })]
45
+ });
46
+ }
47
+ //#endregion
48
+ export { f as AggregateQueryErrorNotice, u as getAggregateQueryError };
49
+
50
+ //# sourceMappingURL=AggregateQueryErrorNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregateQueryErrorNotice.js","names":[],"sources":["../../../src/components/QueryWrapper/AggregateQueryErrorNotice.tsx"],"sourcesContent":["import { Box, Typography } from '@mui/material'\nimport {\n BelowThresholdErrorResponse,\n instanceOfBelowThresholdErrorResponse,\n} from '@sage-bionetworks/synapse-client/generated/models/BelowThresholdErrorResponse'\nimport {\n instanceOfRowSuppressionErrorResponse,\n RowSuppressionErrorResponse,\n} from '@sage-bionetworks/synapse-client/generated/models/RowSuppressionErrorResponse'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport pluralize from 'pluralize'\nimport { useContext } from 'react'\nimport { QueryVisualizationContext } from '../QueryVisualizationWrapper/QueryVisualizationContext'\n\nexport type AggregateQueryError =\n | BelowThresholdErrorResponse\n | RowSuppressionErrorResponse\n\n/**\n * Returns the server's error body when a table query was withheld because the caller has aggregate-only access: the\n * number of matching rows was below the suppression threshold (BELOW_THRESHOLD), or row results were requested\n * (ROW_SUPPRESSED). Returns undefined for any other error.\n */\nexport function getAggregateQueryError(\n error: unknown,\n): AggregateQueryError | undefined {\n if (!(error instanceof SynapseClientError) || !error.errorResponse) {\n return undefined\n }\n const body: object = error.errorResponse\n return instanceOfBelowThresholdErrorResponse(body) ||\n instanceOfRowSuppressionErrorResponse(body)\n ? body\n : undefined\n}\n\nfunction getNoticeText(error: AggregateQueryError, units: string) {\n if (instanceOfBelowThresholdErrorResponse(error)) {\n const threshold = error.suppressionThreshold\n return {\n title:\n threshold === undefined\n ? `Too few ${units} match these filters`\n : `A minimum of ${threshold.toLocaleString()} ${units} is required`,\n description: `Broaden your filters to include more ${units}.`,\n }\n }\n return {\n title: 'Individual records are not available',\n description:\n 'Your access to this data is limited to counts and charts, so individual records cannot be shown.',\n }\n}\n\nexport type AggregateQueryErrorNoticeProps = {\n error: AggregateQueryError\n /** What the queried rows are, in the plural (e.g. \"files and datasets\"). Defaults to the pluralized unitDescription. */\n pluralUnitDescription?: string\n}\n\n/**\n * Explains a table query result that the server withheld from a caller with aggregate-only access. It is a normal\n * state, not an error: the query is valid, and the caller can adjust it.\n */\nexport function AggregateQueryErrorNotice(\n props: AggregateQueryErrorNoticeProps,\n) {\n // Read the context directly: the notice can render outside a QueryVisualizationWrapper (e.g. from an ErrorBanner).\n const unitDescription =\n useContext(QueryVisualizationContext)?.unitDescription ?? 'result'\n const { title, description } = getNoticeText(\n props.error,\n props.pluralUnitDescription ?? pluralize(unitDescription),\n )\n return (\n <Box role=\"status\" sx={{ textAlign: 'center', py: 4 }}>\n <Typography variant=\"headline3\" component=\"p\">\n {title}\n </Typography>\n <Typography variant=\"body1\" sx={{ mt: 1 }}>\n {description}\n </Typography>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;AAuBA,SAAgB,EACd,GACiC;CACjC,IAAI,EAAE,aAAiB,MAAuB,CAAC,EAAM,eACnD;CAEF,IAAM,IAAe,EAAM;CAC3B,OAAO,EAAsC,CAAI,KAC/C,EAAsC,CAAI,IACxC,IACA,KAAA;AACN;AAEA,SAAS,EAAc,GAA4B,GAAe;CAChE,IAAI,EAAsC,CAAK,GAAG;EAChD,IAAM,IAAY,EAAM;EACxB,OAAO;GACL,OACE,MAAc,KAAA,IACV,WAAW,EAAM,wBACjB,gBAAgB,EAAU,eAAe,EAAE,GAAG,EAAM;GAC1D,aAAa,wCAAwC,EAAM;EAC7D;CACF;CACA,OAAO;EACL,OAAO;EACP,aACE;CACJ;AACF;AAYA,SAAgB,EACd,GACA;CAEA,IAAM,IACJ,EAAW,CAAyB,GAAG,mBAAmB,UACtD,EAAE,UAAO,mBAAgB,EAC7B,EAAM,OACN,EAAM,yBAAyB,EAAU,CAAe,CAC1D;CACA,OACE,kBAAC,GAAD;EAAK,MAAK;EAAS,IAAI;GAAE,WAAW;GAAU,IAAI;EAAE;YAApD,CACE,kBAAC,GAAD;GAAY,SAAQ;GAAY,WAAU;aACvC;EACS,CAAA,GACZ,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,IAAI,EAAE;aACrC;EACS,CAAA,CACT;;AAET"}
@@ -2,14 +2,16 @@ import { KeyFactory } from '@/synapse-queries';
2
2
  import { LockedColumn } from '@/utils/types/LockedColumn';
3
3
  import { SynapseClientError } from '@sage-bionetworks/synapse-client';
4
4
  import { AsynchronousJobStatus, QueryBundleRequest, QueryResultBundle, RowSet } from '@sage-bionetworks/synapse-types';
5
- import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseSuspenseQueryOptions } from '@tanstack/react-query';
5
+ import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseQueryOptions, UseSuspenseQueryOptions } from '@tanstack/react-query';
6
6
  export type TableQueryUseQueryOptions = {
7
- rowDataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined>;
7
+ /** Disabled when the request's partMask does not include BUNDLE_MASK_QUERY_RESULTS. */
8
+ rowDataQueryOptions: UseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined>;
9
+ /** Disabled when the request's partMask does not include BUNDLE_MASK_QUERY_RESULTS. */
8
10
  rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>, QueryKey, string | number | undefined>;
9
11
  queryMetadataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, Omit<QueryResultBundle, 'queryResult'>>;
10
12
  };
11
13
  export declare function getTableQueryUseQueryOptions(queryBundleRequest: QueryBundleRequest, lockedColumn: LockedColumn | undefined, keyFactory: KeyFactory, accessToken: string | undefined): {
12
- rowDataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined, readonly unknown[]>;
14
+ rowDataQueryOptions: UseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, RowSet | undefined, readonly unknown[]>;
13
15
  rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, unknown>, readonly unknown[], string | number | undefined>;
14
16
  queryMetadataQueryOptions: UseSuspenseQueryOptions<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>, SynapseClientError, Omit<QueryResultBundle, "queryResult">, readonly unknown[]>;
15
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEX,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACP,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAI9B,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,EAAE,uBAAuB,CAC1C,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,MAAM,GAAG,SAAS,CACnB,CAAA;IAED,2BAA2B,EAAE,uBAAuB,CAClD,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,EAC1E,QAAQ,EACR,MAAM,GAAG,MAAM,GAAG,SAAS,CAC5B,CAAA;IAED,yBAAyB,EAAE,uBAAuB,CAChD,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CACvC,CAAA;CACF,CAAA;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,GAAG,SAAS;;;;EAkDhC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,CAAC,EAAE,YAAY,GAC1B,yBAAyB,CAa3B"}
1
+ {"version":3,"file":"TableQueryUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,UAAU,EAEX,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EACP,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAI9B,MAAM,MAAM,yBAAyB,GAAG;IACtC,uFAAuF;IACvF,mBAAmB,EAAE,eAAe,CAClC,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,MAAM,GAAG,SAAS,CACnB,CAAA;IAED,uFAAuF;IACvF,2BAA2B,EAAE,uBAAuB,CAClD,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,EAC1E,QAAQ,EACR,MAAM,GAAG,MAAM,GAAG,SAAS,CAC5B,CAAA;IAED,yBAAyB,EAAE,uBAAuB,CAChD,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC5D,kBAAkB,EAClB,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CACvC,CAAA;CACF,CAAA;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,GAAG,SAAS;;;;EAqDhC;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,CAAC,EAAE,YAAY,GAC1B,yBAAyB,CAa3B"}
@@ -7,15 +7,19 @@ import { useMemo as o } from "react";
7
7
  import { omit as s } from "lodash-es";
8
8
  //#region src/components/QueryWrapper/TableQueryUseQueryOptions.ts
9
9
  function c(t, o, c, l) {
10
- let { rowDataRequest: u, queryMetadataRequest: d } = n(t);
10
+ let { rowDataRequest: u, queryMetadataRequest: d } = n(t), f = u.partMask > 0;
11
11
  return {
12
12
  rowDataQueryOptions: {
13
13
  ...a,
14
14
  queryKey: c.getEntityTableQueryResultWithAsyncStatusQueryKey(u, !1),
15
15
  queryFn: () => e(u, l),
16
- select: (e) => e.responseBody?.queryResult?.queryResults
16
+ select: (e) => e.responseBody?.queryResult?.queryResults,
17
+ enabled: f
18
+ },
19
+ rowDataInfiniteQueryOptions: {
20
+ ...i(u, c, l),
21
+ enabled: f
17
22
  },
18
- rowDataInfiniteQueryOptions: { ...i(u, c, l) },
19
23
  queryMetadataQueryOptions: {
20
24
  ...a,
21
25
  queryKey: c.getEntityTableQueryResultWithAsyncStatusQueryKey(d, !1),
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryUseQueryOptions.js","names":[],"sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"sourcesContent":["import * as SynapseClient from '@/synapse-client/SynapseClient'\nimport {\n getInfiniteQueryResultBundleOptions,\n KeyFactory,\n tableQueryUseQueryDefaults,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n partitionQueryBundleRequestIntoRowsAndMetadata,\n removeLockedColumnFromFacetData,\n} from '@/utils/functions/queryUtils'\nimport { LockedColumn } from '@/utils/types/LockedColumn'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit } from 'lodash-es'\nimport { useMemo } from 'react'\n\nexport type TableQueryUseQueryOptions = {\n rowDataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n RowSet | undefined\n >\n\n rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>,\n QueryKey,\n string | number | undefined\n >\n\n queryMetadataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n Omit<QueryResultBundle, 'queryResult'>\n >\n}\n\nexport function getTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn: LockedColumn | undefined,\n keyFactory: KeyFactory,\n accessToken: string | undefined,\n) {\n const { rowDataRequest, queryMetadataRequest } =\n partitionQueryBundleRequestIntoRowsAndMetadata(queryBundleRequest)\n const rowDataQueryOptions: TableQueryUseQueryOptions['rowDataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n rowDataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(rowDataRequest, accessToken),\n select: data => data.responseBody?.queryResult?.queryResults,\n }\n\n const rowDataInfiniteQueryOptions: TableQueryUseQueryOptions['rowDataInfiniteQueryOptions'] =\n {\n ...getInfiniteQueryResultBundleOptions(\n rowDataRequest,\n keyFactory,\n accessToken,\n ),\n }\n\n const queryMetadataQueryOptions: TableQueryUseQueryOptions['queryMetadataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryMetadataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(\n queryMetadataRequest,\n accessToken,\n ),\n\n select: data =>\n omit(\n removeLockedColumnFromFacetData(data.responseBody, lockedColumn),\n 'queryResults',\n ),\n }\n\n return {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n }\n}\n\n/**\n * Return the UseQueryOptions used to retrieve a table query's row data and query metadata.\n * @param queryBundleRequest\n * @param lockedColumn - remove a particular facet name (e.g. study) and all possible values based on the parameter\n * specified in the url this is to remove the facet from the charts, search and filter.\n */\nexport function useTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn?: LockedColumn,\n): TableQueryUseQueryOptions {\n const { keyFactory, accessToken } = useSynapseContext()\n\n return useMemo(\n () =>\n getTableQueryUseQueryOptions(\n queryBundleRequest,\n lockedColumn,\n keyFactory,\n accessToken,\n ),\n [keyFactory, accessToken, queryBundleRequest, lockedColumn],\n )\n}\n"],"mappings":";;;;;;;;AAkDA,SAAgB,EACd,GACA,GACA,GACA,GACA;CACA,IAAM,EAAE,mBAAgB,4BACtB,EAA+C,CAAkB;CA0CnE,OAAO;EACL,qBAAA;GAxCE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EAA2C,GAAgB,CAAW;GACxE,SAAQ,MAAQ,EAAK,cAAc,aAAa;EAiClD;EACA,6BAAA,EA7BE,GAAG,EACD,GACA,GACA,CACF,EAyBF;EACA,2BAAA;GArBE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EACE,GACA,CACF;GAEF,SAAQ,MACN,EACE,EAAgC,EAAK,cAAc,CAAY,GAC/D,cACF;EAMJ;CACF;AACF;AAQA,SAAgB,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,eAAY,mBAAgB,EAAkB;CAEtD,OAAO,QAEH,EACE,GACA,GACA,GACA,CACF,GACF;EAAC;EAAY;EAAa;EAAoB;CAAY,CAC5D;AACF"}
1
+ {"version":3,"file":"TableQueryUseQueryOptions.js","names":[],"sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"sourcesContent":["import * as SynapseClient from '@/synapse-client/SynapseClient'\nimport {\n getInfiniteQueryResultBundleOptions,\n KeyFactory,\n tableQueryUseQueryDefaults,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n partitionQueryBundleRequestIntoRowsAndMetadata,\n removeLockedColumnFromFacetData,\n} from '@/utils/functions/queryUtils'\nimport { LockedColumn } from '@/utils/types/LockedColumn'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseQueryOptions,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit } from 'lodash-es'\nimport { useMemo } from 'react'\n\nexport type TableQueryUseQueryOptions = {\n /** Disabled when the request's partMask does not include BUNDLE_MASK_QUERY_RESULTS. */\n rowDataQueryOptions: UseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n RowSet | undefined\n >\n\n /** Disabled when the request's partMask does not include BUNDLE_MASK_QUERY_RESULTS. */\n rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>,\n QueryKey,\n string | number | undefined\n >\n\n queryMetadataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n Omit<QueryResultBundle, 'queryResult'>\n >\n}\n\nexport function getTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn: LockedColumn | undefined,\n keyFactory: KeyFactory,\n accessToken: string | undefined,\n) {\n const { rowDataRequest, queryMetadataRequest } =\n partitionQueryBundleRequestIntoRowsAndMetadata(queryBundleRequest)\n const isRowDataRequested = rowDataRequest.partMask > 0\n const rowDataQueryOptions: TableQueryUseQueryOptions['rowDataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n rowDataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(rowDataRequest, accessToken),\n select: data => data.responseBody?.queryResult?.queryResults,\n enabled: isRowDataRequested,\n }\n\n const rowDataInfiniteQueryOptions: TableQueryUseQueryOptions['rowDataInfiniteQueryOptions'] =\n {\n ...getInfiniteQueryResultBundleOptions(\n rowDataRequest,\n keyFactory,\n accessToken,\n ),\n enabled: isRowDataRequested,\n }\n\n const queryMetadataQueryOptions: TableQueryUseQueryOptions['queryMetadataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryMetadataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(\n queryMetadataRequest,\n accessToken,\n ),\n\n select: data =>\n omit(\n removeLockedColumnFromFacetData(data.responseBody, lockedColumn),\n 'queryResults',\n ),\n }\n\n return {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n }\n}\n\n/**\n * Return the UseQueryOptions used to retrieve a table query's row data and query metadata.\n * @param queryBundleRequest\n * @param lockedColumn - remove a particular facet name (e.g. study) and all possible values based on the parameter\n * specified in the url this is to remove the facet from the charts, search and filter.\n */\nexport function useTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn?: LockedColumn,\n): TableQueryUseQueryOptions {\n const { keyFactory, accessToken } = useSynapseContext()\n\n return useMemo(\n () =>\n getTableQueryUseQueryOptions(\n queryBundleRequest,\n lockedColumn,\n keyFactory,\n accessToken,\n ),\n [keyFactory, accessToken, queryBundleRequest, lockedColumn],\n )\n}\n"],"mappings":";;;;;;;;AAqDA,SAAgB,EACd,GACA,GACA,GACA,GACA;CACA,IAAM,EAAE,mBAAgB,4BACtB,EAA+C,CAAkB,GAC7D,IAAqB,EAAe,WAAW;CA4CrD,OAAO;EACL,qBAAA;GA1CE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EAA2C,GAAgB,CAAW;GACxE,SAAQ,MAAQ,EAAK,cAAc,aAAa;GAChD,SAAS;EAkCX;EACA,6BAAA;GA9BE,GAAG,EACD,GACA,GACA,CACF;GACA,SAAS;EAyBX;EACA,2BAAA;GArBE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EACE,GACA,CACF;GAEF,SAAQ,MACN,EACE,EAAgC,EAAK,cAAc,CAAY,GAC/D,cACF;EAMJ;CACF;AACF;AAQA,SAAgB,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,eAAY,mBAAgB,EAAkB;CAEtD,OAAO,QAEH,EACE,GACA,GACA,GACA,CACF,GACF;EAAC;EAAY;EAAa;EAAoB;CAAY,CAC5D;AACF"}
@@ -0,0 +1,25 @@
1
+ import { ColumnModel, DownloadListItem, Row, SelectColumn, Table } from '@sage-bionetworks/synapse-types';
2
+ /** Where the files of a query's rows are, for adding them to the Download List. */
3
+ export type DownloadListFileColumns = {
4
+ /** The column with each row's file or dataset: `fileIdColumnName`, else the table's file column. */
5
+ fileColumn?: ColumnModel;
6
+ /** The column with each row's file version, when `fileVersionColumnName` names one. */
7
+ fileVersionColumn?: ColumnModel;
8
+ /**
9
+ * True for views and datasets, whose rows are the entities themselves. Without a file column a row's ID is its file,
10
+ * and without a version column its row version is the file version. The server reads other tables' files at their
11
+ * current version unless a version column is named.
12
+ */
13
+ rowsAreEntities: boolean;
14
+ };
15
+ /**
16
+ * Finds the file and version columns of a query, so that adding the whole result and adding selected rows pick the
17
+ * same files.
18
+ */
19
+ export declare function getDownloadListFileColumns(table: Table | undefined, columnModels: ColumnModel[] | undefined, fileIdColumnName: string | undefined, fileVersionColumnName: string | undefined): DownloadListFileColumns;
20
+ /**
21
+ * The Download List items for some rows of a query: each row's file or dataset at its version (see
22
+ * DownloadListFileColumns). Rows without a file are skipped, and an item in several rows is listed once.
23
+ */
24
+ export declare function getDownloadListItems(rows: readonly Row[], selectColumns: readonly SelectColumn[] | undefined, columns: DownloadListFileColumns): DownloadListItem[];
25
+ //# sourceMappingURL=downloadListFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadListFiles.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/downloadListFiles.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,GAAG,EACH,YAAY,EACZ,KAAK,EACN,MAAM,iCAAiC,CAAA;AAExC,mFAAmF;AACnF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oGAAoG;IACpG,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,WAAW,CAAA;IAC/B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,qBAAqB,EAAE,MAAM,GAAG,SAAS,GACxC,uBAAuB,CAezB;AA8BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GAAG,EAAE,EACpB,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,EAClD,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,EAAE,CAsBpB"}
@@ -0,0 +1,39 @@
1
+ import { isDataset as e, isEntityView as t } from "../../utils/functions/EntityTypeUtils.js";
2
+ import { getFileColumnModelId as n } from "../SynapseTable/SynapseTableUtils.js";
3
+ //#region src/components/QueryWrapper/downloadListFiles.ts
4
+ function r(r, i, a, o) {
5
+ let s = n(i);
6
+ return {
7
+ fileColumn: i?.find((e) => a === void 0 ? e.id === s : e.name === a),
8
+ fileVersionColumn: o === void 0 ? void 0 : i?.find((e) => e.name === o),
9
+ rowsAreEntities: r !== void 0 && (t(r) || e(r))
10
+ };
11
+ }
12
+ function i(e, t, n, r) {
13
+ let i = t >= 0 ? e.values[t] : r && e.rowId != null ? `syn${e.rowId}` : null;
14
+ if (i) {
15
+ if (n >= 0) {
16
+ let t = e.values[n];
17
+ return {
18
+ fileEntityId: i,
19
+ versionNumber: t == null ? void 0 : Number(t)
20
+ };
21
+ }
22
+ return {
23
+ fileEntityId: i,
24
+ versionNumber: r ? e.versionNumber : void 0
25
+ };
26
+ }
27
+ }
28
+ function a(e, t, n) {
29
+ let r = (e) => e === void 0 ? -1 : (t ?? []).findIndex((t) => t.name === e.name), a = r(n.fileColumn), o = r(n.fileVersionColumn), s = /* @__PURE__ */ new Map();
30
+ for (let t of e) {
31
+ let e = i(t, a, o, n.rowsAreEntities);
32
+ e && s.set(`${e.fileEntityId}.${e.versionNumber ?? ""}`, e);
33
+ }
34
+ return [...s.values()];
35
+ }
36
+ //#endregion
37
+ export { r as getDownloadListFileColumns, a as getDownloadListItems };
38
+
39
+ //# sourceMappingURL=downloadListFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadListFiles.js","names":[],"sources":["../../../src/components/QueryWrapper/downloadListFiles.ts"],"sourcesContent":["import { getFileColumnModelId } from '@/components/SynapseTable/SynapseTableUtils'\nimport { isDataset, isEntityView } from '@/utils/functions/EntityTypeUtils'\nimport {\n ColumnModel,\n DownloadListItem,\n Row,\n SelectColumn,\n Table,\n} from '@sage-bionetworks/synapse-types'\n\n/** Where the files of a query's rows are, for adding them to the Download List. */\nexport type DownloadListFileColumns = {\n /** The column with each row's file or dataset: `fileIdColumnName`, else the table's file column. */\n fileColumn?: ColumnModel\n /** The column with each row's file version, when `fileVersionColumnName` names one. */\n fileVersionColumn?: ColumnModel\n /**\n * True for views and datasets, whose rows are the entities themselves. Without a file column a row's ID is its file,\n * and without a version column its row version is the file version. The server reads other tables' files at their\n * current version unless a version column is named.\n */\n rowsAreEntities: boolean\n}\n\n/**\n * Finds the file and version columns of a query, so that adding the whole result and adding selected rows pick the\n * same files.\n */\nexport function getDownloadListFileColumns(\n table: Table | undefined,\n columnModels: ColumnModel[] | undefined,\n fileIdColumnName: string | undefined,\n fileVersionColumnName: string | undefined,\n): DownloadListFileColumns {\n const defaultFileColumnId = getFileColumnModelId(columnModels)\n return {\n fileColumn: columnModels?.find(column =>\n fileIdColumnName === undefined\n ? column.id === defaultFileColumnId\n : column.name === fileIdColumnName,\n ),\n fileVersionColumn:\n fileVersionColumnName === undefined\n ? undefined\n : columnModels?.find(column => column.name === fileVersionColumnName),\n rowsAreEntities:\n table !== undefined && (isEntityView(table) || isDataset(table)),\n }\n}\n\nfunction getDownloadListItem(\n row: Row,\n fileColumnIndex: number,\n versionColumnIndex: number,\n rowsAreEntities: boolean,\n): DownloadListItem | undefined {\n const fileEntityId =\n fileColumnIndex >= 0\n ? row.values[fileColumnIndex]\n : rowsAreEntities && row.rowId != null\n ? `syn${row.rowId}`\n : null\n if (!fileEntityId) {\n return undefined\n }\n if (versionColumnIndex >= 0) {\n const version = row.values[versionColumnIndex]\n return {\n fileEntityId,\n versionNumber: version == null ? undefined : Number(version),\n }\n }\n return {\n fileEntityId,\n versionNumber: rowsAreEntities ? row.versionNumber : undefined,\n }\n}\n\n/**\n * The Download List items for some rows of a query: each row's file or dataset at its version (see\n * DownloadListFileColumns). Rows without a file are skipped, and an item in several rows is listed once.\n */\nexport function getDownloadListItems(\n rows: readonly Row[],\n selectColumns: readonly SelectColumn[] | undefined,\n columns: DownloadListFileColumns,\n): DownloadListItem[] {\n const columnIndex = (column: ColumnModel | undefined) =>\n column === undefined\n ? -1\n : (selectColumns ?? []).findIndex(\n selectColumn => selectColumn.name === column.name,\n )\n const fileColumnIndex = columnIndex(columns.fileColumn)\n const versionColumnIndex = columnIndex(columns.fileVersionColumn)\n const items = new Map<string, DownloadListItem>()\n for (const row of rows) {\n const item = getDownloadListItem(\n row,\n fileColumnIndex,\n versionColumnIndex,\n columns.rowsAreEntities,\n )\n if (item) {\n items.set(`${item.fileEntityId}.${item.versionNumber ?? ''}`, item)\n }\n }\n return [...items.values()]\n}\n"],"mappings":";;;AA4BA,SAAgB,EACd,GACA,GACA,GACA,GACyB;CACzB,IAAM,IAAsB,EAAqB,CAAY;CAC7D,OAAO;EACL,YAAY,GAAc,MAAK,MAC7B,MAAqB,KAAA,IACjB,EAAO,OAAO,IACd,EAAO,SAAS,CACtB;EACA,mBACE,MAA0B,KAAA,IACtB,KAAA,IACA,GAAc,MAAK,MAAU,EAAO,SAAS,CAAqB;EACxE,iBACE,MAAU,KAAA,MAAc,EAAa,CAAK,KAAK,EAAU,CAAK;CAClE;AACF;AAEA,SAAS,EACP,GACA,GACA,GACA,GAC8B;CAC9B,IAAM,IACJ,KAAmB,IACf,EAAI,OAAO,KACX,KAAmB,EAAI,SAAS,OAC9B,MAAM,EAAI,UACV;CACH,OAGL;MAAI,KAAsB,GAAG;GAC3B,IAAM,IAAU,EAAI,OAAO;GAC3B,OAAO;IACL;IACA,eAAe,KAAW,OAAO,KAAA,IAAY,OAAO,CAAO;GAC7D;EACF;EACA,OAAO;GACL;GACA,eAAe,IAAkB,EAAI,gBAAgB,KAAA;EACvD;CAJA;AAKF;AAMA,SAAgB,EACd,GACA,GACA,GACoB;CACpB,IAAM,KAAe,MACnB,MAAW,KAAA,IACP,MACC,KAAiB,CAAC,GAAG,WACpB,MAAgB,EAAa,SAAS,EAAO,IAC/C,GACA,IAAkB,EAAY,EAAQ,UAAU,GAChD,IAAqB,EAAY,EAAQ,iBAAiB,GAC1D,oBAAQ,IAAI,IAA8B;CAChD,KAAK,IAAM,KAAO,GAAM;EACtB,IAAM,IAAO,EACX,GACA,GACA,GACA,EAAQ,eACV;EACA,AAAI,KACF,EAAM,IAAI,GAAG,EAAK,aAAa,GAAG,EAAK,iBAAiB,MAAM,CAAI;CAEtE;CACA,OAAO,CAAC,GAAG,EAAM,OAAO,CAAC;AAC3B"}
@@ -0,0 +1,16 @@
1
+ export declare const NO_FILES_IN_SELECTED_ROWS_MESSAGE = "The selected rows have no files to add to your Download List.";
2
+ export declare const TOO_MANY_SELECTED_ROWS_MESSAGE: string;
3
+ export declare const NO_NEW_FILES_ADDED_MESSAGE = "No new files were added to your Download List.";
4
+ /**
5
+ * Adds the files and datasets of the selected rows of the current query to the Download List in one request, without
6
+ * a confirmation step, and reports how many files the server added in a toast. The request is all or nothing, so at
7
+ * most MAX_DOWNLOAD_LIST_BATCH_SIZE items can be added at once.
8
+ *
9
+ * Each row's item is chosen as for adding the whole result; see `getDownloadListFileColumns` and
10
+ * `getDownloadListItems`.
11
+ */
12
+ export declare function useAddSelectedRowsToDownloadList(): {
13
+ addSelectedRowsToDownloadList: () => Promise<void>;
14
+ isPending: boolean;
15
+ };
16
+ //# sourceMappingURL=useAddSelectedRowsToDownloadList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddSelectedRowsToDownloadList.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/useAddSelectedRowsToDownloadList.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iCAAiC,kEACmB,CAAA;AACjE,eAAO,MAAM,8BAA8B,QAA6H,CAAA;AACxK,eAAO,MAAM,0BAA0B,mDACW,CAAA;AAElD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC;;;EAwE/C"}
@@ -0,0 +1,50 @@
1
+ import { displayToast as e } from "../ToastMessage/ToastMessage.js";
2
+ import { useSynapseContext as t } from "../../utils/context/SynapseContext.js";
3
+ import "../../utils/index.js";
4
+ import { MAX_DOWNLOAD_LIST_BATCH_SIZE as n, useAddFileBatchToDownloadList as r } from "../../synapse-queries/download/useDownloadList.js";
5
+ import { useGetEntityQueryOptions as i } from "../../synapse-queries/entity/useEntity.js";
6
+ import "../../synapse-queries/index.js";
7
+ import { displayFilesWereAddedToDownloadListSuccess as a } from "../download_list/DownloadConfirmationUtils.js";
8
+ import { useQueryContext as o } from "../QueryContext/QueryContext.js";
9
+ import "../QueryContext/index.js";
10
+ import { useSelectedRowsAtomValue as s } from "./TableRowSelectionState.js";
11
+ import { getDownloadListFileColumns as c, getDownloadListItems as l } from "./downloadListFiles.js";
12
+ import { useCallback as u } from "react";
13
+ import { SynapseClientError as d } from "@sage-bionetworks/synapse-client";
14
+ import { useQueryClient as f } from "@tanstack/react-query";
15
+ //#region src/components/QueryWrapper/useAddSelectedRowsToDownloadList.ts
16
+ var p = "The selected rows have no files to add to your Download List.", m = `Select at most ${n.toLocaleString()} files and datasets to add to your Download List at once.`, h = "No new files were added to your Download List.";
17
+ function g() {
18
+ let { entityId: n, versionNumber: g, fileIdColumnName: _, fileVersionColumnName: v, queryMetadataQueryOptions: y } = o(), { downloadCartPageUrl: b } = t(), x = f(), S = i(), C = s(), { mutate: w, isPending: T } = r({
19
+ onSuccess: ({ numberOfFilesAdded: t }) => t > 0 ? a(b, t) : e(h, "warning"),
20
+ onError: (t) => e(t.reason, "danger")
21
+ });
22
+ return {
23
+ addSelectedRowsToDownloadList: u(async () => {
24
+ let t;
25
+ try {
26
+ let [e, r] = await Promise.all([x.ensureQueryData(S(n, g)), x.ensureQueryData(y)]), { columnModels: i, selectColumns: a } = r.responseBody ?? {};
27
+ t = l(C, a, c(e, i, _, v));
28
+ } catch (t) {
29
+ e(t instanceof d ? t.reason : String(t), "danger");
30
+ return;
31
+ }
32
+ t.length === 0 ? e(p, "warning") : t.length > 1e3 ? e(m, "warning") : w(t);
33
+ }, [
34
+ n,
35
+ _,
36
+ v,
37
+ S,
38
+ w,
39
+ x,
40
+ y,
41
+ C,
42
+ g
43
+ ]),
44
+ isPending: T
45
+ };
46
+ }
47
+ //#endregion
48
+ export { p as NO_FILES_IN_SELECTED_ROWS_MESSAGE, h as NO_NEW_FILES_ADDED_MESSAGE, m as TOO_MANY_SELECTED_ROWS_MESSAGE, g as useAddSelectedRowsToDownloadList };
49
+
50
+ //# sourceMappingURL=useAddSelectedRowsToDownloadList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddSelectedRowsToDownloadList.js","names":[],"sources":["../../../src/components/QueryWrapper/useAddSelectedRowsToDownloadList.ts"],"sourcesContent":["import { useQueryContext } from '@/components/QueryContext'\nimport { useSelectedRowsAtomValue } from '@/components/QueryWrapper/TableRowSelectionState'\nimport { displayFilesWereAddedToDownloadListSuccess } from '@/components/download_list/DownloadConfirmationUtils'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\nimport { useGetEntityQueryOptions } from '@/synapse-queries'\nimport {\n MAX_DOWNLOAD_LIST_BATCH_SIZE,\n useAddFileBatchToDownloadList,\n} from '@/synapse-queries/download/useDownloadList'\nimport { useSynapseContext } from '@/utils'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport {\n getDownloadListFileColumns,\n getDownloadListItems,\n} from './downloadListFiles'\n\nexport const NO_FILES_IN_SELECTED_ROWS_MESSAGE =\n 'The selected rows have no files to add to your Download List.'\nexport const TOO_MANY_SELECTED_ROWS_MESSAGE = `Select at most ${MAX_DOWNLOAD_LIST_BATCH_SIZE.toLocaleString()} files and datasets to add to your Download List at once.`\nexport const NO_NEW_FILES_ADDED_MESSAGE =\n 'No new files were added to your Download List.'\n\n/**\n * Adds the files and datasets of the selected rows of the current query to the Download List in one request, without\n * a confirmation step, and reports how many files the server added in a toast. The request is all or nothing, so at\n * most MAX_DOWNLOAD_LIST_BATCH_SIZE items can be added at once.\n *\n * Each row's item is chosen as for adding the whole result; see `getDownloadListFileColumns` and\n * `getDownloadListItems`.\n */\nexport function useAddSelectedRowsToDownloadList() {\n const {\n entityId,\n versionNumber,\n fileIdColumnName,\n fileVersionColumnName,\n queryMetadataQueryOptions,\n } = useQueryContext()\n const { downloadCartPageUrl } = useSynapseContext()\n const queryClient = useQueryClient()\n const getEntityQueryOptions = useGetEntityQueryOptions<Table>()\n const selectedRows = useSelectedRowsAtomValue()\n\n const { mutate, isPending } = useAddFileBatchToDownloadList({\n onSuccess: ({ numberOfFilesAdded }) =>\n numberOfFilesAdded > 0\n ? displayFilesWereAddedToDownloadListSuccess(\n downloadCartPageUrl,\n numberOfFilesAdded,\n )\n : displayToast(NO_NEW_FILES_ADDED_MESSAGE, 'warning'),\n onError: error => displayToast(error.reason, 'danger'),\n })\n\n const addSelectedRowsToDownloadList = useCallback(async () => {\n let items\n try {\n // The table and its columns decide which file each row holds, so they are loaded if not already cached.\n const [table, queryMetadata] = await Promise.all([\n queryClient.ensureQueryData(\n getEntityQueryOptions(entityId, versionNumber),\n ),\n queryClient.ensureQueryData(queryMetadataQueryOptions),\n ])\n const { columnModels, selectColumns } = queryMetadata.responseBody ?? {}\n items = getDownloadListItems(\n selectedRows,\n selectColumns,\n getDownloadListFileColumns(\n table,\n columnModels,\n fileIdColumnName,\n fileVersionColumnName,\n ),\n )\n } catch (error) {\n displayToast(\n error instanceof SynapseClientError ? error.reason : String(error),\n 'danger',\n )\n return\n }\n if (items.length === 0) {\n displayToast(NO_FILES_IN_SELECTED_ROWS_MESSAGE, 'warning')\n } else if (items.length > MAX_DOWNLOAD_LIST_BATCH_SIZE) {\n displayToast(TOO_MANY_SELECTED_ROWS_MESSAGE, 'warning')\n } else {\n mutate(items)\n }\n }, [\n entityId,\n fileIdColumnName,\n fileVersionColumnName,\n getEntityQueryOptions,\n mutate,\n queryClient,\n queryMetadataQueryOptions,\n selectedRows,\n versionNumber,\n ])\n\n return { addSelectedRowsToDownloadList, isPending }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAa,IACX,iEACW,IAAiC,kBAAkB,EAA6B,eAAe,EAAE,4DACjG,IACX;AAUF,SAAgB,IAAmC;CACjD,IAAM,EACJ,aACA,kBACA,qBACA,0BACA,iCACE,EAAgB,GACd,EAAE,2BAAwB,EAAkB,GAC5C,IAAc,EAAe,GAC7B,IAAwB,EAAgC,GACxD,IAAe,EAAyB,GAExC,EAAE,WAAQ,iBAAc,EAA8B;EAC1D,YAAY,EAAE,4BACZ,IAAqB,IACjB,EACE,GACA,CACF,IACA,EAAa,GAA4B,SAAS;EACxD,UAAS,MAAS,EAAa,EAAM,QAAQ,QAAQ;CACvD,CAAC;CAiDD,OAAO;EAAE,+BA/C6B,EAAY,YAAY;GAC5D,IAAI;GACJ,IAAI;IAEF,IAAM,CAAC,GAAO,KAAiB,MAAM,QAAQ,IAAI,CAC/C,EAAY,gBACV,EAAsB,GAAU,CAAa,CAC/C,GACA,EAAY,gBAAgB,CAAyB,CACvD,CAAC,GACK,EAAE,iBAAc,qBAAkB,EAAc,gBAAgB,CAAC;IACvE,IAAQ,EACN,GACA,GACA,EACE,GACA,GACA,GACA,CACF,CACF;GACF,SAAS,GAAO;IACd,EACE,aAAiB,IAAqB,EAAM,SAAS,OAAO,CAAK,GACjE,QACF;IACA;GACF;GACA,AAAI,EAAM,WAAW,IACnB,EAAa,GAAmC,SAAS,IAChD,EAAM,SAAA,MACf,EAAa,GAAgC,SAAS,IAEtD,EAAO,CAAK;EAEhB,GAAG;GACD;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAES;EAA+B;CAAU;AACpD"}
@@ -1,7 +1,10 @@
1
1
  import { AddToDownloadListRequest } from '@sage-bionetworks/synapse-client';
2
2
  /**
3
3
  * Returns an AddToDownloadListRequest object configured to add the current fileview/dataset result set to the download list
4
- * (loads data using QueryWrapper)
4
+ * (loads data using QueryWrapper). Selected rows are not considered; see `useAddSelectedRowsToDownloadList`.
5
+ *
6
+ * Files are read from `fileIdColumnName` (else the table's file column) at the version in `fileVersionColumnName`, else
7
+ * at the row version for views and datasets, else at their current version.
5
8
  */
6
9
  export declare function useGetAddToDownloadListRequestForCurrentQuery(): AddToDownloadListRequest;
7
10
  //# sourceMappingURL=useGetAddToDownloadListRequestForCurrentQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAA;AAGzC;;;GAGG;AACH,wBAAgB,6CAA6C,IAAI,wBAAwB,CAkExF"}
1
+ {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,wBAAwB,EAEzB,MAAM,kCAAkC,CAAA;AAKzC;;;;;;GAMG;AACH,wBAAgB,6CAA6C,IAAI,wBAAwB,CA+CxF"}
@@ -1,42 +1,29 @@
1
- import { getFileColumnModelId as e } from "../SynapseTable/SynapseTableUtils.js";
1
+ import { useGetEntity as e } from "../../synapse-queries/entity/useEntity.js";
2
+ import "../../synapse-queries/index.js";
2
3
  import { useQueryContext as t } from "../QueryContext/QueryContext.js";
3
4
  import "../QueryContext/index.js";
4
5
  import { useSuspenseGetQueryMetadata as n } from "./useGetQueryMetadata.js";
5
- import { useHasSelectedRowsAtomValue as r, useRowSelectionPrimaryKeyAtomValue as i, useSelectedRowsAtomValue as a } from "./TableRowSelectionState.js";
6
- import { getPrimaryKeyINFilter as o } from "../../utils/functions/QueryFilterUtils.js";
7
- import { useMemo as s } from "react";
6
+ import { getDownloadListFileColumns as r } from "./downloadListFiles.js";
7
+ import { useMemo as i } from "react";
8
8
  //#region src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts
9
- function c() {
10
- let { getCurrentQueryRequest: c, fileIdColumnName: l, fileVersionColumnName: u } = t(), { data: d } = n(), f = r(), p = a(), m = i();
11
- return s(() => {
12
- let t = c().query;
13
- if (l && u) {
14
- let e = d.columnModels?.find((e) => e.name == l), n = d.columnModels?.find((e) => e.name == u);
15
- t.selectFileColumn = e ? Number(e.id) : void 0, t.selectFileVersionColumn = n ? Number(n.id) : void 0;
16
- } else {
17
- let n = e(d.columnModels);
18
- n && (t.selectFileColumn = Number(n));
19
- }
20
- if (f && m && d.selectColumns) {
21
- let e = o(m, p, d.selectColumns);
22
- t.additionalFilters = [...t.additionalFilters || [], e];
23
- }
24
- return {
9
+ function a() {
10
+ let { entityId: a, versionNumber: o, getCurrentQueryRequest: s, fileIdColumnName: c, fileVersionColumnName: l } = t(), { data: u } = e(a, o), { data: d } = n();
11
+ return i(() => {
12
+ let e = s().query, { fileColumn: t, fileVersionColumn: n, rowsAreEntities: i } = r(u, d.columnModels, c, l);
13
+ return t && (e.selectFileColumn = Number(t.id)), n && (e.selectFileVersionColumn = Number(n.id)), {
25
14
  concreteType: "org.sagebionetworks.repo.model.download.AddToDownloadListRequest",
26
- query: t
15
+ query: e,
16
+ ...n === void 0 && u !== void 0 && !i ? { useVersionNumber: !1 } : {}
27
17
  };
28
18
  }, [
19
+ u,
29
20
  d.columnModels,
30
- d.selectColumns,
21
+ s,
31
22
  c,
32
- f,
33
- m,
34
- p,
35
- l,
36
- u
23
+ l
37
24
  ]);
38
25
  }
39
26
  //#endregion
40
- export { c as useGetAddToDownloadListRequestForCurrentQuery };
27
+ export { a as useGetAddToDownloadListRequestForCurrentQuery };
41
28
 
42
29
  //# sourceMappingURL=useGetAddToDownloadListRequestForCurrentQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"sourcesContent":["import { useQueryContext } from '@/components/QueryContext'\nimport {\n useHasSelectedRowsAtomValue,\n useRowSelectionPrimaryKeyAtomValue,\n useSelectedRowsAtomValue,\n} from '@/components/QueryWrapper/TableRowSelectionState'\nimport { useSuspenseGetQueryMetadata } from '@/components/QueryWrapper/useGetQueryMetadata'\nimport { getFileColumnModelId } from '@/components/SynapseTable/SynapseTableUtils'\nimport { getPrimaryKeyINFilter } from '@/utils/functions/QueryFilterUtils'\nimport {\n AddToDownloadListRequest,\n TableQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { useMemo } from 'react'\n\n/**\n * Returns an AddToDownloadListRequest object configured to add the current fileview/dataset result set to the download list\n * (loads data using QueryWrapper)\n */\nexport function useGetAddToDownloadListRequestForCurrentQuery(): AddToDownloadListRequest {\n const { getCurrentQueryRequest, fileIdColumnName, fileVersionColumnName } =\n useQueryContext()\n const { data: originalQueryMetadata } = useSuspenseGetQueryMetadata()\n\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n const selectedRows = useSelectedRowsAtomValue()\n const rowSelectionPrimaryKey = useRowSelectionPrimaryKeyAtomValue()\n\n return useMemo(() => {\n const query = getCurrentQueryRequest().query\n // set the query.selectFileColumn\n if (fileIdColumnName && fileVersionColumnName) {\n // find the column model ID and set the parameters\n const fileIdColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileIdColumnName,\n )\n const fileVersionColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileVersionColumnName,\n )\n\n query.selectFileColumn = fileIdColumnModel\n ? Number(fileIdColumnModel.id)\n : undefined\n query.selectFileVersionColumn = fileVersionColumnModel\n ? Number(fileVersionColumnModel.id)\n : undefined\n } else {\n const fileColumnId = getFileColumnModelId(\n originalQueryMetadata.columnModels,\n )\n if (fileColumnId) {\n query.selectFileColumn = Number(fileColumnId)\n }\n }\n\n if (\n hasSelectedRows &&\n rowSelectionPrimaryKey &&\n originalQueryMetadata.selectColumns\n ) {\n const primaryKeyINFilter = getPrimaryKeyINFilter(\n rowSelectionPrimaryKey,\n selectedRows,\n originalQueryMetadata.selectColumns,\n )\n query.additionalFilters = [\n ...(query.additionalFilters || []),\n primaryKeyINFilter,\n ]\n }\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n query: query as TableQuery,\n }\n }, [\n originalQueryMetadata.columnModels,\n originalQueryMetadata.selectColumns,\n getCurrentQueryRequest,\n hasSelectedRows,\n rowSelectionPrimaryKey,\n selectedRows,\n fileIdColumnName,\n fileVersionColumnName,\n ])\n}\n"],"mappings":";;;;;;;;AAmBA,SAAgB,IAA0E;CACxF,IAAM,EAAE,2BAAwB,qBAAkB,6BAChD,EAAgB,GACZ,EAAE,MAAM,MAA0B,EAA4B,GAE9D,IAAkB,EAA4B,GAC9C,IAAe,EAAyB,GACxC,IAAyB,EAAmC;CAElE,OAAO,QAAc;EACnB,IAAM,IAAQ,EAAuB,EAAE;EAEvC,IAAI,KAAoB,GAAuB;GAE7C,IAAM,IAAoB,EAAsB,cAAc,MAC5D,MAAO,EAAI,QAAQ,CACrB,GACM,IAAyB,EAAsB,cAAc,MACjE,MAAO,EAAI,QAAQ,CACrB;GAKA,AAHA,EAAM,mBAAmB,IACrB,OAAO,EAAkB,EAAE,IAC3B,KAAA,GACJ,EAAM,0BAA0B,IAC5B,OAAO,EAAuB,EAAE,IAChC,KAAA;EACN,OAAO;GACL,IAAM,IAAe,EACnB,EAAsB,YACxB;GACA,AAAI,MACF,EAAM,mBAAmB,OAAO,CAAY;EAEhD;EAEA,IACE,KACA,KACA,EAAsB,eACtB;GACA,IAAM,IAAqB,EACzB,GACA,GACA,EAAsB,aACxB;GACA,EAAM,oBAAoB,CACxB,GAAI,EAAM,qBAAqB,CAAC,GAChC,CACF;EACF;EACA,OAAO;GACL,cACE;GACK;EACT;CACF,GAAG;EACD,EAAsB;EACtB,EAAsB;EACtB;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"sourcesContent":["import { useQueryContext } from '@/components/QueryContext'\nimport { useSuspenseGetQueryMetadata } from '@/components/QueryWrapper/useGetQueryMetadata'\nimport { useGetEntity } from '@/synapse-queries'\nimport {\n AddToDownloadListRequest,\n TableQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\nimport { getDownloadListFileColumns } from './downloadListFiles'\n\n/**\n * Returns an AddToDownloadListRequest object configured to add the current fileview/dataset result set to the download list\n * (loads data using QueryWrapper). Selected rows are not considered; see `useAddSelectedRowsToDownloadList`.\n *\n * Files are read from `fileIdColumnName` (else the table's file column) at the version in `fileVersionColumnName`, else\n * at the row version for views and datasets, else at their current version.\n */\nexport function useGetAddToDownloadListRequestForCurrentQuery(): AddToDownloadListRequest {\n const {\n entityId,\n versionNumber,\n getCurrentQueryRequest,\n fileIdColumnName,\n fileVersionColumnName,\n } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: originalQueryMetadata } = useSuspenseGetQueryMetadata()\n\n return useMemo(() => {\n const query = getCurrentQueryRequest().query\n const { fileColumn, fileVersionColumn, rowsAreEntities } =\n getDownloadListFileColumns(\n entity,\n originalQueryMetadata.columnModels,\n fileIdColumnName,\n fileVersionColumnName,\n )\n if (fileColumn) {\n query.selectFileColumn = Number(fileColumn.id)\n }\n if (fileVersionColumn) {\n query.selectFileVersionColumn = Number(fileVersionColumn.id)\n }\n\n // The server infers the file version only for views and datasets (from the row version); other tables must name\n // a version column or add the current version.\n const addsCurrentVersion =\n fileVersionColumn === undefined &&\n entity !== undefined &&\n !rowsAreEntities\n\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n query: query as TableQuery,\n ...(addsCurrentVersion ? { useVersionNumber: false } : {}),\n }\n }, [\n entity,\n originalQueryMetadata.columnModels,\n getCurrentQueryRequest,\n fileIdColumnName,\n fileVersionColumnName,\n ])\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,IAA0E;CACxF,IAAM,EACJ,aACA,kBACA,2BACA,qBACA,6BACE,EAAgB,GACd,EAAE,MAAM,MAAW,EAAoB,GAAU,CAAa,GAC9D,EAAE,MAAM,MAA0B,EAA4B;CAEpE,OAAO,QAAc;EACnB,IAAM,IAAQ,EAAuB,EAAE,OACjC,EAAE,eAAY,sBAAmB,uBACrC,EACE,GACA,EAAsB,cACtB,GACA,CACF;EAeF,OAdI,MACF,EAAM,mBAAmB,OAAO,EAAW,EAAE,IAE3C,MACF,EAAM,0BAA0B,OAAO,EAAkB,EAAE,IAUtD;GACL,cACE;GACK;GACP,GARA,MAAsB,KAAA,KACtB,MAAW,KAAA,KACX,CAAC,IAMwB,EAAE,kBAAkB,GAAM,IAAI,CAAC;EAC1D;CACF,GAAG;EACD;EACA,EAAsB;EACtB;EACA;EACA;CACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnQueryDataChange.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,iCAAiC,CAAA;AAIxC,KAAK,2BAA2B,GAAG;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAO,EAAE,2BAA2B,QA4CrC"}
1
+ {"version":3,"file":"useOnQueryDataChange.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,iCAAiC,CAAA;AAIxC,KAAK,2BAA2B,GAAG;IACjC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC5C,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,OAAO,EAAE,2BAA2B,QAmDrC"}
@@ -7,22 +7,23 @@ function o(o) {
7
7
  let { queryBundleRequest: s, onChange: c } = o, { rowDataQueryOptions: l, queryMetadataQueryOptions: u } = e(s), { data: d, isLoading: f } = i({
8
8
  ...l,
9
9
  select: (e) => e.responseBody
10
- }), { data: p, isLoading: m } = i(u), [h, g] = r();
10
+ }), { data: p, isLoading: m } = i(u), h = l.enabled !== !1, [g, _] = r();
11
11
  t(() => {
12
- d && p && !f && !m && g({
12
+ (d || !h) && p && !f && !m && _({
13
13
  ...p,
14
14
  ...d
15
15
  });
16
16
  }, [
17
+ h,
17
18
  p,
18
19
  m,
19
20
  d,
20
21
  f
21
22
  ]);
22
- let _ = n(c);
23
- _.current = c, a(() => {
24
- h && _.current(h);
25
- }, [h]);
23
+ let v = n(c);
24
+ v.current = c, a(() => {
25
+ g && v.current(g);
26
+ }, [g]);
26
27
  }
27
28
  //#endregion
28
29
  export { o as default };
@@ -1 +1 @@
1
- {"version":3,"file":"useOnQueryDataChange.js","names":[],"sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"sourcesContent":["import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQuery } from '@tanstack/react-query'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport { useEffect, useRef, useState } from 'react'\n\ntype UseOnQueryDataChangeOptions = {\n queryBundleRequest: QueryBundleRequest\n onChange: (data: QueryResultBundle) => void\n}\n\n/**\n * Calls the onChange callback with the current QueryResultBundle when the data for the passed query changes\n * @param options\n */\nexport default function useOnQueryDataChange(\n options: UseOnQueryDataChangeOptions,\n) {\n const { queryBundleRequest, onChange } = options\n const { rowDataQueryOptions, queryMetadataQueryOptions } =\n useTableQueryUseQueryOptions(queryBundleRequest)\n\n const { data: rowData, isLoading: rowDataIsLoading } = useQuery({\n ...rowDataQueryOptions,\n select: asyncJobResponse => asyncJobResponse.responseBody,\n })\n const { data: queryMetadata, isLoading: queryMetadataIsLoading } = useQuery(\n queryMetadataQueryOptions,\n )\n\n // SWC requires the entire QueryResultBundle to enable editing table data, so merge the data back into one object before\n // passing it to the onChange callback\n const [mergedData, setMergedData] = useState<QueryResultBundle>()\n useEffect(() => {\n if (\n rowData &&\n queryMetadata &&\n !rowDataIsLoading &&\n !queryMetadataIsLoading\n ) {\n setMergedData({\n ...queryMetadata,\n ...rowData,\n })\n }\n }, [queryMetadata, queryMetadataIsLoading, rowData, rowDataIsLoading])\n\n // Use a ref so we always call the latest onChange without including it in the\n // effect dependency array. Including a frequently-recreated callback in deps\n // causes the effect to re-fire on every render, creating an infinite loop when\n // the parent updates state inside the callback.\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n\n // mergedData is sometimes undefined, which useDeepCompareEffect doesn't like, so use useDeepCompareEffectNoCheck instead\n useDeepCompareEffectNoCheck(() => {\n if (mergedData) {\n onChangeRef.current(mergedData)\n }\n }, [mergedData])\n}\n"],"mappings":";;;;;AAkBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB,gBAAa,GACnC,EAAE,wBAAqB,iCAC3B,EAA6B,CAAkB,GAE3C,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,GAAG;EACH,SAAQ,MAAoB,EAAiB;CAC/C,CAAC,GACK,EAAE,MAAM,GAAe,WAAW,MAA2B,EACjE,CACF,GAIM,CAAC,GAAY,KAAiB,EAA4B;CAChE,QAAgB;EACd,AACE,KACA,KACA,CAAC,KACD,CAAC,KAED,EAAc;GACZ,GAAG;GACH,GAAG;EACL,CAAC;CAEL,GAAG;EAAC;EAAe;EAAwB;EAAS;CAAgB,CAAC;CAMrE,IAAM,IAAc,EAAO,CAAQ;CAInC,AAHA,EAAY,UAAU,GAGtB,QAAkC;EAChC,AAAI,KACF,EAAY,QAAQ,CAAU;CAElC,GAAG,CAAC,CAAU,CAAC;AACjB"}
1
+ {"version":3,"file":"useOnQueryDataChange.js","names":[],"sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"sourcesContent":["import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQuery } from '@tanstack/react-query'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport { useEffect, useRef, useState } from 'react'\n\ntype UseOnQueryDataChangeOptions = {\n queryBundleRequest: QueryBundleRequest\n onChange: (data: QueryResultBundle) => void\n}\n\n/**\n * Calls the onChange callback with the current QueryResultBundle when the data for the passed query changes\n * @param options\n */\nexport default function useOnQueryDataChange(\n options: UseOnQueryDataChangeOptions,\n) {\n const { queryBundleRequest, onChange } = options\n const { rowDataQueryOptions, queryMetadataQueryOptions } =\n useTableQueryUseQueryOptions(queryBundleRequest)\n\n const { data: rowData, isLoading: rowDataIsLoading } = useQuery({\n ...rowDataQueryOptions,\n select: asyncJobResponse => asyncJobResponse.responseBody,\n })\n const { data: queryMetadata, isLoading: queryMetadataIsLoading } = useQuery(\n queryMetadataQueryOptions,\n )\n\n // SWC requires the entire QueryResultBundle to enable editing table data, so merge the data back into one object before\n // passing it to the onChange callback. A request without rows produces a metadata-only bundle.\n const isRowDataRequested = rowDataQueryOptions.enabled !== false\n const [mergedData, setMergedData] = useState<QueryResultBundle>()\n useEffect(() => {\n if (\n (rowData || !isRowDataRequested) &&\n queryMetadata &&\n !rowDataIsLoading &&\n !queryMetadataIsLoading\n ) {\n setMergedData({\n ...queryMetadata,\n ...rowData,\n })\n }\n }, [\n isRowDataRequested,\n queryMetadata,\n queryMetadataIsLoading,\n rowData,\n rowDataIsLoading,\n ])\n\n // Use a ref so we always call the latest onChange without including it in the\n // effect dependency array. Including a frequently-recreated callback in deps\n // causes the effect to re-fire on every render, creating an infinite loop when\n // the parent updates state inside the callback.\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n\n // mergedData is sometimes undefined, which useDeepCompareEffect doesn't like, so use useDeepCompareEffectNoCheck instead\n useDeepCompareEffectNoCheck(() => {\n if (mergedData) {\n onChangeRef.current(mergedData)\n }\n }, [mergedData])\n}\n"],"mappings":";;;;;AAkBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB,gBAAa,GACnC,EAAE,wBAAqB,iCAC3B,EAA6B,CAAkB,GAE3C,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,GAAG;EACH,SAAQ,MAAoB,EAAiB;CAC/C,CAAC,GACK,EAAE,MAAM,GAAe,WAAW,MAA2B,EACjE,CACF,GAIM,IAAqB,EAAoB,YAAY,IACrD,CAAC,GAAY,KAAiB,EAA4B;CAChE,QAAgB;EACd,CACG,KAAW,CAAC,MACb,KACA,CAAC,KACD,CAAC,KAED,EAAc;GACZ,GAAG;GACH,GAAG;EACL,CAAC;CAEL,GAAG;EACD;EACA;EACA;EACA;EACA;CACF,CAAC;CAMD,IAAM,IAAc,EAAO,CAAQ;CAInC,AAHA,EAAY,UAAU,GAGtB,QAAkC;EAChC,AAAI,KACF,EAAY,QAAQ,CAAU;CAElC,GAAG,CAAC,CAAU,CAAC;AACjB"}
@@ -1,6 +1,8 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  /**
3
- * Error boundary that automatically pulls the error from QueryContext. If 403, shows entity actions required
3
+ * Error boundary that automatically pulls the error from QueryContext. Shows a notice when an aggregate-only result
4
+ * was withheld (BELOW_THRESHOLD / ROW_SUPPRESSED), entity actions required for other 403s, and otherwise an error
5
+ * banner. Resets when the current query changes.
4
6
  */
5
7
  export declare function QueryWrapperErrorBoundary({ children, }: PropsWithChildren<Record<never, never>>): import("react/jsx-runtime").JSX.Element;
6
8
  //# sourceMappingURL=QueryWrapperErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/QueryWrapperErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,OAAO,CAAA;AAU/D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,2CAqCzC"}
1
+ {"version":3,"file":"QueryWrapperErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/QueryWrapperErrorBoundary.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,OAAO,CAAA;AAc/D;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,2CA6CzC"}