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 +1 @@
1
- {"version":3,"file":"EntityDownloadButton.js","sources":["../../../src/components/EntityDownloadButton/EntityDownloadButton.tsx"],"sourcesContent":["import { useGetEntity, useGetVersions } from '@/synapse-queries'\nimport {\n useAddFileToDownloadList,\n useGetAddToDownloadListStats,\n} from '@/synapse-queries/index'\nimport { useSynapseContext } from '@/utils'\nimport {\n entityTypeToFriendlyName,\n hasFilesInView,\n isContainerType,\n isDataset,\n isEntityView,\n isVersionableEntity,\n} from '@/utils/functions/EntityTypeUtils'\nimport { useDirectDownloadHandler } from '@/utils/hooks/useDirectDownloadHandler'\nimport { isFileEntity } from '@/utils/types/IsType'\nimport { DownloadOutlined as DownloadIcon } from '@mui/icons-material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n FileHandleAssociateType,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { RefObject, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { displayFilesWereAddedToDownloadListSuccess } from '../download_list/DownloadConfirmationUtils'\nimport { EntityDownloadConfirmation } from '../EntityDownloadConfirmation'\nimport { DropdownMenu, DropdownMenuItem } from '../menu/DropdownMenu'\nimport { ModalDownload } from '../ModalDownload/ModalDownload'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport { displayToast } from '../ToastMessage/index'\n\n// WIP\n// Per Nick Grosenbacher: For this to be reusable, I think we would also need to accept versionNumber as a prop. Where we would have the following behavior:\n// - If the version number is present, use it\n// - If the version number is null, do not use it,\n// - If the version number is undefined, then we would try to do the 'smart' thing-- get the latest version for datasets, otherwise don't use it.\n\n// Have to keep these consts outside of getProgrammaticAccessCode because\n// they are being called in ProgrammaticTableDownload.tsx\n// Python client import and login instructions\nexport const PYTHON_CLIENT_IMPORT_AND_LOGIN = `import synapseclient\nsyn = synapseclient.Synapse()\nsyn.login(authToken=\"YOUR_TOKEN_HERE\")`\n\n// R client import and login instructions\nexport const R_CLIENT_IMPORT_AND_LOGIN = `library(synapser)\nsynLogin(authToken=\"YOUR_TOKEN_HERE\")`\n\ntype ProgrammaticAccessCode = {\n cliCode: string | undefined\n rCode: string | undefined\n pythonCode: string | undefined\n}\n\n// Generate programmatic access code snippet content based on entity type\nfunction getProgrammaticAccessCode(\n type: EntityType,\n entityId: string,\n version: number | undefined,\n): ProgrammaticAccessCode {\n const id =\n type === EntityType.dataset && version ? `${entityId}.${version}` : entityId\n switch (type) {\n case EntityType.file:\n case EntityType.folder:\n case EntityType.project:\n case EntityType.link:\n return {\n cliCode: `synapse get -r ${entityId}`,\n rCode: `${R_CLIENT_IMPORT_AND_LOGIN} \\n\n# Download file\nsynGet('${entityId}')`,\n pythonCode: `${PYTHON_CLIENT_IMPORT_AND_LOGIN} \\n\n# Download file\nsyn.get('${entityId}')`,\n }\n case EntityType.dockerrepo:\n return {\n cliCode: `docker login -u <synapse username> -p <synapse password> docker.synapse.org \\n\ndocker pull docker.synapse.org/${entityId}/myrepo`,\n rCode: undefined,\n pythonCode: undefined,\n }\n case EntityType.dataset:\n case EntityType.entityview:\n case EntityType.datasetcollection:\n case EntityType.table:\n case EntityType.materializedview:\n case EntityType.submissionview:\n case EntityType.virtualtable:\n case EntityType.recordset:\n return {\n cliCode: `synapse get -q \"SELECT * FROM ${id}\"`,\n rCode: `${R_CLIENT_IMPORT_AND_LOGIN} \\n\nquery <- synTableQuery(\"SELECT * FROM ${id}\")\nread.table(query$filepath, sep=\",\")`,\n pythonCode: `${PYTHON_CLIENT_IMPORT_AND_LOGIN} \\n\nquery = syn.tableQuery(\"SELECT * FROM ${id}\")\nquery.asDataFrame()`,\n }\n default:\n throw new Error(`Unhandled EntityType: ${type}`)\n }\n}\n\nenum DownloadAction {\n downloadFile,\n addToCart,\n programmaticAccess,\n programmaticAccessDocker,\n exportTable,\n}\n\n// Function that creates menu items for download actions\nfunction getMenuItemForAction(\n entityId: string,\n entityName: string,\n entityType: EntityType,\n downloadAction: DownloadAction,\n setShowProgrammaticAccess: (show: boolean) => void,\n setShowExportMetadata: (show: boolean) => void,\n addFileToDownloadList: (params: {\n entityId: string\n entityVersionNumber: number | undefined\n }) => void,\n setShowDownloadConfirmation: (show: boolean) => void,\n versionNumber?: number,\n addToCartDisabled?: boolean,\n onDownloadFile?: () => void,\n isAuthenticated?: boolean,\n): DropdownMenuItem {\n switch (downloadAction) {\n case DownloadAction.downloadFile:\n return {\n text: 'Download File',\n onClick: () => {\n if (onDownloadFile) onDownloadFile()\n },\n tooltipText: isAuthenticated\n ? 'Download this file directly'\n : 'Sign in to download this file',\n disabled: !isAuthenticated,\n }\n case DownloadAction.addToCart:\n return {\n text: 'Add to Download Cart',\n disabled: addToCartDisabled,\n tooltipText: getAddToCartTooltip(entityType, !!addToCartDisabled),\n onClick: () => {\n if (\n entityType === EntityType.file ||\n entityType === EntityType.recordset\n ) {\n addFileToDownloadList({\n entityId,\n entityVersionNumber: versionNumber,\n })\n } else {\n setShowDownloadConfirmation(true)\n }\n },\n }\n case DownloadAction.programmaticAccess:\n return {\n text: 'Programmatic Access',\n onClick: () => {\n setShowProgrammaticAccess(true)\n },\n tooltipText: 'View programmatic access options',\n }\n case DownloadAction.programmaticAccessDocker:\n return {\n text: 'Programmatic Access (Docker)',\n onClick: () => {\n setShowProgrammaticAccess(true)\n },\n tooltipText: 'View programmatic options to pull Docker image',\n }\n case DownloadAction.exportTable:\n return {\n text: 'Export Table',\n onClick: () => {\n setShowExportMetadata(true)\n },\n tooltipText: 'Export table data',\n }\n }\n}\n\n/**\n * Determines the tooltip message based on the entity type and its \"add to cart\" status.\n */\nconst getAddToCartTooltip = (\n entityType: EntityType,\n isDisabled: boolean,\n): string => {\n if (!isDisabled) {\n return 'Add file(s) to your download cart'\n }\n const entityFriendlyName = entityTypeToFriendlyName(entityType)\n return `This ${entityFriendlyName} has no accessible files`\n}\n\n// Function that returns DropdownMenuItem\nexport function getDownloadActionsForEntityType(\n type: EntityType,\n): DownloadAction[][] {\n switch (type) {\n case EntityType.file:\n case EntityType.recordset:\n return [\n [DownloadAction.downloadFile],\n [DownloadAction.addToCart, DownloadAction.programmaticAccess],\n ]\n case EntityType.project:\n case EntityType.folder:\n return [[DownloadAction.addToCart, DownloadAction.programmaticAccess]]\n case EntityType.dockerrepo:\n return [[DownloadAction.programmaticAccessDocker]]\n case EntityType.entityview:\n case EntityType.dataset:\n return [\n [\n DownloadAction.exportTable,\n DownloadAction.programmaticAccess,\n DownloadAction.addToCart,\n ],\n ]\n case EntityType.datasetcollection:\n case EntityType.table:\n case EntityType.materializedview:\n case EntityType.submissionview:\n case EntityType.virtualtable:\n return [[DownloadAction.exportTable, DownloadAction.programmaticAccess]]\n case EntityType.link:\n return [[DownloadAction.programmaticAccess]]\n default:\n // this will fail if a new EntityType is added and not handled\n throw new Error(`Unhandled EntityType: ${type}`)\n }\n}\n\n// get the appropriate version number for download based on entity type\n// for datasets: returns the most recent released version if any exist, undefined otherwise\n// for other entities: returns the current version number\nfunction useGetLatestVersionNumber(entityId: string, entityType: EntityType) {\n // get entity data\n const { data: entityData, isLoading: entityDataLoading } =\n useGetEntity(entityId) // No version = latest\n\n // for datasets, check if any versions exist and use the most recent one\n const mustGetVersion = entityType === EntityType.dataset\n const { data: versionsData, isLoading: versionsLoading } = useGetVersions(\n entityId,\n 0,\n 1,\n {\n enabled: mustGetVersion,\n },\n )\n\n let latestVersionNumber: number | undefined\n\n if (mustGetVersion) {\n // for datasets, check if any versions exist\n if (versionsData?.results && versionsData.results.length > 0) {\n // Use the most recent released version (first in the list, since versions are returned in descending order)\n latestVersionNumber = versionsData.results[0].versionNumber\n } else {\n // no versions exist, use undefined (will use current/draft version)\n latestVersionNumber = undefined\n }\n } else {\n // for non-datasets, use the entity's version number\n latestVersionNumber =\n entityData && isVersionableEntity(entityData)\n ? entityData.versionNumber\n : undefined\n }\n\n const isLoading = entityDataLoading || versionsLoading\n\n return { latestVersionNumber, isLoading }\n}\n\n// create default queryBundleRequest with appropriate SQL\nfunction getDefaultQueryBundleRequestForEntity(\n entityId: string,\n versionNumber: number | undefined,\n entityType: EntityType,\n): QueryBundleRequest {\n let sql: string\n\n if (entityType === EntityType.dataset) {\n // for datasets:\n // - if a version number exists (released version), use it: syn123.5\n // - if no version number (no released versions), use current/draft: syn123\n sql = versionNumber\n ? `SELECT * FROM ${entityId}.${versionNumber}`\n : `SELECT * FROM ${entityId}`\n } else {\n // For non-datasets, always use entity ID without version\n sql = `SELECT * FROM ${entityId}`\n }\n\n return {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: `${entityId}`,\n query: {\n sql: sql,\n },\n partMask: 0,\n }\n}\n\nexport function EntityDownloadButton(props: {\n entityId: string\n name: string\n entityType: EntityType\n downloadConfirmationContainer?: RefObject<HTMLElement | null>\n disabled?: boolean\n}) {\n // get the appropriate version number for the entity\n const { latestVersionNumber } = useGetLatestVersionNumber(\n props.entityId,\n props.entityType,\n )\n // create queryBundleRequest with appropriate SQL based on entity type and version\n const defaultQueryBundleRequest = getDefaultQueryBundleRequestForEntity(\n props.entityId,\n latestVersionNumber,\n props.entityType,\n )\n\n // Get context and download functionality\n const { downloadCartPageUrl, isAuthenticated } = useSynapseContext()\n const { mutate: addFileToDownloadList } = useAddFileToDownloadList({\n onSuccess: data => {\n if (data.numberOfFilesAdded > 0) {\n displayFilesWereAddedToDownloadListSuccess(downloadCartPageUrl)\n } else {\n displayToast('0 Files added to your Download Cart', 'info')\n }\n },\n onError: error => {\n displayToast(error.reason, 'danger')\n },\n })\n\n // state to manage programmatic access modal visibility\n const [showProgrammaticAccess, setShowProgrammaticAccess] =\n useState<boolean>(false)\n\n // state to manage download confirmation visibility and loading\n const [showDownloadConfirmation, setShowDownloadConfirmation] =\n useState<boolean>(false)\n const [downloadConfirmationLoading, setDownloadConfirmationLoading] =\n useState<boolean>(false)\n\n const handleCloseProgrammaticAccess = () => {\n setShowProgrammaticAccess(false)\n }\n\n const isFolderOrProject = isContainerType(props.entityType)\n\n const {\n data: folderOrProjectStats,\n isLoading: isLoadingFolderOrProjectStats,\n } = useGetAddToDownloadListStats(\n {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListStatsRequest',\n request: {\n parentId: props.entityId,\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n recursive: true,\n },\n },\n {\n enabled: isFolderOrProject,\n },\n )\n\n const folderOrProjectHasNoFiles =\n isFolderOrProject &&\n (isLoadingFolderOrProjectStats || folderOrProjectStats?.fileCount === 0)\n\n const { data: entityData } = useGetEntity(props.entityId)\n\n const { downloadFile } = useDirectDownloadHandler()\n\n const fileHandleId =\n entityData && isFileEntity(entityData)\n ? entityData.dataFileHandleId\n : undefined\n\n const onDownloadFile = fileHandleId\n ? () => {\n void downloadFile({\n fileHandleId,\n associatedObjectId: props.entityId,\n associatedObjectType: FileHandleAssociateType.FileEntity,\n })\n }\n : undefined\n\n const entityViewHasNoFiles =\n entityData && isEntityView(entityData) && !hasFilesInView(entityData)\n\n const datasetHasNoFiles =\n entityData &&\n isDataset(entityData) &&\n (!entityData.items || entityData.items.length === 0)\n\n const addToCartDisabled =\n folderOrProjectHasNoFiles || entityViewHasNoFiles || datasetHasNoFiles\n\n // state to manage export metadata modal visibility\n const [showExportMetadata, setShowExportMetadata] = useState<boolean>(false)\n\n const handleCloseExportMetadata = () => {\n setShowExportMetadata(false)\n }\n\n // Create download menu items\n const downloadActions = getDownloadActionsForEntityType(props.entityType)\n const downloadMenuItems = downloadActions.map(actionGroup =>\n actionGroup.map(action =>\n getMenuItemForAction(\n props.entityId,\n props.name,\n props.entityType,\n action,\n setShowProgrammaticAccess,\n setShowExportMetadata,\n addFileToDownloadList,\n setShowDownloadConfirmation,\n latestVersionNumber,\n addToCartDisabled,\n onDownloadFile,\n isAuthenticated,\n ),\n ),\n )\n\n // Return programmatic access modal content\n const { cliCode, rCode, pythonCode } = getProgrammaticAccessCode(\n props.entityType,\n props.entityId,\n latestVersionNumber,\n )\n\n const downloadConfirmation = showDownloadConfirmation ? (\n <EntityDownloadConfirmation\n entityId={props.entityId}\n handleClose={() => setShowDownloadConfirmation(false)}\n onIsLoadingChange={setDownloadConfirmationLoading}\n />\n ) : null\n\n return (\n <>\n <DropdownMenu\n items={downloadMenuItems}\n dropdownButtonText=\"Download\"\n buttonTooltip=\"Download options for this entity\"\n buttonProps={{\n variant: 'outlined',\n startIcon: <DownloadIcon />,\n disabled: props.disabled || downloadConfirmationLoading,\n }}\n />\n {downloadConfirmation &&\n (props.downloadConfirmationContainer?.current\n ? createPortal(\n downloadConfirmation,\n props.downloadConfirmationContainer.current,\n )\n : downloadConfirmation)}\n <ProgrammaticInstructionsModal\n show={showProgrammaticAccess}\n title={`Programmatic Access: ${props.name}`}\n onClose={handleCloseProgrammaticAccess}\n pythonCode={pythonCode}\n rCode={rCode}\n cliCode={cliCode}\n helpUrl=\"https://help.synapse.org/docs/Synapse-Docker-Registry.2011037752.html#SynapseDockerRegistry-UsingDockerImagesStoredintheSynapseDockerRegistry\"\n />\n {showExportMetadata && (\n <ModalDownload\n queryBundleRequest={defaultQueryBundleRequest}\n onClose={handleCloseExportMetadata}\n />\n )}\n </>\n )\n}\n"],"names":["PYTHON_CLIENT_IMPORT_AND_LOGIN","R_CLIENT_IMPORT_AND_LOGIN","getProgrammaticAccessCode","type","entityId","version","id","EntityType","getMenuItemForAction","entityName","entityType","downloadAction","setShowProgrammaticAccess","setShowExportMetadata","addFileToDownloadList","setShowDownloadConfirmation","versionNumber","addToCartDisabled","onDownloadFile","isAuthenticated","getAddToCartTooltip","isDisabled","entityTypeToFriendlyName","getDownloadActionsForEntityType","useGetLatestVersionNumber","entityData","entityDataLoading","useGetEntity","mustGetVersion","versionsData","versionsLoading","useGetVersions","latestVersionNumber","isVersionableEntity","getDefaultQueryBundleRequestForEntity","sql","EntityDownloadButton","props","defaultQueryBundleRequest","downloadCartPageUrl","useSynapseContext","useAddFileToDownloadList","data","displayFilesWereAddedToDownloadListSuccess","displayToast","error","showProgrammaticAccess","useState","showDownloadConfirmation","downloadConfirmationLoading","setDownloadConfirmationLoading","handleCloseProgrammaticAccess","isFolderOrProject","isContainerType","folderOrProjectStats","isLoadingFolderOrProjectStats","useGetAddToDownloadListStats","folderOrProjectHasNoFiles","downloadFile","useDirectDownloadHandler","fileHandleId","isFileEntity","FileHandleAssociateType","entityViewHasNoFiles","isEntityView","hasFilesInView","datasetHasNoFiles","isDataset","showExportMetadata","handleCloseExportMetadata","downloadMenuItems","actionGroup","action","cliCode","rCode","pythonCode","downloadConfirmation","jsx","EntityDownloadConfirmation","jsxs","Fragment","DropdownMenu","DownloadIcon","createPortal","ProgrammaticInstructionsModal","ModalDownload"],"mappings":"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"}
1
+ {"version":3,"file":"EntityDownloadButton.js","sources":["../../../src/components/EntityDownloadButton/EntityDownloadButton.tsx"],"sourcesContent":["import { useGetEntity, useGetVersions } from '@/synapse-queries'\nimport {\n useAddFileToDownloadList,\n useGetAddToDownloadListStats,\n} from '@/synapse-queries/index'\nimport { useSynapseContext } from '@/utils'\nimport {\n entityTypeToFriendlyName,\n hasFilesInView,\n isContainerType,\n isDataset,\n isEntityView,\n isVersionableEntity,\n} from '@/utils/functions/EntityTypeUtils'\nimport { useDirectDownloadHandler } from '@/utils/hooks/useDirectDownloadHandler'\nimport { isFileEntity } from '@/utils/types/IsType'\nimport { DownloadOutlined as DownloadIcon } from '@mui/icons-material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n FileHandleAssociateType,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { RefObject, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { displayFilesWereAddedToDownloadListSuccess } from '../download_list/DownloadConfirmationUtils'\nimport { EntityDownloadConfirmation } from '../EntityDownloadConfirmation'\nimport { DropdownMenu, DropdownMenuItem } from '../menu/DropdownMenu'\nimport { ModalDownload } from '../ModalDownload/ModalDownload'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport { displayToast } from '../ToastMessage/index'\n\n// WIP\n// Per Nick Grosenbacher: For this to be reusable, I think we would also need to accept versionNumber as a prop. Where we would have the following behavior:\n// - If the version number is present, use it\n// - If the version number is null, do not use it,\n// - If the version number is undefined, then we would try to do the 'smart' thing-- get the latest version for datasets, otherwise don't use it.\n\n// Have to keep these consts outside of getProgrammaticAccessCode because\n// they are being called in ProgrammaticTableDownload.tsx\n// Python client import and login instructions\nexport const PYTHON_CLIENT_IMPORT_AND_LOGIN = `import synapseclient\nsyn = synapseclient.Synapse()\nsyn.login(authToken=\"YOUR_TOKEN_HERE\")`\n\n// R client import and login instructions\nexport const R_CLIENT_IMPORT_AND_LOGIN = `library(synapser)\nsynLogin(authToken=\"YOUR_TOKEN_HERE\")`\n\ntype ProgrammaticAccessCode = {\n cliCode: string | undefined\n rCode: string | undefined\n pythonCode: string | undefined\n}\n\n// Generate programmatic access code snippet content based on entity type\nfunction getProgrammaticAccessCode(\n type: EntityType,\n entityId: string,\n version: number | undefined,\n): ProgrammaticAccessCode {\n const id =\n type === EntityType.dataset && version ? `${entityId}.${version}` : entityId\n switch (type) {\n case EntityType.file:\n case EntityType.folder:\n case EntityType.project:\n case EntityType.link:\n return {\n cliCode: `synapse get -r ${entityId}`,\n rCode: `${R_CLIENT_IMPORT_AND_LOGIN} \\n\n# Download file\nsynGet('${entityId}')`,\n pythonCode: `${PYTHON_CLIENT_IMPORT_AND_LOGIN} \\n\n# Download file\nsyn.get('${entityId}')`,\n }\n case EntityType.dockerrepo:\n return {\n cliCode: `docker login -u <synapse username> -p <synapse password> docker.synapse.org \\n\ndocker pull docker.synapse.org/${entityId}/myrepo`,\n rCode: undefined,\n pythonCode: undefined,\n }\n case EntityType.dataset:\n case EntityType.entityview:\n case EntityType.datasetcollection:\n case EntityType.table:\n case EntityType.materializedview:\n case EntityType.submissionview:\n case EntityType.virtualtable:\n case EntityType.recordset:\n return {\n cliCode: `synapse get -q \"SELECT * FROM ${id}\"`,\n rCode: `${R_CLIENT_IMPORT_AND_LOGIN} \\n\nquery <- synTableQuery(\"SELECT * FROM ${id}\")\nread.table(query$filepath, sep=\",\")`,\n pythonCode: `${PYTHON_CLIENT_IMPORT_AND_LOGIN} \\n\nquery = syn.tableQuery(\"SELECT * FROM ${id}\")\nquery.asDataFrame()`,\n }\n default:\n throw new Error(`Unhandled EntityType: ${type}`)\n }\n}\n\nenum DownloadAction {\n downloadFile,\n addToCart,\n programmaticAccess,\n programmaticAccessDocker,\n exportTable,\n}\n\n// Function that creates menu items for download actions\nfunction getMenuItemForAction(\n entityId: string,\n entityName: string,\n entityType: EntityType,\n downloadAction: DownloadAction,\n setShowProgrammaticAccess: (show: boolean) => void,\n setShowExportMetadata: (show: boolean) => void,\n addFileToDownloadList: (params: {\n entityId: string\n entityVersionNumber: number | undefined\n }) => void,\n setShowDownloadConfirmation: (show: boolean) => void,\n versionNumber?: number,\n addToCartDisabled?: boolean,\n onDownloadFile?: () => void,\n isAuthenticated?: boolean,\n): DropdownMenuItem {\n switch (downloadAction) {\n case DownloadAction.downloadFile:\n return {\n text: 'Download File',\n onClick: () => {\n if (onDownloadFile) onDownloadFile()\n },\n tooltipText: isAuthenticated\n ? 'Download this file directly'\n : 'Sign in to download this file',\n disabled: !isAuthenticated,\n }\n case DownloadAction.addToCart:\n return {\n text: 'Add to Download List',\n disabled: addToCartDisabled,\n tooltipText: getAddToCartTooltip(entityType, !!addToCartDisabled),\n onClick: () => {\n if (\n entityType === EntityType.file ||\n entityType === EntityType.recordset\n ) {\n addFileToDownloadList({\n entityId,\n entityVersionNumber: versionNumber,\n })\n } else {\n setShowDownloadConfirmation(true)\n }\n },\n }\n case DownloadAction.programmaticAccess:\n return {\n text: 'Programmatic Access',\n onClick: () => {\n setShowProgrammaticAccess(true)\n },\n tooltipText: 'View programmatic access options',\n }\n case DownloadAction.programmaticAccessDocker:\n return {\n text: 'Programmatic Access (Docker)',\n onClick: () => {\n setShowProgrammaticAccess(true)\n },\n tooltipText: 'View programmatic options to pull Docker image',\n }\n case DownloadAction.exportTable:\n return {\n text: 'Export Table',\n onClick: () => {\n setShowExportMetadata(true)\n },\n tooltipText: 'Export table data',\n }\n }\n}\n\n/**\n * Determines the tooltip message based on the entity type and its \"add to cart\" status.\n */\nconst getAddToCartTooltip = (\n entityType: EntityType,\n isDisabled: boolean,\n): string => {\n if (!isDisabled) {\n return 'Add file(s) to your download list'\n }\n const entityFriendlyName = entityTypeToFriendlyName(entityType)\n return `This ${entityFriendlyName} has no accessible files`\n}\n\n// Function that returns DropdownMenuItem\nexport function getDownloadActionsForEntityType(\n type: EntityType,\n): DownloadAction[][] {\n switch (type) {\n case EntityType.file:\n case EntityType.recordset:\n return [\n [DownloadAction.downloadFile],\n [DownloadAction.addToCart, DownloadAction.programmaticAccess],\n ]\n case EntityType.project:\n case EntityType.folder:\n return [[DownloadAction.addToCart, DownloadAction.programmaticAccess]]\n case EntityType.dockerrepo:\n return [[DownloadAction.programmaticAccessDocker]]\n case EntityType.entityview:\n case EntityType.dataset:\n return [\n [\n DownloadAction.exportTable,\n DownloadAction.programmaticAccess,\n DownloadAction.addToCart,\n ],\n ]\n case EntityType.datasetcollection:\n case EntityType.table:\n case EntityType.materializedview:\n case EntityType.submissionview:\n case EntityType.virtualtable:\n return [[DownloadAction.exportTable, DownloadAction.programmaticAccess]]\n case EntityType.link:\n return [[DownloadAction.programmaticAccess]]\n default:\n // this will fail if a new EntityType is added and not handled\n throw new Error(`Unhandled EntityType: ${type}`)\n }\n}\n\n// get the appropriate version number for download based on entity type\n// for datasets: returns the most recent released version if any exist, undefined otherwise\n// for other entities: returns the current version number\nfunction useGetLatestVersionNumber(entityId: string, entityType: EntityType) {\n // get entity data\n const { data: entityData, isLoading: entityDataLoading } =\n useGetEntity(entityId) // No version = latest\n\n // for datasets, check if any versions exist and use the most recent one\n const mustGetVersion = entityType === EntityType.dataset\n const { data: versionsData, isLoading: versionsLoading } = useGetVersions(\n entityId,\n 0,\n 1,\n {\n enabled: mustGetVersion,\n },\n )\n\n let latestVersionNumber: number | undefined\n\n if (mustGetVersion) {\n // for datasets, check if any versions exist\n if (versionsData?.results && versionsData.results.length > 0) {\n // Use the most recent released version (first in the list, since versions are returned in descending order)\n latestVersionNumber = versionsData.results[0].versionNumber\n } else {\n // no versions exist, use undefined (will use current/draft version)\n latestVersionNumber = undefined\n }\n } else {\n // for non-datasets, use the entity's version number\n latestVersionNumber =\n entityData && isVersionableEntity(entityData)\n ? entityData.versionNumber\n : undefined\n }\n\n const isLoading = entityDataLoading || versionsLoading\n\n return { latestVersionNumber, isLoading }\n}\n\n// create default queryBundleRequest with appropriate SQL\nfunction getDefaultQueryBundleRequestForEntity(\n entityId: string,\n versionNumber: number | undefined,\n entityType: EntityType,\n): QueryBundleRequest {\n let sql: string\n\n if (entityType === EntityType.dataset) {\n // for datasets:\n // - if a version number exists (released version), use it: syn123.5\n // - if no version number (no released versions), use current/draft: syn123\n sql = versionNumber\n ? `SELECT * FROM ${entityId}.${versionNumber}`\n : `SELECT * FROM ${entityId}`\n } else {\n // For non-datasets, always use entity ID without version\n sql = `SELECT * FROM ${entityId}`\n }\n\n return {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: `${entityId}`,\n query: {\n sql: sql,\n },\n partMask: 0,\n }\n}\n\nexport function EntityDownloadButton(props: {\n entityId: string\n name: string\n entityType: EntityType\n downloadConfirmationContainer?: RefObject<HTMLElement | null>\n disabled?: boolean\n}) {\n // get the appropriate version number for the entity\n const { latestVersionNumber } = useGetLatestVersionNumber(\n props.entityId,\n props.entityType,\n )\n // create queryBundleRequest with appropriate SQL based on entity type and version\n const defaultQueryBundleRequest = getDefaultQueryBundleRequestForEntity(\n props.entityId,\n latestVersionNumber,\n props.entityType,\n )\n\n // Get context and download functionality\n const { downloadCartPageUrl, isAuthenticated } = useSynapseContext()\n const { mutate: addFileToDownloadList } = useAddFileToDownloadList({\n onSuccess: data => {\n if (data.numberOfFilesAdded > 0) {\n displayFilesWereAddedToDownloadListSuccess(downloadCartPageUrl)\n } else {\n displayToast('0 Files added to your Download List', 'info')\n }\n },\n onError: error => {\n displayToast(error.reason, 'danger')\n },\n })\n\n // state to manage programmatic access modal visibility\n const [showProgrammaticAccess, setShowProgrammaticAccess] =\n useState<boolean>(false)\n\n // state to manage download confirmation visibility and loading\n const [showDownloadConfirmation, setShowDownloadConfirmation] =\n useState<boolean>(false)\n const [downloadConfirmationLoading, setDownloadConfirmationLoading] =\n useState<boolean>(false)\n\n const handleCloseProgrammaticAccess = () => {\n setShowProgrammaticAccess(false)\n }\n\n const isFolderOrProject = isContainerType(props.entityType)\n\n const {\n data: folderOrProjectStats,\n isLoading: isLoadingFolderOrProjectStats,\n } = useGetAddToDownloadListStats(\n {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListStatsRequest',\n request: {\n parentId: props.entityId,\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n recursive: true,\n },\n },\n {\n enabled: isFolderOrProject,\n },\n )\n\n const folderOrProjectHasNoFiles =\n isFolderOrProject &&\n (isLoadingFolderOrProjectStats || folderOrProjectStats?.fileCount === 0)\n\n const { data: entityData } = useGetEntity(props.entityId)\n\n const { downloadFile } = useDirectDownloadHandler()\n\n const fileHandleId =\n entityData && isFileEntity(entityData)\n ? entityData.dataFileHandleId\n : undefined\n\n const onDownloadFile = fileHandleId\n ? () => {\n void downloadFile({\n fileHandleId,\n associatedObjectId: props.entityId,\n associatedObjectType: FileHandleAssociateType.FileEntity,\n })\n }\n : undefined\n\n const entityViewHasNoFiles =\n entityData && isEntityView(entityData) && !hasFilesInView(entityData)\n\n const datasetHasNoFiles =\n entityData &&\n isDataset(entityData) &&\n (!entityData.items || entityData.items.length === 0)\n\n const addToCartDisabled =\n folderOrProjectHasNoFiles || entityViewHasNoFiles || datasetHasNoFiles\n\n // state to manage export metadata modal visibility\n const [showExportMetadata, setShowExportMetadata] = useState<boolean>(false)\n\n const handleCloseExportMetadata = () => {\n setShowExportMetadata(false)\n }\n\n // Create download menu items\n const downloadActions = getDownloadActionsForEntityType(props.entityType)\n const downloadMenuItems = downloadActions.map(actionGroup =>\n actionGroup.map(action =>\n getMenuItemForAction(\n props.entityId,\n props.name,\n props.entityType,\n action,\n setShowProgrammaticAccess,\n setShowExportMetadata,\n addFileToDownloadList,\n setShowDownloadConfirmation,\n latestVersionNumber,\n addToCartDisabled,\n onDownloadFile,\n isAuthenticated,\n ),\n ),\n )\n\n // Return programmatic access modal content\n const { cliCode, rCode, pythonCode } = getProgrammaticAccessCode(\n props.entityType,\n props.entityId,\n latestVersionNumber,\n )\n\n const downloadConfirmation = showDownloadConfirmation ? (\n <EntityDownloadConfirmation\n entityId={props.entityId}\n handleClose={() => setShowDownloadConfirmation(false)}\n onIsLoadingChange={setDownloadConfirmationLoading}\n />\n ) : null\n\n return (\n <>\n <DropdownMenu\n items={downloadMenuItems}\n dropdownButtonText=\"Download\"\n buttonTooltip=\"Download options for this entity\"\n buttonProps={{\n variant: 'outlined',\n startIcon: <DownloadIcon />,\n disabled: props.disabled || downloadConfirmationLoading,\n }}\n />\n {downloadConfirmation &&\n (props.downloadConfirmationContainer?.current\n ? createPortal(\n downloadConfirmation,\n props.downloadConfirmationContainer.current,\n )\n : downloadConfirmation)}\n <ProgrammaticInstructionsModal\n show={showProgrammaticAccess}\n title={`Programmatic Access: ${props.name}`}\n onClose={handleCloseProgrammaticAccess}\n pythonCode={pythonCode}\n rCode={rCode}\n cliCode={cliCode}\n helpUrl=\"https://help.synapse.org/docs/Synapse-Docker-Registry.2011037752.html#SynapseDockerRegistry-UsingDockerImagesStoredintheSynapseDockerRegistry\"\n />\n {showExportMetadata && (\n <ModalDownload\n queryBundleRequest={defaultQueryBundleRequest}\n onClose={handleCloseExportMetadata}\n />\n )}\n </>\n )\n}\n"],"names":["PYTHON_CLIENT_IMPORT_AND_LOGIN","R_CLIENT_IMPORT_AND_LOGIN","getProgrammaticAccessCode","type","entityId","version","id","EntityType","getMenuItemForAction","entityName","entityType","downloadAction","setShowProgrammaticAccess","setShowExportMetadata","addFileToDownloadList","setShowDownloadConfirmation","versionNumber","addToCartDisabled","onDownloadFile","isAuthenticated","getAddToCartTooltip","isDisabled","entityTypeToFriendlyName","getDownloadActionsForEntityType","useGetLatestVersionNumber","entityData","entityDataLoading","useGetEntity","mustGetVersion","versionsData","versionsLoading","useGetVersions","latestVersionNumber","isVersionableEntity","getDefaultQueryBundleRequestForEntity","sql","EntityDownloadButton","props","defaultQueryBundleRequest","downloadCartPageUrl","useSynapseContext","useAddFileToDownloadList","data","displayFilesWereAddedToDownloadListSuccess","displayToast","error","showProgrammaticAccess","useState","showDownloadConfirmation","downloadConfirmationLoading","setDownloadConfirmationLoading","handleCloseProgrammaticAccess","isFolderOrProject","isContainerType","folderOrProjectStats","isLoadingFolderOrProjectStats","useGetAddToDownloadListStats","folderOrProjectHasNoFiles","downloadFile","useDirectDownloadHandler","fileHandleId","isFileEntity","FileHandleAssociateType","entityViewHasNoFiles","isEntityView","hasFilesInView","datasetHasNoFiles","isDataset","showExportMetadata","handleCloseExportMetadata","downloadMenuItems","actionGroup","action","cliCode","rCode","pythonCode","downloadConfirmation","jsx","EntityDownloadConfirmation","jsxs","Fragment","DropdownMenu","DownloadIcon","createPortal","ProgrammaticInstructionsModal","ModalDownload"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCO,MAAMA,IAAiC;AAAA;AAAA,yCAKjCC,IAA4B;AAAA;AAUzC,SAASC,GACPC,GACAC,GACAC,GACwB;AACxB,QAAMC,IACJH,MAASI,EAAW,WAAWF,IAAU,GAAGD,CAAQ,IAAIC,CAAO,KAAKD;AACtE,UAAQD,GAAA;AAAA,IACN,KAAKI,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO;AAAA,QACL,SAAS,kBAAkBH,CAAQ;AAAA,QACnC,OAAO,GAAGH,CAAyB;AAAA;AAAA;AAAA,UAEjCG,CAAQ;AAAA,QACV,YAAY,GAAGJ,CAA8B;AAAA;AAAA;AAAA,WAE1CI,CAAQ;AAAA,MAAA;AAAA,IAEf,KAAKG,EAAW;AACd,aAAO;AAAA,QACL,SAAS;AAAA;AAAA,iCACgBH,CAAQ;AAAA,QACjC,OAAO;AAAA,QACP,YAAY;AAAA,MAAA;AAAA,IAEhB,KAAKG,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO;AAAA,QACL,SAAS,iCAAiCD,CAAE;AAAA,QAC5C,OAAO,GAAGL,CAAyB;AAAA;AAAA,wCACHK,CAAE;AAAA;AAAA,QAElC,YAAY,GAAGN,CAA8B;AAAA;AAAA,wCACbM,CAAE;AAAA;AAAA,MAAA;AAAA,IAGtC;AACE,YAAM,IAAI,MAAM,yBAAyBH,CAAI,EAAE;AAAA,EAAA;AAErD;AAWA,SAASK,GACPJ,GACAK,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAC,GACAC,GACAC,GACAC,GACAC,GACkB;AAClB,UAAQR,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,MAAM;AACb,UAAIO,KAAgBA,EAAA;AAAA,QACtB;AAAA,QACA,aAAaC,IACT,gCACA;AAAA,QACJ,UAAU,CAACA;AAAA,MAAA;AAAA,IAEf,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAUF;AAAA,QACV,aAAaG,GAAoBV,GAAY,CAAC,CAACO,CAAiB;AAAA,QAChE,SAAS,MAAM;AACb,UACEP,MAAeH,EAAW,QAC1BG,MAAeH,EAAW,YAE1BO,EAAsB;AAAA,YACpB,UAAAV;AAAA,YACA,qBAAqBY;AAAA,UAAA,CACtB,IAEDD,EAA4B,EAAI;AAAA,QAEpC;AAAA,MAAA;AAAA,IAEJ,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,MAAM;AACb,UAAAH,EAA0B,EAAI;AAAA,QAChC;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,IAEjB,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,MAAM;AACb,UAAAA,EAA0B,EAAI;AAAA,QAChC;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,IAEjB,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,MAAM;AACb,UAAAC,EAAsB,EAAI;AAAA,QAC5B;AAAA,QACA,aAAa;AAAA,MAAA;AAAA,EACf;AAEN;AAKA,MAAMO,KAAsB,CAC1BV,GACAW,MAEKA,IAIE,QADoBC,EAAyBZ,CAAU,CAC7B,6BAHxB;AAOJ,SAASa,GACdpB,GACoB;AACpB,UAAQA,GAAA;AAAA,IACN,KAAKI,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO;AAAA,QACL;AAAA,UAAC;AAAA;AAAA,QAAA;AAAA,QACD;AAAA,UAAC;AAAA,UAA0B;AAAA;AAAA,QAAA;AAAA,MAAiC;AAAA,IAEhE,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO,CAAC;AAAA,QAAC;AAAA,QAA0B;AAAA;AAAA,OAAkC;AAAA,IACvE,KAAKA,EAAW;AACd,aAAO,CAAC;AAAA,QAAC;AAAA;AAAA,OAAwC;AAAA,IACnD,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO;AAAA,QACL;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AAAA,IAChB,KAAKA,EAAW;AACd,aAAO,CAAC;AAAA,QAAC;AAAA,QAA4B;AAAA;AAAA,OAAkC;AAAA,IACzE,KAAKA,EAAW;AACd,aAAO,CAAC;AAAA,QAAC;AAAA;AAAA,OAAkC;AAAA,IAC7C;AAEE,YAAM,IAAI,MAAM,yBAAyBJ,CAAI,EAAE;AAAA,EAAA;AAErD;AAKA,SAASqB,GAA0BpB,GAAkBM,GAAwB;AAE3E,QAAM,EAAE,MAAMe,GAAY,WAAWC,EAAA,IACnCC,EAAavB,CAAQ,GAGjBwB,IAAiBlB,MAAeH,EAAW,SAC3C,EAAE,MAAMsB,GAAc,WAAWC,MAAoBC;AAAA,IACzD3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,SAASwB;AAAA,IAAA;AAAA,EACX;AAGF,MAAII;AAEJ,SAAIJ,IAEEC,GAAc,WAAWA,EAAa,QAAQ,SAAS,IAEzDG,IAAsBH,EAAa,QAAQ,CAAC,EAAE,gBAG9CG,IAAsB,SAIxBA,IACEP,KAAcQ,EAAoBR,CAAU,IACxCA,EAAW,gBACX,QAKD,EAAE,qBAAAO,GAAqB,WAFZN,KAAqBI,EAET;AAChC;AAGA,SAASI,GACP9B,GACAY,GACAN,GACoB;AACpB,MAAIyB;AAEJ,SAAIzB,MAAeH,EAAW,UAI5B4B,IAAMnB,IACF,iBAAiBZ,CAAQ,IAAIY,CAAa,KAC1C,iBAAiBZ,CAAQ,KAG7B+B,IAAM,iBAAiB/B,CAAQ,IAG1B;AAAA,IACL,cAAc;AAAA,IACd,UAAU,GAAGA,CAAQ;AAAA,IACrB,OAAO;AAAA,MACL,KAAA+B;AAAA,IAAA;AAAA,IAEF,UAAU;AAAA,EAAA;AAEd;AAEO,SAASC,GAAqBC,GAMlC;AAED,QAAM,EAAE,qBAAAL,MAAwBR;AAAA,IAC9Ba,EAAM;AAAA,IACNA,EAAM;AAAA,EAAA,GAGFC,IAA4BJ;AAAA,IAChCG,EAAM;AAAA,IACNL;AAAA,IACAK,EAAM;AAAA,EAAA,GAIF,EAAE,qBAAAE,GAAqB,iBAAApB,EAAA,IAAoBqB,EAAA,GAC3C,EAAE,QAAQ1B,EAAA,IAA0B2B,EAAyB;AAAA,IACjE,WAAW,CAAAC,MAAQ;AACjB,MAAIA,EAAK,qBAAqB,IAC5BC,GAA2CJ,CAAmB,IAE9DK,EAAa,uCAAuC,MAAM;AAAA,IAE9D;AAAA,IACA,SAAS,CAAAC,MAAS;AAChB,MAAAD,EAAaC,EAAM,QAAQ,QAAQ;AAAA,IACrC;AAAA,EAAA,CACD,GAGK,CAACC,GAAwBlC,CAAyB,IACtDmC,EAAkB,EAAK,GAGnB,CAACC,GAA0BjC,CAA2B,IAC1DgC,EAAkB,EAAK,GACnB,CAACE,GAA6BC,CAA8B,IAChEH,EAAkB,EAAK,GAEnBI,IAAgC,MAAM;AAC1C,IAAAvC,EAA0B,EAAK;AAAA,EACjC,GAEMwC,IAAoBC,EAAgBhB,EAAM,UAAU,GAEpD;AAAA,IACJ,MAAMiB;AAAA,IACN,WAAWC;AAAA,EAAA,IACTC;AAAA,IACF;AAAA,MACE,cACE;AAAA,MACF,SAAS;AAAA,QACP,UAAUnB,EAAM;AAAA,QAChB,cACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF;AAAA,MACE,SAASe;AAAA,IAAA;AAAA,EACX,GAGIK,IACJL,MACCG,KAAiCD,GAAsB,cAAc,IAElE,EAAE,MAAM7B,EAAA,IAAeE,EAAaU,EAAM,QAAQ,GAElD,EAAE,cAAAqB,EAAA,IAAiBC,GAAA,GAEnBC,IACJnC,KAAcoC,EAAapC,CAAU,IACjCA,EAAW,mBACX,QAEAP,IAAiB0C,IACnB,MAAM;AACJ,IAAKF,EAAa;AAAA,MAChB,cAAAE;AAAA,MACA,oBAAoBvB,EAAM;AAAA,MAC1B,sBAAsByB,EAAwB;AAAA,IAAA,CAC/C;AAAA,EACH,IACA,QAEEC,IACJtC,KAAcuC,EAAavC,CAAU,KAAK,CAACwC,EAAexC,CAAU,GAEhEyC,IACJzC,KACA0C,EAAU1C,CAAU,MACnB,CAACA,EAAW,SAASA,EAAW,MAAM,WAAW,IAE9CR,IACJwC,KAA6BM,KAAwBG,GAGjD,CAACE,GAAoBvD,CAAqB,IAAIkC,EAAkB,EAAK,GAErEsB,IAA4B,MAAM;AACtC,IAAAxD,EAAsB,EAAK;AAAA,EAC7B,GAIMyD,IADkB/C,GAAgCc,EAAM,UAAU,EAC9B;AAAA,IAAI,OAC5CkC,EAAY;AAAA,MAAI,CAAAC,MACdhE;AAAA,QACE6B,EAAM;AAAA,QACNA,EAAM;AAAA,QACNA,EAAM;AAAA,QACNmC;AAAA,QACA5D;AAAA,QACAC;AAAA,QACAC;AAAA,QACAC;AAAA,QACAiB;AAAA,QACAf;AAAA,QACAC;AAAA,QACAC;AAAA,MAAA;AAAA,IACF;AAAA,EACF,GAII,EAAE,SAAAsD,GAAS,OAAAC,GAAO,YAAAC,EAAA,IAAezE;AAAA,IACrCmC,EAAM;AAAA,IACNA,EAAM;AAAA,IACNL;AAAA,EAAA,GAGI4C,IAAuB5B,IAC3B,gBAAA6B;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAUzC,EAAM;AAAA,MAChB,aAAa,MAAMtB,EAA4B,EAAK;AAAA,MACpD,mBAAmBmC;AAAA,IAAA;AAAA,EAAA,IAEnB;AAEJ,SACE,gBAAA6B,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,OAAOX;AAAA,QACP,oBAAmB;AAAA,QACnB,eAAc;AAAA,QACd,aAAa;AAAA,UACX,SAAS;AAAA,UACT,6BAAYY,IAAA,EAAa;AAAA,UACzB,UAAU7C,EAAM,YAAYY;AAAA,QAAA;AAAA,MAC9B;AAAA,IAAA;AAAA,IAED2B,MACEvC,EAAM,+BAA+B,UAClC8C;AAAA,MACEP;AAAA,MACAvC,EAAM,8BAA8B;AAAA,IAAA,IAEtCuC;AAAA,IACN,gBAAAC;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,MAAMtC;AAAA,QACN,OAAO,wBAAwBT,EAAM,IAAI;AAAA,QACzC,SAASc;AAAA,QACT,YAAAwB;AAAA,QACA,OAAAD;AAAA,QACA,SAAAD;AAAA,QACA,SAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAETL,KACC,gBAAAS;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,oBAAoB/C;AAAA,QACpB,SAAS+B;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GAEJ;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, Fragment as l } from "react/jsx-runtime";
2
- import { useGetEntityBundle as a } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import a from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import "../../../../../synapse-client/SynapseClient.js";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
5
5
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
@@ -34,7 +34,7 @@ import { displayFilesWereAddedToDownloadListSuccess as h } from "../../../../dow
34
34
  import w from "../../../../IconSvg/IconSvg.js";
35
35
  import { displayToast as x } from "../../../../ToastMessage/ToastMessage.js";
36
36
  function to(n) {
37
- const { row: p } = n, { entityId: r, versionNumber: i } = p.original, { data: e } = a(r, i), { downloadCartPageUrl: d } = c(), { mutate: s } = g({
37
+ const { row: p } = n, { entityId: i, versionNumber: r } = p.original, { data: e } = a(i, r), { downloadCartPageUrl: d } = c(), { mutate: s } = g({
38
38
  onSuccess: () => {
39
39
  h(d);
40
40
  },
@@ -51,12 +51,12 @@ function to(n) {
51
51
  alignItems: "center",
52
52
  height: "100%"
53
53
  },
54
- children: /* @__PURE__ */ o(f, { title: "Add to Download Cart", placement: "right", children: /* @__PURE__ */ o(
54
+ children: /* @__PURE__ */ o(f, { title: "Add to Download List", placement: "right", children: /* @__PURE__ */ o(
55
55
  y,
56
56
  {
57
57
  sx: { height: "35px", width: "35px" },
58
58
  onClick: (t) => {
59
- s({ entityId: r, entityVersionNumber: i }), t.stopPropagation();
59
+ s({ entityId: i, entityVersionNumber: r }), t.stopPropagation();
60
60
  },
61
61
  children: /* @__PURE__ */ o(w, { icon: "download" })
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AddToDownloadListCell.js","sources":["../../../../../../src/components/EntityFinder/details/view/table/AddToDownloadListCell.tsx"],"sourcesContent":["import useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { useAddFileToDownloadList } from '@/synapse-queries/index'\nimport { useSynapseContext } from '@/utils/index'\nimport { Box, IconButton, Tooltip } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { CellContext } from '@tanstack/react-table'\nimport { EntityIdAndVersionNumber } from './TableCellTypes'\nimport { displayFilesWereAddedToDownloadListSuccess } from '../../../../download_list/DownloadConfirmationUtils'\nimport IconSvg from '../../../../IconSvg/IconSvg'\nimport { displayToast } from '../../../../ToastMessage/index'\n\nexport function AddFileToDownloadListCell<T extends EntityIdAndVersionNumber>(\n props: CellContext<T, unknown>,\n) {\n const { row } = props\n const { entityId, versionNumber } = row.original\n const { data: bundle } = useGetEntityBundle(entityId, versionNumber)\n\n const { downloadCartPageUrl } = useSynapseContext()\n\n const { mutate: addToDownloadList } = useAddFileToDownloadList({\n onSuccess: () => {\n displayFilesWereAddedToDownloadListSuccess(downloadCartPageUrl)\n },\n onError: error => {\n displayToast(error.reason, 'danger')\n },\n })\n if (\n !(\n bundle?.entityType == EntityType.file ||\n bundle?.entityType == EntityType.recordset\n )\n ) {\n return <></>\n }\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Tooltip title=\"Add to Download Cart\" placement=\"right\">\n <IconButton\n sx={{ height: '35px', width: '35px' }}\n onClick={event => {\n addToDownloadList({ entityId, entityVersionNumber: versionNumber })\n event.stopPropagation()\n }}\n >\n <IconSvg icon=\"download\" />\n </IconButton>\n </Tooltip>\n </Box>\n )\n}\n"],"names":["AddFileToDownloadListCell","props","row","entityId","versionNumber","bundle","useGetEntityBundle","downloadCartPageUrl","useSynapseContext","addToDownloadList","useAddFileToDownloadList","displayFilesWereAddedToDownloadListSuccess","error","displayToast","EntityType","jsx","Box","Tooltip","IconButton","event","IconSvg","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,SAASA,GACdC,GACA;AACA,QAAM,EAAE,KAAAC,MAAQD,GACV,EAAE,UAAAE,GAAU,eAAAC,EAAA,IAAkBF,EAAI,UAClC,EAAE,MAAMG,EAAA,IAAWC,EAAmBH,GAAUC,CAAa,GAE7D,EAAE,qBAAAG,EAAA,IAAwBC,EAAA,GAE1B,EAAE,QAAQC,EAAA,IAAsBC,EAAyB;AAAA,IAC7D,WAAW,MAAM;AACf,MAAAC,EAA2CJ,CAAmB;AAAA,IAChE;AAAA,IACA,SAAS,CAAAK,MAAS;AAChB,MAAAC,EAAaD,EAAM,QAAQ,QAAQ;AAAA,IACrC;AAAA,EAAA,CACD;AACD,SAEIP,GAAQ,cAAcS,EAAW,QACjCT,GAAQ,cAAcS,EAAW,YAMnC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,QAAQ;AAAA,MAAA;AAAA,MAGV,UAAA,gBAAAD,EAACE,GAAA,EAAQ,OAAM,wBAAuB,WAAU,SAC9C,UAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,IAAI,EAAE,QAAQ,QAAQ,OAAO,OAAA;AAAA,UAC7B,SAAS,CAAAC,MAAS;AAChB,YAAAV,EAAkB,EAAE,UAAAN,GAAU,qBAAqBC,EAAA,CAAe,GAClEe,EAAM,gBAAA;AAAA,UACR;AAAA,UAEA,UAAA,gBAAAJ,EAACK,GAAA,EAAQ,MAAK,WAAA,CAAW;AAAA,QAAA;AAAA,MAAA,EAC3B,CACF;AAAA,IAAA;AAAA,EAAA,IArBK,gBAAAL,EAAAM,GAAA,EAAE;AAwBb;"}
1
+ {"version":3,"file":"AddToDownloadListCell.js","sources":["../../../../../../src/components/EntityFinder/details/view/table/AddToDownloadListCell.tsx"],"sourcesContent":["import useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { useAddFileToDownloadList } from '@/synapse-queries/index'\nimport { useSynapseContext } from '@/utils/index'\nimport { Box, IconButton, Tooltip } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { CellContext } from '@tanstack/react-table'\nimport { EntityIdAndVersionNumber } from './TableCellTypes'\nimport { displayFilesWereAddedToDownloadListSuccess } from '../../../../download_list/DownloadConfirmationUtils'\nimport IconSvg from '../../../../IconSvg/IconSvg'\nimport { displayToast } from '../../../../ToastMessage/index'\n\nexport function AddFileToDownloadListCell<T extends EntityIdAndVersionNumber>(\n props: CellContext<T, unknown>,\n) {\n const { row } = props\n const { entityId, versionNumber } = row.original\n const { data: bundle } = useGetEntityBundle(entityId, versionNumber)\n\n const { downloadCartPageUrl } = useSynapseContext()\n\n const { mutate: addToDownloadList } = useAddFileToDownloadList({\n onSuccess: () => {\n displayFilesWereAddedToDownloadListSuccess(downloadCartPageUrl)\n },\n onError: error => {\n displayToast(error.reason, 'danger')\n },\n })\n if (\n !(\n bundle?.entityType == EntityType.file ||\n bundle?.entityType == EntityType.recordset\n )\n ) {\n return <></>\n }\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n }}\n >\n <Tooltip title=\"Add to Download List\" placement=\"right\">\n <IconButton\n sx={{ height: '35px', width: '35px' }}\n onClick={event => {\n addToDownloadList({ entityId, entityVersionNumber: versionNumber })\n event.stopPropagation()\n }}\n >\n <IconSvg icon=\"download\" />\n </IconButton>\n </Tooltip>\n </Box>\n )\n}\n"],"names":["AddFileToDownloadListCell","props","row","entityId","versionNumber","bundle","useGetEntityBundle","downloadCartPageUrl","useSynapseContext","addToDownloadList","useAddFileToDownloadList","displayFilesWereAddedToDownloadListSuccess","error","displayToast","EntityType","jsx","Box","Tooltip","IconButton","event","IconSvg","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,SAASA,GACdC,GACA;AACA,QAAM,EAAE,KAAAC,MAAQD,GACV,EAAE,UAAAE,GAAU,eAAAC,EAAA,IAAkBF,EAAI,UAClC,EAAE,MAAMG,EAAA,IAAWC,EAAmBH,GAAUC,CAAa,GAE7D,EAAE,qBAAAG,EAAA,IAAwBC,EAAA,GAE1B,EAAE,QAAQC,EAAA,IAAsBC,EAAyB;AAAA,IAC7D,WAAW,MAAM;AACf,MAAAC,EAA2CJ,CAAmB;AAAA,IAChE;AAAA,IACA,SAAS,CAAAK,MAAS;AAChB,MAAAC,EAAaD,EAAM,QAAQ,QAAQ;AAAA,IACrC;AAAA,EAAA,CACD;AACD,SAEIP,GAAQ,cAAcS,EAAW,QACjCT,GAAQ,cAAcS,EAAW,YAMnC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,QAAQ;AAAA,MAAA;AAAA,MAGV,UAAA,gBAAAD,EAACE,GAAA,EAAQ,OAAM,wBAAuB,WAAU,SAC9C,UAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,IAAI,EAAE,QAAQ,QAAQ,OAAO,OAAA;AAAA,UAC7B,SAAS,CAAAC,MAAS;AAChB,YAAAV,EAAkB,EAAE,UAAAN,GAAU,qBAAqBC,EAAA,CAAe,GAClEe,EAAM,gBAAA;AAAA,UACR;AAAA,UAEA,UAAA,gBAAAJ,EAACK,GAAA,EAAQ,MAAK,WAAA,CAAW;AAAA,QAAA;AAAA,MAAA,EAC3B,CACF;AAAA,IAAA;AAAA,EAAA,IArBK,gBAAAL,EAAAM,GAAA,EAAE;AAwBb;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { useGetEntityBundle as o } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import o from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { Skeleton as l } from "@mui/material";
4
4
  import { DateCell as a } from "./DateCell.js";
5
5
  function c(t) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, Fragment as r } from "react/jsx-runtime";
2
- import { useGetEntityBundle as o } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import o from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { Skeleton as m } from "@mui/material";
4
4
  import { EntityLink as a } from "../../../../EntityLink.js";
5
5
  function u(i) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o, Fragment as c } from "react/jsx-runtime";
2
- import { useGetEntityBundle as d } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import d from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { Skeleton as s, Tooltip as p } from "@mui/material";
4
4
  import { useMutation as m } from "@tanstack/react-query";
5
5
  import { displayToast as u } from "../../../../ToastMessage/ToastMessage.js";
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import { useGetEntityBundle as s } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import s from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { calculateFriendlyFileSize as c } from "../../../../../utils/functions/calculateFriendlyFileSize.js";
4
4
  import { Skeleton as f } from "@mui/material";
5
5
  function S(t) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { useGetEntityBundle as n } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import n from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { Skeleton as d } from "@mui/material";
4
4
  import { UserBadgeCell as l } from "./UserBadgeCell.js";
5
5
  function s(i) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { useGetEntityBundle as r } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import r from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import { Skeleton as l } from "@mui/material";
4
4
  import { DateCell as d } from "./DateCell.js";
5
5
  function s(t) {
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, Fragment as n } from "react/jsx-runtime";
2
- import { useGetEntityBundle as e } from "../../../../../synapse-queries/entity/useEntityBundle.js";
2
+ import e from "../../../../../synapse-queries/entity/useEntityBundle.js";
3
3
  import "../../../../../synapse-client/SynapseClient.js";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
5
5
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
@@ -29,7 +29,7 @@ import "react-router";
29
29
  import { EntityType as D } from "@sage-bionetworks/synapse-client";
30
30
  import "../../../utils/types/IsType.js";
31
31
  import { useGetEntityPath as Q } from "../../../synapse-queries/entity/useEntity.js";
32
- import { useGetEntityBundle as Z } from "../../../synapse-queries/entity/useEntityBundle.js";
32
+ import Z from "../../../synapse-queries/entity/useEntityBundle.js";
33
33
  import { useGetEntityHeader as ee } from "../../../synapse-queries/entity/useGetEntityHeaders.js";
34
34
  import { convertToEntityType as te } from "../../../utils/functions/EntityTypeUtils.js";
35
35
  import { useGetFavorites as re } from "../../../synapse-queries/user/useFavorites.js";
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeaderTable.d.ts","sourceRoot":"","sources":["../../../src/components/EntityHeaderTable/EntityHeaderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAiB7E,OAAO,EAEL,sBAAsB,EACvB,MAAM,mCAAmC,CAAA;AAsB1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,aAAa,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,KAAK,IAAI,CAAA;IAC/C,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElD,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,yBAAyB,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAA;CACpE,CAAA;AAKD,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,KAAK,CAAC,SAsgBR,CAAA"}
1
+ {"version":3,"file":"EntityHeaderTable.d.ts","sourceRoot":"","sources":["../../../src/components/EntityHeaderTable/EntityHeaderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAmB7E,OAAO,EAEL,sBAAsB,EACvB,MAAM,mCAAmC,CAAA;AAsB1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,aAAa,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,KAAK,IAAI,CAAA;IAC/C,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElD,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,yBAAyB,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAA;CACpE,CAAA;AAKD,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,KAAK,CAAC,SAsgBR,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { jsx as n, Fragment as B, jsxs as r } from "react/jsx-runtime";
2
2
  import L from "../../assets/icons/AddAd.js";
3
3
  import { StyledTableContainer as re } from "../styled/StyledTableContainer.js";
4
- import { useGetEntityHeaders as le } from "../../synapse-queries/entity/useGetEntityHeaders.js";
5
- import { entityTypeToFriendlyName as se, getEntityTypeFromHeader as ae, normalizeSynPrefix as V } from "../../utils/functions/EntityTypeUtils.js";
4
+ import { useGetEntityHeaders as se } from "../../synapse-queries/entity/useGetEntityHeaders.js";
5
+ import { entityTypeToFriendlyName as le, getEntityTypeFromHeader as ae, normalizeSynPrefix as V } from "../../utils/functions/EntityTypeUtils.js";
6
6
  import { SYNAPSE_ENTITY_ID_REGEX as j } from "../../utils/functions/RegularExpressions.js";
7
- import { AddCircleTwoTone as de } from "@mui/icons-material";
8
- import { Box as a, Typography as O, Button as M, IconButton as U, InputLabel as ce, TextField as me, Tooltip as pe, Alert as ue, AlertTitle as ge } from "@mui/material";
7
+ import { AddCircleTwoTone as ce } from "@mui/icons-material";
8
+ import { Box as a, Typography as O, Button as M, IconButton as U, InputLabel as de, TextField as me, Tooltip as pe, Alert as ue, AlertTitle as ge } from "@mui/material";
9
9
  import { useReactTable as ye, getFacetedMinMaxValues as he, getFacetedUniqueValues as fe, getFacetedRowModel as xe, getSortedRowModel as Ce, getFilteredRowModel as we, getCoreRowModel as Se, flexRender as _ } from "@tanstack/react-table";
10
10
  import { noop as Ie, upperFirst as Ee } from "lodash-es";
11
- import { parse as Fe } from "papaparse";
11
+ import Fe from "papaparse";
12
12
  import Re from "pluralize";
13
13
  import { useState as $, useCallback as E, useMemo as F, useEffect as De, Fragment as Te } from "react";
14
14
  import { EntityFinderModal as be } from "../EntityFinder/EntityFinderModal.js";
@@ -20,12 +20,12 @@ import { SkeletonTable as He } from "../Skeleton/SkeletonTable.js";
20
20
  import { CheckBoxCell as ke, CheckBoxHeader as ze, EntityHeaderNameCell as Ne, EntityHeaderIDCell as Pe, EntityHeaderTypeCell as Be } from "./EntityHeaderTableCellRenderers.js";
21
21
  import { Filter as Le } from "./Filter.js";
22
22
  import { useEntityHeaderTableState as Ve } from "./useEntityHeaderTableState.js";
23
- const je = {
23
+ const { parse: je } = Fe, Oe = {
24
24
  selectMultiple: !0,
25
25
  versionSelection: Me.DISALLOWED,
26
26
  initialScope: ve.ALL_PROJECTS,
27
27
  initialContainer: "root"
28
- }, Oe = 10, ct = (G) => {
28
+ }, Ue = 10, mt = (G) => {
29
29
  const {
30
30
  references: W,
31
31
  isEditable: p,
@@ -35,11 +35,11 @@ const je = {
35
35
  onUpdateEntityIDsTextbox: J,
36
36
  objectNameCopy: Y = "entity",
37
37
  hideTextFieldToPasteValue: R = !1,
38
- entityFinderConfiguration: X = je
38
+ entityFinderConfiguration: X = Oe
39
39
  } = G, [K, Q] = $([]), [Z, h] = $(!1), {
40
40
  rowSelection: f,
41
41
  setRowSelection: ee,
42
- refsInState: l,
42
+ refsInState: s,
43
43
  setRefsInState: g,
44
44
  newEntityIDs: i,
45
45
  setNewEntityIDs: x,
@@ -55,11 +55,11 @@ const je = {
55
55
  const e = t.map((o) => ({
56
56
  targetId: o.trim()
57
57
  }));
58
- g([...l, ...e]);
58
+ g([...s, ...e]);
59
59
  },
60
- [l, g]
60
+ [s, g]
61
61
  ), te = E(() => {
62
- i ? i.includes(",") ? Fe(i, {
62
+ i ? i.includes(",") ? je(i, {
63
63
  complete: (t) => {
64
64
  if (t.errors.length > 0) {
65
65
  const e = t.errors.map(
@@ -68,7 +68,7 @@ const je = {
68
68
  y(e);
69
69
  } else {
70
70
  const e = t.data[0], o = e.filter(
71
- (c) => !c.trim().match(j)
71
+ (d) => !d.trim().match(j)
72
72
  );
73
73
  o.length > 0 ? D(o) : T(e);
74
74
  }
@@ -104,7 +104,7 @@ const je = {
104
104
  header: "SynID"
105
105
  },
106
106
  {
107
- accessorFn: (t) => t.isDummy ? "-" : se(ae(t)),
107
+ accessorFn: (t) => t.isDummy ? "-" : le(ae(t)),
108
108
  id: "type",
109
109
  header: "Type",
110
110
  cell: Be,
@@ -119,18 +119,18 @@ const je = {
119
119
  data: v,
120
120
  isSuccess: oe,
121
121
  isLoading: z
122
- } = le(l, {
122
+ } = se(s, {
123
123
  throwOnError: !0
124
124
  }), w = F(() => {
125
125
  const t = v ? v?.results : [], e = /* @__PURE__ */ new Set();
126
126
  t.forEach(
127
- (s) => e.add(V(s.id))
127
+ (l) => e.add(V(l.id))
128
128
  );
129
- const c = l.filter(
130
- (s) => !e.has(V(s.targetId))
131
- ).map((s) => ({
132
- id: s.targetId,
133
- name: s.targetId,
129
+ const d = s.filter(
130
+ (l) => !e.has(V(l.targetId))
131
+ ).map((l) => ({
132
+ id: l.targetId,
133
+ name: l.targetId,
134
134
  benefactorId: -1,
135
135
  type: "org.sagebionetworks.repo.model.Project",
136
136
  createdOn: "",
@@ -140,8 +140,8 @@ const je = {
140
140
  isLatestVersion: !0,
141
141
  isDummy: !0
142
142
  }));
143
- return t.concat(c);
144
- }, [l, v]), d = ye({
143
+ return t.concat(d);
144
+ }, [s, v]), c = ye({
145
145
  data: w,
146
146
  columns: ne,
147
147
  state: {
@@ -163,18 +163,18 @@ const je = {
163
163
  columnResizeMode: "onChange"
164
164
  }), ie = E(() => {
165
165
  const e = w.filter(
166
- (o, c) => f[c] !== !0
166
+ (o, d) => f[d] !== !0
167
167
  ).map((o) => ({
168
168
  targetId: o.id
169
169
  }));
170
170
  g(e);
171
- }, [w, f, g]), N = k > 0, S = w.length, P = d.getPrePaginationRowModel().rows.length, I = S > Oe;
171
+ }, [w, f, g]), N = k > 0, S = w.length, P = c.getPrePaginationRowModel().rows.length, I = S > Ue;
172
172
  return De(
173
173
  function() {
174
- I || d.setColumnFilters([]);
174
+ I || c.setColumnFilters([]);
175
175
  },
176
- [d, I]
177
- ), z ? /* @__PURE__ */ n(He, { numCols: 3, numRows: Math.min(10, l.length) }) : oe ? /* @__PURE__ */ r("div", { children: [
176
+ [c, I]
177
+ ), z ? /* @__PURE__ */ n(He, { numCols: 3, numRows: Math.min(10, s.length) }) : oe ? /* @__PURE__ */ r("div", { children: [
178
178
  /* @__PURE__ */ r(
179
179
  a,
180
180
  {
@@ -192,7 +192,7 @@ const je = {
192
192
  P < S ? `(${P} visible)` : "",
193
193
  N && /* @__PURE__ */ n("span", { children: ` (${k} selected)` })
194
194
  ] }),
195
- p && l.length > 0 && /* @__PURE__ */ n(
195
+ p && s.length > 0 && /* @__PURE__ */ n(
196
196
  M,
197
197
  {
198
198
  variant: "contained",
@@ -211,8 +211,8 @@ const je = {
211
211
  display: "flex",
212
212
  pb: 2
213
213
  },
214
- children: d.getHeaderGroups().map(
215
- (t) => t.headers.map((e) => e.isPlaceholder ? null : /* @__PURE__ */ n(Te, { children: e.column.getCanFilter() && I ? /* @__PURE__ */ n(a, { sx: { flexGrow: 1 }, children: /* @__PURE__ */ n(Le, { column: e.column, table: d }) }) : null }, e.column.id))
214
+ children: c.getHeaderGroups().map(
215
+ (t) => t.headers.map((e) => e.isPlaceholder ? null : /* @__PURE__ */ n(Te, { children: e.column.getCanFilter() && I ? /* @__PURE__ */ n(a, { sx: { flexGrow: 1 }, children: /* @__PURE__ */ n(Le, { column: e.column, table: c }) }) : null }, e.column.id))
216
216
  )
217
217
  }
218
218
  ),
@@ -226,7 +226,7 @@ const je = {
226
226
  }
227
227
  },
228
228
  children: /* @__PURE__ */ r("table", { style: { borderCollapse: "collapse", width: "100%" }, children: [
229
- /* @__PURE__ */ n("thead", { children: d.getHeaderGroups().map((t) => /* @__PURE__ */ n("tr", { children: t.headers.map((e) => {
229
+ /* @__PURE__ */ n("thead", { children: c.getHeaderGroups().map((t) => /* @__PURE__ */ n("tr", { children: t.headers.map((e) => {
230
230
  let o = "5%";
231
231
  switch (e.id) {
232
232
  case "name":
@@ -308,7 +308,7 @@ const je = {
308
308
  e.id
309
309
  );
310
310
  }) }, t.id)) }),
311
- /* @__PURE__ */ n("tbody", { children: d.getRowModel().rows.map((t) => /* @__PURE__ */ n("tr", { style: { height: "30px" }, children: t.getVisibleCells().map((e) => /* @__PURE__ */ n(
311
+ /* @__PURE__ */ n("tbody", { children: c.getRowModel().rows.map((t) => /* @__PURE__ */ n("tr", { style: { height: "30px" }, children: t.getVisibleCells().map((e) => /* @__PURE__ */ n(
312
312
  "td",
313
313
  {
314
314
  style: {
@@ -334,13 +334,13 @@ const je = {
334
334
  confirmButtonCopy: `Add ${m}`,
335
335
  onConfirm: (t) => {
336
336
  if (R) {
337
- const e = [...l, ...t];
337
+ const e = [...s, ...t];
338
338
  g(e), A(e);
339
339
  } else {
340
- const e = t.map((s) => s.targetId), c = (i.trim().length > 0 ? i.concat(",") : i).concat(
340
+ const e = t.map((l) => l.targetId), d = (i.trim().length > 0 ? i.concat(",") : i).concat(
341
341
  e.join(",")
342
342
  );
343
- x(c);
343
+ x(d);
344
344
  }
345
345
  h(!1);
346
346
  },
@@ -364,7 +364,7 @@ const je = {
364
364
  }
365
365
  ),
366
366
  !R && /* @__PURE__ */ r(B, { children: [
367
- /* @__PURE__ */ n(ce, { htmlFor: "synIDs", children: "Add Synapse IDs" }),
367
+ /* @__PURE__ */ n(de, { htmlFor: "synIDs", children: "Add Synapse IDs" }),
368
368
  /* @__PURE__ */ r(
369
369
  a,
370
370
  {
@@ -400,7 +400,7 @@ const je = {
400
400
  variant: "outlined",
401
401
  onClick: te,
402
402
  disabled: z || i.trim().length == 0 || u,
403
- startIcon: /* @__PURE__ */ n(de, {}),
403
+ startIcon: /* @__PURE__ */ n(ce, {}),
404
404
  children: [
405
405
  "Add ",
406
406
  m
@@ -430,6 +430,6 @@ const je = {
430
430
  ] }) : /* @__PURE__ */ n(B, {});
431
431
  };
432
432
  export {
433
- ct as EntityHeaderTable
433
+ mt as EntityHeaderTable
434
434
  };
435
435
  //# sourceMappingURL=EntityHeaderTable.js.map