synapse-react-client 4.0.2 → 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 (525) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/AwardScroll.d.ts +5 -0
  3. package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
  4. package/dist/assets/icons/AwardScroll.js +78 -0
  5. package/dist/assets/icons/AwardScroll.js.map +1 -0
  6. package/dist/assets/icons/Baseline.d.ts +5 -0
  7. package/dist/assets/icons/Baseline.d.ts.map +1 -0
  8. package/dist/assets/icons/Baseline.js +43 -0
  9. package/dist/assets/icons/Baseline.js.map +1 -0
  10. package/dist/assets/icons/Challenge.svg +13 -0
  11. package/dist/assets/icons/Challenge.svg.js +7 -0
  12. package/dist/assets/icons/Challenge.svg.js.map +1 -0
  13. package/dist/assets/icons/ClappingHands.d.ts +5 -0
  14. package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
  15. package/dist/assets/icons/ClappingHands.js +106 -0
  16. package/dist/assets/icons/ClappingHands.js.map +1 -0
  17. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  18. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  19. package/dist/assets/icons/HandWithMoney.js +15 -0
  20. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  21. package/dist/assets/icons/MultiFile.d.ts +5 -0
  22. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  23. package/dist/assets/icons/MultiFile.js +8 -0
  24. package/dist/assets/icons/MultiFile.js.map +1 -0
  25. package/dist/assets/icons/MultiFile.svg +4 -0
  26. package/dist/assets/icons/MultiFile.svg.js +7 -0
  27. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  28. package/dist/assets/icons/OpenBook.d.ts +5 -0
  29. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  30. package/dist/assets/icons/OpenBook.js +99 -0
  31. package/dist/assets/icons/OpenBook.js.map +1 -0
  32. package/dist/assets/icons/Podium.d.ts +5 -0
  33. package/dist/assets/icons/Podium.d.ts.map +1 -0
  34. package/dist/assets/icons/Podium.js +36 -0
  35. package/dist/assets/icons/Podium.js.map +1 -0
  36. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  37. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.js +36 -0
  39. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  40. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  41. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  42. package/dist/assets/icons/StarTrophy.js +99 -0
  43. package/dist/assets/icons/StarTrophy.js.map +1 -0
  44. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  45. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  46. package/dist/assets/icons/ThreeStars.js +71 -0
  47. package/dist/assets/icons/ThreeStars.js.map +1 -0
  48. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  49. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.js +8 -0
  51. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  53. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  54. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  55. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  56. package/dist/assets/mui_components/PackagableFile.js +5 -4
  57. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  59. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  60. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  61. package/dist/assets/themed_icons/index.d.ts +1 -2
  62. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  63. package/dist/assets/themed_icons/index.js +8 -10
  64. package/dist/assets/themed_icons/index.js.map +1 -1
  65. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  66. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  72. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  73. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  74. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  75. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  76. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
  77. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  78. package/dist/components/AclEditor/AclEditor.js +8 -8
  79. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  80. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  81. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  82. package/dist/components/AddToDownloadListV2.js +10 -10
  83. package/dist/components/AddToDownloadListV2.js.map +1 -1
  84. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  86. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  87. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  88. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  89. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  90. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  91. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  92. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  93. package/dist/components/BasePortalCard/BasePortalCard.module.scss +13 -1
  94. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  95. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  96. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  97. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
  98. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  99. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
  100. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
  101. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  102. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  103. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  104. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  105. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  106. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  107. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  108. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  109. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  110. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  111. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  112. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  113. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  114. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  115. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  116. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  117. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  118. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  119. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  120. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  121. package/dist/components/ComponentCollapse.d.ts +6 -10
  122. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  123. package/dist/components/ComponentCollapse.js +31 -35
  124. package/dist/components/ComponentCollapse.js.map +1 -1
  125. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  126. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
  127. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  128. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
  129. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  130. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  131. package/dist/components/DataGrid/SynapseGrid.js +43 -38
  132. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  133. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
  134. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  135. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  136. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  137. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  138. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  139. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  140. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  141. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  142. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  143. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  144. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  145. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  146. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  147. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  148. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  149. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  150. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  151. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  152. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  153. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  154. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  155. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  156. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  157. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  158. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  159. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  160. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  161. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  162. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  163. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  164. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  165. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  166. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  167. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  168. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  169. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  170. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  171. package/dist/components/Ecosystem/EcosystemSkeleton.js +10 -5
  172. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  173. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  174. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  175. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  176. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  179. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
  183. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  184. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  185. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  186. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  187. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  188. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  189. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  190. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  191. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  192. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  196. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  197. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  198. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  199. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  200. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  201. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  202. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  203. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  204. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  205. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  206. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  207. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  208. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  209. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  210. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  211. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  212. package/dist/components/FilePreview/EntityPreview.js +1 -1
  213. package/dist/components/Forum/DiscussionReply.js +10 -10
  214. package/dist/components/Forum/DiscussionThread.js +21 -21
  215. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  216. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  217. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  218. package/dist/components/GenericCard/CardUtils.js +36 -36
  219. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  220. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  221. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  222. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  223. package/dist/components/GenericCard/GenericCard.js +117 -103
  224. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  225. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  226. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  227. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  228. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  229. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  230. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  231. package/dist/components/GenericCard/SynapseCardLabel.js +95 -85
  232. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  233. package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
  234. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  235. package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
  236. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  237. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  238. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  239. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  240. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  241. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  242. package/dist/components/HasAccess/useHasAccess.js +1 -1
  243. package/dist/components/HeaderCard.js +17 -13
  244. package/dist/components/HeaderCard.js.map +1 -1
  245. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  246. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  247. package/dist/components/Icon/Icon.js +52 -52
  248. package/dist/components/Icon/Icon.js.map +1 -1
  249. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  250. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  251. package/dist/components/IconSvg/IconSvg.js +215 -171
  252. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  253. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  254. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  255. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  256. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  257. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  258. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  259. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  260. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  261. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  262. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  263. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  264. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  265. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  266. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  267. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  268. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  269. package/dist/components/Markdown/UserMentionModal.js +18 -18
  270. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  271. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  272. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  273. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  274. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  275. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  276. package/dist/components/Plot/SynapsePlot.css +1 -0
  277. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  278. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  279. package/dist/components/Plot/SynapsePlot.js +43 -39
  280. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  281. package/dist/components/Plot/SynapsePlot.scss +8 -0
  282. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  283. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  284. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  285. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +137 -135
  286. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  287. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  288. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  289. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  290. package/dist/components/Resources/Resources.Desktop.js +7 -7
  291. package/dist/components/Resources/Resources.Mobile.js +6 -6
  292. package/dist/components/StorybookComponentWrapper.js +6 -3
  293. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  294. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  295. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  296. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  297. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  298. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  299. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  300. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  301. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  302. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  303. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  304. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  305. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  306. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  307. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  308. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  309. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  310. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  311. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  312. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  313. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  314. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  315. package/dist/components/SynapseChat/index.d.ts +2 -0
  316. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  317. package/dist/components/SynapseChat/index.js +5 -3
  318. package/dist/components/SynapseChat/index.js.map +1 -1
  319. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  320. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  321. package/dist/components/SynapseChat/useChatState.js +10 -7
  322. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  323. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  324. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  325. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  326. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  327. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  328. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
  329. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  330. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  331. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  332. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
  333. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  334. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  335. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  336. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  337. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  338. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  339. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  340. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  341. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  342. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  343. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  344. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  345. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  346. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  347. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  348. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  349. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  350. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  351. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  352. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  353. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  354. package/dist/components/TextToComponentCollapse.js +29 -0
  355. package/dist/components/TextToComponentCollapse.js.map +1 -0
  356. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  357. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  358. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  359. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  360. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  361. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  362. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  363. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  364. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  365. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  366. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  367. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  368. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  369. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  370. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  371. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  372. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  373. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
  374. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  375. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  376. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  377. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  378. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  379. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  380. package/dist/components/entity/metadata/EntityModal.js +1 -1
  381. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  382. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  383. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  384. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  385. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  386. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  387. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  388. package/dist/components/index.js +125 -121
  389. package/dist/components/index.js.map +1 -1
  390. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  391. package/dist/components/row_renderers/ObservationCard.js +12 -11
  392. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  393. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  394. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  395. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  396. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  397. package/dist/components/styled/HoverPopover.css +1 -0
  398. package/dist/components/styled/HoverPopover.d.ts +28 -0
  399. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  400. package/dist/components/styled/HoverPopover.js +103 -0
  401. package/dist/components/styled/HoverPopover.js.map +1 -0
  402. package/dist/components/styled/HoverPopover.module.scss +9 -0
  403. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  404. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  405. package/dist/components/styled/index.d.ts +2 -0
  406. package/dist/components/styled/index.d.ts.map +1 -1
  407. package/dist/components/styled/index.js +11 -9
  408. package/dist/components/styled/index.js.map +1 -1
  409. package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
  410. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  411. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
  412. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  413. package/dist/components/widgets/Range.js +1 -1
  414. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  415. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  416. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  417. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  418. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  419. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  420. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  421. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  422. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  423. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  424. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  425. package/dist/features/curator/GridPage/GridPage.js +10 -5
  426. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  427. package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
  428. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  429. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  430. package/dist/index.js +155 -151
  431. package/dist/index.js.map +1 -1
  432. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  433. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  434. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  435. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  436. package/dist/mocks/msw/handlers.js +67 -59
  437. package/dist/mocks/msw/handlers.js.map +1 -1
  438. package/dist/style/base/_core.scss +0 -1
  439. package/dist/style/components/_all.scss +0 -2
  440. package/dist/style/components/_cards.scss +22 -0
  441. package/dist/style/components/_download-list-v2.scss +1 -1
  442. package/dist/style/components/_entity-badge.scss +0 -2
  443. package/dist/style/components/_expandable_table_data.scss +3 -3
  444. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  445. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  446. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  447. package/dist/style/main.css +1 -1
  448. package/dist/synapse-client/SynapseClient.js +118 -118
  449. package/dist/synapse-client/SynapseClient.js.map +1 -1
  450. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  451. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  452. package/dist/synapse-queries/entity/index.js +6 -6
  453. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  454. package/dist/synapse-queries/index.js +1 -1
  455. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  456. package/dist/testutils/vitest.setup.js +10 -11
  457. package/dist/testutils/vitest.setup.js.map +1 -1
  458. package/dist/theme/DefaultTheme.js +1 -1
  459. package/dist/theme/ThemeProvider.d.ts +2 -1
  460. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  461. package/dist/theme/ThemeProvider.js +11 -10
  462. package/dist/theme/ThemeProvider.js.map +1 -1
  463. package/dist/theme/index.js +1 -1
  464. package/dist/theme/mergeTheme.js +1 -1
  465. package/dist/tsconfig.build.tsbuildinfo +1 -1
  466. package/dist/utils/AppUtils/AppUtils.js +1 -1
  467. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  468. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  469. package/dist/utils/context/FullContextProvider.js +9 -9
  470. package/dist/utils/context/FullContextProvider.js.map +1 -1
  471. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  472. package/dist/utils/context/SynapseContext.js +1 -0
  473. package/dist/utils/context/SynapseContext.js.map +1 -1
  474. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  475. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  476. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  477. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  478. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  479. package/dist/utils/functions/SqlFunctions.js +25 -23
  480. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  481. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  482. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  483. package/dist/utils/hooks/index.js +6 -6
  484. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  485. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  486. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  487. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  488. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  489. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  490. package/dist/utils/hooks/useOneSageURL.js +15 -15
  491. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  492. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  493. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  494. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  495. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  496. package/dist/utils/index.js +4 -4
  497. package/package.json +15 -16
  498. package/dist/_virtual/index.js +0 -6
  499. package/dist/_virtual/index.js.map +0 -1
  500. package/dist/_virtual/index2.js +0 -5
  501. package/dist/_virtual/index2.js.map +0 -1
  502. package/dist/_virtual/index3.js +0 -5
  503. package/dist/_virtual/index3.js.map +0 -1
  504. package/dist/_virtual/index4.js +0 -5
  505. package/dist/_virtual/index4.js.map +0 -1
  506. package/dist/_virtual/index5.js +0 -5
  507. package/dist/_virtual/index5.js.map +0 -1
  508. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  509. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  510. package/dist/assets/themed_icons/Challenge.js +0 -25
  511. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  512. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  513. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  514. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  515. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  516. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  517. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  518. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  519. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  520. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  521. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  522. 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
  523. 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
  524. package/dist/style/components/_download-cart-page.scss +0 -204
  525. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1,5 +1,5 @@
1
1
  import { jsxs as r, jsx as e, Fragment as l } from "react/jsx-runtime";
2
- import { useState as m } from "react";
2
+ import { useState as c } from "react";
3
3
  import b from "./FeaturedDataPlots.js";
4
4
  import "../../utils/functions/EntityTypeUtils.js";
5
5
  import "../../assets/ArcusBioIcon.svg.js";
@@ -7,25 +7,28 @@ import "@mui/material/SvgIcon";
7
7
  import "../../assets/icons/AccessPending.svg.js";
8
8
  import "../../assets/icons/AccessPendingCloud.svg.js";
9
9
  import "../../assets/icons/FileWithShield.svg.js";
10
+ import "../../assets/icons/MultiFile.svg.js";
11
+ import "../../assets/icons/UnpackagableFile.svg.js";
10
12
  import "../../assets/icons/bioChemicalPhysical.svg.js";
11
13
  import "../../assets/icons/computationalTool.svg.js";
12
14
  import "../../assets/icons/dataReuse.svg.js";
13
15
  import { Box as x, Button as h, Paper as u } from "@mui/material";
14
16
  import "../../assets/icons/inSilicoModel.svg.js";
15
17
  import "../../assets/icons/modelSystem.svg.js";
18
+ import "../../assets/mui_components/PackagableFile.svg.js";
16
19
  import "../../assets/icons/spatialProfiling.svg.js";
17
20
  import "@mui/icons-material";
18
21
  import _ from "../Icon/Icon.js";
19
22
  import T from "../SynapseTable/NoContentAvailable.js";
20
- function R(p) {
21
- const [o, d] = m(0), { configs: s, rgbIndex: c, sql: i } = p, t = s[o];
23
+ function E(p) {
24
+ const [o, d] = c(0), { configs: i, rgbIndex: m, sql: s } = p, t = i[o];
22
25
  return /* @__PURE__ */ r(
23
26
  x,
24
27
  {
25
28
  className: "FeaturedDataTabs",
26
29
  sx: { padding: { xs: "40px", lg: "80px" } },
27
30
  children: [
28
- s.length > 1 && /* @__PURE__ */ e("div", { className: "FeaturedDataTabs__tabs", children: s.map((a, n) => /* @__PURE__ */ e(
31
+ i.length > 1 && /* @__PURE__ */ e("div", { className: "FeaturedDataTabs__tabs", children: i.map((a, n) => /* @__PURE__ */ e(
29
32
  "div",
30
33
  {
31
34
  className: `FeaturedDataTabs__tabs__tab ${n === o ? "FeaturedDataTabs__tabs__tab__selected" : ""}`,
@@ -47,12 +50,12 @@ function R(p) {
47
50
  /* @__PURE__ */ e(
48
51
  b,
49
52
  {
50
- sql: i,
51
- rgbIndex: c,
53
+ sql: s,
54
+ rgbIndex: m,
52
55
  explorePagePath: t.explorePagePath,
53
56
  ...t.plotsConfig
54
57
  },
55
- `${i}-${o}`
58
+ `${s}-${o}`
56
59
  ),
57
60
  t.explorePagePath && /* @__PURE__ */ e("div", { className: "FeaturedDataTabs__explore-all", children: /* @__PURE__ */ r(
58
61
  h,
@@ -78,6 +81,6 @@ function R(p) {
78
81
  );
79
82
  }
80
83
  export {
81
- R as default
84
+ E as default
82
85
  };
83
86
  //# sourceMappingURL=FeaturedDataTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeaturedDataTabs.js","sources":["../../../src/components/FeaturedDataTabs/FeaturedDataTabs.tsx"],"sourcesContent":["import { useState } from 'react'\nimport FeaturedDataPlots, { FeaturedDataPlotsProps } from './FeaturedDataPlots'\nimport { Icon } from '../row_renderers/utils'\nimport NoContentAvailable from '../SynapseTable/NoContentAvailable'\nimport { Box, Button } from '@mui/material'\nimport { Paper } from '@mui/material'\n\nexport type FeatureDataTabProps = {\n title: string // type of data being shown, used for the tab title and explore all button\n icon?: string\n exploreObjectType?: string\n explorePagePath?: string\n plotsConfig: FeaturedDataPlotsProps\n}\n\nexport type FeaturedDataTabsProps = {\n configs: FeatureDataTabProps[]\n rgbIndex: number\n sql: string\n}\n\nfunction FeaturedDataTabs(props: FeaturedDataTabsProps) {\n const [selectedTabIndex, setSelectedTabIndex] = useState<number>(0)\n const { configs, rgbIndex, sql } = props\n // explore all data button\n const selectedTabProps: FeatureDataTabProps = configs[selectedTabIndex]\n return (\n <Box\n className=\"FeaturedDataTabs\"\n sx={{ padding: { xs: '40px', lg: '80px' } }}\n >\n {/* tabs */}\n {configs.length > 1 && (\n <div className=\"FeaturedDataTabs__tabs\">\n {configs.map((config, index) => {\n const isSelectedTabIndex: boolean = index === selectedTabIndex\n return (\n <div\n className={`FeaturedDataTabs__tabs__tab ${\n isSelectedTabIndex\n ? 'FeaturedDataTabs__tabs__tab__selected'\n : ''\n }`}\n key={config.title}\n >\n <button\n className=\"SRC-centerAndJustifyContent\"\n onClick={() => setSelectedTabIndex(index)}\n >\n {config.icon && <Icon type={config.icon}></Icon>}\n <span>{config.title}</span>\n </button>\n </div>\n )\n })}\n </div>\n )}\n {/* tab content */}\n {selectedTabProps && (\n <>\n {selectedTabProps.plotsConfig.configs.length > 0 ? (\n <>\n <FeaturedDataPlots\n key={`${sql}-${selectedTabIndex}`}\n sql={sql}\n rgbIndex={rgbIndex}\n explorePagePath={selectedTabProps.explorePagePath}\n {...selectedTabProps.plotsConfig}\n />\n {selectedTabProps.explorePagePath && (\n <div className=\"FeaturedDataTabs__explore-all\">\n <Button\n variant=\"contained\"\n color=\"secondary\"\n href={selectedTabProps.explorePagePath}\n sx={theme => ({\n mb: '40px',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n })}\n >\n View All {selectedTabProps.exploreObjectType}\n </Button>\n </div>\n )}\n </>\n ) : (\n <Paper sx={{ p: 2 }}>\n <NoContentAvailable />\n </Paper>\n )}\n </>\n )}\n </Box>\n )\n}\n\nexport default FeaturedDataTabs\n"],"names":["FeaturedDataTabs","props","selectedTabIndex","setSelectedTabIndex","useState","configs","rgbIndex","sql","selectedTabProps","jsxs","Box","jsx","config","index","Icon","Fragment","FeaturedDataPlots","Button","theme","Paper","NoContentAvailable"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,SAASA,EAAiBC,GAA8B;AACtD,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAiB,CAAC,GAC5D,EAAE,SAAAC,GAAS,UAAAC,GAAU,KAAAC,EAAA,IAAQN,GAE7BO,IAAwCH,EAAQH,CAAgB;AACtE,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,IAAI,EAAE,SAAS,EAAE,IAAI,QAAQ,IAAI,SAAO;AAAA,MAGvC,UAAA;AAAA,QAAAL,EAAQ,SAAS,KAChB,gBAAAM,EAAC,OAAA,EAAI,WAAU,0BACZ,UAAAN,EAAQ,IAAI,CAACO,GAAQC,MAGlB,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,+BAHqBE,MAAUX,IAKpC,0CACA,EACN;AAAA,YAGA,UAAA,gBAAAO;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAMN,EAAoBU,CAAK;AAAA,gBAEvC,UAAA;AAAA,kBAAAD,EAAO,QAAQ,gBAAAD,EAACG,GAAA,EAAK,MAAMF,EAAO,MAAM;AAAA,kBACzC,gBAAAD,EAAC,QAAA,EAAM,UAAAC,EAAO,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACtB;AAAA,UARKA,EAAO;AAAA,QAAA,CAWjB,EAAA,CACH;AAAA,QAGDJ,KACC,gBAAAG,EAAAI,GAAA,EACG,UAAAP,EAAiB,YAAY,QAAQ,SAAS,IAC7C,gBAAAC,EAAAM,GAAA,EACE,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAACK;AAAA,YAAA;AAAA,cAEC,KAAAT;AAAA,cACA,UAAAD;AAAA,cACA,iBAAiBE,EAAiB;AAAA,cACjC,GAAGA,EAAiB;AAAA,YAAA;AAAA,YAJhB,GAAGD,CAAG,IAAIL,CAAgB;AAAA,UAAA;AAAA,UAMhCM,EAAiB,mBAChB,gBAAAG,EAAC,OAAA,EAAI,WAAU,iCACb,UAAA,gBAAAF;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,MAAMT,EAAiB;AAAA,cACvB,IAAI,CAAAU,OAAU;AAAA,gBACZ,IAAI;AAAA,gBACJ,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,GAAG;AAAA,kBAC9B,OAAO;AAAA,gBAAA;AAAA,cACT;AAAA,cAEH,UAAA;AAAA,gBAAA;AAAA,gBACWV,EAAiB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EAC7B,CACF;AAAA,QAAA,EAAA,CAEJ,IAEA,gBAAAG,EAACQ,GAAA,EAAM,IAAI,EAAE,GAAG,EAAA,GACd,UAAA,gBAAAR,EAACS,GAAA,CAAA,CAAmB,EAAA,CACtB,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"FeaturedDataTabs.js","sources":["../../../src/components/FeaturedDataTabs/FeaturedDataTabs.tsx"],"sourcesContent":["import { useState } from 'react'\nimport FeaturedDataPlots, { FeaturedDataPlotsProps } from './FeaturedDataPlots'\nimport { Icon } from '../row_renderers/utils'\nimport NoContentAvailable from '../SynapseTable/NoContentAvailable'\nimport { Box, Button } from '@mui/material'\nimport { Paper } from '@mui/material'\n\nexport type FeatureDataTabProps = {\n title: string // type of data being shown, used for the tab title and explore all button\n icon?: string\n exploreObjectType?: string\n explorePagePath?: string\n plotsConfig: FeaturedDataPlotsProps\n}\n\nexport type FeaturedDataTabsProps = {\n configs: FeatureDataTabProps[]\n rgbIndex: number\n sql: string\n}\n\nfunction FeaturedDataTabs(props: FeaturedDataTabsProps) {\n const [selectedTabIndex, setSelectedTabIndex] = useState<number>(0)\n const { configs, rgbIndex, sql } = props\n // explore all data button\n const selectedTabProps: FeatureDataTabProps = configs[selectedTabIndex]\n return (\n <Box\n className=\"FeaturedDataTabs\"\n sx={{ padding: { xs: '40px', lg: '80px' } }}\n >\n {/* tabs */}\n {configs.length > 1 && (\n <div className=\"FeaturedDataTabs__tabs\">\n {configs.map((config, index) => {\n const isSelectedTabIndex: boolean = index === selectedTabIndex\n return (\n <div\n className={`FeaturedDataTabs__tabs__tab ${\n isSelectedTabIndex\n ? 'FeaturedDataTabs__tabs__tab__selected'\n : ''\n }`}\n key={config.title}\n >\n <button\n className=\"SRC-centerAndJustifyContent\"\n onClick={() => setSelectedTabIndex(index)}\n >\n {config.icon && <Icon type={config.icon}></Icon>}\n <span>{config.title}</span>\n </button>\n </div>\n )\n })}\n </div>\n )}\n {/* tab content */}\n {selectedTabProps && (\n <>\n {selectedTabProps.plotsConfig.configs.length > 0 ? (\n <>\n <FeaturedDataPlots\n key={`${sql}-${selectedTabIndex}`}\n sql={sql}\n rgbIndex={rgbIndex}\n explorePagePath={selectedTabProps.explorePagePath}\n {...selectedTabProps.plotsConfig}\n />\n {selectedTabProps.explorePagePath && (\n <div className=\"FeaturedDataTabs__explore-all\">\n <Button\n variant=\"contained\"\n color=\"secondary\"\n href={selectedTabProps.explorePagePath}\n sx={theme => ({\n mb: '40px',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n })}\n >\n View All {selectedTabProps.exploreObjectType}\n </Button>\n </div>\n )}\n </>\n ) : (\n <Paper sx={{ p: 2 }}>\n <NoContentAvailable />\n </Paper>\n )}\n </>\n )}\n </Box>\n )\n}\n\nexport default FeaturedDataTabs\n"],"names":["FeaturedDataTabs","props","selectedTabIndex","setSelectedTabIndex","useState","configs","rgbIndex","sql","selectedTabProps","jsxs","Box","jsx","config","index","Icon","Fragment","FeaturedDataPlots","Button","theme","Paper","NoContentAvailable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,SAASA,EAAiBC,GAA8B;AACtD,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAiB,CAAC,GAC5D,EAAE,SAAAC,GAAS,UAAAC,GAAU,KAAAC,EAAA,IAAQN,GAE7BO,IAAwCH,EAAQH,CAAgB;AACtE,SACE,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,IAAI,EAAE,SAAS,EAAE,IAAI,QAAQ,IAAI,SAAO;AAAA,MAGvC,UAAA;AAAA,QAAAL,EAAQ,SAAS,KAChB,gBAAAM,EAAC,OAAA,EAAI,WAAU,0BACZ,UAAAN,EAAQ,IAAI,CAACO,GAAQC,MAGlB,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,+BAHqBE,MAAUX,IAKpC,0CACA,EACN;AAAA,YAGA,UAAA,gBAAAO;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAMN,EAAoBU,CAAK;AAAA,gBAEvC,UAAA;AAAA,kBAAAD,EAAO,QAAQ,gBAAAD,EAACG,GAAA,EAAK,MAAMF,EAAO,MAAM;AAAA,kBACzC,gBAAAD,EAAC,QAAA,EAAM,UAAAC,EAAO,MAAA,CAAM;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACtB;AAAA,UARKA,EAAO;AAAA,QAAA,CAWjB,EAAA,CACH;AAAA,QAGDJ,KACC,gBAAAG,EAAAI,GAAA,EACG,UAAAP,EAAiB,YAAY,QAAQ,SAAS,IAC7C,gBAAAC,EAAAM,GAAA,EACE,UAAA;AAAA,UAAA,gBAAAJ;AAAA,YAACK;AAAA,YAAA;AAAA,cAEC,KAAAT;AAAA,cACA,UAAAD;AAAA,cACA,iBAAiBE,EAAiB;AAAA,cACjC,GAAGA,EAAiB;AAAA,YAAA;AAAA,YAJhB,GAAGD,CAAG,IAAIL,CAAgB;AAAA,UAAA;AAAA,UAMhCM,EAAiB,mBAChB,gBAAAG,EAAC,OAAA,EAAI,WAAU,iCACb,UAAA,gBAAAF;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,MAAMT,EAAiB;AAAA,cACvB,IAAI,CAAAU,OAAU;AAAA,gBACZ,IAAI;AAAA,gBACJ,CAACA,EAAM,YAAY,KAAK,IAAI,CAAC,GAAG;AAAA,kBAC9B,OAAO;AAAA,gBAAA;AAAA,cACT;AAAA,cAEH,UAAA;AAAA,gBAAA;AAAA,gBACWV,EAAiB;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EAC7B,CACF;AAAA,QAAA,EAAA,CAEJ,IAEA,gBAAAG,EAACQ,GAAA,EAAM,IAAI,EAAE,GAAG,EAAA,GACd,UAAA,gBAAAR,EAACS,GAAA,CAAA,CAAmB,EAAA,CACtB,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { useGetEntityBundle as m } from "../../synapse-queries/entity/useEntityBundle.js";
2
+ import m from "../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { useResolveLinkEntity as l } from "../../utils/functions/ResolveLinkEntity.js";
4
4
  import { isFileEntity as L } from "../../utils/types/IsType.js";
5
5
  import { ALL_ENTITY_BUNDLE_FIELDS as u } from "@sage-bionetworks/synapse-types";
@@ -3,7 +3,7 @@ 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";
5
5
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
6
- import { ObjectType as k } from "@sage-bionetworks/synapse-types";
6
+ import { ObjectType as D } from "@sage-bionetworks/synapse-types";
7
7
  import "../../utils/functions/EntityTypeUtils.js";
8
8
  import { copyStringToClipboard as I } from "../../utils/functions/StringUtils.js";
9
9
  import "../../utils/SynapseConstants.js";
@@ -29,13 +29,13 @@ import "lodash-es/xorWith";
29
29
  import "react-router";
30
30
  import "@sage-bionetworks/synapse-client";
31
31
  import "../../utils/types/IsType.js";
32
- import { useGetEntityBundle as E } from "../../synapse-queries/entity/useEntityBundle.js";
32
+ import E from "../../synapse-queries/entity/useEntityBundle.js";
33
33
  import { useGetCurrentUserProfile as S } from "../../synapse-queries/user/useUserBundle.js";
34
34
  import { useGetReply as B, useDeleteReply as U } from "../../synapse-queries/forum/useReply.js";
35
35
  import { formatDate as j } from "../../utils/functions/DateFormatter.js";
36
36
  import v from "dayjs";
37
37
  import m from "../IconSvg/IconSvg.js";
38
- import { MarkdownSynapse as A } from "../Markdown/MarkdownSynapse.js";
38
+ import { Markdown as A } from "../Markdown/MarkdownSynapse.js";
39
39
  import { SkeletonTable as Y } from "../Skeleton/SkeletonTable.js";
40
40
  import { WarningDialog as P } from "../SynapseForm/WarningDialog.js";
41
41
  import { displayToast as u } from "../ToastMessage/ToastMessage.js";
@@ -49,15 +49,15 @@ const _ = (i) => {
49
49
  );
50
50
  };
51
51
  function Ue(i) {
52
- const { reply: e, isReplyAuthorModerator: n = !1 } = i, [y, d] = c(!1), [h, l] = c(!1), { data: b } = S(), { data: C } = E(e.projectId), { data: s, isLoading: g } = B(e), r = M(null), { mutate: w } = U({
52
+ const { reply: e, isReplyAuthorModerator: n = !1 } = i, [y, d] = c(!1), [h, l] = c(!1), { data: b } = S(), { data: w } = E(e.projectId), { data: s, isLoading: C } = B(e), r = M(null), { mutate: g } = U({
53
53
  onSuccess: () => {
54
54
  l(!1), u("A reply has been deleted.", "info");
55
55
  }
56
56
  }), R = e.createdBy == b?.ownerId;
57
57
  return x(() => {
58
- const D = new URLSearchParams(window.location.search).get(f);
58
+ const k = new URLSearchParams(window.location.search).get(f);
59
59
  let a;
60
- return D === e.id && r.current && (r.current.style.transition = "background-color 1s ease", r.current.style.backgroundColor = "#fbf4e0", r.current.style.borderColor = "#f4dda3", a = setTimeout(() => {
60
+ return k === e.id && r.current && (r.current.style.transition = "background-color 1s ease", r.current.style.backgroundColor = "#fbf4e0", r.current.style.borderColor = "#f4dda3", a = setTimeout(() => {
61
61
  r.current && (r.current.style.backgroundColor = "#f9f9f9", r.current.style.borderColor = "#ccc");
62
62
  }, 2e3)), () => {
63
63
  a && clearTimeout(a);
@@ -69,7 +69,7 @@ function Ue(i) {
69
69
  id: `reply._${e.id}`,
70
70
  ref: r,
71
71
  role: "article",
72
- children: g ? /* @__PURE__ */ o(Y, { numCols: 1, numRows: 4 }) : /* @__PURE__ */ o(p, { children: s && /* @__PURE__ */ t(p, { children: [
72
+ children: C ? /* @__PURE__ */ o(Y, { numCols: 1, numRows: 4 }) : /* @__PURE__ */ o(p, { children: s && /* @__PURE__ */ t(p, { children: [
73
73
  /* @__PURE__ */ t("div", { children: [
74
74
  /* @__PURE__ */ o(
75
75
  $,
@@ -86,7 +86,7 @@ function Ue(i) {
86
86
  A,
87
87
  {
88
88
  markdown: s,
89
- objectType: k.REPLY
89
+ objectType: D.REPLY
90
90
  }
91
91
  ),
92
92
  /* @__PURE__ */ t("span", { children: [
@@ -106,7 +106,7 @@ function Ue(i) {
106
106
  children: [
107
107
  /* @__PURE__ */ o("button", { onClick: () => _(e.id), children: /* @__PURE__ */ o(m, { icon: "link", label: "Copy link to this reply" }) }),
108
108
  R && /* @__PURE__ */ o("button", { onClick: () => d(!0), children: /* @__PURE__ */ o(m, { icon: "edit", label: "Edit reply" }) }),
109
- C?.permissions.canModerate && /* @__PURE__ */ o("button", { onClick: () => l(!0), children: /* @__PURE__ */ o(m, { icon: "delete", label: "Delete reply" }) })
109
+ w?.permissions.canModerate && /* @__PURE__ */ o("button", { onClick: () => l(!0), children: /* @__PURE__ */ o(m, { icon: "delete", label: "Delete reply" }) })
110
110
  ]
111
111
  }
112
112
  )
@@ -132,7 +132,7 @@ function Ue(i) {
132
132
  onCancel: () => {
133
133
  l(!1);
134
134
  },
135
- onConfirm: () => w({
135
+ onConfirm: () => g({
136
136
  forumId: e.forumId,
137
137
  threadId: e.threadId,
138
138
  replyId: e.id
@@ -1,9 +1,9 @@
1
- import { jsxs as r, jsx as e, Fragment as a } from "react/jsx-runtime";
1
+ import { jsxs as r, Fragment as a, jsx as e } 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";
5
5
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
6
- import { ALL_ENTITY_BUNDLE_FIELDS as ie, SubscriptionObjectType as I, ObjectType as ne } from "@sage-bionetworks/synapse-types";
6
+ import { ALL_ENTITY_BUNDLE_FIELDS as ie, SubscriptionObjectType as k, ObjectType as ne } from "@sage-bionetworks/synapse-types";
7
7
  import "../../utils/functions/EntityTypeUtils.js";
8
8
  import "../../utils/SynapseConstants.js";
9
9
  import "lodash-es";
@@ -13,7 +13,7 @@ import "../../utils/PermissionLevelToAccessType.js";
13
13
  import { useState as i, useMemo as le } from "react";
14
14
  import "../../utils/context/SynapseContext.js";
15
15
  import "use-deep-compare-effect";
16
- import { Box as d, Typography as g, ToggleButtonGroup as se, ToggleButton as k, TextField as v, Button as P } from "@mui/material";
16
+ import { Box as d, Typography as g, ToggleButtonGroup as se, ToggleButton as I, TextField as v, Button as P } from "@mui/material";
17
17
  import "../../utils/hooks/useCookiePreferences.js";
18
18
  import "../../utils/hooks/useSourceAppConfigs.js";
19
19
  import { useNativeSearchParams as ae } from "../../utils/hooks/useNativeSearchParams.js";
@@ -29,7 +29,7 @@ import "lodash-es/xorWith";
29
29
  import "react-router";
30
30
  import "@sage-bionetworks/synapse-client";
31
31
  import "../../utils/types/IsType.js";
32
- import { useGetEntityBundle as de } from "../../synapse-queries/entity/useEntityBundle.js";
32
+ import de from "../../synapse-queries/entity/useEntityBundle.js";
33
33
  import { useGetCurrentUserProfile as ce } from "../../synapse-queries/user/useUserBundle.js";
34
34
  import { useGetRepliesInfinite as me } from "../../synapse-queries/forum/useReply.js";
35
35
  import { useGetThread as pe, useDeleteThread as ue, useRestoreThread as he } from "../../synapse-queries/forum/useThread.js";
@@ -37,7 +37,7 @@ import { useSubscription as fe } from "../../synapse-queries/subscription/useSub
37
37
  import { formatDate as be } from "../../utils/functions/DateFormatter.js";
38
38
  import ge from "dayjs";
39
39
  import n from "../IconSvg/IconSvg.js";
40
- import { MarkdownSynapse as ye } from "../Markdown/MarkdownSynapse.js";
40
+ import { Markdown as ye } from "../Markdown/MarkdownSynapse.js";
41
41
  import { WarningDialog as A } from "../SynapseForm/WarningDialog.js";
42
42
  import { displayToast as y } from "../ToastMessage/ToastMessage.js";
43
43
  import { UserBadge as we } from "../UserCard/UserBadge.js";
@@ -45,11 +45,11 @@ import { DiscussionReply as xe } from "./DiscussionReply.js";
45
45
  import { ForumThreadEditor as w } from "./ForumThreadEditor.js";
46
46
  import { SubscribersModal as Te } from "./SubscribersModal.js";
47
47
  import { useGetModerators as De } from "../../synapse-queries/forum/useForum.js";
48
- import { REPLY_ID_PARAM_KEY as Ce } from "./DiscussionConstants.js";
49
- import { SignInRequiredModal as Me } from "../SignInRequiredModal/SignInRequiredModal.js";
48
+ import { REPLY_ID_PARAM_KEY as Me } from "./DiscussionConstants.js";
49
+ import { SignInRequiredModal as Ce } from "../SignInRequiredModal/SignInRequiredModal.js";
50
50
  const Re = "You are following this topic. Click to stop following.", Se = "You are not following this topic. Click to follow.", N = "Write a reply...";
51
- function Co(L) {
52
- const { threadId: l, limit: O } = L, u = "16px", [x, T] = i(!0), [U, D] = i(!1), [j, C] = i(!1), [Y, M] = i(!1), [_, h] = i(!1), [F, c] = i(!1), [G, f] = i(!1), [H, W] = i(!1), { threadData: o, threadBody: b, togglePin: X } = pe(l), { data: m } = ce(), { data: q } = de(
51
+ function Mo(L) {
52
+ const { threadId: l, limit: O } = L, u = "16px", [x, T] = i(!0), [U, D] = i(!1), [j, M] = i(!1), [Y, C] = i(!1), [_, h] = i(!1), [F, c] = i(!1), [G, f] = i(!1), [H, W] = i(!1), { threadData: o, threadBody: b, togglePin: X } = pe(l), { data: m } = ce(), { data: q } = de(
53
53
  o?.projectId ?? "",
54
54
  void 0,
55
55
  ie,
@@ -58,7 +58,7 @@ function Co(L) {
58
58
  }
59
59
  ), { subscription: R, toggleSubscribed: z, isLoading: K } = fe(
60
60
  l,
61
- I.THREAD
61
+ k.THREAD
62
62
  ), { mutate: J } = ue({
63
63
  onSuccess: () => {
64
64
  h(!1), y("A thread has been deleted.", "info");
@@ -84,7 +84,7 @@ function Co(L) {
84
84
  fetchNextPage: ee
85
85
  } = me(l, x, O), { data: B } = De(o?.forumId ?? "", {
86
86
  enabled: !!o?.forumId
87
- }), oe = B?.includes(o?.createdBy ?? ""), [p, te] = ae(Ce), E = le(() => {
87
+ }), oe = B?.includes(o?.createdBy ?? ""), [p, te] = ae(Me), E = le(() => {
88
88
  const t = S?.pages.flatMap((s) => s.results) ?? [];
89
89
  return p ? t.filter((s) => s.id === p) : t;
90
90
  }, [S, p]), re = () => {
@@ -102,7 +102,7 @@ function Co(L) {
102
102
  value: x ? "datePosted" : "mostRecent",
103
103
  children: [
104
104
  /* @__PURE__ */ e(
105
- k,
105
+ I,
106
106
  {
107
107
  value: "datePosted",
108
108
  onClick: () => T(!0),
@@ -110,7 +110,7 @@ function Co(L) {
110
110
  }
111
111
  ),
112
112
  /* @__PURE__ */ e(
113
- k,
113
+ I,
114
114
  {
115
115
  value: "mostRecent",
116
116
  onClick: () => T(!1),
@@ -152,7 +152,7 @@ function Co(L) {
152
152
  Te,
153
153
  {
154
154
  id: l,
155
- objectType: I.THREAD,
155
+ objectType: k.THREAD,
156
156
  showModal: H,
157
157
  handleModal: W
158
158
  }
@@ -223,7 +223,7 @@ function Co(L) {
223
223
  {
224
224
  id: l,
225
225
  isReply: !0,
226
- onClose: () => C(!1),
226
+ onClose: () => M(!1),
227
227
  isDialog: !1
228
228
  }
229
229
  ) : /* @__PURE__ */ e(
@@ -232,7 +232,7 @@ function Co(L) {
232
232
  fullWidth: !0,
233
233
  placeholder: N,
234
234
  onClick: () => {
235
- m?.userName == "anonymous" ? c(!0) : C(!0);
235
+ m?.userName == "anonymous" ? c(!0) : M(!0);
236
236
  }
237
237
  }
238
238
  ) }),
@@ -284,7 +284,7 @@ function Co(L) {
284
284
  {
285
285
  id: l,
286
286
  isReply: !0,
287
- onClose: () => M(!1),
287
+ onClose: () => C(!1),
288
288
  isDialog: !1
289
289
  }
290
290
  ) : /* @__PURE__ */ e(
@@ -293,7 +293,7 @@ function Co(L) {
293
293
  fullWidth: !0,
294
294
  placeholder: N,
295
295
  onClick: () => {
296
- m?.userName == "anonymous" ? c(!0) : M(!0);
296
+ m?.userName == "anonymous" ? c(!0) : C(!0);
297
297
  }
298
298
  }
299
299
  )
@@ -334,7 +334,7 @@ function Co(L) {
334
334
  }
335
335
  ),
336
336
  /* @__PURE__ */ e(
337
- Me,
337
+ Ce,
338
338
  {
339
339
  open: F,
340
340
  onHide: () => c(!1),
@@ -344,7 +344,7 @@ function Co(L) {
344
344
  ] });
345
345
  }
346
346
  export {
347
- Co as DiscussionThread,
348
- Co as default
347
+ Mo as DiscussionThread,
348
+ Mo as default
349
349
  };
350
350
  //# sourceMappingURL=DiscussionThread.js.map
@@ -28,8 +28,8 @@ export interface FullWidthAlertProps {
28
28
  globalAlertSx?: AlertProps['sx'];
29
29
  }
30
30
  /**
31
- * Nav bar item, displayed when files have been added to the Download Cart.
32
- * This must be configured with the URL of a page dedicated to showing the Download Cart.
31
+ * Nav bar item, displayed when files have been added to the Download List.
32
+ * This must be configured with the URL of a page dedicated to showing the Download List.
33
33
  */
34
34
  declare function FullWidthAlert(props: FullWidthAlertProps): import("react/jsx-runtime").JSX.Element;
35
35
  export default FullWidthAlert;
@@ -1 +1 @@
1
- {"version":3,"file":"FullWidthAlert.js","sources":["../../../src/components/FullWidthAlert/FullWidthAlert.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n Alert,\n AlertProps,\n AlertTitle,\n Box,\n Button,\n ButtonProps,\n Snackbar,\n Stack,\n Tooltip,\n} from '@mui/material'\nimport { MouseEventHandler, ReactNode, useEffect } from 'react'\nimport './FullWidthAlert.scss'\n\nexport type AlertButtonConfig = {\n text: string\n isDisabled?: boolean\n tooltipText?: string\n} & (\n | // \"onClick\" or \"href\", but not both\n {\n onClick?: MouseEventHandler<HTMLButtonElement>\n }\n | { href?: string }\n)\n\nexport type FullWidthAlertVariant = 'warning' | 'info' | 'danger' | 'success'\n\nexport interface FullWidthAlertProps {\n variant?: FullWidthAlertVariant\n show?: boolean\n title?: string\n description?: ReactNode\n primaryButtonConfig?: AlertButtonConfig\n secondaryButtonConfig?: AlertButtonConfig\n tertiaryButtonConfig?: AlertButtonConfig\n onClose?: () => void\n autoCloseAfterDelayInSeconds?: number\n isGlobal?: boolean\n icon?: ReactNode\n sx?: AlertProps['sx']\n globalAlertSx?: AlertProps['sx']\n}\n\nfunction variantToSeverity(variant: string | undefined) {\n return (variant === 'danger' ? 'error' : variant) as AlertProps['severity']\n}\n\nfunction ButtonFromConfig(props: {\n config?: AlertButtonConfig\n variant: ButtonProps['variant']\n}) {\n const { config, variant } = props\n if (config && ('onClick' in config || 'href' in config)) {\n return (\n <Tooltip title={config.tooltipText ?? ''} enterNextDelay={300}>\n <span // See https://github.com/wwayne/react-tooltip/issues/304\n data-tip-disable={false}\n >\n <Button\n variant={variant}\n sx={{\n width: { xs: '100%', md: 'initial' },\n }}\n color=\"primary\"\n disabled={config.isDisabled}\n onClick={e => {\n if ('onClick' in config) {\n e.preventDefault()\n config.onClick!(e)\n } else if ('href' in config) {\n e.preventDefault()\n window.open(config.href, '_blank', 'noopener')\n }\n }}\n >\n {config.text}\n </Button>\n </span>\n </Tooltip>\n )\n }\n return null\n}\n\n/**\n * Nav bar item, displayed when files have been added to the Download Cart.\n * This must be configured with the URL of a page dedicated to showing the Download Cart.\n */\nfunction FullWidthAlert(props: FullWidthAlertProps) {\n const {\n title,\n description,\n primaryButtonConfig,\n secondaryButtonConfig,\n tertiaryButtonConfig,\n show = true,\n onClose,\n autoCloseAfterDelayInSeconds,\n variant = 'info',\n isGlobal = true,\n icon,\n sx,\n globalAlertSx,\n } = props\n\n useEffect(() => {\n let timer: NodeJS.Timeout\n if (onClose && autoCloseAfterDelayInSeconds) {\n timer = setTimeout(onClose, autoCloseAfterDelayInSeconds * 1000)\n }\n return () => {\n if (timer) {\n clearTimeout(timer)\n }\n }\n }, [onClose, autoCloseAfterDelayInSeconds])\n\n const alert = (\n <Alert\n severity={variantToSeverity(variant)}\n sx={spreadSx(\n {\n width: '100%',\n my: '10px',\n '.MuiAlert-message': {\n flexGrow: 1,\n },\n '.MuiAlert-icon': {\n display: { xs: 'none', sm: 'flex' },\n },\n },\n sx,\n )}\n className=\"FullWidthAlert\"\n onClose={onClose}\n icon={icon}\n >\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n spacing={{ xs: 1, sm: 2 }}\n sx={{\n alignItems: { xs: 'start', sm: 'center' },\n gap: { xs: '8px', sm: 'initial' },\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Box>\n {title && <AlertTitle>{title}</AlertTitle>}\n <span className=\"FullWidthAlertDescription\">{description}</span>\n </Box>\n {(primaryButtonConfig ||\n secondaryButtonConfig ||\n tertiaryButtonConfig) && (\n <Stack\n spacing={{ xs: 1, lg: 2 }}\n direction={{ xs: 'row', sm: 'column', lg: 'row' }}\n sx={theme => ({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n gap: { xs: '8px', sm: 'initial' },\n flexWrap: { xs: 'wrap', sm: 'nowrap' },\n width: { xs: '100%', sm: 'initial' },\n [theme.breakpoints.down('sm')]: {\n '& > *': {\n flexGrow: 1,\n },\n },\n })}\n >\n {tertiaryButtonConfig && (\n <ButtonFromConfig config={tertiaryButtonConfig} variant=\"text\" />\n )}\n {secondaryButtonConfig && (\n <ButtonFromConfig config={secondaryButtonConfig} variant=\"text\" />\n )}\n {primaryButtonConfig && (\n <ButtonFromConfig\n config={primaryButtonConfig}\n variant=\"contained\"\n />\n )}\n </Stack>\n )}\n </Stack>\n </Alert>\n )\n\n return (\n <>\n {isGlobal ? (\n <Snackbar\n open={show}\n className={isGlobal ? 'FullWidthAlertGlobal' : undefined}\n sx={{\n width: '96%',\n filter:\n 'drop-shadow(0px 8px 8px rgba(0, 0, 0, 0.05)) drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.05)) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.05))',\n ...globalAlertSx,\n }}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n slotProps={{\n transition: {\n appear: false,\n },\n }}\n >\n {alert}\n </Snackbar>\n ) : (\n show && alert\n )}\n </>\n )\n}\n\nexport default FullWidthAlert\n"],"names":["variantToSeverity","variant","ButtonFromConfig","props","config","Tooltip","jsx","Button","e","FullWidthAlert","title","description","primaryButtonConfig","secondaryButtonConfig","tertiaryButtonConfig","show","onClose","autoCloseAfterDelayInSeconds","isGlobal","icon","sx","globalAlertSx","useEffect","timer","alert","Alert","spreadSx","jsxs","Stack","Box","AlertTitle","theme","Snackbar"],"mappings":"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"}
1
+ {"version":3,"file":"FullWidthAlert.js","sources":["../../../src/components/FullWidthAlert/FullWidthAlert.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n Alert,\n AlertProps,\n AlertTitle,\n Box,\n Button,\n ButtonProps,\n Snackbar,\n Stack,\n Tooltip,\n} from '@mui/material'\nimport { MouseEventHandler, ReactNode, useEffect } from 'react'\nimport './FullWidthAlert.scss'\n\nexport type AlertButtonConfig = {\n text: string\n isDisabled?: boolean\n tooltipText?: string\n} & (\n | // \"onClick\" or \"href\", but not both\n {\n onClick?: MouseEventHandler<HTMLButtonElement>\n }\n | { href?: string }\n)\n\nexport type FullWidthAlertVariant = 'warning' | 'info' | 'danger' | 'success'\n\nexport interface FullWidthAlertProps {\n variant?: FullWidthAlertVariant\n show?: boolean\n title?: string\n description?: ReactNode\n primaryButtonConfig?: AlertButtonConfig\n secondaryButtonConfig?: AlertButtonConfig\n tertiaryButtonConfig?: AlertButtonConfig\n onClose?: () => void\n autoCloseAfterDelayInSeconds?: number\n isGlobal?: boolean\n icon?: ReactNode\n sx?: AlertProps['sx']\n globalAlertSx?: AlertProps['sx']\n}\n\nfunction variantToSeverity(variant: string | undefined) {\n return (variant === 'danger' ? 'error' : variant) as AlertProps['severity']\n}\n\nfunction ButtonFromConfig(props: {\n config?: AlertButtonConfig\n variant: ButtonProps['variant']\n}) {\n const { config, variant } = props\n if (config && ('onClick' in config || 'href' in config)) {\n return (\n <Tooltip title={config.tooltipText ?? ''} enterNextDelay={300}>\n <span // See https://github.com/wwayne/react-tooltip/issues/304\n data-tip-disable={false}\n >\n <Button\n variant={variant}\n sx={{\n width: { xs: '100%', md: 'initial' },\n }}\n color=\"primary\"\n disabled={config.isDisabled}\n onClick={e => {\n if ('onClick' in config) {\n e.preventDefault()\n config.onClick!(e)\n } else if ('href' in config) {\n e.preventDefault()\n window.open(config.href, '_blank', 'noopener')\n }\n }}\n >\n {config.text}\n </Button>\n </span>\n </Tooltip>\n )\n }\n return null\n}\n\n/**\n * Nav bar item, displayed when files have been added to the Download List.\n * This must be configured with the URL of a page dedicated to showing the Download List.\n */\nfunction FullWidthAlert(props: FullWidthAlertProps) {\n const {\n title,\n description,\n primaryButtonConfig,\n secondaryButtonConfig,\n tertiaryButtonConfig,\n show = true,\n onClose,\n autoCloseAfterDelayInSeconds,\n variant = 'info',\n isGlobal = true,\n icon,\n sx,\n globalAlertSx,\n } = props\n\n useEffect(() => {\n let timer: NodeJS.Timeout\n if (onClose && autoCloseAfterDelayInSeconds) {\n timer = setTimeout(onClose, autoCloseAfterDelayInSeconds * 1000)\n }\n return () => {\n if (timer) {\n clearTimeout(timer)\n }\n }\n }, [onClose, autoCloseAfterDelayInSeconds])\n\n const alert = (\n <Alert\n severity={variantToSeverity(variant)}\n sx={spreadSx(\n {\n width: '100%',\n my: '10px',\n '.MuiAlert-message': {\n flexGrow: 1,\n },\n '.MuiAlert-icon': {\n display: { xs: 'none', sm: 'flex' },\n },\n },\n sx,\n )}\n className=\"FullWidthAlert\"\n onClose={onClose}\n icon={icon}\n >\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n spacing={{ xs: 1, sm: 2 }}\n sx={{\n alignItems: { xs: 'start', sm: 'center' },\n gap: { xs: '8px', sm: 'initial' },\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <Box>\n {title && <AlertTitle>{title}</AlertTitle>}\n <span className=\"FullWidthAlertDescription\">{description}</span>\n </Box>\n {(primaryButtonConfig ||\n secondaryButtonConfig ||\n tertiaryButtonConfig) && (\n <Stack\n spacing={{ xs: 1, lg: 2 }}\n direction={{ xs: 'row', sm: 'column', lg: 'row' }}\n sx={theme => ({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n gap: { xs: '8px', sm: 'initial' },\n flexWrap: { xs: 'wrap', sm: 'nowrap' },\n width: { xs: '100%', sm: 'initial' },\n [theme.breakpoints.down('sm')]: {\n '& > *': {\n flexGrow: 1,\n },\n },\n })}\n >\n {tertiaryButtonConfig && (\n <ButtonFromConfig config={tertiaryButtonConfig} variant=\"text\" />\n )}\n {secondaryButtonConfig && (\n <ButtonFromConfig config={secondaryButtonConfig} variant=\"text\" />\n )}\n {primaryButtonConfig && (\n <ButtonFromConfig\n config={primaryButtonConfig}\n variant=\"contained\"\n />\n )}\n </Stack>\n )}\n </Stack>\n </Alert>\n )\n\n return (\n <>\n {isGlobal ? (\n <Snackbar\n open={show}\n className={isGlobal ? 'FullWidthAlertGlobal' : undefined}\n sx={{\n width: '96%',\n filter:\n 'drop-shadow(0px 8px 8px rgba(0, 0, 0, 0.05)) drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.05)) drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.05))',\n ...globalAlertSx,\n }}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}\n slotProps={{\n transition: {\n appear: false,\n },\n }}\n >\n {alert}\n </Snackbar>\n ) : (\n show && alert\n )}\n </>\n )\n}\n\nexport default FullWidthAlert\n"],"names":["variantToSeverity","variant","ButtonFromConfig","props","config","Tooltip","jsx","Button","e","FullWidthAlert","title","description","primaryButtonConfig","secondaryButtonConfig","tertiaryButtonConfig","show","onClose","autoCloseAfterDelayInSeconds","isGlobal","icon","sx","globalAlertSx","useEffect","timer","alert","Alert","spreadSx","jsxs","Stack","Box","AlertTitle","theme","Snackbar"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardUtils.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/CardUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAO9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EACL,WAAW,EACX,MAAM,EAEN,qBAAqB,EACrB,YAAY,EACb,MAAM,iCAAiC,CAAA;AAExC,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,eAAe,MAAM,sCAqBtB,CAAA;AACD,eAAO,MAAM,oBAAoB,GAAI,qDAKlC;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,KAAG,iBAqCH,CAAA;AACD,KAAK,iBAAiB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAwCpB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,QAAQ,GAAG,SAAS,EACpC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM;;;EAqBf"}
1
+ {"version":3,"file":"CardUtils.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/CardUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAO9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EACL,WAAW,EACX,MAAM,EAEN,qBAAqB,EACrB,YAAY,EACb,MAAM,iCAAiC,CAAA;AAExC,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,eAAe,MAAM,EACrB,eAAe,MAAM,sCAqBtB,CAAA;AACD,eAAO,MAAM,oBAAoB,GAAI,qDAKlC;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B,KAAG,iBAqCH,CAAA;AACD,KAAK,iBAAiB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CA2CpB;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,QAAQ,GAAG,SAAS,EACpC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM;;;EAqBf"}
@@ -1,25 +1,25 @@
1
1
  import { isTableEntity as d } from "../../utils/functions/EntityTypeUtils.js";
2
- import { PRODUCTION_ENDPOINT_CONFIG as T } from "../../utils/functions/getEndpoint.js";
3
- import { convertDoiToLink as C, SYNAPSE_ENTITY_ID_REGEX as N } from "../../utils/functions/RegularExpressions.js";
2
+ import { PRODUCTION_ENDPOINT_CONFIG as p } from "../../utils/functions/getEndpoint.js";
3
+ import { convertDoiToLink as C, SYNAPSE_ENTITY_ID_REGEX as T } from "../../utils/functions/RegularExpressions.js";
4
4
  import { TargetEnum as c } from "../../utils/html/TargetEnum.js";
5
- import { isExternalLink as O } from "../../utils/functions/IsExternalLink.js";
5
+ import { isExternalLink as N } from "../../utils/functions/IsExternalLink.js";
6
6
  import { FileHandleAssociateType as f } from "@sage-bionetworks/synapse-types";
7
- const I = (e, t, i) => {
8
- let n;
9
- return e && t && (d(e) ? n = {
7
+ const I = (e, t, r) => {
8
+ let s;
9
+ return e && t && (d(e) ? s = {
10
10
  fileHandleId: t,
11
11
  associateObjectId: e?.id ?? "",
12
12
  associateObjectType: f.TableEntity
13
- } : i && (n = {
13
+ } : r && (s = {
14
14
  fileHandleId: t,
15
- associateObjectId: i,
15
+ associateObjectId: r,
16
16
  associateObjectType: f.FileEntity
17
- })), n;
17
+ })), s;
18
18
  }, g = ({
19
19
  columnName: e,
20
20
  value: t,
21
- selectColumns: i,
22
- columnModels: n
21
+ selectColumns: r,
22
+ columnModels: s
23
23
  }) => {
24
24
  if (!t)
25
25
  return {
@@ -27,12 +27,12 @@ const I = (e, t, i) => {
27
27
  strList: void 0,
28
28
  selectColumn: void 0
29
29
  };
30
- const l = i?.find((o) => o.name === e) || n?.find((o) => o.name === e);
30
+ const l = r?.find((o) => o.name === e) || s?.find((o) => o.name === e);
31
31
  if (l?.columnType.endsWith("_LIST")) {
32
- let o = t, s;
32
+ let o = t, n;
33
33
  try {
34
- return s = JSON.parse(o), o = s.join(", "), {
35
- strList: s,
34
+ return n = JSON.parse(o), o = n.join(", "), {
35
+ strList: n,
36
36
  str: o,
37
37
  selectColumn: l
38
38
  };
@@ -50,45 +50,45 @@ const I = (e, t, i) => {
50
50
  selectColumn: l
51
51
  };
52
52
  };
53
- function p(e, t, i, n) {
53
+ function O(e, t, r, s) {
54
54
  if (e) {
55
- if (!t || !i)
55
+ if (!t || !r)
56
56
  throw Error("Must specify CardLink and data for linking to work");
57
- const { matchColumnName: l, overrideValueWithRowID: r } = e;
57
+ const { matchColumnName: l, overrideValueWithRowID: i } = e;
58
58
  if ("overrideLinkURLColumnName" in e) {
59
- const { overrideLinkURLColumnName: s, overrideLinkURLColumnTransform: a } = e;
60
- if (i[s]) {
61
- const u = i[s], m = t[u];
62
- if (m && a)
63
- return a(m);
64
- if (m)
65
- return m;
59
+ const { overrideLinkURLColumnName: n, overrideLinkURLColumnTransform: a } = e;
60
+ if (r[n]) {
61
+ const m = r[n], u = t[m];
62
+ if (u && a)
63
+ return a(u);
64
+ if (u)
65
+ return u;
66
66
  }
67
67
  }
68
- const o = i[l];
68
+ const o = r[l];
69
69
  if (o === void 0)
70
70
  console.error(
71
71
  `Could not find match for data: ${t} with columnName ${l}`
72
72
  );
73
73
  else if ("baseURL" in e) {
74
- const { baseURL: s, URLColumnName: a } = e, u = r ? `syn${n}` : t[o];
74
+ const { baseURL: n, URLColumnName: a, urlParamStyle: m = "query-param" } = e, u = i ? `syn${s}` : t[o];
75
75
  if (u)
76
- return `/${s}?${a}=${encodeURIComponent(u)}`;
76
+ return m === "path-segment" ? `/${n}/${encodeURIComponent(u)}` : `/${n}?${a}=${encodeURIComponent(u)}`;
77
77
  }
78
78
  }
79
79
  }
80
- function D(e, t, i, n, l) {
80
+ function $(e, t, r, s, l) {
81
81
  e = e.trim();
82
- let r = e;
83
- const o = C(r);
84
- e.match(N) ? r = `${T.PORTAL}Synapse:${e}` : o ? r = o : t && (r = p(t, i, n, l) ?? "");
85
- const a = !!(r && O(r)) ? c.NEW_WINDOW : c.CURRENT_WINDOW, u = t?.target ?? a;
86
- return { href: r, target: u };
82
+ let i = e;
83
+ const o = C(i);
84
+ e.match(T) ? i = `${p.PORTAL}Synapse:${e}` : o ? i = o : t && (i = O(t, r, s, l) ?? "");
85
+ const a = !!(i && N(i)) ? c.NEW_WINDOW : c.CURRENT_WINDOW, m = t?.target ?? a;
86
+ return { href: i, target: m };
87
87
  }
88
88
  export {
89
- p as getCardLinkHref,
89
+ O as getCardLinkHref,
90
90
  I as getFileHandleAssociation,
91
- D as getLinkParams,
91
+ $ as getLinkParams,
92
92
  g as getValueOrMultiValue
93
93
  };
94
94
  //# sourceMappingURL=CardUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardUtils.js","sources":["../../../src/components/GenericCard/CardUtils.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { isTableEntity } from '@/utils/functions/EntityTypeUtils'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n convertDoiToLink,\n SYNAPSE_ENTITY_ID_REGEX,\n} from '@/utils/functions/RegularExpressions'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { isExternalLink } from '@/utils/functions/IsExternalLink'\nimport {\n ColumnModel,\n Entity,\n FileHandleAssociateType,\n FileHandleAssociation,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\n\nexport const getFileHandleAssociation = (\n table?: Entity,\n fileHandleId?: string,\n rowSynapseId?: string, // only applicable if this is an EntityView\n) => {\n let fileHandleAssociation: FileHandleAssociation | undefined = undefined\n if (table && fileHandleId) {\n if (isTableEntity(table)) {\n // The file handle is in the table\n fileHandleAssociation = {\n fileHandleId,\n associateObjectId: table?.id ?? '',\n associateObjectType: FileHandleAssociateType.TableEntity,\n }\n } else if (rowSynapseId) {\n // We're looking at a view, so the FileEntity (whose ID matches the row ID) gives permission to download the file handle\n fileHandleAssociation = {\n fileHandleId,\n associateObjectId: rowSynapseId,\n associateObjectType: FileHandleAssociateType.FileEntity,\n }\n }\n }\n return fileHandleAssociation\n}\nexport const getValueOrMultiValue = ({\n columnName,\n value,\n selectColumns,\n columnModels,\n}: {\n columnName?: string\n value?: string\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n}): ValueOrMultiValue => {\n if (!value) {\n return {\n str: '',\n strList: undefined,\n selectColumn: undefined,\n }\n }\n const selectedColumnOrUndefined =\n selectColumns?.find(el => el.name === columnName) ||\n columnModels?.find(el => el.name === columnName)\n const isMultiValue = selectedColumnOrUndefined?.columnType.endsWith('_LIST')\n\n if (isMultiValue) {\n let val: any = value\n let strList: any\n try {\n strList = JSON.parse(val)\n val = (strList as string[]).join(', ')\n return {\n strList,\n str: val,\n selectColumn: selectedColumnOrUndefined,\n }\n } catch (e) {\n console.error(\n 'Could not parse multivalue string ',\n val,\n ' caught err ',\n e,\n )\n }\n }\n return {\n str: value,\n selectColumn: selectedColumnOrUndefined,\n }\n}\ntype ValueOrMultiValue = {\n str: string\n strList?: string[]\n selectColumn?: SelectColumn\n}\n\nexport function getCardLinkHref(\n cardLink: CardLink | undefined,\n data: string[] | undefined,\n schema?: Record<string, number>,\n rowId?: number,\n): string | undefined {\n if (cardLink) {\n if (!data || !schema) {\n throw Error('Must specify CardLink and data for linking to work')\n }\n const { matchColumnName, overrideValueWithRowID } = cardLink\n\n // PORTALS-2088: Return the link, unless...\n // an overrideLinkURLColumnName has been set and its value is defined.\n // In this case, just use the overrideLinkURLColumnName value\n if ('overrideLinkURLColumnName' in cardLink) {\n const { overrideLinkURLColumnName, overrideLinkURLColumnTransform } =\n cardLink\n if (schema[overrideLinkURLColumnName]) {\n const indexOfOverrideLinkURLColumnName =\n schema[overrideLinkURLColumnName]\n const overrideLinkValue = data[indexOfOverrideLinkURLColumnName]\n if (overrideLinkValue && overrideLinkURLColumnTransform) {\n return overrideLinkURLColumnTransform(overrideLinkValue)\n } else if (overrideLinkValue) {\n return overrideLinkValue\n }\n }\n }\n\n const indexInData = schema[matchColumnName]\n if (indexInData === undefined) {\n console.error(\n `Could not find match for data: ${data} with columnName ${matchColumnName}`,\n )\n } else if ('baseURL' in cardLink) {\n const { baseURL, URLColumnName } = cardLink\n const value = overrideValueWithRowID ? `syn${rowId}` : data[indexInData]\n if (value) {\n // value is defined!\n return `/${baseURL}?${URLColumnName}=${encodeURIComponent(value)}`\n }\n }\n }\n return undefined\n}\n\nexport function getLinkParams(\n link: string,\n cardLinkConfig: CardLink | undefined,\n data: string[] | undefined,\n schema?: Record<string, number>,\n rowId?: number,\n) {\n link = link.trim()\n let href = link\n const doiLink = convertDoiToLink(href)\n if (link.match(SYNAPSE_ENTITY_ID_REGEX)) {\n // its a synId\n href = `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${link}`\n } else if (doiLink) {\n href = doiLink\n } else if (cardLinkConfig) {\n href = getCardLinkHref(cardLinkConfig, data, schema, rowId) ?? ''\n }\n\n const isExternal = Boolean(href && isExternalLink(href))\n const defaultTarget = isExternal\n ? TargetEnum.NEW_WINDOW\n : TargetEnum.CURRENT_WINDOW\n\n const target = cardLinkConfig?.target ?? defaultTarget\n return { href, target }\n}\n"],"names":["getFileHandleAssociation","table","fileHandleId","rowSynapseId","fileHandleAssociation","isTableEntity","FileHandleAssociateType","getValueOrMultiValue","columnName","value","selectColumns","columnModels","selectedColumnOrUndefined","el","val","strList","e","getCardLinkHref","cardLink","data","schema","rowId","matchColumnName","overrideValueWithRowID","overrideLinkURLColumnName","overrideLinkURLColumnTransform","indexOfOverrideLinkURLColumnName","overrideLinkValue","indexInData","baseURL","URLColumnName","getLinkParams","link","cardLinkConfig","href","doiLink","convertDoiToLink","SYNAPSE_ENTITY_ID_REGEX","PRODUCTION_ENDPOINT_CONFIG","defaultTarget","isExternalLink","TargetEnum","target"],"mappings":"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"}
1
+ {"version":3,"file":"CardUtils.js","sources":["../../../src/components/GenericCard/CardUtils.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { isTableEntity } from '@/utils/functions/EntityTypeUtils'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport {\n convertDoiToLink,\n SYNAPSE_ENTITY_ID_REGEX,\n} from '@/utils/functions/RegularExpressions'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { isExternalLink } from '@/utils/functions/IsExternalLink'\nimport {\n ColumnModel,\n Entity,\n FileHandleAssociateType,\n FileHandleAssociation,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\n\nexport const getFileHandleAssociation = (\n table?: Entity,\n fileHandleId?: string,\n rowSynapseId?: string, // only applicable if this is an EntityView\n) => {\n let fileHandleAssociation: FileHandleAssociation | undefined = undefined\n if (table && fileHandleId) {\n if (isTableEntity(table)) {\n // The file handle is in the table\n fileHandleAssociation = {\n fileHandleId,\n associateObjectId: table?.id ?? '',\n associateObjectType: FileHandleAssociateType.TableEntity,\n }\n } else if (rowSynapseId) {\n // We're looking at a view, so the FileEntity (whose ID matches the row ID) gives permission to download the file handle\n fileHandleAssociation = {\n fileHandleId,\n associateObjectId: rowSynapseId,\n associateObjectType: FileHandleAssociateType.FileEntity,\n }\n }\n }\n return fileHandleAssociation\n}\nexport const getValueOrMultiValue = ({\n columnName,\n value,\n selectColumns,\n columnModels,\n}: {\n columnName?: string\n value?: string\n selectColumns?: SelectColumn[]\n columnModels?: ColumnModel[]\n}): ValueOrMultiValue => {\n if (!value) {\n return {\n str: '',\n strList: undefined,\n selectColumn: undefined,\n }\n }\n const selectedColumnOrUndefined =\n selectColumns?.find(el => el.name === columnName) ||\n columnModels?.find(el => el.name === columnName)\n const isMultiValue = selectedColumnOrUndefined?.columnType.endsWith('_LIST')\n\n if (isMultiValue) {\n let val: any = value\n let strList: any\n try {\n strList = JSON.parse(val)\n val = (strList as string[]).join(', ')\n return {\n strList,\n str: val,\n selectColumn: selectedColumnOrUndefined,\n }\n } catch (e) {\n console.error(\n 'Could not parse multivalue string ',\n val,\n ' caught err ',\n e,\n )\n }\n }\n return {\n str: value,\n selectColumn: selectedColumnOrUndefined,\n }\n}\ntype ValueOrMultiValue = {\n str: string\n strList?: string[]\n selectColumn?: SelectColumn\n}\n\nexport function getCardLinkHref(\n cardLink: CardLink | undefined,\n data: string[] | undefined,\n schema?: Record<string, number>,\n rowId?: number,\n): string | undefined {\n if (cardLink) {\n if (!data || !schema) {\n throw Error('Must specify CardLink and data for linking to work')\n }\n const { matchColumnName, overrideValueWithRowID } = cardLink\n\n // PORTALS-2088: Return the link, unless...\n // an overrideLinkURLColumnName has been set and its value is defined.\n // In this case, just use the overrideLinkURLColumnName value\n if ('overrideLinkURLColumnName' in cardLink) {\n const { overrideLinkURLColumnName, overrideLinkURLColumnTransform } =\n cardLink\n if (schema[overrideLinkURLColumnName]) {\n const indexOfOverrideLinkURLColumnName =\n schema[overrideLinkURLColumnName]\n const overrideLinkValue = data[indexOfOverrideLinkURLColumnName]\n if (overrideLinkValue && overrideLinkURLColumnTransform) {\n return overrideLinkURLColumnTransform(overrideLinkValue)\n } else if (overrideLinkValue) {\n return overrideLinkValue\n }\n }\n }\n\n const indexInData = schema[matchColumnName]\n if (indexInData === undefined) {\n console.error(\n `Could not find match for data: ${data} with columnName ${matchColumnName}`,\n )\n } else if ('baseURL' in cardLink) {\n const { baseURL, URLColumnName, urlParamStyle = 'query-param' } = cardLink\n const value = overrideValueWithRowID ? `syn${rowId}` : data[indexInData]\n if (value) {\n // value is defined!\n if (urlParamStyle === 'path-segment') {\n return `/${baseURL}/${encodeURIComponent(value)}`\n }\n return `/${baseURL}?${URLColumnName}=${encodeURIComponent(value)}`\n }\n }\n }\n return undefined\n}\n\nexport function getLinkParams(\n link: string,\n cardLinkConfig: CardLink | undefined,\n data: string[] | undefined,\n schema?: Record<string, number>,\n rowId?: number,\n) {\n link = link.trim()\n let href = link\n const doiLink = convertDoiToLink(href)\n if (link.match(SYNAPSE_ENTITY_ID_REGEX)) {\n // its a synId\n href = `${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${link}`\n } else if (doiLink) {\n href = doiLink\n } else if (cardLinkConfig) {\n href = getCardLinkHref(cardLinkConfig, data, schema, rowId) ?? ''\n }\n\n const isExternal = Boolean(href && isExternalLink(href))\n const defaultTarget = isExternal\n ? TargetEnum.NEW_WINDOW\n : TargetEnum.CURRENT_WINDOW\n\n const target = cardLinkConfig?.target ?? defaultTarget\n return { href, target }\n}\n"],"names":["getFileHandleAssociation","table","fileHandleId","rowSynapseId","fileHandleAssociation","isTableEntity","FileHandleAssociateType","getValueOrMultiValue","columnName","value","selectColumns","columnModels","selectedColumnOrUndefined","el","val","strList","e","getCardLinkHref","cardLink","data","schema","rowId","matchColumnName","overrideValueWithRowID","overrideLinkURLColumnName","overrideLinkURLColumnTransform","indexOfOverrideLinkURLColumnName","overrideLinkValue","indexInData","baseURL","URLColumnName","urlParamStyle","getLinkParams","link","cardLinkConfig","href","doiLink","convertDoiToLink","SYNAPSE_ENTITY_ID_REGEX","PRODUCTION_ENDPOINT_CONFIG","defaultTarget","isExternalLink","TargetEnum","target"],"mappings":"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"}