synapse-react-client 4.0.3 → 4.0.4

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 (305) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  3. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  4. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  5. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  6. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  7. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  8. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  9. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  10. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  11. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  12. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  13. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +33 -32
  14. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  15. package/dist/components/AclEditor/AclEditor.js +8 -8
  16. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  17. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  18. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  19. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  20. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  21. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  22. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  23. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  24. package/dist/components/BasePortalCard/BasePortalCard.module.scss +6 -0
  25. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +1 -1
  26. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  27. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +7 -7
  28. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
  29. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
  30. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  31. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  32. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  33. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  34. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  35. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  36. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  37. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  38. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  39. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  40. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +3 -4
  41. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  42. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +2 -2
  43. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  44. package/dist/components/DataGrid/SynapseGrid.js +35 -35
  45. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  46. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +2 -2
  47. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  48. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  49. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  50. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  51. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  52. package/dist/components/Ecosystem/EcosystemSkeleton.js +2 -2
  53. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  54. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  55. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  56. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  57. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  58. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  59. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  60. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +1 -1
  61. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  62. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  63. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  64. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  65. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  66. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  67. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  68. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  69. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  70. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  71. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  72. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  73. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  74. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  75. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  76. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  77. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  78. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  79. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  80. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  81. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  82. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  83. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  84. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  85. package/dist/components/FilePreview/EntityPreview.js +1 -1
  86. package/dist/components/Forum/DiscussionReply.js +10 -10
  87. package/dist/components/Forum/DiscussionThread.js +21 -21
  88. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  89. package/dist/components/GenericCard/CardUtils.js +36 -36
  90. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  91. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  92. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  93. package/dist/components/GenericCard/SynapseCardLabel.js +72 -67
  94. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  95. package/dist/components/GenericCard/TableRowGenericCard.d.ts +4 -1
  96. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  97. package/dist/components/GenericCard/TableRowGenericCard.js +98 -96
  98. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  99. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  100. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  101. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  102. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  103. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  104. package/dist/components/HasAccess/useHasAccess.js +1 -1
  105. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  106. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  107. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  108. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  109. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  110. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  111. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  112. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  113. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  114. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  115. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  116. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  117. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  118. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  119. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  120. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  121. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  122. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  123. package/dist/components/Markdown/UserMentionModal.js +18 -18
  124. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  125. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  126. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  127. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  128. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  129. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  130. package/dist/components/Plot/SynapsePlot.css +1 -0
  131. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  132. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  133. package/dist/components/Plot/SynapsePlot.js +43 -39
  134. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  135. package/dist/components/Plot/SynapsePlot.scss +8 -0
  136. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  137. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  138. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +114 -113
  139. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  140. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  141. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  142. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  143. package/dist/components/Resources/Resources.Desktop.js +7 -7
  144. package/dist/components/Resources/Resources.Mobile.js +6 -6
  145. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  146. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  147. package/dist/components/SynapseChat/SynapseChatInteraction.js +5 -5
  148. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  149. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  150. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  151. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  152. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  153. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  154. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  155. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
  156. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  157. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  158. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  159. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  160. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  161. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  162. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  163. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  164. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  165. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  166. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  167. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  168. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  169. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  170. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  171. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  172. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  173. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  174. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  175. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  176. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  177. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  178. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  179. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  180. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  181. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  182. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  183. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  184. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  185. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  186. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  187. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  188. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +2 -2
  189. package/dist/components/entity/metadata/EntityModal.js +1 -1
  190. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  191. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  192. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  193. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  194. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  195. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  196. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  197. package/dist/components/index.js +109 -107
  198. package/dist/components/index.js.map +1 -1
  199. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  200. package/dist/components/styled/HoverPopover.css +1 -0
  201. package/dist/components/styled/HoverPopover.d.ts +28 -0
  202. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  203. package/dist/components/styled/HoverPopover.js +103 -0
  204. package/dist/components/styled/HoverPopover.js.map +1 -0
  205. package/dist/components/styled/HoverPopover.module.scss +9 -0
  206. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  207. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  208. package/dist/components/styled/index.d.ts +2 -0
  209. package/dist/components/styled/index.d.ts.map +1 -1
  210. package/dist/components/styled/index.js +11 -9
  211. package/dist/components/styled/index.js.map +1 -1
  212. package/dist/components/table/CsvPreview/CsvPreview.js +2 -2
  213. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +2 -2
  214. package/dist/components/widgets/Range.js +1 -1
  215. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  216. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  217. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  218. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  219. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  220. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  221. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  222. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  223. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  224. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  225. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  226. package/dist/features/curator/GridPage/GridPage.js +2 -2
  227. package/dist/features/curator/GridPage/components/GridPageTitle.js +2 -2
  228. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  229. package/dist/index.js +157 -155
  230. package/dist/index.js.map +1 -1
  231. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  232. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  233. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  234. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  235. package/dist/mocks/msw/handlers.js +67 -59
  236. package/dist/mocks/msw/handlers.js.map +1 -1
  237. package/dist/style/base/_core.scss +0 -1
  238. package/dist/style/components/_all.scss +0 -1
  239. package/dist/style/components/_entity-badge.scss +0 -2
  240. package/dist/style/components/_expandable_table_data.scss +3 -3
  241. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  242. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  243. package/dist/style/main.css +1 -1
  244. package/dist/synapse-client/SynapseClient.js +118 -118
  245. package/dist/synapse-client/SynapseClient.js.map +1 -1
  246. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  247. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  248. package/dist/synapse-queries/entity/index.js +6 -6
  249. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  250. package/dist/synapse-queries/index.js +1 -1
  251. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  252. package/dist/testutils/vitest.setup.js +10 -11
  253. package/dist/testutils/vitest.setup.js.map +1 -1
  254. package/dist/theme/DefaultTheme.js +1 -1
  255. package/dist/theme/ThemeProvider.d.ts +2 -1
  256. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  257. package/dist/theme/ThemeProvider.js +11 -10
  258. package/dist/theme/ThemeProvider.js.map +1 -1
  259. package/dist/theme/index.js +1 -1
  260. package/dist/theme/mergeTheme.js +1 -1
  261. package/dist/tsconfig.build.tsbuildinfo +1 -1
  262. package/dist/utils/AppUtils/AppUtils.js +1 -1
  263. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  264. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  265. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  266. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  267. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  268. package/dist/utils/hooks/index.js +6 -6
  269. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  270. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  271. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  272. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  273. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  274. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  275. package/dist/utils/hooks/useOneSageURL.js +15 -15
  276. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  277. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  278. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  279. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  280. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  281. package/dist/utils/index.js +4 -4
  282. package/package.json +14 -15
  283. package/dist/_virtual/index.js +0 -6
  284. package/dist/_virtual/index.js.map +0 -1
  285. package/dist/_virtual/index2.js +0 -5
  286. package/dist/_virtual/index2.js.map +0 -1
  287. package/dist/_virtual/index3.js +0 -5
  288. package/dist/_virtual/index3.js.map +0 -1
  289. package/dist/_virtual/index4.js +0 -5
  290. package/dist/_virtual/index4.js.map +0 -1
  291. package/dist/_virtual/index5.js +0 -5
  292. package/dist/_virtual/index5.js.map +0 -1
  293. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  294. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  295. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  296. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  297. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  298. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  299. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  300. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  301. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  302. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  303. 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
  304. 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
  305. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1,18 +1,18 @@
1
- import { jsx as L, Fragment as z } from "react/jsx-runtime";
2
- import K from "../../components/SourceAppImage.js";
3
- import * as M from "../../synapse-client/SynapseClient.js";
1
+ import { jsx as U, Fragment as M } from "react/jsx-runtime";
2
+ import T from "../../components/SourceAppImage.js";
3
+ import * as k 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
7
  import "@sage-bionetworks/synapse-types";
8
8
  import "../functions/EntityTypeUtils.js";
9
- import { BUNDLE_MASK_QUERY_RESULTS as T } from "../SynapseConstants.js";
9
+ import { BUNDLE_MASK_QUERY_RESULTS as D } from "../SynapseConstants.js";
10
10
  import "lodash-es";
11
11
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
12
- import a from "../../theme/palette/Palettes.js";
13
- import { useMemo as A } from "react";
14
- import { useSuspenseQuery as k, useQueries as D } from "@tanstack/react-query";
15
- import { useSynapseContext as G } from "../context/SynapseContext.js";
12
+ import l from "../../theme/palette/Palettes.js";
13
+ import { useMemo as L } from "react";
14
+ import { useSuspenseQuery as G, useQueries as H } from "@tanstack/react-query";
15
+ import { useSynapseContext as W } from "../context/SynapseContext.js";
16
16
  import "../PermissionLevelToAccessType.js";
17
17
  import "use-deep-compare-effect";
18
18
  import "@mui/material";
@@ -29,42 +29,42 @@ import "lodash-es/xorWith";
29
29
  import "react-router";
30
30
  import "@sage-bionetworks/synapse-client";
31
31
  import "../types/IsType.js";
32
- import { tableQueryUseQueryDefaults as H } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
33
- import { getRealmByIdQueryOptions as W } from "../../synapse-queries/realm/useRealmPrincipals.js";
34
- const j = {
32
+ import { tableQueryUseQueryDefaults as j } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
33
+ import { getRealmByIdQueryOptions as J } from "../../synapse-queries/realm/useRealmPrincipals.js";
34
+ const V = {
35
35
  appId: "synapse.org",
36
36
  appURL: "",
37
37
  description: "",
38
38
  friendlyName: "Synapse",
39
39
  requestAffiliation: !1,
40
- logo: /* @__PURE__ */ L(z, {}),
40
+ logo: /* @__PURE__ */ U(M, {}),
41
41
  isPublicized: !0,
42
- palette: { ...a.palette },
42
+ palette: { ...l.palette },
43
43
  shortDescription: "",
44
44
  defaultRealm: {
45
45
  id: "0",
46
46
  name: "Synapse"
47
47
  }
48
- }, J = [j], Ue = (r, U) => {
49
- const { synapseClient: _, keyFactory: C } = G(), R = {
50
- entityId: r,
48
+ }, Y = [V], he = (n, _) => {
49
+ const { synapseClient: h, keyFactory: R } = W(), S = {
50
+ entityId: n,
51
51
  query: {
52
- sql: `SELECT * FROM ${r}`,
52
+ sql: `SELECT * FROM ${n}`,
53
53
  limit: 75,
54
- additionalFilters: U
54
+ additionalFilters: _
55
55
  },
56
- partMask: T,
56
+ partMask: D,
57
57
  concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest"
58
- }, { data: l } = k({
59
- ...H,
60
- queryKey: C.getEntityTableQueryResultWithAsyncStatusQueryKey(
61
- R,
58
+ }, { data: d } = G({
59
+ ...j,
60
+ queryKey: R.getEntityTableQueryResultWithAsyncStatusQueryKey(
61
+ S,
62
62
  !1
63
63
  ),
64
64
  queryFn: async () => {
65
65
  try {
66
- return await M.getQueryTableAsyncJobResults(
67
- R,
66
+ return await k.getQueryTableAsyncJobResults(
67
+ S,
68
68
  void 0
69
69
  // use an undefined access token to query a table in the default realm
70
70
  );
@@ -72,94 +72,96 @@ const j = {
72
72
  return null;
73
73
  }
74
74
  }
75
- }), n = l?.responseBody?.queryResult?.queryResults, o = n?.headers, m = o?.findIndex(
75
+ }), r = d?.responseBody?.queryResult?.queryResults, o = r?.headers, m = o?.findIndex(
76
76
  (e) => e.name == "appId"
77
- ), d = o?.findIndex(
77
+ ), p = o?.findIndex(
78
78
  (e) => e.name == "appURL"
79
- ), S = o?.findIndex(
79
+ ), q = o?.findIndex(
80
80
  (e) => e.name == "friendlyName"
81
- ), p = o?.findIndex(
81
+ ), u = o?.findIndex(
82
82
  (e) => e.name == "description"
83
- ), q = o?.findIndex(
83
+ ), g = o?.findIndex(
84
84
  (e) => e.name == "logo"
85
- ), u = o?.findIndex(
85
+ ), c = o?.findIndex(
86
86
  (e) => e.name == "requestAffiliation"
87
- ), g = o?.findIndex(
88
- (e) => e.name == "primaryColor"
89
87
  ), P = o?.findIndex(
88
+ (e) => e.name == "primaryColor"
89
+ ), Q = o?.findIndex(
90
90
  (e) => e.name == "secondaryColor"
91
- ), c = o?.findIndex(
92
- (e) => e.name == "isPublicized"
93
91
  ), y = o?.findIndex(
94
- (e) => e.name == "shortDescription"
92
+ (e) => e.name == "isPublicized"
95
93
  ), f = o?.findIndex(
94
+ (e) => e.name == "shortDescription"
95
+ ), I = o?.findIndex(
96
96
  (e) => e.name == "realmId"
97
- ), Q = n?.rows, s = A(
98
- () => Q?.map((e) => {
99
- const t = e.values, x = t[q], i = t[S] ?? "", h = /* @__PURE__ */ L(
100
- K,
97
+ ), s = o?.findIndex((e) => e.name == "area") ?? -1, A = r?.rows, i = L(
98
+ () => A?.map((e) => {
99
+ const t = e.values, C = t[g], a = t[q] ?? "", b = /* @__PURE__ */ U(
100
+ T,
101
101
  {
102
- sourceAppConfigTableID: r,
103
- fileHandleId: x,
104
- friendlyName: i
102
+ sourceAppConfigTableID: n,
103
+ fileHandleId: C,
104
+ friendlyName: a
105
105
  }
106
- ), b = {
107
- ...a.palette,
108
- primary: a.generatePalette(
109
- t[g] ?? ""
110
- ),
111
- secondary: a.generatePalette(
106
+ ), E = {
107
+ ...l.palette,
108
+ primary: l.generatePalette(
112
109
  t[P] ?? ""
110
+ ),
111
+ secondary: l.generatePalette(
112
+ t[Q] ?? ""
113
113
  )
114
- }, E = t[m] == null ? "" : t[m], F = t[d] == null ? "" : t[d], N = t[p] == null ? "" : t[p], w = t[y] == null ? "" : t[y], B = t[u] == null ? !1 : t[u] == "true", O = t[c] == null ? !0 : t[c] == "true", v = t[f] == null ? "0" : t[f];
114
+ }, F = t[m] == null ? "" : t[m], N = t[p] == null ? "" : t[p], v = t[u] == null ? "" : t[u], w = t[f] == null ? "" : t[f], B = t[c] == null ? !1 : t[c] == "true", O = t[y] == null ? !0 : t[y] == "true", z = t[I] == null ? "0" : t[I], K = s >= 0 && t[s] != null ? t[s] : void 0;
115
115
  return {
116
- appId: E,
117
- appURL: F,
118
- description: N,
119
- friendlyName: i,
116
+ appId: F,
117
+ appURL: N,
118
+ description: v,
119
+ friendlyName: a,
120
120
  requestAffiliation: B,
121
- logo: h,
121
+ logo: b,
122
122
  isPublicized: O,
123
- palette: b,
123
+ palette: E,
124
124
  shortDescription: w,
125
- realmId: v
125
+ realmId: z,
126
+ area: K
126
127
  };
127
128
  }),
128
129
  [
129
- Q,
130
- q,
131
- S,
132
- r,
130
+ A,
133
131
  g,
132
+ q,
133
+ n,
134
134
  P,
135
+ Q,
135
136
  m,
136
- d,
137
137
  p,
138
- y,
139
138
  u,
139
+ f,
140
140
  c,
141
- f
141
+ y,
142
+ I,
143
+ s
142
144
  ]
143
- ), I = D({
144
- queries: s?.map(
145
- (e) => W(e.realmId, C, _)
145
+ ), x = H({
146
+ queries: i?.map(
147
+ (e) => J(e.realmId, R, h)
146
148
  ) ?? []
147
149
  });
148
- return A(() => {
149
- if (!l || !n)
150
- return J;
151
- if (!(!s || !I.every((t) => t.isSuccess)))
152
- return s.map((t, x) => {
153
- const i = I[x].data;
150
+ return L(() => {
151
+ if (!d || !r)
152
+ return Y;
153
+ if (!(!i || !x.every((t) => t.isSuccess)))
154
+ return i.map((t, C) => {
155
+ const a = x[C].data;
154
156
  return {
155
157
  ...t,
156
- defaultRealm: i
158
+ defaultRealm: a
157
159
  };
158
160
  });
159
- }, [s, I, l, n]);
161
+ }, [i, x, d, r]);
160
162
  };
161
163
  export {
162
- j as STATIC_SOURCE_APP_CONFIG,
163
- Ue as useSourceAppConfigs
164
+ V as STATIC_SOURCE_APP_CONFIG,
165
+ he as useSourceAppConfigs
164
166
  };
165
167
  //# sourceMappingURL=useSourceAppConfigs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSourceAppConfigs.js","sources":["../../../src/utils/hooks/useSourceAppConfigs.tsx"],"sourcesContent":["import SourceAppImage from '@/components/SourceAppImage'\nimport SynapseClient from '@/synapse-client'\nimport Palettes from '@/theme/palette/Palettes'\nimport { Realm } from '@sage-bionetworks/synapse-client'\nimport { PaletteOptions } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '../SynapseConstants'\nimport { QueryFilter } from '@sage-bionetworks/synapse-types'\nimport { useQueries, useSuspenseQuery } from '@tanstack/react-query'\nimport { useSynapseContext } from '../context/SynapseContext'\nimport { tableQueryUseQueryDefaults } from '@/synapse-queries'\nimport { getRealmByIdQueryOptions } from '@/synapse-queries/realm/useRealmPrincipals'\n\nexport type SourceAppConfig = {\n appId: string // app ID used in the query params\n appURL: string // URL that points to the production version of this app\n friendlyName: string\n logo: ReactNode\n palette: PaletteOptions\n description: string\n requestAffiliation: boolean // If set to true, a special screen is shown requesting the user to fill out UserProfile.company\n isPublicized: boolean // If set to true, this will be included in the list of the available Sage Resources\n shortDescription: string\n defaultRealm: Realm\n}\n\n// A static SourceAppConfig to use as a fallback in case the request to get source app configs fails\nexport const STATIC_SOURCE_APP_CONFIG: SourceAppConfig = {\n appId: 'synapse.org',\n appURL: '',\n description: '',\n friendlyName: 'Synapse',\n requestAffiliation: false,\n logo: <></>,\n isPublicized: true,\n palette: { ...Palettes.palette },\n shortDescription: '',\n defaultRealm: {\n id: '0',\n name: 'Synapse',\n },\n}\n\n// Stable array reference to prevent infinite re-renders\nconst FALLBACK_SOURCE_APP_CONFIGS = [STATIC_SOURCE_APP_CONFIG]\n\ntype SourceAppConfigWithRealmId = Omit<SourceAppConfig, 'defaultRealm'> & {\n realmId: string\n}\n\nexport const useSourceAppConfigs = (\n sourceAppConfigTableID: string,\n additionalFilters?: QueryFilter[],\n): SourceAppConfig[] | undefined => {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n const queryBundleRequest = {\n entityId: sourceAppConfigTableID,\n query: {\n sql: `SELECT * FROM ${sourceAppConfigTableID}`,\n limit: 75,\n additionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType:\n 'org.sagebionetworks.repo.model.table.QueryBundleRequest' as const,\n }\n\n const { data: tableQueryResult } = useSuspenseQuery({\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryBundleRequest,\n false,\n ),\n queryFn: async () => {\n try {\n return await SynapseClient.getQueryTableAsyncJobResults(\n queryBundleRequest,\n undefined, // use an undefined access token to query a table in the default realm\n )\n } catch (_error) {\n // Return null on error to signal fallback behavior\n return null\n }\n },\n })\n\n const rowSet = tableQueryResult?.responseBody?.queryResult?.queryResults\n\n // transform row data to SourceAppConfigWithRealmId[]\n const headers = rowSet?.headers\n const appIdColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'appId',\n )!\n const appURLColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'appURL',\n )!\n const friendlyNameColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'friendlyName',\n )!\n const descriptionColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'description',\n )!\n const logoFileHandleColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'logo',\n )!\n const requestAffiliationColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'requestAffiliation',\n )!\n const primaryColorColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'primaryColor',\n )!\n const secondaryColorColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'secondaryColor',\n )!\n const isPublicizedColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'isPublicized',\n )!\n const shortDescriptionColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'shortDescription',\n )!\n const realmIdColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'realmId',\n )!\n\n const rows = rowSet?.rows\n\n // Extract configs with realmIds first\n const configsWithRealmId: SourceAppConfigWithRealmId[] | undefined = useMemo(\n () =>\n rows?.map(row => {\n const rowVals = row.values\n const fileHandleId = rowVals[logoFileHandleColIndex]\n const friendlyName = rowVals[friendlyNameColIndex] ?? ''\n const logo = (\n <SourceAppImage\n sourceAppConfigTableID={sourceAppConfigTableID}\n fileHandleId={fileHandleId}\n friendlyName={friendlyName}\n />\n )\n const appPalette: PaletteOptions = {\n ...Palettes.palette,\n primary: Palettes.generatePalette(\n rowVals[primaryColorColIndex] ?? '',\n ),\n secondary: Palettes.generatePalette(\n rowVals[secondaryColorColIndex] ?? '',\n ),\n }\n const appId =\n rowVals[appIdColIndex] == null ? '' : rowVals[appIdColIndex]\n const appURL =\n rowVals[appURLColIndex] == null ? '' : rowVals[appURLColIndex]\n const description =\n rowVals[descriptionColIndex] == null\n ? ''\n : rowVals[descriptionColIndex]\n const shortDescription =\n rowVals[shortDescriptionColIndex] == null\n ? ''\n : rowVals[shortDescriptionColIndex]\n const requestAffiliation =\n rowVals[requestAffiliationColIndex] == null\n ? false\n : rowVals[requestAffiliationColIndex] == 'true'\n const isPublicized =\n rowVals[isPublicizedColIndex] == null\n ? true\n : rowVals[isPublicizedColIndex] == 'true'\n const realmId =\n rowVals[realmIdColIndex] == null ? '0' : rowVals[realmIdColIndex]\n return {\n appId,\n appURL,\n description,\n friendlyName,\n requestAffiliation,\n logo,\n isPublicized,\n palette: appPalette,\n shortDescription,\n realmId,\n }\n }),\n [\n rows,\n logoFileHandleColIndex,\n friendlyNameColIndex,\n sourceAppConfigTableID,\n primaryColorColIndex,\n secondaryColorColIndex,\n appIdColIndex,\n appURLColIndex,\n descriptionColIndex,\n shortDescriptionColIndex,\n requestAffiliationColIndex,\n isPublicizedColIndex,\n realmIdColIndex,\n ],\n )\n\n // Fetch all realms in parallel\n const realmQueries = useQueries({\n queries:\n configsWithRealmId?.map(config =>\n getRealmByIdQueryOptions(config.realmId, keyFactory, synapseClient),\n ) ?? [],\n })\n\n // Combine configs with realm data\n return useMemo(() => {\n // If query returned null (error case) or no rowSet, return static config fallback\n if (!tableQueryResult || !rowSet) {\n return FALLBACK_SOURCE_APP_CONFIGS\n }\n\n if (!configsWithRealmId) return undefined\n\n // Check if all realm queries have succeeded\n const allRealmsLoaded = realmQueries.every(query => query.isSuccess)\n if (!allRealmsLoaded) return undefined\n\n return configsWithRealmId.map((config, index) => {\n const realm = realmQueries[index].data\n return {\n ...config,\n defaultRealm: realm,\n }\n })\n }, [configsWithRealmId, realmQueries, tableQueryResult, rowSet])\n}\n"],"names":["STATIC_SOURCE_APP_CONFIG","jsx","Fragment","Palettes","FALLBACK_SOURCE_APP_CONFIGS","useSourceAppConfigs","sourceAppConfigTableID","additionalFilters","synapseClient","keyFactory","useSynapseContext","queryBundleRequest","BUNDLE_MASK_QUERY_RESULTS","tableQueryResult","useSuspenseQuery","tableQueryUseQueryDefaults","SynapseClient","rowSet","headers","appIdColIndex","selectColumn","appURLColIndex","friendlyNameColIndex","descriptionColIndex","logoFileHandleColIndex","requestAffiliationColIndex","primaryColorColIndex","secondaryColorColIndex","isPublicizedColIndex","shortDescriptionColIndex","realmIdColIndex","rows","configsWithRealmId","useMemo","row","rowVals","fileHandleId","friendlyName","logo","SourceAppImage","appPalette","appId","appURL","description","shortDescription","requestAffiliation","isPublicized","realmId","realmQueries","useQueries","config","getRealmByIdQueryOptions","query","index","realm"],"mappings":"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"}
1
+ {"version":3,"file":"useSourceAppConfigs.js","sources":["../../../src/utils/hooks/useSourceAppConfigs.tsx"],"sourcesContent":["import SourceAppImage from '@/components/SourceAppImage'\nimport SynapseClient from '@/synapse-client'\nimport Palettes from '@/theme/palette/Palettes'\nimport { Realm } from '@sage-bionetworks/synapse-client'\nimport { PaletteOptions } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '../SynapseConstants'\nimport { QueryFilter } from '@sage-bionetworks/synapse-types'\nimport { useQueries, useSuspenseQuery } from '@tanstack/react-query'\nimport { useSynapseContext } from '../context/SynapseContext'\nimport { tableQueryUseQueryDefaults } from '@/synapse-queries'\nimport { getRealmByIdQueryOptions } from '@/synapse-queries/realm/useRealmPrincipals'\n\nexport type SourceAppConfig = {\n appId: string // app ID used in the query params\n appURL: string // URL that points to the production version of this app\n friendlyName: string\n logo: ReactNode\n palette: PaletteOptions\n description: string\n requestAffiliation: boolean // If set to true, a special screen is shown requesting the user to fill out UserProfile.company\n isPublicized: boolean // If set to true, this will be included in the list of the available Sage Resources\n shortDescription: string\n defaultRealm: Realm\n area?: string\n}\n\n// A static SourceAppConfig to use as a fallback in case the request to get source app configs fails\nexport const STATIC_SOURCE_APP_CONFIG: SourceAppConfig = {\n appId: 'synapse.org',\n appURL: '',\n description: '',\n friendlyName: 'Synapse',\n requestAffiliation: false,\n logo: <></>,\n isPublicized: true,\n palette: { ...Palettes.palette },\n shortDescription: '',\n defaultRealm: {\n id: '0',\n name: 'Synapse',\n },\n}\n\n// Stable array reference to prevent infinite re-renders\nconst FALLBACK_SOURCE_APP_CONFIGS = [STATIC_SOURCE_APP_CONFIG]\n\ntype SourceAppConfigWithRealmId = Omit<SourceAppConfig, 'defaultRealm'> & {\n realmId: string\n}\n\nexport const useSourceAppConfigs = (\n sourceAppConfigTableID: string,\n additionalFilters?: QueryFilter[],\n): SourceAppConfig[] | undefined => {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n const queryBundleRequest = {\n entityId: sourceAppConfigTableID,\n query: {\n sql: `SELECT * FROM ${sourceAppConfigTableID}`,\n limit: 75,\n additionalFilters,\n },\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType:\n 'org.sagebionetworks.repo.model.table.QueryBundleRequest' as const,\n }\n\n const { data: tableQueryResult } = useSuspenseQuery({\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryBundleRequest,\n false,\n ),\n queryFn: async () => {\n try {\n return await SynapseClient.getQueryTableAsyncJobResults(\n queryBundleRequest,\n undefined, // use an undefined access token to query a table in the default realm\n )\n } catch (_error) {\n // Return null on error to signal fallback behavior\n return null\n }\n },\n })\n\n const rowSet = tableQueryResult?.responseBody?.queryResult?.queryResults\n\n // transform row data to SourceAppConfigWithRealmId[]\n const headers = rowSet?.headers\n const appIdColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'appId',\n )!\n const appURLColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'appURL',\n )!\n const friendlyNameColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'friendlyName',\n )!\n const descriptionColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'description',\n )!\n const logoFileHandleColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'logo',\n )!\n const requestAffiliationColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'requestAffiliation',\n )!\n const primaryColorColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'primaryColor',\n )!\n const secondaryColorColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'secondaryColor',\n )!\n const isPublicizedColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'isPublicized',\n )!\n const shortDescriptionColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'shortDescription',\n )!\n const realmIdColIndex = headers?.findIndex(\n selectColumn => selectColumn.name == 'realmId',\n )!\n const areaColIndex =\n headers?.findIndex(selectColumn => selectColumn.name == 'area') ?? -1\n\n const rows = rowSet?.rows\n\n // Extract configs with realmIds first\n const configsWithRealmId: SourceAppConfigWithRealmId[] | undefined = useMemo(\n () =>\n rows?.map(row => {\n const rowVals = row.values\n const fileHandleId = rowVals[logoFileHandleColIndex]\n const friendlyName = rowVals[friendlyNameColIndex] ?? ''\n const logo = (\n <SourceAppImage\n sourceAppConfigTableID={sourceAppConfigTableID}\n fileHandleId={fileHandleId}\n friendlyName={friendlyName}\n />\n )\n const appPalette: PaletteOptions = {\n ...Palettes.palette,\n primary: Palettes.generatePalette(\n rowVals[primaryColorColIndex] ?? '',\n ),\n secondary: Palettes.generatePalette(\n rowVals[secondaryColorColIndex] ?? '',\n ),\n }\n const appId =\n rowVals[appIdColIndex] == null ? '' : rowVals[appIdColIndex]\n const appURL =\n rowVals[appURLColIndex] == null ? '' : rowVals[appURLColIndex]\n const description =\n rowVals[descriptionColIndex] == null\n ? ''\n : rowVals[descriptionColIndex]\n const shortDescription =\n rowVals[shortDescriptionColIndex] == null\n ? ''\n : rowVals[shortDescriptionColIndex]\n const requestAffiliation =\n rowVals[requestAffiliationColIndex] == null\n ? false\n : rowVals[requestAffiliationColIndex] == 'true'\n const isPublicized =\n rowVals[isPublicizedColIndex] == null\n ? true\n : rowVals[isPublicizedColIndex] == 'true'\n const realmId =\n rowVals[realmIdColIndex] == null ? '0' : rowVals[realmIdColIndex]\n const area =\n areaColIndex >= 0 && rowVals[areaColIndex] != null\n ? rowVals[areaColIndex]\n : undefined\n return {\n appId,\n appURL,\n description,\n friendlyName,\n requestAffiliation,\n logo,\n isPublicized,\n palette: appPalette,\n shortDescription,\n realmId,\n area,\n }\n }),\n [\n rows,\n logoFileHandleColIndex,\n friendlyNameColIndex,\n sourceAppConfigTableID,\n primaryColorColIndex,\n secondaryColorColIndex,\n appIdColIndex,\n appURLColIndex,\n descriptionColIndex,\n shortDescriptionColIndex,\n requestAffiliationColIndex,\n isPublicizedColIndex,\n realmIdColIndex,\n areaColIndex,\n ],\n )\n\n // Fetch all realms in parallel\n const realmQueries = useQueries({\n queries:\n configsWithRealmId?.map(config =>\n getRealmByIdQueryOptions(config.realmId, keyFactory, synapseClient),\n ) ?? [],\n })\n\n // Combine configs with realm data\n return useMemo(() => {\n // If query returned null (error case) or no rowSet, return static config fallback\n if (!tableQueryResult || !rowSet) {\n return FALLBACK_SOURCE_APP_CONFIGS\n }\n\n if (!configsWithRealmId) return undefined\n\n // Check if all realm queries have succeeded\n const allRealmsLoaded = realmQueries.every(query => query.isSuccess)\n if (!allRealmsLoaded) return undefined\n\n return configsWithRealmId.map((config, index) => {\n const realm = realmQueries[index].data\n return {\n ...config,\n defaultRealm: realm,\n }\n })\n }, [configsWithRealmId, realmQueries, tableQueryResult, rowSet])\n}\n"],"names":["STATIC_SOURCE_APP_CONFIG","jsx","Fragment","Palettes","FALLBACK_SOURCE_APP_CONFIGS","useSourceAppConfigs","sourceAppConfigTableID","additionalFilters","synapseClient","keyFactory","useSynapseContext","queryBundleRequest","BUNDLE_MASK_QUERY_RESULTS","tableQueryResult","useSuspenseQuery","tableQueryUseQueryDefaults","SynapseClient","rowSet","headers","appIdColIndex","selectColumn","appURLColIndex","friendlyNameColIndex","descriptionColIndex","logoFileHandleColIndex","requestAffiliationColIndex","primaryColorColIndex","secondaryColorColIndex","isPublicizedColIndex","shortDescriptionColIndex","realmIdColIndex","areaColIndex","rows","configsWithRealmId","useMemo","row","rowVals","fileHandleId","friendlyName","logo","SourceAppImage","appPalette","appId","appURL","description","shortDescription","requestAffiliation","isPublicized","realmId","area","realmQueries","useQueries","config","getRealmByIdQueryOptions","query","index","realm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAMA,IAA4C;AAAA,EACvD,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,MAAM,gBAAAC,EAAAC,GAAA,EAAE;AAAA,EACR,cAAc;AAAA,EACd,SAAS,EAAE,GAAGC,EAAS,QAAA;AAAA,EACvB,kBAAkB;AAAA,EAClB,cAAc;AAAA,IACZ,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAEV,GAGMC,IAA8B,CAACJ,CAAwB,GAMhDK,KAAsB,CACjCC,GACAC,MACkC;AAClC,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA,GAEhCC,IAAqB;AAAA,IACzB,UAAUL;AAAA,IACV,OAAO;AAAA,MACL,KAAK,iBAAiBA,CAAsB;AAAA,MAC5C,OAAO;AAAA,MACP,mBAAAC;AAAA,IAAA;AAAA,IAEF,UAAUK;AAAA,IACV,cACE;AAAA,EAAA,GAGE,EAAE,MAAMC,EAAA,IAAqBC,EAAiB;AAAA,IAClD,GAAGC;AAAA,IACH,UAAUN,EAAW;AAAA,MACnBE;AAAA,MACA;AAAA,IAAA;AAAA,IAEF,SAAS,YAAY;AACnB,UAAI;AACF,eAAO,MAAMK,EAAc;AAAA,UACzBL;AAAA,UACA;AAAA;AAAA,QAAA;AAAA,MAEJ,QAAiB;AAEf,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EAAA,CACD,GAEKM,IAASJ,GAAkB,cAAc,aAAa,cAGtDK,IAAUD,GAAQ,SAClBE,IAAgBD,GAAS;AAAA,IAC7B,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCC,IAAiBH,GAAS;AAAA,IAC9B,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCE,IAAuBJ,GAAS;AAAA,IACpC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCG,IAAsBL,GAAS;AAAA,IACnC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCI,IAAyBN,GAAS;AAAA,IACtC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCK,IAA6BP,GAAS;AAAA,IAC1C,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCM,IAAuBR,GAAS;AAAA,IACpC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCO,IAAyBT,GAAS;AAAA,IACtC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCQ,IAAuBV,GAAS;AAAA,IACpC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCS,IAA2BX,GAAS;AAAA,IACxC,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCU,IAAkBZ,GAAS;AAAA,IAC/B,CAAAE,MAAgBA,EAAa,QAAQ;AAAA,EAAA,GAEjCW,IACJb,GAAS,UAAU,OAAgBE,EAAa,QAAQ,MAAM,KAAK,IAE/DY,IAAOf,GAAQ,MAGfgB,IAA+DC;AAAA,IACnE,MACEF,GAAM,IAAI,CAAAG,MAAO;AACf,YAAMC,IAAUD,EAAI,QACdE,IAAeD,EAAQZ,CAAsB,GAC7Cc,IAAeF,EAAQd,CAAoB,KAAK,IAChDiB,IACJ,gBAAAtC;AAAA,QAACuC;AAAA,QAAA;AAAA,UACC,wBAAAlC;AAAA,UACA,cAAA+B;AAAA,UACA,cAAAC;AAAA,QAAA;AAAA,MAAA,GAGEG,IAA6B;AAAA,QACjC,GAAGtC,EAAS;AAAA,QACZ,SAASA,EAAS;AAAA,UAChBiC,EAAQV,CAAoB,KAAK;AAAA,QAAA;AAAA,QAEnC,WAAWvB,EAAS;AAAA,UAClBiC,EAAQT,CAAsB,KAAK;AAAA,QAAA;AAAA,MACrC,GAEIe,IACJN,EAAQjB,CAAa,KAAK,OAAO,KAAKiB,EAAQjB,CAAa,GACvDwB,IACJP,EAAQf,CAAc,KAAK,OAAO,KAAKe,EAAQf,CAAc,GACzDuB,IACJR,EAAQb,CAAmB,KAAK,OAC5B,KACAa,EAAQb,CAAmB,GAC3BsB,IACJT,EAAQP,CAAwB,KAAK,OACjC,KACAO,EAAQP,CAAwB,GAChCiB,IACJV,EAAQX,CAA0B,KAAK,OACnC,KACAW,EAAQX,CAA0B,KAAK,QACvCsB,IACJX,EAAQR,CAAoB,KAAK,OAC7B,KACAQ,EAAQR,CAAoB,KAAK,QACjCoB,IACJZ,EAAQN,CAAe,KAAK,OAAO,MAAMM,EAAQN,CAAe,GAC5DmB,IACJlB,KAAgB,KAAKK,EAAQL,CAAY,KAAK,OAC1CK,EAAQL,CAAY,IACpB;AACN,aAAO;AAAA,QACL,OAAAW;AAAA,QACA,QAAAC;AAAA,QACA,aAAAC;AAAA,QACA,cAAAN;AAAA,QACA,oBAAAQ;AAAA,QACA,MAAAP;AAAA,QACA,cAAAQ;AAAA,QACA,SAASN;AAAA,QACT,kBAAAI;AAAA,QACA,SAAAG;AAAA,QACA,MAAAC;AAAA,MAAA;AAAA,IAEJ,CAAC;AAAA,IACH;AAAA,MACEjB;AAAA,MACAR;AAAA,MACAF;AAAA,MACAhB;AAAA,MACAoB;AAAA,MACAC;AAAA,MACAR;AAAA,MACAE;AAAA,MACAE;AAAA,MACAM;AAAA,MACAJ;AAAA,MACAG;AAAA,MACAE;AAAA,MACAC;AAAA,IAAA;AAAA,EACF,GAIImB,IAAeC,EAAW;AAAA,IAC9B,SACElB,GAAoB;AAAA,MAAI,CAAAmB,MACtBC,EAAyBD,EAAO,SAAS3C,GAAYD,CAAa;AAAA,IAAA,KAC/D,CAAA;AAAA,EAAC,CACT;AAGD,SAAO0B,EAAQ,MAAM;AAEnB,QAAI,CAACrB,KAAoB,CAACI;AACxB,aAAOb;AAOT,QAJI,GAAC6B,KAID,CADoBiB,EAAa,MAAM,CAAAI,MAASA,EAAM,SAAS;AAGnE,aAAOrB,EAAmB,IAAI,CAACmB,GAAQG,MAAU;AAC/C,cAAMC,IAAQN,EAAaK,CAAK,EAAE;AAClC,eAAO;AAAA,UACL,GAAGH;AAAA,UACH,cAAcI;AAAA,QAAA;AAAA,MAElB,CAAC;AAAA,EACH,GAAG,CAACvB,GAAoBiB,GAAcrC,GAAkBI,CAAM,CAAC;AACjE;"}
@@ -15,8 +15,8 @@ import { FullContextProvider as w, defaultQueryClientConfig as B } from "./conte
15
15
  import { SynapseContext as X, SynapseContextConsumer as Z, SynapseContextProvider as ee, useSynapseContext as oe } from "./context/SynapseContext.js";
16
16
  import { DocumentMetadataProvider as re, useDocumentMetadata as ie } from "./context/DocumentMetadataContext.js";
17
17
  import { SynapseClientError as se } from "@sage-bionetworks/synapse-client/util/SynapseClientError";
18
- import { hex2ascii as pe } from "./functions/StringUtils.js";
19
- import { createTableUpdateTransactionRequest as le } from "./functions/TableColumnSchemaUtils.js";
18
+ import { createTableUpdateTransactionRequest as pe } from "./functions/TableColumnSchemaUtils.js";
19
+ import { hex2ascii as le } from "./functions/StringUtils.js";
20
20
  export {
21
21
  s as ACCESS_TOKEN_COOKIE_KEY,
22
22
  f as ApplicationSessionContextConsumer,
@@ -37,10 +37,10 @@ export {
37
37
  t as SynapseHookUtils,
38
38
  R as SynapseSessionManager,
39
39
  r as SynapseUtilityFunctions,
40
- le as createTableUpdateTransactionRequest,
40
+ pe as createTableUpdateTransactionRequest,
41
41
  B as defaultQueryClientConfig,
42
42
  l as getCookieDomain,
43
- pe as hex2ascii,
43
+ le as hex2ascii,
44
44
  k as implementsCloudProviderFileHandleInterface,
45
45
  M as implementsExternalFileHandleInterface,
46
46
  U as isColumnMultiValueFunctionQueryFilter,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synapse-react-client",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -16,7 +16,6 @@
16
16
  },
17
17
  "./package.json": "./package.json",
18
18
  "./style/*": "./dist/style/*",
19
- "./synapse-react-client.css": "./dist/synapse-react-client.css",
20
19
  "./template_style/*": "./dist/template_style/*",
21
20
  "./ThemeTypes": "./dist/types/ThemeTypes.d.ts"
22
21
  },
@@ -31,7 +30,7 @@
31
30
  },
32
31
  "dependencies": {
33
32
  "@apidevtools/json-schema-ref-parser": "^14.1.1",
34
- "@aws-sdk/client-s3": "^3.803.0",
33
+ "@aws-sdk/client-s3": "^3.1019.0",
35
34
  "@aws-sdk/lib-storage": "^3.803.0",
36
35
  "@emotion/react": "^11.14.0",
37
36
  "@emotion/styled": "^11.14.0",
@@ -63,8 +62,8 @@
63
62
  "clickable-json": "^1.15.1",
64
63
  "dagre": "^0.8.5",
65
64
  "dayjs": "^1.11.13",
66
- "dompurify": "^3.3.2",
67
- "immutable": "4.1.0",
65
+ "immutable": "4.3.8",
66
+ "isomorphic-dompurify": "^3.7.1",
68
67
  "jotai": "^2.12.4",
69
68
  "json-joy": "^17.65.0",
70
69
  "json-rules-engine": "^4.1.0",
@@ -96,7 +95,7 @@
96
95
  "react-mailchimp-subscribe": "^2.1.3",
97
96
  "react-plotly.js": "^2.6.0",
98
97
  "react-reflex": "^4.2.7",
99
- "react-router": "^7.12.0",
98
+ "react-router": "^7.13.1",
100
99
  "react-select": "^5.10.1",
101
100
  "react-share": "^5.2.2",
102
101
  "react-switch": "^7.1.0",
@@ -107,7 +106,7 @@
107
106
  "react-window": "^1.8.11",
108
107
  "reactflow": "^11.11.4",
109
108
  "rss-parser": "^3.13.0",
110
- "sass": "^1.87.0",
109
+ "sass": "^1.98.0",
111
110
  "schema-dts": "^1.1.5",
112
111
  "shortid": "^2.2.17",
113
112
  "spark-md5": "^3.0.2",
@@ -120,9 +119,9 @@
120
119
  "zod": "^3.24.4",
121
120
  "@sage-bionetworks/markdown-it-container": "4.0.1",
122
121
  "@sage-bionetworks/synapse-client": "0.0.13",
122
+ "@sage-bionetworks/synapse-types": "0.0.6",
123
123
  "markdown-it-synapse": "1.1.17",
124
- "markdown-it-synapse-table": "1.0.8",
125
- "@sage-bionetworks/synapse-types": "0.0.6"
124
+ "markdown-it-synapse-table": "1.0.8"
126
125
  },
127
126
  "peerDependencies": {
128
127
  "@sage-bionetworks/aridhia-client": "*",
@@ -139,11 +138,11 @@
139
138
  "@googlemaps/jest-mocks": "^2.22.6",
140
139
  "@juggle/resize-observer": "^3.4.0",
141
140
  "@open-draft/deferred-promise": "^2.2.0",
142
- "@storybook/addon-a11y": "10.1.11",
143
- "@storybook/addon-designs": "^11.1.1",
144
- "@storybook/addon-links": "10.1.11",
145
- "@storybook/addon-themes": "10.1.11",
146
- "@storybook/react-vite": "10.1.11",
141
+ "@storybook/addon-a11y": "10.3.3",
142
+ "@storybook/addon-designs": "^11.1.3",
143
+ "@storybook/addon-links": "10.3.3",
144
+ "@storybook/addon-themes": "10.3.3",
145
+ "@storybook/react-vite": "10.3.3",
147
146
  "@svgr/plugin-jsx": "^8.1.0",
148
147
  "@testing-library/dom": "^10.4.0",
149
148
  "@testing-library/jest-dom": "^6.9.1",
@@ -204,7 +203,7 @@
204
203
  "react-dom": "^19.1.0",
205
204
  "react-select-event": "^5.5.1",
206
205
  "react-test-renderer": "^19.1.0",
207
- "storybook": "10.1.11",
206
+ "storybook": "10.3.3",
208
207
  "stream-browserify": "^3.0.0",
209
208
  "stream-http": "^3.2.0",
210
209
  "timers-browserify": "^2.0.12",
@@ -1,6 +0,0 @@
1
- import { __require as r } from "../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";
2
- var i = r();
3
- export {
4
- i as d
5
- };
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,5 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
5
- //# sourceMappingURL=index2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
5
- //# sourceMappingURL=index3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var s = {};
2
- export {
3
- s as __exports
4
- };
5
- //# sourceMappingURL=index4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
5
- //# sourceMappingURL=index5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,21 +0,0 @@
1
- import { TYPE_FILTER, UserGroupHeader } from '@sage-bionetworks/synapse-types';
2
- import { PropsValue } from 'react-select';
3
- type UserSearchBoxValueType = {
4
- id: string;
5
- value: string;
6
- label: string;
7
- header: UserGroupHeader;
8
- } | null;
9
- export type UserSearchBoxProps = {
10
- inputId?: string;
11
- defaultValue?: string;
12
- onChange?: (principalId: string | null, header: UserGroupHeader | null) => void;
13
- typeFilter?: TYPE_FILTER;
14
- filterPredicate?: (item: UserGroupHeader) => boolean;
15
- placeholder?: string;
16
- focusOnSelect?: boolean;
17
- value?: PropsValue<UserSearchBoxValueType> | undefined;
18
- };
19
- declare function UserSearchBoxV2(props: UserSearchBoxProps): import("react/jsx-runtime").JSX.Element;
20
- export default UserSearchBoxV2;
21
- //# sourceMappingURL=UserSearchBoxV2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserSearchBoxV2.d.ts","sourceRoot":"","sources":["../../../src/components/UserSearchBox/UserSearchBoxV2.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAE9E,OAAe,EAGb,UAAU,EAEX,MAAM,cAAc,CAAA;AAGrB,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,eAAe,CAAA;CACxB,GAAG,IAAI,CAAA;AAER,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CACT,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,MAAM,EAAE,eAAe,GAAG,IAAI,KAC3B,IAAI,CAAA;IACT,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAA;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,KAAK,CAAC,EAAE,UAAU,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAA;CACvD,CAAA;AAqCD,iBAAS,eAAe,CAAC,KAAK,EAAE,kBAAkB,2CAyHjD;AAED,eAAe,eAAe,CAAA"}
@@ -1,144 +0,0 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import { useState as c, useRef as x, useEffect as y, useMemo as f, createElement as h } from "react";
3
- import "../../synapse-client/SynapseClient.js";
4
- import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
5
- import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
6
- import "@sage-bionetworks/synapse-client/util/SynapseClientError";
7
- import { TYPE_FILTER as S } from "@sage-bionetworks/synapse-types";
8
- import "../../utils/functions/EntityTypeUtils.js";
9
- import "../../utils/SynapseConstants.js";
10
- import "lodash-es";
11
- import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
12
- import "@tanstack/react-query";
13
- import "../../utils/PermissionLevelToAccessType.js";
14
- import { useDebouncedEffect as F } from "../../utils/hooks/useDebouncedEffect.js";
15
- import "../../utils/context/SynapseContext.js";
16
- import L from "../../utils/hooks/useGetInfoFromIds.js";
17
- import { useTheme as R, Skeleton as k } from "@mui/material";
18
- import "../../utils/hooks/useCookiePreferences.js";
19
- import "../../utils/hooks/useSourceAppConfigs.js";
20
- import "universal-cookie";
21
- import "../../utils/AppUtils/session/ApplicationSessionContext.js";
22
- import "../../utils/context/FullContextProvider.js";
23
- import "../../utils/context/DocumentMetadataContext.js";
24
- import '../../style/components/_spinner.css';/* empty css */
25
- import "@tanstack/query-core";
26
- import "lodash-es/isEmpty";
27
- import "lodash-es/isEqual";
28
- import "lodash-es/xorWith";
29
- import "react-router";
30
- import "@sage-bionetworks/synapse-client";
31
- import "../../utils/types/IsType.js";
32
- import { useSearchUserGroupHeaders as G } from "../../synapse-queries/user/useUserGroupHeader.js";
33
- import M, { components as g } from "react-select";
34
- import I from "../UserOrTeamBadge/UserOrTeamBadge.js";
35
- const _ = {
36
- SingleValue: (t) => {
37
- const { data: r } = t;
38
- return /* @__PURE__ */ h(g.SingleValue, { ...t, key: r?.id }, /* @__PURE__ */ s(
39
- I,
40
- {
41
- userGroupHeader: r?.header,
42
- disableHref: !0,
43
- showFullName: !0
44
- },
45
- r?.header.ownerId
46
- ));
47
- },
48
- Option: (t) => {
49
- const { data: r } = t;
50
- return /* @__PURE__ */ h(g.Option, { ...t, key: r?.id }, /* @__PURE__ */ s(
51
- I,
52
- {
53
- userGroupHeader: r?.header,
54
- disableHref: !0,
55
- showFullName: !0,
56
- showCardOnHover: !1
57
- }
58
- ));
59
- }
60
- };
61
- function be(t) {
62
- const {
63
- inputId: r,
64
- defaultValue: o = null,
65
- onChange: d,
66
- filterPredicate: b,
67
- typeFilter: a,
68
- placeholder: l,
69
- focusOnSelect: O = !1,
70
- value: E
71
- } = t, { palette: N } = R(), [n, v] = c(""), [i, C] = c("");
72
- F(
73
- () => {
74
- C(n);
75
- },
76
- [n],
77
- 500
78
- );
79
- const [m = void 0] = L({
80
- ids: o ? [o] : [],
81
- type: "USER_PROFILE"
82
- }), V = !!i, { data: w, isLoading: u } = G(
83
- i,
84
- a,
85
- {
86
- enabled: V
87
- }
88
- ), p = x(null);
89
- y(() => {
90
- O && p.current && p.current.focus();
91
- });
92
- const H = f(
93
- () => u || n !== i ? () => "Loading…" : void 0,
94
- [u, i, n]
95
- ), T = (w ?? []).filter(b ?? (() => !0)).map((e) => ({
96
- id: e.ownerId.toString(),
97
- value: e.ownerId.toString(),
98
- label: e.userName,
99
- header: e
100
- })), U = f(() => l !== void 0 ? l : a == S.USERS_ONLY ? "Name (first and last)" : a == S.TEAMS_ONLY ? "Team name" : "Name (first and last) or team name", [l, a]);
101
- return o && m == null ? /* @__PURE__ */ s(k, { width: "100%" }) : /* @__PURE__ */ s(
102
- M,
103
- {
104
- className: "UserSearchBoxV2",
105
- ref: p,
106
- inputValue: n,
107
- onInputChange: v,
108
- filterOption: () => !0,
109
- isLoading: u,
110
- options: !u && T || [],
111
- noOptionsMessage: H,
112
- openMenuOnClick: !1,
113
- placeholder: U,
114
- defaultValue: o ? {
115
- id: o,
116
- value: o,
117
- label: m.userName,
118
- header: m
119
- } : void 0,
120
- inputId: r,
121
- isClearable: !0,
122
- value: E,
123
- styles: {
124
- control: (e) => ({ ...e, backgroundColor: N.grey[200] }),
125
- input: (e) => ({
126
- ...e,
127
- // SWC-6327 - Adjust the input style so a right-click focuses on the input field
128
- input: {
129
- gridArea: "1 / 2 / 4 / 4 !important"
130
- }
131
- }),
132
- menu: (e) => ({ ...e, zIndex: 2 })
133
- },
134
- components: _,
135
- onChange: (e) => {
136
- d && d(e?.id ?? null, e?.header ?? null);
137
- }
138
- }
139
- );
140
- }
141
- export {
142
- be as default
143
- };
144
- //# sourceMappingURL=UserSearchBoxV2.js.map