synapse-react-client 4.0.3 → 4.0.5

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 +103 -0
  231. package/dist/components/styled/HoverPopover.js.map +1 -0
  232. package/dist/components/styled/HoverPopover.module.scss +9 -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 +14 -15
  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, Fragment as S, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as d, Fragment as w, jsx as i } from "react/jsx-runtime";
2
2
  import "../../../synapse-client/SynapseClient.js";
3
3
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
@@ -10,10 +10,10 @@ import "lodash-es";
10
10
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
11
11
  import "@tanstack/react-query";
12
12
  import "../../../utils/PermissionLevelToAccessType.js";
13
- import { useCallback as k } from "react";
13
+ import { useCallback as y } from "react";
14
14
  import "../../../utils/context/SynapseContext.js";
15
15
  import "use-deep-compare-effect";
16
- import { Alert as w } from "@mui/material";
16
+ import { Alert as S } from "@mui/material";
17
17
  import "../../../utils/hooks/useCookiePreferences.js";
18
18
  import "../../../utils/hooks/useSourceAppConfigs.js";
19
19
  import "universal-cookie";
@@ -30,8 +30,8 @@ import "@sage-bionetworks/synapse-client";
30
30
  import "../../../utils/types/IsType.js";
31
31
  import { useGetAccessRequirementWikiPageKey as P, useGetAccessRequirementStatus as L, useCancelDataAccessRequest as T } from "../../../synapse-queries/dataaccess/useAccessRequirements.js";
32
32
  import { useGetRestrictionInformation as C } from "../../../synapse-queries/dataaccess/useRestrictionInformation.js";
33
- import { MarkdownSynapse as E } from "../../Markdown/MarkdownSynapse.js";
34
- import { ManagedACTAccessRequirementItemView as h } from "./ManagedACTAccessRequirementItemView.js";
33
+ import { Markdown as E } from "../../Markdown/MarkdownSynapse.js";
34
+ import { ManagedACTAccessRequirementItemView as M } from "./ManagedACTAccessRequirementItemView.js";
35
35
  function de(g) {
36
36
  const {
37
37
  accessRequirement: e,
@@ -63,26 +63,26 @@ function de(g) {
63
63
  mutate: p,
64
64
  error: a,
65
65
  isPending: A
66
- } = T(), j = k(() => {
66
+ } = T(), j = y(() => {
67
67
  t && p({
68
68
  submissionId: t.currentSubmissionStatus.submissionId,
69
69
  accessRequirementId: String(e.id)
70
70
  });
71
- }, [e.id, t, p]), y = I || f || b;
71
+ }, [e.id, t, p]), k = I || f || b;
72
72
  let u = null;
73
- return (o || s || n || a) && (u = /* @__PURE__ */ d(w, { className: "access-requirement-list-alert", severity: "error", children: [
73
+ return (o || s || n || a) && (u = /* @__PURE__ */ d(S, { className: "access-requirement-list-alert", severity: "error", children: [
74
74
  o && o.reason,
75
75
  s && s.reason,
76
76
  n && n.reason,
77
- a && /* @__PURE__ */ d(S, { children: [
77
+ a && /* @__PURE__ */ d(w, { children: [
78
78
  /* @__PURE__ */ i("strong", { children: "Error canceling your data access request:" }),
79
79
  /* @__PURE__ */ i("br", {}),
80
80
  a.reason
81
81
  ] })
82
82
  ] })), /* @__PURE__ */ i(
83
- h,
83
+ M,
84
84
  {
85
- isLoading: y,
85
+ isLoading: k,
86
86
  accessRequirement: e,
87
87
  accessRequirementStatus: t,
88
88
  restrictionInformation: q,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as o, jsx as t, Fragment as g } from "react/jsx-runtime";
2
2
  import d, { RequirementItemStatus as p } from "../AccessApprovalCheckMark.js";
3
- import { styled as s, Box as n, Button as u } from "@mui/material";
3
+ import { Box as n, Button as u, styled as s } from "@mui/material";
4
4
  const c = s(n, {
5
5
  label: "RequirementContainer"
6
6
  })({
@@ -28,20 +28,20 @@ import "lodash-es/xorWith";
28
28
  import "react-router";
29
29
  import "@sage-bionetworks/synapse-client";
30
30
  import { isTermsOfUseAccessRequirement as j } from "../../../utils/types/IsType.js";
31
- import { useGetAccessRequirementStatus as B, useGetAccessRequirementWikiPageKey as G, useCreateAccessApproval as D } from "../../../synapse-queries/dataaccess/useAccessRequirements.js";
32
- import { useGetCurrentUserProfile as M, useGetCurrentUserBundle as V } from "../../../synapse-queries/user/useUserBundle.js";
33
- import { MarkdownSynapse as q } from "../../Markdown/MarkdownSynapse.js";
31
+ import { useGetAccessRequirementStatus as B, useGetAccessRequirementWikiPageKey as G, useCreateAccessApproval as M } from "../../../synapse-queries/dataaccess/useAccessRequirements.js";
32
+ import { useGetCurrentUserProfile as D, useGetCurrentUserBundle as V } from "../../../synapse-queries/user/useUserBundle.js";
33
+ import { Markdown as q } from "../../Markdown/MarkdownSynapse.js";
34
34
  import { RequirementItemStatus as l } from "../AccessApprovalCheckMark.js";
35
35
  import N from "./RequirementItem.js";
36
36
  function we(R) {
37
- const { accessRequirement: e, onHide: S } = R, { isAuthenticated: n } = b(), c = j(e), { data: f } = M(), { data: i } = V(), m = n && i && !c && e.isCertifiedUserRequired && !i.isCertified, a = n && i && !c && e.isValidatedProfileRequired && !i.isVerified, { data: g, isLoading: w } = B(String(e.id)), p = g?.isApproved, { data: o } = G(
37
+ const { accessRequirement: e, onHide: S } = R, { isAuthenticated: n } = b(), c = j(e), { data: f } = D(), { data: i } = V(), m = n && i && !c && e.isCertifiedUserRequired && !i.isCertified, a = n && i && !c && e.isValidatedProfileRequired && !i.isVerified, { data: g, isLoading: w } = B(String(e.id)), p = g?.isApproved, { data: o } = G(
38
38
  e.id.toString()
39
39
  // TermsOfUse ARs may have the terms embedded in the AR or an associated Wiki.
40
40
  ), [d, T] = P(!1), {
41
- mutate: C,
42
- isPending: k,
41
+ mutate: k,
42
+ isPending: C,
43
43
  error: A
44
- } = D({
44
+ } = M({
45
45
  onError: (t) => {
46
46
  console.error("Error creating access approval: ", t);
47
47
  }
@@ -52,7 +52,7 @@ function we(R) {
52
52
  accessorId: f?.ownerId,
53
53
  state: O.APPROVED
54
54
  };
55
- C(t);
55
+ k(t);
56
56
  };
57
57
  let s = /* @__PURE__ */ r(h, {});
58
58
  c && e.termsOfUse ? s = /* @__PURE__ */ r(q, { markdown: e.termsOfUse }) : o && (s = /* @__PURE__ */ r(
@@ -71,7 +71,7 @@ function we(R) {
71
71
  variant: "outlined",
72
72
  onClick: y,
73
73
  children: t,
74
- disabled: k || I
74
+ disabled: C || I
75
75
  },
76
76
  {
77
77
  variant: "text",
@@ -5,13 +5,13 @@ import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResp
5
5
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
6
6
  import "@sage-bionetworks/synapse-types";
7
7
  import "../../../utils/functions/EntityTypeUtils.js";
8
- import { PRODUCTION_ENDPOINT_CONFIG as S } from "../../../utils/functions/getEndpoint.js";
8
+ import { PRODUCTION_ENDPOINT_CONFIG as k } from "../../../utils/functions/getEndpoint.js";
9
9
  import "lodash-es";
10
10
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
11
11
  import "@tanstack/react-query";
12
12
  import "../../../utils/PermissionLevelToAccessType.js";
13
13
  import "../../../utils/SynapseConstants.js";
14
- import { useState as k } from "react";
14
+ import { useState as S } from "react";
15
15
  import { useSynapseContext as b } from "../../../utils/context/SynapseContext.js";
16
16
  import "use-deep-compare-effect";
17
17
  import { Typography as O, Link as j, Box as P } from "@mui/material";
@@ -30,20 +30,20 @@ import "react-router";
30
30
  import "@sage-bionetworks/synapse-client";
31
31
  import "../../../utils/types/IsType.js";
32
32
  import { useGetAccessRequirementStatus as v, useGetAccessRequirementWikiPageKey as x } from "../../../synapse-queries/dataaccess/useAccessRequirements.js";
33
- import { MarkdownSynapse as f } from "../../Markdown/MarkdownSynapse.js";
33
+ import { Markdown as f } from "../../Markdown/MarkdownSynapse.js";
34
34
  import { RequirementItemStatus as a } from "../AccessApprovalCheckMark.js";
35
35
  import L from "./RequirementItem.js";
36
36
  function ft(w) {
37
37
  const { accessRequirement: e, subjectId: m, subjectType: p, onHide: n } = w, { isAuthenticated: g } = b(), { data: A, isLoading: C } = v(String(e.id)), { data: o } = x(
38
38
  e.id.toString()
39
39
  // ACT ARs may have the contact info embedded in the AR or may have an associated Wiki.
40
- ), r = A?.isApproved, [s, y] = k(!1);
40
+ ), r = A?.isApproved, [s, y] = S(!1);
41
41
  let c = "";
42
42
  typeof window < "u" && (window.location.hostname === "www.synapse.org" || window.location.hostname === "staging.synapse.org") ? c = "Request access" : c = "Request access via Synapse.org";
43
43
  const T = () => {
44
44
  const h = p ? `&TYPE=${p}` : "", q = m ? `&ID=${m}` : "";
45
45
  window.open(
46
- `${S.PORTAL}AccessRequirement:AR_ID=${e.id}${h}${q}`
46
+ `${k.PORTAL}AccessRequirement:AR_ID=${e.id}${h}${q}`
47
47
  );
48
48
  }, R = () => {
49
49
  T(), n && n();
@@ -1 +1 @@
1
- {"version":3,"file":"AcknowledgementsPage.d.ts","sourceRoot":"","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAIlE,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B,CAAC,EAAE,oBAAoB,CAAA;IACjD,qBAAqB,CAAC,EAAE,oBAAoB,CAAA;IAC5C,uBAAuB,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAsOlE;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"AcknowledgementsPage.d.ts","sourceRoot":"","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAIlE,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,0BAA0B,CAAC,EAAE,oBAAoB,CAAA;IACjD,qBAAqB,CAAC,EAAE,oBAAoB,CAAA;IAC5C,uBAAuB,EAAE,MAAM,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAuOlE;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { jsxs as a, Fragment as d, jsx as e } from "react/jsx-runtime";
2
- import { Container as D, Typography as t, Box as T, Link as I, Button as p } from "@mui/material";
1
+ import { jsxs as n, Fragment as d, jsx as e } from "react/jsx-runtime";
2
+ import { Container as D, Typography as t, Box as T, Link as I, Button as u } from "@mui/material";
3
3
  import { useState as o, useCallback as O } from "react";
4
4
  import { ReactComponent as P } from "../../assets/illustrations/acknowledgement_statements_illustration.svg.js";
5
5
  import W from "../TextToComponentCollapse.js";
@@ -14,15 +14,15 @@ function M(g) {
14
14
  portalAcknowledgementProps: s,
15
15
  dataAvailabilityProps: c,
16
16
  studyAcknowledgementSql: f
17
- } = g, [x, h] = o(!1), [y, w] = o(), [k, v] = o(), [n, C] = o([]), S = O(
18
- () => h(!1),
17
+ } = g, [x, m] = o(!1), [y, w] = o(), [v, k] = o(), [a, C] = o([]), S = O(
18
+ () => m(!1),
19
19
  []
20
20
  );
21
- return /* @__PURE__ */ a(d, { children: [
22
- /* @__PURE__ */ a(D, { maxWidth: "lg", sx: { mt: "2em", mb: "2em" }, children: [
21
+ return /* @__PURE__ */ n(d, { children: [
22
+ /* @__PURE__ */ n(D, { maxWidth: "lg", sx: { mt: "2em", mb: "2em" }, children: [
23
23
  /* @__PURE__ */ e(t, { variant: "h5", sx: { fontWeight: "bold" }, children: "How to acknowledge data from this portal" }),
24
24
  /* @__PURE__ */ e("hr", {}),
25
- /* @__PURE__ */ a(t, { variant: "body1", sx: { mb: "1em" }, children: [
25
+ /* @__PURE__ */ n(t, { variant: "body1", sx: { mb: "1em" }, children: [
26
26
  "The data available in the ",
27
27
  i,
28
28
  " would not be possible without the participation of research volunteers and the contribution of data by collaborating researchers. All use of data from the ",
@@ -30,7 +30,7 @@ function M(g) {
30
30
  " ",
31
31
  "must be acknowledged and referenced appropriately."
32
32
  ] }),
33
- /* @__PURE__ */ a(t, { variant: "body1", sx: { fontWeight: "bold", mb: "1em" }, children: [
33
+ /* @__PURE__ */ n(t, { variant: "body1", sx: { fontWeight: "bold", mb: "1em" }, children: [
34
34
  "All publications using ",
35
35
  i,
36
36
  " data must include the provided statements:"
@@ -38,7 +38,7 @@ function M(g) {
38
38
  /* @__PURE__ */ e(T, { sx: { mb: "2em", svg: { maxWidth: "100%" } }, children: /* @__PURE__ */ e(P, {}) }),
39
39
  /* @__PURE__ */ e(t, { variant: "h5", sx: { fontWeight: "bold" }, children: "How to use this page:" }),
40
40
  /* @__PURE__ */ e("hr", {}),
41
- /* @__PURE__ */ a(t, { variant: "body1", sx: { mb: ".5em" }, children: [
41
+ /* @__PURE__ */ n(t, { variant: "body1", sx: { mb: ".5em" }, children: [
42
42
  "This page will guide you through creating the acknowledgement statements required when publishing with ",
43
43
  i,
44
44
  " data."
@@ -47,6 +47,7 @@ function M(g) {
47
47
  t,
48
48
  {
49
49
  variant: "body1",
50
+ component: "div",
50
51
  sx: {
51
52
  mb: "2em",
52
53
  "& li::marker": {
@@ -54,24 +55,24 @@ function M(g) {
54
55
  // bold the number
55
56
  }
56
57
  },
57
- children: /* @__PURE__ */ a("ol", { children: [
58
- /* @__PURE__ */ a("li", { children: [
58
+ children: /* @__PURE__ */ n("ol", { children: [
59
+ /* @__PURE__ */ n("li", { children: [
59
60
  /* @__PURE__ */ e("strong", { children: "Select study acknowledgement statements" }),
60
61
  /* @__PURE__ */ e("br", {}),
61
62
  "From the list below, select all the studies whose data you used. Each study has a pre-written acknowledgement statement that must be included in your publication."
62
63
  ] }),
63
- /* @__PURE__ */ a("li", { children: [
64
+ /* @__PURE__ */ n("li", { children: [
64
65
  /* @__PURE__ */ e("strong", { children: "Generate compiled statement" }),
65
66
  /* @__PURE__ */ e("br", {}),
66
67
  "Click the Generate Compiled Statement button at the bottom of the page. This will compile:",
67
- /* @__PURE__ */ a("ul", { children: [
68
+ /* @__PURE__ */ n("ul", { children: [
68
69
  /* @__PURE__ */ e("li", { children: "The Portal Acknowledgement Statement" }),
69
70
  /* @__PURE__ */ e("li", { children: "The acknowledgement(s) for the studies you selected" }),
70
71
  /* @__PURE__ */ e("li", { children: "A template data availability statement" })
71
72
  ] }),
72
73
  /* @__PURE__ */ e("i", { children: "Important: You will need to edit the compiled statement to add a brief description of the data used in your manuscript and a DOI that points to your dataset." })
73
74
  ] }),
74
- /* @__PURE__ */ a("li", { children: [
75
+ /* @__PURE__ */ n("li", { children: [
75
76
  /* @__PURE__ */ e("strong", { children: "Create a DOI for your dataset" }),
76
77
  /* @__PURE__ */ e("br", {}),
77
78
  "As part of the data availability statement, you will need to create a dataset that captures all files used in your publication and mint the dataset with a persistent Digital Object Identifier (DOI). For more instructions read ",
@@ -88,7 +89,7 @@ function M(g) {
88
89
  ] })
89
90
  }
90
91
  ),
91
- /* @__PURE__ */ e(t, { variant: "h5", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 1, style: { paddingInlineStart: "20px" }, children: /* @__PURE__ */ e("li", { children: "Select study acknowledgement statements" }) }) }),
92
+ /* @__PURE__ */ e(t, { component: "div", variant: "h5", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 1, style: { paddingInlineStart: "20px" }, children: /* @__PURE__ */ e("li", { children: "Select study acknowledgement statements" }) }) }),
92
93
  /* @__PURE__ */ e("hr", {}),
93
94
  /* @__PURE__ */ e(t, { variant: "body1", children: "From the list below, select all studies whose data you used. Each study has a pre-written acknowledgement statement that must be included in your publication." }),
94
95
  /* @__PURE__ */ e(t, { variant: "body1", sx: { mb: "2em" }, children: 'You can also expand each section for detailed information or click "Copy full statement to clipboard" to save the text.' }),
@@ -98,31 +99,31 @@ function M(g) {
98
99
  sql: f,
99
100
  onSelectChange: (r, A) => {
100
101
  if (A)
101
- n.push(r);
102
+ a.push(r);
102
103
  else {
103
- const m = n.findIndex(
104
- (u) => u.title === r.title && u.statement === r.statement
104
+ const h = a.findIndex(
105
+ (p) => p.title === r.title && p.statement === r.statement
105
106
  );
106
- m > -1 && n.splice(m, 1);
107
+ h > -1 && a.splice(h, 1);
107
108
  }
108
- C([...n]);
109
+ C([...a]);
109
110
  }
110
111
  }
111
112
  ),
112
- /* @__PURE__ */ e(t, { variant: "h5", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 2, style: { paddingInlineStart: "25px" }, children: /* @__PURE__ */ e("li", { children: "Generate compiled statement" }) }) }),
113
+ /* @__PURE__ */ e(t, { variant: "h5", component: "div", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 2, style: { paddingInlineStart: "25px" }, children: /* @__PURE__ */ e("li", { children: "Generate compiled statement" }) }) }),
113
114
  /* @__PURE__ */ e("hr", {}),
114
115
  /* @__PURE__ */ e(t, { variant: "body1", sx: { fontWeight: "bold", mb: "1em" }, children: "Click to generate a compiled statement for your publication." }),
115
116
  /* @__PURE__ */ e(t, { variant: "body1", sx: { mb: "1em" }, children: "The generated text will include your selected study acknowledgement statements and all other required statements listed below." }),
116
117
  /* @__PURE__ */ e(
117
- p,
118
+ u,
118
119
  {
119
120
  variant: "contained",
120
- onClick: () => h(!0),
121
+ onClick: () => m(!0),
121
122
  sx: { mb: "3em" },
122
123
  children: "Generate compiled statement"
123
124
  }
124
125
  ),
125
- /* @__PURE__ */ a(
126
+ /* @__PURE__ */ n(
126
127
  W,
127
128
  {
128
129
  text: "Click to see other text included in the compiled statement",
@@ -132,7 +133,7 @@ function M(g) {
132
133
  collapseBoxSx: { backgroundColor: "unset", p: "20px 0px" },
133
134
  iconSx: { width: "20px", height: "20px" },
134
135
  children: [
135
- s && /* @__PURE__ */ a(d, { children: [
136
+ s && /* @__PURE__ */ n(d, { children: [
136
137
  /* @__PURE__ */ e(t, { variant: "h5", sx: { fontSize: "18px", mb: "1em" }, children: "Portal Acknowledgement Statement (Required)" }),
137
138
  /* @__PURE__ */ e(t, { variant: "body1", sx: { mb: "1em" }, children: "This statement is required and automatically included in the compiled statement" }),
138
139
  /* @__PURE__ */ e(
@@ -145,14 +146,14 @@ function M(g) {
145
146
  }
146
147
  )
147
148
  ] }),
148
- c && /* @__PURE__ */ a(d, { children: [
149
+ c && /* @__PURE__ */ n(d, { children: [
149
150
  /* @__PURE__ */ e(t, { variant: "h5", sx: { fontSize: "18px", m: "1em 0" }, children: "Data Availability Statement (Required)" }),
150
151
  /* @__PURE__ */ e(t, { variant: "body1", sx: { mb: "1em" }, children: "This statement is required and automatically included in the compiled statement" }),
151
152
  /* @__PURE__ */ e(
152
153
  b,
153
154
  {
154
155
  ...c,
155
- setPlainTextResult: v,
156
+ setPlainTextResult: k,
156
157
  textDescription: "full statement",
157
158
  showCopyPlainText: !0
158
159
  }
@@ -162,11 +163,11 @@ function M(g) {
162
163
  }
163
164
  ),
164
165
  /* @__PURE__ */ e("hr", {}),
165
- /* @__PURE__ */ e(t, { variant: "h5", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 3, style: { paddingInlineStart: "25px" }, children: /* @__PURE__ */ e("li", { children: "Create a DOI for your dataset" }) }) }),
166
+ /* @__PURE__ */ e(t, { variant: "h5", component: "div", sx: { fontWeight: "bold" }, children: /* @__PURE__ */ e("ol", { start: 3, style: { paddingInlineStart: "25px" }, children: /* @__PURE__ */ e("li", { children: "Create a DOI for your dataset" }) }) }),
166
167
  /* @__PURE__ */ e("hr", {}),
167
168
  /* @__PURE__ */ e(t, { variant: "body1", sx: { mb: "1em" }, children: "A digital object identifier (DOI) provides a persistent identifier that allows readers to find the data cited in your publication. Creating a DOI in the Synapse platform is free and required as part of the data availability statement." }),
168
- /* @__PURE__ */ a(
169
- p,
169
+ /* @__PURE__ */ n(
170
+ u,
170
171
  {
171
172
  variant: "outlined",
172
173
  href: l,
@@ -186,8 +187,8 @@ function M(g) {
186
187
  onClose: S,
187
188
  createDoiHelpUrl: l,
188
189
  portalAcknowledgement: y,
189
- dataAvailabilityStatement: k,
190
- studyAcknowledgements: n
190
+ dataAvailabilityStatement: v,
191
+ studyAcknowledgements: a
191
192
  }
192
193
  )
193
194
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"AcknowledgementsPage.js","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"sourcesContent":["import { Box, Button, Container, Link, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport { ReactComponent as AcknowledgementStatementsIllustration } from '../../assets/illustrations/acknowledgement_statements_illustration.svg'\nimport TextToComponentCollapse from '../TextToComponentCollapse'\nimport AcknowledgementsDialog from './AcknowledgementsDialog'\nimport { MarkdownSynapseProps } from '../Markdown/MarkdownSynapse'\nimport MarkdownCollapse from '../Markdown/MarkdownCollapse'\nimport { StudyAcknowledgements } from './StudyAcknowledgements'\nimport { LaunchTwoTone } from '@mui/icons-material'\nexport type AcknowledgementPageProps = {\n portalName: string\n createDoiHelpUrl: string\n portalAcknowledgementProps?: MarkdownSynapseProps\n dataAvailabilityProps?: MarkdownSynapseProps\n studyAcknowledgementSql: string\n}\n\nexport type AcknowledgementItem = {\n title: string\n statement: string\n}\n\nexport function AcknowledgementPage(props: AcknowledgementPageProps) {\n const {\n portalName,\n createDoiHelpUrl,\n portalAcknowledgementProps,\n dataAvailabilityProps,\n studyAcknowledgementSql,\n } = props\n const [isAcknowledgementsDialogOpen, setAcknowledgementsDialogOpen] =\n useState<boolean>(false)\n\n const [portalAcknowledgement, setPortalAcknowledgement] = useState<string>()\n const [dataAvailabilityStatement, setDataAvailabilityStatement] =\n useState<string>()\n const [acknowledgementItems, setAcknowledgementItems] = useState<\n AcknowledgementItem[]\n >([])\n const handleCloseDialog = useCallback(\n () => setAcknowledgementsDialogOpen(false),\n [],\n )\n return (\n <>\n <Container maxWidth={'lg'} sx={{ mt: '2em', mb: '2em' }}>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to acknowledge data from this portal\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The data available in the {portalName} would not be possible without\n the participation of research volunteers and the contribution of data\n by collaborating researchers. All use of data from the {portalName}{' '}\n must be acknowledged and referenced appropriately.\n </Typography>\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n All publications using {portalName} data must include the provided\n statements:\n </Typography>\n <Box sx={{ mb: '2em', svg: { maxWidth: '100%' } }}>\n <AcknowledgementStatementsIllustration />\n </Box>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to use this page:\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '.5em' }}>\n This page will guide you through creating the acknowledgement\n statements required when publishing with {portalName} data.\n </Typography>\n <Typography\n variant=\"body1\"\n sx={{\n mb: '2em',\n '& li::marker': {\n fontWeight: 'bold', // bold the number\n },\n }}\n >\n <ol>\n <li>\n <strong>Select study acknowledgement statements</strong>\n <br />\n From the list below, select all the studies whose data you used.\n Each study has a pre-written acknowledgement statement that must\n be included in your publication.\n </li>\n <li>\n <strong>Generate compiled statement</strong>\n <br />\n Click the Generate Compiled Statement button at the bottom of the\n page. This will compile:\n <ul>\n <li>The Portal Acknowledgement Statement</li>\n <li>The acknowledgement(s) for the studies you selected</li>\n <li>A template data availability statement</li>\n </ul>\n <i>\n Important: You will need to edit the compiled statement to add a\n brief description of the data used in your manuscript and a DOI\n that points to your dataset.\n </i>\n </li>\n <li>\n <strong>Create a DOI for your dataset</strong>\n <br />\n As part of the data availability statement, you will need to\n create a dataset that captures all files used in your publication\n and mint the dataset with a persistent Digital Object Identifier\n (DOI). For more instructions read&nbsp;\n <Link\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to get a DOI for your Publication\n </Link>\n </li>\n </ol>\n </Typography>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={1} style={{ paddingInlineStart: '20px' }}>\n <li>Select study acknowledgement statements</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\">\n From the list below, select all studies whose data you used. Each\n study has a pre-written acknowledgement statement that must be\n included in your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '2em' }}>\n You can also expand each section for detailed information or click\n \"Copy full statement to clipboard\" to save the text.\n </Typography>\n <StudyAcknowledgements\n sql={studyAcknowledgementSql}\n onSelectChange={(item, checked) => {\n if (checked) {\n // add\n acknowledgementItems.push(item)\n } else {\n // remove\n const index = acknowledgementItems.findIndex(\n i => i.title === item.title && i.statement === item.statement,\n )\n if (index > -1) {\n acknowledgementItems.splice(index, 1)\n }\n }\n setAcknowledgementItems([...acknowledgementItems])\n }}\n />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={2} style={{ paddingInlineStart: '25px' }}>\n <li>Generate compiled statement</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n Click to generate a compiled statement for your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The generated text will include your selected study acknowledgement\n statements and all other required statements listed below.\n </Typography>\n <Button\n variant=\"contained\"\n onClick={() => setAcknowledgementsDialogOpen(true)}\n sx={{ mb: '3em' }}\n >\n Generate compiled statement\n </Button>\n <TextToComponentCollapse\n text={'Click to see other text included in the compiled statement'}\n textVariant=\"h5\"\n textSx={{ fontSize: '16px', fontWeight: 'bold' }}\n textContainerSx={{ backgroundColor: 'unset', p: 0 }}\n collapseBoxSx={{ backgroundColor: 'unset', p: '20px 0px' }}\n iconSx={{ width: '20px', height: '20px' }}\n >\n {portalAcknowledgementProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', mb: '1em' }}>\n Portal Acknowledgement Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...portalAcknowledgementProps}\n setPlainTextResult={setPortalAcknowledgement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n {dataAvailabilityProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', m: '1em 0' }}>\n Data Availability Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...dataAvailabilityProps}\n setPlainTextResult={setDataAvailabilityStatement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n </TextToComponentCollapse>\n <hr />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={3} style={{ paddingInlineStart: '25px' }}>\n <li>Create a DOI for your dataset</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n A digital object identifier (DOI) provides a persistent identifier\n that allows readers to find the data cited in your publication.\n Creating a DOI in the Synapse platform is free and required as part of\n the data availability statement.\n </Typography>\n\n <Button\n variant=\"outlined\"\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <LaunchTwoTone sx={{ mr: '0.5em' }} />\n Learn how to get a DOI for your publication\n </Button>\n </Container>\n\n <AcknowledgementsDialog\n open={isAcknowledgementsDialogOpen}\n onClose={handleCloseDialog}\n createDoiHelpUrl={createDoiHelpUrl}\n portalAcknowledgement={portalAcknowledgement}\n dataAvailabilityStatement={dataAvailabilityStatement}\n studyAcknowledgements={acknowledgementItems}\n />\n </>\n )\n}\n\nexport default AcknowledgementPage\n"],"names":["AcknowledgementPage","props","portalName","createDoiHelpUrl","portalAcknowledgementProps","dataAvailabilityProps","studyAcknowledgementSql","isAcknowledgementsDialogOpen","setAcknowledgementsDialogOpen","useState","portalAcknowledgement","setPortalAcknowledgement","dataAvailabilityStatement","setDataAvailabilityStatement","acknowledgementItems","setAcknowledgementItems","handleCloseDialog","useCallback","jsxs","Fragment","Container","jsx","Typography","Box","AcknowledgementStatementsIllustration","Link","StudyAcknowledgements","item","checked","index","i","Button","TextToComponentCollapse","MarkdownCollapse","LaunchTwoTone","AcknowledgementsDialog"],"mappings":"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"}
1
+ {"version":3,"file":"AcknowledgementsPage.js","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"sourcesContent":["import { Box, Button, Container, Link, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport { ReactComponent as AcknowledgementStatementsIllustration } from '../../assets/illustrations/acknowledgement_statements_illustration.svg'\nimport TextToComponentCollapse from '../TextToComponentCollapse'\nimport AcknowledgementsDialog from './AcknowledgementsDialog'\nimport { MarkdownSynapseProps } from '../Markdown/MarkdownSynapse'\nimport MarkdownCollapse from '../Markdown/MarkdownCollapse'\nimport { StudyAcknowledgements } from './StudyAcknowledgements'\nimport { LaunchTwoTone } from '@mui/icons-material'\nexport type AcknowledgementPageProps = {\n portalName: string\n createDoiHelpUrl: string\n portalAcknowledgementProps?: MarkdownSynapseProps\n dataAvailabilityProps?: MarkdownSynapseProps\n studyAcknowledgementSql: string\n}\n\nexport type AcknowledgementItem = {\n title: string\n statement: string\n}\n\nexport function AcknowledgementPage(props: AcknowledgementPageProps) {\n const {\n portalName,\n createDoiHelpUrl,\n portalAcknowledgementProps,\n dataAvailabilityProps,\n studyAcknowledgementSql,\n } = props\n const [isAcknowledgementsDialogOpen, setAcknowledgementsDialogOpen] =\n useState<boolean>(false)\n\n const [portalAcknowledgement, setPortalAcknowledgement] = useState<string>()\n const [dataAvailabilityStatement, setDataAvailabilityStatement] =\n useState<string>()\n const [acknowledgementItems, setAcknowledgementItems] = useState<\n AcknowledgementItem[]\n >([])\n const handleCloseDialog = useCallback(\n () => setAcknowledgementsDialogOpen(false),\n [],\n )\n return (\n <>\n <Container maxWidth={'lg'} sx={{ mt: '2em', mb: '2em' }}>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to acknowledge data from this portal\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The data available in the {portalName} would not be possible without\n the participation of research volunteers and the contribution of data\n by collaborating researchers. All use of data from the {portalName}{' '}\n must be acknowledged and referenced appropriately.\n </Typography>\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n All publications using {portalName} data must include the provided\n statements:\n </Typography>\n <Box sx={{ mb: '2em', svg: { maxWidth: '100%' } }}>\n <AcknowledgementStatementsIllustration />\n </Box>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to use this page:\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '.5em' }}>\n This page will guide you through creating the acknowledgement\n statements required when publishing with {portalName} data.\n </Typography>\n <Typography\n variant=\"body1\"\n component={'div'}\n sx={{\n mb: '2em',\n '& li::marker': {\n fontWeight: 'bold', // bold the number\n },\n }}\n >\n <ol>\n <li>\n <strong>Select study acknowledgement statements</strong>\n <br />\n From the list below, select all the studies whose data you used.\n Each study has a pre-written acknowledgement statement that must\n be included in your publication.\n </li>\n <li>\n <strong>Generate compiled statement</strong>\n <br />\n Click the Generate Compiled Statement button at the bottom of the\n page. This will compile:\n <ul>\n <li>The Portal Acknowledgement Statement</li>\n <li>The acknowledgement(s) for the studies you selected</li>\n <li>A template data availability statement</li>\n </ul>\n <i>\n Important: You will need to edit the compiled statement to add a\n brief description of the data used in your manuscript and a DOI\n that points to your dataset.\n </i>\n </li>\n <li>\n <strong>Create a DOI for your dataset</strong>\n <br />\n As part of the data availability statement, you will need to\n create a dataset that captures all files used in your publication\n and mint the dataset with a persistent Digital Object Identifier\n (DOI). For more instructions read&nbsp;\n <Link\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to get a DOI for your Publication\n </Link>\n </li>\n </ol>\n </Typography>\n <Typography component={'div'} variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={1} style={{ paddingInlineStart: '20px' }}>\n <li>Select study acknowledgement statements</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\">\n From the list below, select all studies whose data you used. Each\n study has a pre-written acknowledgement statement that must be\n included in your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '2em' }}>\n You can also expand each section for detailed information or click\n \"Copy full statement to clipboard\" to save the text.\n </Typography>\n <StudyAcknowledgements\n sql={studyAcknowledgementSql}\n onSelectChange={(item, checked) => {\n if (checked) {\n // add\n acknowledgementItems.push(item)\n } else {\n // remove\n const index = acknowledgementItems.findIndex(\n i => i.title === item.title && i.statement === item.statement,\n )\n if (index > -1) {\n acknowledgementItems.splice(index, 1)\n }\n }\n setAcknowledgementItems([...acknowledgementItems])\n }}\n />\n <Typography variant=\"h5\" component={'div'} sx={{ fontWeight: 'bold' }}>\n <ol start={2} style={{ paddingInlineStart: '25px' }}>\n <li>Generate compiled statement</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n Click to generate a compiled statement for your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The generated text will include your selected study acknowledgement\n statements and all other required statements listed below.\n </Typography>\n <Button\n variant=\"contained\"\n onClick={() => setAcknowledgementsDialogOpen(true)}\n sx={{ mb: '3em' }}\n >\n Generate compiled statement\n </Button>\n <TextToComponentCollapse\n text={'Click to see other text included in the compiled statement'}\n textVariant=\"h5\"\n textSx={{ fontSize: '16px', fontWeight: 'bold' }}\n textContainerSx={{ backgroundColor: 'unset', p: 0 }}\n collapseBoxSx={{ backgroundColor: 'unset', p: '20px 0px' }}\n iconSx={{ width: '20px', height: '20px' }}\n >\n {portalAcknowledgementProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', mb: '1em' }}>\n Portal Acknowledgement Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...portalAcknowledgementProps}\n setPlainTextResult={setPortalAcknowledgement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n {dataAvailabilityProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', m: '1em 0' }}>\n Data Availability Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...dataAvailabilityProps}\n setPlainTextResult={setDataAvailabilityStatement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n </TextToComponentCollapse>\n <hr />\n <Typography variant=\"h5\" component={'div'} sx={{ fontWeight: 'bold' }}>\n <ol start={3} style={{ paddingInlineStart: '25px' }}>\n <li>Create a DOI for your dataset</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n A digital object identifier (DOI) provides a persistent identifier\n that allows readers to find the data cited in your publication.\n Creating a DOI in the Synapse platform is free and required as part of\n the data availability statement.\n </Typography>\n\n <Button\n variant=\"outlined\"\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <LaunchTwoTone sx={{ mr: '0.5em' }} />\n Learn how to get a DOI for your publication\n </Button>\n </Container>\n\n <AcknowledgementsDialog\n open={isAcknowledgementsDialogOpen}\n onClose={handleCloseDialog}\n createDoiHelpUrl={createDoiHelpUrl}\n portalAcknowledgement={portalAcknowledgement}\n dataAvailabilityStatement={dataAvailabilityStatement}\n studyAcknowledgements={acknowledgementItems}\n />\n </>\n )\n}\n\nexport default AcknowledgementPage\n"],"names":["AcknowledgementPage","props","portalName","createDoiHelpUrl","portalAcknowledgementProps","dataAvailabilityProps","studyAcknowledgementSql","isAcknowledgementsDialogOpen","setAcknowledgementsDialogOpen","useState","portalAcknowledgement","setPortalAcknowledgement","dataAvailabilityStatement","setDataAvailabilityStatement","acknowledgementItems","setAcknowledgementItems","handleCloseDialog","useCallback","jsxs","Fragment","Container","jsx","Typography","Box","AcknowledgementStatementsIllustration","Link","StudyAcknowledgements","item","checked","index","i","Button","TextToComponentCollapse","MarkdownCollapse","LaunchTwoTone","AcknowledgementsDialog"],"mappings":"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"}
@@ -4,10 +4,10 @@ import { Box as t, Typography as n, Collapse as S, Button as k, Tooltip as D, Fo
4
4
  import { noop as X } from "lodash-es";
5
5
  import { TransitionGroup as j } from "react-transition-group";
6
6
  import b from "../IconSvg/IconSvg.js";
7
- import F from "../UserSearchBox/UserSearchBoxV2.js";
8
- import { AclEditorSkeleton as V } from "./AclEditorSkeleton.js";
9
- import { ResourceAccessItem as Y } from "./ResourceAccessItem.js";
10
- const H = "Add a user or team", z = "Make Public", K = "Remove Public Access", W = "Notify people via email";
7
+ import F from "../UserSearchBox/UserSearchBox.js";
8
+ import { AclEditorSkeleton as Y } from "./AclEditorSkeleton.js";
9
+ import { ResourceAccessItem as H } from "./ResourceAccessItem.js";
10
+ const V = "Add a user or team", z = "Make Public", K = "Remove Public Access", W = "Notify people via email";
11
11
  function te(v) {
12
12
  const {
13
13
  resourceAccessList: s,
@@ -35,7 +35,7 @@ function te(v) {
35
35
  R
36
36
  ].filter((i) => i !== void 0);
37
37
  if (x || g)
38
- return /* @__PURE__ */ e(V, {});
38
+ return /* @__PURE__ */ e(Y, {});
39
39
  const E = !!s.find(
40
40
  (i) => f.some((r) => i.principalId === Number(r))
41
41
  ) ? {
@@ -74,7 +74,7 @@ function te(v) {
74
74
  s.length === 0 ? /* @__PURE__ */ e(n, { variant: "body1Italic", children: C }) : /* @__PURE__ */ e(j, { children: s.map((i) => {
75
75
  const r = typeof o == "function" ? o(i) : o, N = typeof l == "function" ? l(i) : l, O = u ? u(i) : void 0;
76
76
  return /* @__PURE__ */ e(S, { children: /* @__PURE__ */ e(
77
- Y,
77
+ H,
78
78
  {
79
79
  resourceAccess: i,
80
80
  availablePermissionLevels: I,
@@ -123,7 +123,7 @@ function te(v) {
123
123
  component: "label",
124
124
  variant: "smallText2",
125
125
  htmlFor: "reviewer-search",
126
- children: H
126
+ children: V
127
127
  }
128
128
  ),
129
129
  /* @__PURE__ */ e(
@@ -184,7 +184,7 @@ function te(v) {
184
184
  ] });
185
185
  }
186
186
  export {
187
- H as ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL,
187
+ V as ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL,
188
188
  z as ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT,
189
189
  te as AclEditor,
190
190
  W as NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL,
@@ -1 +1 @@
1
- {"version":3,"file":"AclEditor.js","sources":["../../../src/components/AclEditor/AclEditor.tsx"],"sourcesContent":["import { PermissionLevel } from '@/utils/PermissionLevelToAccessType'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport {\n Box,\n Button,\n ButtonProps,\n Checkbox,\n Collapse,\n FormControlLabel,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport { ResourceAccess } from '@sage-bionetworks/synapse-types'\nimport { noop } from 'lodash-es'\nimport React, { ReactNode } from 'react'\nimport { TransitionGroup } from 'react-transition-group'\nimport IconSvg from '../IconSvg'\nimport UserSearchBoxV2 from '../UserSearchBox/UserSearchBoxV2'\nimport { AclEditorSkeleton } from './AclEditorSkeleton'\nimport { ResourceAccessItem } from './ResourceAccessItem'\nimport useUpdateAcl from './useUpdateAcl'\n\nexport const ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL = 'Add a user or team'\nexport const ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT = 'Make Public'\nexport const REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT = 'Remove Public Access'\n\nexport type AclEditorProps = {\n resourceAccessList: ResourceAccess[]\n availablePermissionLevels: PermissionLevel[]\n /** If true, the user can edit the ACL. If a function, it will be called with the ResourceAccess to determine if the user can edit it. */\n canEdit: boolean | ((resourceAccess: ResourceAccess) => boolean)\n /** If true, object ACL is inherited from another object */\n isInherited: boolean\n /**\n * If true, the user can remove any entry from the ACL. a function, it will be called with the ResourceAccess to determine if the user can remove it.\n * If undefined, then the behavior will fall back to the value of `canEdit`\n */\n canRemoveEntry?: boolean | ((resourceAccess: ResourceAccess) => boolean)\n isLoading?: boolean\n emptyText: ReactNode\n onAddPrincipalToAcl: (id: number) => void\n updateResourceAccessItem: ReturnType<\n typeof useUpdateAcl\n >['updateResourceAccessItem']\n removeResourceAccessItem: ReturnType<\n typeof useUpdateAcl\n >['removeResourceAccessItem']\n /** If true, shows a button to add/remove AUTHENTICATED and PUBLIC groups when in edit mode */\n showAddRemovePublicButton: boolean\n /** If present, a checkbox to notify those added to the email will be shown. */\n showNotifyCheckbox: boolean\n notifyCheckboxValue?: boolean\n onNotifyCheckboxChange?: (checked: boolean) => void\n /**\n * In special cases, can be used to display a permission level that is different from the typical permission levels.\n * For example, the PUBLIC group \"Can download\" an entity if they have READ access and the entity is marked as\n * \"open data\" (open data status is not captured in the ResourceAccess)\n */\n displayedPermissionLevelOverride?: (\n resourceAccess: ResourceAccess,\n ) => string | undefined\n}\n\nexport const NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL = 'Notify people via email'\n\nexport function AclEditor(props: AclEditorProps): React.ReactNode {\n const {\n resourceAccessList,\n availablePermissionLevels,\n canEdit,\n isInherited,\n canRemoveEntry = canEdit,\n isLoading = false,\n emptyText,\n onAddPrincipalToAcl,\n updateResourceAccessItem,\n removeResourceAccessItem,\n showAddRemovePublicButton,\n showNotifyCheckbox,\n notifyCheckboxValue,\n onNotifyCheckboxChange = noop,\n displayedPermissionLevelOverride,\n } = props\n\n const { data, isLoading: isLoadingRealmPrincipals } = useGetRealmPrincipals()\n const realmPrincipals = data || {}\n const {\n authenticatedUsers: authenticatedUsersId,\n publicGroup: publicGroupId,\n anonymousUser: anonymousUserId,\n } = realmPrincipals\n\n const publicPrincipalIds = [\n authenticatedUsersId,\n publicGroupId,\n anonymousUserId,\n ].filter((id): id is string => id !== undefined)\n\n if (isLoading || isLoadingRealmPrincipals) {\n return <AclEditorSkeleton />\n }\n\n const resourceAccessListCurrentlyIncludesPublic = Boolean(\n resourceAccessList.find(resourceAccess =>\n publicPrincipalIds.some(id => resourceAccess.principalId === Number(id)),\n ),\n )\n\n const addOrRemovePublicButtonProps: ButtonProps =\n resourceAccessListCurrentlyIncludesPublic\n ? {\n startIcon: <IconSvg icon={'close'} wrap={false} />,\n children: REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT,\n onClick: () => {\n publicPrincipalIds.forEach(publicId => {\n removeResourceAccessItem(Number(publicId))\n })\n },\n }\n : {\n startIcon: <IconSvg icon={'public'} wrap={false} />,\n children: ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT,\n onClick: () => {\n if (publicGroupId) onAddPrincipalToAcl(Number(publicGroupId))\n if (authenticatedUsersId)\n onAddPrincipalToAcl(Number(authenticatedUsersId))\n },\n }\n\n return (\n <Box>\n <Box\n sx={{\n mb: '30px',\n }}\n >\n <Typography\n variant=\"headline3\"\n sx={{\n mb: '10px',\n }}\n >\n Users and Teams with Permissions\n </Typography>\n\n {resourceAccessList.length === 0 ? (\n <Typography variant=\"body1Italic\">{emptyText}</Typography>\n ) : (\n <TransitionGroup>\n {resourceAccessList.map(resourceAccess => {\n const canChangePermission =\n typeof canEdit === 'function'\n ? canEdit(resourceAccess)\n : canEdit\n const canDelete =\n typeof canRemoveEntry === 'function'\n ? canRemoveEntry(resourceAccess)\n : canRemoveEntry\n\n const permissionLevelOverride = displayedPermissionLevelOverride\n ? displayedPermissionLevelOverride(resourceAccess)\n : undefined\n return (\n <Collapse key={resourceAccess.principalId}>\n <ResourceAccessItem\n resourceAccess={resourceAccess}\n availablePermissionLevels={availablePermissionLevels}\n canChangePermission={canChangePermission}\n displayedPermissionLevelOverride={permissionLevelOverride}\n showDeleteButton={canDelete}\n onChange={accessType =>\n updateResourceAccessItem(\n resourceAccess.principalId,\n accessType,\n )\n }\n onRemove={() =>\n removeResourceAccessItem(resourceAccess.principalId)\n }\n />\n </Collapse>\n )\n })}\n </TransitionGroup>\n )}\n </Box>\n {canEdit && (\n <Box>\n <Typography\n variant=\"headline3\"\n sx={{\n mb: '10px',\n }}\n >\n Add More\n </Typography>\n <Typography\n sx={{\n mb: '20px',\n variant: 'body1',\n lineHeight: '20px',\n fontStyle: 'italic',\n color: 'text.secondary',\n }}\n >\n Search for a username or team to add. You can search by username,\n first or last names, or team name.\n </Typography>\n <Box sx={{ mb: 1 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-search\"\n >\n {ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL}\n </Typography>\n <UserSearchBoxV2\n value={null}\n inputId=\"reviewer-search\"\n placeholder=\"Username, name (first and last) or team name.\"\n onChange={id => {\n const parsedId = parseInt(id || '')\n if (parsedId) {\n onAddPrincipalToAcl(parsedId)\n }\n }}\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n gap: 2,\n }}\n >\n <Box>\n {showAddRemovePublicButton && (\n <Button\n size={'small'}\n variant={'outlined'}\n {...addOrRemovePublicButtonProps}\n />\n )}\n </Box>\n {showNotifyCheckbox && (\n <Tooltip\n title={\n 'Select to notify newly added people that this item has been shared with them'\n }\n >\n <FormControlLabel\n sx={{ mr: 0 }}\n control={\n <Checkbox\n value={notifyCheckboxValue}\n onChange={() =>\n onNotifyCheckboxChange(!notifyCheckboxValue)\n }\n />\n }\n label={\n <Typography variant={'smallText1'}>\n {NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL}\n </Typography>\n }\n />\n </Tooltip>\n )}\n </Box>\n </Box>\n )}\n {!canEdit && !isInherited && (\n <Typography variant={'body1'}>\n You do not have sufficient privileges to modify the sharing settings.\n </Typography>\n )}\n </Box>\n )\n}\n"],"names":["ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL","ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT","REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT","NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL","AclEditor","props","resourceAccessList","availablePermissionLevels","canEdit","isInherited","canRemoveEntry","isLoading","emptyText","onAddPrincipalToAcl","updateResourceAccessItem","removeResourceAccessItem","showAddRemovePublicButton","showNotifyCheckbox","notifyCheckboxValue","onNotifyCheckboxChange","noop","displayedPermissionLevelOverride","data","isLoadingRealmPrincipals","useGetRealmPrincipals","realmPrincipals","authenticatedUsersId","publicGroupId","anonymousUserId","publicPrincipalIds","id","AclEditorSkeleton","addOrRemovePublicButtonProps","resourceAccess","jsx","IconSvg","publicId","Box","jsxs","Typography","TransitionGroup","canChangePermission","canDelete","permissionLevelOverride","Collapse","ResourceAccessItem","accessType","UserSearchBoxV2","parsedId","Button","Tooltip","FormControlLabel","Checkbox"],"mappings":"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"}
1
+ {"version":3,"file":"AclEditor.js","sources":["../../../src/components/AclEditor/AclEditor.tsx"],"sourcesContent":["import { PermissionLevel } from '@/utils/PermissionLevelToAccessType'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport {\n Box,\n Button,\n ButtonProps,\n Checkbox,\n Collapse,\n FormControlLabel,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport { ResourceAccess } from '@sage-bionetworks/synapse-types'\nimport { noop } from 'lodash-es'\nimport React, { ReactNode } from 'react'\nimport { TransitionGroup } from 'react-transition-group'\nimport IconSvg from '../IconSvg'\nimport UserSearchBox from '../UserSearchBox/UserSearchBox'\nimport { AclEditorSkeleton } from './AclEditorSkeleton'\nimport { ResourceAccessItem } from './ResourceAccessItem'\nimport useUpdateAcl from './useUpdateAcl'\n\nexport const ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL = 'Add a user or team'\nexport const ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT = 'Make Public'\nexport const REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT = 'Remove Public Access'\n\nexport type AclEditorProps = {\n resourceAccessList: ResourceAccess[]\n availablePermissionLevels: PermissionLevel[]\n /** If true, the user can edit the ACL. If a function, it will be called with the ResourceAccess to determine if the user can edit it. */\n canEdit: boolean | ((resourceAccess: ResourceAccess) => boolean)\n /** If true, object ACL is inherited from another object */\n isInherited: boolean\n /**\n * If true, the user can remove any entry from the ACL. a function, it will be called with the ResourceAccess to determine if the user can remove it.\n * If undefined, then the behavior will fall back to the value of `canEdit`\n */\n canRemoveEntry?: boolean | ((resourceAccess: ResourceAccess) => boolean)\n isLoading?: boolean\n emptyText: ReactNode\n onAddPrincipalToAcl: (id: number) => void\n updateResourceAccessItem: ReturnType<\n typeof useUpdateAcl\n >['updateResourceAccessItem']\n removeResourceAccessItem: ReturnType<\n typeof useUpdateAcl\n >['removeResourceAccessItem']\n /** If true, shows a button to add/remove AUTHENTICATED and PUBLIC groups when in edit mode */\n showAddRemovePublicButton: boolean\n /** If present, a checkbox to notify those added to the email will be shown. */\n showNotifyCheckbox: boolean\n notifyCheckboxValue?: boolean\n onNotifyCheckboxChange?: (checked: boolean) => void\n /**\n * In special cases, can be used to display a permission level that is different from the typical permission levels.\n * For example, the PUBLIC group \"Can download\" an entity if they have READ access and the entity is marked as\n * \"open data\" (open data status is not captured in the ResourceAccess)\n */\n displayedPermissionLevelOverride?: (\n resourceAccess: ResourceAccess,\n ) => string | undefined\n}\n\nexport const NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL = 'Notify people via email'\n\nexport function AclEditor(props: AclEditorProps): React.ReactNode {\n const {\n resourceAccessList,\n availablePermissionLevels,\n canEdit,\n isInherited,\n canRemoveEntry = canEdit,\n isLoading = false,\n emptyText,\n onAddPrincipalToAcl,\n updateResourceAccessItem,\n removeResourceAccessItem,\n showAddRemovePublicButton,\n showNotifyCheckbox,\n notifyCheckboxValue,\n onNotifyCheckboxChange = noop,\n displayedPermissionLevelOverride,\n } = props\n\n const { data, isLoading: isLoadingRealmPrincipals } = useGetRealmPrincipals()\n const realmPrincipals = data || {}\n const {\n authenticatedUsers: authenticatedUsersId,\n publicGroup: publicGroupId,\n anonymousUser: anonymousUserId,\n } = realmPrincipals\n\n const publicPrincipalIds = [\n authenticatedUsersId,\n publicGroupId,\n anonymousUserId,\n ].filter((id): id is string => id !== undefined)\n\n if (isLoading || isLoadingRealmPrincipals) {\n return <AclEditorSkeleton />\n }\n\n const resourceAccessListCurrentlyIncludesPublic = Boolean(\n resourceAccessList.find(resourceAccess =>\n publicPrincipalIds.some(id => resourceAccess.principalId === Number(id)),\n ),\n )\n\n const addOrRemovePublicButtonProps: ButtonProps =\n resourceAccessListCurrentlyIncludesPublic\n ? {\n startIcon: <IconSvg icon={'close'} wrap={false} />,\n children: REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT,\n onClick: () => {\n publicPrincipalIds.forEach(publicId => {\n removeResourceAccessItem(Number(publicId))\n })\n },\n }\n : {\n startIcon: <IconSvg icon={'public'} wrap={false} />,\n children: ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT,\n onClick: () => {\n if (publicGroupId) onAddPrincipalToAcl(Number(publicGroupId))\n if (authenticatedUsersId)\n onAddPrincipalToAcl(Number(authenticatedUsersId))\n },\n }\n\n return (\n <Box>\n <Box\n sx={{\n mb: '30px',\n }}\n >\n <Typography\n variant=\"headline3\"\n sx={{\n mb: '10px',\n }}\n >\n Users and Teams with Permissions\n </Typography>\n\n {resourceAccessList.length === 0 ? (\n <Typography variant=\"body1Italic\">{emptyText}</Typography>\n ) : (\n <TransitionGroup>\n {resourceAccessList.map(resourceAccess => {\n const canChangePermission =\n typeof canEdit === 'function'\n ? canEdit(resourceAccess)\n : canEdit\n const canDelete =\n typeof canRemoveEntry === 'function'\n ? canRemoveEntry(resourceAccess)\n : canRemoveEntry\n\n const permissionLevelOverride = displayedPermissionLevelOverride\n ? displayedPermissionLevelOverride(resourceAccess)\n : undefined\n return (\n <Collapse key={resourceAccess.principalId}>\n <ResourceAccessItem\n resourceAccess={resourceAccess}\n availablePermissionLevels={availablePermissionLevels}\n canChangePermission={canChangePermission}\n displayedPermissionLevelOverride={permissionLevelOverride}\n showDeleteButton={canDelete}\n onChange={accessType =>\n updateResourceAccessItem(\n resourceAccess.principalId,\n accessType,\n )\n }\n onRemove={() =>\n removeResourceAccessItem(resourceAccess.principalId)\n }\n />\n </Collapse>\n )\n })}\n </TransitionGroup>\n )}\n </Box>\n {canEdit && (\n <Box>\n <Typography\n variant=\"headline3\"\n sx={{\n mb: '10px',\n }}\n >\n Add More\n </Typography>\n <Typography\n sx={{\n mb: '20px',\n variant: 'body1',\n lineHeight: '20px',\n fontStyle: 'italic',\n color: 'text.secondary',\n }}\n >\n Search for a username or team to add. You can search by username,\n first or last names, or team name.\n </Typography>\n <Box sx={{ mb: 1 }}>\n <Typography\n component=\"label\"\n variant=\"smallText2\"\n htmlFor=\"reviewer-search\"\n >\n {ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL}\n </Typography>\n <UserSearchBox\n value={null}\n inputId=\"reviewer-search\"\n placeholder=\"Username, name (first and last) or team name.\"\n onChange={id => {\n const parsedId = parseInt(id || '')\n if (parsedId) {\n onAddPrincipalToAcl(parsedId)\n }\n }}\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n gap: 2,\n }}\n >\n <Box>\n {showAddRemovePublicButton && (\n <Button\n size={'small'}\n variant={'outlined'}\n {...addOrRemovePublicButtonProps}\n />\n )}\n </Box>\n {showNotifyCheckbox && (\n <Tooltip\n title={\n 'Select to notify newly added people that this item has been shared with them'\n }\n >\n <FormControlLabel\n sx={{ mr: 0 }}\n control={\n <Checkbox\n value={notifyCheckboxValue}\n onChange={() =>\n onNotifyCheckboxChange(!notifyCheckboxValue)\n }\n />\n }\n label={\n <Typography variant={'smallText1'}>\n {NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL}\n </Typography>\n }\n />\n </Tooltip>\n )}\n </Box>\n </Box>\n )}\n {!canEdit && !isInherited && (\n <Typography variant={'body1'}>\n You do not have sufficient privileges to modify the sharing settings.\n </Typography>\n )}\n </Box>\n )\n}\n"],"names":["ADD_PRINCIPAL_TO_ACL_COMBOBOX_LABEL","ADD_PUBLIC_PRINCIPALS_BUTTON_TEXT","REMOVE_PUBLIC_PRINCIPALS_BUTTON_TEXT","NOTIFY_NEW_ACL_USERS_CHECKBOX_LABEL","AclEditor","props","resourceAccessList","availablePermissionLevels","canEdit","isInherited","canRemoveEntry","isLoading","emptyText","onAddPrincipalToAcl","updateResourceAccessItem","removeResourceAccessItem","showAddRemovePublicButton","showNotifyCheckbox","notifyCheckboxValue","onNotifyCheckboxChange","noop","displayedPermissionLevelOverride","data","isLoadingRealmPrincipals","useGetRealmPrincipals","realmPrincipals","authenticatedUsersId","publicGroupId","anonymousUserId","publicPrincipalIds","id","AclEditorSkeleton","addOrRemovePublicButtonProps","resourceAccess","jsx","IconSvg","publicId","Box","jsxs","Typography","TransitionGroup","canChangePermission","canDelete","permissionLevelOverride","Collapse","ResourceAccessItem","accessType","UserSearchBox","parsedId","Button","Tooltip","FormControlLabel","Checkbox"],"mappings":"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"}