synapse-react-client 4.0.46 → 4.0.48

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 (559) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
  3. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
  4. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
  5. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  6. package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
  7. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  8. package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
  9. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  10. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  11. package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
  12. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  13. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
  14. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
  15. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
  16. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
  17. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
  18. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  19. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
  20. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  21. package/dist/components/Authentication/LastLoginInfo.js +2 -2
  22. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  23. package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
  24. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  25. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  26. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  27. package/dist/components/Authentication/TOTPForm.js +3 -3
  28. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  29. package/dist/components/Authentication/index.d.ts +6 -6
  30. package/dist/components/Authentication/index.d.ts.map +1 -1
  31. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
  32. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  33. package/dist/components/CardContainer/CardContainer.js +7 -7
  34. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  35. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
  36. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  37. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  38. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
  39. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  40. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +1 -1
  41. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  42. package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
  43. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  44. package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
  45. package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
  46. package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
  47. package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
  48. package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
  49. package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
  50. package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
  51. package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
  52. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
  53. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
  54. package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
  55. package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
  56. package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
  57. package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
  58. package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
  59. package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
  60. package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
  61. package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
  62. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  63. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  64. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  65. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
  66. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  67. package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
  68. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  69. package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
  70. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
  71. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
  72. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
  73. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
  74. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
  75. package/dist/components/DataGrid/components/contextMenu.js +3 -3
  76. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  77. package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
  78. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +9 -7
  79. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  80. package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
  81. package/dist/components/DataGrid/hooks/useStack.js +2 -2
  82. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  83. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  84. package/dist/components/DataGrid/utils/columnFactory.js +47 -42
  85. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  86. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
  87. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  88. package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
  89. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  90. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +1 -1
  91. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  92. package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
  93. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  94. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
  95. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  96. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  97. package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
  98. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  99. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
  100. package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
  101. package/dist/components/EntityHeaderTable/Filter.js +1 -1
  102. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  103. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  104. package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
  105. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
  106. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  107. package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
  108. package/dist/components/FormTemplateEditor/StepCard.js +9 -9
  109. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
  110. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
  111. package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
  112. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  113. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +1 -1
  114. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
  115. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
  116. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
  117. package/dist/components/GenericCard/TableRowGenericCard.js +37 -37
  118. package/dist/components/GoalsV3/GoalsV3.js +1 -1
  119. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  120. package/dist/components/HexGrid/HexGrid.d.ts +3 -1
  121. package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
  122. package/dist/components/HexGrid/HexGrid.js +14 -13
  123. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  124. package/dist/components/IconSvg/index.d.ts +1 -1
  125. package/dist/components/IconSvg/index.d.ts.map +1 -1
  126. package/dist/components/IconSvg/index.js.map +1 -1
  127. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
  128. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
  129. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  130. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  131. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  132. package/dist/components/Markdown/widget/index.d.ts +1 -1
  133. package/dist/components/Markdown/widget/index.d.ts.map +1 -1
  134. package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
  135. package/dist/components/ModalDownload/ModalDownload.js +2 -1
  136. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  137. package/dist/components/Plot/BarPlot.js +1 -1
  138. package/dist/components/Plot/BarPlot.js.map +1 -1
  139. package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
  140. package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
  141. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  142. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
  143. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  144. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
  145. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  146. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  147. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
  148. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  149. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  150. package/dist/components/QueryBuilder/FilterConditionRow.js +28 -27
  151. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  152. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  153. package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
  154. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  155. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
  156. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  157. package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
  158. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  159. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
  160. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
  161. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
  162. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
  163. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  164. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  165. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
  166. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
  167. package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
  168. package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
  169. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
  170. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  171. package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
  172. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  173. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
  174. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  175. package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
  176. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  177. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
  178. package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
  179. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
  180. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
  181. package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
  182. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
  183. package/dist/components/QuerySortSelector.js +5 -5
  184. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
  185. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  186. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
  187. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
  188. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
  189. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
  190. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
  191. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
  192. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
  193. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  194. package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
  195. package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
  196. package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
  197. package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
  198. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
  199. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
  200. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
  201. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
  202. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
  203. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
  204. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
  205. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  206. package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
  207. package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
  208. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  209. package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
  210. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  211. package/dist/components/QueryWrapperErrorBoundary.js +26 -21
  212. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  213. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
  214. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
  215. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  216. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
  217. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  218. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
  219. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  220. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
  221. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  222. package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
  223. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
  224. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
  225. package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
  226. package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
  227. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
  228. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
  229. package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
  230. package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
  231. package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
  232. package/dist/components/RowDataTable/RowDataTable.js +25 -8
  233. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  234. package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
  235. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  236. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
  237. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
  238. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  239. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
  240. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  241. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
  242. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  243. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
  244. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  245. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
  246. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  247. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
  248. package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
  249. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  250. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  251. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  252. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
  253. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  254. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
  255. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
  256. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  257. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
  258. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
  259. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  260. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
  261. package/dist/components/SynapseTable/SqlEditor.js +7 -7
  262. package/dist/components/SynapseTable/SynapseTable.js +8 -8
  263. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  264. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  265. package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
  266. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  267. package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
  268. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  269. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  270. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
  271. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  272. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
  273. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  274. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
  275. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +142 -142
  276. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  277. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
  278. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
  279. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  280. package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
  281. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
  282. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  283. package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
  284. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  285. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  286. package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
  287. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  288. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  289. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  290. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
  291. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  292. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
  293. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  294. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +60 -60
  295. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  296. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
  297. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  298. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
  299. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  300. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  301. package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
  302. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  303. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  304. package/dist/components/TotalQueryResults.js +14 -14
  305. package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
  306. package/dist/components/Webhook/WebhookDashboard.js +2 -2
  307. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  308. package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
  309. package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
  310. package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
  311. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  312. package/dist/components/error/ErrorBanner.d.ts.map +1 -1
  313. package/dist/components/error/ErrorBanner.js +49 -46
  314. package/dist/components/error/ErrorBanner.js.map +1 -1
  315. package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
  316. package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
  317. package/dist/components/row_renderers/Dataset.js +6 -6
  318. package/dist/components/row_renderers/Dataset.js.map +1 -1
  319. package/dist/components/row_renderers/Funder.js +1 -1
  320. package/dist/components/row_renderers/Funder.js.map +1 -1
  321. package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
  322. package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
  323. package/dist/components/widgets/ElementWithTooltip.js +22 -14
  324. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  325. package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
  326. package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
  327. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  328. package/dist/components/widgets/SynapseImage.js +1 -1
  329. package/dist/components/widgets/SynapseImage.js.map +1 -1
  330. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
  331. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  332. package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
  333. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  334. package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
  335. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
  336. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  337. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
  338. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  339. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
  340. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
  341. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  342. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
  343. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  344. package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
  345. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  346. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
  347. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
  348. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  349. package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
  350. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  351. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
  352. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
  353. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  354. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
  355. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  356. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
  357. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  358. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
  359. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  360. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
  361. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  362. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
  363. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  364. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
  365. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
  366. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  367. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
  368. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  369. package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
  370. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  371. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
  372. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
  373. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  374. package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
  375. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
  376. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
  377. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
  378. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
  379. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
  380. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
  381. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
  382. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
  383. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
  384. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
  385. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
  386. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
  387. package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
  388. package/dist/mocks/mockAnnotationColumns.js +1 -1
  389. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  390. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +9 -0
  391. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  392. package/dist/mocks/msw/handlers/aridhiaHandlers.js +24 -15
  393. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  394. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
  395. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  396. package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
  397. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  398. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
  399. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
  400. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
  401. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
  402. package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
  403. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  404. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  405. package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
  406. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  407. package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
  408. package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
  409. package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
  410. package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
  411. package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
  412. package/dist/stories/ColorPaletteInspector.js +2 -2
  413. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  414. package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
  415. package/dist/style/main.css +1 -1
  416. package/dist/synapse-queries/auth/useOIDC.js +2 -2
  417. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  418. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
  419. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
  420. package/dist/synapse-queries/challenge/useChallenge.js +2 -2
  421. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  422. package/dist/synapse-queries/chat/useChat.js +8 -8
  423. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  424. package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
  425. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  426. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
  427. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  428. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
  429. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  430. package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
  431. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  432. package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
  433. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  434. package/dist/synapse-queries/download/index.js +2 -2
  435. package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
  436. package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
  437. package/dist/synapse-queries/download/useDownloadList.js +14 -13
  438. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  439. package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
  440. package/dist/synapse-queries/entity/useEntity.js +20 -20
  441. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  442. package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
  443. package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
  444. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  445. package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
  446. package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
  447. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  448. package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
  449. package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
  450. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  451. package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
  452. package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
  453. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  454. package/dist/synapse-queries/forum/useReply.js +6 -6
  455. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  456. package/dist/synapse-queries/forum/useThread.js +14 -14
  457. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  458. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  459. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  460. package/dist/synapse-queries/grid/useGridSession.js +4 -4
  461. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  462. package/dist/synapse-queries/index.js +177 -176
  463. package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
  464. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  465. package/dist/synapse-queries/portal/usePortal.js +7 -7
  466. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  467. package/dist/synapse-queries/subscription/useSubscription.js +4 -4
  468. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  469. package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
  470. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  471. package/dist/synapse-queries/team/useTeam.js +2 -2
  472. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  473. package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
  474. package/dist/synapse-queries/team/useTeamList.js +3 -3
  475. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  476. package/dist/synapse-queries/team/useTeamMembers.js +8 -8
  477. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  478. package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
  479. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  480. package/dist/synapse-queries/trash/useTrashCan.js +4 -4
  481. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  482. package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
  483. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  484. package/dist/synapse-queries/user/useFavorites.js +4 -4
  485. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  486. package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
  487. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  488. package/dist/synapse-queries/wiki/useWiki.js +10 -10
  489. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  491. package/dist/utils/ContentTypeUtils.js +4 -4
  492. package/dist/utils/ContentTypeUtils.js.map +1 -1
  493. package/dist/utils/PermissionLevelToAccessType.js +1 -1
  494. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  495. package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
  496. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  497. package/dist/utils/context/DocumentMetadataContext.js +1 -1
  498. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  499. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  500. package/dist/utils/functions/AccessControlListUtils.js +3 -3
  501. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  502. package/dist/utils/functions/ArrayUtils.js +2 -2
  503. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  504. package/dist/utils/functions/FileHandleUtils.js +1 -1
  505. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  506. package/dist/utils/functions/RegularExpressions.js +1 -1
  507. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  508. package/dist/utils/functions/StringUtils.d.ts.map +1 -1
  509. package/dist/utils/functions/StringUtils.js +1 -2
  510. package/dist/utils/functions/StringUtils.js.map +1 -1
  511. package/dist/utils/functions/deepLinkingUtils.js +2 -2
  512. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  513. package/dist/utils/functions/enumerationFacet.d.ts +26 -0
  514. package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
  515. package/dist/utils/functions/enumerationFacet.js +27 -0
  516. package/dist/utils/functions/enumerationFacet.js.map +1 -0
  517. package/dist/utils/functions/facetCountUtils.d.ts +12 -0
  518. package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
  519. package/dist/utils/functions/facetCountUtils.js +9 -0
  520. package/dist/utils/functions/facetCountUtils.js.map +1 -0
  521. package/dist/utils/functions/getEndpoint.js.map +1 -1
  522. package/dist/utils/functions/getUserData.js +1 -1
  523. package/dist/utils/functions/getUserData.js.map +1 -1
  524. package/dist/utils/functions/queryUtils.d.ts +1 -1
  525. package/dist/utils/functions/queryUtils.d.ts.map +1 -1
  526. package/dist/utils/functions/queryUtils.js +26 -22
  527. package/dist/utils/functions/queryUtils.js.map +1 -1
  528. package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
  529. package/dist/utils/functions/testDownloadSpeed.js +17 -26
  530. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  531. package/dist/utils/functions/unCamelCase.js +1 -1
  532. package/dist/utils/functions/unCamelCase.js.map +1 -1
  533. package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
  534. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  535. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
  536. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  537. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  538. package/dist/utils/hooks/useLogin.js +5 -5
  539. package/dist/utils/hooks/useLogin.js.map +1 -1
  540. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  541. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
  542. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
  543. package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
  544. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
  545. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
  546. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
  547. package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
  548. package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
  549. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
  550. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
  551. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
  552. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  553. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
  554. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  555. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
  556. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  557. package/dist/utils/jsonschema/submissionContext.js +2 -2
  558. package/dist/utils/jsonschema/submissionContext.js.map +1 -1
  559. package/package.json +4 -4
@@ -1,85 +1,86 @@
1
- import { facetObjectMatchesDefinition as e, getCorrespondingColumnForFacet as t, isSingleNotSetValue as n } from "../../../utils/functions/queryUtils.js";
2
- import { useQueryContext as r } from "../../QueryContext/QueryContext.js";
1
+ import { useQueryVisualizationContext as e } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
2
+ import { getEnumerationFacet as t } from "../../../utils/functions/enumerationFacet.js";
3
+ import { facetObjectMatchesDefinition as n, getCorrespondingColumnForFacet as r, isSingleNotSetValue as i } from "../../../utils/functions/queryUtils.js";
4
+ import { useQueryContext as a } from "../../QueryContext/QueryContext.js";
3
5
  import "../../QueryContext/index.js";
4
- import { useSuspenseGetQueryMetadata as i } from "../../QueryWrapper/useGetQueryMetadata.js";
5
- import { useQueryVisualizationContext as a } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
6
+ import { useSuspenseGetQueryMetadata as o } from "../../QueryWrapper/useGetQueryMetadata.js";
6
7
  import "../../QueryVisualizationWrapper/index.js";
7
- import { FacetFilterHeader as o } from "./FacetFilterHeader.js";
8
- import { FacetFilterControlsSkeleton as s } from "./FacetFilterSkeleton.js";
9
- import { EnumFacetFilter as c } from "./EnumFacetFilter/EnumFacetFilter.js";
10
- import { CombinedRangeFacetFilter as l } from "./CombinedRangeFacetFilter.js";
11
- import { FacetChip as u } from "./FacetChip.js";
12
- import { getDefaultShownFacetFilters as d } from "./FacetFilterUtils.js";
13
- import { RangeFacetFilter as f } from "./RangeFacetFilter.js";
14
- import p from "./JsonColumnFacetFilters.js";
15
- import { Suspense as m, useCallback as h, useMemo as g, useState as _ } from "react";
16
- import { groupBy as v, noop as y, sortBy as b, union as x } from "lodash-es";
17
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
18
- import { useDeepCompareEffectNoCheck as w } from "use-deep-compare-effect";
8
+ import { FacetFilterHeader as s } from "./FacetFilterHeader.js";
9
+ import { FacetFilterControlsSkeleton as c } from "./FacetFilterSkeleton.js";
10
+ import { EnumFacetFilter as l } from "./EnumFacetFilter/EnumFacetFilter.js";
11
+ import { CombinedRangeFacetFilter as u } from "./CombinedRangeFacetFilter.js";
12
+ import { FacetChip as d } from "./FacetChip.js";
13
+ import { getDefaultShownFacetFilters as f } from "./FacetFilterUtils.js";
14
+ import { RangeFacetFilter as p } from "./RangeFacetFilter.js";
15
+ import m from "./JsonColumnFacetFilters.js";
16
+ import { Suspense as h, useCallback as g, useMemo as _, useState as v } from "react";
17
+ import { groupBy as y, noop as b, sortBy as x, union as S } from "lodash-es";
18
+ import { jsx as C, jsxs as w } from "react/jsx-runtime";
19
+ import { useDeepCompareEffectNoCheck as T } from "use-deep-compare-effect";
19
20
  //#region src/components/widgets/query-filter/FacetFilterControls.tsx
20
- var T = (e) => ({
21
+ var E = (e) => ({
21
22
  concreteType: "org.sagebionetworks.repo.model.table.FacetColumnValuesRequest",
22
23
  columnName: e.columnName,
23
24
  facetValues: e.facetValues.filter((e) => e.isSelected).map((e) => e.value)
24
- }), E = (t, n = []) => {
25
- let r = n.findIndex((n) => e(n, t)), i = t.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnValuesRequest" && !t.facetValues?.length, a = t.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnRangeRequest" && (!t.min || !t.max);
26
- return r > -1 ? i || a ? n.splice(r, 1) : n[r] = t : n.push(t), n;
25
+ }), D = (e, t = []) => {
26
+ let r = t.findIndex((t) => n(t, e)), i = e.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnValuesRequest" && !e.facetValues?.length, a = e.concreteType === "org.sagebionetworks.repo.model.table.FacetColumnRangeRequest" && (!e.min || !e.max);
27
+ return r > -1 ? i || a ? t.splice(r, 1) : t[r] = e : t.push(e), t;
27
28
  };
28
- function D(e, t, n, r, i = !1) {
29
+ function O(e, t, n, r, i = !1) {
29
30
  r ? t.facetValues.forEach((e) => {
30
31
  e.value === r && (e.isSelected = i);
31
32
  }) : t.facetValues.forEach((e) => {
32
33
  e.isSelected = !1;
33
- }), n(E(T(t), e?.query?.selectedFacets));
34
+ }), n(D(E(t), e?.query?.selectedFacets));
34
35
  }
35
- function O(e) {
36
- let { availableFacets: s, initialExpandedFacetControls: m } = e, { getCurrentQueryRequest: T, combineRangeFacetConfig: E } = r(), { getColumnDisplayName: D } = a(), O = g(() => T(), [T]), { data: k } = i(), A = k.facets.filter((e) => s == null || s.includes(e.columnName)).filter((e) => e.jsonPath == null).filter((e) => E == null || E.maxFacetColumn !== e.columnName && E.minFacetColumn !== e.columnName).filter((e) => !n(e)), j = E ? k.facets.filter((e) => E.maxFacetColumn === e.columnName || E.minFacetColumn === e.columnName) : [], M = v(k.facets.filter((e) => !!e.jsonPath), "columnName"), N = g(() => {
36
+ function k(n) {
37
+ let { availableFacets: c, initialExpandedFacetControls: h } = n, { getCurrentQueryRequest: E, combineRangeFacetConfig: D } = a(), { getColumnDisplayName: O } = e(), k = _(() => E(), [E]), { data: A } = o(), j = A.facets.filter((e) => c == null || c.includes(e.columnName)).filter((e) => e.jsonPath == null).filter((e) => D == null || D.maxFacetColumn !== e.columnName && D.minFacetColumn !== e.columnName).filter((e) => !i(e)), M = D ? A.facets.filter((e) => D.maxFacetColumn === e.columnName || D.minFacetColumn === e.columnName) : [], N = y(A.facets.filter((e) => !!e.jsonPath), "columnName"), P = _(() => {
37
38
  let e = [];
38
- return A.forEach((t) => e.push(t.columnName)), E && e.push(E.label), M && Object.keys(M).forEach((t) => e.push(t)), e;
39
+ return j.forEach((t) => e.push(t.columnName)), D && e.push(D.label), N && Object.keys(N).forEach((t) => e.push(t)), e;
39
40
  }, [
40
- E,
41
- A,
42
- M
43
- ]), [P, F] = _(d(N, O.query.selectedFacets));
44
- w(() => {
45
- let e = x(m ?? [], Array.from(P));
46
- F(d(N, O.query.selectedFacets, e));
47
- }, [A]);
48
- let I = k.columnModels, L = h((e) => {
49
- let t = new Set(P);
50
- t.has(e) ? t.delete(e) : t.add(e), F(t);
51
- }, [P]), R = E ? I?.find((e) => e.name === E.minFacetColumn)?.columnType : void 0, z = g(() => (A ?? []).filter((e) => P.has(e.columnName)), [P, A]), B = g(() => Object.entries(M).filter(([e]) => P.has(e)), [P, M]);
52
- return /* @__PURE__ */ C("div", {
41
+ D,
42
+ j,
43
+ N
44
+ ]), [F, I] = v(f(P, k.query.selectedFacets));
45
+ T(() => {
46
+ let e = S(h ?? [], Array.from(F));
47
+ I(f(P, k.query.selectedFacets, e));
48
+ }, [j]);
49
+ let L = A.columnModels, R = g((e) => {
50
+ let t = new Set(F);
51
+ t.has(e) ? t.delete(e) : t.add(e), I(t);
52
+ }, [F]), z = D ? L?.find((e) => e.name === D.minFacetColumn)?.columnType : void 0, B = _(() => (j ?? []).filter((e) => F.has(e.columnName)), [F, j]), V = _(() => Object.entries(N).filter(([e]) => F.has(e)), [F, N]);
53
+ return /* @__PURE__ */ w("div", {
53
54
  className: "FacetFilterControls",
54
55
  children: [
55
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(o, {
56
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(s, {
56
57
  label: "Available Filters",
57
58
  hideCollapsible: !0,
58
59
  isCollapsed: !1,
59
- onClick: y
60
- }), b(N).map((e) => /* @__PURE__ */ S(u, {
61
- onClick: () => L(e),
62
- isChecked: P.has(e),
63
- children: D(e)
60
+ onClick: b
61
+ }), x(P).map((e) => /* @__PURE__ */ C(d, {
62
+ onClick: () => R(e),
63
+ isChecked: F.has(e),
64
+ children: O(e)
64
65
  }, e))] }),
65
- E && j.length >= 2 && /* @__PURE__ */ S(l, {
66
- facetResults: j,
67
- label: E.label,
68
- columnType: R
66
+ D && M.length >= 2 && /* @__PURE__ */ C(u, {
67
+ facetResults: M,
68
+ label: D.label,
69
+ columnType: z
69
70
  }),
70
- z.map((e) => {
71
- let n = t(e, I ?? []);
72
- return /* @__PURE__ */ C("div", {
71
+ B.map((e) => {
72
+ let n = r(e, L ?? []), i = t(e);
73
+ return /* @__PURE__ */ w("div", {
73
74
  className: "FacetFilterControls__facet",
74
- children: [e.facetType === "enumeration" && n && /* @__PURE__ */ S(c, {
75
+ children: [i && n && /* @__PURE__ */ C(l, {
75
76
  containerAs: "Collapsible",
76
- facet: e
77
- }), e.facetType === "range" && n && /* @__PURE__ */ S(f, { facetResult: e })]
77
+ facet: i
78
+ }), e.facetType === "range" && n && /* @__PURE__ */ C(p, { facetResult: e })]
78
79
  }, e.columnName);
79
80
  }),
80
- B.map(([e, t]) => {
81
- let n = k?.columnModels?.find((t) => t.name === e);
82
- return n && /* @__PURE__ */ S(p, {
81
+ V.map(([e, t]) => {
82
+ let n = A?.columnModels?.find((t) => t.name === e);
83
+ return n && /* @__PURE__ */ C(m, {
83
84
  columnModel: n,
84
85
  facets: t
85
86
  }, e);
@@ -87,13 +88,13 @@ function O(e) {
87
88
  ]
88
89
  });
89
90
  }
90
- function k(e) {
91
- return /* @__PURE__ */ S(m, {
92
- fallback: /* @__PURE__ */ S(s, {}),
93
- children: /* @__PURE__ */ S(O, { ...e })
91
+ function A(e) {
92
+ return /* @__PURE__ */ C(h, {
93
+ fallback: /* @__PURE__ */ C(c, {}),
94
+ children: /* @__PURE__ */ C(k, { ...e })
94
95
  });
95
96
  }
96
97
  //#endregion
97
- export { D as applyChangesToValuesColumn, k as default };
98
+ export { O as applyChangesToValuesColumn, A as default };
98
99
 
99
100
  //# sourceMappingURL=FacetFilterControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacetFilterControls.js","names":[],"sources":["../../../../src/components/widgets/query-filter/FacetFilterControls.tsx"],"sourcesContent":["import {\n facetObjectMatchesDefinition,\n getCorrespondingColumnForFacet,\n isSingleNotSetValue,\n} from '@/utils/functions/queryUtils'\nimport {\n FacetColumnRequest,\n FacetColumnResultRange,\n FacetColumnResultValues,\n FacetColumnValuesRequest,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { groupBy, noop, sortBy, union } from 'lodash-es'\nimport { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { CombinedRangeFacetFilter } from './CombinedRangeFacetFilter'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetChip } from './FacetChip'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { FacetFilterControlsSkeleton } from './FacetFilterSkeleton'\nimport { getDefaultShownFacetFilters } from './FacetFilterUtils'\nimport JsonColumnFacetFilters from './JsonColumnFacetFilters'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type FacetFilterControlsProps = {\n /* The set of faceted column names that should be shown in the Facet controls. If undefined, all faceted columns with\n at least one non-null value will be shown. */\n availableFacets?: string[]\n initialExpandedFacetControls?: string[]\n}\n\nconst convertFacetToFacetColumnValuesRequest = (\n facet: FacetColumnResultValues,\n): FacetColumnValuesRequest => ({\n concreteType: 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: facet.columnName,\n facetValues: facet.facetValues\n .filter(facet => facet.isSelected)\n .map(facet => facet.value),\n})\n\nconst patchRequestFacets = (\n changedFacet: FacetColumnRequest,\n selections: FacetColumnRequest[] = [],\n): FacetColumnRequest[] => {\n const changedFacetIndex = selections.findIndex(facet =>\n facetObjectMatchesDefinition(facet, changedFacet),\n )\n const isEmptyValuesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest' &&\n !changedFacet.facetValues?.length\n const isEmptyRangesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnRangeRequest' &&\n (!changedFacet.min || !changedFacet.max)\n\n if (changedFacetIndex > -1) {\n if (isEmptyValuesFacet || isEmptyRangesFacet) {\n selections.splice(changedFacetIndex, 1)\n } else {\n selections[changedFacetIndex] = changedFacet\n }\n } else {\n selections.push(changedFacet)\n }\n return selections\n}\n\nexport function applyChangesToValuesColumn(\n lastRequest: QueryBundleRequest | undefined,\n facet: FacetColumnResultValues,\n onChangeFn: (result: FacetColumnRequest[]) => void,\n facetName?: string,\n checked: boolean = false,\n) {\n if (facetName) {\n facet.facetValues.forEach(facetValue => {\n if (facetValue.value === facetName) {\n facetValue.isSelected = checked\n }\n })\n } else {\n // else clear all\n facet.facetValues.forEach(facet => {\n facet.isSelected = false\n })\n }\n\n const changedFacet = convertFacetToFacetColumnValuesRequest(facet)\n const result = patchRequestFacets(\n changedFacet,\n lastRequest?.query?.selectedFacets,\n )\n onChangeFn(result)\n}\n\nfunction FacetFilterControls(props: FacetFilterControlsProps) {\n const { availableFacets, initialExpandedFacetControls } = props\n const { getCurrentQueryRequest, combineRangeFacetConfig } = useQueryContext()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n const lastRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const facets = queryMetadata\n .facets!.filter(\n facet =>\n // If availableFacets is configured, remove those that don't match.\n availableFacets == null || availableFacets.includes(facet.columnName),\n )\n // Don't include json subcolumn facets, those will be handled separately\n .filter(facet => facet.jsonPath == null)\n .filter(\n facet =>\n // Don't show facets if included in the combine range facet config, handled separately\n combineRangeFacetConfig == null ||\n (combineRangeFacetConfig.maxFacetColumn !== facet.columnName &&\n combineRangeFacetConfig.minFacetColumn !== facet.columnName),\n )\n .filter(\n facet =>\n // Don't show facets where there are no values\n !isSingleNotSetValue(facet),\n )\n\n const combinedRangeFacets = combineRangeFacetConfig\n ? queryMetadata.facets!.filter(\n facet =>\n combineRangeFacetConfig.maxFacetColumn === facet.columnName ||\n combineRangeFacetConfig.minFacetColumn === facet.columnName,\n )\n : []\n\n // Group JSON facets by column name, so they can be grouped in the UI under their parent column name\n const jsonFacetsGroupedByColumn = groupBy(\n queryMetadata.facets!.filter(f => !!f.jsonPath),\n 'columnName',\n )\n\n const allFacetColumns: string[] = useMemo(() => {\n const allFacetColumns: string[] = []\n facets.forEach(facet => allFacetColumns.push(facet.columnName))\n if (combineRangeFacetConfig) {\n allFacetColumns.push(combineRangeFacetConfig.label)\n }\n if (jsonFacetsGroupedByColumn) {\n Object.keys(jsonFacetsGroupedByColumn).forEach(jsonColumn =>\n allFacetColumns.push(jsonColumn),\n )\n }\n return allFacetColumns\n }, [combineRangeFacetConfig, facets, jsonFacetsGroupedByColumn])\n\n // Controls which facet columns are shown/hidden by clicking on chips. NOTE: One column may have multiple facets (e.g. JSON subcolumn facets)\n const [facetColumnsShown, setFacetColumnsShown] = useState<Set<string>>(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n ),\n )\n\n /**\n * When the data facets change, reset the initially-selected chips\n */\n useDeepCompareEffectNoCheck(() => {\n // Select the first three facet columns, plus any columns where a facet is already filtered,\n // (PORTALS-3513) plus the initially expanded filters and any filters that the user explicitly expanded\n const expandedFacets = union(\n initialExpandedFacetControls ?? [],\n Array.from(facetColumnsShown),\n )\n setFacetColumnsShown(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n expandedFacets,\n ),\n )\n }, [facets])\n\n const columnModels = queryMetadata.columnModels\n\n const toggleShowFacetFilter = useCallback(\n (facetColumnName: string) => {\n const newFacetColumnsShown = new Set(facetColumnsShown)\n if (newFacetColumnsShown.has(facetColumnName)) {\n newFacetColumnsShown.delete(facetColumnName)\n } else {\n newFacetColumnsShown.add(facetColumnName)\n }\n setFacetColumnsShown(newFacetColumnsShown)\n },\n [facetColumnsShown],\n )\n const combinedRangeFacetsColumnModelType = combineRangeFacetConfig\n ? columnModels?.find(\n model => model.name === combineRangeFacetConfig.minFacetColumn,\n )?.columnType\n : undefined\n\n const shownTopLevelFacets = useMemo(\n () =>\n (facets ?? []).filter(facet => facetColumnsShown.has(facet.columnName)),\n [facetColumnsShown, facets],\n )\n\n const shownJsonFacetGroups = useMemo(\n () =>\n Object.entries(jsonFacetsGroupedByColumn).filter(([columnName]) =>\n facetColumnsShown.has(columnName),\n ),\n [facetColumnsShown, jsonFacetsGroupedByColumn],\n )\n\n return (\n <div className={`FacetFilterControls`}>\n <div>\n <FacetFilterHeader\n label={'Available Filters'}\n hideCollapsible\n isCollapsed={false}\n onClick={noop}\n />\n {sortBy(allFacetColumns).map(columnName => {\n return (\n <FacetChip\n key={columnName}\n onClick={() => toggleShowFacetFilter(columnName)}\n isChecked={facetColumnsShown.has(columnName)}\n >\n {getColumnDisplayName(columnName)}\n </FacetChip>\n )\n })}\n </div>\n {combineRangeFacetConfig && combinedRangeFacets.length >= 2 && (\n <CombinedRangeFacetFilter\n facetResults={combinedRangeFacets as FacetColumnResultRange[]}\n label={combineRangeFacetConfig.label}\n columnType={combinedRangeFacetsColumnModelType!}\n />\n )}\n {shownTopLevelFacets.map(facet => {\n const columnModel = getCorrespondingColumnForFacet(\n facet,\n columnModels ?? [],\n )\n return (\n <div className=\"FacetFilterControls__facet\" key={facet.columnName}>\n {facet.facetType === 'enumeration' && columnModel && (\n <EnumFacetFilter containerAs=\"Collapsible\" facet={facet} />\n )}\n {facet.facetType === 'range' && columnModel && (\n <RangeFacetFilter facetResult={facet} />\n )}\n </div>\n )\n })}\n {shownJsonFacetGroups.map(([columnName, facets]) => {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n return (\n columnModel && (\n <JsonColumnFacetFilters\n key={columnName}\n columnModel={columnModel}\n facets={facets}\n />\n )\n )\n })}\n </div>\n )\n}\n\nexport default function FacetFilterControlsWithSuspense(\n props: FacetFilterControlsProps,\n) {\n return (\n <Suspense fallback={<FacetFilterControlsSkeleton />}>\n <FacetFilterControls {...props} />\n </Suspense>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FacetFilterControls.js","names":[],"sources":["../../../../src/components/widgets/query-filter/FacetFilterControls.tsx"],"sourcesContent":["import {\n EnumerationFacet,\n getEnumerationFacet,\n} from '@/utils/functions/enumerationFacet'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingColumnForFacet,\n isSingleNotSetValue,\n} from '@/utils/functions/queryUtils'\nimport {\n FacetColumnRequest,\n FacetColumnResultRange,\n FacetColumnValuesRequest,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { groupBy, noop, sortBy, union } from 'lodash-es'\nimport { Suspense, useCallback, useMemo, useState } from 'react'\nimport { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { CombinedRangeFacetFilter } from './CombinedRangeFacetFilter'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetChip } from './FacetChip'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { FacetFilterControlsSkeleton } from './FacetFilterSkeleton'\nimport { getDefaultShownFacetFilters } from './FacetFilterUtils'\nimport JsonColumnFacetFilters from './JsonColumnFacetFilters'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type FacetFilterControlsProps = {\n /* The set of faceted column names that should be shown in the Facet controls. If undefined, all faceted columns with\n at least one non-null value will be shown. */\n availableFacets?: string[]\n initialExpandedFacetControls?: string[]\n}\n\nconst convertFacetToFacetColumnValuesRequest = (\n facet: EnumerationFacet,\n): FacetColumnValuesRequest => ({\n concreteType: 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: facet.columnName,\n facetValues: facet.facetValues\n .filter(facet => facet.isSelected)\n .map(facet => facet.value),\n})\n\nconst patchRequestFacets = (\n changedFacet: FacetColumnRequest,\n selections: FacetColumnRequest[] = [],\n): FacetColumnRequest[] => {\n const changedFacetIndex = selections.findIndex(facet =>\n facetObjectMatchesDefinition(facet, changedFacet),\n )\n const isEmptyValuesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest' &&\n !changedFacet.facetValues?.length\n const isEmptyRangesFacet =\n changedFacet.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnRangeRequest' &&\n (!changedFacet.min || !changedFacet.max)\n\n if (changedFacetIndex > -1) {\n if (isEmptyValuesFacet || isEmptyRangesFacet) {\n selections.splice(changedFacetIndex, 1)\n } else {\n selections[changedFacetIndex] = changedFacet\n }\n } else {\n selections.push(changedFacet)\n }\n return selections\n}\n\nexport function applyChangesToValuesColumn(\n lastRequest: QueryBundleRequest | undefined,\n facet: EnumerationFacet,\n onChangeFn: (result: FacetColumnRequest[]) => void,\n facetName?: string,\n checked: boolean = false,\n) {\n if (facetName) {\n facet.facetValues.forEach(facetValue => {\n if (facetValue.value === facetName) {\n facetValue.isSelected = checked\n }\n })\n } else {\n // else clear all\n facet.facetValues.forEach(facet => {\n facet.isSelected = false\n })\n }\n\n const changedFacet = convertFacetToFacetColumnValuesRequest(facet)\n const result = patchRequestFacets(\n changedFacet,\n lastRequest?.query?.selectedFacets,\n )\n onChangeFn(result)\n}\n\nfunction FacetFilterControls(props: FacetFilterControlsProps) {\n const { availableFacets, initialExpandedFacetControls } = props\n const { getCurrentQueryRequest, combineRangeFacetConfig } = useQueryContext()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n const lastRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const facets = queryMetadata\n .facets!.filter(\n facet =>\n // If availableFacets is configured, remove those that don't match.\n availableFacets == null || availableFacets.includes(facet.columnName),\n )\n // Don't include json subcolumn facets, those will be handled separately\n .filter(facet => facet.jsonPath == null)\n .filter(\n facet =>\n // Don't show facets if included in the combine range facet config, handled separately\n combineRangeFacetConfig == null ||\n (combineRangeFacetConfig.maxFacetColumn !== facet.columnName &&\n combineRangeFacetConfig.minFacetColumn !== facet.columnName),\n )\n .filter(\n facet =>\n // Don't show facets where there are no values\n !isSingleNotSetValue(facet),\n )\n\n const combinedRangeFacets = combineRangeFacetConfig\n ? queryMetadata.facets!.filter(\n facet =>\n combineRangeFacetConfig.maxFacetColumn === facet.columnName ||\n combineRangeFacetConfig.minFacetColumn === facet.columnName,\n )\n : []\n\n // Group JSON facets by column name, so they can be grouped in the UI under their parent column name\n const jsonFacetsGroupedByColumn = groupBy(\n queryMetadata.facets!.filter(f => !!f.jsonPath),\n 'columnName',\n )\n\n const allFacetColumns: string[] = useMemo(() => {\n const allFacetColumns: string[] = []\n facets.forEach(facet => allFacetColumns.push(facet.columnName))\n if (combineRangeFacetConfig) {\n allFacetColumns.push(combineRangeFacetConfig.label)\n }\n if (jsonFacetsGroupedByColumn) {\n Object.keys(jsonFacetsGroupedByColumn).forEach(jsonColumn =>\n allFacetColumns.push(jsonColumn),\n )\n }\n return allFacetColumns\n }, [combineRangeFacetConfig, facets, jsonFacetsGroupedByColumn])\n\n // Controls which facet columns are shown/hidden by clicking on chips. NOTE: One column may have multiple facets (e.g. JSON subcolumn facets)\n const [facetColumnsShown, setFacetColumnsShown] = useState<Set<string>>(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n ),\n )\n\n /**\n * When the data facets change, reset the initially-selected chips\n */\n useDeepCompareEffectNoCheck(() => {\n // Select the first three facet columns, plus any columns where a facet is already filtered,\n // (PORTALS-3513) plus the initially expanded filters and any filters that the user explicitly expanded\n const expandedFacets = union(\n initialExpandedFacetControls ?? [],\n Array.from(facetColumnsShown),\n )\n setFacetColumnsShown(\n getDefaultShownFacetFilters(\n allFacetColumns,\n lastRequest.query.selectedFacets,\n expandedFacets,\n ),\n )\n }, [facets])\n\n const columnModels = queryMetadata.columnModels\n\n const toggleShowFacetFilter = useCallback(\n (facetColumnName: string) => {\n const newFacetColumnsShown = new Set(facetColumnsShown)\n if (newFacetColumnsShown.has(facetColumnName)) {\n newFacetColumnsShown.delete(facetColumnName)\n } else {\n newFacetColumnsShown.add(facetColumnName)\n }\n setFacetColumnsShown(newFacetColumnsShown)\n },\n [facetColumnsShown],\n )\n const combinedRangeFacetsColumnModelType = combineRangeFacetConfig\n ? columnModels?.find(\n model => model.name === combineRangeFacetConfig.minFacetColumn,\n )?.columnType\n : undefined\n\n const shownTopLevelFacets = useMemo(\n () =>\n (facets ?? []).filter(facet => facetColumnsShown.has(facet.columnName)),\n [facetColumnsShown, facets],\n )\n\n const shownJsonFacetGroups = useMemo(\n () =>\n Object.entries(jsonFacetsGroupedByColumn).filter(([columnName]) =>\n facetColumnsShown.has(columnName),\n ),\n [facetColumnsShown, jsonFacetsGroupedByColumn],\n )\n\n return (\n <div className={`FacetFilterControls`}>\n <div>\n <FacetFilterHeader\n label={'Available Filters'}\n hideCollapsible\n isCollapsed={false}\n onClick={noop}\n />\n {sortBy(allFacetColumns).map(columnName => {\n return (\n <FacetChip\n key={columnName}\n onClick={() => toggleShowFacetFilter(columnName)}\n isChecked={facetColumnsShown.has(columnName)}\n >\n {getColumnDisplayName(columnName)}\n </FacetChip>\n )\n })}\n </div>\n {combineRangeFacetConfig && combinedRangeFacets.length >= 2 && (\n <CombinedRangeFacetFilter\n facetResults={combinedRangeFacets as FacetColumnResultRange[]}\n label={combineRangeFacetConfig.label}\n columnType={combinedRangeFacetsColumnModelType!}\n />\n )}\n {shownTopLevelFacets.map(facet => {\n const columnModel = getCorrespondingColumnForFacet(\n facet,\n columnModels ?? [],\n )\n const enumerationFacet = getEnumerationFacet(facet)\n return (\n <div className=\"FacetFilterControls__facet\" key={facet.columnName}>\n {enumerationFacet && columnModel && (\n <EnumFacetFilter\n containerAs=\"Collapsible\"\n facet={enumerationFacet}\n />\n )}\n {facet.facetType === 'range' && columnModel && (\n <RangeFacetFilter facetResult={facet} />\n )}\n </div>\n )\n })}\n {shownJsonFacetGroups.map(([columnName, facets]) => {\n const columnModel = queryMetadata?.columnModels?.find(\n cm => cm.name === columnName,\n )\n return (\n columnModel && (\n <JsonColumnFacetFilters\n key={columnName}\n columnModel={columnModel}\n facets={facets}\n />\n )\n )\n })}\n </div>\n )\n}\n\nexport default function FacetFilterControlsWithSuspense(\n props: FacetFilterControlsProps,\n) {\n return (\n <Suspense fallback={<FacetFilterControlsSkeleton />}>\n <FacetFilterControls {...props} />\n </Suspense>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonColumnFacetFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAQhF,MAAM,MAAM,2BAA2B,GAAG;IAExC,WAAW,EAAE,WAAW,CAAA;IAExB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,EAAE,2BAA2B,2CAiEnC"}
1
+ {"version":3,"file":"JsonColumnFacetFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAQhF,MAAM,MAAM,2BAA2B,GAAG;IAExC,WAAW,EAAE,WAAW,CAAA;IAExB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAK,EAAE,2BAA2B,2CAiEnC"}
@@ -1,30 +1,31 @@
1
- import { getCorrespondingColumnForFacet as e } from "../../../utils/functions/queryUtils.js";
2
- import { useSuspenseGetQueryMetadata as t } from "../../QueryWrapper/useGetQueryMetadata.js";
3
- import { useQueryVisualizationContext as n } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
1
+ import { useQueryVisualizationContext as e } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
2
+ import { getEnumerationFacet as t } from "../../../utils/functions/enumerationFacet.js";
3
+ import { getCorrespondingColumnForFacet as n } from "../../../utils/functions/queryUtils.js";
4
+ import { useSuspenseGetQueryMetadata as r } from "../../QueryWrapper/useGetQueryMetadata.js";
4
5
  import "../../QueryVisualizationWrapper/index.js";
5
- import { FacetFilterHeader as r } from "./FacetFilterHeader.js";
6
- import { EnumFacetFilter as i } from "./EnumFacetFilter/EnumFacetFilter.js";
7
- import { RangeFacetFilter as a } from "./RangeFacetFilter.js";
8
- import { useState as o } from "react";
9
- import { Box as s, Collapse as c } from "@mui/material";
10
- import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
6
+ import { FacetFilterHeader as i } from "./FacetFilterHeader.js";
7
+ import { EnumFacetFilter as a } from "./EnumFacetFilter/EnumFacetFilter.js";
8
+ import { RangeFacetFilter as o } from "./RangeFacetFilter.js";
9
+ import { useState as s } from "react";
10
+ import { Box as c, Collapse as l } from "@mui/material";
11
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
11
12
  //#region src/components/widgets/query-filter/JsonColumnFacetFilters.tsx
12
- function f(f) {
13
- let { columnModel: p, facets: m } = f, { getColumnDisplayName: h } = n(), { data: g } = t(), [_, v] = o(!1);
14
- return g.columnModels == null ? /* @__PURE__ */ u(l, {}) : p.jsonSubColumns ? /* @__PURE__ */ d(s, {
13
+ function p(p) {
14
+ let { columnModel: m, facets: h } = p, { getColumnDisplayName: g } = e(), { data: _ } = r(), [v, y] = s(!1);
15
+ return _.columnModels == null ? /* @__PURE__ */ d(u, {}) : m.jsonSubColumns ? /* @__PURE__ */ f(c, {
15
16
  className: "FacetFilterControls__facet",
16
- children: [/* @__PURE__ */ u(r, {
17
- label: h(p.name),
18
- isCollapsed: _,
19
- onClick: (e) => v(e)
20
- }), /* @__PURE__ */ u(c, {
17
+ children: [/* @__PURE__ */ d(i, {
18
+ label: g(m.name),
19
+ isCollapsed: v,
20
+ onClick: (e) => y(e)
21
+ }), /* @__PURE__ */ d(l, {
21
22
  className: "JsonColumnFacetFilters",
22
- in: !_,
23
- children: /* @__PURE__ */ u(s, {
23
+ in: !v,
24
+ children: /* @__PURE__ */ d(c, {
24
25
  sx: { my: 2 },
25
- children: m.map((t) => {
26
- let n = e(t, g.columnModels);
27
- return /* @__PURE__ */ d(s, {
26
+ children: h.map((e) => {
27
+ let r = n(e, _.columnModels), i = t(e);
28
+ return /* @__PURE__ */ f(c, {
28
29
  className: "FacetFilterControls__facet",
29
30
  sx: {
30
31
  my: 1.5,
@@ -32,21 +33,21 @@ function f(f) {
32
33
  p: 2.5,
33
34
  ".FacetFilterHeader": { borderBottom: "none" }
34
35
  },
35
- children: [t.facetType === "enumeration" && n && /* @__PURE__ */ u(i, {
36
+ children: [i && r && /* @__PURE__ */ d(a, {
36
37
  containerAs: "Collapsible",
37
- facet: t,
38
+ facet: i,
38
39
  hideCollapsible: !0
39
- }), t.facetType === "range" && n && /* @__PURE__ */ u(a, {
40
- facetResult: t,
40
+ }), e.facetType === "range" && r && /* @__PURE__ */ d(o, {
41
+ facetResult: e,
41
42
  hideCollapsible: !0
42
43
  })]
43
- }, t.jsonPath);
44
+ }, e.jsonPath);
44
45
  })
45
46
  })
46
47
  })]
47
- }) : (console.warn("Supplied column model has no jsonSubColumns"), /* @__PURE__ */ u(l, {}));
48
+ }) : (console.warn("Supplied column model has no jsonSubColumns"), /* @__PURE__ */ d(u, {}));
48
49
  }
49
50
  //#endregion
50
- export { f as default };
51
+ export { p as default };
51
52
 
52
53
  //# sourceMappingURL=JsonColumnFacetFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonColumnFacetFilters.js","names":[],"sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"sourcesContent":["import { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { Box, Collapse } from '@mui/material'\nimport { ColumnModel, FacetColumnResult } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type JsonColumnFacetFiltersProps = {\n /* The parent ColumnModel that contains the JSON Subcolumns to show in this panel */\n columnModel: ColumnModel\n /* The set of JSON Subcolumn FacetColumnResults that will be shown in this panel */\n facets: FacetColumnResult[]\n}\n\n/**\n * Renders a set of facet filters that are all derived from the same JSON Column.\n * @param props\n * @constructor\n */\nexport default function JsonColumnFacetFilters(\n props: JsonColumnFacetFiltersProps,\n) {\n const { columnModel, facets } = props\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n\n if (queryMetadata.columnModels == undefined) {\n return <></>\n }\n if (!columnModel.jsonSubColumns) {\n console.warn('Supplied column model has no jsonSubColumns')\n return <></>\n }\n return (\n <Box className={'FacetFilterControls__facet'}>\n <FacetFilterHeader\n label={getColumnDisplayName(columnModel.name)}\n isCollapsed={isCollapsed}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"JsonColumnFacetFilters\" in={!isCollapsed}>\n <Box sx={{ my: 2 }}>\n {facets.map(jsonSubcolumnFacet => {\n const jsonSubColumnModel = getCorrespondingColumnForFacet(\n jsonSubcolumnFacet,\n queryMetadata.columnModels!,\n )\n return (\n <Box\n className=\"FacetFilterControls__facet\"\n key={jsonSubcolumnFacet.jsonPath}\n sx={{\n my: 1.5,\n backgroundColor: 'grey.100',\n p: 2.5,\n '.FacetFilterHeader': {\n borderBottom: 'none',\n },\n }}\n >\n {jsonSubcolumnFacet.facetType === 'enumeration' &&\n jsonSubColumnModel && (\n <EnumFacetFilter\n containerAs=\"Collapsible\"\n facet={jsonSubcolumnFacet}\n hideCollapsible={true}\n />\n )}\n {jsonSubcolumnFacet.facetType === 'range' &&\n jsonSubColumnModel && (\n <RangeFacetFilter\n facetResult={jsonSubcolumnFacet}\n hideCollapsible={true}\n />\n )}\n </Box>\n )\n })}\n </Box>\n </Collapse>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;;AAsBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,gBAAa,cAAW,GAC1B,EAAE,4BAAyB,EAA6B,GAExD,EAAE,MAAM,MAAkB,EAA4B,GAEtD,CAAC,GAAa,KAAkB,EAAkB,EAAK;CAS7D,OAPI,EAAc,gBAAgB,OACzB,kBAAA,GAAA,CAAI,CAAA,IAER,EAAY,iBAKf,kBAAC,GAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,GAAD;GACE,OAAO,EAAqB,EAAY,IAAI;GAC/B;GACb,UAAU,MAAyB,EAAe,CAAW;EAC9D,CAAA,GACD,kBAAC,GAAD;GAAU,WAAU;GAAyB,IAAI,CAAC;aAChD,kBAAC,GAAD;IAAK,IAAI,EAAE,IAAI,EAAE;cACd,EAAO,KAAI,MAAsB;KAChC,IAAM,IAAqB,EACzB,GACA,EAAc,YAChB;KACA,OACE,kBAAC,GAAD;MACE,WAAU;MAEV,IAAI;OACF,IAAI;OACJ,iBAAiB;OACjB,GAAG;OACH,sBAAsB,EACpB,cAAc,OAChB;MACF;gBAVF,CAYG,EAAmB,cAAc,iBAChC,KACE,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO;OACP,iBAAiB;MAClB,CAAA,GAEJ,EAAmB,cAAc,WAChC,KACE,kBAAC,GAAD;OACE,aAAa;OACb,iBAAiB;MAClB,CAAA,CAEF;QAzBE,EAAmB,QAyBrB;IAET,CAAC;GACE,CAAA;EACG,CAAA,CACP;OAlDL,QAAQ,KAAK,6CAA6C,GACnD,kBAAA,GAAA,CAAI,CAAA;AAmDf"}
1
+ {"version":3,"file":"JsonColumnFacetFilters.js","names":[],"sources":["../../../../src/components/widgets/query-filter/JsonColumnFacetFilters.tsx"],"sourcesContent":["import { getEnumerationFacet } from '@/utils/functions/enumerationFacet'\nimport { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { Box, Collapse } from '@mui/material'\nimport { ColumnModel, FacetColumnResult } from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from './EnumFacetFilter/EnumFacetFilter'\nimport { FacetFilterHeader } from './FacetFilterHeader'\nimport { RangeFacetFilter } from './RangeFacetFilter'\n\nexport type JsonColumnFacetFiltersProps = {\n /* The parent ColumnModel that contains the JSON Subcolumns to show in this panel */\n columnModel: ColumnModel\n /* The set of JSON Subcolumn FacetColumnResults that will be shown in this panel */\n facets: FacetColumnResult[]\n}\n\n/**\n * Renders a set of facet filters that are all derived from the same JSON Column.\n * @param props\n * @constructor\n */\nexport default function JsonColumnFacetFilters(\n props: JsonColumnFacetFiltersProps,\n) {\n const { columnModel, facets } = props\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n const [isCollapsed, setIsCollapsed] = useState<boolean>(false)\n\n if (queryMetadata.columnModels == undefined) {\n return <></>\n }\n if (!columnModel.jsonSubColumns) {\n console.warn('Supplied column model has no jsonSubColumns')\n return <></>\n }\n return (\n <Box className={'FacetFilterControls__facet'}>\n <FacetFilterHeader\n label={getColumnDisplayName(columnModel.name)}\n isCollapsed={isCollapsed}\n onClick={(isCollapsed: boolean) => setIsCollapsed(isCollapsed)}\n />\n <Collapse className=\"JsonColumnFacetFilters\" in={!isCollapsed}>\n <Box sx={{ my: 2 }}>\n {facets.map(jsonSubcolumnFacet => {\n const jsonSubColumnModel = getCorrespondingColumnForFacet(\n jsonSubcolumnFacet,\n queryMetadata.columnModels!,\n )\n const enumerationFacet = getEnumerationFacet(jsonSubcolumnFacet)\n return (\n <Box\n className=\"FacetFilterControls__facet\"\n key={jsonSubcolumnFacet.jsonPath}\n sx={{\n my: 1.5,\n backgroundColor: 'grey.100',\n p: 2.5,\n '.FacetFilterHeader': {\n borderBottom: 'none',\n },\n }}\n >\n {enumerationFacet && jsonSubColumnModel && (\n <EnumFacetFilter\n containerAs=\"Collapsible\"\n facet={enumerationFacet}\n hideCollapsible={true}\n />\n )}\n {jsonSubcolumnFacet.facetType === 'range' &&\n jsonSubColumnModel && (\n <RangeFacetFilter\n facetResult={jsonSubcolumnFacet}\n hideCollapsible={true}\n />\n )}\n </Box>\n )\n })}\n </Box>\n </Collapse>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAuBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,gBAAa,cAAW,GAC1B,EAAE,4BAAyB,EAA6B,GAExD,EAAE,MAAM,MAAkB,EAA4B,GAEtD,CAAC,GAAa,KAAkB,EAAkB,EAAK;CAS7D,OAPI,EAAc,gBAAgB,OACzB,kBAAA,GAAA,CAAI,CAAA,IAER,EAAY,iBAKf,kBAAC,GAAD;EAAK,WAAW;YAAhB,CACE,kBAAC,GAAD;GACE,OAAO,EAAqB,EAAY,IAAI;GAC/B;GACb,UAAU,MAAyB,EAAe,CAAW;EAC9D,CAAA,GACD,kBAAC,GAAD;GAAU,WAAU;GAAyB,IAAI,CAAC;aAChD,kBAAC,GAAD;IAAK,IAAI,EAAE,IAAI,EAAE;cACd,EAAO,KAAI,MAAsB;KAChC,IAAM,IAAqB,EACzB,GACA,EAAc,YAChB,GACM,IAAmB,EAAoB,CAAkB;KAC/D,OACE,kBAAC,GAAD;MACE,WAAU;MAEV,IAAI;OACF,IAAI;OACJ,iBAAiB;OACjB,GAAG;OACH,sBAAsB,EACpB,cAAc,OAChB;MACF;gBAVF,CAYG,KAAoB,KACnB,kBAAC,GAAD;OACE,aAAY;OACZ,OAAO;OACP,iBAAiB;MAClB,CAAA,GAEF,EAAmB,cAAc,WAChC,KACE,kBAAC,GAAD;OACE,aAAa;OACb,iBAAiB;MAClB,CAAA,CAEF;QAxBE,EAAmB,QAwBrB;IAET,CAAC;GACE,CAAA;EACG,CAAA,CACP;OAlDL,QAAQ,KAAK,6CAA6C,GACnD,kBAAA,GAAA,CAAI,CAAA;AAmDf"}
@@ -1,9 +1,9 @@
1
1
  import { FRIENDLY_VALUE_NOT_SET as e, VALUE_NOT_SET as t } from "../../../utils/SynapseConstants.js";
2
- import { getCorrespondingColumnForFacet as n } from "../../../utils/functions/queryUtils.js";
3
- import { useQueryContext as r } from "../../QueryContext/QueryContext.js";
2
+ import { useQueryVisualizationContext as n } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
3
+ import { getCorrespondingColumnForFacet as r } from "../../../utils/functions/queryUtils.js";
4
+ import { useQueryContext as i } from "../../QueryContext/QueryContext.js";
4
5
  import "../../QueryContext/index.js";
5
- import { useSuspenseGetQueryMetadata as i } from "../../QueryWrapper/useGetQueryMetadata.js";
6
- import { useQueryVisualizationContext as a } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
6
+ import { useSuspenseGetQueryMetadata as a } from "../../QueryWrapper/useGetQueryMetadata.js";
7
7
  import "../../QueryVisualizationWrapper/index.js";
8
8
  import { RangeFacetFilterUI as o } from "./RangeFacetFilterUI.js";
9
9
  import { useMemo as s } from "react";
@@ -27,7 +27,7 @@ var d = /* @__PURE__ */ function(e) {
27
27
  }
28
28
  ];
29
29
  function p(e) {
30
- let { facetResult: d, hideCollapsible: f = !1 } = e, { setRangeFacetValue: p, removeSelectedFacet: m, getCurrentQueryRequest: h } = r(), { data: g } = i(), _ = g.columnModels ? n(d, g.columnModels) : void 0, { getColumnDisplayName: v } = a(), y = s(() => h(), [h]);
30
+ let { facetResult: d, hideCollapsible: f = !1 } = e, { setRangeFacetValue: p, removeSelectedFacet: m, getCurrentQueryRequest: h } = i(), { data: g } = a(), _ = g.columnModels ? r(d, g.columnModels) : void 0, { getColumnDisplayName: v } = n(), y = s(() => h(), [h]);
31
31
  return _ ? /* @__PURE__ */ u(o, {
32
32
  label: v(d.columnName, d.jsonPath),
33
33
  facetResult: d,
@@ -0,0 +1,53 @@
1
+ import { AggregateCountSuppressionStrategy } from '@sage-bionetworks/synapse-client/generated/models/AggregateCountSuppressionStrategy';
2
+ import { FacetPostProcessingConfig } from '@sage-bionetworks/synapse-client/generated/models/FacetPostProcessingConfig';
3
+ /**
4
+ * Best-guess Cohort Builder 2.0 source layout, expressed as the columns the two
5
+ * VirtualTables expose. The participant-perspective VT groups MATERIAL by
6
+ * participant; the data-perspective VT groups MATERIAL by file/dataset reference.
7
+ * Data attributes keep the same column name in both VTs (a STRING_LIST in the
8
+ * participant VT, a scalar in MATERIAL and the data VT) so one filter tree can be
9
+ * applied to both as a defining condition.
10
+ */
11
+ /** Relative frequency of each value, used by the synthetic data generator. */
12
+ export type WeightedValues = Readonly<Record<string, number>>;
13
+ export type MockParticipantAttribute = {
14
+ name: string;
15
+ values: WeightedValues;
16
+ isQuasiIdentifier: boolean;
17
+ };
18
+ export type MockAssay = {
19
+ assay: string;
20
+ dataType: string;
21
+ fileFormats: readonly string[];
22
+ /** Portal-specific data attributes (e.g. specimenType, tissue) and their possible values. */
23
+ extraAttributes: Readonly<Record<string, readonly string[]>>;
24
+ };
25
+ export type MockStudy = {
26
+ name: string;
27
+ participantCount: number;
28
+ /** FILE studies map participants to individual files; DATASET studies map every participant to every study dataset. */
29
+ mapping: 'FILE' | 'DATASET';
30
+ assays: readonly MockAssay[];
31
+ };
32
+ export type CohortBuilderMockProfile = {
33
+ portalName: string;
34
+ participantIdPrefix: string;
35
+ participantsVirtualTableId: string;
36
+ dataVirtualTableId: string;
37
+ /** First synthetic entity ID assigned to a file or dataset reference. */
38
+ firstReferenceEntityId: number;
39
+ participantAttributes: readonly MockParticipantAttribute[];
40
+ extraDataAttributeNames: readonly string[];
41
+ studies: readonly MockStudy[];
42
+ suppressionThreshold: number;
43
+ countSuppressionStrategy: AggregateCountSuppressionStrategy;
44
+ facetPostProcessingConfig: FacetPostProcessingConfig;
45
+ };
46
+ export declare const PARTICIPANT_ID_COLUMN_NAME = "individualId";
47
+ export declare const STUDY_COLUMN_NAME = "study";
48
+ export declare const DATA_REFERENCE_COLUMN_NAME = "dataReference";
49
+ export declare const REFERENCE_TYPE_COLUMN_NAME = "referenceType";
50
+ export declare const CORE_DATA_ATTRIBUTE_NAMES: readonly ["dataType", "assay", "fileFormat"];
51
+ export declare const ELITE_MOCK_PROFILE: CohortBuilderMockProfile;
52
+ export declare const ADKP_MOCK_PROFILE: CohortBuilderMockProfile;
53
+ //# sourceMappingURL=cohortBuilderMockProfiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohortBuilderMockProfiles.d.ts","sourceRoot":"","sources":["../../../src/mocks/cohortBuilder/cohortBuilderMockProfiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,qFAAqF,CAAA;AACvI,OAAO,EAAE,yBAAyB,EAAE,MAAM,6EAA6E,CAAA;AAEvH;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,cAAc,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9B,6FAA6F;IAC7F,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAA;CAC7D,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,MAAM,CAAA;IACxB,uHAAuH;IACvH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,sBAAsB,EAAE,MAAM,CAAA;IAC9B,qBAAqB,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC1D,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;IAC7B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,wBAAwB,EAAE,iCAAiC,CAAA;IAC3D,yBAAyB,EAAE,yBAAyB,CAAA;CACrD,CAAA;AAED,eAAO,MAAM,0BAA0B,iBAAiB,CAAA;AACxD,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AACzD,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AACzD,eAAO,MAAM,yBAAyB,8CAI5B,CAAA;AA8BV,eAAO,MAAM,kBAAkB,EAAE,wBA8JhC,CAAA;AASD,eAAO,MAAM,iBAAiB,EAAE,wBAmK/B,CAAA"}