synapse-react-client 4.0.3 → 4.0.5-b

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 (338) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/DefaultColorfulPortalCardBackground.svg +14 -0
  3. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js +7 -0
  4. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js.map +1 -0
  5. package/dist/assets/homepage/nih-aging.svg +27 -27
  6. package/dist/assets/homepage/nih-aging.svg.js +1 -1
  7. package/dist/assets/homepage/nih-aging.svg.js.map +1 -1
  8. package/dist/assets/homepage/nih-heart.svg +39 -46
  9. package/dist/assets/homepage/nih-heart.svg.js +3 -3
  10. package/dist/assets/homepage/nih-heart.svg.js.map +1 -1
  11. package/dist/assets/homepage/nih-nci.svg +6 -0
  12. package/dist/assets/homepage/nih-nci.svg.js +7 -0
  13. package/dist/assets/homepage/nih-nci.svg.js.map +1 -0
  14. package/dist/assets/homepage/nih-nimh.svg +14 -0
  15. package/dist/assets/homepage/nih-nimh.svg.js +7 -0
  16. package/dist/assets/homepage/nih-nimh.svg.js.map +1 -0
  17. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  18. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  19. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  24. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  25. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  26. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  27. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  28. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +33 -32
  29. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  30. package/dist/components/AclEditor/AclEditor.js +8 -8
  31. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  32. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  33. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  34. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  35. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  36. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  37. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  38. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  39. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -1
  40. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  41. package/dist/components/BasePortalCard/BasePortalCard.js +12 -12
  42. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  43. package/dist/components/BasePortalCard/BasePortalCard.module.scss +6 -0
  44. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +1 -1
  45. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  46. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  47. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +24 -23
  48. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  49. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +15 -5
  50. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +1 -1
  51. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  52. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  53. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  54. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  55. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  56. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  57. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  58. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  59. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  60. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  61. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +3 -4
  62. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  63. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +2 -2
  64. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  65. package/dist/components/DataGrid/SynapseGrid.js +35 -35
  66. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  67. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +2 -2
  68. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  69. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  70. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  71. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  72. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  73. package/dist/components/Ecosystem/EcosystemSkeleton.js +2 -2
  74. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  75. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  76. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  77. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  78. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  79. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  80. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  81. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +1 -1
  82. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  83. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  84. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  85. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  86. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  87. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  88. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  89. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  90. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  91. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  92. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  93. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  94. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  95. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  96. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  97. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  98. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  99. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  100. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  101. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  102. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  103. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  104. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  105. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  106. package/dist/components/FilePreview/EntityPreview.js +1 -1
  107. package/dist/components/Forum/DiscussionReply.js +10 -10
  108. package/dist/components/Forum/DiscussionThread.js +21 -21
  109. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  110. package/dist/components/GenericCard/CardUtils.js +36 -36
  111. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  112. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  113. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  114. package/dist/components/GenericCard/SynapseCardLabel.js +72 -67
  115. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  116. package/dist/components/GenericCard/TableRowGenericCard.d.ts +4 -1
  117. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  118. package/dist/components/GenericCard/TableRowGenericCard.js +98 -96
  119. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  120. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  121. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  122. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  123. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  124. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  125. package/dist/components/HasAccess/useHasAccess.js +1 -1
  126. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  127. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  128. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  129. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  130. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  131. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  132. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  133. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  134. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  135. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  136. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  137. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  138. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  139. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  140. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  141. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  142. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  143. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  144. package/dist/components/Markdown/UserMentionModal.js +18 -18
  145. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  146. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  147. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  148. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  149. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  150. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  151. package/dist/components/Plot/SynapsePlot.css +1 -0
  152. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  153. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  154. package/dist/components/Plot/SynapsePlot.js +43 -39
  155. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  156. package/dist/components/Plot/SynapsePlot.scss +8 -0
  157. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  158. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  159. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +114 -113
  160. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  161. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  162. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  163. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  164. package/dist/components/Resources/Resources.Desktop.js +7 -7
  165. package/dist/components/Resources/Resources.Mobile.js +6 -6
  166. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  167. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  168. package/dist/components/SynapseChat/SynapseChatInteraction.js +5 -5
  169. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  170. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  171. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  172. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  173. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  174. package/dist/components/SynapseHomepageV2/SynapsePartners.d.ts.map +1 -1
  175. package/dist/components/SynapseHomepageV2/SynapsePartners.js +17 -12
  176. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  177. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.d.ts.map +1 -1
  178. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +39 -39
  179. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  180. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  181. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  182. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +21 -22
  183. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  184. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  185. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  186. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  187. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  188. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  189. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  190. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  191. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  192. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  193. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  194. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  195. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  196. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  197. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  198. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  199. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  200. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  201. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  202. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  203. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  204. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  205. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  206. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  207. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  208. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  209. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  210. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  211. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  212. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  213. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  214. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  215. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +2 -2
  216. package/dist/components/entity/metadata/EntityModal.js +1 -1
  217. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  218. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  219. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  220. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  221. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  222. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  223. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  224. package/dist/components/index.js +109 -107
  225. package/dist/components/index.js.map +1 -1
  226. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  227. package/dist/components/styled/HoverPopover.css +1 -0
  228. package/dist/components/styled/HoverPopover.d.ts +28 -0
  229. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  230. package/dist/components/styled/HoverPopover.js +104 -0
  231. package/dist/components/styled/HoverPopover.js.map +1 -0
  232. package/dist/components/styled/HoverPopover.module.scss +10 -0
  233. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  234. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  235. package/dist/components/styled/index.d.ts +2 -0
  236. package/dist/components/styled/index.d.ts.map +1 -1
  237. package/dist/components/styled/index.js +11 -9
  238. package/dist/components/styled/index.js.map +1 -1
  239. package/dist/components/table/CsvPreview/CsvPreview.js +2 -2
  240. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +2 -2
  241. package/dist/components/widgets/Range.js +1 -1
  242. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  243. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  244. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  245. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  246. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  247. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  248. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  249. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  250. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  251. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  252. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  253. package/dist/features/curator/GridPage/GridPage.js +2 -2
  254. package/dist/features/curator/GridPage/components/GridPageTitle.js +2 -2
  255. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  256. package/dist/index.js +157 -155
  257. package/dist/index.js.map +1 -1
  258. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  259. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  260. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  261. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  262. package/dist/mocks/msw/handlers.js +67 -59
  263. package/dist/mocks/msw/handlers.js.map +1 -1
  264. package/dist/style/base/_core.scss +0 -1
  265. package/dist/style/components/_all.scss +0 -1
  266. package/dist/style/components/_entity-badge.scss +0 -2
  267. package/dist/style/components/_expandable_table_data.scss +3 -3
  268. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  269. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  270. package/dist/style/main.css +1 -1
  271. package/dist/synapse-client/SynapseClient.js +118 -118
  272. package/dist/synapse-client/SynapseClient.js.map +1 -1
  273. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  274. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  275. package/dist/synapse-queries/entity/index.js +6 -6
  276. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  277. package/dist/synapse-queries/index.js +1 -1
  278. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  279. package/dist/testutils/vitest.setup.js +10 -11
  280. package/dist/testutils/vitest.setup.js.map +1 -1
  281. package/dist/theme/DefaultTheme.js +1 -1
  282. package/dist/theme/ThemeProvider.d.ts +2 -1
  283. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  284. package/dist/theme/ThemeProvider.js +11 -10
  285. package/dist/theme/ThemeProvider.js.map +1 -1
  286. package/dist/theme/index.js +1 -1
  287. package/dist/theme/mergeTheme.js +1 -1
  288. package/dist/tsconfig.build.tsbuildinfo +1 -1
  289. package/dist/utils/AppUtils/AppUtils.js +1 -1
  290. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  291. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  292. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  293. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  294. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  295. package/dist/utils/hooks/index.js +6 -6
  296. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  297. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  298. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  299. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  300. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  301. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  302. package/dist/utils/hooks/useOneSageURL.js +15 -15
  303. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  304. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  305. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  306. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  307. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  308. package/dist/utils/index.js +4 -4
  309. package/package.json +17 -18
  310. package/dist/_virtual/index.js +0 -6
  311. package/dist/_virtual/index.js.map +0 -1
  312. package/dist/_virtual/index2.js +0 -5
  313. package/dist/_virtual/index2.js.map +0 -1
  314. package/dist/_virtual/index3.js +0 -5
  315. package/dist/_virtual/index3.js.map +0 -1
  316. package/dist/_virtual/index4.js +0 -5
  317. package/dist/_virtual/index4.js.map +0 -1
  318. package/dist/_virtual/index5.js +0 -5
  319. package/dist/_virtual/index5.js.map +0 -1
  320. package/dist/assets/homepage/nci.svg +0 -6
  321. package/dist/assets/homepage/nci.svg.js +0 -7
  322. package/dist/assets/homepage/nci.svg.js.map +0 -1
  323. package/dist/assets/homepage/nih-mental.svg +0 -9
  324. package/dist/assets/homepage/nih-mental.svg.js +0 -7
  325. package/dist/assets/homepage/nih-mental.svg.js.map +0 -1
  326. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  327. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  328. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  329. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  330. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  331. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  332. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  333. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  334. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  335. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  336. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js +0 -15
  337. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js.map +0 -1
  338. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1,4 +1,4 @@
1
- import { jsxs as d, jsx as a, Fragment as x } from "react/jsx-runtime";
1
+ import { jsxs as d, Fragment as x, jsx as a } from "react/jsx-runtime";
2
2
  import { useState as f } from "react";
3
3
  import r from "dayjs";
4
4
  import { DatePicker as c } from "@mui/x-date-pickers";
@@ -1 +1 @@
1
- {"version":3,"file":"FacetNavPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/facet-nav/FacetNavPanel.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAW9C,OAAO,EAAE,cAAc,EAAY,MAAM,wBAAwB,CAAA;AAGjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wBAAwB,EAAE,CACxB,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,2BAA2B,GAAG,SAAS,EAC9C,UAAU,EAAE,OAAO,KAChB,IAAI,CAAA;IACT,yBAAyB,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAA;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,uBAAuB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAKD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,wBAAwB,CAAA;AAgB/D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IACnB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,MAAM;;;;;;;;;GAyJrB;AAsBD,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8BnC;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAyK/C;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"FacetNavPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/facet-nav/FacetNavPanel.tsx"],"names":[],"mappings":"AAcA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,iCAAiC,CAAA;AAExC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAW9C,OAAO,EAAE,cAAc,EAAY,MAAM,wBAAwB,CAAA;AAGjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wBAAwB,EAAE,CACxB,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,2BAA2B,GAAG,SAAS,EAC9C,UAAU,EAAE,OAAO,KAChB,IAAI,CAAA;IACT,yBAAyB,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAA;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,uBAAuB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAKD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,wBAAwB,CAAA;AAgB/D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IACnB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,MAAM;;;;;;;;;GA+JrB;AAsBD,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8BnC;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAyK/C;AAED,eAAe,aAAa,CAAA"}
@@ -4,7 +4,7 @@ import * as R from "../../../synapse-client/SynapseClient.js";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
5
5
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
6
6
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
7
- import { ColumnTypeEnum as v } from "@sage-bionetworks/synapse-types";
7
+ import { ColumnTypeEnum as y } from "@sage-bionetworks/synapse-types";
8
8
  import "../../../utils/functions/EntityTypeUtils.js";
9
9
  import { VALUE_NOT_SET as L, FRIENDLY_VALUE_NOT_SET as _ } from "../../../utils/SynapseConstants.js";
10
10
  import "lodash-es";
@@ -18,9 +18,9 @@ import "@tanstack/query-core";
18
18
  import "lodash-es/isEmpty";
19
19
  import "lodash-es/isEqual";
20
20
  import "lodash-es/xorWith";
21
- import { Stack as k, InputLabel as P, Tooltip as $, Box as H, Select as T, MenuItem as B } from "@mui/material";
21
+ import { Stack as k, InputLabel as P, Tooltip as $, Box as H, Select as K, MenuItem as B } from "@mui/material";
22
22
  import "@sage-bionetworks/synapse-client";
23
- import { getCorrespondingColumnForFacet as K } from "../../../utils/functions/queryUtils.js";
23
+ import { getCorrespondingColumnForFacet as T } from "../../../utils/functions/queryUtils.js";
24
24
  import "../../../utils/hooks/useCookiePreferences.js";
25
25
  import "../../../utils/hooks/useSourceAppConfigs.js";
26
26
  import "universal-cookie";
@@ -71,28 +71,28 @@ async function oe(o, m, i, t, c) {
71
71
  _
72
72
  );
73
73
  const b = e.map((l) => l.value).filter((l) => l !== L);
74
- if (r === v.ENTITYID || r === v.ENTITYID_LIST) {
74
+ if (r === y.ENTITYID || r === y.ENTITYID_LIST) {
75
75
  const l = await R.getEntityHeadersByIds(
76
76
  b,
77
77
  u
78
78
  );
79
- for (const E of l.results)
80
- s.set(E.id, E.name);
81
- } else if (r === v.USERID || r === v.USERID_LIST) {
79
+ for (const I of l.results)
80
+ s.set(I.id, I.name);
81
+ } else if (r === y.USERID || r === y.USERID_LIST) {
82
82
  const l = await R.getGroupHeadersBatch(
83
83
  b,
84
84
  u
85
85
  );
86
- for (const E of l.children)
87
- s.set(E.ownerId, E.userName);
86
+ for (const I of l.children)
87
+ s.set(I.ownerId, I.userName);
88
88
  }
89
89
  return e.map((l) => ({
90
90
  facet: l,
91
- label: I(l, !1, s),
92
- truncatedLabel: I(l, !0, s),
91
+ label: A(l, !1, s),
92
+ truncatedLabel: A(l, !0, s),
93
93
  count: l.count
94
94
  }));
95
- }, I = (e, r, u) => {
95
+ }, A = (e, r, u) => {
96
96
  let s = u.get(e.value) ?? e.value;
97
97
  return r && (s = X(s, te)), s;
98
98
  }, f = await d(
@@ -101,23 +101,23 @@ async function oe(o, m, i, t, c) {
101
101
  c
102
102
  ), g = f.map((e) => e.truncatedLabel), S = o.facetValues.some(
103
103
  (e) => e.isSelected
104
- ) ? o.facetValues.map(
104
+ ), x = S ? o.facetValues.map(
105
105
  (e, r) => e.isSelected ? a[r] : a[r].replace("rgb(", "rgba(").replace(")", ", 0.25)")
106
- ) : a, A = o.facetValues.map(
106
+ ) : a, v = o.facetValues.map(
107
107
  (e) => e.count
108
108
  );
109
109
  let C;
110
110
  t === "BAR" ? C = o.facetValues.map(
111
111
  (e) => f.find((r) => r.facet === e)?.label ?? e.value
112
- ) : t === "STACKED_HORIZONTAL_BAR" && (C = A);
113
- let x;
114
- t === "BAR" ? x = o.facetValues.map((e) => e.count) : t === "STACKED_HORIZONTAL_BAR" && (x = Array(C?.length).fill("Proportional"));
112
+ ) : t === "STACKED_HORIZONTAL_BAR" && (C = v);
113
+ let E;
114
+ t === "BAR" ? E = o.facetValues.map((e) => e.count) : t === "STACKED_HORIZONTAL_BAR" && (E = Array(C?.length).fill("Proportional"));
115
115
  const h = {
116
- values: t === "PIE" ? A : void 0,
116
+ values: t === "PIE" ? v : void 0,
117
117
  labels: f.map((e) => e.label),
118
118
  text: g,
119
119
  x: C,
120
- y: x,
120
+ y: E,
121
121
  orientation: t === "STACKED_HORIZONTAL_BAR" ? "h" : "v",
122
122
  // @ts-expect-error
123
123
  facetEnumerationValues: o.facetValues.map(
@@ -131,9 +131,12 @@ async function oe(o, m, i, t, c) {
131
131
  pull: t === "PIE" ? o.facetValues.map(
132
132
  (e) => e.isSelected ? 0.1 : 0
133
133
  ) : void 0,
134
+ selectedpoints: S ? o.facetValues.map((e, r) => e.isSelected ? r : -1).filter((e) => e !== -1) : void 0,
135
+ selected: { marker: { opacity: 1 } },
136
+ unselected: { marker: { opacity: 0.25 } },
134
137
  marker: {
135
- colors: t === "PIE" ? S : void 0,
136
- color: t === "PIE" ? void 0 : S
138
+ colors: t === "PIE" ? x : void 0,
139
+ color: t === "PIE" ? void 0 : x
137
140
  }
138
141
  };
139
142
  return {
@@ -188,12 +191,12 @@ function ie(o) {
188
191
  index: c,
189
192
  facetToPlot: a,
190
193
  plotType: d,
191
- onSetPlotType: I
192
- } = o, { accessToken: f } = V(), { data: g, isLoading: y } = Y(), [S, A] = ee(), { getColumnDisplayName: C } = z(), [x, h] = F(!1), w = C(
194
+ onSetPlotType: A
195
+ } = o, { accessToken: f } = V(), { data: g, isLoading: S } = Y(), [x, v] = ee(), { getColumnDisplayName: C } = z(), [E, h] = F(!1), w = C(
193
196
  a.columnName,
194
197
  a.jsonPath
195
198
  ), e = M(
196
- () => K(
199
+ () => T(
197
200
  a,
198
201
  g?.columnModels ?? []
199
202
  ),
@@ -218,11 +221,11 @@ function ie(o) {
218
221
  }), s = /* @__PURE__ */ p(N, { fullWidth: !0, children: [
219
222
  /* @__PURE__ */ n(P, { children: "Chart Type" }),
220
223
  /* @__PURE__ */ p(
221
- T,
224
+ K,
222
225
  {
223
226
  value: d,
224
227
  onChange: (b) => {
225
- I(b.target.value);
228
+ A(b.target.value);
226
229
  },
227
230
  children: [
228
231
  /* @__PURE__ */ n(B, { value: "BAR", children: "Bar Chart" }),
@@ -231,11 +234,11 @@ function ie(o) {
231
234
  }
232
235
  )
233
236
  ] });
234
- return !g && y || !a || !e ? /* @__PURE__ */ n("div", { className: "SRC-loadingContainer SRC-centerContentColumn", children: j }) : /* @__PURE__ */ p(D, { children: [
237
+ return !g && S || !a || !e ? /* @__PURE__ */ n("div", { className: "SRC-loadingContainer SRC-centerContentColumn", children: j }) : /* @__PURE__ */ p(D, { children: [
235
238
  /* @__PURE__ */ n(
236
239
  Q,
237
240
  {
238
- open: x,
241
+ open: E,
239
242
  onCancel: () => h(!1),
240
243
  title: w ?? "",
241
244
  content: /* @__PURE__ */ n(ie, { ...o, isModalView: !0 }),
@@ -255,7 +258,7 @@ function ie(o) {
255
258
  G,
256
259
  {
257
260
  data: g,
258
- isLoading: y,
261
+ isLoading: S,
259
262
  title: w,
260
263
  facetToPlot: a,
261
264
  onHide: m,
@@ -304,20 +307,20 @@ function ie(o) {
304
307
  role: "graphics-object",
305
308
  className: "FacetNavPanel__body",
306
309
  children: [
307
- /* @__PURE__ */ n("div", { ref: A, children: /* @__PURE__ */ n(
310
+ /* @__PURE__ */ n("div", { ref: v, children: /* @__PURE__ */ n(
308
311
  U,
309
312
  {
310
313
  layout: ae,
311
314
  data: u?.data ?? [],
312
315
  style: ne(
313
- S?.width,
316
+ x?.width,
314
317
  d,
315
318
  i ? 300 : 150
316
319
  ),
317
320
  config: { displayModeBar: !1 },
318
321
  onClick: (b) => re(b, a, t)
319
322
  },
320
- `${a.columnName}-${a.jsonPath}-${d}-${S?.width}`
323
+ `${a.columnName}-${a.jsonPath}-${d}-${x?.width}`
321
324
  ) }),
322
325
  /* @__PURE__ */ n(
323
326
  W,
@@ -1 +1 @@
1
- {"version":3,"file":"FacetNavPanel.js","sources":["../../../../src/components/widgets/facet-nav/FacetNavPanel.tsx"],"sourcesContent":["import StyledFormControl from '@/components/styled/StyledFormControl'\nimport SynapseClient from '@/synapse-client'\nimport { SynapseConstants } from '@/utils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { InfoOutlined } from '@mui/icons-material'\nimport {\n Box,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n Tooltip,\n} from '@mui/material'\nimport {\n ColumnTypeEnum,\n FacetColumnRequest,\n FacetColumnResultValueCount,\n FacetColumnResultValues,\n} from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport type Plotly from 'plotly.js-basic-dist'\nimport { useMemo, useState } from 'react'\nimport { getContrastColorPalette } from '../../ColorGradient/ColorGradient'\nimport { ConfirmationDialog } from '../../ConfirmationDialog/ConfirmationDialog'\nimport loadingScreen from '../../LoadingScreen/LoadingScreen'\nimport Plot from '../../Plot/Plot'\nimport PlotPanelHeader from '../../Plot/PlotPanelHeader'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from '../query-filter/EnumFacetFilter/EnumFacetFilter'\nimport { FacetPlotLegendList } from './FacetPlotLegendList'\nimport { FacetWithLabel, truncate } from './FacetPlotLegendUtils'\nimport { useMeasure } from '@react-hookz/web'\n\nexport type FacetNavPanelProps = {\n applyChangesToGraphSlice: (\n facet: FacetColumnResultValues,\n value: FacetColumnResultValueCount | undefined,\n isSelected: boolean,\n ) => void\n applyChangesToFacetFilter: (facets: FacetColumnRequest[]) => void\n index: number\n facetToPlot: FacetColumnResultValues\n plotType: PlotType\n onSetPlotType: (plotType: PlotType) => void\n onHide: () => void\n isModalView: boolean\n onCloseModal?: () => void\n}\n\nconst maxLabelLength: number = 19\n\n// STACKED_HORIZONTAL_BAR corresponds to a bar chart where we just want to show the proportion (like a pie chart)\nexport type PlotType = 'PIE' | 'BAR' | 'STACKED_HORIZONTAL_BAR'\n\nconst layout: Partial<Plotly.Layout> = {\n showlegend: false,\n annotations: [],\n margin: { l: 0, r: 0, b: 0, t: 0, pad: 0 },\n yaxis: {\n visible: false,\n showgrid: false,\n },\n xaxis: {\n visible: false,\n showgrid: false,\n },\n}\n\nexport type GraphData = {\n data: Plotly.Data[]\n labels: FacetWithLabel[]\n colors: string[]\n}\n\nexport async function extractPlotDataArray(\n facetToPlot: FacetColumnResultValues,\n columnType: ColumnTypeEnum | undefined,\n index: number,\n plotType: PlotType,\n accessToken?: string,\n) {\n const colorPalette = getContrastColorPalette(\n // Use only the odd palette, using the same offset for all plots until palettes are improved.\n // See PORTALS-2916\n 'odd', // index % 2 === 0 ? 'even' : 'odd',\n 0, // Math.floor(index / 2),\n facetToPlot.facetValues.length,\n )\n\n const getLabels = async (\n facetValues: FacetColumnResultValueCount[],\n columnType?: ColumnTypeEnum,\n accessToken?: string,\n ) => {\n const map = new Map<string, string>()\n map.set(\n SynapseConstants.VALUE_NOT_SET,\n SynapseConstants.FRIENDLY_VALUE_NOT_SET,\n )\n // Filter out empties\n const filteredValues = facetValues\n .map(value => value.value)\n .filter(val => val !== SynapseConstants.VALUE_NOT_SET)\n if (\n columnType === ColumnTypeEnum.ENTITYID ||\n columnType === ColumnTypeEnum.ENTITYID_LIST\n ) {\n // TODO: Pagination\n const response = await SynapseClient.getEntityHeadersByIds(\n filteredValues,\n accessToken,\n )\n for (const header of response.results) {\n map.set(header.id, header.name)\n }\n } else if (\n columnType === ColumnTypeEnum.USERID ||\n columnType === ColumnTypeEnum.USERID_LIST\n ) {\n const response = await SynapseClient.getGroupHeadersBatch(\n filteredValues,\n accessToken,\n )\n for (const header of response.children) {\n map.set(header.ownerId, header.userName)\n }\n }\n\n return facetValues.map(facetValue => ({\n facet: facetValue,\n label: getLabel(facetValue, false, map),\n truncatedLabel: getLabel(facetValue, true, map),\n count: facetValue.count,\n }))\n }\n\n const getLabel = (\n facetValue: FacetColumnResultValueCount,\n truncateFlag: boolean,\n labelMap: Map<string, string>,\n ): string => {\n let label = labelMap.get(facetValue.value) ?? facetValue.value\n if (truncateFlag) {\n label = truncate(label, maxLabelLength)!\n }\n return label\n }\n\n const labels = await getLabels(\n facetToPlot.facetValues,\n columnType,\n accessToken,\n )\n const text = labels.map(el => el.truncatedLabel)\n\n const anyFacetsSelected = facetToPlot.facetValues.some(\n value => value.isSelected,\n )\n\n const selectionAwareColorPalette = anyFacetsSelected\n ? facetToPlot.facetValues.map((facetValue, index) =>\n facetValue.isSelected\n ? colorPalette[index]\n : colorPalette[index]\n .replace('rgb(', 'rgba(')\n .replace(')', ', 0.25)'),\n )\n : colorPalette\n\n const counts: Plotly.Datum[] = facetToPlot.facetValues.map(\n facet => facet.count,\n )\n let x: Plotly.Datum[] | Plotly.Datum[][] | Plotly.TypedArray | undefined\n\n if (plotType === 'BAR') {\n x = facetToPlot.facetValues.map(\n facet =>\n labels.find(label => label.facet === facet)?.label ?? facet.value,\n )\n } else if (plotType === 'STACKED_HORIZONTAL_BAR') {\n x = counts\n }\n\n let y: Plotly.Datum[] | Plotly.Datum[][] | Plotly.TypedArray | undefined\n if (plotType === 'BAR') {\n y = facetToPlot.facetValues.map(facet => facet.count)\n } else if (plotType === 'STACKED_HORIZONTAL_BAR') {\n y = Array(x?.length).fill('Proportional') // single value for every x value\n }\n\n const singleChartData: Plotly.Data = {\n values: plotType === 'PIE' ? counts : undefined,\n labels: labels.map(el => el.label),\n text,\n x,\n y,\n orientation: plotType === 'STACKED_HORIZONTAL_BAR' ? 'h' : 'v',\n // @ts-expect-error\n facetEnumerationValues: facetToPlot.facetValues.map(\n facetValue => facetValue.value,\n ),\n name: facetToPlot.columnName,\n textposition:\n plotType === 'STACKED_HORIZONTAL_BAR' || plotType === 'BAR'\n ? 'none'\n : 'inside',\n hovertemplate:\n plotType === 'PIE'\n ? '<b>%{text}</b><br>%{value} (%{percent})<br><extra></extra>'\n : '<b>%{text}: </b><br>%{value} <br><extra></extra>',\n textinfo: 'none',\n type: plotType === 'PIE' ? 'pie' : 'bar',\n pull:\n plotType === 'PIE'\n ? facetToPlot.facetValues.map(facetValue =>\n facetValue.isSelected ? 0.1 : 0,\n )\n : undefined,\n marker: {\n colors: plotType === 'PIE' ? selectionAwareColorPalette : undefined,\n color: plotType === 'PIE' ? undefined : selectionAwareColorPalette,\n },\n }\n const result = {\n data: [singleChartData],\n labels,\n colors:\n plotType === 'PIE'\n ? ((singleChartData as any).marker?.colors as string[])\n : ((singleChartData as any).marker?.color as string[]),\n }\n return result\n}\n\nconst applyFacetFilter = (\n event: Plotly.PlotMouseEvent,\n allFacetValues: FacetColumnResultValues,\n callbackApplyFn: FacetNavPanelProps['applyChangesToGraphSlice'],\n) => {\n if (event.points && event.points[0]) {\n const plotPointData: any = event.points[0]\n const facetValueClickedValue =\n plotPointData.data.facetEnumerationValues[plotPointData.pointNumber]\n const facetValueClicked = allFacetValues.facetValues.find(\n facet => facet.value === facetValueClickedValue,\n )\n callbackApplyFn(\n allFacetValues,\n facetValueClicked,\n !facetValueClicked!.isSelected,\n )\n }\n}\n\nexport function getPlotStyle(\n parentWidth: number | null | undefined,\n plotType: PlotType,\n maxHeight: number,\n): { width: string; height: string } {\n if (parentWidth != undefined) {\n let quotient = 1\n switch (plotType) {\n case 'BAR':\n quotient = 0.8\n break\n case 'PIE':\n quotient = 0.6\n break\n case 'STACKED_HORIZONTAL_BAR':\n quotient = 1\n break\n }\n const width = parentWidth ? parentWidth * quotient : 200\n let height = plotType === 'PIE' ? width : width / 3\n // max height of .PlotsContainer row col* is 200px, so the effective plot height max is around 150 unless it's expanded\n if (height > maxHeight) {\n height = maxHeight\n }\n return {\n width: `${width}px`,\n height: `${height}px`,\n }\n }\n //else parent width is undefined\n return {\n width: '100%',\n height: `${maxHeight}px`,\n }\n}\n\nfunction FacetNavPanel(props: FacetNavPanelProps) {\n const {\n onHide,\n isModalView,\n applyChangesToGraphSlice,\n index,\n facetToPlot,\n plotType,\n onSetPlotType,\n } = props\n const { accessToken } = useSynapseContext()\n const { data: queryMetadata, isLoading: isLoadingQueryMetadata } =\n useGetQueryMetadata()\n\n const [plotContainerMeasurements, plotContainerRef] =\n useMeasure<HTMLDivElement>()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const [showModal, setShowModal] = useState(false)\n\n const plotTitle = getColumnDisplayName(\n facetToPlot.columnName,\n facetToPlot.jsonPath,\n )\n\n const columnModel = useMemo(\n () =>\n getCorrespondingColumnForFacet(\n facetToPlot,\n queryMetadata?.columnModels ?? [],\n ),\n [queryMetadata?.columnModels, facetToPlot],\n )\n const columnType = columnModel?.columnType as ColumnTypeEnum\n\n const { data: plotData } = useQuery({\n queryKey: [\n 'extractPlotDataArray',\n facetToPlot,\n columnType,\n index,\n plotType,\n accessToken,\n ],\n\n queryFn: () =>\n extractPlotDataArray(\n facetToPlot,\n columnType,\n index,\n plotType,\n accessToken,\n ),\n\n enabled: !!facetToPlot,\n })\n\n /* rendering functions */\n const chartSelectionToggle = (\n <StyledFormControl fullWidth>\n <InputLabel>Chart Type</InputLabel>\n <Select\n value={plotType}\n onChange={e => {\n onSetPlotType(e.target.value as PlotType)\n }}\n >\n <MenuItem value={'BAR'}>Bar Chart</MenuItem>\n <MenuItem value={'PIE'}>Pie Chart</MenuItem>\n </Select>\n </StyledFormControl>\n )\n\n if (\n (!queryMetadata && isLoadingQueryMetadata) ||\n !facetToPlot ||\n !columnModel\n ) {\n return (\n <div className=\"SRC-loadingContainer SRC-centerContentColumn\">\n {loadingScreen}\n </div>\n )\n } else {\n return (\n <>\n <ConfirmationDialog\n open={showModal}\n onCancel={() => setShowModal(false)}\n title={plotTitle ?? ''}\n content={<FacetNavPanel {...props} isModalView={true} />}\n hasCancelButton={false}\n confirmButtonProps={{ children: 'Apply Filters' }}\n onConfirm={() => setShowModal(false)}\n maxWidth={'md'}\n />\n <div\n role=\"figure\"\n className={`FacetNavPanel${isModalView ? '--expanded' : ''}`}\n >\n {!isModalView && (\n <PlotPanelHeader\n data={queryMetadata}\n isLoading={isLoadingQueryMetadata}\n title={plotTitle}\n facetToPlot={facetToPlot}\n onHide={onHide}\n setShowModal={setShowModal}\n />\n )}\n {isModalView && (\n <Stack\n sx={{\n gap: 2,\n }}\n >\n <StyledFormControl>\n <InputLabel\n sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}\n >\n <span>Filter All Data By</span>\n <Tooltip title=\"Selecting items in this dropdown will affect all facets on the Explore page.\">\n <InfoOutlined className=\"SRC-hand-cursor SRC-secondary-text-color\" />\n </Tooltip>\n </InputLabel>\n <EnumFacetFilter\n facet={facetToPlot}\n containerAs=\"Dropdown\"\n dropdownType=\"SelectBox\"\n />\n </StyledFormControl>\n {chartSelectionToggle}\n </Stack>\n )}\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: '50% 50%',\n alignItems: 'center',\n }}\n role=\"graphics-object\"\n className=\"FacetNavPanel__body\"\n >\n <div ref={plotContainerRef}>\n <Plot\n key={`${facetToPlot.columnName}-${facetToPlot.jsonPath}-${plotType}-${plotContainerMeasurements?.width}`}\n layout={layout}\n data={plotData?.data ?? []}\n style={getPlotStyle(\n plotContainerMeasurements?.width,\n plotType,\n isModalView ? 300 : 150,\n )}\n config={{ displayModeBar: false }}\n onClick={evt =>\n applyFacetFilter(evt, facetToPlot, applyChangesToGraphSlice)\n }\n />\n </div>\n <FacetPlotLegendList\n labels={plotData?.labels}\n colors={plotData?.colors}\n isExpanded={isModalView}\n />\n </Box>\n </div>\n </>\n )\n }\n}\n\nexport default FacetNavPanel\n"],"names":["maxLabelLength","layout","extractPlotDataArray","facetToPlot","columnType","index","plotType","accessToken","colorPalette","getContrastColorPalette","getLabels","facetValues","map","SynapseConstants.VALUE_NOT_SET","SynapseConstants.FRIENDLY_VALUE_NOT_SET","filteredValues","value","val","ColumnTypeEnum","response","SynapseClient","header","facetValue","getLabel","truncateFlag","labelMap","label","truncate","labels","text","el","selectionAwareColorPalette","counts","facet","x","y","singleChartData","applyFacetFilter","event","allFacetValues","callbackApplyFn","plotPointData","facetValueClickedValue","facetValueClicked","getPlotStyle","parentWidth","maxHeight","quotient","width","height","FacetNavPanel","props","onHide","isModalView","applyChangesToGraphSlice","onSetPlotType","useSynapseContext","queryMetadata","isLoadingQueryMetadata","useGetQueryMetadata","plotContainerMeasurements","plotContainerRef","useMeasure","getColumnDisplayName","useQueryVisualizationContext","showModal","setShowModal","useState","plotTitle","columnModel","useMemo","getCorrespondingColumnForFacet","plotData","useQuery","chartSelectionToggle","jsxs","StyledFormControl","jsx","InputLabel","Select","e","MenuItem","loadingScreen","Fragment","ConfirmationDialog","PlotPanelHeader","Stack","Tooltip","InfoOutlined","EnumFacetFilter","Box","Plot","evt","FacetPlotLegendList"],"mappings":"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"}
1
+ {"version":3,"file":"FacetNavPanel.js","sources":["../../../../src/components/widgets/facet-nav/FacetNavPanel.tsx"],"sourcesContent":["import StyledFormControl from '@/components/styled/StyledFormControl'\nimport SynapseClient from '@/synapse-client'\nimport { SynapseConstants } from '@/utils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { getCorrespondingColumnForFacet } from '@/utils/functions/queryUtils'\nimport { InfoOutlined } from '@mui/icons-material'\nimport {\n Box,\n InputLabel,\n MenuItem,\n Select,\n Stack,\n Tooltip,\n} from '@mui/material'\nimport {\n ColumnTypeEnum,\n FacetColumnRequest,\n FacetColumnResultValueCount,\n FacetColumnResultValues,\n} from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport type Plotly from 'plotly.js-basic-dist'\nimport { useMemo, useState } from 'react'\nimport { getContrastColorPalette } from '../../ColorGradient/ColorGradient'\nimport { ConfirmationDialog } from '../../ConfirmationDialog/ConfirmationDialog'\nimport loadingScreen from '../../LoadingScreen/LoadingScreen'\nimport Plot from '../../Plot/Plot'\nimport PlotPanelHeader from '../../Plot/PlotPanelHeader'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { EnumFacetFilter } from '../query-filter/EnumFacetFilter/EnumFacetFilter'\nimport { FacetPlotLegendList } from './FacetPlotLegendList'\nimport { FacetWithLabel, truncate } from './FacetPlotLegendUtils'\nimport { useMeasure } from '@react-hookz/web'\n\nexport type FacetNavPanelProps = {\n applyChangesToGraphSlice: (\n facet: FacetColumnResultValues,\n value: FacetColumnResultValueCount | undefined,\n isSelected: boolean,\n ) => void\n applyChangesToFacetFilter: (facets: FacetColumnRequest[]) => void\n index: number\n facetToPlot: FacetColumnResultValues\n plotType: PlotType\n onSetPlotType: (plotType: PlotType) => void\n onHide: () => void\n isModalView: boolean\n onCloseModal?: () => void\n}\n\nconst maxLabelLength: number = 19\n\n// STACKED_HORIZONTAL_BAR corresponds to a bar chart where we just want to show the proportion (like a pie chart)\nexport type PlotType = 'PIE' | 'BAR' | 'STACKED_HORIZONTAL_BAR'\n\nconst layout: Partial<Plotly.Layout> = {\n showlegend: false,\n annotations: [],\n margin: { l: 0, r: 0, b: 0, t: 0, pad: 0 },\n yaxis: {\n visible: false,\n showgrid: false,\n },\n xaxis: {\n visible: false,\n showgrid: false,\n },\n}\n\nexport type GraphData = {\n data: Plotly.Data[]\n labels: FacetWithLabel[]\n colors: string[]\n}\n\nexport async function extractPlotDataArray(\n facetToPlot: FacetColumnResultValues,\n columnType: ColumnTypeEnum | undefined,\n index: number,\n plotType: PlotType,\n accessToken?: string,\n) {\n const colorPalette = getContrastColorPalette(\n // Use only the odd palette, using the same offset for all plots until palettes are improved.\n // See PORTALS-2916\n 'odd', // index % 2 === 0 ? 'even' : 'odd',\n 0, // Math.floor(index / 2),\n facetToPlot.facetValues.length,\n )\n\n const getLabels = async (\n facetValues: FacetColumnResultValueCount[],\n columnType?: ColumnTypeEnum,\n accessToken?: string,\n ) => {\n const map = new Map<string, string>()\n map.set(\n SynapseConstants.VALUE_NOT_SET,\n SynapseConstants.FRIENDLY_VALUE_NOT_SET,\n )\n // Filter out empties\n const filteredValues = facetValues\n .map(value => value.value)\n .filter(val => val !== SynapseConstants.VALUE_NOT_SET)\n if (\n columnType === ColumnTypeEnum.ENTITYID ||\n columnType === ColumnTypeEnum.ENTITYID_LIST\n ) {\n // TODO: Pagination\n const response = await SynapseClient.getEntityHeadersByIds(\n filteredValues,\n accessToken,\n )\n for (const header of response.results) {\n map.set(header.id, header.name)\n }\n } else if (\n columnType === ColumnTypeEnum.USERID ||\n columnType === ColumnTypeEnum.USERID_LIST\n ) {\n const response = await SynapseClient.getGroupHeadersBatch(\n filteredValues,\n accessToken,\n )\n for (const header of response.children) {\n map.set(header.ownerId, header.userName)\n }\n }\n\n return facetValues.map(facetValue => ({\n facet: facetValue,\n label: getLabel(facetValue, false, map),\n truncatedLabel: getLabel(facetValue, true, map),\n count: facetValue.count,\n }))\n }\n\n const getLabel = (\n facetValue: FacetColumnResultValueCount,\n truncateFlag: boolean,\n labelMap: Map<string, string>,\n ): string => {\n let label = labelMap.get(facetValue.value) ?? facetValue.value\n if (truncateFlag) {\n label = truncate(label, maxLabelLength)!\n }\n return label\n }\n\n const labels = await getLabels(\n facetToPlot.facetValues,\n columnType,\n accessToken,\n )\n const text = labels.map(el => el.truncatedLabel)\n\n const anyFacetsSelected = facetToPlot.facetValues.some(\n value => value.isSelected,\n )\n const selectionAwareColorPalette = anyFacetsSelected\n ? facetToPlot.facetValues.map((facetValue, index) =>\n facetValue.isSelected\n ? colorPalette[index]\n : colorPalette[index]\n .replace('rgb(', 'rgba(')\n .replace(')', ', 0.25)'),\n )\n : colorPalette\n const counts: Plotly.Datum[] = facetToPlot.facetValues.map(\n facet => facet.count,\n )\n let x: Plotly.Datum[] | Plotly.Datum[][] | Plotly.TypedArray | undefined\n\n if (plotType === 'BAR') {\n x = facetToPlot.facetValues.map(\n facet =>\n labels.find(label => label.facet === facet)?.label ?? facet.value,\n )\n } else if (plotType === 'STACKED_HORIZONTAL_BAR') {\n x = counts\n }\n\n let y: Plotly.Datum[] | Plotly.Datum[][] | Plotly.TypedArray | undefined\n if (plotType === 'BAR') {\n y = facetToPlot.facetValues.map(facet => facet.count)\n } else if (plotType === 'STACKED_HORIZONTAL_BAR') {\n y = Array(x?.length).fill('Proportional') // single value for every x value\n }\n\n const singleChartData: Plotly.Data = {\n values: plotType === 'PIE' ? counts : undefined,\n labels: labels.map(el => el.label),\n text,\n x,\n y,\n orientation: plotType === 'STACKED_HORIZONTAL_BAR' ? 'h' : 'v',\n // @ts-expect-error\n facetEnumerationValues: facetToPlot.facetValues.map(\n facetValue => facetValue.value,\n ),\n name: facetToPlot.columnName,\n textposition:\n plotType === 'STACKED_HORIZONTAL_BAR' || plotType === 'BAR'\n ? 'none'\n : 'inside',\n hovertemplate:\n plotType === 'PIE'\n ? '<b>%{text}</b><br>%{value} (%{percent})<br><extra></extra>'\n : '<b>%{text}: </b><br>%{value} <br><extra></extra>',\n textinfo: 'none',\n type: plotType === 'PIE' ? 'pie' : 'bar',\n pull:\n plotType === 'PIE'\n ? facetToPlot.facetValues.map(facetValue =>\n facetValue.isSelected ? 0.1 : 0,\n )\n : undefined,\n selectedpoints: anyFacetsSelected\n ? facetToPlot.facetValues\n .map((facetValue, index) => (facetValue.isSelected ? index : -1))\n .filter(index => index !== -1)\n : undefined,\n selected: { marker: { opacity: 1 } },\n unselected: { marker: { opacity: 0.25 } },\n\n marker: {\n colors: plotType === 'PIE' ? selectionAwareColorPalette : undefined,\n color: plotType === 'PIE' ? undefined : selectionAwareColorPalette,\n },\n }\n const result = {\n data: [singleChartData],\n labels,\n colors:\n plotType === 'PIE'\n ? ((singleChartData as any).marker?.colors as string[])\n : ((singleChartData as any).marker?.color as string[]),\n }\n return result\n}\n\nconst applyFacetFilter = (\n event: Plotly.PlotMouseEvent,\n allFacetValues: FacetColumnResultValues,\n callbackApplyFn: FacetNavPanelProps['applyChangesToGraphSlice'],\n) => {\n if (event.points && event.points[0]) {\n const plotPointData: any = event.points[0]\n const facetValueClickedValue =\n plotPointData.data.facetEnumerationValues[plotPointData.pointNumber]\n const facetValueClicked = allFacetValues.facetValues.find(\n facet => facet.value === facetValueClickedValue,\n )\n callbackApplyFn(\n allFacetValues,\n facetValueClicked,\n !facetValueClicked!.isSelected,\n )\n }\n}\n\nexport function getPlotStyle(\n parentWidth: number | null | undefined,\n plotType: PlotType,\n maxHeight: number,\n): { width: string; height: string } {\n if (parentWidth != undefined) {\n let quotient = 1\n switch (plotType) {\n case 'BAR':\n quotient = 0.8\n break\n case 'PIE':\n quotient = 0.6\n break\n case 'STACKED_HORIZONTAL_BAR':\n quotient = 1\n break\n }\n const width = parentWidth ? parentWidth * quotient : 200\n let height = plotType === 'PIE' ? width : width / 3\n // max height of .PlotsContainer row col* is 200px, so the effective plot height max is around 150 unless it's expanded\n if (height > maxHeight) {\n height = maxHeight\n }\n return {\n width: `${width}px`,\n height: `${height}px`,\n }\n }\n //else parent width is undefined\n return {\n width: '100%',\n height: `${maxHeight}px`,\n }\n}\n\nfunction FacetNavPanel(props: FacetNavPanelProps) {\n const {\n onHide,\n isModalView,\n applyChangesToGraphSlice,\n index,\n facetToPlot,\n plotType,\n onSetPlotType,\n } = props\n const { accessToken } = useSynapseContext()\n const { data: queryMetadata, isLoading: isLoadingQueryMetadata } =\n useGetQueryMetadata()\n\n const [plotContainerMeasurements, plotContainerRef] =\n useMeasure<HTMLDivElement>()\n const { getColumnDisplayName } = useQueryVisualizationContext()\n\n const [showModal, setShowModal] = useState(false)\n\n const plotTitle = getColumnDisplayName(\n facetToPlot.columnName,\n facetToPlot.jsonPath,\n )\n\n const columnModel = useMemo(\n () =>\n getCorrespondingColumnForFacet(\n facetToPlot,\n queryMetadata?.columnModels ?? [],\n ),\n [queryMetadata?.columnModels, facetToPlot],\n )\n const columnType = columnModel?.columnType as ColumnTypeEnum\n\n const { data: plotData } = useQuery({\n queryKey: [\n 'extractPlotDataArray',\n facetToPlot,\n columnType,\n index,\n plotType,\n accessToken,\n ],\n\n queryFn: () =>\n extractPlotDataArray(\n facetToPlot,\n columnType,\n index,\n plotType,\n accessToken,\n ),\n\n enabled: !!facetToPlot,\n })\n\n /* rendering functions */\n const chartSelectionToggle = (\n <StyledFormControl fullWidth>\n <InputLabel>Chart Type</InputLabel>\n <Select\n value={plotType}\n onChange={e => {\n onSetPlotType(e.target.value as PlotType)\n }}\n >\n <MenuItem value={'BAR'}>Bar Chart</MenuItem>\n <MenuItem value={'PIE'}>Pie Chart</MenuItem>\n </Select>\n </StyledFormControl>\n )\n\n if (\n (!queryMetadata && isLoadingQueryMetadata) ||\n !facetToPlot ||\n !columnModel\n ) {\n return (\n <div className=\"SRC-loadingContainer SRC-centerContentColumn\">\n {loadingScreen}\n </div>\n )\n } else {\n return (\n <>\n <ConfirmationDialog\n open={showModal}\n onCancel={() => setShowModal(false)}\n title={plotTitle ?? ''}\n content={<FacetNavPanel {...props} isModalView={true} />}\n hasCancelButton={false}\n confirmButtonProps={{ children: 'Apply Filters' }}\n onConfirm={() => setShowModal(false)}\n maxWidth={'md'}\n />\n <div\n role=\"figure\"\n className={`FacetNavPanel${isModalView ? '--expanded' : ''}`}\n >\n {!isModalView && (\n <PlotPanelHeader\n data={queryMetadata}\n isLoading={isLoadingQueryMetadata}\n title={plotTitle}\n facetToPlot={facetToPlot}\n onHide={onHide}\n setShowModal={setShowModal}\n />\n )}\n {isModalView && (\n <Stack\n sx={{\n gap: 2,\n }}\n >\n <StyledFormControl>\n <InputLabel\n sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}\n >\n <span>Filter All Data By</span>\n <Tooltip title=\"Selecting items in this dropdown will affect all facets on the Explore page.\">\n <InfoOutlined className=\"SRC-hand-cursor SRC-secondary-text-color\" />\n </Tooltip>\n </InputLabel>\n <EnumFacetFilter\n facet={facetToPlot}\n containerAs=\"Dropdown\"\n dropdownType=\"SelectBox\"\n />\n </StyledFormControl>\n {chartSelectionToggle}\n </Stack>\n )}\n <Box\n sx={{\n display: 'grid',\n gridTemplateColumns: '50% 50%',\n alignItems: 'center',\n }}\n role=\"graphics-object\"\n className=\"FacetNavPanel__body\"\n >\n <div ref={plotContainerRef}>\n <Plot\n key={`${facetToPlot.columnName}-${facetToPlot.jsonPath}-${plotType}-${plotContainerMeasurements?.width}`}\n layout={layout}\n data={plotData?.data ?? []}\n style={getPlotStyle(\n plotContainerMeasurements?.width,\n plotType,\n isModalView ? 300 : 150,\n )}\n config={{ displayModeBar: false }}\n onClick={evt =>\n applyFacetFilter(evt, facetToPlot, applyChangesToGraphSlice)\n }\n />\n </div>\n <FacetPlotLegendList\n labels={plotData?.labels}\n colors={plotData?.colors}\n isExpanded={isModalView}\n />\n </Box>\n </div>\n </>\n )\n }\n}\n\nexport default FacetNavPanel\n"],"names":["maxLabelLength","layout","extractPlotDataArray","facetToPlot","columnType","index","plotType","accessToken","colorPalette","getContrastColorPalette","getLabels","facetValues","map","SynapseConstants.VALUE_NOT_SET","SynapseConstants.FRIENDLY_VALUE_NOT_SET","filteredValues","value","val","ColumnTypeEnum","response","SynapseClient","header","facetValue","getLabel","truncateFlag","labelMap","label","truncate","labels","text","el","anyFacetsSelected","selectionAwareColorPalette","counts","facet","x","y","singleChartData","applyFacetFilter","event","allFacetValues","callbackApplyFn","plotPointData","facetValueClickedValue","facetValueClicked","getPlotStyle","parentWidth","maxHeight","quotient","width","height","FacetNavPanel","props","onHide","isModalView","applyChangesToGraphSlice","onSetPlotType","useSynapseContext","queryMetadata","isLoadingQueryMetadata","useGetQueryMetadata","plotContainerMeasurements","plotContainerRef","useMeasure","getColumnDisplayName","useQueryVisualizationContext","showModal","setShowModal","useState","plotTitle","columnModel","useMemo","getCorrespondingColumnForFacet","plotData","useQuery","chartSelectionToggle","jsxs","StyledFormControl","jsx","InputLabel","Select","e","MenuItem","loadingScreen","Fragment","ConfirmationDialog","PlotPanelHeader","Stack","Tooltip","InfoOutlined","EnumFacetFilter","Box","Plot","evt","FacetPlotLegendList"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { PlotType } from '../facet-nav/FacetNavPanel';
4
4
  export type PlotsContainerProps = {
5
5
  facetsToPlot?: string[];
6
6
  customPlots?: QueryWrapperSynapsePlotProps[];
7
- initialPlotType?: PlotType;
7
+ initialPlotTypeByFacetColumnName?: Record<string, PlotType>;
8
8
  };
9
9
  type CustomPlotIdentifier = {
10
10
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PlotsContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/facet-nav/PlotsContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAO/C,OAAgC,EAC9B,4BAA4B,EAC7B,MAAM,mDAAmD,CAAA;AAC1D,OAAsB,EAEpB,QAAQ,EACT,MAAM,4BAA4B,CAAA;AAMnC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,eAAe,CAAC,EAAE,QAAQ,CAAA;CAC3B,CAAA;AACD,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AACD,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAuSD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,2CAO5E"}
1
+ {"version":3,"file":"PlotsContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/widgets/facet-nav/PlotsContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAO/C,OAAgC,EAC9B,4BAA4B,EAC7B,MAAM,mDAAmD,CAAA;AAC1D,OAAsB,EAEpB,QAAQ,EACT,MAAM,4BAA4B,CAAA;AAMnC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC5D,CAAA;AACD,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,CAAA;CACf,CAAA;AACD,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;AAEzE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AA+SD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,2CAO5E"}
@@ -1,6 +1,6 @@
1
- import { jsx as p, Fragment as F, jsxs as C } from "react/jsx-runtime";
2
- import { facetObjectMatchesDefinition as M } from "../../../utils/functions/queryUtils.js";
3
- import { Box as O, Button as A } from "@mui/material";
1
+ import { jsx as d, Fragment as g, jsxs as C } from "react/jsx-runtime";
2
+ import { facetObjectMatchesDefinition as A } from "../../../utils/functions/queryUtils.js";
3
+ import { Box as M, Button as O } from "@mui/material";
4
4
  import { Suspense as b, useState as v, useEffect as j, useMemo as k } from "react";
5
5
  import "@sage-bionetworks/synapse-types";
6
6
  import "../../../utils/PermissionLevelToAccessType.js";
@@ -30,120 +30,121 @@ import '../../../style/components/_spinner.css';/* empty css
30
30
  import "react-router";
31
31
  import "../../../utils/types/IsType.js";
32
32
  import "../../QueryContext/QueryContext.js";
33
- import { useSuspenseGetQueryMetadata as D } from "../../QueryWrapper/useGetQueryMetadata.js";
34
- import { useQueryVisualizationContext as N } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
35
- import B from "../../QueryWrapperPlotNav/QueryWrapperSynapsePlot.js";
33
+ import { useSuspenseGetQueryMetadata as B } from "../../QueryWrapper/useGetQueryMetadata.js";
34
+ import { useQueryVisualizationContext as E } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
35
+ import D from "../../QueryWrapperPlotNav/QueryWrapperSynapsePlot.js";
36
36
  import V from "./FacetNavPanel.js";
37
37
  import { PlotsContainerSkeleton as $ } from "./PlotsContainerSkeleton.js";
38
- import G, { getFacets as Q } from "./useFacetPlots.js";
39
- const f = 2, d = (o, e) => "__custom" in e && "__custom" in o ? o.title == e.title : !("__custom" in e) && !("__custom" in o) ? M(o, e) : !1;
40
- function R(o) {
38
+ import R, { getFacets as G } from "./useFacetPlots.js";
39
+ const f = 2, m = (o, e) => "__custom" in e && "__custom" in o ? o.title == e.title : !("__custom" in e) && !("__custom" in o) ? A(o, e) : !1;
40
+ function Q(o) {
41
41
  return o === "bar" ? "BAR" : "PIE";
42
42
  }
43
- const W = (o) => "__custom" in o.plotId ? `custom-${o.plotId.title}` : `facet-${o.plotId.columnName}-${o.plotId.jsonPath}`, z = (o, e) => !!e.find((i) => d(i.plotId, o)), h = (o) => ({ __custom: !0, title: o.title ?? "" }), q = (o = [], e = [], i = y) => [
44
- ...o.map((l, a) => ({
45
- plotId: h(l),
43
+ const W = (o) => "__custom" in o.plotId ? `custom-${o.plotId.title}` : `facet-${o.plotId.columnName}-${o.plotId.jsonPath}`, z = (o, e) => !!e.find((l) => m(l.plotId, o)), I = (o) => ({ __custom: !0, title: o.title ?? "" }), q = (o = [], e = [], l) => [
44
+ ...o.map((r, a) => ({
45
+ plotId: I(r),
46
46
  isHidden: a >= f,
47
- plotType: R(l.type)
47
+ plotType: Q(r.type)
48
48
  })),
49
- ...e.map((l, a) => ({
50
- plotId: l.facetToPlot,
49
+ ...e.map((r, a) => ({
50
+ plotId: r.facetToPlot,
51
51
  isHidden: a + o.length >= f,
52
- plotType: i
52
+ plotType: l?.[r.facetToPlot.columnName] ?? N
53
53
  }))
54
- ], K = (o, e, i) => e.some(
55
- (l) => d(
56
- h(l),
54
+ ], K = (o, e, l) => e.some(
55
+ (r) => m(
56
+ I(r),
57
57
  o.plotId
58
58
  )
59
- ) || i.some(
60
- (l) => d(l.facetToPlot, o.plotId)
61
- ), y = "PIE", Y = [], J = [];
59
+ ) || l.some(
60
+ (r) => m(r.facetToPlot, o.plotId)
61
+ ), N = "PIE", Y = [], J = [];
62
62
  function X(o) {
63
63
  const {
64
64
  facetsToPlot: e = Y,
65
- customPlots: i = J,
66
- initialPlotType: l = y
67
- } = o, { data: a } = D(), { showPlots: S } = N(), [m, I] = v([]), u = G(e), x = (t) => m.find(
68
- (r) => d(t, r.plotId)
69
- )?.plotType ?? y;
65
+ customPlots: l = J,
66
+ initialPlotTypeByFacetColumnName: r
67
+ } = o, { data: a } = B(), { showPlots: w } = E(), [p, T] = v([]), u = R(e), x = (t) => p.find(
68
+ (s) => m(t, s.plotId)
69
+ )?.plotType ?? N;
70
70
  j(() => {
71
71
  const t = q(
72
- i,
72
+ l,
73
73
  u,
74
- l
74
+ r
75
75
  );
76
- I((n) => {
77
- const r = t.filter((T) => !z(T.plotId, n));
76
+ T((n) => {
77
+ const s = t.filter((y) => !z(y.plotId, n));
78
78
  return [...n.filter(
79
- (T) => K(T, i, u)
80
- ), ...r];
79
+ (y) => K(y, l, u)
80
+ ), ...s];
81
81
  });
82
- }, [i, u]);
82
+ }, [l, u, r]);
83
83
  const H = (t) => {
84
- I((n) => n.map((r, c) => t ? { ...r, isHidden: !1 } : { ...r, isHidden: c >= f }));
85
- }, w = (t) => m.find(
86
- (c) => d(t, c.plotId) && c.isHidden === !0
84
+ T((n) => n.map((s, c) => t ? { ...s, isHidden: !1 } : { ...s, isHidden: c >= f }));
85
+ }, S = (t) => p.find(
86
+ (c) => m(t, c.plotId) && c.isHidden === !0
87
87
  ) !== void 0, P = k(() => (
88
88
  // if at least one item is hidden
89
- m.find((t) => t.isHidden === !0) ? "MORE" : m.length <= f ? "NONE" : "LESS"
90
- ), [m]), _ = (t) => {
91
- E(t, "isHidden", !0);
92
- }, L = (t, n) => {
93
- E(t, "plotType", n);
94
- }, E = (t, n, r) => {
95
- I(
89
+ p.find((t) => t.isHidden === !0) ? "MORE" : p.length <= f ? "NONE" : "LESS"
90
+ ), [p]), _ = (t) => {
91
+ h(t, "isHidden", !0);
92
+ }, F = (t, n) => {
93
+ h(t, "plotType", n);
94
+ }, h = (t, n, s) => {
95
+ T(
96
96
  (c) => c.map(
97
- (s) => d(t, s.plotId) ? { ...s, [n]: r } : s
97
+ (i) => m(t, i.plotId) ? { ...i, [n]: s } : i
98
98
  )
99
99
  );
100
- }, g = (
100
+ }, L = (
101
101
  // TODO: customPlots should use the color index
102
102
  // additionally, it is unclear why this object is created
103
103
  // We can probably just pass the index from `plotUiStateArray.map)
104
- Q(a, e).map((t, n) => ({
104
+ G(a, e).map((t, n) => ({
105
105
  facet: { columnName: t.columnName, jsonPath: t.jsonPath },
106
106
  colorIndex: n
107
107
  }))
108
108
  );
109
- return /* @__PURE__ */ p(F, { children: m.length > 0 && /* @__PURE__ */ C(
109
+ return /* @__PURE__ */ d(g, { children: p.length > 0 && /* @__PURE__ */ C(
110
110
  "div",
111
111
  {
112
- className: `PlotsContainer ${S ? "" : "hidden"} ${P === "LESS" ? "less" : ""}`,
112
+ className: `PlotsContainer ${w ? "" : "hidden"} ${P === "LESS" ? "less" : ""}`,
113
113
  children: [
114
- /* @__PURE__ */ p("div", { className: "PlotsContainer__row", role: "list", children: m.map((t) => {
115
- const n = "__custom" in t.plotId, r = i.find(
116
- (s) => d(
117
- h(s),
114
+ /* @__PURE__ */ d("div", { className: "PlotsContainer__row", role: "list", children: p.map((t) => {
115
+ const n = "__custom" in t.plotId, s = l.find(
116
+ (i) => m(
117
+ I(i),
118
118
  t.plotId
119
119
  )
120
120
  ), c = u.find(
121
- (s) => d(s.facetToPlot, t.plotId)
121
+ (i) => m(i.facetToPlot, t.plotId)
122
122
  );
123
123
  return /* @__PURE__ */ C(
124
124
  "div",
125
125
  {
126
+ className: t.plotType === "BAR" ? "PlotsContainer__row__item--full-width" : void 0,
126
127
  style: {
127
128
  minWidth: "435px",
128
- display: w(t.plotId) ? "none" : "block"
129
+ display: S(t.plotId) ? "none" : "block"
129
130
  },
130
131
  children: [
131
- n && r && /* @__PURE__ */ p(
132
- B,
132
+ n && s && /* @__PURE__ */ d(
133
+ D,
133
134
  {
134
- ...r,
135
+ ...s,
135
136
  onHide: () => _(t.plotId)
136
137
  }
137
138
  ),
138
- !n && c && /* @__PURE__ */ p(
139
+ !n && c && /* @__PURE__ */ d(
139
140
  V,
140
141
  {
141
- index: g.find(
142
- (s) => d(s.facet, t.plotId)
142
+ index: L.find(
143
+ (i) => m(i.facet, t.plotId)
143
144
  )?.colorIndex,
144
145
  onHide: () => _(t.plotId),
145
146
  plotType: x(t.plotId),
146
- onSetPlotType: (s) => L(t.plotId, s),
147
+ onSetPlotType: (i) => F(t.plotId, i),
147
148
  isModalView: !1,
148
149
  ...c
149
150
  }
@@ -153,8 +154,8 @@ function X(o) {
153
154
  W(t)
154
155
  );
155
156
  }) }),
156
- P !== "NONE" && /* @__PURE__ */ p(
157
- O,
157
+ P !== "NONE" && /* @__PURE__ */ d(
158
+ M,
158
159
  {
159
160
  sx: {
160
161
  display: "flex",
@@ -163,8 +164,8 @@ function X(o) {
163
164
  p: 2,
164
165
  mt: 2
165
166
  },
166
- children: /* @__PURE__ */ p(
167
- A,
167
+ children: /* @__PURE__ */ d(
168
+ O,
168
169
  {
169
170
  variant: "contained",
170
171
  color: "secondary",
@@ -180,8 +181,8 @@ function X(o) {
180
181
  ) });
181
182
  }
182
183
  function kt(o) {
183
- const { showPlots: e } = N();
184
- return /* @__PURE__ */ p(b, { fallback: e ? /* @__PURE__ */ p($, {}) : null, children: /* @__PURE__ */ p(X, { ...o }) });
184
+ const { showPlots: e } = E();
185
+ return /* @__PURE__ */ d(b, { fallback: e ? /* @__PURE__ */ d($, {}) : null, children: /* @__PURE__ */ d(X, { ...o }) });
185
186
  }
186
187
  export {
187
188
  kt as default