synapse-react-client 4.0.18 → 4.0.20

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 (1609) hide show
  1. package/dist/SWC.index.d.ts +3 -1
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +3 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  6. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  7. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  8. package/dist/assets/GoogleIcon.js.map +1 -1
  9. package/dist/assets/GoogleIcon24.js.map +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  11. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  12. package/dist/assets/homepage/aacr.js.map +1 -1
  13. package/dist/assets/homepage/cri.js.map +1 -1
  14. package/dist/assets/homepage/ctf.js.map +1 -1
  15. package/dist/assets/homepage/egress.js.map +1 -1
  16. package/dist/assets/homepage/facebook.js.map +1 -1
  17. package/dist/assets/homepage/fisma.js.map +1 -1
  18. package/dist/assets/homepage/gff.js.map +1 -1
  19. package/dist/assets/homepage/github.js.map +1 -1
  20. package/dist/assets/homepage/gray.js.map +1 -1
  21. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  22. package/dist/assets/homepage/instagram.js.map +1 -1
  23. package/dist/assets/homepage/linkedin.js.map +1 -1
  24. package/dist/assets/homepage/ml-commons.js.map +1 -1
  25. package/dist/assets/homepage/nih-aging.js.map +1 -1
  26. package/dist/assets/homepage/nih-heart.js.map +1 -1
  27. package/dist/assets/homepage/nih-nci.js.map +1 -1
  28. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  29. package/dist/assets/homepage/ntap.js.map +1 -1
  30. package/dist/assets/homepage/plan-item.js.map +1 -1
  31. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  32. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  33. package/dist/assets/homepage/python.js.map +1 -1
  34. package/dist/assets/homepage/r.js.map +1 -1
  35. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  36. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  37. package/dist/assets/homepage/sloan.js.map +1 -1
  38. package/dist/assets/homepage/twitter.js.map +1 -1
  39. package/dist/assets/homepage/users.js.map +1 -1
  40. package/dist/assets/homepage/youtube.js.map +1 -1
  41. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  42. package/dist/assets/icons/AccessPending.js.map +1 -1
  43. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  44. package/dist/assets/icons/AddAd.js.map +1 -1
  45. package/dist/assets/icons/AddToList.js.map +1 -1
  46. package/dist/assets/icons/Alert.js.map +1 -1
  47. package/dist/assets/icons/Arrow.js.map +1 -1
  48. package/dist/assets/icons/AwardScroll.js.map +1 -1
  49. package/dist/assets/icons/Baseline.js.map +1 -1
  50. package/dist/assets/icons/Cavatica.js.map +1 -1
  51. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  52. package/dist/assets/icons/Challenge.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  58. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  59. package/dist/assets/icons/ClappingHands.js.map +1 -1
  60. package/dist/assets/icons/CloudWarning.js.map +1 -1
  61. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  62. package/dist/assets/icons/CreateVersion.js.map +1 -1
  63. package/dist/assets/icons/DNA_Two.js.map +1 -1
  64. package/dist/assets/icons/Data2.js.map +1 -1
  65. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  66. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield.js.map +1 -1
  68. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  69. package/dist/assets/icons/FrontHand.js.map +1 -1
  70. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  71. package/dist/assets/icons/IconCopy.js.map +1 -1
  72. package/dist/assets/icons/IconMinus.js.map +1 -1
  73. package/dist/assets/icons/IconPlus.js.map +1 -1
  74. package/dist/assets/icons/Java.js.map +1 -1
  75. package/dist/assets/icons/MintDoi.js.map +1 -1
  76. package/dist/assets/icons/MultiFile.js.map +1 -1
  77. package/dist/assets/icons/MultiFile2.js.map +1 -1
  78. package/dist/assets/icons/NoData.js.map +1 -1
  79. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  80. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  81. package/dist/assets/icons/OpenBook.js.map +1 -1
  82. package/dist/assets/icons/Podium.js.map +1 -1
  83. package/dist/assets/icons/Python.js.map +1 -1
  84. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  85. package/dist/assets/icons/RLogo.js.map +1 -1
  86. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  87. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  88. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  89. package/dist/assets/icons/SearchImage.js.map +1 -1
  90. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  91. package/dist/assets/icons/Sort.js.map +1 -1
  92. package/dist/assets/icons/StarTrophy.js.map +1 -1
  93. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  94. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  95. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  96. package/dist/assets/icons/TasksIcon.js.map +1 -1
  97. package/dist/assets/icons/Terminal.js.map +1 -1
  98. package/dist/assets/icons/ThreeStars.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  100. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  101. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  102. package/dist/assets/icons/account-certified.js.map +1 -1
  103. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  104. package/dist/assets/icons/account-validated.js.map +1 -1
  105. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  106. package/dist/assets/icons/chart2.js.map +1 -1
  107. package/dist/assets/icons/columns.js.map +1 -1
  108. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  109. package/dist/assets/icons/computationalTool.js.map +1 -1
  110. package/dist/assets/icons/dataReuse.js.map +1 -1
  111. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  112. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  113. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  114. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  115. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  116. package/dist/assets/icons/file.js.map +1 -1
  117. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  118. package/dist/assets/icons/institution.js.map +1 -1
  119. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  120. package/dist/assets/icons/modelSystem.js.map +1 -1
  121. package/dist/assets/icons/mouse.js.map +1 -1
  122. package/dist/assets/icons/organizations.js.map +1 -1
  123. package/dist/assets/icons/person.js.map +1 -1
  124. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  125. package/dist/assets/icons/standardDataModel.js.map +1 -1
  126. package/dist/assets/icons/study-active.js.map +1 -1
  127. package/dist/assets/icons/study-complete.js.map +1 -1
  128. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  129. package/dist/assets/icons/synapse-logo.js.map +1 -1
  130. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  131. package/dist/assets/icons/translational.js.map +1 -1
  132. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  133. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  138. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  139. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  145. package/dist/assets/illustrations/index.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  155. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  156. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  157. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  158. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  159. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  160. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  161. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  162. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  163. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  164. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  165. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  166. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  167. package/dist/assets/mui_components/Clinical.js.map +1 -1
  168. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  169. package/dist/assets/mui_components/Data.js.map +1 -1
  170. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  171. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  172. package/dist/assets/mui_components/Dataset.js.map +1 -1
  173. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  174. package/dist/assets/mui_components/Docker.js.map +1 -1
  175. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  176. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  177. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  178. package/dist/assets/mui_components/Imaging.js.map +1 -1
  179. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  180. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  181. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  182. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  183. package/dist/assets/mui_components/Other.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  185. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  186. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  187. package/dist/assets/mui_components/Rat.js.map +1 -1
  188. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  192. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  196. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  197. package/dist/assets/themed_icons/Active.js.map +1 -1
  198. package/dist/assets/themed_icons/Chart.js.map +1 -1
  199. package/dist/assets/themed_icons/Close.js.map +1 -1
  200. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  201. package/dist/assets/themed_icons/Columns.js.map +1 -1
  202. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  203. package/dist/assets/themed_icons/Database.js.map +1 -1
  204. package/dist/assets/themed_icons/Download.js.map +1 -1
  205. package/dist/assets/themed_icons/Expand.js.map +1 -1
  206. package/dist/assets/themed_icons/Explore.js.map +1 -1
  207. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  208. package/dist/assets/themed_icons/Filter.js.map +1 -1
  209. package/dist/assets/themed_icons/Program.js.map +1 -1
  210. package/dist/assets/themed_icons/Project.js.map +1 -1
  211. package/dist/assets/themed_icons/Publication.js.map +1 -1
  212. package/dist/assets/themed_icons/Search.js.map +1 -1
  213. package/dist/assets/themed_icons/Settings.js.map +1 -1
  214. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  215. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  216. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  217. package/dist/assets/themed_icons/Study.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  220. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  221. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  222. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  223. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  224. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  225. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  227. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  229. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  231. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  241. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  249. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  250. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  252. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  253. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  254. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  256. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  260. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  263. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  264. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  265. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  267. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  268. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  269. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  270. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  271. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  272. package/dist/components/AddToDownloadListV2.js.map +1 -1
  273. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  274. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  275. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  276. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  277. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  278. package/dist/components/Authentication/LoginForm.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  280. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  281. package/dist/components/Authentication/Logout.js.map +1 -1
  282. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  283. package/dist/components/Authentication/PasswordField.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  285. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  286. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  287. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  288. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  289. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  293. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  294. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  295. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  296. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  297. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  298. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  299. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  300. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  301. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  302. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  303. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  304. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  305. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  306. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  307. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  308. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  309. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  310. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  311. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  312. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  313. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  314. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  315. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  316. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  317. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  322. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  323. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  324. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  325. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  326. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  330. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  332. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  333. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  334. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  335. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  336. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  337. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  338. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  339. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  340. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  341. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  342. package/dist/components/ComponentCollapse.js.map +1 -1
  343. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  344. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  345. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  346. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  347. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  348. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  349. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  350. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  351. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  352. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  353. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  354. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  355. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  356. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  357. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  358. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  359. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  360. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  361. package/dist/components/DataExplorer/DataExplorer.css +1 -0
  362. package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
  363. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
  364. package/dist/components/DataExplorer/DataExplorer.js +116 -0
  365. package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
  366. package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
  367. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
  368. package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
  369. package/dist/components/DataGrid/DataGrid.js +72 -72
  370. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  371. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  372. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  373. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  374. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  375. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  376. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  377. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  378. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  379. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  380. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  381. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  382. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  383. package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
  384. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
  387. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  389. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  390. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
  391. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
  392. package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
  393. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  394. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  395. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  397. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  399. package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
  400. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
  401. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  402. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  403. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +2 -0
  405. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
  408. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
  409. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  410. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  411. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  412. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  413. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  414. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  415. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  416. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  417. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  418. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  419. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  420. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  421. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  422. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  423. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  424. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  425. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  426. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  427. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  428. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  430. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  431. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  432. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  436. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  437. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  438. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  445. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  446. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  447. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  448. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  449. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  450. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  451. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  452. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  453. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  454. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  455. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  456. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  457. package/dist/components/DialogBase.js.map +1 -1
  458. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  459. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  460. package/dist/components/DirectDownloadButton.js.map +1 -1
  461. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  462. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  463. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  464. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  465. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  470. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  471. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  472. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  473. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  474. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  475. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  476. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  477. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  478. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  479. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  480. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  481. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  483. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  484. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  485. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  486. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  487. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  488. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  489. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  490. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  491. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  492. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  493. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  494. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  495. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  496. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  497. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  498. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  499. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  501. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  502. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  503. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  504. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  505. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  506. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  511. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  513. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  515. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  529. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  530. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  532. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  533. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  534. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  535. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  536. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  540. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  541. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  542. package/dist/components/EntityIcon.js.map +1 -1
  543. package/dist/components/EntityLink.js.map +1 -1
  544. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  545. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  553. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  554. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  557. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  558. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  559. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  561. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  562. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  563. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  564. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  565. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  566. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  568. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  569. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  570. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  571. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  576. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  577. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  578. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  579. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  580. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  581. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  582. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  583. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  584. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  585. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  590. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  591. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  592. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  593. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  594. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  595. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  596. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  597. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  598. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  599. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  600. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  601. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  602. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  603. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  604. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  605. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  606. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  607. package/dist/components/Forum/ForumPage.js.map +1 -1
  608. package/dist/components/Forum/ForumTable.js.map +1 -1
  609. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  610. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  611. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  612. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  613. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  614. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  615. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  616. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  617. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  618. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  620. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  623. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  624. package/dist/components/GenericCard/Linkify.js.map +1 -1
  625. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  627. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  629. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  630. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  631. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  632. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  633. package/dist/components/Goals/Goals.js +25 -27
  634. package/dist/components/Goals/Goals.js.map +1 -1
  635. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  636. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  637. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  638. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  639. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  640. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  641. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  642. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  643. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  644. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  645. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  646. package/dist/components/HasAccess/AccessIcon.js +10 -10
  647. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  648. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  649. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  650. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  651. package/dist/components/HeaderCard.js.map +1 -1
  652. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  653. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  654. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  655. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  656. package/dist/components/Icon/Icon.js.map +1 -1
  657. package/dist/components/IconList.js.map +1 -1
  658. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  659. package/dist/components/IconSvgButton.js.map +1 -1
  660. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  661. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  662. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  663. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  664. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  665. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  666. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  667. package/dist/components/JsonLdScript.js.map +1 -1
  668. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  669. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  670. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  685. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  686. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  687. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  688. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  689. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  690. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  693. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  694. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  696. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  697. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  698. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  699. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  700. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  701. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  702. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  703. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  704. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  705. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  713. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  714. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  715. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  716. package/dist/components/MuiContainer.js.map +1 -1
  717. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  718. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  719. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  720. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  721. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  722. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  723. package/dist/components/Plot/BarPlot.js.map +1 -1
  724. package/dist/components/Plot/DotPlot.js.map +1 -1
  725. package/dist/components/Plot/Plot.d.ts +12 -1
  726. package/dist/components/Plot/Plot.d.ts.map +1 -1
  727. package/dist/components/Plot/Plot.js +5 -1
  728. package/dist/components/Plot/Plot.js.map +1 -1
  729. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  730. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  731. package/dist/components/Plot/SynapseSankeyPlot.d.ts +12 -0
  732. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  733. package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
  734. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  735. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  736. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  737. package/dist/components/Plot/index.d.ts +3 -1
  738. package/dist/components/Plot/index.d.ts.map +1 -1
  739. package/dist/components/Plot/index.js +2 -1
  740. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  741. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  742. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  743. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  744. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  745. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  746. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  747. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  748. package/dist/components/PortalList/PortalCard.js.map +1 -1
  749. package/dist/components/PortalList/PortalList.js.map +1 -1
  750. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  751. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  752. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  753. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  754. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  755. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  756. package/dist/components/Programs/Programs.js.map +1 -1
  757. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  758. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  759. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  760. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  761. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  762. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  763. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  764. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  768. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  770. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  771. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  772. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  773. package/dist/components/QuerySortSelector.js.map +1 -1
  774. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  775. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  776. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  777. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
  778. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  779. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  780. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  781. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  782. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  783. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  784. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  785. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  786. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  787. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  788. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  789. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  790. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  791. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  792. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  793. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
  794. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  795. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
  796. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  800. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  801. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  802. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  803. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  804. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  805. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  808. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  809. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  810. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  811. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  812. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  813. package/dist/components/Resources/Resources.js +8 -11
  814. package/dist/components/Resources/Resources.js.map +1 -1
  815. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  816. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  817. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  818. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  819. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  820. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  827. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  828. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  829. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
  830. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
  832. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  833. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  834. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  835. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  839. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  840. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  841. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  842. package/dist/components/SignInButton.js.map +1 -1
  843. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  844. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  845. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  848. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  849. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  850. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  851. package/dist/components/SourceAppImage.js.map +1 -1
  852. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  853. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  854. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  855. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
  856. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
  857. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  858. package/dist/components/StatisticsPlot.js.map +1 -1
  859. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  860. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  861. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  862. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  863. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  864. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  865. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  866. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  867. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  868. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  869. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  870. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  871. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  872. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  873. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  874. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  875. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  876. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  877. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  878. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  879. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  880. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  881. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  882. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  883. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  884. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  885. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  886. package/dist/components/SynapseForm/Header.js.map +1 -1
  887. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  888. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  889. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  890. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  891. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  892. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  893. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  894. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  895. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  896. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  897. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  898. package/dist/components/SynapseForm/types.js.map +1 -1
  899. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  900. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  901. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  902. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  903. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  904. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  905. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  906. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  907. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  908. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  909. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  910. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  911. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  912. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  913. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  914. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  915. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  916. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  917. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  918. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  919. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  920. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  921. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  922. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  923. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  924. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  925. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  926. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  927. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  928. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  929. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  930. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  931. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  932. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  933. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  934. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  935. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  936. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  937. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  938. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  939. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  940. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  941. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  942. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  943. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  944. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  945. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  946. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  947. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  948. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  949. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  950. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  951. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  952. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  953. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  954. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  955. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  956. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  957. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  958. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  959. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  960. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  961. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  962. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  963. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  964. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  965. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  966. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  967. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  968. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  969. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  970. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  971. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  973. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  974. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  977. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  979. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  980. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  981. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  983. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  986. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  987. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  989. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  990. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  991. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  992. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +12 -12
  993. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +32 -32
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1006. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1008. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1011. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1016. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1017. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1018. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1019. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1020. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1021. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1022. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1023. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1024. package/dist/components/TeamBadge.js.map +1 -1
  1025. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1026. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1027. package/dist/components/TemplateComponent.js.map +1 -1
  1028. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1029. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1030. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1031. package/dist/components/TextField/TextField.js.map +1 -1
  1032. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1033. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1034. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1035. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1036. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1037. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1038. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1039. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1040. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1041. package/dist/components/TotalQueryResults.js.map +1 -1
  1042. package/dist/components/UserCard/Avatar.js.map +1 -1
  1043. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1044. package/dist/components/UserCard/UserCard.js.map +1 -1
  1045. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1046. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1047. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1048. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1049. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1050. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1051. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1052. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1053. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1054. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1055. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1056. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1057. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1058. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1059. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1060. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1061. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1062. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1063. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1064. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1065. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1066. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1067. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1068. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1069. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1070. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1071. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1072. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1073. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1074. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1075. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1076. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1077. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1078. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1079. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1080. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1081. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1082. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1083. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1084. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1085. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1086. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1087. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1088. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1089. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1090. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1091. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1092. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1093. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1094. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1095. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1096. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1097. package/dist/components/download_list/index.js.map +1 -1
  1098. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1099. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1100. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1101. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1102. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1103. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1104. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1105. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1106. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1107. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1108. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1109. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1110. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1111. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1112. package/dist/components/error/ErrorBanner.js.map +1 -1
  1113. package/dist/components/error/ErrorChip.js.map +1 -1
  1114. package/dist/components/error/ErrorPage.js +24 -24
  1115. package/dist/components/error/ErrorPage.js.map +1 -1
  1116. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1117. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1118. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1119. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1120. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1121. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1122. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1123. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1124. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1125. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1126. package/dist/components/index.js +48 -47
  1127. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1128. package/dist/components/layout/SWCHeader.js.map +1 -1
  1129. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1130. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1131. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1132. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1133. package/dist/components/row_renderers/Funder.js.map +1 -1
  1134. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1135. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1136. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1137. package/dist/components/styled/HoverPopover.js.map +1 -1
  1138. package/dist/components/styled/InlineBadge.js.map +1 -1
  1139. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1140. package/dist/components/styled/LargeButton.js.map +1 -1
  1141. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1142. package/dist/components/styled/LightTooltip.js.map +1 -1
  1143. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1144. package/dist/components/styled/StyledPopover.js.map +1 -1
  1145. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1146. package/dist/components/styled/WideButton.js.map +1 -1
  1147. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
  1148. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
  1149. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +113 -0
  1150. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
  1151. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1152. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
  1153. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
  1154. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
  1155. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1156. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
  1157. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
  1158. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
  1159. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
  1160. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
  1161. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
  1162. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
  1163. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
  1164. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
  1165. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
  1166. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
  1167. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
  1168. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
  1169. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
  1170. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
  1171. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
  1172. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
  1173. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
  1174. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
  1175. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
  1176. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
  1177. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
  1178. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
  1179. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
  1180. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1181. package/dist/components/trash/TrashCanList.js.map +1 -1
  1182. package/dist/components/utils/Blocker.js.map +1 -1
  1183. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1184. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1185. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1186. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1187. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1188. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1189. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1190. package/dist/components/widgets/Range.js.map +1 -1
  1191. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1192. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1193. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1194. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1195. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1196. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1197. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1203. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1204. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1205. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1206. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1217. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1219. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1220. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1221. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1222. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1223. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1224. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1225. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1226. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1227. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1228. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1229. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1230. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1231. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1233. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1234. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1235. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
  1237. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1238. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1246. package/dist/features/entity/metadata-task/utils/constants.d.ts +11 -3
  1247. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1249. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1251. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1254. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1255. package/dist/index.js +54 -53
  1256. package/dist/index.js.map +1 -1
  1257. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1258. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1259. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1260. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1261. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1262. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1263. package/dist/mocks/chat/mockChat.js.map +1 -1
  1264. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1265. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1266. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1268. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1269. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1270. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1271. package/dist/mocks/entity/index.js.map +1 -1
  1272. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1273. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1274. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1275. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1276. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1279. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1280. package/dist/mocks/entity/mockProject.js.map +1 -1
  1281. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1282. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1283. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1284. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1285. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1286. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1287. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1288. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1289. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1290. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1291. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1292. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1293. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1294. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1295. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1296. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1297. package/dist/mocks/mockSchema.js.map +1 -1
  1298. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1299. package/dist/mocks/mockShortIo.js.map +1 -1
  1300. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1301. package/dist/mocks/mockSubscription.js.map +1 -1
  1302. package/dist/mocks/mockWiki.js.map +1 -1
  1303. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1304. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1305. package/dist/mocks/mock_file_handle.js.map +1 -1
  1306. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1307. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1308. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1309. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1310. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1311. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1337. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1338. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1339. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers.js.map +1 -1
  1344. package/dist/mocks/msw/server.d.ts +1 -1
  1345. package/dist/mocks/msw/server.d.ts.map +1 -1
  1346. package/dist/mocks/msw/server.js.map +1 -1
  1347. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1348. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1349. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1350. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1351. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1352. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1353. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1354. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1355. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1356. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1357. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1358. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1359. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1360. package/dist/mocks/query/syn16787123.js.map +1 -1
  1361. package/dist/mocks/query/syn17328596.js.map +1 -1
  1362. package/dist/mocks/query/syn51735464.js.map +1 -1
  1363. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1364. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1365. package/dist/mocks/team/mockTeam.js.map +1 -1
  1366. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1367. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1368. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1369. package/dist/ror-client/index.js.map +1 -1
  1370. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1371. package/dist/stories/ToastDemo.js.map +1 -1
  1372. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1373. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1374. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1375. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1376. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1377. package/dist/synapse-client/HttpClient.js.map +1 -1
  1378. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1379. package/dist/synapse-client/SynapseClient.js +61 -69
  1380. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1381. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1382. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1383. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1384. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1385. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1386. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1387. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1388. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1389. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1390. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1391. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1392. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1393. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1394. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1395. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1396. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1397. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1398. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1399. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1400. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1401. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1402. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1403. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1404. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1405. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1406. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1407. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1408. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1409. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1410. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1411. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1412. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1413. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1414. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1415. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1416. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1417. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1418. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1423. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1424. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1425. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1426. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1427. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1428. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1429. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1430. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1431. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1432. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1433. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1434. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1435. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1436. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1437. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1438. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1439. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1440. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1441. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1442. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1443. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1444. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1445. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1446. package/dist/synapse-queries/ror/index.js.map +1 -1
  1447. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1448. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1449. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1450. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1451. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1452. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1453. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1454. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1455. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1456. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1457. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1458. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1459. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1460. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1461. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1462. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1463. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1464. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1465. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1466. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1467. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1468. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1469. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1470. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1471. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1472. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1473. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1474. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1475. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1476. package/dist/testutils/LocationTracker.js.map +1 -1
  1477. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1478. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1479. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1480. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1481. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1482. package/dist/testutils/vitest.setup.js.map +1 -1
  1483. package/dist/theme/DefaultTheme.js.map +1 -1
  1484. package/dist/theme/ThemeProvider.js.map +1 -1
  1485. package/dist/theme/mergeTheme.js.map +1 -1
  1486. package/dist/theme/palette/Palettes.js.map +1 -1
  1487. package/dist/theme/spreadSx.js.map +1 -1
  1488. package/dist/theme/typography/Link.js.map +1 -1
  1489. package/dist/theme/typography/Typography.js.map +1 -1
  1490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1491. package/dist/utils/APIConstants.js.map +1 -1
  1492. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1493. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1494. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1495. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1496. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1497. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1498. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1499. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1500. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1501. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1502. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1503. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1504. package/dist/utils/SynapseConstants.js.map +1 -1
  1505. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1506. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1507. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1508. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1509. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1510. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1511. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1512. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1513. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1514. package/dist/utils/context/SynapseContext.js.map +1 -1
  1515. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -1
  1516. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  1517. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  1518. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1519. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1520. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1521. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1522. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1523. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1524. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1525. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1526. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1527. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1528. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1529. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1530. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1531. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1532. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1533. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1534. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1535. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1536. package/dist/utils/functions/StringUtils.js.map +1 -1
  1537. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1538. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1539. package/dist/utils/functions/colorPalette.js.map +1 -1
  1540. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1541. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1542. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1543. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1544. package/dist/utils/functions/getEndpoint.js +3 -3
  1545. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1546. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1547. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1548. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1549. package/dist/utils/functions/getUserData.js.map +1 -1
  1550. package/dist/utils/functions/queryUtils.js.map +1 -1
  1551. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1552. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1553. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1554. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1555. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1556. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1557. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1558. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1559. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1560. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1561. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1562. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1563. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1564. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1565. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1566. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1567. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1568. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1569. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1570. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1571. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1572. package/dist/utils/hooks/useListState.js.map +1 -1
  1573. package/dist/utils/hooks/useLogin.js.map +1 -1
  1574. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1575. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1576. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1577. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1578. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1579. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1580. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1581. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1582. package/dist/utils/hooks/useSet.js.map +1 -1
  1583. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1584. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1585. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1586. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1587. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1588. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1589. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1590. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1591. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1592. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1593. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1594. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1595. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1596. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1597. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1598. package/dist/utils/html/TargetEnum.js.map +1 -1
  1599. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1600. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1601. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1602. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1603. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1604. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1605. package/dist/utils/jsonschema/getType.js.map +1 -1
  1606. package/dist/utils/searchDefaults.js.map +1 -1
  1607. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1608. package/dist/utils/types/IsType.js.map +1 -1
  1609. package/package.json +67 -66
@@ -1 +1 @@
1
- {"version":3,"file":"PortalSectionHeader.js","names":[],"sources":["../../../src/components/PortalSectionHeader/PortalSectionHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { isExternalLink } from '@/utils/functions/IsExternalLink'\nimport {\n Box,\n Button,\n Link as MuiLink,\n Stack,\n SxProps,\n Theme,\n Typography,\n} from '@mui/material'\nimport { Link as RouterLink } from 'react-router'\n\nexport type PortalSectionHeaderProps = {\n title: string\n buttonText?: string\n summaryText?: React.ReactNode\n link?: string\n sx?: SxProps<Theme>\n centered?: boolean\n reverseButtonAndText?: boolean\n}\n\nconst PortalSectionHeader = ({\n title,\n buttonText,\n summaryText,\n link,\n sx,\n centered = false,\n reverseButtonAndText = false,\n}: PortalSectionHeaderProps): React.ReactNode => {\n const isExternal = isExternalLink(link ?? '')\n\n return (\n <Box\n sx={spreadSx(sx, {\n ...(centered && {\n width: '100%',\n }),\n })}\n >\n <Stack\n sx={{\n gap: '16px',\n ...(centered && {\n textAlign: 'center',\n alignItems: 'center',\n }),\n }}\n >\n <Typography\n variant=\"headline2\"\n sx={theme => ({\n paddingTop: '30px',\n color: 'grey.1000',\n fontSize: { xs: '24px', md: '32px' },\n borderTop: '4px solid',\n borderColor: 'grey.400',\n [theme.breakpoints.down('md')]: {\n width: '100%',\n },\n })}\n >\n {title}\n </Typography>\n {(buttonText || summaryText) && (\n <Stack\n sx={{\n gap: '16px',\n width: '100%',\n ...(centered && {\n alignItems: 'center',\n width: '100%',\n }),\n ...(reverseButtonAndText && {\n flexDirection: 'column-reverse',\n }),\n }}\n >\n {buttonText && (\n <Button\n variant=\"contained\"\n component={isExternal ? MuiLink : RouterLink}\n {...(isExternal\n ? {\n href: link,\n target: '_blank',\n rel: 'noopener noreferrer',\n }\n : { to: link })}\n sx={theme => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n maxWidth: '100%',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n padding: { xs: '6px', sm: '6px 24px' },\n fontWeight: '600',\n fontSize: { xs: '16px', sm: '18px' },\n lineHeight: '144%',\n })}\n >\n {buttonText}\n </Button>\n )}\n {summaryText && (\n <Typography\n variant=\"body1\"\n sx={{\n fontStyle: 'italic',\n color: 'grey.800',\n fontSize: '18px',\n lineHeight: '27px',\n }}\n >\n {summaryText}\n </Typography>\n )}\n </Stack>\n )}\n </Stack>\n </Box>\n )\n}\n\nexport default PortalSectionHeader\n"],"mappings":";;;;;;;AAwBA,IAAM,KAAuB,EAC3B,UACA,eACA,gBACA,SACA,OACA,cAAW,IACX,0BAAuB,SACwB;CAC/C,IAAM,IAAa,EAAe,KAAQ,GAAG;AAE7C,QACE,kBAAC,GAAD;EACE,IAAI,EAAS,GAAI,EACf,GAAI,KAAY,EACd,OAAO,QACR,EACF,CAAC;YAEF,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,GAAI,KAAY;KACd,WAAW;KACX,YAAY;KACb;IACF;aAPH,CASE,kBAAC,GAAD;IACE,SAAQ;IACR,KAAI,OAAU;KACZ,YAAY;KACZ,OAAO;KACP,UAAU;MAAE,IAAI;MAAQ,IAAI;MAAQ;KACpC,WAAW;KACX,aAAa;MACZ,EAAM,YAAY,KAAK,KAAK,GAAG,EAC9B,OAAO,QACR;KACF;cAEA;IACU,CAAA,GACX,KAAc,MACd,kBAAC,GAAD;IACE,IAAI;KACF,KAAK;KACL,OAAO;KACP,GAAI,KAAY;MACd,YAAY;MACZ,OAAO;MACR;KACD,GAAI,KAAwB,EAC1B,eAAe,kBAChB;KACF;cAXH,CAaG,KACC,kBAAC,GAAD;KACE,SAAQ;KACR,WAAW,IAAa,IAAU;KAClC,GAAK,IACD;MACE,MAAM;MACN,QAAQ;MACR,KAAK;MACN,GACD,EAAE,IAAI,GAAM;KAChB,KAAI,OAAU;OACX,EAAM,YAAY,KAAK,KAAK,GAAG,EAC9B,OAAO,QACR;MACD,UAAU;MACV,OAAO;MACP,YAAY;MACZ,SAAS;OAAE,IAAI;OAAO,IAAI;OAAY;MACtC,YAAY;MACZ,UAAU;OAAE,IAAI;OAAQ,IAAI;OAAQ;MACpC,YAAY;MACb;eAEA;KACM,CAAA,EAEV,KACC,kBAAC,GAAD;KACE,SAAQ;KACR,IAAI;MACF,WAAW;MACX,OAAO;MACP,UAAU;MACV,YAAY;MACb;eAEA;KACU,CAAA,CAET;MAEJ;;EACJ,CAAA"}
1
+ {"version":3,"file":"PortalSectionHeader.js","names":[],"sources":["../../../src/components/PortalSectionHeader/PortalSectionHeader.tsx"],"sourcesContent":["import React from 'react'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { isExternalLink } from '@/utils/functions/IsExternalLink'\nimport {\n Box,\n Button,\n Link as MuiLink,\n Stack,\n SxProps,\n Theme,\n Typography,\n} from '@mui/material'\nimport { Link as RouterLink } from 'react-router'\n\nexport type PortalSectionHeaderProps = {\n title: string\n buttonText?: string\n summaryText?: React.ReactNode\n link?: string\n sx?: SxProps<Theme>\n centered?: boolean\n reverseButtonAndText?: boolean\n}\n\nconst PortalSectionHeader = ({\n title,\n buttonText,\n summaryText,\n link,\n sx,\n centered = false,\n reverseButtonAndText = false,\n}: PortalSectionHeaderProps): React.ReactNode => {\n const isExternal = isExternalLink(link ?? '')\n\n return (\n <Box\n sx={spreadSx(sx, {\n ...(centered && {\n width: '100%',\n }),\n })}\n >\n <Stack\n sx={{\n gap: '16px',\n ...(centered && {\n textAlign: 'center',\n alignItems: 'center',\n }),\n }}\n >\n <Typography\n variant=\"headline2\"\n sx={theme => ({\n paddingTop: '30px',\n color: 'grey.1000',\n fontSize: { xs: '24px', md: '32px' },\n borderTop: '4px solid',\n borderColor: 'grey.400',\n [theme.breakpoints.down('md')]: {\n width: '100%',\n },\n })}\n >\n {title}\n </Typography>\n {(buttonText || summaryText) && (\n <Stack\n sx={{\n gap: '16px',\n width: '100%',\n ...(centered && {\n alignItems: 'center',\n width: '100%',\n }),\n ...(reverseButtonAndText && {\n flexDirection: 'column-reverse',\n }),\n }}\n >\n {buttonText && (\n <Button\n variant=\"contained\"\n component={isExternal ? MuiLink : RouterLink}\n {...(isExternal\n ? {\n href: link,\n target: '_blank',\n rel: 'noopener noreferrer',\n }\n : { to: link })}\n sx={theme => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n maxWidth: '100%',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n padding: { xs: '6px', sm: '6px 24px' },\n fontWeight: '600',\n fontSize: { xs: '16px', sm: '18px' },\n lineHeight: '144%',\n })}\n >\n {buttonText}\n </Button>\n )}\n {summaryText && (\n <Typography\n variant=\"body1\"\n sx={{\n fontStyle: 'italic',\n color: 'grey.800',\n fontSize: '18px',\n lineHeight: '27px',\n }}\n >\n {summaryText}\n </Typography>\n )}\n </Stack>\n )}\n </Stack>\n </Box>\n )\n}\n\nexport default PortalSectionHeader\n"],"mappings":";;;;;;;AAwBA,IAAM,KAAuB,EAC3B,UACA,eACA,gBACA,SACA,OACA,cAAW,IACX,0BAAuB,SACwB;CAC/C,IAAM,IAAa,EAAe,KAAQ,EAAE;CAE5C,OACE,kBAAC,GAAD;EACE,IAAI,EAAS,GAAI,EACf,GAAI,KAAY,EACd,OAAO,OACT,EACF,CAAC;YAED,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,GAAI,KAAY;KACd,WAAW;KACX,YAAY;IACd;GACF;aAPF,CASE,kBAAC,GAAD;IACE,SAAQ;IACR,KAAI,OAAU;KACZ,YAAY;KACZ,OAAO;KACP,UAAU;MAAE,IAAI;MAAQ,IAAI;KAAO;KACnC,WAAW;KACX,aAAa;MACZ,EAAM,YAAY,KAAK,IAAI,IAAI,EAC9B,OAAO,OACT;IACF;cAEC;GACS,CAAA,IACV,KAAc,MACd,kBAAC,GAAD;IACE,IAAI;KACF,KAAK;KACL,OAAO;KACP,GAAI,KAAY;MACd,YAAY;MACZ,OAAO;KACT;KACA,GAAI,KAAwB,EAC1B,eAAe,iBACjB;IACF;cAXF,CAaG,KACC,kBAAC,GAAD;KACE,SAAQ;KACR,WAAW,IAAa,IAAU;KAClC,GAAK,IACD;MACE,MAAM;MACN,QAAQ;MACR,KAAK;KACP,IACA,EAAE,IAAI,EAAK;KACf,KAAI,OAAU;OACX,EAAM,YAAY,KAAK,IAAI,IAAI,EAC9B,OAAO,OACT;MACA,UAAU;MACV,OAAO;MACP,YAAY;MACZ,SAAS;OAAE,IAAI;OAAO,IAAI;MAAW;MACrC,YAAY;MACZ,UAAU;OAAE,IAAI;OAAQ,IAAI;MAAO;MACnC,YAAY;KACd;eAEC;IACK,CAAA,GAET,KACC,kBAAC,GAAD;KACE,SAAQ;KACR,IAAI;MACF,WAAW;MACX,OAAO;MACP,UAAU;MACV,YAAY;KACd;eAEC;IACS,CAAA,CAET;KAEJ;;CACJ,CAAA;AAET"}
@@ -5,10 +5,10 @@ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
5
5
  //#region src/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.tsx
6
6
  var u = /* @__PURE__ */ function(e) {
7
7
  return e.COMMAND_LINE = "Command Line", e.R = "R", e.PYTHON = "Python", e;
8
- }({}), d = ({ show: d, title: f, onClose: p, pythonNotes: m, pythonCode: h, rNotes: g, rCode: _, cliNotes: v, cliCode: y, helpMarkdown: b, helpUrl: x }) => {
9
- let S;
10
- S = y ? u.COMMAND_LINE : h ? u.PYTHON : u.R;
11
- let [C, w] = t(S), T = /* @__PURE__ */ l(o, {
8
+ }({}), d = ({ show: u, title: d, onClose: f, pythonNotes: p, pythonCode: m, rNotes: h, rCode: g, cliNotes: _, cliCode: v, helpMarkdown: y, helpUrl: b }) => {
9
+ let x;
10
+ x = v ? "Command Line" : m ? "Python" : "R";
11
+ let [S, C] = t(x), w = /* @__PURE__ */ l(o, {
12
12
  variant: "body1",
13
13
  children: [
14
14
  "Installation instructions are available at our",
@@ -21,74 +21,74 @@ var u = /* @__PURE__ */ function(e) {
21
21
  }),
22
22
  "."
23
23
  ]
24
- }), E = /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(n, {
25
- sx: {
26
- borderBottom: 1,
27
- borderColor: "divider",
28
- marginBottom: 4
29
- },
30
- children: /* @__PURE__ */ l(a, {
31
- value: C,
32
- onChange: (e, t) => {
33
- e.stopPropagation(), w(t);
34
- },
35
- textColor: "secondary",
36
- indicatorColor: "secondary",
37
- children: [
38
- y && /* @__PURE__ */ c(i, {
39
- value: u.COMMAND_LINE,
40
- label: u.COMMAND_LINE
41
- }),
42
- _ && /* @__PURE__ */ c(i, {
43
- value: u.R,
44
- label: u.R
45
- }),
46
- h && /* @__PURE__ */ c(i, {
47
- value: u.PYTHON,
48
- label: u.PYTHON
49
- })
50
- ]
51
- })
52
- }), /* @__PURE__ */ l(n, {
53
- sx: { "& > p": { marginBottom: 3 } },
54
- children: [
55
- C === u.COMMAND_LINE && /* @__PURE__ */ l(s, { children: [
56
- /* @__PURE__ */ c(o, {
57
- variant: "body1",
58
- children: v
59
- }),
60
- T,
61
- /* @__PURE__ */ c("pre", { children: y })
62
- ] }),
63
- C === u.R && /* @__PURE__ */ l(s, { children: [
64
- /* @__PURE__ */ c(o, {
65
- variant: "body1",
66
- children: g
67
- }),
68
- T,
69
- /* @__PURE__ */ c("pre", { children: _ })
70
- ] }),
71
- C === u.PYTHON && /* @__PURE__ */ l(s, { children: [
72
- /* @__PURE__ */ c(o, {
73
- variant: "body1",
74
- children: m
75
- }),
76
- T,
77
- /* @__PURE__ */ c("pre", { children: h })
78
- ] })
79
- ]
80
- })] });
24
+ });
81
25
  return /* @__PURE__ */ c(e, {
82
- open: d,
83
- title: f,
84
- onCancel: p,
85
- onConfirm: p,
26
+ open: u,
27
+ title: d,
28
+ onCancel: f,
29
+ onConfirm: f,
86
30
  maxWidth: "md",
87
- titleHelpPopoverProps: b ? {
88
- markdownText: b,
89
- helpUrl: x
31
+ titleHelpPopoverProps: y ? {
32
+ markdownText: y,
33
+ helpUrl: b
90
34
  } : void 0,
91
- content: E,
35
+ content: /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(n, {
36
+ sx: {
37
+ borderBottom: 1,
38
+ borderColor: "divider",
39
+ marginBottom: 4
40
+ },
41
+ children: /* @__PURE__ */ l(a, {
42
+ value: S,
43
+ onChange: (e, t) => {
44
+ e.stopPropagation(), C(t);
45
+ },
46
+ textColor: "secondary",
47
+ indicatorColor: "secondary",
48
+ children: [
49
+ v && /* @__PURE__ */ c(i, {
50
+ value: "Command Line",
51
+ label: "Command Line"
52
+ }),
53
+ g && /* @__PURE__ */ c(i, {
54
+ value: "R",
55
+ label: "R"
56
+ }),
57
+ m && /* @__PURE__ */ c(i, {
58
+ value: "Python",
59
+ label: "Python"
60
+ })
61
+ ]
62
+ })
63
+ }), /* @__PURE__ */ l(n, {
64
+ sx: { "& > p": { marginBottom: 3 } },
65
+ children: [
66
+ S === "Command Line" && /* @__PURE__ */ l(s, { children: [
67
+ /* @__PURE__ */ c(o, {
68
+ variant: "body1",
69
+ children: _
70
+ }),
71
+ w,
72
+ /* @__PURE__ */ c("pre", { children: v })
73
+ ] }),
74
+ S === "R" && /* @__PURE__ */ l(s, { children: [
75
+ /* @__PURE__ */ c(o, {
76
+ variant: "body1",
77
+ children: h
78
+ }),
79
+ w,
80
+ /* @__PURE__ */ c("pre", { children: g })
81
+ ] }),
82
+ S === "Python" && /* @__PURE__ */ l(s, { children: [
83
+ /* @__PURE__ */ c(o, {
84
+ variant: "body1",
85
+ children: p
86
+ }),
87
+ w,
88
+ /* @__PURE__ */ c("pre", { children: m })
89
+ ] })
90
+ ]
91
+ })] }),
92
92
  hasCancelButton: !1
93
93
  });
94
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammaticInstructionsModal.js","names":[],"sources":["../../../src/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Link, Tab, Tabs, Typography } from '@mui/material'\nimport { ReactElement, SyntheticEvent, useState } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\n\nexport enum ProgrammaticOptionsTabs {\n COMMAND_LINE = 'Command Line',\n R = 'R',\n PYTHON = 'Python',\n}\n\nexport type ProgrammaticInstructionsModalProps = {\n show: boolean\n title: string\n onClose: () => void\n pythonNotes?: ReactElement\n pythonCode?: string\n rNotes?: ReactElement\n rCode?: string\n cliNotes?: ReactElement\n cliCode?: string\n helpMarkdown?: string\n helpUrl?: string\n}\n\n/**\n * Modal used to show programmatic instructions\n * @param props\n * @returns\n */\n\nexport const ProgrammaticInstructionsModal = ({\n show,\n title,\n onClose,\n pythonNotes,\n pythonCode,\n rNotes,\n rCode,\n cliNotes,\n cliCode,\n helpMarkdown,\n helpUrl,\n}: ProgrammaticInstructionsModalProps): React.ReactNode => {\n let defaultTab\n if (cliCode) {\n defaultTab = ProgrammaticOptionsTabs.COMMAND_LINE\n } else if (pythonCode) {\n defaultTab = ProgrammaticOptionsTabs.PYTHON\n } else {\n defaultTab = ProgrammaticOptionsTabs.R\n }\n const [currentTab, setCurrentTab] =\n useState<ProgrammaticOptionsTabs>(defaultTab)\n\n const installationInstructions = (\n <Typography variant=\"body1\">\n Installation instructions are available at our{' '}\n <Link\n href={\n 'https://help.synapse.org/docs/Installing-Synapse-API-Clients.1985249668.html'\n }\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Synapse API Documentation Site\n </Link>\n .\n </Typography>\n )\n\n const dialogContent = (\n <>\n <Box\n sx={{\n borderBottom: 1,\n borderColor: 'divider',\n marginBottom: 4,\n }}\n >\n <Tabs\n value={currentTab}\n onChange={(\n event: SyntheticEvent,\n newValue: ProgrammaticOptionsTabs,\n ) => {\n event.stopPropagation()\n setCurrentTab(newValue)\n }}\n textColor=\"secondary\"\n indicatorColor=\"secondary\"\n >\n {cliCode && (\n <Tab\n value={ProgrammaticOptionsTabs.COMMAND_LINE}\n label={ProgrammaticOptionsTabs.COMMAND_LINE}\n />\n )}\n {rCode && (\n <Tab\n value={ProgrammaticOptionsTabs.R}\n label={ProgrammaticOptionsTabs.R}\n />\n )}\n {pythonCode && (\n <Tab\n value={ProgrammaticOptionsTabs.PYTHON}\n label={ProgrammaticOptionsTabs.PYTHON}\n />\n )}\n </Tabs>\n </Box>\n <Box sx={{ '& > p': { marginBottom: 3 } }}>\n {currentTab === ProgrammaticOptionsTabs.COMMAND_LINE && (\n <>\n <Typography variant=\"body1\">{cliNotes}</Typography>\n {installationInstructions}\n <pre>{cliCode}</pre>\n </>\n )}\n {currentTab === ProgrammaticOptionsTabs.R && (\n <>\n <Typography variant=\"body1\">{rNotes}</Typography>\n {installationInstructions}\n <pre>{rCode}</pre>\n </>\n )}\n {currentTab === ProgrammaticOptionsTabs.PYTHON && (\n <>\n <Typography variant=\"body1\">{pythonNotes}</Typography>\n {installationInstructions}\n <pre>{pythonCode}</pre>\n </>\n )}\n </Box>\n </>\n )\n\n const titleHelpPopoverProps = helpMarkdown\n ? {\n markdownText: helpMarkdown,\n helpUrl: helpUrl,\n }\n : undefined\n\n return (\n <ConfirmationDialog\n open={show}\n title={title}\n onCancel={onClose}\n onConfirm={onClose}\n maxWidth=\"md\"\n titleHelpPopoverProps={titleHelpPopoverProps}\n content={dialogContent}\n hasCancelButton={false}\n />\n )\n}\n\nexport default ProgrammaticInstructionsModal\n"],"mappings":";;;;;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,eAAe,gBACf,EAAA,IAAI,KACJ,EAAA,SAAS;KACV,EAsBY,KAAiC,EAC5C,SACA,UACA,YACA,gBACA,eACA,WACA,UACA,aACA,YACA,iBACA,iBACyD;CACzD,IAAI;AACJ,CAKE,IALE,IACW,EAAwB,eAC5B,IACI,EAAwB,SAExB,EAAwB;CAEvC,IAAM,CAAC,GAAY,KACjB,EAAkC,EAAW,EAEzC,IACJ,kBAAC,GAAD;EAAY,SAAQ;YAApB;GAA4B;GACqB;GAC/C,kBAAC,GAAD;IACE,MACE;IAEF,QAAO;IACP,KAAI;cACL;IAEM,CAAA;;GAEI;KAGT,IACJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,IAAI;GACF,cAAc;GACd,aAAa;GACb,cAAc;GACf;YAED,kBAAC,GAAD;GACE,OAAO;GACP,WACE,GACA,MACG;AAEH,IADA,EAAM,iBAAiB,EACvB,EAAc,EAAS;;GAEzB,WAAU;GACV,gBAAe;aAVjB;IAYG,KACC,kBAAC,GAAD;KACE,OAAO,EAAwB;KAC/B,OAAO,EAAwB;KAC/B,CAAA;IAEH,KACC,kBAAC,GAAD;KACE,OAAO,EAAwB;KAC/B,OAAO,EAAwB;KAC/B,CAAA;IAEH,KACC,kBAAC,GAAD;KACE,OAAO,EAAwB;KAC/B,OAAO,EAAwB;KAC/B,CAAA;IAEC;;EACH,CAAA,EACN,kBAAC,GAAD;EAAK,IAAI,EAAE,SAAS,EAAE,cAAc,GAAG,EAAE;YAAzC;GACG,MAAe,EAAwB,gBACtC,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;eAAS;KAAsB,CAAA;IAClD;IACD,kBAAC,OAAD,EAAA,UAAM,GAAc,CAAA;IACnB,EAAA,CAAA;GAEJ,MAAe,EAAwB,KACtC,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;eAAS;KAAoB,CAAA;IAChD;IACD,kBAAC,OAAD,EAAA,UAAM,GAAY,CAAA;IACjB,EAAA,CAAA;GAEJ,MAAe,EAAwB,UACtC,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;eAAS;KAAyB,CAAA;IACrD;IACD,kBAAC,OAAD,EAAA,UAAM,GAAiB,CAAA;IACtB,EAAA,CAAA;GAED;IACL,EAAA,CAAA;AAUL,QACE,kBAAC,GAAD;EACE,MAAM;EACC;EACP,UAAU;EACV,WAAW;EACX,UAAS;EACc,uBAdG,IAC1B;GACE,cAAc;GACL;GACV,GACD,KAAA;EAUA,SAAS;EACT,iBAAiB;EACjB,CAAA"}
1
+ {"version":3,"file":"ProgrammaticInstructionsModal.js","names":[],"sources":["../../../src/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Link, Tab, Tabs, Typography } from '@mui/material'\nimport { ReactElement, SyntheticEvent, useState } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\n\nexport enum ProgrammaticOptionsTabs {\n COMMAND_LINE = 'Command Line',\n R = 'R',\n PYTHON = 'Python',\n}\n\nexport type ProgrammaticInstructionsModalProps = {\n show: boolean\n title: string\n onClose: () => void\n pythonNotes?: ReactElement\n pythonCode?: string\n rNotes?: ReactElement\n rCode?: string\n cliNotes?: ReactElement\n cliCode?: string\n helpMarkdown?: string\n helpUrl?: string\n}\n\n/**\n * Modal used to show programmatic instructions\n * @param props\n * @returns\n */\n\nexport const ProgrammaticInstructionsModal = ({\n show,\n title,\n onClose,\n pythonNotes,\n pythonCode,\n rNotes,\n rCode,\n cliNotes,\n cliCode,\n helpMarkdown,\n helpUrl,\n}: ProgrammaticInstructionsModalProps): React.ReactNode => {\n let defaultTab\n if (cliCode) {\n defaultTab = ProgrammaticOptionsTabs.COMMAND_LINE\n } else if (pythonCode) {\n defaultTab = ProgrammaticOptionsTabs.PYTHON\n } else {\n defaultTab = ProgrammaticOptionsTabs.R\n }\n const [currentTab, setCurrentTab] =\n useState<ProgrammaticOptionsTabs>(defaultTab)\n\n const installationInstructions = (\n <Typography variant=\"body1\">\n Installation instructions are available at our{' '}\n <Link\n href={\n 'https://help.synapse.org/docs/Installing-Synapse-API-Clients.1985249668.html'\n }\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Synapse API Documentation Site\n </Link>\n .\n </Typography>\n )\n\n const dialogContent = (\n <>\n <Box\n sx={{\n borderBottom: 1,\n borderColor: 'divider',\n marginBottom: 4,\n }}\n >\n <Tabs\n value={currentTab}\n onChange={(\n event: SyntheticEvent,\n newValue: ProgrammaticOptionsTabs,\n ) => {\n event.stopPropagation()\n setCurrentTab(newValue)\n }}\n textColor=\"secondary\"\n indicatorColor=\"secondary\"\n >\n {cliCode && (\n <Tab\n value={ProgrammaticOptionsTabs.COMMAND_LINE}\n label={ProgrammaticOptionsTabs.COMMAND_LINE}\n />\n )}\n {rCode && (\n <Tab\n value={ProgrammaticOptionsTabs.R}\n label={ProgrammaticOptionsTabs.R}\n />\n )}\n {pythonCode && (\n <Tab\n value={ProgrammaticOptionsTabs.PYTHON}\n label={ProgrammaticOptionsTabs.PYTHON}\n />\n )}\n </Tabs>\n </Box>\n <Box sx={{ '& > p': { marginBottom: 3 } }}>\n {currentTab === ProgrammaticOptionsTabs.COMMAND_LINE && (\n <>\n <Typography variant=\"body1\">{cliNotes}</Typography>\n {installationInstructions}\n <pre>{cliCode}</pre>\n </>\n )}\n {currentTab === ProgrammaticOptionsTabs.R && (\n <>\n <Typography variant=\"body1\">{rNotes}</Typography>\n {installationInstructions}\n <pre>{rCode}</pre>\n </>\n )}\n {currentTab === ProgrammaticOptionsTabs.PYTHON && (\n <>\n <Typography variant=\"body1\">{pythonNotes}</Typography>\n {installationInstructions}\n <pre>{pythonCode}</pre>\n </>\n )}\n </Box>\n </>\n )\n\n const titleHelpPopoverProps = helpMarkdown\n ? {\n markdownText: helpMarkdown,\n helpUrl: helpUrl,\n }\n : undefined\n\n return (\n <ConfirmationDialog\n open={show}\n title={title}\n onCancel={onClose}\n onConfirm={onClose}\n maxWidth=\"md\"\n titleHelpPopoverProps={titleHelpPopoverProps}\n content={dialogContent}\n hasCancelButton={false}\n />\n )\n}\n\nexport default ProgrammaticInstructionsModal\n"],"mappings":";;;;;AAKA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,eAAA,gBACA,EAAA,IAAA,KACA,EAAA,SAAA;AACF,EAAA,CAAA,CAAA,GAsBa,KAAiC,EAC5C,SACA,UACA,YACA,gBACA,eACA,WACA,UACA,aACA,YACA,iBACA,iBACyD;CACzD,IAAI;CACJ,AAKE,IALE,IACF,iBACS,IACT,WAEA;CAEF,IAAM,CAAC,GAAY,KACjB,EAAkC,CAAU,GAExC,IACJ,kBAAC,GAAD;EAAY,SAAQ;YAApB;GAA4B;GACqB;GAC/C,kBAAC,GAAD;IACE,MACE;IAEF,QAAO;IACP,KAAI;cACL;GAEK,CAAA;GAAC;EAEG;;CA6Ed,OACE,kBAAC,GAAD;EACE,MAAM;EACC;EACP,UAAU;EACV,WAAW;EACX,UAAS;EACc,uBAdG,IAC1B;GACE,cAAc;GACL;EACX,IACA,KAAA;EAUA,SAjFF,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,IAAI;IACF,cAAc;IACd,aAAa;IACb,cAAc;GAChB;aAEA,kBAAC,GAAD;IACE,OAAO;IACP,WACE,GACA,MACG;KAEH,AADA,EAAM,gBAAgB,GACtB,EAAc,CAAQ;IACxB;IACA,WAAU;IACV,gBAAe;cAVjB;KAYG,KACC,kBAAC,GAAD;MACE,OAAA;MACA,OAAA;KACD,CAAA;KAEF,KACC,kBAAC,GAAD;MACE,OAAA;MACA,OAAA;KACD,CAAA;KAEF,KACC,kBAAC,GAAD;MACE,OAAA;MACA,OAAA;KACD,CAAA;IAEC;;EACH,CAAA,GACL,kBAAC,GAAD;GAAK,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE;aAAxC;IACG,MAAA,kBACC,kBAAA,GAAA,EAAA,UAAA;KACE,kBAAC,GAAD;MAAY,SAAQ;gBAAS;KAAqB,CAAA;KACjD;KACD,kBAAC,OAAD,EAAA,UAAM,EAAa,CAAA;IACnB,EAAA,CAAA;IAEH,MAAA,OACC,kBAAA,GAAA,EAAA,UAAA;KACE,kBAAC,GAAD;MAAY,SAAQ;gBAAS;KAAmB,CAAA;KAC/C;KACD,kBAAC,OAAD,EAAA,UAAM,EAAW,CAAA;IACjB,EAAA,CAAA;IAEH,MAAA,YACC,kBAAA,GAAA,EAAA,UAAA;KACE,kBAAC,GAAD;MAAY,SAAQ;gBAAS;KAAwB,CAAA;KACpD;KACD,kBAAC,OAAD,EAAA,UAAM,EAAgB,CAAA;IACtB,EAAA,CAAA;GAED;IACL,EAAA,CAkBS;EACT,iBAAiB;CAClB,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammaticTableDownload.js","names":[],"sources":["../../../src/components/ProgrammaticTableDownload/ProgrammaticTableDownload.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport { Link } from '@mui/material'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useEffect, useMemo, useState } from 'react'\nimport {\n PYTHON_CLIENT_IMPORT_AND_LOGIN,\n R_CLIENT_IMPORT_AND_LOGIN,\n} from '../DownloadCart/DirectProgrammaticDownload'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\n\nexport type ProgrammaticTableDownloadProps = {\n queryBundleRequest: QueryBundleRequest\n onHide: () => void\n}\n\nexport function ProgrammaticTableDownload({\n queryBundleRequest,\n onHide,\n}: ProgrammaticTableDownloadProps) {\n const [generatedSql, setGeneratedSql] = useState('...')\n\n const {\n data: asyncJobStatus,\n isLoading: queryIsLoading,\n isPlaceholderData: newQueryIsFetching,\n } = useGetQueryResultBundleWithAsyncStatus(\n {\n ...queryBundleRequest,\n partMask: SynapseConstants.BUNDLE_MASK_COMBINED_SQL,\n },\n {\n placeholderData: previousData => previousData,\n throwOnError: true,\n },\n )\n\n const combinedSql = asyncJobStatus?.responseBody?.combinedSql\n const isLoadingNewBundle = queryIsLoading || newQueryIsFetching\n\n useEffect(() => {\n if (combinedSql && !isLoadingNewBundle) {\n // SWC-5686: The ID column is required by the client, and this column may not have been selected!\n // Change the SQL to \"SELECT * ...\"\n const indexOfFrom = combinedSql.toUpperCase().indexOf('FROM SYN')\n const selectStarTransformedSql = `SELECT * ${combinedSql.substring(\n indexOfFrom,\n )}`\n setGeneratedSql(selectStarTransformedSql)\n }\n }, [combinedSql, isLoadingNewBundle])\n\n // Replace quotation marks with escaped quotations. For CLI, also escape backticks.\n const commandLineSql = useMemo(\n () => generatedSql.replace(/([\"`])/g, '\\\\$1'),\n [generatedSql],\n )\n\n const clientSql = useMemo(\n () => generatedSql.replace(/\"/g, '\\\\\"'),\n [generatedSql],\n )\n\n return (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={onHide}\n title=\"Download Programmatically\"\n cliNotes={\n <>\n This command line code will download Synapse files AND file\n annotations to your working directory.\n </>\n }\n cliCode={`synapse get -q \"${commandLineSql}\"`}\n rNotes={\n <>\n This R code will download file annotations only. Use{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://help.synapse.org/docs/Get-Started-with-Downloading-Data.2004254837.html#GetStartedwithDownloadingData-DownloadingFiles\"\n >\n synGet{'()'}\n </Link>{' '}\n to loop over the list of Synapse IDs from the file annotations to\n download files.\n </>\n }\n rCode={`${R_CLIENT_IMPORT_AND_LOGIN}\nquery ${'<-'} synTableQuery(\"${clientSql}\")${'\\n'}read.table(query$filepath, sep = \",\")`}\n pythonNotes={\n <>\n This Python code will download file annotations only. Use{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://help.synapse.org/docs/Get-Started-with-Downloading-Data.2004254837.html#GetStartedwithDownloadingData-DownloadingFiles\"\n >\n syn.get\n </Link>{' '}\n to loop over the list of Synapse IDs from the file annotations to\n download files.\n </>\n }\n pythonCode={`${PYTHON_CLIENT_IMPORT_AND_LOGIN}\nquery = syn.tableQuery(\"${clientSql}\")${'\\n'}query.asDataFrame()`}\n />\n )\n}\n\nexport default ProgrammaticTableDownload\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,EAA0B,EACxC,uBACA,aACiC;CACjC,IAAM,CAAC,GAAc,KAAmB,EAAS,MAAM,EAEjD,EACJ,MAAM,GACN,WAAW,GACX,mBAAmB,MACjB,EACF;EACE,GAAG;EACH,UAAU;EACX,EACD;EACE,kBAAiB,MAAgB;EACjC,cAAc;EACf,CACF,EAEK,IAAc,GAAgB,cAAc,aAC5C,IAAqB,KAAkB;AAE7C,SAAgB;AACd,MAAI,KAAe,CAAC,GAAoB;GAGtC,IAAM,IAAc,EAAY,aAAa,CAAC,QAAQ,WAAW;AAIjE,KAAgB,YAH6B,EAAY,UACvD,EACD,GACwC;;IAE1C,CAAC,GAAa,EAAmB,CAAC;CAGrC,IAAM,IAAiB,QACf,EAAa,QAAQ,WAAW,OAAO,EAC7C,CAAC,EAAa,CACf,EAEK,IAAY,QACV,EAAa,QAAQ,MAAM,OAAM,EACvC,CAAC,EAAa,CACf;AAED,QACE,kBAAC,GAAD;EACE,MAAM;EACN,SAAS;EACT,OAAM;EACN,UACE,kBAAA,GAAA,EAAA,UAAE,sGAGC,CAAA;EAEL,SAAS,mBAAmB,EAAe;EAC3C,QACE,kBAAA,GAAA,EAAA,UAAA;GAAE;GACqD;GACrD,kBAAC,GAAD;IACE,QAAO;IACP,KAAI;IACJ,MAAK;cAHP,CAIC,UACQ,KACF;;GAAC;GAAI;GAGX,EAAA,CAAA;EAEL,OAAO,GAAG,EAA0B;0BACX,EAAU;;EACnC,aACE,kBAAA,GAAA,EAAA,UAAA;GAAE;GAC0D;GAC1D,kBAAC,GAAD;IACE,QAAO;IACP,KAAI;IACJ,MAAK;cACN;IAEM,CAAA;GAAC;GAAI;GAGX,EAAA,CAAA;EAEL,YAAY,GAAG,EAA+B;0BAC1B,EAAU;;EAC9B,CAAA"}
1
+ {"version":3,"file":"ProgrammaticTableDownload.js","names":[],"sources":["../../../src/components/ProgrammaticTableDownload/ProgrammaticTableDownload.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport { Link } from '@mui/material'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useEffect, useMemo, useState } from 'react'\nimport {\n PYTHON_CLIENT_IMPORT_AND_LOGIN,\n R_CLIENT_IMPORT_AND_LOGIN,\n} from '../DownloadCart/DirectProgrammaticDownload'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\n\nexport type ProgrammaticTableDownloadProps = {\n queryBundleRequest: QueryBundleRequest\n onHide: () => void\n}\n\nexport function ProgrammaticTableDownload({\n queryBundleRequest,\n onHide,\n}: ProgrammaticTableDownloadProps) {\n const [generatedSql, setGeneratedSql] = useState('...')\n\n const {\n data: asyncJobStatus,\n isLoading: queryIsLoading,\n isPlaceholderData: newQueryIsFetching,\n } = useGetQueryResultBundleWithAsyncStatus(\n {\n ...queryBundleRequest,\n partMask: SynapseConstants.BUNDLE_MASK_COMBINED_SQL,\n },\n {\n placeholderData: previousData => previousData,\n throwOnError: true,\n },\n )\n\n const combinedSql = asyncJobStatus?.responseBody?.combinedSql\n const isLoadingNewBundle = queryIsLoading || newQueryIsFetching\n\n useEffect(() => {\n if (combinedSql && !isLoadingNewBundle) {\n // SWC-5686: The ID column is required by the client, and this column may not have been selected!\n // Change the SQL to \"SELECT * ...\"\n const indexOfFrom = combinedSql.toUpperCase().indexOf('FROM SYN')\n const selectStarTransformedSql = `SELECT * ${combinedSql.substring(\n indexOfFrom,\n )}`\n setGeneratedSql(selectStarTransformedSql)\n }\n }, [combinedSql, isLoadingNewBundle])\n\n // Replace quotation marks with escaped quotations. For CLI, also escape backticks.\n const commandLineSql = useMemo(\n () => generatedSql.replace(/([\"`])/g, '\\\\$1'),\n [generatedSql],\n )\n\n const clientSql = useMemo(\n () => generatedSql.replace(/\"/g, '\\\\\"'),\n [generatedSql],\n )\n\n return (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={onHide}\n title=\"Download Programmatically\"\n cliNotes={\n <>\n This command line code will download Synapse files AND file\n annotations to your working directory.\n </>\n }\n cliCode={`synapse get -q \"${commandLineSql}\"`}\n rNotes={\n <>\n This R code will download file annotations only. Use{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://help.synapse.org/docs/Get-Started-with-Downloading-Data.2004254837.html#GetStartedwithDownloadingData-DownloadingFiles\"\n >\n synGet{'()'}\n </Link>{' '}\n to loop over the list of Synapse IDs from the file annotations to\n download files.\n </>\n }\n rCode={`${R_CLIENT_IMPORT_AND_LOGIN}\nquery ${'<-'} synTableQuery(\"${clientSql}\")${'\\n'}read.table(query$filepath, sep = \",\")`}\n pythonNotes={\n <>\n This Python code will download file annotations only. Use{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://help.synapse.org/docs/Get-Started-with-Downloading-Data.2004254837.html#GetStartedwithDownloadingData-DownloadingFiles\"\n >\n syn.get\n </Link>{' '}\n to loop over the list of Synapse IDs from the file annotations to\n download files.\n </>\n }\n pythonCode={`${PYTHON_CLIENT_IMPORT_AND_LOGIN}\nquery = syn.tableQuery(\"${clientSql}\")${'\\n'}query.asDataFrame()`}\n />\n )\n}\n\nexport default ProgrammaticTableDownload\n"],"mappings":";;;;;;;;;;AAgBA,SAAgB,EAA0B,EACxC,uBACA,aACiC;CACjC,IAAM,CAAC,GAAc,KAAmB,EAAS,KAAK,GAEhD,EACJ,MAAM,GACN,WAAW,GACX,mBAAmB,MACjB,EACF;EACE,GAAG;EACH,UAAU;CACZ,GACA;EACE,kBAAiB,MAAgB;EACjC,cAAc;CAChB,CACF,GAEM,IAAc,GAAgB,cAAc,aAC5C,IAAqB,KAAkB;CAE7C,QAAgB;EACd,IAAI,KAAe,CAAC,GAAoB;GAGtC,IAAM,IAAc,EAAY,YAAY,EAAE,QAAQ,UAAU;GAIhE,EAAgB,YAH6B,EAAY,UACvD,CACF,GACwC;EAC1C;CACF,GAAG,CAAC,GAAa,CAAkB,CAAC;CAGpC,IAAM,IAAiB,QACf,EAAa,QAAQ,WAAW,MAAM,GAC5C,CAAC,CAAY,CACf,GAEM,IAAY,QACV,EAAa,QAAQ,MAAM,MAAK,GACtC,CAAC,CAAY,CACf;CAEA,OACE,kBAAC,GAAD;EACE,MAAM;EACN,SAAS;EACT,OAAM;EACN,UACE,kBAAA,GAAA,EAAA,UAAE,qGAGA,CAAA;EAEJ,SAAS,mBAAmB,EAAe;EAC3C,QACE,kBAAA,GAAA,EAAA,UAAA;GAAE;GACqD;GACrD,kBAAC,GAAD;IACE,QAAO;IACP,KAAI;IACJ,MAAK;cAHP,CAIC,UACQ,IACH;;GAAE;GAAI;EAGZ,EAAA,CAAA;EAEJ,OAAO,GAAG,EAA0B;0BACX,EAAU;;EACnC,aACE,kBAAA,GAAA,EAAA,UAAA;GAAE;GAC0D;GAC1D,kBAAC,GAAD;IACE,QAAO;IACP,KAAI;IACJ,MAAK;cACN;GAEK,CAAA;GAAE;GAAI;EAGZ,EAAA,CAAA;EAEJ,YAAY,GAAG,EAA+B;0BAC1B,EAAU;;CAC/B,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"Programs.Desktop.js","names":[],"sources":["../../../src/components/Programs/Programs.Desktop.tsx"],"sourcesContent":["import LargeButton from '@/components/styled/LargeButton'\nimport { ImageFileHandle } from '../widgets/ImageFileHandle'\nimport { ProgramsDataProps } from './Programs'\n\nexport default function ProgramsDesktop({\n link,\n summary,\n title,\n color,\n fileHandleAssociation,\n exploreLink,\n}: ProgramsDataProps) {\n return (\n <div className=\"Programs__Card\">\n <div\n className=\"Programs__Card__header\"\n style={{ backgroundColor: color.replace(')', ',.05)') }}\n >\n <div className=\"Programs__Card__header__icon\">\n {fileHandleAssociation && (\n <ImageFileHandle fileHandleAssociation={fileHandleAssociation} />\n )}\n </div>\n <div className=\"Programs__Card__header__info\">\n <span className=\"Programs__Card__header__info__title\"> {title} </span>\n {link && (\n <p className=\"Programs__Card__header__info__link\">\n <a\n className=\"highlight-link\"\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Visit website\n </a>\n </p>\n )}\n </div>\n </div>\n <div className=\"Programs__Card__summary\">\n <p> {summary} </p>\n <LargeButton\n color=\"secondary\"\n variant=\"contained\"\n href={exploreLink}\n sx={{ width: '120px', marginLeft: 0 }}\n >\n Explore\n </LargeButton>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;AAIA,SAAwB,EAAgB,EACtC,SACA,YACA,UACA,UACA,0BACA,kBACoB;AACpB,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAE,iBAAiB,EAAM,QAAQ,KAAK,QAAQ,EAAE;aAFzD,CAIE,kBAAC,OAAD;IAAK,WAAU;cACZ,KACC,kBAAC,GAAD,EAAwC,0BAAyB,CAAA;IAE/D,CAAA,EACN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KAAM,WAAU;eAAhB;MAAsD;MAAE;MAAM;MAAQ;QACrE,KACC,kBAAC,KAAD;KAAG,WAAU;eACX,kBAAC,KAAD;MACE,WAAU;MACV,MAAM;MACN,QAAO;MACP,KAAI;gBACL;MAEG,CAAA;KACF,CAAA,CAEF;MACF;MACN,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,KAAD,EAAA,UAAA;IAAG;IAAE;IAAQ;IAAK,EAAA,CAAA,EAClB,kBAAC,GAAD;IACE,OAAM;IACN,SAAQ;IACR,MAAM;IACN,IAAI;KAAE,OAAO;KAAS,YAAY;KAAG;cACtC;IAEa,CAAA,CACV;KACF"}
1
+ {"version":3,"file":"Programs.Desktop.js","names":[],"sources":["../../../src/components/Programs/Programs.Desktop.tsx"],"sourcesContent":["import LargeButton from '@/components/styled/LargeButton'\nimport { ImageFileHandle } from '../widgets/ImageFileHandle'\nimport { ProgramsDataProps } from './Programs'\n\nexport default function ProgramsDesktop({\n link,\n summary,\n title,\n color,\n fileHandleAssociation,\n exploreLink,\n}: ProgramsDataProps) {\n return (\n <div className=\"Programs__Card\">\n <div\n className=\"Programs__Card__header\"\n style={{ backgroundColor: color.replace(')', ',.05)') }}\n >\n <div className=\"Programs__Card__header__icon\">\n {fileHandleAssociation && (\n <ImageFileHandle fileHandleAssociation={fileHandleAssociation} />\n )}\n </div>\n <div className=\"Programs__Card__header__info\">\n <span className=\"Programs__Card__header__info__title\"> {title} </span>\n {link && (\n <p className=\"Programs__Card__header__info__link\">\n <a\n className=\"highlight-link\"\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Visit website\n </a>\n </p>\n )}\n </div>\n </div>\n <div className=\"Programs__Card__summary\">\n <p> {summary} </p>\n <LargeButton\n color=\"secondary\"\n variant=\"contained\"\n href={exploreLink}\n sx={{ width: '120px', marginLeft: 0 }}\n >\n Explore\n </LargeButton>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;AAIA,SAAwB,EAAgB,EACtC,SACA,YACA,UACA,UACA,0BACA,kBACoB;CACpB,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAE,iBAAiB,EAAM,QAAQ,KAAK,OAAO,EAAE;aAFxD,CAIE,kBAAC,OAAD;IAAK,WAAU;cACZ,KACC,kBAAC,GAAD,EAAwC,yBAAwB,CAAA;GAE/D,CAAA,GACL,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KAAM,WAAU;eAAhB;MAAsD;MAAE;MAAM;KAAO;QACpE,KACC,kBAAC,KAAD;KAAG,WAAU;eACX,kBAAC,KAAD;MACE,WAAU;MACV,MAAM;MACN,QAAO;MACP,KAAI;gBACL;KAEE,CAAA;IACF,CAAA,CAEF;KACF;MACL,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,KAAD,EAAA,UAAA;IAAG;IAAE;IAAQ;GAAI,EAAA,CAAA,GACjB,kBAAC,GAAD;IACE,OAAM;IACN,SAAQ;IACR,MAAM;IACN,IAAI;KAAE,OAAO;KAAS,YAAY;IAAE;cACrC;GAEY,CAAA,CACV;IACF;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"Programs.Mobile.js","names":[],"sources":["../../../src/components/Programs/Programs.Mobile.tsx"],"sourcesContent":["import LargeButton from '@/components/styled/LargeButton'\nimport ExpandableContent from '../home_page/ExpandableContent'\nimport { ImageFileHandle } from '../widgets/ImageFileHandle'\nimport { ProgramsDataProps } from './Programs'\n\nexport default function ProgramsMobile({\n link,\n summary,\n title,\n color,\n fileHandleAssociation,\n exploreLink,\n}: ProgramsDataProps) {\n const titleElement = (\n <div className=\"Programs__Mobile__Header\">\n <span className=\"Programs__Card__header__icon\">\n {fileHandleAssociation && (\n <ImageFileHandle fileHandleAssociation={fileHandleAssociation} />\n )}\n </span>\n <span className=\"Programs__Mobile__Header__Title\"> {title} </span>\n </div>\n )\n const content = (\n <div className=\"Programs__Mobile__Content\">\n {link && (\n <p className=\"Programs__Card__header__info__link\">\n <a\n className=\"highlight-link\"\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Visit website\n </a>\n </p>\n )}\n <p>{summary}</p>\n <LargeButton\n color=\"secondary\"\n variant=\"contained\"\n href={exploreLink}\n sx={{ marginLeft: 0 }}\n >\n Explore\n </LargeButton>\n </div>\n )\n return <ExpandableContent title={titleElement} content={content} />\n}\n"],"mappings":";;;;;AAKA,SAAwB,EAAe,EACrC,SACA,YACA,UACA,UACA,0BACA,kBACoB;AAoCpB,QAAO,kBAAC,GAAD;EAAmB,OAlCxB,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,QAAD;IAAM,WAAU;cACb,KACC,kBAAC,GAAD,EAAwC,0BAAyB,CAAA;IAE9D,CAAA,EACP,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAkD;KAAE;KAAM;KAAQ;MAC9D;IA2ByB;EAAuB,SAxBtD,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG,KACC,kBAAC,KAAD;KAAG,WAAU;eACX,kBAAC,KAAD;MACE,WAAU;MACV,MAAM;MACN,QAAO;MACP,KAAI;gBACL;MAEG,CAAA;KACF,CAAA;IAEN,kBAAC,KAAD,EAAA,UAAI,GAAY,CAAA;IAChB,kBAAC,GAAD;KACE,OAAM;KACN,SAAQ;KACR,MAAM;KACN,IAAI,EAAE,YAAY,GAAG;eACtB;KAEa,CAAA;IACV;IAEgD;EAAW,CAAA"}
1
+ {"version":3,"file":"Programs.Mobile.js","names":[],"sources":["../../../src/components/Programs/Programs.Mobile.tsx"],"sourcesContent":["import LargeButton from '@/components/styled/LargeButton'\nimport ExpandableContent from '../home_page/ExpandableContent'\nimport { ImageFileHandle } from '../widgets/ImageFileHandle'\nimport { ProgramsDataProps } from './Programs'\n\nexport default function ProgramsMobile({\n link,\n summary,\n title,\n color,\n fileHandleAssociation,\n exploreLink,\n}: ProgramsDataProps) {\n const titleElement = (\n <div className=\"Programs__Mobile__Header\">\n <span className=\"Programs__Card__header__icon\">\n {fileHandleAssociation && (\n <ImageFileHandle fileHandleAssociation={fileHandleAssociation} />\n )}\n </span>\n <span className=\"Programs__Mobile__Header__Title\"> {title} </span>\n </div>\n )\n const content = (\n <div className=\"Programs__Mobile__Content\">\n {link && (\n <p className=\"Programs__Card__header__info__link\">\n <a\n className=\"highlight-link\"\n href={link}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Visit website\n </a>\n </p>\n )}\n <p>{summary}</p>\n <LargeButton\n color=\"secondary\"\n variant=\"contained\"\n href={exploreLink}\n sx={{ marginLeft: 0 }}\n >\n Explore\n </LargeButton>\n </div>\n )\n return <ExpandableContent title={titleElement} content={content} />\n}\n"],"mappings":";;;;;AAKA,SAAwB,EAAe,EACrC,SACA,YACA,UACA,UACA,0BACA,kBACoB;CAoCpB,OAAO,kBAAC,GAAD;EAAmB,OAlCxB,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,QAAD;IAAM,WAAU;cACb,KACC,kBAAC,GAAD,EAAwC,yBAAwB,CAAA;GAE9D,CAAA,GACN,kBAAC,QAAD;IAAM,WAAU;cAAhB;KAAkD;KAAE;KAAM;IAAO;KAC9D;GA2B0B;EAAuB,SAxBtD,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG,KACC,kBAAC,KAAD;KAAG,WAAU;eACX,kBAAC,KAAD;MACE,WAAU;MACV,MAAM;MACN,QAAO;MACP,KAAI;gBACL;KAEE,CAAA;IACF,CAAA;IAEL,kBAAC,KAAD,EAAA,UAAI,EAAW,CAAA;IACf,kBAAC,GAAD;KACE,OAAM;KACN,SAAQ;KACR,MAAM;KACN,IAAI,EAAE,YAAY,EAAE;eACrB;IAEY,CAAA;GACV;GAEiD;CAAU,CAAA;AACpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Programs.js","names":[],"sources":["../../../src/components/Programs/Programs.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries/entity/useEntity'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { SynapseConstants } from '@/utils'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport useShowDesktop from '@/utils/hooks/useShowDesktop'\nimport {\n FileHandleAssociation,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { CardLink } from '../CardContainer/CardLink'\nimport { getColorPalette } from '../ColorGradient/ColorGradient'\nimport {\n getFileHandleAssociation,\n getLinkParams,\n} from '../GenericCard/CardUtils'\nimport ProgramsDesktop from './Programs.Desktop'\nimport ProgramsMobile from './Programs.Mobile'\n\nexport type ProgramsProps = {\n entityId: string\n rgbIndex: number\n titleColumnName: string\n linkColumnName: string\n summaryColumnName: string\n imageFileHandleColumnName: string\n linkConfig: CardLink\n}\n\nexport type ProgramsDataProps = {\n title: string\n summary: string\n link: string\n exploreLink: string\n color: string\n fileHandleAssociation?: FileHandleAssociation\n}\n\nexport function Programs(props: ProgramsProps) {\n const {\n entityId,\n titleColumnName,\n linkColumnName,\n summaryColumnName,\n imageFileHandleColumnName,\n linkConfig,\n rgbIndex,\n } = props\n const showDesktop = useShowDesktop()\n const entity = useGetEntity(entityId)\n const color: string = getColorPalette(rgbIndex ?? 0, 2).colorPalette[0]\n const queryBundleRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n query: {\n sql: `select * from ${entityId}`,\n },\n }\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const titleColumnIndex = getFieldIndex(titleColumnName, queryResultBundle)\n const summaryColumnIndex = getFieldIndex(summaryColumnName, queryResultBundle)\n const linkColumnIndex = getFieldIndex(linkColumnName, queryResultBundle)\n const iconColumnIndex = getFieldIndex(\n imageFileHandleColumnName,\n queryResultBundle,\n )\n return (\n <div className={`Programs${showDesktop ? '__Desktop' : ''}`}>\n {queryResultBundle?.queryResult!.queryResults.rows.map(el => {\n const values = el.values as string[]\n if (values.some(value => value === null)) {\n // We cast values above assuming there are no null values, emit a warning just in case.\n console.warn('Row has null value(s) when no nulls expected')\n }\n\n const title = values[titleColumnIndex]\n const summary = values[summaryColumnIndex]\n const link = values[linkColumnIndex] ?? ''\n const iconFileHandleIdValue = values[iconColumnIndex]\n\n const schema: Record<string, number> = {}\n queryResultBundle?.queryResult!.queryResults.headers.forEach(\n (header, colIndex) => {\n schema[header.name] = colIndex\n },\n )\n const { href } = getLinkParams(link, linkConfig, values, schema)\n\n const fileHandleAssociation = getFileHandleAssociation(\n entity.data,\n iconFileHandleIdValue,\n `syn${el.rowId}`,\n )\n const ProgramsDataProps: ProgramsDataProps = {\n title,\n summary,\n link,\n color,\n exploreLink: href,\n fileHandleAssociation,\n }\n return showDesktop ? (\n <ProgramsDesktop {...ProgramsDataProps} />\n ) : (\n <ProgramsMobile {...ProgramsDataProps} />\n )\n })}\n </div>\n )\n}\n\nexport default Programs\n"],"mappings":";;;;;;;;;;;;AAqCA,SAAgB,EAAS,GAAsB;CAC7C,IAAM,EACJ,aACA,oBACA,mBACA,sBACA,8BACA,eACA,gBACE,GACE,IAAc,GAAgB,EAC9B,IAAS,EAAa,EAAS,EAC/B,IAAgB,EAAgB,KAAY,GAAG,EAAE,CAAC,aAAa,IAW/D,EAAE,MAAM,MACZ,EAAwB;EAVxB,cAAc;EACd;EACA,UACE;EAEF,OAAO,EACL,KAAK,iBAAiB,KACvB;EAGuB,CAAmB,EAEvC,IAAmB,EAAc,GAAiB,EAAkB,EACpE,IAAqB,EAAc,GAAmB,EAAkB,EACxE,IAAkB,EAAc,GAAgB,EAAkB,EAClE,IAAkB,EACtB,GACA,EACD;AACD,QACE,kBAAC,OAAD;EAAK,WAAW,WAAW,IAAc,cAAc;YACpD,GAAmB,YAAa,aAAa,KAAK,KAAI,MAAM;GAC3D,IAAM,IAAS,EAAG;AAClB,GAAI,EAAO,MAAK,MAAS,MAAU,KAAK,IAEtC,QAAQ,KAAK,+CAA+C;GAG9D,IAAM,IAAQ,EAAO,IACf,IAAU,EAAO,IACjB,IAAO,EAAO,MAAoB,IAClC,IAAwB,EAAO,IAE/B,IAAiC,EAAE;AACzC,MAAmB,YAAa,aAAa,QAAQ,SAClD,GAAQ,MAAa;AACpB,MAAO,EAAO,QAAQ;KAEzB;GACD,IAAM,EAAE,YAAS,EAAc,GAAM,GAAY,GAAQ,EAAO,EAO1D,IAAuC;IAC3C;IACA;IACA;IACA;IACA,aAAa;IACb,uBAX4B,EAC5B,EAAO,MACP,GACA,MAAM,EAAG,QAQT;IACD;AACD,UACE,EADK,IACJ,IAEA,GAFD,EAAiB,GAAI,GAAqB,CAED;IAE3C;EACE,CAAA"}
1
+ {"version":3,"file":"Programs.js","names":[],"sources":["../../../src/components/Programs/Programs.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries/entity/useEntity'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { SynapseConstants } from '@/utils'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport useShowDesktop from '@/utils/hooks/useShowDesktop'\nimport {\n FileHandleAssociation,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { CardLink } from '../CardContainer/CardLink'\nimport { getColorPalette } from '../ColorGradient/ColorGradient'\nimport {\n getFileHandleAssociation,\n getLinkParams,\n} from '../GenericCard/CardUtils'\nimport ProgramsDesktop from './Programs.Desktop'\nimport ProgramsMobile from './Programs.Mobile'\n\nexport type ProgramsProps = {\n entityId: string\n rgbIndex: number\n titleColumnName: string\n linkColumnName: string\n summaryColumnName: string\n imageFileHandleColumnName: string\n linkConfig: CardLink\n}\n\nexport type ProgramsDataProps = {\n title: string\n summary: string\n link: string\n exploreLink: string\n color: string\n fileHandleAssociation?: FileHandleAssociation\n}\n\nexport function Programs(props: ProgramsProps) {\n const {\n entityId,\n titleColumnName,\n linkColumnName,\n summaryColumnName,\n imageFileHandleColumnName,\n linkConfig,\n rgbIndex,\n } = props\n const showDesktop = useShowDesktop()\n const entity = useGetEntity(entityId)\n const color: string = getColorPalette(rgbIndex ?? 0, 2).colorPalette[0]\n const queryBundleRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n query: {\n sql: `select * from ${entityId}`,\n },\n }\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const titleColumnIndex = getFieldIndex(titleColumnName, queryResultBundle)\n const summaryColumnIndex = getFieldIndex(summaryColumnName, queryResultBundle)\n const linkColumnIndex = getFieldIndex(linkColumnName, queryResultBundle)\n const iconColumnIndex = getFieldIndex(\n imageFileHandleColumnName,\n queryResultBundle,\n )\n return (\n <div className={`Programs${showDesktop ? '__Desktop' : ''}`}>\n {queryResultBundle?.queryResult!.queryResults.rows.map(el => {\n const values = el.values as string[]\n if (values.some(value => value === null)) {\n // We cast values above assuming there are no null values, emit a warning just in case.\n console.warn('Row has null value(s) when no nulls expected')\n }\n\n const title = values[titleColumnIndex]\n const summary = values[summaryColumnIndex]\n const link = values[linkColumnIndex] ?? ''\n const iconFileHandleIdValue = values[iconColumnIndex]\n\n const schema: Record<string, number> = {}\n queryResultBundle?.queryResult!.queryResults.headers.forEach(\n (header, colIndex) => {\n schema[header.name] = colIndex\n },\n )\n const { href } = getLinkParams(link, linkConfig, values, schema)\n\n const fileHandleAssociation = getFileHandleAssociation(\n entity.data,\n iconFileHandleIdValue,\n `syn${el.rowId}`,\n )\n const ProgramsDataProps: ProgramsDataProps = {\n title,\n summary,\n link,\n color,\n exploreLink: href,\n fileHandleAssociation,\n }\n return showDesktop ? (\n <ProgramsDesktop {...ProgramsDataProps} />\n ) : (\n <ProgramsMobile {...ProgramsDataProps} />\n )\n })}\n </div>\n )\n}\n\nexport default Programs\n"],"mappings":";;;;;;;;;;;;AAqCA,SAAgB,EAAS,GAAsB;CAC7C,IAAM,EACJ,aACA,oBACA,mBACA,sBACA,8BACA,eACA,gBACE,GACE,IAAc,EAAe,GAC7B,IAAS,EAAa,CAAQ,GAC9B,IAAgB,EAAgB,KAAY,GAAG,CAAC,EAAE,aAAa,IAW/D,EAAE,MAAM,MACZ,EAAwB;EAVxB,cAAc;EACd;EACA,UACE;EAEF,OAAO,EACL,KAAK,iBAAiB,IACxB;CAGwB,CAAkB,GAEtC,IAAmB,EAAc,GAAiB,CAAiB,GACnE,IAAqB,EAAc,GAAmB,CAAiB,GACvE,IAAkB,EAAc,GAAgB,CAAiB,GACjE,IAAkB,EACtB,GACA,CACF;CACA,OACE,kBAAC,OAAD;EAAK,WAAW,WAAW,IAAc,cAAc;YACpD,GAAmB,YAAa,aAAa,KAAK,KAAI,MAAM;GAC3D,IAAM,IAAS,EAAG;GAClB,AAAI,EAAO,MAAK,MAAS,MAAU,IAAI,KAErC,QAAQ,KAAK,8CAA8C;GAG7D,IAAM,IAAQ,EAAO,IACf,IAAU,EAAO,IACjB,IAAO,EAAO,MAAoB,IAClC,IAAwB,EAAO,IAE/B,IAAiC,CAAC;GACxC,GAAmB,YAAa,aAAa,QAAQ,SAClD,GAAQ,MAAa;IACpB,EAAO,EAAO,QAAQ;GACxB,CACF;GACA,IAAM,EAAE,YAAS,EAAc,GAAM,GAAY,GAAQ,CAAM,GAOzD,IAAuC;IAC3C;IACA;IACA;IACA;IACA,aAAa;IACb,uBAX4B,EAC5B,EAAO,MACP,GACA,MAAM,EAAG,OAQT;GACF;GACA,OACE,EADK,IACJ,IAEA,GAFD,EAAiB,GAAI,EAAoB,CAED;EAE5C,CAAC;CACE,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDataAvailability.js","names":[],"sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"sourcesContent":["import { SYNAPSE_STORAGE_LOCATION_ID } from '@/synapse-client'\nimport { useProjectStorageUsage } from '@/synapse-queries'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { useSynapseContext } from '@/utils'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { SAGE_OFFERINGS_HELP_URL } from '@/utils/SynapseConstants'\nimport { Box, SxProps, Tooltip, Typography } from '@mui/material'\nimport React from 'react'\nimport HelpPopover from '../HelpPopover'\n\nexport type ProjectDataAvailabilityProps = {\n projectId?: string\n sx?: SxProps\n}\nconst usageBarWidth = 142 //px\n\nexport function ProjectDataAvailability({\n projectId,\n sx,\n}: ProjectDataAvailabilityProps): React.ReactNode {\n const { isAuthenticated } = useSynapseContext()\n const { data } = useProjectStorageUsage(projectId!, {\n enabled: !!projectId && isAuthenticated,\n })\n const projectDataUsageArray = data?.locations.filter(\n v => v.storageLocationId == SYNAPSE_STORAGE_LOCATION_ID,\n )\n const synapseStorageUsage =\n projectDataUsageArray?.length == 1 ? projectDataUsageArray[0] : undefined\n if (!synapseStorageUsage) {\n return <></>\n }\n const { sumFileBytes = 0, maxAllowedFileBytes = 0 } = synapseStorageUsage\n if (maxAllowedFileBytes == 0) {\n return <></>\n }\n const usageBarFilledPx = Math.min(\n Math.round((sumFileBytes / maxAllowedFileBytes) * usageBarWidth),\n usageBarWidth,\n )\n const friendlySumFileBytes = calculateFriendlyFileSize(sumFileBytes, 1)\n const friendlyMaxAllowedFileBytes = calculateFriendlyFileSize(\n maxAllowedFileBytes,\n 1,\n ).replace(/\\.0\\s/, ' ') // SWC-7183: remove '.0 ' from the string if it exists\n return (\n <Box\n sx={spreadSx(\n {\n display: 'flex',\n flexDirection: 'column',\n width: '210px',\n fontFamily: 'DM Sans',\n color: 'white',\n px: '10px',\n },\n sx,\n )}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '5px',\n }}\n >\n <Typography\n sx={{\n // match current styles in Project metadata\n fontWeight: 700,\n fontSize: '16px',\n }}\n >\n Data Availability{' '}\n </Typography>{' '}\n <HelpPopover\n containerSx={{\n fontSize: '12px',\n }}\n markdownText=\"Hosting Plan Options:\n- Basic Plan: Free, for sharing small datasets (<100GB) with self-service setup. No direct support.\n- Self-Managed Plan: Ideal for data longevity, FAIR principles, and NIH compliance. Includes consultation services and data access management tools.\n- Data Coordination Plan: For large, multi-institutional projects, with personalized consulting, data curation, and a custom data portal.\"\n helpUrl={SAGE_OFFERINGS_HELP_URL}\n />\n </Box>\n {synapseStorageUsage.maxAllowedFileBytes && (\n <Tooltip\n title={`Using ${friendlySumFileBytes} out of ${friendlyMaxAllowedFileBytes}`}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '5px',\n alignItems: 'center',\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n fontSize: '12px',\n }}\n >\n 0\n </Typography>\n {/* Progress Bar */}\n <Box\n sx={{\n width: `${usageBarWidth}px`,\n height: '4px',\n backgroundColor: 'white',\n borderRadius: '50px',\n }}\n >\n <Box\n sx={{\n width: `${usageBarFilledPx}px`,\n height: '4px',\n backgroundColor: '#EDC766',\n borderRadius: '50px',\n }}\n ></Box>\n </Box>\n <Typography\n variant=\"body1\"\n sx={{\n fontSize: '12px',\n whiteSpace: 'nowrap',\n }}\n >\n {friendlyMaxAllowedFileBytes}\n </Typography>\n </Box>\n </Tooltip>\n )}\n </Box>\n )\n}\n\nexport default ProjectDataAvailability\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAM,IAAgB;AAEtB,SAAgB,EAAwB,EACtC,cACA,SACgD;CAChD,IAAM,EAAE,uBAAoB,GAAmB,EACzC,EAAE,YAAS,EAAuB,GAAY,EAClD,SAAS,CAAC,CAAC,KAAa,GACzB,CAAC,EACI,IAAwB,GAAM,UAAU,QAC5C,MAAK,EAAE,qBAAA,EACR,EACK,IACJ,GAAuB,UAAU,IAAI,EAAsB,KAAK,KAAA;AAClE,KAAI,CAAC,EACH,QAAO,kBAAA,GAAA,EAAK,CAAA;CAEd,IAAM,EAAE,kBAAe,GAAG,yBAAsB,MAAM;AACtD,KAAI,KAAuB,EACzB,QAAO,kBAAA,GAAA,EAAK,CAAA;CAEd,IAAM,IAAmB,KAAK,IAC5B,KAAK,MAAO,IAAe,IAAuB,EAAc,EAChE,EACD,EACK,IAAuB,EAA0B,GAAc,EAAE,EACjE,IAA8B,EAClC,GACA,EACD,CAAC,QAAQ,SAAS,IAAI;AACvB,QACE,kBAAC,GAAD;EACE,IAAI,EACF;GACE,SAAS;GACT,eAAe;GACf,OAAO;GACP,YAAY;GACZ,OAAO;GACP,IAAI;GACL,EACD,EACD;YAXH,CAaE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,eAAe;IACf,KAAK;IACN;aALH;IAOE,kBAAC,GAAD;KACE,IAAI;MAEF,YAAY;MACZ,UAAU;MACX;eALH,CAMC,qBACmB,IACP;;IAAC;IACd,kBAAC,GAAD;KACE,aAAa,EACX,UAAU,QACX;KACD,cAAa;KAIb,SAAS;KACT,CAAA;IACE;MACL,EAAoB,uBACnB,kBAAC,GAAD;GACE,OAAO,SAAS,EAAqB,UAAU;aAE/C,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,KAAK;KACL,YAAY;KACb;cANH;KAQE,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI,EACF,UAAU,QACX;gBACF;MAEY,CAAA;KAEb,kBAAC,GAAD;MACE,IAAI;OACF,OAAO,GAAG,EAAc;OACxB,QAAQ;OACR,iBAAiB;OACjB,cAAc;OACf;gBAED,kBAAC,GAAD,EACE,IAAI;OACF,OAAO,GAAG,EAAiB;OAC3B,QAAQ;OACR,iBAAiB;OACjB,cAAc;OACf,EACI,CAAA;MACH,CAAA;KACN,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI;OACF,UAAU;OACV,YAAY;OACb;gBAEA;MACU,CAAA;KACT;;GACE,CAAA,CAER"}
1
+ {"version":3,"file":"ProjectDataAvailability.js","names":[],"sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"sourcesContent":["import { SYNAPSE_STORAGE_LOCATION_ID } from '@/synapse-client'\nimport { useProjectStorageUsage } from '@/synapse-queries'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { useSynapseContext } from '@/utils'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { SAGE_OFFERINGS_HELP_URL } from '@/utils/SynapseConstants'\nimport { Box, SxProps, Tooltip, Typography } from '@mui/material'\nimport React from 'react'\nimport HelpPopover from '../HelpPopover'\n\nexport type ProjectDataAvailabilityProps = {\n projectId?: string\n sx?: SxProps\n}\nconst usageBarWidth = 142 //px\n\nexport function ProjectDataAvailability({\n projectId,\n sx,\n}: ProjectDataAvailabilityProps): React.ReactNode {\n const { isAuthenticated } = useSynapseContext()\n const { data } = useProjectStorageUsage(projectId!, {\n enabled: !!projectId && isAuthenticated,\n })\n const projectDataUsageArray = data?.locations.filter(\n v => v.storageLocationId == SYNAPSE_STORAGE_LOCATION_ID,\n )\n const synapseStorageUsage =\n projectDataUsageArray?.length == 1 ? projectDataUsageArray[0] : undefined\n if (!synapseStorageUsage) {\n return <></>\n }\n const { sumFileBytes = 0, maxAllowedFileBytes = 0 } = synapseStorageUsage\n if (maxAllowedFileBytes == 0) {\n return <></>\n }\n const usageBarFilledPx = Math.min(\n Math.round((sumFileBytes / maxAllowedFileBytes) * usageBarWidth),\n usageBarWidth,\n )\n const friendlySumFileBytes = calculateFriendlyFileSize(sumFileBytes, 1)\n const friendlyMaxAllowedFileBytes = calculateFriendlyFileSize(\n maxAllowedFileBytes,\n 1,\n ).replace(/\\.0\\s/, ' ') // SWC-7183: remove '.0 ' from the string if it exists\n return (\n <Box\n sx={spreadSx(\n {\n display: 'flex',\n flexDirection: 'column',\n width: '210px',\n fontFamily: 'DM Sans',\n color: 'white',\n px: '10px',\n },\n sx,\n )}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '5px',\n }}\n >\n <Typography\n sx={{\n // match current styles in Project metadata\n fontWeight: 700,\n fontSize: '16px',\n }}\n >\n Data Availability{' '}\n </Typography>{' '}\n <HelpPopover\n containerSx={{\n fontSize: '12px',\n }}\n markdownText=\"Hosting Plan Options:\n- Basic Plan: Free, for sharing small datasets (<100GB) with self-service setup. No direct support.\n- Self-Managed Plan: Ideal for data longevity, FAIR principles, and NIH compliance. Includes consultation services and data access management tools.\n- Data Coordination Plan: For large, multi-institutional projects, with personalized consulting, data curation, and a custom data portal.\"\n helpUrl={SAGE_OFFERINGS_HELP_URL}\n />\n </Box>\n {synapseStorageUsage.maxAllowedFileBytes && (\n <Tooltip\n title={`Using ${friendlySumFileBytes} out of ${friendlyMaxAllowedFileBytes}`}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n gap: '5px',\n alignItems: 'center',\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n fontSize: '12px',\n }}\n >\n 0\n </Typography>\n {/* Progress Bar */}\n <Box\n sx={{\n width: `${usageBarWidth}px`,\n height: '4px',\n backgroundColor: 'white',\n borderRadius: '50px',\n }}\n >\n <Box\n sx={{\n width: `${usageBarFilledPx}px`,\n height: '4px',\n backgroundColor: '#EDC766',\n borderRadius: '50px',\n }}\n ></Box>\n </Box>\n <Typography\n variant=\"body1\"\n sx={{\n fontSize: '12px',\n whiteSpace: 'nowrap',\n }}\n >\n {friendlyMaxAllowedFileBytes}\n </Typography>\n </Box>\n </Tooltip>\n )}\n </Box>\n )\n}\n\nexport default ProjectDataAvailability\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAM,IAAgB;AAEtB,SAAgB,EAAwB,EACtC,cACA,SACgD;CAChD,IAAM,EAAE,uBAAoB,EAAkB,GACxC,EAAE,YAAS,EAAuB,GAAY,EAClD,SAAS,CAAC,CAAC,KAAa,EAC1B,CAAC,GACK,IAAwB,GAAM,UAAU,QAC5C,MAAK,EAAE,qBAAA,CACT,GACM,IACJ,GAAuB,UAAU,IAAI,EAAsB,KAAK,KAAA;CAClE,IAAI,CAAC,GACH,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,EAAE,kBAAe,GAAG,yBAAsB,MAAM;CACtD,IAAI,KAAuB,GACzB,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,IAAmB,KAAK,IAC5B,KAAK,MAAO,IAAe,IAAuB,CAAa,GAC/D,CACF,GACM,IAAuB,EAA0B,GAAc,CAAC,GAChE,IAA8B,EAClC,GACA,CACF,EAAE,QAAQ,SAAS,GAAG;CACtB,OACE,kBAAC,GAAD;EACE,IAAI,EACF;GACE,SAAS;GACT,eAAe;GACf,OAAO;GACP,YAAY;GACZ,OAAO;GACP,IAAI;EACN,GACA,CACF;YAXF,CAaE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,eAAe;IACf,KAAK;GACP;aALF;IAOE,kBAAC,GAAD;KACE,IAAI;MAEF,YAAY;MACZ,UAAU;KACZ;eALF,CAMC,qBACmB,GACR;;IAAE;IACd,kBAAC,GAAD;KACE,aAAa,EACX,UAAU,OACZ;KACA,cAAa;KAIb,SAAS;IACV,CAAA;GACE;MACJ,EAAoB,uBACnB,kBAAC,GAAD;GACE,OAAO,SAAS,EAAqB,UAAU;aAE/C,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,KAAK;KACL,YAAY;IACd;cANF;KAQE,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI,EACF,UAAU,OACZ;gBACD;KAEW,CAAA;KAEZ,kBAAC,GAAD;MACE,IAAI;OACF,OAAO,GAAG,EAAc;OACxB,QAAQ;OACR,iBAAiB;OACjB,cAAc;MAChB;gBAEA,kBAAC,GAAD,EACE,IAAI;OACF,OAAO,GAAG,EAAiB;OAC3B,QAAQ;OACR,iBAAiB;OACjB,cAAc;MAChB,EACI,CAAA;KACH,CAAA;KACL,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI;OACF,UAAU;OACV,YAAY;MACd;gBAEC;KACS,CAAA;IACT;;EACE,CAAA,CAER;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ActivityNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { Tooltip, Typography } from '@mui/material'\nimport { Activity } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useMemo } from 'react'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nexport const ActivityNodeLabel = (data: Activity): React.ReactNode => {\n const friendlyModifiedOn = formatDate(dayjs(data.modifiedOn))\n const { name, description } = data\n return useMemo(\n () => (\n <>\n {name && (\n <Tooltip title={name} placement=\"top\" enterNextDelay={200}>\n <span>\n <Typography variant=\"smallText1\" className=\"name\">\n {name}\n </Typography>\n </span>\n </Tooltip>\n )}\n {description && (\n <Tooltip title={description} placement=\"top\" enterNextDelay={200}>\n <span>\n <Typography variant=\"smallText1\" className=\"description\">\n {description}\n </Typography>\n </span>\n </Tooltip>\n )}\n <UserBadge userId={data.modifiedBy} />\n <div>{friendlyModifiedOn}</div>\n </>\n ),\n [name, description, data.modifiedBy, friendlyModifiedOn],\n )\n}\n"],"mappings":";;;;;;;AAQA,IAAa,KAAqB,MAAoC;CACpE,IAAM,IAAqB,EAAW,EAAM,EAAK,WAAW,CAAC,EACvD,EAAE,SAAM,mBAAgB;AAC9B,QAAO,QAEH,kBAAA,GAAA,EAAA,UAAA;EACG,KACC,kBAAC,GAAD;GAAS,OAAO;GAAM,WAAU;GAAM,gBAAgB;aACpD,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IAAY,SAAQ;IAAa,WAAU;cACxC;IACU,CAAA,EACR,CAAA;GACC,CAAA;EAEX,KACC,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAU;GAAM,gBAAgB;aAC3D,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IAAY,SAAQ;IAAa,WAAU;cACxC;IACU,CAAA,EACR,CAAA;GACC,CAAA;EAEZ,kBAAC,GAAD,EAAW,QAAQ,EAAK,YAAc,CAAA;EACtC,kBAAC,OAAD,EAAA,UAAM,GAAyB,CAAA;EAC9B,EAAA,CAAA,EAEL;EAAC;EAAM;EAAa,EAAK;EAAY;EAAmB,CACzD"}
1
+ {"version":3,"file":"ActivityNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ActivityNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { Tooltip, Typography } from '@mui/material'\nimport { Activity } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useMemo } from 'react'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nexport const ActivityNodeLabel = (data: Activity): React.ReactNode => {\n const friendlyModifiedOn = formatDate(dayjs(data.modifiedOn))\n const { name, description } = data\n return useMemo(\n () => (\n <>\n {name && (\n <Tooltip title={name} placement=\"top\" enterNextDelay={200}>\n <span>\n <Typography variant=\"smallText1\" className=\"name\">\n {name}\n </Typography>\n </span>\n </Tooltip>\n )}\n {description && (\n <Tooltip title={description} placement=\"top\" enterNextDelay={200}>\n <span>\n <Typography variant=\"smallText1\" className=\"description\">\n {description}\n </Typography>\n </span>\n </Tooltip>\n )}\n <UserBadge userId={data.modifiedBy} />\n <div>{friendlyModifiedOn}</div>\n </>\n ),\n [name, description, data.modifiedBy, friendlyModifiedOn],\n )\n}\n"],"mappings":";;;;;;;AAQA,IAAa,KAAqB,MAAoC;CACpE,IAAM,IAAqB,EAAW,EAAM,EAAK,UAAU,CAAC,GACtD,EAAE,SAAM,mBAAgB;CAC9B,OAAO,QAEH,kBAAA,GAAA,EAAA,UAAA;EACG,KACC,kBAAC,GAAD;GAAS,OAAO;GAAM,WAAU;GAAM,gBAAgB;aACpD,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IAAY,SAAQ;IAAa,WAAU;cACxC;GACS,CAAA,EACR,CAAA;EACC,CAAA;EAEV,KACC,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAU;GAAM,gBAAgB;aAC3D,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IAAY,SAAQ;IAAa,WAAU;cACxC;GACS,CAAA,EACR,CAAA;EACC,CAAA;EAEX,kBAAC,GAAD,EAAW,QAAQ,EAAK,WAAa,CAAA;EACrC,kBAAC,OAAD,EAAA,UAAM,EAAwB,CAAA;CAC9B,EAAA,CAAA,GAEJ;EAAC;EAAM;EAAa,EAAK;EAAY;CAAkB,CACzD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/EntityNodeLabel.tsx"],"sourcesContent":["import {\n convertToEntityType,\n isVersionableEntityType,\n} from '@/utils/functions/EntityTypeUtils'\nimport React from 'react'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { Link, Tooltip } from '@mui/material'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\nimport { ProvenanceEntityIcon } from './ProvenanceEntityIcon'\n\nexport const EntityNodeLabel = (data: EntityHeader): React.ReactNode => {\n const targetVersionNumberString = data.versionNumber\n ? `.${data.versionNumber}`\n : ''\n const entityVersionString = `${data.id}${targetVersionNumberString}`\n return useMemo(\n () => (\n <>\n <div>\n <ProvenanceEntityIcon entityHeader={data} />\n </div>\n <>\n <div>\n <Tooltip title={data.name} placement=\"top\" enterNextDelay={300}>\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${entityVersionString}`}\n >\n {data.name}\n </Link>\n </Tooltip>\n </div>\n {isVersionableEntityType(convertToEntityType(data.type)) && (\n <div>\n <div>v.{data.versionNumber}</div>\n {!data.isLatestVersion && <div>(old version)</div>}\n </div>\n )}\n </>\n </>\n ),\n [data, entityVersionString],\n )\n}\n"],"mappings":";;;;;;;AAWA,IAAa,KAAmB,MAAwC;CACtE,IAAM,IAA4B,EAAK,gBACnC,IAAI,EAAK,kBACT,IACE,IAAsB,GAAG,EAAK,KAAK;AACzC,QAAO,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAsB,cAAc,GAAQ,CAAA,EACxC,CAAA,EACN,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;EAAS,OAAO,EAAK;EAAM,WAAU;EAAM,gBAAgB;YACzD,kBAAC,GAAD;GACE,MAAM,GAAG,EAA2B,OAAO,UAAU;aAEpD,EAAK;GACD,CAAA;EACC,CAAA,EACN,CAAA,EACL,EAAwB,EAAoB,EAAK,KAAK,CAAC,IACtD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UAAA,CAAK,MAAG,EAAK,cAAoB,EAAA,CAAA,EAChC,CAAC,EAAK,mBAAmB,kBAAC,OAAD,EAAA,UAAK,iBAAmB,CAAA,CAC9C,EAAA,CAAA,CAEP,EAAA,CAAA,CACF,EAAA,CAAA,EAEL,CAAC,GAAM,EAAoB,CAC5B"}
1
+ {"version":3,"file":"EntityNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/EntityNodeLabel.tsx"],"sourcesContent":["import {\n convertToEntityType,\n isVersionableEntityType,\n} from '@/utils/functions/EntityTypeUtils'\nimport React from 'react'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { Link, Tooltip } from '@mui/material'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\nimport { ProvenanceEntityIcon } from './ProvenanceEntityIcon'\n\nexport const EntityNodeLabel = (data: EntityHeader): React.ReactNode => {\n const targetVersionNumberString = data.versionNumber\n ? `.${data.versionNumber}`\n : ''\n const entityVersionString = `${data.id}${targetVersionNumberString}`\n return useMemo(\n () => (\n <>\n <div>\n <ProvenanceEntityIcon entityHeader={data} />\n </div>\n <>\n <div>\n <Tooltip title={data.name} placement=\"top\" enterNextDelay={300}>\n <Link\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${entityVersionString}`}\n >\n {data.name}\n </Link>\n </Tooltip>\n </div>\n {isVersionableEntityType(convertToEntityType(data.type)) && (\n <div>\n <div>v.{data.versionNumber}</div>\n {!data.isLatestVersion && <div>(old version)</div>}\n </div>\n )}\n </>\n </>\n ),\n [data, entityVersionString],\n )\n}\n"],"mappings":";;;;;;;AAWA,IAAa,KAAmB,MAAwC;CACtE,IAAM,IAA4B,EAAK,gBACnC,IAAI,EAAK,kBACT,IACE,IAAsB,GAAG,EAAK,KAAK;CACzC,OAAO,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAsB,cAAc,EAAO,CAAA,EACxC,CAAA,GACL,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;EAAS,OAAO,EAAK;EAAM,WAAU;EAAM,gBAAgB;YACzD,kBAAC,GAAD;GACE,MAAM,GAAG,EAA2B,OAAO,UAAU;aAEpD,EAAK;EACF,CAAA;CACC,CAAA,EACN,CAAA,GACJ,EAAwB,EAAoB,EAAK,IAAI,CAAC,KACrD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UAAA,CAAK,MAAG,EAAK,aAAmB,EAAA,CAAA,GAC/B,CAAC,EAAK,mBAAmB,kBAAC,OAAD,EAAA,UAAK,gBAAkB,CAAA,CAC9C,EAAA,CAAA,CAEP,EAAA,CAAA,CACF,EAAA,CAAA,GAEJ,CAAC,GAAM,CAAmB,CAC5B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPlaceholderNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/EntityPlaceholderNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { useMemo } from 'react'\nimport { Reference } from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../IconSvg/IconSvg'\n\n/**\n * This node type is used if the user cannot access the entity for some reason\n */\nexport const EntityPlaceholderNodeLabel = (\n data: Reference,\n): React.ReactNode => {\n const targetVersionNumberString = data.targetVersionNumber\n ? `.${data.targetVersionNumber}`\n : ''\n const entityVersionString = `${data.targetId}${targetVersionNumberString}`\n return useMemo(\n () => (\n <>\n <div>\n <IconSvg icon=\"fileOutlined\" />\n </div>\n <span>{entityVersionString}</span>\n </>\n ),\n [entityVersionString],\n )\n}\n"],"mappings":";;;;AAQA,IAAa,KACX,MACoB;CACpB,IAAM,IAA4B,EAAK,sBACnC,IAAI,EAAK,wBACT,IACE,IAAsB,GAAG,EAAK,WAAW;AAC/C,QAAO,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAS,MAAK,gBAAiB,CAAA,EAC3B,CAAA,EACN,kBAAC,QAAD,EAAA,UAAO,GAA2B,CAAA,CACjC,EAAA,CAAA,EAEL,CAAC,EAAoB,CACtB"}
1
+ {"version":3,"file":"EntityPlaceholderNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/EntityPlaceholderNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { useMemo } from 'react'\nimport { Reference } from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../IconSvg/IconSvg'\n\n/**\n * This node type is used if the user cannot access the entity for some reason\n */\nexport const EntityPlaceholderNodeLabel = (\n data: Reference,\n): React.ReactNode => {\n const targetVersionNumberString = data.targetVersionNumber\n ? `.${data.targetVersionNumber}`\n : ''\n const entityVersionString = `${data.targetId}${targetVersionNumberString}`\n return useMemo(\n () => (\n <>\n <div>\n <IconSvg icon=\"fileOutlined\" />\n </div>\n <span>{entityVersionString}</span>\n </>\n ),\n [entityVersionString],\n )\n}\n"],"mappings":";;;;AAQA,IAAa,KACX,MACoB;CACpB,IAAM,IAA4B,EAAK,sBACnC,IAAI,EAAK,wBACT,IACE,IAAsB,GAAG,EAAK,WAAW;CAC/C,OAAO,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAS,MAAK,eAAgB,CAAA,EAC3B,CAAA,GACL,kBAAC,QAAD,EAAA,UAAO,EAA0B,CAAA,CACjC,EAAA,CAAA,GAEJ,CAAC,CAAmB,CACtB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandGraphNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ExpandGraphNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport pluralize from 'pluralize'\nimport { useMemo } from 'react'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\n\nexport type ExpandGraphNodeDataProps = {\n entityHeader: EntityHeader\n itemCount: number\n}\nexport const ExpandGraphNodeLabel = (\n props: ExpandGraphNodeDataProps,\n): React.ReactNode => {\n const { itemCount } = props\n return useMemo(\n () => (\n <>\n <a>\n Show {itemCount} {pluralize('item', itemCount)}&hellip;\n </a>\n </>\n ),\n [itemCount],\n )\n}\n"],"mappings":";;;;AASA,IAAa,KACX,MACoB;CACpB,IAAM,EAAE,iBAAc;AACtB,QAAO,QAEH,kBAAA,GAAA,EAAA,UACE,kBAAC,KAAD,EAAA,UAAA;EAAG;EACK;EAAU;EAAE,EAAU,QAAQ,EAAU;EAAC;EAC7C,EAAA,CAAA,EACH,CAAA,EAEL,CAAC,EAAU,CACZ"}
1
+ {"version":3,"file":"ExpandGraphNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ExpandGraphNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport pluralize from 'pluralize'\nimport { useMemo } from 'react'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\n\nexport type ExpandGraphNodeDataProps = {\n entityHeader: EntityHeader\n itemCount: number\n}\nexport const ExpandGraphNodeLabel = (\n props: ExpandGraphNodeDataProps,\n): React.ReactNode => {\n const { itemCount } = props\n return useMemo(\n () => (\n <>\n <a>\n Show {itemCount} {pluralize('item', itemCount)}&hellip;\n </a>\n </>\n ),\n [itemCount],\n )\n}\n"],"mappings":";;;;AASA,IAAa,KACX,MACoB;CACpB,IAAM,EAAE,iBAAc;CACtB,OAAO,QAEH,kBAAA,GAAA,EAAA,UACE,kBAAC,KAAD,EAAA,UAAA;EAAG;EACK;EAAU;EAAE,EAAU,QAAQ,CAAS;EAAE;CAC9C,EAAA,CAAA,EACH,CAAA,GAEJ,CAAC,CAAS,CACZ;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalGraphNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ExternalGraphNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { useMemo } from 'react'\nimport { UsedURL } from '@sage-bionetworks/synapse-types'\nimport { Tooltip } from '@mui/material'\nimport { ProvenanceExternalIcon } from './ProvenanceExternalIcon'\n\nexport const ExternalGraphNodeLabel = (data: UsedURL): React.ReactNode => {\n return useMemo(\n () => (\n <>\n <div>\n <ProvenanceExternalIcon url={data.url} />\n </div>\n <Tooltip title={data.name} placement=\"top\" enterNextDelay={300}>\n <a href={data.url} rel=\"noopener noreferrer\">\n {data.name}\n </a>\n </Tooltip>\n </>\n ),\n [data.name, data.url],\n )\n}\n"],"mappings":";;;;;AAMA,IAAa,KAA0B,MAC9B,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAwB,KAAK,EAAK,KAAO,CAAA,EACrC,CAAA,EACN,kBAAC,GAAD;CAAS,OAAO,EAAK;CAAM,WAAU;CAAM,gBAAgB;WACzD,kBAAC,KAAD;EAAG,MAAM,EAAK;EAAK,KAAI;YACpB,EAAK;EACJ,CAAA;CACI,CAAA,CACT,EAAA,CAAA,EAEL,CAAC,EAAK,MAAM,EAAK,IAAI,CACtB"}
1
+ {"version":3,"file":"ExternalGraphNodeLabel.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ExternalGraphNodeLabel.tsx"],"sourcesContent":["import React from 'react'\nimport { useMemo } from 'react'\nimport { UsedURL } from '@sage-bionetworks/synapse-types'\nimport { Tooltip } from '@mui/material'\nimport { ProvenanceExternalIcon } from './ProvenanceExternalIcon'\n\nexport const ExternalGraphNodeLabel = (data: UsedURL): React.ReactNode => {\n return useMemo(\n () => (\n <>\n <div>\n <ProvenanceExternalIcon url={data.url} />\n </div>\n <Tooltip title={data.name} placement=\"top\" enterNextDelay={300}>\n <a href={data.url} rel=\"noopener noreferrer\">\n {data.name}\n </a>\n </Tooltip>\n </>\n ),\n [data.name, data.url],\n )\n}\n"],"mappings":";;;;;AAMA,IAAa,KAA0B,MAC9B,QAEH,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD,EAAwB,KAAK,EAAK,IAAM,CAAA,EACrC,CAAA,GACL,kBAAC,GAAD;CAAS,OAAO,EAAK;CAAM,WAAU;CAAM,gBAAgB;WACzD,kBAAC,KAAD;EAAG,MAAM,EAAK;EAAK,KAAI;YACpB,EAAK;CACL,CAAA;AACI,CAAA,CACT,EAAA,CAAA,GAEJ,CAAC,EAAK,MAAM,EAAK,GAAG,CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvenanceEntityIcon.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceEntityIcon.tsx"],"sourcesContent":["import React from 'react'\nimport { convertToEntityType } from '@/utils/functions/EntityTypeUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type ProvenanceEntityIconProps = {\n entityHeader?: EntityHeader\n}\n\nconst codeFileExtensionSet = new Set([\n '.awk',\n '.bat',\n '.btm',\n '.c',\n '.cmd',\n '.cpp',\n '.cxx',\n '.def',\n '.dlg',\n '.dpc',\n '.dpj',\n '.dtd',\n '.h',\n '.hdl',\n '.hpp',\n '.hrc',\n '.html',\n '.hxx',\n '.inc',\n '.ini',\n '.inl',\n '.ins',\n '.ipy',\n '.java',\n '.js',\n '.jsp',\n '.l',\n '.lgt',\n '.ll',\n '.par',\n '.pl',\n '.py',\n '.r',\n '.rc',\n '.rdb',\n '.res',\n '.s',\n '.sbl',\n '.scp',\n '.sh',\n '.sql',\n '.src',\n '.srs',\n '.xml',\n '.xrb',\n '.y',\n '.yaml',\n '.yxx',\n '.cwl',\n '.wdl',\n '.json',\n])\n\nexport const ProvenanceEntityIcon = (\n props: ProvenanceEntityIconProps,\n): React.ReactNode => {\n const { entityHeader } = props\n if (entityHeader) {\n const entityType: EntityType = convertToEntityType(entityHeader?.type)\n if (entityType == EntityType.file) {\n // this is a file, may want to use a special icon in this case\n const lastPeriodIndex = entityHeader.name.lastIndexOf('.')\n if (lastPeriodIndex > -1) {\n const extension = entityHeader.name.slice(lastPeriodIndex)\n if (codeFileExtensionSet.has(extension.toLowerCase())) {\n return <IconSvg icon=\"code\" />\n }\n }\n } else {\n return <EntityTypeIcon type={entityType} includeTooltip={false} />\n }\n }\n\n // return the default (File icon)\n return <EntityTypeIcon type={EntityType.file} includeTooltip={false} />\n}\n"],"mappings":";;;;;;;AAWA,IAAM,IAAuB,IAAI,IAAI,6QAoDpC,CAAC,EAEW,KACX,MACoB;CACpB,IAAM,EAAE,oBAAiB;AACzB,KAAI,GAAc;EAChB,IAAM,IAAyB,EAAoB,GAAc,KAAK;AACtE,MAAI,KAAc,EAAW,MAAM;GAEjC,IAAM,IAAkB,EAAa,KAAK,YAAY,IAAI;AAC1D,OAAI,IAAkB,IAAI;IACxB,IAAM,IAAY,EAAa,KAAK,MAAM,EAAgB;AAC1D,QAAI,EAAqB,IAAI,EAAU,aAAa,CAAC,CACnD,QAAO,kBAAC,GAAD,EAAS,MAAK,QAAS,CAAA;;QAIlC,QAAO,kBAAC,GAAD;GAAgB,MAAM;GAAY,gBAAgB;GAAS,CAAA;;AAKtE,QAAO,kBAAC,GAAD;EAAgB,MAAM,EAAW;EAAM,gBAAgB;EAAS,CAAA"}
1
+ {"version":3,"file":"ProvenanceEntityIcon.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceEntityIcon.tsx"],"sourcesContent":["import React from 'react'\nimport { convertToEntityType } from '@/utils/functions/EntityTypeUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type ProvenanceEntityIconProps = {\n entityHeader?: EntityHeader\n}\n\nconst codeFileExtensionSet = new Set([\n '.awk',\n '.bat',\n '.btm',\n '.c',\n '.cmd',\n '.cpp',\n '.cxx',\n '.def',\n '.dlg',\n '.dpc',\n '.dpj',\n '.dtd',\n '.h',\n '.hdl',\n '.hpp',\n '.hrc',\n '.html',\n '.hxx',\n '.inc',\n '.ini',\n '.inl',\n '.ins',\n '.ipy',\n '.java',\n '.js',\n '.jsp',\n '.l',\n '.lgt',\n '.ll',\n '.par',\n '.pl',\n '.py',\n '.r',\n '.rc',\n '.rdb',\n '.res',\n '.s',\n '.sbl',\n '.scp',\n '.sh',\n '.sql',\n '.src',\n '.srs',\n '.xml',\n '.xrb',\n '.y',\n '.yaml',\n '.yxx',\n '.cwl',\n '.wdl',\n '.json',\n])\n\nexport const ProvenanceEntityIcon = (\n props: ProvenanceEntityIconProps,\n): React.ReactNode => {\n const { entityHeader } = props\n if (entityHeader) {\n const entityType: EntityType = convertToEntityType(entityHeader?.type)\n if (entityType == EntityType.file) {\n // this is a file, may want to use a special icon in this case\n const lastPeriodIndex = entityHeader.name.lastIndexOf('.')\n if (lastPeriodIndex > -1) {\n const extension = entityHeader.name.slice(lastPeriodIndex)\n if (codeFileExtensionSet.has(extension.toLowerCase())) {\n return <IconSvg icon=\"code\" />\n }\n }\n } else {\n return <EntityTypeIcon type={entityType} includeTooltip={false} />\n }\n }\n\n // return the default (File icon)\n return <EntityTypeIcon type={EntityType.file} includeTooltip={false} />\n}\n"],"mappings":";;;;;;;AAWA,IAAM,IAAuB,IAAI,IAAI,4QAoDrC,CAAC,GAEY,KACX,MACoB;CACpB,IAAM,EAAE,oBAAiB;CACzB,IAAI,GAAc;EAChB,IAAM,IAAyB,EAAoB,GAAc,IAAI;EACrE,IAAI,KAAc,EAAW,MAAM;GAEjC,IAAM,IAAkB,EAAa,KAAK,YAAY,GAAG;GACzD,IAAI,IAAkB,IAAI;IACxB,IAAM,IAAY,EAAa,KAAK,MAAM,CAAe;IACzD,IAAI,EAAqB,IAAI,EAAU,YAAY,CAAC,GAClD,OAAO,kBAAC,GAAD,EAAS,MAAK,OAAQ,CAAA;GAEjC;EACF,OACE,OAAO,kBAAC,GAAD;GAAgB,MAAM;GAAY,gBAAgB;EAAQ,CAAA;CAErE;CAGA,OAAO,kBAAC,GAAD;EAAgB,MAAM,EAAW;EAAM,gBAAgB;CAAQ,CAAA;AACxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvenanceExternalIcon.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceExternalIcon.tsx"],"sourcesContent":["import React from 'react'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\n\nexport type ProvenanceExternalIconProps = {\n url: string\n}\nconst githubRegex = /^(.+?\\.)?github\\.com$/\nconst githubusercontentRegex = /^(.+?\\.)?githubusercontent\\.com$/\n\nexport const ProvenanceExternalIcon = (\n props: ProvenanceExternalIconProps,\n): React.ReactNode => {\n const { url } = props\n let icon: IconName = 'link'\n const parsedUrl = new URL(url)\n const { hostname } = parsedUrl\n\n if (hostname.match(githubRegex) || hostname.match(githubusercontentRegex)) {\n icon = 'github'\n }\n // else if (url.includes(\"genomespace.org\")) {\n // icon = 'genomespace'\n // }\n\n // return the default (File icon)\n return <IconSvg icon={icon} />\n}\n"],"mappings":";;;;AAMA,IAAM,IAAc,yBACd,IAAyB,oCAElB,KACX,MACoB;CACpB,IAAM,EAAE,WAAQ,GACZ,IAAiB,QAEf,EAAE,gBAAa,IADC,IAAI,EACL;AAUrB,SARI,EAAS,MAAM,EAAY,IAAI,EAAS,MAAM,EAAuB,MACvE,IAAO,WAOF,kBAAC,GAAD,EAAe,SAAQ,CAAA"}
1
+ {"version":3,"file":"ProvenanceExternalIcon.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceExternalIcon.tsx"],"sourcesContent":["import React from 'react'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\n\nexport type ProvenanceExternalIconProps = {\n url: string\n}\nconst githubRegex = /^(.+?\\.)?github\\.com$/\nconst githubusercontentRegex = /^(.+?\\.)?githubusercontent\\.com$/\n\nexport const ProvenanceExternalIcon = (\n props: ProvenanceExternalIconProps,\n): React.ReactNode => {\n const { url } = props\n let icon: IconName = 'link'\n const parsedUrl = new URL(url)\n const { hostname } = parsedUrl\n\n if (hostname.match(githubRegex) || hostname.match(githubusercontentRegex)) {\n icon = 'github'\n }\n // else if (url.includes(\"genomespace.org\")) {\n // icon = 'genomespace'\n // }\n\n // return the default (File icon)\n return <IconSvg icon={icon} />\n}\n"],"mappings":";;;;AAMA,IAAM,IAAc,yBACd,IAAyB,oCAElB,KACX,MACoB;CACpB,IAAM,EAAE,WAAQ,GACZ,IAAiB,QAEf,EAAE,gBAAa,IADC,IAAI,CACL;CAUrB,QARI,EAAS,MAAM,CAAW,KAAK,EAAS,MAAM,CAAsB,OACtE,IAAO,WAOF,kBAAC,GAAD,EAAe,QAAO,CAAA;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvenanceGraph.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceGraph.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetEntityHeaders } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { CircularProgress } from '@mui/material'\nimport {\n Activity,\n EntityHeader,\n ReferenceList,\n Used,\n USED_ENTITY_CONCRETE_TYPE_VALUE,\n UsedEntity,\n UsedURL,\n} from '@sage-bionetworks/synapse-types'\nimport { MouseEvent, useCallback, useEffect, useState, WheelEvent } from 'react'\nimport { useErrorHandler } from 'react-error-boundary'\nimport ReactFlow, {\n Controls,\n Edge,\n getConnectedEdges,\n Node,\n ReactFlowProvider,\n useEdgesState,\n useNodesState,\n useReactFlow,\n} from 'reactflow'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport { ExpandGraphNodeDataProps } from './ExpandGraphNodeLabel'\nimport {\n addActivityNode,\n addEntityNode,\n addEntityPlaceholderNode,\n addExpandNode,\n addExternalNode,\n addUndefinedNode,\n findEntityNode,\n isRootEntity,\n} from './ProvenanceGraphUtils'\nimport {\n getLayoutedElements,\n isArrayEqual,\n NodeType,\n ProvenanceNodeData,\n} from './ProvenanceUtils'\nimport 'reactflow/dist/style.css'\n\nexport type ProvenanceProps = {\n // what entity nodes should we start with?\n entityRefs: ReferenceList\n containerHeight?: string\n initialNodes?: Node[]\n initialEdges?: Edge[]\n onNodesChangedListener?: (nodes: Node[]) => void\n onEdgesChangedListener?: (edges: Edge[]) => void\n}\n\nconst MAX_ACTIVITY_EXPAND_NODES = 400\nconst DEFAULT_ZOOM = 0.85\n\n/**\n * Renders a Provenance Graph for a set of entities.\n * New Nodes are added to tempNodes, and new Edges are added to tempEdges.\n * On change, these are fed into the dagre js graph library to figure out the node positions,\n * and the output stored in 'nodes' and 'edges'. The 'nodes' and 'edges' arrays are used by the\n * ReactFlow component.\n */\nconst ProvenanceReactFlow = (props: ProvenanceProps): React.ReactNode => {\n const {\n entityRefs: rootEntityRefs,\n containerHeight = '200px',\n initialNodes = [],\n initialEdges = [],\n onNodesChangedListener,\n onEdgesChangedListener,\n } = props\n const { accessToken } = useSynapseContext()\n const [tempNodes, setTempNodes] = useState<Node[]>(initialNodes)\n const [tempEdges, setTempEdges] = useState<Edge[]>(initialEdges)\n const [nodes, setNodes] = useNodesState([])\n const [edges, setEdges] = useEdgesState([])\n const [clickedNode, setClickedNode] = useState<Node>()\n const handleError = useErrorHandler()\n\n const { data: rootEntityHeadersPage, isSuccess } = useGetEntityHeaders(\n rootEntityRefs,\n { throwOnError: true },\n )\n if (\n isSuccess &&\n rootEntityHeadersPage &&\n rootEntityHeadersPage.totalNumberOfResults == 0\n ) {\n const synapseIds = rootEntityRefs.map(ref => ref.targetId).join(',')\n handleError(\n `Unable to load provenance for the given Synapse IDs: ${synapseIds}`,\n )\n }\n const rootEntityHeaders = rootEntityHeadersPage?.results\n const [initializedPosition, setInitializedPosition] = useState<boolean>(false)\n\n // Get the react flow instance so we attempt to properly center the view.\n const reactFlowInstance = useReactFlow()\n\n const onClickNode = useCallback((_event: MouseEvent, node: Node) => {\n setClickedNode(node)\n }, [])\n\n /**\n * Called when we have a new entity to add to the graph. This will result in adding\n * a new Entity Node to the nodesCopy, a link from the usedInActivity to the new Entity Node,\n * AND it will look for an Activity associated with the new entity. If an Activity is found,\n * it will add an Expand Node for the user to click (to expand to see this Activity!).\n * If this is a root node (starting entity node), then we automatically add the Activity Node\n * and process it.\n */\n const addEntity = useCallback(\n async (params: {\n entityHeader: EntityHeader\n usedInActivity?: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n }) => {\n const { entityHeader, nodesCopy, edgesCopy, usedInActivity } = params\n addEntityNode({\n entityHeader,\n activity: usedInActivity,\n nodesCopy,\n edgesCopy,\n })\n //look for Activity\n try {\n const activity = await SynapseClient.getActivityForEntity(\n entityHeader.id,\n entityHeader.versionNumber,\n accessToken,\n )\n // if this is not a root node (or there are too many items to show), add an expand node\n if (\n !isRootEntity({ entityHeader, rootEntityHeaders }) ||\n (activity.used && activity.used.length >= MAX_ACTIVITY_EXPAND_NODES)\n ) {\n addExpandNode({\n entityHeader,\n itemCount: activity.used?.length,\n nodesCopy,\n edgesCopy,\n })\n }\n } catch (e) {\n // Activity is not accessible\n console.error(e)\n if (\n isRootEntity({\n entityHeader,\n rootEntityHeaders,\n })\n ) {\n // add provenance undefined node\n addUndefinedNode({\n entityHeader,\n nodesCopy,\n edgesCopy,\n })\n }\n }\n },\n [accessToken, rootEntityHeaders],\n )\n\n /**\n * This effect attempts to center the graph on one of the root nodes.\n * Only initializes after after a root node has been added to the graph.\n */\n useEffect(() => {\n if (!initializedPosition && nodes.length > 0) {\n setTimeout(() => {\n if (rootEntityHeaders) {\n const rootEntityNode = findEntityNode(rootEntityHeaders[0], nodes)\n if (rootEntityNode) {\n const currentZoom = reactFlowInstance.getZoom()\n const zoom = currentZoom > DEFAULT_ZOOM ? DEFAULT_ZOOM : currentZoom\n reactFlowInstance?.setCenter(\n rootEntityNode.position.x + 150,\n rootEntityNode.position.y - 30,\n { zoom, duration: 0 },\n )\n }\n setInitializedPosition(true)\n }\n })\n }\n }, [initializedPosition, nodes, reactFlowInstance, rootEntityHeaders])\n\n /**\n * This is called when the user clicks on an Expand Node. It will add the associated Activity\n * and all \"used\" items (entities and urls) to the graph by adding items to the nodesCopy and edgesCopy arrays.\n */\n const onExpandEntity = useCallback(\n async (params: {\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n }) => {\n const { entityHeader, nodesCopy, edgesCopy } = params\n try {\n const activity = await SynapseClient.getActivityForEntity(\n entityHeader.id,\n entityHeader.versionNumber,\n accessToken,\n )\n addActivityNode({\n activity,\n entityHeader,\n nodesCopy,\n edgesCopy,\n })\n // go through Activity.used array to add these nodes/edges\n if (activity.used && activity.used.length < MAX_ACTIVITY_EXPAND_NODES) {\n const usedEntityReferences: ReferenceList = []\n activity.used.forEach((usedItem: Used) => {\n if (usedItem.concreteType == USED_ENTITY_CONCRETE_TYPE_VALUE) {\n usedEntityReferences.push((usedItem as UsedEntity).reference)\n } else {\n // UsedURL\n const usedURL = usedItem as UsedURL\n addExternalNode({ usedURL, activity, nodesCopy, edgesCopy })\n }\n })\n const usedEntityHeadersPage = await SynapseClient.getEntityHeaders(\n usedEntityReferences,\n accessToken,\n )\n const { results: usedEntityHeaderPageResults } = usedEntityHeadersPage\n // find refs that were not returned by the entity header call\n const refsMissingEntityHeaders = usedEntityReferences.filter(ref => {\n return (\n usedEntityHeaderPageResults.find(header => {\n return header.id == ref.targetId\n }) == undefined\n )\n })\n refsMissingEntityHeaders.forEach(ref => {\n addEntityPlaceholderNode({ ref, activity, nodesCopy, edgesCopy })\n })\n const addEntityPromises: Promise<void>[] = []\n usedEntityHeaderPageResults.forEach(header => {\n addEntityPromises.push(\n addEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n usedInActivity: activity,\n }),\n )\n })\n await Promise.allSettled(addEntityPromises)\n }\n } catch (e) {\n // Activity is not accessible\n console.error(e)\n }\n },\n [accessToken, addEntity],\n )\n\n /**\n * This effect code executes when no nodes have been added.\n * It will add the root nodes, and attempt to expand the root nodes.\n */\n useEffect(() => {\n if (rootEntityHeaders && tempNodes.length == 0) {\n const nodesCopy = [...tempNodes]\n const edgesCopy = [...tempEdges]\n const addAndExpandPromises: Promise<void>[] = []\n rootEntityHeaders.forEach(header => {\n const addEntityPromise = addEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n })\n addAndExpandPromises.push(addEntityPromise)\n\n const expandEntityPromise = onExpandEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n })\n addAndExpandPromises.push(expandEntityPromise)\n })\n Promise.allSettled(addAndExpandPromises).finally(() => {\n setTempNodes(nodesCopy)\n setTempEdges(edgesCopy)\n })\n }\n }, [\n addEntity,\n handleError,\n onExpandEntity,\n rootEntityHeaders,\n rootEntityRefs,\n tempEdges,\n tempNodes,\n ])\n\n /**\n * This effect code executes when a node is clicked.\n * We check to see if it is an expand node. If it is, then we remove the expand node (and associated edge)\n * and ask for the Activity and associated \"used\" nodes (entities and URLs)\n */\n useEffect(() => {\n const nodeData: ProvenanceNodeData = clickedNode?.data as ProvenanceNodeData\n if (clickedNode && nodeData?.type == NodeType.EXPAND) {\n const expandNodeDataProps = nodeData.props as ExpandGraphNodeDataProps\n if (expandNodeDataProps.itemCount > MAX_ACTIVITY_EXPAND_NODES) {\n displayToast(\n 'Web visualization does not support expanding this many items at this time.',\n 'danger',\n )\n return\n } else {\n // graph will be used outside of synapse, so show a non-branded spinner\n nodeData.label = <CircularProgress size={30} />\n // remove clicked node\n const nodesWithoutExpandNode = tempNodes.filter(\n node => node.id != clickedNode.id,\n )\n const edgeToRemove = getConnectedEdges([clickedNode], tempEdges)[0]\n const edgesWithoutExpandEdge = tempEdges.filter(\n edge => edge != edgeToRemove,\n )\n onExpandEntity({\n entityHeader: expandNodeDataProps.entityHeader,\n nodesCopy: nodesWithoutExpandNode,\n edgesCopy: edgesWithoutExpandEdge,\n }).finally(() => {\n setTempNodes(nodesWithoutExpandNode)\n setTempEdges(edgesWithoutExpandEdge)\n })\n }\n setClickedNode(undefined)\n }\n }, [clickedNode, tempNodes, tempEdges, onExpandEntity])\n\n /**\n * This effect code is run when the graph nodes or edges change.\n * It feeds the nodes and edges into our layout library to figure out where they should be positioned.\n * The result is saved in the state variable \"nodes\" and \"edges\".\n */\n useEffect(() => {\n const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(\n tempNodes,\n tempEdges,\n 'TB',\n )\n // hack: ProvenanceUtils.getProvenanceNode() returns a new object every time, so check to see if\n // there were any real changes\n if (!isArrayEqual(layoutedNodes, nodes)) {\n setNodes(layoutedNodes)\n if (onNodesChangedListener) {\n onNodesChangedListener(layoutedNodes)\n }\n }\n if (!isArrayEqual(layoutedEdges, edges)) {\n setEdges(layoutedEdges)\n if (onEdgesChangedListener) {\n onEdgesChangedListener(layoutedEdges)\n }\n }\n }, [\n tempNodes,\n tempEdges,\n nodes,\n edges,\n setNodes,\n setEdges,\n initializedPosition,\n reactFlowInstance,\n rootEntityRefs,\n onNodesChangedListener,\n onEdgesChangedListener,\n ])\n\n const onPaneScrollFunction: (event?: WheelEvent) => void = useCallback(\n event => {\n // Cannot simply check the truthy value of event.deltaX (or Y) because the value might be 0 (or -0), which is falsy\n if (\n event &&\n typeof event.deltaX !== 'undefined' &&\n typeof event.deltaY !== 'undefined'\n ) {\n window.scrollTo(\n window.scrollX + event.deltaX,\n window.scrollY + event.deltaY,\n )\n }\n },\n [],\n )\n return (\n <div\n className=\"ProvenanceWidget\"\n role=\"graphics-doc\" //https://www.w3.org/wiki/SVG_Accessibility/ARIA_roles_for_charts#Document_Roles\n style={{ width: '100%', height: containerHeight }}\n >\n <ReactFlow\n defaultViewport={{ x: 0, y: 0, zoom: DEFAULT_ZOOM }}\n nodes={nodes}\n edges={edges}\n onNodeClick={onClickNode}\n // onNodesChange={onNodesChange} // SWC-6804: When the nodes/edges are updated (expanded) the graph is already re-rendered.\n // onEdgesChange={onEdgesChange} // Specifying these callbacks causes an infinite re-rendering loop.\n attributionPosition=\"bottom-right\"\n onConnect={undefined}\n zoomOnScroll={false}\n onPaneScroll={onPaneScrollFunction}\n >\n <Controls />\n </ReactFlow>\n </div>\n )\n}\n\nconst ProvenanceGraph = (props: ProvenanceProps): React.ReactNode => {\n return (\n <SynapseErrorBoundary>\n <ReactFlowProvider>\n <ProvenanceReactFlow {...props} />\n </ReactFlowProvider>\n </SynapseErrorBoundary>\n )\n}\n\nexport default ProvenanceGraph\n"],"mappings":";;;;;;;;;;;;;;;;AAwDA,IAAM,IAA4B,KAC5B,IAAe,KASf,KAAuB,MAA4C;CACvE,IAAM,EACJ,YAAY,GACZ,qBAAkB,SAClB,kBAAe,EAAE,EACjB,kBAAe,EAAE,EACjB,2BACA,8BACE,GACE,EAAE,mBAAgB,GAAmB,EACrC,CAAC,GAAW,KAAgB,EAAiB,EAAa,EAC1D,CAAC,GAAW,KAAgB,EAAiB,EAAa,EAC1D,CAAC,GAAO,KAAY,EAAc,EAAE,CAAC,EACrC,CAAC,GAAO,KAAY,EAAc,EAAE,CAAC,EACrC,CAAC,GAAa,KAAkB,GAAgB,EAChD,IAAc,GAAiB,EAE/B,EAAE,MAAM,GAAuB,iBAAc,EACjD,GACA,EAAE,cAAc,IAAM,CACvB;AACD,CACE,KACA,KACA,EAAsB,wBAAwB,KAG9C,EACE,wDAFiB,EAAe,KAAI,MAAO,EAAI,SAAS,CAAC,KAAK,IAEN,GACzD;CAEH,IAAM,IAAoB,GAAuB,SAC3C,CAAC,GAAqB,KAA0B,EAAkB,GAAM,EAGxE,IAAoB,GAAc,EAElC,KAAc,GAAa,GAAoB,MAAe;AAClE,IAAe,EAAK;IACnB,EAAE,CAAC,EAUA,IAAY,EAChB,OAAO,MAKD;EACJ,IAAM,EAAE,iBAAc,cAAW,cAAW,sBAAmB;AAC/D,KAAc;GACZ;GACA,UAAU;GACV;GACA;GACD,CAAC;AAEF,MAAI;GACF,IAAM,IAAW,MAAM,EAAc,qBACnC,EAAa,IACb,EAAa,eACb,EACD;AAED,IACE,CAAC,EAAa;IAAE;IAAc;IAAmB,CAAC,IACjD,EAAS,QAAQ,EAAS,KAAK,UAAU,MAE1C,EAAc;IACZ;IACA,WAAW,EAAS,MAAM;IAC1B;IACA;IACD,CAAC;WAEG,GAAG;AAGV,GADA,QAAQ,MAAM,EAAE,EAEd,EAAa;IACX;IACA;IACD,CAAC,IAGF,EAAiB;IACf;IACA;IACA;IACD,CAAC;;IAIR,CAAC,GAAa,EAAkB,CACjC;AAMD,SAAgB;AACd,EAAI,CAAC,KAAuB,EAAM,SAAS,KACzC,iBAAiB;AACf,OAAI,GAAmB;IACrB,IAAM,IAAiB,EAAe,EAAkB,IAAI,EAAM;AAClE,QAAI,GAAgB;KAClB,IAAM,IAAc,EAAkB,SAAS,EACzC,IAAO,IAAc,IAAe,IAAe;AACzD,QAAmB,UACjB,EAAe,SAAS,IAAI,KAC5B,EAAe,SAAS,IAAI,IAC5B;MAAE;MAAM,UAAU;MAAG,CACtB;;AAEH,MAAuB,GAAK;;IAE9B;IAEH;EAAC;EAAqB;EAAO;EAAmB;EAAkB,CAAC;CAMtE,IAAM,IAAiB,EACrB,OAAO,MAID;EACJ,IAAM,EAAE,iBAAc,cAAW,iBAAc;AAC/C,MAAI;GACF,IAAM,IAAW,MAAM,EAAc,qBACnC,EAAa,IACb,EAAa,eACb,EACD;AAQD,OAPA,GAAgB;IACd;IACA;IACA;IACA;IACD,CAAC,EAEE,EAAS,QAAQ,EAAS,KAAK,SAAS,GAA2B;IACrE,IAAM,IAAsC,EAAE;AAC9C,MAAS,KAAK,SAAS,MAAmB;AACxC,KAAI,EAAS,gBAAgB,IAC3B,EAAqB,KAAM,EAAwB,UAAU,GAI7D,EAAgB;MAAE,SAAA;MAAS;MAAU;MAAW;MAAW,CAAC;MAE9D;IAKF,IAAM,EAAE,SAAS,MAAgC,MAJb,EAAc,iBAChD,GACA,EACD;AAGgC,MAAqB,QAAO,MAEzD,EAA4B,MAAK,MACxB,EAAO,MAAM,EAAI,SACxB,IAAI,KAGV,CAAyB,SAAQ,MAAO;AACtC,OAAyB;MAAE;MAAK;MAAU;MAAW;MAAW,CAAC;MACjE;IACF,IAAM,IAAqC,EAAE;AAW7C,IAVA,EAA4B,SAAQ,MAAU;AAC5C,OAAkB,KAChB,EAAU;MACR,cAAc;MACd;MACA;MACA,gBAAgB;MACjB,CAAC,CACH;MACD,EACF,MAAM,QAAQ,WAAW,EAAkB;;WAEtC,GAAG;AAEV,WAAQ,MAAM,EAAE;;IAGpB,CAAC,GAAa,EAAU,CACzB;AAqFD,CA/EA,QAAgB;AACd,MAAI,KAAqB,EAAU,UAAU,GAAG;GAC9C,IAAM,IAAY,CAAC,GAAG,EAAU,EAC1B,IAAY,CAAC,GAAG,EAAU,EAC1B,IAAwC,EAAE;AAgBhD,GAfA,EAAkB,SAAQ,MAAU;IAClC,IAAM,IAAmB,EAAU;KACjC,cAAc;KACd;KACA;KACD,CAAC;AACF,MAAqB,KAAK,EAAiB;IAE3C,IAAM,IAAsB,EAAe;KACzC,cAAc;KACd;KACA;KACD,CAAC;AACF,MAAqB,KAAK,EAAoB;KAC9C,EACF,QAAQ,WAAW,EAAqB,CAAC,cAAc;AAErD,IADA,EAAa,EAAU,EACvB,EAAa,EAAU;KACvB;;IAEH;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAOF,QAAgB;EACd,IAAM,IAA+B,GAAa;AAClD,MAAI,KAAe,GAAU,QAAQ,EAAS,QAAQ;GACpD,IAAM,IAAsB,EAAS;AACrC,OAAI,EAAoB,YAAY,GAA2B;AAC7D,MACE,8EACA,SACD;AACD;UACK;AAEL,MAAS,QAAQ,kBAAC,IAAD,EAAkB,MAAM,IAAM,CAAA;IAE/C,IAAM,IAAyB,EAAU,QACvC,MAAQ,EAAK,MAAM,EAAY,GAChC,EACK,IAAe,EAAkB,CAAC,EAAY,EAAE,EAAU,CAAC,IAC3D,IAAyB,EAAU,QACvC,MAAQ,KAAQ,EACjB;AACD,MAAe;KACb,cAAc,EAAoB;KAClC,WAAW;KACX,WAAW;KACZ,CAAC,CAAC,cAAc;AAEf,KADA,EAAa,EAAuB,EACpC,EAAa,EAAuB;MACpC;;AAEJ,KAAe,KAAA,EAAU;;IAE1B;EAAC;EAAa;EAAW;EAAW;EAAe,CAAC,EAOvD,QAAgB;EACd,IAAM,EAAE,OAAO,GAAe,OAAO,MAAkB,EACrD,GACA,GACA,KACD;AASD,EANK,EAAa,GAAe,EAAM,KACrC,EAAS,EAAc,EACnB,KACF,EAAuB,EAAc,GAGpC,EAAa,GAAe,EAAM,KACrC,EAAS,EAAc,EACnB,KACF,EAAuB,EAAc;IAGxC;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,IAAM,KAAqD,GACzD,MAAS;AAEP,EACE,KACO,EAAM,WAAW,UACjB,EAAM,WAAW,UAExB,OAAO,SACL,OAAO,UAAU,EAAM,QACvB,OAAO,UAAU,EAAM,OACxB;IAGL,EAAE,CACH;AACD,QACE,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,OAAO;GAAE,OAAO;GAAQ,QAAQ;GAAiB;YAEjD,kBAAC,GAAD;GACE,iBAAiB;IAAE,GAAG;IAAG,GAAG;IAAG,MAAM;IAAc;GAC5C;GACA;GACP,aAAa;GAGb,qBAAoB;GACpB,WAAW,KAAA;GACX,cAAc;GACd,cAAc;aAEd,kBAAC,GAAD,EAAY,CAAA;GACF,CAAA;EACR,CAAA;GAIJ,KAAmB,MAErB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAqB,GAAI,GAAS,CAAA,EAChB,CAAA,EACC,CAAA"}
1
+ {"version":3,"file":"ProvenanceGraph.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceGraph.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetEntityHeaders } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { CircularProgress } from '@mui/material'\nimport {\n Activity,\n EntityHeader,\n ReferenceList,\n Used,\n USED_ENTITY_CONCRETE_TYPE_VALUE,\n UsedEntity,\n UsedURL,\n} from '@sage-bionetworks/synapse-types'\nimport { MouseEvent, useCallback, useEffect, useState, WheelEvent } from 'react'\nimport { useErrorHandler } from 'react-error-boundary'\nimport ReactFlow, {\n Controls,\n Edge,\n getConnectedEdges,\n Node,\n ReactFlowProvider,\n useEdgesState,\n useNodesState,\n useReactFlow,\n} from 'reactflow'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport { ExpandGraphNodeDataProps } from './ExpandGraphNodeLabel'\nimport {\n addActivityNode,\n addEntityNode,\n addEntityPlaceholderNode,\n addExpandNode,\n addExternalNode,\n addUndefinedNode,\n findEntityNode,\n isRootEntity,\n} from './ProvenanceGraphUtils'\nimport {\n getLayoutedElements,\n isArrayEqual,\n NodeType,\n ProvenanceNodeData,\n} from './ProvenanceUtils'\nimport 'reactflow/dist/style.css'\n\nexport type ProvenanceProps = {\n // what entity nodes should we start with?\n entityRefs: ReferenceList\n containerHeight?: string\n initialNodes?: Node[]\n initialEdges?: Edge[]\n onNodesChangedListener?: (nodes: Node[]) => void\n onEdgesChangedListener?: (edges: Edge[]) => void\n}\n\nconst MAX_ACTIVITY_EXPAND_NODES = 400\nconst DEFAULT_ZOOM = 0.85\n\n/**\n * Renders a Provenance Graph for a set of entities.\n * New Nodes are added to tempNodes, and new Edges are added to tempEdges.\n * On change, these are fed into the dagre js graph library to figure out the node positions,\n * and the output stored in 'nodes' and 'edges'. The 'nodes' and 'edges' arrays are used by the\n * ReactFlow component.\n */\nconst ProvenanceReactFlow = (props: ProvenanceProps): React.ReactNode => {\n const {\n entityRefs: rootEntityRefs,\n containerHeight = '200px',\n initialNodes = [],\n initialEdges = [],\n onNodesChangedListener,\n onEdgesChangedListener,\n } = props\n const { accessToken } = useSynapseContext()\n const [tempNodes, setTempNodes] = useState<Node[]>(initialNodes)\n const [tempEdges, setTempEdges] = useState<Edge[]>(initialEdges)\n const [nodes, setNodes] = useNodesState([])\n const [edges, setEdges] = useEdgesState([])\n const [clickedNode, setClickedNode] = useState<Node>()\n const handleError = useErrorHandler()\n\n const { data: rootEntityHeadersPage, isSuccess } = useGetEntityHeaders(\n rootEntityRefs,\n { throwOnError: true },\n )\n if (\n isSuccess &&\n rootEntityHeadersPage &&\n rootEntityHeadersPage.totalNumberOfResults == 0\n ) {\n const synapseIds = rootEntityRefs.map(ref => ref.targetId).join(',')\n handleError(\n `Unable to load provenance for the given Synapse IDs: ${synapseIds}`,\n )\n }\n const rootEntityHeaders = rootEntityHeadersPage?.results\n const [initializedPosition, setInitializedPosition] = useState<boolean>(false)\n\n // Get the react flow instance so we attempt to properly center the view.\n const reactFlowInstance = useReactFlow()\n\n const onClickNode = useCallback((_event: MouseEvent, node: Node) => {\n setClickedNode(node)\n }, [])\n\n /**\n * Called when we have a new entity to add to the graph. This will result in adding\n * a new Entity Node to the nodesCopy, a link from the usedInActivity to the new Entity Node,\n * AND it will look for an Activity associated with the new entity. If an Activity is found,\n * it will add an Expand Node for the user to click (to expand to see this Activity!).\n * If this is a root node (starting entity node), then we automatically add the Activity Node\n * and process it.\n */\n const addEntity = useCallback(\n async (params: {\n entityHeader: EntityHeader\n usedInActivity?: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n }) => {\n const { entityHeader, nodesCopy, edgesCopy, usedInActivity } = params\n addEntityNode({\n entityHeader,\n activity: usedInActivity,\n nodesCopy,\n edgesCopy,\n })\n //look for Activity\n try {\n const activity = await SynapseClient.getActivityForEntity(\n entityHeader.id,\n entityHeader.versionNumber,\n accessToken,\n )\n // if this is not a root node (or there are too many items to show), add an expand node\n if (\n !isRootEntity({ entityHeader, rootEntityHeaders }) ||\n (activity.used && activity.used.length >= MAX_ACTIVITY_EXPAND_NODES)\n ) {\n addExpandNode({\n entityHeader,\n itemCount: activity.used?.length,\n nodesCopy,\n edgesCopy,\n })\n }\n } catch (e) {\n // Activity is not accessible\n console.error(e)\n if (\n isRootEntity({\n entityHeader,\n rootEntityHeaders,\n })\n ) {\n // add provenance undefined node\n addUndefinedNode({\n entityHeader,\n nodesCopy,\n edgesCopy,\n })\n }\n }\n },\n [accessToken, rootEntityHeaders],\n )\n\n /**\n * This effect attempts to center the graph on one of the root nodes.\n * Only initializes after after a root node has been added to the graph.\n */\n useEffect(() => {\n if (!initializedPosition && nodes.length > 0) {\n setTimeout(() => {\n if (rootEntityHeaders) {\n const rootEntityNode = findEntityNode(rootEntityHeaders[0], nodes)\n if (rootEntityNode) {\n const currentZoom = reactFlowInstance.getZoom()\n const zoom = currentZoom > DEFAULT_ZOOM ? DEFAULT_ZOOM : currentZoom\n reactFlowInstance?.setCenter(\n rootEntityNode.position.x + 150,\n rootEntityNode.position.y - 30,\n { zoom, duration: 0 },\n )\n }\n setInitializedPosition(true)\n }\n })\n }\n }, [initializedPosition, nodes, reactFlowInstance, rootEntityHeaders])\n\n /**\n * This is called when the user clicks on an Expand Node. It will add the associated Activity\n * and all \"used\" items (entities and urls) to the graph by adding items to the nodesCopy and edgesCopy arrays.\n */\n const onExpandEntity = useCallback(\n async (params: {\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n }) => {\n const { entityHeader, nodesCopy, edgesCopy } = params\n try {\n const activity = await SynapseClient.getActivityForEntity(\n entityHeader.id,\n entityHeader.versionNumber,\n accessToken,\n )\n addActivityNode({\n activity,\n entityHeader,\n nodesCopy,\n edgesCopy,\n })\n // go through Activity.used array to add these nodes/edges\n if (activity.used && activity.used.length < MAX_ACTIVITY_EXPAND_NODES) {\n const usedEntityReferences: ReferenceList = []\n activity.used.forEach((usedItem: Used) => {\n if (usedItem.concreteType == USED_ENTITY_CONCRETE_TYPE_VALUE) {\n usedEntityReferences.push((usedItem as UsedEntity).reference)\n } else {\n // UsedURL\n const usedURL = usedItem as UsedURL\n addExternalNode({ usedURL, activity, nodesCopy, edgesCopy })\n }\n })\n const usedEntityHeadersPage = await SynapseClient.getEntityHeaders(\n usedEntityReferences,\n accessToken,\n )\n const { results: usedEntityHeaderPageResults } = usedEntityHeadersPage\n // find refs that were not returned by the entity header call\n const refsMissingEntityHeaders = usedEntityReferences.filter(ref => {\n return (\n usedEntityHeaderPageResults.find(header => {\n return header.id == ref.targetId\n }) == undefined\n )\n })\n refsMissingEntityHeaders.forEach(ref => {\n addEntityPlaceholderNode({ ref, activity, nodesCopy, edgesCopy })\n })\n const addEntityPromises: Promise<void>[] = []\n usedEntityHeaderPageResults.forEach(header => {\n addEntityPromises.push(\n addEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n usedInActivity: activity,\n }),\n )\n })\n await Promise.allSettled(addEntityPromises)\n }\n } catch (e) {\n // Activity is not accessible\n console.error(e)\n }\n },\n [accessToken, addEntity],\n )\n\n /**\n * This effect code executes when no nodes have been added.\n * It will add the root nodes, and attempt to expand the root nodes.\n */\n useEffect(() => {\n if (rootEntityHeaders && tempNodes.length == 0) {\n const nodesCopy = [...tempNodes]\n const edgesCopy = [...tempEdges]\n const addAndExpandPromises: Promise<void>[] = []\n rootEntityHeaders.forEach(header => {\n const addEntityPromise = addEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n })\n addAndExpandPromises.push(addEntityPromise)\n\n const expandEntityPromise = onExpandEntity({\n entityHeader: header,\n nodesCopy,\n edgesCopy,\n })\n addAndExpandPromises.push(expandEntityPromise)\n })\n Promise.allSettled(addAndExpandPromises).finally(() => {\n setTempNodes(nodesCopy)\n setTempEdges(edgesCopy)\n })\n }\n }, [\n addEntity,\n handleError,\n onExpandEntity,\n rootEntityHeaders,\n rootEntityRefs,\n tempEdges,\n tempNodes,\n ])\n\n /**\n * This effect code executes when a node is clicked.\n * We check to see if it is an expand node. If it is, then we remove the expand node (and associated edge)\n * and ask for the Activity and associated \"used\" nodes (entities and URLs)\n */\n useEffect(() => {\n const nodeData: ProvenanceNodeData = clickedNode?.data as ProvenanceNodeData\n if (clickedNode && nodeData?.type == NodeType.EXPAND) {\n const expandNodeDataProps = nodeData.props as ExpandGraphNodeDataProps\n if (expandNodeDataProps.itemCount > MAX_ACTIVITY_EXPAND_NODES) {\n displayToast(\n 'Web visualization does not support expanding this many items at this time.',\n 'danger',\n )\n return\n } else {\n // graph will be used outside of synapse, so show a non-branded spinner\n nodeData.label = <CircularProgress size={30} />\n // remove clicked node\n const nodesWithoutExpandNode = tempNodes.filter(\n node => node.id != clickedNode.id,\n )\n const edgeToRemove = getConnectedEdges([clickedNode], tempEdges)[0]\n const edgesWithoutExpandEdge = tempEdges.filter(\n edge => edge != edgeToRemove,\n )\n onExpandEntity({\n entityHeader: expandNodeDataProps.entityHeader,\n nodesCopy: nodesWithoutExpandNode,\n edgesCopy: edgesWithoutExpandEdge,\n }).finally(() => {\n setTempNodes(nodesWithoutExpandNode)\n setTempEdges(edgesWithoutExpandEdge)\n })\n }\n setClickedNode(undefined)\n }\n }, [clickedNode, tempNodes, tempEdges, onExpandEntity])\n\n /**\n * This effect code is run when the graph nodes or edges change.\n * It feeds the nodes and edges into our layout library to figure out where they should be positioned.\n * The result is saved in the state variable \"nodes\" and \"edges\".\n */\n useEffect(() => {\n const { nodes: layoutedNodes, edges: layoutedEdges } = getLayoutedElements(\n tempNodes,\n tempEdges,\n 'TB',\n )\n // hack: ProvenanceUtils.getProvenanceNode() returns a new object every time, so check to see if\n // there were any real changes\n if (!isArrayEqual(layoutedNodes, nodes)) {\n setNodes(layoutedNodes)\n if (onNodesChangedListener) {\n onNodesChangedListener(layoutedNodes)\n }\n }\n if (!isArrayEqual(layoutedEdges, edges)) {\n setEdges(layoutedEdges)\n if (onEdgesChangedListener) {\n onEdgesChangedListener(layoutedEdges)\n }\n }\n }, [\n tempNodes,\n tempEdges,\n nodes,\n edges,\n setNodes,\n setEdges,\n initializedPosition,\n reactFlowInstance,\n rootEntityRefs,\n onNodesChangedListener,\n onEdgesChangedListener,\n ])\n\n const onPaneScrollFunction: (event?: WheelEvent) => void = useCallback(\n event => {\n // Cannot simply check the truthy value of event.deltaX (or Y) because the value might be 0 (or -0), which is falsy\n if (\n event &&\n typeof event.deltaX !== 'undefined' &&\n typeof event.deltaY !== 'undefined'\n ) {\n window.scrollTo(\n window.scrollX + event.deltaX,\n window.scrollY + event.deltaY,\n )\n }\n },\n [],\n )\n return (\n <div\n className=\"ProvenanceWidget\"\n role=\"graphics-doc\" //https://www.w3.org/wiki/SVG_Accessibility/ARIA_roles_for_charts#Document_Roles\n style={{ width: '100%', height: containerHeight }}\n >\n <ReactFlow\n defaultViewport={{ x: 0, y: 0, zoom: DEFAULT_ZOOM }}\n nodes={nodes}\n edges={edges}\n onNodeClick={onClickNode}\n // onNodesChange={onNodesChange} // SWC-6804: When the nodes/edges are updated (expanded) the graph is already re-rendered.\n // onEdgesChange={onEdgesChange} // Specifying these callbacks causes an infinite re-rendering loop.\n attributionPosition=\"bottom-right\"\n onConnect={undefined}\n zoomOnScroll={false}\n onPaneScroll={onPaneScrollFunction}\n >\n <Controls />\n </ReactFlow>\n </div>\n )\n}\n\nconst ProvenanceGraph = (props: ProvenanceProps): React.ReactNode => {\n return (\n <SynapseErrorBoundary>\n <ReactFlowProvider>\n <ProvenanceReactFlow {...props} />\n </ReactFlowProvider>\n </SynapseErrorBoundary>\n )\n}\n\nexport default ProvenanceGraph\n"],"mappings":";;;;;;;;;;;;;;;;AAwDA,IAAM,IAA4B,KAC5B,IAAe,KASf,KAAuB,MAA4C;CACvE,IAAM,EACJ,YAAY,GACZ,qBAAkB,SAClB,kBAAe,CAAC,GAChB,kBAAe,CAAC,GAChB,2BACA,8BACE,GACE,EAAE,mBAAgB,EAAkB,GACpC,CAAC,GAAW,KAAgB,EAAiB,CAAY,GACzD,CAAC,GAAW,KAAgB,EAAiB,CAAY,GACzD,CAAC,GAAO,KAAY,EAAc,CAAC,CAAC,GACpC,CAAC,GAAO,KAAY,EAAc,CAAC,CAAC,GACpC,CAAC,GAAa,KAAkB,EAAe,GAC/C,IAAc,EAAgB,GAE9B,EAAE,MAAM,GAAuB,iBAAc,EACjD,GACA,EAAE,cAAc,GAAK,CACvB;CACA,AACE,KACA,KACA,EAAsB,wBAAwB,KAG9C,EACE,wDAFiB,EAAe,KAAI,MAAO,EAAI,QAAQ,EAAE,KAAK,GAEN,GAC1D;CAEF,IAAM,IAAoB,GAAuB,SAC3C,CAAC,GAAqB,KAA0B,EAAkB,EAAK,GAGvE,IAAoB,EAAa,GAEjC,KAAc,GAAa,GAAoB,MAAe;EAClE,EAAe,CAAI;CACrB,GAAG,CAAC,CAAC,GAUC,IAAY,EAChB,OAAO,MAKD;EACJ,IAAM,EAAE,iBAAc,cAAW,cAAW,sBAAmB;EAC/D,GAAc;GACZ;GACA,UAAU;GACV;GACA;EACF,CAAC;EAED,IAAI;GACF,IAAM,IAAW,MAAM,EAAc,qBACnC,EAAa,IACb,EAAa,eACb,CACF;GAEA,CACE,CAAC,EAAa;IAAE;IAAc;GAAkB,CAAC,KAChD,EAAS,QAAQ,EAAS,KAAK,UAAU,MAE1C,EAAc;IACZ;IACA,WAAW,EAAS,MAAM;IAC1B;IACA;GACF,CAAC;EAEL,SAAS,GAAG;GAGV,AADA,QAAQ,MAAM,CAAC,GAEb,EAAa;IACX;IACA;GACF,CAAC,KAGD,EAAiB;IACf;IACA;IACA;GACF,CAAC;EAEL;CACF,GACA,CAAC,GAAa,CAAiB,CACjC;CAMA,QAAgB;EACd,AAAI,CAAC,KAAuB,EAAM,SAAS,KACzC,iBAAiB;GACf,IAAI,GAAmB;IACrB,IAAM,IAAiB,EAAe,EAAkB,IAAI,CAAK;IACjE,IAAI,GAAgB;KAClB,IAAM,IAAc,EAAkB,QAAQ,GACxC,IAAO,IAAc,IAAe,IAAe;KACzD,GAAmB,UACjB,EAAe,SAAS,IAAI,KAC5B,EAAe,SAAS,IAAI,IAC5B;MAAE;MAAM,UAAU;KAAE,CACtB;IACF;IACA,EAAuB,EAAI;GAC7B;EACF,CAAC;CAEL,GAAG;EAAC;EAAqB;EAAO;EAAmB;CAAiB,CAAC;CAMrE,IAAM,IAAiB,EACrB,OAAO,MAID;EACJ,IAAM,EAAE,iBAAc,cAAW,iBAAc;EAC/C,IAAI;GACF,IAAM,IAAW,MAAM,EAAc,qBACnC,EAAa,IACb,EAAa,eACb,CACF;GAQA,IAPA,GAAgB;IACd;IACA;IACA;IACA;GACF,CAAC,GAEG,EAAS,QAAQ,EAAS,KAAK,SAAS,GAA2B;IACrE,IAAM,IAAsC,CAAC;IAC7C,EAAS,KAAK,SAAS,MAAmB;KACxC,AAAI,EAAS,gBAAgB,IAC3B,EAAqB,KAAM,EAAwB,SAAS,IAI5D,EAAgB;MAAE,SAAA;MAAS;MAAU;MAAW;KAAU,CAAC;IAE/D,CAAC;IAKD,IAAM,EAAE,SAAS,MAAgC,MAJb,EAAc,iBAChD,GACA,CACF;IAUA,EAPsD,QAAO,MAEzD,EAA4B,MAAK,MACxB,EAAO,MAAM,EAAI,QACzB,KAAK,IAGV,EAAyB,SAAQ,MAAO;KACtC,EAAyB;MAAE;MAAK;MAAU;MAAW;KAAU,CAAC;IAClE,CAAC;IACD,IAAM,IAAqC,CAAC;IAW5C,AAVA,EAA4B,SAAQ,MAAU;KAC5C,EAAkB,KAChB,EAAU;MACR,cAAc;MACd;MACA;MACA,gBAAgB;KAClB,CAAC,CACH;IACF,CAAC,GACD,MAAM,QAAQ,WAAW,CAAiB;GAC5C;EACF,SAAS,GAAG;GAEV,QAAQ,MAAM,CAAC;EACjB;CACF,GACA,CAAC,GAAa,CAAS,CACzB;CAqFA,AA/EA,QAAgB;EACd,IAAI,KAAqB,EAAU,UAAU,GAAG;GAC9C,IAAM,IAAY,CAAC,GAAG,CAAS,GACzB,IAAY,CAAC,GAAG,CAAS,GACzB,IAAwC,CAAC;GAgB/C,AAfA,EAAkB,SAAQ,MAAU;IAClC,IAAM,IAAmB,EAAU;KACjC,cAAc;KACd;KACA;IACF,CAAC;IACD,EAAqB,KAAK,CAAgB;IAE1C,IAAM,IAAsB,EAAe;KACzC,cAAc;KACd;KACA;IACF,CAAC;IACD,EAAqB,KAAK,CAAmB;GAC/C,CAAC,GACD,QAAQ,WAAW,CAAoB,EAAE,cAAc;IAErD,AADA,EAAa,CAAS,GACtB,EAAa,CAAS;GACxB,CAAC;EACH;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAOD,QAAgB;EACd,IAAM,IAA+B,GAAa;EAClD,IAAI,KAAe,GAAU,QAAQ,EAAS,QAAQ;GACpD,IAAM,IAAsB,EAAS;GACrC,IAAI,EAAoB,YAAY,GAA2B;IAC7D,EACE,8EACA,QACF;IACA;GACF,OAAO;IAEL,EAAS,QAAQ,kBAAC,IAAD,EAAkB,MAAM,GAAK,CAAA;IAE9C,IAAM,IAAyB,EAAU,QACvC,MAAQ,EAAK,MAAM,EAAY,EACjC,GACM,IAAe,EAAkB,CAAC,CAAW,GAAG,CAAS,EAAE,IAC3D,IAAyB,EAAU,QACvC,MAAQ,KAAQ,CAClB;IACA,EAAe;KACb,cAAc,EAAoB;KAClC,WAAW;KACX,WAAW;IACb,CAAC,EAAE,cAAc;KAEf,AADA,EAAa,CAAsB,GACnC,EAAa,CAAsB;IACrC,CAAC;GACH;GACA,EAAe,KAAA,CAAS;EAC1B;CACF,GAAG;EAAC;EAAa;EAAW;EAAW;CAAc,CAAC,GAOtD,QAAgB;EACd,IAAM,EAAE,OAAO,GAAe,OAAO,MAAkB,EACrD,GACA,GACA,IACF;EASA,AANK,EAAa,GAAe,CAAK,MACpC,EAAS,CAAa,GAClB,KACF,EAAuB,CAAa,IAGnC,EAAa,GAAe,CAAK,MACpC,EAAS,CAAa,GAClB,KACF,EAAuB,CAAa;CAG1C,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,IAAM,KAAqD,GACzD,MAAS;EAEP,AACE,KACO,EAAM,WAAW,UACjB,EAAM,WAAW,UAExB,OAAO,SACL,OAAO,UAAU,EAAM,QACvB,OAAO,UAAU,EAAM,MACzB;CAEJ,GACA,CAAC,CACH;CACA,OACE,kBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,OAAO;GAAE,OAAO;GAAQ,QAAQ;EAAgB;YAEhD,kBAAC,GAAD;GACE,iBAAiB;IAAE,GAAG;IAAG,GAAG;IAAG,MAAM;GAAa;GAC3C;GACA;GACP,aAAa;GAGb,qBAAoB;GACpB,WAAW,KAAA;GACX,cAAc;GACd,cAAc;aAEd,kBAAC,GAAD,CAAW,CAAA;EACF,CAAA;CACR,CAAA;AAET,GAEM,KAAmB,MAErB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAqB,GAAI,EAAQ,CAAA,EAChB,CAAA,EACC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvenanceGraphUtils.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceGraphUtils.ts"],"sourcesContent":["import { Edge, Node } from 'reactflow'\nimport { EntityHeader, Reference } from '@sage-bionetworks/synapse-types'\nimport { Activity, UsedURL } from '@sage-bionetworks/synapse-types'\nimport {\n getNodeId,\n getProvenanceEdge,\n getProvenanceNode,\n NodeType,\n ProvenanceNodeProps,\n} from './ProvenanceUtils'\n\n/**\n * Is one of the root Entities given by the user\n */\nexport const isRootEntity = (params: {\n entityHeader: EntityHeader\n rootEntityHeaders?: EntityHeader[]\n}) => {\n const { entityHeader, rootEntityHeaders } = params\n const foundNode = rootEntityHeaders?.find(header => {\n return (\n entityHeader.id == header.id &&\n entityHeader.versionNumber == header.versionNumber\n )\n })\n return foundNode !== undefined\n}\n\n/**\n * Given the node properties, will return true if this node is already in the nodesCopy array.\n */\nexport const isNodeNotFound = (\n nodeProps: ProvenanceNodeProps,\n nodesCopy: Node[],\n) => {\n const foundNode = nodesCopy.find(node => {\n return node.id === getNodeId(nodeProps)\n })\n return foundNode === undefined\n}\n\nexport const findEntityNode = (\n entityHeader: EntityHeader,\n nodesCopy: Node[],\n) => {\n const nodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n return nodesCopy.find(node => {\n return node.id === getNodeId(nodeProps)\n })\n}\n\n/**\n * Given the node properties, will return true if this edge is already in the edgesCopy array.\n */\nexport const isEdgeNotFound = (\n nodeProps1: ProvenanceNodeProps,\n nodeProps2: ProvenanceNodeProps,\n edgesCopy: Edge[],\n) => {\n const foundEdge = edgesCopy.find(edge => {\n return (\n edge.source === getNodeId(nodeProps1) &&\n edge.target === getNodeId(nodeProps2)\n )\n })\n return foundEdge === undefined\n}\n\n/**\n * Given node properties of the new node and existing node, this function creates and adds a new node to\n * nodesCopy, and creates an edge from the new node to the existing node. Note, this will only create\n * a new node or edge if these items are not found in the input nodesCopy array and edgesCopy array.\n */\nexport const addNodeAndEdge = (params: {\n newNodeProps: ProvenanceNodeProps\n existingNodeProps: ProvenanceNodeProps\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { newNodeProps, existingNodeProps, nodesCopy, edgesCopy } = params\n if (isNodeNotFound(newNodeProps, nodesCopy)) {\n nodesCopy.push(getProvenanceNode(newNodeProps))\n }\n if (isEdgeNotFound(newNodeProps, existingNodeProps, edgesCopy)) {\n edgesCopy.push(getProvenanceEdge(newNodeProps, existingNodeProps))\n }\n}\n\nexport const addActivityNode = (params: {\n activity: Activity\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { activity, entityHeader, nodesCopy, edgesCopy } = params\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: activityNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addExpandNode = (params: {\n entityHeader: EntityHeader\n itemCount: number | undefined\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, itemCount = 0, nodesCopy, edgesCopy } = params\n const expandNodeProps = {\n type: NodeType.EXPAND,\n data: {\n itemCount,\n entityHeader,\n },\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: expandNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addEntityPlaceholderNode = (params: {\n ref: Reference\n activity: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { ref, activity, nodesCopy, edgesCopy } = params\n const entityPlaceholderNodeProps = {\n type: NodeType.ENTITY_PLACEHOLDER,\n data: ref,\n }\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n addNodeAndEdge({\n newNodeProps: entityPlaceholderNodeProps,\n existingNodeProps: activityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addUndefinedNode = (params: {\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, nodesCopy, edgesCopy } = params\n const undefinedNodeProps = {\n type: NodeType.UNDEFINED,\n data: entityHeader,\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: undefinedNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addExternalNode = (params: {\n usedURL: UsedURL\n activity: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { usedURL, activity, nodesCopy, edgesCopy } = params\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n const externalNodeProps = {\n type: NodeType.EXTERNAL,\n data: usedURL,\n }\n addNodeAndEdge({\n newNodeProps: externalNodeProps,\n existingNodeProps: activityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addEntityNode = (params: {\n entityHeader: EntityHeader\n activity: Activity | undefined\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, activity, nodesCopy, edgesCopy } = params\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n if (isNodeNotFound(entityNodeProps, nodesCopy)) {\n // add the new entity node\n nodesCopy.push(getProvenanceNode(entityNodeProps))\n if (activity) {\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n edgesCopy.push(getProvenanceEdge(entityNodeProps, activityNodeProps))\n }\n }\n}\n"],"mappings":";;AAcA,IAAa,KAAgB,MAGvB;CACJ,IAAM,EAAE,iBAAc,yBAAsB;AAO5C,QANkB,GAAmB,MAAK,MAEtC,EAAa,MAAM,EAAO,MAC1B,EAAa,iBAAiB,EAAO,cAEvC,KACmB,KAAA;GAMV,KACX,GACA,MAEkB,EAAU,MAAK,MACxB,EAAK,OAAO,EAAU,EAAU,CAElC,KAAc,KAAA,GAGV,KACX,GACA,MACG;CACH,IAAM,IAAY;EAChB,MAAM,EAAS;EACf,MAAM;EACP;AACD,QAAO,EAAU,MAAK,MACb,EAAK,OAAO,EAAU,EAAU,CACvC;GAMS,KACX,GACA,GACA,MAEkB,EAAU,MAAK,MAE7B,EAAK,WAAW,EAAU,EAAW,IACrC,EAAK,WAAW,EAAU,EAAW,CAGlC,KAAc,KAAA,GAQV,KAAkB,MAKzB;CACJ,IAAM,EAAE,iBAAc,sBAAmB,cAAW,iBAAc;AAIlE,CAHI,EAAe,GAAc,EAAU,IACzC,EAAU,KAAK,EAAkB,EAAa,CAAC,EAE7C,EAAe,GAAc,GAAmB,EAAU,IAC5D,EAAU,KAAK,EAAkB,GAAc,EAAkB,CAAC;GAIzD,KAAmB,MAK1B;CACJ,IAAM,EAAE,aAAU,iBAAc,cAAW,iBAAc;AASzD,GAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;GAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;GAIa;EACnB;EACA;EACD,CAAC;GAGS,KAAiB,MAKxB;CACJ,IAAM,EAAE,iBAAc,eAAY,GAAG,cAAW,iBAAc;AAY9D,GAAe;EACb,cAAc;GAXd,MAAM,EAAS;GACf,MAAM;IACJ;IACA;IACD;GAOa;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;GAIa;EACnB;EACA;EACD,CAAC;GAGS,KAA4B,MAKnC;CACJ,IAAM,EAAE,QAAK,aAAU,cAAW,iBAAc;AAShD,GAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;GAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;GAIa;EACnB;EACA;EACD,CAAC;GAGS,KAAoB,MAI3B;CACJ,IAAM,EAAE,iBAAc,cAAW,iBAAc;AAS/C,GAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;GAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;GAIa;EACnB;EACA;EACD,CAAC;GAGS,KAAmB,MAK1B;CACJ,IAAM,EAAE,YAAS,aAAU,cAAW,iBAAc,GAC9C,IAAoB;EACxB,MAAM,EAAS;EACf,MAAM;EACP;AAKD,GAAe;EACb,cAAc;GAJd,MAAM,EAAS;GACf,MAAM;GAGQ;EACd,mBAAmB;EACnB;EACA;EACD,CAAC;GAGS,KAAiB,MAKxB;CACJ,IAAM,EAAE,iBAAc,aAAU,cAAW,iBAAc,GACnD,IAAkB;EACtB,MAAM,EAAS;EACf,MAAM;EACP;AACD,KAAI,EAAe,GAAiB,EAAU,KAE5C,EAAU,KAAK,EAAkB,EAAgB,CAAC,EAC9C,IAAU;EACZ,IAAM,IAAoB;GACxB,MAAM,EAAS;GACf,MAAM;GACP;AACD,IAAU,KAAK,EAAkB,GAAiB,EAAkB,CAAC"}
1
+ {"version":3,"file":"ProvenanceGraphUtils.js","names":[],"sources":["../../../src/components/ProvenanceGraph/ProvenanceGraphUtils.ts"],"sourcesContent":["import { Edge, Node } from 'reactflow'\nimport { EntityHeader, Reference } from '@sage-bionetworks/synapse-types'\nimport { Activity, UsedURL } from '@sage-bionetworks/synapse-types'\nimport {\n getNodeId,\n getProvenanceEdge,\n getProvenanceNode,\n NodeType,\n ProvenanceNodeProps,\n} from './ProvenanceUtils'\n\n/**\n * Is one of the root Entities given by the user\n */\nexport const isRootEntity = (params: {\n entityHeader: EntityHeader\n rootEntityHeaders?: EntityHeader[]\n}) => {\n const { entityHeader, rootEntityHeaders } = params\n const foundNode = rootEntityHeaders?.find(header => {\n return (\n entityHeader.id == header.id &&\n entityHeader.versionNumber == header.versionNumber\n )\n })\n return foundNode !== undefined\n}\n\n/**\n * Given the node properties, will return true if this node is already in the nodesCopy array.\n */\nexport const isNodeNotFound = (\n nodeProps: ProvenanceNodeProps,\n nodesCopy: Node[],\n) => {\n const foundNode = nodesCopy.find(node => {\n return node.id === getNodeId(nodeProps)\n })\n return foundNode === undefined\n}\n\nexport const findEntityNode = (\n entityHeader: EntityHeader,\n nodesCopy: Node[],\n) => {\n const nodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n return nodesCopy.find(node => {\n return node.id === getNodeId(nodeProps)\n })\n}\n\n/**\n * Given the node properties, will return true if this edge is already in the edgesCopy array.\n */\nexport const isEdgeNotFound = (\n nodeProps1: ProvenanceNodeProps,\n nodeProps2: ProvenanceNodeProps,\n edgesCopy: Edge[],\n) => {\n const foundEdge = edgesCopy.find(edge => {\n return (\n edge.source === getNodeId(nodeProps1) &&\n edge.target === getNodeId(nodeProps2)\n )\n })\n return foundEdge === undefined\n}\n\n/**\n * Given node properties of the new node and existing node, this function creates and adds a new node to\n * nodesCopy, and creates an edge from the new node to the existing node. Note, this will only create\n * a new node or edge if these items are not found in the input nodesCopy array and edgesCopy array.\n */\nexport const addNodeAndEdge = (params: {\n newNodeProps: ProvenanceNodeProps\n existingNodeProps: ProvenanceNodeProps\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { newNodeProps, existingNodeProps, nodesCopy, edgesCopy } = params\n if (isNodeNotFound(newNodeProps, nodesCopy)) {\n nodesCopy.push(getProvenanceNode(newNodeProps))\n }\n if (isEdgeNotFound(newNodeProps, existingNodeProps, edgesCopy)) {\n edgesCopy.push(getProvenanceEdge(newNodeProps, existingNodeProps))\n }\n}\n\nexport const addActivityNode = (params: {\n activity: Activity\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { activity, entityHeader, nodesCopy, edgesCopy } = params\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: activityNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addExpandNode = (params: {\n entityHeader: EntityHeader\n itemCount: number | undefined\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, itemCount = 0, nodesCopy, edgesCopy } = params\n const expandNodeProps = {\n type: NodeType.EXPAND,\n data: {\n itemCount,\n entityHeader,\n },\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: expandNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addEntityPlaceholderNode = (params: {\n ref: Reference\n activity: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { ref, activity, nodesCopy, edgesCopy } = params\n const entityPlaceholderNodeProps = {\n type: NodeType.ENTITY_PLACEHOLDER,\n data: ref,\n }\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n addNodeAndEdge({\n newNodeProps: entityPlaceholderNodeProps,\n existingNodeProps: activityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addUndefinedNode = (params: {\n entityHeader: EntityHeader\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, nodesCopy, edgesCopy } = params\n const undefinedNodeProps = {\n type: NodeType.UNDEFINED,\n data: entityHeader,\n }\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n addNodeAndEdge({\n newNodeProps: undefinedNodeProps,\n existingNodeProps: entityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addExternalNode = (params: {\n usedURL: UsedURL\n activity: Activity\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { usedURL, activity, nodesCopy, edgesCopy } = params\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n const externalNodeProps = {\n type: NodeType.EXTERNAL,\n data: usedURL,\n }\n addNodeAndEdge({\n newNodeProps: externalNodeProps,\n existingNodeProps: activityNodeProps,\n nodesCopy,\n edgesCopy,\n })\n}\n\nexport const addEntityNode = (params: {\n entityHeader: EntityHeader\n activity: Activity | undefined\n nodesCopy: Node[]\n edgesCopy: Edge[]\n}) => {\n const { entityHeader, activity, nodesCopy, edgesCopy } = params\n const entityNodeProps = {\n type: NodeType.ENTITY,\n data: entityHeader,\n }\n if (isNodeNotFound(entityNodeProps, nodesCopy)) {\n // add the new entity node\n nodesCopy.push(getProvenanceNode(entityNodeProps))\n if (activity) {\n const activityNodeProps = {\n type: NodeType.ACTIVITY,\n data: activity,\n }\n edgesCopy.push(getProvenanceEdge(entityNodeProps, activityNodeProps))\n }\n }\n}\n"],"mappings":";;AAcA,IAAa,KAAgB,MAGvB;CACJ,IAAM,EAAE,iBAAc,yBAAsB;CAO5C,OANkB,GAAmB,MAAK,MAEtC,EAAa,MAAM,EAAO,MAC1B,EAAa,iBAAiB,EAAO,aAExC,MACoB,KAAA;AACvB,GAKa,KACX,GACA,MAEkB,EAAU,MAAK,MACxB,EAAK,OAAO,EAAU,CAAS,CAEjC,MAAc,KAAA,GAGV,KACX,GACA,MACG;CACH,IAAM,IAAY;EAChB,MAAM,EAAS;EACf,MAAM;CACR;CACA,OAAO,EAAU,MAAK,MACb,EAAK,OAAO,EAAU,CAAS,CACvC;AACH,GAKa,KACX,GACA,GACA,MAEkB,EAAU,MAAK,MAE7B,EAAK,WAAW,EAAU,CAAU,KACpC,EAAK,WAAW,EAAU,CAAU,CAGjC,MAAc,KAAA,GAQV,KAAkB,MAKzB;CACJ,IAAM,EAAE,iBAAc,sBAAmB,cAAW,iBAAc;CAIlE,AAHI,EAAe,GAAc,CAAS,KACxC,EAAU,KAAK,EAAkB,CAAY,CAAC,GAE5C,EAAe,GAAc,GAAmB,CAAS,KAC3D,EAAU,KAAK,EAAkB,GAAc,CAAiB,CAAC;AAErE,GAEa,KAAmB,MAK1B;CACJ,IAAM,EAAE,aAAU,iBAAc,cAAW,iBAAc;CASzD,EAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;EAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;EAIa;EACnB;EACA;CACF,CAAC;AACH,GAEa,KAAiB,MAKxB;CACJ,IAAM,EAAE,iBAAc,eAAY,GAAG,cAAW,iBAAc;CAY9D,EAAe;EACb,cAAc;GAXd,MAAM,EAAS;GACf,MAAM;IACJ;IACA;GACF;EAOc;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;EAIa;EACnB;EACA;CACF,CAAC;AACH,GAEa,KAA4B,MAKnC;CACJ,IAAM,EAAE,QAAK,aAAU,cAAW,iBAAc;CAShD,EAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;EAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;EAIa;EACnB;EACA;CACF,CAAC;AACH,GAEa,KAAoB,MAI3B;CACJ,IAAM,EAAE,iBAAc,cAAW,iBAAc;CAS/C,EAAe;EACb,cAAc;GARd,MAAM,EAAS;GACf,MAAM;EAOQ;EACd,mBAAmB;GALnB,MAAM,EAAS;GACf,MAAM;EAIa;EACnB;EACA;CACF,CAAC;AACH,GAEa,KAAmB,MAK1B;CACJ,IAAM,EAAE,YAAS,aAAU,cAAW,iBAAc,GAC9C,IAAoB;EACxB,MAAM,EAAS;EACf,MAAM;CACR;CAKA,EAAe;EACb,cAAc;GAJd,MAAM,EAAS;GACf,MAAM;EAGQ;EACd,mBAAmB;EACnB;EACA;CACF,CAAC;AACH,GAEa,KAAiB,MAKxB;CACJ,IAAM,EAAE,iBAAc,aAAU,cAAW,iBAAc,GACnD,IAAkB;EACtB,MAAM,EAAS;EACf,MAAM;CACR;CACA,IAAI,EAAe,GAAiB,CAAS,MAE3C,EAAU,KAAK,EAAkB,CAAe,CAAC,GAC7C,IAAU;EACZ,IAAM,IAAoB;GACxB,MAAM,EAAS;GACf,MAAM;EACR;EACA,EAAU,KAAK,EAAkB,GAAiB,CAAiB,CAAC;CACtE;AAEJ"}