synapse-react-client 4.0.19 → 4.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1553) 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/CardContainer.js.map +1 -1
  300. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  301. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  302. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  303. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  304. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  305. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  306. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  307. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  308. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  309. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  310. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  311. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  312. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  313. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  314. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  315. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  316. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  317. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  321. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  322. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  323. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  324. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  325. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  326. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  330. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  331. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  332. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  333. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  334. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  335. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  336. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  337. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  338. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  339. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  340. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  341. package/dist/components/ComponentCollapse.js.map +1 -1
  342. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  343. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  344. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  345. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  346. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  347. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  348. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  349. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  350. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  351. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  352. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  353. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  354. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  355. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  356. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  357. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  358. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  359. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  360. package/dist/components/DataExplorer/DataExplorer.js +28 -31
  361. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  362. package/dist/components/DataGrid/DataGrid.js +72 -72
  363. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  364. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  365. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  366. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  367. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  368. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  369. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  370. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  371. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  372. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  373. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  374. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  375. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  376. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  377. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  378. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  379. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  380. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  381. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  382. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  383. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  384. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  385. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  386. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  387. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  388. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +2 -0
  389. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  390. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  391. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  392. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  393. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  394. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  395. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  396. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  397. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  398. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  399. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  400. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  401. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  402. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  403. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  404. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  405. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  406. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  407. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  408. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  409. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  410. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  411. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  412. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  413. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  414. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  415. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  416. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  417. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  418. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  419. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  420. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  421. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  422. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  423. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  424. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  425. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  426. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  427. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  428. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  429. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  430. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  431. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  432. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  433. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  434. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  435. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  436. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  437. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  438. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  439. package/dist/components/DialogBase.js.map +1 -1
  440. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  441. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  442. package/dist/components/DirectDownloadButton.js.map +1 -1
  443. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  444. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  445. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  446. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  447. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  448. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  449. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  450. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  451. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  452. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  453. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  454. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  455. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  456. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  457. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  458. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  459. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  460. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  461. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  462. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  463. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  464. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  465. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  466. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  467. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  468. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  469. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  470. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  471. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  472. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  473. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  474. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  475. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  476. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  477. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  478. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  479. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  480. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  481. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  482. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  483. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  484. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  485. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  486. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  487. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  488. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  489. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  490. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  491. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  492. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  493. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  494. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  495. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  496. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  497. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  498. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  499. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  500. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  501. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  502. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  503. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  504. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  505. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  506. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  507. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  508. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  509. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  510. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  511. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  513. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  514. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  515. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  516. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  517. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  518. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  519. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  520. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  521. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  522. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  523. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  524. package/dist/components/EntityIcon.js.map +1 -1
  525. package/dist/components/EntityLink.js.map +1 -1
  526. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  527. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  528. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  529. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  530. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  531. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  532. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  533. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  534. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  535. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  536. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  537. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  538. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  539. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  540. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  541. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  542. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  543. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  544. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  545. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  546. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  547. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  548. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  549. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  550. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  551. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  552. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  553. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  554. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  555. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  556. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  557. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  558. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  559. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  560. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  561. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  562. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  563. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  564. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  565. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  566. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  567. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  568. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  569. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  570. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  571. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  572. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  573. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  574. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  575. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  576. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  577. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  578. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  579. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  580. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  581. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  582. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  583. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  584. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  585. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  586. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  587. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  588. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  589. package/dist/components/Forum/ForumPage.js.map +1 -1
  590. package/dist/components/Forum/ForumTable.js.map +1 -1
  591. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  592. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  593. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  594. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  595. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  596. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  597. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  598. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  599. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  600. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  601. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  602. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  603. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  604. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  605. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  606. package/dist/components/GenericCard/Linkify.js.map +1 -1
  607. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  608. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  609. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  610. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  611. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  612. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  613. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  614. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  615. package/dist/components/Goals/Goals.js +25 -27
  616. package/dist/components/Goals/Goals.js.map +1 -1
  617. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  618. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  619. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  620. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  621. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  622. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  623. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  624. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  625. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  626. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  627. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  628. package/dist/components/HasAccess/AccessIcon.js +10 -10
  629. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  630. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  631. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  632. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  633. package/dist/components/HeaderCard.js.map +1 -1
  634. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  635. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  636. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  637. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  638. package/dist/components/Icon/Icon.js.map +1 -1
  639. package/dist/components/IconList.js.map +1 -1
  640. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  641. package/dist/components/IconSvgButton.js.map +1 -1
  642. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  643. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  644. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  645. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  646. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  647. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  648. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  649. package/dist/components/JsonLdScript.js.map +1 -1
  650. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  651. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  652. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  653. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  654. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  655. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  656. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  657. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  658. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  659. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  660. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  661. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  662. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  663. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  664. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  665. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  666. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  667. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  668. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  669. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  670. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  671. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  672. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  673. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  674. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  675. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  676. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  677. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  678. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  679. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  680. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  681. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  682. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  683. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  684. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  685. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  686. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  687. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  688. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  689. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  690. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  691. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  692. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  693. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  694. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  695. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  696. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  697. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  698. package/dist/components/MuiContainer.js.map +1 -1
  699. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  700. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  701. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  702. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  703. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  704. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  705. package/dist/components/Plot/BarPlot.js.map +1 -1
  706. package/dist/components/Plot/DotPlot.js.map +1 -1
  707. package/dist/components/Plot/Plot.d.ts +12 -1
  708. package/dist/components/Plot/Plot.d.ts.map +1 -1
  709. package/dist/components/Plot/Plot.js +5 -1
  710. package/dist/components/Plot/Plot.js.map +1 -1
  711. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  712. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  713. package/dist/components/Plot/SynapseSankeyPlot.d.ts +12 -0
  714. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  715. package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
  716. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  717. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  718. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  719. package/dist/components/Plot/index.d.ts +3 -1
  720. package/dist/components/Plot/index.d.ts.map +1 -1
  721. package/dist/components/Plot/index.js +2 -1
  722. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  723. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  724. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  725. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  726. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  727. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  728. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  729. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  730. package/dist/components/PortalList/PortalCard.js.map +1 -1
  731. package/dist/components/PortalList/PortalList.js.map +1 -1
  732. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  733. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  734. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  735. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  736. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  737. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  738. package/dist/components/Programs/Programs.js.map +1 -1
  739. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  740. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  741. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  742. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  743. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  744. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  745. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  746. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  747. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  748. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  749. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  750. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  751. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  752. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  753. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  754. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  755. package/dist/components/QuerySortSelector.js.map +1 -1
  756. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  757. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  758. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  759. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  760. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  761. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  762. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  763. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  764. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  765. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  766. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  767. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  768. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  769. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  770. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  771. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  772. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  773. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  774. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  775. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  776. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  777. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  778. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  779. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  780. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  781. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  782. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  783. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  784. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  785. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  786. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  787. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  788. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  789. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  790. package/dist/components/Resources/Resources.js +8 -11
  791. package/dist/components/Resources/Resources.js.map +1 -1
  792. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  793. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  794. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  795. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  796. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  797. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  798. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  799. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  800. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  801. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  802. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  803. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  804. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  805. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  806. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  807. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  808. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  809. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  810. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  811. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  812. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  813. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  814. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  815. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  816. package/dist/components/SignInButton.js.map +1 -1
  817. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  818. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  819. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  820. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  821. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  822. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  823. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  824. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  825. package/dist/components/SourceAppImage.js.map +1 -1
  826. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  827. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  828. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  829. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  830. package/dist/components/StatisticsPlot.js.map +1 -1
  831. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  832. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  833. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  834. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  835. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  836. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  837. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  838. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  839. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  840. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  841. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  842. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  843. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  844. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  845. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  846. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  847. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  848. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  849. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  850. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  851. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  852. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  853. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  854. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  855. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  856. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  857. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  858. package/dist/components/SynapseForm/Header.js.map +1 -1
  859. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  860. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  861. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  862. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  863. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  864. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  865. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  866. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  867. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  868. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  869. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  870. package/dist/components/SynapseForm/types.js.map +1 -1
  871. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  872. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  873. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  874. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  875. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  876. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  877. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  878. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  879. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  880. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  881. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  882. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  883. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  884. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  885. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  886. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  887. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  888. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  889. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  890. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  891. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  892. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  893. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  894. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  895. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  896. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  897. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  898. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  899. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  900. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  901. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  902. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  903. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  904. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  905. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  906. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  907. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  908. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  909. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  910. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  911. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  912. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  913. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  914. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  915. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  916. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  917. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  918. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  919. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  920. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  921. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  922. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  923. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  924. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  925. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  926. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  927. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  928. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  929. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  930. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  931. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  932. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  933. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  934. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  935. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  936. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  937. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  938. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  939. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  940. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  941. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  942. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  943. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  944. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  945. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  946. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  947. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  948. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  949. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  950. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  951. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  952. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  953. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  954. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  955. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  956. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  957. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  958. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  959. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  960. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  961. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  962. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  963. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  964. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +4 -4
  965. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  966. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  967. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  968. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  969. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  970. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  971. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  972. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  973. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +9 -9
  974. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  975. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  976. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  977. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  978. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  979. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  980. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  981. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  982. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  983. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  984. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  985. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  986. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  987. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  988. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  989. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  990. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  991. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  992. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  993. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  994. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  995. package/dist/components/TeamBadge.js.map +1 -1
  996. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  997. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  998. package/dist/components/TemplateComponent.js.map +1 -1
  999. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1000. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1001. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1002. package/dist/components/TextField/TextField.js.map +1 -1
  1003. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1004. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1005. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1006. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1007. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1008. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1009. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1010. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1011. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1012. package/dist/components/TotalQueryResults.js.map +1 -1
  1013. package/dist/components/UserCard/Avatar.js.map +1 -1
  1014. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1015. package/dist/components/UserCard/UserCard.js.map +1 -1
  1016. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1017. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1018. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1019. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1020. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1021. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1022. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1023. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1024. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1025. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1026. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1027. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1028. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1029. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1030. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1031. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1032. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1033. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1034. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1035. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1036. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1037. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1038. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1039. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1040. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1041. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1042. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1043. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1044. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1045. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1046. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1047. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1048. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1049. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1050. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1051. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1052. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1053. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1054. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1055. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1056. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1057. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1058. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1059. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1060. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1061. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1062. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1063. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1064. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1065. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1066. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1067. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1068. package/dist/components/download_list/index.js.map +1 -1
  1069. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1070. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1071. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1072. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1073. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1074. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1075. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1076. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1077. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1078. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1079. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1080. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1081. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1082. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1083. package/dist/components/error/ErrorBanner.js.map +1 -1
  1084. package/dist/components/error/ErrorChip.js.map +1 -1
  1085. package/dist/components/error/ErrorPage.js +24 -24
  1086. package/dist/components/error/ErrorPage.js.map +1 -1
  1087. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1088. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1089. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1090. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1091. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1092. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1093. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1094. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1095. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1096. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1097. package/dist/components/index.js +48 -47
  1098. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1099. package/dist/components/layout/SWCHeader.js.map +1 -1
  1100. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1101. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1102. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1103. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1104. package/dist/components/row_renderers/Funder.js.map +1 -1
  1105. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1106. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1107. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1108. package/dist/components/styled/HoverPopover.js.map +1 -1
  1109. package/dist/components/styled/InlineBadge.js.map +1 -1
  1110. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1111. package/dist/components/styled/LargeButton.js.map +1 -1
  1112. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1113. package/dist/components/styled/LightTooltip.js.map +1 -1
  1114. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1115. package/dist/components/styled/StyledPopover.js.map +1 -1
  1116. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1117. package/dist/components/styled/WideButton.js.map +1 -1
  1118. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +39 -42
  1119. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
  1120. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1121. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1122. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  1123. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
  1124. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
  1125. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
  1126. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
  1127. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
  1128. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
  1129. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1130. package/dist/components/trash/TrashCanList.js.map +1 -1
  1131. package/dist/components/utils/Blocker.js.map +1 -1
  1132. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1133. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1134. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1135. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1136. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1137. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1138. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1139. package/dist/components/widgets/Range.js.map +1 -1
  1140. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1141. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1142. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1143. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1144. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1145. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1146. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1147. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1148. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1149. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1150. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1151. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1152. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1153. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1154. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1155. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1156. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1157. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1158. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1159. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1160. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1161. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1162. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1163. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1164. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1165. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1166. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1167. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1168. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1169. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1170. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1171. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1172. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1173. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1174. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1175. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1176. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1177. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1178. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1179. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1180. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1181. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1182. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1183. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1184. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1185. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1186. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1187. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1188. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1189. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1190. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1191. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1192. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1193. package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
  1194. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1195. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1196. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1197. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1198. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1199. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1200. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1201. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1202. package/dist/index.js +54 -53
  1203. package/dist/index.js.map +1 -1
  1204. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1205. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1206. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1207. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1208. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1209. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1210. package/dist/mocks/chat/mockChat.js.map +1 -1
  1211. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1212. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1213. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1214. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1215. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1216. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1217. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1218. package/dist/mocks/entity/index.js.map +1 -1
  1219. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1220. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1221. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1222. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1223. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1224. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1225. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1226. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1227. package/dist/mocks/entity/mockProject.js.map +1 -1
  1228. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1229. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1230. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1231. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1232. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1233. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1234. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1235. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1236. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1237. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1238. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1239. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1240. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1241. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1242. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1243. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1244. package/dist/mocks/mockSchema.js.map +1 -1
  1245. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1246. package/dist/mocks/mockShortIo.js.map +1 -1
  1247. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1248. package/dist/mocks/mockSubscription.js.map +1 -1
  1249. package/dist/mocks/mockWiki.js.map +1 -1
  1250. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1251. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1252. package/dist/mocks/mock_file_handle.js.map +1 -1
  1253. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1254. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1255. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1256. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1257. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1258. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1259. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1260. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1261. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1262. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1263. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1264. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1265. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1266. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1267. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1268. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1269. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1270. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1271. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1272. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1273. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1274. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1275. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1276. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1277. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1278. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1279. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1280. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1281. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1282. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1283. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1284. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1285. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1286. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1287. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1288. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1289. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1290. package/dist/mocks/msw/handlers.js.map +1 -1
  1291. package/dist/mocks/msw/server.d.ts +1 -1
  1292. package/dist/mocks/msw/server.d.ts.map +1 -1
  1293. package/dist/mocks/msw/server.js.map +1 -1
  1294. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1295. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1296. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1297. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1298. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1299. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1300. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1301. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1302. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1303. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1304. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1305. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1306. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1307. package/dist/mocks/query/syn16787123.js.map +1 -1
  1308. package/dist/mocks/query/syn17328596.js.map +1 -1
  1309. package/dist/mocks/query/syn51735464.js.map +1 -1
  1310. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1311. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1312. package/dist/mocks/team/mockTeam.js.map +1 -1
  1313. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1314. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1315. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1316. package/dist/ror-client/index.js.map +1 -1
  1317. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1318. package/dist/stories/ToastDemo.js.map +1 -1
  1319. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1320. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1321. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1322. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1323. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1324. package/dist/synapse-client/HttpClient.js.map +1 -1
  1325. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1326. package/dist/synapse-client/SynapseClient.js +61 -69
  1327. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1328. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1329. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1330. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1331. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1332. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1333. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1334. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1335. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1336. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1337. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1338. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1339. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1340. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1341. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1342. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1343. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1344. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1345. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1346. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1347. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1348. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1349. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1350. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1351. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1352. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1353. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1354. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1355. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1356. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1357. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1358. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1359. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1360. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1361. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1362. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1363. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1364. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1365. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1366. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1367. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1368. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1369. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1370. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1371. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1372. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1373. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1374. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1375. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1376. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1377. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1378. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1379. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1380. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1381. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1382. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1383. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1384. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1385. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1386. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1387. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1388. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1389. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1390. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1391. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1392. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1393. package/dist/synapse-queries/ror/index.js.map +1 -1
  1394. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1395. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1396. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1397. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1398. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1399. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1400. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1401. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1402. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1403. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1404. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1405. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1406. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1407. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1408. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1409. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1410. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1411. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1412. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1413. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1414. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1415. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1416. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1417. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1418. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1419. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1420. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1421. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1422. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1423. package/dist/testutils/LocationTracker.js.map +1 -1
  1424. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1425. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1426. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1427. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1428. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1429. package/dist/testutils/vitest.setup.js.map +1 -1
  1430. package/dist/theme/DefaultTheme.js.map +1 -1
  1431. package/dist/theme/ThemeProvider.js.map +1 -1
  1432. package/dist/theme/mergeTheme.js.map +1 -1
  1433. package/dist/theme/palette/Palettes.js.map +1 -1
  1434. package/dist/theme/spreadSx.js.map +1 -1
  1435. package/dist/theme/typography/Link.js.map +1 -1
  1436. package/dist/theme/typography/Typography.js.map +1 -1
  1437. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1438. package/dist/utils/APIConstants.js.map +1 -1
  1439. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1440. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1441. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1442. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1443. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1444. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1445. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1446. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1447. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1448. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1449. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1450. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1451. package/dist/utils/SynapseConstants.js.map +1 -1
  1452. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1453. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1454. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1455. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1456. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1457. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1458. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1459. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1460. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1461. package/dist/utils/context/SynapseContext.js.map +1 -1
  1462. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1463. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1464. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1465. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1466. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1467. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1468. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1469. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1470. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1471. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1472. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1473. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1474. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1475. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1476. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1477. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1478. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1479. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1480. package/dist/utils/functions/StringUtils.js.map +1 -1
  1481. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1482. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1483. package/dist/utils/functions/colorPalette.js.map +1 -1
  1484. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1485. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1486. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1487. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1488. package/dist/utils/functions/getEndpoint.js +3 -3
  1489. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1490. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1491. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1492. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1493. package/dist/utils/functions/getUserData.js.map +1 -1
  1494. package/dist/utils/functions/queryUtils.js.map +1 -1
  1495. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1496. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1497. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1498. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1499. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1500. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1501. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1502. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1503. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1504. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1505. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1506. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1507. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1508. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1509. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1510. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1511. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1512. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1513. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1514. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1515. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1516. package/dist/utils/hooks/useListState.js.map +1 -1
  1517. package/dist/utils/hooks/useLogin.js.map +1 -1
  1518. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1519. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1520. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1521. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1522. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1523. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1524. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1525. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1526. package/dist/utils/hooks/useSet.js.map +1 -1
  1527. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1528. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1529. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1530. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1531. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1532. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1533. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1534. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1535. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1536. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1537. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1538. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1539. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1540. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1541. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1542. package/dist/utils/html/TargetEnum.js.map +1 -1
  1543. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1544. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1545. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1546. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1547. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1548. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1549. package/dist/utils/jsonschema/getType.js.map +1 -1
  1550. package/dist/utils/searchDefaults.js.map +1 -1
  1551. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1552. package/dist/utils/types/IsType.js.map +1 -1
  1553. package/package.json +67 -66
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAnalytics.js","names":[],"sources":["../../../src/components/GoogleAnalytics/GoogleAnalytics.tsx"],"sourcesContent":["import { useGoogleAnalytics } from '@/utils/hooks'\n\nexport type GoogleAnalyticsProps = {\n measurementId?: string\n}\n/**\n * GoogleAnalytics is a component wrapper for the useGoogleAnalytics() hook.\n * This is exported for use in the Synapse.org GWT codebase.\n * @param props\n */\nexport function GoogleAnalytics(props: GoogleAnalyticsProps) {\n const { measurementId } = props\n useGoogleAnalytics(measurementId)\n return <></>\n}\nexport default GoogleAnalytics\n"],"mappings":";;;;AAUA,SAAgB,EAAgB,GAA6B;CAC3D,IAAM,EAAE,qBAAkB;AAE1B,QADA,EAAmB,EAAc,EAC1B,kBAAA,GAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"GoogleAnalytics.js","names":[],"sources":["../../../src/components/GoogleAnalytics/GoogleAnalytics.tsx"],"sourcesContent":["import { useGoogleAnalytics } from '@/utils/hooks'\n\nexport type GoogleAnalyticsProps = {\n measurementId?: string\n}\n/**\n * GoogleAnalytics is a component wrapper for the useGoogleAnalytics() hook.\n * This is exported for use in the Synapse.org GWT codebase.\n * @param props\n */\nexport function GoogleAnalytics(props: GoogleAnalyticsProps) {\n const { measurementId } = props\n useGoogleAnalytics(measurementId)\n return <></>\n}\nexport default GoogleAnalytics\n"],"mappings":";;;;AAUA,SAAgB,EAAgB,GAA6B;CAC3D,IAAM,EAAE,qBAAkB;CAE1B,OADA,EAAmB,CAAa,GACzB,kBAAA,GAAA,CAAI,CAAA;AACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMap.js","names":[],"sources":["../../../src/components/GoogleMap/GoogleMap.tsx"],"sourcesContent":["import {\n GeoData,\n getAllSynapseUserGeoData,\n getGoogleMapsApiKey,\n getSynapseTeamGeoData,\n} from '@/synapse-client'\nimport { GoogleMap, LoadScript } from '@react-google-maps/api'\nimport { useQuery } from '@tanstack/react-query'\nimport { useCallback, useMemo, useState } from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport { SynapseUserMarker } from './SynapseUserMarker'\n\n// Load the google maps types -- note that the script is dynamically loaded, so the module will not be immediately available\n/// <reference types=\"google.maps\" />\n\nexport type MapProps = {\n /** If selected, then the map will only show locations for users in a particular team. */\n teamId?: string\n /** Override the Google Maps API key used by the component. Useful for Storybook. */\n apiKeyOverride?: string\n}\n\n/**\n * Returns a map component showing the locations of Synapse users. Note that this component must be wrapped in a container with defined size, or else the map will not appear.\n * Note that the geolocation data is updated via a cron job, so the map will not update in real time.\n * @param props\n * @returns\n */\nfunction Map(props: MapProps) {\n const { teamId, apiKeyOverride } = props\n\n const { data: apiKey } = useQuery({\n queryKey: ['googleMapsApiKey'],\n queryFn: getGoogleMapsApiKey,\n throwOnError: true,\n })\n\n /** Tracks the currently selected marker on click */\n const [currentOpenGeoData, setCurrentOpenGeoData] = useState<GeoData | null>(\n null,\n )\n\n const { data: geoData, isLoading: isLoadingGeoData } = useQuery({\n queryKey: ['synapseGeoData', teamId],\n\n queryFn: () => {\n if (teamId) {\n return getSynapseTeamGeoData(teamId)\n } else {\n return getAllSynapseUserGeoData()\n }\n },\n\n throwOnError: true,\n })\n\n const onLoad = useCallback(\n function callback(map: google.maps.Map) {\n if (geoData) {\n const bounds = new google.maps.LatLngBounds()\n geoData.forEach(gd => {\n bounds.extend({ lat: gd.latLng[0], lng: gd.latLng[1] })\n })\n map.fitBounds(bounds)\n }\n },\n [geoData],\n )\n\n const initialOptions = useMemo(\n () => ({\n zoom: 1,\n scrollwheel: true,\n mapTypeControl: false,\n streetViewControl: false,\n draggable: true,\n maxZoom: 12,\n controlSize: 22,\n }),\n [],\n )\n if (!(apiKeyOverride || apiKey) || isLoadingGeoData) {\n return <SynapseSpinner />\n }\n\n return (\n <LoadScript\n googleMapsApiKey={(apiKeyOverride || apiKey)!}\n loadingElement={<SynapseSpinner />}\n >\n <GoogleMap\n mapContainerStyle={{ height: '100%', width: '100%' }}\n onLoad={onLoad}\n options={initialOptions}\n >\n {geoData!.map(gd => {\n return (\n <SynapseUserMarker\n key={gd.location}\n geoData={gd}\n onClick={() => setCurrentOpenGeoData(gd)}\n onInfoWindowCloseClick={() => setCurrentOpenGeoData(null)}\n showInfoWindow={gd === currentOpenGeoData}\n />\n )\n })}\n </GoogleMap>\n </LoadScript>\n )\n}\n\nexport default Map\n"],"mappings":";;;;;;;;;AA4BA,SAAS,EAAI,GAAiB;CAC5B,IAAM,EAAE,WAAQ,sBAAmB,GAE7B,EAAE,MAAM,MAAW,EAAS;EAChC,UAAU,CAAC,mBAAmB;EAC9B,SAAS;EACT,cAAc;EACf,CAAC,EAGI,CAAC,GAAoB,KAAyB,EAClD,KACD,EAEK,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,UAAU,CAAC,kBAAkB,EAAO;EAEpC,eACM,IACK,EAAsB,EAAO,GAE7B,GAA0B;EAIrC,cAAc;EACf,CAAC,EAEI,IAAS,EACb,SAAkB,GAAsB;AACtC,MAAI,GAAS;GACX,IAAM,IAAS,IAAI,OAAO,KAAK,cAAc;AAI7C,GAHA,EAAQ,SAAQ,MAAM;AACpB,MAAO,OAAO;KAAE,KAAK,EAAG,OAAO;KAAI,KAAK,EAAG,OAAO;KAAI,CAAC;KACvD,EACF,EAAI,UAAU,EAAO;;IAGzB,CAAC,EAAQ,CACV,EAEK,IAAiB,SACd;EACL,MAAM;EACN,aAAa;EACb,gBAAgB;EAChB,mBAAmB;EACnB,WAAW;EACX,SAAS;EACT,aAAa;EACd,GACD,EAAE,CACH;AAKD,QAJI,EAAE,KAAkB,MAAW,IAC1B,kBAAC,GAAD,EAAkB,CAAA,GAIzB,kBAAC,GAAD;EACE,kBAAmB,KAAkB;EACrC,gBAAgB,kBAAC,GAAD,EAAkB,CAAA;YAElC,kBAAC,GAAD;GACE,mBAAmB;IAAE,QAAQ;IAAQ,OAAO;IAAQ;GAC5C;GACR,SAAS;aAER,EAAS,KAAI,MAEV,kBAAC,GAAD;IAEE,SAAS;IACT,eAAe,EAAsB,EAAG;IACxC,8BAA8B,EAAsB,KAAK;IACzD,gBAAgB,MAAO;IACvB,EALK,EAAG,SAKR,CAEJ;GACQ,CAAA;EACD,CAAA"}
1
+ {"version":3,"file":"GoogleMap.js","names":[],"sources":["../../../src/components/GoogleMap/GoogleMap.tsx"],"sourcesContent":["import {\n GeoData,\n getAllSynapseUserGeoData,\n getGoogleMapsApiKey,\n getSynapseTeamGeoData,\n} from '@/synapse-client'\nimport { GoogleMap, LoadScript } from '@react-google-maps/api'\nimport { useQuery } from '@tanstack/react-query'\nimport { useCallback, useMemo, useState } from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport { SynapseUserMarker } from './SynapseUserMarker'\n\n// Load the google maps types -- note that the script is dynamically loaded, so the module will not be immediately available\n/// <reference types=\"google.maps\" />\n\nexport type MapProps = {\n /** If selected, then the map will only show locations for users in a particular team. */\n teamId?: string\n /** Override the Google Maps API key used by the component. Useful for Storybook. */\n apiKeyOverride?: string\n}\n\n/**\n * Returns a map component showing the locations of Synapse users. Note that this component must be wrapped in a container with defined size, or else the map will not appear.\n * Note that the geolocation data is updated via a cron job, so the map will not update in real time.\n * @param props\n * @returns\n */\nfunction Map(props: MapProps) {\n const { teamId, apiKeyOverride } = props\n\n const { data: apiKey } = useQuery({\n queryKey: ['googleMapsApiKey'],\n queryFn: getGoogleMapsApiKey,\n throwOnError: true,\n })\n\n /** Tracks the currently selected marker on click */\n const [currentOpenGeoData, setCurrentOpenGeoData] = useState<GeoData | null>(\n null,\n )\n\n const { data: geoData, isLoading: isLoadingGeoData } = useQuery({\n queryKey: ['synapseGeoData', teamId],\n\n queryFn: () => {\n if (teamId) {\n return getSynapseTeamGeoData(teamId)\n } else {\n return getAllSynapseUserGeoData()\n }\n },\n\n throwOnError: true,\n })\n\n const onLoad = useCallback(\n function callback(map: google.maps.Map) {\n if (geoData) {\n const bounds = new google.maps.LatLngBounds()\n geoData.forEach(gd => {\n bounds.extend({ lat: gd.latLng[0], lng: gd.latLng[1] })\n })\n map.fitBounds(bounds)\n }\n },\n [geoData],\n )\n\n const initialOptions = useMemo(\n () => ({\n zoom: 1,\n scrollwheel: true,\n mapTypeControl: false,\n streetViewControl: false,\n draggable: true,\n maxZoom: 12,\n controlSize: 22,\n }),\n [],\n )\n if (!(apiKeyOverride || apiKey) || isLoadingGeoData) {\n return <SynapseSpinner />\n }\n\n return (\n <LoadScript\n googleMapsApiKey={(apiKeyOverride || apiKey)!}\n loadingElement={<SynapseSpinner />}\n >\n <GoogleMap\n mapContainerStyle={{ height: '100%', width: '100%' }}\n onLoad={onLoad}\n options={initialOptions}\n >\n {geoData!.map(gd => {\n return (\n <SynapseUserMarker\n key={gd.location}\n geoData={gd}\n onClick={() => setCurrentOpenGeoData(gd)}\n onInfoWindowCloseClick={() => setCurrentOpenGeoData(null)}\n showInfoWindow={gd === currentOpenGeoData}\n />\n )\n })}\n </GoogleMap>\n </LoadScript>\n )\n}\n\nexport default Map\n"],"mappings":";;;;;;;;;AA4BA,SAAS,EAAI,GAAiB;CAC5B,IAAM,EAAE,WAAQ,sBAAmB,GAE7B,EAAE,MAAM,MAAW,EAAS;EAChC,UAAU,CAAC,kBAAkB;EAC7B,SAAS;EACT,cAAc;CAChB,CAAC,GAGK,CAAC,GAAoB,KAAyB,EAClD,IACF,GAEM,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,UAAU,CAAC,kBAAkB,CAAM;EAEnC,eACM,IACK,EAAsB,CAAM,IAE5B,EAAyB;EAIpC,cAAc;CAChB,CAAC,GAEK,IAAS,EACb,SAAkB,GAAsB;EACtC,IAAI,GAAS;GACX,IAAM,IAAS,IAAI,OAAO,KAAK,aAAa;GAI5C,AAHA,EAAQ,SAAQ,MAAM;IACpB,EAAO,OAAO;KAAE,KAAK,EAAG,OAAO;KAAI,KAAK,EAAG,OAAO;IAAG,CAAC;GACxD,CAAC,GACD,EAAI,UAAU,CAAM;EACtB;CACF,GACA,CAAC,CAAO,CACV,GAEM,IAAiB,SACd;EACL,MAAM;EACN,aAAa;EACb,gBAAgB;EAChB,mBAAmB;EACnB,WAAW;EACX,SAAS;EACT,aAAa;CACf,IACA,CAAC,CACH;CAKA,OAJI,EAAE,KAAkB,MAAW,IAC1B,kBAAC,GAAD,CAAiB,CAAA,IAIxB,kBAAC,GAAD;EACE,kBAAmB,KAAkB;EACrC,gBAAgB,kBAAC,GAAD,CAAiB,CAAA;YAEjC,kBAAC,GAAD;GACE,mBAAmB;IAAE,QAAQ;IAAQ,OAAO;GAAO;GAC3C;GACR,SAAS;aAER,EAAS,KAAI,MAEV,kBAAC,GAAD;IAEE,SAAS;IACT,eAAe,EAAsB,CAAE;IACvC,8BAA8B,EAAsB,IAAI;IACxD,gBAAgB,MAAO;GACxB,GALM,EAAG,QAKT,CAEJ;EACQ,CAAA;CACD,CAAA;AAEhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseUserMarker.js","names":[],"sources":["../../../src/components/GoogleMap/SynapseUserMarker.tsx"],"sourcesContent":["import { GeoData } from '@/synapse-client'\nimport { Divider, Typography } from '@mui/material'\nimport { InfoWindow, Marker } from '@react-google-maps/api'\nimport { Fragment, useMemo } from 'react'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nconst MAP_MARKER_IMAGE_URL =\n 'https://s3.amazonaws.com/static.synapse.org/images/synapse-map-marker.png'\n\ntype SynapseUserMarkerProps = {\n /** The location and users that this point represents */\n geoData: GeoData\n /** Whether to show the list of users in a pop-up modal */\n showInfoWindow: boolean\n /** Invoked when the marker is clicked */\n onClick: () => void\n /** Invoked when the InfoWindow close button is clicked */\n onInfoWindowCloseClick: () => void\n}\n\n/**\n * A Google Maps marker that represents a particular location for one or more Synapse users.\n * @param props\n * @returns\n */\nexport function SynapseUserMarker(props: SynapseUserMarkerProps) {\n const { geoData, showInfoWindow, onClick, onInfoWindowCloseClick } = props\n const position = useMemo(\n () => ({\n lat: geoData.latLng[0],\n lng: geoData.latLng[1],\n }),\n [geoData.latLng],\n )\n\n const options = useMemo(\n () => ({\n icon: {\n url: MAP_MARKER_IMAGE_URL,\n size: new google.maps.Size(20, 32),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 32),\n },\n }),\n [],\n )\n return (\n <Marker onClick={onClick} position={position} options={options}>\n {showInfoWindow && (\n <InfoWindow onCloseClick={onInfoWindowCloseClick}>\n <>\n <Typography variant=\"body1\" component={'span'}>\n {geoData.location}\n </Typography>\n <Divider />\n {geoData.userIds.map(id => (\n <Fragment key={id}>\n <br />\n <UserBadge userId={id} openLinkInNewTab={true} />\n </Fragment>\n ))}\n </>\n </InfoWindow>\n )}\n </Marker>\n )\n}\n\nexport default SynapseUserMarker\n"],"mappings":";;;;;;AAMA,IAAM,IACJ;AAkBF,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EAAE,YAAS,mBAAgB,YAAS,8BAA2B;AAoBrE,QACE,kBAAC,GAAD;EAAiB;EAAmB,UApBrB,SACR;GACL,KAAK,EAAQ,OAAO;GACpB,KAAK,EAAQ,OAAO;GACrB,GACD,CAAC,EAAQ,OAAO,CAeoB;EAAmB,SAZzC,SACP,EACL,MAAM;GACJ,KAAK;GACL,MAAM,IAAI,OAAO,KAAK,KAAK,IAAI,GAAG;GAClC,QAAQ,IAAI,OAAO,KAAK,MAAM,GAAG,EAAE;GACnC,QAAQ,IAAI,OAAO,KAAK,MAAM,GAAG,GAAG;GACrC,EACF,GACD,EAAE,CAGqD;YACpD,KACC,kBAAC,GAAD;GAAY,cAAc;aACxB,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;KAAQ,WAAW;eACpC,EAAQ;KACE,CAAA;IACb,kBAAC,GAAD,EAAW,CAAA;IACV,EAAQ,QAAQ,KAAI,MACnB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,MAAD,EAAM,CAAA,EACN,kBAAC,GAAD;KAAW,QAAQ;KAAI,kBAAkB;KAAQ,CAAA,CACxC,EAAA,EAHI,EAGJ,CACX;IACD,EAAA,CAAA;GACQ,CAAA;EAER,CAAA"}
1
+ {"version":3,"file":"SynapseUserMarker.js","names":[],"sources":["../../../src/components/GoogleMap/SynapseUserMarker.tsx"],"sourcesContent":["import { GeoData } from '@/synapse-client'\nimport { Divider, Typography } from '@mui/material'\nimport { InfoWindow, Marker } from '@react-google-maps/api'\nimport { Fragment, useMemo } from 'react'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nconst MAP_MARKER_IMAGE_URL =\n 'https://s3.amazonaws.com/static.synapse.org/images/synapse-map-marker.png'\n\ntype SynapseUserMarkerProps = {\n /** The location and users that this point represents */\n geoData: GeoData\n /** Whether to show the list of users in a pop-up modal */\n showInfoWindow: boolean\n /** Invoked when the marker is clicked */\n onClick: () => void\n /** Invoked when the InfoWindow close button is clicked */\n onInfoWindowCloseClick: () => void\n}\n\n/**\n * A Google Maps marker that represents a particular location for one or more Synapse users.\n * @param props\n * @returns\n */\nexport function SynapseUserMarker(props: SynapseUserMarkerProps) {\n const { geoData, showInfoWindow, onClick, onInfoWindowCloseClick } = props\n const position = useMemo(\n () => ({\n lat: geoData.latLng[0],\n lng: geoData.latLng[1],\n }),\n [geoData.latLng],\n )\n\n const options = useMemo(\n () => ({\n icon: {\n url: MAP_MARKER_IMAGE_URL,\n size: new google.maps.Size(20, 32),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 32),\n },\n }),\n [],\n )\n return (\n <Marker onClick={onClick} position={position} options={options}>\n {showInfoWindow && (\n <InfoWindow onCloseClick={onInfoWindowCloseClick}>\n <>\n <Typography variant=\"body1\" component={'span'}>\n {geoData.location}\n </Typography>\n <Divider />\n {geoData.userIds.map(id => (\n <Fragment key={id}>\n <br />\n <UserBadge userId={id} openLinkInNewTab={true} />\n </Fragment>\n ))}\n </>\n </InfoWindow>\n )}\n </Marker>\n )\n}\n\nexport default SynapseUserMarker\n"],"mappings":";;;;;;AAMA,IAAM,IACJ;AAkBF,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EAAE,YAAS,mBAAgB,YAAS,8BAA2B;CAoBrE,OACE,kBAAC,GAAD;EAAiB;EAAmB,UApBrB,SACR;GACL,KAAK,EAAQ,OAAO;GACpB,KAAK,EAAQ,OAAO;EACtB,IACA,CAAC,EAAQ,MAAM,CAeqB;EAAmB,SAZzC,SACP,EACL,MAAM;GACJ,KAAK;GACL,MAAM,IAAI,OAAO,KAAK,KAAK,IAAI,EAAE;GACjC,QAAQ,IAAI,OAAO,KAAK,MAAM,GAAG,CAAC;GAClC,QAAQ,IAAI,OAAO,KAAK,MAAM,GAAG,EAAE;EACrC,EACF,IACA,CAAC,CAGsD;YACpD,KACC,kBAAC,GAAD;GAAY,cAAc;aACxB,kBAAA,GAAA,EAAA,UAAA;IACE,kBAAC,GAAD;KAAY,SAAQ;KAAQ,WAAW;eACpC,EAAQ;IACC,CAAA;IACZ,kBAAC,GAAD,CAAU,CAAA;IACT,EAAQ,QAAQ,KAAI,MACnB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,MAAD,CAAK,CAAA,GACL,kBAAC,GAAD;KAAW,QAAQ;KAAI,kBAAkB;IAAO,CAAA,CACxC,EAAA,GAHK,CAGL,CACX;GACD,EAAA,CAAA;EACQ,CAAA;CAER,CAAA;AAEZ"}
@@ -5,52 +5,52 @@ import { Fragment as n, jsx as r } from "react/jsx-runtime";
5
5
  var i = /* @__PURE__ */ function(e) {
6
6
  return e.Accessible = "Accessible", e.AccessibleWithTerms = "AccessibleWithTerms", e.AccessBlockedByRestriction = "AccessBlockedByRestriction", e.AccessBlockedByRestrictionWithPendingRequest = "AccessBlockedByRestrictionWithPendingRequest", e.AccessBlockedByRestrictionWithPendingExternalRequest = "AccessBlockedByRestrictionWithPendingExternalRequest", e.AccessBlockedByRestrictionWithPendingRDCADAPRequest = "AccessBlockedByRestrictionWithPendingRDCADAPRequest", e.AccessBlockedByRestrictionWithRejectedRDCADAPRequest = "AccessBlockedByRestrictionWithRejectedRDCADAPRequest", e.AccessBlockedByACL = "AccessBlockedByACL", e.AccessBlockedToAnonymous = "AccessBlockedToAnonymous", e.AccessibleExternalFileHandle = "AccessibleExternalFileHandle", e;
7
7
  }({}), a = {
8
- [i.AccessBlockedToAnonymous]: {
8
+ AccessBlockedToAnonymous: {
9
9
  icon: "accessClosed",
10
10
  color: (e) => e.palette.warning.main,
11
11
  tooltipText: "You must sign in to access this item."
12
12
  },
13
- [i.AccessBlockedByRestriction]: {
13
+ AccessBlockedByRestriction: {
14
14
  icon: "accessClosed",
15
15
  color: (e) => e.palette.warning.main,
16
16
  tooltipText: "You must request access to this restricted item."
17
17
  },
18
- [i.AccessBlockedByRestrictionWithPendingRequest]: {
18
+ AccessBlockedByRestrictionWithPendingRequest: {
19
19
  icon: "accessPending",
20
20
  color: (e) => e.palette.warning.main,
21
21
  tooltipText: "Your access request is pending approval."
22
22
  },
23
- [i.AccessBlockedByRestrictionWithPendingExternalRequest]: {
23
+ AccessBlockedByRestrictionWithPendingExternalRequest: {
24
24
  icon: "accessPendingCloud",
25
25
  color: (e) => e.palette.warning.main,
26
26
  tooltipText: "Your access request is pending approval from an external system."
27
27
  },
28
- [i.AccessBlockedByRestrictionWithPendingRDCADAPRequest]: {
28
+ AccessBlockedByRestrictionWithPendingRDCADAPRequest: {
29
29
  icon: "accessPendingCloud",
30
30
  color: (e) => e.palette.warning.main,
31
31
  tooltipText: "Your access request is pending approval by RDCA-DAP."
32
32
  },
33
- [i.AccessBlockedByRestrictionWithRejectedRDCADAPRequest]: {
33
+ AccessBlockedByRestrictionWithRejectedRDCADAPRequest: {
34
34
  icon: "accessClosed",
35
35
  color: (e) => e.palette.warning.main,
36
36
  tooltipText: "Your access request has been denied by RDCA-DAP."
37
37
  },
38
- [i.AccessBlockedByACL]: {
38
+ AccessBlockedByACL: {
39
39
  icon: "accessClosed",
40
40
  color: (e) => e.palette.warning.main,
41
41
  tooltipText: "You do not have download access for this item."
42
42
  },
43
- [i.AccessibleWithTerms]: {
43
+ AccessibleWithTerms: {
44
44
  icon: "accessOpen",
45
45
  color: (e) => e.palette.success.main,
46
46
  tooltipText: "View Terms"
47
47
  },
48
- [i.Accessible]: {
48
+ Accessible: {
49
49
  icon: "accessOpen",
50
50
  color: (e) => e.palette.success.main,
51
51
  tooltipText: "You have access to this item."
52
52
  },
53
- [i.AccessibleExternalFileHandle]: {
53
+ AccessibleExternalFileHandle: {
54
54
  icon: "linkOff",
55
55
  color: (e) => e.palette.grey[700],
56
56
  tooltipText: "Access may be controlled by an external system."
@@ -1 +1 @@
1
- {"version":3,"file":"AccessIcon.js","names":[],"sources":["../../../src/components/HasAccess/AccessIcon.tsx"],"sourcesContent":["import { SxProps, Theme, useTheme } from '@mui/material'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\n\nexport enum RestrictionUiType {\n Accessible = 'Accessible',\n AccessibleWithTerms = 'AccessibleWithTerms',\n AccessBlockedByRestriction = 'AccessBlockedByRestriction',\n AccessBlockedByRestrictionWithPendingRequest = 'AccessBlockedByRestrictionWithPendingRequest',\n AccessBlockedByRestrictionWithPendingExternalRequest = 'AccessBlockedByRestrictionWithPendingExternalRequest',\n AccessBlockedByRestrictionWithPendingRDCADAPRequest = 'AccessBlockedByRestrictionWithPendingRDCADAPRequest',\n AccessBlockedByRestrictionWithRejectedRDCADAPRequest = 'AccessBlockedByRestrictionWithRejectedRDCADAPRequest',\n AccessBlockedByACL = 'AccessBlockedByACL',\n AccessBlockedToAnonymous = 'AccessBlockedToAnonymous',\n AccessibleExternalFileHandle = 'AccessibleExternalFileHandle',\n}\n\nconst iconConfiguration: Record<\n RestrictionUiType,\n { icon: IconName; color: (theme: Theme) => string; tooltipText: string }\n> = {\n [RestrictionUiType.AccessBlockedToAnonymous]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You must sign in to access this item.',\n },\n [RestrictionUiType.AccessBlockedByRestriction]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You must request access to this restricted item.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingRequest]: {\n icon: 'accessPending',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request is pending approval.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingExternalRequest]: {\n icon: 'accessPendingCloud',\n color: theme => theme.palette.warning.main,\n tooltipText:\n 'Your access request is pending approval from an external system.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingRDCADAPRequest]: {\n icon: 'accessPendingCloud',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request is pending approval by RDCA-DAP.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithRejectedRDCADAPRequest]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request has been denied by RDCA-DAP.',\n },\n [RestrictionUiType.AccessBlockedByACL]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You do not have download access for this item.',\n },\n [RestrictionUiType.AccessibleWithTerms]: {\n icon: 'accessOpen',\n color: theme => theme.palette.success.main,\n tooltipText: 'View Terms',\n },\n [RestrictionUiType.Accessible]: {\n icon: 'accessOpen',\n color: theme => theme.palette.success.main,\n tooltipText: 'You have access to this item.',\n },\n [RestrictionUiType.AccessibleExternalFileHandle]: {\n icon: 'linkOff',\n color: theme => theme.palette.grey[700],\n tooltipText: 'Access may be controlled by an external system.',\n },\n}\n\nfunction AccessIcon(props: {\n restrictionUiType: RestrictionUiType\n wrap?: boolean\n sx?: SxProps<Theme>\n}) {\n const { restrictionUiType, wrap = true, sx } = props\n const theme = useTheme()\n if (restrictionUiType) {\n const configuration = iconConfiguration[restrictionUiType]\n return (\n <IconSvg\n icon={configuration.icon}\n label={configuration.tooltipText}\n wrap={wrap}\n sx={{\n color: configuration.color(theme),\n height: '16px',\n verticalAlign: 'text-top',\n ...sx,\n }}\n />\n )\n }\n // nothing is rendered until downloadType is determined\n return <></>\n}\n\nexport default AccessIcon\n"],"mappings":";;;;AAGA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,aAAa,cACb,EAAA,sBAAsB,uBACtB,EAAA,6BAA6B,8BAC7B,EAAA,+CAA+C,gDAC/C,EAAA,uDAAuD,wDACvD,EAAA,sDAAsD,uDACtD,EAAA,uDAAuD,wDACvD,EAAA,qBAAqB,sBACrB,EAAA,2BAA2B,4BAC3B,EAAA,+BAA+B;KAChC,EAEK,IAGF;EACD,EAAkB,2BAA2B;EAC5C,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,6BAA6B;EAC9C,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,+CAA+C;EAChE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,uDAAuD;EACxE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aACE;EACH;EACA,EAAkB,sDAAsD;EACvE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,uDAAuD;EACxE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,qBAAqB;EACtC,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,sBAAsB;EACvC,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,aAAa;EAC9B,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;EACd;EACA,EAAkB,+BAA+B;EAChD,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,KAAK;EACnC,aAAa;EACd;CACF;AAED,SAAS,EAAW,GAIjB;CACD,IAAM,EAAE,sBAAmB,UAAO,IAAM,UAAO,GACzC,IAAQ,GAAU;AACxB,KAAI,GAAmB;EACrB,IAAM,IAAgB,EAAkB;AACxC,SACE,kBAAC,GAAD;GACE,MAAM,EAAc;GACpB,OAAO,EAAc;GACf;GACN,IAAI;IACF,OAAO,EAAc,MAAM,EAAM;IACjC,QAAQ;IACR,eAAe;IACf,GAAG;IACJ;GACD,CAAA;;AAIN,QAAO,kBAAA,GAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"AccessIcon.js","names":[],"sources":["../../../src/components/HasAccess/AccessIcon.tsx"],"sourcesContent":["import { SxProps, Theme, useTheme } from '@mui/material'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\n\nexport enum RestrictionUiType {\n Accessible = 'Accessible',\n AccessibleWithTerms = 'AccessibleWithTerms',\n AccessBlockedByRestriction = 'AccessBlockedByRestriction',\n AccessBlockedByRestrictionWithPendingRequest = 'AccessBlockedByRestrictionWithPendingRequest',\n AccessBlockedByRestrictionWithPendingExternalRequest = 'AccessBlockedByRestrictionWithPendingExternalRequest',\n AccessBlockedByRestrictionWithPendingRDCADAPRequest = 'AccessBlockedByRestrictionWithPendingRDCADAPRequest',\n AccessBlockedByRestrictionWithRejectedRDCADAPRequest = 'AccessBlockedByRestrictionWithRejectedRDCADAPRequest',\n AccessBlockedByACL = 'AccessBlockedByACL',\n AccessBlockedToAnonymous = 'AccessBlockedToAnonymous',\n AccessibleExternalFileHandle = 'AccessibleExternalFileHandle',\n}\n\nconst iconConfiguration: Record<\n RestrictionUiType,\n { icon: IconName; color: (theme: Theme) => string; tooltipText: string }\n> = {\n [RestrictionUiType.AccessBlockedToAnonymous]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You must sign in to access this item.',\n },\n [RestrictionUiType.AccessBlockedByRestriction]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You must request access to this restricted item.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingRequest]: {\n icon: 'accessPending',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request is pending approval.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingExternalRequest]: {\n icon: 'accessPendingCloud',\n color: theme => theme.palette.warning.main,\n tooltipText:\n 'Your access request is pending approval from an external system.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithPendingRDCADAPRequest]: {\n icon: 'accessPendingCloud',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request is pending approval by RDCA-DAP.',\n },\n [RestrictionUiType.AccessBlockedByRestrictionWithRejectedRDCADAPRequest]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'Your access request has been denied by RDCA-DAP.',\n },\n [RestrictionUiType.AccessBlockedByACL]: {\n icon: 'accessClosed',\n color: theme => theme.palette.warning.main,\n tooltipText: 'You do not have download access for this item.',\n },\n [RestrictionUiType.AccessibleWithTerms]: {\n icon: 'accessOpen',\n color: theme => theme.palette.success.main,\n tooltipText: 'View Terms',\n },\n [RestrictionUiType.Accessible]: {\n icon: 'accessOpen',\n color: theme => theme.palette.success.main,\n tooltipText: 'You have access to this item.',\n },\n [RestrictionUiType.AccessibleExternalFileHandle]: {\n icon: 'linkOff',\n color: theme => theme.palette.grey[700],\n tooltipText: 'Access may be controlled by an external system.',\n },\n}\n\nfunction AccessIcon(props: {\n restrictionUiType: RestrictionUiType\n wrap?: boolean\n sx?: SxProps<Theme>\n}) {\n const { restrictionUiType, wrap = true, sx } = props\n const theme = useTheme()\n if (restrictionUiType) {\n const configuration = iconConfiguration[restrictionUiType]\n return (\n <IconSvg\n icon={configuration.icon}\n label={configuration.tooltipText}\n wrap={wrap}\n sx={{\n color: configuration.color(theme),\n height: '16px',\n verticalAlign: 'text-top',\n ...sx,\n }}\n />\n )\n }\n // nothing is rendered until downloadType is determined\n return <></>\n}\n\nexport default AccessIcon\n"],"mappings":";;;;AAGA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,aAAA,cACA,EAAA,sBAAA,uBACA,EAAA,6BAAA,8BACA,EAAA,+CAAA,gDACA,EAAA,uDAAA,wDACA,EAAA,sDAAA,uDACA,EAAA,uDAAA,wDACA,EAAA,qBAAA,sBACA,EAAA,2BAAA,4BACA,EAAA,+BAAA;AACF,EAAA,CAAA,CAAA,GAEM,IAGF;2BAC4C;EAC5C,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;6BACgD;EAC9C,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;+CACkE;EAChE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;uDAC0E;EACxE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aACE;CACJ;sDACyE;EACvE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;uDAC0E;EACxE,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;qBACwC;EACtC,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;sBACyC;EACvC,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;aACgC;EAC9B,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,QAAQ;EACtC,aAAa;CACf;+BACkD;EAChD,MAAM;EACN,QAAO,MAAS,EAAM,QAAQ,KAAK;EACnC,aAAa;CACf;AACF;AAEA,SAAS,EAAW,GAIjB;CACD,IAAM,EAAE,sBAAmB,UAAO,IAAM,UAAO,GACzC,IAAQ,EAAS;CACvB,IAAI,GAAmB;EACrB,IAAM,IAAgB,EAAkB;EACxC,OACE,kBAAC,GAAD;GACE,MAAM,EAAc;GACpB,OAAO,EAAc;GACf;GACN,IAAI;IACF,OAAO,EAAc,MAAM,CAAK;IAChC,QAAQ;IACR,eAAe;IACf,GAAG;GACL;EACD,CAAA;CAEL;CAEA,OAAO,kBAAA,GAAA,CAAI,CAAA;AACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"HasAccessV2.js","names":[],"sources":["../../../src/components/HasAccess/HasAccessV2.tsx"],"sourcesContent":["import { useGetRestrictionInformation } from '@/synapse-queries'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport { Box, Button, SxProps, Theme } from '@mui/material'\nimport {\n RestrictableObjectType,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\nimport { RestrictionUiType } from './AccessIcon'\nimport { useHasAccess } from './useHasAccess'\n\nexport type HasAccessProps = {\n onHide?: () => void\n entityId: string\n className?: string\n showButtonText?: boolean\n wrap?: boolean\n /**\n * If true, the component will show enhanced UI for the case where\n * - the entity is a FileEntity, AND\n * - the caller has permission to fetch the dataFileHandle, AND\n * - the dataFileHandle is an instance of ExternalFileHandleInterface (i.e. the file is not controlled by Synapse)\n * Note that this requires an additional API call that cannot be batched, so it should be avoided in bulk contexts if possible.\n * @default false\n */\n showExternalAccessIcon?: boolean\n sx?: SxProps<Theme>\n}\n\nconst buttonSx = { p: '0px', minWidth: 'unset' }\n\n/**\n * HasAccess shows if the user has access to the file or not. If the user doesn't have access due to a restriction,\n * then a link will be shown that opens a modal with steps to request access.\n */\nexport function HasAccessV2(props: HasAccessProps) {\n const {\n entityId,\n showButtonText = true,\n showExternalAccessIcon = false,\n } = props\n\n const {\n restrictionUiType: restrictionUiTypeValue,\n accessText,\n icon,\n handleGetAccess,\n accessRequirementDialog,\n } = useHasAccess(entityId, true, undefined, { showExternalAccessIcon })\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n // Sign-in wrapped icon or icon alone\n const iconContainer = useMemo(() => {\n return restrictionUiTypeValue ===\n RestrictionUiType.AccessBlockedToAnonymous ? (\n <Button\n sx={buttonSx}\n className={SRC_SIGN_IN_CLASS}\n onClick={ev => {\n if (ev.isTrusted) {\n /*\n There is a tricky problem - \n The portals listens to click events for buttons with the class SRC_SIGN_IN_CLASS set, it listens to this event\n so that it can display the login modal.\n\n This button has an svg inside of it which is problematic because more often than not clicking this button will \n instead click that svg. The event listener in the portals will break as a result.\n\n Though the svg may get the actual click event, because of event bubbling this button will get its onClick called.\n Once onClick is called we can manually dispatch an event off of this button. This does pose a problem, we end up in a \n infinite loop because this button keeps dispatching click events, so we can use the isTrusted to recognize if onClick was\n triggered programmatically or by user click. Lastly, using { bubbles: true } ensures the event bubbles up to the document level.\n\n */\n const clickEvent = new MouseEvent('click', { bubbles: true })\n ev.currentTarget.dispatchEvent(clickEvent)\n }\n }}\n >\n {icon}\n </Button>\n ) : (\n icon\n )\n }, [restrictionUiTypeValue])\n\n // Access Requirements icon or Icon Container\n const accessRequirementsJsxOrIconContainer = useMemo(() => {\n if (!restrictionInformation || !restrictionUiTypeValue) {\n // loading\n return <></>\n }\n const hasUnmetAccessRequirement =\n restrictionInformation?.hasUnmetAccessRequirement\n const restrictionLevel = restrictionInformation?.restrictionLevel\n let linkText = ''\n\n if (hasUnmetAccessRequirement) {\n linkText = 'Request Access'\n } else if (RestrictionLevel.OPEN === restrictionLevel) {\n // they need to sign in\n return iconContainer\n } else {\n linkText = 'View Terms'\n }\n return (\n <>\n <Button\n sx={buttonSx}\n className={props.className}\n onClick={handleGetAccess}\n >\n {icon}\n {showButtonText && (\n <Box\n sx={{\n ml: '5px',\n }}\n >\n {linkText}\n </Box>\n )}\n </Button>\n {accessRequirementDialog}\n </>\n )\n }, [\n restrictionInformation,\n restrictionUiTypeValue,\n iconContainer,\n handleGetAccess,\n props.className,\n showButtonText,\n accessRequirementDialog,\n accessText,\n icon,\n ])\n\n if (!restrictionUiTypeValue) {\n // loading\n return <></>\n }\n\n return (\n <span style={{ whiteSpace: 'nowrap' }}>\n {accessRequirementsJsxOrIconContainer}\n </span>\n )\n return accessRequirementsJsxOrIconContainer\n}\n\nexport default HasAccessV2\n"],"mappings":";;;;;;;;;;AA6BA,IAAM,IAAW;CAAE,GAAG;CAAO,UAAU;CAAS;AAMhD,SAAgB,EAAY,GAAuB;CACjD,IAAM,EACJ,aACA,oBAAiB,IACjB,4BAAyB,OACvB,GAEE,EACJ,mBAAmB,GACnB,eACA,SACA,oBACA,+BACE,EAAa,GAAU,IAAM,KAAA,GAAW,EAAE,2BAAwB,CAAC,EAEjE,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;EACX,CAAC,EAGI,IAAgB,QACb,MACL,EAAkB,2BAClB,kBAAC,GAAD;EACE,IAAI;EACJ,WAAW;EACX,UAAS,MAAM;AACb,OAAI,EAAG,WAAW;IAehB,IAAM,IAAa,IAAI,WAAW,SAAS,EAAE,SAAS,IAAM,CAAC;AAC7D,MAAG,cAAc,cAAc,EAAW;;;YAI7C;EACM,CAAA,GAET,GAED,CAAC,EAAuB,CAAC,EAGtB,IAAuC,QAAc;AACzD,MAAI,CAAC,KAA0B,CAAC,EAE9B,QAAO,kBAAA,GAAA,EAAK,CAAA;EAEd,IAAM,IACJ,GAAwB,2BACpB,IAAmB,GAAwB,kBAC7C,IAAW;AAEf,MAAI,EACF,KAAW;WACF,EAAiB,SAAS,EAEnC,QAAO;MAEP,KAAW;AAEb,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,IAAI;GACJ,WAAW,EAAM;GACjB,SAAS;aAHX,CAKG,GACA,KACC,kBAAC,GAAD;IACE,IAAI,EACF,IAAI,OACL;cAEA;IACG,CAAA,CAED;MACR,EACA,EAAA,CAAA;IAEJ;EACD;EACA;EACA;EACA;EACA,EAAM;EACN;EACA;EACA;EACA;EACD,CAAC;AAOF,QALK,IAMH,kBAAC,QAAD;EAAM,OAAO,EAAE,YAAY,UAAU;YAClC;EACI,CAAA,GANA,kBAAA,GAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"HasAccessV2.js","names":[],"sources":["../../../src/components/HasAccess/HasAccessV2.tsx"],"sourcesContent":["import { useGetRestrictionInformation } from '@/synapse-queries'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport { Box, Button, SxProps, Theme } from '@mui/material'\nimport {\n RestrictableObjectType,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\nimport { RestrictionUiType } from './AccessIcon'\nimport { useHasAccess } from './useHasAccess'\n\nexport type HasAccessProps = {\n onHide?: () => void\n entityId: string\n className?: string\n showButtonText?: boolean\n wrap?: boolean\n /**\n * If true, the component will show enhanced UI for the case where\n * - the entity is a FileEntity, AND\n * - the caller has permission to fetch the dataFileHandle, AND\n * - the dataFileHandle is an instance of ExternalFileHandleInterface (i.e. the file is not controlled by Synapse)\n * Note that this requires an additional API call that cannot be batched, so it should be avoided in bulk contexts if possible.\n * @default false\n */\n showExternalAccessIcon?: boolean\n sx?: SxProps<Theme>\n}\n\nconst buttonSx = { p: '0px', minWidth: 'unset' }\n\n/**\n * HasAccess shows if the user has access to the file or not. If the user doesn't have access due to a restriction,\n * then a link will be shown that opens a modal with steps to request access.\n */\nexport function HasAccessV2(props: HasAccessProps) {\n const {\n entityId,\n showButtonText = true,\n showExternalAccessIcon = false,\n } = props\n\n const {\n restrictionUiType: restrictionUiTypeValue,\n accessText,\n icon,\n handleGetAccess,\n accessRequirementDialog,\n } = useHasAccess(entityId, true, undefined, { showExternalAccessIcon })\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n // Sign-in wrapped icon or icon alone\n const iconContainer = useMemo(() => {\n return restrictionUiTypeValue ===\n RestrictionUiType.AccessBlockedToAnonymous ? (\n <Button\n sx={buttonSx}\n className={SRC_SIGN_IN_CLASS}\n onClick={ev => {\n if (ev.isTrusted) {\n /*\n There is a tricky problem - \n The portals listens to click events for buttons with the class SRC_SIGN_IN_CLASS set, it listens to this event\n so that it can display the login modal.\n\n This button has an svg inside of it which is problematic because more often than not clicking this button will \n instead click that svg. The event listener in the portals will break as a result.\n\n Though the svg may get the actual click event, because of event bubbling this button will get its onClick called.\n Once onClick is called we can manually dispatch an event off of this button. This does pose a problem, we end up in a \n infinite loop because this button keeps dispatching click events, so we can use the isTrusted to recognize if onClick was\n triggered programmatically or by user click. Lastly, using { bubbles: true } ensures the event bubbles up to the document level.\n\n */\n const clickEvent = new MouseEvent('click', { bubbles: true })\n ev.currentTarget.dispatchEvent(clickEvent)\n }\n }}\n >\n {icon}\n </Button>\n ) : (\n icon\n )\n }, [restrictionUiTypeValue])\n\n // Access Requirements icon or Icon Container\n const accessRequirementsJsxOrIconContainer = useMemo(() => {\n if (!restrictionInformation || !restrictionUiTypeValue) {\n // loading\n return <></>\n }\n const hasUnmetAccessRequirement =\n restrictionInformation?.hasUnmetAccessRequirement\n const restrictionLevel = restrictionInformation?.restrictionLevel\n let linkText = ''\n\n if (hasUnmetAccessRequirement) {\n linkText = 'Request Access'\n } else if (RestrictionLevel.OPEN === restrictionLevel) {\n // they need to sign in\n return iconContainer\n } else {\n linkText = 'View Terms'\n }\n return (\n <>\n <Button\n sx={buttonSx}\n className={props.className}\n onClick={handleGetAccess}\n >\n {icon}\n {showButtonText && (\n <Box\n sx={{\n ml: '5px',\n }}\n >\n {linkText}\n </Box>\n )}\n </Button>\n {accessRequirementDialog}\n </>\n )\n }, [\n restrictionInformation,\n restrictionUiTypeValue,\n iconContainer,\n handleGetAccess,\n props.className,\n showButtonText,\n accessRequirementDialog,\n accessText,\n icon,\n ])\n\n if (!restrictionUiTypeValue) {\n // loading\n return <></>\n }\n\n return (\n <span style={{ whiteSpace: 'nowrap' }}>\n {accessRequirementsJsxOrIconContainer}\n </span>\n )\n return accessRequirementsJsxOrIconContainer\n}\n\nexport default HasAccessV2\n"],"mappings":";;;;;;;;;;AA6BA,IAAM,IAAW;CAAE,GAAG;CAAO,UAAU;AAAQ;AAM/C,SAAgB,EAAY,GAAuB;CACjD,IAAM,EACJ,aACA,oBAAiB,IACjB,4BAAyB,OACvB,GAEE,EACJ,mBAAmB,GACnB,eACA,SACA,oBACA,+BACE,EAAa,GAAU,IAAM,KAAA,GAAW,EAAE,0BAAuB,CAAC,GAEhE,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;CACZ,CAAC,GAGK,IAAgB,QACb,MACL,EAAkB,2BAClB,kBAAC,GAAD;EACE,IAAI;EACJ,WAAW;EACX,UAAS,MAAM;GACb,IAAI,EAAG,WAAW;IAehB,IAAM,IAAa,IAAI,WAAW,SAAS,EAAE,SAAS,GAAK,CAAC;IAC5D,EAAG,cAAc,cAAc,CAAU;GAC3C;EACF;YAEC;CACK,CAAA,IAER,GAED,CAAC,CAAsB,CAAC,GAGrB,IAAuC,QAAc;EACzD,IAAI,CAAC,KAA0B,CAAC,GAE9B,OAAO,kBAAA,GAAA,CAAI,CAAA;EAEb,IAAM,IACJ,GAAwB,2BACpB,IAAmB,GAAwB,kBAC7C,IAAW;EAEf,IAAI,GACF,IAAW;OACN,IAAI,EAAiB,SAAS,GAEnC,OAAO;OAEP,IAAW;EAEb,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,IAAI;GACJ,WAAW,EAAM;GACjB,SAAS;aAHX,CAKG,GACA,KACC,kBAAC,GAAD;IACE,IAAI,EACF,IAAI,MACN;cAEC;GACE,CAAA,CAED;MACP,CACD,EAAA,CAAA;CAEN,GAAG;EACD;EACA;EACA;EACA;EACA,EAAM;EACN;EACA;EACA;EACA;CACF,CAAC;CAOD,OALK,IAMH,kBAAC,QAAD;EAAM,OAAO,EAAE,YAAY,SAAS;YACjC;CACG,CAAA,IANC,kBAAA,GAAA,CAAI,CAAA;AASf"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHasAccess.js","names":[],"sources":["../../../src/components/HasAccess/useHasAccess.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport AccessIcon, { RestrictionUiType } from './AccessIcon'\nimport {\n AccessRequirement,\n EntityBundle,\n FileHandle,\n RestrictableObjectType,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport {\n implementsExternalFileHandleInterface,\n isFileEntity,\n SynapseClientError,\n useSynapseContext,\n} from '@/utils'\nimport {\n useGetEntityBundle,\n useGetRestrictionInformation,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport AccessRequirementList, {\n checkHasUnsupportedRequirement,\n} from '../AccessRequirementList/AccessRequirementList'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport { UseQueryOptions } from '@tanstack/react-query'\nimport { SxProps, Theme } from '@mui/material'\n\n/**\n * This hook determines if\n * - the entity is a FileEntity, AND\n * - the caller has permission to fetch the dataFileHandle, AND\n * - the dataFileHandle is an instance of ExternalFileHandleInterface (i.e. the file is not controlled by Synapse)\n * Note that this requires an additional API call that cannot be batched, so it should be avoided in bulk contexts if possible.\n */\nfunction useGetIsExternalFileHandle(\n entityId: string,\n options: Partial<UseQueryOptions<EntityBundle, SynapseClientError, boolean>>,\n) {\n return useGetEntityBundle(entityId, undefined, undefined, {\n ...options,\n select: bundle => {\n if (!isFileEntity(bundle.entity)) {\n return false\n }\n const fileEntity = bundle.entity\n const fileHandles = bundle.fileHandles\n const fileHandle: FileHandle | undefined = fileHandles?.find(\n fileHandle => fileHandle.id === fileEntity.dataFileHandleId,\n )\n return fileHandle && implementsExternalFileHandleInterface(fileHandle)\n },\n })\n}\n\n/**\n * Determines whether an Entity is accessible for download, or if it is blocked by the ACL or unmet Access Requirements.\n *\n * To make download available, and determine if the file is downloadable via the web, see {@link DirectDownload.tsx}\n * @param entityId\n * @returns\n */\nexport function useGetRestrictionUiType(\n entityId: string,\n useGetIsExternalFileHandleOptions: Partial<\n UseQueryOptions<EntityBundle, SynapseClientError, boolean>\n >,\n): RestrictionUiType | undefined {\n const { isAuthenticated } = useSynapseContext()\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n const { data: isExternalFileHandle, isLoading: isLoadingExternalFile } =\n useGetIsExternalFileHandle(entityId, {\n enabled: useGetIsExternalFileHandleOptions.enabled,\n })\n\n if (!restrictionInformation) {\n return undefined\n }\n\n // Only check for external file handle if the feature is enabled\n if (useGetIsExternalFileHandleOptions.enabled) {\n if (isLoadingExternalFile) {\n return undefined\n }\n if (isExternalFileHandle) {\n return RestrictionUiType.AccessibleExternalFileHandle\n }\n }\n\n if (restrictionInformation.hasUnmetAccessRequirement) {\n return RestrictionUiType.AccessBlockedByRestriction\n }\n if (restrictionInformation.userEntityPermissions!.canDownload) {\n if (restrictionInformation.restrictionLevel !== RestrictionLevel.OPEN) {\n // Indicate that there are requirements, but they have been met\n return RestrictionUiType.AccessibleWithTerms\n } else {\n return RestrictionUiType.Accessible\n }\n }\n\n if (isAuthenticated) {\n return RestrictionUiType.AccessBlockedByACL\n }\n return RestrictionUiType.AccessBlockedToAnonymous\n}\n\n//* Get the access level text */\nfunction getAccessText(props: RestrictionUiType | undefined) {\n switch (props) {\n case RestrictionUiType.Accessible:\n return 'Open Access'\n case RestrictionUiType.AccessibleWithTerms:\n return 'View Terms'\n case RestrictionUiType.AccessBlockedByRestriction:\n return 'Request Access'\n case RestrictionUiType.AccessBlockedByACL:\n return 'Access Denied'\n case RestrictionUiType.AccessBlockedToAnonymous:\n return 'Sign In Required'\n case RestrictionUiType.AccessibleExternalFileHandle:\n return 'External Access'\n case undefined:\n return 'Loading...'\n default:\n return ''\n }\n}\n\n// A hook that handles the logic for computing the correct access level, getting the text, and the icon\nexport function useHasAccess(\n entityId: string,\n iconWrap: boolean = false,\n iconSx?: SxProps<Theme>,\n options: { showExternalAccessIcon?: boolean } = {},\n) {\n const [displayAccessRequirement, setDisplayAccessRequirement] =\n useState(false)\n const [accessRequirements, setAccessRequirements] = useState<\n AccessRequirement[]\n >([])\n\n const { accessToken } = useSynapseContext()\n const { showExternalAccessIcon = false } = options\n\n // get access level\n const restrictionUiType = useGetRestrictionUiType(entityId, {\n enabled: showExternalAccessIcon,\n })\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n // get access level text\n const accessText = getAccessText(restrictionUiType)\n\n // get access level icon\n const icon = (\n <AccessIcon\n restrictionUiType={restrictionUiType!}\n wrap={iconWrap}\n sx={{ ...iconSx }}\n />\n )\n\n const handleGetAccess = useCallback(() => {\n // TODO: The fetch should really happen in the AR List component.\n // If we need to open the AR page in synapse, the logic should be in the modal and it should just close itself right away\n SynapseClient.getAllAccessRequirements(accessToken, entityId).then(\n requirements => {\n if (checkHasUnsupportedRequirement(requirements)) {\n window.open(\n `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}AccessRequirements:ID=${entityId}&TYPE=ENTITY`,\n '_blank',\n )\n } else {\n setAccessRequirements(requirements)\n setDisplayAccessRequirement(true)\n }\n },\n )\n }, [accessToken, entityId])\n\n // Determine if this access type should show a clickable button\n const isClickable = useMemo(() => {\n if (!restrictionInformation || !restrictionUiType) {\n return false\n }\n\n const hasUnmetAccessRequirement =\n restrictionInformation.hasUnmetAccessRequirement\n const restrictionLevel = restrictionInformation.restrictionLevel\n\n // Clickable if there are unmet requirements or if there are terms to view\n return (\n hasUnmetAccessRequirement ||\n restrictionLevel !== RestrictionLevel.OPEN ||\n restrictionUiType === RestrictionUiType.AccessBlockedToAnonymous\n )\n }, [restrictionInformation, restrictionUiType])\n\n const accessRequirementDialog = displayAccessRequirement ? (\n <AccessRequirementList\n subjectId={entityId}\n subjectType={RestrictableObjectType.ENTITY}\n accessRequirementFromProps={accessRequirements}\n renderAsModal={true}\n onHide={() => {\n setDisplayAccessRequirement(false)\n }}\n />\n ) : null\n\n return {\n restrictionUiType,\n accessText,\n icon,\n handleGetAccess,\n isClickable,\n accessRequirementDialog,\n setDisplayAccessRequirement,\n }\n}\n\nexport default useHasAccess\n"],"mappings":";;;;;;;;;;;;;;;AAkCA,SAAS,EACP,GACA,GACA;AACA,QAAO,EAAmB,GAAU,KAAA,GAAW,KAAA,GAAW;EACxD,GAAG;EACH,SAAQ,MAAU;AAChB,OAAI,CAAC,EAAa,EAAO,OAAO,CAC9B,QAAO;GAET,IAAM,IAAa,EAAO,QAEpB,IADc,EAAO,aAC6B,MACtD,MAAc,EAAW,OAAO,EAAW,iBAC5C;AACD,UAAO,KAAc,EAAsC,EAAW;;EAEzE,CAAC;;AAUJ,SAAgB,EACd,GACA,GAG+B;CAC/B,IAAM,EAAE,uBAAoB,GAAmB,EAEzC,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;EACX,CAAC,EAEI,EAAE,MAAM,GAAsB,WAAW,MAC7C,EAA2B,GAAU,EACnC,SAAS,EAAkC,SAC5C,CAAC;AAEC,QAKL;MAAI,EAAkC,SAAS;AAC7C,OAAI,EACF;AAEF,OAAI,EACF,QAAO,EAAkB;;AAmB7B,SAfI,EAAuB,4BAClB,EAAkB,6BAEvB,EAAuB,sBAAuB,cAC5C,EAAuB,qBAAqB,EAAiB,OAIxD,EAAkB,aAFlB,EAAkB,sBAMzB,IACK,EAAkB,qBAEpB,EAAkB;;;AAI3B,SAAS,EAAc,GAAsC;AAC3D,SAAQ,GAAR;EACE,KAAK,EAAkB,WACrB,QAAO;EACT,KAAK,EAAkB,oBACrB,QAAO;EACT,KAAK,EAAkB,2BACrB,QAAO;EACT,KAAK,EAAkB,mBACrB,QAAO;EACT,KAAK,EAAkB,yBACrB,QAAO;EACT,KAAK,EAAkB,6BACrB,QAAO;EACT,KAAK,KAAA,EACH,QAAO;EACT,QACE,QAAO;;;AAKb,SAAgB,EACd,GACA,IAAoB,IACpB,GACA,IAAgD,EAAE,EAClD;CACA,IAAM,CAAC,GAA0B,KAC/B,EAAS,GAAM,EACX,CAAC,GAAoB,KAAyB,EAElD,EAAE,CAAC,EAEC,EAAE,mBAAgB,GAAmB,EACrC,EAAE,4BAAyB,OAAU,GAGrC,IAAoB,EAAwB,GAAU,EAC1D,SAAS,GACV,CAAC,EAEI,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;EACX,CAAC;AAgEF,QAAO;EACL;EACA,YA/DiB,EAAc,EA+D/B;EACA,MA5DA,kBAAC,GAAD;GACqB;GACnB,MAAM;GACN,IAAI,EAAE,GAAG,GAAQ;GACjB,CAwDF;EACA,iBAtDsB,QAAkB;AAGxC,KAAc,yBAAyB,GAAa,EAAS,CAAC,MAC5D,MAAgB;AACd,IAAI,EAA+B,EAAa,GAC9C,OAAO,KACL,GAAG,EACD,EAAuB,gBACxB,CAAC,wBAAwB,EAAS,eACnC,SACD,IAED,EAAsB,EAAa,EACnC,EAA4B,GAAK;KAGtC;KACA,CAAC,GAAa,EAAS,CAoCxB;EACA,aAlCkB,QAAc;AAChC,OAAI,CAAC,KAA0B,CAAC,EAC9B,QAAO;GAGT,IAAM,IACJ,EAAuB,2BACnB,IAAmB,EAAuB;AAGhD,UACE,KACA,MAAqB,EAAiB,QACtC,MAAsB,EAAkB;KAEzC,CAAC,GAAwB,EAAkB,CAmB5C;EACA,yBAlB8B,IAC9B,kBAAC,GAAD;GACE,WAAW;GACX,aAAa,EAAuB;GACpC,4BAA4B;GAC5B,eAAe;GACf,cAAc;AACZ,MAA4B,GAAM;;GAEpC,CAAA,GACA;EASF;EACD"}
1
+ {"version":3,"file":"useHasAccess.js","names":[],"sources":["../../../src/components/HasAccess/useHasAccess.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport AccessIcon, { RestrictionUiType } from './AccessIcon'\nimport {\n AccessRequirement,\n EntityBundle,\n FileHandle,\n RestrictableObjectType,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport {\n implementsExternalFileHandleInterface,\n isFileEntity,\n SynapseClientError,\n useSynapseContext,\n} from '@/utils'\nimport {\n useGetEntityBundle,\n useGetRestrictionInformation,\n} from '@/synapse-queries'\nimport SynapseClient from '@/synapse-client'\nimport AccessRequirementList, {\n checkHasUnsupportedRequirement,\n} from '../AccessRequirementList/AccessRequirementList'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport { UseQueryOptions } from '@tanstack/react-query'\nimport { SxProps, Theme } from '@mui/material'\n\n/**\n * This hook determines if\n * - the entity is a FileEntity, AND\n * - the caller has permission to fetch the dataFileHandle, AND\n * - the dataFileHandle is an instance of ExternalFileHandleInterface (i.e. the file is not controlled by Synapse)\n * Note that this requires an additional API call that cannot be batched, so it should be avoided in bulk contexts if possible.\n */\nfunction useGetIsExternalFileHandle(\n entityId: string,\n options: Partial<UseQueryOptions<EntityBundle, SynapseClientError, boolean>>,\n) {\n return useGetEntityBundle(entityId, undefined, undefined, {\n ...options,\n select: bundle => {\n if (!isFileEntity(bundle.entity)) {\n return false\n }\n const fileEntity = bundle.entity\n const fileHandles = bundle.fileHandles\n const fileHandle: FileHandle | undefined = fileHandles?.find(\n fileHandle => fileHandle.id === fileEntity.dataFileHandleId,\n )\n return fileHandle && implementsExternalFileHandleInterface(fileHandle)\n },\n })\n}\n\n/**\n * Determines whether an Entity is accessible for download, or if it is blocked by the ACL or unmet Access Requirements.\n *\n * To make download available, and determine if the file is downloadable via the web, see {@link DirectDownload.tsx}\n * @param entityId\n * @returns\n */\nexport function useGetRestrictionUiType(\n entityId: string,\n useGetIsExternalFileHandleOptions: Partial<\n UseQueryOptions<EntityBundle, SynapseClientError, boolean>\n >,\n): RestrictionUiType | undefined {\n const { isAuthenticated } = useSynapseContext()\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n const { data: isExternalFileHandle, isLoading: isLoadingExternalFile } =\n useGetIsExternalFileHandle(entityId, {\n enabled: useGetIsExternalFileHandleOptions.enabled,\n })\n\n if (!restrictionInformation) {\n return undefined\n }\n\n // Only check for external file handle if the feature is enabled\n if (useGetIsExternalFileHandleOptions.enabled) {\n if (isLoadingExternalFile) {\n return undefined\n }\n if (isExternalFileHandle) {\n return RestrictionUiType.AccessibleExternalFileHandle\n }\n }\n\n if (restrictionInformation.hasUnmetAccessRequirement) {\n return RestrictionUiType.AccessBlockedByRestriction\n }\n if (restrictionInformation.userEntityPermissions!.canDownload) {\n if (restrictionInformation.restrictionLevel !== RestrictionLevel.OPEN) {\n // Indicate that there are requirements, but they have been met\n return RestrictionUiType.AccessibleWithTerms\n } else {\n return RestrictionUiType.Accessible\n }\n }\n\n if (isAuthenticated) {\n return RestrictionUiType.AccessBlockedByACL\n }\n return RestrictionUiType.AccessBlockedToAnonymous\n}\n\n//* Get the access level text */\nfunction getAccessText(props: RestrictionUiType | undefined) {\n switch (props) {\n case RestrictionUiType.Accessible:\n return 'Open Access'\n case RestrictionUiType.AccessibleWithTerms:\n return 'View Terms'\n case RestrictionUiType.AccessBlockedByRestriction:\n return 'Request Access'\n case RestrictionUiType.AccessBlockedByACL:\n return 'Access Denied'\n case RestrictionUiType.AccessBlockedToAnonymous:\n return 'Sign In Required'\n case RestrictionUiType.AccessibleExternalFileHandle:\n return 'External Access'\n case undefined:\n return 'Loading...'\n default:\n return ''\n }\n}\n\n// A hook that handles the logic for computing the correct access level, getting the text, and the icon\nexport function useHasAccess(\n entityId: string,\n iconWrap: boolean = false,\n iconSx?: SxProps<Theme>,\n options: { showExternalAccessIcon?: boolean } = {},\n) {\n const [displayAccessRequirement, setDisplayAccessRequirement] =\n useState(false)\n const [accessRequirements, setAccessRequirements] = useState<\n AccessRequirement[]\n >([])\n\n const { accessToken } = useSynapseContext()\n const { showExternalAccessIcon = false } = options\n\n // get access level\n const restrictionUiType = useGetRestrictionUiType(entityId, {\n enabled: showExternalAccessIcon,\n })\n\n const { data: restrictionInformation } = useGetRestrictionInformation({\n restrictableObjectType: RestrictableObjectType.ENTITY,\n objectId: entityId,\n })\n\n // get access level text\n const accessText = getAccessText(restrictionUiType)\n\n // get access level icon\n const icon = (\n <AccessIcon\n restrictionUiType={restrictionUiType!}\n wrap={iconWrap}\n sx={{ ...iconSx }}\n />\n )\n\n const handleGetAccess = useCallback(() => {\n // TODO: The fetch should really happen in the AR List component.\n // If we need to open the AR page in synapse, the logic should be in the modal and it should just close itself right away\n SynapseClient.getAllAccessRequirements(accessToken, entityId).then(\n requirements => {\n if (checkHasUnsupportedRequirement(requirements)) {\n window.open(\n `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}AccessRequirements:ID=${entityId}&TYPE=ENTITY`,\n '_blank',\n )\n } else {\n setAccessRequirements(requirements)\n setDisplayAccessRequirement(true)\n }\n },\n )\n }, [accessToken, entityId])\n\n // Determine if this access type should show a clickable button\n const isClickable = useMemo(() => {\n if (!restrictionInformation || !restrictionUiType) {\n return false\n }\n\n const hasUnmetAccessRequirement =\n restrictionInformation.hasUnmetAccessRequirement\n const restrictionLevel = restrictionInformation.restrictionLevel\n\n // Clickable if there are unmet requirements or if there are terms to view\n return (\n hasUnmetAccessRequirement ||\n restrictionLevel !== RestrictionLevel.OPEN ||\n restrictionUiType === RestrictionUiType.AccessBlockedToAnonymous\n )\n }, [restrictionInformation, restrictionUiType])\n\n const accessRequirementDialog = displayAccessRequirement ? (\n <AccessRequirementList\n subjectId={entityId}\n subjectType={RestrictableObjectType.ENTITY}\n accessRequirementFromProps={accessRequirements}\n renderAsModal={true}\n onHide={() => {\n setDisplayAccessRequirement(false)\n }}\n />\n ) : null\n\n return {\n restrictionUiType,\n accessText,\n icon,\n handleGetAccess,\n isClickable,\n accessRequirementDialog,\n setDisplayAccessRequirement,\n }\n}\n\nexport default useHasAccess\n"],"mappings":";;;;;;;;;;;;;;;AAkCA,SAAS,EACP,GACA,GACA;CACA,OAAO,EAAmB,GAAU,KAAA,GAAW,KAAA,GAAW;EACxD,GAAG;EACH,SAAQ,MAAU;GAChB,IAAI,CAAC,EAAa,EAAO,MAAM,GAC7B,OAAO;GAET,IAAM,IAAa,EAAO,QAEpB,IADc,EAAO,aAC6B,MACtD,MAAc,EAAW,OAAO,EAAW,gBAC7C;GACA,OAAO,KAAc,EAAsC,CAAU;EACvE;CACF,CAAC;AACH;AASA,SAAgB,EACd,GACA,GAG+B;CAC/B,IAAM,EAAE,uBAAoB,EAAkB,GAExC,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;CACZ,CAAC,GAEK,EAAE,MAAM,GAAsB,WAAW,MAC7C,EAA2B,GAAU,EACnC,SAAS,EAAkC,QAC7C,CAAC;CAEE,OAKL;MAAI,EAAkC,SAAS;GAC7C,IAAI,GACF;GAEF,IAAI,GACF,OAAO,EAAkB;EAE7B;EAiBA,OAfI,EAAuB,4BAClB,EAAkB,6BAEvB,EAAuB,sBAAuB,cAC5C,EAAuB,qBAAqB,EAAiB,OAIxD,EAAkB,aAFlB,EAAkB,sBAMzB,IACK,EAAkB,qBAEpB,EAAkB;CAjBzB;AAkBF;AAGA,SAAS,EAAc,GAAsC;CAC3D,QAAQ,GAAR;EACE,KAAK,EAAkB,YACrB,OAAO;EACT,KAAK,EAAkB,qBACrB,OAAO;EACT,KAAK,EAAkB,4BACrB,OAAO;EACT,KAAK,EAAkB,oBACrB,OAAO;EACT,KAAK,EAAkB,0BACrB,OAAO;EACT,KAAK,EAAkB,8BACrB,OAAO;EACT,KAAK,KAAA,GACH,OAAO;EACT,SACE,OAAO;CACX;AACF;AAGA,SAAgB,EACd,GACA,IAAoB,IACpB,GACA,IAAgD,CAAC,GACjD;CACA,IAAM,CAAC,GAA0B,KAC/B,EAAS,EAAK,GACV,CAAC,GAAoB,KAAyB,EAElD,CAAC,CAAC,GAEE,EAAE,mBAAgB,EAAkB,GACpC,EAAE,4BAAyB,OAAU,GAGrC,IAAoB,EAAwB,GAAU,EAC1D,SAAS,EACX,CAAC,GAEK,EAAE,MAAM,MAA2B,EAA6B;EACpE,wBAAwB,EAAuB;EAC/C,UAAU;CACZ,CAAC;CAgED,OAAO;EACL;EACA,YA/DiB,EAAc,CA+D/B;EACA,MA5DA,kBAAC,GAAD;GACqB;GACnB,MAAM;GACN,IAAI,EAAE,GAAG,EAAO;EACjB,CAwDD;EACA,iBAtDsB,QAAkB;GAGxC,EAAc,yBAAyB,GAAa,CAAQ,EAAE,MAC5D,MAAgB;IACd,AAAI,EAA+B,CAAY,IAC7C,OAAO,KACL,GAAG,EACD,EAAuB,eACzB,EAAE,wBAAwB,EAAS,eACnC,QACF,KAEA,EAAsB,CAAY,GAClC,EAA4B,EAAI;GAEpC,CACF;EACF,GAAG,CAAC,GAAa,CAAQ,CAoCvB;EACA,aAlCkB,QAAc;GAChC,IAAI,CAAC,KAA0B,CAAC,GAC9B,OAAO;GAGT,IAAM,IACJ,EAAuB,2BACnB,IAAmB,EAAuB;GAGhD,OACE,KACA,MAAqB,EAAiB,QACtC,MAAsB,EAAkB;EAE5C,GAAG,CAAC,GAAwB,CAAiB,CAmB3C;EACA,yBAlB8B,IAC9B,kBAAC,GAAD;GACE,WAAW;GACX,aAAa,EAAuB;GACpC,4BAA4B;GAC5B,eAAe;GACf,cAAc;IACZ,EAA4B,EAAK;GACnC;EACD,CAAA,IACC;EASF;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCardV2.js","names":[],"sources":["../../../src/components/HeaderCard/HeaderCardV2.tsx"],"sourcesContent":["import { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport React, { forwardRef, ForwardedRef } from 'react'\nimport {\n Box,\n Card,\n Typography,\n // Stack,\n // ButtonProps,\n useTheme,\n useMediaQuery,\n} from '@mui/material'\nimport { DescriptionConfig } from '../CardContainerLogic'\nimport { CollapsibleDescription } from '../GenericCard/CollapsibleDescription'\nimport { GenericCardProps } from '@/components/GenericCard/GenericCard'\nimport { useDocumentMetadata } from '@/utils/context/DocumentMetadataContext'\nimport { SmartButton } from '../SmartLink/SmartButton'\nimport { SmartLink } from '../SmartLink/SmartLink'\n\nexport type HeaderCardV2Props = {\n /** Type label displayed at the top of the card */\n type: string\n /** Main title of the card */\n title: string\n /** Optional subtitle, often used for author or additional context */\n subTitle?: string\n /** Main description text */\n description: string\n /** Maximum number of secondary labels to show before \"Show More\" */\n secondaryLabelLimit?: number\n /** Array of label-value pairs to display in the card footer */\n values?: CardLabel[]\n /** Whether to align the card to the left navigation */\n isAlignToLeftNav?: boolean\n /** Configuration for the collapsible description */\n descriptionConfig?: DescriptionConfig\n /** Character count threshold for truncating description (default 400) */\n charCountCutoff?: number\n /** Optional URL for making the title clickable */\n href?: string\n /** Target attribute for the title link */\n target?: string\n /** Icon element to display */\n icon: React.ReactNode\n /** Optional background image URL */\n backgroundImage?: string\n /** Force values section to appear below main content */\n forceStackedLayout?: boolean\n /** Optional CTA link(s) to display below description. Accepts a single config or an array. */\n ctaLinkConfig?: GenericCardProps['ctaLinkConfig']\n}\n\n/**\n * HeaderCardV2 Component OUT OF DATE COMMENTS\n *\n * A material-UI based card component for displaying detailed information with metadata.\n * This component supports responsive layouts, background images, and dynamic content\n * organization.\n *\n * Layout Structure:\n\n ```\n┌───────────────────────────────────────────────────────────────┐\n│ ┌─────┐ Type Label │\n│ │Icon │ Title │\n│ │ │ Subtitle │\n│ └─────┘ │\n│ Description Metadata │\n│ [Show More/Less] -------- │\n│ Label 1 Value 1 │\n│ [External Site Button] Label 2 Value 2 │\n└───────────────────────────────────────────────────────────────┘\n ```\n *\n * Features:\n * - Responsive layout with configurable breakpoints\n * - Optional background image with overlay\n * - Collapsible description text\n * - Right-aligned or stacked metadata section\n * - Call-to-action buttons\n * - SEO-friendly meta tags management\n *\n * Meta Tags Handling:\n * - Updates document title with card title\n * - Sets meta description from card description/subtitle\n * - Restores original meta data on component cleanup\n *\n * Layout Modes:\n * - Default: Icon + Content | Metadata (on desktop)\n * - Stacked: Full width content with metadata below\n * - Mobile: All sections stack vertically\n *\n * @component\n * @example\n * ```tsx\n * <HeaderCardV2\n * type=\"Study\"\n * title=\"Example Study\"\n * description=\"Study description\"\n * values={[['Status', 'Active'], ['Access', 'Public']]}\n * icon={<StudyIcon />}\n * ctaLinkConfig={{text: \"View Standard on External Website\", link: \"url\"}}\n * />\n * ```\n\n * Core component logic:\n * 1. Responsive Layout:\n * - Uses MUI Grid for flexible layouts\n * - Switches to stacked layout on mobile, when forceStackedLayout is true,\n *\n * 2. Meta Tags:\n * - Manages document title and meta description\n * - Preserves original values for cleanup\n *\n * 3. Content Sections:\n * - Icon: Optional, maintains aspect ratio\n * - Main Content: Type, title, subtitle, description\n * - Metadata: Right-aligned or stacked key-value pairs\n * - CTA Button: Optional button link to external site\n *\n * 4. Styling:\n * - Background image support with overlay\n * - Consistent spacing using MUI theme\n * - Responsive typography\n * - Optional left-nav alignment\n */\nconst HeaderCardV2 = forwardRef(function HeaderCardV2(\n props: HeaderCardV2Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n // type,\n title,\n subTitle = '',\n description,\n values,\n // secondaryLabelLimit,\n isAlignToLeftNav,\n descriptionConfig,\n charCountCutoff,\n href,\n target,\n icon,\n backgroundImage,\n forceStackedLayout = false,\n ctaLinkConfig,\n } = props\n\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n\n let useStackedLayout = false\n if (forceStackedLayout || isMobile) {\n useStackedLayout = true\n } else {\n // useStackedLayout = metadataHeight > descriptionHeight\n // as per https://github.com/bridge2ai/b2ai-standards-registry/issues/210#issuecomment-2773706202,\n // constrain metadata to 5-line expandable block\n }\n\n const descriptionConfiguration: DescriptionConfig = {\n ...descriptionConfig,\n showFullDescriptionByDefault:\n descriptionConfig?.showFullDescriptionByDefault ?? false,\n }\n const metadataDescription = description || subTitle || undefined\n useDocumentMetadata({\n title,\n description: metadataDescription,\n priority: 100,\n })\n\n // ctaLink stuff - normalize to array\n const ctaLinkConfigs = ctaLinkConfig\n ? Array.isArray(ctaLinkConfig)\n ? ctaLinkConfig\n : [ctaLinkConfig]\n : []\n const ctaLinkBox =\n ctaLinkConfigs.length > 0 ? (\n <Box\n sx={{ display: 'flex', gap: 2, flexWrap: 'wrap', marginTop: '22px' }}\n >\n {ctaLinkConfigs.map((config, index) => (\n <SmartButton\n key={index}\n variant=\"outlined\"\n href={config?.href}\n target={config?.target}\n size=\"large\"\n sx={{\n color: '#FFF',\n '&:hover': {\n color: '#FFF',\n textDecorationColor: '#FFF',\n border: '2px solid white',\n },\n '&:focus': { color: '#FFF' },\n textDecorationColor: '#FFF',\n padding: '6px 24px',\n border: '1px solid white',\n }}\n >\n {config?.text}\n </SmartButton>\n ))}\n </Box>\n ) : null\n\n return (\n <Card\n component={'div'}\n ref={ref}\n sx={{\n borderRadius: 0,\n boxShadow: 'none',\n position: 'relative',\n ...(backgroundImage && {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundImage: `url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n opacity: 0.1,\n zIndex: 0,\n },\n }),\n ...(isAlignToLeftNav &&\n {\n // Add any special styles for aligned cards\n }),\n }}\n className={`SRC-portalCard SRC-portalCardHeader ${\n isAlignToLeftNav ? 'isAlignToLeftNav' : ''\n }`}\n >\n <Box\n sx={{\n marginLeft: 'auto',\n marginRight: 'auto',\n maxWidth: '1400px',\n display: 'grid',\n gridTemplateColumns: '1fr 12fr 1fr',\n '& > *': {\n gridColumn: 2,\n },\n paddingBottom: '25px',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: '64px', // Set minimum height to ensure proper centering space\n gap: 1,\n }}\n >\n {icon && (\n <Box\n sx={{\n height: '120px',\n }}\n >\n {icon}\n </Box>\n )}\n\n <Box sx={{}}>\n {/* Title */}\n <Typography\n sx={{\n mb: 1,\n fontSize: '2.5rem',\n letterSpacing: '0.1em', // Add letter spacing\n marginBottom: '0.6em',\n }}\n >\n {href ? (\n <SmartLink\n href={href}\n target={target}\n underline=\"hover\"\n color=\"inherit\"\n >\n {title}\n </SmartLink>\n ) : (\n title\n )}\n </Typography>\n {/* Subtitle */}\n {subTitle && (\n <Typography\n variant=\"body1\"\n color=\"inherit\"\n sx={{\n fontStyle: 'italic',\n fontSize: '1.5rem',\n }}\n >\n {subTitle}\n </Typography>\n )}\n </Box>\n </Box>\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: useStackedLayout ? 'column' : 'row',\n flexWrap: useStackedLayout ? 'nowrap' : 'wrap',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n gap: 2,\n }}\n >\n <Box\n style={{\n flexBasis: useStackedLayout ? '100%' : 'min(65ch, 100%)',\n width: useStackedLayout ? '100%' : 'auto',\n }}\n >\n <CollapsibleDescription\n description={description}\n descriptionSubTitle=\"\"\n descriptionConfig={descriptionConfiguration}\n charCountCutoff={charCountCutoff}\n />\n {ctaLinkBox}\n </Box>\n {values && (\n <Box\n sx={{\n width: useStackedLayout ? '100%' : '30%',\n marginTop: useStackedLayout ? 2 : 0,\n alignItems: 'flex-start',\n }}\n >\n <MetadataTable data={values} />\n </Box>\n )}\n </Box>\n </Box>\n </Card>\n )\n})\n\ntype MetadataTableProps = {\n data: CardLabel[]\n}\n\nfunction MetadataTable({ data }: MetadataTableProps) {\n return (\n <table\n style={{\n width: '100%',\n borderCollapse: 'collapse',\n }}\n >\n <tbody>\n {data.map((item, index) => (\n <tr key={item.columnName || index}>\n <td\n style={{\n width: '1%',\n whiteSpace: 'nowrap',\n padding: '0px 16px 8px 0',\n verticalAlign: 'top',\n fontWeight: 'bold',\n }}\n >\n {item.columnDisplayName}\n </td>\n <td\n style={{\n width: 'auto',\n paddingBottom: '12px',\n verticalAlign: 'top',\n wordBreak: 'break-word',\n }}\n >\n {item.value}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n\nexport default HeaderCardV2\n"],"mappings":";;;;;;;;AA6HA,IAAM,IAAe,EAAW,SAC9B,GACA,GACA;CACA,IAAM,EAEJ,UACA,cAAW,IACX,gBACA,WAEA,qBACA,sBACA,oBACA,SACA,WACA,SACA,oBACA,wBAAqB,IACrB,qBACE,GAGE,IAAW,EADH,GACiB,CAAM,YAAY,KAAK,KAAK,CAAC,EAExD,IAAmB;AACvB,EAAI,KAAsB,OACxB,IAAmB;CAOrB,IAAM,IAA8C;EAClD,GAAG;EACH,8BACE,GAAmB,gCAAgC;EACtD;AAED,GAAoB;EAClB;EACA,aAH0B,KAAe,KAAY,KAAA;EAIrD,UAAU;EACX,CAAC;CAGF,IAAM,IAAiB,IACnB,MAAM,QAAQ,EAAc,GAC1B,IACA,CAAC,EAAc,GACjB,EAAE,EACA,IACJ,EAAe,SAAS,IACtB,kBAAC,GAAD;EACE,IAAI;GAAE,SAAS;GAAQ,KAAK;GAAG,UAAU;GAAQ,WAAW;GAAQ;YAEnE,EAAe,KAAK,GAAQ,MAC3B,kBAAC,GAAD;GAEE,SAAQ;GACR,MAAM,GAAQ;GACd,QAAQ,GAAQ;GAChB,MAAK;GACL,IAAI;IACF,OAAO;IACP,WAAW;KACT,OAAO;KACP,qBAAqB;KACrB,QAAQ;KACT;IACD,WAAW,EAAE,OAAO,QAAQ;IAC5B,qBAAqB;IACrB,SAAS;IACT,QAAQ;IACT;aAEA,GAAQ;GACG,EAnBP,EAmBO,CACd;EACE,CAAA,GACJ;AAEN,QACE,kBAAC,GAAD;EACE,WAAW;EACN;EACL,IAAI;GACF,cAAc;GACd,WAAW;GACX,UAAU;GACV,GAAI,KAAmB,EACrB,aAAa;IACX,SAAS;IACT,UAAU;IACV,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,iBAAiB,OAAO,EAAgB;IACxC,gBAAgB;IAChB,oBAAoB;IACpB,SAAS;IACT,QAAQ;IACT,EACF;GACD,GAAI,KACF,EAEC;GACJ;EACD,WAAW,uCACT,IAAmB,qBAAqB;YAG1C,kBAAC,GAAD;GACE,IAAI;IACF,YAAY;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,qBAAqB;IACrB,SAAS,EACP,YAAY,GACb;IACD,eAAe;IAChB;aAXH,CAaE,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,YAAY;KACZ,WAAW;KACX,KAAK;KACN;cAPH,CASG,KACC,kBAAC,GAAD;KACE,IAAI,EACF,QAAQ,SACT;eAEA;KACG,CAAA,EAGR,kBAAC,GAAD;KAAK,IAAI,EAAE;eAAX,CAEE,kBAAC,GAAD;MACE,IAAI;OACF,IAAI;OACJ,UAAU;OACV,eAAe;OACf,cAAc;OACf;gBAEA,IACC,kBAAC,GAAD;OACQ;OACE;OACR,WAAU;OACV,OAAM;iBAEL;OACS,CAAA,GAEZ;MAES,CAAA,EAEZ,KACC,kBAAC,GAAD;MACE,SAAQ;MACR,OAAM;MACN,IAAI;OACF,WAAW;OACX,UAAU;OACX;gBAEA;MACU,CAAA,CAEX;OACF;OAEN,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe,IAAmB,WAAW;KAC7C,UAAU,IAAmB,WAAW;KACxC,gBAAgB;KAChB,YAAY;KACZ,KAAK;KACN;cARH,CAUE,kBAAC,GAAD;KACE,OAAO;MACL,WAAW,IAAmB,SAAS;MACvC,OAAO,IAAmB,SAAS;MACpC;eAJH,CAME,kBAAC,GAAD;MACe;MACb,qBAAoB;MACpB,mBAAmB;MACF;MACjB,CAAA,EACD,EACG;QACL,KACC,kBAAC,GAAD;KACE,IAAI;MACF,OAAO,IAAmB,SAAS;MACnC,WAAW,IAAmB,IAAI;MAClC,YAAY;MACb;eAED,kBAAC,GAAD,EAAe,MAAM,GAAU,CAAA;KAC3B,CAAA,CAEJ;MACF;;EACD,CAAA;EAET;AAMF,SAAS,EAAc,EAAE,WAA4B;AACnD,QACE,kBAAC,SAAD;EACE,OAAO;GACL,OAAO;GACP,gBAAgB;GACjB;YAED,kBAAC,SAAD,EAAA,UACG,EAAK,KAAK,GAAM,MACf,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GACE,OAAO;IACL,OAAO;IACP,YAAY;IACZ,SAAS;IACT,eAAe;IACf,YAAY;IACb;aAEA,EAAK;GACH,CAAA,EACL,kBAAC,MAAD;GACE,OAAO;IACL,OAAO;IACP,eAAe;IACf,eAAe;IACf,WAAW;IACZ;aAEA,EAAK;GACH,CAAA,CACF,EAAA,EAtBI,EAAK,cAAc,EAsBvB,CACL,EACI,CAAA;EACF,CAAA"}
1
+ {"version":3,"file":"HeaderCardV2.js","names":[],"sources":["../../../src/components/HeaderCard/HeaderCardV2.tsx"],"sourcesContent":["import { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport React, { forwardRef, ForwardedRef } from 'react'\nimport {\n Box,\n Card,\n Typography,\n // Stack,\n // ButtonProps,\n useTheme,\n useMediaQuery,\n} from '@mui/material'\nimport { DescriptionConfig } from '../CardContainerLogic'\nimport { CollapsibleDescription } from '../GenericCard/CollapsibleDescription'\nimport { GenericCardProps } from '@/components/GenericCard/GenericCard'\nimport { useDocumentMetadata } from '@/utils/context/DocumentMetadataContext'\nimport { SmartButton } from '../SmartLink/SmartButton'\nimport { SmartLink } from '../SmartLink/SmartLink'\n\nexport type HeaderCardV2Props = {\n /** Type label displayed at the top of the card */\n type: string\n /** Main title of the card */\n title: string\n /** Optional subtitle, often used for author or additional context */\n subTitle?: string\n /** Main description text */\n description: string\n /** Maximum number of secondary labels to show before \"Show More\" */\n secondaryLabelLimit?: number\n /** Array of label-value pairs to display in the card footer */\n values?: CardLabel[]\n /** Whether to align the card to the left navigation */\n isAlignToLeftNav?: boolean\n /** Configuration for the collapsible description */\n descriptionConfig?: DescriptionConfig\n /** Character count threshold for truncating description (default 400) */\n charCountCutoff?: number\n /** Optional URL for making the title clickable */\n href?: string\n /** Target attribute for the title link */\n target?: string\n /** Icon element to display */\n icon: React.ReactNode\n /** Optional background image URL */\n backgroundImage?: string\n /** Force values section to appear below main content */\n forceStackedLayout?: boolean\n /** Optional CTA link(s) to display below description. Accepts a single config or an array. */\n ctaLinkConfig?: GenericCardProps['ctaLinkConfig']\n}\n\n/**\n * HeaderCardV2 Component OUT OF DATE COMMENTS\n *\n * A material-UI based card component for displaying detailed information with metadata.\n * This component supports responsive layouts, background images, and dynamic content\n * organization.\n *\n * Layout Structure:\n\n ```\n┌───────────────────────────────────────────────────────────────┐\n│ ┌─────┐ Type Label │\n│ │Icon │ Title │\n│ │ │ Subtitle │\n│ └─────┘ │\n│ Description Metadata │\n│ [Show More/Less] -------- │\n│ Label 1 Value 1 │\n│ [External Site Button] Label 2 Value 2 │\n└───────────────────────────────────────────────────────────────┘\n ```\n *\n * Features:\n * - Responsive layout with configurable breakpoints\n * - Optional background image with overlay\n * - Collapsible description text\n * - Right-aligned or stacked metadata section\n * - Call-to-action buttons\n * - SEO-friendly meta tags management\n *\n * Meta Tags Handling:\n * - Updates document title with card title\n * - Sets meta description from card description/subtitle\n * - Restores original meta data on component cleanup\n *\n * Layout Modes:\n * - Default: Icon + Content | Metadata (on desktop)\n * - Stacked: Full width content with metadata below\n * - Mobile: All sections stack vertically\n *\n * @component\n * @example\n * ```tsx\n * <HeaderCardV2\n * type=\"Study\"\n * title=\"Example Study\"\n * description=\"Study description\"\n * values={[['Status', 'Active'], ['Access', 'Public']]}\n * icon={<StudyIcon />}\n * ctaLinkConfig={{text: \"View Standard on External Website\", link: \"url\"}}\n * />\n * ```\n\n * Core component logic:\n * 1. Responsive Layout:\n * - Uses MUI Grid for flexible layouts\n * - Switches to stacked layout on mobile, when forceStackedLayout is true,\n *\n * 2. Meta Tags:\n * - Manages document title and meta description\n * - Preserves original values for cleanup\n *\n * 3. Content Sections:\n * - Icon: Optional, maintains aspect ratio\n * - Main Content: Type, title, subtitle, description\n * - Metadata: Right-aligned or stacked key-value pairs\n * - CTA Button: Optional button link to external site\n *\n * 4. Styling:\n * - Background image support with overlay\n * - Consistent spacing using MUI theme\n * - Responsive typography\n * - Optional left-nav alignment\n */\nconst HeaderCardV2 = forwardRef(function HeaderCardV2(\n props: HeaderCardV2Props,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n // type,\n title,\n subTitle = '',\n description,\n values,\n // secondaryLabelLimit,\n isAlignToLeftNav,\n descriptionConfig,\n charCountCutoff,\n href,\n target,\n icon,\n backgroundImage,\n forceStackedLayout = false,\n ctaLinkConfig,\n } = props\n\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('md'))\n\n let useStackedLayout = false\n if (forceStackedLayout || isMobile) {\n useStackedLayout = true\n } else {\n // useStackedLayout = metadataHeight > descriptionHeight\n // as per https://github.com/bridge2ai/b2ai-standards-registry/issues/210#issuecomment-2773706202,\n // constrain metadata to 5-line expandable block\n }\n\n const descriptionConfiguration: DescriptionConfig = {\n ...descriptionConfig,\n showFullDescriptionByDefault:\n descriptionConfig?.showFullDescriptionByDefault ?? false,\n }\n const metadataDescription = description || subTitle || undefined\n useDocumentMetadata({\n title,\n description: metadataDescription,\n priority: 100,\n })\n\n // ctaLink stuff - normalize to array\n const ctaLinkConfigs = ctaLinkConfig\n ? Array.isArray(ctaLinkConfig)\n ? ctaLinkConfig\n : [ctaLinkConfig]\n : []\n const ctaLinkBox =\n ctaLinkConfigs.length > 0 ? (\n <Box\n sx={{ display: 'flex', gap: 2, flexWrap: 'wrap', marginTop: '22px' }}\n >\n {ctaLinkConfigs.map((config, index) => (\n <SmartButton\n key={index}\n variant=\"outlined\"\n href={config?.href}\n target={config?.target}\n size=\"large\"\n sx={{\n color: '#FFF',\n '&:hover': {\n color: '#FFF',\n textDecorationColor: '#FFF',\n border: '2px solid white',\n },\n '&:focus': { color: '#FFF' },\n textDecorationColor: '#FFF',\n padding: '6px 24px',\n border: '1px solid white',\n }}\n >\n {config?.text}\n </SmartButton>\n ))}\n </Box>\n ) : null\n\n return (\n <Card\n component={'div'}\n ref={ref}\n sx={{\n borderRadius: 0,\n boxShadow: 'none',\n position: 'relative',\n ...(backgroundImage && {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundImage: `url(${backgroundImage})`,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n opacity: 0.1,\n zIndex: 0,\n },\n }),\n ...(isAlignToLeftNav &&\n {\n // Add any special styles for aligned cards\n }),\n }}\n className={`SRC-portalCard SRC-portalCardHeader ${\n isAlignToLeftNav ? 'isAlignToLeftNav' : ''\n }`}\n >\n <Box\n sx={{\n marginLeft: 'auto',\n marginRight: 'auto',\n maxWidth: '1400px',\n display: 'grid',\n gridTemplateColumns: '1fr 12fr 1fr',\n '& > *': {\n gridColumn: 2,\n },\n paddingBottom: '25px',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n minHeight: '64px', // Set minimum height to ensure proper centering space\n gap: 1,\n }}\n >\n {icon && (\n <Box\n sx={{\n height: '120px',\n }}\n >\n {icon}\n </Box>\n )}\n\n <Box sx={{}}>\n {/* Title */}\n <Typography\n sx={{\n mb: 1,\n fontSize: '2.5rem',\n letterSpacing: '0.1em', // Add letter spacing\n marginBottom: '0.6em',\n }}\n >\n {href ? (\n <SmartLink\n href={href}\n target={target}\n underline=\"hover\"\n color=\"inherit\"\n >\n {title}\n </SmartLink>\n ) : (\n title\n )}\n </Typography>\n {/* Subtitle */}\n {subTitle && (\n <Typography\n variant=\"body1\"\n color=\"inherit\"\n sx={{\n fontStyle: 'italic',\n fontSize: '1.5rem',\n }}\n >\n {subTitle}\n </Typography>\n )}\n </Box>\n </Box>\n\n <Box\n sx={{\n display: 'flex',\n flexDirection: useStackedLayout ? 'column' : 'row',\n flexWrap: useStackedLayout ? 'nowrap' : 'wrap',\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n gap: 2,\n }}\n >\n <Box\n style={{\n flexBasis: useStackedLayout ? '100%' : 'min(65ch, 100%)',\n width: useStackedLayout ? '100%' : 'auto',\n }}\n >\n <CollapsibleDescription\n description={description}\n descriptionSubTitle=\"\"\n descriptionConfig={descriptionConfiguration}\n charCountCutoff={charCountCutoff}\n />\n {ctaLinkBox}\n </Box>\n {values && (\n <Box\n sx={{\n width: useStackedLayout ? '100%' : '30%',\n marginTop: useStackedLayout ? 2 : 0,\n alignItems: 'flex-start',\n }}\n >\n <MetadataTable data={values} />\n </Box>\n )}\n </Box>\n </Box>\n </Card>\n )\n})\n\ntype MetadataTableProps = {\n data: CardLabel[]\n}\n\nfunction MetadataTable({ data }: MetadataTableProps) {\n return (\n <table\n style={{\n width: '100%',\n borderCollapse: 'collapse',\n }}\n >\n <tbody>\n {data.map((item, index) => (\n <tr key={item.columnName || index}>\n <td\n style={{\n width: '1%',\n whiteSpace: 'nowrap',\n padding: '0px 16px 8px 0',\n verticalAlign: 'top',\n fontWeight: 'bold',\n }}\n >\n {item.columnDisplayName}\n </td>\n <td\n style={{\n width: 'auto',\n paddingBottom: '12px',\n verticalAlign: 'top',\n wordBreak: 'break-word',\n }}\n >\n {item.value}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n\nexport default HeaderCardV2\n"],"mappings":";;;;;;;;AA6HA,IAAM,IAAe,EAAW,SAC9B,GACA,GACA;CACA,IAAM,EAEJ,UACA,cAAW,IACX,gBACA,WAEA,qBACA,sBACA,oBACA,SACA,WACA,SACA,oBACA,wBAAqB,IACrB,qBACE,GAGE,IAAW,EADH,EACiB,EAAM,YAAY,KAAK,IAAI,CAAC,GAEvD,IAAmB;CACvB,CAAI,KAAsB,OACxB,IAAmB;CAOrB,IAAM,IAA8C;EAClD,GAAG;EACH,8BACE,GAAmB,gCAAgC;CACvD;CAEA,EAAoB;EAClB;EACA,aAH0B,KAAe,KAAY,KAAA;EAIrD,UAAU;CACZ,CAAC;CAGD,IAAM,IAAiB,IACnB,MAAM,QAAQ,CAAa,IACzB,IACA,CAAC,CAAa,IAChB,CAAC,GACC,IACJ,EAAe,SAAS,IACtB,kBAAC,GAAD;EACE,IAAI;GAAE,SAAS;GAAQ,KAAK;GAAG,UAAU;GAAQ,WAAW;EAAO;YAElE,EAAe,KAAK,GAAQ,MAC3B,kBAAC,GAAD;GAEE,SAAQ;GACR,MAAM,GAAQ;GACd,QAAQ,GAAQ;GAChB,MAAK;GACL,IAAI;IACF,OAAO;IACP,WAAW;KACT,OAAO;KACP,qBAAqB;KACrB,QAAQ;IACV;IACA,WAAW,EAAE,OAAO,OAAO;IAC3B,qBAAqB;IACrB,SAAS;IACT,QAAQ;GACV;aAEC,GAAQ;EACE,GAnBN,CAmBM,CACd;CACE,CAAA,IACH;CAEN,OACE,kBAAC,GAAD;EACE,WAAW;EACN;EACL,IAAI;GACF,cAAc;GACd,WAAW;GACX,UAAU;GACV,GAAI,KAAmB,EACrB,aAAa;IACX,SAAS;IACT,UAAU;IACV,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,iBAAiB,OAAO,EAAgB;IACxC,gBAAgB;IAChB,oBAAoB;IACpB,SAAS;IACT,QAAQ;GACV,EACF;GACA,GAAI,KACF,CAEA;EACJ;EACA,WAAW,uCACT,IAAmB,qBAAqB;YAG1C,kBAAC,GAAD;GACE,IAAI;IACF,YAAY;IACZ,aAAa;IACb,UAAU;IACV,SAAS;IACT,qBAAqB;IACrB,SAAS,EACP,YAAY,EACd;IACA,eAAe;GACjB;aAXF,CAaE,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,YAAY;KACZ,WAAW;KACX,KAAK;IACP;cAPF,CASG,KACC,kBAAC,GAAD;KACE,IAAI,EACF,QAAQ,QACV;eAEC;IACE,CAAA,GAGP,kBAAC,GAAD;KAAK,IAAI,CAAC;eAAV,CAEE,kBAAC,GAAD;MACE,IAAI;OACF,IAAI;OACJ,UAAU;OACV,eAAe;OACf,cAAc;MAChB;gBAEC,IACC,kBAAC,GAAD;OACQ;OACE;OACR,WAAU;OACV,OAAM;iBAEL;MACQ,CAAA,IAEX;KAEQ,CAAA,GAEX,KACC,kBAAC,GAAD;MACE,SAAQ;MACR,OAAM;MACN,IAAI;OACF,WAAW;OACX,UAAU;MACZ;gBAEC;KACS,CAAA,CAEX;MACF;OAEL,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe,IAAmB,WAAW;KAC7C,UAAU,IAAmB,WAAW;KACxC,gBAAgB;KAChB,YAAY;KACZ,KAAK;IACP;cARF,CAUE,kBAAC,GAAD;KACE,OAAO;MACL,WAAW,IAAmB,SAAS;MACvC,OAAO,IAAmB,SAAS;KACrC;eAJF,CAME,kBAAC,GAAD;MACe;MACb,qBAAoB;MACpB,mBAAmB;MACF;KAClB,CAAA,GACA,CACE;QACJ,KACC,kBAAC,GAAD;KACE,IAAI;MACF,OAAO,IAAmB,SAAS;MACnC,WAAW,IAAmB,IAAI;MAClC,YAAY;KACd;eAEA,kBAAC,GAAD,EAAe,MAAM,EAAS,CAAA;IAC3B,CAAA,CAEJ;KACF;;CACD,CAAA;AAEV,CAAC;AAMD,SAAS,EAAc,EAAE,WAA4B;CACnD,OACE,kBAAC,SAAD;EACE,OAAO;GACL,OAAO;GACP,gBAAgB;EAClB;YAEA,kBAAC,SAAD,EAAA,UACG,EAAK,KAAK,GAAM,MACf,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD;GACE,OAAO;IACL,OAAO;IACP,YAAY;IACZ,SAAS;IACT,eAAe;IACf,YAAY;GACd;aAEC,EAAK;EACJ,CAAA,GACJ,kBAAC,MAAD;GACE,OAAO;IACL,OAAO;IACP,eAAe;IACf,eAAe;IACf,WAAW;GACb;aAEC,EAAK;EACJ,CAAA,CACF,EAAA,GAtBK,EAAK,cAAc,CAsBxB,CACL,EACI,CAAA;CACF,CAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCard.js","names":[],"sources":["../../src/components/HeaderCard.tsx"],"sourcesContent":["import { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport { Box, Container, SxProps } from '@mui/material'\nimport { SmartLink } from './SmartLink/SmartLink'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { FileHandleLink } from './widgets/FileHandleLink'\nimport { GenericCardProps } from '@/components/GenericCard/GenericCard'\nimport { CardFooter } from './row_renderers/utils'\nimport { DescriptionConfig } from './CardContainerLogic'\nimport { CollapsibleDescription } from './GenericCard/CollapsibleDescription'\nimport HeaderCardV2 from './HeaderCard/HeaderCardV2'\nimport SustainabilityScorecard, {\n SustainabilityScorecardProps,\n} from './SustainabilityScorecard/SustainabilityScorecard'\nimport { useDocumentMetadata } from '@/utils/context/DocumentMetadataContext'\nimport { AdaptiveTwoColumnLayout } from './AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout'\n\nexport type HeaderCardVariant = 'HeaderCard' | 'HeaderCardV2'\n\nexport type HeaderCardProps = {\n type: string\n title: string\n subTitle?: string\n description: string\n secondaryLabelLimit?: number\n values?: CardLabel[]\n isAlignToLeftNav?: boolean\n descriptionConfig?: DescriptionConfig\n charCountCutoff?: number\n href?: string\n target?: string\n titleAsFileHandleLinkConfiguration?: GenericCardProps['titleAsFileHandleLinkConfiguration']\n titleAreaRightContent?: React.ReactNode\n descriptionSubTitle?: string\n icon: React.ReactNode\n headerCardVariant?: HeaderCardVariant\n cardTopContent?: React.ReactNode\n ctaLinkConfig?: GenericCardProps['ctaLinkConfig']\n cardTopButtons?: React.ReactNode\n sustainabilityScorecard?: SustainabilityScorecardProps\n renderedIconList?: React.ReactNode\n cardTypeAdornment?: React.ReactNode\n doiUri?: string\n sx?: SxProps\n}\n\nconst HeaderCardClassic = forwardRef(function HeaderCardClassic(\n props: HeaderCardProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n type,\n title,\n subTitle = '',\n description,\n values,\n secondaryLabelLimit,\n isAlignToLeftNav,\n descriptionConfig,\n descriptionSubTitle = '',\n href,\n target,\n titleAsFileHandleLinkConfiguration,\n titleAreaRightContent,\n icon,\n cardTopContent,\n cardTopButtons,\n sustainabilityScorecard,\n renderedIconList,\n cardTypeAdornment,\n sx,\n } = props\n\n const descriptionConfiguration: DescriptionConfig = {\n ...descriptionConfig,\n showFullDescriptionByDefault:\n descriptionConfig?.showFullDescriptionByDefault ?? false,\n }\n\n const metadataDescription = description || subTitle || undefined\n useDocumentMetadata({\n title,\n description: metadataDescription,\n priority: 100,\n })\n\n return (\n <Box\n ref={ref}\n className={`SRC-portalCard SRC-portalCardHeader ${\n isAlignToLeftNav ? 'isAlignToLeftNav' : ''\n }`}\n sx={{\n // Break out of any constrained parent (e.g. margin:auto containers)\n // so the background stretches full-viewport width.\n width: '100vw',\n marginLeft: 'calc(50% - 50vw)',\n ...sx,\n }}\n >\n <Container maxWidth=\"lg\">\n {/* Row 1: type, cardTypeAdornment, cardTopButtons */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: '10px',\n }}\n >\n <div className=\"SRC-type\">{type}</div>\n {cardTypeAdornment}\n <Box sx={{ flex: 1 }} />\n {cardTopButtons && (\n <Box sx={{ display: 'flex', gap: '10px' }}>{cardTopButtons}</Box>\n )}\n </Box>\n\n {/* Row 2: Title */}\n <Box>\n <h3 className=\"SRC-boldText\" style={{ margin: 'none' }}>\n {titleAsFileHandleLinkConfiguration ? (\n <FileHandleLink\n fileHandleAssociation={\n titleAsFileHandleLinkConfiguration.fileHandleAssociation\n }\n showDownloadIcon={\n titleAsFileHandleLinkConfiguration.showDownloadIcon\n }\n displayValue={title}\n />\n ) : href ? (\n <SmartLink\n href={href ?? ''}\n className=\"highlight-link\"\n target={target}\n >\n {title}\n </SmartLink>\n ) : (\n <span>{title}</span>\n )}\n </h3>\n </Box>\n\n {/* Row 3: renderedIconList */}\n {renderedIconList && (\n <Box\n sx={{\n '& .icon-list.themed path, & .icon-list.themed circle': {\n fill: 'white',\n },\n }}\n >\n {renderedIconList}\n </Box>\n )}\n\n {/* Row 4: left content, optionally alongside right content in an adaptive two-column layout */}\n {(() => {\n const leftContent = (\n <>\n {/* Column 1: icon (floated left) with subTitle and description flowing around */}\n {icon && (\n <Box\n sx={{\n width: '120px',\n float: 'left',\n paddingRight: '24px',\n paddingBottom: '24px',\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n {icon}\n </Box>\n )}\n {subTitle && <div className=\"SRC-author\">{subTitle}</div>}\n <CollapsibleDescription\n description={description}\n descriptionSubTitle={descriptionSubTitle}\n descriptionConfig={descriptionConfiguration}\n />\n {sustainabilityScorecard && (\n <SustainabilityScorecard\n metricsConfig={sustainabilityScorecard.metricsConfig}\n searchParamKey={sustainabilityScorecard.searchParamKey}\n filterColumn={sustainabilityScorecard.filterColumn}\n scoreDescriptorColumnName={\n sustainabilityScorecard.scoreDescriptorColumnName\n }\n queryRequest={sustainabilityScorecard.queryRequest}\n sustainabilityReportLink={\n sustainabilityScorecard.sustainabilityReportLink\n }\n sx={{\n background: 'rgba(0, 0, 0, 0.10)',\n marginTop: '30px',\n ...sustainabilityScorecard.sx,\n }}\n />\n )}\n <Box sx={{ clear: 'both', pb: 'var(--baseline-grid)' }} />\n </>\n )\n\n const rightContent =\n titleAreaRightContent || cardTopContent || values?.length ? (\n /* Column 2: titleAreaRightContent, cardTopContent, CardFooter */\n <>\n {titleAreaRightContent && (\n <div className=\"SRC-cardTitleAreaDetails\">\n {titleAreaRightContent}\n </div>\n )}\n {cardTopContent && (\n <div className=\"SRC-cardContent\">{cardTopContent}</div>\n )}\n {values && (\n <Box sx={{ '&& .SRC-cardMetadata': { paddingTop: 0 } }}>\n <CardFooter\n isHeader={true}\n secondaryLabelLimit={secondaryLabelLimit}\n values={values}\n />\n </Box>\n )}\n </>\n ) : undefined\n\n return rightContent ? (\n <AdaptiveTwoColumnLayout\n stackRatioThreshold={0.45}\n sx={{ marginTop: '24px' }}\n leftContent={leftContent}\n rightContent={rightContent}\n />\n ) : (\n <Box sx={{ marginTop: '24px' }}>{leftContent}</Box>\n )\n })()}\n </Container>\n </Box>\n )\n})\n\nconst HeaderCard = forwardRef(function HeaderCard(\n props: HeaderCardProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { headerCardVariant = 'HeaderCard' } = props\n if (headerCardVariant === 'HeaderCardV2') {\n return <HeaderCardV2 {...props} ref={ref} />\n }\n return <HeaderCardClassic {...props} ref={ref} />\n})\n\nexport default HeaderCard\n"],"mappings":";;;;;;;;;;;;;AA6CA,IAAM,IAAoB,EAAW,SACnC,GACA,GACA;CACA,IAAM,EACJ,SACA,UACA,cAAW,IACX,gBACA,WACA,wBACA,qBACA,sBACA,yBAAsB,IACtB,SACA,WACA,uCACA,0BACA,SACA,mBACA,mBACA,4BACA,qBACA,sBACA,UACE,GAEE,IAA8C;EAClD,GAAG;EACH,8BACE,GAAmB,gCAAgC;EACtD;AASD,QANA,EAAoB;EAClB;EACA,aAH0B,KAAe,KAAY,KAAA;EAIrD,UAAU;EACX,CAAC,EAGA,kBAAC,GAAD;EACO;EACL,WAAW,uCACT,IAAmB,qBAAqB;EAE1C,IAAI;GAGF,OAAO;GACP,YAAY;GACZ,GAAG;GACJ;YAED,kBAAC,GAAD;GAAW,UAAS;aAApB;IAEE,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;MACf,YAAY;MACZ,KAAK;MACN;eANH;MAQE,kBAAC,OAAD;OAAK,WAAU;iBAAY;OAAW,CAAA;MACrC;MACD,kBAAC,GAAD,EAAK,IAAI,EAAE,MAAM,GAAG,EAAI,CAAA;MACvB,KACC,kBAAC,GAAD;OAAK,IAAI;QAAE,SAAS;QAAQ,KAAK;QAAQ;iBAAG;OAAqB,CAAA;MAE/D;;IAGN,kBAAC,GAAD,EAAA,UACE,kBAAC,MAAD;KAAI,WAAU;KAAe,OAAO,EAAE,QAAQ,QAAQ;eACnD,IACC,kBAAC,GAAD;MACE,uBACE,EAAmC;MAErC,kBACE,EAAmC;MAErC,cAAc;MACd,CAAA,GACA,IACF,kBAAC,GAAD;MACE,MAAM,KAAQ;MACd,WAAU;MACF;gBAEP;MACS,CAAA,GAEZ,kBAAC,QAAD,EAAA,UAAO,GAAa,CAAA;KAEnB,CAAA,EACD,CAAA;IAGL,KACC,kBAAC,GAAD;KACE,IAAI,EACF,wDAAwD,EACtD,MAAM,SACP,EACF;eAEA;KACG,CAAA;WAIA;KACN,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA;MAEG,KACC,kBAAC,GAAD;OACE,IAAI;QACF,OAAO;QACP,OAAO;QACP,cAAc;QACd,eAAe;QACf,SAAS;QACT,gBAAgB;QACjB;iBAEA;OACG,CAAA;MAEP,KAAY,kBAAC,OAAD;OAAK,WAAU;iBAAc;OAAe,CAAA;MACzD,kBAAC,GAAD;OACe;OACQ;OACrB,mBAAmB;OACnB,CAAA;MACD,KACC,kBAAC,GAAD;OACE,eAAe,EAAwB;OACvC,gBAAgB,EAAwB;OACxC,cAAc,EAAwB;OACtC,2BACE,EAAwB;OAE1B,cAAc,EAAwB;OACtC,0BACE,EAAwB;OAE1B,IAAI;QACF,YAAY;QACZ,WAAW;QACX,GAAG,EAAwB;QAC5B;OACD,CAAA;MAEJ,kBAAC,GAAD,EAAK,IAAI;OAAE,OAAO;OAAQ,IAAI;OAAwB,EAAI,CAAA;MACzD,EAAA,CAAA,EAGC,IACJ,KAAyB,KAAkB,GAAQ,SAEjD,kBAAA,GAAA,EAAA,UAAA;MACG,KACC,kBAAC,OAAD;OAAK,WAAU;iBACZ;OACG,CAAA;MAEP,KACC,kBAAC,OAAD;OAAK,WAAU;iBAAmB;OAAqB,CAAA;MAExD,KACC,kBAAC,GAAD;OAAK,IAAI,EAAE,wBAAwB,EAAE,YAAY,GAAG,EAAE;iBACpD,kBAAC,GAAD;QACE,UAAU;QACW;QACb;QACR,CAAA;OACE,CAAA;MAEP,EAAA,CAAA,GACD,KAAA;AAEN,YAAO,IACL,kBAAC,GAAD;MACE,qBAAqB;MACrB,IAAI,EAAE,WAAW,QAAQ;MACZ;MACC;MACd,CAAA,GAEF,kBAAC,GAAD;MAAK,IAAI,EAAE,WAAW,QAAQ;gBAAG;MAAkB,CAAA;QAEnD;IACM;;EACR,CAAA;EAER,EAEI,IAAa,EAAW,SAC5B,GACA,GACA;CACA,IAAM,EAAE,uBAAoB,iBAAiB;AAI7C,QAFS,EADL,MAAsB,iBAChB,IAEF,GAFC;EAAc,GAAI;EAAY;EAAO,CAAA;EAG9C"}
1
+ {"version":3,"file":"HeaderCard.js","names":[],"sources":["../../src/components/HeaderCard.tsx"],"sourcesContent":["import { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport { Box, Container, SxProps } from '@mui/material'\nimport { SmartLink } from './SmartLink/SmartLink'\nimport { ForwardedRef, forwardRef } from 'react'\nimport { FileHandleLink } from './widgets/FileHandleLink'\nimport { GenericCardProps } from '@/components/GenericCard/GenericCard'\nimport { CardFooter } from './row_renderers/utils'\nimport { DescriptionConfig } from './CardContainerLogic'\nimport { CollapsibleDescription } from './GenericCard/CollapsibleDescription'\nimport HeaderCardV2 from './HeaderCard/HeaderCardV2'\nimport SustainabilityScorecard, {\n SustainabilityScorecardProps,\n} from './SustainabilityScorecard/SustainabilityScorecard'\nimport { useDocumentMetadata } from '@/utils/context/DocumentMetadataContext'\nimport { AdaptiveTwoColumnLayout } from './AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout'\n\nexport type HeaderCardVariant = 'HeaderCard' | 'HeaderCardV2'\n\nexport type HeaderCardProps = {\n type: string\n title: string\n subTitle?: string\n description: string\n secondaryLabelLimit?: number\n values?: CardLabel[]\n isAlignToLeftNav?: boolean\n descriptionConfig?: DescriptionConfig\n charCountCutoff?: number\n href?: string\n target?: string\n titleAsFileHandleLinkConfiguration?: GenericCardProps['titleAsFileHandleLinkConfiguration']\n titleAreaRightContent?: React.ReactNode\n descriptionSubTitle?: string\n icon: React.ReactNode\n headerCardVariant?: HeaderCardVariant\n cardTopContent?: React.ReactNode\n ctaLinkConfig?: GenericCardProps['ctaLinkConfig']\n cardTopButtons?: React.ReactNode\n sustainabilityScorecard?: SustainabilityScorecardProps\n renderedIconList?: React.ReactNode\n cardTypeAdornment?: React.ReactNode\n doiUri?: string\n sx?: SxProps\n}\n\nconst HeaderCardClassic = forwardRef(function HeaderCardClassic(\n props: HeaderCardProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const {\n type,\n title,\n subTitle = '',\n description,\n values,\n secondaryLabelLimit,\n isAlignToLeftNav,\n descriptionConfig,\n descriptionSubTitle = '',\n href,\n target,\n titleAsFileHandleLinkConfiguration,\n titleAreaRightContent,\n icon,\n cardTopContent,\n cardTopButtons,\n sustainabilityScorecard,\n renderedIconList,\n cardTypeAdornment,\n sx,\n } = props\n\n const descriptionConfiguration: DescriptionConfig = {\n ...descriptionConfig,\n showFullDescriptionByDefault:\n descriptionConfig?.showFullDescriptionByDefault ?? false,\n }\n\n const metadataDescription = description || subTitle || undefined\n useDocumentMetadata({\n title,\n description: metadataDescription,\n priority: 100,\n })\n\n return (\n <Box\n ref={ref}\n className={`SRC-portalCard SRC-portalCardHeader ${\n isAlignToLeftNav ? 'isAlignToLeftNav' : ''\n }`}\n sx={{\n // Break out of any constrained parent (e.g. margin:auto containers)\n // so the background stretches full-viewport width.\n width: '100vw',\n marginLeft: 'calc(50% - 50vw)',\n ...sx,\n }}\n >\n <Container maxWidth=\"lg\">\n {/* Row 1: type, cardTypeAdornment, cardTopButtons */}\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: '10px',\n }}\n >\n <div className=\"SRC-type\">{type}</div>\n {cardTypeAdornment}\n <Box sx={{ flex: 1 }} />\n {cardTopButtons && (\n <Box sx={{ display: 'flex', gap: '10px' }}>{cardTopButtons}</Box>\n )}\n </Box>\n\n {/* Row 2: Title */}\n <Box>\n <h3 className=\"SRC-boldText\" style={{ margin: 'none' }}>\n {titleAsFileHandleLinkConfiguration ? (\n <FileHandleLink\n fileHandleAssociation={\n titleAsFileHandleLinkConfiguration.fileHandleAssociation\n }\n showDownloadIcon={\n titleAsFileHandleLinkConfiguration.showDownloadIcon\n }\n displayValue={title}\n />\n ) : href ? (\n <SmartLink\n href={href ?? ''}\n className=\"highlight-link\"\n target={target}\n >\n {title}\n </SmartLink>\n ) : (\n <span>{title}</span>\n )}\n </h3>\n </Box>\n\n {/* Row 3: renderedIconList */}\n {renderedIconList && (\n <Box\n sx={{\n '& .icon-list.themed path, & .icon-list.themed circle': {\n fill: 'white',\n },\n }}\n >\n {renderedIconList}\n </Box>\n )}\n\n {/* Row 4: left content, optionally alongside right content in an adaptive two-column layout */}\n {(() => {\n const leftContent = (\n <>\n {/* Column 1: icon (floated left) with subTitle and description flowing around */}\n {icon && (\n <Box\n sx={{\n width: '120px',\n float: 'left',\n paddingRight: '24px',\n paddingBottom: '24px',\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n {icon}\n </Box>\n )}\n {subTitle && <div className=\"SRC-author\">{subTitle}</div>}\n <CollapsibleDescription\n description={description}\n descriptionSubTitle={descriptionSubTitle}\n descriptionConfig={descriptionConfiguration}\n />\n {sustainabilityScorecard && (\n <SustainabilityScorecard\n metricsConfig={sustainabilityScorecard.metricsConfig}\n searchParamKey={sustainabilityScorecard.searchParamKey}\n filterColumn={sustainabilityScorecard.filterColumn}\n scoreDescriptorColumnName={\n sustainabilityScorecard.scoreDescriptorColumnName\n }\n queryRequest={sustainabilityScorecard.queryRequest}\n sustainabilityReportLink={\n sustainabilityScorecard.sustainabilityReportLink\n }\n sx={{\n background: 'rgba(0, 0, 0, 0.10)',\n marginTop: '30px',\n ...sustainabilityScorecard.sx,\n }}\n />\n )}\n <Box sx={{ clear: 'both', pb: 'var(--baseline-grid)' }} />\n </>\n )\n\n const rightContent =\n titleAreaRightContent || cardTopContent || values?.length ? (\n /* Column 2: titleAreaRightContent, cardTopContent, CardFooter */\n <>\n {titleAreaRightContent && (\n <div className=\"SRC-cardTitleAreaDetails\">\n {titleAreaRightContent}\n </div>\n )}\n {cardTopContent && (\n <div className=\"SRC-cardContent\">{cardTopContent}</div>\n )}\n {values && (\n <Box sx={{ '&& .SRC-cardMetadata': { paddingTop: 0 } }}>\n <CardFooter\n isHeader={true}\n secondaryLabelLimit={secondaryLabelLimit}\n values={values}\n />\n </Box>\n )}\n </>\n ) : undefined\n\n return rightContent ? (\n <AdaptiveTwoColumnLayout\n stackRatioThreshold={0.45}\n sx={{ marginTop: '24px' }}\n leftContent={leftContent}\n rightContent={rightContent}\n />\n ) : (\n <Box sx={{ marginTop: '24px' }}>{leftContent}</Box>\n )\n })()}\n </Container>\n </Box>\n )\n})\n\nconst HeaderCard = forwardRef(function HeaderCard(\n props: HeaderCardProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const { headerCardVariant = 'HeaderCard' } = props\n if (headerCardVariant === 'HeaderCardV2') {\n return <HeaderCardV2 {...props} ref={ref} />\n }\n return <HeaderCardClassic {...props} ref={ref} />\n})\n\nexport default HeaderCard\n"],"mappings":";;;;;;;;;;;;;AA6CA,IAAM,IAAoB,EAAW,SACnC,GACA,GACA;CACA,IAAM,EACJ,SACA,UACA,cAAW,IACX,gBACA,WACA,wBACA,qBACA,sBACA,yBAAsB,IACtB,SACA,WACA,uCACA,0BACA,SACA,mBACA,mBACA,4BACA,qBACA,sBACA,UACE,GAEE,IAA8C;EAClD,GAAG;EACH,8BACE,GAAmB,gCAAgC;CACvD;CASA,OANA,EAAoB;EAClB;EACA,aAH0B,KAAe,KAAY,KAAA;EAIrD,UAAU;CACZ,CAAC,GAGC,kBAAC,GAAD;EACO;EACL,WAAW,uCACT,IAAmB,qBAAqB;EAE1C,IAAI;GAGF,OAAO;GACP,YAAY;GACZ,GAAG;EACL;YAEA,kBAAC,GAAD;GAAW,UAAS;aAApB;IAEE,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;MACf,YAAY;MACZ,KAAK;KACP;eANF;MAQE,kBAAC,OAAD;OAAK,WAAU;iBAAY;MAAU,CAAA;MACpC;MACD,kBAAC,GAAD,EAAK,IAAI,EAAE,MAAM,EAAE,EAAI,CAAA;MACtB,KACC,kBAAC,GAAD;OAAK,IAAI;QAAE,SAAS;QAAQ,KAAK;OAAO;iBAAI;MAAoB,CAAA;KAE/D;;IAGL,kBAAC,GAAD,EAAA,UACE,kBAAC,MAAD;KAAI,WAAU;KAAe,OAAO,EAAE,QAAQ,OAAO;eAClD,IACC,kBAAC,GAAD;MACE,uBACE,EAAmC;MAErC,kBACE,EAAmC;MAErC,cAAc;KACf,CAAA,IACC,IACF,kBAAC,GAAD;MACE,MAAM,KAAQ;MACd,WAAU;MACF;gBAEP;KACQ,CAAA,IAEX,kBAAC,QAAD,EAAA,UAAO,EAAY,CAAA;IAEnB,CAAA,EACD,CAAA;IAGJ,KACC,kBAAC,GAAD;KACE,IAAI,EACF,wDAAwD,EACtD,MAAM,QACR,EACF;eAEC;IACE,CAAA;WAIC;KACN,IAAM,IACJ,kBAAA,GAAA,EAAA,UAAA;MAEG,KACC,kBAAC,GAAD;OACE,IAAI;QACF,OAAO;QACP,OAAO;QACP,cAAc;QACd,eAAe;QACf,SAAS;QACT,gBAAgB;OAClB;iBAEC;MACE,CAAA;MAEN,KAAY,kBAAC,OAAD;OAAK,WAAU;iBAAc;MAAc,CAAA;MACxD,kBAAC,GAAD;OACe;OACQ;OACrB,mBAAmB;MACpB,CAAA;MACA,KACC,kBAAC,GAAD;OACE,eAAe,EAAwB;OACvC,gBAAgB,EAAwB;OACxC,cAAc,EAAwB;OACtC,2BACE,EAAwB;OAE1B,cAAc,EAAwB;OACtC,0BACE,EAAwB;OAE1B,IAAI;QACF,YAAY;QACZ,WAAW;QACX,GAAG,EAAwB;OAC7B;MACD,CAAA;MAEH,kBAAC,GAAD,EAAK,IAAI;OAAE,OAAO;OAAQ,IAAI;MAAuB,EAAI,CAAA;KACzD,EAAA,CAAA,GAGE,IACJ,KAAyB,KAAkB,GAAQ,SAEjD,kBAAA,GAAA,EAAA,UAAA;MACG,KACC,kBAAC,OAAD;OAAK,WAAU;iBACZ;MACE,CAAA;MAEN,KACC,kBAAC,OAAD;OAAK,WAAU;iBAAmB;MAAoB,CAAA;MAEvD,KACC,kBAAC,GAAD;OAAK,IAAI,EAAE,wBAAwB,EAAE,YAAY,EAAE,EAAE;iBACnD,kBAAC,GAAD;QACE,UAAU;QACW;QACb;OACT,CAAA;MACE,CAAA;KAEP,EAAA,CAAA,IACA,KAAA;KAEN,OAAO,IACL,kBAAC,GAAD;MACE,qBAAqB;MACrB,IAAI,EAAE,WAAW,OAAO;MACX;MACC;KACf,CAAA,IAED,kBAAC,GAAD;MAAK,IAAI,EAAE,WAAW,OAAO;gBAAI;KAAiB,CAAA;IAEtD,GAAG;GACM;;CACR,CAAA;AAET,CAAC,GAEK,IAAa,EAAW,SAC5B,GACA,GACA;CACA,IAAM,EAAE,uBAAoB,iBAAiB;CAI7C,OAFS,EADL,MAAsB,iBAChB,IAEF,GAFC;EAAc,GAAI;EAAY;CAAM,CAAA;AAG/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpPopover.js","names":[],"sources":["../../../src/components/HelpPopover/HelpPopover.tsx"],"sourcesContent":["import { MarkdownPopover } from '../Markdown/MarkdownPopover'\nimport { ButtonProps, SxProps, TooltipProps } from '@mui/material'\nimport { HelpOutlineTwoTone } from '@mui/icons-material'\n\nexport type HelpPopoverProps = {\n markdownText: string\n helpUrl?: string\n placement?: TooltipProps['placement']\n showCloseButton?: boolean\n className?: string\n containerSx?: SxProps\n iconSx?: SxProps\n Icon?: React.ComponentType<{ className?: string; sx?: SxProps }>\n}\n\nexport function HelpPopover({\n markdownText,\n helpUrl,\n placement = 'bottom',\n showCloseButton = true,\n className = '',\n iconSx,\n containerSx,\n Icon = HelpOutlineTwoTone,\n}: HelpPopoverProps) {\n const actionButtonConfig = helpUrl\n ? {\n content: <>More info</>,\n closePopoverOnClick: true,\n onClick: () => window.open(helpUrl, '_blank'),\n color: 'primary' as ButtonProps['color'],\n }\n : undefined\n return (\n <>\n <MarkdownPopover\n contentProps={{ markdown: markdownText }}\n placement={placement}\n actionButton={actionButtonConfig}\n showCloseButton={showCloseButton}\n maxWidth=\"350px\"\n containerSx={containerSx}\n >\n <Icon className={`HelpButton ${className}`} sx={iconSx} />\n </MarkdownPopover>\n </>\n )\n}\n\nexport default HelpPopover\n"],"mappings":";;;;AAeA,SAAgB,EAAY,EAC1B,iBACA,YACA,eAAY,UACZ,qBAAkB,IAClB,eAAY,IACZ,WACA,gBACA,UAAO,KACY;AASnB,QACE,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;EACE,cAAc,EAAE,UAAU,GAAc;EAC7B;EACX,cAbqB,IACvB;GACE,SAAS,kBAAA,GAAA,EAAA,UAAE,aAAY,CAAA;GACvB,qBAAqB;GACrB,eAAe,OAAO,KAAK,GAAS,SAAS;GAC7C,OAAO;GACR,GACD,KAAA;EAOmB;EACjB,UAAS;EACI;YAEb,kBAAC,GAAD;GAAM,WAAW,cAAc;GAAa,IAAI;GAAU,CAAA;EAC1C,CAAA,EACjB,CAAA"}
1
+ {"version":3,"file":"HelpPopover.js","names":[],"sources":["../../../src/components/HelpPopover/HelpPopover.tsx"],"sourcesContent":["import { MarkdownPopover } from '../Markdown/MarkdownPopover'\nimport { ButtonProps, SxProps, TooltipProps } from '@mui/material'\nimport { HelpOutlineTwoTone } from '@mui/icons-material'\n\nexport type HelpPopoverProps = {\n markdownText: string\n helpUrl?: string\n placement?: TooltipProps['placement']\n showCloseButton?: boolean\n className?: string\n containerSx?: SxProps\n iconSx?: SxProps\n Icon?: React.ComponentType<{ className?: string; sx?: SxProps }>\n}\n\nexport function HelpPopover({\n markdownText,\n helpUrl,\n placement = 'bottom',\n showCloseButton = true,\n className = '',\n iconSx,\n containerSx,\n Icon = HelpOutlineTwoTone,\n}: HelpPopoverProps) {\n const actionButtonConfig = helpUrl\n ? {\n content: <>More info</>,\n closePopoverOnClick: true,\n onClick: () => window.open(helpUrl, '_blank'),\n color: 'primary' as ButtonProps['color'],\n }\n : undefined\n return (\n <>\n <MarkdownPopover\n contentProps={{ markdown: markdownText }}\n placement={placement}\n actionButton={actionButtonConfig}\n showCloseButton={showCloseButton}\n maxWidth=\"350px\"\n containerSx={containerSx}\n >\n <Icon className={`HelpButton ${className}`} sx={iconSx} />\n </MarkdownPopover>\n </>\n )\n}\n\nexport default HelpPopover\n"],"mappings":";;;;AAeA,SAAgB,EAAY,EAC1B,iBACA,YACA,eAAY,UACZ,qBAAkB,IAClB,eAAY,IACZ,WACA,gBACA,UAAO,KACY;CASnB,OACE,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;EACE,cAAc,EAAE,UAAU,EAAa;EAC5B;EACX,cAbqB,IACvB;GACE,SAAS,kBAAA,GAAA,EAAA,UAAE,YAAW,CAAA;GACtB,qBAAqB;GACrB,eAAe,OAAO,KAAK,GAAS,QAAQ;GAC5C,OAAO;EACT,IACA,KAAA;EAOmB;EACjB,UAAS;EACI;YAEb,kBAAC,GAAD;GAAM,WAAW,cAAc;GAAa,IAAI;EAAS,CAAA;CAC1C,CAAA,EACjB,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"HexGrid.js","names":[],"sources":["../../../src/components/HexGrid/HexGrid.tsx"],"sourcesContent":["import styles from './HexGrid.module.scss'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/SqlFunctions'\nimport {\n FileHandleAssociateType,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { SynapseConstants } from '@/utils'\nimport { useGetFullTableQueryResults } from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { ButtonBase, Typography } from '@mui/material'\n\n// Column values resolved by name so consumers don't need the indices that are only known inside HexGrid.\nexport type HexRowData = {\n title: string\n imageFileHandleId: string | null\n description: string | null\n entityId: string\n}\n\ntype HexGridProps = {\n sql: string\n titleColName: string\n imageColName: string\n descriptionColName: string\n onRowClick?: (rowData: HexRowData) => void\n}\n\nfunction HexGrid({\n sql,\n titleColName,\n imageColName,\n descriptionColName,\n onRowClick,\n}: HexGridProps) {\n const entityId = parseEntityIdFromSqlStatement(sql)\n const queryBundleRequest: QueryBundleRequest = {\n entityId,\n query: { sql },\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n }\n\n const { data: queryResultBundle } =\n useGetFullTableQueryResults(queryBundleRequest)\n\n const dataRows = queryResultBundle?.queryResult?.queryResults.rows ?? []\n\n const titleColIndex = getFieldIndex(titleColName, queryResultBundle)\n\n const imageColIndex = getFieldIndex(imageColName, queryResultBundle)\n\n const descColIndex = getFieldIndex(descriptionColName, queryResultBundle)\n\n return (\n <div className={styles.hexSlat}>\n <div className={styles.gridWrapper}>\n <ul className={styles.hexGrid}>\n {dataRows.map(row => (\n <ButtonBase\n component=\"li\"\n key={row.rowId}\n className={styles.hex}\n onClick={() =>\n onRowClick?.({\n title: row.values[titleColIndex] ?? '',\n imageFileHandleId: row.values[imageColIndex] ?? null,\n description: row.values[descColIndex] ?? null,\n entityId,\n })\n }\n >\n <div className={styles.hexIn}>\n <Typography variant=\"headline3\" className={styles.hexTitle}>\n {row.values[titleColIndex]}\n </Typography>\n <ImageFileHandle\n fileHandleAssociation={{\n fileHandleId: row.values[imageColIndex] ?? '',\n associateObjectId: entityId,\n associateObjectType: FileHandleAssociateType.TableEntity,\n }}\n imgProps={{ className: styles.hexIcon }}\n />\n </div>\n </ButtonBase>\n ))}\n </ul>\n </div>\n </div>\n )\n}\n\nexport default HexGrid\n"],"mappings":";;;;;;;;;;;AA4BA,SAAS,EAAQ,EACf,QACA,iBACA,iBACA,uBACA,iBACe;CACf,IAAM,IAAW,EAA8B,EAAI,EAU7C,EAAE,MAAM,MACZ,EAA4B;EAT5B;EACA,OAAO,EAAE,QAAK;EACd,UACE;EAEF,cAAc;EAIc,CAAmB,EAE3C,IAAW,GAAmB,aAAa,aAAa,QAAQ,EAAE,EAElE,IAAgB,EAAc,GAAc,EAAkB,EAE9D,IAAgB,EAAc,GAAc,EAAkB,EAE9D,IAAe,EAAc,GAAoB,EAAkB;AAEzE,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,OAAD;GAAK,WAAW,EAAO;aACrB,kBAAC,MAAD;IAAI,WAAW,EAAO;cACnB,EAAS,KAAI,MACZ,kBAAC,GAAD;KACE,WAAU;KAEV,WAAW,EAAO;KAClB,eACE,IAAa;MACX,OAAO,EAAI,OAAO,MAAkB;MACpC,mBAAmB,EAAI,OAAO,MAAkB;MAChD,aAAa,EAAI,OAAO,MAAiB;MACzC;MACD,CAAC;eAGJ,kBAAC,OAAD;MAAK,WAAW,EAAO;gBAAvB,CACE,kBAAC,GAAD;OAAY,SAAQ;OAAY,WAAW,EAAO;iBAC/C,EAAI,OAAO;OACD,CAAA,EACb,kBAAC,GAAD;OACE,uBAAuB;QACrB,cAAc,EAAI,OAAO,MAAkB;QAC3C,mBAAmB;QACnB,qBAAqB,EAAwB;QAC9C;OACD,UAAU,EAAE,WAAW,EAAO,SAAS;OACvC,CAAA,CACE;;KACK,EAxBN,EAAI,MAwBE,CACb;IACC,CAAA;GACD,CAAA;EACF,CAAA"}
1
+ {"version":3,"file":"HexGrid.js","names":[],"sources":["../../../src/components/HexGrid/HexGrid.tsx"],"sourcesContent":["import styles from './HexGrid.module.scss'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/SqlFunctions'\nimport {\n FileHandleAssociateType,\n QueryBundleRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { SynapseConstants } from '@/utils'\nimport { useGetFullTableQueryResults } from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { ButtonBase, Typography } from '@mui/material'\n\n// Column values resolved by name so consumers don't need the indices that are only known inside HexGrid.\nexport type HexRowData = {\n title: string\n imageFileHandleId: string | null\n description: string | null\n entityId: string\n}\n\ntype HexGridProps = {\n sql: string\n titleColName: string\n imageColName: string\n descriptionColName: string\n onRowClick?: (rowData: HexRowData) => void\n}\n\nfunction HexGrid({\n sql,\n titleColName,\n imageColName,\n descriptionColName,\n onRowClick,\n}: HexGridProps) {\n const entityId = parseEntityIdFromSqlStatement(sql)\n const queryBundleRequest: QueryBundleRequest = {\n entityId,\n query: { sql },\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n }\n\n const { data: queryResultBundle } =\n useGetFullTableQueryResults(queryBundleRequest)\n\n const dataRows = queryResultBundle?.queryResult?.queryResults.rows ?? []\n\n const titleColIndex = getFieldIndex(titleColName, queryResultBundle)\n\n const imageColIndex = getFieldIndex(imageColName, queryResultBundle)\n\n const descColIndex = getFieldIndex(descriptionColName, queryResultBundle)\n\n return (\n <div className={styles.hexSlat}>\n <div className={styles.gridWrapper}>\n <ul className={styles.hexGrid}>\n {dataRows.map(row => (\n <ButtonBase\n component=\"li\"\n key={row.rowId}\n className={styles.hex}\n onClick={() =>\n onRowClick?.({\n title: row.values[titleColIndex] ?? '',\n imageFileHandleId: row.values[imageColIndex] ?? null,\n description: row.values[descColIndex] ?? null,\n entityId,\n })\n }\n >\n <div className={styles.hexIn}>\n <Typography variant=\"headline3\" className={styles.hexTitle}>\n {row.values[titleColIndex]}\n </Typography>\n <ImageFileHandle\n fileHandleAssociation={{\n fileHandleId: row.values[imageColIndex] ?? '',\n associateObjectId: entityId,\n associateObjectType: FileHandleAssociateType.TableEntity,\n }}\n imgProps={{ className: styles.hexIcon }}\n />\n </div>\n </ButtonBase>\n ))}\n </ul>\n </div>\n </div>\n )\n}\n\nexport default HexGrid\n"],"mappings":";;;;;;;;;;;AA4BA,SAAS,EAAQ,EACf,QACA,iBACA,iBACA,uBACA,iBACe;CACf,IAAM,IAAW,EAA8B,CAAG,GAU5C,EAAE,MAAM,MACZ,EAA4B;EAT5B;EACA,OAAO,EAAE,OAAI;EACb,UACE;EAEF,cAAc;CAIc,CAAkB,GAE1C,IAAW,GAAmB,aAAa,aAAa,QAAQ,CAAC,GAEjE,IAAgB,EAAc,GAAc,CAAiB,GAE7D,IAAgB,EAAc,GAAc,CAAiB,GAE7D,IAAe,EAAc,GAAoB,CAAiB;CAExE,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YACrB,kBAAC,OAAD;GAAK,WAAW,EAAO;aACrB,kBAAC,MAAD;IAAI,WAAW,EAAO;cACnB,EAAS,KAAI,MACZ,kBAAC,GAAD;KACE,WAAU;KAEV,WAAW,EAAO;KAClB,eACE,IAAa;MACX,OAAO,EAAI,OAAO,MAAkB;MACpC,mBAAmB,EAAI,OAAO,MAAkB;MAChD,aAAa,EAAI,OAAO,MAAiB;MACzC;KACF,CAAC;eAGH,kBAAC,OAAD;MAAK,WAAW,EAAO;gBAAvB,CACE,kBAAC,GAAD;OAAY,SAAQ;OAAY,WAAW,EAAO;iBAC/C,EAAI,OAAO;MACF,CAAA,GACZ,kBAAC,GAAD;OACE,uBAAuB;QACrB,cAAc,EAAI,OAAO,MAAkB;QAC3C,mBAAmB;QACnB,qBAAqB,EAAwB;OAC/C;OACA,UAAU,EAAE,WAAW,EAAO,QAAQ;MACvC,CAAA,CACE;;IACK,GAxBL,EAAI,KAwBC,CACb;GACC,CAAA;EACD,CAAA;CACF,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"IDUReport.js","names":[],"sources":["../../../src/components/IDUReport/IDUReport.tsx"],"sourcesContent":["import { useGetApprovedSubmissionInfoInfinite } from '@/synapse-queries'\nimport { SubmissionInfo } from '@sage-bionetworks/synapse-types'\nimport { Fragment, useEffect } from 'react'\nimport { useInView } from 'react-intersection-observer'\nimport {\n LoadingSubmissionInfoCard,\n SubmissionInfoCard,\n} from './IDUReportSubmissionInfo'\n\nexport type IDUReportProps = {\n accessRequirementId: string\n}\n\nexport function IDUReport(props: IDUReportProps): React.ReactNode {\n const { accessRequirementId } = props\n // Load the next page when this ref comes into view.\n const { ref, inView } = useInView()\n\n const {\n data,\n status,\n isLoading,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n } = useGetApprovedSubmissionInfoInfinite(accessRequirementId, {\n throwOnError: true,\n })\n useEffect(() => {\n if (\n status === 'success' &&\n !isFetchingNextPage &&\n hasNextPage &&\n fetchNextPage &&\n inView\n ) {\n fetchNextPage()\n }\n }, [status, hasNextPage, isFetchingNextPage, fetchNextPage, inView])\n\n const allRows = data?.pages.flatMap(page => page.results) ?? []\n\n return (\n <>\n {allRows.length > 0 && (\n <div className=\"IDUReport\">\n {allRows.map((item: SubmissionInfo) => {\n return (\n <Fragment key={JSON.stringify(item)}>\n <SubmissionInfoCard info={item} />\n <hr />\n </Fragment>\n )\n })}\n {/* To trigger loading the next page */}\n <div ref={ref} />\n </div>\n )}\n {(isLoading || isFetchingNextPage) && (\n <>\n <LoadingSubmissionInfoCard />\n <LoadingSubmissionInfoCard />\n </>\n )}\n </>\n )\n}\nexport default IDUReport\n"],"mappings":";;;;;;;AAaA,SAAgB,EAAU,GAAwC;CAChE,IAAM,EAAE,2BAAwB,GAE1B,EAAE,QAAK,cAAW,GAAW,EAE7B,EACJ,SACA,WACA,cACA,gBACA,uBACA,qBACE,EAAqC,GAAqB,EAC5D,cAAc,IACf,CAAC;AACF,SAAgB;AACd,EACE,MAAW,aACX,CAAC,KACD,KACA,KACA,KAEA,GAAe;IAEhB;EAAC;EAAQ;EAAa;EAAoB;EAAe;EAAO,CAAC;CAEpE,IAAM,IAAU,GAAM,MAAM,SAAQ,MAAQ,EAAK,QAAQ,IAAI,EAAE;AAE/D,QACE,kBAAA,GAAA,EAAA,UAAA,CACG,EAAQ,SAAS,KAChB,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,EAAQ,KAAK,MAEV,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAoB,MAAM,GAAQ,CAAA,EAClC,kBAAC,MAAD,EAAM,CAAA,CACG,EAAA,EAHI,KAAK,UAAU,EAAK,CAGxB,CAEb,EAEF,kBAAC,OAAD,EAAU,QAAO,CAAA,CACb;MAEN,KAAa,MACb,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD,EAA6B,CAAA,EAC7B,kBAAC,GAAD,EAA6B,CAAA,CAC5B,EAAA,CAAA,CAEJ,EAAA,CAAA"}
1
+ {"version":3,"file":"IDUReport.js","names":[],"sources":["../../../src/components/IDUReport/IDUReport.tsx"],"sourcesContent":["import { useGetApprovedSubmissionInfoInfinite } from '@/synapse-queries'\nimport { SubmissionInfo } from '@sage-bionetworks/synapse-types'\nimport { Fragment, useEffect } from 'react'\nimport { useInView } from 'react-intersection-observer'\nimport {\n LoadingSubmissionInfoCard,\n SubmissionInfoCard,\n} from './IDUReportSubmissionInfo'\n\nexport type IDUReportProps = {\n accessRequirementId: string\n}\n\nexport function IDUReport(props: IDUReportProps): React.ReactNode {\n const { accessRequirementId } = props\n // Load the next page when this ref comes into view.\n const { ref, inView } = useInView()\n\n const {\n data,\n status,\n isLoading,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n } = useGetApprovedSubmissionInfoInfinite(accessRequirementId, {\n throwOnError: true,\n })\n useEffect(() => {\n if (\n status === 'success' &&\n !isFetchingNextPage &&\n hasNextPage &&\n fetchNextPage &&\n inView\n ) {\n fetchNextPage()\n }\n }, [status, hasNextPage, isFetchingNextPage, fetchNextPage, inView])\n\n const allRows = data?.pages.flatMap(page => page.results) ?? []\n\n return (\n <>\n {allRows.length > 0 && (\n <div className=\"IDUReport\">\n {allRows.map((item: SubmissionInfo) => {\n return (\n <Fragment key={JSON.stringify(item)}>\n <SubmissionInfoCard info={item} />\n <hr />\n </Fragment>\n )\n })}\n {/* To trigger loading the next page */}\n <div ref={ref} />\n </div>\n )}\n {(isLoading || isFetchingNextPage) && (\n <>\n <LoadingSubmissionInfoCard />\n <LoadingSubmissionInfoCard />\n </>\n )}\n </>\n )\n}\nexport default IDUReport\n"],"mappings":";;;;;;;AAaA,SAAgB,EAAU,GAAwC;CAChE,IAAM,EAAE,2BAAwB,GAE1B,EAAE,QAAK,cAAW,EAAU,GAE5B,EACJ,SACA,WACA,cACA,gBACA,uBACA,qBACE,EAAqC,GAAqB,EAC5D,cAAc,GAChB,CAAC;CACD,QAAgB;EACd,AACE,MAAW,aACX,CAAC,KACD,KACA,KACA,KAEA,EAAc;CAElB,GAAG;EAAC;EAAQ;EAAa;EAAoB;EAAe;CAAM,CAAC;CAEnE,IAAM,IAAU,GAAM,MAAM,SAAQ,MAAQ,EAAK,OAAO,KAAK,CAAC;CAE9D,OACE,kBAAA,GAAA,EAAA,UAAA,CACG,EAAQ,SAAS,KAChB,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,EAAQ,KAAK,MAEV,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAoB,MAAM,EAAO,CAAA,GACjC,kBAAC,MAAD,CAAK,CAAA,CACG,EAAA,GAHK,KAAK,UAAU,CAAI,CAGxB,CAEb,GAED,kBAAC,OAAD,EAAU,OAAM,CAAA,CACb;MAEL,KAAa,MACb,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD,CAA4B,CAAA,GAC5B,kBAAC,GAAD,CAA4B,CAAA,CAC5B,EAAA,CAAA,CAEJ,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"IDUReportSubmissionInfo.js","names":[],"sources":["../../../src/components/IDUReport/IDUReportSubmissionInfo.tsx"],"sourcesContent":["import { formatDate } from '@/utils/functions/DateFormatter'\nimport { Skeleton } from '@mui/material'\nimport { SubmissionInfo } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SkeletonTable } from '../Skeleton/SkeletonTable'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nexport type SubmissionInfoCardProps = {\n info: SubmissionInfo\n}\n\nexport function SubmissionInfoCard({ info }: SubmissionInfoCardProps) {\n return (\n <>\n {info && (\n <div className=\"SubmissionInfoCard\">\n <strong> Project Lead: </strong> <span>{info.projectLead}</span>{' '}\n <br />\n <strong> Institution: </strong> <span>{info.institution}</span> <br />\n <strong> Data Access Request Submitted By: </strong>{' '}\n <UserBadge userId={info.submittedBy} /> <br />\n <strong>\n {' '}\n Intended Data Use Statement &#40;accepted on{' '}\n {formatDate(dayjs(info.modifiedOn), 'M/D/YYYY')}&#41;:\n </strong>\n <MarkdownSynapse markdown={info.intendedDataUseStatement} />\n {info.accessorChanges &&\n info.accessorChanges.map(accessorChange => (\n <div key={`${accessorChange.userId}-${accessorChange.type}`}>\n <UserBadge userId={accessorChange.userId} />{' '}\n {accessorChange.type}\n </div>\n ))}\n </div>\n )}\n </>\n )\n}\n\nexport function LoadingSubmissionInfoCard() {\n return (\n <div className=\"SubmissionInfoCard\">\n <SkeletonTable numCols={1} numRows={4} />\n <Skeleton variant=\"rectangular\" width={'100%'} height={80} />\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,EAAmB,EAAE,WAAiC;AACpE,QACE,kBAAA,GAAA,EAAA,UACG,KACC,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,UAAD,EAAA,UAAQ,mBAAwB,CAAA;;GAAC,kBAAC,QAAD,EAAA,UAAO,EAAK,aAAmB,CAAA;GAAC;GACjE,kBAAC,MAAD,EAAM,CAAA;GACN,kBAAC,UAAD,EAAA,UAAQ,kBAAuB,CAAA;;GAAC,kBAAC,QAAD,EAAA,UAAO,EAAK,aAAmB,CAAA;;GAAC,kBAAC,MAAD,EAAM,CAAA;GACtE,kBAAC,UAAD,EAAA,UAAQ,uCAA4C,CAAA;GAAC;GACrD,kBAAC,GAAD,EAAW,QAAQ,EAAK,aAAe,CAAA;;GAAC,kBAAC,MAAD,EAAM,CAAA;GAC9C,kBAAC,UAAD,EAAA,UAAA;IACG;IAAI;IACwC;IAC5C,EAAW,EAAM,EAAK,WAAW,EAAE,WAAW;IAAC;IACzC,EAAA,CAAA;GACT,kBAAC,GAAD,EAAiB,UAAU,EAAK,0BAA4B,CAAA;GAC3D,EAAK,mBACJ,EAAK,gBAAgB,KAAI,MACvB,kBAAC,OAAD,EAAA,UAAA;IACE,kBAAC,GAAD,EAAW,QAAQ,EAAe,QAAU,CAAA;IAAC;IAC5C,EAAe;IACZ,EAAA,EAHI,GAAG,EAAe,OAAO,GAAG,EAAe,OAG/C,CACN;GACA;KAEP,CAAA;;AAIP,SAAgB,IAA4B;AAC1C,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GAAe,SAAS;GAAG,SAAS;GAAK,CAAA,EACzC,kBAAC,GAAD;GAAU,SAAQ;GAAc,OAAO;GAAQ,QAAQ;GAAM,CAAA,CACzD"}
1
+ {"version":3,"file":"IDUReportSubmissionInfo.js","names":[],"sources":["../../../src/components/IDUReport/IDUReportSubmissionInfo.tsx"],"sourcesContent":["import { formatDate } from '@/utils/functions/DateFormatter'\nimport { Skeleton } from '@mui/material'\nimport { SubmissionInfo } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SkeletonTable } from '../Skeleton/SkeletonTable'\nimport { UserBadge } from '../UserCard/UserBadge'\n\nexport type SubmissionInfoCardProps = {\n info: SubmissionInfo\n}\n\nexport function SubmissionInfoCard({ info }: SubmissionInfoCardProps) {\n return (\n <>\n {info && (\n <div className=\"SubmissionInfoCard\">\n <strong> Project Lead: </strong> <span>{info.projectLead}</span>{' '}\n <br />\n <strong> Institution: </strong> <span>{info.institution}</span> <br />\n <strong> Data Access Request Submitted By: </strong>{' '}\n <UserBadge userId={info.submittedBy} /> <br />\n <strong>\n {' '}\n Intended Data Use Statement &#40;accepted on{' '}\n {formatDate(dayjs(info.modifiedOn), 'M/D/YYYY')}&#41;:\n </strong>\n <MarkdownSynapse markdown={info.intendedDataUseStatement} />\n {info.accessorChanges &&\n info.accessorChanges.map(accessorChange => (\n <div key={`${accessorChange.userId}-${accessorChange.type}`}>\n <UserBadge userId={accessorChange.userId} />{' '}\n {accessorChange.type}\n </div>\n ))}\n </div>\n )}\n </>\n )\n}\n\nexport function LoadingSubmissionInfoCard() {\n return (\n <div className=\"SubmissionInfoCard\">\n <SkeletonTable numCols={1} numRows={4} />\n <Skeleton variant=\"rectangular\" width={'100%'} height={80} />\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,EAAmB,EAAE,WAAiC;CACpE,OACE,kBAAA,GAAA,EAAA,UACG,KACC,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,UAAD,EAAA,UAAQ,kBAAuB,CAAA;GAAC;GAAC,kBAAC,QAAD,EAAA,UAAO,EAAK,YAAkB,CAAA;GAAE;GACjE,kBAAC,MAAD,CAAK,CAAA;GACL,kBAAC,UAAD,EAAA,UAAQ,iBAAsB,CAAA;GAAC;GAAC,kBAAC,QAAD,EAAA,UAAO,EAAK,YAAkB,CAAA;GAAC;GAAC,kBAAC,MAAD,CAAK,CAAA;GACrE,kBAAC,UAAD,EAAA,UAAQ,sCAA2C,CAAA;GAAE;GACrD,kBAAC,GAAD,EAAW,QAAQ,EAAK,YAAc,CAAA;GAAC;GAAC,kBAAC,MAAD,CAAK,CAAA;GAC7C,kBAAC,UAAD,EAAA,UAAA;IACG;IAAI;IACwC;IAC5C,EAAW,EAAM,EAAK,UAAU,GAAG,UAAU;IAAE;GAC1C,EAAA,CAAA;GACR,kBAAC,GAAD,EAAiB,UAAU,EAAK,yBAA2B,CAAA;GAC1D,EAAK,mBACJ,EAAK,gBAAgB,KAAI,MACvB,kBAAC,OAAD,EAAA,UAAA;IACE,kBAAC,GAAD,EAAW,QAAQ,EAAe,OAAS,CAAA;IAAE;IAC5C,EAAe;GACb,EAAA,GAHK,GAAG,EAAe,OAAO,GAAG,EAAe,MAGhD,CACN;EACA;IAEP,CAAA;AAEN;AAEA,SAAgB,IAA4B;CAC1C,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GAAe,SAAS;GAAG,SAAS;EAAI,CAAA,GACxC,kBAAC,GAAD;GAAU,SAAQ;GAAc,OAAO;GAAQ,QAAQ;EAAK,CAAA,CACzD;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import { ReactComponent as chart2Svg } from '@/assets/icons/chart2.svg'\nimport { ReactComponent as Data2Svg } from '@/assets/icons/Data2.svg'\nimport { ReactComponent as DNA_TwoSvg } from '@/assets/icons/DNA_Two.svg'\nimport { ReactComponent as fileSvg } from '@/assets/icons/file.svg'\nimport { ReactComponent as institutionSvg } from '@/assets/icons/institution.svg'\nimport { ReactComponent as mouseSvg } from '@/assets/icons/mouse.svg'\nimport { ReactComponent as organizationsSvg } from '@/assets/icons/organizations.svg'\nimport { ReactComponent as personSvg } from '@/assets/icons/person.svg'\nimport { ReactComponent as studyActiveSvg } from '@/assets/icons/study-active.svg'\nimport { ReactComponent as studyCompleteSvg } from '@/assets/icons/study-complete.svg'\nimport { ReactComponent as translationalSvg } from '@/assets/icons/translational.svg'\nimport { ReactComponent as treeHorizontalSvg } from '@/assets/icons/tree_horizontal.svg'\nimport { ReactComponent as standardDataModelSvg } from '@/assets/icons/standardDataModel.svg'\nimport { ReactComponent as Challenge } from '@/assets/icons/Challenge.svg'\nimport {\n Chart,\n Close,\n Collapse,\n Columns,\n ColumnsDark,\n Database,\n Download,\n Expand,\n Explore,\n ExternalLink,\n Filter,\n Program,\n Project,\n Publication,\n Search,\n Settings,\n SortDown,\n SortUp,\n SqlEditorIcon,\n Study,\n ToolClinical,\n ToolComputational,\n ToolExperimental,\n VerticalDots,\n} from '@/assets/themed_icons'\nimport {\n CHALLENGE,\n CHART,\n CHART2,\n CLINICAL,\n CLOSE,\n COLLAPSE,\n COLUMNS,\n COLUMNSDARK,\n COMPUTATIONAL,\n COMPUTATIONAL_TOOL,\n CONTRIBUTOR,\n DATABASE,\n DATASET,\n DOWNLOAD,\n DOWNLOAD_PERMISSION_REQUIRED,\n EASY_DIFFICULTY,\n EXPAND,\n EXPERIMENTAL,\n EXPERIMENTAL_TOOL,\n EXPLORE,\n EXTERNAL_RESOURCE,\n EXTERNALLINK,\n FILE,\n FILTER,\n FUNDER,\n GRANT,\n MEDIUM_DIFFICULTY,\n MOUSE,\n ORGANIZATION,\n PERSON,\n PROGRAM,\n PROJECT,\n PUBLICATION,\n SEARCH,\n SETTINGS,\n SORTDOWN,\n SORTUP,\n SQL_EDITOR,\n STANDARD_DATA_MODEL,\n STUDY,\n STUDY_ACTIVE,\n STUDY_COMPLETE,\n TOOL,\n TRANSLATIONAL,\n TREE_HORIZONTAL,\n VARIABLE_DIFFICULTY,\n VERTICAL_DOTS,\n} from '@/utils/SynapseConstants'\nimport { ComponentType } from 'react'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type IconOptions = Record<string, string | ComponentType<any>>\n\nexport type IconProps = {\n type: string\n iconOptions?: IconOptions\n value?: string\n isHeader?: boolean\n cssClass?: string\n}\n\nconst iconSvgMapping = {\n clipboard: <IconSvg icon=\"clipboard\" />,\n [DATASET]: <IconSvg icon=\"dataset\" />,\n [EXTERNAL_RESOURCE]: <IconSvg icon=\"link\" />,\n}\n\nconst defaultIcons = {\n [DATABASE]: Database, // this returns svg tag\n [FUNDER]: Data2Svg,\n [TOOL]: DNA_TwoSvg,\n [STUDY_ACTIVE]: studyActiveSvg,\n [STUDY_COMPLETE]: studyCompleteSvg,\n // new icons\n [PUBLICATION]: Publication,\n [STUDY]: Study,\n [EXPERIMENTAL]: ToolExperimental,\n [EXPERIMENTAL_TOOL]: ToolExperimental,\n [COMPUTATIONAL]: ToolComputational,\n [COMPUTATIONAL_TOOL]: ToolComputational,\n [CLINICAL]: ToolClinical,\n [PROGRAM]: Program,\n [PROJECT]: Project,\n [GRANT]: Project,\n [ORGANIZATION]: organizationsSvg,\n [PERSON]: personSvg,\n [MOUSE]: mouseSvg,\n [TRANSLATIONAL]: translationalSvg,\n [EXPLORE]: Explore,\n [SEARCH]: Search,\n [CHART]: Chart,\n [FILTER]: Filter,\n [SQL_EDITOR]: SqlEditorIcon,\n [DOWNLOAD]: Download,\n [EXPAND]: Expand,\n [COLLAPSE]: Collapse,\n [CLOSE]: Close,\n [SORTUP]: SortUp,\n [SORTDOWN]: SortDown,\n [SETTINGS]: Settings,\n [COLUMNS]: Columns,\n [COLUMNSDARK]: ColumnsDark,\n [CHALLENGE]: Challenge,\n [VERTICAL_DOTS]: VerticalDots,\n [CHART2]: chart2Svg,\n [FILE]: fileSvg,\n [EXTERNALLINK]: ExternalLink,\n [CONTRIBUTOR]: institutionSvg,\n [TREE_HORIZONTAL]: treeHorizontalSvg,\n [STANDARD_DATA_MODEL]: standardDataModelSvg,\n [EASY_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/easy.svg',\n [MEDIUM_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/medium.svg',\n [VARIABLE_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/variable.svg',\n [DOWNLOAD_PERMISSION_REQUIRED]:\n 'https://s3.amazonaws.com/static.synapse.org/images/downloadPermissionRequired.svg',\n}\nfunction Icon({ type, value = '', iconOptions, cssClass }: IconProps) {\n const IconSvg = iconSvgMapping[value] || iconSvgMapping[type]\n if (IconSvg) return IconSvg\n\n const iconSet = { ...defaultIcons, ...iconOptions }\n // see if the value has a corresponding icon, e.g. 'Active' in a studies table\n // or if the type of card has a corresponding icon, e.g. 'Publication'\n const IconDefinition = iconSet[value] || iconSet[type]\n const className = `iconImg ${cssClass ?? ''}`\n if (IconDefinition == null) {\n console.warn('Icon type not found:', type)\n return <></>\n }\n if (typeof IconDefinition === 'string') {\n return <img src={IconDefinition} className={className} />\n }\n return (\n <span>\n <IconDefinition className={className} />\n </span>\n )\n}\nexport default Icon\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,IAAM,IAAiB;CACrB,WAAW,kBAAC,GAAD,EAAS,MAAK,aAAc,CAAA;EACtC,KAAU,kBAAC,GAAD,EAAS,MAAK,WAAY,CAAA;EACpC,IAAoB,kBAAC,GAAD,EAAS,MAAK,QAAS,CAAA;CAC7C,EAEK,KAAe;EAClB,KAAW;EACX,IAAS;EACT,IAAO;EACP,IAAe;EACf,IAAiB;EAEjB,IAAc;EACd,IAAQ;EACR,IAAe;EACf,IAAoB;EACpB,IAAgB;EAChB,KAAqB;EACrB,IAAW;EACX,IAAU;EACV,IAAU;EACV,IAAQ;EACR,IAAe;EACf,IAAS;EACT,IAAQ;EACR,IAAgB;EAChB,IAAU;EACV,IAAS;EACT,IAAQ;EACR,IAAS;EACT,IAAa;EACb,KAAW;EACX,IAAS;EACT,IAAW;EACX,IAAQ;EACR,IAAS;EACT,IAAW;EACX,IAAW;EACX,IAAU;EACV,IAAc;EACd,IAAY;EACZ,IAAgB;EAChB,IAAS;EACT,IAAO;EACP,IAAe;EACf,KAAc;EACd,IAAkB;EAClB,IAAsB;EACtB,KACC;EACD,IACC;EACD,IACC;EACD,KACC;CACH;AACD,SAAS,GAAK,EAAE,SAAM,WAAQ,IAAI,gBAAa,eAAuB;CACpE,IAAM,IAAU,EAAe,MAAU,EAAe;AACxD,KAAI,EAAS,QAAO;CAEpB,IAAM,IAAU;EAAE,GAAG;EAAc,GAAG;EAAa,EAG7C,IAAiB,EAAQ,MAAU,EAAQ,IAC3C,IAAY,WAAW,KAAY;AAQzC,QAPI,KAAkB,QACpB,QAAQ,KAAK,wBAAwB,EAAK,EACnC,kBAAA,IAAA,EAAK,CAAA,IAEV,OAAO,KAAmB,WACrB,kBAAC,OAAD;EAAK,KAAK;EAA2B;EAAa,CAAA,GAGzD,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD,EAA2B,cAAa,CAAA,EACnC,CAAA"}
1
+ {"version":3,"file":"Icon.js","names":[],"sources":["../../../src/components/Icon/Icon.tsx"],"sourcesContent":["import { ReactComponent as chart2Svg } from '@/assets/icons/chart2.svg'\nimport { ReactComponent as Data2Svg } from '@/assets/icons/Data2.svg'\nimport { ReactComponent as DNA_TwoSvg } from '@/assets/icons/DNA_Two.svg'\nimport { ReactComponent as fileSvg } from '@/assets/icons/file.svg'\nimport { ReactComponent as institutionSvg } from '@/assets/icons/institution.svg'\nimport { ReactComponent as mouseSvg } from '@/assets/icons/mouse.svg'\nimport { ReactComponent as organizationsSvg } from '@/assets/icons/organizations.svg'\nimport { ReactComponent as personSvg } from '@/assets/icons/person.svg'\nimport { ReactComponent as studyActiveSvg } from '@/assets/icons/study-active.svg'\nimport { ReactComponent as studyCompleteSvg } from '@/assets/icons/study-complete.svg'\nimport { ReactComponent as translationalSvg } from '@/assets/icons/translational.svg'\nimport { ReactComponent as treeHorizontalSvg } from '@/assets/icons/tree_horizontal.svg'\nimport { ReactComponent as standardDataModelSvg } from '@/assets/icons/standardDataModel.svg'\nimport { ReactComponent as Challenge } from '@/assets/icons/Challenge.svg'\nimport {\n Chart,\n Close,\n Collapse,\n Columns,\n ColumnsDark,\n Database,\n Download,\n Expand,\n Explore,\n ExternalLink,\n Filter,\n Program,\n Project,\n Publication,\n Search,\n Settings,\n SortDown,\n SortUp,\n SqlEditorIcon,\n Study,\n ToolClinical,\n ToolComputational,\n ToolExperimental,\n VerticalDots,\n} from '@/assets/themed_icons'\nimport {\n CHALLENGE,\n CHART,\n CHART2,\n CLINICAL,\n CLOSE,\n COLLAPSE,\n COLUMNS,\n COLUMNSDARK,\n COMPUTATIONAL,\n COMPUTATIONAL_TOOL,\n CONTRIBUTOR,\n DATABASE,\n DATASET,\n DOWNLOAD,\n DOWNLOAD_PERMISSION_REQUIRED,\n EASY_DIFFICULTY,\n EXPAND,\n EXPERIMENTAL,\n EXPERIMENTAL_TOOL,\n EXPLORE,\n EXTERNAL_RESOURCE,\n EXTERNALLINK,\n FILE,\n FILTER,\n FUNDER,\n GRANT,\n MEDIUM_DIFFICULTY,\n MOUSE,\n ORGANIZATION,\n PERSON,\n PROGRAM,\n PROJECT,\n PUBLICATION,\n SEARCH,\n SETTINGS,\n SORTDOWN,\n SORTUP,\n SQL_EDITOR,\n STANDARD_DATA_MODEL,\n STUDY,\n STUDY_ACTIVE,\n STUDY_COMPLETE,\n TOOL,\n TRANSLATIONAL,\n TREE_HORIZONTAL,\n VARIABLE_DIFFICULTY,\n VERTICAL_DOTS,\n} from '@/utils/SynapseConstants'\nimport { ComponentType } from 'react'\nimport IconSvg from '../IconSvg/IconSvg'\n\nexport type IconOptions = Record<string, string | ComponentType<any>>\n\nexport type IconProps = {\n type: string\n iconOptions?: IconOptions\n value?: string\n isHeader?: boolean\n cssClass?: string\n}\n\nconst iconSvgMapping = {\n clipboard: <IconSvg icon=\"clipboard\" />,\n [DATASET]: <IconSvg icon=\"dataset\" />,\n [EXTERNAL_RESOURCE]: <IconSvg icon=\"link\" />,\n}\n\nconst defaultIcons = {\n [DATABASE]: Database, // this returns svg tag\n [FUNDER]: Data2Svg,\n [TOOL]: DNA_TwoSvg,\n [STUDY_ACTIVE]: studyActiveSvg,\n [STUDY_COMPLETE]: studyCompleteSvg,\n // new icons\n [PUBLICATION]: Publication,\n [STUDY]: Study,\n [EXPERIMENTAL]: ToolExperimental,\n [EXPERIMENTAL_TOOL]: ToolExperimental,\n [COMPUTATIONAL]: ToolComputational,\n [COMPUTATIONAL_TOOL]: ToolComputational,\n [CLINICAL]: ToolClinical,\n [PROGRAM]: Program,\n [PROJECT]: Project,\n [GRANT]: Project,\n [ORGANIZATION]: organizationsSvg,\n [PERSON]: personSvg,\n [MOUSE]: mouseSvg,\n [TRANSLATIONAL]: translationalSvg,\n [EXPLORE]: Explore,\n [SEARCH]: Search,\n [CHART]: Chart,\n [FILTER]: Filter,\n [SQL_EDITOR]: SqlEditorIcon,\n [DOWNLOAD]: Download,\n [EXPAND]: Expand,\n [COLLAPSE]: Collapse,\n [CLOSE]: Close,\n [SORTUP]: SortUp,\n [SORTDOWN]: SortDown,\n [SETTINGS]: Settings,\n [COLUMNS]: Columns,\n [COLUMNSDARK]: ColumnsDark,\n [CHALLENGE]: Challenge,\n [VERTICAL_DOTS]: VerticalDots,\n [CHART2]: chart2Svg,\n [FILE]: fileSvg,\n [EXTERNALLINK]: ExternalLink,\n [CONTRIBUTOR]: institutionSvg,\n [TREE_HORIZONTAL]: treeHorizontalSvg,\n [STANDARD_DATA_MODEL]: standardDataModelSvg,\n [EASY_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/easy.svg',\n [MEDIUM_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/medium.svg',\n [VARIABLE_DIFFICULTY]:\n 'https://s3.amazonaws.com/static.synapse.org/images/variable.svg',\n [DOWNLOAD_PERMISSION_REQUIRED]:\n 'https://s3.amazonaws.com/static.synapse.org/images/downloadPermissionRequired.svg',\n}\nfunction Icon({ type, value = '', iconOptions, cssClass }: IconProps) {\n const IconSvg = iconSvgMapping[value] || iconSvgMapping[type]\n if (IconSvg) return IconSvg\n\n const iconSet = { ...defaultIcons, ...iconOptions }\n // see if the value has a corresponding icon, e.g. 'Active' in a studies table\n // or if the type of card has a corresponding icon, e.g. 'Publication'\n const IconDefinition = iconSet[value] || iconSet[type]\n const className = `iconImg ${cssClass ?? ''}`\n if (IconDefinition == null) {\n console.warn('Icon type not found:', type)\n return <></>\n }\n if (typeof IconDefinition === 'string') {\n return <img src={IconDefinition} className={className} />\n }\n return (\n <span>\n <IconDefinition className={className} />\n </span>\n )\n}\nexport default Icon\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,IAAM,IAAiB;CACrB,WAAW,kBAAC,GAAD,EAAS,MAAK,YAAa,CAAA;EACrC,KAAU,kBAAC,GAAD,EAAS,MAAK,UAAW,CAAA;EACnC,IAAoB,kBAAC,GAAD,EAAS,MAAK,OAAQ,CAAA;AAC7C,GAEM,KAAe;EAClB,KAAW;EACX,IAAS;EACT,IAAO;EACP,IAAe;EACf,IAAiB;EAEjB,IAAc;EACd,IAAQ;EACR,IAAe;EACf,IAAoB;EACpB,IAAgB;EAChB,KAAqB;EACrB,IAAW;EACX,IAAU;EACV,IAAU;EACV,IAAQ;EACR,IAAe;EACf,IAAS;EACT,IAAQ;EACR,IAAgB;EAChB,IAAU;EACV,IAAS;EACT,IAAQ;EACR,IAAS;EACT,IAAa;EACb,KAAW;EACX,IAAS;EACT,IAAW;EACX,IAAQ;EACR,IAAS;EACT,IAAW;EACX,IAAW;EACX,IAAU;EACV,IAAc;EACd,IAAY;EACZ,IAAgB;EAChB,IAAS;EACT,IAAO;EACP,IAAe;EACf,KAAc;EACd,IAAkB;EAClB,IAAsB;EACtB,KACC;EACD,IACC;EACD,IACC;EACD,KACC;AACJ;AACA,SAAS,GAAK,EAAE,SAAM,WAAQ,IAAI,gBAAa,eAAuB;CACpE,IAAM,IAAU,EAAe,MAAU,EAAe;CACxD,IAAI,GAAS,OAAO;CAEpB,IAAM,IAAU;EAAE,GAAG;EAAc,GAAG;CAAY,GAG5C,IAAiB,EAAQ,MAAU,EAAQ,IAC3C,IAAY,WAAW,KAAY;CAQzC,OAPI,KAAkB,QACpB,QAAQ,KAAK,wBAAwB,CAAI,GAClC,kBAAA,IAAA,CAAI,CAAA,KAET,OAAO,KAAmB,WACrB,kBAAC,OAAD;EAAK,KAAK;EAA2B;CAAY,CAAA,IAGxD,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD,EAA2B,aAAY,CAAA,EACnC,CAAA;AAEV"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconList.js","names":[],"sources":["../../src/components/IconList.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport { merge } from 'lodash-es'\nimport { useCallback, useMemo } from 'react'\nimport IconSvg, { IconSvgProps } from './IconSvg/IconSvg'\nimport { useQueryContext } from './QueryContext'\n\ntype IconConfigs = {\n [index: string]: IconSvgProps // if the icon option has the \"label\" set, it will show tooltip in IconSvg\n}\n\nexport type IconListProps = {\n iconConfigs: IconConfigs\n iconNames: string[]\n commonIconProps?: Omit<IconSvgProps, 'icon'>\n useTheme?: boolean\n useBackground?: boolean\n}\n\nconst defaultCommonIconProps: IconListProps['commonIconProps'] = {\n sx: { fontSize: '24px' },\n}\n\nfunction IconList(props: IconListProps) {\n const {\n iconConfigs,\n iconNames,\n commonIconProps = defaultCommonIconProps,\n useTheme,\n useBackground,\n } = props\n let noMatch: boolean = false\n const css = useTheme ? 'icon-list themed' : 'icon-list'\n const componentCss = useBackground ? `${css} bg-circle` : css\n const queryContext = useQueryContext()\n const { addValueToSelectedFacet } = queryContext\n\n const handleIconClick = useCallback(\n (dataType: 'string') => {\n const facet: UniqueFacetIdentifier = {\n columnName: 'dataType',\n }\n addValueToSelectedFacet(facet, dataType)\n },\n [addValueToSelectedFacet],\n )\n\n const mergedIconConfigs: IconConfigs = useMemo(() => {\n const mergedIconConfigs: IconConfigs = {}\n for (const [key, iconProps] of Object.entries(iconConfigs)) {\n mergedIconConfigs[key] = merge({}, commonIconProps, iconProps)\n }\n return mergedIconConfigs\n }, [iconConfigs, commonIconProps])\n\n const buildIconList = () => {\n const unique = Array.from(new Set(iconNames))\n return unique.map((el: any) => {\n const iconConfig = mergedIconConfigs[el]\n // if this data type value doesn't have a matching icon, we use the \"other\" icon\n if (!iconConfig) {\n noMatch = true\n return\n } else {\n return (\n <IconSvg\n key={el}\n {...iconConfig}\n onClick={() => handleIconClick(el)}\n />\n )\n }\n })\n }\n\n return (\n <span className={componentCss}>\n {buildIconList()}\n {noMatch && mergedIconConfigs['other'] ? (\n <IconSvg {...mergedIconConfigs['other']} />\n ) : (\n <></>\n )}\n </span>\n )\n}\n\nexport default IconList\n"],"mappings":";;;;;;;AAkBA,IAAM,IAA2D,EAC/D,IAAI,EAAE,UAAU,QAAQ,EACzB;AAED,SAAS,EAAS,GAAsB;CACtC,IAAM,EACJ,gBACA,cACA,qBAAkB,GAClB,aACA,qBACE,GACA,IAAmB,IACjB,IAAM,IAAW,qBAAqB,aACtC,IAAe,IAAgB,GAAG,EAAI,cAAc,GAEpD,EAAE,+BADa,GACe,EAE9B,IAAkB,GACrB,MAAuB;AAItB,IAAwB,EAFtB,YAAY,YAEU,EAAO,EAAS;IAE1C,CAAC,EAAwB,CAC1B,EAEK,IAAiC,QAAc;EACnD,IAAM,IAAiC,EAAE;AACzC,OAAK,IAAM,CAAC,GAAK,MAAc,OAAO,QAAQ,EAAY,CACxD,GAAkB,KAAO,EAAM,EAAE,EAAE,GAAiB,EAAU;AAEhE,SAAO;IACN,CAAC,GAAa,EAAgB,CAAC;AAsBlC,QACE,kBAAC,QAAD;EAAM,WAAW;YAAjB,CApBe,MAAM,KAAK,IAAI,IAAI,EAAU,CACrC,CAAO,KAAK,MAAY;GAC7B,IAAM,IAAa,EAAkB;AAErC,OAAK,EAIH,QACE,kBAAC,GAAD;IAEE,GAAI;IACJ,eAAe,EAAgB,EAAG;IAClC,EAHK,EAGL;AARJ,OAAU;IAWZ,EAMC,KAAW,EAAkB,QAC5B,kBAAC,GAAD,EAAS,GAAI,EAAkB,OAAY,CAAA,GAE3C,kBAAA,GAAA,EAAK,CAAA,CAEF"}
1
+ {"version":3,"file":"IconList.js","names":[],"sources":["../../src/components/IconList.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport { merge } from 'lodash-es'\nimport { useCallback, useMemo } from 'react'\nimport IconSvg, { IconSvgProps } from './IconSvg/IconSvg'\nimport { useQueryContext } from './QueryContext'\n\ntype IconConfigs = {\n [index: string]: IconSvgProps // if the icon option has the \"label\" set, it will show tooltip in IconSvg\n}\n\nexport type IconListProps = {\n iconConfigs: IconConfigs\n iconNames: string[]\n commonIconProps?: Omit<IconSvgProps, 'icon'>\n useTheme?: boolean\n useBackground?: boolean\n}\n\nconst defaultCommonIconProps: IconListProps['commonIconProps'] = {\n sx: { fontSize: '24px' },\n}\n\nfunction IconList(props: IconListProps) {\n const {\n iconConfigs,\n iconNames,\n commonIconProps = defaultCommonIconProps,\n useTheme,\n useBackground,\n } = props\n let noMatch: boolean = false\n const css = useTheme ? 'icon-list themed' : 'icon-list'\n const componentCss = useBackground ? `${css} bg-circle` : css\n const queryContext = useQueryContext()\n const { addValueToSelectedFacet } = queryContext\n\n const handleIconClick = useCallback(\n (dataType: 'string') => {\n const facet: UniqueFacetIdentifier = {\n columnName: 'dataType',\n }\n addValueToSelectedFacet(facet, dataType)\n },\n [addValueToSelectedFacet],\n )\n\n const mergedIconConfigs: IconConfigs = useMemo(() => {\n const mergedIconConfigs: IconConfigs = {}\n for (const [key, iconProps] of Object.entries(iconConfigs)) {\n mergedIconConfigs[key] = merge({}, commonIconProps, iconProps)\n }\n return mergedIconConfigs\n }, [iconConfigs, commonIconProps])\n\n const buildIconList = () => {\n const unique = Array.from(new Set(iconNames))\n return unique.map((el: any) => {\n const iconConfig = mergedIconConfigs[el]\n // if this data type value doesn't have a matching icon, we use the \"other\" icon\n if (!iconConfig) {\n noMatch = true\n return\n } else {\n return (\n <IconSvg\n key={el}\n {...iconConfig}\n onClick={() => handleIconClick(el)}\n />\n )\n }\n })\n }\n\n return (\n <span className={componentCss}>\n {buildIconList()}\n {noMatch && mergedIconConfigs['other'] ? (\n <IconSvg {...mergedIconConfigs['other']} />\n ) : (\n <></>\n )}\n </span>\n )\n}\n\nexport default IconList\n"],"mappings":";;;;;;;AAkBA,IAAM,IAA2D,EAC/D,IAAI,EAAE,UAAU,OAAO,EACzB;AAEA,SAAS,EAAS,GAAsB;CACtC,IAAM,EACJ,gBACA,cACA,qBAAkB,GAClB,aACA,qBACE,GACA,IAAmB,IACjB,IAAM,IAAW,qBAAqB,aACtC,IAAe,IAAgB,GAAG,EAAI,cAAc,GAEpD,EAAE,+BADa,EACe,GAE9B,IAAkB,GACrB,MAAuB;EAItB,EAAwB,EAFtB,YAAY,WAEU,GAAO,CAAQ;CACzC,GACA,CAAC,CAAuB,CAC1B,GAEM,IAAiC,QAAc;EACnD,IAAM,IAAiC,CAAC;EACxC,KAAK,IAAM,CAAC,GAAK,MAAc,OAAO,QAAQ,CAAW,GACvD,EAAkB,KAAO,EAAM,CAAC,GAAG,GAAiB,CAAS;EAE/D,OAAO;CACT,GAAG,CAAC,GAAa,CAAe,CAAC;CAsBjC,OACE,kBAAC,QAAD;EAAM,WAAW;YAAjB,CApBe,MAAM,KAAK,IAAI,IAAI,CAAS,CACpC,EAAO,KAAK,MAAY;GAC7B,IAAM,IAAa,EAAkB;GAErC,IAAK,GAIH,OACE,kBAAC,GAAD;IAEE,GAAI;IACJ,eAAe,EAAgB,CAAE;GAClC,GAHM,CAGN;GARH,IAAU;EAWd,CAAC,GAME,KAAW,EAAkB,QAC5B,kBAAC,GAAD,EAAS,GAAI,EAAkB,MAAW,CAAA,IAE1C,kBAAA,GAAA,CAAI,CAAA,CAEF;;AAEV"}