synapse-react-client 4.0.45 → 4.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +1 -0
  3. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -1
  4. package/dist/aridhia-queries/AridhiaKeyFactory.js +3 -0
  5. package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -1
  6. package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
  7. package/dist/aridhia-queries/index.d.ts +1 -0
  8. package/dist/aridhia-queries/index.d.ts.map +1 -1
  9. package/dist/aridhia-queries/index.js +11 -10
  10. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts +19 -0
  11. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts.map +1 -0
  12. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js +14 -0
  13. package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js.map +1 -0
  14. package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
  15. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
  16. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.d.ts.map +1 -1
  17. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +6 -4
  18. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  19. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +1 -1
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -1
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +1 -1
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  24. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +1 -1
  25. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -1
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +11 -8
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  29. package/dist/components/AccessTokenPage/AccessTokenPage.js +1 -1
  30. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  31. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
  32. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  33. package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
  34. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  35. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
  36. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  37. package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
  38. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  39. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  40. package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
  41. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  42. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
  43. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
  44. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
  45. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
  46. package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -1
  47. package/dist/components/Aridhia/DarWizard/DarSectionForm.js +17 -13
  48. package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -1
  49. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +3 -3
  50. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -1
  51. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +33 -34
  52. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
  53. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
  54. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  55. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
  56. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  57. package/dist/components/Aridhia/fairFormToRjsf.js +1 -1
  58. package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -1
  59. package/dist/components/Authentication/LastLoginInfo.js +3 -3
  60. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  61. package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
  62. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  63. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  64. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  65. package/dist/components/Authentication/TOTPForm.js +3 -3
  66. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  67. package/dist/components/Authentication/index.d.ts +6 -6
  68. package/dist/components/Authentication/index.d.ts.map +1 -1
  69. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
  70. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  71. package/dist/components/CardContainer/CardContainer.js +7 -7
  72. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  73. package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
  74. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  75. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
  76. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  77. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +1 -1
  78. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  79. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  80. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
  81. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  82. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js +1 -1
  83. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  84. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +6 -6
  85. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  86. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.d.ts.map +1 -1
  87. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js +4 -4
  88. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  89. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +4 -4
  90. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  91. package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
  92. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  93. package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
  94. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  95. package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
  96. package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
  97. package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
  98. package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
  99. package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
  100. package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
  101. package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
  102. package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
  103. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
  104. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
  105. package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
  106. package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
  107. package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
  108. package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
  109. package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
  110. package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
  111. package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
  112. package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
  113. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  114. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  115. package/dist/components/ComponentCollapse.js +2 -1
  116. package/dist/components/ComponentCollapse.js.map +1 -1
  117. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  118. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  119. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  120. package/dist/components/DataGrid/SynapseGrid.js +231 -219
  121. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  122. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
  123. package/dist/components/DataGrid/SyncGridWithSourceButton.js +5 -4
  124. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  125. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
  126. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  127. package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
  128. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  129. package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
  130. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
  131. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
  132. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
  133. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
  134. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
  135. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  136. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +7 -5
  137. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  138. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js +4 -4
  139. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  140. package/dist/components/DataGrid/components/ReorderColumnsButton.js +4 -4
  141. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
  142. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  143. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +12 -8
  144. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  145. package/dist/components/DataGrid/components/UploadCsvToGridButton.js +1 -1
  146. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  147. package/dist/components/DataGrid/components/contextMenu.js +3 -3
  148. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  149. package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
  150. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +14 -12
  151. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  152. package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
  153. package/dist/components/DataGrid/hooks/useStack.js +2 -2
  154. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  155. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  156. package/dist/components/DataGrid/utils/applyModelChange.js +14 -14
  157. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  158. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  159. package/dist/components/DataGrid/utils/columnFactory.js +47 -42
  160. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  161. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
  162. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  163. package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
  164. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  165. package/dist/components/DataGrid/utils/splitPatch.d.ts.map +1 -1
  166. package/dist/components/DataGrid/utils/splitPatch.js +22 -13
  167. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  168. package/dist/components/DownloadCart/DownloadCartPage.js +1 -1
  169. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  170. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  171. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +3 -2
  172. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  173. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -1
  174. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +1 -3
  175. package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
  176. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +16 -10
  179. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
  183. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  184. package/dist/components/EntityFinder/EntityFinder.js +4 -4
  185. package/dist/components/EntityFinder/EntityIdTextField.js +1 -1
  186. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  187. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  188. package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
  189. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  190. package/dist/components/EntityFinder/tree/VirtualizedTree.d.ts.map +1 -1
  191. package/dist/components/EntityFinder/tree/VirtualizedTree.js +5 -4
  192. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
  196. package/dist/components/EntityHeaderTable/Filter.js +1 -1
  197. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  198. package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
  199. package/dist/components/EntityTreeTable/components/EntityNameCell.js +2 -1
  200. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  201. package/dist/components/EntityUpload/FileUploadProgress.d.ts.map +1 -1
  202. package/dist/components/EntityUpload/FileUploadProgress.js +11 -7
  203. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  204. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  205. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.d.ts.map +1 -1
  206. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js +4 -3
  207. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  208. package/dist/components/ExperimentalMode/ExperimentalMode.js +1 -1
  209. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  210. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js +1 -1
  211. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  212. package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
  213. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
  214. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  215. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -1
  216. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +2 -1
  217. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -1
  218. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -1
  219. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +2 -1
  220. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -1
  221. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -1
  222. package/dist/components/FormTemplateEditor/FieldLibrary.js +2 -1
  223. package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -1
  224. package/dist/components/FormTemplateEditor/FieldLibraryRow.js +4 -4
  225. package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -1
  226. package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
  227. package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -1
  228. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +1 -1
  229. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -1
  230. package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -1
  231. package/dist/components/FormTemplateEditor/StepCard.js +15 -10
  232. package/dist/components/FormTemplateEditor/StepCard.js.map +1 -1
  233. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -1
  234. package/dist/components/FormTemplateEditor/StepFieldRow.js +11 -6
  235. package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -1
  236. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -1
  237. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +2 -1
  238. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -1
  239. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
  240. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
  241. package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
  242. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  243. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +46 -46
  244. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
  245. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
  246. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
  247. package/dist/components/GenericCard/PortalDOI/PortalDOI.js +5 -5
  248. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  249. package/dist/components/GenericCard/TableRowGenericCard.js +38 -38
  250. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  251. package/dist/components/GoalsV3/GoalsV3.js +1 -1
  252. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  253. package/dist/components/HelpPopover/HelpPopover.js +1 -1
  254. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  255. package/dist/components/HexGrid/HexGrid.d.ts +3 -1
  256. package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
  257. package/dist/components/HexGrid/HexGrid.js +14 -13
  258. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  259. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  260. package/dist/components/IconSvg/IconSvg.js +154 -47
  261. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  262. package/dist/components/IconSvg/index.d.ts +1 -1
  263. package/dist/components/IconSvg/index.d.ts.map +1 -1
  264. package/dist/components/IconSvg/index.js.map +1 -1
  265. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
  266. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
  267. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  268. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.d.ts.map +1 -1
  269. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js +19 -16
  270. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  271. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  272. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +2 -1
  273. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  274. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts +9 -0
  275. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts.map +1 -0
  276. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js +21 -0
  277. package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js.map +1 -0
  278. package/dist/components/Markdown/MarkdownCollapse.d.ts.map +1 -1
  279. package/dist/components/Markdown/MarkdownCollapse.js +3 -1
  280. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  281. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  282. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  283. package/dist/components/Markdown/widget/index.d.ts +1 -1
  284. package/dist/components/Markdown/widget/index.d.ts.map +1 -1
  285. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
  286. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  287. package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
  288. package/dist/components/ModalDownload/ModalDownload.js +2 -1
  289. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  290. package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
  291. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  292. package/dist/components/Plot/BarPlot.js +1 -1
  293. package/dist/components/Plot/BarPlot.js.map +1 -1
  294. package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
  295. package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
  296. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  297. package/dist/components/PortalList/PortalCard.d.ts.map +1 -1
  298. package/dist/components/PortalList/PortalCard.js +6 -5
  299. package/dist/components/PortalList/PortalCard.js.map +1 -1
  300. package/dist/components/PortalList/PortalList.js +4 -4
  301. package/dist/components/PortalList/PortalList.js.map +1 -1
  302. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
  303. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  304. package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
  305. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
  306. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  307. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  308. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
  309. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  310. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  311. package/dist/components/QueryBuilder/FilterConditionRow.js +31 -30
  312. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  313. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  314. package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
  315. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  316. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
  317. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  318. package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
  319. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  320. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
  321. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
  322. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
  323. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
  324. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  325. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  326. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
  327. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
  328. package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
  329. package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
  330. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
  331. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  332. package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
  333. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  334. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
  335. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  336. package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
  337. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  338. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
  339. package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
  340. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
  341. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
  342. package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
  343. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
  344. package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
  345. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  346. package/dist/components/QuerySortSelector.js +5 -5
  347. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
  348. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  349. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
  350. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
  351. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
  352. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
  353. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
  354. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
  355. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
  356. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  357. package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
  358. package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
  359. package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
  360. package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
  361. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
  362. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
  363. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
  364. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
  365. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
  366. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
  367. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
  368. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  369. package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
  370. package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
  371. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  372. package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
  373. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  374. package/dist/components/QueryWrapperErrorBoundary.js +26 -21
  375. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  376. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
  377. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
  378. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  379. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
  380. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  381. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
  382. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  383. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
  384. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  385. package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
  386. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  387. package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
  388. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
  389. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
  390. package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
  391. package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
  392. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
  393. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
  394. package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
  395. package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
  396. package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
  397. package/dist/components/RowDataTable/RowDataTable.js +25 -8
  398. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  399. package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
  400. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  401. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
  402. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
  403. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  404. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
  405. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  406. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
  407. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  408. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
  409. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  410. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
  411. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  412. package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
  413. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  414. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
  415. package/dist/components/SustainabilityScorecard/DialLayout.js +1 -1
  416. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  417. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js +1 -1
  418. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  419. package/dist/components/SynapseChat/SynapseChat.js +1 -1
  420. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  421. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  422. package/dist/components/SynapseChat/SynapseChatInteraction.js +2 -1
  423. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  424. package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
  425. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  426. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js +1 -1
  427. package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js.map +1 -1
  428. package/dist/components/SynapseFooter/SynapseFooter.js +1 -1
  429. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  430. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  431. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  432. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js +1 -1
  433. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  434. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.d.ts.map +1 -1
  435. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +2 -1
  436. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  437. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js +4 -4
  438. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  439. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js +1 -1
  440. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  441. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  442. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +4 -1
  443. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  444. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
  445. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  446. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
  447. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  448. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
  449. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
  450. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  451. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js +1 -1
  452. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  453. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
  454. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +12 -9
  455. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  456. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
  457. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
  458. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  459. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
  460. package/dist/components/SynapseTable/SqlEditor.js +7 -7
  461. package/dist/components/SynapseTable/SynapseTable.js +8 -8
  462. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  463. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  464. package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
  465. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  466. package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
  467. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  468. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  469. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
  470. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  471. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
  472. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  473. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
  474. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +6 -6
  475. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  476. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
  477. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
  478. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  479. package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
  480. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
  481. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  482. package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
  483. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  484. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  485. package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
  486. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  487. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +2 -2
  488. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  489. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
  490. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  491. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
  492. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  493. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  494. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
  495. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  496. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +59 -59
  497. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  498. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.d.ts.map +1 -1
  499. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js +6 -4
  500. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  501. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
  502. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  503. package/dist/components/TanStackTable/ColumnHeader.js +1 -1
  504. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  505. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
  506. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  507. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  508. package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
  509. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  510. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js +1 -1
  511. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  512. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.d.ts.map +1 -1
  513. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js +4 -3
  514. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  515. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  516. package/dist/components/TotalQueryResults.js +14 -14
  517. package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
  518. package/dist/components/Webhook/WebhookDashboard.js +3 -3
  519. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  520. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  521. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  522. package/dist/components/dataaccess/AccessRequirementTable.js +1 -1
  523. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  524. package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -1
  525. package/dist/components/dataaccess/EDucTemplateTable.js +13 -11
  526. package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -1
  527. package/dist/components/dataaccess/FormTemplateTable.js +6 -6
  528. package/dist/components/dataaccess/FormTemplateTable.js.map +1 -1
  529. package/dist/components/dataaccess/ReviewerDashboard.js +17 -17
  530. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  531. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +4 -4
  532. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  533. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  534. package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
  535. package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
  536. package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
  537. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  538. package/dist/components/download_list/DownloadDetails.d.ts.map +1 -1
  539. package/dist/components/download_list/DownloadDetails.js +12 -10
  540. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  541. package/dist/components/entity/metadata/AnnotationsTable.js +1 -1
  542. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  543. package/dist/components/entity/page/CreatedByModifiedBy.js +1 -1
  544. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  545. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
  546. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  547. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
  548. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  549. package/dist/components/error/ErrorBanner.d.ts.map +1 -1
  550. package/dist/components/error/ErrorBanner.js +49 -46
  551. package/dist/components/error/ErrorBanner.js.map +1 -1
  552. package/dist/components/error/ErrorChip.d.ts.map +1 -1
  553. package/dist/components/error/ErrorChip.js +2 -1
  554. package/dist/components/error/ErrorChip.js.map +1 -1
  555. package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
  556. package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
  557. package/dist/components/row_renderers/Dataset.js +6 -6
  558. package/dist/components/row_renderers/Dataset.js.map +1 -1
  559. package/dist/components/row_renderers/Funder.js +1 -1
  560. package/dist/components/row_renderers/Funder.js.map +1 -1
  561. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +14 -14
  562. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +4 -4
  563. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  564. package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
  565. package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
  566. package/dist/components/widgets/ElementWithTooltip.js +22 -14
  567. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  568. package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
  569. package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
  570. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  571. package/dist/components/widgets/SynapseImage.js +1 -1
  572. package/dist/components/widgets/SynapseImage.js.map +1 -1
  573. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
  574. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  575. package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
  576. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  577. package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
  578. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
  579. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  580. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
  581. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  582. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
  583. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
  584. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  585. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
  586. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  587. package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
  588. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  589. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
  590. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
  591. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  592. package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
  593. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  594. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
  595. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
  596. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  597. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
  598. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  599. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
  600. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  601. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
  602. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  603. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
  604. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  605. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
  606. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  607. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
  608. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
  609. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  610. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
  611. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  612. package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
  613. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  614. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
  615. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
  616. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  617. package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
  618. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
  619. package/dist/features/curator/dashboard/components/NextStepButton.js +7 -6
  620. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  621. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +8 -8
  622. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  623. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +4 -4
  624. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  625. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +4 -4
  626. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  627. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  628. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  629. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +4 -4
  630. package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
  631. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +1 -1
  632. package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -1
  633. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +1 -1
  634. package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -1
  635. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +10 -10
  636. package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -1
  637. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js +1 -1
  638. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  639. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
  640. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
  641. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
  642. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
  643. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
  644. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
  645. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
  646. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
  647. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
  648. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
  649. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
  650. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
  651. package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
  652. package/dist/mocks/mockAnnotationColumns.js +1 -1
  653. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  654. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +17 -0
  655. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  656. package/dist/mocks/msw/handlers/aridhiaHandlers.js +62 -42
  657. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  658. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
  659. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  660. package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
  661. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  662. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
  663. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
  664. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
  665. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
  666. package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
  667. package/dist/mocks/msw/handlers/entityHandlers.js +70 -67
  668. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  669. package/dist/mocks/msw/handlers/gridHandlers.js +2 -2
  670. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  671. package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
  672. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  673. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  674. package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
  675. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  676. package/dist/mocks/msw/server.d.ts.map +1 -1
  677. package/dist/mocks/msw/server.js +4 -2
  678. package/dist/mocks/msw/server.js.map +1 -1
  679. package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
  680. package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
  681. package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
  682. package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
  683. package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
  684. package/dist/stories/ColorPaletteInspector.js +2 -2
  685. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  686. package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
  687. package/dist/style/main.css +1 -1
  688. package/dist/synapse-queries/auth/useOIDC.js +2 -2
  689. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  690. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
  691. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
  692. package/dist/synapse-queries/challenge/useChallenge.js +2 -2
  693. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  694. package/dist/synapse-queries/chat/useChat.js +8 -8
  695. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  696. package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
  697. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  698. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
  699. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  700. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
  701. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  702. package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
  703. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  704. package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
  705. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  706. package/dist/synapse-queries/download/index.js +2 -2
  707. package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
  708. package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
  709. package/dist/synapse-queries/download/useDownloadList.js +14 -13
  710. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  711. package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
  712. package/dist/synapse-queries/entity/useEntity.js +20 -20
  713. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  714. package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
  715. package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
  716. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  717. package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
  718. package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
  719. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  720. package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
  721. package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
  722. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  723. package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
  724. package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
  725. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  726. package/dist/synapse-queries/forum/useReply.js +6 -6
  727. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  728. package/dist/synapse-queries/forum/useThread.js +14 -14
  729. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  730. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  731. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  732. package/dist/synapse-queries/grid/useGridSession.js +4 -4
  733. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  734. package/dist/synapse-queries/index.js +177 -176
  735. package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
  736. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  737. package/dist/synapse-queries/portal/usePortal.js +7 -7
  738. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  739. package/dist/synapse-queries/subscription/useSubscription.js +4 -4
  740. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  741. package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
  742. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  743. package/dist/synapse-queries/team/useTeam.js +2 -2
  744. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  745. package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
  746. package/dist/synapse-queries/team/useTeamList.js +3 -3
  747. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  748. package/dist/synapse-queries/team/useTeamMembers.js +8 -8
  749. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  750. package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
  751. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  752. package/dist/synapse-queries/trash/useTrashCan.js +4 -4
  753. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  754. package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
  755. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  756. package/dist/synapse-queries/user/useFavorites.js +4 -4
  757. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  758. package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
  759. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  760. package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
  761. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  762. package/dist/synapse-queries/wiki/useWiki.js +10 -10
  763. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  764. package/dist/theme/DefaultTheme.d.ts.map +1 -1
  765. package/dist/theme/DefaultTheme.js +4 -1
  766. package/dist/theme/DefaultTheme.js.map +1 -1
  767. package/dist/tsconfig.build.tsbuildinfo +1 -1
  768. package/dist/utils/APIConstants.d.ts.map +1 -1
  769. package/dist/utils/APIConstants.js.map +1 -1
  770. package/dist/utils/AppUtils/AppUtils.js +1 -1
  771. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  772. package/dist/utils/ContentTypeUtils.js +4 -4
  773. package/dist/utils/ContentTypeUtils.js.map +1 -1
  774. package/dist/utils/PermissionLevelToAccessType.js +1 -1
  775. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  776. package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
  777. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  778. package/dist/utils/context/DocumentMetadataContext.js +1 -1
  779. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  780. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  781. package/dist/utils/functions/AccessControlListUtils.js +3 -3
  782. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  783. package/dist/utils/functions/ArrayUtils.js +2 -2
  784. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  785. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  786. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  787. package/dist/utils/functions/FileHandleUtils.js +1 -1
  788. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  789. package/dist/utils/functions/RegularExpressions.js +1 -1
  790. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  791. package/dist/utils/functions/StringUtils.d.ts.map +1 -1
  792. package/dist/utils/functions/StringUtils.js +1 -2
  793. package/dist/utils/functions/StringUtils.js.map +1 -1
  794. package/dist/utils/functions/deepLinkingUtils.js +2 -2
  795. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  796. package/dist/utils/functions/enumerationFacet.d.ts +26 -0
  797. package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
  798. package/dist/utils/functions/enumerationFacet.js +27 -0
  799. package/dist/utils/functions/enumerationFacet.js.map +1 -0
  800. package/dist/utils/functions/facetCountUtils.d.ts +12 -0
  801. package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
  802. package/dist/utils/functions/facetCountUtils.js +9 -0
  803. package/dist/utils/functions/facetCountUtils.js.map +1 -0
  804. package/dist/utils/functions/getEndpoint.js.map +1 -1
  805. package/dist/utils/functions/getUserData.js +1 -1
  806. package/dist/utils/functions/getUserData.js.map +1 -1
  807. package/dist/utils/functions/queryUtils.d.ts +1 -1
  808. package/dist/utils/functions/queryUtils.d.ts.map +1 -1
  809. package/dist/utils/functions/queryUtils.js +26 -22
  810. package/dist/utils/functions/queryUtils.js.map +1 -1
  811. package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
  812. package/dist/utils/functions/testDownloadSpeed.js +17 -26
  813. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  814. package/dist/utils/functions/unCamelCase.js +1 -1
  815. package/dist/utils/functions/unCamelCase.js.map +1 -1
  816. package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
  817. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  818. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
  819. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  820. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  821. package/dist/utils/hooks/useLogin.js +5 -5
  822. package/dist/utils/hooks/useLogin.js.map +1 -1
  823. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  824. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
  825. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
  826. package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
  827. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
  828. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
  829. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
  830. package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
  831. package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
  832. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
  833. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
  834. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
  835. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  836. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
  837. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  838. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
  839. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  840. package/dist/utils/jsonschema/submissionContext.js +2 -2
  841. package/dist/utils/jsonschema/submissionContext.js.map +1 -1
  842. package/package.json +7 -6
@@ -0,0 +1,108 @@
1
+ import "../../utils/SynapseConstants.js";
2
+ import { useQueryVisualizationContext as e } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
3
+ import { SignInPrompt as t, SynapseErrorBoundary as n } from "../error/ErrorBanner.js";
4
+ import { useSynapseContext as r } from "../../utils/context/SynapseContext.js";
5
+ import { useSuspenseGetQueryMetadata as i } from "../QueryWrapper/useGetQueryMetadata.js";
6
+ import { QueryVisualizationWrapper as a } from "../QueryVisualizationWrapper/QueryVisualizationWrapper.js";
7
+ import { QueryWrapper as o } from "../QueryWrapper/QueryWrapper.js";
8
+ import { QueryWrapperErrorBoundary as s } from "../QueryWrapperErrorBoundary.js";
9
+ import c from "../QueryWrapper/QueryWrapperLoadingScreen.js";
10
+ import l from "../widgets/facet-nav/PlotsContainer.js";
11
+ import { QueryBuilderControls as u } from "../QueryBuilder/QueryBuilderControls.js";
12
+ import d from "./CohortBuilder.module.js";
13
+ import { CohortFilesPanel as f } from "./CohortFilesPanel.js";
14
+ import { Suspense as p, useMemo as m, useState as h } from "react";
15
+ import { Alert as g, Typography as _ } from "@mui/material";
16
+ import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
17
+ import x from "pluralize";
18
+ //#region src/components/CohortBuilder/CohortBuilder.tsx
19
+ var S = 54, C = "Queries you run in the Cohort Builder are logged to protect participant privacy.", w = "No data for the selected cohort", T = "Previewing the results that users with aggregate-only access see.";
20
+ function E(e) {
21
+ let { participantsTableId: n, filesTableId: i, facetsToPlot: l, columnAliases: u, unitDescription: f = "participant", aggregateDataPreview: h, auditNotice: v = C } = e, { isAuthenticated: x } = r(), w = m(() => ({
22
+ concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest",
23
+ entityId: n,
24
+ partMask: S,
25
+ query: { sql: `SELECT * FROM ${n}` },
26
+ aggregateDataPreview: h
27
+ }), [n, h]);
28
+ return x ? /* @__PURE__ */ y(o, {
29
+ initQueryRequest: w,
30
+ children: /* @__PURE__ */ y(a, {
31
+ unitDescription: f,
32
+ columnAliases: u,
33
+ defaultShowPlots: !0,
34
+ children: /* @__PURE__ */ b("div", {
35
+ className: d.root,
36
+ children: [
37
+ /* @__PURE__ */ b("div", {
38
+ className: d.notices,
39
+ children: [/* @__PURE__ */ y(g, {
40
+ severity: "info",
41
+ children: v
42
+ }), h && /* @__PURE__ */ y(g, {
43
+ severity: "warning",
44
+ children: "Previewing the results that users with aggregate-only access see."
45
+ })]
46
+ }),
47
+ /* @__PURE__ */ y(D, {}),
48
+ /* @__PURE__ */ y(s, { children: /* @__PURE__ */ y(p, {
49
+ fallback: /* @__PURE__ */ y(c, {}),
50
+ children: /* @__PURE__ */ y(O, {
51
+ facetsToPlot: l,
52
+ participantsTableId: n,
53
+ filesTableId: i
54
+ })
55
+ }) })
56
+ ]
57
+ })
58
+ })
59
+ }, JSON.stringify(w)) : /* @__PURE__ */ y(_, {
60
+ variant: "body1",
61
+ className: d.state,
62
+ children: /* @__PURE__ */ y(t, {})
63
+ });
64
+ }
65
+ function D() {
66
+ let [e, t] = h(null);
67
+ return /* @__PURE__ */ y(n, { children: /* @__PURE__ */ y(p, {
68
+ fallback: null,
69
+ children: /* @__PURE__ */ y(u, {
70
+ tree: e,
71
+ onTreeChange: t,
72
+ onlyFacetedColumns: !0
73
+ })
74
+ }) });
75
+ }
76
+ function O(t) {
77
+ let { facetsToPlot: n, participantsTableId: r, filesTableId: a } = t, { data: o } = i(), { unitDescription: s } = e(), c = o.queryCount ?? 0;
78
+ return c === 0 ? /* @__PURE__ */ y(_, {
79
+ variant: "headline3",
80
+ component: "p",
81
+ className: d.state,
82
+ children: w
83
+ }) : /* @__PURE__ */ b(v, { children: [
84
+ /* @__PURE__ */ b(_, {
85
+ variant: "headline3",
86
+ component: "p",
87
+ className: d.count,
88
+ children: [
89
+ c.toLocaleString(),
90
+ " ",
91
+ x(s, c)
92
+ ]
93
+ }),
94
+ /* @__PURE__ */ y(l, {
95
+ facetsToPlot: n,
96
+ defaultPlotType: "HORIZONTAL_BAR",
97
+ disableFiltering: !0
98
+ }),
99
+ a && /* @__PURE__ */ y(f, {
100
+ filesTableId: a,
101
+ participantsTableId: r
102
+ })
103
+ ] });
104
+ }
105
+ //#endregion
106
+ export { S as COHORT_BUILDER_PART_MASK, T as COHORT_BUILDER_PREVIEW_NOTICE, w as COHORT_BUILDER_ZERO_COUNT_TEXT, E as CohortBuilder, C as DEFAULT_COHORT_BUILDER_AUDIT_NOTICE };
107
+
108
+ //# sourceMappingURL=CohortBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CohortBuilder.js","names":[],"sources":["../../../src/components/CohortBuilder/CohortBuilder.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n BUNDLE_MASK_QUERY_COLUMN_MODELS,\n BUNDLE_MASK_QUERY_COUNT,\n BUNDLE_MASK_QUERY_FACETS,\n BUNDLE_MASK_QUERY_SELECT_COLUMNS,\n} from '@/utils/SynapseConstants'\nimport { Alert, Typography } from '@mui/material'\nimport { AggregateDataConfiguration } from '@sage-bionetworks/synapse-client'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport pluralize from 'pluralize'\nimport { ReactNode, Suspense, useMemo, useState } from 'react'\nimport { SignInPrompt, SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { QueryBuilderControls } from '../QueryBuilder/QueryBuilderControls'\nimport { QBGroup } from '../QueryBuilder/QueryBuilderTypes'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper/QueryVisualizationContext'\nimport { QueryVisualizationWrapper } from '../QueryVisualizationWrapper/QueryVisualizationWrapper'\nimport { QueryWrapper } from '../QueryWrapper/QueryWrapper'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\nimport { useSuspenseGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport PlotsContainer from '../widgets/facet-nav/PlotsContainer'\nimport styles from './CohortBuilder.module.scss'\nimport { CohortFilesPanel } from './CohortFilesPanel'\n\n/**\n * The Cohort Builder only requests the count and facet statistics: it never shows participant rows, and the server\n * rejects participant row requests from callers with aggregate-only access.\n */\nexport const COHORT_BUILDER_PART_MASK =\n BUNDLE_MASK_QUERY_COUNT |\n BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n BUNDLE_MASK_QUERY_COLUMN_MODELS |\n BUNDLE_MASK_QUERY_FACETS\n\nexport const DEFAULT_COHORT_BUILDER_AUDIT_NOTICE =\n 'Queries you run in the Cohort Builder are logged to protect participant privacy.'\n\nexport const COHORT_BUILDER_ZERO_COUNT_TEXT = 'No data for the selected cohort'\n\nexport const COHORT_BUILDER_PREVIEW_NOTICE =\n 'Previewing the results that users with aggregate-only access see.'\n\nexport type CohortBuilderProps = {\n /** The participant VirtualTable: one row per participant. */\n participantsTableId: string\n /**\n * The Files/Datasets VirtualTable. When set, the files and datasets of the cohort are listed below its plots, using\n * the cohort as a request-scoped cohort.\n */\n filesTableId?: string\n /** Faceted columns to plot, in order. Defaults to every faceted column. */\n facetsToPlot?: string[]\n /** Mapping from column name to the name shown for the column. */\n columnAliases?: Record<string, string>\n /** The singular noun for one row of the participant table. Defaults to \"participant\". */\n unitDescription?: string\n /** Lets a data manager preview the results that users with aggregate-only access see. */\n aggregateDataPreview?: AggregateDataConfiguration\n /** Notice that queries are logged. Defaults to {@link DEFAULT_COHORT_BUILDER_AUDIT_NOTICE}. */\n auditNotice?: ReactNode\n}\n\n/**\n * Builds a cohort of participants with the Query Builder and shows the cohort's participant count and facet plots,\n * and optionally its files and datasets. Participant rows are never requested. Signed-out users are asked to sign in.\n */\nexport function CohortBuilder(props: CohortBuilderProps) {\n const {\n participantsTableId,\n filesTableId,\n facetsToPlot,\n columnAliases,\n unitDescription = 'participant',\n aggregateDataPreview,\n auditNotice = DEFAULT_COHORT_BUILDER_AUDIT_NOTICE,\n } = props\n const { isAuthenticated } = useSynapseContext()\n\n const initQueryRequest: QueryBundleRequest = useMemo(\n () => ({\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: participantsTableId,\n partMask: COHORT_BUILDER_PART_MASK,\n query: { sql: `SELECT * FROM ${participantsTableId}` },\n aggregateDataPreview,\n }),\n [participantsTableId, aggregateDataPreview],\n )\n\n if (!isAuthenticated) {\n return (\n <Typography variant=\"body1\" className={styles.state}>\n <SignInPrompt />\n </Typography>\n )\n }\n\n return (\n // Keyed on the request so that new props reset the query and the Query Builder tree.\n <QueryWrapper\n key={JSON.stringify(initQueryRequest)}\n initQueryRequest={initQueryRequest}\n >\n <QueryVisualizationWrapper\n unitDescription={unitDescription}\n columnAliases={columnAliases}\n defaultShowPlots\n >\n <div className={styles.root}>\n <div className={styles.notices}>\n <Alert severity=\"info\">{auditNotice}</Alert>\n {aggregateDataPreview && (\n <Alert severity=\"warning\">{COHORT_BUILDER_PREVIEW_NOTICE}</Alert>\n )}\n </div>\n <CohortQueryBuilder />\n {/* Only the results are replaced by an error or withheld-result notice, so the cohort stays editable. */}\n <QueryWrapperErrorBoundary>\n <Suspense fallback={<QueryWrapperLoadingScreen />}>\n <CohortResults\n facetsToPlot={facetsToPlot}\n participantsTableId={participantsTableId}\n filesTableId={filesTableId}\n />\n </Suspense>\n </QueryWrapperErrorBoundary>\n </div>\n </QueryVisualizationWrapper>\n </QueryWrapper>\n )\n}\n\nfunction CohortQueryBuilder() {\n const [tree, setTree] = useState<QBGroup | null>(null)\n return (\n <SynapseErrorBoundary>\n <Suspense fallback={null}>\n <QueryBuilderControls\n tree={tree}\n onTreeChange={setTree}\n onlyFacetedColumns\n />\n </Suspense>\n </SynapseErrorBoundary>\n )\n}\n\nfunction CohortResults(props: {\n facetsToPlot?: string[]\n participantsTableId: string\n filesTableId?: string\n}) {\n const { facetsToPlot, participantsTableId, filesTableId } = props\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n const { unitDescription } = useQueryVisualizationContext()\n const count = queryMetadata.queryCount ?? 0\n\n if (count === 0) {\n return (\n <Typography variant=\"headline3\" component=\"p\" className={styles.state}>\n {COHORT_BUILDER_ZERO_COUNT_TEXT}\n </Typography>\n )\n }\n return (\n <>\n <Typography variant=\"headline3\" component=\"p\" className={styles.count}>\n {count.toLocaleString()} {pluralize(unitDescription, count)}\n </Typography>\n {/* The Query Builder is the only way to change the cohort. */}\n <PlotsContainer\n facetsToPlot={facetsToPlot}\n defaultPlotType=\"HORIZONTAL_BAR\"\n disableFiltering\n />\n {filesTableId && (\n <CohortFilesPanel\n filesTableId={filesTableId}\n participantsTableId={participantsTableId}\n />\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,IAAa,IAAA,IAMA,IACX,oFAEW,IAAiC,mCAEjC,IACX;AA0BF,SAAgB,EAAc,GAA2B;CACvD,IAAM,EACJ,wBACA,iBACA,iBACA,kBACA,qBAAkB,eAClB,yBACA,iBAAc,MACZ,GACE,EAAE,uBAAoB,EAAkB,GAExC,IAAuC,SACpC;EACL,cAAc;EACd,UAAU;EACV,UAAU;EACV,OAAO,EAAE,KAAK,iBAAiB,IAAsB;EACrD;CACF,IACA,CAAC,GAAqB,CAAoB,CAC5C;CAUA,OARK,IAUH,kBAAC,GAAD;EAEoB;YAElB,kBAAC,GAAD;GACmB;GACF;GACf,kBAAA;aAEA,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB;KACE,kBAAC,OAAD;MAAK,WAAW,EAAO;gBAAvB,CACE,kBAAC,GAAD;OAAO,UAAS;iBAAQ;MAAmB,CAAA,GAC1C,KACC,kBAAC,GAAD;OAAO,UAAS;;MAAgD,CAAA,CAE/D;;KACL,kBAAC,GAAD,CAAqB,CAAA;KAErB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MAAU,UAAU,kBAAC,GAAD,CAA4B,CAAA;gBAC9C,kBAAC,GAAD;OACgB;OACO;OACP;MACf,CAAA;KACO,CAAA,EACe,CAAA;IACxB;;EACoB,CAAA;CACf,GA5BP,KAAK,UAAU,CAAgB,CA4BxB,IArCZ,kBAAC,GAAD;EAAY,SAAQ;EAAQ,WAAW,EAAO;YAC5C,kBAAC,GAAD,CAAe,CAAA;CACL,CAAA;AAqClB;AAEA,SAAS,IAAqB;CAC5B,IAAM,CAAC,GAAM,KAAW,EAAyB,IAAI;CACrD,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAU,UAAU;YAClB,kBAAC,GAAD;GACQ;GACN,cAAc;GACd,oBAAA;EACD,CAAA;CACO,CAAA,EACU,CAAA;AAE1B;AAEA,SAAS,EAAc,GAIpB;CACD,IAAM,EAAE,iBAAc,wBAAqB,oBAAiB,GACtD,EAAE,MAAM,MAAkB,EAA4B,GACtD,EAAE,uBAAoB,EAA6B,GACnD,IAAQ,EAAc,cAAc;CAS1C,OAPI,MAAU,IAEV,kBAAC,GAAD;EAAY,SAAQ;EAAY,WAAU;EAAI,WAAW,EAAO;YAC7D;CACS,CAAA,IAId,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD;GAAY,SAAQ;GAAY,WAAU;GAAI,WAAW,EAAO;aAAhE;IACG,EAAM,eAAe;IAAE;IAAE,EAAU,GAAiB,CAAK;GAChD;;EAEZ,kBAAC,GAAD;GACgB;GACd,iBAAgB;GAChB,kBAAA;EACD,CAAA;EACA,KACC,kBAAC,GAAD;GACgB;GACO;EACtB,CAAA;CAEH,EAAA,CAAA;AAEN"}
@@ -0,0 +1,10 @@
1
+ import './CohortBuilder.css';var e = {
2
+ root: "_root_11y3o_1",
3
+ notices: "_notices_11y3o_7",
4
+ count: "_count_11y3o_13",
5
+ state: "_state_11y3o_17"
6
+ };
7
+ //#endregion
8
+ export { e as default };
9
+
10
+ //# sourceMappingURL=CohortBuilder.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CohortBuilder.module.js","names":[],"sources":["../../../src/components/CohortBuilder/CohortBuilder.module.scss"],"sourcesContent":[".root {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.notices {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.count {\n font-weight: 700;\n}\n\n.state {\n text-align: center;\n padding: 32px 0;\n}\n"],"mappings":""}
@@ -0,0 +1,20 @@
1
+ .root {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 16px;
5
+ }
6
+
7
+ .notices {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 8px;
11
+ }
12
+
13
+ .count {
14
+ font-weight: 700;
15
+ }
16
+
17
+ .state {
18
+ text-align: center;
19
+ padding: 32px 0;
20
+ }
@@ -0,0 +1,16 @@
1
+ export declare const COHORT_FILES_PART_MASK: number;
2
+ export declare const COHORT_FILES_TITLE = "Files and datasets";
3
+ export declare const COHORT_FILES_ZERO_COUNT_TEXT = "No files or datasets for the selected cohort";
4
+ export declare const COHORT_TOO_LARGE_TEXT: string;
5
+ export type CohortFilesPanelProps = {
6
+ /** The Files/Datasets VirtualTable: one row per file or dataset, grouped from the participant ⋈ file/dataset rows. */
7
+ filesTableId: string;
8
+ /** The participant VirtualTable that the cohort is selected from. */
9
+ participantsTableId: string;
10
+ };
11
+ /**
12
+ * Lists the files and datasets of the participant cohort in the enclosing QueryWrapper (the participant query). The
13
+ * cohort is sent as a request-scoped cohort, so participant identifiers never reach the browser.
14
+ */
15
+ export declare function CohortFilesPanel(props: CohortFilesPanelProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=CohortFilesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CohortFilesPanel.d.ts","sourceRoot":"","sources":["../../../src/components/CohortBuilder/CohortFilesPanel.tsx"],"names":[],"mappings":"AAgCA,eAAO,MAAM,sBAAsB,QAMT,CAAA;AAE1B,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,4BAA4B,iDACO,CAAA;AAChD,eAAO,MAAM,qBAAqB,QAA6I,CAAA;AAG/K,MAAM,MAAM,qBAAqB,GAAG;IAClC,sHAAsH;IACtH,YAAY,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAiE5D"}
@@ -0,0 +1,124 @@
1
+ import "../../utils/SynapseConstants.js";
2
+ import { useQueryVisualizationContext as e } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
3
+ import { AggregateQueryErrorNotice as t, getAggregateQueryError as n } from "../QueryWrapper/AggregateQueryErrorNotice.js";
4
+ import { ErrorBanner as r, SynapseErrorBoundary as i } from "../error/ErrorBanner.js";
5
+ import a from "../download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js";
6
+ import { useQueryContext as o } from "../QueryContext/QueryContext.js";
7
+ import { useSuspenseGetQueryMetadata as s } from "../QueryWrapper/useGetQueryMetadata.js";
8
+ import { QueryVisualizationWrapper as c } from "../QueryVisualizationWrapper/QueryVisualizationWrapper.js";
9
+ import { QueryWrapper as l } from "../QueryWrapper/QueryWrapper.js";
10
+ import u from "../QueryWrapper/QueryWrapperLoadingScreen.js";
11
+ import { RowSetView as d } from "../QueryWrapperPlotNav/RowSetView.js";
12
+ import { useGetAddToDownloadListRequestForCurrentQuery as f } from "../QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js";
13
+ import p from "../SynapseTable/TopLevelControls/TopLevelControls.js";
14
+ import { MAX_COHORT_PARTICIPANTS as m, buildCohortHandOff as h } from "./cohortHandOff.js";
15
+ import g from "./CohortBuilder.module.js";
16
+ import { Suspense as _, useId as v, useMemo as y } from "react";
17
+ import { Typography as b } from "@mui/material";
18
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
19
+ import { SynapseClientError as w } from "@sage-bionetworks/synapse-client/util/SynapseClientError";
20
+ import { ErrorBoundary as T } from "react-error-boundary";
21
+ //#region src/components/CohortBuilder/CohortFilesPanel.tsx
22
+ var E = 63, D = "Files and datasets", O = "No files or datasets for the selected cohort", k = `This cohort is too large to list its files and datasets. Narrow it to ${m.toLocaleString()} participants or fewer.`, A = "files and datasets";
23
+ function j(e) {
24
+ let { filesTableId: t, participantsTableId: n } = e, r = v(), { getCurrentQueryRequest: i } = o(), { data: a } = s(), d = y(() => h(i().query, n), [i, n]), f = y(() => ({
25
+ concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest",
26
+ entityId: t,
27
+ partMask: E,
28
+ aggregateDataPreview: i().aggregateDataPreview,
29
+ query: {
30
+ sql: `SELECT * FROM ${t}`,
31
+ limit: 25,
32
+ cohorts: d ? [d.cohort] : void 0,
33
+ additionalFilters: d ? [d.filter] : void 0
34
+ }
35
+ }), [
36
+ t,
37
+ i,
38
+ d
39
+ ]), p = d !== void 0 && (a.queryCount ?? 0) > 1e4;
40
+ return /* @__PURE__ */ C("section", {
41
+ "aria-labelledby": r,
42
+ children: [/* @__PURE__ */ S(b, {
43
+ variant: "headline2",
44
+ id: r,
45
+ children: D
46
+ }), p ? /* @__PURE__ */ S(b, {
47
+ variant: "body1",
48
+ className: g.state,
49
+ children: k
50
+ }) : /* @__PURE__ */ S(l, {
51
+ initQueryRequest: f,
52
+ isRowSelectionVisible: !0,
53
+ children: /* @__PURE__ */ S(c, {
54
+ unitDescription: "file",
55
+ hideSearchBarControl: !0,
56
+ hideCopyToClipboard: !0,
57
+ children: /* @__PURE__ */ S(N, { children: /* @__PURE__ */ S(_, {
58
+ fallback: /* @__PURE__ */ S(u, {}),
59
+ children: /* @__PURE__ */ S(P, {})
60
+ }) })
61
+ })
62
+ }, JSON.stringify(f))]
63
+ });
64
+ }
65
+ function M({ error: e }) {
66
+ if (e instanceof w && e.errorResponse && "errorCode" in e.errorResponse && e.errorResponse.errorCode === "COHORT_TOO_LARGE") return /* @__PURE__ */ S(b, {
67
+ variant: "body1",
68
+ className: g.state,
69
+ children: k
70
+ });
71
+ let i = n(e);
72
+ return i ? /* @__PURE__ */ S(t, {
73
+ error: i,
74
+ pluralUnitDescription: A
75
+ }) : /* @__PURE__ */ S(r, { error: e });
76
+ }
77
+ function N(e) {
78
+ let { currentQueryRequest: t } = o();
79
+ return /* @__PURE__ */ S(T, {
80
+ FallbackComponent: M,
81
+ resetKeys: [t],
82
+ children: e.children
83
+ });
84
+ }
85
+ function P() {
86
+ let { data: e } = s(), t = e.queryCount ?? 0;
87
+ return t === 0 ? /* @__PURE__ */ S(b, {
88
+ variant: "body1",
89
+ className: g.state,
90
+ children: O
91
+ }) : /* @__PURE__ */ C(x, { children: [
92
+ /* @__PURE__ */ C(b, {
93
+ variant: "body1",
94
+ className: g.count,
95
+ children: [
96
+ t.toLocaleString(),
97
+ " ",
98
+ t === 1 ? "file or dataset" : A
99
+ ]
100
+ }),
101
+ /* @__PURE__ */ S(i, { children: /* @__PURE__ */ S(p, {
102
+ hideQueryCount: !0,
103
+ hideFacetFilterControl: !0,
104
+ hideVisualizationsControl: !0,
105
+ hideProgrammaticOptionsMenuItem: !0
106
+ }) }),
107
+ /* @__PURE__ */ S(F, {}),
108
+ /* @__PURE__ */ S(d, {
109
+ tableConfiguration: {},
110
+ hideDownload: !0
111
+ })
112
+ ] });
113
+ }
114
+ function F() {
115
+ let { showDownloadConfirmation: t, setShowDownloadConfirmation: n } = e(), r = f();
116
+ return t ? /* @__PURE__ */ S(a, {
117
+ addToDownloadListRequest: r,
118
+ onClose: () => n(!1)
119
+ }) : null;
120
+ }
121
+ //#endregion
122
+ export { E as COHORT_FILES_PART_MASK, D as COHORT_FILES_TITLE, O as COHORT_FILES_ZERO_COUNT_TEXT, k as COHORT_TOO_LARGE_TEXT, j as CohortFilesPanel };
123
+
124
+ //# sourceMappingURL=CohortFilesPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CohortFilesPanel.js","names":[],"sources":["../../../src/components/CohortBuilder/CohortFilesPanel.tsx"],"sourcesContent":["import {\n BUNDLE_MASK_QUERY_COLUMN_MODELS,\n BUNDLE_MASK_QUERY_COUNT,\n BUNDLE_MASK_QUERY_FACETS,\n BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE,\n BUNDLE_MASK_QUERY_RESULTS,\n BUNDLE_MASK_QUERY_SELECT_COLUMNS,\n DEFAULT_PAGE_SIZE,\n} from '@/utils/SynapseConstants'\nimport { Typography } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { PropsWithChildren, Suspense, useId, useMemo } from 'react'\nimport { ErrorBoundary, FallbackProps } from 'react-error-boundary'\nimport AddToDownloadListConfirmationAlert from '../download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { ErrorBanner, SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { useQueryContext } from '../QueryContext/QueryContext'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper/QueryVisualizationContext'\nimport { QueryVisualizationWrapper } from '../QueryVisualizationWrapper/QueryVisualizationWrapper'\nimport {\n AggregateQueryErrorNotice,\n getAggregateQueryError,\n} from '../QueryWrapper/AggregateQueryErrorNotice'\nimport { QueryWrapper } from '../QueryWrapper/QueryWrapper'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '../QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { useSuspenseGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\nimport { RowSetView } from '../QueryWrapperPlotNav/RowSetView'\nimport TopLevelControls from '../SynapseTable/TopLevelControls/TopLevelControls'\nimport styles from './CohortBuilder.module.scss'\nimport { buildCohortHandOff, MAX_COHORT_PARTICIPANTS } from './cohortHandOff'\n\nexport const COHORT_FILES_PART_MASK =\n BUNDLE_MASK_QUERY_RESULTS |\n BUNDLE_MASK_QUERY_COUNT |\n BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n BUNDLE_MASK_QUERY_COLUMN_MODELS |\n BUNDLE_MASK_QUERY_FACETS\n\nexport const COHORT_FILES_TITLE = 'Files and datasets'\nexport const COHORT_FILES_ZERO_COUNT_TEXT =\n 'No files or datasets for the selected cohort'\nexport const COHORT_TOO_LARGE_TEXT = `This cohort is too large to list its files and datasets. Narrow it to ${MAX_COHORT_PARTICIPANTS.toLocaleString()} participants or fewer.`\nconst FILES_AND_DATASETS = 'files and datasets'\n\nexport type CohortFilesPanelProps = {\n /** The Files/Datasets VirtualTable: one row per file or dataset, grouped from the participant ⋈ file/dataset rows. */\n filesTableId: string\n /** The participant VirtualTable that the cohort is selected from. */\n participantsTableId: string\n}\n\n/**\n * Lists the files and datasets of the participant cohort in the enclosing QueryWrapper (the participant query). The\n * cohort is sent as a request-scoped cohort, so participant identifiers never reach the browser.\n */\nexport function CohortFilesPanel(props: CohortFilesPanelProps) {\n const { filesTableId, participantsTableId } = props\n const titleId = useId()\n const { getCurrentQueryRequest } = useQueryContext()\n const { data: participantMetadata } = useSuspenseGetQueryMetadata()\n\n const handOff = useMemo(\n () =>\n buildCohortHandOff(getCurrentQueryRequest().query, participantsTableId),\n [getCurrentQueryRequest, participantsTableId],\n )\n const filesRequest: QueryBundleRequest = useMemo(\n () => ({\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: filesTableId,\n partMask: COHORT_FILES_PART_MASK,\n // A data manager previewing aggregate-only results previews the files query the same way.\n aggregateDataPreview: getCurrentQueryRequest().aggregateDataPreview,\n query: {\n sql: `SELECT * FROM ${filesTableId}`,\n limit: DEFAULT_PAGE_SIZE,\n cohorts: handOff ? [handOff.cohort] : undefined,\n additionalFilters: handOff ? [handOff.filter] : undefined,\n },\n }),\n [filesTableId, getCurrentQueryRequest, handOff],\n )\n\n // The participant count is exact, so a cohort the server would reject as too large is not sent.\n const isCohortTooLarge =\n handOff !== undefined &&\n (participantMetadata.queryCount ?? 0) > MAX_COHORT_PARTICIPANTS\n\n return (\n <section aria-labelledby={titleId}>\n <Typography variant=\"headline2\" id={titleId}>\n {COHORT_FILES_TITLE}\n </Typography>\n {isCohortTooLarge ? (\n <Typography variant=\"body1\" className={styles.state}>\n {COHORT_TOO_LARGE_TEXT}\n </Typography>\n ) : (\n // Keyed on the request so a new cohort resets the files query, its paging, its filters and the row selection.\n <QueryWrapper\n key={JSON.stringify(filesRequest)}\n initQueryRequest={filesRequest}\n isRowSelectionVisible\n >\n {/* The files query is derived from the cohort, so it can't be searched, shared as a link, or re-run from SQL. */}\n <QueryVisualizationWrapper\n unitDescription=\"file\"\n hideSearchBarControl\n hideCopyToClipboard\n >\n <CohortFilesErrorBoundary>\n <Suspense fallback={<QueryWrapperLoadingScreen />}>\n <CohortFilesResults />\n </Suspense>\n </CohortFilesErrorBoundary>\n </QueryVisualizationWrapper>\n </QueryWrapper>\n )}\n </section>\n )\n}\n\nfunction CohortFilesErrorFallback({ error }: FallbackProps) {\n if (\n error instanceof SynapseClientError &&\n error.errorResponse &&\n 'errorCode' in error.errorResponse &&\n error.errorResponse.errorCode === 'COHORT_TOO_LARGE'\n ) {\n return (\n <Typography variant=\"body1\" className={styles.state}>\n {COHORT_TOO_LARGE_TEXT}\n </Typography>\n )\n }\n // A participant cohort that passed its own threshold can still match fewer files and datasets than the threshold.\n const aggregateQueryError = getAggregateQueryError(error)\n if (aggregateQueryError) {\n return (\n <AggregateQueryErrorNotice\n error={aggregateQueryError}\n pluralUnitDescription={FILES_AND_DATASETS}\n />\n )\n }\n return <ErrorBanner error={error} />\n}\n\n/** Resets when the files query changes, e.g. when a table column filter is applied. */\nfunction CohortFilesErrorBoundary(props: PropsWithChildren) {\n const { currentQueryRequest } = useQueryContext()\n return (\n <ErrorBoundary\n FallbackComponent={CohortFilesErrorFallback}\n resetKeys={[currentQueryRequest]}\n >\n {props.children}\n </ErrorBoundary>\n )\n}\n\nfunction CohortFilesResults() {\n const { data: filesMetadata } = useSuspenseGetQueryMetadata()\n const count = filesMetadata.queryCount ?? 0\n if (count === 0) {\n return (\n <Typography variant=\"body1\" className={styles.state}>\n {COHORT_FILES_ZERO_COUNT_TEXT}\n </Typography>\n )\n }\n return (\n <>\n <Typography variant=\"body1\" className={styles.count}>\n {count.toLocaleString()}{' '}\n {count === 1 ? 'file or dataset' : FILES_AND_DATASETS}\n </Typography>\n <SynapseErrorBoundary>\n {/* Programmatic options are hidden: their code carries only the SQL, which can't express the cohort. */}\n <TopLevelControls\n hideQueryCount\n hideFacetFilterControl\n hideVisualizationsControl\n hideProgrammaticOptionsMenuItem\n />\n </SynapseErrorBoundary>\n <CohortFilesDownloadConfirmation />\n <RowSetView tableConfiguration={{}} hideDownload />\n </>\n )\n}\n\n/** Adds the files of the cohort's files query, which carries the cohort, to the Download List. */\nfunction CohortFilesDownloadConfirmation() {\n const { showDownloadConfirmation, setShowDownloadConfirmation } =\n useQueryVisualizationContext()\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n if (!showDownloadConfirmation) {\n return null\n }\n return (\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() => setShowDownloadConfirmation(false)}\n />\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CohortDefinition, ColumnCohortFilter, Query } from '@sage-bionetworks/synapse-types';
2
+ /** Name of the request-scoped cohort that carries the participant cohort into the Files/Datasets query. */
3
+ export declare const COHORT_NAME = "c1";
4
+ /**
5
+ * The participant identifier: a column of the participant VirtualTable and of the Files/Datasets VirtualTable's
6
+ * source. For callers with aggregate-only access it must be a quasi-identifier of that source.
7
+ */
8
+ export declare const COHORT_PARTICIPANT_ID_COLUMN_NAME = "individualId";
9
+ /**
10
+ * The most participants a cohort can hold: the stack default of `org.sagebionetworks.table.query.cohort.max.values`.
11
+ * The server rejects a larger cohort with COHORT_TOO_LARGE.
12
+ */
13
+ export declare const MAX_COHORT_PARTICIPANTS = 10000;
14
+ export type CohortHandOff = {
15
+ cohort: CohortDefinition;
16
+ /** References the cohort as a defining condition, so it applies to the rows the Files/Datasets VirtualTable groups. */
17
+ filter: ColumnCohortFilter;
18
+ };
19
+ /**
20
+ * Builds the cohort that carries the participant query's filters into the Files/Datasets query, and the filter that
21
+ * references it. Returns undefined when the participant query has no filters, because the cohort would be every
22
+ * participant. Sort, limit and offset are never copied: the server rejects them in a cohort query.
23
+ */
24
+ export declare function buildCohortHandOff(participantQuery: Query, participantsTableId: string): CohortHandOff | undefined;
25
+ //# sourceMappingURL=cohortHandOff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohortHandOff.d.ts","sourceRoot":"","sources":["../../../src/components/CohortBuilder/cohortHandOff.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,EACN,MAAM,iCAAiC,CAAA;AAExC,2GAA2G;AAC3G,eAAO,MAAM,WAAW,OAAO,CAAA;AAE/B;;;GAGG;AACH,eAAO,MAAM,iCAAiC,iBAAiB,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,gBAAgB,CAAA;IACxB,uHAAuH;IACvH,MAAM,EAAE,kBAAkB,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,KAAK,EACvB,mBAAmB,EAAE,MAAM,GAC1B,aAAa,GAAG,SAAS,CAqB3B"}
@@ -0,0 +1,26 @@
1
+ import { COLUMN_COHORT_FILTER_CONCRETE_TYPE_VALUE as e } from "@sage-bionetworks/synapse-types";
2
+ //#region src/components/CohortBuilder/cohortHandOff.ts
3
+ var t = "c1", n = "individualId", r = 1e4;
4
+ function i(t, r) {
5
+ let { additionalFilters: i, selectedFacets: a } = t;
6
+ if (!(!i?.length && !a?.length)) return {
7
+ cohort: {
8
+ name: "c1",
9
+ query: {
10
+ sql: `SELECT ${n} FROM ${r}`,
11
+ additionalFilters: i,
12
+ selectedFacets: a
13
+ }
14
+ },
15
+ filter: {
16
+ concreteType: e,
17
+ columnName: n,
18
+ cohortName: "c1",
19
+ isDefiningCondition: !0
20
+ }
21
+ };
22
+ }
23
+ //#endregion
24
+ export { t as COHORT_NAME, n as COHORT_PARTICIPANT_ID_COLUMN_NAME, r as MAX_COHORT_PARTICIPANTS, i as buildCohortHandOff };
25
+
26
+ //# sourceMappingURL=cohortHandOff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohortHandOff.js","names":[],"sources":["../../../src/components/CohortBuilder/cohortHandOff.ts"],"sourcesContent":["import {\n COLUMN_COHORT_FILTER_CONCRETE_TYPE_VALUE,\n CohortDefinition,\n ColumnCohortFilter,\n Query,\n} from '@sage-bionetworks/synapse-types'\n\n/** Name of the request-scoped cohort that carries the participant cohort into the Files/Datasets query. */\nexport const COHORT_NAME = 'c1'\n\n/**\n * The participant identifier: a column of the participant VirtualTable and of the Files/Datasets VirtualTable's\n * source. For callers with aggregate-only access it must be a quasi-identifier of that source.\n */\nexport const COHORT_PARTICIPANT_ID_COLUMN_NAME = 'individualId'\n\n/**\n * The most participants a cohort can hold: the stack default of `org.sagebionetworks.table.query.cohort.max.values`.\n * The server rejects a larger cohort with COHORT_TOO_LARGE.\n */\nexport const MAX_COHORT_PARTICIPANTS = 10_000\n\nexport type CohortHandOff = {\n cohort: CohortDefinition\n /** References the cohort as a defining condition, so it applies to the rows the Files/Datasets VirtualTable groups. */\n filter: ColumnCohortFilter\n}\n\n/**\n * Builds the cohort that carries the participant query's filters into the Files/Datasets query, and the filter that\n * references it. Returns undefined when the participant query has no filters, because the cohort would be every\n * participant. Sort, limit and offset are never copied: the server rejects them in a cohort query.\n */\nexport function buildCohortHandOff(\n participantQuery: Query,\n participantsTableId: string,\n): CohortHandOff | undefined {\n const { additionalFilters, selectedFacets } = participantQuery\n if (!additionalFilters?.length && !selectedFacets?.length) {\n return undefined\n }\n return {\n cohort: {\n name: COHORT_NAME,\n query: {\n sql: `SELECT ${COHORT_PARTICIPANT_ID_COLUMN_NAME} FROM ${participantsTableId}`,\n additionalFilters,\n selectedFacets,\n },\n },\n filter: {\n concreteType: COLUMN_COHORT_FILTER_CONCRETE_TYPE_VALUE,\n columnName: COHORT_PARTICIPANT_ID_COLUMN_NAME,\n cohortName: COHORT_NAME,\n isDefiningCondition: true,\n },\n }\n}\n"],"mappings":";;AAQA,IAAa,IAAc,MAMd,IAAoC,gBAMpC,IAA0B;AAavC,SAAgB,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,sBAAmB,sBAAmB;CAC1C,OAAC,GAAmB,UAAU,CAAC,GAAgB,SAGnD,OAAO;EACL,QAAQ;GACN,MAAA;GACA,OAAO;IACL,KAAK,UAAU,EAAkC,QAAQ;IACzD;IACA;GACF;EACF;EACA,QAAQ;GACN,cAAc;GACd,YAAY;GACZ,YAAA;GACA,qBAAqB;EACvB;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnFilter.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAc/C,MAAM,MAAM,WAAW,GAAG;IACxB,+BAA+B,EAAE,qBAAqB,CAAA;CACvD,CAAA;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,WAAW,2CAoDvC;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"ColumnFilter.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAY/C,MAAM,MAAM,WAAW,GAAG;IACxB,+BAA+B,EAAE,qBAAqB,CAAA;CACvD,CAAA;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,WAAW,2CAoDvC;AAED,eAAe,YAAY,CAAA"}
@@ -1,25 +1,26 @@
1
- import { facetObjectMatchesDefinition as e, getCorrespondingSelectedFacet as t } from "../../utils/functions/queryUtils.js";
2
- import { useQueryContext as n } from "../QueryContext/QueryContext.js";
3
- import { useGetQueryMetadata as r } from "../QueryWrapper/useGetQueryMetadata.js";
4
- import { Autocomplete as i, TextField as a } from "@mui/material";
5
- import { jsx as o } from "react/jsx-runtime";
1
+ import { getEnumerationFacets as e } from "../../utils/functions/enumerationFacet.js";
2
+ import { facetObjectMatchesDefinition as t, getCorrespondingSelectedFacet as n } from "../../utils/functions/queryUtils.js";
3
+ import { useQueryContext as r } from "../QueryContext/QueryContext.js";
4
+ import { useGetQueryMetadata as i } from "../QueryWrapper/useGetQueryMetadata.js";
5
+ import { Autocomplete as a, TextField as o } from "@mui/material";
6
+ import { jsx as s } from "react/jsx-runtime";
6
7
  //#region src/components/ColumnFilter/ColumnFilter.tsx
7
- function s(s) {
8
- let { getCurrentQueryRequest: c, addValueToSelectedFacet: l, removeSelectedFacet: u } = n(), { data: d } = r(), { topLevelEnumeratedFacetToFilter: f } = s, p = c(), m = (d?.facets ?? []).find((t) => e(t, f))?.facetValues.map(({ value: e }) => e) ?? [], h = t(f, p.query.selectedFacets)?.facetValues || [];
9
- return /* @__PURE__ */ o("div", { children: m.length > 0 && /* @__PURE__ */ o(i, {
8
+ function c(c) {
9
+ let { getCurrentQueryRequest: l, addValueToSelectedFacet: u, removeSelectedFacet: d } = r(), { data: f } = i(), { topLevelEnumeratedFacetToFilter: p } = c, m = l(), h = e(f?.facets).find((e) => t(e, p))?.facetValues.map(({ value: e }) => e) ?? [], g = n(p, m.query.selectedFacets)?.facetValues || [];
10
+ return /* @__PURE__ */ s("div", { children: h.length > 0 && /* @__PURE__ */ s(a, {
10
11
  multiple: !0,
11
- options: m,
12
- value: h,
12
+ options: h,
13
+ value: g,
13
14
  onChange: (e, t) => {
14
- u(f), t.forEach((e) => l(f, e));
15
+ d(p), t.forEach((e) => u(p, e));
15
16
  },
16
- renderInput: (e) => /* @__PURE__ */ o(a, {
17
+ renderInput: (e) => /* @__PURE__ */ s(o, {
17
18
  ...e,
18
19
  placeholder: "Select Filter(s)"
19
20
  })
20
21
  }) });
21
22
  }
22
23
  //#endregion
23
- export { s as default };
24
+ export { c as default };
24
25
 
25
26
  //# sourceMappingURL=ColumnFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnFilter.js","names":[],"sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingSelectedFacet,\n} from '@/utils/functions/queryUtils'\nimport { Autocomplete, TextField } from '@mui/material'\nimport {\n FacetColumnResultValues,\n FacetColumnValuesRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { SyntheticEvent } from 'react'\nimport { useQueryContext } from '../QueryContext/QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nexport type FilterProps = {\n topLevelEnumeratedFacetToFilter: UniqueFacetIdentifier\n}\n\nfunction ColumnFilter(props: FilterProps) {\n const queryContext = useQueryContext()\n const {\n getCurrentQueryRequest,\n addValueToSelectedFacet,\n removeSelectedFacet,\n } = queryContext\n const { data: queryMetadata } = useGetQueryMetadata()\n const { topLevelEnumeratedFacetToFilter } = props\n\n const currentQuery = getCurrentQueryRequest()\n\n const activeFacet = (queryMetadata?.facets ?? []).find(facet =>\n facetObjectMatchesDefinition(facet, topLevelEnumeratedFacetToFilter),\n ) as FacetColumnResultValues | undefined\n\n // Map the facet values to format for MUI Autocomplete options\n const filterOptions = activeFacet?.facetValues.map(({ value }) => value) ?? []\n\n const selectedFacetFromQuery = getCorrespondingSelectedFacet(\n topLevelEnumeratedFacetToFilter,\n currentQuery.query.selectedFacets,\n ) as FacetColumnValuesRequest | undefined\n\n const selectedValues = selectedFacetFromQuery?.facetValues || []\n\n const onChange = (\n event: SyntheticEvent,\n values: string[], // New value for the selected options\n ) => {\n removeSelectedFacet(topLevelEnumeratedFacetToFilter)\n\n values.forEach(value =>\n addValueToSelectedFacet(topLevelEnumeratedFacetToFilter, value),\n )\n }\n\n return (\n <div>\n {filterOptions.length > 0 && (\n <Autocomplete\n multiple\n options={filterOptions}\n value={selectedValues}\n onChange={onChange}\n renderInput={params => (\n <TextField {...params} placeholder=\"Select Filter(s)\" />\n )}\n />\n )}\n </div>\n )\n}\n\nexport default ColumnFilter\n"],"mappings":";;;;;;AAkBA,SAAS,EAAa,GAAoB;CAExC,IAAM,EACJ,2BACA,4BACA,2BAJmB,EAKjB,GACE,EAAE,MAAM,MAAkB,EAAoB,GAC9C,EAAE,uCAAoC,GAEtC,IAAe,EAAuB,GAOtC,KALe,GAAe,UAAU,CAAC,GAAG,MAAK,MACrD,EAA6B,GAAO,CAA+B,CAI/C,GAAa,YAAY,KAAK,EAAE,eAAY,CAAK,KAAK,CAAC,GAOvE,IALyB,EAC7B,GACA,EAAa,MAAM,cAGE,GAAwB,eAAe,CAAC;CAa/D,OACE,kBAAC,OAAD,EAAA,UACG,EAAc,SAAS,KACtB,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,OAAO;EACG,WAjBhB,GACA,MACG;GAGH,AAFA,EAAoB,CAA+B,GAEnD,EAAO,SAAQ,MACb,EAAwB,GAAiC,CAAK,CAChE;EACF;EAUQ,cAAa,MACX,kBAAC,GAAD;GAAW,GAAI;GAAQ,aAAY;EAAoB,CAAA;CAE1D,CAAA,EAEA,CAAA;AAET"}
1
+ {"version":3,"file":"ColumnFilter.js","names":[],"sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingSelectedFacet,\n} from '@/utils/functions/queryUtils'\nimport { getEnumerationFacets } from '@/utils/functions/enumerationFacet'\nimport { Autocomplete, TextField } from '@mui/material'\nimport { FacetColumnValuesRequest } from '@sage-bionetworks/synapse-types'\nimport { SyntheticEvent } from 'react'\nimport { useQueryContext } from '../QueryContext/QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nexport type FilterProps = {\n topLevelEnumeratedFacetToFilter: UniqueFacetIdentifier\n}\n\nfunction ColumnFilter(props: FilterProps) {\n const queryContext = useQueryContext()\n const {\n getCurrentQueryRequest,\n addValueToSelectedFacet,\n removeSelectedFacet,\n } = queryContext\n const { data: queryMetadata } = useGetQueryMetadata()\n const { topLevelEnumeratedFacetToFilter } = props\n\n const currentQuery = getCurrentQueryRequest()\n\n const activeFacet = getEnumerationFacets(queryMetadata?.facets).find(facet =>\n facetObjectMatchesDefinition(facet, topLevelEnumeratedFacetToFilter),\n )\n\n // Map the facet values to format for MUI Autocomplete options\n const filterOptions = activeFacet?.facetValues.map(({ value }) => value) ?? []\n\n const selectedFacetFromQuery = getCorrespondingSelectedFacet(\n topLevelEnumeratedFacetToFilter,\n currentQuery.query.selectedFacets,\n ) as FacetColumnValuesRequest | undefined\n\n const selectedValues = selectedFacetFromQuery?.facetValues || []\n\n const onChange = (\n event: SyntheticEvent,\n values: string[], // New value for the selected options\n ) => {\n removeSelectedFacet(topLevelEnumeratedFacetToFilter)\n\n values.forEach(value =>\n addValueToSelectedFacet(topLevelEnumeratedFacetToFilter, value),\n )\n }\n\n return (\n <div>\n {filterOptions.length > 0 && (\n <Autocomplete\n multiple\n options={filterOptions}\n value={selectedValues}\n onChange={onChange}\n renderInput={params => (\n <TextField {...params} placeholder=\"Select Filter(s)\" />\n )}\n />\n )}\n </div>\n )\n}\n\nexport default ColumnFilter\n"],"mappings":";;;;;;;AAgBA,SAAS,EAAa,GAAoB;CAExC,IAAM,EACJ,2BACA,4BACA,2BAJmB,EAKjB,GACE,EAAE,MAAM,MAAkB,EAAoB,GAC9C,EAAE,uCAAoC,GAEtC,IAAe,EAAuB,GAOtC,IALc,EAAqB,GAAe,MAAM,EAAE,MAAK,MACnE,EAA6B,GAAO,CAA+B,CAI/C,GAAa,YAAY,KAAK,EAAE,eAAY,CAAK,KAAK,CAAC,GAOvE,IALyB,EAC7B,GACA,EAAa,MAAM,cAGE,GAAwB,eAAe,CAAC;CAa/D,OACE,kBAAC,OAAD,EAAA,UACG,EAAc,SAAS,KACtB,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,OAAO;EACG,WAjBhB,GACA,MACG;GAGH,AAFA,EAAoB,CAA+B,GAEnD,EAAO,SAAQ,MACb,EAAwB,GAAiC,CAAK,CAChE;EACF;EAUQ,cAAa,MACX,kBAAC,GAAD;GAAW,GAAI;GAAQ,aAAY;EAAoB,CAAA;CAE1D,CAAA,EAEA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCollapse.d.ts","sourceRoot":"","sources":["../../src/components/ComponentCollapse.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAEL,iBAAiB,EACjB,SAAS,EAGV,MAAM,OAAO,CAAA;AAEd,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACrD,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CAsDxB"}
1
+ {"version":3,"file":"ComponentCollapse.d.ts","sourceRoot":"","sources":["../../src/components/ComponentCollapse.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAEL,iBAAiB,EACjB,SAAS,EAGV,MAAM,OAAO,CAAA;AAEd,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACrD,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CAsDxB"}
@@ -2,7 +2,8 @@ import { spreadSx as e } from "../theme/spreadSx.js";
2
2
  import { useId as t, useState as n } from "react";
3
3
  import { Box as r, Collapse as i } from "@mui/material";
4
4
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
- import { KeyboardArrowDownTwoTone as s, KeyboardArrowUpTwoTone as c } from "@mui/icons-material";
5
+ import s from "@mui/icons-material/KeyboardArrowDownTwoTone";
6
+ import c from "@mui/icons-material/KeyboardArrowUpTwoTone";
6
7
  //#region src/components/ComponentCollapse.tsx
7
8
  function l({ component: l, defaultVisible: u, componentContainerSx: d, collapseBoxSx: f, iconSx: p, children: m }) {
8
9
  let [h, g] = n(u), _ = t(), v = {
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCollapse.js","names":[],"sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n KeyboardArrowDownTwoTone,\n KeyboardArrowUpTwoTone,\n} from '@mui/icons-material'\nimport { Box, Collapse, SxProps } from '@mui/material'\nimport {\n KeyboardEvent,\n PropsWithChildren,\n ReactNode,\n useId,\n useState,\n} from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n component: ReactNode\n defaultVisible?: boolean // default to false (collapsed)\n componentContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a custom component as the trigger\n */\nexport default function ComponentCollapse({\n component,\n defaultVisible,\n componentContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const collapseId = useId()\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const componentContainerDefaultSx: SxProps = {\n display: 'flex',\n textAlign: 'left',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n component=\"button\"\n sx={spreadSx(componentContainerDefaultSx, componentContainerSx)}\n onClick={() => setShow(!show)}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setShow(!show)\n }\n }}\n aria-controls={collapseId}\n aria-expanded={show}\n >\n {component}\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id={collapseId}>{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"mappings":";;;;;;AAyBA,SAAwB,EAAkB,EACxC,cACA,mBACA,yBACA,kBACA,WACA,eACyB;CACzB,IAAM,CAAC,GAAM,KAAW,EAAS,CAAc,GACzC,IAAa,EAAM,GACnB,IAAqB;EACzB,OAAO;EACP,cAAc;EACd,QAAQ;EACR,GAAG;CACL;CAiBA,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI,EAAS;IAlBjB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,WAAW,EACT,QAAQ,UACV;GAWiB,GAA6B,CAAoB;GAC9D,eAAe,EAAQ,CAAC,CAAI;GAC5B,YAAY,MAAqB;IAC/B,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,EAAQ,CAAC,CAAI;GAEjB;GACA,iBAAe;GACf,iBAAe;aAXjB,CAaG,GAEC,EADD,IACE,IAEA,GAFD,EAAwB,IAAI,EAAY,CAEE,CAEzC;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,GAAD;IAAK,IAAI,EAAS;KA3BtB,iBAAiB;KACjB,SAAS;IA0Ba,GAAsB,CAAa;cACnD,kBAAC,OAAD;KAAK,IAAI;KAAa;IAAc,CAAA;GACjC,CAAA;EACG,CAAA,CACP;;AAET"}
1
+ {"version":3,"file":"ComponentCollapse.js","names":[],"sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport KeyboardArrowDownTwoTone from '@mui/icons-material/KeyboardArrowDownTwoTone'\nimport KeyboardArrowUpTwoTone from '@mui/icons-material/KeyboardArrowUpTwoTone'\nimport { Box, Collapse, SxProps } from '@mui/material'\nimport {\n KeyboardEvent,\n PropsWithChildren,\n ReactNode,\n useId,\n useState,\n} from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n component: ReactNode\n defaultVisible?: boolean // default to false (collapsed)\n componentContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a custom component as the trigger\n */\nexport default function ComponentCollapse({\n component,\n defaultVisible,\n componentContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const collapseId = useId()\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const componentContainerDefaultSx: SxProps = {\n display: 'flex',\n textAlign: 'left',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n component=\"button\"\n sx={spreadSx(componentContainerDefaultSx, componentContainerSx)}\n onClick={() => setShow(!show)}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setShow(!show)\n }\n }}\n aria-controls={collapseId}\n aria-expanded={show}\n >\n {component}\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id={collapseId}>{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"mappings":";;;;;;;AAuBA,SAAwB,EAAkB,EACxC,cACA,mBACA,yBACA,kBACA,WACA,eACyB;CACzB,IAAM,CAAC,GAAM,KAAW,EAAS,CAAc,GACzC,IAAa,EAAM,GACnB,IAAqB;EACzB,OAAO;EACP,cAAc;EACd,QAAQ;EACR,GAAG;CACL;CAiBA,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI,EAAS;IAlBjB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,WAAW,EACT,QAAQ,UACV;GAWiB,GAA6B,CAAoB;GAC9D,eAAe,EAAQ,CAAC,CAAI;GAC5B,YAAY,MAAqB;IAC/B,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,EAAQ,CAAC,CAAI;GAEjB;GACA,iBAAe;GACf,iBAAe;aAXjB,CAaG,GAEC,EADD,IACE,IAEA,GAFD,EAAwB,IAAI,EAAY,CAEE,CAEzC;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,GAAD;IAAK,IAAI,EAAS;KA3BtB,iBAAiB;KACjB,SAAS;IA0Ba,GAAsB,CAAa;cACnD,kBAAC,OAAD;KAAK,IAAI;KAAa;IAAc,CAAA;GACjC,CAAA;EACG,CAAA,CACP;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataExplorer.d.ts","sourceRoot":"","sources":["../../../src/components/DataExplorer/DataExplorer.tsx"],"names":[],"mappings":"AAwBA,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,iBAAiB,2CA2MnB"}
1
+ {"version":3,"file":"DataExplorer.d.ts","sourceRoot":"","sources":["../../../src/components/DataExplorer/DataExplorer.tsx"],"names":[],"mappings":"AAqBA,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAUD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,GAAG,EACH,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,iBAAiB,2CAyMnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataExplorer.js","names":[],"sources":["../../../src/components/DataExplorer/DataExplorer.tsx"],"sourcesContent":["import {\n Button,\n Typography,\n Stack,\n useTheme,\n useMediaQuery,\n} from '@mui/material'\nimport { useEffect, useMemo, useState } from 'react'\nimport styles from './DataExplorer.module.scss'\nimport { useSmartLink } from '../SmartLink/useSmartLink'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions'\nimport {\n QueryBundleRequest,\n FacetColumnResultValues,\n} from '@sage-bionetworks/synapse-types'\nimport { SynapseConstants } from '@/utils'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { generateEncodedPathAndQueryForSelectedFacetURL } from '../QueryWrapper'\nimport ImageFromSynapseTable from '../ImageFromSynapseTable'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport { getFacets } from '../widgets/facet-nav/useFacetPlots'\nimport { orderBy } from 'lodash-es'\n\ntype DataExplorerProps = {\n title?: React.ReactNode\n subtitle?: React.ReactNode\n buttonText?: string\n buttonLink?: string\n sql: string\n explorePath?: string\n exploreQuerySql?: string\n facetSql?: string\n}\n\nenum ExpectedColumns {\n DATATYPE = 'datatype',\n ICON = 'icon',\n HEX_COLOR = 'hexColor',\n ORDER = 'order',\n COLUMN_NAME = 'columnName',\n}\n\n/**\n * DataExplorer\n *\n * A reusable component that renders a list of data types/categories with associated icons.\n * It drives navigation by linking each row to a pre-filtered exploration view.\n *\n * How it works:\n * 1. `sql`: Fetches a configuration table defining the display categories,\n * their display order, hex colors, and icons.\n * 2. `facetSql`: Fetches real-time counts for these categories from the actual\n * underlying data table.\n * 3. Links are dynamically built to point to a target path (`explorePath`) pre-filtered to the\n * clicked category.\n */\nexport default function DataExplorer({\n sql,\n title,\n subtitle,\n buttonText,\n buttonLink,\n explorePath,\n exploreQuerySql,\n facetSql,\n}: DataExplorerProps) {\n const hasTextSection = title || subtitle || buttonText\n const smartLinkProps = useSmartLink(buttonLink)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n\n const entityId = parseEntityIdFromSqlStatement(sql)\n const facetEntityId = parseEntityIdFromSqlStatement(facetSql ?? '')\n\n const queryBundleRequest: QueryBundleRequest = {\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n query: {\n sql,\n },\n }\n\n const facetQueryRequest: QueryBundleRequest = {\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_FACETS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: facetEntityId,\n query: {\n sql: facetSql ?? '',\n },\n }\n\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const dataRows = useMemo(\n () => queryResultBundle?.queryResult?.queryResults.rows ?? [],\n [queryResultBundle],\n )\n\n const { data: facetQueryResultBundle } = useGetQueryResultBundle(\n facetQueryRequest,\n { enabled: Boolean(facetSql) },\n )\n\n const datatypeColIndex = getFieldIndex(\n ExpectedColumns.DATATYPE,\n queryResultBundle,\n )\n\n const iconColIndex = getFieldIndex(ExpectedColumns.ICON, queryResultBundle)\n\n const hexColorColIndex = getFieldIndex(\n ExpectedColumns.HEX_COLOR,\n queryResultBundle,\n )\n\n const orderColIndex = getFieldIndex(ExpectedColumns.ORDER, queryResultBundle)\n\n const columnNameColIndex = getFieldIndex(\n ExpectedColumns.COLUMN_NAME,\n queryResultBundle,\n )\n\n // Key rows by columnName + dataType to prevent collisions when the same dataType appears in multiple columns.\n const getRowKey = (dataType: string, columnName: string) =>\n columnName ? `${columnName}::${dataType}` : dataType\n\n const [rowUrls, setRowUrls] = useState<Record<string, string>>({})\n\n useEffect(() => {\n if (!explorePath || !exploreQuerySql) return\n Promise.all(\n dataRows.map(row => {\n const dataType = row.values[datatypeColIndex]?.trim() ?? ''\n const columnName = row.values[columnNameColIndex]?.trim() ?? ''\n const rowKey = getRowKey(dataType, columnName)\n if (!dataType || !columnName)\n return Promise.resolve([rowKey, explorePath] as const)\n return generateEncodedPathAndQueryForSelectedFacetURL(\n explorePath,\n exploreQuerySql,\n [{ facet: columnName, facetValue: dataType }],\n ).then(url => [rowKey, url] as const)\n }),\n ).then(entries => setRowUrls(Object.fromEntries(entries)))\n }, [\n dataRows,\n datatypeColIndex,\n columnNameColIndex,\n explorePath,\n exploreQuerySql,\n ])\n\n // Create a map of facet counts by column name and data type for quick lookup\n const facetCountsByColumn = useMemo(() => {\n const facets = getFacets(\n facetQueryResultBundle,\n ) as FacetColumnResultValues[]\n const map = new Map<string, Map<string, number>>()\n for (const facet of facets) {\n map.set(\n facet.columnName,\n new Map(facet.facetValues.map(fv => [fv.value, fv.count])),\n )\n }\n return map\n }, [facetQueryResultBundle])\n\n const getFacetCount = (dataType: string, columnName?: string) =>\n columnName ? facetCountsByColumn.get(columnName)?.get(dataType) : undefined\n\n // Sort by order column ascending, then by facet count descending\n const sortedRows = orderBy(\n dataRows,\n [\n row => Number(row.values[orderColIndex] ?? Number.MAX_SAFE_INTEGER),\n row =>\n getFacetCount(\n row.values[datatypeColIndex]?.trim() ?? '',\n row.values[columnNameColIndex]?.trim() ?? '',\n ) ?? 0,\n ],\n ['asc', 'desc'],\n )\n\n return (\n <div className={styles.dataExplorerContainer}>\n {hasTextSection && (\n <Stack className={styles.dataExplorerTextContainer}>\n {title && (\n <Typography\n variant=\"headline1\"\n className={styles.dataExplorerTitle}\n >\n {title}\n </Typography>\n )}\n {subtitle && (\n <Typography\n variant=\"body1\"\n component=\"div\"\n className={styles.dataExplorerSubtitle}\n >\n {subtitle}\n </Typography>\n )}\n {buttonText && (\n <Button\n variant=\"contained\"\n className={styles.dataExplorerButton}\n {...smartLinkProps}\n >\n {buttonText}\n </Button>\n )}\n </Stack>\n )}\n <div className={styles.dataContainer}>\n {sortedRows.map(row => {\n const dataType = row.values[datatypeColIndex]?.trim() ?? ''\n const hexColor = row.values[hexColorColIndex] ?? undefined\n const columnName = row.values[columnNameColIndex]?.trim() ?? ''\n const rowUrl = rowUrls[getRowKey(dataType, columnName)]\n const facetCount = getFacetCount(dataType, columnName)\n return (\n <a\n key={getRowKey(dataType, columnName)}\n className={styles.dataRow}\n href={rowUrl}\n >\n <div className={styles.dataRowInner}>\n <div className={styles.dataRowLeft}>\n <div\n className={styles.iconContainer}\n style={hexColor ? { backgroundColor: hexColor } : undefined}\n >\n <ImageFromSynapseTable\n tableId={entityId}\n fileHandleId={row.values[iconColIndex]}\n alt={dataType}\n style={{ width: 49, height: 49 }}\n />\n </div>\n <div className={styles.dataRowNamePill}>\n <Typography className={styles.dataRowTitle}>\n {dataType}\n </Typography>\n {facetCount && (\n <div className={styles.facetCount}>{facetCount}</div>\n )}\n </div>\n </div>\n {rowUrl && !isMobile && (\n <div className={styles.viewCta}>\n <span className={styles.viewCtaText}>View</span>\n <ArrowForwardIcon className={styles.viewCtaIcon} />\n </div>\n )}\n </div>\n </a>\n )\n })}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataExplorer.js","names":[],"sources":["../../../src/components/DataExplorer/DataExplorer.tsx"],"sourcesContent":["import {\n Button,\n Typography,\n Stack,\n useTheme,\n useMediaQuery,\n} from '@mui/material'\nimport { useEffect, useMemo, useState } from 'react'\nimport styles from './DataExplorer.module.scss'\nimport { useSmartLink } from '../SmartLink/useSmartLink'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { SynapseConstants } from '@/utils'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { generateEncodedPathAndQueryForSelectedFacetURL } from '../QueryWrapper'\nimport ImageFromSynapseTable from '../ImageFromSynapseTable'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport { getFacets } from '../widgets/facet-nav/useFacetPlots'\nimport { orderBy } from 'lodash-es'\n\ntype DataExplorerProps = {\n title?: React.ReactNode\n subtitle?: React.ReactNode\n buttonText?: string\n buttonLink?: string\n sql: string\n explorePath?: string\n exploreQuerySql?: string\n facetSql?: string\n}\n\nenum ExpectedColumns {\n DATATYPE = 'datatype',\n ICON = 'icon',\n HEX_COLOR = 'hexColor',\n ORDER = 'order',\n COLUMN_NAME = 'columnName',\n}\n\n/**\n * DataExplorer\n *\n * A reusable component that renders a list of data types/categories with associated icons.\n * It drives navigation by linking each row to a pre-filtered exploration view.\n *\n * How it works:\n * 1. `sql`: Fetches a configuration table defining the display categories,\n * their display order, hex colors, and icons.\n * 2. `facetSql`: Fetches real-time counts for these categories from the actual\n * underlying data table.\n * 3. Links are dynamically built to point to a target path (`explorePath`) pre-filtered to the\n * clicked category.\n */\nexport default function DataExplorer({\n sql,\n title,\n subtitle,\n buttonText,\n buttonLink,\n explorePath,\n exploreQuerySql,\n facetSql,\n}: DataExplorerProps) {\n const hasTextSection = title || subtitle || buttonText\n const smartLinkProps = useSmartLink(buttonLink)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n\n const entityId = parseEntityIdFromSqlStatement(sql)\n const facetEntityId = parseEntityIdFromSqlStatement(facetSql ?? '')\n\n const queryBundleRequest: QueryBundleRequest = {\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n query: {\n sql,\n },\n }\n\n const facetQueryRequest: QueryBundleRequest = {\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_FACETS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: facetEntityId,\n query: {\n sql: facetSql ?? '',\n },\n }\n\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const dataRows = useMemo(\n () => queryResultBundle?.queryResult?.queryResults.rows ?? [],\n [queryResultBundle],\n )\n\n const { data: facetQueryResultBundle } = useGetQueryResultBundle(\n facetQueryRequest,\n { enabled: Boolean(facetSql) },\n )\n\n const datatypeColIndex = getFieldIndex(\n ExpectedColumns.DATATYPE,\n queryResultBundle,\n )\n\n const iconColIndex = getFieldIndex(ExpectedColumns.ICON, queryResultBundle)\n\n const hexColorColIndex = getFieldIndex(\n ExpectedColumns.HEX_COLOR,\n queryResultBundle,\n )\n\n const orderColIndex = getFieldIndex(ExpectedColumns.ORDER, queryResultBundle)\n\n const columnNameColIndex = getFieldIndex(\n ExpectedColumns.COLUMN_NAME,\n queryResultBundle,\n )\n\n // Key rows by columnName + dataType to prevent collisions when the same dataType appears in multiple columns.\n const getRowKey = (dataType: string, columnName: string) =>\n columnName ? `${columnName}::${dataType}` : dataType\n\n const [rowUrls, setRowUrls] = useState<Record<string, string>>({})\n\n useEffect(() => {\n if (!explorePath || !exploreQuerySql) return\n Promise.all(\n dataRows.map(row => {\n const dataType = row.values[datatypeColIndex]?.trim() ?? ''\n const columnName = row.values[columnNameColIndex]?.trim() ?? ''\n const rowKey = getRowKey(dataType, columnName)\n if (!dataType || !columnName)\n return Promise.resolve([rowKey, explorePath] as const)\n return generateEncodedPathAndQueryForSelectedFacetURL(\n explorePath,\n exploreQuerySql,\n [{ facet: columnName, facetValue: dataType }],\n ).then(url => [rowKey, url] as const)\n }),\n ).then(entries => setRowUrls(Object.fromEntries(entries)))\n }, [\n dataRows,\n datatypeColIndex,\n columnNameColIndex,\n explorePath,\n exploreQuerySql,\n ])\n\n // Create a map of facet counts by column name and data type for quick lookup\n const facetCountsByColumn = useMemo(() => {\n const facets = getFacets(facetQueryResultBundle)\n const map = new Map<string, Map<string, number>>()\n for (const facet of facets) {\n map.set(\n facet.columnName,\n new Map(facet.facetValues.map(fv => [fv.value, fv.count])),\n )\n }\n return map\n }, [facetQueryResultBundle])\n\n const getFacetCount = (dataType: string, columnName?: string) =>\n columnName ? facetCountsByColumn.get(columnName)?.get(dataType) : undefined\n\n // Sort by order column ascending, then by facet count descending\n const sortedRows = orderBy(\n dataRows,\n [\n row => Number(row.values[orderColIndex] ?? Number.MAX_SAFE_INTEGER),\n row =>\n getFacetCount(\n row.values[datatypeColIndex]?.trim() ?? '',\n row.values[columnNameColIndex]?.trim() ?? '',\n ) ?? 0,\n ],\n ['asc', 'desc'],\n )\n\n return (\n <div className={styles.dataExplorerContainer}>\n {hasTextSection && (\n <Stack className={styles.dataExplorerTextContainer}>\n {title && (\n <Typography\n variant=\"headline1\"\n className={styles.dataExplorerTitle}\n >\n {title}\n </Typography>\n )}\n {subtitle && (\n <Typography\n variant=\"body1\"\n component=\"div\"\n className={styles.dataExplorerSubtitle}\n >\n {subtitle}\n </Typography>\n )}\n {buttonText && (\n <Button\n variant=\"contained\"\n className={styles.dataExplorerButton}\n {...smartLinkProps}\n >\n {buttonText}\n </Button>\n )}\n </Stack>\n )}\n <div className={styles.dataContainer}>\n {sortedRows.map(row => {\n const dataType = row.values[datatypeColIndex]?.trim() ?? ''\n const hexColor = row.values[hexColorColIndex] ?? undefined\n const columnName = row.values[columnNameColIndex]?.trim() ?? ''\n const rowUrl = rowUrls[getRowKey(dataType, columnName)]\n const facetCount = getFacetCount(dataType, columnName)\n return (\n <a\n key={getRowKey(dataType, columnName)}\n className={styles.dataRow}\n href={rowUrl}\n >\n <div className={styles.dataRowInner}>\n <div className={styles.dataRowLeft}>\n <div\n className={styles.iconContainer}\n style={hexColor ? { backgroundColor: hexColor } : undefined}\n >\n <ImageFromSynapseTable\n tableId={entityId}\n fileHandleId={row.values[iconColIndex]}\n alt={dataType}\n style={{ width: 49, height: 49 }}\n />\n </div>\n <div className={styles.dataRowNamePill}>\n <Typography className={styles.dataRowTitle}>\n {dataType}\n </Typography>\n {facetCount && (\n <div className={styles.facetCount}>{facetCount}</div>\n )}\n </div>\n </div>\n {rowUrl && !isMobile && (\n <div className={styles.viewCta}>\n <span className={styles.viewCtaText}>View</span>\n <ArrowForwardIcon className={styles.viewCtaIcon} />\n </div>\n )}\n </div>\n </a>\n )\n })}\n </div>\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"names":[],"mappings":"AAuBA,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,GAAG,EAOJ,MAAM,OAAO,CAAA;AAqBd,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,CAAA;AAghBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAM3C;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"SynapseGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"names":[],"mappings":"AAgCA,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EACL,GAAG,EAOJ,MAAM,OAAO,CAAA;AAqBd,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,CAAA;AA2hBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAM3C;AAED,eAAe,WAAW,CAAA"}