synapse-react-client 4.0.19 → 4.0.21

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 (1619) hide show
  1. package/dist/SWC.index.d.ts +1 -1
  2. package/dist/SWC.index.js +1 -1
  3. package/dist/SWC.index.js.map +1 -1
  4. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  5. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  6. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  7. package/dist/assets/GoogleIcon.js.map +1 -1
  8. package/dist/assets/GoogleIcon24.js.map +1 -1
  9. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  11. package/dist/assets/homepage/aacr.js.map +1 -1
  12. package/dist/assets/homepage/cri.js.map +1 -1
  13. package/dist/assets/homepage/ctf.js.map +1 -1
  14. package/dist/assets/homepage/egress.js.map +1 -1
  15. package/dist/assets/homepage/facebook.js.map +1 -1
  16. package/dist/assets/homepage/fisma.js.map +1 -1
  17. package/dist/assets/homepage/gff.js.map +1 -1
  18. package/dist/assets/homepage/github.js.map +1 -1
  19. package/dist/assets/homepage/gray.js.map +1 -1
  20. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  21. package/dist/assets/homepage/instagram.js.map +1 -1
  22. package/dist/assets/homepage/linkedin.js.map +1 -1
  23. package/dist/assets/homepage/ml-commons.js.map +1 -1
  24. package/dist/assets/homepage/nih-aging.js.map +1 -1
  25. package/dist/assets/homepage/nih-heart.js.map +1 -1
  26. package/dist/assets/homepage/nih-nci.js.map +1 -1
  27. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  28. package/dist/assets/homepage/ntap.js.map +1 -1
  29. package/dist/assets/homepage/plan-item.js.map +1 -1
  30. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  31. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  32. package/dist/assets/homepage/python.js.map +1 -1
  33. package/dist/assets/homepage/r.js.map +1 -1
  34. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  35. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  36. package/dist/assets/homepage/sloan.js.map +1 -1
  37. package/dist/assets/homepage/twitter.js.map +1 -1
  38. package/dist/assets/homepage/users.js.map +1 -1
  39. package/dist/assets/homepage/youtube.js.map +1 -1
  40. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  41. package/dist/assets/icons/AccessPending.js.map +1 -1
  42. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  43. package/dist/assets/icons/AddAd.js.map +1 -1
  44. package/dist/assets/icons/AddToList.js.map +1 -1
  45. package/dist/assets/icons/Alert.js.map +1 -1
  46. package/dist/assets/icons/Arrow.js.map +1 -1
  47. package/dist/assets/icons/AwardScroll.js.map +1 -1
  48. package/dist/assets/icons/Baseline.js.map +1 -1
  49. package/dist/assets/icons/Cavatica.js.map +1 -1
  50. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  51. package/dist/assets/icons/Challenge.js.map +1 -1
  52. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  58. package/dist/assets/icons/ClappingHands.js.map +1 -1
  59. package/dist/assets/icons/CloudWarning.js.map +1 -1
  60. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  61. package/dist/assets/icons/CreateVersion.js.map +1 -1
  62. package/dist/assets/icons/DNA_Two.js.map +1 -1
  63. package/dist/assets/icons/Data2.js.map +1 -1
  64. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  65. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  66. package/dist/assets/icons/FileWithShield.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  68. package/dist/assets/icons/FrontHand.js.map +1 -1
  69. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  70. package/dist/assets/icons/IconCopy.js.map +1 -1
  71. package/dist/assets/icons/IconMinus.js.map +1 -1
  72. package/dist/assets/icons/IconPlus.js.map +1 -1
  73. package/dist/assets/icons/Java.js.map +1 -1
  74. package/dist/assets/icons/MintDoi.js.map +1 -1
  75. package/dist/assets/icons/MultiFile.js.map +1 -1
  76. package/dist/assets/icons/MultiFile2.js.map +1 -1
  77. package/dist/assets/icons/NoData.js.map +1 -1
  78. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  79. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  80. package/dist/assets/icons/OpenBook.js.map +1 -1
  81. package/dist/assets/icons/Podium.js.map +1 -1
  82. package/dist/assets/icons/Python.js.map +1 -1
  83. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  84. package/dist/assets/icons/RLogo.js.map +1 -1
  85. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  86. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  87. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  88. package/dist/assets/icons/SearchImage.js.map +1 -1
  89. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  90. package/dist/assets/icons/Sort.js.map +1 -1
  91. package/dist/assets/icons/StarTrophy.js.map +1 -1
  92. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  93. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  94. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  95. package/dist/assets/icons/TasksIcon.js.map +1 -1
  96. package/dist/assets/icons/Terminal.js.map +1 -1
  97. package/dist/assets/icons/ThreeStars.js.map +1 -1
  98. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  100. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  101. package/dist/assets/icons/account-certified.js.map +1 -1
  102. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  103. package/dist/assets/icons/account-validated.js.map +1 -1
  104. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  105. package/dist/assets/icons/chart2.js.map +1 -1
  106. package/dist/assets/icons/columns.js.map +1 -1
  107. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  108. package/dist/assets/icons/computationalTool.js.map +1 -1
  109. package/dist/assets/icons/dataReuse.js.map +1 -1
  110. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  111. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  112. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  113. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  114. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  115. package/dist/assets/icons/file.js.map +1 -1
  116. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  117. package/dist/assets/icons/institution.js.map +1 -1
  118. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  119. package/dist/assets/icons/modelSystem.js.map +1 -1
  120. package/dist/assets/icons/mouse.js.map +1 -1
  121. package/dist/assets/icons/organizations.js.map +1 -1
  122. package/dist/assets/icons/person.js.map +1 -1
  123. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  124. package/dist/assets/icons/standardDataModel.js.map +1 -1
  125. package/dist/assets/icons/study-active.js.map +1 -1
  126. package/dist/assets/icons/study-complete.js.map +1 -1
  127. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  128. package/dist/assets/icons/synapse-logo.js.map +1 -1
  129. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  130. package/dist/assets/icons/translational.js.map +1 -1
  131. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  132. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  133. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  138. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  139. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/index.js.map +1 -1
  145. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  155. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  156. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  157. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  158. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  159. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  160. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  161. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  162. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  163. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  164. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  165. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  166. package/dist/assets/mui_components/Clinical.js.map +1 -1
  167. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  168. package/dist/assets/mui_components/Data.js.map +1 -1
  169. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  170. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  171. package/dist/assets/mui_components/Dataset.js.map +1 -1
  172. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  173. package/dist/assets/mui_components/Docker.js.map +1 -1
  174. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  175. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  176. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  177. package/dist/assets/mui_components/Imaging.js.map +1 -1
  178. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  179. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  180. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  181. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  182. package/dist/assets/mui_components/Other.js.map +1 -1
  183. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  185. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  186. package/dist/assets/mui_components/Rat.js.map +1 -1
  187. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  188. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  192. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  196. package/dist/assets/themed_icons/Active.js.map +1 -1
  197. package/dist/assets/themed_icons/Chart.js.map +1 -1
  198. package/dist/assets/themed_icons/Close.js.map +1 -1
  199. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  200. package/dist/assets/themed_icons/Columns.js.map +1 -1
  201. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  202. package/dist/assets/themed_icons/Database.js.map +1 -1
  203. package/dist/assets/themed_icons/Download.js.map +1 -1
  204. package/dist/assets/themed_icons/Expand.js.map +1 -1
  205. package/dist/assets/themed_icons/Explore.js.map +1 -1
  206. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  207. package/dist/assets/themed_icons/Filter.js.map +1 -1
  208. package/dist/assets/themed_icons/Program.js.map +1 -1
  209. package/dist/assets/themed_icons/Project.js.map +1 -1
  210. package/dist/assets/themed_icons/Publication.js.map +1 -1
  211. package/dist/assets/themed_icons/Search.js.map +1 -1
  212. package/dist/assets/themed_icons/Settings.js.map +1 -1
  213. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  214. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  215. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  216. package/dist/assets/themed_icons/Study.js.map +1 -1
  217. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  220. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  221. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  222. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  223. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  224. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  225. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  227. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  229. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  231. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  241. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  249. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  250. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  252. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  253. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  254. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  256. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  260. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  263. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  264. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  265. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  267. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  268. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  269. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  270. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  271. package/dist/components/AddToDownloadListV2.js.map +1 -1
  272. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  273. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  274. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  275. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  276. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  277. package/dist/components/Authentication/LoginForm.js.map +1 -1
  278. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  280. package/dist/components/Authentication/Logout.js.map +1 -1
  281. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  282. package/dist/components/Authentication/PasswordField.js.map +1 -1
  283. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  285. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  286. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  287. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  288. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  289. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  293. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  294. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  295. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  296. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  297. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  298. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  299. package/dist/components/CardContainer/CardConfiguration.d.ts +2 -0
  300. package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
  301. package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
  302. package/dist/components/CardContainer/CardContainer.js +3 -3
  303. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  304. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +1 -0
  305. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  306. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  307. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  308. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  309. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  310. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  311. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  312. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  313. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  314. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  315. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  316. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  317. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  322. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  323. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  324. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  325. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  326. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  330. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  332. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  333. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  334. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  335. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  336. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  337. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  338. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  339. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  340. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  341. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  342. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  343. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  344. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  345. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  346. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  347. package/dist/components/ComponentCollapse.js.map +1 -1
  348. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  349. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  350. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  351. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  352. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  353. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  354. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  355. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  356. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  357. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  358. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  359. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  360. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  361. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  362. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  363. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  364. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  365. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  366. package/dist/components/DataExplorer/DataExplorer.css +1 -1
  367. package/dist/components/DataExplorer/DataExplorer.js +28 -31
  368. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  369. package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
  370. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
  371. package/dist/components/DataExplorer/DataExplorer.module.scss +26 -6
  372. package/dist/components/DataGrid/DataGrid.js +72 -72
  373. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  374. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  375. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  376. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  377. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  378. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  379. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  380. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  381. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  382. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  383. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  384. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  387. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  389. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  390. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts +5 -3
  391. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  392. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +46 -47
  393. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  394. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  395. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  397. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  399. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  400. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  401. package/dist/components/DataGrid/hooks/useColumnResizeHandles.d.ts.map +1 -1
  402. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +3 -1
  403. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  405. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  408. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  409. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  410. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  411. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  412. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  413. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  414. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  415. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  416. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  417. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  418. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  419. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  420. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  421. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  422. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  423. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  424. package/dist/components/DataGrid/utils/columnFactory.js +1 -0
  425. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  426. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  427. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  428. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  430. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  431. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  432. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  436. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  437. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  438. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  445. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  446. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  447. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  448. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  449. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  450. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  451. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  452. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  453. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  454. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  455. package/dist/components/DialogBase.js.map +1 -1
  456. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  457. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  458. package/dist/components/DirectDownloadButton.js.map +1 -1
  459. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  460. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  461. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  462. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  463. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  464. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  465. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  470. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  471. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  472. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  473. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  474. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  475. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  476. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  477. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  478. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  479. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  480. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  481. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  483. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  484. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  485. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  486. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  487. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  488. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  489. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  490. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  491. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  492. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  493. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  494. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  495. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  496. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  497. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  498. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  499. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  501. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  502. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  503. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  504. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  505. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  506. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  511. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  513. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  515. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  529. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  530. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  532. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  533. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  534. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  535. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  536. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  540. package/dist/components/EntityIcon.js.map +1 -1
  541. package/dist/components/EntityLink.js.map +1 -1
  542. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  543. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  544. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  545. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  553. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  554. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  557. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  558. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  559. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  561. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  562. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  563. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  564. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  565. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  566. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  568. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  569. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  570. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  571. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  576. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  577. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  578. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  579. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  580. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  581. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  582. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  583. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  584. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  585. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  590. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  591. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  592. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  593. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  594. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  595. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  596. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  597. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  598. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  599. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  600. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  601. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  602. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  603. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  604. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  605. package/dist/components/Forum/ForumPage.js.map +1 -1
  606. package/dist/components/Forum/ForumTable.js.map +1 -1
  607. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  608. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  609. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  610. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  611. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  612. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  613. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  614. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  615. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  616. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  617. package/dist/components/GenericCard/GenericCard.d.ts +2 -0
  618. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js +76 -64
  620. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  623. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  624. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  625. package/dist/components/GenericCard/Linkify.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  627. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  629. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  630. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  631. package/dist/components/GenericCard/TableRowGenericCard.js +33 -25
  632. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  633. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  634. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  635. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  636. package/dist/components/Goals/Goals.js +25 -27
  637. package/dist/components/Goals/Goals.js.map +1 -1
  638. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  639. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  640. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  641. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  642. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  643. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  644. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  645. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  646. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  647. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  648. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  649. package/dist/components/HasAccess/AccessIcon.js +10 -10
  650. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  651. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  652. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  653. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  654. package/dist/components/HeaderCard.js.map +1 -1
  655. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  656. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  657. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  658. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  659. package/dist/components/Icon/Icon.js.map +1 -1
  660. package/dist/components/IconList.js.map +1 -1
  661. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  662. package/dist/components/IconSvgButton.js.map +1 -1
  663. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  664. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  665. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  666. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  667. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  668. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  669. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  670. package/dist/components/JsonLdScript.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  685. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  686. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  687. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  688. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  689. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  690. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  693. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  694. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  696. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  697. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  698. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  699. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  700. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  701. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  702. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  703. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  704. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  705. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  713. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  714. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  715. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  716. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  717. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  718. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  719. package/dist/components/MuiContainer.js.map +1 -1
  720. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  721. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  722. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  723. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  724. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  725. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  726. package/dist/components/Plot/BarPlot.js.map +1 -1
  727. package/dist/components/Plot/DotPlot.js.map +1 -1
  728. package/dist/components/Plot/Plot.d.ts +12 -1
  729. package/dist/components/Plot/Plot.d.ts.map +1 -1
  730. package/dist/components/Plot/Plot.js +5 -1
  731. package/dist/components/Plot/Plot.js.map +1 -1
  732. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  733. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  734. package/dist/components/Plot/SynapseSankeyPlot.css +1 -0
  735. package/dist/components/Plot/SynapseSankeyPlot.d.ts +54 -0
  736. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  737. package/dist/components/Plot/SynapseSankeyPlot.js +359 -0
  738. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  739. package/dist/components/Plot/SynapseSankeyPlot.module.js +15 -0
  740. package/dist/components/Plot/SynapseSankeyPlot.module.js.map +1 -0
  741. package/dist/components/Plot/SynapseSankeyPlot.module.scss +63 -0
  742. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  743. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  744. package/dist/components/Plot/index.d.ts +3 -1
  745. package/dist/components/Plot/index.d.ts.map +1 -1
  746. package/dist/components/Plot/index.js +2 -1
  747. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  748. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  749. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  750. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  751. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  752. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  753. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  754. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  755. package/dist/components/PortalList/PortalCard.js.map +1 -1
  756. package/dist/components/PortalList/PortalList.js.map +1 -1
  757. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  758. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  759. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  760. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  761. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  762. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  763. package/dist/components/Programs/Programs.js.map +1 -1
  764. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  768. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  770. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  771. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  772. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  773. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  774. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  775. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  776. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  777. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  778. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  779. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  780. package/dist/components/QuerySortSelector.js.map +1 -1
  781. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  782. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  783. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  784. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  785. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  786. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  787. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  788. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  789. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  790. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  791. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  792. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  793. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  794. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  795. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  796. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  800. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  801. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  802. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  803. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  804. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  805. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  808. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  809. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  810. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  811. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  812. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  813. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  814. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  815. package/dist/components/Resources/Resources.js +8 -11
  816. package/dist/components/Resources/Resources.js.map +1 -1
  817. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  818. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  819. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  820. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  827. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  828. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  829. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +13 -12
  830. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +88 -77
  832. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  833. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  834. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  835. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  839. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  840. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  841. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  842. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  843. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  844. package/dist/components/SignInButton.js.map +1 -1
  845. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  848. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  849. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  850. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  851. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  852. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  853. package/dist/components/SourceAppImage.js.map +1 -1
  854. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  855. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  856. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.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.d.ts.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +63 -74
  973. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  974. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  977. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  979. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  980. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  981. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  983. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  986. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  987. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  989. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  990. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  991. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  992. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  993. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.d.ts.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +72 -68
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +27 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +47 -36
  1006. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +10 -10
  1008. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.d.ts +12 -12
  1011. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts +4 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts +167 -517
  1016. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts.map +1 -1
  1017. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js +65 -65
  1018. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1019. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts +1 -1
  1020. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts.map +1 -1
  1021. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1022. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1023. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts +1 -1
  1024. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts.map +1 -1
  1025. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js +6 -13
  1026. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1027. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts +1 -1
  1028. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts.map +1 -1
  1029. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1030. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1031. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts +1 -1
  1032. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts.map +1 -1
  1033. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js +2 -2
  1034. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1035. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts +1 -1
  1036. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts.map +1 -1
  1037. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1038. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts +2 -2
  1039. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts.map +1 -1
  1040. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js +15 -16
  1041. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1042. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1043. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1044. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1045. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1046. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1047. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1048. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1049. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1050. package/dist/components/TeamBadge.js.map +1 -1
  1051. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1052. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1053. package/dist/components/TemplateComponent.js.map +1 -1
  1054. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1055. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1056. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1057. package/dist/components/TextField/TextField.js.map +1 -1
  1058. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1059. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1060. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1061. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1062. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1063. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1064. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1065. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1066. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1067. package/dist/components/TotalQueryResults.js.map +1 -1
  1068. package/dist/components/UserCard/Avatar.js.map +1 -1
  1069. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1070. package/dist/components/UserCard/UserCard.js.map +1 -1
  1071. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1072. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1073. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1074. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1075. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1076. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1077. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1078. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1079. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1080. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1081. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1082. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1083. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1084. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1085. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1086. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1087. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1088. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1089. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1090. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1091. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1092. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1093. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1094. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1095. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1096. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1097. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1098. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1099. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1100. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1101. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1102. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1103. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1104. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1105. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1106. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1107. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1108. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1109. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1110. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1111. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1112. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1113. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1114. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1115. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1116. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1117. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1118. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1119. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1120. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1121. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1122. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1123. package/dist/components/download_list/index.js.map +1 -1
  1124. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1125. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1126. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1127. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1128. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1129. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1130. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1131. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1132. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1133. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1134. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1135. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1136. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1137. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1138. package/dist/components/error/ErrorBanner.js.map +1 -1
  1139. package/dist/components/error/ErrorChip.js.map +1 -1
  1140. package/dist/components/error/ErrorPage.js +24 -24
  1141. package/dist/components/error/ErrorPage.js.map +1 -1
  1142. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1143. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1144. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1145. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1146. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1147. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1148. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1149. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1150. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1151. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1152. package/dist/components/index.js +48 -47
  1153. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1154. package/dist/components/layout/SWCHeader.js.map +1 -1
  1155. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1156. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1157. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1158. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1159. package/dist/components/row_renderers/Funder.js.map +1 -1
  1160. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1161. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1162. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1163. package/dist/components/styled/HoverPopover.js.map +1 -1
  1164. package/dist/components/styled/InlineBadge.js.map +1 -1
  1165. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1166. package/dist/components/styled/LargeButton.js.map +1 -1
  1167. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1168. package/dist/components/styled/LightTooltip.js.map +1 -1
  1169. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1170. package/dist/components/styled/StyledPopover.js.map +1 -1
  1171. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1172. package/dist/components/styled/WideButton.js.map +1 -1
  1173. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +39 -42
  1174. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
  1175. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1176. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1177. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  1178. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
  1179. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
  1180. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
  1181. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
  1182. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
  1183. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
  1184. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1185. package/dist/components/trash/TrashCanList.js.map +1 -1
  1186. package/dist/components/utils/Blocker.js.map +1 -1
  1187. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1188. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1189. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1190. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1191. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1192. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1193. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1194. package/dist/components/widgets/Range.js.map +1 -1
  1195. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1196. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1197. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1203. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1204. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1205. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1206. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1217. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1219. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1220. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1221. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1222. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1223. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1224. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1225. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1226. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1227. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1228. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1229. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1230. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1231. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1233. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1234. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1235. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1237. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1238. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1246. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1247. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
  1249. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1251. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1254. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1255. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1256. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1257. package/dist/index.js +54 -53
  1258. package/dist/index.js.map +1 -1
  1259. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1260. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1261. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1262. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1263. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1264. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1265. package/dist/mocks/chat/mockChat.js.map +1 -1
  1266. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1268. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1269. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1270. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1271. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1272. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1273. package/dist/mocks/entity/index.js.map +1 -1
  1274. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1275. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1276. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1279. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1280. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1281. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1282. package/dist/mocks/entity/mockProject.js.map +1 -1
  1283. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1284. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1285. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1286. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1287. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1288. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1289. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1290. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1291. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1292. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1293. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1294. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1295. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1296. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1297. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1298. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1299. package/dist/mocks/mockSchema.js.map +1 -1
  1300. package/dist/mocks/mockSearchQueryData.js +2 -2
  1301. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1302. package/dist/mocks/mockShortIo.js.map +1 -1
  1303. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1304. package/dist/mocks/mockSubscription.js.map +1 -1
  1305. package/dist/mocks/mockWiki.js.map +1 -1
  1306. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1307. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1308. package/dist/mocks/mock_file_handle.js.map +1 -1
  1309. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1310. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1311. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts +1 -1
  1337. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  1338. package/dist/mocks/msw/handlers/searchQueryHandlers.js +6 -3
  1339. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1344. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1345. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1346. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1347. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1348. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1349. package/dist/mocks/msw/handlers.js.map +1 -1
  1350. package/dist/mocks/msw/server.d.ts +1 -1
  1351. package/dist/mocks/msw/server.d.ts.map +1 -1
  1352. package/dist/mocks/msw/server.js.map +1 -1
  1353. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1354. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1355. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1356. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1357. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1358. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1359. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1360. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1361. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1362. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1363. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1364. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts +13 -0
  1365. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts.map +1 -1
  1366. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js +27 -0
  1367. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1368. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1369. package/dist/mocks/query/syn16787123.js.map +1 -1
  1370. package/dist/mocks/query/syn17328596.js.map +1 -1
  1371. package/dist/mocks/query/syn51735464.js.map +1 -1
  1372. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1373. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1374. package/dist/mocks/team/mockTeam.js.map +1 -1
  1375. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1376. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1377. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1378. package/dist/ror-client/index.js.map +1 -1
  1379. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1380. package/dist/stories/ToastDemo.js.map +1 -1
  1381. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1382. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1383. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1384. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1385. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1386. package/dist/style/components/_cards.scss +10 -0
  1387. package/dist/style/components/_data-grid-extra.css +1 -1
  1388. package/dist/style/components/_data-grid-extra.scss +7 -1
  1389. package/dist/style/main.css +1 -1
  1390. package/dist/synapse-client/HttpClient.js.map +1 -1
  1391. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1392. package/dist/synapse-client/SynapseClient.js +499 -505
  1393. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1394. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1395. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1396. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1397. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1398. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1399. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1400. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1401. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1402. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1403. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1404. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1405. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1406. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1407. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1408. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1409. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1410. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1411. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1412. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1413. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1414. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1415. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1416. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1417. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1418. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1423. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1424. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1425. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1426. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1427. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1428. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1429. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1430. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1431. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1432. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1433. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1434. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1435. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1436. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1437. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1438. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1439. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1440. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1441. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1442. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1443. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1444. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1445. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1446. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1447. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1448. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1449. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1450. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1451. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1452. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1453. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1454. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1455. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1456. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1457. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1458. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1459. package/dist/synapse-queries/ror/index.js.map +1 -1
  1460. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1461. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1462. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1463. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1464. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1465. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1466. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1467. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1468. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1469. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1470. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1471. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1472. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1473. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1474. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1475. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1476. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1477. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1478. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1479. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1480. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1481. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1482. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1483. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1484. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1485. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1486. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1487. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1488. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1489. package/dist/testutils/LocationTracker.js.map +1 -1
  1490. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1491. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1492. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1493. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1494. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1495. package/dist/testutils/vitest.setup.js.map +1 -1
  1496. package/dist/theme/DefaultTheme.js.map +1 -1
  1497. package/dist/theme/ThemeProvider.js.map +1 -1
  1498. package/dist/theme/mergeTheme.js.map +1 -1
  1499. package/dist/theme/palette/Palettes.js.map +1 -1
  1500. package/dist/theme/spreadSx.js.map +1 -1
  1501. package/dist/theme/typography/Link.js.map +1 -1
  1502. package/dist/theme/typography/Typography.js.map +1 -1
  1503. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1504. package/dist/utils/APIConstants.js.map +1 -1
  1505. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1506. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1507. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1508. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1509. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1510. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1511. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1512. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1513. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1514. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1515. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1516. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1517. package/dist/utils/SynapseConstants.js.map +1 -1
  1518. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1519. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1520. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1521. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1522. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1523. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1524. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1525. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1526. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1527. package/dist/utils/context/SynapseContext.js.map +1 -1
  1528. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1529. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1530. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1531. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1532. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1533. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1534. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1535. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1536. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1537. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1538. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1539. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1540. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1541. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1542. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1543. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1544. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1545. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1546. package/dist/utils/functions/StringUtils.js.map +1 -1
  1547. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1548. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1549. package/dist/utils/functions/colorPalette.js.map +1 -1
  1550. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1551. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1552. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1553. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1554. package/dist/utils/functions/getEndpoint.js +3 -3
  1555. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1556. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1557. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1558. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1559. package/dist/utils/functions/getUserData.js.map +1 -1
  1560. package/dist/utils/functions/queryUtils.js.map +1 -1
  1561. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1562. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1563. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1564. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1565. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1566. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1567. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1568. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1569. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1570. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1571. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1572. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1573. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1574. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1575. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1576. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1577. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1578. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1579. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1580. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1581. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1582. package/dist/utils/hooks/useListState.js.map +1 -1
  1583. package/dist/utils/hooks/useLogin.js.map +1 -1
  1584. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1585. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1586. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1587. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1588. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1589. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1590. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1591. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1592. package/dist/utils/hooks/useSet.js.map +1 -1
  1593. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1594. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1595. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1596. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1597. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1598. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1599. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1600. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1601. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1602. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1603. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1604. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1605. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1606. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1607. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1608. package/dist/utils/html/TargetEnum.js.map +1 -1
  1609. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1610. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1611. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1612. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1613. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1614. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1615. package/dist/utils/jsonschema/getType.js.map +1 -1
  1616. package/dist/utils/searchDefaults.js.map +1 -1
  1617. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1618. package/dist/utils/types/IsType.js.map +1 -1
  1619. package/package.json +68 -65
@@ -1 +1 @@
1
- {"version":3,"file":"TitleBarProperties.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/TitleBarProperties.tsx"],"sourcesContent":["import { useGetEntityBundle, useGetFeatureFlag } from '@/synapse-queries'\nimport { Box, Divider, Link, Stack, Typography } from '@mui/material'\nimport { FeatureFlagEnum } from '@/utils/featureflag/FeatureFlags'\nimport { ReactNode, useState } from 'react'\nimport AddConditionsForUseButton from '../../../AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton'\nimport { useGetEntityTitleBarProperties } from './useGetEntityTitleBarProperties'\n\nexport type TitleBarPropertiesProps = {\n entityId: string\n versionNumber?: number\n /* Callback invoked when an ACT member clicks \"Add Conditions for Use\". */\n onActMemberClickAddConditionsForUse: () => void\n}\n\ntype PropertyProps = {\n title: string\n value: ReactNode\n}\nfunction Property(props: PropertyProps) {\n const { title, value } = props\n return (\n <tr>\n <td style={{ paddingRight: '1em' }}>\n <Typography\n component={'span'}\n variant={'smallText1'}\n sx={{\n fontWeight: 700,\n }}\n >\n {title}\n </Typography>\n </td>\n <td>\n <Typography component={'span'} variant={'smallText1'}>\n {value}\n </Typography>\n </td>\n </tr>\n )\n}\n\n/**\n * The TitleBarProperties component displays a tabular view of the entity metadata on the Entity page.\n */\nexport default function TitleBarProperties(props: TitleBarPropertiesProps) {\n const { entityId, versionNumber, onActMemberClickAddConditionsForUse } = props\n\n // We don't need the entire bundle, but it's fetched for the rest of the title bar and useGetEntityTitleBarProperties below, so the cache will be hot.\n const { data: bundle } = useGetEntityBundle(entityId, versionNumber)\n\n const isFeatureEnabled = useGetFeatureFlag(FeatureFlagEnum.DESCRIPTION_FIELD)\n\n // Actual entity data is fetched and transformed in this custom hook\n const properties = useGetEntityTitleBarProperties(entityId, versionNumber)\n\n const [showAllProperties, setShowAllProperties] = useState(false)\n\n return (\n <Box sx={{ padding: '20px 40px' }}>\n <Stack\n direction={'row'}\n sx={{\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n }}\n >\n <Stack\n direction=\"row\"\n divider={<Divider orientation=\"vertical\" flexItem />}\n spacing={2}\n sx={{\n alignItems: 'flex-start',\n }}\n >\n {/* Always show the first 4 properties*/}\n <table>\n <tbody>\n {properties.slice(0, 2).map(p => {\n return <Property key={p.key} title={p.title} value={p.value} />\n })}\n </tbody>\n </table>\n {properties.length > 2 && (\n <table>\n <tbody>\n {properties.slice(2, 4).map(p => {\n return (\n <Property key={p.key} title={p.title} value={p.value} />\n )\n })}\n </tbody>\n </table>\n )}\n {/* If there are 5 or 6 properties, show them in the last column */}\n {(properties.length === 5 || properties.length === 6) && (\n <table>\n <tbody>\n {properties.slice(4, 6).map(p => {\n return (\n <Property key={p.key} title={p.title} value={p.value} />\n )\n })}\n </tbody>\n </table>\n )}\n {/* If there are more than 6 properties, then just show a button that toggles showing the rest */}\n {properties.length > 6 && (\n <Link onClick={() => setShowAllProperties(v => !v)}>\n {showAllProperties\n ? 'Hide properties'\n : `${properties.length - 4} more properties`}\n </Link>\n )}\n </Stack>\n <AddConditionsForUseButton\n entityId={entityId}\n onACTMemberClick={onActMemberClickAddConditionsForUse}\n />\n </Stack>\n {showAllProperties && (\n <Box sx={{ pt: '20px' }}>\n <table>\n <tbody>\n {/* Show the remaining properties. */}\n {properties.slice(4, Infinity).map(p => {\n return <Property key={p.key} title={p.title} value={p.value} />\n })}\n </tbody>\n </table>\n </Box>\n )}\n {bundle?.entity?.description && isFeatureEnabled && (\n <Box sx={{ marginTop: '10px', maxWidth: '720px' }}>\n {bundle?.entity?.description}\n </Box>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;AAkBA,SAAS,EAAS,GAAsB;CACtC,IAAM,EAAE,UAAO,aAAU;AACzB,QACE,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD;EAAI,OAAO,EAAE,cAAc,OAAO;YAChC,kBAAC,GAAD;GACE,WAAW;GACX,SAAS;GACT,IAAI,EACF,YAAY,KACb;aAEA;GACU,CAAA;EACV,CAAA,EACL,kBAAC,MAAD,EAAA,UACE,kBAAC,GAAD;EAAY,WAAW;EAAQ,SAAS;YACrC;EACU,CAAA,EACV,CAAA,CACF,EAAA,CAAA;;AAOT,SAAwB,EAAmB,GAAgC;CACzE,IAAM,EAAE,aAAU,kBAAe,2CAAwC,GAGnE,EAAE,MAAM,MAAW,EAAmB,GAAU,EAAc,EAE9D,IAAmB,EAAkB,EAAgB,kBAAkB,EAGvE,IAAa,EAA+B,GAAU,EAAc,EAEpE,CAAC,GAAmB,KAAwB,EAAS,GAAM;AAEjE,QACE,kBAAC,GAAD;EAAK,IAAI,EAAE,SAAS,aAAa;YAAjC;GACE,kBAAC,GAAD;IACE,WAAW;IACX,IAAI;KACF,gBAAgB;KAChB,YAAY;KACb;cALH,CAOE,kBAAC,GAAD;KACE,WAAU;KACV,SAAS,kBAAC,GAAD;MAAS,aAAY;MAAW,UAAA;MAAW,CAAA;KACpD,SAAS;KACT,IAAI,EACF,YAAY,cACb;eANH;MASE,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,EAAE,CAAC,KAAI,MACnB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;OAAS,EAAzC,EAAE,IAAuC,CAC/D,EACI,CAAA,EACF,CAAA;MACP,EAAW,SAAS,KACnB,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,EAAE,CAAC,KAAI,MAExB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;OAAS,EAAzC,EAAE,IAAuC,CAE1D,EACI,CAAA,EACF,CAAA;OAGR,EAAW,WAAW,KAAK,EAAW,WAAW,MACjD,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,EAAE,CAAC,KAAI,MAExB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;OAAS,EAAzC,EAAE,IAAuC,CAE1D,EACI,CAAA,EACF,CAAA;MAGT,EAAW,SAAS,KACnB,kBAAC,GAAD;OAAM,eAAe,GAAqB,MAAK,CAAC,EAAE;iBAC/C,IACG,oBACA,GAAG,EAAW,SAAS,EAAE;OACxB,CAAA;MAEH;QACR,kBAAC,GAAD;KACY;KACV,kBAAkB;KAClB,CAAA,CACI;;GACP,KACC,kBAAC,GAAD;IAAK,IAAI,EAAE,IAAI,QAAQ;cACrB,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UAEG,EAAW,MAAM,GAAG,SAAS,CAAC,KAAI,MAC1B,kBAAC,GAAD;KAAsB,OAAO,EAAE;KAAO,OAAO,EAAE;KAAS,EAAzC,EAAE,IAAuC,CAC/D,EACI,CAAA,EACF,CAAA;IACJ,CAAA;GAEP,GAAQ,QAAQ,eAAe,KAC9B,kBAAC,GAAD;IAAK,IAAI;KAAE,WAAW;KAAQ,UAAU;KAAS;cAC9C,GAAQ,QAAQ;IACb,CAAA;GAEJ"}
1
+ {"version":3,"file":"TitleBarProperties.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/TitleBarProperties.tsx"],"sourcesContent":["import { useGetEntityBundle, useGetFeatureFlag } from '@/synapse-queries'\nimport { Box, Divider, Link, Stack, Typography } from '@mui/material'\nimport { FeatureFlagEnum } from '@/utils/featureflag/FeatureFlags'\nimport { ReactNode, useState } from 'react'\nimport AddConditionsForUseButton from '../../../AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton'\nimport { useGetEntityTitleBarProperties } from './useGetEntityTitleBarProperties'\n\nexport type TitleBarPropertiesProps = {\n entityId: string\n versionNumber?: number\n /* Callback invoked when an ACT member clicks \"Add Conditions for Use\". */\n onActMemberClickAddConditionsForUse: () => void\n}\n\ntype PropertyProps = {\n title: string\n value: ReactNode\n}\nfunction Property(props: PropertyProps) {\n const { title, value } = props\n return (\n <tr>\n <td style={{ paddingRight: '1em' }}>\n <Typography\n component={'span'}\n variant={'smallText1'}\n sx={{\n fontWeight: 700,\n }}\n >\n {title}\n </Typography>\n </td>\n <td>\n <Typography component={'span'} variant={'smallText1'}>\n {value}\n </Typography>\n </td>\n </tr>\n )\n}\n\n/**\n * The TitleBarProperties component displays a tabular view of the entity metadata on the Entity page.\n */\nexport default function TitleBarProperties(props: TitleBarPropertiesProps) {\n const { entityId, versionNumber, onActMemberClickAddConditionsForUse } = props\n\n // We don't need the entire bundle, but it's fetched for the rest of the title bar and useGetEntityTitleBarProperties below, so the cache will be hot.\n const { data: bundle } = useGetEntityBundle(entityId, versionNumber)\n\n const isFeatureEnabled = useGetFeatureFlag(FeatureFlagEnum.DESCRIPTION_FIELD)\n\n // Actual entity data is fetched and transformed in this custom hook\n const properties = useGetEntityTitleBarProperties(entityId, versionNumber)\n\n const [showAllProperties, setShowAllProperties] = useState(false)\n\n return (\n <Box sx={{ padding: '20px 40px' }}>\n <Stack\n direction={'row'}\n sx={{\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n }}\n >\n <Stack\n direction=\"row\"\n divider={<Divider orientation=\"vertical\" flexItem />}\n spacing={2}\n sx={{\n alignItems: 'flex-start',\n }}\n >\n {/* Always show the first 4 properties*/}\n <table>\n <tbody>\n {properties.slice(0, 2).map(p => {\n return <Property key={p.key} title={p.title} value={p.value} />\n })}\n </tbody>\n </table>\n {properties.length > 2 && (\n <table>\n <tbody>\n {properties.slice(2, 4).map(p => {\n return (\n <Property key={p.key} title={p.title} value={p.value} />\n )\n })}\n </tbody>\n </table>\n )}\n {/* If there are 5 or 6 properties, show them in the last column */}\n {(properties.length === 5 || properties.length === 6) && (\n <table>\n <tbody>\n {properties.slice(4, 6).map(p => {\n return (\n <Property key={p.key} title={p.title} value={p.value} />\n )\n })}\n </tbody>\n </table>\n )}\n {/* If there are more than 6 properties, then just show a button that toggles showing the rest */}\n {properties.length > 6 && (\n <Link onClick={() => setShowAllProperties(v => !v)}>\n {showAllProperties\n ? 'Hide properties'\n : `${properties.length - 4} more properties`}\n </Link>\n )}\n </Stack>\n <AddConditionsForUseButton\n entityId={entityId}\n onACTMemberClick={onActMemberClickAddConditionsForUse}\n />\n </Stack>\n {showAllProperties && (\n <Box sx={{ pt: '20px' }}>\n <table>\n <tbody>\n {/* Show the remaining properties. */}\n {properties.slice(4, Infinity).map(p => {\n return <Property key={p.key} title={p.title} value={p.value} />\n })}\n </tbody>\n </table>\n </Box>\n )}\n {bundle?.entity?.description && isFeatureEnabled && (\n <Box sx={{ marginTop: '10px', maxWidth: '720px' }}>\n {bundle?.entity?.description}\n </Box>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;;;;;;AAkBA,SAAS,EAAS,GAAsB;CACtC,IAAM,EAAE,UAAO,aAAU;CACzB,OACE,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD;EAAI,OAAO,EAAE,cAAc,MAAM;YAC/B,kBAAC,GAAD;GACE,WAAW;GACX,SAAS;GACT,IAAI,EACF,YAAY,IACd;aAEC;EACS,CAAA;CACV,CAAA,GACJ,kBAAC,MAAD,EAAA,UACE,kBAAC,GAAD;EAAY,WAAW;EAAQ,SAAS;YACrC;CACS,CAAA,EACV,CAAA,CACF,EAAA,CAAA;AAER;AAKA,SAAwB,EAAmB,GAAgC;CACzE,IAAM,EAAE,aAAU,kBAAe,2CAAwC,GAGnE,EAAE,MAAM,MAAW,EAAmB,GAAU,CAAa,GAE7D,IAAmB,EAAkB,EAAgB,iBAAiB,GAGtE,IAAa,EAA+B,GAAU,CAAa,GAEnE,CAAC,GAAmB,KAAwB,EAAS,EAAK;CAEhE,OACE,kBAAC,GAAD;EAAK,IAAI,EAAE,SAAS,YAAY;YAAhC;GACE,kBAAC,GAAD;IACE,WAAW;IACX,IAAI;KACF,gBAAgB;KAChB,YAAY;IACd;cALF,CAOE,kBAAC,GAAD;KACE,WAAU;KACV,SAAS,kBAAC,GAAD;MAAS,aAAY;MAAW,UAAA;KAAU,CAAA;KACnD,SAAS;KACT,IAAI,EACF,YAAY,aACd;eANF;MASE,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,CAAC,EAAE,KAAI,MACnB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;MAAQ,GAAxC,EAAE,GAAsC,CAC/D,EACI,CAAA,EACF,CAAA;MACN,EAAW,SAAS,KACnB,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,CAAC,EAAE,KAAI,MAExB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;MAAQ,GAAxC,EAAE,GAAsC,CAE1D,EACI,CAAA,EACF,CAAA;OAGP,EAAW,WAAW,KAAK,EAAW,WAAW,MACjD,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UACG,EAAW,MAAM,GAAG,CAAC,EAAE,KAAI,MAExB,kBAAC,GAAD;OAAsB,OAAO,EAAE;OAAO,OAAO,EAAE;MAAQ,GAAxC,EAAE,GAAsC,CAE1D,EACI,CAAA,EACF,CAAA;MAGR,EAAW,SAAS,KACnB,kBAAC,GAAD;OAAM,eAAe,GAAqB,MAAK,CAAC,CAAC;iBAC9C,IACG,oBACA,GAAG,EAAW,SAAS,EAAE;MACzB,CAAA;KAEH;QACP,kBAAC,GAAD;KACY;KACV,kBAAkB;IACnB,CAAA,CACI;;GACN,KACC,kBAAC,GAAD;IAAK,IAAI,EAAE,IAAI,OAAO;cACpB,kBAAC,SAAD,EAAA,UACE,kBAAC,SAAD,EAAA,UAEG,EAAW,MAAM,GAAG,QAAQ,EAAE,KAAI,MAC1B,kBAAC,GAAD;KAAsB,OAAO,EAAE;KAAO,OAAO,EAAE;IAAQ,GAAxC,EAAE,GAAsC,CAC/D,EACI,CAAA,EACF,CAAA;GACJ,CAAA;GAEN,GAAQ,QAAQ,eAAe,KAC9B,kBAAC,GAAD;IAAK,IAAI;KAAE,WAAW;KAAQ,UAAU;IAAQ;cAC7C,GAAQ,QAAQ;GACd,CAAA;EAEJ;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDataCiteUsage.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useDataCiteUsage.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { skipToken, useQuery, UseQueryOptions } from '@tanstack/react-query'\n\ntype RestUsage = {\n citationCount: number\n citations: CitingWork[]\n}\n\nexport type CitingWork = {\n id: string // DOI in bare form (e.g., 10.1234/abcd)\n doi: string\n title?: string\n publisher?: string\n publicationYear?: number\n containerTitle?: string\n}\n\nexport const maxCitationCount = 500\n\nexport const getDataCiteUsageQueryKey = (doi?: string) =>\n ['datacite-usage', doi] as const\n\nfunction toBareDoi(idOrUrl: string): string {\n return idOrUrl.replace(/^https?:\\/\\/(dx\\.)?doi\\.org\\//i, '')\n}\n\nasync function fetchCitationsViaGraphQL(signal: AbortSignal, doi: string) {\n const body = JSON.stringify({\n query: `\n query($id: ID!) {\n work(id: $id) {\n citations(first: ${maxCitationCount}) {\n nodes {\n id\n titles { title }\n publisher { name }\n publicationYear\n \n # publication (container) info\n container {\n title\n }\n }\n }\n }\n }\n `,\n variables: { id: `https://doi.org/${doi}` },\n })\n\n const r = await fetch('https://api.datacite.org/graphql', {\n method: 'POST',\n signal,\n headers: { 'content-type': 'application/json', accept: 'application/json' },\n body,\n })\n if (!r.ok) throw new Error(`DataCite GraphQL ${r.status}`)\n const json = await r.json()\n const nodes = json?.data?.work?.citations?.nodes ?? []\n return nodes.map((n: any) => {\n const bare = toBareDoi(n?.id ?? '')\n const title =\n Array.isArray(n?.titles) && n.titles.length\n ? n.titles[0]?.title.replaceAll('?', '') // many extended characters are returned as '?'s from DataCite\n : // for example, see https://commons.datacite.org/doi.org/10.1101%2F205807\n undefined\n const publisher = n?.publisher?.name ?? undefined\n const publicationYear = n?.publicationYear ?? undefined\n const containerTitle = n?.container?.title ?? undefined\n\n return {\n id: bare,\n doi: bare,\n title,\n publisher,\n publicationYear,\n containerTitle,\n } as CitingWork\n })\n}\n\nasync function fetchDataCiteUsage(\n signal: AbortSignal,\n doi: string,\n): Promise<RestUsage> {\n const citations: CitingWork[] = await fetchCitationsViaGraphQL(signal, doi)\n if (!citations) {\n throw new Error('No citations found')\n }\n return {\n citationCount: citations.length ?? 0,\n citations,\n }\n}\n\nexport function useDataCiteUsage(\n doi?: string,\n options?: Omit<UseQueryOptions<RestUsage, Error>, 'queryKey' | 'queryFn'>,\n) {\n const key = useMemo(() => getDataCiteUsageQueryKey(doi), [doi])\n return useQuery({\n ...options,\n queryKey: key,\n queryFn: doi\n ? ({ signal }) => {\n return fetchDataCiteUsage(signal, doi)\n }\n : skipToken,\n })\n}\n"],"mappings":";;;AAiBA,IAAa,IAAmB,KAEnB,KAA4B,MACvC,CAAC,kBAAkB,EAAI;AAEzB,SAAS,EAAU,GAAyB;AAC1C,QAAO,EAAQ,QAAQ,kCAAkC,GAAG;;AAG9D,eAAe,EAAyB,GAAqB,GAAa;CACxE,IAAM,IAAO,KAAK,UAAU;EAC1B,OAAO;EAmBP,WAAW,EAAE,IAAI,mBAAmB,KAAO;EAC5C,CAAC,EAEI,IAAI,MAAM,MAAM,oCAAoC;EACxD,QAAQ;EACR;EACA,SAAS;GAAE,gBAAgB;GAAoB,QAAQ;GAAoB;EAC3E;EACD,CAAC;AACF,KAAI,CAAC,EAAE,GAAI,OAAU,MAAM,oBAAoB,EAAE,SAAS;AAG1D,UADc,MADK,EAAE,MAAM,GACP,MAAM,MAAM,WAAW,SAAS,EAAE,EACzC,KAAK,MAAW;EAC3B,IAAM,IAAO,EAAU,GAAG,MAAM,GAAG;AAUnC,SAAO;GACL,IAAI;GACJ,KAAK;GACL,OAXA,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,OAAO,SACjC,EAAE,OAAO,IAAI,MAAM,WAAW,KAAK,GAAG,GAEtC,KAAA;GASJ,WARgB,GAAG,WAAW,QAAQ,KAAA;GAStC,iBARsB,GAAG,mBAAmB,KAAA;GAS5C,gBARqB,GAAG,WAAW,SAAS,KAAA;GAS7C;GACD;;AAGJ,eAAe,EACb,GACA,GACoB;CACpB,IAAM,IAA0B,MAAM,EAAyB,GAAQ,EAAI;AAC3E,KAAI,CAAC,EACH,OAAU,MAAM,qBAAqB;AAEvC,QAAO;EACL,eAAe,EAAU,UAAU;EACnC;EACD;;AAGH,SAAgB,EACd,GACA,GACA;CACA,IAAM,IAAM,QAAc,EAAyB,EAAI,EAAE,CAAC,EAAI,CAAC;AAC/D,QAAO,EAAS;EACd,GAAG;EACH,UAAU;EACV,SAAS,KACJ,EAAE,gBACM,EAAmB,GAAQ,EAAI,GAExC;EACL,CAAC"}
1
+ {"version":3,"file":"useDataCiteUsage.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useDataCiteUsage.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { skipToken, useQuery, UseQueryOptions } from '@tanstack/react-query'\n\ntype RestUsage = {\n citationCount: number\n citations: CitingWork[]\n}\n\nexport type CitingWork = {\n id: string // DOI in bare form (e.g., 10.1234/abcd)\n doi: string\n title?: string\n publisher?: string\n publicationYear?: number\n containerTitle?: string\n}\n\nexport const maxCitationCount = 500\n\nexport const getDataCiteUsageQueryKey = (doi?: string) =>\n ['datacite-usage', doi] as const\n\nfunction toBareDoi(idOrUrl: string): string {\n return idOrUrl.replace(/^https?:\\/\\/(dx\\.)?doi\\.org\\//i, '')\n}\n\nasync function fetchCitationsViaGraphQL(signal: AbortSignal, doi: string) {\n const body = JSON.stringify({\n query: `\n query($id: ID!) {\n work(id: $id) {\n citations(first: ${maxCitationCount}) {\n nodes {\n id\n titles { title }\n publisher { name }\n publicationYear\n \n # publication (container) info\n container {\n title\n }\n }\n }\n }\n }\n `,\n variables: { id: `https://doi.org/${doi}` },\n })\n\n const r = await fetch('https://api.datacite.org/graphql', {\n method: 'POST',\n signal,\n headers: { 'content-type': 'application/json', accept: 'application/json' },\n body,\n })\n if (!r.ok) throw new Error(`DataCite GraphQL ${r.status}`)\n const json = await r.json()\n const nodes = json?.data?.work?.citations?.nodes ?? []\n return nodes.map((n: any) => {\n const bare = toBareDoi(n?.id ?? '')\n const title =\n Array.isArray(n?.titles) && n.titles.length\n ? n.titles[0]?.title.replaceAll('?', '') // many extended characters are returned as '?'s from DataCite\n : // for example, see https://commons.datacite.org/doi.org/10.1101%2F205807\n undefined\n const publisher = n?.publisher?.name ?? undefined\n const publicationYear = n?.publicationYear ?? undefined\n const containerTitle = n?.container?.title ?? undefined\n\n return {\n id: bare,\n doi: bare,\n title,\n publisher,\n publicationYear,\n containerTitle,\n } as CitingWork\n })\n}\n\nasync function fetchDataCiteUsage(\n signal: AbortSignal,\n doi: string,\n): Promise<RestUsage> {\n const citations: CitingWork[] = await fetchCitationsViaGraphQL(signal, doi)\n if (!citations) {\n throw new Error('No citations found')\n }\n return {\n citationCount: citations.length ?? 0,\n citations,\n }\n}\n\nexport function useDataCiteUsage(\n doi?: string,\n options?: Omit<UseQueryOptions<RestUsage, Error>, 'queryKey' | 'queryFn'>,\n) {\n const key = useMemo(() => getDataCiteUsageQueryKey(doi), [doi])\n return useQuery({\n ...options,\n queryKey: key,\n queryFn: doi\n ? ({ signal }) => {\n return fetchDataCiteUsage(signal, doi)\n }\n : skipToken,\n })\n}\n"],"mappings":";;;AAiBA,IAAa,IAAmB,KAEnB,KAA4B,MACvC,CAAC,kBAAkB,CAAG;AAExB,SAAS,EAAU,GAAyB;CAC1C,OAAO,EAAQ,QAAQ,kCAAkC,EAAE;AAC7D;AAEA,eAAe,EAAyB,GAAqB,GAAa;CACxE,IAAM,IAAO,KAAK,UAAU;EAC1B,OAAO;EAmBP,WAAW,EAAE,IAAI,mBAAmB,IAAM;CAC5C,CAAC,GAEK,IAAI,MAAM,MAAM,oCAAoC;EACxD,QAAQ;EACR;EACA,SAAS;GAAE,gBAAgB;GAAoB,QAAQ;EAAmB;EAC1E;CACF,CAAC;CACD,IAAI,CAAC,EAAE,IAAI,MAAU,MAAM,oBAAoB,EAAE,QAAQ;CAGzD,SADc,MADK,EAAE,KAAK,IACN,MAAM,MAAM,WAAW,SAAS,CAAC,GACxC,KAAK,MAAW;EAC3B,IAAM,IAAO,EAAU,GAAG,MAAM,EAAE;EAUlC,OAAO;GACL,IAAI;GACJ,KAAK;GACL,OAXA,MAAM,QAAQ,GAAG,MAAM,KAAK,EAAE,OAAO,SACjC,EAAE,OAAO,IAAI,MAAM,WAAW,KAAK,EAAE,IAErC,KAAA;GASJ,WARgB,GAAG,WAAW,QAAQ,KAAA;GAStC,iBARsB,GAAG,mBAAmB,KAAA;GAS5C,gBARqB,GAAG,WAAW,SAAS,KAAA;EAS9C;CACF,CAAC;AACH;AAEA,eAAe,EACb,GACA,GACoB;CACpB,IAAM,IAA0B,MAAM,EAAyB,GAAQ,CAAG;CAC1E,IAAI,CAAC,GACH,MAAU,MAAM,oBAAoB;CAEtC,OAAO;EACL,eAAe,EAAU,UAAU;EACnC;CACF;AACF;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,IAAM,QAAc,EAAyB,CAAG,GAAG,CAAC,CAAG,CAAC;CAC9D,OAAO,EAAS;EACd,GAAG;EACH,UAAU;EACV,SAAS,KACJ,EAAE,gBACM,EAAmB,GAAQ,CAAG,IAEvC;CACN,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetEntityTitleBarProperties.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useGetEntityTitleBarProperties.tsx"],"sourcesContent":["import { useGetEntityChildren } from '@/synapse-queries'\nimport { useGetDOIAssociation } from '@/synapse-queries/doi/useDOI'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport {\n isEntityRefCollectionView,\n isVersionableEntity,\n} from '@/utils/functions/EntityTypeUtils'\nimport useGetEntityMetadata from '@/utils/hooks/useGetEntityMetadata'\nimport { Box, Link } from '@mui/material'\nimport { DoiObjectType, EntityType } from '@sage-bionetworks/synapse-client'\nimport { EntityRefCollectionView } from '@sage-bionetworks/synapse-types'\nimport { ReactNode, useState } from 'react'\nimport CopyToClipboardString from '../../../CopyToClipboardString/CopyToClipboardString'\nimport { HasAccessV2 } from '../../../HasAccess/HasAccessV2'\nimport { CitationsDialog } from './CitationsDialog'\nimport { maxCitationCount, useDataCiteUsage } from './useDataCiteUsage'\nimport { useGetMentions } from './useGetMentions'\nimport Linkify from '@/components/GenericCard/Linkify'\n\nexport type EntityProperty = {\n key: string\n title: string\n value: ReactNode\n}\n\n/**\n * This hook fetches all the entity metadata shown on the Entity page, and transforms the data into an ordered list of\n * render-able key-value pairs.\n * @param entityId\n * @param versionNumber\n */\nexport function useGetEntityTitleBarProperties(\n entityId: string,\n versionNumber?: number,\n): EntityProperty[] {\n const {\n entityBundle: bundle,\n fileHandle: dataFileHandle,\n downloadAlias,\n isContainer,\n fileHandleStorageInfo,\n uploadDestinationString,\n } = useGetEntityMetadata(entityId, versionNumber)\n const [dataCiteCitationsDialogOpen, setDataCiteCitationsDialogOpen] =\n useState(false)\n const [mentionsDialogOpen, setMentionsDialogOpen] = useState(false)\n const { data: entityChildrenResponse } = useGetEntityChildren(\n {\n parentId: entityId,\n includeTypes: Object.values(EntityType),\n includeTotalChildCount: true,\n },\n { enabled: isContainer },\n )\n\n // If this is the latest entity version, show the \"versionless\" DOI if it exists.\n const useFallbackVersionlessDOI =\n bundle &&\n !bundle.doiAssociation &&\n isVersionableEntity(bundle.entity) &&\n bundle.entity.isLatestVersion\n const { data: versionlessDOIAssociation } = useGetDOIAssociation(\n { id: entityId, version: undefined, type: DoiObjectType.ENTITY },\n {\n enabled: useFallbackVersionlessDOI,\n },\n )\n\n const size =\n dataFileHandle?.contentSize &&\n calculateFriendlyFileSize(dataFileHandle.contentSize)\n const storageLocation =\n fileHandleStorageInfo &&\n 'location' in fileHandleStorageInfo &&\n fileHandleStorageInfo.location\n const endpoint =\n fileHandleStorageInfo &&\n 'endpoint' in fileHandleStorageInfo &&\n fileHandleStorageInfo.endpoint\n const bucket =\n fileHandleStorageInfo &&\n 'bucket' in fileHandleStorageInfo &&\n fileHandleStorageInfo.bucket\n const fileKey =\n fileHandleStorageInfo &&\n 'fileKey' in fileHandleStorageInfo &&\n fileHandleStorageInfo.fileKey\n const externalUrl =\n fileHandleStorageInfo &&\n 'url' in fileHandleStorageInfo &&\n fileHandleStorageInfo.url\n\n const md5 = dataFileHandle?.contentMd5\n\n // If there is no version-specific DOI, fall back to the versionless DOI\n const doiAssociation = useFallbackVersionlessDOI\n ? versionlessDOIAssociation\n : bundle?.doiAssociation\n const { data: dataCiteUsage } = useDataCiteUsage(doiAssociation?.doiUri)\n const doi = doiAssociation && `https://doi.org/${doiAssociation?.doiUri}`\n const isDoiUsage = !!dataCiteUsage && dataCiteUsage.citationCount > 0\n const containerItems = entityChildrenResponse?.totalChildCount\n\n const datasetItems =\n bundle?.entity && isEntityRefCollectionView(bundle.entity)\n ? ((bundle?.entity as EntityRefCollectionView).items ?? []).length\n : null\n\n const { data: mentions } = useGetMentions(entityId)\n const isMentions = !!mentions && mentions.length > 0\n return [\n {\n key: 'id',\n title: 'SynID',\n value: <CopyToClipboardString value={entityId} />,\n },\n {\n key: 'access',\n title: 'Access',\n value: <HasAccessV2 entityId={entityId} />,\n },\n size && { key: 'fileSize', title: 'Size', value: size },\n containerItems != null && {\n key: 'containerItems',\n title: 'Items',\n value: containerItems.toLocaleString(),\n },\n datasetItems != null && {\n key: 'entityRefCollectionItems',\n title: 'Items',\n value: datasetItems.toLocaleString(),\n },\n doi && {\n key: 'doi',\n title: 'DOI',\n value: (\n <Link href={doi} rel={'noopener noreferrer'} target={'_blank'}>\n {doi}\n </Link>\n ),\n },\n isDoiUsage && {\n key: 'citations',\n title: 'Citations',\n value: (\n <>\n <Link onClick={() => setDataCiteCitationsDialogOpen(true)}>\n {dataCiteUsage.citationCount.toLocaleString()}\n {dataCiteUsage.citationCount == maxCitationCount && '+'}\n </Link>\n <CitationsDialog\n open={dataCiteCitationsDialogOpen}\n onClose={() => setDataCiteCitationsDialogOpen(false)}\n citations={dataCiteUsage.citations}\n />\n </>\n ),\n },\n isMentions && {\n key: 'mentions',\n title: 'Mentions',\n value: (\n <>\n <Link onClick={() => setMentionsDialogOpen(true)}>\n {mentions.length.toLocaleString()}\n </Link>\n <CitationsDialog\n open={mentionsDialogOpen}\n onClose={() => setMentionsDialogOpen(false)}\n citations={mentions}\n title=\"Mentioned in\"\n />\n </>\n ),\n },\n md5 && {\n key: 'fileMd5',\n title: 'MD5',\n value: <CopyToClipboardString value={md5} />,\n },\n !isContainer &&\n storageLocation && {\n key: 'fileStorageLocation',\n title: 'Storage Location',\n value: storageLocation,\n },\n isContainer &&\n uploadDestinationString && {\n key: 'uploadDestination',\n title: 'Upload Destination',\n value: uploadDestinationString,\n },\n endpoint && {\n key: 'externalFileEndpoint',\n title: 'Endpoint',\n value: endpoint,\n },\n externalUrl && {\n key: 'externalUrl',\n title: 'URL',\n value: <Linkify text={externalUrl} />,\n },\n bucket && { key: 'externalFileBucket', title: 'Bucket', value: bucket },\n fileKey && { key: 'externalFileKey', title: 'File Key', value: fileKey },\n downloadAlias && {\n key: 'fileAlias',\n title: 'Alias',\n value: (\n <>\n {'Name when downloaded will be: '}\n <Box sx={{ display: 'inline', fontFamily: 'monospace' }}>\n {downloadAlias}\n </Box>\n </>\n ),\n },\n ].filter(item => !!item) as EntityProperty[]\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useGetEntityTitleBarProperties.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useGetEntityTitleBarProperties.tsx"],"sourcesContent":["import { useGetEntityChildren } from '@/synapse-queries'\nimport { useGetDOIAssociation } from '@/synapse-queries/doi/useDOI'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport {\n isEntityRefCollectionView,\n isVersionableEntity,\n} from '@/utils/functions/EntityTypeUtils'\nimport useGetEntityMetadata from '@/utils/hooks/useGetEntityMetadata'\nimport { Box, Link } from '@mui/material'\nimport { DoiObjectType, EntityType } from '@sage-bionetworks/synapse-client'\nimport { EntityRefCollectionView } from '@sage-bionetworks/synapse-types'\nimport { ReactNode, useState } from 'react'\nimport CopyToClipboardString from '../../../CopyToClipboardString/CopyToClipboardString'\nimport { HasAccessV2 } from '../../../HasAccess/HasAccessV2'\nimport { CitationsDialog } from './CitationsDialog'\nimport { maxCitationCount, useDataCiteUsage } from './useDataCiteUsage'\nimport { useGetMentions } from './useGetMentions'\nimport Linkify from '@/components/GenericCard/Linkify'\n\nexport type EntityProperty = {\n key: string\n title: string\n value: ReactNode\n}\n\n/**\n * This hook fetches all the entity metadata shown on the Entity page, and transforms the data into an ordered list of\n * render-able key-value pairs.\n * @param entityId\n * @param versionNumber\n */\nexport function useGetEntityTitleBarProperties(\n entityId: string,\n versionNumber?: number,\n): EntityProperty[] {\n const {\n entityBundle: bundle,\n fileHandle: dataFileHandle,\n downloadAlias,\n isContainer,\n fileHandleStorageInfo,\n uploadDestinationString,\n } = useGetEntityMetadata(entityId, versionNumber)\n const [dataCiteCitationsDialogOpen, setDataCiteCitationsDialogOpen] =\n useState(false)\n const [mentionsDialogOpen, setMentionsDialogOpen] = useState(false)\n const { data: entityChildrenResponse } = useGetEntityChildren(\n {\n parentId: entityId,\n includeTypes: Object.values(EntityType),\n includeTotalChildCount: true,\n },\n { enabled: isContainer },\n )\n\n // If this is the latest entity version, show the \"versionless\" DOI if it exists.\n const useFallbackVersionlessDOI =\n bundle &&\n !bundle.doiAssociation &&\n isVersionableEntity(bundle.entity) &&\n bundle.entity.isLatestVersion\n const { data: versionlessDOIAssociation } = useGetDOIAssociation(\n { id: entityId, version: undefined, type: DoiObjectType.ENTITY },\n {\n enabled: useFallbackVersionlessDOI,\n },\n )\n\n const size =\n dataFileHandle?.contentSize &&\n calculateFriendlyFileSize(dataFileHandle.contentSize)\n const storageLocation =\n fileHandleStorageInfo &&\n 'location' in fileHandleStorageInfo &&\n fileHandleStorageInfo.location\n const endpoint =\n fileHandleStorageInfo &&\n 'endpoint' in fileHandleStorageInfo &&\n fileHandleStorageInfo.endpoint\n const bucket =\n fileHandleStorageInfo &&\n 'bucket' in fileHandleStorageInfo &&\n fileHandleStorageInfo.bucket\n const fileKey =\n fileHandleStorageInfo &&\n 'fileKey' in fileHandleStorageInfo &&\n fileHandleStorageInfo.fileKey\n const externalUrl =\n fileHandleStorageInfo &&\n 'url' in fileHandleStorageInfo &&\n fileHandleStorageInfo.url\n\n const md5 = dataFileHandle?.contentMd5\n\n // If there is no version-specific DOI, fall back to the versionless DOI\n const doiAssociation = useFallbackVersionlessDOI\n ? versionlessDOIAssociation\n : bundle?.doiAssociation\n const { data: dataCiteUsage } = useDataCiteUsage(doiAssociation?.doiUri)\n const doi = doiAssociation && `https://doi.org/${doiAssociation?.doiUri}`\n const isDoiUsage = !!dataCiteUsage && dataCiteUsage.citationCount > 0\n const containerItems = entityChildrenResponse?.totalChildCount\n\n const datasetItems =\n bundle?.entity && isEntityRefCollectionView(bundle.entity)\n ? ((bundle?.entity as EntityRefCollectionView).items ?? []).length\n : null\n\n const { data: mentions } = useGetMentions(entityId)\n const isMentions = !!mentions && mentions.length > 0\n return [\n {\n key: 'id',\n title: 'SynID',\n value: <CopyToClipboardString value={entityId} />,\n },\n {\n key: 'access',\n title: 'Access',\n value: <HasAccessV2 entityId={entityId} />,\n },\n size && { key: 'fileSize', title: 'Size', value: size },\n containerItems != null && {\n key: 'containerItems',\n title: 'Items',\n value: containerItems.toLocaleString(),\n },\n datasetItems != null && {\n key: 'entityRefCollectionItems',\n title: 'Items',\n value: datasetItems.toLocaleString(),\n },\n doi && {\n key: 'doi',\n title: 'DOI',\n value: (\n <Link href={doi} rel={'noopener noreferrer'} target={'_blank'}>\n {doi}\n </Link>\n ),\n },\n isDoiUsage && {\n key: 'citations',\n title: 'Citations',\n value: (\n <>\n <Link onClick={() => setDataCiteCitationsDialogOpen(true)}>\n {dataCiteUsage.citationCount.toLocaleString()}\n {dataCiteUsage.citationCount == maxCitationCount && '+'}\n </Link>\n <CitationsDialog\n open={dataCiteCitationsDialogOpen}\n onClose={() => setDataCiteCitationsDialogOpen(false)}\n citations={dataCiteUsage.citations}\n />\n </>\n ),\n },\n isMentions && {\n key: 'mentions',\n title: 'Mentions',\n value: (\n <>\n <Link onClick={() => setMentionsDialogOpen(true)}>\n {mentions.length.toLocaleString()}\n </Link>\n <CitationsDialog\n open={mentionsDialogOpen}\n onClose={() => setMentionsDialogOpen(false)}\n citations={mentions}\n title=\"Mentioned in\"\n />\n </>\n ),\n },\n md5 && {\n key: 'fileMd5',\n title: 'MD5',\n value: <CopyToClipboardString value={md5} />,\n },\n !isContainer &&\n storageLocation && {\n key: 'fileStorageLocation',\n title: 'Storage Location',\n value: storageLocation,\n },\n isContainer &&\n uploadDestinationString && {\n key: 'uploadDestination',\n title: 'Upload Destination',\n value: uploadDestinationString,\n },\n endpoint && {\n key: 'externalFileEndpoint',\n title: 'Endpoint',\n value: endpoint,\n },\n externalUrl && {\n key: 'externalUrl',\n title: 'URL',\n value: <Linkify text={externalUrl} />,\n },\n bucket && { key: 'externalFileBucket', title: 'Bucket', value: bucket },\n fileKey && { key: 'externalFileKey', title: 'File Key', value: fileKey },\n downloadAlias && {\n key: 'fileAlias',\n title: 'Alias',\n value: (\n <>\n {'Name when downloaded will be: '}\n <Box sx={{ display: 'inline', fontFamily: 'monospace' }}>\n {downloadAlias}\n </Box>\n </>\n ),\n },\n ].filter(item => !!item) as EntityProperty[]\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetMentions.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useGetMentions.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { skipToken, useQuery, UseQueryOptions } from '@tanstack/react-query'\nimport {\n COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n ColumnSingleValueFilterOperator,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { CitingWork } from './useDataCiteUsage'\n\nconst MENTIONS_SYNAPSE_TABLE_ID = 'syn66047339'\n\nexport type EuropePMCAuthor = {\n fullName?: string\n firstName?: string\n lastName?: string\n}\n\nexport type EuropePMCAuthorList = {\n author?: EuropePMCAuthor[]\n}\n\nexport type EuropePMCResult = {\n id?: string\n pmid?: string\n pmcid?: string\n doi?: string\n title?: string\n journalTitle?: string\n pubYear?: string\n authorList?: EuropePMCAuthorList\n}\n\nexport type EuropePMCResponse = {\n resultList: {\n result: EuropePMCResult[]\n }\n}\n\nexport const getMentionsQueryKey = (entityId: string) =>\n ['europepmc', entityId] as const\n\nexport async function fetchMetadataForPMCIDs(\n signal: AbortSignal,\n pmcids: string[],\n): Promise<CitingWork[]> {\n if (pmcids.length === 0) return []\n const query = pmcids.map(id => `PMCID:${id}`).join(' OR ')\n\n const url = new URL('https://www.ebi.ac.uk/europepmc/webservices/rest/search')\n url.searchParams.set('query', query)\n url.searchParams.set('format', 'json')\n url.searchParams.set('pageSize', String(pmcids.length))\n\n const resp = await fetch(url.toString(), {\n headers: { Accept: 'application/json' },\n signal,\n })\n if (!resp.ok)\n throw new Error(`Europe PMC error ${resp.status}: ${await resp.text()}`)\n\n const json = (await resp.json()) as EuropePMCResponse\n return mapEuropePMCResponseToCitingWorks(json)\n}\n\nexport function mapEuropePMCResponseToCitingWorks(\n json: EuropePMCResponse,\n): CitingWork[] {\n return json.resultList.result.map(\n r =>\n ({\n id: r.pmcid,\n title: r.title ?? '(Untitled)',\n doi: r.doi,\n publisher: r.journalTitle,\n publicationYear: r.pubYear ? Number(r.pubYear) : undefined,\n // authors: r.authorList?.author?.map((a: EuropePMCAuthor) => a.fullName ?? `${a.firstName ?? \"\"} ${a.lastName ?? \"\"}`.trim()) ?? [],\n }) as CitingWork,\n )\n}\n\nexport function useGetMentions(\n entityId: string,\n options?: Omit<UseQueryOptions<CitingWork[], Error>, 'queryKey' | 'queryFn'>,\n) {\n const query: Query = {\n sql: `select pmcid from ${MENTIONS_SYNAPSE_TABLE_ID}`,\n additionalFilters: [\n {\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'synid',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [entityId],\n },\n ],\n }\n\n const { data } = useGetQueryResultBundleWithAsyncStatus({\n entityId: entityId,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n })\n\n const rows = data?.responseBody?.queryResult?.queryResults?.rows\n const pcmids = rows\n ?.map(row => {\n const pmcid = row.values[0]\n // remove \"pmc:\" prefix if present\n return pmcid?.toString().replace(/^pmc:/i, '')\n })\n .filter(pmcid => pmcid != null) as string[]\n const key = useMemo(() => getMentionsQueryKey(entityId), [entityId])\n return useQuery({\n ...options,\n queryKey: key,\n queryFn: pcmids\n ? ({ signal }) => {\n return fetchMetadataForPMCIDs(signal, pcmids)\n }\n : skipToken,\n })\n}\n"],"mappings":";;;;;;;AAWA,IAAM,IAA4B,eA6BrB,KAAuB,MAClC,CAAC,aAAa,EAAS;AAEzB,eAAsB,EACpB,GACA,GACuB;AACvB,KAAI,EAAO,WAAW,EAAG,QAAO,EAAE;CAClC,IAAM,IAAQ,EAAO,KAAI,MAAM,SAAS,IAAK,CAAC,KAAK,OAAO,EAEpD,IAAM,IAAI,IAAI,0DAA0D;AAG9E,CAFA,EAAI,aAAa,IAAI,SAAS,EAAM,EACpC,EAAI,aAAa,IAAI,UAAU,OAAO,EACtC,EAAI,aAAa,IAAI,YAAY,OAAO,EAAO,OAAO,CAAC;CAEvD,IAAM,IAAO,MAAM,MAAM,EAAI,UAAU,EAAE;EACvC,SAAS,EAAE,QAAQ,oBAAoB;EACvC;EACD,CAAC;AACF,KAAI,CAAC,EAAK,GACR,OAAU,MAAM,oBAAoB,EAAK,OAAO,IAAI,MAAM,EAAK,MAAM,GAAG;AAG1E,QAAO,EAAkC,MADrB,EAAK,MAAM,CACe;;AAGhD,SAAgB,EACd,GACc;AACd,QAAO,EAAK,WAAW,OAAO,KAC5B,OACG;EACC,IAAI,EAAE;EACN,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE;EACP,WAAW,EAAE;EACb,iBAAiB,EAAE,UAAU,OAAO,EAAE,QAAQ,GAAG,KAAA;EAElD,EACJ;;AAGH,SAAgB,EACd,GACA,GACA;CAaA,IAAM,EAAE,YAAS,EAAuC;EAC5C;EACV,OAAA;GAbA,KAAK,qBAAqB;GAC1B,mBAAmB,CACjB;IACE,cAAc;IACd,YAAY;IACZ,UAAU,EAAgC;IAC1C,QAAQ,CAAC,EAAS;IACnB,CACF;GAKD;EACA,UAAA;EACA,cAAc;EACf,CAAC,EAGI,KADO,GAAM,cAAc,aAAa,cAAc,OAExD,KAAI,MACU,EAAI,OAAO,IAEX,UAAU,CAAC,QAAQ,UAAU,GAAG,CAC9C,CACD,QAAO,MAAS,KAAS,KAAK,EAC3B,IAAM,QAAc,EAAoB,EAAS,EAAE,CAAC,EAAS,CAAC;AACpE,QAAO,EAAS;EACd,GAAG;EACH,UAAU;EACV,SAAS,KACJ,EAAE,gBACM,EAAuB,GAAQ,EAAO,GAE/C;EACL,CAAC"}
1
+ {"version":3,"file":"useGetMentions.js","names":[],"sources":["../../../../../src/components/entity/page/title_bar/useGetMentions.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { skipToken, useQuery, UseQueryOptions } from '@tanstack/react-query'\nimport {\n COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n ColumnSingleValueFilterOperator,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { CitingWork } from './useDataCiteUsage'\n\nconst MENTIONS_SYNAPSE_TABLE_ID = 'syn66047339'\n\nexport type EuropePMCAuthor = {\n fullName?: string\n firstName?: string\n lastName?: string\n}\n\nexport type EuropePMCAuthorList = {\n author?: EuropePMCAuthor[]\n}\n\nexport type EuropePMCResult = {\n id?: string\n pmid?: string\n pmcid?: string\n doi?: string\n title?: string\n journalTitle?: string\n pubYear?: string\n authorList?: EuropePMCAuthorList\n}\n\nexport type EuropePMCResponse = {\n resultList: {\n result: EuropePMCResult[]\n }\n}\n\nexport const getMentionsQueryKey = (entityId: string) =>\n ['europepmc', entityId] as const\n\nexport async function fetchMetadataForPMCIDs(\n signal: AbortSignal,\n pmcids: string[],\n): Promise<CitingWork[]> {\n if (pmcids.length === 0) return []\n const query = pmcids.map(id => `PMCID:${id}`).join(' OR ')\n\n const url = new URL('https://www.ebi.ac.uk/europepmc/webservices/rest/search')\n url.searchParams.set('query', query)\n url.searchParams.set('format', 'json')\n url.searchParams.set('pageSize', String(pmcids.length))\n\n const resp = await fetch(url.toString(), {\n headers: { Accept: 'application/json' },\n signal,\n })\n if (!resp.ok)\n throw new Error(`Europe PMC error ${resp.status}: ${await resp.text()}`)\n\n const json = (await resp.json()) as EuropePMCResponse\n return mapEuropePMCResponseToCitingWorks(json)\n}\n\nexport function mapEuropePMCResponseToCitingWorks(\n json: EuropePMCResponse,\n): CitingWork[] {\n return json.resultList.result.map(\n r =>\n ({\n id: r.pmcid,\n title: r.title ?? '(Untitled)',\n doi: r.doi,\n publisher: r.journalTitle,\n publicationYear: r.pubYear ? Number(r.pubYear) : undefined,\n // authors: r.authorList?.author?.map((a: EuropePMCAuthor) => a.fullName ?? `${a.firstName ?? \"\"} ${a.lastName ?? \"\"}`.trim()) ?? [],\n }) as CitingWork,\n )\n}\n\nexport function useGetMentions(\n entityId: string,\n options?: Omit<UseQueryOptions<CitingWork[], Error>, 'queryKey' | 'queryFn'>,\n) {\n const query: Query = {\n sql: `select pmcid from ${MENTIONS_SYNAPSE_TABLE_ID}`,\n additionalFilters: [\n {\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'synid',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [entityId],\n },\n ],\n }\n\n const { data } = useGetQueryResultBundleWithAsyncStatus({\n entityId: entityId,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n })\n\n const rows = data?.responseBody?.queryResult?.queryResults?.rows\n const pcmids = rows\n ?.map(row => {\n const pmcid = row.values[0]\n // remove \"pmc:\" prefix if present\n return pmcid?.toString().replace(/^pmc:/i, '')\n })\n .filter(pmcid => pmcid != null) as string[]\n const key = useMemo(() => getMentionsQueryKey(entityId), [entityId])\n return useQuery({\n ...options,\n queryKey: key,\n queryFn: pcmids\n ? ({ signal }) => {\n return fetchMetadataForPMCIDs(signal, pcmids)\n }\n : skipToken,\n })\n}\n"],"mappings":";;;;;;;AAWA,IAAM,IAA4B,eA6BrB,KAAuB,MAClC,CAAC,aAAa,CAAQ;AAExB,eAAsB,EACpB,GACA,GACuB;CACvB,IAAI,EAAO,WAAW,GAAG,OAAO,CAAC;CACjC,IAAM,IAAQ,EAAO,KAAI,MAAM,SAAS,GAAI,EAAE,KAAK,MAAM,GAEnD,IAAM,IAAI,IAAI,yDAAyD;CAG7E,AAFA,EAAI,aAAa,IAAI,SAAS,CAAK,GACnC,EAAI,aAAa,IAAI,UAAU,MAAM,GACrC,EAAI,aAAa,IAAI,YAAY,OAAO,EAAO,MAAM,CAAC;CAEtD,IAAM,IAAO,MAAM,MAAM,EAAI,SAAS,GAAG;EACvC,SAAS,EAAE,QAAQ,mBAAmB;EACtC;CACF,CAAC;CACD,IAAI,CAAC,EAAK,IACR,MAAU,MAAM,oBAAoB,EAAK,OAAO,IAAI,MAAM,EAAK,KAAK,GAAG;CAGzE,OAAO,EAAkC,MADrB,EAAK,KAAK,CACe;AAC/C;AAEA,SAAgB,EACd,GACc;CACd,OAAO,EAAK,WAAW,OAAO,KAC5B,OACG;EACC,IAAI,EAAE;EACN,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE;EACP,WAAW,EAAE;EACb,iBAAiB,EAAE,UAAU,OAAO,EAAE,OAAO,IAAI,KAAA;CAEnD,EACJ;AACF;AAEA,SAAgB,EACd,GACA,GACA;CAaA,IAAM,EAAE,YAAS,EAAuC;EAC5C;EACV,OAAA;GAbA,KAAK,qBAAqB;GAC1B,mBAAmB,CACjB;IACE,cAAc;IACd,YAAY;IACZ,UAAU,EAAgC;IAC1C,QAAQ,CAAC,CAAQ;GACnB,CACF;EAKA;EACA,UAAA;EACA,cAAc;CAChB,CAAC,GAGK,KADO,GAAM,cAAc,aAAa,cAAc,OAExD,KAAI,MACU,EAAI,OAAO,IAEX,SAAS,EAAE,QAAQ,UAAU,EAAE,CAC9C,EACA,QAAO,MAAS,KAAS,IAAI,GAC1B,IAAM,QAAc,EAAoB,CAAQ,GAAG,CAAC,CAAQ,CAAC;CACnE,OAAO,EAAS;EACd,GAAG;EACH,UAAU;EACV,SAAS,KACJ,EAAE,gBACM,EAAuB,GAAQ,CAAM,IAE9C;CACN,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorBanner.js","names":[],"sources":["../../../src/components/error/ErrorBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Optional } from '@/utils/types/Optional'\nimport { Box, Button, Collapse, Stack } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { PropsWithChildren, useState } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n FallbackProps,\n} from 'react-error-boundary'\nimport FullWidthAlert from '../FullWidthAlert'\nimport SignInButton from '../SignInButton'\nimport { AlertButtonConfig } from '../FullWidthAlert/FullWidthAlert'\n\ntype ErrorBannerProps = {\n error?: string | Error | SynapseClientError | null\n reloadButtonFn?: () => void\n}\n\nexport const YOU_ARE_NOT_AUTHORIZED_MESSAGE =\n 'You are not authorized to access this resource.'\n\nexport const SignInPrompt = (): React.ReactNode => {\n return (\n <>\n Please <SignInButton /> to view this resource.\n </>\n )\n}\n\nexport const ClientError = (props: {\n error: SynapseClientError\n}): React.ReactNode => {\n const [showDetailedError, setShowDetailedError] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n const { error } = props\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n if (loginError) {\n return <SignInPrompt />\n } else if (accessDenied) {\n return (\n <>\n <Stack direction=\"row\" spacing={2}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {YOU_ARE_NOT_AUTHORIZED_MESSAGE}\n </Box>\n <Button\n variant=\"text\"\n onClick={() => setShowDetailedError(show => !show)}\n >\n {showDetailedError ? 'Hide' : 'Show'} details\n </Button>\n </Stack>\n <Collapse in={showDetailedError}>\n <Box\n sx={{\n paddingTop: 1,\n }}\n >\n <pre>{error.reason}</pre>\n </Box>\n </Collapse>\n </>\n )\n } else {\n return <>{error.reason}</>\n }\n}\n\nexport const ErrorBanner = (props: ErrorBannerProps): React.ReactNode => {\n const { error, reloadButtonFn } = props\n\n if (!error) {\n return <></>\n }\n\n let synapseClientError: SynapseClientError | undefined = undefined\n let jsError: Error | undefined = undefined\n let stringError: string | undefined = undefined\n if (error instanceof SynapseClientError) {\n synapseClientError = error\n } else if (error instanceof Error) {\n jsError = error\n } else if (typeof error === 'string') {\n stringError = error\n }\n const serverError = synapseClientError && synapseClientError.status >= 500\n let primaryButtonConfig: AlertButtonConfig | undefined = undefined\n\n if (serverError) {\n primaryButtonConfig = {\n text: 'Report Issue',\n onClick: () => {\n const issueUrl = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(\n `A server error occurred:\\n\\n${synapseClientError?.reason}`,\n )}`\n window.open(issueUrl, '_blank')\n },\n }\n } else if (reloadButtonFn) {\n primaryButtonConfig = {\n text: 'Reload',\n onClick: reloadButtonFn,\n }\n }\n\n return (\n <FullWidthAlert\n variant={'danger'}\n isGlobal={false}\n description={\n <>\n {synapseClientError && <ClientError error={synapseClientError} />}\n {jsError && jsError.message}\n {stringError && stringError}\n </>\n }\n primaryButtonConfig={primaryButtonConfig}\n />\n )\n}\n\nexport function ErrorFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <div className=\"SRC-marginBottomTop\">\n <ErrorBanner\n error={error}\n reloadButtonFn={resetErrorBoundary}\n ></ErrorBanner>\n </div>\n )\n}\n\nexport function TableRowFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <tr>\n <td colSpan={999}>\n <ErrorBanner error={error} reloadButtonFn={resetErrorBoundary} />\n </td>\n </tr>\n )\n}\n\n/**\n * This error boundary fallback component does not have a UI, it only outputs the error to console.error\n */\nexport function EmptyFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n console.error(error)\n return <></>\n}\n\n/**\n * ErrorBoundary component that uses the default error fallback component, unless overridden.\n * Internally uses `react-error-boundary`.\n *\n * Use with {@link react-error-boundary#handleError | handleError}\n * @param props\n * @returns\n */\nexport const SynapseErrorBoundary = (\n props: PropsWithChildren<\n Optional<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>\n >,\n): React.ReactNode => (\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent} {...props} />\n)\n"],"mappings":";;;;;;;;;AAoBA,IAAa,IACX,mDAEW,UAET,kBAAA,GAAA,EAAA,UAAA;CAAE;CACO,kBAAC,GAAD,EAAgB,CAAA;;CACtB,EAAA,CAAA,EAIM,KAAe,MAEL;CACrB,IAAM,CAAC,GAAmB,KAAwB,EAAS,GAAM,EAC3D,EAAE,uBAAoB,GAAmB,EACzC,EAAE,aAAU,GACZ,KACH,EAAM,WAAW,OAAO,EAAM,WAAW,QAAQ,CAAC,GAC/C,IAAe,EAAM,WAAW,OAAO;AAmC3C,QAjCE,IACK,kBAAC,GAAD,EAAgB,CAAA,GACd,IAEP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAO,WAAU;EAAM,SAAS;YAAhC,CACE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,YAAY;IACb;aAEA;GACG,CAAA,EACN,kBAAC,GAAD;GACE,SAAQ;GACR,eAAe,GAAqB,MAAQ,CAAC,EAAK;aAFpD,CAIG,IAAoB,SAAS,QAAO,WAC9B;KACH;KACR,kBAAC,GAAD;EAAU,IAAI;YACZ,kBAAC,GAAD;GACE,IAAI,EACF,YAAY,GACb;aAED,kBAAC,OAAD,EAAA,UAAM,EAAM,QAAa,CAAA;GACrB,CAAA;EACG,CAAA,CACV,EAAA,CAAA,GAGE,kBAAA,GAAA,EAAA,UAAG,EAAM,QAAU,CAAA;GAIjB,KAAe,MAA6C;CACvE,IAAM,EAAE,UAAO,sBAAmB;AAElC,KAAI,CAAC,EACH,QAAO,kBAAA,GAAA,EAAK,CAAA;CAGd,IAAI,GACA,GACA;AACJ,CAAI,aAAiB,IACnB,IAAqB,IACZ,aAAiB,QAC1B,IAAU,IACD,OAAO,KAAU,aAC1B,IAAc;CAEhB,IAAM,IAAc,KAAsB,EAAmB,UAAU,KACnE;AAmBJ,QAjBI,IACF,IAAsB;EACpB,MAAM;EACN,eAAe;GACb,IAAM,IAAW,iGAAiG,UAChH,+BAA+B,GAAoB,SACpD;AACD,UAAO,KAAK,GAAU,SAAS;;EAElC,GACQ,MACT,IAAsB;EACpB,MAAM;EACN,SAAS;EACV,GAID,kBAAC,GAAD;EACE,SAAS;EACT,UAAU;EACV,aACE,kBAAA,GAAA,EAAA,UAAA;GACG,KAAsB,kBAAC,GAAD,EAAa,OAAO,GAAsB,CAAA;GAChE,KAAW,EAAQ;GACnB,KAAe;GACf,EAAA,CAAA;EAEgB;EACrB,CAAA;;AAIN,SAAgB,EAAuB,EACrC,UACA,yBACgB;AAChB,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GACS;GACP,gBAAgB;GACH,CAAA;EACX,CAAA;;AAIV,SAAgB,EAA0B,EACxC,UACA,yBACgB;AAChB,QACE,kBAAC,MAAD,EAAA,UACE,kBAAC,MAAD;EAAI,SAAS;YACX,kBAAC,GAAD;GAAoB;GAAO,gBAAgB;GAAsB,CAAA;EAC9D,CAAA,EACF,CAAA;;AAOT,SAAgB,EAAuB,EACrC,UACA,yBACgB;AAEhB,QADA,QAAQ,MAAM,EAAM,EACb,kBAAA,GAAA,EAAK,CAAA;;AAWd,IAAa,KACX,MAIA,kBAAC,GAAD;CAAe,mBAAmB;CAAwB,GAAI;CAAS,CAAA"}
1
+ {"version":3,"file":"ErrorBanner.js","names":[],"sources":["../../../src/components/error/ErrorBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Optional } from '@/utils/types/Optional'\nimport { Box, Button, Collapse, Stack } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { PropsWithChildren, useState } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n FallbackProps,\n} from 'react-error-boundary'\nimport FullWidthAlert from '../FullWidthAlert'\nimport SignInButton from '../SignInButton'\nimport { AlertButtonConfig } from '../FullWidthAlert/FullWidthAlert'\n\ntype ErrorBannerProps = {\n error?: string | Error | SynapseClientError | null\n reloadButtonFn?: () => void\n}\n\nexport const YOU_ARE_NOT_AUTHORIZED_MESSAGE =\n 'You are not authorized to access this resource.'\n\nexport const SignInPrompt = (): React.ReactNode => {\n return (\n <>\n Please <SignInButton /> to view this resource.\n </>\n )\n}\n\nexport const ClientError = (props: {\n error: SynapseClientError\n}): React.ReactNode => {\n const [showDetailedError, setShowDetailedError] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n const { error } = props\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n if (loginError) {\n return <SignInPrompt />\n } else if (accessDenied) {\n return (\n <>\n <Stack direction=\"row\" spacing={2}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n {YOU_ARE_NOT_AUTHORIZED_MESSAGE}\n </Box>\n <Button\n variant=\"text\"\n onClick={() => setShowDetailedError(show => !show)}\n >\n {showDetailedError ? 'Hide' : 'Show'} details\n </Button>\n </Stack>\n <Collapse in={showDetailedError}>\n <Box\n sx={{\n paddingTop: 1,\n }}\n >\n <pre>{error.reason}</pre>\n </Box>\n </Collapse>\n </>\n )\n } else {\n return <>{error.reason}</>\n }\n}\n\nexport const ErrorBanner = (props: ErrorBannerProps): React.ReactNode => {\n const { error, reloadButtonFn } = props\n\n if (!error) {\n return <></>\n }\n\n let synapseClientError: SynapseClientError | undefined = undefined\n let jsError: Error | undefined = undefined\n let stringError: string | undefined = undefined\n if (error instanceof SynapseClientError) {\n synapseClientError = error\n } else if (error instanceof Error) {\n jsError = error\n } else if (typeof error === 'string') {\n stringError = error\n }\n const serverError = synapseClientError && synapseClientError.status >= 500\n let primaryButtonConfig: AlertButtonConfig | undefined = undefined\n\n if (serverError) {\n primaryButtonConfig = {\n text: 'Report Issue',\n onClick: () => {\n const issueUrl = `https://sagebionetworks.jira.com/servicedesk/customer/portal/9/group/16/create/84?description=${encodeURI(\n `A server error occurred:\\n\\n${synapseClientError?.reason}`,\n )}`\n window.open(issueUrl, '_blank')\n },\n }\n } else if (reloadButtonFn) {\n primaryButtonConfig = {\n text: 'Reload',\n onClick: reloadButtonFn,\n }\n }\n\n return (\n <FullWidthAlert\n variant={'danger'}\n isGlobal={false}\n description={\n <>\n {synapseClientError && <ClientError error={synapseClientError} />}\n {jsError && jsError.message}\n {stringError && stringError}\n </>\n }\n primaryButtonConfig={primaryButtonConfig}\n />\n )\n}\n\nexport function ErrorFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <div className=\"SRC-marginBottomTop\">\n <ErrorBanner\n error={error}\n reloadButtonFn={resetErrorBoundary}\n ></ErrorBanner>\n </div>\n )\n}\n\nexport function TableRowFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n return (\n <tr>\n <td colSpan={999}>\n <ErrorBanner error={error} reloadButtonFn={resetErrorBoundary} />\n </td>\n </tr>\n )\n}\n\n/**\n * This error boundary fallback component does not have a UI, it only outputs the error to console.error\n */\nexport function EmptyFallbackComponent({\n error,\n resetErrorBoundary,\n}: FallbackProps) {\n console.error(error)\n return <></>\n}\n\n/**\n * ErrorBoundary component that uses the default error fallback component, unless overridden.\n * Internally uses `react-error-boundary`.\n *\n * Use with {@link react-error-boundary#handleError | handleError}\n * @param props\n * @returns\n */\nexport const SynapseErrorBoundary = (\n props: PropsWithChildren<\n Optional<ErrorBoundaryPropsWithComponent, 'FallbackComponent'>\n >,\n): React.ReactNode => (\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent} {...props} />\n)\n"],"mappings":";;;;;;;;;AAoBA,IAAa,IACX,mDAEW,UAET,kBAAA,GAAA,EAAA,UAAA;CAAE;CACO,kBAAC,GAAD,CAAe,CAAA;CAAC;AACvB,EAAA,CAAA,GAIO,KAAe,MAEL;CACrB,IAAM,CAAC,GAAmB,KAAwB,EAAS,EAAK,GAC1D,EAAE,uBAAoB,EAAkB,GACxC,EAAE,aAAU,GACZ,KACH,EAAM,WAAW,OAAO,EAAM,WAAW,QAAQ,CAAC,GAC/C,IAAe,EAAM,WAAW,OAAO;CAmC3C,OAjCE,IACK,kBAAC,GAAD,CAAe,CAAA,IACb,IAEP,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAO,WAAU;EAAM,SAAS;YAAhC,CACE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,YAAY;GACd;aAEC;EACE,CAAA,GACL,kBAAC,GAAD;GACE,SAAQ;GACR,eAAe,GAAqB,MAAQ,CAAC,CAAI;aAFnD,CAIG,IAAoB,SAAS,QAAO,UAC/B;IACH;KACP,kBAAC,GAAD;EAAU,IAAI;YACZ,kBAAC,GAAD;GACE,IAAI,EACF,YAAY,EACd;aAEA,kBAAC,OAAD,EAAA,UAAM,EAAM,OAAY,CAAA;EACrB,CAAA;CACG,CAAA,CACV,EAAA,CAAA,IAGG,kBAAA,GAAA,EAAA,UAAG,EAAM,OAAS,CAAA;AAE7B,GAEa,KAAe,MAA6C;CACvE,IAAM,EAAE,UAAO,sBAAmB;CAElC,IAAI,CAAC,GACH,OAAO,kBAAA,GAAA,CAAI,CAAA;CAGb,IAAI,GACA,GACA;CACJ,AAAI,aAAiB,IACnB,IAAqB,IACZ,aAAiB,QAC1B,IAAU,IACD,OAAO,KAAU,aAC1B,IAAc;CAEhB,IAAM,IAAc,KAAsB,EAAmB,UAAU,KACnE;CAmBJ,OAjBI,IACF,IAAsB;EACpB,MAAM;EACN,eAAe;GACb,IAAM,IAAW,iGAAiG,UAChH,+BAA+B,GAAoB,QACrD;GACA,OAAO,KAAK,GAAU,QAAQ;EAChC;CACF,IACS,MACT,IAAsB;EACpB,MAAM;EACN,SAAS;CACX,IAIA,kBAAC,GAAD;EACE,SAAS;EACT,UAAU;EACV,aACE,kBAAA,GAAA,EAAA,UAAA;GACG,KAAsB,kBAAC,GAAD,EAAa,OAAO,EAAqB,CAAA;GAC/D,KAAW,EAAQ;GACnB,KAAe;EAChB,EAAA,CAAA;EAEiB;CACtB,CAAA;AAEL;AAEA,SAAgB,EAAuB,EACrC,UACA,yBACgB;CAChB,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GACS;GACP,gBAAgB;EACJ,CAAA;CACX,CAAA;AAET;AAEA,SAAgB,EAA0B,EACxC,UACA,yBACgB;CAChB,OACE,kBAAC,MAAD,EAAA,UACE,kBAAC,MAAD;EAAI,SAAS;YACX,kBAAC,GAAD;GAAoB;GAAO,gBAAgB;EAAqB,CAAA;CAC9D,CAAA,EACF,CAAA;AAER;AAKA,SAAgB,EAAuB,EACrC,UACA,yBACgB;CAEhB,OADA,QAAQ,MAAM,CAAK,GACZ,kBAAA,GAAA,CAAI,CAAA;AACb;AAUA,IAAa,KACX,MAIA,kBAAC,GAAD;CAAe,mBAAmB;CAAwB,GAAI;AAAQ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorChip.js","names":[],"sources":["../../../src/components/error/ErrorChip.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { ErrorOutlined, LockOutlined } from '@mui/icons-material'\nimport { Avatar, Chip, Tooltip } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { SignInPrompt, YOU_ARE_NOT_AUTHORIZED_MESSAGE } from './ErrorBanner'\n\nexport type ErrorChipProps = {\n chipText: string\n error: SynapseClientError\n}\n\n/**\n * A chip component for handling inline errors, where some information can be shown (e.g. an ID) without breaking an entire component.\n * @constructor\n */\nexport default function ErrorChip(props: ErrorChipProps) {\n const { chipText, error } = props\n const { isAuthenticated } = useSynapseContext()\n\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n const variant = loginError ? 'warning' : 'error'\n let avatar\n let icon\n if (loginError || accessDenied) {\n avatar = (\n <Avatar sx={{ bgcolor: `${variant}.main` }}>\n <LockOutlined sx={{ color: 'white', width: '18px' }} />\n </Avatar>\n )\n } else {\n icon = loginError || accessDenied ? undefined : <ErrorOutlined />\n }\n let tooltipText\n if (loginError) {\n tooltipText = <SignInPrompt />\n } else if (accessDenied) {\n tooltipText = YOU_ARE_NOT_AUTHORIZED_MESSAGE\n } else {\n tooltipText = error.reason\n }\n\n return (\n <Tooltip title={tooltipText}>\n <Chip\n avatar={avatar}\n color={variant}\n variant=\"outlined\"\n icon={icon}\n label={chipText}\n />\n </Tooltip>\n )\n}\n"],"mappings":";;;;;;AAeA,SAAwB,EAAU,GAAuB;CACvD,IAAM,EAAE,aAAU,aAAU,GACtB,EAAE,uBAAoB,GAAmB,EAEzC,KACH,EAAM,WAAW,OAAO,EAAM,WAAW,QAAQ,CAAC,GAC/C,IAAe,EAAM,WAAW,OAAO,GAEvC,IAAU,IAAa,YAAY,SACrC,GACA;AACJ,CAAI,KAAc,IAChB,IACE,kBAAC,GAAD;EAAQ,IAAI,EAAE,SAAS,GAAG,EAAQ,QAAQ;YACxC,kBAAC,GAAD,EAAc,IAAI;GAAE,OAAO;GAAS,OAAO;GAAQ,EAAI,CAAA;EAChD,CAAA,GAGX,IAAO,KAAc,IAAe,KAAA,IAAY,kBAAC,GAAD,EAAiB,CAAA;CAEnE,IAAI;AASJ,QARA,AAKE,IALE,IACY,kBAAC,GAAD,EAAgB,CAAA,GACrB,IACK,IAEA,EAAM,QAIpB,kBAAC,GAAD;EAAS,OAAO;YACd,kBAAC,GAAD;GACU;GACR,OAAO;GACP,SAAQ;GACF;GACN,OAAO;GACP,CAAA;EACM,CAAA"}
1
+ {"version":3,"file":"ErrorChip.js","names":[],"sources":["../../../src/components/error/ErrorChip.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { ErrorOutlined, LockOutlined } from '@mui/icons-material'\nimport { Avatar, Chip, Tooltip } from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { SignInPrompt, YOU_ARE_NOT_AUTHORIZED_MESSAGE } from './ErrorBanner'\n\nexport type ErrorChipProps = {\n chipText: string\n error: SynapseClientError\n}\n\n/**\n * A chip component for handling inline errors, where some information can be shown (e.g. an ID) without breaking an entire component.\n * @constructor\n */\nexport default function ErrorChip(props: ErrorChipProps) {\n const { chipText, error } = props\n const { isAuthenticated } = useSynapseContext()\n\n const loginError =\n (error.status === 403 || error.status === 401) && !isAuthenticated\n const accessDenied = error.status === 403 && isAuthenticated\n\n const variant = loginError ? 'warning' : 'error'\n let avatar\n let icon\n if (loginError || accessDenied) {\n avatar = (\n <Avatar sx={{ bgcolor: `${variant}.main` }}>\n <LockOutlined sx={{ color: 'white', width: '18px' }} />\n </Avatar>\n )\n } else {\n icon = loginError || accessDenied ? undefined : <ErrorOutlined />\n }\n let tooltipText\n if (loginError) {\n tooltipText = <SignInPrompt />\n } else if (accessDenied) {\n tooltipText = YOU_ARE_NOT_AUTHORIZED_MESSAGE\n } else {\n tooltipText = error.reason\n }\n\n return (\n <Tooltip title={tooltipText}>\n <Chip\n avatar={avatar}\n color={variant}\n variant=\"outlined\"\n icon={icon}\n label={chipText}\n />\n </Tooltip>\n )\n}\n"],"mappings":";;;;;;AAeA,SAAwB,EAAU,GAAuB;CACvD,IAAM,EAAE,aAAU,aAAU,GACtB,EAAE,uBAAoB,EAAkB,GAExC,KACH,EAAM,WAAW,OAAO,EAAM,WAAW,QAAQ,CAAC,GAC/C,IAAe,EAAM,WAAW,OAAO,GAEvC,IAAU,IAAa,YAAY,SACrC,GACA;CACJ,AAAI,KAAc,IAChB,IACE,kBAAC,GAAD;EAAQ,IAAI,EAAE,SAAS,GAAG,EAAQ,OAAO;YACvC,kBAAC,GAAD,EAAc,IAAI;GAAE,OAAO;GAAS,OAAO;EAAO,EAAI,CAAA;CAChD,CAAA,IAGV,IAAO,KAAc,IAAe,KAAA,IAAY,kBAAC,GAAD,CAAgB,CAAA;CAElE,IAAI;CASJ,OARA,AAKE,IALE,IACY,kBAAC,GAAD,CAAe,CAAA,IACpB,IACK,IAEA,EAAM,QAIpB,kBAAC,GAAD;EAAS,OAAO;YACd,kBAAC,GAAD;GACU;GACR,OAAO;GACP,SAAQ;GACF;GACN,OAAO;EACR,CAAA;CACM,CAAA;AAEb"}
@@ -14,50 +14,50 @@ var g = "Synapse is down for maintenance.", _ = "You don’t have permission to
14
14
  return e.DOWN = "DOWN", e.ACCESS_DENIED = "ACCESS_DENIED", e.NOT_FOUND = "NOT_FOUND", e;
15
15
  }({}), O = (e) => {
16
16
  switch (e) {
17
- case D.DOWN: return /* @__PURE__ */ p(t, {
17
+ case "DOWN": return /* @__PURE__ */ p(t, {
18
18
  role: "img",
19
19
  "aria-label": "Synapse is Down image",
20
- title: D.DOWN
20
+ title: "DOWN"
21
21
  });
22
- case D.ACCESS_DENIED: return /* @__PURE__ */ p(n, {
22
+ case "ACCESS_DENIED": return /* @__PURE__ */ p(n, {
23
23
  role: "img",
24
24
  "aria-label": "Access denied image",
25
- title: D.ACCESS_DENIED
25
+ title: "ACCESS_DENIED"
26
26
  });
27
- case D.NOT_FOUND: return /* @__PURE__ */ p(r, {
27
+ case "NOT_FOUND": return /* @__PURE__ */ p(r, {
28
28
  role: "img",
29
29
  "aria-label": "Resource not found image",
30
- title: D.NOT_FOUND
30
+ title: "NOT_FOUND"
31
31
  });
32
32
  default: return /* @__PURE__ */ p(f, {});
33
33
  }
34
34
  }, k = (e) => {
35
35
  switch (e) {
36
- case D.DOWN: return g;
37
- case D.ACCESS_DENIED: return _;
38
- case D.NOT_FOUND: return v;
36
+ case "DOWN": return g;
37
+ case "ACCESS_DENIED": return _;
38
+ case "NOT_FOUND": return v;
39
39
  default: return "";
40
40
  }
41
41
  };
42
42
  function A(t) {
43
- let { type: n, message: r, gotoPlace: g, id: _, version: v, objectType: x, portalId: E } = t, [A, j] = c(!1), { isAuthenticated: M } = e(), N = s(() => O(n), [n]), P = s(() => k(n), [n]), F = s(() => {
43
+ let { type: n, message: r, gotoPlace: g, id: _, version: v, objectType: x, portalId: E } = t, [D, A] = c(!1), { isAuthenticated: j } = e(), M = s(() => O(n), [n]), N = s(() => k(n), [n]), P = s(() => {
44
44
  let e = [];
45
45
  switch (n) {
46
- case D.ACCESS_DENIED:
47
- M ? e.push(C) : e.push(S);
46
+ case "ACCESS_DENIED":
47
+ j ? e.push(C) : e.push(S);
48
48
  break;
49
- case D.NOT_FOUND:
49
+ case "NOT_FOUND":
50
50
  e.push(w);
51
51
  break;
52
52
  }
53
53
  return r && e.push(r), e;
54
54
  }, [
55
55
  n,
56
- M,
56
+ j,
57
57
  r
58
- ]), I = s(() => {
58
+ ]), F = s(() => {
59
59
  let e = [];
60
- return n === D.ACCESS_DENIED && (M ? _ && e.push({
60
+ return n === "ACCESS_DENIED" && (j ? _ && e.push({
61
61
  linkText: b,
62
62
  onClick: () => window.open("https://sagebionetworks.jira.com/servicedesk/customer/portals", "_blank"),
63
63
  description: ""
@@ -68,10 +68,10 @@ function A(t) {
68
68
  })), e;
69
69
  }, [
70
70
  n,
71
- M,
71
+ j,
72
72
  _,
73
73
  g
74
- ]), L = o(() => j(!1), []);
74
+ ]), I = o(() => A(!1), []);
75
75
  return /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m(l, {
76
76
  sx: {
77
77
  display: {
@@ -96,7 +96,7 @@ function A(t) {
96
96
  pt: "50px",
97
97
  pb: "50px"
98
98
  },
99
- children: N
99
+ children: M
100
100
  }), /* @__PURE__ */ m(l, {
101
101
  sx: {
102
102
  justifySelf: "start",
@@ -117,13 +117,13 @@ function A(t) {
117
117
  fontWeight: 700,
118
118
  lineHeight: "36px"
119
119
  },
120
- children: P
120
+ children: N
121
121
  }),
122
- F.map((e) => /* @__PURE__ */ p(d, {
122
+ P.map((e) => /* @__PURE__ */ p(d, {
123
123
  variant: "body1",
124
124
  children: e
125
125
  }, e)),
126
- I.map((e) => {
126
+ F.map((e) => {
127
127
  let { onClick: t, linkText: n, description: r } = e;
128
128
  return /* @__PURE__ */ m(l, { children: [/* @__PURE__ */ p(u, {
129
129
  sx: { fontSize: "16px" },
@@ -143,8 +143,8 @@ function A(t) {
143
143
  ]
144
144
  })]
145
145
  }), _ && x === h.ENTITY && /* @__PURE__ */ p(a, {
146
- isOpen: A,
147
- onHide: L,
146
+ isOpen: D,
147
+ onHide: I,
148
148
  entityId: _
149
149
  })] });
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorPage.js","names":[],"sources":["../../../src/components/error/ErrorPage.tsx"],"sourcesContent":["import { ReactComponent as MaintenanceSvg } from '@/assets/icons/error_page/maintenance.svg'\nimport { ReactComponent as NoAccessSvg } from '@/assets/icons/error_page/no-access.svg'\nimport { ReactComponent as UnavailableSvg } from '@/assets/icons/error_page/unavailable.svg'\nimport { useSynapseContext } from '@/utils'\nimport { Box, Link, Typography } from '@mui/material'\nimport { useCallback, useMemo, useState } from 'react'\nimport SynapseObjectDOIInfo from './SynapseObjectDOIInfo'\nimport SendMessageToEntityOwnerDialog from './SendMessageToEntityOwnerDialog'\nimport { DoiObjectType } from '@sage-bionetworks/synapse-client/generated/models/DoiObjectType'\n\nexport type ErrorPageProps = {\n type: SynapseErrorType\n message?: string // custom message to report\n /** The ID of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n id?: string\n /** The version of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n version?: number\n /** The type of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n objectType?: DoiObjectType\n /** If on a portal that may mint DOIs, this portal ID may be used to find a DOI to show a 'tombstone' */\n portalId?: string\n\n gotoPlace: (href: string) => void\n}\n\nexport const SYNAPSE_DOWN_TITLE = 'Synapse is down for maintenance.'\nexport const ACCESS_DENIED_TITLE = 'You don’t have permission to view this.'\nexport const NOT_FOUND_TITLE = 'This page isn’t available.'\nexport const LOG_IN_LINK_TEXT = 'Log in to Synapse'\nexport const CONTACT_US_LINK_TEXT = 'Contact us for more information'\nexport const CONTACT_ADMIN_LINK_TEXT = 'Contact the Administrator'\nexport const ACCESS_DENIED_ANONYMOUS_MESSAGE =\n 'Try logging in. If you still see this message after logging in, you have not been granted access to view this resource.'\nexport const ACCESS_DENIED_MESSAGE =\n 'This account has not been granted access to view this resource.'\nexport const NOT_FOUND_MESSAGE =\n 'The link you followed may be broken, or the page may have been removed.'\nexport const ACCESS_DENIED_ANONYMOUS_ACTION_DESCRIPTION =\n 'A Synapse account is free, and lets you view public resources.'\nexport const ACCESS_DENIED_CONTACT_ADMIN_ACTION_DESCRIPTION =\n 'Write a message to the owner of the resource asking for permission to view.'\n\nexport enum SynapseErrorType {\n DOWN = 'DOWN',\n ACCESS_DENIED = 'ACCESS_DENIED',\n NOT_FOUND = 'NOT_FOUND',\n}\n\nconst getImage = (type: SynapseErrorType) => {\n switch (type) {\n case SynapseErrorType.DOWN:\n return (\n <MaintenanceSvg\n role=\"img\"\n aria-label=\"Synapse is Down image\"\n title={SynapseErrorType.DOWN}\n />\n )\n case SynapseErrorType.ACCESS_DENIED:\n return (\n <NoAccessSvg\n role=\"img\"\n aria-label=\"Access denied image\"\n title={SynapseErrorType.ACCESS_DENIED}\n />\n )\n case SynapseErrorType.NOT_FOUND:\n return (\n <UnavailableSvg\n role=\"img\"\n aria-label=\"Resource not found image\"\n title={SynapseErrorType.NOT_FOUND}\n />\n )\n default:\n return <></>\n }\n}\nconst getTitle = (type: SynapseErrorType) => {\n switch (type) {\n case SynapseErrorType.DOWN:\n return SYNAPSE_DOWN_TITLE\n case SynapseErrorType.ACCESS_DENIED:\n return ACCESS_DENIED_TITLE\n case SynapseErrorType.NOT_FOUND:\n return NOT_FOUND_TITLE\n default:\n return ''\n }\n}\n\ntype ErrorPageAction = {\n linkText: string\n onClick: () => void\n description: string\n}\n\nfunction ErrorPage(props: ErrorPageProps) {\n const { type, message, gotoPlace, id, version, objectType, portalId } = props\n const [isSendMessageToAdminDialogOpen, setSendMessageToAdminDialogOpen] =\n useState<boolean>(false)\n const { isAuthenticated } = useSynapseContext()\n const image = useMemo(() => getImage(type), [type])\n const title = useMemo(() => getTitle(type), [type])\n\n const messages = useMemo(() => {\n const msgs: string[] = []\n switch (type) {\n case SynapseErrorType.ACCESS_DENIED:\n if (!isAuthenticated) {\n msgs.push(ACCESS_DENIED_ANONYMOUS_MESSAGE)\n } else {\n msgs.push(ACCESS_DENIED_MESSAGE)\n }\n break\n case SynapseErrorType.NOT_FOUND:\n msgs.push(NOT_FOUND_MESSAGE)\n break\n }\n if (message) {\n msgs.push(message)\n }\n return msgs\n }, [type, isAuthenticated, message])\n\n const actions = useMemo(() => {\n const acts: ErrorPageAction[] = []\n if (type === SynapseErrorType.ACCESS_DENIED) {\n if (!isAuthenticated) {\n acts.push({\n linkText: LOG_IN_LINK_TEXT,\n onClick: () => gotoPlace('/LoginPlace:0'),\n description: ACCESS_DENIED_ANONYMOUS_ACTION_DESCRIPTION,\n })\n } else if (id) {\n acts.push({\n linkText: CONTACT_US_LINK_TEXT,\n onClick: () =>\n window.open(\n 'https://sagebionetworks.jira.com/servicedesk/customer/portals',\n '_blank',\n ),\n description: '',\n })\n // SWC-7073: Remove ability to send a message to the admins until we have a better option for the majority of the cases (service desk, contact emails, ...)\n // acts.push({\n // linkText: CONTACT_ADMIN_LINK_TEXT,\n // onClick: () => setSendMessageToAdminDialogOpen(true),\n // description: ACCESS_DENIED_CONTACT_ADMIN_ACTION_DESCRIPTION,\n // })\n }\n }\n return acts\n }, [type, isAuthenticated, id, gotoPlace])\n\n const handleCloseDialog = useCallback(\n () => setSendMessageToAdminDialogOpen(false),\n [],\n )\n return (\n <>\n <Box\n sx={{\n display: { xs: 'flex', lg: 'grid' },\n columnGap: '80px',\n flexDirection: { xs: 'column', lg: undefined },\n gridTemplateColumns: { lg: '40% 60%' },\n }}\n >\n <Box\n sx={{\n justifySelf: 'end',\n alignSelf: 'center',\n '& svg': {\n height: '360px',\n maxWidth: '300px',\n },\n pt: '50px',\n pb: '50px',\n }}\n >\n {image}\n </Box>\n <Box\n sx={{\n justifySelf: 'start',\n alignSelf: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: '20px',\n m: { xs: '15px', lg: undefined },\n mr: { lg: '100px' },\n }}\n >\n <Typography\n sx={{ fontSize: '30px', fontWeight: 700, lineHeight: '36px' }}\n >\n {title}\n </Typography>\n {messages.map(message => {\n return (\n <Typography variant=\"body1\" key={message}>\n {message}\n </Typography>\n )\n })}\n {actions.map(action => {\n const { onClick, linkText, description } = action\n return (\n <Box key={linkText}>\n <Link sx={{ fontSize: '16px' }} onClick={onClick}>\n {linkText}\n </Link>\n <Typography variant=\"body1\">{description}</Typography>\n </Box>\n )\n })}\n {id && objectType && (\n <SynapseObjectDOIInfo\n id={id}\n version={version}\n type={objectType}\n portalId={portalId}\n />\n )}\n </Box>\n </Box>\n {id && objectType === DoiObjectType.ENTITY && (\n <SendMessageToEntityOwnerDialog\n isOpen={isSendMessageToAdminDialogOpen}\n onHide={handleCloseDialog}\n entityId={id}\n />\n )}\n </>\n )\n}\n\nexport default ErrorPage\n"],"mappings":"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"}
1
+ {"version":3,"file":"ErrorPage.js","names":[],"sources":["../../../src/components/error/ErrorPage.tsx"],"sourcesContent":["import { ReactComponent as MaintenanceSvg } from '@/assets/icons/error_page/maintenance.svg'\nimport { ReactComponent as NoAccessSvg } from '@/assets/icons/error_page/no-access.svg'\nimport { ReactComponent as UnavailableSvg } from '@/assets/icons/error_page/unavailable.svg'\nimport { useSynapseContext } from '@/utils'\nimport { Box, Link, Typography } from '@mui/material'\nimport { useCallback, useMemo, useState } from 'react'\nimport SynapseObjectDOIInfo from './SynapseObjectDOIInfo'\nimport SendMessageToEntityOwnerDialog from './SendMessageToEntityOwnerDialog'\nimport { DoiObjectType } from '@sage-bionetworks/synapse-client/generated/models/DoiObjectType'\n\nexport type ErrorPageProps = {\n type: SynapseErrorType\n message?: string // custom message to report\n /** The ID of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n id?: string\n /** The version of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n version?: number\n /** The type of the object that was attempted to be retrieved, which may be used to show a 'tombstone' */\n objectType?: DoiObjectType\n /** If on a portal that may mint DOIs, this portal ID may be used to find a DOI to show a 'tombstone' */\n portalId?: string\n\n gotoPlace: (href: string) => void\n}\n\nexport const SYNAPSE_DOWN_TITLE = 'Synapse is down for maintenance.'\nexport const ACCESS_DENIED_TITLE = 'You don’t have permission to view this.'\nexport const NOT_FOUND_TITLE = 'This page isn’t available.'\nexport const LOG_IN_LINK_TEXT = 'Log in to Synapse'\nexport const CONTACT_US_LINK_TEXT = 'Contact us for more information'\nexport const CONTACT_ADMIN_LINK_TEXT = 'Contact the Administrator'\nexport const ACCESS_DENIED_ANONYMOUS_MESSAGE =\n 'Try logging in. If you still see this message after logging in, you have not been granted access to view this resource.'\nexport const ACCESS_DENIED_MESSAGE =\n 'This account has not been granted access to view this resource.'\nexport const NOT_FOUND_MESSAGE =\n 'The link you followed may be broken, or the page may have been removed.'\nexport const ACCESS_DENIED_ANONYMOUS_ACTION_DESCRIPTION =\n 'A Synapse account is free, and lets you view public resources.'\nexport const ACCESS_DENIED_CONTACT_ADMIN_ACTION_DESCRIPTION =\n 'Write a message to the owner of the resource asking for permission to view.'\n\nexport enum SynapseErrorType {\n DOWN = 'DOWN',\n ACCESS_DENIED = 'ACCESS_DENIED',\n NOT_FOUND = 'NOT_FOUND',\n}\n\nconst getImage = (type: SynapseErrorType) => {\n switch (type) {\n case SynapseErrorType.DOWN:\n return (\n <MaintenanceSvg\n role=\"img\"\n aria-label=\"Synapse is Down image\"\n title={SynapseErrorType.DOWN}\n />\n )\n case SynapseErrorType.ACCESS_DENIED:\n return (\n <NoAccessSvg\n role=\"img\"\n aria-label=\"Access denied image\"\n title={SynapseErrorType.ACCESS_DENIED}\n />\n )\n case SynapseErrorType.NOT_FOUND:\n return (\n <UnavailableSvg\n role=\"img\"\n aria-label=\"Resource not found image\"\n title={SynapseErrorType.NOT_FOUND}\n />\n )\n default:\n return <></>\n }\n}\nconst getTitle = (type: SynapseErrorType) => {\n switch (type) {\n case SynapseErrorType.DOWN:\n return SYNAPSE_DOWN_TITLE\n case SynapseErrorType.ACCESS_DENIED:\n return ACCESS_DENIED_TITLE\n case SynapseErrorType.NOT_FOUND:\n return NOT_FOUND_TITLE\n default:\n return ''\n }\n}\n\ntype ErrorPageAction = {\n linkText: string\n onClick: () => void\n description: string\n}\n\nfunction ErrorPage(props: ErrorPageProps) {\n const { type, message, gotoPlace, id, version, objectType, portalId } = props\n const [isSendMessageToAdminDialogOpen, setSendMessageToAdminDialogOpen] =\n useState<boolean>(false)\n const { isAuthenticated } = useSynapseContext()\n const image = useMemo(() => getImage(type), [type])\n const title = useMemo(() => getTitle(type), [type])\n\n const messages = useMemo(() => {\n const msgs: string[] = []\n switch (type) {\n case SynapseErrorType.ACCESS_DENIED:\n if (!isAuthenticated) {\n msgs.push(ACCESS_DENIED_ANONYMOUS_MESSAGE)\n } else {\n msgs.push(ACCESS_DENIED_MESSAGE)\n }\n break\n case SynapseErrorType.NOT_FOUND:\n msgs.push(NOT_FOUND_MESSAGE)\n break\n }\n if (message) {\n msgs.push(message)\n }\n return msgs\n }, [type, isAuthenticated, message])\n\n const actions = useMemo(() => {\n const acts: ErrorPageAction[] = []\n if (type === SynapseErrorType.ACCESS_DENIED) {\n if (!isAuthenticated) {\n acts.push({\n linkText: LOG_IN_LINK_TEXT,\n onClick: () => gotoPlace('/LoginPlace:0'),\n description: ACCESS_DENIED_ANONYMOUS_ACTION_DESCRIPTION,\n })\n } else if (id) {\n acts.push({\n linkText: CONTACT_US_LINK_TEXT,\n onClick: () =>\n window.open(\n 'https://sagebionetworks.jira.com/servicedesk/customer/portals',\n '_blank',\n ),\n description: '',\n })\n // SWC-7073: Remove ability to send a message to the admins until we have a better option for the majority of the cases (service desk, contact emails, ...)\n // acts.push({\n // linkText: CONTACT_ADMIN_LINK_TEXT,\n // onClick: () => setSendMessageToAdminDialogOpen(true),\n // description: ACCESS_DENIED_CONTACT_ADMIN_ACTION_DESCRIPTION,\n // })\n }\n }\n return acts\n }, [type, isAuthenticated, id, gotoPlace])\n\n const handleCloseDialog = useCallback(\n () => setSendMessageToAdminDialogOpen(false),\n [],\n )\n return (\n <>\n <Box\n sx={{\n display: { xs: 'flex', lg: 'grid' },\n columnGap: '80px',\n flexDirection: { xs: 'column', lg: undefined },\n gridTemplateColumns: { lg: '40% 60%' },\n }}\n >\n <Box\n sx={{\n justifySelf: 'end',\n alignSelf: 'center',\n '& svg': {\n height: '360px',\n maxWidth: '300px',\n },\n pt: '50px',\n pb: '50px',\n }}\n >\n {image}\n </Box>\n <Box\n sx={{\n justifySelf: 'start',\n alignSelf: 'center',\n display: 'flex',\n flexDirection: 'column',\n gap: '20px',\n m: { xs: '15px', lg: undefined },\n mr: { lg: '100px' },\n }}\n >\n <Typography\n sx={{ fontSize: '30px', fontWeight: 700, lineHeight: '36px' }}\n >\n {title}\n </Typography>\n {messages.map(message => {\n return (\n <Typography variant=\"body1\" key={message}>\n {message}\n </Typography>\n )\n })}\n {actions.map(action => {\n const { onClick, linkText, description } = action\n return (\n <Box key={linkText}>\n <Link sx={{ fontSize: '16px' }} onClick={onClick}>\n {linkText}\n </Link>\n <Typography variant=\"body1\">{description}</Typography>\n </Box>\n )\n })}\n {id && objectType && (\n <SynapseObjectDOIInfo\n id={id}\n version={version}\n type={objectType}\n portalId={portalId}\n />\n )}\n </Box>\n </Box>\n {id && objectType === DoiObjectType.ENTITY && (\n <SendMessageToEntityOwnerDialog\n isOpen={isSendMessageToAdminDialogOpen}\n onHide={handleCloseDialog}\n entityId={id}\n />\n )}\n </>\n )\n}\n\nexport default ErrorPage\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouteErrorBoundary.js","names":[],"sources":["../../../src/components/error/RouteErrorBoundary.tsx"],"sourcesContent":["import { Button, Collapse } from '@mui/material'\nimport { useState } from 'react'\nimport { useRouteError, isRouteErrorResponse } from 'react-router'\nimport styles from './RouteErrorBoundary.module.scss'\n\nexport type RouteErrorBoundaryProps = {\n icon?: string\n}\n\n/**\n * Error boundary component for React Router routes.\n * This component catches errors that occur during route loading or rendering,\n * including module initialization errors like circular dependencies.\n */\nexport function RouteErrorBoundary(props: RouteErrorBoundaryProps) {\n const { icon } = props\n const error = useRouteError()\n const [showDetails, setShowDetails] = useState(false)\n\n let errorMessage: string\n let errorDetails: string | undefined\n\n if (isRouteErrorResponse(error)) {\n errorMessage = `${error.status} ${error.statusText}`\n errorDetails = error.data?.message\n } else if (error instanceof Error) {\n errorMessage = error.message\n errorDetails = error.stack\n } else if (typeof error === 'string') {\n errorMessage = error\n } else {\n errorMessage = 'An unknown error occurred'\n }\n\n const handleReload = () => {\n window.location.reload()\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.errorBox}>\n {icon && <img src={icon} alt=\"Logo\" className={styles.icon} />}\n <h1 className={styles.errorTitle}>Something went wrong</h1>\n <p className={styles.errorMessage}>{errorMessage}</p>\n {errorDetails && (\n <div className={styles.detailsContainer}>\n <Button\n variant=\"text\"\n onClick={() => setShowDetails(!showDetails)}\n className={styles.detailsButton}\n >\n {showDetails ? 'Hide' : 'Show'} details\n </Button>\n <Collapse in={showDetails}>\n <div className={styles.detailsBox}>\n <pre className={styles.detailsText}>{errorDetails}</pre>\n </div>\n </Collapse>\n </div>\n )}\n <Button\n variant=\"contained\"\n onClick={handleReload}\n className={styles.reloadButton}\n >\n Reload Page\n </Button>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;AAcA,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EAAE,YAAS,GACX,IAAQ,GAAe,EACvB,CAAC,GAAa,KAAkB,EAAS,GAAM,EAEjD,GACA;AAkBJ,QAhBI,EAAqB,EAAM,IAC7B,IAAe,GAAG,EAAM,OAAO,GAAG,EAAM,cACxC,IAAe,EAAM,MAAM,WAClB,aAAiB,SAC1B,IAAe,EAAM,SACrB,IAAe,EAAM,SAIrB,IAHS,OAAO,KAAU,WACX,IAEA,6BAQf,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACG,KAAQ,kBAAC,OAAD;KAAK,KAAK;KAAM,KAAI;KAAO,WAAW,EAAO;KAAQ,CAAA;IAC9D,kBAAC,MAAD;KAAI,WAAW,EAAO;eAAY;KAAyB,CAAA;IAC3D,kBAAC,KAAD;KAAG,WAAW,EAAO;eAAe;KAAiB,CAAA;IACpD,KACC,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACE,kBAAC,GAAD;MACE,SAAQ;MACR,eAAe,EAAe,CAAC,EAAY;MAC3C,WAAW,EAAO;gBAHpB,CAKG,IAAc,SAAS,QAAO,WACxB;SACT,kBAAC,GAAD;MAAU,IAAI;gBACZ,kBAAC,OAAD;OAAK,WAAW,EAAO;iBACrB,kBAAC,OAAD;QAAK,WAAW,EAAO;kBAAc;QAAmB,CAAA;OACpD,CAAA;MACG,CAAA,CACP;;IAER,kBAAC,GAAD;KACE,SAAQ;KACR,eA5BmB;AACzB,aAAO,SAAS,QAAQ;;KA4BlB,WAAW,EAAO;eACnB;KAEQ,CAAA;IACL;;EACF,CAAA"}
1
+ {"version":3,"file":"RouteErrorBoundary.js","names":[],"sources":["../../../src/components/error/RouteErrorBoundary.tsx"],"sourcesContent":["import { Button, Collapse } from '@mui/material'\nimport { useState } from 'react'\nimport { useRouteError, isRouteErrorResponse } from 'react-router'\nimport styles from './RouteErrorBoundary.module.scss'\n\nexport type RouteErrorBoundaryProps = {\n icon?: string\n}\n\n/**\n * Error boundary component for React Router routes.\n * This component catches errors that occur during route loading or rendering,\n * including module initialization errors like circular dependencies.\n */\nexport function RouteErrorBoundary(props: RouteErrorBoundaryProps) {\n const { icon } = props\n const error = useRouteError()\n const [showDetails, setShowDetails] = useState(false)\n\n let errorMessage: string\n let errorDetails: string | undefined\n\n if (isRouteErrorResponse(error)) {\n errorMessage = `${error.status} ${error.statusText}`\n errorDetails = error.data?.message\n } else if (error instanceof Error) {\n errorMessage = error.message\n errorDetails = error.stack\n } else if (typeof error === 'string') {\n errorMessage = error\n } else {\n errorMessage = 'An unknown error occurred'\n }\n\n const handleReload = () => {\n window.location.reload()\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.errorBox}>\n {icon && <img src={icon} alt=\"Logo\" className={styles.icon} />}\n <h1 className={styles.errorTitle}>Something went wrong</h1>\n <p className={styles.errorMessage}>{errorMessage}</p>\n {errorDetails && (\n <div className={styles.detailsContainer}>\n <Button\n variant=\"text\"\n onClick={() => setShowDetails(!showDetails)}\n className={styles.detailsButton}\n >\n {showDetails ? 'Hide' : 'Show'} details\n </Button>\n <Collapse in={showDetails}>\n <div className={styles.detailsBox}>\n <pre className={styles.detailsText}>{errorDetails}</pre>\n </div>\n </Collapse>\n </div>\n )}\n <Button\n variant=\"contained\"\n onClick={handleReload}\n className={styles.reloadButton}\n >\n Reload Page\n </Button>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;AAcA,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EAAE,YAAS,GACX,IAAQ,EAAc,GACtB,CAAC,GAAa,KAAkB,EAAS,EAAK,GAEhD,GACA;CAkBJ,OAhBI,EAAqB,CAAK,KAC5B,IAAe,GAAG,EAAM,OAAO,GAAG,EAAM,cACxC,IAAe,EAAM,MAAM,WAClB,aAAiB,SAC1B,IAAe,EAAM,SACrB,IAAe,EAAM,SAChB,AAGL,IAHS,OAAO,KAAU,WACX,IAEA,6BAQf,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACG,KAAQ,kBAAC,OAAD;KAAK,KAAK;KAAM,KAAI;KAAO,WAAW,EAAO;IAAO,CAAA;IAC7D,kBAAC,MAAD;KAAI,WAAW,EAAO;eAAY;IAAwB,CAAA;IAC1D,kBAAC,KAAD;KAAG,WAAW,EAAO;eAAe;IAAgB,CAAA;IACnD,KACC,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACE,kBAAC,GAAD;MACE,SAAQ;MACR,eAAe,EAAe,CAAC,CAAW;MAC1C,WAAW,EAAO;gBAHpB,CAKG,IAAc,SAAS,QAAO,UACzB;SACR,kBAAC,GAAD;MAAU,IAAI;gBACZ,kBAAC,OAAD;OAAK,WAAW,EAAO;iBACrB,kBAAC,OAAD;QAAK,WAAW,EAAO;kBAAc;OAAkB,CAAA;MACpD,CAAA;KACG,CAAA,CACP;;IAEP,kBAAC,GAAD;KACE,SAAQ;KACR,eA5BmB;MACzB,OAAO,SAAS,OAAO;KACzB;KA2BQ,WAAW,EAAO;eACnB;IAEO,CAAA;GACL;;CACF,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"SendMessageToEntityOwnerDialog.js","names":[],"sources":["../../../src/components/error/SendMessageToEntityOwnerDialog.tsx"],"sourcesContent":["import {\n useGetCurrentUserProfile,\n useSendMessageToEntityOwner,\n} from '@/synapse-queries'\nimport { TextField, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport { displayToast } from '../ToastMessage'\n\nexport const CONTACT_ADMIN_DIALOG_TITLE = 'Contact the Administrator'\n\nexport type SendMessageToEntityOwnerDialogProps = {\n isOpen: boolean\n entityId: string\n onHide: () => void\n}\n\nexport default function SendMessageToEntityOwnerDialog(\n props: SendMessageToEntityOwnerDialogProps,\n) {\n const { onHide, entityId, isOpen } = props\n const [message, setMessage] = useState<string>('')\n const { data: currentUserProfile, isLoading: isLoadingCurrentUserProfile } =\n useGetCurrentUserProfile()\n const { mutate: sendMessage } = useSendMessageToEntityOwner({\n onSuccess: () => {\n onHide()\n setMessage('')\n displayToast('Message successfully sent')\n },\n onError: error => {\n displayToast(`Message could not be sent: ${error.reason}`, 'danger')\n },\n })\n const onSendMessage = useCallback(() => {\n if (isLoadingCurrentUserProfile) {\n console.error(\n 'Attempted to send message before user profile was loaded. This should never happen.',\n )\n return\n }\n if (!currentUserProfile) {\n console.error(\n 'Attempted to send message without a user profile. This should never happen.',\n )\n return\n }\n const { firstName, lastName, userName } = currentUserProfile\n sendMessage({\n entityId,\n subject: `${firstName} ${lastName} (@${userName}) Requested Access to ${entityId}`,\n body: `Requesting access to https://www.synapse.org/Synapse:${entityId}\\n\\n${message}`,\n })\n }, [message, currentUserProfile, sendMessage])\n return (\n <ConfirmationDialog\n maxWidth=\"md\"\n open={isOpen}\n title={CONTACT_ADMIN_DIALOG_TITLE}\n content={\n <>\n <Typography variant={'body1'}>\n Please explain in your message why you believe you should be given\n VIEW access to the requested resource.\n </Typography>\n <Typography variant={'body1'}>\n Your message will be sent to the administrator. Your real email\n address, and the real email address of the administrator, will be\n hidden.\n </Typography>\n <Typography variant={'body1'}>\n Granting access to this resource is at the discretion of the\n resource administrator. The operators of this website (Sage\n Bionetworks) cannot grant access on their behalf.\n </Typography>\n <TextField\n fullWidth\n margin=\"normal\"\n label=\"Text of your message\"\n id=\"messageText\"\n name=\"messageText\"\n multiline\n rows={5}\n onChange={e => setMessage(e.target.value)}\n value={message}\n />\n </>\n }\n onCancel={onHide}\n onConfirm={onSendMessage}\n confirmButtonProps={{\n children: 'Send',\n disabled: !message,\n }}\n />\n )\n}\n"],"mappings":";;;;;;;;;;AASA,IAAa,IAA6B;AAQ1C,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,WAAQ,aAAU,cAAW,GAC/B,CAAC,GAAS,KAAc,EAAiB,GAAG,EAC5C,EAAE,MAAM,GAAoB,WAAW,MAC3C,GAA0B,EACtB,EAAE,QAAQ,MAAgB,EAA4B;EAC1D,iBAAiB;AAGf,GAFA,GAAQ,EACR,EAAW,GAAG,EACd,EAAa,4BAA4B;;EAE3C,UAAS,MAAS;AAChB,KAAa,8BAA8B,EAAM,UAAU,SAAS;;EAEvE,CAAC,EACI,IAAgB,QAAkB;AACtC,MAAI,GAA6B;AAC/B,WAAQ,MACN,sFACD;AACD;;AAEF,MAAI,CAAC,GAAoB;AACvB,WAAQ,MACN,8EACD;AACD;;EAEF,IAAM,EAAE,cAAW,aAAU,gBAAa;AAC1C,IAAY;GACV;GACA,SAAS,GAAG,EAAU,GAAG,EAAS,KAAK,EAAS,wBAAwB;GACxE,MAAM,wDAAwD,EAAS,MAAM;GAC9E,CAAC;IACD;EAAC;EAAS;EAAoB;EAAY,CAAC;AAC9C,QACE,kBAAC,GAAD;EACE,UAAS;EACT,MAAM;EACN,OAAO;EACP,SACE,kBAAA,GAAA,EAAA,UAAA;GACE,kBAAC,GAAD;IAAY,SAAS;cAAS;IAGjB,CAAA;GACb,kBAAC,GAAD;IAAY,SAAS;cAAS;IAIjB,CAAA;GACb,kBAAC,GAAD;IAAY,SAAS;cAAS;IAIjB,CAAA;GACb,kBAAC,GAAD;IACE,WAAA;IACA,QAAO;IACP,OAAM;IACN,IAAG;IACH,MAAK;IACL,WAAA;IACA,MAAM;IACN,WAAU,MAAK,EAAW,EAAE,OAAO,MAAM;IACzC,OAAO;IACP,CAAA;GACD,EAAA,CAAA;EAEL,UAAU;EACV,WAAW;EACX,oBAAoB;GAClB,UAAU;GACV,UAAU,CAAC;GACZ;EACD,CAAA"}
1
+ {"version":3,"file":"SendMessageToEntityOwnerDialog.js","names":[],"sources":["../../../src/components/error/SendMessageToEntityOwnerDialog.tsx"],"sourcesContent":["import {\n useGetCurrentUserProfile,\n useSendMessageToEntityOwner,\n} from '@/synapse-queries'\nimport { TextField, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport { displayToast } from '../ToastMessage'\n\nexport const CONTACT_ADMIN_DIALOG_TITLE = 'Contact the Administrator'\n\nexport type SendMessageToEntityOwnerDialogProps = {\n isOpen: boolean\n entityId: string\n onHide: () => void\n}\n\nexport default function SendMessageToEntityOwnerDialog(\n props: SendMessageToEntityOwnerDialogProps,\n) {\n const { onHide, entityId, isOpen } = props\n const [message, setMessage] = useState<string>('')\n const { data: currentUserProfile, isLoading: isLoadingCurrentUserProfile } =\n useGetCurrentUserProfile()\n const { mutate: sendMessage } = useSendMessageToEntityOwner({\n onSuccess: () => {\n onHide()\n setMessage('')\n displayToast('Message successfully sent')\n },\n onError: error => {\n displayToast(`Message could not be sent: ${error.reason}`, 'danger')\n },\n })\n const onSendMessage = useCallback(() => {\n if (isLoadingCurrentUserProfile) {\n console.error(\n 'Attempted to send message before user profile was loaded. This should never happen.',\n )\n return\n }\n if (!currentUserProfile) {\n console.error(\n 'Attempted to send message without a user profile. This should never happen.',\n )\n return\n }\n const { firstName, lastName, userName } = currentUserProfile\n sendMessage({\n entityId,\n subject: `${firstName} ${lastName} (@${userName}) Requested Access to ${entityId}`,\n body: `Requesting access to https://www.synapse.org/Synapse:${entityId}\\n\\n${message}`,\n })\n }, [message, currentUserProfile, sendMessage])\n return (\n <ConfirmationDialog\n maxWidth=\"md\"\n open={isOpen}\n title={CONTACT_ADMIN_DIALOG_TITLE}\n content={\n <>\n <Typography variant={'body1'}>\n Please explain in your message why you believe you should be given\n VIEW access to the requested resource.\n </Typography>\n <Typography variant={'body1'}>\n Your message will be sent to the administrator. Your real email\n address, and the real email address of the administrator, will be\n hidden.\n </Typography>\n <Typography variant={'body1'}>\n Granting access to this resource is at the discretion of the\n resource administrator. The operators of this website (Sage\n Bionetworks) cannot grant access on their behalf.\n </Typography>\n <TextField\n fullWidth\n margin=\"normal\"\n label=\"Text of your message\"\n id=\"messageText\"\n name=\"messageText\"\n multiline\n rows={5}\n onChange={e => setMessage(e.target.value)}\n value={message}\n />\n </>\n }\n onCancel={onHide}\n onConfirm={onSendMessage}\n confirmButtonProps={{\n children: 'Send',\n disabled: !message,\n }}\n />\n )\n}\n"],"mappings":";;;;;;;;;;AASA,IAAa,IAA6B;AAQ1C,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,WAAQ,aAAU,cAAW,GAC/B,CAAC,GAAS,KAAc,EAAiB,EAAE,GAC3C,EAAE,MAAM,GAAoB,WAAW,MAC3C,EAAyB,GACrB,EAAE,QAAQ,MAAgB,EAA4B;EAC1D,iBAAiB;GAGf,AAFA,EAAO,GACP,EAAW,EAAE,GACb,EAAa,2BAA2B;EAC1C;EACA,UAAS,MAAS;GAChB,EAAa,8BAA8B,EAAM,UAAU,QAAQ;EACrE;CACF,CAAC,GACK,IAAgB,QAAkB;EACtC,IAAI,GAA6B;GAC/B,QAAQ,MACN,qFACF;GACA;EACF;EACA,IAAI,CAAC,GAAoB;GACvB,QAAQ,MACN,6EACF;GACA;EACF;EACA,IAAM,EAAE,cAAW,aAAU,gBAAa;EAC1C,EAAY;GACV;GACA,SAAS,GAAG,EAAU,GAAG,EAAS,KAAK,EAAS,wBAAwB;GACxE,MAAM,wDAAwD,EAAS,MAAM;EAC/E,CAAC;CACH,GAAG;EAAC;EAAS;EAAoB;CAAW,CAAC;CAC7C,OACE,kBAAC,GAAD;EACE,UAAS;EACT,MAAM;EACN,OAAO;EACP,SACE,kBAAA,GAAA,EAAA,UAAA;GACE,kBAAC,GAAD;IAAY,SAAS;cAAS;GAGlB,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAS;cAAS;GAIlB,CAAA;GACZ,kBAAC,GAAD;IAAY,SAAS;cAAS;GAIlB,CAAA;GACZ,kBAAC,GAAD;IACE,WAAA;IACA,QAAO;IACP,OAAM;IACN,IAAG;IACH,MAAK;IACL,WAAA;IACA,MAAM;IACN,WAAU,MAAK,EAAW,EAAE,OAAO,KAAK;IACxC,OAAO;GACR,CAAA;EACD,EAAA,CAAA;EAEJ,UAAU;EACV,WAAW;EACX,oBAAoB;GAClB,UAAU;GACV,UAAU,CAAC;EACb;CACD,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseObjectDOIInfo.js","names":[],"sources":["../../../src/components/error/SynapseObjectDOIInfo.tsx"],"sourcesContent":["import { useGetDOI } from '@/synapse-queries/doi/useDOI'\nimport { Box, Typography } from '@mui/material'\nimport { DoiObjectType } from '@sage-bionetworks/synapse-client'\n\nexport type SynapseObjectDOIInfoProps = {\n id: string\n type: DoiObjectType\n version?: number\n portalId?: string\n}\n\nexport default function SynapseObjectDOIInfo(props: SynapseObjectDOIInfoProps) {\n const { id, version, type, portalId } = props\n const { data: doi } = useGetDOI(\n { id, version, type, portalId },\n {\n enabled: !!id,\n },\n )\n if (!doi) {\n return <></>\n }\n return (\n <Box\n sx={{\n backgroundColor: 'tertiary.100',\n borderRadius: '3px',\n p: '20px',\n display: 'flex',\n flexDirection: 'column',\n gap: '20px',\n }}\n >\n <Typography variant=\"body1\" sx={{ fontWeight: 700 }}>\n Requested resource\n </Typography>\n <Box>\n <Typography variant=\"body1\">\n {doi.creators?.map(doiCreator => doiCreator.creatorName).join(', & ')}{' '}\n ({doi.publicationYear}).{' '}\n {doi.titles?.map(doiTitle => `${doiTitle.title}.`)} Synapse.\n https://doi.org/{doi.doiUri}\n </Typography>\n </Box>\n </Box>\n )\n}\n"],"mappings":";;;;AAWA,SAAwB,EAAqB,GAAkC;CAC7E,IAAM,EAAE,OAAI,YAAS,SAAM,gBAAa,GAClC,EAAE,MAAM,MAAQ,EACpB;EAAE;EAAI;EAAS;EAAM;EAAU,EAC/B,EACE,SAAS,CAAC,CAAC,GACZ,CACF;AAID,QAHK,IAIH,kBAAC,GAAD;EACE,IAAI;GACF,iBAAiB;GACjB,cAAc;GACd,GAAG;GACH,SAAS;GACT,eAAe;GACf,KAAK;GACN;YARH,CAUE,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,YAAY,KAAK;aAAE;GAExC,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAY,SAAQ;aAApB;IACG,EAAI,UAAU,KAAI,MAAc,EAAW,YAAY,CAAC,KAAK,OAAO;IAAE;IAAI;IACzE,EAAI;IAAgB;IAAG;IACxB,EAAI,QAAQ,KAAI,MAAY,GAAG,EAAS,MAAM,GAAG;IAAC;IAClC,EAAI;IACV;MACT,CAAA,CACF;MAxBC,kBAAA,GAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"SynapseObjectDOIInfo.js","names":[],"sources":["../../../src/components/error/SynapseObjectDOIInfo.tsx"],"sourcesContent":["import { useGetDOI } from '@/synapse-queries/doi/useDOI'\nimport { Box, Typography } from '@mui/material'\nimport { DoiObjectType } from '@sage-bionetworks/synapse-client'\n\nexport type SynapseObjectDOIInfoProps = {\n id: string\n type: DoiObjectType\n version?: number\n portalId?: string\n}\n\nexport default function SynapseObjectDOIInfo(props: SynapseObjectDOIInfoProps) {\n const { id, version, type, portalId } = props\n const { data: doi } = useGetDOI(\n { id, version, type, portalId },\n {\n enabled: !!id,\n },\n )\n if (!doi) {\n return <></>\n }\n return (\n <Box\n sx={{\n backgroundColor: 'tertiary.100',\n borderRadius: '3px',\n p: '20px',\n display: 'flex',\n flexDirection: 'column',\n gap: '20px',\n }}\n >\n <Typography variant=\"body1\" sx={{ fontWeight: 700 }}>\n Requested resource\n </Typography>\n <Box>\n <Typography variant=\"body1\">\n {doi.creators?.map(doiCreator => doiCreator.creatorName).join(', & ')}{' '}\n ({doi.publicationYear}).{' '}\n {doi.titles?.map(doiTitle => `${doiTitle.title}.`)} Synapse.\n https://doi.org/{doi.doiUri}\n </Typography>\n </Box>\n </Box>\n )\n}\n"],"mappings":";;;;AAWA,SAAwB,EAAqB,GAAkC;CAC7E,IAAM,EAAE,OAAI,YAAS,SAAM,gBAAa,GAClC,EAAE,MAAM,MAAQ,EACpB;EAAE;EAAI;EAAS;EAAM;CAAS,GAC9B,EACE,SAAS,CAAC,CAAC,EACb,CACF;CAIA,OAHK,IAIH,kBAAC,GAAD;EACE,IAAI;GACF,iBAAiB;GACjB,cAAc;GACd,GAAG;GACH,SAAS;GACT,eAAe;GACf,KAAK;EACP;YARF,CAUE,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,YAAY,IAAI;aAAG;EAEzC,CAAA,GACZ,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;GAAY,SAAQ;aAApB;IACG,EAAI,UAAU,KAAI,MAAc,EAAW,WAAW,EAAE,KAAK,MAAM;IAAG;IAAI;IACzE,EAAI;IAAgB;IAAG;IACxB,EAAI,QAAQ,KAAI,MAAY,GAAG,EAAS,MAAM,EAAE;IAAE;IAClC,EAAI;GACX;KACT,CAAA,CACF;MAxBE,kBAAA,GAAA,CAAI,CAAA;AA0Bf"}
@@ -1 +1 @@
1
- {"version":3,"file":"FavoriteButton.js","names":[],"sources":["../../../src/components/favorites/FavoriteButton.tsx"],"sourcesContent":["import ConditionalWrapper from '@/components/utils/ConditionalWrapper'\nimport {\n useAddFavorite,\n useIsFavorite,\n useRemoveFavorite,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { IconButton, Skeleton, Tooltip } from '@mui/material'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type FavoriteButtonProps = {\n /* The entity for which to show a favorite button */\n entityId: string\n}\n\n/**\n * Renders a button that indicates if an entity is favorited by the logged-in user. When clicked, the entity is\n * added to/removed from their favorites\n */\nexport default function FavoriteButton(props: FavoriteButtonProps) {\n const { entityId } = props\n const { isAuthenticated } = useSynapseContext()\n const { isFavorite, isLoading } = useIsFavorite(entityId)\n const { mutate: onAddFavorite, isPending: isAddingFavorite } =\n useAddFavorite()\n const { mutate: onRemoveFavorite, isPending: isRemovingFavorite } =\n useRemoveFavorite()\n\n const disableButton =\n isLoading || isAddingFavorite || isRemovingFavorite || !isAuthenticated\n\n let tooltipText = 'Add to Favorites'\n if (!isAuthenticated) {\n tooltipText = 'Sign in to add this to your favorites'\n } else if (isFavorite) {\n tooltipText = 'Remove from Favorites'\n }\n return (\n <ConditionalWrapper condition={isLoading} wrapper={Skeleton}>\n <Tooltip title={tooltipText} placement={'top'}>\n <span>\n <IconButton\n size={'small'}\n disabled={disableButton}\n onClick={() => {\n if (isFavorite) {\n onRemoveFavorite(entityId)\n } else {\n onAddFavorite(entityId)\n }\n }}\n sx={{ padding: '2px' }}\n >\n <IconSvg\n icon={isFavorite ? 'fav' : 'favOutline'}\n sx={{\n color: 'tertiary.main',\n width: '21px',\n height: '21px',\n }}\n wrap={false}\n />\n </IconButton>\n </span>\n </Tooltip>\n </ConditionalWrapper>\n )\n}\n"],"mappings":";;;;;;;;AAmBA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EAAE,gBAAa,GACf,EAAE,uBAAoB,GAAmB,EACzC,EAAE,eAAY,iBAAc,EAAc,EAAS,EACnD,EAAE,QAAQ,GAAe,WAAW,MACxC,GAAgB,EACZ,EAAE,QAAQ,GAAkB,WAAW,MAC3C,GAAmB,EAEf,IACJ,KAAa,KAAoB,KAAsB,CAAC,GAEtD,IAAc;AAMlB,QALK,IAEM,MACT,IAAc,2BAFd,IAAc,yCAKd,kBAAC,GAAD;EAAoB,WAAW;EAAW,SAAS;YACjD,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAW;aACtC,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IACE,MAAM;IACN,UAAU;IACV,eAAe;AACb,KAAI,IACF,EAAiB,EAAS,GAE1B,EAAc,EAAS;;IAG3B,IAAI,EAAE,SAAS,OAAO;cAEtB,kBAAC,GAAD;KACE,MAAM,IAAa,QAAQ;KAC3B,IAAI;MACF,OAAO;MACP,OAAO;MACP,QAAQ;MACT;KACD,MAAM;KACN,CAAA;IACS,CAAA,EACR,CAAA;GACC,CAAA;EACS,CAAA"}
1
+ {"version":3,"file":"FavoriteButton.js","names":[],"sources":["../../../src/components/favorites/FavoriteButton.tsx"],"sourcesContent":["import ConditionalWrapper from '@/components/utils/ConditionalWrapper'\nimport {\n useAddFavorite,\n useIsFavorite,\n useRemoveFavorite,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { IconButton, Skeleton, Tooltip } from '@mui/material'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type FavoriteButtonProps = {\n /* The entity for which to show a favorite button */\n entityId: string\n}\n\n/**\n * Renders a button that indicates if an entity is favorited by the logged-in user. When clicked, the entity is\n * added to/removed from their favorites\n */\nexport default function FavoriteButton(props: FavoriteButtonProps) {\n const { entityId } = props\n const { isAuthenticated } = useSynapseContext()\n const { isFavorite, isLoading } = useIsFavorite(entityId)\n const { mutate: onAddFavorite, isPending: isAddingFavorite } =\n useAddFavorite()\n const { mutate: onRemoveFavorite, isPending: isRemovingFavorite } =\n useRemoveFavorite()\n\n const disableButton =\n isLoading || isAddingFavorite || isRemovingFavorite || !isAuthenticated\n\n let tooltipText = 'Add to Favorites'\n if (!isAuthenticated) {\n tooltipText = 'Sign in to add this to your favorites'\n } else if (isFavorite) {\n tooltipText = 'Remove from Favorites'\n }\n return (\n <ConditionalWrapper condition={isLoading} wrapper={Skeleton}>\n <Tooltip title={tooltipText} placement={'top'}>\n <span>\n <IconButton\n size={'small'}\n disabled={disableButton}\n onClick={() => {\n if (isFavorite) {\n onRemoveFavorite(entityId)\n } else {\n onAddFavorite(entityId)\n }\n }}\n sx={{ padding: '2px' }}\n >\n <IconSvg\n icon={isFavorite ? 'fav' : 'favOutline'}\n sx={{\n color: 'tertiary.main',\n width: '21px',\n height: '21px',\n }}\n wrap={false}\n />\n </IconButton>\n </span>\n </Tooltip>\n </ConditionalWrapper>\n )\n}\n"],"mappings":";;;;;;;;AAmBA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EAAE,gBAAa,GACf,EAAE,uBAAoB,EAAkB,GACxC,EAAE,eAAY,iBAAc,EAAc,CAAQ,GAClD,EAAE,QAAQ,GAAe,WAAW,MACxC,EAAe,GACX,EAAE,QAAQ,GAAkB,WAAW,MAC3C,EAAkB,GAEd,IACJ,KAAa,KAAoB,KAAsB,CAAC,GAEtD,IAAc;CAMlB,OALK,IAEM,MACT,IAAc,2BAFd,IAAc,yCAKd,kBAAC,GAAD;EAAoB,WAAW;EAAW,SAAS;YACjD,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAW;aACtC,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;IACE,MAAM;IACN,UAAU;IACV,eAAe;KACb,AAAI,IACF,EAAiB,CAAQ,IAEzB,EAAc,CAAQ;IAE1B;IACA,IAAI,EAAE,SAAS,MAAM;cAErB,kBAAC,GAAD;KACE,MAAM,IAAa,QAAQ;KAC3B,IAAI;MACF,OAAO;MACP,OAAO;MACP,QAAQ;KACV;KACA,MAAM;IACP,CAAA;GACS,CAAA,EACR,CAAA;EACC,CAAA;CACS,CAAA;AAExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FavoritesPage.js","names":[],"sources":["../../../src/components/favorites/FavoritesPage.tsx"],"sourcesContent":["import NoSearchResults from '@/assets/icons/NoSearchResults'\nimport { useGetFavorites } from '@/synapse-queries/user/useFavorites'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { InputAdornment, Stack, TextField } from '@mui/material'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport FavoriteButton from './FavoriteButton'\n\n// Local types used for client-side sorting\nexport type SortField = 'name' | 'type'\nexport type SortDirection = 'ASC' | 'DESC'\nexport type Sort = {\n field: SortField\n direction: SortDirection\n}\n\nconst columnHelper = createColumnHelper<EntityHeader>()\n\nconst columns = [\n columnHelper.display({\n id: 'removeFavorite',\n cell: ctx => <FavoriteButton entityId={ctx.row.original.id} />,\n size: 60,\n enableResizing: false,\n meta: {\n textAlign: 'center',\n },\n }),\n columnHelper.accessor('name', {\n cell: ctx => (\n <a\n rel=\"noopener noreferrer\"\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${ctx.row.original.id}`}\n >\n {ctx.row.original.name}\n </a>\n ),\n enableGlobalFilter: true,\n header: props => <ColumnHeader {...props} title={'Name'} />,\n size: 400,\n enableColumnFilter: false,\n sortingFn: 'alphanumeric',\n enableSorting: true,\n }),\n columnHelper.accessor('type', {\n cell: ctx => {\n const entityType = convertToEntityType(ctx.row.original.type)\n return (\n <>\n <EntityTypeIcon type={entityType} style={{ marginRight: '5px' }} />\n {entityTypeToFriendlyName(entityType)}\n </>\n )\n },\n header: props => <ColumnHeader {...props} title={'Type'} />,\n size: 160,\n enableGlobalFilter: false,\n sortingFn: 'alphanumeric',\n filterFn: 'arrIncludes',\n meta: {\n enableMultipleSelect: true,\n filterVariant: 'enumeration',\n getDisplayText: value =>\n entityTypeToFriendlyName(convertToEntityType(value)),\n },\n enableSorting: true,\n }),\n]\n\nexport default function FavoritesPage() {\n const { isAuthenticated } = useSynapseContext()\n const [searchText, setSearchText] = useState<string>('')\n const [error, setError] = useState<Error>()\n const { data, isLoading, isError, error: newError } = useGetFavorites()\n\n const favorites = useMemo(() => data ?? [], [data])\n\n const favoritesTable = useReactTable<EntityHeader>({\n data: favorites,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n globalFilterFn: 'includesString',\n state: {\n globalFilter: searchText,\n },\n columnResizeMode: 'onChange',\n })\n\n useEffect(() => {\n if (isError && newError) {\n setError(newError)\n }\n }, [isError, newError])\n\n useEffect(() => {\n if (!isAuthenticated) {\n setError(new Error('Please sign in to access your favorites.'))\n } else {\n setError(undefined)\n }\n }, [isAuthenticated])\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n\n const hasFavoritesMatchingQuery = favoritesTable.getRowModel().rows.length > 0\n\n return (\n <div className=\"FavoritesPage\">\n <TextField\n type=\"search\"\n placeholder=\"Favorite Name\"\n value={searchText}\n onChange={event => {\n setSearchText(event.target.value)\n }}\n fullWidth\n sx={{ mb: 4, maxWidth: '800px' }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"search\" wrap={false} />\n </InputAdornment>\n ),\n },\n }}\n />\n <StyledTanStackTable table={favoritesTable} fullWidth={false} />\n {!hasFavoritesMatchingQuery && !isLoading && (\n <Stack\n sx={{\n my: 2,\n gap: 1,\n textAlign: 'center',\n }}\n >\n <NoSearchResults height={'150px'} />\n {data?.length == 0 ? (\n <p>You currently have no favorites</p>\n ) : (\n <p>No matching favorites found</p>\n )}\n </Stack>\n )}\n\n {isLoading && (\n <div className=\"placeholder\">\n <SynapseSpinner size={30} />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FavoritesPage.js","names":[],"sources":["../../../src/components/favorites/FavoritesPage.tsx"],"sourcesContent":["import NoSearchResults from '@/assets/icons/NoSearchResults'\nimport { useGetFavorites } from '@/synapse-queries/user/useFavorites'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport { PRODUCTION_ENDPOINT_CONFIG } from '@/utils/functions/getEndpoint'\nimport { InputAdornment, Stack, TextField } from '@mui/material'\nimport { EntityHeader } from '@sage-bionetworks/synapse-types'\nimport {\n createColumnHelper,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { EntityTypeIcon } from '../EntityIcon'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport FavoriteButton from './FavoriteButton'\n\n// Local types used for client-side sorting\nexport type SortField = 'name' | 'type'\nexport type SortDirection = 'ASC' | 'DESC'\nexport type Sort = {\n field: SortField\n direction: SortDirection\n}\n\nconst columnHelper = createColumnHelper<EntityHeader>()\n\nconst columns = [\n columnHelper.display({\n id: 'removeFavorite',\n cell: ctx => <FavoriteButton entityId={ctx.row.original.id} />,\n size: 60,\n enableResizing: false,\n meta: {\n textAlign: 'center',\n },\n }),\n columnHelper.accessor('name', {\n cell: ctx => (\n <a\n rel=\"noopener noreferrer\"\n href={`${PRODUCTION_ENDPOINT_CONFIG.PORTAL}Synapse:${ctx.row.original.id}`}\n >\n {ctx.row.original.name}\n </a>\n ),\n enableGlobalFilter: true,\n header: props => <ColumnHeader {...props} title={'Name'} />,\n size: 400,\n enableColumnFilter: false,\n sortingFn: 'alphanumeric',\n enableSorting: true,\n }),\n columnHelper.accessor('type', {\n cell: ctx => {\n const entityType = convertToEntityType(ctx.row.original.type)\n return (\n <>\n <EntityTypeIcon type={entityType} style={{ marginRight: '5px' }} />\n {entityTypeToFriendlyName(entityType)}\n </>\n )\n },\n header: props => <ColumnHeader {...props} title={'Type'} />,\n size: 160,\n enableGlobalFilter: false,\n sortingFn: 'alphanumeric',\n filterFn: 'arrIncludes',\n meta: {\n enableMultipleSelect: true,\n filterVariant: 'enumeration',\n getDisplayText: value =>\n entityTypeToFriendlyName(convertToEntityType(value)),\n },\n enableSorting: true,\n }),\n]\n\nexport default function FavoritesPage() {\n const { isAuthenticated } = useSynapseContext()\n const [searchText, setSearchText] = useState<string>('')\n const [error, setError] = useState<Error>()\n const { data, isLoading, isError, error: newError } = useGetFavorites()\n\n const favorites = useMemo(() => data ?? [], [data])\n\n const favoritesTable = useReactTable<EntityHeader>({\n data: favorites,\n columns: columns,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n globalFilterFn: 'includesString',\n state: {\n globalFilter: searchText,\n },\n columnResizeMode: 'onChange',\n })\n\n useEffect(() => {\n if (isError && newError) {\n setError(newError)\n }\n }, [isError, newError])\n\n useEffect(() => {\n if (!isAuthenticated) {\n setError(new Error('Please sign in to access your favorites.'))\n } else {\n setError(undefined)\n }\n }, [isAuthenticated])\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n\n const hasFavoritesMatchingQuery = favoritesTable.getRowModel().rows.length > 0\n\n return (\n <div className=\"FavoritesPage\">\n <TextField\n type=\"search\"\n placeholder=\"Favorite Name\"\n value={searchText}\n onChange={event => {\n setSearchText(event.target.value)\n }}\n fullWidth\n sx={{ mb: 4, maxWidth: '800px' }}\n slotProps={{\n input: {\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconSvg icon=\"search\" wrap={false} />\n </InputAdornment>\n ),\n },\n }}\n />\n <StyledTanStackTable table={favoritesTable} fullWidth={false} />\n {!hasFavoritesMatchingQuery && !isLoading && (\n <Stack\n sx={{\n my: 2,\n gap: 1,\n textAlign: 'center',\n }}\n >\n <NoSearchResults height={'150px'} />\n {data?.length == 0 ? (\n <p>You currently have no favorites</p>\n ) : (\n <p>No matching favorites found</p>\n )}\n </Stack>\n )}\n\n {isLoading && (\n <div className=\"placeholder\">\n <SynapseSpinner size={30} />\n </div>\n )}\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasicFileHandleUpload.js","names":[],"sources":["../../../../src/components/file/upload/BasicFileHandleUpload.tsx"],"sourcesContent":["import MultiFileUploadProgress from '@/components/file/upload/MultiFileUploadProgress'\nimport UploadFilePanel from '@/components/file/upload/UploadFilePanel'\nimport {\n UploaderState,\n useUploadFiles,\n} from '@/utils/hooks/useUploadFileEntity/useUploadFiles'\nimport { noop } from 'lodash-es'\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle } from 'react'\n\nexport type BasicFileHandleUploadProps = {\n /**\n * Whether to allow uploading multiple files.\n * Currently, only single file upload is supported by this UI component.\n */\n allowMultipleUpload: false\n /**\n * Whether to disable \"drag-and-drop to upload\" functionality.\n * Currently, drag-and-drop cannot be enabled.\n */\n disableDragAndDrop: true\n /** Callback that is invoked when the state of the uploader changes */\n onStateChange?: (state: UploaderState) => void\n /** Callback that is invoked when component is ready to upload */\n onUploadReady?: () => void\n /** Callback that is invoked when an individual upload is complete */\n onFileUploadComplete?: (fileHandleIds: string) => void\n}\n\nexport type FileUploadHandle = {\n /** Programmatically add files to the upload (e.g. on drag & drop) */\n handleUploads: (fileList: ArrayLike<File>) => void\n}\n\n/**\n * BasicFileHandleUpload is a component that supports uploading a file to the default Synapse S3 bucket and creating a\n * file handle, which can only be accessed the system itself and the user uploading the file.\n */\nexport const BasicFileHandleUpload = forwardRef(function FileHandleUpload(\n props: BasicFileHandleUploadProps,\n ref: ForwardedRef<FileUploadHandle>,\n) {\n const {\n allowMultipleUpload,\n onStateChange = noop,\n onUploadReady = noop,\n onFileUploadComplete = noop,\n } = props\n\n const { startUpload, state, uploadProgress } = useUploadFiles({\n onUploadComplete: (_, fileHandleId) => {\n onFileUploadComplete(fileHandleId)\n return Promise.resolve()\n },\n })\n\n useEffect(() => {\n onStateChange(state)\n }, [state, onStateChange])\n\n useEffect(() => {\n onUploadReady()\n }, [onUploadReady])\n\n function uploadFileList(fileList: ArrayLike<File>) {\n const args = Array.from(fileList).map(file => {\n return {\n file,\n }\n })\n startUpload(...args)\n }\n\n useImperativeHandle(ref, () => ({\n handleUploads: uploadFileList,\n }))\n\n return (\n <div>\n <UploadFilePanel\n onUploadFileList={uploadFileList}\n allowMultipleFiles={allowMultipleUpload}\n disableDragAndDrop={true}\n />\n <MultiFileUploadProgress\n uploaderState={state}\n uploadProgress={uploadProgress}\n />\n </div>\n )\n})\n"],"mappings":";;;;;;;AAqCA,IAAa,IAAwB,EAAW,SAC9C,GACA,GACA;CACA,IAAM,EACJ,wBACA,mBAAgB,GAChB,mBAAgB,GAChB,0BAAuB,MACrB,GAEE,EAAE,gBAAa,UAAO,sBAAmB,EAAe,EAC5D,mBAAmB,GAAG,OACpB,EAAqB,EAAa,EAC3B,QAAQ,SAAS,GAE3B,CAAC;AAMF,CAJA,QAAgB;AACd,IAAc,EAAM;IACnB,CAAC,GAAO,EAAc,CAAC,EAE1B,QAAgB;AACd,KAAe;IACd,CAAC,EAAc,CAAC;CAEnB,SAAS,EAAe,GAA2B;AAMjD,IAAY,GALC,MAAM,KAAK,EAAS,CAAC,KAAI,OAC7B,EACL,SACD,EAEY,CAAK;;AAOtB,QAJA,EAAoB,UAAY,EAC9B,eAAe,GAChB,EAAE,EAGD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,kBAAkB;EAClB,oBAAoB;EACpB,oBAAoB;EACpB,CAAA,EACF,kBAAC,GAAD;EACE,eAAe;EACC;EAChB,CAAA,CACE,EAAA,CAAA;EAER"}
1
+ {"version":3,"file":"BasicFileHandleUpload.js","names":[],"sources":["../../../../src/components/file/upload/BasicFileHandleUpload.tsx"],"sourcesContent":["import MultiFileUploadProgress from '@/components/file/upload/MultiFileUploadProgress'\nimport UploadFilePanel from '@/components/file/upload/UploadFilePanel'\nimport {\n UploaderState,\n useUploadFiles,\n} from '@/utils/hooks/useUploadFileEntity/useUploadFiles'\nimport { noop } from 'lodash-es'\nimport { ForwardedRef, forwardRef, useEffect, useImperativeHandle } from 'react'\n\nexport type BasicFileHandleUploadProps = {\n /**\n * Whether to allow uploading multiple files.\n * Currently, only single file upload is supported by this UI component.\n */\n allowMultipleUpload: false\n /**\n * Whether to disable \"drag-and-drop to upload\" functionality.\n * Currently, drag-and-drop cannot be enabled.\n */\n disableDragAndDrop: true\n /** Callback that is invoked when the state of the uploader changes */\n onStateChange?: (state: UploaderState) => void\n /** Callback that is invoked when component is ready to upload */\n onUploadReady?: () => void\n /** Callback that is invoked when an individual upload is complete */\n onFileUploadComplete?: (fileHandleIds: string) => void\n}\n\nexport type FileUploadHandle = {\n /** Programmatically add files to the upload (e.g. on drag & drop) */\n handleUploads: (fileList: ArrayLike<File>) => void\n}\n\n/**\n * BasicFileHandleUpload is a component that supports uploading a file to the default Synapse S3 bucket and creating a\n * file handle, which can only be accessed the system itself and the user uploading the file.\n */\nexport const BasicFileHandleUpload = forwardRef(function FileHandleUpload(\n props: BasicFileHandleUploadProps,\n ref: ForwardedRef<FileUploadHandle>,\n) {\n const {\n allowMultipleUpload,\n onStateChange = noop,\n onUploadReady = noop,\n onFileUploadComplete = noop,\n } = props\n\n const { startUpload, state, uploadProgress } = useUploadFiles({\n onUploadComplete: (_, fileHandleId) => {\n onFileUploadComplete(fileHandleId)\n return Promise.resolve()\n },\n })\n\n useEffect(() => {\n onStateChange(state)\n }, [state, onStateChange])\n\n useEffect(() => {\n onUploadReady()\n }, [onUploadReady])\n\n function uploadFileList(fileList: ArrayLike<File>) {\n const args = Array.from(fileList).map(file => {\n return {\n file,\n }\n })\n startUpload(...args)\n }\n\n useImperativeHandle(ref, () => ({\n handleUploads: uploadFileList,\n }))\n\n return (\n <div>\n <UploadFilePanel\n onUploadFileList={uploadFileList}\n allowMultipleFiles={allowMultipleUpload}\n disableDragAndDrop={true}\n />\n <MultiFileUploadProgress\n uploaderState={state}\n uploadProgress={uploadProgress}\n />\n </div>\n )\n})\n"],"mappings":";;;;;;;AAqCA,IAAa,IAAwB,EAAW,SAC9C,GACA,GACA;CACA,IAAM,EACJ,wBACA,mBAAgB,GAChB,mBAAgB,GAChB,0BAAuB,MACrB,GAEE,EAAE,gBAAa,UAAO,sBAAmB,EAAe,EAC5D,mBAAmB,GAAG,OACpB,EAAqB,CAAY,GAC1B,QAAQ,QAAQ,GAE3B,CAAC;CAMD,AAJA,QAAgB;EACd,EAAc,CAAK;CACrB,GAAG,CAAC,GAAO,CAAa,CAAC,GAEzB,QAAgB;EACd,EAAc;CAChB,GAAG,CAAC,CAAa,CAAC;CAElB,SAAS,EAAe,GAA2B;EAMjD,EAAY,GALC,MAAM,KAAK,CAAQ,EAAE,KAAI,OAC7B,EACL,QACF,EAEa,CAAI;CACrB;CAMA,OAJA,EAAoB,UAAY,EAC9B,eAAe,EACjB,EAAE,GAGA,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,kBAAkB;EAClB,oBAAoB;EACpB,oBAAoB;CACrB,CAAA,GACD,kBAAC,GAAD;EACE,eAAe;EACC;CACjB,CAAA,CACE,EAAA,CAAA;AAET,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiFileUploadProgress.js","names":[],"sources":["../../../../src/components/file/upload/MultiFileUploadProgress.tsx"],"sourcesContent":["import {\n FILE_UPLOAD_PROGRESS_COMPONENT_HEIGHT_PX,\n FileUploadProgress,\n} from '@/components/EntityUpload/FileUploadProgress'\nimport getActiveUploadCount from '@/utils/hooks/useUploadFileEntity/getActiveUploadCount'\nimport { EntityUploaderState } from '@/utils/hooks/useUploadFileEntity/useUploadFileEntities'\nimport { UploadItem } from '@/utils/hooks/useUploadFileEntity/useUploadFiles'\nimport Box from '@mui/material/Box'\nimport Paper from '@mui/material/Paper'\nimport Typography from '@mui/material/Typography'\nimport pluralize from 'pluralize'\nimport { FixedSizeList } from 'react-window'\n\n// This padding value will be used to manipulate the appearance of a virtualized list of FileUploadProgress components\nconst UPLOAD_CONTAINER_PADDING_X_PX = 24\n\ntype UploadProgressProps = {\n /**\n * The current state of the uploader.\n */\n uploaderState: EntityUploaderState\n /**\n * The progress of each file being uploaded, including status and callbacks for user actions.\n */\n uploadProgress: UploadItem[]\n}\n\nexport default function MultiFileUploadProgress(props: UploadProgressProps) {\n const { uploaderState, uploadProgress } = props\n\n if (uploadProgress.length === 0) {\n return null\n }\n\n const activeUploadCount = getActiveUploadCount(\n uploadProgress.map(up => up.status),\n )\n const numberOfItemsCompleted = uploadProgress.filter(\n p => p.status === 'COMPLETE',\n ).length\n\n return (\n <Paper\n sx={{\n px: `${UPLOAD_CONTAINER_PADDING_X_PX}px`,\n py: 2,\n mt: 3,\n width: '100%',\n height: '260px',\n background: '#FBFBFC',\n }}\n >\n <Typography variant={'headline2'} gutterBottom>\n {uploaderState === 'WAITING' && <>Uploads</>}\n {uploaderState === 'UPLOADING' && (\n <>\n Uploading {activeUploadCount} {pluralize('Item', activeUploadCount)}\n </>\n )}\n {uploaderState === 'COMPLETE' && (\n <>\n Uploaded {numberOfItemsCompleted}{' '}\n {pluralize('Item', numberOfItemsCompleted)}\n </>\n )}\n </Typography>\n <Box\n sx={{\n // Add negative margin equivalent to the container's padding\n // This will put the scrollbar on the right edge of the container\n mx: `${UPLOAD_CONTAINER_PADDING_X_PX * -1}px`,\n\n '& > div > div > :not(:last-child)': {\n borderBottom: 'solid 1px #EAECEE',\n },\n }}\n >\n <FixedSizeList\n itemSize={FILE_UPLOAD_PROGRESS_COMPONENT_HEIGHT_PX}\n height={205}\n itemCount={uploadProgress.length}\n width={'100%'}\n >\n {({ index, style }) => {\n const fileProgress = uploadProgress[index]\n const fileNameWithPath =\n fileProgress.file.webkitRelativePath || fileProgress.file.name\n\n const totalSizeInBytes = fileProgress.file.size\n const fractionOfPartsUploaded =\n fileProgress.progress.value / fileProgress.progress.total\n const uploadedSizeInBytes =\n totalSizeInBytes * fractionOfPartsUploaded\n\n return (\n <div\n key={\n // File path + name should be unique\n fileNameWithPath\n }\n style={{\n ...style,\n // Use same value as the outer container's padding to determine the width,\n // ensuring the items in the list appear to have the same padding\n width: `calc(100% - ${UPLOAD_CONTAINER_PADDING_X_PX * 2}px)`,\n margin: `0px ${UPLOAD_CONTAINER_PADDING_X_PX}px`,\n }}\n >\n <FileUploadProgress\n fileName={fileNameWithPath}\n status={fileProgress.status}\n totalSizeInBytes={totalSizeInBytes}\n uploadedSizeInBytes={uploadedSizeInBytes}\n onCancel={fileProgress.cancel}\n onPause={fileProgress.pause}\n onResume={fileProgress.resume}\n onRemove={fileProgress.remove}\n errorMessage={fileProgress.failureReason}\n />\n </div>\n )\n }}\n </FixedSizeList>\n </Box>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;;AAcA,IAAM,IAAgC;AAatC,SAAwB,EAAwB,GAA4B;CAC1E,IAAM,EAAE,kBAAe,sBAAmB;AAE1C,KAAI,EAAe,WAAW,EAC5B,QAAO;CAGT,IAAM,IAAoB,EACxB,EAAe,KAAI,MAAM,EAAG,OAAO,CACpC,EACK,IAAyB,EAAe,QAC5C,MAAK,EAAE,WAAW,WACnB,CAAC;AAEF,QACE,kBAAC,GAAD;EACE,IAAI;GACF,IAAI,GAAG,EAA8B;GACrC,IAAI;GACJ,IAAI;GACJ,OAAO;GACP,QAAQ;GACR,YAAY;GACb;YARH,CAUE,kBAAC,GAAD;GAAY,SAAS;GAAa,cAAA;aAAlC;IACG,MAAkB,aAAa,kBAAA,GAAA,EAAA,UAAE,WAAU,CAAA;IAC3C,MAAkB,eACjB,kBAAA,GAAA,EAAA,UAAA;KAAE;KACW;KAAkB;KAAE,EAAU,QAAQ,EAAkB;KAClE,EAAA,CAAA;IAEJ,MAAkB,cACjB,kBAAA,GAAA,EAAA,UAAA;KAAE;KACU;KAAwB;KACjC,EAAU,QAAQ,EAAuB;KACzC,EAAA,CAAA;IAEM;MACb,kBAAC,GAAD;GACE,IAAI;IAGF,IAAI,GAAG,IAAgC,GAAG;IAE1C,qCAAqC,EACnC,cAAc,qBACf;IACF;aAED,kBAAC,GAAD;IACE,UAAA;IACA,QAAQ;IACR,WAAW,EAAe;IAC1B,OAAO;eAEL,EAAE,UAAO,eAAY;KACrB,IAAM,IAAe,EAAe,IAC9B,IACJ,EAAa,KAAK,sBAAsB,EAAa,KAAK,MAEtD,IAAmB,EAAa,KAAK,MAGrC,IACJ,KAFA,EAAa,SAAS,QAAQ,EAAa,SAAS;AAItD,YACE,kBAAC,OAAD;MAKE,OAAO;OACL,GAAG;OAGH,OAAO,eAAe,IAAgC,EAAE;OACxD,QAAQ,OAAO,EAA8B;OAC9C;gBAED,kBAAC,GAAD;OACE,UAAU;OACV,QAAQ,EAAa;OACH;OACG;OACrB,UAAU,EAAa;OACvB,SAAS,EAAa;OACtB,UAAU,EAAa;OACvB,UAAU,EAAa;OACvB,cAAc,EAAa;OAC3B,CAAA;MACE,EArBF,EAqBE;;IAGI,CAAA;GACZ,CAAA,CACA"}
1
+ {"version":3,"file":"MultiFileUploadProgress.js","names":[],"sources":["../../../../src/components/file/upload/MultiFileUploadProgress.tsx"],"sourcesContent":["import {\n FILE_UPLOAD_PROGRESS_COMPONENT_HEIGHT_PX,\n FileUploadProgress,\n} from '@/components/EntityUpload/FileUploadProgress'\nimport getActiveUploadCount from '@/utils/hooks/useUploadFileEntity/getActiveUploadCount'\nimport { EntityUploaderState } from '@/utils/hooks/useUploadFileEntity/useUploadFileEntities'\nimport { UploadItem } from '@/utils/hooks/useUploadFileEntity/useUploadFiles'\nimport Box from '@mui/material/Box'\nimport Paper from '@mui/material/Paper'\nimport Typography from '@mui/material/Typography'\nimport pluralize from 'pluralize'\nimport { FixedSizeList } from 'react-window'\n\n// This padding value will be used to manipulate the appearance of a virtualized list of FileUploadProgress components\nconst UPLOAD_CONTAINER_PADDING_X_PX = 24\n\ntype UploadProgressProps = {\n /**\n * The current state of the uploader.\n */\n uploaderState: EntityUploaderState\n /**\n * The progress of each file being uploaded, including status and callbacks for user actions.\n */\n uploadProgress: UploadItem[]\n}\n\nexport default function MultiFileUploadProgress(props: UploadProgressProps) {\n const { uploaderState, uploadProgress } = props\n\n if (uploadProgress.length === 0) {\n return null\n }\n\n const activeUploadCount = getActiveUploadCount(\n uploadProgress.map(up => up.status),\n )\n const numberOfItemsCompleted = uploadProgress.filter(\n p => p.status === 'COMPLETE',\n ).length\n\n return (\n <Paper\n sx={{\n px: `${UPLOAD_CONTAINER_PADDING_X_PX}px`,\n py: 2,\n mt: 3,\n width: '100%',\n height: '260px',\n background: '#FBFBFC',\n }}\n >\n <Typography variant={'headline2'} gutterBottom>\n {uploaderState === 'WAITING' && <>Uploads</>}\n {uploaderState === 'UPLOADING' && (\n <>\n Uploading {activeUploadCount} {pluralize('Item', activeUploadCount)}\n </>\n )}\n {uploaderState === 'COMPLETE' && (\n <>\n Uploaded {numberOfItemsCompleted}{' '}\n {pluralize('Item', numberOfItemsCompleted)}\n </>\n )}\n </Typography>\n <Box\n sx={{\n // Add negative margin equivalent to the container's padding\n // This will put the scrollbar on the right edge of the container\n mx: `${UPLOAD_CONTAINER_PADDING_X_PX * -1}px`,\n\n '& > div > div > :not(:last-child)': {\n borderBottom: 'solid 1px #EAECEE',\n },\n }}\n >\n <FixedSizeList\n itemSize={FILE_UPLOAD_PROGRESS_COMPONENT_HEIGHT_PX}\n height={205}\n itemCount={uploadProgress.length}\n width={'100%'}\n >\n {({ index, style }) => {\n const fileProgress = uploadProgress[index]\n const fileNameWithPath =\n fileProgress.file.webkitRelativePath || fileProgress.file.name\n\n const totalSizeInBytes = fileProgress.file.size\n const fractionOfPartsUploaded =\n fileProgress.progress.value / fileProgress.progress.total\n const uploadedSizeInBytes =\n totalSizeInBytes * fractionOfPartsUploaded\n\n return (\n <div\n key={\n // File path + name should be unique\n fileNameWithPath\n }\n style={{\n ...style,\n // Use same value as the outer container's padding to determine the width,\n // ensuring the items in the list appear to have the same padding\n width: `calc(100% - ${UPLOAD_CONTAINER_PADDING_X_PX * 2}px)`,\n margin: `0px ${UPLOAD_CONTAINER_PADDING_X_PX}px`,\n }}\n >\n <FileUploadProgress\n fileName={fileNameWithPath}\n status={fileProgress.status}\n totalSizeInBytes={totalSizeInBytes}\n uploadedSizeInBytes={uploadedSizeInBytes}\n onCancel={fileProgress.cancel}\n onPause={fileProgress.pause}\n onResume={fileProgress.resume}\n onRemove={fileProgress.remove}\n errorMessage={fileProgress.failureReason}\n />\n </div>\n )\n }}\n </FixedSizeList>\n </Box>\n </Paper>\n )\n}\n"],"mappings":";;;;;;;;;AAcA,IAAM,IAAgC;AAatC,SAAwB,EAAwB,GAA4B;CAC1E,IAAM,EAAE,kBAAe,sBAAmB;CAE1C,IAAI,EAAe,WAAW,GAC5B,OAAO;CAGT,IAAM,IAAoB,EACxB,EAAe,KAAI,MAAM,EAAG,MAAM,CACpC,GACM,IAAyB,EAAe,QAC5C,MAAK,EAAE,WAAW,UACpB,EAAE;CAEF,OACE,kBAAC,GAAD;EACE,IAAI;GACF,IAAI,GAAG,EAA8B;GACrC,IAAI;GACJ,IAAI;GACJ,OAAO;GACP,QAAQ;GACR,YAAY;EACd;YARF,CAUE,kBAAC,GAAD;GAAY,SAAS;GAAa,cAAA;aAAlC;IACG,MAAkB,aAAa,kBAAA,GAAA,EAAA,UAAE,UAAS,CAAA;IAC1C,MAAkB,eACjB,kBAAA,GAAA,EAAA,UAAA;KAAE;KACW;KAAkB;KAAE,EAAU,QAAQ,CAAiB;IAClE,EAAA,CAAA;IAEH,MAAkB,cACjB,kBAAA,GAAA,EAAA,UAAA;KAAE;KACU;KAAwB;KACjC,EAAU,QAAQ,CAAsB;IACzC,EAAA,CAAA;GAEM;MACZ,kBAAC,GAAD;GACE,IAAI;IAGF,IAAI,GAAG,IAAgC,GAAG;IAE1C,qCAAqC,EACnC,cAAc,oBAChB;GACF;aAEA,kBAAC,GAAD;IACE,UAAA;IACA,QAAQ;IACR,WAAW,EAAe;IAC1B,OAAO;eAEL,EAAE,UAAO,eAAY;KACrB,IAAM,IAAe,EAAe,IAC9B,IACJ,EAAa,KAAK,sBAAsB,EAAa,KAAK,MAEtD,IAAmB,EAAa,KAAK,MAGrC,IACJ,KAFA,EAAa,SAAS,QAAQ,EAAa,SAAS;KAItD,OACE,kBAAC,OAAD;MAKE,OAAO;OACL,GAAG;OAGH,OAAO,eAAe,IAAgC,EAAE;OACxD,QAAQ,OAAO,EAA8B;MAC/C;gBAEA,kBAAC,GAAD;OACE,UAAU;OACV,QAAQ,EAAa;OACH;OACG;OACrB,UAAU,EAAa;OACvB,SAAS,EAAa;OACtB,UAAU,EAAa;OACvB,UAAU,EAAa;OACvB,cAAc,EAAa;MAC5B,CAAA;KACE,GArBD,CAqBC;IAET;GACa,CAAA;EACZ,CAAA,CACA;;AAEX"}