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":"ChangePasswordWithToken.js","names":[],"sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"sourcesContent":["import { validatePassword } from '@/utils/functions/StringUtils'\nimport { Alert, Button, TextField } from '@mui/material'\nimport { PasswordResetSignedToken } from '@sage-bionetworks/synapse-types'\nimport { FormEvent, useState } from 'react'\nimport { displayToast } from '../ToastMessage'\nimport useChangePasswordFormState from './useChangePasswordFormState'\n\ntype ChangePasswordWithTokenProps = {\n passwordChangeToken: PasswordResetSignedToken\n onSuccess: () => void\n}\n\nexport default function ChangePasswordWithToken(\n props: ChangePasswordWithTokenProps,\n) {\n const { passwordChangeToken, onSuccess } = props\n const [newPassword, setNewPassword] = useState<string>('')\n const [confirmPassword, setConfirmPassword] = useState<string>('')\n const [newPasswordError, setNewPasswordError] = useState<string | undefined>(\n undefined,\n )\n\n const {\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt,\n isPending: changePasswordIsPending,\n handleChangePasswordWithResetToken,\n error,\n } = useChangePasswordFormState({\n onChangePasswordSuccess: () => {\n setNewPassword('')\n setConfirmPassword('')\n displayToast('Password successfully changed.', 'success')\n onSuccess()\n },\n })\n\n const handleChangePassword = (clickEvent: FormEvent<HTMLElement>) => {\n clickEvent.preventDefault()\n if (newPassword !== confirmPassword) {\n displayToast('Passwords do not match.', 'danger')\n } else {\n handleChangePasswordWithResetToken(newPassword, passwordChangeToken)\n }\n }\n\n return (\n <div>\n {promptForTwoFactorAuth ? (\n <TwoFactorAuthPrompt />\n ) : (\n <form\n onSubmit={e => {\n handleChangePassword(e)\n }}\n >\n <TextField\n fullWidth\n required\n helperText={newPasswordError}\n type=\"password\"\n id=\"newPassword\"\n name=\"newPassword\"\n label={'New password'}\n onChange={e => {\n const error = validatePassword(e.target.value)\n setNewPasswordError(error)\n setNewPassword(e.target.value)\n }}\n value={newPassword || ''}\n sx={{ mb: 2 }}\n />\n <TextField\n fullWidth\n required\n type=\"password\"\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n label={'Confirm password'}\n onChange={e => setConfirmPassword(e.target.value)}\n value={confirmPassword || ''}\n sx={{ mb: 2 }}\n />\n <Button\n variant=\"contained\"\n type=\"submit\"\n fullWidth\n disabled={\n !newPassword || !confirmPassword || changePasswordIsPending\n }\n sx={{ mt: 3, py: 2 }}\n >\n Change Password\n </Button>\n </form>\n )}\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {error.reason}\n </Alert>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAYA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,wBAAqB,iBAAc,GACrC,CAAC,GAAa,KAAkB,EAAiB,GAAG,EACpD,CAAC,GAAiB,KAAsB,EAAiB,GAAG,EAC5D,CAAC,GAAkB,KAAuB,EAC9C,KAAA,EACD,EAEK,EACJ,2BACA,wBACA,WAAW,GACX,uCACA,aACE,EAA2B,EAC7B,+BAA+B;AAI7B,EAHA,EAAe,GAAG,EAClB,EAAmB,GAAG,EACtB,EAAa,kCAAkC,UAAU,EACzD,GAAW;IAEd,CAAC,EAEI,KAAwB,MAAuC;AAEnE,EADA,EAAW,gBAAgB,EACvB,MAAgB,IAGlB,EAAmC,GAAa,EAAoB,GAFpE,EAAa,2BAA2B,SAAS;;AAMrD,QACE,kBAAC,OAAD,EAAA,UAAA,CACG,IACC,kBAAC,GAAD,EAAuB,CAAA,GAEvB,kBAAC,QAAD;EACE,WAAU,MAAK;AACb,KAAqB,EAAE;;YAF3B;GAKE,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,YAAY;IACZ,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK;AAGb,KADA,EADc,EAAiB,EAAE,OAAO,MACpB,CAAM,EAC1B,EAAe,EAAE,OAAO,MAAM;;IAEhC,OAAO,KAAe;IACtB,IAAI,EAAE,IAAI,GAAG;IACb,CAAA;GACF,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK,EAAmB,EAAE,OAAO,MAAM;IACjD,OAAO,KAAmB;IAC1B,IAAI,EAAE,IAAI,GAAG;IACb,CAAA;GACF,kBAAC,GAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAA;IACA,UACE,CAAC,KAAe,CAAC,KAAmB;IAEtC,IAAI;KAAE,IAAI;KAAG,IAAI;KAAG;cACrB;IAEQ,CAAA;GACJ;KAER,KACC,kBAAC,GAAD;EAAO,UAAU;EAAS,IAAI,EAAE,IAAI,GAAG;YACpC,EAAM;EACD,CAAA,CAEN,EAAA,CAAA"}
1
+ {"version":3,"file":"ChangePasswordWithToken.js","names":[],"sources":["../../../src/components/ChangePassword/ChangePasswordWithToken.tsx"],"sourcesContent":["import { validatePassword } from '@/utils/functions/StringUtils'\nimport { Alert, Button, TextField } from '@mui/material'\nimport { PasswordResetSignedToken } from '@sage-bionetworks/synapse-types'\nimport { FormEvent, useState } from 'react'\nimport { displayToast } from '../ToastMessage'\nimport useChangePasswordFormState from './useChangePasswordFormState'\n\ntype ChangePasswordWithTokenProps = {\n passwordChangeToken: PasswordResetSignedToken\n onSuccess: () => void\n}\n\nexport default function ChangePasswordWithToken(\n props: ChangePasswordWithTokenProps,\n) {\n const { passwordChangeToken, onSuccess } = props\n const [newPassword, setNewPassword] = useState<string>('')\n const [confirmPassword, setConfirmPassword] = useState<string>('')\n const [newPasswordError, setNewPasswordError] = useState<string | undefined>(\n undefined,\n )\n\n const {\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt,\n isPending: changePasswordIsPending,\n handleChangePasswordWithResetToken,\n error,\n } = useChangePasswordFormState({\n onChangePasswordSuccess: () => {\n setNewPassword('')\n setConfirmPassword('')\n displayToast('Password successfully changed.', 'success')\n onSuccess()\n },\n })\n\n const handleChangePassword = (clickEvent: FormEvent<HTMLElement>) => {\n clickEvent.preventDefault()\n if (newPassword !== confirmPassword) {\n displayToast('Passwords do not match.', 'danger')\n } else {\n handleChangePasswordWithResetToken(newPassword, passwordChangeToken)\n }\n }\n\n return (\n <div>\n {promptForTwoFactorAuth ? (\n <TwoFactorAuthPrompt />\n ) : (\n <form\n onSubmit={e => {\n handleChangePassword(e)\n }}\n >\n <TextField\n fullWidth\n required\n helperText={newPasswordError}\n type=\"password\"\n id=\"newPassword\"\n name=\"newPassword\"\n label={'New password'}\n onChange={e => {\n const error = validatePassword(e.target.value)\n setNewPasswordError(error)\n setNewPassword(e.target.value)\n }}\n value={newPassword || ''}\n sx={{ mb: 2 }}\n />\n <TextField\n fullWidth\n required\n type=\"password\"\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n label={'Confirm password'}\n onChange={e => setConfirmPassword(e.target.value)}\n value={confirmPassword || ''}\n sx={{ mb: 2 }}\n />\n <Button\n variant=\"contained\"\n type=\"submit\"\n fullWidth\n disabled={\n !newPassword || !confirmPassword || changePasswordIsPending\n }\n sx={{ mt: 3, py: 2 }}\n >\n Change Password\n </Button>\n </form>\n )}\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {error.reason}\n </Alert>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;AAYA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,wBAAqB,iBAAc,GACrC,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAAiB,KAAsB,EAAiB,EAAE,GAC3D,CAAC,GAAkB,KAAuB,EAC9C,KAAA,CACF,GAEM,EACJ,2BACA,wBACA,WAAW,GACX,uCACA,aACE,EAA2B,EAC7B,+BAA+B;EAI7B,AAHA,EAAe,EAAE,GACjB,EAAmB,EAAE,GACrB,EAAa,kCAAkC,SAAS,GACxD,EAAU;CACZ,EACF,CAAC,GAEK,KAAwB,MAAuC;EAEnE,AADA,EAAW,eAAe,GACtB,MAAgB,IAGlB,EAAmC,GAAa,CAAmB,IAFnE,EAAa,2BAA2B,QAAQ;CAIpD;CAEA,OACE,kBAAC,OAAD,EAAA,UAAA,CACG,IACC,kBAAC,GAAD,CAAsB,CAAA,IAEtB,kBAAC,QAAD;EACE,WAAU,MAAK;GACb,EAAqB,CAAC;EACxB;YAHF;GAKE,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,YAAY;IACZ,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK;KAGb,AADA,EADc,EAAiB,EAAE,OAAO,KACpB,CAAK,GACzB,EAAe,EAAE,OAAO,KAAK;IAC/B;IACA,OAAO,KAAe;IACtB,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,WAAA;IACA,UAAA;IACA,MAAK;IACL,IAAG;IACH,MAAK;IACL,OAAO;IACP,WAAU,MAAK,EAAmB,EAAE,OAAO,KAAK;IAChD,OAAO,KAAmB;IAC1B,IAAI,EAAE,IAAI,EAAE;GACb,CAAA;GACD,kBAAC,GAAD;IACE,SAAQ;IACR,MAAK;IACL,WAAA;IACA,UACE,CAAC,KAAe,CAAC,KAAmB;IAEtC,IAAI;KAAE,IAAI;KAAG,IAAI;IAAE;cACpB;GAEO,CAAA;EACJ;KAEP,KACC,kBAAC,GAAD;EAAO,UAAU;EAAS,IAAI,EAAE,IAAI,EAAE;YACnC,EAAM;CACF,CAAA,CAEN,EAAA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChangePasswordFormState.js","names":[],"sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"sourcesContent":["import { useChangePassword, useResetTwoFactorAuth } from '@/synapse-queries'\nimport appendFinalQueryParamKey from '@/utils/appendFinalQueryParamKey'\nimport { useOneSageURL } from '@/utils/hooks'\nimport { Alert, Typography } from '@mui/material'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport {\n ChangePasswordWithCurrentPassword,\n ChangePasswordWithToken as ChangePasswordWithTokenObject,\n ChangePasswordWithTwoFactorAuthToken,\n PasswordResetSignedToken,\n TwoFactorAuthOtpType,\n TwoFactorAuthResetRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport { ONE_TIME_PASSWORD_STEP, OneTimePasswordForm } from '../Authentication'\nimport {\n RECOVERY_CODE_GUIDANCE_TEXT_SHORT,\n TOTP_GUIDANCE_TEXT,\n} from '../Authentication/Constants'\n\nexport const TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT =\n 'Two-factor authentication is required to change your password. Your password has not yet been changed.'\n\nexport type UseChangePasswordFormStateOptions = {\n hideReset2FA?: boolean\n onChangePasswordSuccess?: () => void\n}\n\n/**\n * Hook that handles submitting a change password request and prompting the user for 2FA if necessary.\n * @param options\n */\nexport default function useChangePasswordFormState(\n options?: UseChangePasswordFormStateOptions,\n) {\n const defaultTwoFactorAuthResetUrl = useOneSageURL('/reset2FA')\n const twoFactorAuthResetUri = appendFinalQueryParamKey(\n defaultTwoFactorAuthResetUrl,\n 'twoFAResetToken',\n )\n\n // Store current and new password in state so that we can re-use it if 2FA is required\n const [currentPassword, setCurrentPassword] = useState<string>('')\n const [newPassword, setNewPassword] = useState<string>('')\n const [twoFactorAuthErrorResponse, setTwoFactorAuthErrorResponse] = useState<\n TwoFactorAuthErrorResponse | undefined\n >()\n const [otpStep, setOtpStep] =\n useState<ONE_TIME_PASSWORD_STEP>('VERIFICATION_CODE')\n const [successfullyChangedPassword, setSuccessfullyChangedPassword] =\n useState(false)\n const {\n mutate: changePassword,\n isPending,\n error,\n } = useChangePassword({\n onSuccess: maybeTwoFactorResponse => {\n if (maybeTwoFactorResponse) {\n // We store the 2FA Error Response in state because the `changePasswordResult` may change before we are done with the 2FA code,\n // e.g. if the user enters the wrong 2FA code\n setTwoFactorAuthErrorResponse(maybeTwoFactorResponse)\n } else {\n setSuccessfullyChangedPassword(true)\n setTwoFactorAuthErrorResponse(undefined)\n if (options?.onChangePasswordSuccess) {\n options.onChangePasswordSuccess()\n }\n }\n },\n })\n\n const handleChangePasswordWithCurrentPassword = useCallback(\n (username: string, currentPassword: string, newPassword: string) => {\n setCurrentPassword(currentPassword)\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithCurrentPassword = {\n username,\n currentPassword,\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithCurrentPassword',\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithResetToken = useCallback(\n (newPassword: string, passwordChangeToken: PasswordResetSignedToken) => {\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithTokenObject = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithToken',\n passwordChangeToken: passwordChangeToken,\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithOtp = useCallback(\n (newPassword: string, code: string, otpType: TwoFactorAuthOtpType) => {\n if (twoFactorAuthErrorResponse) {\n const changeRequest: ChangePasswordWithTwoFactorAuthToken = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithTwoFactorAuthToken',\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaToken: twoFactorAuthErrorResponse.twoFaToken!,\n otpType: otpType,\n otpCode: code,\n }\n changePassword(changeRequest)\n }\n },\n [changePassword, twoFactorAuthErrorResponse],\n )\n const promptForTwoFactorAuth = Boolean(twoFactorAuthErrorResponse)\n const {\n mutate: resetTwoFactorAuth,\n isSuccess: twoFactorAuthResetIsSuccess,\n isPending: twoFactorAuthResetIsPending,\n } = useResetTwoFactorAuth()\n\n const beginTwoFactorAuthReset = useCallback(\n (twoFaResetEndpoint: string) => {\n if (twoFactorAuthErrorResponse) {\n const request: TwoFactorAuthResetRequest = {\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaResetEndpoint: twoFaResetEndpoint,\n // When attempting to reset 2FA while resetting a password, the current password must be used to request 2FA reset\n password: currentPassword,\n }\n resetTwoFactorAuth(request)\n }\n },\n [currentPassword, resetTwoFactorAuth, twoFactorAuthErrorResponse],\n )\n\n const TwoFactorAuthPrompt = useCallback(() => {\n if (!promptForTwoFactorAuth) {\n return <></>\n }\n return (\n <>\n {otpStep === 'VERIFICATION_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {TOTP_GUIDANCE_TEXT}\n </Typography>\n )}\n {otpStep === 'RECOVERY_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {RECOVERY_CODE_GUIDANCE_TEXT_SHORT}\n </Typography>\n )}\n <OneTimePasswordForm\n step={otpStep}\n onClickUseTOTP={() => {\n setOtpStep('VERIFICATION_CODE')\n }}\n onClickUseBackupCode={() => {\n setOtpStep('RECOVERY_CODE')\n }}\n loginIsPending={isPending}\n onSubmit={(code, otpType) =>\n handleChangePasswordWithOtp(newPassword, code, otpType)\n }\n hideReset2FA={options?.hideReset2FA}\n onClickPromptReset2FA={() => {\n setOtpStep('DISABLE_2FA_PROMPT')\n }}\n onClickReset2FA={() => {\n beginTwoFactorAuthReset(twoFactorAuthResetUri)\n }}\n twoFactorAuthResetIsPending={twoFactorAuthResetIsPending}\n twoFactorAuthResetIsSuccess={twoFactorAuthResetIsSuccess}\n />\n {(otpStep === 'RECOVERY_CODE' || otpStep === 'VERIFICATION_CODE') && (\n <Alert severity={'info'} sx={{ my: 2 }}>\n {TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT}\n </Alert>\n )}\n {otpStep === 'DISABLE_2FA_PROMPT' && twoFactorAuthResetIsSuccess && (\n <Alert severity={'warning'} sx={{ my: 2 }}>\n <strong>Your password has not been changed.</strong> To disable\n two-factor authentication, you may be required to enter your current\n password after clicking the link sent to your email address.\n </Alert>\n )}\n </>\n )\n }, [\n beginTwoFactorAuthReset,\n handleChangePasswordWithOtp,\n isPending,\n newPassword,\n options?.hideReset2FA,\n otpStep,\n promptForTwoFactorAuth,\n twoFactorAuthResetIsPending,\n twoFactorAuthResetIsSuccess,\n twoFactorAuthResetUri,\n ])\n\n return {\n successfullyChangedPassword,\n isPending,\n error,\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt: TwoFactorAuthPrompt,\n handleChangePasswordWithCurrentPassword,\n handleChangePasswordWithResetToken,\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,IAAa,IACX;AAWF,SAAwB,EACtB,GACA;CAEA,IAAM,IAAwB,EADO,EAAc,YAEjD,EACA,kBACD,EAGK,CAAC,GAAiB,KAAsB,EAAiB,GAAG,EAC5D,CAAC,GAAa,KAAkB,EAAiB,GAAG,EACpD,CAAC,GAA4B,KAAiC,GAEjE,EACG,CAAC,GAAS,KACd,EAAiC,oBAAoB,EACjD,CAAC,GAA6B,KAClC,EAAS,GAAM,EACX,EACJ,QAAQ,GACR,cACA,aACE,EAAkB,EACpB,YAAW,MAA0B;AACnC,EAAI,IAGF,EAA8B,EAAuB,IAErD,EAA+B,GAAK,EACpC,EAA8B,KAAA,EAAU,EACpC,GAAS,2BACX,EAAQ,yBAAyB;IAIxC,CAAC,EAEI,IAA0C,GAC7C,GAAkB,GAAyB,MAAwB;AAUlE,EATA,EAAmB,EAAgB,EACnC,EAAe,EAAY,EAQ3B,EAAe;GANb;GACA;GACA;GACA,cACE;GAEW,CAAc;IAE/B,CAAC,EAAe,CACjB,EAEK,IAAqC,GACxC,GAAqB,MAAkD;AAQtE,EAPA,EAAe,EAAY,EAO3B,EAAe;GALb;GACA,cACE;GACmB;GAER,CAAc;IAE/B,CAAC,EAAe,CACjB,EAEK,IAA8B,GACjC,GAAqB,GAAc,MAAkC;AACpE,EAAI,KAUF,EAAe;GARb;GACA,cACE;GACF,QAAQ,EAA2B;GACnC,YAAY,EAA2B;GAC9B;GACT,SAAS;GAEI,CAAc;IAGjC,CAAC,GAAgB,EAA2B,CAC7C,EACK,IAAyB,EAAQ,GACjC,EACJ,QAAQ,GACR,WAAW,GACX,WAAW,MACT,GAAuB,EAErB,IAA0B,GAC7B,MAA+B;AAC9B,EAAI,KAOF,EAAmB;GALjB,QAAQ,EAA2B;GACf;GAEpB,UAAU;GAEO,CAAQ;IAG/B;EAAC;EAAiB;EAAoB;EAA2B,CAClE;AAmED,QAAO;EACL;EACA;EACA;EACA;EACqB,qBAtEK,QACrB,IAIH,kBAAA,GAAA,EAAA,UAAA;GACG,MAAY,uBACX,kBAAC,GAAD;IAAY,SAAS;IAAS,IAAI,EAAE,IAAI,GAAG;IAAE,OAAO;;IAEvC,CAAA;GAEd,MAAY,mBACX,kBAAC,GAAD;IAAY,SAAS;IAAS,IAAI,EAAE,IAAI,GAAG;IAAE,OAAO;;IAEvC,CAAA;GAEf,kBAAC,GAAD;IACE,MAAM;IACN,sBAAsB;AACpB,OAAW,oBAAoB;;IAEjC,4BAA4B;AAC1B,OAAW,gBAAgB;;IAE7B,gBAAgB;IAChB,WAAW,GAAM,MACf,EAA4B,GAAa,GAAM,EAAQ;IAEzD,cAAc,GAAS;IACvB,6BAA6B;AAC3B,OAAW,qBAAqB;;IAElC,uBAAuB;AACrB,OAAwB,EAAsB;;IAEnB;IACA;IAC7B,CAAA;IACA,MAAY,mBAAmB,MAAY,wBAC3C,kBAAC,GAAD;IAAO,UAAU;IAAQ,IAAI,EAAE,IAAI,GAAG;;IAE9B,CAAA;GAET,MAAY,wBAAwB,KACnC,kBAAC,GAAD;IAAO,UAAU;IAAW,IAAI,EAAE,IAAI,GAAG;cAAzC,CACE,kBAAC,UAAD,EAAA,UAAQ,uCAA4C,CAAA,EAAA,gJAG9C;;GAET,EAAA,CAAA,GAhDI,kBAAA,GAAA,EAAK,CAAA,EAkDb;GACD;GACA;GACA;GACA;GACA,GAAS;GACT;GACA;GACA;GACA;GACA;GACD,CAOsB;EACrB;EACA;EACD"}
1
+ {"version":3,"file":"useChangePasswordFormState.js","names":[],"sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"sourcesContent":["import { useChangePassword, useResetTwoFactorAuth } from '@/synapse-queries'\nimport appendFinalQueryParamKey from '@/utils/appendFinalQueryParamKey'\nimport { useOneSageURL } from '@/utils/hooks'\nimport { Alert, Typography } from '@mui/material'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport {\n ChangePasswordWithCurrentPassword,\n ChangePasswordWithToken as ChangePasswordWithTokenObject,\n ChangePasswordWithTwoFactorAuthToken,\n PasswordResetSignedToken,\n TwoFactorAuthOtpType,\n TwoFactorAuthResetRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport { ONE_TIME_PASSWORD_STEP, OneTimePasswordForm } from '../Authentication'\nimport {\n RECOVERY_CODE_GUIDANCE_TEXT_SHORT,\n TOTP_GUIDANCE_TEXT,\n} from '../Authentication/Constants'\n\nexport const TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT =\n 'Two-factor authentication is required to change your password. Your password has not yet been changed.'\n\nexport type UseChangePasswordFormStateOptions = {\n hideReset2FA?: boolean\n onChangePasswordSuccess?: () => void\n}\n\n/**\n * Hook that handles submitting a change password request and prompting the user for 2FA if necessary.\n * @param options\n */\nexport default function useChangePasswordFormState(\n options?: UseChangePasswordFormStateOptions,\n) {\n const defaultTwoFactorAuthResetUrl = useOneSageURL('/reset2FA')\n const twoFactorAuthResetUri = appendFinalQueryParamKey(\n defaultTwoFactorAuthResetUrl,\n 'twoFAResetToken',\n )\n\n // Store current and new password in state so that we can re-use it if 2FA is required\n const [currentPassword, setCurrentPassword] = useState<string>('')\n const [newPassword, setNewPassword] = useState<string>('')\n const [twoFactorAuthErrorResponse, setTwoFactorAuthErrorResponse] = useState<\n TwoFactorAuthErrorResponse | undefined\n >()\n const [otpStep, setOtpStep] =\n useState<ONE_TIME_PASSWORD_STEP>('VERIFICATION_CODE')\n const [successfullyChangedPassword, setSuccessfullyChangedPassword] =\n useState(false)\n const {\n mutate: changePassword,\n isPending,\n error,\n } = useChangePassword({\n onSuccess: maybeTwoFactorResponse => {\n if (maybeTwoFactorResponse) {\n // We store the 2FA Error Response in state because the `changePasswordResult` may change before we are done with the 2FA code,\n // e.g. if the user enters the wrong 2FA code\n setTwoFactorAuthErrorResponse(maybeTwoFactorResponse)\n } else {\n setSuccessfullyChangedPassword(true)\n setTwoFactorAuthErrorResponse(undefined)\n if (options?.onChangePasswordSuccess) {\n options.onChangePasswordSuccess()\n }\n }\n },\n })\n\n const handleChangePasswordWithCurrentPassword = useCallback(\n (username: string, currentPassword: string, newPassword: string) => {\n setCurrentPassword(currentPassword)\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithCurrentPassword = {\n username,\n currentPassword,\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithCurrentPassword',\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithResetToken = useCallback(\n (newPassword: string, passwordChangeToken: PasswordResetSignedToken) => {\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithTokenObject = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithToken',\n passwordChangeToken: passwordChangeToken,\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithOtp = useCallback(\n (newPassword: string, code: string, otpType: TwoFactorAuthOtpType) => {\n if (twoFactorAuthErrorResponse) {\n const changeRequest: ChangePasswordWithTwoFactorAuthToken = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithTwoFactorAuthToken',\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaToken: twoFactorAuthErrorResponse.twoFaToken!,\n otpType: otpType,\n otpCode: code,\n }\n changePassword(changeRequest)\n }\n },\n [changePassword, twoFactorAuthErrorResponse],\n )\n const promptForTwoFactorAuth = Boolean(twoFactorAuthErrorResponse)\n const {\n mutate: resetTwoFactorAuth,\n isSuccess: twoFactorAuthResetIsSuccess,\n isPending: twoFactorAuthResetIsPending,\n } = useResetTwoFactorAuth()\n\n const beginTwoFactorAuthReset = useCallback(\n (twoFaResetEndpoint: string) => {\n if (twoFactorAuthErrorResponse) {\n const request: TwoFactorAuthResetRequest = {\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaResetEndpoint: twoFaResetEndpoint,\n // When attempting to reset 2FA while resetting a password, the current password must be used to request 2FA reset\n password: currentPassword,\n }\n resetTwoFactorAuth(request)\n }\n },\n [currentPassword, resetTwoFactorAuth, twoFactorAuthErrorResponse],\n )\n\n const TwoFactorAuthPrompt = useCallback(() => {\n if (!promptForTwoFactorAuth) {\n return <></>\n }\n return (\n <>\n {otpStep === 'VERIFICATION_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {TOTP_GUIDANCE_TEXT}\n </Typography>\n )}\n {otpStep === 'RECOVERY_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {RECOVERY_CODE_GUIDANCE_TEXT_SHORT}\n </Typography>\n )}\n <OneTimePasswordForm\n step={otpStep}\n onClickUseTOTP={() => {\n setOtpStep('VERIFICATION_CODE')\n }}\n onClickUseBackupCode={() => {\n setOtpStep('RECOVERY_CODE')\n }}\n loginIsPending={isPending}\n onSubmit={(code, otpType) =>\n handleChangePasswordWithOtp(newPassword, code, otpType)\n }\n hideReset2FA={options?.hideReset2FA}\n onClickPromptReset2FA={() => {\n setOtpStep('DISABLE_2FA_PROMPT')\n }}\n onClickReset2FA={() => {\n beginTwoFactorAuthReset(twoFactorAuthResetUri)\n }}\n twoFactorAuthResetIsPending={twoFactorAuthResetIsPending}\n twoFactorAuthResetIsSuccess={twoFactorAuthResetIsSuccess}\n />\n {(otpStep === 'RECOVERY_CODE' || otpStep === 'VERIFICATION_CODE') && (\n <Alert severity={'info'} sx={{ my: 2 }}>\n {TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT}\n </Alert>\n )}\n {otpStep === 'DISABLE_2FA_PROMPT' && twoFactorAuthResetIsSuccess && (\n <Alert severity={'warning'} sx={{ my: 2 }}>\n <strong>Your password has not been changed.</strong> To disable\n two-factor authentication, you may be required to enter your current\n password after clicking the link sent to your email address.\n </Alert>\n )}\n </>\n )\n }, [\n beginTwoFactorAuthReset,\n handleChangePasswordWithOtp,\n isPending,\n newPassword,\n options?.hideReset2FA,\n otpStep,\n promptForTwoFactorAuth,\n twoFactorAuthResetIsPending,\n twoFactorAuthResetIsSuccess,\n twoFactorAuthResetUri,\n ])\n\n return {\n successfullyChangedPassword,\n isPending,\n error,\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt: TwoFactorAuthPrompt,\n handleChangePasswordWithCurrentPassword,\n handleChangePasswordWithResetToken,\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,IAAa,IACX;AAWF,SAAwB,EACtB,GACA;CAEA,IAAM,IAAwB,EADO,EAAc,WAEjD,GACA,iBACF,GAGM,CAAC,GAAiB,KAAsB,EAAiB,EAAE,GAC3D,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAA4B,KAAiC,EAElE,GACI,CAAC,GAAS,KACd,EAAiC,mBAAmB,GAChD,CAAC,GAA6B,KAClC,EAAS,EAAK,GACV,EACJ,QAAQ,GACR,cACA,aACE,EAAkB,EACpB,YAAW,MAA0B;EACnC,AAAI,IAGF,EAA8B,CAAsB,KAEpD,EAA+B,EAAI,GACnC,EAA8B,KAAA,CAAS,GACnC,GAAS,2BACX,EAAQ,wBAAwB;CAGtC,EACF,CAAC,GAEK,IAA0C,GAC7C,GAAkB,GAAyB,MAAwB;EAUlE,AATA,EAAmB,CAAe,GAClC,EAAe,CAAW,GAQ1B,EAAe;GANb;GACA;GACA;GACA,cACE;EAEW,CAAa;CAC9B,GACA,CAAC,CAAc,CACjB,GAEM,IAAqC,GACxC,GAAqB,MAAkD;EAQtE,AAPA,EAAe,CAAW,GAO1B,EAAe;GALb;GACA,cACE;GACmB;EAER,CAAa;CAC9B,GACA,CAAC,CAAc,CACjB,GAEM,IAA8B,GACjC,GAAqB,GAAc,MAAkC;EACpE,AAAI,KAUF,EAAe;GARb;GACA,cACE;GACF,QAAQ,EAA2B;GACnC,YAAY,EAA2B;GAC9B;GACT,SAAS;EAEI,CAAa;CAEhC,GACA,CAAC,GAAgB,CAA0B,CAC7C,GACM,IAAyB,EAAQ,GACjC,EACJ,QAAQ,GACR,WAAW,GACX,WAAW,MACT,EAAsB,GAEpB,IAA0B,GAC7B,MAA+B;EAC9B,AAAI,KAOF,EAAmB;GALjB,QAAQ,EAA2B;GACf;GAEpB,UAAU;EAEO,CAAO;CAE9B,GACA;EAAC;EAAiB;EAAoB;CAA0B,CAClE;CAmEA,OAAO;EACL;EACA;EACA;EACA;EACqB,qBAtEK,QACrB,IAIH,kBAAA,GAAA,EAAA,UAAA;GACG,MAAY,uBACX,kBAAC,GAAD;IAAY,SAAS;IAAS,IAAI,EAAE,IAAI,EAAE;IAAG,OAAO;;GAExC,CAAA;GAEb,MAAY,mBACX,kBAAC,GAAD;IAAY,SAAS;IAAS,IAAI,EAAE,IAAI,EAAE;IAAG,OAAO;;GAExC,CAAA;GAEd,kBAAC,GAAD;IACE,MAAM;IACN,sBAAsB;KACpB,EAAW,mBAAmB;IAChC;IACA,4BAA4B;KAC1B,EAAW,eAAe;IAC5B;IACA,gBAAgB;IAChB,WAAW,GAAM,MACf,EAA4B,GAAa,GAAM,CAAO;IAExD,cAAc,GAAS;IACvB,6BAA6B;KAC3B,EAAW,oBAAoB;IACjC;IACA,uBAAuB;KACrB,EAAwB,CAAqB;IAC/C;IAC6B;IACA;GAC9B,CAAA;IACC,MAAY,mBAAmB,MAAY,wBAC3C,kBAAC,GAAD;IAAO,UAAU;IAAQ,IAAI,EAAE,IAAI,EAAE;;GAE9B,CAAA;GAER,MAAY,wBAAwB,KACnC,kBAAC,GAAD;IAAO,UAAU;IAAW,IAAI,EAAE,IAAI,EAAE;cAAxC,CACE,kBAAC,UAAD,EAAA,UAAQ,sCAA2C,CAAA,GAAC,+IAG/C;;EAET,EAAA,CAAA,IAhDK,kBAAA,GAAA,CAAI,CAAA,GAkDZ;GACD;GACA;GACA;GACA;GACA,GAAS;GACT;GACA;GACA;GACA;GACA;EACF,CAOuB;EACrB;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"CitationPopover.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopover.tsx"],"sourcesContent":["import { ReactComponent as DoubleQuotes } from '@/assets/icons/DoubleQuotes.svg'\nimport { Typography } from '@mui/material'\nimport { useState } from 'react'\nimport GenericCardActionButton from '../GenericCard/GenericCardActionButton'\nimport CitationPopoverContent from './CitationPopoverContent'\nimport { CitationProps } from './CitationTypes'\n\nfunction CitationPopover(props: CitationProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n const open = Boolean(anchorEl)\n const id = open ? 'cite-as-popover' : undefined\n\n return (\n <>\n {props.doi && (\n <GenericCardActionButton\n onClick={handleClick}\n variant=\"outlined\"\n startIcon={<DoubleQuotes />}\n sx={props.buttonSx}\n >\n <Typography variant=\"label\" sx={{ lineHeight: '20px' }}>\n Cite As\n </Typography>\n </GenericCardActionButton>\n )}\n <CitationPopoverContent\n {...props}\n anchorEl={anchorEl}\n open={open}\n id={id}\n onClose={handleClose}\n />\n </>\n )\n}\n\nexport default CitationPopover\n"],"mappings":";;;;;;;AAOA,SAAS,EAAgB,GAAsB;CAC7C,IAAM,CAAC,GAAU,KAAe,EAAmC,KAAK,EAElE,KAAe,MAA+C;AAClE,IAAY,EAAM,cAAc;IAG5B,UAAoB;AACxB,IAAY,KAAK;IAGb,IAAO,EAAQ,GACf,IAAK,IAAO,oBAAoB,KAAA;AAEtC,QACE,kBAAA,GAAA,EAAA,UAAA,CACG,EAAM,OACL,kBAAC,GAAD;EACE,SAAS;EACT,SAAQ;EACR,WAAW,kBAAC,GAAD,EAAgB,CAAA;EAC3B,IAAI,EAAM;YAEV,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,YAAY,QAAQ;aAAE;GAE3C,CAAA;EACW,CAAA,EAE5B,kBAAC,GAAD;EACE,GAAI;EACM;EACJ;EACF;EACJ,SAAS;EACT,CAAA,CACD,EAAA,CAAA"}
1
+ {"version":3,"file":"CitationPopover.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopover.tsx"],"sourcesContent":["import { ReactComponent as DoubleQuotes } from '@/assets/icons/DoubleQuotes.svg'\nimport { Typography } from '@mui/material'\nimport { useState } from 'react'\nimport GenericCardActionButton from '../GenericCard/GenericCardActionButton'\nimport CitationPopoverContent from './CitationPopoverContent'\nimport { CitationProps } from './CitationTypes'\n\nfunction CitationPopover(props: CitationProps) {\n const [anchorEl, setAnchorEl] = useState<HTMLButtonElement | null>(null)\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n const open = Boolean(anchorEl)\n const id = open ? 'cite-as-popover' : undefined\n\n return (\n <>\n {props.doi && (\n <GenericCardActionButton\n onClick={handleClick}\n variant=\"outlined\"\n startIcon={<DoubleQuotes />}\n sx={props.buttonSx}\n >\n <Typography variant=\"label\" sx={{ lineHeight: '20px' }}>\n Cite As\n </Typography>\n </GenericCardActionButton>\n )}\n <CitationPopoverContent\n {...props}\n anchorEl={anchorEl}\n open={open}\n id={id}\n onClose={handleClose}\n />\n </>\n )\n}\n\nexport default CitationPopover\n"],"mappings":";;;;;;;AAOA,SAAS,EAAgB,GAAsB;CAC7C,IAAM,CAAC,GAAU,KAAe,EAAmC,IAAI,GAEjE,KAAe,MAA+C;EAClE,EAAY,EAAM,aAAa;CACjC,GAEM,UAAoB;EACxB,EAAY,IAAI;CAClB,GAEM,IAAO,EAAQ,GACf,IAAK,IAAO,oBAAoB,KAAA;CAEtC,OACE,kBAAA,GAAA,EAAA,UAAA,CACG,EAAM,OACL,kBAAC,GAAD;EACE,SAAS;EACT,SAAQ;EACR,WAAW,kBAAC,GAAD,CAAe,CAAA;EAC1B,IAAI,EAAM;YAEV,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,YAAY,OAAO;aAAG;EAE5C,CAAA;CACW,CAAA,GAE3B,kBAAC,GAAD;EACE,GAAI;EACM;EACJ;EACF;EACJ,SAAS;CACV,CAAA,CACD,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"CitationPopoverContent.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n FormControl,\n MenuItem,\n Popover,\n Select,\n SelectChangeEvent,\n Stack,\n SxProps,\n Typography,\n PopoverProps,\n} from '@mui/material'\nimport React from 'react'\nimport { useCitation } from './useCitation'\nimport { createLinkAndDownload } from './CitationPopoverUtils'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport CloseIcon from '@mui/icons-material/Close'\nimport { useState } from 'react'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { CitationProps, CitationFormat } from './CitationTypes'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nconst selectSx: SxProps = {\n width: '100%',\n '.MuiInputBase-root': {\n minHeight: '38px',\n borderRadius: 0,\n '&:before, &:after': {\n borderBottom: 'none !important',\n },\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 0,\n },\n '&.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n '.MuiSelect-select': {\n display: 'flex',\n alignItems: 'center',\n },\n '.MuiInputBase-input': {\n padding: '7px 10px',\n },\n}\n\nexport type CitationPopoverProps = CitationProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nexport const CitationPopoverContent = (\n props: CitationPopoverProps,\n): React.ReactNode => {\n const {\n doi,\n title,\n boilerplateText,\n defaultCitationFormat,\n onClose,\n anchorEl,\n open,\n id,\n } = props\n\n const [citationFormat, setCitationFormat] = useState<CitationFormat>(\n defaultCitationFormat || 'bibtex',\n )\n const {\n data: citation,\n isLoading,\n error,\n } = useCitation(doi || '', citationFormat, true)\n\n const handleDownload = (citation: string) => {\n if (!citation) {\n return\n }\n const extensionMap: Record<string, string> = {\n apa: 'ris',\n bibtex: 'bib',\n ieee: 'ris',\n nature: 'ris',\n science: 'ris',\n }\n const fileExtension = extensionMap[citationFormat] || 'txt'\n\n const blob = new Blob([citation], { type: 'text/plain' })\n const url = URL.createObjectURL(blob)\n\n createLinkAndDownload(title || 'citation', fileExtension, url)\n }\n\n const handleChange = (event: SelectChangeEvent<CitationFormat>) => {\n setCitationFormat(event.target.value as CitationFormat)\n }\n\n return (\n <Popover\n aria-label=\"Citation options\"\n role=\"dialog\"\n id={id}\n elevation={9}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: theme => ({\n width: '500px',\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%',\n maxHeight: '100%',\n top: '0 !important',\n left: '0 !important',\n bottom: '0 !important',\n },\n }),\n },\n }}\n >\n <Stack\n sx={{\n gap: '20px',\n padding: '20px',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Typography\n sx={{ fontSize: '20px', fontWeight: 700, lineHeight: 'normal' }}\n >\n Cite As:\n </Typography>\n <CloseIcon\n sx={{\n cursor: 'pointer',\n display: { xs: 'block', sm: 'none' },\n marginLeft: 'auto',\n color: '#878E95',\n }}\n onClick={() => {\n onClose?.({}, 'escapeKeyDown')\n }}\n />\n </Box>\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }} icon={false}>\n {error.message}\n </Alert>\n )}\n <Typography\n variant=\"smallText1\"\n component={'div'}\n sx={{\n lineHeight: 'normal',\n maxHeight: '300px',\n overflowY: 'scroll',\n wordWrap: 'break-word',\n }}\n >\n {boilerplateText && (\n <>\n <MarkdownSynapse markdown={boilerplateText} />\n <br />\n </>\n )}\n {isLoading ? (\n <Box sx={{ fontWeight: 700 }}>\n <br />\n Loading citation...\n </Box>\n ) : (\n citation\n )}\n </Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n gap: { xs: '10px', sm: '8px' },\n width: '100%',\n maxHeight: '38px',\n }}\n >\n <Box sx={{ flex: 1 }}>\n <FormControl sx={selectSx}>\n <Select\n variant=\"standard\"\n sx={{\n svg: {\n color: '#878E95',\n width: '24px',\n height: '24px',\n right: '10px',\n },\n }}\n value={citationFormat}\n onChange={handleChange}\n IconComponent={KeyboardArrowDown}\n >\n <MenuItem value={'bibtex'}>bibtex</MenuItem>\n <MenuItem value={'apa'}>apa</MenuItem>\n <MenuItem value={'ieee'}>ieee</MenuItem>\n <MenuItem value={'nature'}>nature</MenuItem>\n <MenuItem value={'science'}>science</MenuItem>\n </Select>\n </FormControl>\n </Box>\n <Button\n onClick={() => handleDownload(citation || '')}\n variant=\"contained\"\n sx={{\n padding: '6px 16px',\n borderRadius: 0,\n }}\n >\n Download Citation\n </Button>\n <CopyToClipboardIcon\n value={citation || ''}\n sx={{\n borderRadius: 0,\n padding: '6px 16px',\n border: '1px solid',\n borderColor: 'primary.main',\n }}\n />\n </Box>\n </Stack>\n </Popover>\n )\n}\n\nexport default CitationPopoverContent\n"],"mappings":";;;;;;;;;;AAwBA,IAAM,IAAoB;CACxB,OAAO;CACP,sBAAsB;EACpB,WAAW;EACX,cAAc;EACd,qBAAqB,EACnB,cAAc,mBACf;EACF;CACD,sCAAsC,EACpC,QAAQ,GACT;CACD,wEAAwE,EACtE,QAAQ,QACT;CACD,qBAAqB;EACnB,SAAS;EACT,YAAY;EACb;CACD,uBAAuB,EACrB,SAAS,YACV;CACF,EAKY,KACX,MACoB;CACpB,IAAM,EACJ,QACA,UACA,oBACA,0BACA,YACA,aACA,SACA,UACE,GAEE,CAAC,GAAgB,KAAqB,EAC1C,KAAyB,SAC1B,EACK,EACJ,MAAM,GACN,cACA,aACE,EAAY,KAAO,IAAI,GAAgB,GAAK,EAE1C,KAAkB,MAAqB;AAC3C,MAAI,CAAC,EACH;EASF,IAAM,IAAgB;GANpB,KAAK;GACL,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,SAAS;GAEW,CAAa,MAAmB,OAEhD,IAAO,IAAI,KAAK,CAAC,EAAS,EAAE,EAAE,MAAM,cAAc,CAAC,EACnD,IAAM,IAAI,gBAAgB,EAAK;AAErC,IAAsB,KAAS,YAAY,GAAe,EAAI;;AAOhE,QACE,kBAAC,GAAD;EACE,cAAW;EACX,MAAK;EACD;EACJ,WAAW;EACL;EACI;EACD;EACT,cAAc;GACZ,UAAU;GACV,YAAY;GACb;EACD,iBAAiB;GACf,UAAU;GACV,YAAY;GACb;EACD,WAAW,EACT,OAAO;GACL,QAAQ;GACR,KAAI,OAAU;IACZ,OAAO;IACP,UAAU;KACT,EAAM,YAAY,KAAK,KAAK,GAAG;KAC9B,UAAU;KACV,WAAW;KACX,KAAK;KACL,MAAM;KACN,QAAQ;KACT;IACF;GACF,EACF;YAED,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,SAAS;IACV;aAJH;IAME,kBAAC,GAAD;KAAK,IAAI;MAAE,SAAS;MAAQ,YAAY;MAAU;eAAlD,CACE,kBAAC,GAAD;MACE,IAAI;OAAE,UAAU;OAAQ,YAAY;OAAK,YAAY;OAAU;gBAChE;MAEY,CAAA,EACb,kBAAC,GAAD;MACE,IAAI;OACF,QAAQ;OACR,SAAS;QAAE,IAAI;QAAS,IAAI;QAAQ;OACpC,YAAY;OACZ,OAAO;OACR;MACD,eAAe;AACb,WAAU,EAAE,EAAE,gBAAgB;;MAEhC,CAAA,CACE;;IACL,KACC,kBAAC,GAAD;KAAO,UAAU;KAAS,IAAI,EAAE,IAAI,GAAG;KAAE,MAAM;eAC5C,EAAM;KACD,CAAA;IAEV,kBAAC,GAAD;KACE,SAAQ;KACR,WAAW;KACX,IAAI;MACF,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;MACX;eARH,CAUG,KACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD,EAAiB,UAAU,GAAmB,CAAA,EAC9C,kBAAC,MAAD,EAAM,CAAA,CACL,EAAA,CAAA,EAEJ,IACC,kBAAC,GAAD;MAAK,IAAI,EAAE,YAAY,KAAK;gBAA5B,CACE,kBAAC,MAAD,EAAM,CAAA,EAAA,sBAEF;UAEN,EAES;;IACb,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;OAAE,IAAI;OAAU,IAAI;OAAO;MAC1C,KAAK;OAAE,IAAI;OAAQ,IAAI;OAAO;MAC9B,OAAO;MACP,WAAW;MACZ;eAPH;MASE,kBAAC,GAAD;OAAK,IAAI,EAAE,MAAM,GAAG;iBAClB,kBAAC,GAAD;QAAa,IAAI;kBACf,kBAAC,GAAD;SACE,SAAQ;SACR,IAAI,EACF,KAAK;UACH,OAAO;UACP,OAAO;UACP,QAAQ;UACR,OAAO;UACR,EACF;SACD,OAAO;SACP,WAlHQ,MAA6C;AACjE,YAAkB,EAAM,OAAO,MAAwB;;SAkH3C,eAAe;mBAZjB;UAcE,kBAAC,GAAD;WAAU,OAAO;qBAAU;WAAiB,CAAA;UAC5C,kBAAC,GAAD;WAAU,OAAO;qBAAO;WAAc,CAAA;UACtC,kBAAC,GAAD;WAAU,OAAO;qBAAQ;WAAe,CAAA;UACxC,kBAAC,GAAD;WAAU,OAAO;qBAAU;WAAiB,CAAA;UAC5C,kBAAC,GAAD;WAAU,OAAO;qBAAW;WAAkB,CAAA;UACvC;;QACG,CAAA;OACV,CAAA;MACN,kBAAC,GAAD;OACE,eAAe,EAAe,KAAY,GAAG;OAC7C,SAAQ;OACR,IAAI;QACF,SAAS;QACT,cAAc;QACf;iBACF;OAEQ,CAAA;MACT,kBAAC,GAAD;OACE,OAAO,KAAY;OACnB,IAAI;QACF,cAAc;QACd,SAAS;QACT,QAAQ;QACR,aAAa;QACd;OACD,CAAA;MACE;;IACA;;EACA,CAAA"}
1
+ {"version":3,"file":"CitationPopoverContent.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n FormControl,\n MenuItem,\n Popover,\n Select,\n SelectChangeEvent,\n Stack,\n SxProps,\n Typography,\n PopoverProps,\n} from '@mui/material'\nimport React from 'react'\nimport { useCitation } from './useCitation'\nimport { createLinkAndDownload } from './CitationPopoverUtils'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport CloseIcon from '@mui/icons-material/Close'\nimport { useState } from 'react'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { CitationProps, CitationFormat } from './CitationTypes'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nconst selectSx: SxProps = {\n width: '100%',\n '.MuiInputBase-root': {\n minHeight: '38px',\n borderRadius: 0,\n '&:before, &:after': {\n borderBottom: 'none !important',\n },\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 0,\n },\n '&.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n '.MuiSelect-select': {\n display: 'flex',\n alignItems: 'center',\n },\n '.MuiInputBase-input': {\n padding: '7px 10px',\n },\n}\n\nexport type CitationPopoverProps = CitationProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nexport const CitationPopoverContent = (\n props: CitationPopoverProps,\n): React.ReactNode => {\n const {\n doi,\n title,\n boilerplateText,\n defaultCitationFormat,\n onClose,\n anchorEl,\n open,\n id,\n } = props\n\n const [citationFormat, setCitationFormat] = useState<CitationFormat>(\n defaultCitationFormat || 'bibtex',\n )\n const {\n data: citation,\n isLoading,\n error,\n } = useCitation(doi || '', citationFormat, true)\n\n const handleDownload = (citation: string) => {\n if (!citation) {\n return\n }\n const extensionMap: Record<string, string> = {\n apa: 'ris',\n bibtex: 'bib',\n ieee: 'ris',\n nature: 'ris',\n science: 'ris',\n }\n const fileExtension = extensionMap[citationFormat] || 'txt'\n\n const blob = new Blob([citation], { type: 'text/plain' })\n const url = URL.createObjectURL(blob)\n\n createLinkAndDownload(title || 'citation', fileExtension, url)\n }\n\n const handleChange = (event: SelectChangeEvent<CitationFormat>) => {\n setCitationFormat(event.target.value as CitationFormat)\n }\n\n return (\n <Popover\n aria-label=\"Citation options\"\n role=\"dialog\"\n id={id}\n elevation={9}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: theme => ({\n width: '500px',\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%',\n maxHeight: '100%',\n top: '0 !important',\n left: '0 !important',\n bottom: '0 !important',\n },\n }),\n },\n }}\n >\n <Stack\n sx={{\n gap: '20px',\n padding: '20px',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Typography\n sx={{ fontSize: '20px', fontWeight: 700, lineHeight: 'normal' }}\n >\n Cite As:\n </Typography>\n <CloseIcon\n sx={{\n cursor: 'pointer',\n display: { xs: 'block', sm: 'none' },\n marginLeft: 'auto',\n color: '#878E95',\n }}\n onClick={() => {\n onClose?.({}, 'escapeKeyDown')\n }}\n />\n </Box>\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }} icon={false}>\n {error.message}\n </Alert>\n )}\n <Typography\n variant=\"smallText1\"\n component={'div'}\n sx={{\n lineHeight: 'normal',\n maxHeight: '300px',\n overflowY: 'scroll',\n wordWrap: 'break-word',\n }}\n >\n {boilerplateText && (\n <>\n <MarkdownSynapse markdown={boilerplateText} />\n <br />\n </>\n )}\n {isLoading ? (\n <Box sx={{ fontWeight: 700 }}>\n <br />\n Loading citation...\n </Box>\n ) : (\n citation\n )}\n </Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n gap: { xs: '10px', sm: '8px' },\n width: '100%',\n maxHeight: '38px',\n }}\n >\n <Box sx={{ flex: 1 }}>\n <FormControl sx={selectSx}>\n <Select\n variant=\"standard\"\n sx={{\n svg: {\n color: '#878E95',\n width: '24px',\n height: '24px',\n right: '10px',\n },\n }}\n value={citationFormat}\n onChange={handleChange}\n IconComponent={KeyboardArrowDown}\n >\n <MenuItem value={'bibtex'}>bibtex</MenuItem>\n <MenuItem value={'apa'}>apa</MenuItem>\n <MenuItem value={'ieee'}>ieee</MenuItem>\n <MenuItem value={'nature'}>nature</MenuItem>\n <MenuItem value={'science'}>science</MenuItem>\n </Select>\n </FormControl>\n </Box>\n <Button\n onClick={() => handleDownload(citation || '')}\n variant=\"contained\"\n sx={{\n padding: '6px 16px',\n borderRadius: 0,\n }}\n >\n Download Citation\n </Button>\n <CopyToClipboardIcon\n value={citation || ''}\n sx={{\n borderRadius: 0,\n padding: '6px 16px',\n border: '1px solid',\n borderColor: 'primary.main',\n }}\n />\n </Box>\n </Stack>\n </Popover>\n )\n}\n\nexport default CitationPopoverContent\n"],"mappings":";;;;;;;;;;AAwBA,IAAM,IAAoB;CACxB,OAAO;CACP,sBAAsB;EACpB,WAAW;EACX,cAAc;EACd,qBAAqB,EACnB,cAAc,kBAChB;CACF;CACA,sCAAsC,EACpC,QAAQ,EACV;CACA,wEAAwE,EACtE,QAAQ,OACV;CACA,qBAAqB;EACnB,SAAS;EACT,YAAY;CACd;CACA,uBAAuB,EACrB,SAAS,WACX;AACF,GAKa,KACX,MACoB;CACpB,IAAM,EACJ,QACA,UACA,oBACA,0BACA,YACA,aACA,SACA,UACE,GAEE,CAAC,GAAgB,KAAqB,EAC1C,KAAyB,QAC3B,GACM,EACJ,MAAM,GACN,cACA,aACE,EAAY,KAAO,IAAI,GAAgB,EAAI,GAEzC,KAAkB,MAAqB;EAC3C,IAAI,CAAC,GACH;EASF,IAAM,IAAgB;GANpB,KAAK;GACL,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,SAAS;EAEW,EAAa,MAAmB,OAEhD,IAAO,IAAI,KAAK,CAAC,CAAQ,GAAG,EAAE,MAAM,aAAa,CAAC,GAClD,IAAM,IAAI,gBAAgB,CAAI;EAEpC,EAAsB,KAAS,YAAY,GAAe,CAAG;CAC/D;CAMA,OACE,kBAAC,GAAD;EACE,cAAW;EACX,MAAK;EACD;EACJ,WAAW;EACL;EACI;EACD;EACT,cAAc;GACZ,UAAU;GACV,YAAY;EACd;EACA,iBAAiB;GACf,UAAU;GACV,YAAY;EACd;EACA,WAAW,EACT,OAAO;GACL,QAAQ;GACR,KAAI,OAAU;IACZ,OAAO;IACP,UAAU;KACT,EAAM,YAAY,KAAK,IAAI,IAAI;KAC9B,UAAU;KACV,WAAW;KACX,KAAK;KACL,MAAM;KACN,QAAQ;IACV;GACF;EACF,EACF;YAEA,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,SAAS;GACX;aAJF;IAME,kBAAC,GAAD;KAAK,IAAI;MAAE,SAAS;MAAQ,YAAY;KAAS;eAAjD,CACE,kBAAC,GAAD;MACE,IAAI;OAAE,UAAU;OAAQ,YAAY;OAAK,YAAY;MAAS;gBAC/D;KAEW,CAAA,GACZ,kBAAC,GAAD;MACE,IAAI;OACF,QAAQ;OACR,SAAS;QAAE,IAAI;QAAS,IAAI;OAAO;OACnC,YAAY;OACZ,OAAO;MACT;MACA,eAAe;OACb,IAAU,CAAC,GAAG,eAAe;MAC/B;KACD,CAAA,CACE;;IACJ,KACC,kBAAC,GAAD;KAAO,UAAU;KAAS,IAAI,EAAE,IAAI,EAAE;KAAG,MAAM;eAC5C,EAAM;IACF,CAAA;IAET,kBAAC,GAAD;KACE,SAAQ;KACR,WAAW;KACX,IAAI;MACF,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;KACZ;eARF,CAUG,KACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD,EAAiB,UAAU,EAAkB,CAAA,GAC7C,kBAAC,MAAD,CAAK,CAAA,CACL,EAAA,CAAA,GAEH,IACC,kBAAC,GAAD;MAAK,IAAI,EAAE,YAAY,IAAI;gBAA3B,CACE,kBAAC,MAAD,CAAK,CAAA,GAAC,qBAEH;UAEL,CAEQ;;IACZ,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;OAAE,IAAI;OAAU,IAAI;MAAM;MACzC,KAAK;OAAE,IAAI;OAAQ,IAAI;MAAM;MAC7B,OAAO;MACP,WAAW;KACb;eAPF;MASE,kBAAC,GAAD;OAAK,IAAI,EAAE,MAAM,EAAE;iBACjB,kBAAC,GAAD;QAAa,IAAI;kBACf,kBAAC,GAAD;SACE,SAAQ;SACR,IAAI,EACF,KAAK;UACH,OAAO;UACP,OAAO;UACP,QAAQ;UACR,OAAO;SACT,EACF;SACA,OAAO;SACP,WAlHQ,MAA6C;UACjE,EAAkB,EAAM,OAAO,KAAuB;SACxD;SAiHc,eAAe;mBAZjB;UAcE,kBAAC,GAAD;WAAU,OAAO;qBAAU;UAAgB,CAAA;UAC3C,kBAAC,GAAD;WAAU,OAAO;qBAAO;UAAa,CAAA;UACrC,kBAAC,GAAD;WAAU,OAAO;qBAAQ;UAAc,CAAA;UACvC,kBAAC,GAAD;WAAU,OAAO;qBAAU;UAAgB,CAAA;UAC3C,kBAAC,GAAD;WAAU,OAAO;qBAAW;UAAiB,CAAA;SACvC;;OACG,CAAA;MACV,CAAA;MACL,kBAAC,GAAD;OACE,eAAe,EAAe,KAAY,EAAE;OAC5C,SAAQ;OACR,IAAI;QACF,SAAS;QACT,cAAc;OAChB;iBACD;MAEO,CAAA;MACR,kBAAC,GAAD;OACE,OAAO,KAAY;OACnB,IAAI;QACF,cAAc;QACd,SAAS;QACT,QAAQ;QACR,aAAa;OACf;MACD,CAAA;KACE;;GACA;;CACA,CAAA;AAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"CitationPopoverUtils.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopoverUtils.ts"],"sourcesContent":["export const createLinkAndDownload = (\n title: string,\n fileExtension: string,\n url: string,\n) => {\n const citationTitle = `${title.replace(/\\s+/g, '_')}`\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', `${citationTitle}.${fileExtension}`)\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n}\n"],"mappings":";AAAA,IAAa,KACX,GACA,GACA,MACG;CACH,IAAM,IAAgB,GAAG,EAAM,QAAQ,QAAQ,IAAI,IAC7C,IAAO,SAAS,cAAc,IAAI;AAKxC,CAJA,EAAK,OAAO,GACZ,EAAK,aAAa,YAAY,GAAG,EAAc,GAAG,IAAgB,EAClE,SAAS,KAAK,YAAY,EAAK,EAC/B,EAAK,OAAO,EACZ,SAAS,KAAK,YAAY,EAAK"}
1
+ {"version":3,"file":"CitationPopoverUtils.js","names":[],"sources":["../../../src/components/CitationPopover/CitationPopoverUtils.ts"],"sourcesContent":["export const createLinkAndDownload = (\n title: string,\n fileExtension: string,\n url: string,\n) => {\n const citationTitle = `${title.replace(/\\s+/g, '_')}`\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', `${citationTitle}.${fileExtension}`)\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n}\n"],"mappings":";AAAA,IAAa,KACX,GACA,GACA,MACG;CACH,IAAM,IAAgB,GAAG,EAAM,QAAQ,QAAQ,GAAG,KAC5C,IAAO,SAAS,cAAc,GAAG;CAKvC,AAJA,EAAK,OAAO,GACZ,EAAK,aAAa,YAAY,GAAG,EAAc,GAAG,GAAe,GACjE,SAAS,KAAK,YAAY,CAAI,GAC9B,EAAK,MAAM,GACX,SAAS,KAAK,YAAY,CAAI;AAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCitation.js","names":[],"sources":["../../../src/components/CitationPopover/useCitation.tsx"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\n\nexport const fetchCitation = async (\n doi: string | undefined,\n format: string,\n) => {\n const formattedDoi = doi ? doi.replace('https://doi.org/', '') : ''\n const response = await fetch(\n `https://citation.doi.org/format?doi=${formattedDoi}&style=${format}&lang=en-US`,\n {\n headers: {\n Accept: `text/x-${format}`,\n },\n },\n )\n if (!response.ok) {\n throw new Error(\n `Failed to fetch citation: ${response.status}: ${response.statusText}`,\n )\n }\n return await response.text()\n}\n\nexport const useCitation = (doi: string, format: string, enabled: boolean) => {\n return useQuery({\n queryKey: ['citation', doi, format],\n queryFn: () => fetchCitation(doi, format),\n enabled: !!doi && !!format && enabled,\n })\n}\n"],"mappings":";;AAEA,IAAa,IAAgB,OAC3B,GACA,MACG;CACH,IAAM,IAAe,IAAM,EAAI,QAAQ,oBAAoB,GAAG,GAAG,IAC3D,IAAW,MAAM,MACrB,uCAAuC,EAAa,SAAS,EAAO,cACpE,EACE,SAAS,EACP,QAAQ,UAAU,KACnB,EACF,CACF;AACD,KAAI,CAAC,EAAS,GACZ,OAAU,MACR,6BAA6B,EAAS,OAAO,IAAI,EAAS,aAC3D;AAEH,QAAO,MAAM,EAAS,MAAM;GAGjB,KAAe,GAAa,GAAgB,MAChD,EAAS;CACd,UAAU;EAAC;EAAY;EAAK;EAAO;CACnC,eAAe,EAAc,GAAK,EAAO;CACzC,SAAS,CAAC,CAAC,KAAO,CAAC,CAAC,KAAU;CAC/B,CAAC"}
1
+ {"version":3,"file":"useCitation.js","names":[],"sources":["../../../src/components/CitationPopover/useCitation.tsx"],"sourcesContent":["import { useQuery } from '@tanstack/react-query'\n\nexport const fetchCitation = async (\n doi: string | undefined,\n format: string,\n) => {\n const formattedDoi = doi ? doi.replace('https://doi.org/', '') : ''\n const response = await fetch(\n `https://citation.doi.org/format?doi=${formattedDoi}&style=${format}&lang=en-US`,\n {\n headers: {\n Accept: `text/x-${format}`,\n },\n },\n )\n if (!response.ok) {\n throw new Error(\n `Failed to fetch citation: ${response.status}: ${response.statusText}`,\n )\n }\n return await response.text()\n}\n\nexport const useCitation = (doi: string, format: string, enabled: boolean) => {\n return useQuery({\n queryKey: ['citation', doi, format],\n queryFn: () => fetchCitation(doi, format),\n enabled: !!doi && !!format && enabled,\n })\n}\n"],"mappings":";;AAEA,IAAa,IAAgB,OAC3B,GACA,MACG;CACH,IAAM,IAAe,IAAM,EAAI,QAAQ,oBAAoB,EAAE,IAAI,IAC3D,IAAW,MAAM,MACrB,uCAAuC,EAAa,SAAS,EAAO,cACpE,EACE,SAAS,EACP,QAAQ,UAAU,IACpB,EACF,CACF;CACA,IAAI,CAAC,EAAS,IACZ,MAAU,MACR,6BAA6B,EAAS,OAAO,IAAI,EAAS,YAC5D;CAEF,OAAO,MAAM,EAAS,KAAK;AAC7B,GAEa,KAAe,GAAa,GAAgB,MAChD,EAAS;CACd,UAAU;EAAC;EAAY;EAAK;CAAM;CAClC,eAAe,EAAc,GAAK,CAAM;CACxC,SAAS,CAAC,CAAC,KAAO,CAAC,CAAC,KAAU;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorGradient.js","names":[],"sources":["../../../src/components/ColorGradient/ColorGradient.tsx"],"sourcesContent":["import {\n COLOR_PALETTE_EVEN,\n COLOR_PALETTE_ODD,\n} from '@/utils/functions/colorPalette'\n\nexport function rgba2rgb(background: number[], color: number[]) {\n const alpha = color[3]\n return [\n Math.floor((1 - alpha) * background[0] + alpha * color[0] + 0.5),\n Math.floor((1 - alpha) * background[1] + alpha * color[1] + 0.5),\n Math.floor((1 - alpha) * background[2] + alpha * color[2] + 0.5),\n ]\n}\n\nconst VARIANTS_PER_HUE = 5\nconst NUMBER_OF_HUES = Math.floor(COLOR_PALETTE_EVEN.length / VARIANTS_PER_HUE)\n\nexport function getColorPalette(\n start: number,\n end: number,\n): { colorPalette: string[]; textColors: string[] } {\n let colorPaletteSelection: string[] = []\n const textColors: string[] = []\n let offset = -1\n\n if (start % 2 === 0) {\n colorPaletteSelection = COLOR_PALETTE_EVEN\n offset = start * VARIANTS_PER_HUE\n } else {\n colorPaletteSelection = COLOR_PALETTE_ODD\n offset = (start - 1) * VARIANTS_PER_HUE\n }\n\n const colorPalette: string[] = []\n\n for (let i = 0; i < end; i++) {\n // Each hue goes from dark to light, then light to dark, and repeats\n // So we can use the index * 2 to determine if text shown should be white or black\n const textColor: string =\n i % (VARIANTS_PER_HUE * 2) < 2 || i % (VARIANTS_PER_HUE * 2) > 7\n ? 'white'\n : 'black'\n const color: string =\n colorPaletteSelection[(offset + i) % colorPaletteSelection.length]\n\n colorPalette.push(color)\n textColors.push(textColor)\n }\n return { colorPalette, textColors }\n}\n\nexport function getContrastColorPalette(\n palette: 'even' | 'odd',\n offset: number,\n numberOfPalettes: number,\n): string[] {\n let colorPaletteSelection: string[] = []\n\n if (palette === 'even') {\n colorPaletteSelection = COLOR_PALETTE_EVEN\n } else {\n colorPaletteSelection = COLOR_PALETTE_ODD\n }\n const colorPalette: string[] = []\n\n for (let i = 0; i < numberOfPalettes; i++) {\n // Each iteration should be a different hue\n const hueIndex = i * VARIANTS_PER_HUE\n // Select a lighter/darker variant using the offset\n // if we happen to need more colors than we have hues, increment the offset (hence adding i / NUMBER_OF_HUES)\n const hueOffset =\n (offset + Math.floor(i / NUMBER_OF_HUES)) % VARIANTS_PER_HUE\n const color: string =\n colorPaletteSelection[\n (hueIndex + hueOffset) % colorPaletteSelection.length\n ]\n\n colorPalette.push(color)\n }\n return colorPalette\n}\n"],"mappings":";;AAKA,SAAgB,EAAS,GAAsB,GAAiB;CAC9D,IAAM,IAAQ,EAAM;AACpB,QAAO;EACL,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,GAAI;EAChE,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,GAAI;EAChE,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,GAAI;EACjE;;AAGH,IAAM,IAAmB,GACnB,IAAiB,KAAK,MAAM,EAAmB,SAAS,EAAiB;AAE/E,SAAgB,EACd,GACA,GACkD;CAClD,IAAI,IAAkC,EAAE,EAClC,IAAuB,EAAE,EAC3B,IAAS;AAEb,CAAI,IAAQ,KAAM,KAChB,IAAwB,GACxB,IAAS,IAAQ,MAEjB,IAAwB,GACxB,KAAU,IAAQ,KAAK;CAGzB,IAAM,IAAyB,EAAE;AAEjC,MAAK,IAAI,IAAI,GAAG,IAAI,GAAK,KAAK;EAG5B,IAAM,IACJ,KAAK,IAAmB,KAAK,KAAK,KAAK,IAAmB,KAAK,IAC3D,UACA,SACA,IACJ,GAAuB,IAAS,KAAK,EAAsB;AAG7D,EADA,EAAa,KAAK,EAAM,EACxB,EAAW,KAAK,EAAU;;AAE5B,QAAO;EAAE;EAAc;EAAY;;AAGrC,SAAgB,EACd,GACA,GACA,GACU;CACV,IAAI,IAAkC,EAAE;AAExC,CAGE,IAHE,MAAY,SACU,IAEA;CAE1B,IAAM,IAAyB,EAAE;AAEjC,MAAK,IAAI,IAAI,GAAG,IAAI,GAAkB,KAAK;EAEzC,IAAM,IAAW,IAAI,GAGf,KACH,IAAS,KAAK,MAAM,IAAI,EAAe,IAAI,GACxC,IACJ,GACG,IAAW,KAAa,EAAsB;AAGnD,IAAa,KAAK,EAAM;;AAE1B,QAAO"}
1
+ {"version":3,"file":"ColorGradient.js","names":[],"sources":["../../../src/components/ColorGradient/ColorGradient.tsx"],"sourcesContent":["import {\n COLOR_PALETTE_EVEN,\n COLOR_PALETTE_ODD,\n} from '@/utils/functions/colorPalette'\n\nexport function rgba2rgb(background: number[], color: number[]) {\n const alpha = color[3]\n return [\n Math.floor((1 - alpha) * background[0] + alpha * color[0] + 0.5),\n Math.floor((1 - alpha) * background[1] + alpha * color[1] + 0.5),\n Math.floor((1 - alpha) * background[2] + alpha * color[2] + 0.5),\n ]\n}\n\nconst VARIANTS_PER_HUE = 5\nconst NUMBER_OF_HUES = Math.floor(COLOR_PALETTE_EVEN.length / VARIANTS_PER_HUE)\n\nexport function getColorPalette(\n start: number,\n end: number,\n): { colorPalette: string[]; textColors: string[] } {\n let colorPaletteSelection: string[] = []\n const textColors: string[] = []\n let offset = -1\n\n if (start % 2 === 0) {\n colorPaletteSelection = COLOR_PALETTE_EVEN\n offset = start * VARIANTS_PER_HUE\n } else {\n colorPaletteSelection = COLOR_PALETTE_ODD\n offset = (start - 1) * VARIANTS_PER_HUE\n }\n\n const colorPalette: string[] = []\n\n for (let i = 0; i < end; i++) {\n // Each hue goes from dark to light, then light to dark, and repeats\n // So we can use the index * 2 to determine if text shown should be white or black\n const textColor: string =\n i % (VARIANTS_PER_HUE * 2) < 2 || i % (VARIANTS_PER_HUE * 2) > 7\n ? 'white'\n : 'black'\n const color: string =\n colorPaletteSelection[(offset + i) % colorPaletteSelection.length]\n\n colorPalette.push(color)\n textColors.push(textColor)\n }\n return { colorPalette, textColors }\n}\n\nexport function getContrastColorPalette(\n palette: 'even' | 'odd',\n offset: number,\n numberOfPalettes: number,\n): string[] {\n let colorPaletteSelection: string[] = []\n\n if (palette === 'even') {\n colorPaletteSelection = COLOR_PALETTE_EVEN\n } else {\n colorPaletteSelection = COLOR_PALETTE_ODD\n }\n const colorPalette: string[] = []\n\n for (let i = 0; i < numberOfPalettes; i++) {\n // Each iteration should be a different hue\n const hueIndex = i * VARIANTS_PER_HUE\n // Select a lighter/darker variant using the offset\n // if we happen to need more colors than we have hues, increment the offset (hence adding i / NUMBER_OF_HUES)\n const hueOffset =\n (offset + Math.floor(i / NUMBER_OF_HUES)) % VARIANTS_PER_HUE\n const color: string =\n colorPaletteSelection[\n (hueIndex + hueOffset) % colorPaletteSelection.length\n ]\n\n colorPalette.push(color)\n }\n return colorPalette\n}\n"],"mappings":";;AAKA,SAAgB,EAAS,GAAsB,GAAiB;CAC9D,IAAM,IAAQ,EAAM;CACpB,OAAO;EACL,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,EAAG;EAC/D,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,EAAG;EAC/D,KAAK,OAAO,IAAI,KAAS,EAAW,KAAK,IAAQ,EAAM,KAAK,EAAG;CACjE;AACF;AAEA,IAAM,IAAmB,GACnB,IAAiB,KAAK,MAAM,EAAmB,SAAS,CAAgB;AAE9E,SAAgB,EACd,GACA,GACkD;CAClD,IAAI,IAAkC,CAAC,GACjC,IAAuB,CAAC,GAC1B,IAAS;CAEb,AAAI,IAAQ,KAAM,KAChB,IAAwB,GACxB,IAAS,IAAQ,MAEjB,IAAwB,GACxB,KAAU,IAAQ,KAAK;CAGzB,IAAM,IAAyB,CAAC;CAEhC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAK,KAAK;EAG5B,IAAM,IACJ,KAAK,IAAmB,KAAK,KAAK,KAAK,IAAmB,KAAK,IAC3D,UACA,SACA,IACJ,GAAuB,IAAS,KAAK,EAAsB;EAG7D,AADA,EAAa,KAAK,CAAK,GACvB,EAAW,KAAK,CAAS;CAC3B;CACA,OAAO;EAAE;EAAc;CAAW;AACpC;AAEA,SAAgB,EACd,GACA,GACA,GACU;CACV,IAAI,IAAkC,CAAC;CAEvC,AAGE,IAHE,MAAY,SACU,IAEA;CAE1B,IAAM,IAAyB,CAAC;CAEhC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAkB,KAAK;EAEzC,IAAM,IAAW,IAAI,GAGf,KACH,IAAS,KAAK,MAAM,IAAI,CAAc,KAAK,GACxC,IACJ,GACG,IAAW,KAAa,EAAsB;EAGnD,EAAa,KAAK,CAAK;CACzB;CACA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColoredBulletListItem.js","names":[],"sources":["../../../src/components/ColoredBulletListItem/ColoredBulletListItem.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport styles from './ColoredBulletListItem.module.scss'\n\nexport type ColoredBulletListItemProps = {\n bulletColor: string\n mainText: string\n subText?: string\n}\n\nfunction ColoredBulletListItem(props: ColoredBulletListItemProps) {\n const { bulletColor, mainText, subText } = props\n\n return (\n <div className={styles.container}>\n <div\n className={styles.bullet}\n style={{ borderColor: bulletColor, backgroundColor: bulletColor }}\n />\n <Typography variant=\"headline1\" className={styles.mainText}>\n {mainText}\n </Typography>\n {subText && (\n <Typography variant=\"body1\" className={styles.subText}>\n {subText}\n </Typography>\n )}\n </div>\n )\n}\n\nexport default ColoredBulletListItem\n"],"mappings":";;;;AASA,SAAS,EAAsB,GAAmC;CAChE,IAAM,EAAE,gBAAa,aAAU,eAAY;AAE3C,QACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,OAAD;IACE,WAAW,EAAO;IAClB,OAAO;KAAE,aAAa;KAAa,iBAAiB;KAAa;IACjE,CAAA;GACF,kBAAC,GAAD;IAAY,SAAQ;IAAY,WAAW,EAAO;cAC/C;IACU,CAAA;GACZ,KACC,kBAAC,GAAD;IAAY,SAAQ;IAAQ,WAAW,EAAO;cAC3C;IACU,CAAA;GAEX"}
1
+ {"version":3,"file":"ColoredBulletListItem.js","names":[],"sources":["../../../src/components/ColoredBulletListItem/ColoredBulletListItem.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport styles from './ColoredBulletListItem.module.scss'\n\nexport type ColoredBulletListItemProps = {\n bulletColor: string\n mainText: string\n subText?: string\n}\n\nfunction ColoredBulletListItem(props: ColoredBulletListItemProps) {\n const { bulletColor, mainText, subText } = props\n\n return (\n <div className={styles.container}>\n <div\n className={styles.bullet}\n style={{ borderColor: bulletColor, backgroundColor: bulletColor }}\n />\n <Typography variant=\"headline1\" className={styles.mainText}>\n {mainText}\n </Typography>\n {subText && (\n <Typography variant=\"body1\" className={styles.subText}>\n {subText}\n </Typography>\n )}\n </div>\n )\n}\n\nexport default ColoredBulletListItem\n"],"mappings":";;;;AASA,SAAS,EAAsB,GAAmC;CAChE,IAAM,EAAE,gBAAa,aAAU,eAAY;CAE3C,OACE,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB;GACE,kBAAC,OAAD;IACE,WAAW,EAAO;IAClB,OAAO;KAAE,aAAa;KAAa,iBAAiB;IAAY;GACjE,CAAA;GACD,kBAAC,GAAD;IAAY,SAAQ;IAAY,WAAW,EAAO;cAC/C;GACS,CAAA;GACX,KACC,kBAAC,GAAD;IAAY,SAAQ;IAAQ,WAAW,EAAO;cAC3C;GACS,CAAA;EAEX;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnFilter.js","names":[],"sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingSelectedFacet,\n} from '@/utils/functions/queryUtils'\nimport { Autocomplete, TextField } from '@mui/material'\nimport {\n FacetColumnResultValues,\n FacetColumnValuesRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { SyntheticEvent } from 'react'\nimport { useQueryContext } from '../QueryContext/QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nexport type FilterProps = {\n topLevelEnumeratedFacetToFilter: UniqueFacetIdentifier\n}\n\nfunction ColumnFilter(props: FilterProps) {\n const queryContext = useQueryContext()\n const {\n getCurrentQueryRequest,\n addValueToSelectedFacet,\n removeSelectedFacet,\n } = queryContext\n const { data: queryMetadata } = useGetQueryMetadata()\n const { topLevelEnumeratedFacetToFilter } = props\n\n const currentQuery = getCurrentQueryRequest()\n\n const activeFacet = (queryMetadata?.facets ?? []).find(facet =>\n facetObjectMatchesDefinition(facet, topLevelEnumeratedFacetToFilter),\n ) as FacetColumnResultValues | undefined\n\n // Map the facet values to format for MUI Autocomplete options\n const filterOptions = activeFacet?.facetValues.map(({ value }) => value) ?? []\n\n const selectedFacetFromQuery = getCorrespondingSelectedFacet(\n topLevelEnumeratedFacetToFilter,\n currentQuery.query.selectedFacets,\n ) as FacetColumnValuesRequest | undefined\n\n const selectedValues = selectedFacetFromQuery?.facetValues || []\n\n const onChange = (\n event: SyntheticEvent,\n values: string[], // New value for the selected options\n ) => {\n removeSelectedFacet(topLevelEnumeratedFacetToFilter)\n\n values.forEach(value =>\n addValueToSelectedFacet(topLevelEnumeratedFacetToFilter, value),\n )\n }\n\n return (\n <div>\n {filterOptions.length > 0 && (\n <Autocomplete\n multiple\n options={filterOptions}\n value={selectedValues}\n onChange={onChange}\n renderInput={params => (\n <TextField {...params} placeholder=\"Select Filter(s)\" />\n )}\n />\n )}\n </div>\n )\n}\n\nexport default ColumnFilter\n"],"mappings":";;;;;;AAkBA,SAAS,EAAa,GAAoB;CAExC,IAAM,EACJ,2BACA,4BACA,2BAJmB,GAKjB,EACE,EAAE,MAAM,MAAkB,GAAqB,EAC/C,EAAE,uCAAoC,GAEtC,IAAe,GAAwB,EAOvC,KALe,GAAe,UAAU,EAAE,EAAE,MAAK,MACrD,EAA6B,GAAO,EAAgC,CAIhD,EAAa,YAAY,KAAK,EAAE,eAAY,EAAM,IAAI,EAAE,EAOxE,IALyB,EAC7B,GACA,EAAa,MAAM,eAGE,EAAwB,eAAe,EAAE;AAahE,QACE,kBAAC,OAAD,EAAA,UACG,EAAc,SAAS,KACtB,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,OAAO;EACG,WAjBhB,GACA,MACG;AAGH,GAFA,EAAoB,EAAgC,EAEpD,EAAO,SAAQ,MACb,EAAwB,GAAiC,EAAM,CAChE;;EAWK,cAAa,MACX,kBAAC,GAAD;GAAW,GAAI;GAAQ,aAAY;GAAqB,CAAA;EAE1D,CAAA,EAEA,CAAA"}
1
+ {"version":3,"file":"ColumnFilter.js","names":[],"sources":["../../../src/components/ColumnFilter/ColumnFilter.tsx"],"sourcesContent":["import { UniqueFacetIdentifier } from '@/utils'\nimport {\n facetObjectMatchesDefinition,\n getCorrespondingSelectedFacet,\n} from '@/utils/functions/queryUtils'\nimport { Autocomplete, TextField } from '@mui/material'\nimport {\n FacetColumnResultValues,\n FacetColumnValuesRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { SyntheticEvent } from 'react'\nimport { useQueryContext } from '../QueryContext/QueryContext'\nimport { useGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nexport type FilterProps = {\n topLevelEnumeratedFacetToFilter: UniqueFacetIdentifier\n}\n\nfunction ColumnFilter(props: FilterProps) {\n const queryContext = useQueryContext()\n const {\n getCurrentQueryRequest,\n addValueToSelectedFacet,\n removeSelectedFacet,\n } = queryContext\n const { data: queryMetadata } = useGetQueryMetadata()\n const { topLevelEnumeratedFacetToFilter } = props\n\n const currentQuery = getCurrentQueryRequest()\n\n const activeFacet = (queryMetadata?.facets ?? []).find(facet =>\n facetObjectMatchesDefinition(facet, topLevelEnumeratedFacetToFilter),\n ) as FacetColumnResultValues | undefined\n\n // Map the facet values to format for MUI Autocomplete options\n const filterOptions = activeFacet?.facetValues.map(({ value }) => value) ?? []\n\n const selectedFacetFromQuery = getCorrespondingSelectedFacet(\n topLevelEnumeratedFacetToFilter,\n currentQuery.query.selectedFacets,\n ) as FacetColumnValuesRequest | undefined\n\n const selectedValues = selectedFacetFromQuery?.facetValues || []\n\n const onChange = (\n event: SyntheticEvent,\n values: string[], // New value for the selected options\n ) => {\n removeSelectedFacet(topLevelEnumeratedFacetToFilter)\n\n values.forEach(value =>\n addValueToSelectedFacet(topLevelEnumeratedFacetToFilter, value),\n )\n }\n\n return (\n <div>\n {filterOptions.length > 0 && (\n <Autocomplete\n multiple\n options={filterOptions}\n value={selectedValues}\n onChange={onChange}\n renderInput={params => (\n <TextField {...params} placeholder=\"Select Filter(s)\" />\n )}\n />\n )}\n </div>\n )\n}\n\nexport default ColumnFilter\n"],"mappings":";;;;;;AAkBA,SAAS,EAAa,GAAoB;CAExC,IAAM,EACJ,2BACA,4BACA,2BAJmB,EAKjB,GACE,EAAE,MAAM,MAAkB,EAAoB,GAC9C,EAAE,uCAAoC,GAEtC,IAAe,EAAuB,GAOtC,KALe,GAAe,UAAU,CAAC,GAAG,MAAK,MACrD,EAA6B,GAAO,CAA+B,CAI/C,GAAa,YAAY,KAAK,EAAE,eAAY,CAAK,KAAK,CAAC,GAOvE,IALyB,EAC7B,GACA,EAAa,MAAM,cAGE,GAAwB,eAAe,CAAC;CAa/D,OACE,kBAAC,OAAD,EAAA,UACG,EAAc,SAAS,KACtB,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,OAAO;EACG,WAjBhB,GACA,MACG;GAGH,AAFA,EAAoB,CAA+B,GAEnD,EAAO,SAAQ,MACb,EAAwB,GAAiC,CAAK,CAChE;EACF;EAUQ,cAAa,MACX,kBAAC,GAAD;GAAW,GAAI;GAAQ,aAAY;EAAoB,CAAA;CAE1D,CAAA,EAEA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCollapse.js","names":[],"sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n KeyboardArrowDownTwoTone,\n KeyboardArrowUpTwoTone,\n} from '@mui/icons-material'\nimport { Box, Collapse, SxProps } from '@mui/material'\nimport {\n KeyboardEvent,\n PropsWithChildren,\n ReactNode,\n useId,\n useState,\n} from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n component: ReactNode\n defaultVisible?: boolean // default to false (collapsed)\n componentContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a custom component as the trigger\n */\nexport default function ComponentCollapse({\n component,\n defaultVisible,\n componentContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const collapseId = useId()\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const componentContainerDefaultSx: SxProps = {\n display: 'flex',\n textAlign: 'left',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n component=\"button\"\n sx={spreadSx(componentContainerDefaultSx, componentContainerSx)}\n onClick={() => setShow(!show)}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setShow(!show)\n }\n }}\n aria-controls={collapseId}\n aria-expanded={show}\n >\n {component}\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id={collapseId}>{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"mappings":";;;;;;AAyBA,SAAwB,EAAkB,EACxC,cACA,mBACA,yBACA,kBACA,WACA,eACyB;CACzB,IAAM,CAAC,GAAM,KAAW,EAAS,EAAe,EAC1C,IAAa,GAAO,EACpB,IAAqB;EACzB,OAAO;EACP,cAAc;EACd,QAAQ;EACR,GAAG;EACJ;AAiBD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI,EAAS;IAlBjB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,WAAW,EACT,QAAQ,WACT;IAWgB,EAA6B,EAAqB;GAC/D,eAAe,EAAQ,CAAC,EAAK;GAC7B,YAAY,MAAqB;AAC/B,KAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,gBAAgB,EAClB,EAAQ,CAAC,EAAK;;GAGlB,iBAAe;GACf,iBAAe;aAXjB,CAaG,GAEC,EADD,IACE,IAEA,GAFD,EAAwB,IAAI,GAAa,CAEE,CAEzC;MACN,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,GAAD;IAAK,IAAI,EAAS;KA3BtB,iBAAiB;KACjB,SAAS;KA0Ba,EAAsB,EAAc;cACpD,kBAAC,OAAD;KAAK,IAAI;KAAa;KAAe,CAAA;IACjC,CAAA;GACG,CAAA,CACP"}
1
+ {"version":3,"file":"ComponentCollapse.js","names":[],"sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n KeyboardArrowDownTwoTone,\n KeyboardArrowUpTwoTone,\n} from '@mui/icons-material'\nimport { Box, Collapse, SxProps } from '@mui/material'\nimport {\n KeyboardEvent,\n PropsWithChildren,\n ReactNode,\n useId,\n useState,\n} from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n component: ReactNode\n defaultVisible?: boolean // default to false (collapsed)\n componentContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a custom component as the trigger\n */\nexport default function ComponentCollapse({\n component,\n defaultVisible,\n componentContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const collapseId = useId()\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const componentContainerDefaultSx: SxProps = {\n display: 'flex',\n textAlign: 'left',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n component=\"button\"\n sx={spreadSx(componentContainerDefaultSx, componentContainerSx)}\n onClick={() => setShow(!show)}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setShow(!show)\n }\n }}\n aria-controls={collapseId}\n aria-expanded={show}\n >\n {component}\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id={collapseId}>{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"mappings":";;;;;;AAyBA,SAAwB,EAAkB,EACxC,cACA,mBACA,yBACA,kBACA,WACA,eACyB;CACzB,IAAM,CAAC,GAAM,KAAW,EAAS,CAAc,GACzC,IAAa,EAAM,GACnB,IAAqB;EACzB,OAAO;EACP,cAAc;EACd,QAAQ;EACR,GAAG;CACL;CAiBA,OACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,GAAD;GACE,WAAU;GACV,IAAI,EAAS;IAlBjB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,WAAW,EACT,QAAQ,UACV;GAWiB,GAA6B,CAAoB;GAC9D,eAAe,EAAQ,CAAC,CAAI;GAC5B,YAAY,MAAqB;IAC/B,CAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,SACjC,EAAE,eAAe,GACjB,EAAQ,CAAC,CAAI;GAEjB;GACA,iBAAe;GACf,iBAAe;aAXjB,CAaG,GAEC,EADD,IACE,IAEA,GAFD,EAAwB,IAAI,EAAY,CAEE,CAEzC;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,GAAD;IAAK,IAAI,EAAS;KA3BtB,iBAAiB;KACjB,SAAS;IA0Ba,GAAsB,CAAa;cACnD,kBAAC,OAAD;KAAK,IAAI;KAAa;IAAc,CAAA;GACjC,CAAA;EACG,CAAA,CACP;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationDialog.js","names":[],"sources":["../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["import React from 'react'\nimport { Button, ButtonProps } from '@mui/material'\nimport { MouseEventHandler } from 'react'\nimport { DialogBase, DialogBaseProps } from '../DialogBase'\nimport { defaults } from 'lodash-es'\n\nexport type ConfirmationButtonsProps = {\n onConfirm: MouseEventHandler<HTMLButtonElement>\n onCancel: DialogBaseProps['onCancel']\n confirmButtonProps?: Omit<ButtonProps, 'onClick'>\n cancelButtonProps?: Omit<ButtonProps, 'onClick'>\n hasCancelButton?: boolean\n}\n\nexport const CANCEL_BUTTON_TEXT = 'Cancel'\n\nconst DEFAULT_CONFIRM_BUTTON_PROPS: Omit<ButtonProps, 'onClick'> = {\n children: 'OK',\n color: 'primary',\n variant: 'contained',\n}\n\nconst DEFAULT_CANCEL_BUTTON_PROPS: Omit<ButtonProps, 'onClick'> = {\n children: CANCEL_BUTTON_TEXT,\n variant: 'outlined',\n}\n\nexport const ConfirmationButtons = (\n props: ConfirmationButtonsProps,\n): React.ReactNode => {\n const { onConfirm, onCancel, hasCancelButton = true } = props\n\n const confirmButtonProps: Omit<ButtonProps, 'onClick'> = defaults(\n {},\n props.confirmButtonProps,\n DEFAULT_CONFIRM_BUTTON_PROPS,\n )\n\n const cancelButtonProps: Omit<ButtonProps, 'onClick'> = defaults(\n {},\n props.cancelButtonProps,\n DEFAULT_CANCEL_BUTTON_PROPS,\n )\n\n return (\n <>\n {hasCancelButton && <Button {...cancelButtonProps} onClick={onCancel} />}\n <Button {...confirmButtonProps} onClick={onConfirm} />\n </>\n )\n}\n\nexport type ConfirmationDialogProps = DialogBaseProps & ConfirmationButtonsProps\n\n/**\n * A confirmation dialog built using MUI components.\n */\nexport function ConfirmationDialog(props: ConfirmationDialogProps) {\n const {\n onConfirm,\n onCancel,\n hasCancelButton,\n confirmButtonProps,\n cancelButtonProps,\n ...rest\n } = props\n return (\n <DialogBase\n onCancel={onCancel}\n actions={\n <ConfirmationButtons\n confirmButtonProps={confirmButtonProps}\n cancelButtonProps={cancelButtonProps}\n onConfirm={onConfirm}\n onCancel={onCancel}\n hasCancelButton={hasCancelButton}\n />\n }\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;AAcA,IAAa,IAAqB,UAE5B,IAA6D;CACjE,UAAU;CACV,OAAO;CACP,SAAS;CACV,EAEK,IAA4D;CAChE,UAAU;CACV,SAAS;CACV,EAEY,KACX,MACoB;CACpB,IAAM,EAAE,cAAW,aAAU,qBAAkB,OAAS,GAElD,IAAmD,EACvD,EAAE,EACF,EAAM,oBACN,EACD,EAEK,IAAkD,EACtD,EAAE,EACF,EAAM,mBACN,EACD;AAED,QACE,kBAAA,GAAA,EAAA,UAAA,CACG,KAAmB,kBAAC,GAAD;EAAQ,GAAI;EAAmB,SAAS;EAAY,CAAA,EACxE,kBAAC,GAAD;EAAQ,GAAI;EAAoB,SAAS;EAAa,CAAA,CACrD,EAAA,CAAA;;AASP,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EACJ,cACA,aACA,oBACA,uBACA,sBACA,GAAG,MACD;AACJ,QACE,kBAAC,GAAD;EACY;EACV,SACE,kBAAC,GAAD;GACsB;GACD;GACR;GACD;GACO;GACjB,CAAA;EAEJ,GAAI;EACJ,CAAA"}
1
+ {"version":3,"file":"ConfirmationDialog.js","names":[],"sources":["../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["import React from 'react'\nimport { Button, ButtonProps } from '@mui/material'\nimport { MouseEventHandler } from 'react'\nimport { DialogBase, DialogBaseProps } from '../DialogBase'\nimport { defaults } from 'lodash-es'\n\nexport type ConfirmationButtonsProps = {\n onConfirm: MouseEventHandler<HTMLButtonElement>\n onCancel: DialogBaseProps['onCancel']\n confirmButtonProps?: Omit<ButtonProps, 'onClick'>\n cancelButtonProps?: Omit<ButtonProps, 'onClick'>\n hasCancelButton?: boolean\n}\n\nexport const CANCEL_BUTTON_TEXT = 'Cancel'\n\nconst DEFAULT_CONFIRM_BUTTON_PROPS: Omit<ButtonProps, 'onClick'> = {\n children: 'OK',\n color: 'primary',\n variant: 'contained',\n}\n\nconst DEFAULT_CANCEL_BUTTON_PROPS: Omit<ButtonProps, 'onClick'> = {\n children: CANCEL_BUTTON_TEXT,\n variant: 'outlined',\n}\n\nexport const ConfirmationButtons = (\n props: ConfirmationButtonsProps,\n): React.ReactNode => {\n const { onConfirm, onCancel, hasCancelButton = true } = props\n\n const confirmButtonProps: Omit<ButtonProps, 'onClick'> = defaults(\n {},\n props.confirmButtonProps,\n DEFAULT_CONFIRM_BUTTON_PROPS,\n )\n\n const cancelButtonProps: Omit<ButtonProps, 'onClick'> = defaults(\n {},\n props.cancelButtonProps,\n DEFAULT_CANCEL_BUTTON_PROPS,\n )\n\n return (\n <>\n {hasCancelButton && <Button {...cancelButtonProps} onClick={onCancel} />}\n <Button {...confirmButtonProps} onClick={onConfirm} />\n </>\n )\n}\n\nexport type ConfirmationDialogProps = DialogBaseProps & ConfirmationButtonsProps\n\n/**\n * A confirmation dialog built using MUI components.\n */\nexport function ConfirmationDialog(props: ConfirmationDialogProps) {\n const {\n onConfirm,\n onCancel,\n hasCancelButton,\n confirmButtonProps,\n cancelButtonProps,\n ...rest\n } = props\n return (\n <DialogBase\n onCancel={onCancel}\n actions={\n <ConfirmationButtons\n confirmButtonProps={confirmButtonProps}\n cancelButtonProps={cancelButtonProps}\n onConfirm={onConfirm}\n onCancel={onCancel}\n hasCancelButton={hasCancelButton}\n />\n }\n {...rest}\n />\n )\n}\n"],"mappings":";;;;;;AAcA,IAAa,IAAqB,UAE5B,IAA6D;CACjE,UAAU;CACV,OAAO;CACP,SAAS;AACX,GAEM,IAA4D;CAChE,UAAU;CACV,SAAS;AACX,GAEa,KACX,MACoB;CACpB,IAAM,EAAE,cAAW,aAAU,qBAAkB,OAAS,GAElD,IAAmD,EACvD,CAAC,GACD,EAAM,oBACN,CACF,GAEM,IAAkD,EACtD,CAAC,GACD,EAAM,mBACN,CACF;CAEA,OACE,kBAAA,GAAA,EAAA,UAAA,CACG,KAAmB,kBAAC,GAAD;EAAQ,GAAI;EAAmB,SAAS;CAAW,CAAA,GACvE,kBAAC,GAAD;EAAQ,GAAI;EAAoB,SAAS;CAAY,CAAA,CACrD,EAAA,CAAA;AAEN;AAOA,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EACJ,cACA,aACA,oBACA,uBACA,sBACA,GAAG,MACD;CACJ,OACE,kBAAC,GAAD;EACY;EACV,SACE,kBAAC,GAAD;GACsB;GACD;GACR;GACD;GACO;EAClB,CAAA;EAEH,GAAI;CACL,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"CookiePreferencesDialog.js","names":[],"sources":["../../../src/components/CookiesNotification/CookiePreferencesDialog.tsx"],"sourcesContent":["import {\n CookiePreference,\n useCookiePreferences,\n} from '@/utils/hooks/useCookiePreferences'\nimport { PRIVACY_POLICY_LINK } from '@/utils/SynapseConstants'\nimport {\n Box,\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n Link,\n Typography,\n} from '@mui/material'\nimport { useState } from 'react'\nimport { DialogBaseTitle } from '../DialogBase'\n\nexport type CookiePreferencesDialogProps = {\n isOpen: boolean\n /* Called when the user saves settings */\n onSave: (prefs: CookiePreference) => void\n onHide: () => void\n}\n\ntype CookiePreferenceItemProps = {\n title: string\n description: string\n} & (\n | {\n constantValue?: string\n }\n | {\n checked: boolean\n onChange: (newValue: boolean) => void\n }\n)\n\nfunction CookiePreferenceItem(props: CookiePreferenceItemProps) {\n const { title, description } = props\n const isCheckbox = 'onChange' in props\n const cursor = isCheckbox ? 'pointer' : undefined\n return (\n <Box\n onClick={() => (isCheckbox ? props.onChange(!props.checked) : undefined)}\n sx={{ cursor }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '17px',\n alignItems: 'center',\n }}\n >\n <Typography\n variant={'body1'}\n sx={{ fontWeight: 400, color: 'grey.900' }}\n >\n {title}\n </Typography>\n {'constantValue' in props && (\n <Typography\n variant={'body1'}\n sx={{ fontWeight: 700, marginBottom: '15px' }}\n >\n {props.constantValue}\n </Typography>\n )}\n {isCheckbox && (\n <Checkbox\n // We handle toggling the value in the parent div onClick handler.\n checked={props.checked}\n />\n )}\n </Box>\n <Typography variant={'body1'} sx={{ fontWeight: 400, color: 'grey.700' }}>\n {description}\n </Typography>\n </Box>\n )\n}\n\nexport default function CookiePreferencesDialog(\n props: CookiePreferencesDialogProps,\n) {\n const [cookiePreferences, setCookiePreferences] = useCookiePreferences()\n const { onSave, onHide, isOpen } = props\n const [isFunctionalCookiesAllowed, setIsFunctionalCookiesAllowed] =\n useState<boolean>(cookiePreferences.functionalAllowed)\n const [isAnalyticsCookiesAllowed, setIsAnalyticsCookiesAllowed] =\n useState<boolean>(cookiePreferences.analyticsAllowed)\n\n return (\n <Dialog maxWidth=\"md\" open={isOpen} onClose={onHide} sx={{ zIndex: 1500 }}>\n <DialogBaseTitle title=\"Privacy Preferences\" onCancel={onHide} />\n <DialogContent sx={{ paddingRight: '20px' }}>\n <Typography variant={'body1'}>\n Sage Bionetworks uses cookies and other browser storage methods to\n save information about how you use our websites, and to make our\n websites work the way you expect them to.\n </Typography>\n <Typography variant={'body1'} sx={{ marginBottom: '30px' }}>\n Read our <Link href={PRIVACY_POLICY_LINK}>privacy policy</Link>.\n </Typography>\n <CookiePreferenceItem\n title=\"Strictly necessary cookies\"\n description=\"Information about your authentication, and other critical data. For example, after you log in successfully, we save a token in your browser that tells our website what level of access you are allowed to have. You can’t turn off these cookies, because the site wouldn’t function without them.\"\n constantValue=\"Always Active\"\n />\n <CookiePreferenceItem\n title=\"Functional cookies\"\n description=\"This includes important customization preferences, for example, your local time, and whether you are using experimental features. You can turn off this setting, however it may impact your experience of using our websites.\"\n checked={isFunctionalCookiesAllowed}\n onChange={setIsFunctionalCookiesAllowed}\n />\n <CookiePreferenceItem\n title=\"Analytics cookie\"\n description=\"If you allow us to, we store information about how you use our websites. This helps us identify problems and improve our products. While we do not attempt to track you, it may be possible to identify individual users. Deactivating this setting will not affect your experience of using our websites.\"\n checked={isAnalyticsCookiesAllowed}\n onChange={setIsAnalyticsCookiesAllowed}\n />\n <CookiePreferenceItem\n title=\"Targeting and marketing cookies\"\n description=\"We do not store or exchange user or session information for targeting or marketing purposes.\"\n constantValue=\"Never\"\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => {\n const prefs: CookiePreference = {\n functionalAllowed: isFunctionalCookiesAllowed,\n analyticsAllowed: isAnalyticsCookiesAllowed,\n }\n setCookiePreferences(prefs)\n onSave(prefs)\n }}\n >\n Save\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n"],"mappings":";;;;;;;AAsCA,SAAS,EAAqB,GAAkC;CAC9D,IAAM,EAAE,UAAO,mBAAgB,GACzB,IAAa,cAAc;AAEjC,QACE,kBAAC,GAAD;EACE,eAAgB,IAAa,EAAM,SAAS,CAAC,EAAM,QAAQ,GAAG,KAAA;EAC9D,IAAI,EAAE,QAJK,IAAa,YAAY,KAAA,GAItB;YAFhB,CAIE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,YAAY;IACb;aANH;IAQE,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MAAE,YAAY;MAAK,OAAO;MAAY;eAEzC;KACU,CAAA;IACZ,mBAAmB,KAClB,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MAAE,YAAY;MAAK,cAAc;MAAQ;eAE5C,EAAM;KACI,CAAA;IAEd,KACC,kBAAC,GAAD,EAEE,SAAS,EAAM,SACf,CAAA;IAEA;MACN,kBAAC,GAAD;GAAY,SAAS;GAAS,IAAI;IAAE,YAAY;IAAK,OAAO;IAAY;aACrE;GACU,CAAA,CACT;;;AAIV,SAAwB,EACtB,GACA;CACA,IAAM,CAAC,GAAmB,KAAwB,GAAsB,EAClE,EAAE,WAAQ,WAAQ,cAAW,GAC7B,CAAC,GAA4B,KACjC,EAAkB,EAAkB,kBAAkB,EAClD,CAAC,GAA2B,KAChC,EAAkB,EAAkB,iBAAiB;AAEvD,QACE,kBAAC,GAAD;EAAQ,UAAS;EAAK,MAAM;EAAQ,SAAS;EAAQ,IAAI,EAAE,QAAQ,MAAM;YAAzE;GACE,kBAAC,GAAD;IAAiB,OAAM;IAAsB,UAAU;IAAU,CAAA;GACjE,kBAAC,GAAD;IAAe,IAAI,EAAE,cAAc,QAAQ;cAA3C;KACE,kBAAC,GAAD;MAAY,SAAS;gBAAS;MAIjB,CAAA;KACb,kBAAC,GAAD;MAAY,SAAS;MAAS,IAAI,EAAE,cAAc,QAAQ;gBAA1D;OAA4D;OACjD,kBAAC,GAAD;QAAM,MAAM;kBAAqB;QAAqB,CAAA;;OACpD;;KACb,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,eAAc;MACd,CAAA;KACF,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAS;MACT,UAAU;MACV,CAAA;KACF,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAS;MACT,UAAU;MACV,CAAA;KACF,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,eAAc;MACd,CAAA;KACY;;GAChB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IACE,SAAQ;IACR,eAAe;KACb,IAAM,IAA0B;MAC9B,mBAAmB;MACnB,kBAAkB;MACnB;AAED,KADA,EAAqB,EAAM,EAC3B,EAAO,EAAM;;cAEhB;IAEQ,CAAA,EACK,CAAA;GACT"}
1
+ {"version":3,"file":"CookiePreferencesDialog.js","names":[],"sources":["../../../src/components/CookiesNotification/CookiePreferencesDialog.tsx"],"sourcesContent":["import {\n CookiePreference,\n useCookiePreferences,\n} from '@/utils/hooks/useCookiePreferences'\nimport { PRIVACY_POLICY_LINK } from '@/utils/SynapseConstants'\nimport {\n Box,\n Button,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n Link,\n Typography,\n} from '@mui/material'\nimport { useState } from 'react'\nimport { DialogBaseTitle } from '../DialogBase'\n\nexport type CookiePreferencesDialogProps = {\n isOpen: boolean\n /* Called when the user saves settings */\n onSave: (prefs: CookiePreference) => void\n onHide: () => void\n}\n\ntype CookiePreferenceItemProps = {\n title: string\n description: string\n} & (\n | {\n constantValue?: string\n }\n | {\n checked: boolean\n onChange: (newValue: boolean) => void\n }\n)\n\nfunction CookiePreferenceItem(props: CookiePreferenceItemProps) {\n const { title, description } = props\n const isCheckbox = 'onChange' in props\n const cursor = isCheckbox ? 'pointer' : undefined\n return (\n <Box\n onClick={() => (isCheckbox ? props.onChange(!props.checked) : undefined)}\n sx={{ cursor }}\n >\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '17px',\n alignItems: 'center',\n }}\n >\n <Typography\n variant={'body1'}\n sx={{ fontWeight: 400, color: 'grey.900' }}\n >\n {title}\n </Typography>\n {'constantValue' in props && (\n <Typography\n variant={'body1'}\n sx={{ fontWeight: 700, marginBottom: '15px' }}\n >\n {props.constantValue}\n </Typography>\n )}\n {isCheckbox && (\n <Checkbox\n // We handle toggling the value in the parent div onClick handler.\n checked={props.checked}\n />\n )}\n </Box>\n <Typography variant={'body1'} sx={{ fontWeight: 400, color: 'grey.700' }}>\n {description}\n </Typography>\n </Box>\n )\n}\n\nexport default function CookiePreferencesDialog(\n props: CookiePreferencesDialogProps,\n) {\n const [cookiePreferences, setCookiePreferences] = useCookiePreferences()\n const { onSave, onHide, isOpen } = props\n const [isFunctionalCookiesAllowed, setIsFunctionalCookiesAllowed] =\n useState<boolean>(cookiePreferences.functionalAllowed)\n const [isAnalyticsCookiesAllowed, setIsAnalyticsCookiesAllowed] =\n useState<boolean>(cookiePreferences.analyticsAllowed)\n\n return (\n <Dialog maxWidth=\"md\" open={isOpen} onClose={onHide} sx={{ zIndex: 1500 }}>\n <DialogBaseTitle title=\"Privacy Preferences\" onCancel={onHide} />\n <DialogContent sx={{ paddingRight: '20px' }}>\n <Typography variant={'body1'}>\n Sage Bionetworks uses cookies and other browser storage methods to\n save information about how you use our websites, and to make our\n websites work the way you expect them to.\n </Typography>\n <Typography variant={'body1'} sx={{ marginBottom: '30px' }}>\n Read our <Link href={PRIVACY_POLICY_LINK}>privacy policy</Link>.\n </Typography>\n <CookiePreferenceItem\n title=\"Strictly necessary cookies\"\n description=\"Information about your authentication, and other critical data. For example, after you log in successfully, we save a token in your browser that tells our website what level of access you are allowed to have. You can’t turn off these cookies, because the site wouldn’t function without them.\"\n constantValue=\"Always Active\"\n />\n <CookiePreferenceItem\n title=\"Functional cookies\"\n description=\"This includes important customization preferences, for example, your local time, and whether you are using experimental features. You can turn off this setting, however it may impact your experience of using our websites.\"\n checked={isFunctionalCookiesAllowed}\n onChange={setIsFunctionalCookiesAllowed}\n />\n <CookiePreferenceItem\n title=\"Analytics cookie\"\n description=\"If you allow us to, we store information about how you use our websites. This helps us identify problems and improve our products. While we do not attempt to track you, it may be possible to identify individual users. Deactivating this setting will not affect your experience of using our websites.\"\n checked={isAnalyticsCookiesAllowed}\n onChange={setIsAnalyticsCookiesAllowed}\n />\n <CookiePreferenceItem\n title=\"Targeting and marketing cookies\"\n description=\"We do not store or exchange user or session information for targeting or marketing purposes.\"\n constantValue=\"Never\"\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => {\n const prefs: CookiePreference = {\n functionalAllowed: isFunctionalCookiesAllowed,\n analyticsAllowed: isAnalyticsCookiesAllowed,\n }\n setCookiePreferences(prefs)\n onSave(prefs)\n }}\n >\n Save\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n"],"mappings":";;;;;;;AAsCA,SAAS,EAAqB,GAAkC;CAC9D,IAAM,EAAE,UAAO,mBAAgB,GACzB,IAAa,cAAc;CAEjC,OACE,kBAAC,GAAD;EACE,eAAgB,IAAa,EAAM,SAAS,CAAC,EAAM,OAAO,IAAI,KAAA;EAC9D,IAAI,EAAE,QAJK,IAAa,YAAY,KAAA,EAIvB;YAFf,CAIE,kBAAC,GAAD;GACE,IAAI;IACF,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,YAAY;GACd;aANF;IAQE,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MAAE,YAAY;MAAK,OAAO;KAAW;eAExC;IACS,CAAA;IACX,mBAAmB,KAClB,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MAAE,YAAY;MAAK,cAAc;KAAO;eAE3C,EAAM;IACG,CAAA;IAEb,KACC,kBAAC,GAAD,EAEE,SAAS,EAAM,QAChB,CAAA;GAEA;MACL,kBAAC,GAAD;GAAY,SAAS;GAAS,IAAI;IAAE,YAAY;IAAK,OAAO;GAAW;aACpE;EACS,CAAA,CACT;;AAET;AAEA,SAAwB,EACtB,GACA;CACA,IAAM,CAAC,GAAmB,KAAwB,EAAqB,GACjE,EAAE,WAAQ,WAAQ,cAAW,GAC7B,CAAC,GAA4B,KACjC,EAAkB,EAAkB,iBAAiB,GACjD,CAAC,GAA2B,KAChC,EAAkB,EAAkB,gBAAgB;CAEtD,OACE,kBAAC,GAAD;EAAQ,UAAS;EAAK,MAAM;EAAQ,SAAS;EAAQ,IAAI,EAAE,QAAQ,KAAK;YAAxE;GACE,kBAAC,GAAD;IAAiB,OAAM;IAAsB,UAAU;GAAS,CAAA;GAChE,kBAAC,GAAD;IAAe,IAAI,EAAE,cAAc,OAAO;cAA1C;KACE,kBAAC,GAAD;MAAY,SAAS;gBAAS;KAIlB,CAAA;KACZ,kBAAC,GAAD;MAAY,SAAS;MAAS,IAAI,EAAE,cAAc,OAAO;gBAAzD;OAA4D;OACjD,kBAAC,GAAD;QAAM,MAAM;kBAAqB;OAAoB,CAAA;OAAC;MACrD;;KACZ,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,eAAc;KACf,CAAA;KACD,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAS;MACT,UAAU;KACX,CAAA;KACD,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,SAAS;MACT,UAAU;KACX,CAAA;KACD,kBAAC,GAAD;MACE,OAAM;MACN,aAAY;MACZ,eAAc;KACf,CAAA;IACY;;GACf,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;IACE,SAAQ;IACR,eAAe;KACb,IAAM,IAA0B;MAC9B,mBAAmB;MACnB,kBAAkB;KACpB;KAEA,AADA,EAAqB,CAAK,GAC1B,EAAO,CAAK;IACd;cACD;GAEO,CAAA,EACK,CAAA;EACT;;AAEZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"CookiesNotification.d.ts","sourceRoot":"","sources":["../../../src/components/CookiesNotification/CookiesNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,oCAAoC,CAAA;AAM3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,WAAW;;;;;;CA4BvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAClD,CAAA;AAED,QAAA,MAAM,mBAAmB,GACvB,OAAO,uBAAuB,KAC7B,KAAK,CAAC,SAiER,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"CookiesNotification.d.ts","sourceRoot":"","sources":["../../../src/components/CookiesNotification/CookiesNotification.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,oCAAoC,CAAA;AAM3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,WAAW;;;;;;CA4BvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAClD,CAAA;AAED,QAAA,MAAM,mBAAmB,GACvB,OAAO,uBAAuB,KAC7B,KAAK,CAAC,SAqER,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -6,7 +6,7 @@ import l from "./CookiesNotification.module.js";
6
6
  import { useEffect as u, useState as d } from "react";
7
7
  import { Link as f, Typography as p } from "@mui/material";
8
8
  import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
9
- import _ from "universal-cookie";
9
+ import { useCookieValue as _ } from "@react-hookz/web/useCookieValue/index.js";
10
10
  //#region src/components/CookiesNotification/CookiesNotification.tsx
11
11
  var v = {
12
12
  title: "Our site uses cookies.",
@@ -44,11 +44,11 @@ var v = {
44
44
  secondaryButtonText: "Disable All",
45
45
  tertiaryButtonText: "Customize"
46
46
  }, y = (e) => {
47
- let { onClose: t } = e, [, n] = s(), [l, f] = d(!0);
47
+ let { onClose: t } = e, [, n] = s(), [l, f] = d(!0), [p] = _(i);
48
48
  u(() => {
49
- f(!!new _().get(i));
50
- }, []);
51
- let [p, y] = d(!1);
49
+ f(!!p);
50
+ }, [p]);
51
+ let [y, b] = d(!1);
52
52
  return l ? /* @__PURE__ */ h(m, {}) : /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(r, {
53
53
  globalAlertSx: { zIndex: 1500 },
54
54
  variant: "info",
@@ -69,17 +69,17 @@ var v = {
69
69
  tertiaryButtonConfig: {
70
70
  text: v.tertiaryButtonText,
71
71
  onClick: () => {
72
- y(!0);
72
+ b(!0);
73
73
  }
74
74
  },
75
75
  isGlobal: !0
76
76
  }), /* @__PURE__ */ h(c, {
77
- isOpen: p,
77
+ isOpen: y,
78
78
  onSave: (e) => {
79
- f(!0), y(!1), t && t(e);
79
+ f(!0), b(!1), t && t(e);
80
80
  },
81
81
  onHide: () => {
82
- y(!1);
82
+ b(!1);
83
83
  }
84
84
  })] });
85
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CookiesNotification.js","names":[],"sources":["../../../src/components/CookiesNotification/CookiesNotification.tsx"],"sourcesContent":["import {\n allowAll,\n allowNone,\n CookiePreference,\n COOKIES_AGREEMENT_COOKIE_KEY,\n useCookiePreferences,\n} from '@/utils/hooks/useCookiePreferences'\nimport {\n PRIVACY_POLICY_LINK,\n URL_TERMS_CONDITIONS_AGREEMENT,\n CHILD_MINOR_ADDENDUM_LINK,\n} from '@/utils/SynapseConstants'\nimport React from 'react'\nimport { Link, Typography } from '@mui/material'\nimport { useEffect, useState } from 'react'\nimport UniversalCookies from 'universal-cookie'\nimport FullWidthAlert from '../FullWidthAlert'\nimport CookiePreferencesDialog from './CookiePreferencesDialog'\nimport styles from './CookiesNotification.module.scss'\n\nexport const alertConfig = {\n title: 'Our site uses cookies.',\n description: (\n <>\n <Typography variant=\"body1\">\n We use necessary cookies and store your data to ensure our websites\n function properly. With your consent, we would also like to use optional\n cookies to remember your preferences and improve our websites. Please\n read our <Link href={PRIVACY_POLICY_LINK}>Privacy Policy</Link> for\n details. By clicking “Allow All,” you agree to our use of cookies. You\n can adjust your cookie preferences anytime on the Settings page.\n </Typography>\n <Typography\n variant=\"smallText1\"\n sx={{ mt: '20px' }}\n className={styles.MinorAddendum}\n >\n Please read our{' '}\n <Link href={URL_TERMS_CONDITIONS_AGREEMENT}>Terms of Service</Link>{' '}\n before using our website. If you are between 13 and 18, you must submit\n a <Link href={CHILD_MINOR_ADDENDUM_LINK}>Child Minor Addendum</Link> for\n access.\n </Typography>\n </>\n ),\n primaryButtonText: 'ALLOW ALL',\n secondaryButtonText: 'Disable All',\n tertiaryButtonText: 'Customize',\n}\n\nexport type CookieNotificationProps = {\n onClose?: (cookiePrefs: CookiePreference) => void\n}\n\nconst CookiesNotification = (\n props: CookieNotificationProps,\n): React.ReactNode => {\n const { onClose } = props\n const [, setCookiePreferences] = useCookiePreferences()\n\n const [notificationDismissed, setNotificationDismissed] = useState(true)\n useEffect(() => {\n const cookies = new UniversalCookies()\n setNotificationDismissed(!!cookies.get(COOKIES_AGREEMENT_COOKIE_KEY))\n }, [])\n\n const [isCookiePrefsDialogVisible, setIsCookiePrefsDialogVisible] =\n useState(false)\n // show banner if they haven't clicked okay, otherwise show nothing\n return notificationDismissed ? (\n <></>\n ) : (\n <>\n <FullWidthAlert\n globalAlertSx={{ zIndex: 1500 }}\n variant=\"info\"\n title={alertConfig.title}\n description={alertConfig.description}\n primaryButtonConfig={{\n text: alertConfig.primaryButtonText,\n onClick: () => {\n setCookiePreferences(allowAll)\n setNotificationDismissed(true)\n if (onClose) {\n onClose(allowAll)\n }\n },\n }}\n secondaryButtonConfig={{\n text: alertConfig.secondaryButtonText,\n onClick: () => {\n setCookiePreferences(allowNone)\n setNotificationDismissed(true)\n if (onClose) {\n onClose(allowNone)\n }\n },\n }}\n tertiaryButtonConfig={{\n text: alertConfig.tertiaryButtonText,\n onClick: () => {\n setIsCookiePrefsDialogVisible(true)\n },\n }}\n isGlobal={true}\n />\n <CookiePreferencesDialog\n isOpen={isCookiePrefsDialogVisible}\n onSave={prefs => {\n setNotificationDismissed(true)\n setIsCookiePrefsDialogVisible(false)\n if (onClose) {\n onClose(prefs)\n }\n }}\n onHide={() => {\n setIsCookiePrefsDialogVisible(false)\n }}\n />\n </>\n )\n}\n\nexport default CookiesNotification\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,IAAc;CACzB,OAAO;CACP,aACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAY,SAAQ;YAApB;GAA4B;GAIjB,kBAAC,GAAD;IAAM,MAAM;cAAqB;IAAqB,CAAA;;GAGpD;KACb,kBAAC,GAAD;EACE,SAAQ;EACR,IAAI,EAAE,IAAI,QAAQ;EAClB,WAAW,EAAO;YAHpB;GAIC;GACiB;GAChB,kBAAC,GAAD;IAAM,MAAM;cAAgC;IAAuB,CAAA;GAAC;GAAI;GAEtE,kBAAC,GAAD;IAAM,MAAM;cAA2B;IAA2B,CAAA;;GAEzD;IACZ,EAAA,CAAA;CAEL,mBAAmB;CACnB,qBAAqB;CACrB,oBAAoB;CACrB,EAMK,KACJ,MACoB;CACpB,IAAM,EAAE,eAAY,GACd,GAAG,KAAwB,GAAsB,EAEjD,CAAC,GAAuB,KAA4B,EAAS,GAAK;AACxE,SAAgB;AAEd,IAAyB,CAAC,CAAC,IADP,GACO,CAAQ,IAAI,EAA6B,CAAC;IACpE,EAAE,CAAC;CAEN,IAAM,CAAC,GAA4B,KACjC,EAAS,GAAM;AAEjB,QAAO,IACL,kBAAA,GAAA,EAAK,CAAA,GAEL,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,eAAe,EAAE,QAAQ,MAAM;EAC/B,SAAQ;EACR,OAAO,EAAY;EACnB,aAAa,EAAY;EACzB,qBAAqB;GACnB,MAAM,EAAY;GAClB,eAAe;AAGb,IAFA,EAAqB,EAAS,EAC9B,EAAyB,GAAK,EAC1B,KACF,EAAQ,EAAS;;GAGtB;EACD,uBAAuB;GACrB,MAAM,EAAY;GAClB,eAAe;AAGb,IAFA,EAAqB,EAAU,EAC/B,EAAyB,GAAK,EAC1B,KACF,EAAQ,EAAU;;GAGvB;EACD,sBAAsB;GACpB,MAAM,EAAY;GAClB,eAAe;AACb,MAA8B,GAAK;;GAEtC;EACD,UAAU;EACV,CAAA,EACF,kBAAC,GAAD;EACE,QAAQ;EACR,SAAQ,MAAS;AAGf,GAFA,EAAyB,GAAK,EAC9B,EAA8B,GAAM,EAChC,KACF,EAAQ,EAAM;;EAGlB,cAAc;AACZ,KAA8B,GAAM;;EAEtC,CAAA,CACD,EAAA,CAAA"}
1
+ {"version":3,"file":"CookiesNotification.js","names":[],"sources":["../../../src/components/CookiesNotification/CookiesNotification.tsx"],"sourcesContent":["import {\n allowAll,\n allowNone,\n CookiePreference,\n COOKIES_AGREEMENT_COOKIE_KEY,\n useCookiePreferences,\n} from '@/utils/hooks/useCookiePreferences'\nimport {\n PRIVACY_POLICY_LINK,\n URL_TERMS_CONDITIONS_AGREEMENT,\n CHILD_MINOR_ADDENDUM_LINK,\n} from '@/utils/SynapseConstants'\nimport React from 'react'\nimport { Link, Typography } from '@mui/material'\nimport { useEffect, useState } from 'react'\nimport FullWidthAlert from '../FullWidthAlert'\nimport CookiePreferencesDialog from './CookiePreferencesDialog'\nimport styles from './CookiesNotification.module.scss'\nimport { useCookieValue } from '@react-hookz/web/useCookieValue/index.js'\n\nexport const alertConfig = {\n title: 'Our site uses cookies.',\n description: (\n <>\n <Typography variant=\"body1\">\n We use necessary cookies and store your data to ensure our websites\n function properly. With your consent, we would also like to use optional\n cookies to remember your preferences and improve our websites. Please\n read our <Link href={PRIVACY_POLICY_LINK}>Privacy Policy</Link> for\n details. By clicking “Allow All,” you agree to our use of cookies. You\n can adjust your cookie preferences anytime on the Settings page.\n </Typography>\n <Typography\n variant=\"smallText1\"\n sx={{ mt: '20px' }}\n className={styles.MinorAddendum}\n >\n Please read our{' '}\n <Link href={URL_TERMS_CONDITIONS_AGREEMENT}>Terms of Service</Link>{' '}\n before using our website. If you are between 13 and 18, you must submit\n a <Link href={CHILD_MINOR_ADDENDUM_LINK}>Child Minor Addendum</Link> for\n access.\n </Typography>\n </>\n ),\n primaryButtonText: 'ALLOW ALL',\n secondaryButtonText: 'Disable All',\n tertiaryButtonText: 'Customize',\n}\n\nexport type CookieNotificationProps = {\n onClose?: (cookiePrefs: CookiePreference) => void\n}\n\nconst CookiesNotification = (\n props: CookieNotificationProps,\n): React.ReactNode => {\n const { onClose } = props\n const [, setCookiePreferences] = useCookiePreferences()\n\n const [notificationDismissed, setNotificationDismissed] = useState(true)\n\n const [notificationDismissedCookie] = useCookieValue(\n COOKIES_AGREEMENT_COOKIE_KEY,\n )\n\n useEffect(() => {\n setNotificationDismissed(!!notificationDismissedCookie)\n }, [notificationDismissedCookie])\n\n const [isCookiePrefsDialogVisible, setIsCookiePrefsDialogVisible] =\n useState(false)\n // show banner if they haven't clicked okay, otherwise show nothing\n return notificationDismissed ? (\n <></>\n ) : (\n <>\n <FullWidthAlert\n globalAlertSx={{ zIndex: 1500 }}\n variant=\"info\"\n title={alertConfig.title}\n description={alertConfig.description}\n primaryButtonConfig={{\n text: alertConfig.primaryButtonText,\n onClick: () => {\n setCookiePreferences(allowAll)\n setNotificationDismissed(true)\n if (onClose) {\n onClose(allowAll)\n }\n },\n }}\n secondaryButtonConfig={{\n text: alertConfig.secondaryButtonText,\n onClick: () => {\n setCookiePreferences(allowNone)\n setNotificationDismissed(true)\n if (onClose) {\n onClose(allowNone)\n }\n },\n }}\n tertiaryButtonConfig={{\n text: alertConfig.tertiaryButtonText,\n onClick: () => {\n setIsCookiePrefsDialogVisible(true)\n },\n }}\n isGlobal={true}\n />\n <CookiePreferencesDialog\n isOpen={isCookiePrefsDialogVisible}\n onSave={prefs => {\n setNotificationDismissed(true)\n setIsCookiePrefsDialogVisible(false)\n if (onClose) {\n onClose(prefs)\n }\n }}\n onHide={() => {\n setIsCookiePrefsDialogVisible(false)\n }}\n />\n </>\n )\n}\n\nexport default CookiesNotification\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,IAAc;CACzB,OAAO;CACP,aACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAY,SAAQ;YAApB;GAA4B;GAIjB,kBAAC,GAAD;IAAM,MAAM;cAAqB;GAAoB,CAAA;GAAC;EAGrD;KACZ,kBAAC,GAAD;EACE,SAAQ;EACR,IAAI,EAAE,IAAI,OAAO;EACjB,WAAW,EAAO;YAHpB;GAIC;GACiB;GAChB,kBAAC,GAAD;IAAM,MAAM;cAAgC;GAAsB,CAAA;GAAE;GAAI;GAEtE,kBAAC,GAAD;IAAM,MAAM;cAA2B;GAA0B,CAAA;GAAC;EAE1D;GACZ,EAAA,CAAA;CAEJ,mBAAmB;CACnB,qBAAqB;CACrB,oBAAoB;AACtB,GAMM,KACJ,MACoB;CACpB,IAAM,EAAE,eAAY,GACd,GAAG,KAAwB,EAAqB,GAEhD,CAAC,GAAuB,KAA4B,EAAS,EAAI,GAEjE,CAAC,KAA+B,EACpC,CACF;CAEA,QAAgB;EACd,EAAyB,CAAC,CAAC,CAA2B;CACxD,GAAG,CAAC,CAA2B,CAAC;CAEhC,IAAM,CAAC,GAA4B,KACjC,EAAS,EAAK;CAEhB,OAAO,IACL,kBAAA,GAAA,CAAI,CAAA,IAEJ,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,eAAe,EAAE,QAAQ,KAAK;EAC9B,SAAQ;EACR,OAAO,EAAY;EACnB,aAAa,EAAY;EACzB,qBAAqB;GACnB,MAAM,EAAY;GAClB,eAAe;IAGb,AAFA,EAAqB,CAAQ,GAC7B,EAAyB,EAAI,GACzB,KACF,EAAQ,CAAQ;GAEpB;EACF;EACA,uBAAuB;GACrB,MAAM,EAAY;GAClB,eAAe;IAGb,AAFA,EAAqB,CAAS,GAC9B,EAAyB,EAAI,GACzB,KACF,EAAQ,CAAS;GAErB;EACF;EACA,sBAAsB;GACpB,MAAM,EAAY;GAClB,eAAe;IACb,EAA8B,EAAI;GACpC;EACF;EACA,UAAU;CACX,CAAA,GACD,kBAAC,GAAD;EACE,QAAQ;EACR,SAAQ,MAAS;GAGf,AAFA,EAAyB,EAAI,GAC7B,EAA8B,EAAK,GAC/B,KACF,EAAQ,CAAK;EAEjB;EACA,cAAc;GACZ,EAA8B,EAAK;EACrC;CACD,CAAA,CACD,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardIcon.js","names":[],"sources":["../../src/components/CopyToClipboardIcon.tsx"],"sourcesContent":["import { copyStringToClipboard } from '@/utils/functions/StringUtils'\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material'\nimport { createRef, RefObject, SyntheticEvent } from 'react'\nimport IconSvg from './IconSvg'\nimport { displayToast } from './ToastMessage/ToastMessage'\n\nexport type CopyToClipboardIconProps = IconButtonProps & {\n value: string\n sizePx?: number\n}\n\nexport function CopyToClipboardIcon({\n value,\n sizePx = 16,\n ...props\n}: CopyToClipboardIconProps) {\n const ref = createRef<HTMLButtonElement>()\n\n const copyToClipboard =\n (ref: RefObject<HTMLElement | null>, value: string) =>\n (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n displayToast('Successfully copied to clipboard', 'success')\n })\n }\n\n return (\n <Tooltip title={'Copy to Clipboard'}>\n <IconButton\n ref={ref}\n {...props}\n onClick={copyToClipboard(ref, value)}\n aria-label=\"Copy to clipboard\"\n >\n <IconSvg\n icon=\"contentCopy\"\n wrap={false}\n fontSize={'inherit'}\n sx={\n sizePx ? { width: `${sizePx}px`, height: `${sizePx}px` } : undefined\n }\n />\n </IconButton>\n </Tooltip>\n )\n}\n\nexport default CopyToClipboardIcon\n"],"mappings":";;;;;;;AAWA,SAAgB,EAAoB,EAClC,UACA,YAAS,IACT,GAAG,KACwB;CAC3B,IAAM,IAAM,GAA8B,EAEpC,KACH,GAAoC,OACpC,MAA0B;AAGzB,EAFA,EAAM,gBAAgB,EAEtB,EAAsB,EAAM,CAAC,WAAW;AACtC,KAAa,oCAAoC,UAAU;IAC3D;;AAGN,QACE,kBAAC,GAAD;EAAS,OAAO;YACd,kBAAC,GAAD;GACO;GACL,GAAI;GACJ,SAAS,EAAgB,GAAK,EAAM;GACpC,cAAW;aAEX,kBAAC,GAAD;IACE,MAAK;IACL,MAAM;IACN,UAAU;IACV,IACE,IAAS;KAAE,OAAO,GAAG,EAAO;KAAK,QAAQ,GAAG,EAAO;KAAK,GAAG,KAAA;IAE7D,CAAA;GACS,CAAA;EACL,CAAA"}
1
+ {"version":3,"file":"CopyToClipboardIcon.js","names":[],"sources":["../../src/components/CopyToClipboardIcon.tsx"],"sourcesContent":["import { copyStringToClipboard } from '@/utils/functions/StringUtils'\nimport { IconButton, IconButtonProps, Tooltip } from '@mui/material'\nimport { createRef, RefObject, SyntheticEvent } from 'react'\nimport IconSvg from './IconSvg'\nimport { displayToast } from './ToastMessage/ToastMessage'\n\nexport type CopyToClipboardIconProps = IconButtonProps & {\n value: string\n sizePx?: number\n}\n\nexport function CopyToClipboardIcon({\n value,\n sizePx = 16,\n ...props\n}: CopyToClipboardIconProps) {\n const ref = createRef<HTMLButtonElement>()\n\n const copyToClipboard =\n (ref: RefObject<HTMLElement | null>, value: string) =>\n (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n displayToast('Successfully copied to clipboard', 'success')\n })\n }\n\n return (\n <Tooltip title={'Copy to Clipboard'}>\n <IconButton\n ref={ref}\n {...props}\n onClick={copyToClipboard(ref, value)}\n aria-label=\"Copy to clipboard\"\n >\n <IconSvg\n icon=\"contentCopy\"\n wrap={false}\n fontSize={'inherit'}\n sx={\n sizePx ? { width: `${sizePx}px`, height: `${sizePx}px` } : undefined\n }\n />\n </IconButton>\n </Tooltip>\n )\n}\n\nexport default CopyToClipboardIcon\n"],"mappings":";;;;;;;AAWA,SAAgB,EAAoB,EAClC,UACA,YAAS,IACT,GAAG,KACwB;CAC3B,IAAM,IAAM,EAA6B,GAEnC,KACH,GAAoC,OACpC,MAA0B;EAGzB,AAFA,EAAM,eAAe,GAErB,EAAsB,CAAK,EAAE,WAAW;GACtC,EAAa,oCAAoC,SAAS;EAC5D,CAAC;CACH;CAEF,OACE,kBAAC,GAAD;EAAS,OAAO;YACd,kBAAC,GAAD;GACO;GACL,GAAI;GACJ,SAAS,EAAgB,GAAK,CAAK;GACnC,cAAW;aAEX,kBAAC,GAAD;IACE,MAAK;IACL,MAAM;IACN,UAAU;IACV,IACE,IAAS;KAAE,OAAO,GAAG,EAAO;KAAK,QAAQ,GAAG,EAAO;IAAI,IAAI,KAAA;GAE9D,CAAA;EACS,CAAA;CACL,CAAA;AAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardInput.js","names":[],"sources":["../../../src/components/CopyToClipboardInput/CopyToClipboardInput.tsx"],"sourcesContent":["import { Box, IconButton, InputAdornment, TextField } from '@mui/material'\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\nimport { createRef, RefObject, SyntheticEvent, useState } from 'react'\nimport { ToastMessage } from '../ToastMessage/ToastMessage'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\n\nexport type CopyToClipboardInputProps = {\n value: string\n inputWidth: string\n}\n\n/**\n * Component that holds a large string in a readonly <input> to be copied to the user's clipboard when clicked.\n * This component should only be used when the full length of the string value to copy does not necessarily need to be\n * seen by the user. This component was adapted from the email address copy to clipboard functionality in UserCardMedium.\n * For smaller/inline strings, look at UserCardMedium functionality for displaying the value in a <p> tag instead of a\n * readonly <input> tag.\n */\nexport function CopyToClipboardInput({\n value,\n inputWidth,\n}: CopyToClipboardInputProps) {\n const [showModal, setShowModal] = useState(false)\n const ref = createRef<HTMLDivElement>()\n\n const copyToClipboard =\n (ref: RefObject<HTMLElement | null>, value: string) =>\n (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n // show modal and hide after 4 seconds, the timing is per Material Design\n setShowModal(true)\n // hide after 4 seconds\n setTimeout(() => {\n setShowModal(false)\n }, 4000)\n })\n }\n\n return (\n <>\n <ToastMessage\n text=\"Successfully copied to clipboard\"\n show={showModal}\n autohide={true}\n ></ToastMessage>\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n my: 2,\n mx: 0,\n }}\n >\n <TextField\n sx={{\n width: inputWidth,\n }}\n value={value}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={copyToClipboard(ref, value)}>\n <ContentCopyIcon />\n </IconButton>\n </InputAdornment>\n ),\n },\n\n htmlInput: {\n readOnly: true,\n onClick: copyToClipboard(ref, value),\n },\n }}\n />\n </Box>\n </>\n )\n}\n\nexport default CopyToClipboardInput\n"],"mappings":";;;;;;;AAkBA,SAAgB,EAAqB,EACnC,UACA,iBAC4B;CAC5B,IAAM,CAAC,GAAW,KAAgB,EAAS,GAAM,EAC3C,IAAM,GAA2B,EAEjC,KACH,GAAoC,OACpC,MAA0B;AAGzB,EAFA,EAAM,gBAAgB,EAEtB,EAAsB,EAAM,CAAC,WAAW;AAItC,GAFA,EAAa,GAAK,EAElB,iBAAiB;AACf,MAAa,GAAM;MAClB,IAAK;IACR;;AAGN,QACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAK;EACL,MAAM;EACN,UAAU;EACI,CAAA,EAChB,kBAAC,GAAD;EACO;EACL,IAAI;GACF,SAAS;GACT,gBAAgB;GAChB,IAAI;GACJ,IAAI;GACL;YAED,kBAAC,GAAD;GACE,IAAI,EACF,OAAO,GACR;GACM;GACP,WAAW;IACT,OAAO,EACL,cACE,kBAAC,GAAD;KAAgB,UAAS;eACvB,kBAAC,GAAD;MAAY,SAAS,EAAgB,GAAK,EAAM;gBAC9C,kBAAC,GAAD,EAAmB,CAAA;MACR,CAAA;KACE,CAAA,EAEpB;IAED,WAAW;KACT,UAAU;KACV,SAAS,EAAgB,GAAK,EAAM;KACrC;IACF;GACD,CAAA;EACE,CAAA,CACL,EAAA,CAAA"}
1
+ {"version":3,"file":"CopyToClipboardInput.js","names":[],"sources":["../../../src/components/CopyToClipboardInput/CopyToClipboardInput.tsx"],"sourcesContent":["import { Box, IconButton, InputAdornment, TextField } from '@mui/material'\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\nimport { createRef, RefObject, SyntheticEvent, useState } from 'react'\nimport { ToastMessage } from '../ToastMessage/ToastMessage'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\n\nexport type CopyToClipboardInputProps = {\n value: string\n inputWidth: string\n}\n\n/**\n * Component that holds a large string in a readonly <input> to be copied to the user's clipboard when clicked.\n * This component should only be used when the full length of the string value to copy does not necessarily need to be\n * seen by the user. This component was adapted from the email address copy to clipboard functionality in UserCardMedium.\n * For smaller/inline strings, look at UserCardMedium functionality for displaying the value in a <p> tag instead of a\n * readonly <input> tag.\n */\nexport function CopyToClipboardInput({\n value,\n inputWidth,\n}: CopyToClipboardInputProps) {\n const [showModal, setShowModal] = useState(false)\n const ref = createRef<HTMLDivElement>()\n\n const copyToClipboard =\n (ref: RefObject<HTMLElement | null>, value: string) =>\n (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n // show modal and hide after 4 seconds, the timing is per Material Design\n setShowModal(true)\n // hide after 4 seconds\n setTimeout(() => {\n setShowModal(false)\n }, 4000)\n })\n }\n\n return (\n <>\n <ToastMessage\n text=\"Successfully copied to clipboard\"\n show={showModal}\n autohide={true}\n ></ToastMessage>\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n justifyContent: 'center',\n my: 2,\n mx: 0,\n }}\n >\n <TextField\n sx={{\n width: inputWidth,\n }}\n value={value}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton onClick={copyToClipboard(ref, value)}>\n <ContentCopyIcon />\n </IconButton>\n </InputAdornment>\n ),\n },\n\n htmlInput: {\n readOnly: true,\n onClick: copyToClipboard(ref, value),\n },\n }}\n />\n </Box>\n </>\n )\n}\n\nexport default CopyToClipboardInput\n"],"mappings":";;;;;;;AAkBA,SAAgB,EAAqB,EACnC,UACA,iBAC4B;CAC5B,IAAM,CAAC,GAAW,KAAgB,EAAS,EAAK,GAC1C,IAAM,EAA0B,GAEhC,KACH,GAAoC,OACpC,MAA0B;EAGzB,AAFA,EAAM,eAAe,GAErB,EAAsB,CAAK,EAAE,WAAW;GAItC,AAFA,EAAa,EAAI,GAEjB,iBAAiB;IACf,EAAa,EAAK;GACpB,GAAG,GAAI;EACT,CAAC;CACH;CAEF,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAK;EACL,MAAM;EACN,UAAU;CACG,CAAA,GACf,kBAAC,GAAD;EACO;EACL,IAAI;GACF,SAAS;GACT,gBAAgB;GAChB,IAAI;GACJ,IAAI;EACN;YAEA,kBAAC,GAAD;GACE,IAAI,EACF,OAAO,EACT;GACO;GACP,WAAW;IACT,OAAO,EACL,cACE,kBAAC,GAAD;KAAgB,UAAS;eACvB,kBAAC,GAAD;MAAY,SAAS,EAAgB,GAAK,CAAK;gBAC7C,kBAAC,GAAD,CAAkB,CAAA;KACR,CAAA;IACE,CAAA,EAEpB;IAEA,WAAW;KACT,UAAU;KACV,SAAS,EAAgB,GAAK,CAAK;IACrC;GACF;EACD,CAAA;CACE,CAAA,CACL,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"CopyToClipboardString.js","names":[],"sources":["../../../src/components/CopyToClipboardString/CopyToClipboardString.tsx"],"sourcesContent":["import { Stack, Tooltip, Typography, TypographyProps } from '@mui/material'\nimport { SyntheticEvent, useState } from 'react'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\n\nexport type CopyToClipboardStringProps = {\n value: string\n typographyVariant?: TypographyProps['variant']\n}\n\n/**\n * Displays a string and a \"Copy to Clipboard\" icon, that, when clicked, will copy the contents of the string to the clipboard.\n */\nexport function CopyToClipboardString(props: CopyToClipboardStringProps) {\n const { value, typographyVariant = 'smallText1' } = props\n const [tooltipText, setTooltipText] = useState('Copy to clipboard')\n\n const copyToClipboard = (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n setTooltipText('Copied to clipboard')\n })\n }\n\n return (\n <Stack\n direction={'row'}\n spacing={0.5}\n sx={{\n alignItems: 'center',\n display: 'inline-flex',\n }}\n >\n <Typography component={'span'} variant={typographyVariant}>\n {value}\n </Typography>\n <Tooltip title={tooltipText} placement={'top'}>\n <span\n role=\"button\"\n style={{ cursor: 'pointer' }}\n onClick={copyToClipboard}\n >\n <IconSvg icon=\"contentCopy\" wrap={false} sx={{ width: '16px' }} />\n </span>\n </Tooltip>\n </Stack>\n )\n}\n\nexport default CopyToClipboardString\n"],"mappings":";;;;;;AAaA,SAAgB,EAAsB,GAAmC;CACvE,IAAM,EAAE,UAAO,uBAAoB,iBAAiB,GAC9C,CAAC,GAAa,KAAkB,EAAS,oBAAoB;AAUnE,QACE,kBAAC,GAAD;EACE,WAAW;EACX,SAAS;EACT,IAAI;GACF,YAAY;GACZ,SAAS;GACV;YANH,CAQE,kBAAC,GAAD;GAAY,WAAW;GAAQ,SAAS;aACrC;GACU,CAAA,EACb,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAW;aACtC,kBAAC,QAAD;IACE,MAAK;IACL,OAAO,EAAE,QAAQ,WAAW;IAC5B,UAxBiB,MAA0B;AAGjD,KAFA,EAAM,gBAAgB,EAEtB,EAAsB,EAAM,CAAC,WAAW;AACtC,QAAe,sBAAsB;OACrC;;cAqBI,kBAAC,GAAD;KAAS,MAAK;KAAc,MAAM;KAAO,IAAI,EAAE,OAAO,QAAQ;KAAI,CAAA;IAC7D,CAAA;GACC,CAAA,CACJ"}
1
+ {"version":3,"file":"CopyToClipboardString.js","names":[],"sources":["../../../src/components/CopyToClipboardString/CopyToClipboardString.tsx"],"sourcesContent":["import { Stack, Tooltip, Typography, TypographyProps } from '@mui/material'\nimport { SyntheticEvent, useState } from 'react'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\n\nexport type CopyToClipboardStringProps = {\n value: string\n typographyVariant?: TypographyProps['variant']\n}\n\n/**\n * Displays a string and a \"Copy to Clipboard\" icon, that, when clicked, will copy the contents of the string to the clipboard.\n */\nexport function CopyToClipboardString(props: CopyToClipboardStringProps) {\n const { value, typographyVariant = 'smallText1' } = props\n const [tooltipText, setTooltipText] = useState('Copy to clipboard')\n\n const copyToClipboard = (event: SyntheticEvent) => {\n event.preventDefault()\n\n copyStringToClipboard(value).then(() => {\n setTooltipText('Copied to clipboard')\n })\n }\n\n return (\n <Stack\n direction={'row'}\n spacing={0.5}\n sx={{\n alignItems: 'center',\n display: 'inline-flex',\n }}\n >\n <Typography component={'span'} variant={typographyVariant}>\n {value}\n </Typography>\n <Tooltip title={tooltipText} placement={'top'}>\n <span\n role=\"button\"\n style={{ cursor: 'pointer' }}\n onClick={copyToClipboard}\n >\n <IconSvg icon=\"contentCopy\" wrap={false} sx={{ width: '16px' }} />\n </span>\n </Tooltip>\n </Stack>\n )\n}\n\nexport default CopyToClipboardString\n"],"mappings":";;;;;;AAaA,SAAgB,EAAsB,GAAmC;CACvE,IAAM,EAAE,UAAO,uBAAoB,iBAAiB,GAC9C,CAAC,GAAa,KAAkB,EAAS,mBAAmB;CAUlE,OACE,kBAAC,GAAD;EACE,WAAW;EACX,SAAS;EACT,IAAI;GACF,YAAY;GACZ,SAAS;EACX;YANF,CAQE,kBAAC,GAAD;GAAY,WAAW;GAAQ,SAAS;aACrC;EACS,CAAA,GACZ,kBAAC,GAAD;GAAS,OAAO;GAAa,WAAW;aACtC,kBAAC,QAAD;IACE,MAAK;IACL,OAAO,EAAE,QAAQ,UAAU;IAC3B,UAxBiB,MAA0B;KAGjD,AAFA,EAAM,eAAe,GAErB,EAAsB,CAAK,EAAE,WAAW;MACtC,EAAe,qBAAqB;KACtC,CAAC;IACH;cAoBQ,kBAAC,GAAD;KAAS,MAAK;KAAc,MAAM;KAAO,IAAI,EAAE,OAAO,OAAO;IAAI,CAAA;GAC7D,CAAA;EACC,CAAA,CACJ;;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOrUpdateAccessRequirementWizard.js","names":[],"sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.tsx"],"sourcesContent":["import { MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE } from '@sage-bionetworks/synapse-types'\nimport { MouseEventHandler, useMemo, useRef, useState } from 'react'\nimport {\n AccessRequirementAclEditor,\n AccessRequirementAclEditorHandle,\n} from '../AccessRequirementAclEditor/AccessRequirementAclEditor'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport {\n SetAccessRequirementCommonFields,\n SetAccessRequirementCommonFieldsHandle,\n SetAccessRequirementCommonFieldsProps,\n} from '../SetAccessRequirementCommonFields'\nimport SetBasicAccessRequirementFields, {\n SetBasicAccessRequirementFieldsHandle,\n} from '../SetBasicAccessRequirementFields'\nimport SetManagedAccessRequirementFields, {\n SetManagedAccessRequirementFieldsHandle,\n} from '../SetManagedAccessRequirementFields'\nimport {\n CreateOrUpdateAccessRequirementWizardStep,\n getDialogTitle,\n isLastStep,\n} from './CreateOrUpdateAccessRequirementWizardUtils'\n\nexport type CreateOrUpdateAccessRequirementWizardProps = {\n open: boolean\n onCancel: () => void\n onComplete: (accessRequirementID?: string) => void // return the (possibly new) Access Requirement ID\n} & Pick<\n SetAccessRequirementCommonFieldsProps,\n 'subject' | 'accessRequirementId'\n>\n\nexport function CreateOrUpdateAccessRequirementWizard(\n props: CreateOrUpdateAccessRequirementWizardProps,\n) {\n const { open, onCancel, onComplete } = props\n\n const [step, setStep] = useState<CreateOrUpdateAccessRequirementWizardStep>(\n 'SET_AR_COMMON_FIELDS',\n )\n const [isLoading, setIsLoading] = useState<boolean>(false)\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >(props.accessRequirementId)\n\n const setArCommonFieldsRef =\n useRef<SetAccessRequirementCommonFieldsHandle>(null)\n const setManagedArFieldsRef =\n useRef<SetManagedAccessRequirementFieldsHandle>(null)\n const editArAclRef = useRef<AccessRequirementAclEditorHandle>(null)\n const setBasicArFieldsRef =\n useRef<SetBasicAccessRequirementFieldsHandle>(null)\n\n const isEditing = Boolean(props['accessRequirementId'])\n\n const stepContent = useMemo(() => {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n return (\n <SetAccessRequirementCommonFields\n ref={setArCommonFieldsRef}\n onSave={(accessRequirementId, accessRequirementConcreteType) => {\n setAccessRequirementId(accessRequirementId)\n const nextStep: CreateOrUpdateAccessRequirementWizardStep =\n accessRequirementConcreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? 'SET_MANAGED_AR_FIELDS'\n : 'SET_BASIC_AR_FIELDS'\n setStep(nextStep)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n subject={props.subject}\n accessRequirementId={props.accessRequirementId}\n />\n )\n case 'SET_MANAGED_AR_FIELDS':\n return (\n <SetManagedAccessRequirementFields\n ref={setManagedArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n setStep('SET_MANAGED_AR_ACL_PERMISSIONS')\n setIsLoading(false)\n }}\n onError={() => {\n setIsLoading(false)\n }}\n />\n )\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return (\n <AccessRequirementAclEditor\n ref={editArAclRef}\n accessRequirementId={accessRequirementId!}\n onSaveComplete={saveSuccessful => {\n if (saveSuccessful) {\n onComplete(accessRequirementId)\n }\n setIsLoading(false)\n }}\n />\n )\n case 'SET_BASIC_AR_FIELDS':\n return (\n <SetBasicAccessRequirementFields\n ref={setBasicArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n onComplete(accessRequirementId)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n />\n )\n }\n }, [\n step,\n props.subject,\n props.accessRequirementId,\n accessRequirementId,\n onComplete,\n ])\n\n const onClickPrimary: MouseEventHandler<HTMLButtonElement> = e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n setIsLoading(true)\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n setArCommonFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_FIELDS':\n setManagedArFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n editArAclRef?.current?.save()\n return\n case 'SET_BASIC_AR_FIELDS':\n setBasicArFieldsRef?.current?.save()\n }\n }\n\n return (\n <ConfirmationDialog\n open={open}\n onCancel={onCancel}\n onConfirm={onClickPrimary}\n confirmButtonProps={{\n children: isLastStep(step) ? 'Save' : 'Save & Continue',\n disabled: isLoading,\n }}\n maxWidth={'md'}\n title={getDialogTitle(step, isEditing)}\n content={stepContent}\n />\n )\n}\n\nexport default CreateOrUpdateAccessRequirementWizard\n"],"mappings":";;;;;;;;;;;AAiCA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,aAAU,kBAAe,GAEjC,CAAC,GAAM,KAAW,EACtB,uBACD,EACK,CAAC,GAAW,KAAgB,EAAkB,GAAM,EACpD,CAAC,GAAqB,KAA0B,EAEpD,EAAM,oBAAoB,EAEtB,IACJ,EAA+C,KAAK,EAChD,IACJ,EAAgD,KAAK,EACjD,IAAe,EAAyC,KAAK,EAC7D,IACJ,EAA8C,KAAK,EAE/C,IAAY,EAAQ,EAAM,qBAE1B,IAAc,QAAc;AAChC,UAAQ,GAAR;GACE,KAAK,uBACH,QACE,kBAAC,GAAD;IACE,KAAK;IACL,SAAS,GAAqB,MAAkC;AAQ9D,KAPA,EAAuB,EAAoB,EAM3C,EAJE,MACA,IACI,0BACA,sBACW,EACjB,EAAa,GAAM;;IAErB,eAAe,EAAa,GAAM;IAClC,SAAS,EAAM;IACf,qBAAqB,EAAM;IAC3B,CAAA;GAEN,KAAK,wBACH,QACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,cAAc;AAEZ,KADA,EAAQ,iCAAiC,EACzC,EAAa,GAAM;;IAErB,eAAe;AACb,OAAa,GAAM;;IAErB,CAAA;GAEN,KAAK,iCACH,QACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,iBAAgB,MAAkB;AAIhC,KAHI,KACF,EAAW,EAAoB,EAEjC,EAAa,GAAM;;IAErB,CAAA;GAEN,KAAK,sBACH,QACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,cAAc;AAEZ,KADA,EAAW,EAAoB,EAC/B,EAAa,GAAM;;IAErB,eAAe,EAAa,GAAM;IAClC,CAAA;;IAGP;EACD;EACA,EAAM;EACN,EAAM;EACN;EACA;EACD,CAAC;AAqBF,QACE,kBAAC,GAAD;EACQ;EACI;EACV,YAvByD,MAAK;AAIhE,WAFA,EAAE,gBAAgB,EAClB,EAAa,GAAK,EACV,GAAR;IACE,KAAK;AACH,QAAsB,SAAS,MAAM;AACrC;IACF,KAAK;AACH,QAAuB,SAAS,MAAM;AACtC;IACF,KAAK;AACH,QAAc,SAAS,MAAM;AAC7B;IACF,KAAK,sBACH,IAAqB,SAAS,MAAM;;;EAStC,oBAAoB;GAClB,UAAU,EAAW,EAAK,GAAG,SAAS;GACtC,UAAU;GACX;EACD,UAAU;EACV,OAAO,EAAe,GAAM,EAAU;EACtC,SAAS;EACT,CAAA"}
1
+ {"version":3,"file":"CreateOrUpdateAccessRequirementWizard.js","names":[],"sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.tsx"],"sourcesContent":["import { MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE } from '@sage-bionetworks/synapse-types'\nimport { MouseEventHandler, useMemo, useRef, useState } from 'react'\nimport {\n AccessRequirementAclEditor,\n AccessRequirementAclEditorHandle,\n} from '../AccessRequirementAclEditor/AccessRequirementAclEditor'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport {\n SetAccessRequirementCommonFields,\n SetAccessRequirementCommonFieldsHandle,\n SetAccessRequirementCommonFieldsProps,\n} from '../SetAccessRequirementCommonFields'\nimport SetBasicAccessRequirementFields, {\n SetBasicAccessRequirementFieldsHandle,\n} from '../SetBasicAccessRequirementFields'\nimport SetManagedAccessRequirementFields, {\n SetManagedAccessRequirementFieldsHandle,\n} from '../SetManagedAccessRequirementFields'\nimport {\n CreateOrUpdateAccessRequirementWizardStep,\n getDialogTitle,\n isLastStep,\n} from './CreateOrUpdateAccessRequirementWizardUtils'\n\nexport type CreateOrUpdateAccessRequirementWizardProps = {\n open: boolean\n onCancel: () => void\n onComplete: (accessRequirementID?: string) => void // return the (possibly new) Access Requirement ID\n} & Pick<\n SetAccessRequirementCommonFieldsProps,\n 'subject' | 'accessRequirementId'\n>\n\nexport function CreateOrUpdateAccessRequirementWizard(\n props: CreateOrUpdateAccessRequirementWizardProps,\n) {\n const { open, onCancel, onComplete } = props\n\n const [step, setStep] = useState<CreateOrUpdateAccessRequirementWizardStep>(\n 'SET_AR_COMMON_FIELDS',\n )\n const [isLoading, setIsLoading] = useState<boolean>(false)\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >(props.accessRequirementId)\n\n const setArCommonFieldsRef =\n useRef<SetAccessRequirementCommonFieldsHandle>(null)\n const setManagedArFieldsRef =\n useRef<SetManagedAccessRequirementFieldsHandle>(null)\n const editArAclRef = useRef<AccessRequirementAclEditorHandle>(null)\n const setBasicArFieldsRef =\n useRef<SetBasicAccessRequirementFieldsHandle>(null)\n\n const isEditing = Boolean(props['accessRequirementId'])\n\n const stepContent = useMemo(() => {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n return (\n <SetAccessRequirementCommonFields\n ref={setArCommonFieldsRef}\n onSave={(accessRequirementId, accessRequirementConcreteType) => {\n setAccessRequirementId(accessRequirementId)\n const nextStep: CreateOrUpdateAccessRequirementWizardStep =\n accessRequirementConcreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? 'SET_MANAGED_AR_FIELDS'\n : 'SET_BASIC_AR_FIELDS'\n setStep(nextStep)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n subject={props.subject}\n accessRequirementId={props.accessRequirementId}\n />\n )\n case 'SET_MANAGED_AR_FIELDS':\n return (\n <SetManagedAccessRequirementFields\n ref={setManagedArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n setStep('SET_MANAGED_AR_ACL_PERMISSIONS')\n setIsLoading(false)\n }}\n onError={() => {\n setIsLoading(false)\n }}\n />\n )\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return (\n <AccessRequirementAclEditor\n ref={editArAclRef}\n accessRequirementId={accessRequirementId!}\n onSaveComplete={saveSuccessful => {\n if (saveSuccessful) {\n onComplete(accessRequirementId)\n }\n setIsLoading(false)\n }}\n />\n )\n case 'SET_BASIC_AR_FIELDS':\n return (\n <SetBasicAccessRequirementFields\n ref={setBasicArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n onComplete(accessRequirementId)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n />\n )\n }\n }, [\n step,\n props.subject,\n props.accessRequirementId,\n accessRequirementId,\n onComplete,\n ])\n\n const onClickPrimary: MouseEventHandler<HTMLButtonElement> = e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n setIsLoading(true)\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n setArCommonFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_FIELDS':\n setManagedArFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n editArAclRef?.current?.save()\n return\n case 'SET_BASIC_AR_FIELDS':\n setBasicArFieldsRef?.current?.save()\n }\n }\n\n return (\n <ConfirmationDialog\n open={open}\n onCancel={onCancel}\n onConfirm={onClickPrimary}\n confirmButtonProps={{\n children: isLastStep(step) ? 'Save' : 'Save & Continue',\n disabled: isLoading,\n }}\n maxWidth={'md'}\n title={getDialogTitle(step, isEditing)}\n content={stepContent}\n />\n )\n}\n\nexport default CreateOrUpdateAccessRequirementWizard\n"],"mappings":";;;;;;;;;;;AAiCA,SAAgB,EACd,GACA;CACA,IAAM,EAAE,SAAM,aAAU,kBAAe,GAEjC,CAAC,GAAM,KAAW,EACtB,sBACF,GACM,CAAC,GAAW,KAAgB,EAAkB,EAAK,GACnD,CAAC,GAAqB,KAA0B,EAEpD,EAAM,mBAAmB,GAErB,IACJ,EAA+C,IAAI,GAC/C,IACJ,EAAgD,IAAI,GAChD,IAAe,EAAyC,IAAI,GAC5D,IACJ,EAA8C,IAAI,GAE9C,IAAY,EAAQ,EAAM,qBAE1B,IAAc,QAAc;EAChC,QAAQ,GAAR;GACE,KAAK,wBACH,OACE,kBAAC,GAAD;IACE,KAAK;IACL,SAAS,GAAqB,MAAkC;KAQ9D,AAPA,EAAuB,CAAmB,GAM1C,EAJE,MACA,IACI,0BACA,qBACU,GAChB,EAAa,EAAK;IACpB;IACA,eAAe,EAAa,EAAK;IACjC,SAAS,EAAM;IACf,qBAAqB,EAAM;GAC5B,CAAA;GAEL,KAAK,yBACH,OACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,cAAc;KAEZ,AADA,EAAQ,gCAAgC,GACxC,EAAa,EAAK;IACpB;IACA,eAAe;KACb,EAAa,EAAK;IACpB;GACD,CAAA;GAEL,KAAK,kCACH,OACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,iBAAgB,MAAkB;KAIhC,AAHI,KACF,EAAW,CAAmB,GAEhC,EAAa,EAAK;IACpB;GACD,CAAA;GAEL,KAAK,uBACH,OACE,kBAAC,GAAD;IACE,KAAK;IACgB;IACrB,cAAc;KAEZ,AADA,EAAW,CAAmB,GAC9B,EAAa,EAAK;IACpB;IACA,eAAe,EAAa,EAAK;GAClC,CAAA;EAEP;CACF,GAAG;EACD;EACA,EAAM;EACN,EAAM;EACN;EACA;CACF,CAAC;CAqBD,OACE,kBAAC,GAAD;EACQ;EACI;EACV,YAvByD,MAAK;GAIhE,QAFA,EAAE,eAAe,GACjB,EAAa,EAAI,GACT,GAAR;IACE,KAAK;KACH,GAAsB,SAAS,KAAK;KACpC;IACF,KAAK;KACH,GAAuB,SAAS,KAAK;KACrC;IACF,KAAK;KACH,GAAc,SAAS,KAAK;KAC5B;IACF,KAAK,uBACH,GAAqB,SAAS,KAAK;GACvC;EACF;EAOI,oBAAoB;GAClB,UAAU,EAAW,CAAI,IAAI,SAAS;GACtC,UAAU;EACZ;EACA,UAAU;EACV,OAAO,EAAe,GAAM,CAAS;EACrC,SAAS;CACV,CAAA;AAEL"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateOrUpdateAccessRequirementWizardUtils.js","names":[],"sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.ts"],"sourcesContent":["export type CreateOrUpdateAccessRequirementWizardStep =\n | 'SET_AR_COMMON_FIELDS'\n | 'SET_MANAGED_AR_FIELDS'\n | 'SET_MANAGED_AR_ACL_PERMISSIONS'\n | 'SET_BASIC_AR_FIELDS'\n\nexport function getDialogTitle(\n step: CreateOrUpdateAccessRequirementWizardStep,\n isEditing: boolean,\n): string {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n case 'SET_MANAGED_AR_FIELDS':\n case 'SET_BASIC_AR_FIELDS':\n return `${isEditing ? 'Edit' : 'Create'} Access Requirement`\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return 'Access Requirement Permissions'\n }\n}\n\nexport function isLastStep(\n step: CreateOrUpdateAccessRequirementWizardStep,\n): boolean {\n switch (step) {\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n case 'SET_BASIC_AR_FIELDS':\n return true\n }\n return false\n}\n"],"mappings":";AAMA,SAAgB,EACd,GACA,GACQ;AACR,SAAQ,GAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK,sBACH,QAAO,GAAG,IAAY,SAAS,SAAS;EAC1C,KAAK,iCACH,QAAO;;;AAIb,SAAgB,EACd,GACS;AACT,SAAQ,GAAR;EACE,KAAK;EACL,KAAK,sBACH,QAAO;;AAEX,QAAO"}
1
+ {"version":3,"file":"CreateOrUpdateAccessRequirementWizardUtils.js","names":[],"sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.ts"],"sourcesContent":["export type CreateOrUpdateAccessRequirementWizardStep =\n | 'SET_AR_COMMON_FIELDS'\n | 'SET_MANAGED_AR_FIELDS'\n | 'SET_MANAGED_AR_ACL_PERMISSIONS'\n | 'SET_BASIC_AR_FIELDS'\n\nexport function getDialogTitle(\n step: CreateOrUpdateAccessRequirementWizardStep,\n isEditing: boolean,\n): string {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n case 'SET_MANAGED_AR_FIELDS':\n case 'SET_BASIC_AR_FIELDS':\n return `${isEditing ? 'Edit' : 'Create'} Access Requirement`\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return 'Access Requirement Permissions'\n }\n}\n\nexport function isLastStep(\n step: CreateOrUpdateAccessRequirementWizardStep,\n): boolean {\n switch (step) {\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n case 'SET_BASIC_AR_FIELDS':\n return true\n }\n return false\n}\n"],"mappings":";AAMA,SAAgB,EACd,GACA,GACQ;CACR,QAAQ,GAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK,uBACH,OAAO,GAAG,IAAY,SAAS,SAAS;EAC1C,KAAK,kCACH,OAAO;CACX;AACF;AAEA,SAAgB,EACd,GACS;CACT,QAAQ,GAAR;EACE,KAAK;EACL,KAAK,uBACH,OAAO;CACX;CACA,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"CreateProjectModal.js","names":[],"sources":["../../../src/components/CreateProjectModal/CreateProjectModal.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Alert, Stack } from '@mui/material'\nimport { ACCESS_TYPE } from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, useState } from 'react'\nimport { useMutation } from '@tanstack/react-query'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport TextField from '../TextField/TextField'\nimport {\n ProjectVisibility,\n ProjectVisibilityRadioGroup,\n} from './ProjectVisibilityRadioGroup'\n\nexport type CreateProjectModalProps = {\n isShowingModal?: boolean\n onClose: () => void\n gotoPlace?: (href: string) => void\n}\n\nexport function CreateProjectModal({\n isShowingModal = false,\n onClose,\n gotoPlace,\n}: CreateProjectModalProps) {\n const { accessToken } = useSynapseContext()\n const [projectName, setProjectName] = useState<string>('')\n const [description, setDescription] = useState<string>('')\n const [visibility, setVisibility] =\n useState<ProjectVisibility>('DISCOVERABLE')\n\n const { data: realmPrincipals } = useGetRealmPrincipals()\n const publicGroupId = realmPrincipals?.publicGroup\n const authenticatedUsersId = realmPrincipals?.authenticatedUsers\n\n const applyVisibilityAcl = async (projectId: string): Promise<void> => {\n if (visibility === 'PRIVATE') {\n return\n }\n try {\n const currentAcl = await SynapseClient.getEntityACL(\n projectId,\n accessToken,\n )\n\n const upsertAccessTypes = (\n entries: typeof currentAcl.resourceAccess,\n principalId: number,\n accessTypes: ACCESS_TYPE[],\n ): typeof currentAcl.resourceAccess => {\n const existing = entries.find(e => e.principalId === principalId)\n if (existing) {\n return entries.map(e =>\n e.principalId === principalId\n ? {\n ...e,\n accessType: [...new Set([...e.accessType, ...accessTypes])],\n }\n : e,\n )\n }\n return [...entries, { principalId, accessType: accessTypes }]\n }\n\n let newResourceAccess = [...currentAcl.resourceAccess]\n\n if (visibility === 'DISCOVERABLE') {\n if (publicGroupId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(publicGroupId),\n [ACCESS_TYPE.READ],\n )\n }\n if (authenticatedUsersId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(authenticatedUsersId),\n [ACCESS_TYPE.READ],\n )\n }\n } else if (visibility === 'PUBLIC') {\n if (publicGroupId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(publicGroupId),\n [ACCESS_TYPE.READ],\n )\n }\n if (authenticatedUsersId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(authenticatedUsersId),\n [ACCESS_TYPE.READ, ACCESS_TYPE.DOWNLOAD],\n )\n }\n }\n\n await SynapseClient.updateEntityACL(\n { ...currentAcl, resourceAccess: newResourceAccess },\n accessToken,\n )\n } catch (e) {\n const err = e as SynapseClientError\n throw new Error(\n `Project was created, but visibility could not be set: ${\n err.reason ?? err.message\n }`,\n )\n }\n }\n\n const createProjectMutation = useMutation({\n mutationFn: async () => {\n const newProject = await SynapseClient.createProject(\n projectName,\n description,\n accessToken,\n )\n let aclError: string | undefined\n try {\n await applyVisibilityAcl(newProject.id!)\n } catch (e) {\n aclError = (e as Error).message\n }\n return { newProject, aclError }\n },\n onError: error => {\n const synapseError = error as SynapseClientError\n displayToast(synapseError.reason ?? error.message, 'danger')\n },\n onSuccess: ({ newProject, aclError }) => {\n // Note - Do NOT call createProjectMutation.reset() here — in TanStack Query v5,\n // reset() inside onSuccess interrupts the rest of this callback.\n // Note 2 - displayToast is not shown in Storybook (with the window.location.href change), but works when\n // integrated in the Synapse.org app.\n if (aclError) {\n displayToast(aclError, 'danger')\n } else {\n displayToast('Project created', 'success')\n }\n setProjectName('')\n setDescription('')\n setVisibility('DISCOVERABLE')\n onClose()\n const href = `/Synapse:${newProject.id}`\n if (gotoPlace) {\n gotoPlace(href)\n } else {\n window.location.href = href\n }\n },\n })\n\n const hide = () => {\n setProjectName('')\n setDescription('')\n setVisibility('DISCOVERABLE')\n createProjectMutation.reset()\n onClose()\n }\n\n const dialogContent = (\n <Stack gap={2}>\n <TextField\n id=\"projectInput\"\n label=\"Project Name\"\n required\n description=\"Pick a unique title for your project\"\n value={projectName}\n fullWidth\n onChange={event => {\n setProjectName(event.target.value)\n }}\n slotProps={{\n htmlInput: {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if (projectName !== '') {\n createProjectMutation.mutate()\n }\n }\n },\n },\n }}\n />\n <TextField\n id=\"descriptionInput\"\n label=\"Description\"\n description=\"(optional)\"\n placeholder=\"Brief description of this project\"\n multiline\n minRows={3}\n value={description}\n fullWidth\n maxCharacterCount={350}\n onChange={event => {\n setDescription(event.target.value)\n }}\n />\n <ProjectVisibilityRadioGroup\n value={visibility}\n onChange={setVisibility}\n />\n <Alert severity=\"warning\">\n You can update project visibility at any time in Project Tools, or\n manage access at a more granular level for individual files and folders.\n </Alert>\n </Stack>\n )\n\n return (\n <>\n <ConfirmationDialog\n open={isShowingModal}\n title=\"Create a new Project\"\n content={dialogContent}\n confirmButtonProps={{\n children: 'Save',\n disabled: createProjectMutation.isPending,\n loading: createProjectMutation.isPending,\n }}\n onConfirm={() => {\n createProjectMutation.mutate()\n }}\n onCancel={hide}\n maxWidth=\"sm\"\n dense\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAsBA,SAAgB,EAAmB,EACjC,oBAAiB,IACjB,YACA,gBAC0B;CAC1B,IAAM,EAAE,mBAAgB,GAAmB,EACrC,CAAC,GAAa,KAAkB,EAAiB,GAAG,EACpD,CAAC,GAAa,KAAkB,EAAiB,GAAG,EACpD,CAAC,GAAY,KACjB,EAA4B,eAAe,EAEvC,EAAE,MAAM,MAAoB,GAAuB,EACnD,IAAgB,GAAiB,aACjC,IAAuB,GAAiB,oBAExC,IAAqB,OAAO,MAAqC;AACjE,YAAe,UAGnB,KAAI;GACF,IAAM,IAAa,MAAM,EAAc,aACrC,GACA,EACD,EAEK,KACJ,GACA,GACA,MAEiB,EAAQ,MAAK,MAAK,EAAE,gBAAgB,EACjD,GACK,EAAQ,KAAI,MACjB,EAAE,gBAAgB,IACd;IACE,GAAG;IACH,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,EAAY,CAAC,CAAC;IAC5D,GACD,EACL,GAEI,CAAC,GAAG,GAAS;IAAE;IAAa,YAAY;IAAa,CAAC,EAG3D,IAAoB,CAAC,GAAG,EAAW,eAAe;AAkCtD,GAhCI,MAAe,kBACb,MACF,IAAoB,EAClB,GACA,OAAO,EAAc,EACrB,CAAC,EAAY,KAAK,CACnB,GAEC,MACF,IAAoB,EAClB,GACA,OAAO,EAAqB,EAC5B,CAAC,EAAY,KAAK,CACnB,KAEM,MAAe,aACpB,MACF,IAAoB,EAClB,GACA,OAAO,EAAc,EACrB,CAAC,EAAY,KAAK,CACnB,GAEC,MACF,IAAoB,EAClB,GACA,OAAO,EAAqB,EAC5B,CAAC,EAAY,MAAM,EAAY,SAAS,CACzC,IAIL,MAAM,EAAc,gBAClB;IAAE,GAAG;IAAY,gBAAgB;IAAmB,EACpD,EACD;WACM,GAAG;GACV,IAAM,IAAM;AACZ,SAAU,MACR,yDACE,EAAI,UAAU,EAAI,UAErB;;IAIC,IAAwB,EAAY;EACxC,YAAY,YAAY;GACtB,IAAM,IAAa,MAAM,EAAc,cACrC,GACA,GACA,EACD,EACG;AACJ,OAAI;AACF,UAAM,EAAmB,EAAW,GAAI;YACjC,GAAG;AACV,QAAY,EAAY;;AAE1B,UAAO;IAAE;IAAY;IAAU;;EAEjC,UAAS,MAAS;AAEhB,KAAa,EAAa,UAAU,EAAM,SAAS,SAAS;;EAE9D,YAAY,EAAE,eAAY,kBAAe;AAavC,GARI,IACF,EAAa,GAAU,SAAS,GAEhC,EAAa,mBAAmB,UAAU,EAE5C,EAAe,GAAG,EAClB,EAAe,GAAG,EAClB,EAAc,eAAe,EAC7B,GAAS;GACT,IAAM,IAAO,YAAY,EAAW;AACpC,GAAI,IACF,EAAU,EAAK,GAEf,OAAO,SAAS,OAAO;;EAG5B,CAAC;AA2DF,QACE,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;EACE,MAAM;EACN,OAAM;EACN,SArDJ,kBAAC,GAAD;GAAO,KAAK;aAAZ;IACE,kBAAC,GAAD;KACE,IAAG;KACH,OAAM;KACN,UAAA;KACA,aAAY;KACZ,OAAO;KACP,WAAA;KACA,WAAU,MAAS;AACjB,QAAe,EAAM,OAAO,MAAM;;KAEpC,WAAW,EACT,WAAW,EACT,YAAY,MAA2C;AACrD,MAAI,EAAM,QAAQ,WACZ,MAAgB,MAClB,EAAsB,QAAQ;QAIrC,EACF;KACD,CAAA;IACF,kBAAC,GAAD;KACE,IAAG;KACH,OAAM;KACN,aAAY;KACZ,aAAY;KACZ,WAAA;KACA,SAAS;KACT,OAAO;KACP,WAAA;KACA,mBAAmB;KACnB,WAAU,MAAS;AACjB,QAAe,EAAM,OAAO,MAAM;;KAEpC,CAAA;IACF,kBAAC,GAAD;KACE,OAAO;KACP,UAAU;KACV,CAAA;IACF,kBAAC,GAAD;KAAO,UAAS;eAAU;KAGlB,CAAA;IACF;IAQK;EACT,oBAAoB;GAClB,UAAU;GACV,UAAU,EAAsB;GAChC,SAAS,EAAsB;GAChC;EACD,iBAAiB;AACf,KAAsB,QAAQ;;EAEhC,gBAvEa;AAKjB,GAJA,EAAe,GAAG,EAClB,EAAe,GAAG,EAClB,EAAc,eAAe,EAC7B,EAAsB,OAAO,EAC7B,GAAS;;EAmEL,UAAS;EACT,OAAA;EACA,CAAA,EACD,CAAA"}
1
+ {"version":3,"file":"CreateProjectModal.js","names":[],"sources":["../../../src/components/CreateProjectModal/CreateProjectModal.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Alert, Stack } from '@mui/material'\nimport { ACCESS_TYPE } from '@sage-bionetworks/synapse-types'\nimport { KeyboardEvent, useState } from 'react'\nimport { useMutation } from '@tanstack/react-query'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport TextField from '../TextField/TextField'\nimport {\n ProjectVisibility,\n ProjectVisibilityRadioGroup,\n} from './ProjectVisibilityRadioGroup'\n\nexport type CreateProjectModalProps = {\n isShowingModal?: boolean\n onClose: () => void\n gotoPlace?: (href: string) => void\n}\n\nexport function CreateProjectModal({\n isShowingModal = false,\n onClose,\n gotoPlace,\n}: CreateProjectModalProps) {\n const { accessToken } = useSynapseContext()\n const [projectName, setProjectName] = useState<string>('')\n const [description, setDescription] = useState<string>('')\n const [visibility, setVisibility] =\n useState<ProjectVisibility>('DISCOVERABLE')\n\n const { data: realmPrincipals } = useGetRealmPrincipals()\n const publicGroupId = realmPrincipals?.publicGroup\n const authenticatedUsersId = realmPrincipals?.authenticatedUsers\n\n const applyVisibilityAcl = async (projectId: string): Promise<void> => {\n if (visibility === 'PRIVATE') {\n return\n }\n try {\n const currentAcl = await SynapseClient.getEntityACL(\n projectId,\n accessToken,\n )\n\n const upsertAccessTypes = (\n entries: typeof currentAcl.resourceAccess,\n principalId: number,\n accessTypes: ACCESS_TYPE[],\n ): typeof currentAcl.resourceAccess => {\n const existing = entries.find(e => e.principalId === principalId)\n if (existing) {\n return entries.map(e =>\n e.principalId === principalId\n ? {\n ...e,\n accessType: [...new Set([...e.accessType, ...accessTypes])],\n }\n : e,\n )\n }\n return [...entries, { principalId, accessType: accessTypes }]\n }\n\n let newResourceAccess = [...currentAcl.resourceAccess]\n\n if (visibility === 'DISCOVERABLE') {\n if (publicGroupId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(publicGroupId),\n [ACCESS_TYPE.READ],\n )\n }\n if (authenticatedUsersId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(authenticatedUsersId),\n [ACCESS_TYPE.READ],\n )\n }\n } else if (visibility === 'PUBLIC') {\n if (publicGroupId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(publicGroupId),\n [ACCESS_TYPE.READ],\n )\n }\n if (authenticatedUsersId) {\n newResourceAccess = upsertAccessTypes(\n newResourceAccess,\n Number(authenticatedUsersId),\n [ACCESS_TYPE.READ, ACCESS_TYPE.DOWNLOAD],\n )\n }\n }\n\n await SynapseClient.updateEntityACL(\n { ...currentAcl, resourceAccess: newResourceAccess },\n accessToken,\n )\n } catch (e) {\n const err = e as SynapseClientError\n throw new Error(\n `Project was created, but visibility could not be set: ${\n err.reason ?? err.message\n }`,\n )\n }\n }\n\n const createProjectMutation = useMutation({\n mutationFn: async () => {\n const newProject = await SynapseClient.createProject(\n projectName,\n description,\n accessToken,\n )\n let aclError: string | undefined\n try {\n await applyVisibilityAcl(newProject.id!)\n } catch (e) {\n aclError = (e as Error).message\n }\n return { newProject, aclError }\n },\n onError: error => {\n const synapseError = error as SynapseClientError\n displayToast(synapseError.reason ?? error.message, 'danger')\n },\n onSuccess: ({ newProject, aclError }) => {\n // Note - Do NOT call createProjectMutation.reset() here — in TanStack Query v5,\n // reset() inside onSuccess interrupts the rest of this callback.\n // Note 2 - displayToast is not shown in Storybook (with the window.location.href change), but works when\n // integrated in the Synapse.org app.\n if (aclError) {\n displayToast(aclError, 'danger')\n } else {\n displayToast('Project created', 'success')\n }\n setProjectName('')\n setDescription('')\n setVisibility('DISCOVERABLE')\n onClose()\n const href = `/Synapse:${newProject.id}`\n if (gotoPlace) {\n gotoPlace(href)\n } else {\n window.location.href = href\n }\n },\n })\n\n const hide = () => {\n setProjectName('')\n setDescription('')\n setVisibility('DISCOVERABLE')\n createProjectMutation.reset()\n onClose()\n }\n\n const dialogContent = (\n <Stack gap={2}>\n <TextField\n id=\"projectInput\"\n label=\"Project Name\"\n required\n description=\"Pick a unique title for your project\"\n value={projectName}\n fullWidth\n onChange={event => {\n setProjectName(event.target.value)\n }}\n slotProps={{\n htmlInput: {\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n if (projectName !== '') {\n createProjectMutation.mutate()\n }\n }\n },\n },\n }}\n />\n <TextField\n id=\"descriptionInput\"\n label=\"Description\"\n description=\"(optional)\"\n placeholder=\"Brief description of this project\"\n multiline\n minRows={3}\n value={description}\n fullWidth\n maxCharacterCount={350}\n onChange={event => {\n setDescription(event.target.value)\n }}\n />\n <ProjectVisibilityRadioGroup\n value={visibility}\n onChange={setVisibility}\n />\n <Alert severity=\"warning\">\n You can update project visibility at any time in Project Tools, or\n manage access at a more granular level for individual files and folders.\n </Alert>\n </Stack>\n )\n\n return (\n <>\n <ConfirmationDialog\n open={isShowingModal}\n title=\"Create a new Project\"\n content={dialogContent}\n confirmButtonProps={{\n children: 'Save',\n disabled: createProjectMutation.isPending,\n loading: createProjectMutation.isPending,\n }}\n onConfirm={() => {\n createProjectMutation.mutate()\n }}\n onCancel={hide}\n maxWidth=\"sm\"\n dense\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAsBA,SAAgB,EAAmB,EACjC,oBAAiB,IACjB,YACA,gBAC0B;CAC1B,IAAM,EAAE,mBAAgB,EAAkB,GACpC,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAAa,KAAkB,EAAiB,EAAE,GACnD,CAAC,GAAY,KACjB,EAA4B,cAAc,GAEtC,EAAE,MAAM,MAAoB,EAAsB,GAClD,IAAgB,GAAiB,aACjC,IAAuB,GAAiB,oBAExC,IAAqB,OAAO,MAAqC;EACjE,UAAe,WAGnB,IAAI;GACF,IAAM,IAAa,MAAM,EAAc,aACrC,GACA,CACF,GAEM,KACJ,GACA,GACA,MAEiB,EAAQ,MAAK,MAAK,EAAE,gBAAgB,CACjD,IACK,EAAQ,KAAI,MACjB,EAAE,gBAAgB,IACd;IACE,GAAG;IACH,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,CAAW,CAAC,CAAC;GAC5D,IACA,CACN,IAEK,CAAC,GAAG,GAAS;IAAE;IAAa,YAAY;GAAY,CAAC,GAG1D,IAAoB,CAAC,GAAG,EAAW,cAAc;GAkCrD,AAhCI,MAAe,kBACb,MACF,IAAoB,EAClB,GACA,OAAO,CAAa,GACpB,CAAC,EAAY,IAAI,CACnB,IAEE,MACF,IAAoB,EAClB,GACA,OAAO,CAAoB,GAC3B,CAAC,EAAY,IAAI,CACnB,MAEO,MAAe,aACpB,MACF,IAAoB,EAClB,GACA,OAAO,CAAa,GACpB,CAAC,EAAY,IAAI,CACnB,IAEE,MACF,IAAoB,EAClB,GACA,OAAO,CAAoB,GAC3B,CAAC,EAAY,MAAM,EAAY,QAAQ,CACzC,KAIJ,MAAM,EAAc,gBAClB;IAAE,GAAG;IAAY,gBAAgB;GAAkB,GACnD,CACF;EACF,SAAS,GAAG;GACV,IAAM,IAAM;GACZ,MAAU,MACR,yDACE,EAAI,UAAU,EAAI,SAEtB;EACF;CACF,GAEM,IAAwB,EAAY;EACxC,YAAY,YAAY;GACtB,IAAM,IAAa,MAAM,EAAc,cACrC,GACA,GACA,CACF,GACI;GACJ,IAAI;IACF,MAAM,EAAmB,EAAW,EAAG;GACzC,SAAS,GAAG;IACV,IAAY,EAAY;GAC1B;GACA,OAAO;IAAE;IAAY;GAAS;EAChC;EACA,UAAS,MAAS;GAEhB,EAAa,EAAa,UAAU,EAAM,SAAS,QAAQ;EAC7D;EACA,YAAY,EAAE,eAAY,kBAAe;GAavC,AARI,IACF,EAAa,GAAU,QAAQ,IAE/B,EAAa,mBAAmB,SAAS,GAE3C,EAAe,EAAE,GACjB,EAAe,EAAE,GACjB,EAAc,cAAc,GAC5B,EAAQ;GACR,IAAM,IAAO,YAAY,EAAW;GACpC,AAAI,IACF,EAAU,CAAI,IAEd,OAAO,SAAS,OAAO;EAE3B;CACF,CAAC;CA2DD,OACE,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;EACE,MAAM;EACN,OAAM;EACN,SArDJ,kBAAC,GAAD;GAAO,KAAK;aAAZ;IACE,kBAAC,GAAD;KACE,IAAG;KACH,OAAM;KACN,UAAA;KACA,aAAY;KACZ,OAAO;KACP,WAAA;KACA,WAAU,MAAS;MACjB,EAAe,EAAM,OAAO,KAAK;KACnC;KACA,WAAW,EACT,WAAW,EACT,YAAY,MAA2C;MACrD,AAAI,EAAM,QAAQ,WACZ,MAAgB,MAClB,EAAsB,OAAO;KAGnC,EACF,EACF;IACD,CAAA;IACD,kBAAC,GAAD;KACE,IAAG;KACH,OAAM;KACN,aAAY;KACZ,aAAY;KACZ,WAAA;KACA,SAAS;KACT,OAAO;KACP,WAAA;KACA,mBAAmB;KACnB,WAAU,MAAS;MACjB,EAAe,EAAM,OAAO,KAAK;KACnC;IACD,CAAA;IACD,kBAAC,GAAD;KACE,OAAO;KACP,UAAU;IACX,CAAA;IACD,kBAAC,GAAD;KAAO,UAAS;eAAU;IAGnB,CAAA;GACF;GAQM;EACT,oBAAoB;GAClB,UAAU;GACV,UAAU,EAAsB;GAChC,SAAS,EAAsB;EACjC;EACA,iBAAiB;GACf,EAAsB,OAAO;EAC/B;EACA,gBAvEa;GAKjB,AAJA,EAAe,EAAE,GACjB,EAAe,EAAE,GACjB,EAAc,cAAc,GAC5B,EAAsB,MAAM,GAC5B,EAAQ;EACV;EAkEM,UAAS;EACT,OAAA;CACD,CAAA,EACD,CAAA;AAEN"}