synapse-react-client 4.0.18 → 4.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1609) hide show
  1. package/dist/SWC.index.d.ts +3 -1
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +3 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  6. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  7. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  8. package/dist/assets/GoogleIcon.js.map +1 -1
  9. package/dist/assets/GoogleIcon24.js.map +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  11. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  12. package/dist/assets/homepage/aacr.js.map +1 -1
  13. package/dist/assets/homepage/cri.js.map +1 -1
  14. package/dist/assets/homepage/ctf.js.map +1 -1
  15. package/dist/assets/homepage/egress.js.map +1 -1
  16. package/dist/assets/homepage/facebook.js.map +1 -1
  17. package/dist/assets/homepage/fisma.js.map +1 -1
  18. package/dist/assets/homepage/gff.js.map +1 -1
  19. package/dist/assets/homepage/github.js.map +1 -1
  20. package/dist/assets/homepage/gray.js.map +1 -1
  21. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  22. package/dist/assets/homepage/instagram.js.map +1 -1
  23. package/dist/assets/homepage/linkedin.js.map +1 -1
  24. package/dist/assets/homepage/ml-commons.js.map +1 -1
  25. package/dist/assets/homepage/nih-aging.js.map +1 -1
  26. package/dist/assets/homepage/nih-heart.js.map +1 -1
  27. package/dist/assets/homepage/nih-nci.js.map +1 -1
  28. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  29. package/dist/assets/homepage/ntap.js.map +1 -1
  30. package/dist/assets/homepage/plan-item.js.map +1 -1
  31. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  32. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  33. package/dist/assets/homepage/python.js.map +1 -1
  34. package/dist/assets/homepage/r.js.map +1 -1
  35. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  36. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  37. package/dist/assets/homepage/sloan.js.map +1 -1
  38. package/dist/assets/homepage/twitter.js.map +1 -1
  39. package/dist/assets/homepage/users.js.map +1 -1
  40. package/dist/assets/homepage/youtube.js.map +1 -1
  41. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  42. package/dist/assets/icons/AccessPending.js.map +1 -1
  43. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  44. package/dist/assets/icons/AddAd.js.map +1 -1
  45. package/dist/assets/icons/AddToList.js.map +1 -1
  46. package/dist/assets/icons/Alert.js.map +1 -1
  47. package/dist/assets/icons/Arrow.js.map +1 -1
  48. package/dist/assets/icons/AwardScroll.js.map +1 -1
  49. package/dist/assets/icons/Baseline.js.map +1 -1
  50. package/dist/assets/icons/Cavatica.js.map +1 -1
  51. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  52. package/dist/assets/icons/Challenge.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  58. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  59. package/dist/assets/icons/ClappingHands.js.map +1 -1
  60. package/dist/assets/icons/CloudWarning.js.map +1 -1
  61. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  62. package/dist/assets/icons/CreateVersion.js.map +1 -1
  63. package/dist/assets/icons/DNA_Two.js.map +1 -1
  64. package/dist/assets/icons/Data2.js.map +1 -1
  65. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  66. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield.js.map +1 -1
  68. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  69. package/dist/assets/icons/FrontHand.js.map +1 -1
  70. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  71. package/dist/assets/icons/IconCopy.js.map +1 -1
  72. package/dist/assets/icons/IconMinus.js.map +1 -1
  73. package/dist/assets/icons/IconPlus.js.map +1 -1
  74. package/dist/assets/icons/Java.js.map +1 -1
  75. package/dist/assets/icons/MintDoi.js.map +1 -1
  76. package/dist/assets/icons/MultiFile.js.map +1 -1
  77. package/dist/assets/icons/MultiFile2.js.map +1 -1
  78. package/dist/assets/icons/NoData.js.map +1 -1
  79. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  80. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  81. package/dist/assets/icons/OpenBook.js.map +1 -1
  82. package/dist/assets/icons/Podium.js.map +1 -1
  83. package/dist/assets/icons/Python.js.map +1 -1
  84. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  85. package/dist/assets/icons/RLogo.js.map +1 -1
  86. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  87. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  88. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  89. package/dist/assets/icons/SearchImage.js.map +1 -1
  90. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  91. package/dist/assets/icons/Sort.js.map +1 -1
  92. package/dist/assets/icons/StarTrophy.js.map +1 -1
  93. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  94. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  95. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  96. package/dist/assets/icons/TasksIcon.js.map +1 -1
  97. package/dist/assets/icons/Terminal.js.map +1 -1
  98. package/dist/assets/icons/ThreeStars.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  100. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  101. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  102. package/dist/assets/icons/account-certified.js.map +1 -1
  103. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  104. package/dist/assets/icons/account-validated.js.map +1 -1
  105. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  106. package/dist/assets/icons/chart2.js.map +1 -1
  107. package/dist/assets/icons/columns.js.map +1 -1
  108. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  109. package/dist/assets/icons/computationalTool.js.map +1 -1
  110. package/dist/assets/icons/dataReuse.js.map +1 -1
  111. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  112. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  113. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  114. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  115. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  116. package/dist/assets/icons/file.js.map +1 -1
  117. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  118. package/dist/assets/icons/institution.js.map +1 -1
  119. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  120. package/dist/assets/icons/modelSystem.js.map +1 -1
  121. package/dist/assets/icons/mouse.js.map +1 -1
  122. package/dist/assets/icons/organizations.js.map +1 -1
  123. package/dist/assets/icons/person.js.map +1 -1
  124. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  125. package/dist/assets/icons/standardDataModel.js.map +1 -1
  126. package/dist/assets/icons/study-active.js.map +1 -1
  127. package/dist/assets/icons/study-complete.js.map +1 -1
  128. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  129. package/dist/assets/icons/synapse-logo.js.map +1 -1
  130. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  131. package/dist/assets/icons/translational.js.map +1 -1
  132. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  133. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  138. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  139. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  145. package/dist/assets/illustrations/index.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  155. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  156. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  157. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  158. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  159. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  160. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  161. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  162. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  163. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  164. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  165. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  166. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  167. package/dist/assets/mui_components/Clinical.js.map +1 -1
  168. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  169. package/dist/assets/mui_components/Data.js.map +1 -1
  170. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  171. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  172. package/dist/assets/mui_components/Dataset.js.map +1 -1
  173. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  174. package/dist/assets/mui_components/Docker.js.map +1 -1
  175. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  176. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  177. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  178. package/dist/assets/mui_components/Imaging.js.map +1 -1
  179. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  180. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  181. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  182. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  183. package/dist/assets/mui_components/Other.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  185. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  186. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  187. package/dist/assets/mui_components/Rat.js.map +1 -1
  188. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  192. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  196. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  197. package/dist/assets/themed_icons/Active.js.map +1 -1
  198. package/dist/assets/themed_icons/Chart.js.map +1 -1
  199. package/dist/assets/themed_icons/Close.js.map +1 -1
  200. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  201. package/dist/assets/themed_icons/Columns.js.map +1 -1
  202. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  203. package/dist/assets/themed_icons/Database.js.map +1 -1
  204. package/dist/assets/themed_icons/Download.js.map +1 -1
  205. package/dist/assets/themed_icons/Expand.js.map +1 -1
  206. package/dist/assets/themed_icons/Explore.js.map +1 -1
  207. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  208. package/dist/assets/themed_icons/Filter.js.map +1 -1
  209. package/dist/assets/themed_icons/Program.js.map +1 -1
  210. package/dist/assets/themed_icons/Project.js.map +1 -1
  211. package/dist/assets/themed_icons/Publication.js.map +1 -1
  212. package/dist/assets/themed_icons/Search.js.map +1 -1
  213. package/dist/assets/themed_icons/Settings.js.map +1 -1
  214. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  215. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  216. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  217. package/dist/assets/themed_icons/Study.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  220. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  221. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  222. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  223. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  224. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  225. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  227. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  229. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  231. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  241. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  249. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  250. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  252. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  253. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  254. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  256. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  260. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  263. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  264. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  265. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  267. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  268. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  269. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  270. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  271. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  272. package/dist/components/AddToDownloadListV2.js.map +1 -1
  273. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  274. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  275. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  276. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  277. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  278. package/dist/components/Authentication/LoginForm.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  280. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  281. package/dist/components/Authentication/Logout.js.map +1 -1
  282. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  283. package/dist/components/Authentication/PasswordField.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  285. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  286. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  287. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  288. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  289. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  293. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  294. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  295. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  296. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  297. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  298. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  299. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  300. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  301. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  302. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  303. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  304. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  305. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  306. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  307. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  308. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  309. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  310. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  311. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  312. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  313. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  314. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  315. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  316. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  317. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  322. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  323. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  324. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  325. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  326. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  330. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  332. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  333. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  334. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  335. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  336. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  337. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  338. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  339. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  340. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  341. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  342. package/dist/components/ComponentCollapse.js.map +1 -1
  343. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  344. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  345. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  346. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  347. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  348. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  349. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  350. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  351. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  352. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  353. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  354. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  355. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  356. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  357. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  358. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  359. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  360. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  361. package/dist/components/DataExplorer/DataExplorer.css +1 -0
  362. package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
  363. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
  364. package/dist/components/DataExplorer/DataExplorer.js +116 -0
  365. package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
  366. package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
  367. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
  368. package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
  369. package/dist/components/DataGrid/DataGrid.js +72 -72
  370. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  371. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  372. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  373. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  374. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  375. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  376. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  377. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  378. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  379. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  380. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  381. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  382. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  383. package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
  384. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
  387. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  389. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  390. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
  391. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
  392. package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
  393. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  394. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  395. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  397. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  399. package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
  400. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
  401. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  402. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  403. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +2 -0
  405. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
  408. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
  409. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  410. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  411. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  412. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  413. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  414. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  415. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  416. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  417. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  418. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  419. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  420. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  421. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  422. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  423. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  424. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  425. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  426. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  427. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  428. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  430. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  431. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  432. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  436. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  437. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  438. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  445. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  446. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  447. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  448. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  449. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  450. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  451. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  452. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  453. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  454. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  455. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  456. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  457. package/dist/components/DialogBase.js.map +1 -1
  458. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  459. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  460. package/dist/components/DirectDownloadButton.js.map +1 -1
  461. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  462. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  463. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  464. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  465. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  470. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  471. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  472. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  473. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  474. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  475. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  476. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  477. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  478. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  479. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  480. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  481. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  483. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  484. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  485. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  486. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  487. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  488. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  489. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  490. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  491. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  492. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  493. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  494. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  495. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  496. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  497. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  498. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  499. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  501. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  502. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  503. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  504. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  505. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  506. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  511. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  513. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  515. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  529. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  530. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  532. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  533. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  534. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  535. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  536. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  540. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  541. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  542. package/dist/components/EntityIcon.js.map +1 -1
  543. package/dist/components/EntityLink.js.map +1 -1
  544. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  545. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  553. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  554. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  557. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  558. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  559. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  561. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  562. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  563. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  564. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  565. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  566. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  568. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  569. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  570. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  571. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  576. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  577. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  578. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  579. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  580. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  581. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  582. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  583. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  584. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  585. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  590. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  591. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  592. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  593. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  594. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  595. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  596. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  597. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  598. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  599. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  600. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  601. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  602. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  603. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  604. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  605. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  606. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  607. package/dist/components/Forum/ForumPage.js.map +1 -1
  608. package/dist/components/Forum/ForumTable.js.map +1 -1
  609. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  610. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  611. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  612. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  613. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  614. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  615. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  616. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  617. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  618. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  620. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  623. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  624. package/dist/components/GenericCard/Linkify.js.map +1 -1
  625. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  627. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  629. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  630. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  631. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  632. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  633. package/dist/components/Goals/Goals.js +25 -27
  634. package/dist/components/Goals/Goals.js.map +1 -1
  635. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  636. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  637. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  638. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  639. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  640. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  641. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  642. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  643. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  644. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  645. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  646. package/dist/components/HasAccess/AccessIcon.js +10 -10
  647. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  648. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  649. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  650. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  651. package/dist/components/HeaderCard.js.map +1 -1
  652. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  653. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  654. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  655. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  656. package/dist/components/Icon/Icon.js.map +1 -1
  657. package/dist/components/IconList.js.map +1 -1
  658. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  659. package/dist/components/IconSvgButton.js.map +1 -1
  660. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  661. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  662. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  663. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  664. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  665. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  666. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  667. package/dist/components/JsonLdScript.js.map +1 -1
  668. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  669. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  670. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  685. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  686. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  687. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  688. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  689. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  690. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  693. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  694. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  696. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  697. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  698. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  699. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  700. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  701. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  702. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  703. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  704. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  705. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  713. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  714. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  715. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  716. package/dist/components/MuiContainer.js.map +1 -1
  717. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  718. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  719. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  720. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  721. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  722. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  723. package/dist/components/Plot/BarPlot.js.map +1 -1
  724. package/dist/components/Plot/DotPlot.js.map +1 -1
  725. package/dist/components/Plot/Plot.d.ts +12 -1
  726. package/dist/components/Plot/Plot.d.ts.map +1 -1
  727. package/dist/components/Plot/Plot.js +5 -1
  728. package/dist/components/Plot/Plot.js.map +1 -1
  729. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  730. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  731. package/dist/components/Plot/SynapseSankeyPlot.d.ts +12 -0
  732. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  733. package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
  734. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  735. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  736. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  737. package/dist/components/Plot/index.d.ts +3 -1
  738. package/dist/components/Plot/index.d.ts.map +1 -1
  739. package/dist/components/Plot/index.js +2 -1
  740. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  741. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  742. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  743. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  744. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  745. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  746. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  747. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  748. package/dist/components/PortalList/PortalCard.js.map +1 -1
  749. package/dist/components/PortalList/PortalList.js.map +1 -1
  750. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  751. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  752. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  753. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  754. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  755. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  756. package/dist/components/Programs/Programs.js.map +1 -1
  757. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  758. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  759. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  760. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  761. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  762. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  763. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  764. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  768. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  770. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  771. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  772. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  773. package/dist/components/QuerySortSelector.js.map +1 -1
  774. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  775. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  776. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  777. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
  778. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  779. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  780. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  781. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  782. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  783. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  784. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  785. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  786. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  787. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  788. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  789. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  790. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  791. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  792. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  793. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
  794. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  795. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
  796. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  800. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  801. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  802. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  803. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  804. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  805. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  808. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  809. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  810. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  811. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  812. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  813. package/dist/components/Resources/Resources.js +8 -11
  814. package/dist/components/Resources/Resources.js.map +1 -1
  815. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  816. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  817. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  818. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  819. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  820. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  827. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  828. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  829. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
  830. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
  832. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  833. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  834. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  835. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  839. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  840. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  841. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  842. package/dist/components/SignInButton.js.map +1 -1
  843. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  844. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  845. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  848. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  849. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  850. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  851. package/dist/components/SourceAppImage.js.map +1 -1
  852. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  853. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  854. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  855. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
  856. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
  857. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  858. package/dist/components/StatisticsPlot.js.map +1 -1
  859. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  860. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  861. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  862. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  863. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  864. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  865. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  866. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  867. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  868. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  869. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  870. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  871. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  872. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  873. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  874. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  875. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  876. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  877. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  878. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  879. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  880. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  881. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  882. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  883. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  884. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  885. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  886. package/dist/components/SynapseForm/Header.js.map +1 -1
  887. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  888. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  889. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  890. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  891. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  892. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  893. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  894. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  895. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  896. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  897. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  898. package/dist/components/SynapseForm/types.js.map +1 -1
  899. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  900. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  901. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  902. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  903. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  904. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  905. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  906. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  907. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  908. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  909. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  910. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  911. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  912. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  913. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  914. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  915. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  916. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  917. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  918. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  919. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  920. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  921. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  922. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  923. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  924. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  925. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  926. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  927. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  928. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  929. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  930. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  931. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  932. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  933. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  934. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  935. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  936. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  937. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  938. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  939. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  940. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  941. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  942. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  943. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  944. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  945. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  946. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  947. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  948. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  949. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  950. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  951. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  952. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  953. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  954. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  955. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  956. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  957. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  958. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  959. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  960. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  961. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  962. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  963. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  964. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  965. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  966. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  967. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  968. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  969. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  970. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  971. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  973. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  974. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  977. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  979. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  980. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  981. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  983. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  986. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  987. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  989. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  990. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  991. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  992. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +12 -12
  993. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +32 -32
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1006. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1008. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1011. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1016. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1017. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1018. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1019. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1020. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1021. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1022. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1023. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1024. package/dist/components/TeamBadge.js.map +1 -1
  1025. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1026. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1027. package/dist/components/TemplateComponent.js.map +1 -1
  1028. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1029. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1030. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1031. package/dist/components/TextField/TextField.js.map +1 -1
  1032. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1033. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1034. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1035. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1036. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1037. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1038. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1039. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1040. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1041. package/dist/components/TotalQueryResults.js.map +1 -1
  1042. package/dist/components/UserCard/Avatar.js.map +1 -1
  1043. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1044. package/dist/components/UserCard/UserCard.js.map +1 -1
  1045. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1046. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1047. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1048. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1049. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1050. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1051. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1052. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1053. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1054. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1055. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1056. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1057. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1058. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1059. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1060. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1061. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1062. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1063. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1064. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1065. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1066. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1067. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1068. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1069. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1070. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1071. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1072. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1073. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1074. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1075. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1076. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1077. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1078. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1079. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1080. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1081. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1082. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1083. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1084. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1085. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1086. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1087. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1088. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1089. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1090. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1091. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1092. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1093. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1094. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1095. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1096. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1097. package/dist/components/download_list/index.js.map +1 -1
  1098. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1099. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1100. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1101. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1102. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1103. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1104. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1105. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1106. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1107. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1108. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1109. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1110. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1111. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1112. package/dist/components/error/ErrorBanner.js.map +1 -1
  1113. package/dist/components/error/ErrorChip.js.map +1 -1
  1114. package/dist/components/error/ErrorPage.js +24 -24
  1115. package/dist/components/error/ErrorPage.js.map +1 -1
  1116. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1117. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1118. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1119. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1120. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1121. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1122. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1123. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1124. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1125. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1126. package/dist/components/index.js +48 -47
  1127. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1128. package/dist/components/layout/SWCHeader.js.map +1 -1
  1129. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1130. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1131. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1132. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1133. package/dist/components/row_renderers/Funder.js.map +1 -1
  1134. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1135. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1136. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1137. package/dist/components/styled/HoverPopover.js.map +1 -1
  1138. package/dist/components/styled/InlineBadge.js.map +1 -1
  1139. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1140. package/dist/components/styled/LargeButton.js.map +1 -1
  1141. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1142. package/dist/components/styled/LightTooltip.js.map +1 -1
  1143. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1144. package/dist/components/styled/StyledPopover.js.map +1 -1
  1145. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1146. package/dist/components/styled/WideButton.js.map +1 -1
  1147. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
  1148. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
  1149. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +113 -0
  1150. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
  1151. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1152. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
  1153. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
  1154. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
  1155. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1156. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
  1157. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
  1158. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
  1159. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
  1160. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
  1161. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
  1162. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
  1163. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
  1164. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
  1165. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
  1166. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
  1167. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
  1168. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
  1169. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
  1170. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
  1171. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
  1172. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
  1173. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
  1174. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
  1175. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
  1176. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
  1177. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
  1178. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
  1179. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
  1180. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1181. package/dist/components/trash/TrashCanList.js.map +1 -1
  1182. package/dist/components/utils/Blocker.js.map +1 -1
  1183. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1184. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1185. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1186. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1187. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1188. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1189. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1190. package/dist/components/widgets/Range.js.map +1 -1
  1191. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1192. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1193. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1194. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1195. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1196. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1197. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1203. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1204. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1205. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1206. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1217. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1219. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1220. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1221. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1222. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1223. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1224. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1225. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1226. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1227. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1228. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1229. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1230. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1231. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1233. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1234. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1235. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
  1237. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1238. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1246. package/dist/features/entity/metadata-task/utils/constants.d.ts +11 -3
  1247. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1249. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1251. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1254. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1255. package/dist/index.js +54 -53
  1256. package/dist/index.js.map +1 -1
  1257. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1258. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1259. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1260. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1261. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1262. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1263. package/dist/mocks/chat/mockChat.js.map +1 -1
  1264. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1265. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1266. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1268. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1269. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1270. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1271. package/dist/mocks/entity/index.js.map +1 -1
  1272. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1273. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1274. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1275. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1276. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1279. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1280. package/dist/mocks/entity/mockProject.js.map +1 -1
  1281. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1282. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1283. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1284. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1285. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1286. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1287. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1288. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1289. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1290. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1291. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1292. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1293. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1294. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1295. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1296. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1297. package/dist/mocks/mockSchema.js.map +1 -1
  1298. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1299. package/dist/mocks/mockShortIo.js.map +1 -1
  1300. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1301. package/dist/mocks/mockSubscription.js.map +1 -1
  1302. package/dist/mocks/mockWiki.js.map +1 -1
  1303. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1304. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1305. package/dist/mocks/mock_file_handle.js.map +1 -1
  1306. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1307. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1308. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1309. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1310. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1311. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1337. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1338. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1339. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers.js.map +1 -1
  1344. package/dist/mocks/msw/server.d.ts +1 -1
  1345. package/dist/mocks/msw/server.d.ts.map +1 -1
  1346. package/dist/mocks/msw/server.js.map +1 -1
  1347. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1348. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1349. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1350. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1351. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1352. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1353. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1354. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1355. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1356. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1357. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1358. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1359. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1360. package/dist/mocks/query/syn16787123.js.map +1 -1
  1361. package/dist/mocks/query/syn17328596.js.map +1 -1
  1362. package/dist/mocks/query/syn51735464.js.map +1 -1
  1363. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1364. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1365. package/dist/mocks/team/mockTeam.js.map +1 -1
  1366. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1367. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1368. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1369. package/dist/ror-client/index.js.map +1 -1
  1370. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1371. package/dist/stories/ToastDemo.js.map +1 -1
  1372. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1373. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1374. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1375. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1376. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1377. package/dist/synapse-client/HttpClient.js.map +1 -1
  1378. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1379. package/dist/synapse-client/SynapseClient.js +61 -69
  1380. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1381. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1382. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1383. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1384. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1385. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1386. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1387. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1388. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1389. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1390. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1391. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1392. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1393. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1394. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1395. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1396. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1397. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1398. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1399. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1400. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1401. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1402. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1403. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1404. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1405. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1406. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1407. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1408. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1409. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1410. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1411. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1412. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1413. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1414. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1415. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1416. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1417. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1418. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1423. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1424. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1425. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1426. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1427. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1428. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1429. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1430. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1431. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1432. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1433. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1434. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1435. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1436. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1437. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1438. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1439. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1440. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1441. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1442. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1443. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1444. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1445. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1446. package/dist/synapse-queries/ror/index.js.map +1 -1
  1447. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1448. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1449. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1450. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1451. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1452. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1453. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1454. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1455. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1456. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1457. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1458. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1459. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1460. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1461. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1462. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1463. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1464. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1465. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1466. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1467. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1468. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1469. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1470. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1471. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1472. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1473. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1474. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1475. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1476. package/dist/testutils/LocationTracker.js.map +1 -1
  1477. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1478. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1479. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1480. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1481. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1482. package/dist/testutils/vitest.setup.js.map +1 -1
  1483. package/dist/theme/DefaultTheme.js.map +1 -1
  1484. package/dist/theme/ThemeProvider.js.map +1 -1
  1485. package/dist/theme/mergeTheme.js.map +1 -1
  1486. package/dist/theme/palette/Palettes.js.map +1 -1
  1487. package/dist/theme/spreadSx.js.map +1 -1
  1488. package/dist/theme/typography/Link.js.map +1 -1
  1489. package/dist/theme/typography/Typography.js.map +1 -1
  1490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1491. package/dist/utils/APIConstants.js.map +1 -1
  1492. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1493. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1494. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1495. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1496. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1497. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1498. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1499. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1500. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1501. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1502. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1503. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1504. package/dist/utils/SynapseConstants.js.map +1 -1
  1505. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1506. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1507. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1508. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1509. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1510. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1511. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1512. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1513. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1514. package/dist/utils/context/SynapseContext.js.map +1 -1
  1515. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -1
  1516. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  1517. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  1518. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1519. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1520. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1521. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1522. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1523. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1524. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1525. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1526. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1527. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1528. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1529. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1530. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1531. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1532. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1533. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1534. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1535. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1536. package/dist/utils/functions/StringUtils.js.map +1 -1
  1537. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1538. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1539. package/dist/utils/functions/colorPalette.js.map +1 -1
  1540. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1541. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1542. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1543. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1544. package/dist/utils/functions/getEndpoint.js +3 -3
  1545. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1546. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1547. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1548. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1549. package/dist/utils/functions/getUserData.js.map +1 -1
  1550. package/dist/utils/functions/queryUtils.js.map +1 -1
  1551. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1552. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1553. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1554. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1555. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1556. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1557. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1558. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1559. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1560. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1561. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1562. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1563. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1564. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1565. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1566. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1567. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1568. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1569. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1570. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1571. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1572. package/dist/utils/hooks/useListState.js.map +1 -1
  1573. package/dist/utils/hooks/useLogin.js.map +1 -1
  1574. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1575. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1576. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1577. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1578. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1579. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1580. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1581. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1582. package/dist/utils/hooks/useSet.js.map +1 -1
  1583. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1584. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1585. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1586. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1587. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1588. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1589. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1590. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1591. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1592. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1593. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1594. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1595. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1596. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1597. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1598. package/dist/utils/html/TargetEnum.js.map +1 -1
  1599. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1600. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1601. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1602. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1603. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1604. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1605. package/dist/utils/jsonschema/getType.js.map +1 -1
  1606. package/dist/utils/searchDefaults.js.map +1 -1
  1607. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1608. package/dist/utils/types/IsType.js.map +1 -1
  1609. package/package.json +67 -66
@@ -1 +1 @@
1
- {"version":3,"file":"ChallengeSubmission.js","names":[],"sources":["../../../src/components/ChallengeSubmission/ChallengeSubmission.tsx"],"sourcesContent":["import { createEntity } from '@/synapse-client'\nimport {\n useGetCurrentUserProfile,\n useGetEntityACL,\n useGetEntityAlias,\n useGetEntityChallenge,\n useGetEntityPermissions,\n useGetUserSubmissionTeams,\n useUpdateEntityACL,\n} from '@/synapse-queries'\nimport { useGetTeam } from '@/synapse-queries/team/useTeam'\nimport { useSynapseContext } from '@/utils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n Challenge,\n Entity,\n Project,\n PROJECT_CONCRETE_TYPE_VALUE,\n ResourceAccess,\n Team,\n} from '@sage-bionetworks/synapse-types'\nimport { useEffect, useState } from 'react'\nimport { ErrorBanner, SynapseErrorBoundary } from '../error/ErrorBanner'\nimport ChallengeSubmissionStepper from './ChallengeSubmissionStepper'\nimport SubmissionDirectoryList from './SubmissionDirectoryList'\n\nexport type EntityItem = Entity & {\n repositoryName?: string\n versionNumber?: number\n}\n\nexport type ChallengeSubmissionProps = {\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n pageSize: number\n projectId: string\n}\n\nexport function ChallengeSubmission({\n entityType,\n projectId,\n pageSize = 10,\n}: ChallengeSubmissionProps) {\n const { isAuthenticated, accessToken } = useSynapseContext()\n\n const [loading, setLoading] = useState<boolean>(true)\n const [errorMessage, setErrorMessage] = useState<string>()\n const [submissionTeamId, setSubmissionTeamId] = useState<string>()\n const [challengeProjectId, setChallengeProjectId] = useState<string>()\n const [newProject, setNewProject] = useState<Project>()\n const [isProjectNewlyCreated, setIsProjectNewlyCreated] = useState<boolean>()\n const [projectAliasFound, setProjectAliasFound] = useState<boolean>()\n const { mutate: updateACL } = useUpdateEntityACL()\n const [canSubmit, setCanSubmit] = useState<boolean>(false)\n const [selectedEntity, setSelectedEntity] = useState<EntityItem>()\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n\n const EMPTY_ID = ''\n\n const getProject = (c: Challenge, t: Team): Project => {\n const name = `Challenge Submission Project-${c.projectId}-${t.id}`\n const alias = name.replace(/\\s+/g, '_').replace(/-+/g, '_').toLowerCase()\n return {\n name,\n alias,\n concreteType: PROJECT_CONCRETE_TYPE_VALUE,\n description: `This Project was automatically created for Team \"${t.name}\" for Challenge \"${c.id}\"`,\n }\n }\n\n // Use the existing accessToken if present to get the current user's profile / userId\n const { data: userProfile, isLoading: isProfileLoading } =\n useGetCurrentUserProfile({\n enabled: isAuthenticated,\n throwOnError: true,\n })\n\n // Retrieve the challenge associated with the projectId passed through props\n const { data: challenge } = useGetEntityChallenge(projectId, {\n enabled: isAuthenticated && !!projectId,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n // Determine whether or not the given user belongs to any submission teams\n const { data: userSubmissionTeams } = useGetUserSubmissionTeams(\n challenge?.id ?? EMPTY_ID,\n 2,\n )\n\n useEffect(() => {\n if (isAuthenticated && !!challenge && userSubmissionTeams) {\n const isReg = userSubmissionTeams.results.length > 0\n if (!isReg) {\n setErrorMessage(\n 'Error: Please join a Submission Team before continuing.',\n )\n return setLoading(false)\n }\n if (userSubmissionTeams.results.length > 1) {\n setErrorMessage(\n 'Error: You are a member of more than one Submission Team. You may only belong to one Submission Team per Challenge.',\n )\n return setLoading(false)\n }\n setSubmissionTeamId(userSubmissionTeams.results[0])\n }\n }, [challenge, isAuthenticated, userSubmissionTeams])\n\n const { data: submissionTeam } = useGetTeam(submissionTeamId!, {\n enabled: !!submissionTeamId,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n const { data: entityAlias } = useGetEntityAlias(\n newProject?.alias ?? EMPTY_ID,\n {\n enabled: newProject !== undefined && !!challenge && !!submissionTeam,\n throwOnError: true,\n },\n )\n useEffect(() => {\n if (entityAlias) {\n setProjectAliasFound(true)\n setChallengeProjectId(entityAlias.id)\n } else {\n setProjectAliasFound(false)\n }\n }, [entityAlias])\n\n /**\n * If the challenge project was just created, retrieve its ACL\n * and add the submission team to it\n */\n const { data: entityACL } = useGetEntityACL(challengeProjectId ?? EMPTY_ID, {\n enabled: !!challengeProjectId && isProjectNewlyCreated === true,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n useEffect(() => {\n if (entityACL && isProjectNewlyCreated === true) {\n // Give submission team admin access to challenge project\n const teamResourceAccess: ResourceAccess = {\n principalId: Number(submissionTeam!.id),\n accessType: [\n ACCESS_TYPE.CHANGE_PERMISSIONS,\n ACCESS_TYPE.CHANGE_SETTINGS,\n ACCESS_TYPE.CREATE,\n ACCESS_TYPE.DELETE,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.READ,\n ACCESS_TYPE.UPDATE,\n ],\n }\n updateACL({\n ...entityACL,\n resourceAccess: [...entityACL.resourceAccess, teamResourceAccess],\n })\n setIsProjectNewlyCreated(false)\n }\n }, [entityACL])\n\n const { data: entityPermissions } = useGetEntityPermissions(\n challengeProjectId!,\n {\n enabled: !!challengeProjectId,\n refetchInterval: Infinity,\n throwOnError: true,\n },\n )\n\n useEffect(() => {\n if (\n entityPermissions &&\n entityPermissions.canView &&\n entityPermissions.canAddChild\n ) {\n setCanSubmit(true)\n }\n setLoading(false)\n }, [entityPermissions])\n\n useEffect(() => {\n if (!isAuthenticated && (!!userProfile || !isProfileLoading)) {\n setLoading(false)\n setErrorMessage('Please login to continue.')\n }\n }, [isAuthenticated, userProfile, isProfileLoading])\n\n useEffect(() => {\n if (isAuthenticated && submissionTeam && challenge && !newProject) {\n const project = getProject(challenge, submissionTeam)\n setNewProject(project)\n }\n }, [isAuthenticated, submissionTeam, challenge, newProject])\n\n useEffect(() => {\n async function createChallengeProject() {\n const project: Project = getProject(challenge!, submissionTeam!)\n const challengeProject = await createEntity(project, accessToken)\n if (challengeProject && challengeProject.id) {\n setChallengeProjectId(challengeProject.id)\n setIsProjectNewlyCreated(true)\n }\n }\n if (\n isAuthenticated &&\n submissionTeam &&\n challenge &&\n newProject &&\n projectAliasFound === false\n ) {\n createChallengeProject()\n }\n }, [\n isAuthenticated,\n submissionTeam,\n challenge,\n newProject,\n projectAliasFound,\n accessToken,\n ])\n\n const itemSelectedHandler = (entity: EntityItem) => {\n setSelectedEntity(entity)\n setIsShowingModal(true)\n }\n\n const onModalClose = () => {\n setIsShowingModal(false)\n }\n\n return (\n <SynapseErrorBoundary>\n {loading && (\n <span data-testid=\"SpinnerButton-spinner\" className=\"spinner\" />\n )}\n {canSubmit && (\n <>\n <SubmissionDirectoryList\n entityType={entityType}\n pageSize={pageSize}\n challengeProjectId={challengeProjectId!}\n onItemSelected={itemSelectedHandler}\n />\n {userProfile && selectedEntity && (\n <ChallengeSubmissionStepper\n projectId={projectId}\n userId={userProfile?.ownerId}\n teamId={submissionTeamId!}\n entity={selectedEntity}\n entityType={entityType}\n isShowingModal={isShowingModal}\n onClose={onModalClose}\n />\n )}\n </>\n )}\n {errorMessage && <ErrorBanner error={errorMessage}></ErrorBanner>}\n </SynapseErrorBoundary>\n )\n}\n\nexport default ChallengeSubmission\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChallengeSubmission.js","names":[],"sources":["../../../src/components/ChallengeSubmission/ChallengeSubmission.tsx"],"sourcesContent":["import { createEntity } from '@/synapse-client'\nimport {\n useGetCurrentUserProfile,\n useGetEntityACL,\n useGetEntityAlias,\n useGetEntityChallenge,\n useGetEntityPermissions,\n useGetUserSubmissionTeams,\n useUpdateEntityACL,\n} from '@/synapse-queries'\nimport { useGetTeam } from '@/synapse-queries/team/useTeam'\nimport { useSynapseContext } from '@/utils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n Challenge,\n Entity,\n Project,\n PROJECT_CONCRETE_TYPE_VALUE,\n ResourceAccess,\n Team,\n} from '@sage-bionetworks/synapse-types'\nimport { useEffect, useState } from 'react'\nimport { ErrorBanner, SynapseErrorBoundary } from '../error/ErrorBanner'\nimport ChallengeSubmissionStepper from './ChallengeSubmissionStepper'\nimport SubmissionDirectoryList from './SubmissionDirectoryList'\n\nexport type EntityItem = Entity & {\n repositoryName?: string\n versionNumber?: number\n}\n\nexport type ChallengeSubmissionProps = {\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n pageSize: number\n projectId: string\n}\n\nexport function ChallengeSubmission({\n entityType,\n projectId,\n pageSize = 10,\n}: ChallengeSubmissionProps) {\n const { isAuthenticated, accessToken } = useSynapseContext()\n\n const [loading, setLoading] = useState<boolean>(true)\n const [errorMessage, setErrorMessage] = useState<string>()\n const [submissionTeamId, setSubmissionTeamId] = useState<string>()\n const [challengeProjectId, setChallengeProjectId] = useState<string>()\n const [newProject, setNewProject] = useState<Project>()\n const [isProjectNewlyCreated, setIsProjectNewlyCreated] = useState<boolean>()\n const [projectAliasFound, setProjectAliasFound] = useState<boolean>()\n const { mutate: updateACL } = useUpdateEntityACL()\n const [canSubmit, setCanSubmit] = useState<boolean>(false)\n const [selectedEntity, setSelectedEntity] = useState<EntityItem>()\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n\n const EMPTY_ID = ''\n\n const getProject = (c: Challenge, t: Team): Project => {\n const name = `Challenge Submission Project-${c.projectId}-${t.id}`\n const alias = name.replace(/\\s+/g, '_').replace(/-+/g, '_').toLowerCase()\n return {\n name,\n alias,\n concreteType: PROJECT_CONCRETE_TYPE_VALUE,\n description: `This Project was automatically created for Team \"${t.name}\" for Challenge \"${c.id}\"`,\n }\n }\n\n // Use the existing accessToken if present to get the current user's profile / userId\n const { data: userProfile, isLoading: isProfileLoading } =\n useGetCurrentUserProfile({\n enabled: isAuthenticated,\n throwOnError: true,\n })\n\n // Retrieve the challenge associated with the projectId passed through props\n const { data: challenge } = useGetEntityChallenge(projectId, {\n enabled: isAuthenticated && !!projectId,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n // Determine whether or not the given user belongs to any submission teams\n const { data: userSubmissionTeams } = useGetUserSubmissionTeams(\n challenge?.id ?? EMPTY_ID,\n 2,\n )\n\n useEffect(() => {\n if (isAuthenticated && !!challenge && userSubmissionTeams) {\n const isReg = userSubmissionTeams.results.length > 0\n if (!isReg) {\n setErrorMessage(\n 'Error: Please join a Submission Team before continuing.',\n )\n return setLoading(false)\n }\n if (userSubmissionTeams.results.length > 1) {\n setErrorMessage(\n 'Error: You are a member of more than one Submission Team. You may only belong to one Submission Team per Challenge.',\n )\n return setLoading(false)\n }\n setSubmissionTeamId(userSubmissionTeams.results[0])\n }\n }, [challenge, isAuthenticated, userSubmissionTeams])\n\n const { data: submissionTeam } = useGetTeam(submissionTeamId!, {\n enabled: !!submissionTeamId,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n const { data: entityAlias } = useGetEntityAlias(\n newProject?.alias ?? EMPTY_ID,\n {\n enabled: newProject !== undefined && !!challenge && !!submissionTeam,\n throwOnError: true,\n },\n )\n useEffect(() => {\n if (entityAlias) {\n setProjectAliasFound(true)\n setChallengeProjectId(entityAlias.id)\n } else {\n setProjectAliasFound(false)\n }\n }, [entityAlias])\n\n /**\n * If the challenge project was just created, retrieve its ACL\n * and add the submission team to it\n */\n const { data: entityACL } = useGetEntityACL(challengeProjectId ?? EMPTY_ID, {\n enabled: !!challengeProjectId && isProjectNewlyCreated === true,\n refetchInterval: Infinity,\n throwOnError: true,\n })\n\n useEffect(() => {\n if (entityACL && isProjectNewlyCreated === true) {\n // Give submission team admin access to challenge project\n const teamResourceAccess: ResourceAccess = {\n principalId: Number(submissionTeam!.id),\n accessType: [\n ACCESS_TYPE.CHANGE_PERMISSIONS,\n ACCESS_TYPE.CHANGE_SETTINGS,\n ACCESS_TYPE.CREATE,\n ACCESS_TYPE.DELETE,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.READ,\n ACCESS_TYPE.UPDATE,\n ],\n }\n updateACL({\n ...entityACL,\n resourceAccess: [...entityACL.resourceAccess, teamResourceAccess],\n })\n setIsProjectNewlyCreated(false)\n }\n }, [entityACL])\n\n const { data: entityPermissions } = useGetEntityPermissions(\n challengeProjectId!,\n {\n enabled: !!challengeProjectId,\n refetchInterval: Infinity,\n throwOnError: true,\n },\n )\n\n useEffect(() => {\n if (\n entityPermissions &&\n entityPermissions.canView &&\n entityPermissions.canAddChild\n ) {\n setCanSubmit(true)\n }\n setLoading(false)\n }, [entityPermissions])\n\n useEffect(() => {\n if (!isAuthenticated && (!!userProfile || !isProfileLoading)) {\n setLoading(false)\n setErrorMessage('Please login to continue.')\n }\n }, [isAuthenticated, userProfile, isProfileLoading])\n\n useEffect(() => {\n if (isAuthenticated && submissionTeam && challenge && !newProject) {\n const project = getProject(challenge, submissionTeam)\n setNewProject(project)\n }\n }, [isAuthenticated, submissionTeam, challenge, newProject])\n\n useEffect(() => {\n async function createChallengeProject() {\n const project: Project = getProject(challenge!, submissionTeam!)\n const challengeProject = await createEntity(project, accessToken)\n if (challengeProject && challengeProject.id) {\n setChallengeProjectId(challengeProject.id)\n setIsProjectNewlyCreated(true)\n }\n }\n if (\n isAuthenticated &&\n submissionTeam &&\n challenge &&\n newProject &&\n projectAliasFound === false\n ) {\n createChallengeProject()\n }\n }, [\n isAuthenticated,\n submissionTeam,\n challenge,\n newProject,\n projectAliasFound,\n accessToken,\n ])\n\n const itemSelectedHandler = (entity: EntityItem) => {\n setSelectedEntity(entity)\n setIsShowingModal(true)\n }\n\n const onModalClose = () => {\n setIsShowingModal(false)\n }\n\n return (\n <SynapseErrorBoundary>\n {loading && (\n <span data-testid=\"SpinnerButton-spinner\" className=\"spinner\" />\n )}\n {canSubmit && (\n <>\n <SubmissionDirectoryList\n entityType={entityType}\n pageSize={pageSize}\n challengeProjectId={challengeProjectId!}\n onItemSelected={itemSelectedHandler}\n />\n {userProfile && selectedEntity && (\n <ChallengeSubmissionStepper\n projectId={projectId}\n userId={userProfile?.ownerId}\n teamId={submissionTeamId!}\n entity={selectedEntity}\n entityType={entityType}\n isShowingModal={isShowingModal}\n onClose={onModalClose}\n />\n )}\n </>\n )}\n {errorMessage && <ErrorBanner error={errorMessage}></ErrorBanner>}\n </SynapseErrorBoundary>\n )\n}\n\nexport default ChallengeSubmission\n"],"mappings":"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"}
@@ -11,107 +11,105 @@ import { Typography as s } from "@mui/material";
11
11
  import { Fragment as c, jsx as l } from "react/jsx-runtime";
12
12
  import { EntityType as u } from "@sage-bionetworks/synapse-client";
13
13
  //#region src/components/ChallengeSubmission/ChallengeSubmissionStepper.tsx
14
- var d = /* @__PURE__ */ function(e) {
15
- return e.SELECT_COMMIT = "SELECT_COMMIT", e.SELECT_EVALUATION = "SELECT_EVALUATION", e.SUBMISSION_SUCCESS = "SUBMISSION_SUCCESS", e;
16
- }(d || {}), f = {
14
+ var d = {
17
15
  SELECT_COMMIT: {
18
- id: d.SELECT_COMMIT,
16
+ id: "SELECT_COMMIT",
19
17
  title: "Select Commit for Submission",
20
- nextStep: d.SELECT_EVALUATION,
18
+ nextStep: "SELECT_EVALUATION",
21
19
  nextEnabled: !1
22
20
  },
23
21
  SELECT_EVALUATION: {
24
- id: d.SELECT_EVALUATION,
22
+ id: "SELECT_EVALUATION",
25
23
  title: "Select Evaluation Queue",
26
- previousStep: d.SELECT_COMMIT,
27
- confirmStep: d.SUBMISSION_SUCCESS,
24
+ previousStep: "SELECT_COMMIT",
25
+ confirmStep: "SUBMISSION_SUCCESS",
28
26
  confirmButtonText: "Submit"
29
27
  },
30
28
  SUBMISSION_SUCCESS: {
31
- id: d.SUBMISSION_SUCCESS,
29
+ id: "SUBMISSION_SUCCESS",
32
30
  title: "Submission Successful!",
33
31
  confirmButtonText: "Close",
34
32
  confirmEnabled: !0
35
33
  }
36
- }, p = {
34
+ }, f = {
37
35
  SELECT_COMMIT: {
38
- id: d.SELECT_COMMIT,
36
+ id: "SELECT_COMMIT",
39
37
  title: ""
40
38
  },
41
39
  SELECT_EVALUATION: {
42
- id: d.SELECT_EVALUATION,
40
+ id: "SELECT_EVALUATION",
43
41
  title: "Select Evaluation Queue",
44
- confirmStep: d.SUBMISSION_SUCCESS,
42
+ confirmStep: "SUBMISSION_SUCCESS",
45
43
  confirmButtonText: "Submit"
46
44
  },
47
45
  SUBMISSION_SUCCESS: {
48
- id: d.SUBMISSION_SUCCESS,
46
+ id: "SUBMISSION_SUCCESS",
49
47
  title: "Submission Successful!",
50
48
  confirmButtonText: "Close",
51
49
  confirmEnabled: !0
52
50
  }
53
- }, m = (e) => e === u.dockerrepo ? f : p;
54
- function h({ projectId: f, userId: p, teamId: h, entity: g, entityType: _, isShowingModal: v, onClose: y }) {
55
- let { accessToken: b } = n(), x = m(_), S = _ === u.dockerrepo ? x.SELECT_COMMIT : x.SELECT_EVALUATION, [C, w] = o(S), [T, E] = o(), [D, O] = o(), [k, A] = o(""), [j, M] = o(), [N, P] = o(!1), F = () => {
56
- E(void 0), O(void 0), A(""), M(void 0), P(!1), y(), w(S);
51
+ }, p = (e) => e === u.dockerrepo ? d : f;
52
+ function m({ projectId: d, userId: f, teamId: m, entity: h, entityType: g, isShowingModal: _, onClose: v }) {
53
+ let { accessToken: y } = n(), b = p(g), x = g === u.dockerrepo ? b.SELECT_COMMIT : b.SELECT_EVALUATION, [S, C] = o(x), [w, T] = o(), [E, D] = o(), [O, k] = o(""), [A, j] = o(), [M, N] = o(!1), P = () => {
54
+ T(void 0), D(void 0), k(""), j(void 0), N(!1), v(), C(x);
57
55
  };
58
- function I(e) {
59
- !e || !x[e] || (E(void 0), w(x[e]));
56
+ function F(e) {
57
+ !e || !b[e] || (T(void 0), C(b[e]));
60
58
  }
61
- async function L() {
62
- if (!j) return E("Please select an evaluation.");
59
+ async function I() {
60
+ if (!A) return T("Please select an evaluation.");
63
61
  try {
64
- return await t.getSubmissionEligibility(j, h, b);
62
+ return await t.getSubmissionEligibility(A, m, y);
65
63
  } catch (e) {
66
- return E(e.message);
64
+ return T(e.message);
67
65
  }
68
66
  }
69
- async function R(n) {
70
- if (!g.id || _ === u.dockerrepo && !D) return E("Error: Invalid entity or commit.");
67
+ async function L(n) {
68
+ if (!h.id || g === u.dockerrepo && !E) return T("Error: Invalid entity or commit.");
71
69
  let r = n.membersEligibility.filter((e) => !e.hasConflictingSubmission && e.isEligible && !e.isQuotaFilled && e.isRegistered).map((e) => ({ principalId: e.principalId.toString() })), i = {
72
- userId: p,
73
- evaluationId: j,
74
- entityId: g.id,
75
- versionNumber: g.versionNumber ?? -1,
76
- teamId: h,
70
+ userId: f,
71
+ evaluationId: A,
72
+ entityId: h.id,
73
+ versionNumber: h.versionNumber ?? -1,
74
+ teamId: m,
77
75
  contributors: r
78
76
  };
79
- _ === u.dockerrepo && (i.dockerRepositoryName = g.repositoryName, i.dockerDigest = D.digest), k !== "" && (i.name = k);
77
+ g === u.dockerrepo && (i.dockerRepositoryName = h.repositoryName, i.dockerDigest = E.digest), O !== "" && (i.name = O);
80
78
  try {
81
- await t.submitToEvaluation(b, i, g.etag, n.eligibilityStateHash), e("Submitted successfully!", "success"), F();
79
+ await t.submitToEvaluation(y, i, h.etag, n.eligibilityStateHash), e("Submitted successfully!", "success"), P();
82
80
  } catch (e) {
83
- E(e.message);
81
+ T(e.message);
84
82
  }
85
83
  }
86
- let z = async () => {
87
- let e = await L();
88
- e && await R(e);
89
- }, B = (e) => {
90
- O(e), w({
91
- ...C,
84
+ let R = async () => {
85
+ let e = await I();
86
+ e && await L(e);
87
+ }, z = (e) => {
88
+ D(e), C({
89
+ ...S,
92
90
  nextEnabled: !0
93
91
  });
94
92
  };
95
- function V() {
96
- switch (C.id) {
97
- case d.SELECT_COMMIT: return /* @__PURE__ */ l(a, {
98
- repository: g,
99
- selectedCommit: D,
100
- onCommitChanged: B
93
+ function B() {
94
+ switch (S.id) {
95
+ case "SELECT_COMMIT": return /* @__PURE__ */ l(a, {
96
+ repository: h,
97
+ selectedCommit: E,
98
+ onCommitChanged: z
101
99
  });
102
- case d.SELECT_EVALUATION: return /* @__PURE__ */ l(i, {
103
- projectId: f,
104
- submissonName: k,
105
- onSubmissionNameChange: A,
106
- selectedEvaluation: j,
100
+ case "SELECT_EVALUATION": return /* @__PURE__ */ l(i, {
101
+ projectId: d,
102
+ submissonName: O,
103
+ onSubmissionNameChange: k,
104
+ selectedEvaluation: A,
107
105
  onEvaluationChange: (e) => {
108
- w({
109
- ...C,
106
+ C({
107
+ ...S,
110
108
  confirmEnabled: !0
111
- }), M(e);
109
+ }), j(e);
112
110
  }
113
111
  });
114
- case d.SUBMISSION_SUCCESS: return /* @__PURE__ */ l(s, {
112
+ case "SUBMISSION_SUCCESS": return /* @__PURE__ */ l(s, {
115
113
  variant: "body1",
116
114
  sx: { fontSize: "16px" },
117
115
  children: "Your submission will be scored and results posted to the Challenge Leaderboard."
@@ -120,20 +118,20 @@ function h({ projectId: f, userId: p, teamId: h, entity: g, entityType: _, isSho
120
118
  }
121
119
  }
122
120
  return /* @__PURE__ */ l(r, {
123
- errorMessage: T,
124
- onCancel: F,
125
- onStepChange: I,
126
- open: v,
121
+ errorMessage: w,
122
+ onCancel: P,
123
+ onStepChange: F,
124
+ open: _,
127
125
  onConfirm: () => {
128
- z();
126
+ R();
129
127
  },
130
- confirming: N,
131
- step: C,
132
- content: V(),
128
+ confirming: M,
129
+ step: S,
130
+ content: B(),
133
131
  loading: !1
134
132
  });
135
133
  }
136
134
  //#endregion
137
- export { h as default };
135
+ export { m as default };
138
136
 
139
137
  //# sourceMappingURL=ChallengeSubmissionStepper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChallengeSubmissionStepper.js","names":[],"sources":["../../../src/components/ChallengeSubmission/ChallengeSubmissionStepper.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport { Typography } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n DockerCommit,\n EvaluationSubmission,\n TeamSubmissionEligibility,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport StepperDialog from '../StepperDialog'\nimport { Step } from '../StepperDialog/StepperDialog'\nimport { displayToast } from '../ToastMessage'\nimport { EntityItem } from './ChallengeSubmission'\nimport EvaluationQueueList from './EvaluationQueueList'\nimport SubmissionCommitList from './SubmissionCommitList'\n\nenum StepsEnum {\n SELECT_COMMIT = 'SELECT_COMMIT',\n SELECT_EVALUATION = 'SELECT_EVALUATION',\n SUBMISSION_SUCCESS = 'SUBMISSION_SUCCESS',\n}\ntype StepKey = keyof typeof StepsEnum\ntype StepList<TStepId = string> = {\n [key in StepKey]: Step<TStepId>\n}\n\nconst stepsDocker: StepList<StepsEnum> = {\n SELECT_COMMIT: {\n id: StepsEnum.SELECT_COMMIT,\n title: 'Select Commit for Submission',\n nextStep: StepsEnum.SELECT_EVALUATION,\n nextEnabled: false,\n },\n SELECT_EVALUATION: {\n id: StepsEnum.SELECT_EVALUATION,\n title: 'Select Evaluation Queue',\n previousStep: StepsEnum.SELECT_COMMIT,\n confirmStep: StepsEnum.SUBMISSION_SUCCESS,\n confirmButtonText: 'Submit',\n },\n SUBMISSION_SUCCESS: {\n id: StepsEnum.SUBMISSION_SUCCESS,\n title: 'Submission Successful!',\n confirmButtonText: 'Close',\n confirmEnabled: true,\n },\n}\n\nconst stepsFile: StepList<StepsEnum> = {\n SELECT_COMMIT: { id: StepsEnum.SELECT_COMMIT, title: '' },\n SELECT_EVALUATION: {\n id: StepsEnum.SELECT_EVALUATION,\n title: 'Select Evaluation Queue',\n confirmStep: StepsEnum.SUBMISSION_SUCCESS,\n confirmButtonText: 'Submit',\n },\n SUBMISSION_SUCCESS: {\n id: StepsEnum.SUBMISSION_SUCCESS,\n title: 'Submission Successful!',\n confirmButtonText: 'Close',\n confirmEnabled: true,\n },\n}\n\nconst getSteps = (\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file,\n) => {\n return entityType === EntityType.dockerrepo ? stepsDocker : stepsFile\n}\n\ntype ChallengeSubmissionStepperProps = {\n projectId: string\n userId: string\n teamId: string\n entity: EntityItem\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n isShowingModal: boolean\n onClose: () => void\n}\n\nfunction ChallengeSubmissionStepper({\n projectId,\n userId,\n teamId,\n entity,\n entityType,\n isShowingModal,\n onClose,\n}: ChallengeSubmissionStepperProps) {\n const { accessToken } = useSynapseContext()\n const steps = getSteps(entityType)\n const initialStep =\n entityType === EntityType.dockerrepo\n ? steps.SELECT_COMMIT\n : steps.SELECT_EVALUATION\n const [step, setStep] = useState<Step<StepsEnum>>(initialStep)\n const [errorMessage, setErrorMessage] = useState<string>()\n const [selectedCommit, setSelectedCommit] = useState<DockerCommit>()\n\n const [submissionName, setSubmissionName] = useState<string>('')\n const [selectedEval, setSelectedEval] = useState<string | undefined>()\n const [confirming, setConfirming] = useState<boolean>(false)\n\n const hide = () => {\n setErrorMessage(undefined)\n setSelectedCommit(undefined)\n setSubmissionName('')\n setSelectedEval(undefined)\n setConfirming(false)\n onClose()\n setStep(initialStep)\n }\n\n function handleStepChange(value?: StepsEnum) {\n if (!value || !steps[value]) return\n setErrorMessage(undefined)\n setStep(steps[value])\n }\n\n async function confirmEligibility() {\n if (!selectedEval) return setErrorMessage('Please select an evaluation.')\n try {\n return await SynapseClient.getSubmissionEligibility(\n selectedEval,\n teamId,\n accessToken,\n )\n } catch (err) {\n return setErrorMessage(err.message)\n }\n }\n\n async function submitForEvaluation(eligibility: TeamSubmissionEligibility) {\n if (!entity.id || (entityType === EntityType.dockerrepo && !selectedCommit))\n return setErrorMessage('Error: Invalid entity or commit.')\n\n const contributors = eligibility.membersEligibility\n .filter(\n member =>\n !member.hasConflictingSubmission &&\n member.isEligible &&\n !member.isQuotaFilled &&\n member.isRegistered,\n )\n .map(member => {\n return { principalId: member.principalId.toString() }\n })\n\n const submission: EvaluationSubmission = {\n userId: userId,\n evaluationId: selectedEval!,\n entityId: entity.id,\n versionNumber: entity.versionNumber ?? -1,\n teamId: teamId,\n contributors,\n }\n if (entityType === EntityType.dockerrepo) {\n submission.dockerRepositoryName = entity.repositoryName\n submission.dockerDigest = selectedCommit!.digest\n }\n\n if (submissionName !== '') submission['name'] = submissionName\n\n try {\n await SynapseClient.submitToEvaluation(\n accessToken,\n submission,\n entity.etag!,\n eligibility.eligibilityStateHash,\n )\n displayToast('Submitted successfully!', 'success')\n hide()\n } catch (e) {\n setErrorMessage(e.message)\n }\n }\n\n const onConfirmHandler = async () => {\n const eligibility = await confirmEligibility()\n if (eligibility) {\n await submitForEvaluation(eligibility)\n }\n }\n\n const onCommitChanged = (value: DockerCommit) => {\n setSelectedCommit(value)\n setStep({ ...step, nextEnabled: true })\n }\n\n function stepperContent() {\n switch (step.id) {\n case StepsEnum.SELECT_COMMIT:\n return (\n <SubmissionCommitList\n repository={entity}\n selectedCommit={selectedCommit}\n onCommitChanged={onCommitChanged}\n />\n )\n break\n case StepsEnum.SELECT_EVALUATION:\n return (\n <EvaluationQueueList\n projectId={projectId}\n submissonName={submissionName}\n onSubmissionNameChange={setSubmissionName}\n selectedEvaluation={selectedEval}\n onEvaluationChange={value => {\n setStep({ ...step, confirmEnabled: true })\n setSelectedEval(value)\n }}\n />\n )\n case StepsEnum.SUBMISSION_SUCCESS:\n return (\n <Typography variant=\"body1\" sx={{ fontSize: '16px' }}>\n Your submission will be scored and results posted to the Challenge\n Leaderboard.\n </Typography>\n )\n default:\n return <></>\n }\n }\n\n return (\n <StepperDialog\n errorMessage={errorMessage}\n onCancel={hide}\n onStepChange={handleStepChange as (arg: string) => void}\n open={isShowingModal}\n onConfirm={() => {\n onConfirmHandler()\n }}\n confirming={confirming}\n step={step}\n content={stepperContent()}\n loading={false}\n />\n )\n}\n\nexport default ChallengeSubmissionStepper\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChallengeSubmissionStepper.js","names":[],"sources":["../../../src/components/ChallengeSubmission/ChallengeSubmissionStepper.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport { Typography } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n DockerCommit,\n EvaluationSubmission,\n TeamSubmissionEligibility,\n} from '@sage-bionetworks/synapse-types'\nimport { useState } from 'react'\nimport StepperDialog from '../StepperDialog'\nimport { Step } from '../StepperDialog/StepperDialog'\nimport { displayToast } from '../ToastMessage'\nimport { EntityItem } from './ChallengeSubmission'\nimport EvaluationQueueList from './EvaluationQueueList'\nimport SubmissionCommitList from './SubmissionCommitList'\n\nenum StepsEnum {\n SELECT_COMMIT = 'SELECT_COMMIT',\n SELECT_EVALUATION = 'SELECT_EVALUATION',\n SUBMISSION_SUCCESS = 'SUBMISSION_SUCCESS',\n}\ntype StepKey = keyof typeof StepsEnum\ntype StepList<TStepId = string> = {\n [key in StepKey]: Step<TStepId>\n}\n\nconst stepsDocker: StepList<StepsEnum> = {\n SELECT_COMMIT: {\n id: StepsEnum.SELECT_COMMIT,\n title: 'Select Commit for Submission',\n nextStep: StepsEnum.SELECT_EVALUATION,\n nextEnabled: false,\n },\n SELECT_EVALUATION: {\n id: StepsEnum.SELECT_EVALUATION,\n title: 'Select Evaluation Queue',\n previousStep: StepsEnum.SELECT_COMMIT,\n confirmStep: StepsEnum.SUBMISSION_SUCCESS,\n confirmButtonText: 'Submit',\n },\n SUBMISSION_SUCCESS: {\n id: StepsEnum.SUBMISSION_SUCCESS,\n title: 'Submission Successful!',\n confirmButtonText: 'Close',\n confirmEnabled: true,\n },\n}\n\nconst stepsFile: StepList<StepsEnum> = {\n SELECT_COMMIT: { id: StepsEnum.SELECT_COMMIT, title: '' },\n SELECT_EVALUATION: {\n id: StepsEnum.SELECT_EVALUATION,\n title: 'Select Evaluation Queue',\n confirmStep: StepsEnum.SUBMISSION_SUCCESS,\n confirmButtonText: 'Submit',\n },\n SUBMISSION_SUCCESS: {\n id: StepsEnum.SUBMISSION_SUCCESS,\n title: 'Submission Successful!',\n confirmButtonText: 'Close',\n confirmEnabled: true,\n },\n}\n\nconst getSteps = (\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file,\n) => {\n return entityType === EntityType.dockerrepo ? stepsDocker : stepsFile\n}\n\ntype ChallengeSubmissionStepperProps = {\n projectId: string\n userId: string\n teamId: string\n entity: EntityItem\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n isShowingModal: boolean\n onClose: () => void\n}\n\nfunction ChallengeSubmissionStepper({\n projectId,\n userId,\n teamId,\n entity,\n entityType,\n isShowingModal,\n onClose,\n}: ChallengeSubmissionStepperProps) {\n const { accessToken } = useSynapseContext()\n const steps = getSteps(entityType)\n const initialStep =\n entityType === EntityType.dockerrepo\n ? steps.SELECT_COMMIT\n : steps.SELECT_EVALUATION\n const [step, setStep] = useState<Step<StepsEnum>>(initialStep)\n const [errorMessage, setErrorMessage] = useState<string>()\n const [selectedCommit, setSelectedCommit] = useState<DockerCommit>()\n\n const [submissionName, setSubmissionName] = useState<string>('')\n const [selectedEval, setSelectedEval] = useState<string | undefined>()\n const [confirming, setConfirming] = useState<boolean>(false)\n\n const hide = () => {\n setErrorMessage(undefined)\n setSelectedCommit(undefined)\n setSubmissionName('')\n setSelectedEval(undefined)\n setConfirming(false)\n onClose()\n setStep(initialStep)\n }\n\n function handleStepChange(value?: StepsEnum) {\n if (!value || !steps[value]) return\n setErrorMessage(undefined)\n setStep(steps[value])\n }\n\n async function confirmEligibility() {\n if (!selectedEval) return setErrorMessage('Please select an evaluation.')\n try {\n return await SynapseClient.getSubmissionEligibility(\n selectedEval,\n teamId,\n accessToken,\n )\n } catch (err) {\n return setErrorMessage(err.message)\n }\n }\n\n async function submitForEvaluation(eligibility: TeamSubmissionEligibility) {\n if (!entity.id || (entityType === EntityType.dockerrepo && !selectedCommit))\n return setErrorMessage('Error: Invalid entity or commit.')\n\n const contributors = eligibility.membersEligibility\n .filter(\n member =>\n !member.hasConflictingSubmission &&\n member.isEligible &&\n !member.isQuotaFilled &&\n member.isRegistered,\n )\n .map(member => {\n return { principalId: member.principalId.toString() }\n })\n\n const submission: EvaluationSubmission = {\n userId: userId,\n evaluationId: selectedEval!,\n entityId: entity.id,\n versionNumber: entity.versionNumber ?? -1,\n teamId: teamId,\n contributors,\n }\n if (entityType === EntityType.dockerrepo) {\n submission.dockerRepositoryName = entity.repositoryName\n submission.dockerDigest = selectedCommit!.digest\n }\n\n if (submissionName !== '') submission['name'] = submissionName\n\n try {\n await SynapseClient.submitToEvaluation(\n accessToken,\n submission,\n entity.etag!,\n eligibility.eligibilityStateHash,\n )\n displayToast('Submitted successfully!', 'success')\n hide()\n } catch (e) {\n setErrorMessage(e.message)\n }\n }\n\n const onConfirmHandler = async () => {\n const eligibility = await confirmEligibility()\n if (eligibility) {\n await submitForEvaluation(eligibility)\n }\n }\n\n const onCommitChanged = (value: DockerCommit) => {\n setSelectedCommit(value)\n setStep({ ...step, nextEnabled: true })\n }\n\n function stepperContent() {\n switch (step.id) {\n case StepsEnum.SELECT_COMMIT:\n return (\n <SubmissionCommitList\n repository={entity}\n selectedCommit={selectedCommit}\n onCommitChanged={onCommitChanged}\n />\n )\n break\n case StepsEnum.SELECT_EVALUATION:\n return (\n <EvaluationQueueList\n projectId={projectId}\n submissonName={submissionName}\n onSubmissionNameChange={setSubmissionName}\n selectedEvaluation={selectedEval}\n onEvaluationChange={value => {\n setStep({ ...step, confirmEnabled: true })\n setSelectedEval(value)\n }}\n />\n )\n case StepsEnum.SUBMISSION_SUCCESS:\n return (\n <Typography variant=\"body1\" sx={{ fontSize: '16px' }}>\n Your submission will be scored and results posted to the Challenge\n Leaderboard.\n </Typography>\n )\n default:\n return <></>\n }\n }\n\n return (\n <StepperDialog\n errorMessage={errorMessage}\n onCancel={hide}\n onStepChange={handleStepChange as (arg: string) => void}\n open={isShowingModal}\n onConfirm={() => {\n onConfirmHandler()\n }}\n confirming={confirming}\n step={step}\n content={stepperContent()}\n loading={false}\n />\n )\n}\n\nexport default ChallengeSubmissionStepper\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluationQueueCurrentRoundInfo.js","names":[],"sources":["../../../src/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.tsx"],"sourcesContent":["import {\n useGetEvaluation,\n useGetEvaluationRoundsInfinite,\n} from '@/synapse-queries/evaluation/useEvaluation'\nimport { getCurrentOrNextOrLatestRound } from '@/utils/challenge/evaluation/EvaluationUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { InfoTwoTone } from '@mui/icons-material'\nimport Tooltip from '@mui/material/Tooltip'\nimport dayjs from 'dayjs'\nimport { useEffect, useMemo } from 'react'\n\ntype EvaluationQueueInfoProps = {\n evaluationId: string\n}\n\n/**\n * Displays an information tooltip about the current (or recent) round of an Evaluation Queue.\n * @param props\n * @constructor\n */\nfunction EvaluationQueueCurrentRoundInfo(props: EvaluationQueueInfoProps) {\n const { evaluationId } = props\n\n const { data: evaluation } = useGetEvaluation(evaluationId)\n\n const {\n data: infiniteData,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n } = useGetEvaluationRoundsInfinite(evaluationId)\n\n useEffect(() => {\n // Fetch all pages\n if (hasNextPage && !isFetchingNextPage) {\n void fetchNextPage()\n }\n }, [fetchNextPage, hasNextPage, isFetchingNextPage])\n\n const rounds = useMemo(\n () => infiniteData?.pages.flatMap(page => page.page!) ?? [],\n [infiniteData?.pages],\n )\n\n const currentRound = getCurrentOrNextOrLatestRound(rounds)\n\n const title = (\n <>\n {evaluation?.description && <p>{evaluation?.description}</p>}\n {currentRound?.roundStart && (\n <p>\n <strong>Start:</strong> {formatDate(dayjs(currentRound?.roundStart))}\n </p>\n )}\n {currentRound?.roundEnd && (\n <p>\n <strong>End:</strong> {formatDate(dayjs(currentRound?.roundEnd))}\n </p>\n )}\n <p>\n <strong>Submission Limits:</strong>{' '}\n {currentRound?.limits\n ? `${currentRound?.limits\n .map(\n limit =>\n `${\n limit.maximumSubmissions\n } ${limit.limitType.toLowerCase()} submissions`,\n )\n .join(', ')}`\n : 'No limit'}\n </p>\n </>\n )\n\n return (\n <Tooltip title={title}>\n <InfoTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n )\n}\n\nexport default EvaluationQueueCurrentRoundInfo\n"],"mappings":";;;;;;;;;AAoBA,SAAS,EAAgC,GAAiC;CACxE,IAAM,EAAE,oBAAiB,GAEnB,EAAE,MAAM,MAAe,EAAiB,EAAa,EAErD,EACJ,MAAM,GACN,gBACA,uBACA,qBACE,EAA+B,EAAa;AAEhD,SAAgB;AAEd,EAAI,KAAe,CAAC,KACb,GAAe;IAErB;EAAC;EAAe;EAAa;EAAmB,CAAC;CAOpD,IAAM,IAAe,EALN,QACP,GAAc,MAAM,SAAQ,MAAQ,EAAK,KAAM,IAAI,EAAE,EAC3D,CAAC,GAAc,MAAM,CAG4B,CAAO;AA+B1D,QACE,kBAAC,GAAD;EAAgB,OA7BhB,kBAAA,GAAA,EAAA,UAAA;GACG,GAAY,eAAe,kBAAC,KAAD,EAAA,UAAI,GAAY,aAAgB,CAAA;GAC3D,GAAc,cACb,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,UAAe,CAAA;;IAAE,EAAW,EAAM,GAAc,WAAW,CAAC;IAClE,EAAA,CAAA;GAEL,GAAc,YACb,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,QAAa,CAAA;;IAAE,EAAW,EAAM,GAAc,SAAS,CAAC;IAC9D,EAAA,CAAA;GAEN,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,sBAA2B,CAAA;IAAC;IACnC,GAAc,SACX,GAAG,GAAc,OACd,KACC,MACE,GACE,EAAM,mBACP,GAAG,EAAM,UAAU,aAAa,CAAC,cACrC,CACA,KAAK,KAAK,KACb;IACF,EAAA,CAAA;GACH,EAAA,CAIa;YACd,kBAAC,GAAD,EAAa,IAAI,EAAE,OAAO,YAAY,EAAI,CAAA;EAClC,CAAA"}
1
+ {"version":3,"file":"EvaluationQueueCurrentRoundInfo.js","names":[],"sources":["../../../src/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.tsx"],"sourcesContent":["import {\n useGetEvaluation,\n useGetEvaluationRoundsInfinite,\n} from '@/synapse-queries/evaluation/useEvaluation'\nimport { getCurrentOrNextOrLatestRound } from '@/utils/challenge/evaluation/EvaluationUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { InfoTwoTone } from '@mui/icons-material'\nimport Tooltip from '@mui/material/Tooltip'\nimport dayjs from 'dayjs'\nimport { useEffect, useMemo } from 'react'\n\ntype EvaluationQueueInfoProps = {\n evaluationId: string\n}\n\n/**\n * Displays an information tooltip about the current (or recent) round of an Evaluation Queue.\n * @param props\n * @constructor\n */\nfunction EvaluationQueueCurrentRoundInfo(props: EvaluationQueueInfoProps) {\n const { evaluationId } = props\n\n const { data: evaluation } = useGetEvaluation(evaluationId)\n\n const {\n data: infiniteData,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n } = useGetEvaluationRoundsInfinite(evaluationId)\n\n useEffect(() => {\n // Fetch all pages\n if (hasNextPage && !isFetchingNextPage) {\n void fetchNextPage()\n }\n }, [fetchNextPage, hasNextPage, isFetchingNextPage])\n\n const rounds = useMemo(\n () => infiniteData?.pages.flatMap(page => page.page!) ?? [],\n [infiniteData?.pages],\n )\n\n const currentRound = getCurrentOrNextOrLatestRound(rounds)\n\n const title = (\n <>\n {evaluation?.description && <p>{evaluation?.description}</p>}\n {currentRound?.roundStart && (\n <p>\n <strong>Start:</strong> {formatDate(dayjs(currentRound?.roundStart))}\n </p>\n )}\n {currentRound?.roundEnd && (\n <p>\n <strong>End:</strong> {formatDate(dayjs(currentRound?.roundEnd))}\n </p>\n )}\n <p>\n <strong>Submission Limits:</strong>{' '}\n {currentRound?.limits\n ? `${currentRound?.limits\n .map(\n limit =>\n `${\n limit.maximumSubmissions\n } ${limit.limitType.toLowerCase()} submissions`,\n )\n .join(', ')}`\n : 'No limit'}\n </p>\n </>\n )\n\n return (\n <Tooltip title={title}>\n <InfoTwoTone sx={{ color: 'grey.700' }} />\n </Tooltip>\n )\n}\n\nexport default EvaluationQueueCurrentRoundInfo\n"],"mappings":";;;;;;;;;AAoBA,SAAS,EAAgC,GAAiC;CACxE,IAAM,EAAE,oBAAiB,GAEnB,EAAE,MAAM,MAAe,EAAiB,CAAY,GAEpD,EACJ,MAAM,GACN,gBACA,uBACA,qBACE,EAA+B,CAAY;CAE/C,QAAgB;EAEd,AAAI,KAAe,CAAC,KAClB,EAAmB;CAEvB,GAAG;EAAC;EAAe;EAAa;CAAkB,CAAC;CAOnD,IAAM,IAAe,EALN,QACP,GAAc,MAAM,SAAQ,MAAQ,EAAK,IAAK,KAAK,CAAC,GAC1D,CAAC,GAAc,KAAK,CAG6B,CAAM;CA+BzD,OACE,kBAAC,GAAD;EAAgB,OA7BhB,kBAAA,GAAA,EAAA,UAAA;GACG,GAAY,eAAe,kBAAC,KAAD,EAAA,UAAI,GAAY,YAAe,CAAA;GAC1D,GAAc,cACb,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,SAAc,CAAA;IAAC;IAAE,EAAW,EAAM,GAAc,UAAU,CAAC;GAClE,EAAA,CAAA;GAEJ,GAAc,YACb,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,OAAY,CAAA;IAAC;IAAE,EAAW,EAAM,GAAc,QAAQ,CAAC;GAC9D,EAAA,CAAA;GAEL,kBAAC,KAAD,EAAA,UAAA;IACE,kBAAC,UAAD,EAAA,UAAQ,qBAA0B,CAAA;IAAE;IACnC,GAAc,SACX,GAAG,GAAc,OACd,KACC,MACE,GACE,EAAM,mBACP,GAAG,EAAM,UAAU,YAAY,EAAE,aACtC,EACC,KAAK,IAAI,MACZ;GACH,EAAA,CAAA;EACH,EAAA,CAIc;YACd,kBAAC,GAAD,EAAa,IAAI,EAAE,OAAO,WAAW,EAAI,CAAA;CAClC,CAAA;AAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluationQueueList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/EvaluationQueueList.tsx"],"sourcesContent":["import EvaluationQueueCurrentRoundInfo from '@/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo'\nimport { useGetEntityEvaluations } from '@/synapse-queries'\nimport { Alert, Box, Radio, TextField, Typography } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport { ACCESS_TYPE, Evaluation } from '@sage-bionetworks/synapse-types'\n\ntype EvaluationQueueListProps = {\n projectId: string\n submissonName: string\n selectedEvaluation: string | undefined\n onSubmissionNameChange: (value: string) => void\n onEvaluationChange: (value: string) => void\n submissionError?: string\n}\n\nfunction EvaluationQueueList({\n projectId,\n submissonName,\n selectedEvaluation,\n onSubmissionNameChange,\n onEvaluationChange,\n submissionError,\n}: EvaluationQueueListProps) {\n const { isLoading, data: evaluations } = useGetEntityEvaluations(projectId, {\n activeOnly: true,\n accessType: ACCESS_TYPE.SUBMIT,\n })\n\n const columns: GridColDef<Evaluation>[] = [\n {\n field: 'radiobutton',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id as string}\n checked={params.id === selectedEvaluation}\n onChange={event => onEvaluationChange(event.target.value)}\n />\n )\n },\n },\n {\n field: 'name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'info',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => (\n <EvaluationQueueCurrentRoundInfo evaluationId={params.id as string} />\n ),\n },\n ]\n\n return (\n <Box>\n <Box\n sx={{ display: 'flex', backgroundColor: '#FBFBFC', padding: '10px' }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n Evaluation Queues\n </Typography>\n </Box>\n <DataGrid\n columns={columns}\n rows={evaluations || []}\n hideFooter\n density=\"compact\"\n autoHeight\n loading={isLoading}\n slots={{\n toolbar: () => null,\n }}\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeaders': {\n display: 'none',\n },\n '& .MuiDataGrid-virtualScroller': {\n marginTop: '0px !important',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n showToolbar\n />\n <Box\n sx={{\n mt: 3,\n }}\n >\n <Typography variant=\"body1\">Submission Name (optional)</Typography>\n <TextField\n id=\"submissionName\"\n name=\"submissionName\"\n fullWidth\n onChange={e => onSubmissionNameChange(e.target.value)}\n value={submissonName}\n />\n {submissionError && (\n <Box\n sx={{\n mt: 1,\n }}\n >\n <Alert severity=\"error\">{submissionError}</Alert>\n </Box>\n )}\n </Box>\n </Box>\n )\n}\n\nexport default EvaluationQueueList\n"],"mappings":";;;;;;;;AAeA,SAAS,EAAoB,EAC3B,cACA,kBACA,uBACA,2BACA,uBACA,sBAC2B;CAC3B,IAAM,EAAE,cAAW,MAAM,MAAgB,EAAwB,GAAW;EAC1E,YAAY;EACZ,YAAY,EAAY;EACzB,CAAC;AAwCF,QACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GACE,IAAI;IAAE,SAAS;IAAQ,iBAAiB;IAAW,SAAS;IAAQ;aAEpE,kBAAC,GAAD;IACE,SAAQ;IACR,IAAI;KAAE,UAAU;KAAQ,YAAY;KAAQ,YAAY;KAAK;cAC9D;IAEY,CAAA;GACT,CAAA;EACN,kBAAC,GAAD;GACW,SAAA;IAlDb;KACE,OAAO;KACP,OAAO;KACP,UAAU;KACV,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,aAAY,MAER,kBAAC,GAAD;MACE,OAAO,EAAO;MACd,SAAS,EAAO,OAAO;MACvB,WAAU,MAAS,EAAmB,EAAM,OAAO,MAAM;MACzD,CAAA;KAGP;IACD;KACE,OAAO;KACP,MAAM;KACN,YAAY;KACZ,UAAU;KACV,mBAAmB;KACpB;IACD;KACE,OAAO;KACP,OAAO;KACP,UAAU;KACV,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,aAAY,MACV,kBAAC,GAAD,EAAiC,cAAc,EAAO,IAAgB,CAAA;KAEzE;IAgBY;GACT,MAAM,KAAe,EAAE;GACvB,YAAA;GACA,SAAQ;GACR,YAAA;GACA,SAAS;GACT,OAAO,EACL,eAAe,MAChB;GACD,IAAI;IACF,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,gCAAgC,EAC9B,SAAS,QACV;IACD,kCAAkC,EAChC,WAAW,kBACZ;IACD,cAAc,EACZ,iBAAiB,WAClB;IACD,2CAA2C,EACzC,gBAAgB,iBACjB;IACD,UAAU;KACR,SAAS;KACT,YAAY;KACZ,QAAQ;KACT;IACF;GACD,kBAAiB,MACf,EAAO,6BAA6B,KAAM,IAAI,aAAa;GAE7D,aAAA;GACA,CAAA;EACF,kBAAC,GAAD;GACE,IAAI,EACF,IAAI,GACL;aAHH;IAKE,kBAAC,GAAD;KAAY,SAAQ;eAAQ;KAAuC,CAAA;IACnE,kBAAC,GAAD;KACE,IAAG;KACH,MAAK;KACL,WAAA;KACA,WAAU,MAAK,EAAuB,EAAE,OAAO,MAAM;KACrD,OAAO;KACP,CAAA;IACD,KACC,kBAAC,GAAD;KACE,IAAI,EACF,IAAI,GACL;eAED,kBAAC,GAAD;MAAO,UAAS;gBAAS;MAAwB,CAAA;KAC7C,CAAA;IAEJ;;EACF,EAAA,CAAA"}
1
+ {"version":3,"file":"EvaluationQueueList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/EvaluationQueueList.tsx"],"sourcesContent":["import EvaluationQueueCurrentRoundInfo from '@/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo'\nimport { useGetEntityEvaluations } from '@/synapse-queries'\nimport { Alert, Box, Radio, TextField, Typography } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport { ACCESS_TYPE, Evaluation } from '@sage-bionetworks/synapse-types'\n\ntype EvaluationQueueListProps = {\n projectId: string\n submissonName: string\n selectedEvaluation: string | undefined\n onSubmissionNameChange: (value: string) => void\n onEvaluationChange: (value: string) => void\n submissionError?: string\n}\n\nfunction EvaluationQueueList({\n projectId,\n submissonName,\n selectedEvaluation,\n onSubmissionNameChange,\n onEvaluationChange,\n submissionError,\n}: EvaluationQueueListProps) {\n const { isLoading, data: evaluations } = useGetEntityEvaluations(projectId, {\n activeOnly: true,\n accessType: ACCESS_TYPE.SUBMIT,\n })\n\n const columns: GridColDef<Evaluation>[] = [\n {\n field: 'radiobutton',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id as string}\n checked={params.id === selectedEvaluation}\n onChange={event => onEvaluationChange(event.target.value)}\n />\n )\n },\n },\n {\n field: 'name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'info',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => (\n <EvaluationQueueCurrentRoundInfo evaluationId={params.id as string} />\n ),\n },\n ]\n\n return (\n <Box>\n <Box\n sx={{ display: 'flex', backgroundColor: '#FBFBFC', padding: '10px' }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n Evaluation Queues\n </Typography>\n </Box>\n <DataGrid\n columns={columns}\n rows={evaluations || []}\n hideFooter\n density=\"compact\"\n autoHeight\n loading={isLoading}\n slots={{\n toolbar: () => null,\n }}\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeaders': {\n display: 'none',\n },\n '& .MuiDataGrid-virtualScroller': {\n marginTop: '0px !important',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n showToolbar\n />\n <Box\n sx={{\n mt: 3,\n }}\n >\n <Typography variant=\"body1\">Submission Name (optional)</Typography>\n <TextField\n id=\"submissionName\"\n name=\"submissionName\"\n fullWidth\n onChange={e => onSubmissionNameChange(e.target.value)}\n value={submissonName}\n />\n {submissionError && (\n <Box\n sx={{\n mt: 1,\n }}\n >\n <Alert severity=\"error\">{submissionError}</Alert>\n </Box>\n )}\n </Box>\n </Box>\n )\n}\n\nexport default EvaluationQueueList\n"],"mappings":";;;;;;;;AAeA,SAAS,EAAoB,EAC3B,cACA,kBACA,uBACA,2BACA,uBACA,sBAC2B;CAC3B,IAAM,EAAE,cAAW,MAAM,MAAgB,EAAwB,GAAW;EAC1E,YAAY;EACZ,YAAY,EAAY;CAC1B,CAAC;CAwCD,OACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GACE,IAAI;IAAE,SAAS;IAAQ,iBAAiB;IAAW,SAAS;GAAO;aAEnE,kBAAC,GAAD;IACE,SAAQ;IACR,IAAI;KAAE,UAAU;KAAQ,YAAY;KAAQ,YAAY;IAAI;cAC7D;GAEW,CAAA;EACT,CAAA;EACL,kBAAC,GAAD;GACW,SAAA;IAlDb;KACE,OAAO;KACP,OAAO;KACP,UAAU;KACV,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,aAAY,MAER,kBAAC,GAAD;MACE,OAAO,EAAO;MACd,SAAS,EAAO,OAAO;MACvB,WAAU,MAAS,EAAmB,EAAM,OAAO,KAAK;KACzD,CAAA;IAGP;IACA;KACE,OAAO;KACP,MAAM;KACN,YAAY;KACZ,UAAU;KACV,mBAAmB;IACrB;IACA;KACE,OAAO;KACP,OAAO;KACP,UAAU;KACV,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,aAAY,MACV,kBAAC,GAAD,EAAiC,cAAc,EAAO,GAAe,CAAA;IAEzE;GAgBa;GACT,MAAM,KAAe,CAAC;GACtB,YAAA;GACA,SAAQ;GACR,YAAA;GACA,SAAS;GACT,OAAO,EACL,eAAe,KACjB;GACA,IAAI;IACF,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,gCAAgC,EAC9B,SAAS,OACX;IACA,kCAAkC,EAChC,WAAW,iBACb;IACA,cAAc,EACZ,iBAAiB,UACnB;IACA,2CAA2C,EACzC,gBAAgB,gBAClB;IACA,UAAU;KACR,SAAS;KACT,YAAY;KACZ,QAAQ;IACV;GACF;GACA,kBAAiB,MACf,EAAO,6BAA6B,KAAM,IAAI,aAAa;GAE7D,aAAA;EACD,CAAA;EACD,kBAAC,GAAD;GACE,IAAI,EACF,IAAI,EACN;aAHF;IAKE,kBAAC,GAAD;KAAY,SAAQ;eAAQ;IAAsC,CAAA;IAClE,kBAAC,GAAD;KACE,IAAG;KACH,MAAK;KACL,WAAA;KACA,WAAU,MAAK,EAAuB,EAAE,OAAO,KAAK;KACpD,OAAO;IACR,CAAA;IACA,KACC,kBAAC,GAAD;KACE,IAAI,EACF,IAAI,EACN;eAEA,kBAAC,GAAD;MAAO,UAAS;gBAAS;KAAuB,CAAA;IAC7C,CAAA;GAEJ;;CACF,EAAA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmissionCommitList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/SubmissionCommitList.tsx"],"sourcesContent":["import { useGetDockerTags } from '@/synapse-queries/docker'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { Box, Radio, Typography } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport {\n Direction,\n DockerCommit,\n SortBy,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useState } from 'react'\nimport { EntityItem } from './ChallengeSubmission'\n\ntype SubmissionCommitRow = {\n id: string\n createdOn: string\n digest: string\n tag: string\n}\n\ntype SubmissionCommitListProps = {\n repository: EntityItem\n selectedCommit: DockerCommit | undefined\n onCommitChanged: (value: DockerCommit) => void\n}\n\nfunction SubmissionCommitList({\n repository,\n selectedCommit,\n onCommitChanged,\n}: SubmissionCommitListProps) {\n const [page, setPage] = useState<number>(0)\n const PER_PAGE = 10\n\n const { isLoading, data: commitResults } = useGetDockerTags(\n repository.id!,\n page * PER_PAGE,\n PER_PAGE,\n SortBy.CREATED_ON,\n Direction.DESC,\n )\n\n const commitChangeHandler = (digest: string) => {\n const commits = commitResults?.results ?? []\n const commit = commits.find(commit => commit.digest === digest)\n if (commit) onCommitChanged(commit)\n }\n\n const columns: GridColDef[] = [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id as string}\n checked={params.id === selectedCommit?.digest}\n onChange={event => commitChangeHandler(event.target.value)}\n />\n )\n },\n },\n {\n field: 'tag',\n headerName: 'Tag',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'createdOn',\n headerName: 'Created On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'digest',\n headerName: 'Digest',\n width: 200,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ]\n\n const getRows = (commits: DockerCommit[]) => {\n const newRows: SubmissionCommitRow[] = []\n commits.forEach(commit => {\n newRows.push({\n id: commit.digest,\n tag: commit.tag,\n digest: commit.digest,\n createdOn: formatDate(dayjs(commit.createdOn), 'MM/DD/YY'),\n })\n })\n return newRows\n }\n\n const getPageData = () => {\n return getRows(commitResults?.results ?? [])\n }\n\n const handlePageChange = (newPageNum: number) => {\n setPage(newPageNum)\n }\n\n return (\n <Box>\n <Box\n sx={{\n display: 'flex',\n backgroundColor: '#FBFBFC',\n padding: '10px',\n justifyContent: 'space-between',\n }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n Available commits for {repository.repositoryName}\n </Typography>\n </Box>\n <Box>\n <DataGrid\n loading={isLoading}\n columns={columns}\n rows={getPageData()}\n rowCount={commitResults?.totalNumberOfResults ?? 0}\n pagination\n paginationMode=\"server\"\n paginationModel={{ page, pageSize: PER_PAGE }}\n onPaginationModelChange={({ page }) => handlePageChange(page)}\n pageSizeOptions={[PER_PAGE]}\n density=\"compact\"\n autoHeight\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n </Box>\n )\n}\n\nexport default SubmissionCommitList\n"],"mappings":";;;;;;;;;;AA0BA,SAAS,EAAqB,EAC5B,eACA,mBACA,sBAC4B;CAC5B,IAAM,CAAC,GAAM,KAAW,EAAiB,EAAE,EAGrC,EAAE,cAAW,MAAM,MAAkB,EACzC,EAAW,IACX,IAAO,IACP,IACA,EAAO,YACP,EAAU,KACX,EAEK,KAAuB,MAAmB;EAE9C,IAAM,KADU,GAAe,WAAW,EAAE,EACrB,MAAK,MAAU,EAAO,WAAW,EAAO;AAC/D,EAAI,KAAQ,EAAgB,EAAO;IAG/B,IAAwB;EAC5B;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,UAAU;GACV,YAAY;GACZ,UAAU;GACV,mBAAmB;GACnB,aAAY,MAER,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,SAAS,EAAO,OAAO,GAAgB;IACvC,WAAU,MAAS,EAAoB,EAAM,OAAO,MAAM;IAC1D,CAAA;GAGP;EACD;GACE,OAAO;GACP,YAAY;GACZ,MAAM;GACN,YAAY;GACZ,UAAU;GACV,mBAAmB;GACpB;EACD;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,YAAY;GACZ,UAAU;GACV,mBAAmB;GACpB;EACD;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,YAAY;GACZ,UAAU;GACV,mBAAmB;GACpB;EACF,EAEK,KAAW,MAA4B;EAC3C,IAAM,IAAiC,EAAE;AASzC,SARA,EAAQ,SAAQ,MAAU;AACxB,KAAQ,KAAK;IACX,IAAI,EAAO;IACX,KAAK,EAAO;IACZ,QAAQ,EAAO;IACf,WAAW,EAAW,EAAM,EAAO,UAAU,EAAE,WAAW;IAC3D,CAAC;IACF,EACK;IAGH,UACG,EAAQ,GAAe,WAAW,EAAE,CAAC,EAGxC,KAAoB,MAAuB;AAC/C,IAAQ,EAAW;;AAGrB,QACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,iBAAiB;GACjB,SAAS;GACT,gBAAgB;GACjB;YAED,kBAAC,GAAD;GACE,SAAQ;GACR,IAAI;IAAE,UAAU;IAAQ,YAAY;IAAQ,YAAY;IAAK;aAF/D,CAGC,0BACwB,EAAW,eACvB;;EACT,CAAA,EACN,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,SAAS;EACA;EACT,MAAM,GAAa;EACnB,UAAU,GAAe,wBAAwB;EACjD,YAAA;EACA,gBAAe;EACf,iBAAiB;GAAE;GAAM,UAAU;GAAU;EAC7C,0BAA0B,EAAE,cAAW,EAAiB,EAAK;EAC7D,iBAAiB,CAAC,GAAS;EAC3B,SAAQ;EACR,YAAA;EACA,IAAI;GACF,UAAU;GACV,QAAQ;GACR,QAAQ;GACR,+BAA+B,EAC7B,iBAAiB,WAClB;GACD,cAAc,EACZ,iBAAiB,WAClB;GACD,2CAA2C,EACzC,gBAAgB,iBACjB;GACD,UAAU;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;IACT;GACF;EACD,kBAAiB,MACf,EAAO,6BAA6B,KAAM,IAAI,aAAa;EAE7D,CAAA,EACE,CAAA,CACF,EAAA,CAAA"}
1
+ {"version":3,"file":"SubmissionCommitList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/SubmissionCommitList.tsx"],"sourcesContent":["import { useGetDockerTags } from '@/synapse-queries/docker'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { Box, Radio, Typography } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport {\n Direction,\n DockerCommit,\n SortBy,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useState } from 'react'\nimport { EntityItem } from './ChallengeSubmission'\n\ntype SubmissionCommitRow = {\n id: string\n createdOn: string\n digest: string\n tag: string\n}\n\ntype SubmissionCommitListProps = {\n repository: EntityItem\n selectedCommit: DockerCommit | undefined\n onCommitChanged: (value: DockerCommit) => void\n}\n\nfunction SubmissionCommitList({\n repository,\n selectedCommit,\n onCommitChanged,\n}: SubmissionCommitListProps) {\n const [page, setPage] = useState<number>(0)\n const PER_PAGE = 10\n\n const { isLoading, data: commitResults } = useGetDockerTags(\n repository.id!,\n page * PER_PAGE,\n PER_PAGE,\n SortBy.CREATED_ON,\n Direction.DESC,\n )\n\n const commitChangeHandler = (digest: string) => {\n const commits = commitResults?.results ?? []\n const commit = commits.find(commit => commit.digest === digest)\n if (commit) onCommitChanged(commit)\n }\n\n const columns: GridColDef[] = [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id as string}\n checked={params.id === selectedCommit?.digest}\n onChange={event => commitChangeHandler(event.target.value)}\n />\n )\n },\n },\n {\n field: 'tag',\n headerName: 'Tag',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'createdOn',\n headerName: 'Created On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'digest',\n headerName: 'Digest',\n width: 200,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ]\n\n const getRows = (commits: DockerCommit[]) => {\n const newRows: SubmissionCommitRow[] = []\n commits.forEach(commit => {\n newRows.push({\n id: commit.digest,\n tag: commit.tag,\n digest: commit.digest,\n createdOn: formatDate(dayjs(commit.createdOn), 'MM/DD/YY'),\n })\n })\n return newRows\n }\n\n const getPageData = () => {\n return getRows(commitResults?.results ?? [])\n }\n\n const handlePageChange = (newPageNum: number) => {\n setPage(newPageNum)\n }\n\n return (\n <Box>\n <Box\n sx={{\n display: 'flex',\n backgroundColor: '#FBFBFC',\n padding: '10px',\n justifyContent: 'space-between',\n }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n Available commits for {repository.repositoryName}\n </Typography>\n </Box>\n <Box>\n <DataGrid\n loading={isLoading}\n columns={columns}\n rows={getPageData()}\n rowCount={commitResults?.totalNumberOfResults ?? 0}\n pagination\n paginationMode=\"server\"\n paginationModel={{ page, pageSize: PER_PAGE }}\n onPaginationModelChange={({ page }) => handlePageChange(page)}\n pageSizeOptions={[PER_PAGE]}\n density=\"compact\"\n autoHeight\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n </Box>\n )\n}\n\nexport default SubmissionCommitList\n"],"mappings":";;;;;;;;;;AA0BA,SAAS,EAAqB,EAC5B,eACA,mBACA,sBAC4B;CAC5B,IAAM,CAAC,GAAM,KAAW,EAAiB,CAAC,GAGpC,EAAE,cAAW,MAAM,MAAkB,EACzC,EAAW,IACX,IAAO,IACP,IACA,EAAO,YACP,EAAU,IACZ,GAEM,KAAuB,MAAmB;EAE9C,IAAM,KADU,GAAe,WAAW,CAAC,GACpB,MAAK,MAAU,EAAO,WAAW,CAAM;EAC9D,AAAI,KAAQ,EAAgB,CAAM;CACpC,GAEM,IAAwB;EAC5B;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,UAAU;GACV,YAAY;GACZ,UAAU;GACV,mBAAmB;GACnB,aAAY,MAER,kBAAC,GAAD;IACE,OAAO,EAAO;IACd,SAAS,EAAO,OAAO,GAAgB;IACvC,WAAU,MAAS,EAAoB,EAAM,OAAO,KAAK;GAC1D,CAAA;EAGP;EACA;GACE,OAAO;GACP,YAAY;GACZ,MAAM;GACN,YAAY;GACZ,UAAU;GACV,mBAAmB;EACrB;EACA;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,YAAY;GACZ,UAAU;GACV,mBAAmB;EACrB;EACA;GACE,OAAO;GACP,YAAY;GACZ,OAAO;GACP,YAAY;GACZ,UAAU;GACV,mBAAmB;EACrB;CACF,GAEM,KAAW,MAA4B;EAC3C,IAAM,IAAiC,CAAC;EASxC,OARA,EAAQ,SAAQ,MAAU;GACxB,EAAQ,KAAK;IACX,IAAI,EAAO;IACX,KAAK,EAAO;IACZ,QAAQ,EAAO;IACf,WAAW,EAAW,EAAM,EAAO,SAAS,GAAG,UAAU;GAC3D,CAAC;EACH,CAAC,GACM;CACT,GAEM,UACG,EAAQ,GAAe,WAAW,CAAC,CAAC,GAGvC,KAAoB,MAAuB;EAC/C,EAAQ,CAAU;CACpB;CAEA,OACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,iBAAiB;GACjB,SAAS;GACT,gBAAgB;EAClB;YAEA,kBAAC,GAAD;GACE,SAAQ;GACR,IAAI;IAAE,UAAU;IAAQ,YAAY;IAAQ,YAAY;GAAI;aAF9D,CAGC,0BACwB,EAAW,cACxB;;CACT,CAAA,GACL,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,SAAS;EACA;EACT,MAAM,EAAY;EAClB,UAAU,GAAe,wBAAwB;EACjD,YAAA;EACA,gBAAe;EACf,iBAAiB;GAAE;GAAM,UAAU;EAAS;EAC5C,0BAA0B,EAAE,cAAW,EAAiB,CAAI;EAC5D,iBAAiB,CAAC,EAAQ;EAC1B,SAAQ;EACR,YAAA;EACA,IAAI;GACF,UAAU;GACV,QAAQ;GACR,QAAQ;GACR,+BAA+B,EAC7B,iBAAiB,UACnB;GACA,cAAc,EACZ,iBAAiB,UACnB;GACA,2CAA2C,EACzC,gBAAgB,gBAClB;GACA,UAAU;IACR,SAAS;IACT,YAAY;IACZ,QAAQ;GACV;EACF;EACA,kBAAiB,MACf,EAAO,6BAA6B,KAAM,IAAI,aAAa;CAE9D,CAAA,EACE,CAAA,CACF,EAAA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubmissionDirectoryList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/SubmissionDirectoryList.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport {\n invalidateAllQueriesForEntity,\n useGetEntities,\n useGetEntityChildren,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { NotesTwoTone } from '@mui/icons-material'\nimport { Box, Button, Radio, Typography } from '@mui/material'\nimport { DataGrid, GridCellParams, GridColDef } from '@mui/x-data-grid'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n Direction,\n Entity,\n EntityChildrenRequest,\n EntityHeader,\n EntityLookupRequest,\n FILE_ENTITY_CONCRETE_TYPE_VALUE,\n FileEntity,\n FileUploadComplete,\n SortBy,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryClient } from '@tanstack/react-query'\nimport dayjs from 'dayjs'\nimport { useEffect, useMemo, useState } from 'react'\nimport { Link } from 'react-router'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport FileUpload from '../FileUpload'\nimport IconSvg from '../IconSvg'\nimport { EntityItem } from './ChallengeSubmission'\n\ntype SubmissionDirectoryRow = {\n id: string\n name: string\n modifiedOn: string\n}\n\ntype SubmissionDirectoryListProps = {\n pageSize: number\n challengeProjectId: string\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n onItemSelected: (selected: EntityItem) => void\n}\n\ntype FileUploadAttempt = FileUploadComplete & {\n entityId?: string\n}\n\nfunction SubmissionDirectoryList({\n pageSize,\n challengeProjectId,\n entityType,\n onItemSelected,\n}: SubmissionDirectoryListProps) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n const [page, setPage] = useState<number>(0)\n const [selectedItem, setSelectedItem] = useState<EntityItem | undefined>()\n const [errorMessage, setErrorMessage] = useState<string>()\n const [canSubmit, setCanSubmit] = useState<boolean>()\n const [fetchedHeaders, setFetchedHeaders] = useState<EntityHeader[]>([])\n const [nextPageToken, setNextPageToken] = useState<string | undefined>()\n const [fetchNextPage, setFetchNextPage] = useState<boolean>(false)\n const [confirmOpen, setConfirmOpen] = useState<boolean>(false)\n const [uploadAttempt, setUploadAttempt] = useState<FileUploadAttempt>()\n\n const PER_PAGE = pageSize\n const HEADERS_PER_PAGE = 50\n const PROJECT_URL = `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${challengeProjectId}`\n\n const request: EntityChildrenRequest = {\n parentId: challengeProjectId,\n nextPageToken: fetchNextPage ? nextPageToken : null,\n includeTypes: [entityType],\n includeTotalChildCount: true,\n sortBy: SortBy.MODIFIED_ON,\n sortDirection: Direction.DESC,\n }\n\n const { data: headerResults, refetch } = useGetEntityChildren(request, {\n enabled: !!challengeProjectId,\n throwOnError: true,\n })\n\n useEffect(() => {\n if (headerResults) {\n const newHeaders = [...fetchedHeaders]\n const headerPage = Math.floor(((page + 1) * PER_PAGE) / HEADERS_PER_PAGE)\n const start = headerPage * HEADERS_PER_PAGE\n newHeaders.splice(start, start + HEADERS_PER_PAGE, ...headerResults.page)\n setFetchedHeaders(newHeaders)\n setFetchNextPage(false)\n setNextPageToken(headerResults.nextPageToken)\n }\n // TODO: Temporary useEffect hook to remove onSuccess QueryOption for @tanstack/react-query v5\n // Refactor this component to remove this effect.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [headerResults])\n\n function getPageHeaders() {\n const pageStart = page * PER_PAGE\n const pageHeaders = fetchedHeaders.slice(pageStart, pageStart + PER_PAGE)\n return pageHeaders\n }\n\n function reset() {\n setErrorMessage(undefined)\n setCanSubmit(undefined)\n setFetchedHeaders([])\n setNextPageToken(undefined)\n setFetchNextPage(false)\n refetch()\n }\n\n useEffect(() => {\n reset()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityType, pageSize])\n\n const queries = useGetEntities(getPageHeaders())\n const entities = useMemo(\n () =>\n queries\n .filter(q => q.status === 'success')\n .map(q => q.data) as EntityItem[],\n [queries],\n )\n const areEntitiesLoading = queries.some(q => q.isLoading)\n\n const entityChangeHandler = async (value: string) => {\n setCanSubmit(false)\n const entity = entities.find(entity => entity?.id === value)\n if (entity) {\n setSelectedItem(entity)\n if (entityType === EntityType.dockerrepo) {\n let commits\n try {\n commits = await SynapseClient.getDockerTag(\n entity.id!,\n accessToken,\n 0,\n 1,\n )\n } catch (e) {\n return setErrorMessage(e.message)\n }\n if (commits.totalNumberOfResults === 0) {\n return setErrorMessage(\n 'No commits have been made to this repository. Please select a repository with at least one commit.',\n )\n }\n }\n setCanSubmit(true)\n setErrorMessage(undefined)\n }\n }\n\n const columns: GridColDef[] = [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id}\n checked={params.id === selectedItem?.id}\n onChange={event => {\n entityChangeHandler(event.target.value)\n }}\n />\n )\n },\n },\n {\n field: 'name',\n headerName:\n entityType === EntityType.dockerrepo\n ? 'Docker Repository'\n : 'File Name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: (params: GridCellParams<Entity, SubmissionDirectoryRow>) => (\n <Link\n to={{\n pathname: `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${params.row.id}`,\n }}\n target=\"_blank\"\n >\n {params.row.name}\n </Link>\n ),\n },\n {\n field: 'modifiedOn',\n headerName: 'Updated On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'id',\n headerName: 'ID',\n width: 200,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ]\n\n const getRows = (entities: EntityItem[]) => {\n const newRows: SubmissionDirectoryRow[] = []\n entities.forEach(entity => {\n newRows.push({\n id: entity.id!,\n name:\n entityType === EntityType.dockerrepo\n ? (entity.repositoryName ?? entity.name)\n : entity.name,\n modifiedOn: formatDate(dayjs(entity.modifiedOn), 'MM/DD/YY'),\n })\n })\n return newRows\n }\n\n const handlePageChange = (newPageNum: number) => {\n const lastIndexNeeded = Math.min(\n headerResults?.totalChildCount ?? 0,\n (newPageNum + 1) * PER_PAGE,\n )\n if (lastIndexNeeded > fetchedHeaders.length) {\n setFetchNextPage(true)\n }\n setPage(newPageNum)\n }\n\n const itemSelectedHandler = () => {\n onItemSelected(selectedItem!)\n }\n\n function createEntity(file: FileUploadAttempt) {\n // Create Entity\n if (!file) return\n const { fileHandleId, fileName } = file\n const newFileEntity: FileEntity = {\n parentId: challengeProjectId,\n name: fileName,\n concreteType: FILE_ENTITY_CONCRETE_TYPE_VALUE,\n dataFileHandleId: fileHandleId,\n }\n SynapseClient.createEntity(newFileEntity, accessToken)\n .then(() => {\n reset()\n })\n .catch((err: SynapseClientError) => {\n setErrorMessage(err.reason)\n })\n }\n\n async function updateEntity() {\n if (!uploadAttempt) return\n const { fileHandleId, entityId } = uploadAttempt\n if (!entityId)\n return setErrorMessage('Error: missing entityId. Please try again.')\n // Get the entity\n let entity: FileEntity\n try {\n entity = await SynapseClient.getEntity(accessToken, entityId)\n } catch (err) {\n return setErrorMessage(`The entity ${entityId} could not be retrieved.`)\n }\n\n const updateRequest: FileEntity = {\n id: entity.id,\n name: entity.name,\n dataFileHandleId: fileHandleId,\n concreteType: FILE_ENTITY_CONCRETE_TYPE_VALUE,\n parentId: entity.parentId,\n etag: entity.etag,\n modifiedOn: entity.modifiedOn,\n }\n\n try {\n const updatedEntity = await SynapseClient.updateEntity(\n updateRequest,\n accessToken,\n true,\n )\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n updatedEntity.id!,\n )\n queryClient.setQueryData(\n keyFactory.getEntityQueryKey(updatedEntity.id!),\n updatedEntity,\n )\n reset()\n } catch (err) {\n setErrorMessage(err.reason)\n }\n }\n\n const handleUpload = async (response: UploadCallbackResp) => {\n if (response.success && response.resp) {\n const { fileName } = response.resp\n\n // Lookup entity\n const entityLookupRequest: EntityLookupRequest = {\n entityName: fileName,\n parentId: challengeProjectId,\n }\n try {\n const entityId = await SynapseClient.lookupChildEntity(\n entityLookupRequest,\n accessToken,\n )\n // Entity exists, prompt user to update it\n if (entityId) {\n setUploadAttempt({ ...response.resp, entityId: entityId.id })\n setConfirmOpen(true)\n }\n } catch (err) {\n // An existing entity was not found for this file, create it\n setUploadAttempt(undefined)\n createEntity(response.resp)\n }\n } else if (!response.success && response.error) {\n setErrorMessage(response.error.reason as string)\n } else {\n setErrorMessage('An unknown error occurred. Please try again.')\n }\n }\n\n return (\n <Box>\n <Box\n sx={{\n display: 'flex',\n backgroundColor: '#FBFBFC',\n padding: '10px',\n justifyContent: 'space-between',\n }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n {entityType === EntityType.file\n ? 'Submit File'\n : 'Submit Docker Image'}\n </Typography>\n <Box sx={{ display: 'flex' }}>\n <Typography\n variant=\"body1\"\n sx={{ fontSize: '14px', color: '#71767F' }}\n >\n Your Project SynID:{' '}\n <Link to={{ pathname: PROJECT_URL }} target=\"_blank\">\n {challengeProjectId}\n </Link>\n </Typography>\n <CopyToClipboardIcon value={PROJECT_URL} sx={{ marginTop: '-4px' }} />\n </Box>\n </Box>\n <Box\n sx={{\n my: 3,\n display: 'flex',\n }}\n >\n <NotesTwoTone\n sx={{\n width: '16px',\n height: '16px',\n verticalAlign: 'text-bottom',\n }}\n />\n <Box\n sx={{\n ml: 1,\n }}\n >\n {entityType === EntityType.file && (\n <>\n Choose a prediction file from your submission directory below and\n click \"Submit Selection\" to pick an evaluation queue. If you need\n to add a new file, click \"Upload File\" first.\n </>\n )}\n {entityType === EntityType.dockerrepo && (\n <>\n Choose a Docker image from your submission directory below and\n click \"Submit Selection\" to pick an image version and evaluation\n queue. If you need to upload a new image to your project (\n <code>{challengeProjectId}</code>), see our{' '}\n <Link\n to=\"https://github.com/Sage-Bionetworks-Challenges/sample-model-templates#build-your-model\"\n target=\"_blank\"\n >\n Docker model submission guide\n </Link>{' '}\n for command-line instructions on how to build and upload.\n </>\n )}\n </Box>\n </Box>\n <Box>\n <DataGrid\n loading={areEntitiesLoading}\n columns={columns}\n rows={getRows(entities)}\n rowCount={headerResults?.totalChildCount ?? 0}\n pagination\n paginationMode=\"server\"\n paginationModel={{ page, pageSize: PER_PAGE }}\n pageSizeOptions={[PER_PAGE]}\n onPaginationModelChange={({ page }) => {\n handlePageChange(page)\n }}\n density=\"compact\"\n autoHeight\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n {errorMessage && <ErrorBanner error={errorMessage}></ErrorBanner>}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {entityType === EntityType.file && (\n <FileUpload\n label=\"Upload File\"\n buttonProps={{\n variant: 'outlined',\n endIcon: <IconSvg icon=\"upload\" />,\n sx: { lineHeight: 1 },\n }}\n onComplete={resp => {\n handleUpload(resp)\n }}\n />\n )}\n <Button\n color=\"primary\"\n variant=\"contained\"\n onClick={itemSelectedHandler}\n disabled={!canSubmit}\n >\n Submit Selection\n </Button>\n </Box>\n <ConfirmationDialog\n open={confirmOpen}\n title=\"File exists\"\n content={\n <Typography variant=\"body1\" sx={{ fontSize: '16px' }}>\n A file named &quot;{uploadAttempt?.fileName}&quot; (\n {uploadAttempt?.entityId}) already exists in this location. Do you\n want to update the existing file and create a new version?\n </Typography>\n }\n onCancel={() => setConfirmOpen(false)}\n onConfirm={() => {\n updateEntity()\n setConfirmOpen(false)\n }}\n />\n </Box>\n )\n}\n\nexport default SubmissionDirectoryList\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubmissionDirectoryList.js","names":[],"sources":["../../../src/components/ChallengeSubmission/SubmissionDirectoryList.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport {\n invalidateAllQueriesForEntity,\n useGetEntities,\n useGetEntityChildren,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { NotesTwoTone } from '@mui/icons-material'\nimport { Box, Button, Radio, Typography } from '@mui/material'\nimport { DataGrid, GridCellParams, GridColDef } from '@mui/x-data-grid'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n Direction,\n Entity,\n EntityChildrenRequest,\n EntityHeader,\n EntityLookupRequest,\n FILE_ENTITY_CONCRETE_TYPE_VALUE,\n FileEntity,\n FileUploadComplete,\n SortBy,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryClient } from '@tanstack/react-query'\nimport dayjs from 'dayjs'\nimport { useEffect, useMemo, useState } from 'react'\nimport { Link } from 'react-router'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport FileUpload from '../FileUpload'\nimport IconSvg from '../IconSvg'\nimport { EntityItem } from './ChallengeSubmission'\n\ntype SubmissionDirectoryRow = {\n id: string\n name: string\n modifiedOn: string\n}\n\ntype SubmissionDirectoryListProps = {\n pageSize: number\n challengeProjectId: string\n entityType: typeof EntityType.dockerrepo | typeof EntityType.file\n onItemSelected: (selected: EntityItem) => void\n}\n\ntype FileUploadAttempt = FileUploadComplete & {\n entityId?: string\n}\n\nfunction SubmissionDirectoryList({\n pageSize,\n challengeProjectId,\n entityType,\n onItemSelected,\n}: SubmissionDirectoryListProps) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n const [page, setPage] = useState<number>(0)\n const [selectedItem, setSelectedItem] = useState<EntityItem | undefined>()\n const [errorMessage, setErrorMessage] = useState<string>()\n const [canSubmit, setCanSubmit] = useState<boolean>()\n const [fetchedHeaders, setFetchedHeaders] = useState<EntityHeader[]>([])\n const [nextPageToken, setNextPageToken] = useState<string | undefined>()\n const [fetchNextPage, setFetchNextPage] = useState<boolean>(false)\n const [confirmOpen, setConfirmOpen] = useState<boolean>(false)\n const [uploadAttempt, setUploadAttempt] = useState<FileUploadAttempt>()\n\n const PER_PAGE = pageSize\n const HEADERS_PER_PAGE = 50\n const PROJECT_URL = `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${challengeProjectId}`\n\n const request: EntityChildrenRequest = {\n parentId: challengeProjectId,\n nextPageToken: fetchNextPage ? nextPageToken : null,\n includeTypes: [entityType],\n includeTotalChildCount: true,\n sortBy: SortBy.MODIFIED_ON,\n sortDirection: Direction.DESC,\n }\n\n const { data: headerResults, refetch } = useGetEntityChildren(request, {\n enabled: !!challengeProjectId,\n throwOnError: true,\n })\n\n useEffect(() => {\n if (headerResults) {\n const newHeaders = [...fetchedHeaders]\n const headerPage = Math.floor(((page + 1) * PER_PAGE) / HEADERS_PER_PAGE)\n const start = headerPage * HEADERS_PER_PAGE\n newHeaders.splice(start, start + HEADERS_PER_PAGE, ...headerResults.page)\n setFetchedHeaders(newHeaders)\n setFetchNextPage(false)\n setNextPageToken(headerResults.nextPageToken)\n }\n // TODO: Temporary useEffect hook to remove onSuccess QueryOption for @tanstack/react-query v5\n // Refactor this component to remove this effect.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [headerResults])\n\n function getPageHeaders() {\n const pageStart = page * PER_PAGE\n const pageHeaders = fetchedHeaders.slice(pageStart, pageStart + PER_PAGE)\n return pageHeaders\n }\n\n function reset() {\n setErrorMessage(undefined)\n setCanSubmit(undefined)\n setFetchedHeaders([])\n setNextPageToken(undefined)\n setFetchNextPage(false)\n refetch()\n }\n\n useEffect(() => {\n reset()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityType, pageSize])\n\n const queries = useGetEntities(getPageHeaders())\n const entities = useMemo(\n () =>\n queries\n .filter(q => q.status === 'success')\n .map(q => q.data) as EntityItem[],\n [queries],\n )\n const areEntitiesLoading = queries.some(q => q.isLoading)\n\n const entityChangeHandler = async (value: string) => {\n setCanSubmit(false)\n const entity = entities.find(entity => entity?.id === value)\n if (entity) {\n setSelectedItem(entity)\n if (entityType === EntityType.dockerrepo) {\n let commits\n try {\n commits = await SynapseClient.getDockerTag(\n entity.id!,\n accessToken,\n 0,\n 1,\n )\n } catch (e) {\n return setErrorMessage(e.message)\n }\n if (commits.totalNumberOfResults === 0) {\n return setErrorMessage(\n 'No commits have been made to this repository. Please select a repository with at least one commit.',\n )\n }\n }\n setCanSubmit(true)\n setErrorMessage(undefined)\n }\n }\n\n const columns: GridColDef[] = [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: params => {\n return (\n <Radio\n value={params.id}\n checked={params.id === selectedItem?.id}\n onChange={event => {\n entityChangeHandler(event.target.value)\n }}\n />\n )\n },\n },\n {\n field: 'name',\n headerName:\n entityType === EntityType.dockerrepo\n ? 'Docker Repository'\n : 'File Name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: (params: GridCellParams<Entity, SubmissionDirectoryRow>) => (\n <Link\n to={{\n pathname: `${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${params.row.id}`,\n }}\n target=\"_blank\"\n >\n {params.row.name}\n </Link>\n ),\n },\n {\n field: 'modifiedOn',\n headerName: 'Updated On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n {\n field: 'id',\n headerName: 'ID',\n width: 200,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ]\n\n const getRows = (entities: EntityItem[]) => {\n const newRows: SubmissionDirectoryRow[] = []\n entities.forEach(entity => {\n newRows.push({\n id: entity.id!,\n name:\n entityType === EntityType.dockerrepo\n ? (entity.repositoryName ?? entity.name)\n : entity.name,\n modifiedOn: formatDate(dayjs(entity.modifiedOn), 'MM/DD/YY'),\n })\n })\n return newRows\n }\n\n const handlePageChange = (newPageNum: number) => {\n const lastIndexNeeded = Math.min(\n headerResults?.totalChildCount ?? 0,\n (newPageNum + 1) * PER_PAGE,\n )\n if (lastIndexNeeded > fetchedHeaders.length) {\n setFetchNextPage(true)\n }\n setPage(newPageNum)\n }\n\n const itemSelectedHandler = () => {\n onItemSelected(selectedItem!)\n }\n\n function createEntity(file: FileUploadAttempt) {\n // Create Entity\n if (!file) return\n const { fileHandleId, fileName } = file\n const newFileEntity: FileEntity = {\n parentId: challengeProjectId,\n name: fileName,\n concreteType: FILE_ENTITY_CONCRETE_TYPE_VALUE,\n dataFileHandleId: fileHandleId,\n }\n SynapseClient.createEntity(newFileEntity, accessToken)\n .then(() => {\n reset()\n })\n .catch((err: SynapseClientError) => {\n setErrorMessage(err.reason)\n })\n }\n\n async function updateEntity() {\n if (!uploadAttempt) return\n const { fileHandleId, entityId } = uploadAttempt\n if (!entityId)\n return setErrorMessage('Error: missing entityId. Please try again.')\n // Get the entity\n let entity: FileEntity\n try {\n entity = await SynapseClient.getEntity(accessToken, entityId)\n } catch (err) {\n return setErrorMessage(`The entity ${entityId} could not be retrieved.`)\n }\n\n const updateRequest: FileEntity = {\n id: entity.id,\n name: entity.name,\n dataFileHandleId: fileHandleId,\n concreteType: FILE_ENTITY_CONCRETE_TYPE_VALUE,\n parentId: entity.parentId,\n etag: entity.etag,\n modifiedOn: entity.modifiedOn,\n }\n\n try {\n const updatedEntity = await SynapseClient.updateEntity(\n updateRequest,\n accessToken,\n true,\n )\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n updatedEntity.id!,\n )\n queryClient.setQueryData(\n keyFactory.getEntityQueryKey(updatedEntity.id!),\n updatedEntity,\n )\n reset()\n } catch (err) {\n setErrorMessage(err.reason)\n }\n }\n\n const handleUpload = async (response: UploadCallbackResp) => {\n if (response.success && response.resp) {\n const { fileName } = response.resp\n\n // Lookup entity\n const entityLookupRequest: EntityLookupRequest = {\n entityName: fileName,\n parentId: challengeProjectId,\n }\n try {\n const entityId = await SynapseClient.lookupChildEntity(\n entityLookupRequest,\n accessToken,\n )\n // Entity exists, prompt user to update it\n if (entityId) {\n setUploadAttempt({ ...response.resp, entityId: entityId.id })\n setConfirmOpen(true)\n }\n } catch (err) {\n // An existing entity was not found for this file, create it\n setUploadAttempt(undefined)\n createEntity(response.resp)\n }\n } else if (!response.success && response.error) {\n setErrorMessage(response.error.reason as string)\n } else {\n setErrorMessage('An unknown error occurred. Please try again.')\n }\n }\n\n return (\n <Box>\n <Box\n sx={{\n display: 'flex',\n backgroundColor: '#FBFBFC',\n padding: '10px',\n justifyContent: 'space-between',\n }}\n >\n <Typography\n variant=\"h6\"\n sx={{ fontSize: '18px', lineHeight: '20px', fontWeight: 700 }}\n >\n {entityType === EntityType.file\n ? 'Submit File'\n : 'Submit Docker Image'}\n </Typography>\n <Box sx={{ display: 'flex' }}>\n <Typography\n variant=\"body1\"\n sx={{ fontSize: '14px', color: '#71767F' }}\n >\n Your Project SynID:{' '}\n <Link to={{ pathname: PROJECT_URL }} target=\"_blank\">\n {challengeProjectId}\n </Link>\n </Typography>\n <CopyToClipboardIcon value={PROJECT_URL} sx={{ marginTop: '-4px' }} />\n </Box>\n </Box>\n <Box\n sx={{\n my: 3,\n display: 'flex',\n }}\n >\n <NotesTwoTone\n sx={{\n width: '16px',\n height: '16px',\n verticalAlign: 'text-bottom',\n }}\n />\n <Box\n sx={{\n ml: 1,\n }}\n >\n {entityType === EntityType.file && (\n <>\n Choose a prediction file from your submission directory below and\n click \"Submit Selection\" to pick an evaluation queue. If you need\n to add a new file, click \"Upload File\" first.\n </>\n )}\n {entityType === EntityType.dockerrepo && (\n <>\n Choose a Docker image from your submission directory below and\n click \"Submit Selection\" to pick an image version and evaluation\n queue. If you need to upload a new image to your project (\n <code>{challengeProjectId}</code>), see our{' '}\n <Link\n to=\"https://github.com/Sage-Bionetworks-Challenges/sample-model-templates#build-your-model\"\n target=\"_blank\"\n >\n Docker model submission guide\n </Link>{' '}\n for command-line instructions on how to build and upload.\n </>\n )}\n </Box>\n </Box>\n <Box>\n <DataGrid\n loading={areEntitiesLoading}\n columns={columns}\n rows={getRows(entities)}\n rowCount={headerResults?.totalChildCount ?? 0}\n pagination\n paginationMode=\"server\"\n paginationModel={{ page, pageSize: PER_PAGE }}\n pageSizeOptions={[PER_PAGE]}\n onPaginationModelChange={({ page }) => {\n handlePageChange(page)\n }}\n density=\"compact\"\n autoHeight\n sx={{\n fontSize: '14px',\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n {errorMessage && <ErrorBanner error={errorMessage}></ErrorBanner>}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n {entityType === EntityType.file && (\n <FileUpload\n label=\"Upload File\"\n buttonProps={{\n variant: 'outlined',\n endIcon: <IconSvg icon=\"upload\" />,\n sx: { lineHeight: 1 },\n }}\n onComplete={resp => {\n handleUpload(resp)\n }}\n />\n )}\n <Button\n color=\"primary\"\n variant=\"contained\"\n onClick={itemSelectedHandler}\n disabled={!canSubmit}\n >\n Submit Selection\n </Button>\n </Box>\n <ConfirmationDialog\n open={confirmOpen}\n title=\"File exists\"\n content={\n <Typography variant=\"body1\" sx={{ fontSize: '16px' }}>\n A file named &quot;{uploadAttempt?.fileName}&quot; (\n {uploadAttempt?.entityId}) already exists in this location. Do you\n want to update the existing file and create a new version?\n </Typography>\n }\n onCancel={() => setConfirmOpen(false)}\n onConfirm={() => {\n updateEntity()\n setConfirmOpen(false)\n }}\n />\n </Box>\n )\n}\n\nexport default SubmissionDirectoryList\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChallengeTeamSearch.js","names":[],"sources":["../../../src/components/ChallengeTeamWizard/ChallengeTeamSearch.tsx"],"sourcesContent":["import { ChangeEvent } from 'react'\nimport InputBase from '@mui/material/InputBase'\nimport SearchIcon from '@mui/icons-material/Search'\nimport { Box } from '@mui/system'\n\nexport interface ChallengeTeamSearchProps {\n rowCount: number\n value: string\n onChange: (event: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport function ChallengeTeamSearch(props: ChallengeTeamSearchProps) {\n const { value, rowCount, onChange } = props\n const width = rowCount > 5 ? 'calc(100% - 8px)' : '100%'\n return (\n <Box\n sx={{\n p: '4px 4px',\n display: 'flex',\n flexGrow: 1,\n width,\n border: '1px solid #F2F2F2',\n '& .Mui-focused': {\n border: 'none',\n boxShadow: 'none',\n },\n }}\n >\n <Box sx={{ margin: '0px 0 -4px 8px' }} aria-label=\"search\">\n <SearchIcon sx={{ color: '#878E95' }} />\n </Box>\n <InputBase\n value={value}\n onChange={onChange}\n sx={{\n '& .MuiInputBase-input': { p: '1px 8px' },\n ml: 1,\n flex: 1,\n backgroundColor: 'white',\n }}\n placeholder=\"Search all teams\"\n inputProps={{ 'aria-label': 'search all teams' }}\n />\n </Box>\n )\n}\n"],"mappings":";;;;;AAWA,SAAgB,EAAoB,GAAiC;CACnE,IAAM,EAAE,UAAO,aAAU,gBAAa;AAEtC,QACE,kBAAC,GAAD;EACE,IAAI;GACF,GAAG;GACH,SAAS;GACT,UAAU;GACV,OAPQ,IAAW,IAAI,qBAAqB;GAQ5C,QAAQ;GACR,kBAAkB;IAChB,QAAQ;IACR,WAAW;IACZ;GACF;YAXH,CAaE,kBAAC,GAAD;GAAK,IAAI,EAAE,QAAQ,kBAAkB;GAAE,cAAW;aAChD,kBAAC,GAAD,EAAY,IAAI,EAAE,OAAO,WAAW,EAAI,CAAA;GACpC,CAAA,EACN,kBAAC,GAAD;GACS;GACG;GACV,IAAI;IACF,yBAAyB,EAAE,GAAG,WAAW;IACzC,IAAI;IACJ,MAAM;IACN,iBAAiB;IAClB;GACD,aAAY;GACZ,YAAY,EAAE,cAAc,oBAAoB;GAChD,CAAA,CACE"}
1
+ {"version":3,"file":"ChallengeTeamSearch.js","names":[],"sources":["../../../src/components/ChallengeTeamWizard/ChallengeTeamSearch.tsx"],"sourcesContent":["import { ChangeEvent } from 'react'\nimport InputBase from '@mui/material/InputBase'\nimport SearchIcon from '@mui/icons-material/Search'\nimport { Box } from '@mui/system'\n\nexport interface ChallengeTeamSearchProps {\n rowCount: number\n value: string\n onChange: (event: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport function ChallengeTeamSearch(props: ChallengeTeamSearchProps) {\n const { value, rowCount, onChange } = props\n const width = rowCount > 5 ? 'calc(100% - 8px)' : '100%'\n return (\n <Box\n sx={{\n p: '4px 4px',\n display: 'flex',\n flexGrow: 1,\n width,\n border: '1px solid #F2F2F2',\n '& .Mui-focused': {\n border: 'none',\n boxShadow: 'none',\n },\n }}\n >\n <Box sx={{ margin: '0px 0 -4px 8px' }} aria-label=\"search\">\n <SearchIcon sx={{ color: '#878E95' }} />\n </Box>\n <InputBase\n value={value}\n onChange={onChange}\n sx={{\n '& .MuiInputBase-input': { p: '1px 8px' },\n ml: 1,\n flex: 1,\n backgroundColor: 'white',\n }}\n placeholder=\"Search all teams\"\n inputProps={{ 'aria-label': 'search all teams' }}\n />\n </Box>\n )\n}\n"],"mappings":";;;;;AAWA,SAAgB,EAAoB,GAAiC;CACnE,IAAM,EAAE,UAAO,aAAU,gBAAa;CAEtC,OACE,kBAAC,GAAD;EACE,IAAI;GACF,GAAG;GACH,SAAS;GACT,UAAU;GACV,OAPQ,IAAW,IAAI,qBAAqB;GAQ5C,QAAQ;GACR,kBAAkB;IAChB,QAAQ;IACR,WAAW;GACb;EACF;YAXF,CAaE,kBAAC,GAAD;GAAK,IAAI,EAAE,QAAQ,iBAAiB;GAAG,cAAW;aAChD,kBAAC,GAAD,EAAY,IAAI,EAAE,OAAO,UAAU,EAAI,CAAA;EACpC,CAAA,GACL,kBAAC,GAAD;GACS;GACG;GACV,IAAI;IACF,yBAAyB,EAAE,GAAG,UAAU;IACxC,IAAI;IACJ,MAAM;IACN,iBAAiB;GACnB;GACA,aAAY;GACZ,YAAY,EAAE,cAAc,mBAAmB;EAChD,CAAA,CACE;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChallengeTeamTable.js","names":[],"sources":["../../../src/components/ChallengeTeamWizard/ChallengeTeamTable.tsx"],"sourcesContent":["import {\n useGetAllOpenMembershipInvitations,\n useGetChallengeTeamList,\n useGetCurrentUserProfile,\n useGetTeamList,\n} from '@/synapse-queries'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { EmailTwoTone } from '@mui/icons-material'\nimport { Box, Link, Radio, Tooltip } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport { Team } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useMemo, useState } from 'react'\nimport { ChallengeTeamSearch } from './ChallengeTeamSearch'\n\nexport type ChallengeTeamTableProps = {\n challengeId: string\n selectedTeamId?: string\n onSelectTeam: (teamId?: string) => void\n}\n\n// Custom type for the challenge team table that combines fields from the Team and the ChallengeTeam record\ntype RowData = Team & {\n hasInvitation: boolean\n}\n\n/**\n * Table component that displays teams that\n * 1. are registered for the challenge specified by the challengeId prop\n * 2. the current user is able to join, create a request to join, or accept an invitation to join\n */\nexport default function ChallengeTeamTable(props: ChallengeTeamTableProps) {\n const { challengeId, onSelectTeam, selectedTeamId } = props\n const { data: registeredTeams, isLoading: isLoadingChallengeTeams } =\n useGetChallengeTeamList(challengeId)\n const { data: user } = useGetCurrentUserProfile()\n const { data: openInvitationsToJoinTeams } =\n useGetAllOpenMembershipInvitations(user?.ownerId!, {\n enabled: Boolean(user?.ownerId),\n })\n const [searchValue, setSearchValue] = useState('')\n const teamIdList = registeredTeams?.map(team => team.teamId) ?? []\n const { data: teamsList, isLoading: isLoadingTeamList } = useGetTeamList(\n teamIdList,\n {\n enabled: !!teamIdList.length,\n },\n )\n\n const allRows: RowData[] = useMemo(() => {\n const term = searchValue.toLowerCase()\n const teams =\n teamsList?.list.filter(\n team =>\n team.canPublicJoin ||\n // `canRequestMembership` is true by default if the property is not present\n team.canRequestMembership !== false ||\n openInvitationsToJoinTeams?.some(\n invitation => invitation.teamId === team.id,\n ),\n ) ?? []\n\n let filtered = teams\n if (term.length) {\n filtered = teams.filter(team => {\n return (\n team.name.toLowerCase().includes(term) ||\n team.description?.toLowerCase().includes(term)\n )\n })\n }\n return filtered.map(\n (team): RowData => ({\n ...team,\n hasInvitation: Boolean(\n openInvitationsToJoinTeams?.some(\n invitation => invitation.teamId === team.id,\n ),\n ),\n }),\n )\n }, [openInvitationsToJoinTeams, searchValue, teamsList?.list])\n\n const isLoading = isLoadingChallengeTeams || isLoadingTeamList\n\n const columns: GridColDef<RowData>[] = useMemo(\n () => [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n return (\n <Radio\n value={row.id}\n checked={String(row.id) === selectedTeamId}\n onClick={() => {\n onSelectTeam(String(row.id))\n }}\n inputProps={{ 'aria-label': `Select ${row.name}` }}\n />\n )\n },\n },\n {\n field: 'name',\n headerName: 'Team Name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => (\n <Link\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}/Team:${row.id}`}\n target=\"_blank\"\n underline={'hover'}\n >\n {row.name}\n </Link>\n ),\n },\n {\n field: 'hasInvitation',\n headerName: '',\n width: 15,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n align: 'center',\n renderCell: ({ value }) =>\n value ? (\n <Tooltip title={'You have been invited to join this team'}>\n <EmailTwoTone fontSize={'small'} sx={{ color: 'grey.700' }} />\n </Tooltip>\n ) : null,\n },\n {\n field: 'created',\n headerName: 'Created On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ value }) => formatDate(dayjs(value), 'MM/DD/YY'),\n },\n {\n field: 'description',\n headerName: 'Description',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ],\n [onSelectTeam, selectedTeamId],\n )\n\n return (\n <Box sx={{ height: 220 }}>\n {!isLoading && (\n <ChallengeTeamSearch\n value={searchValue}\n onChange={e => setSearchValue(e.target.value)}\n rowCount={allRows.length}\n />\n )}\n <DataGrid\n initialState={{\n sorting: {\n sortModel: [{ field: 'hasInvitation', sort: 'desc' }],\n },\n }}\n loading={isLoading}\n rows={allRows}\n columns={columns}\n rowCount={5}\n hideFooter\n density=\"compact\"\n rowBufferPx={500} // Buffer ensures all rows required in test are loaded.\n sx={{\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChallengeTeamTable.js","names":[],"sources":["../../../src/components/ChallengeTeamWizard/ChallengeTeamTable.tsx"],"sourcesContent":["import {\n useGetAllOpenMembershipInvitations,\n useGetChallengeTeamList,\n useGetCurrentUserProfile,\n useGetTeamList,\n} from '@/synapse-queries'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { EmailTwoTone } from '@mui/icons-material'\nimport { Box, Link, Radio, Tooltip } from '@mui/material'\nimport { DataGrid, GridColDef } from '@mui/x-data-grid'\nimport { Team } from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { useMemo, useState } from 'react'\nimport { ChallengeTeamSearch } from './ChallengeTeamSearch'\n\nexport type ChallengeTeamTableProps = {\n challengeId: string\n selectedTeamId?: string\n onSelectTeam: (teamId?: string) => void\n}\n\n// Custom type for the challenge team table that combines fields from the Team and the ChallengeTeam record\ntype RowData = Team & {\n hasInvitation: boolean\n}\n\n/**\n * Table component that displays teams that\n * 1. are registered for the challenge specified by the challengeId prop\n * 2. the current user is able to join, create a request to join, or accept an invitation to join\n */\nexport default function ChallengeTeamTable(props: ChallengeTeamTableProps) {\n const { challengeId, onSelectTeam, selectedTeamId } = props\n const { data: registeredTeams, isLoading: isLoadingChallengeTeams } =\n useGetChallengeTeamList(challengeId)\n const { data: user } = useGetCurrentUserProfile()\n const { data: openInvitationsToJoinTeams } =\n useGetAllOpenMembershipInvitations(user?.ownerId!, {\n enabled: Boolean(user?.ownerId),\n })\n const [searchValue, setSearchValue] = useState('')\n const teamIdList = registeredTeams?.map(team => team.teamId) ?? []\n const { data: teamsList, isLoading: isLoadingTeamList } = useGetTeamList(\n teamIdList,\n {\n enabled: !!teamIdList.length,\n },\n )\n\n const allRows: RowData[] = useMemo(() => {\n const term = searchValue.toLowerCase()\n const teams =\n teamsList?.list.filter(\n team =>\n team.canPublicJoin ||\n // `canRequestMembership` is true by default if the property is not present\n team.canRequestMembership !== false ||\n openInvitationsToJoinTeams?.some(\n invitation => invitation.teamId === team.id,\n ),\n ) ?? []\n\n let filtered = teams\n if (term.length) {\n filtered = teams.filter(team => {\n return (\n team.name.toLowerCase().includes(term) ||\n team.description?.toLowerCase().includes(term)\n )\n })\n }\n return filtered.map(\n (team): RowData => ({\n ...team,\n hasInvitation: Boolean(\n openInvitationsToJoinTeams?.some(\n invitation => invitation.teamId === team.id,\n ),\n ),\n }),\n )\n }, [openInvitationsToJoinTeams, searchValue, teamsList?.list])\n\n const isLoading = isLoadingChallengeTeams || isLoadingTeamList\n\n const columns: GridColDef<RowData>[] = useMemo(\n () => [\n {\n field: 'radiobutton',\n headerName: '',\n width: 25,\n sortable: false,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => {\n return (\n <Radio\n value={row.id}\n checked={String(row.id) === selectedTeamId}\n onClick={() => {\n onSelectTeam(String(row.id))\n }}\n inputProps={{ 'aria-label': `Select ${row.name}` }}\n />\n )\n },\n },\n {\n field: 'name',\n headerName: 'Team Name',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ row }) => (\n <Link\n href={`${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}/Team:${row.id}`}\n target=\"_blank\"\n underline={'hover'}\n >\n {row.name}\n </Link>\n ),\n },\n {\n field: 'hasInvitation',\n headerName: '',\n width: 15,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n align: 'center',\n renderCell: ({ value }) =>\n value ? (\n <Tooltip title={'You have been invited to join this team'}>\n <EmailTwoTone fontSize={'small'} sx={{ color: 'grey.700' }} />\n </Tooltip>\n ) : null,\n },\n {\n field: 'created',\n headerName: 'Created On',\n width: 100,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n renderCell: ({ value }) => formatDate(dayjs(value), 'MM/DD/YY'),\n },\n {\n field: 'description',\n headerName: 'Description',\n flex: 1,\n filterable: false,\n hideable: false,\n disableColumnMenu: true,\n },\n ],\n [onSelectTeam, selectedTeamId],\n )\n\n return (\n <Box sx={{ height: 220 }}>\n {!isLoading && (\n <ChallengeTeamSearch\n value={searchValue}\n onChange={e => setSearchValue(e.target.value)}\n rowCount={allRows.length}\n />\n )}\n <DataGrid\n initialState={{\n sorting: {\n sortModel: [{ field: 'hasInvitation', sort: 'desc' }],\n },\n }}\n loading={isLoading}\n rows={allRows}\n columns={columns}\n rowCount={5}\n hideFooter\n density=\"compact\"\n rowBufferPx={500} // Buffer ensures all rows required in test are loaded.\n sx={{\n border: 'none',\n height: '100%',\n '& .MuiDataGrid-columnHeader': {\n backgroundColor: '#F1F3F5',\n },\n '& .Mui-odd': {\n backgroundColor: '#FBFBFC',\n },\n '.MuiDataGrid-columnHeaderTitleContainer': {\n justifyContent: 'space-between',\n },\n '.radio': {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n },\n }}\n getRowClassName={params =>\n params.indexRelativeToCurrentPage % 2 === 0 ? 'Mui-even' : 'Mui-odd'\n }\n />\n </Box>\n )\n}\n"],"mappings":"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"}