synapse-react-client 4.0.19 → 4.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1619) hide show
  1. package/dist/SWC.index.d.ts +1 -1
  2. package/dist/SWC.index.js +1 -1
  3. package/dist/SWC.index.js.map +1 -1
  4. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  5. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  6. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  7. package/dist/assets/GoogleIcon.js.map +1 -1
  8. package/dist/assets/GoogleIcon24.js.map +1 -1
  9. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  11. package/dist/assets/homepage/aacr.js.map +1 -1
  12. package/dist/assets/homepage/cri.js.map +1 -1
  13. package/dist/assets/homepage/ctf.js.map +1 -1
  14. package/dist/assets/homepage/egress.js.map +1 -1
  15. package/dist/assets/homepage/facebook.js.map +1 -1
  16. package/dist/assets/homepage/fisma.js.map +1 -1
  17. package/dist/assets/homepage/gff.js.map +1 -1
  18. package/dist/assets/homepage/github.js.map +1 -1
  19. package/dist/assets/homepage/gray.js.map +1 -1
  20. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  21. package/dist/assets/homepage/instagram.js.map +1 -1
  22. package/dist/assets/homepage/linkedin.js.map +1 -1
  23. package/dist/assets/homepage/ml-commons.js.map +1 -1
  24. package/dist/assets/homepage/nih-aging.js.map +1 -1
  25. package/dist/assets/homepage/nih-heart.js.map +1 -1
  26. package/dist/assets/homepage/nih-nci.js.map +1 -1
  27. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  28. package/dist/assets/homepage/ntap.js.map +1 -1
  29. package/dist/assets/homepage/plan-item.js.map +1 -1
  30. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  31. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  32. package/dist/assets/homepage/python.js.map +1 -1
  33. package/dist/assets/homepage/r.js.map +1 -1
  34. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  35. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  36. package/dist/assets/homepage/sloan.js.map +1 -1
  37. package/dist/assets/homepage/twitter.js.map +1 -1
  38. package/dist/assets/homepage/users.js.map +1 -1
  39. package/dist/assets/homepage/youtube.js.map +1 -1
  40. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  41. package/dist/assets/icons/AccessPending.js.map +1 -1
  42. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  43. package/dist/assets/icons/AddAd.js.map +1 -1
  44. package/dist/assets/icons/AddToList.js.map +1 -1
  45. package/dist/assets/icons/Alert.js.map +1 -1
  46. package/dist/assets/icons/Arrow.js.map +1 -1
  47. package/dist/assets/icons/AwardScroll.js.map +1 -1
  48. package/dist/assets/icons/Baseline.js.map +1 -1
  49. package/dist/assets/icons/Cavatica.js.map +1 -1
  50. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  51. package/dist/assets/icons/Challenge.js.map +1 -1
  52. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  58. package/dist/assets/icons/ClappingHands.js.map +1 -1
  59. package/dist/assets/icons/CloudWarning.js.map +1 -1
  60. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  61. package/dist/assets/icons/CreateVersion.js.map +1 -1
  62. package/dist/assets/icons/DNA_Two.js.map +1 -1
  63. package/dist/assets/icons/Data2.js.map +1 -1
  64. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  65. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  66. package/dist/assets/icons/FileWithShield.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  68. package/dist/assets/icons/FrontHand.js.map +1 -1
  69. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  70. package/dist/assets/icons/IconCopy.js.map +1 -1
  71. package/dist/assets/icons/IconMinus.js.map +1 -1
  72. package/dist/assets/icons/IconPlus.js.map +1 -1
  73. package/dist/assets/icons/Java.js.map +1 -1
  74. package/dist/assets/icons/MintDoi.js.map +1 -1
  75. package/dist/assets/icons/MultiFile.js.map +1 -1
  76. package/dist/assets/icons/MultiFile2.js.map +1 -1
  77. package/dist/assets/icons/NoData.js.map +1 -1
  78. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  79. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  80. package/dist/assets/icons/OpenBook.js.map +1 -1
  81. package/dist/assets/icons/Podium.js.map +1 -1
  82. package/dist/assets/icons/Python.js.map +1 -1
  83. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  84. package/dist/assets/icons/RLogo.js.map +1 -1
  85. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  86. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  87. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  88. package/dist/assets/icons/SearchImage.js.map +1 -1
  89. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  90. package/dist/assets/icons/Sort.js.map +1 -1
  91. package/dist/assets/icons/StarTrophy.js.map +1 -1
  92. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  93. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  94. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  95. package/dist/assets/icons/TasksIcon.js.map +1 -1
  96. package/dist/assets/icons/Terminal.js.map +1 -1
  97. package/dist/assets/icons/ThreeStars.js.map +1 -1
  98. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  100. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  101. package/dist/assets/icons/account-certified.js.map +1 -1
  102. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  103. package/dist/assets/icons/account-validated.js.map +1 -1
  104. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  105. package/dist/assets/icons/chart2.js.map +1 -1
  106. package/dist/assets/icons/columns.js.map +1 -1
  107. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  108. package/dist/assets/icons/computationalTool.js.map +1 -1
  109. package/dist/assets/icons/dataReuse.js.map +1 -1
  110. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  111. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  112. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  113. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  114. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  115. package/dist/assets/icons/file.js.map +1 -1
  116. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  117. package/dist/assets/icons/institution.js.map +1 -1
  118. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  119. package/dist/assets/icons/modelSystem.js.map +1 -1
  120. package/dist/assets/icons/mouse.js.map +1 -1
  121. package/dist/assets/icons/organizations.js.map +1 -1
  122. package/dist/assets/icons/person.js.map +1 -1
  123. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  124. package/dist/assets/icons/standardDataModel.js.map +1 -1
  125. package/dist/assets/icons/study-active.js.map +1 -1
  126. package/dist/assets/icons/study-complete.js.map +1 -1
  127. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  128. package/dist/assets/icons/synapse-logo.js.map +1 -1
  129. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  130. package/dist/assets/icons/translational.js.map +1 -1
  131. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  132. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  133. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  138. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  139. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/index.js.map +1 -1
  145. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  155. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  156. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  157. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  158. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  159. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  160. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  161. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  162. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  163. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  164. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  165. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  166. package/dist/assets/mui_components/Clinical.js.map +1 -1
  167. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  168. package/dist/assets/mui_components/Data.js.map +1 -1
  169. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  170. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  171. package/dist/assets/mui_components/Dataset.js.map +1 -1
  172. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  173. package/dist/assets/mui_components/Docker.js.map +1 -1
  174. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  175. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  176. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  177. package/dist/assets/mui_components/Imaging.js.map +1 -1
  178. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  179. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  180. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  181. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  182. package/dist/assets/mui_components/Other.js.map +1 -1
  183. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  185. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  186. package/dist/assets/mui_components/Rat.js.map +1 -1
  187. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  188. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  192. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  196. package/dist/assets/themed_icons/Active.js.map +1 -1
  197. package/dist/assets/themed_icons/Chart.js.map +1 -1
  198. package/dist/assets/themed_icons/Close.js.map +1 -1
  199. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  200. package/dist/assets/themed_icons/Columns.js.map +1 -1
  201. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  202. package/dist/assets/themed_icons/Database.js.map +1 -1
  203. package/dist/assets/themed_icons/Download.js.map +1 -1
  204. package/dist/assets/themed_icons/Expand.js.map +1 -1
  205. package/dist/assets/themed_icons/Explore.js.map +1 -1
  206. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  207. package/dist/assets/themed_icons/Filter.js.map +1 -1
  208. package/dist/assets/themed_icons/Program.js.map +1 -1
  209. package/dist/assets/themed_icons/Project.js.map +1 -1
  210. package/dist/assets/themed_icons/Publication.js.map +1 -1
  211. package/dist/assets/themed_icons/Search.js.map +1 -1
  212. package/dist/assets/themed_icons/Settings.js.map +1 -1
  213. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  214. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  215. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  216. package/dist/assets/themed_icons/Study.js.map +1 -1
  217. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  220. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  221. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  222. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  223. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  224. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  225. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  227. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  229. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  231. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  241. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  249. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  250. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  252. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  253. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  254. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  256. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  260. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  263. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  264. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  265. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  267. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  268. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  269. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  270. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  271. package/dist/components/AddToDownloadListV2.js.map +1 -1
  272. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  273. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  274. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  275. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  276. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  277. package/dist/components/Authentication/LoginForm.js.map +1 -1
  278. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  280. package/dist/components/Authentication/Logout.js.map +1 -1
  281. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  282. package/dist/components/Authentication/PasswordField.js.map +1 -1
  283. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  285. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  286. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  287. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  288. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  289. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  293. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  294. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  295. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  296. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  297. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  298. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  299. package/dist/components/CardContainer/CardConfiguration.d.ts +2 -0
  300. package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
  301. package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
  302. package/dist/components/CardContainer/CardContainer.js +3 -3
  303. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  304. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +1 -0
  305. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  306. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  307. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  308. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  309. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  310. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  311. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  312. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  313. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  314. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  315. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  316. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  317. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  322. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  323. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  324. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  325. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  326. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  330. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  332. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  333. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  334. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  335. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  336. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  337. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  338. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  339. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  340. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  341. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  342. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  343. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  344. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  345. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  346. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  347. package/dist/components/ComponentCollapse.js.map +1 -1
  348. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  349. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  350. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  351. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  352. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  353. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  354. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  355. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  356. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  357. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  358. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  359. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  360. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  361. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  362. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  363. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  364. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  365. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  366. package/dist/components/DataExplorer/DataExplorer.css +1 -1
  367. package/dist/components/DataExplorer/DataExplorer.js +28 -31
  368. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  369. package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
  370. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
  371. package/dist/components/DataExplorer/DataExplorer.module.scss +26 -6
  372. package/dist/components/DataGrid/DataGrid.js +72 -72
  373. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  374. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  375. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  376. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  377. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  378. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  379. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  380. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  381. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  382. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  383. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  384. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  387. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  389. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  390. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts +5 -3
  391. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  392. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +46 -47
  393. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  394. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  395. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  397. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  399. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  400. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  401. package/dist/components/DataGrid/hooks/useColumnResizeHandles.d.ts.map +1 -1
  402. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +3 -1
  403. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  405. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  408. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  409. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  410. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  411. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  412. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  413. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  414. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  415. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  416. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  417. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  418. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  419. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  420. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  421. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  422. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  423. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  424. package/dist/components/DataGrid/utils/columnFactory.js +1 -0
  425. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  426. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  427. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  428. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  430. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  431. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  432. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  436. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  437. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  438. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  445. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  446. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  447. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  448. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  449. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  450. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  451. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  452. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  453. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  454. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  455. package/dist/components/DialogBase.js.map +1 -1
  456. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  457. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  458. package/dist/components/DirectDownloadButton.js.map +1 -1
  459. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  460. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  461. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  462. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  463. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  464. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  465. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  470. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  471. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  472. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  473. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  474. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  475. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  476. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  477. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  478. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  479. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  480. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  481. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  483. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  484. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  485. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  486. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  487. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  488. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  489. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  490. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  491. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  492. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  493. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  494. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  495. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  496. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  497. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  498. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  499. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  501. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  502. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  503. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  504. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  505. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  506. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  511. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  513. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  515. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  529. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  530. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  532. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  533. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  534. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  535. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  536. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  540. package/dist/components/EntityIcon.js.map +1 -1
  541. package/dist/components/EntityLink.js.map +1 -1
  542. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  543. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  544. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  545. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  553. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  554. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  557. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  558. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  559. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  561. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  562. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  563. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  564. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  565. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  566. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  568. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  569. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  570. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  571. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  576. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  577. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  578. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  579. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  580. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  581. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  582. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  583. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  584. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  585. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  590. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  591. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  592. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  593. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  594. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  595. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  596. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  597. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  598. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  599. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  600. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  601. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  602. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  603. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  604. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  605. package/dist/components/Forum/ForumPage.js.map +1 -1
  606. package/dist/components/Forum/ForumTable.js.map +1 -1
  607. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  608. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  609. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  610. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  611. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  612. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  613. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  614. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  615. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  616. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  617. package/dist/components/GenericCard/GenericCard.d.ts +2 -0
  618. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js +76 -64
  620. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  623. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  624. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  625. package/dist/components/GenericCard/Linkify.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  627. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  629. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  630. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  631. package/dist/components/GenericCard/TableRowGenericCard.js +33 -25
  632. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  633. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  634. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  635. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  636. package/dist/components/Goals/Goals.js +25 -27
  637. package/dist/components/Goals/Goals.js.map +1 -1
  638. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  639. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  640. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  641. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  642. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  643. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  644. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  645. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  646. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  647. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  648. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  649. package/dist/components/HasAccess/AccessIcon.js +10 -10
  650. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  651. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  652. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  653. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  654. package/dist/components/HeaderCard.js.map +1 -1
  655. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  656. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  657. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  658. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  659. package/dist/components/Icon/Icon.js.map +1 -1
  660. package/dist/components/IconList.js.map +1 -1
  661. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  662. package/dist/components/IconSvgButton.js.map +1 -1
  663. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  664. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  665. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  666. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  667. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  668. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  669. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  670. package/dist/components/JsonLdScript.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  685. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  686. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  687. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  688. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  689. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  690. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  693. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  694. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  696. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  697. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  698. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  699. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  700. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  701. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  702. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  703. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  704. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  705. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  713. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  714. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  715. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  716. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  717. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  718. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  719. package/dist/components/MuiContainer.js.map +1 -1
  720. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  721. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  722. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  723. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  724. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  725. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  726. package/dist/components/Plot/BarPlot.js.map +1 -1
  727. package/dist/components/Plot/DotPlot.js.map +1 -1
  728. package/dist/components/Plot/Plot.d.ts +12 -1
  729. package/dist/components/Plot/Plot.d.ts.map +1 -1
  730. package/dist/components/Plot/Plot.js +5 -1
  731. package/dist/components/Plot/Plot.js.map +1 -1
  732. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  733. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  734. package/dist/components/Plot/SynapseSankeyPlot.css +1 -0
  735. package/dist/components/Plot/SynapseSankeyPlot.d.ts +54 -0
  736. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  737. package/dist/components/Plot/SynapseSankeyPlot.js +359 -0
  738. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  739. package/dist/components/Plot/SynapseSankeyPlot.module.js +15 -0
  740. package/dist/components/Plot/SynapseSankeyPlot.module.js.map +1 -0
  741. package/dist/components/Plot/SynapseSankeyPlot.module.scss +63 -0
  742. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  743. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  744. package/dist/components/Plot/index.d.ts +3 -1
  745. package/dist/components/Plot/index.d.ts.map +1 -1
  746. package/dist/components/Plot/index.js +2 -1
  747. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  748. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  749. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  750. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  751. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  752. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  753. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  754. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  755. package/dist/components/PortalList/PortalCard.js.map +1 -1
  756. package/dist/components/PortalList/PortalList.js.map +1 -1
  757. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  758. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  759. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  760. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  761. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  762. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  763. package/dist/components/Programs/Programs.js.map +1 -1
  764. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  768. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  770. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  771. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  772. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  773. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  774. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  775. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  776. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  777. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  778. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  779. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  780. package/dist/components/QuerySortSelector.js.map +1 -1
  781. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  782. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  783. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  784. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  785. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  786. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  787. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  788. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  789. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  790. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  791. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  792. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  793. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  794. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  795. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  796. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  800. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  801. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  802. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  803. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  804. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  805. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  808. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  809. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  810. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  811. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  812. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  813. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  814. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  815. package/dist/components/Resources/Resources.js +8 -11
  816. package/dist/components/Resources/Resources.js.map +1 -1
  817. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  818. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  819. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  820. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  827. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  828. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  829. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +13 -12
  830. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +88 -77
  832. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  833. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  834. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  835. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  839. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  840. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  841. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  842. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  843. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  844. package/dist/components/SignInButton.js.map +1 -1
  845. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  848. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  849. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  850. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  851. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  852. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  853. package/dist/components/SourceAppImage.js.map +1 -1
  854. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  855. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  856. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  857. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  858. package/dist/components/StatisticsPlot.js.map +1 -1
  859. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  860. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  861. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  862. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  863. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  864. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  865. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  866. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  867. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  868. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  869. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  870. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  871. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  872. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  873. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  874. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  875. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  876. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  877. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  878. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  879. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  880. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  881. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  882. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  883. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  884. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  885. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  886. package/dist/components/SynapseForm/Header.js.map +1 -1
  887. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  888. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  889. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  890. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  891. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  892. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  893. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  894. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  895. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  896. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  897. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  898. package/dist/components/SynapseForm/types.js.map +1 -1
  899. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  900. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  901. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  902. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  903. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  904. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  905. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  906. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  907. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  908. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  909. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  910. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  911. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  912. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  913. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  914. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  915. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  916. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  917. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  918. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  919. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  920. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  921. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  922. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  923. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  924. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  925. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  926. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  927. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  928. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  929. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  930. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  931. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  932. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  933. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  934. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  935. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  936. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  937. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  938. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  939. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  940. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  941. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  942. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  943. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  944. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  945. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  946. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  947. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  948. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  949. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  950. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  951. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  952. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  953. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  954. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  955. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  956. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  957. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  958. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  959. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  960. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  961. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  962. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  963. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  964. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  965. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  966. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  967. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  968. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  969. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  970. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  971. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +63 -74
  973. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  974. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  977. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  979. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  980. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  981. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  983. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  986. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  987. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  989. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  990. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  991. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  992. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  993. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.d.ts.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +72 -68
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +27 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +47 -36
  1006. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +10 -10
  1008. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.d.ts +12 -12
  1011. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts +4 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts +167 -517
  1016. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts.map +1 -1
  1017. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js +65 -65
  1018. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1019. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts +1 -1
  1020. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts.map +1 -1
  1021. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1022. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1023. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts +1 -1
  1024. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts.map +1 -1
  1025. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js +6 -13
  1026. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1027. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts +1 -1
  1028. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts.map +1 -1
  1029. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1030. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1031. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts +1 -1
  1032. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts.map +1 -1
  1033. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js +2 -2
  1034. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1035. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts +1 -1
  1036. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts.map +1 -1
  1037. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1038. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts +2 -2
  1039. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts.map +1 -1
  1040. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js +15 -16
  1041. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1042. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1043. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1044. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1045. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1046. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1047. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1048. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1049. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1050. package/dist/components/TeamBadge.js.map +1 -1
  1051. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1052. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1053. package/dist/components/TemplateComponent.js.map +1 -1
  1054. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1055. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1056. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1057. package/dist/components/TextField/TextField.js.map +1 -1
  1058. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1059. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1060. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1061. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1062. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1063. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1064. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1065. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1066. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1067. package/dist/components/TotalQueryResults.js.map +1 -1
  1068. package/dist/components/UserCard/Avatar.js.map +1 -1
  1069. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1070. package/dist/components/UserCard/UserCard.js.map +1 -1
  1071. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1072. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1073. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1074. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1075. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1076. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1077. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1078. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1079. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1080. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1081. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1082. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1083. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1084. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1085. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1086. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1087. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1088. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1089. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1090. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1091. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1092. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1093. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1094. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1095. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1096. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1097. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1098. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1099. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1100. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1101. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1102. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1103. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1104. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1105. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1106. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1107. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1108. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1109. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1110. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1111. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1112. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1113. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1114. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1115. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1116. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1117. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1118. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1119. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1120. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1121. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1122. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1123. package/dist/components/download_list/index.js.map +1 -1
  1124. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1125. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1126. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1127. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1128. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1129. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1130. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1131. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1132. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1133. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1134. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1135. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1136. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1137. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1138. package/dist/components/error/ErrorBanner.js.map +1 -1
  1139. package/dist/components/error/ErrorChip.js.map +1 -1
  1140. package/dist/components/error/ErrorPage.js +24 -24
  1141. package/dist/components/error/ErrorPage.js.map +1 -1
  1142. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1143. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1144. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1145. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1146. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1147. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1148. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1149. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1150. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1151. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1152. package/dist/components/index.js +48 -47
  1153. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1154. package/dist/components/layout/SWCHeader.js.map +1 -1
  1155. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1156. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1157. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1158. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1159. package/dist/components/row_renderers/Funder.js.map +1 -1
  1160. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1161. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1162. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1163. package/dist/components/styled/HoverPopover.js.map +1 -1
  1164. package/dist/components/styled/InlineBadge.js.map +1 -1
  1165. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1166. package/dist/components/styled/LargeButton.js.map +1 -1
  1167. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1168. package/dist/components/styled/LightTooltip.js.map +1 -1
  1169. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1170. package/dist/components/styled/StyledPopover.js.map +1 -1
  1171. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1172. package/dist/components/styled/WideButton.js.map +1 -1
  1173. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +39 -42
  1174. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
  1175. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1176. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1177. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  1178. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
  1179. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
  1180. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
  1181. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
  1182. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
  1183. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
  1184. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1185. package/dist/components/trash/TrashCanList.js.map +1 -1
  1186. package/dist/components/utils/Blocker.js.map +1 -1
  1187. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1188. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1189. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1190. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1191. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1192. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1193. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1194. package/dist/components/widgets/Range.js.map +1 -1
  1195. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1196. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1197. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1203. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1204. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1205. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1206. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1217. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1219. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1220. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1221. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1222. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1223. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1224. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1225. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1226. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1227. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1228. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1229. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1230. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1231. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1233. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1234. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1235. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1237. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1238. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1246. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1247. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
  1249. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1251. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1254. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1255. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1256. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1257. package/dist/index.js +54 -53
  1258. package/dist/index.js.map +1 -1
  1259. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1260. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1261. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1262. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1263. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1264. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1265. package/dist/mocks/chat/mockChat.js.map +1 -1
  1266. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1268. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1269. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1270. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1271. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1272. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1273. package/dist/mocks/entity/index.js.map +1 -1
  1274. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1275. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1276. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1279. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1280. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1281. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1282. package/dist/mocks/entity/mockProject.js.map +1 -1
  1283. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1284. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1285. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1286. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1287. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1288. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1289. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1290. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1291. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1292. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1293. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1294. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1295. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1296. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1297. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1298. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1299. package/dist/mocks/mockSchema.js.map +1 -1
  1300. package/dist/mocks/mockSearchQueryData.js +2 -2
  1301. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1302. package/dist/mocks/mockShortIo.js.map +1 -1
  1303. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1304. package/dist/mocks/mockSubscription.js.map +1 -1
  1305. package/dist/mocks/mockWiki.js.map +1 -1
  1306. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1307. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1308. package/dist/mocks/mock_file_handle.js.map +1 -1
  1309. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1310. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1311. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts +1 -1
  1337. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  1338. package/dist/mocks/msw/handlers/searchQueryHandlers.js +6 -3
  1339. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1344. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1345. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1346. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1347. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1348. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1349. package/dist/mocks/msw/handlers.js.map +1 -1
  1350. package/dist/mocks/msw/server.d.ts +1 -1
  1351. package/dist/mocks/msw/server.d.ts.map +1 -1
  1352. package/dist/mocks/msw/server.js.map +1 -1
  1353. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1354. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1355. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1356. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1357. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1358. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1359. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1360. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1361. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1362. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1363. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1364. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts +13 -0
  1365. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts.map +1 -1
  1366. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js +27 -0
  1367. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1368. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1369. package/dist/mocks/query/syn16787123.js.map +1 -1
  1370. package/dist/mocks/query/syn17328596.js.map +1 -1
  1371. package/dist/mocks/query/syn51735464.js.map +1 -1
  1372. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1373. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1374. package/dist/mocks/team/mockTeam.js.map +1 -1
  1375. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1376. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1377. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1378. package/dist/ror-client/index.js.map +1 -1
  1379. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1380. package/dist/stories/ToastDemo.js.map +1 -1
  1381. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1382. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1383. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1384. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1385. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1386. package/dist/style/components/_cards.scss +10 -0
  1387. package/dist/style/components/_data-grid-extra.css +1 -1
  1388. package/dist/style/components/_data-grid-extra.scss +7 -1
  1389. package/dist/style/main.css +1 -1
  1390. package/dist/synapse-client/HttpClient.js.map +1 -1
  1391. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1392. package/dist/synapse-client/SynapseClient.js +499 -505
  1393. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1394. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1395. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1396. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1397. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1398. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1399. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1400. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1401. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1402. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1403. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1404. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1405. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1406. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1407. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1408. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1409. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1410. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1411. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1412. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1413. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1414. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1415. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1416. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1417. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1418. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1423. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1424. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1425. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1426. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1427. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1428. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1429. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1430. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1431. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1432. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1433. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1434. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1435. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1436. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1437. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1438. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1439. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1440. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1441. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1442. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1443. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1444. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1445. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1446. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1447. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1448. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1449. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1450. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1451. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1452. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1453. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1454. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1455. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1456. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1457. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1458. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1459. package/dist/synapse-queries/ror/index.js.map +1 -1
  1460. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1461. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1462. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1463. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1464. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1465. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1466. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1467. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1468. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1469. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1470. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1471. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1472. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1473. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1474. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1475. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1476. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1477. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1478. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1479. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1480. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1481. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1482. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1483. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1484. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1485. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1486. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1487. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1488. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1489. package/dist/testutils/LocationTracker.js.map +1 -1
  1490. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1491. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1492. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1493. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1494. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1495. package/dist/testutils/vitest.setup.js.map +1 -1
  1496. package/dist/theme/DefaultTheme.js.map +1 -1
  1497. package/dist/theme/ThemeProvider.js.map +1 -1
  1498. package/dist/theme/mergeTheme.js.map +1 -1
  1499. package/dist/theme/palette/Palettes.js.map +1 -1
  1500. package/dist/theme/spreadSx.js.map +1 -1
  1501. package/dist/theme/typography/Link.js.map +1 -1
  1502. package/dist/theme/typography/Typography.js.map +1 -1
  1503. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1504. package/dist/utils/APIConstants.js.map +1 -1
  1505. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1506. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1507. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1508. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1509. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1510. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1511. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1512. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1513. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1514. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1515. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1516. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1517. package/dist/utils/SynapseConstants.js.map +1 -1
  1518. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1519. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1520. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1521. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1522. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1523. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1524. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1525. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1526. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1527. package/dist/utils/context/SynapseContext.js.map +1 -1
  1528. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1529. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1530. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1531. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1532. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1533. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1534. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1535. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1536. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1537. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1538. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1539. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1540. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1541. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1542. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1543. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1544. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1545. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1546. package/dist/utils/functions/StringUtils.js.map +1 -1
  1547. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1548. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1549. package/dist/utils/functions/colorPalette.js.map +1 -1
  1550. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1551. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1552. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1553. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1554. package/dist/utils/functions/getEndpoint.js +3 -3
  1555. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1556. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1557. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1558. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1559. package/dist/utils/functions/getUserData.js.map +1 -1
  1560. package/dist/utils/functions/queryUtils.js.map +1 -1
  1561. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1562. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1563. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1564. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1565. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1566. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1567. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1568. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1569. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1570. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1571. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1572. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1573. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1574. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1575. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1576. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1577. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1578. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1579. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1580. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1581. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1582. package/dist/utils/hooks/useListState.js.map +1 -1
  1583. package/dist/utils/hooks/useLogin.js.map +1 -1
  1584. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1585. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1586. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1587. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1588. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1589. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1590. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1591. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1592. package/dist/utils/hooks/useSet.js.map +1 -1
  1593. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1594. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1595. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1596. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1597. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1598. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1599. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1600. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1601. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1602. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1603. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1604. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1605. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1606. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1607. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1608. package/dist/utils/html/TargetEnum.js.map +1 -1
  1609. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1610. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1611. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1612. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1613. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1614. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1615. package/dist/utils/jsonschema/getType.js.map +1 -1
  1616. package/dist/utils/searchDefaults.js.map +1 -1
  1617. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1618. package/dist/utils/types/IsType.js.map +1 -1
  1619. package/package.json +68 -65
@@ -2,10 +2,10 @@ import { GRID_ROW_REACT_KEY_PROPERTY as e } from "./utils/DataGridUtils.js";
2
2
  import { calculateDefaultColumnWidth as t } from "./utils/calculateColumnWidth.js";
3
3
  import { modelColsToGrid as n } from "./utils/modelColsToGrid.js";
4
4
  import '../../style/components/_data-grid-extra.css';/* empty css */
5
- import { renderAddRowsComponent as r, renderRecordSetContextMenu as i, renderViewContextMenu as a } from "./components/contextMenu.js";
6
- import { getCellClassName as ee } from "./utils/getCellClassName.js";
7
- import { useColumnResizeHandles as te } from "./hooks/useColumnResizeHandles.js";
8
- import { useEffect as ne, useRef as o, useState as s } from "react";
5
+ import { renderAddRowsComponent as r, renderRecordSetContextMenu as i, renderViewContextMenu as ee } from "./components/contextMenu.js";
6
+ import { getCellClassName as te } from "./utils/getCellClassName.js";
7
+ import { useColumnResizeHandles as ne } from "./hooks/useColumnResizeHandles.js";
8
+ import { useEffect as a, useRef as o, useState as s } from "react";
9
9
  import { jsx as c } from "react/jsx-runtime";
10
10
  import l from "classnames";
11
11
  import { c as re } from "react/compiler-runtime";
@@ -13,17 +13,17 @@ import { DynamicDataSheetGrid as u } from "@sage-bionetworks/react-datasheet-gri
13
13
  import "@sage-bionetworks/react-datasheet-grid/dist/style.css";
14
14
  //#region src/components/DataGrid/DataGrid.tsx
15
15
  function d(d) {
16
- let p = re(43), { gridRef: m, rowValues: h, columnNames: g, columnOrder: _, schemaPropertiesInfo: v, entityIsView: y, jsonSchema: b, lastSelection: x, handleChange: S, handleSelectionChange: C, remoteSelections: w } = d, T;
17
- p[0] === Symbol.for("react.memo_cache_sentinel") ? (T = {}, p[0] = T) : T = p[0];
18
- let [E, D] = s(T), [O, k] = s(!1), A, j;
19
- p[1] !== g || p[2] !== _ || p[3] !== v ? (A = () => {
20
- !g || !_ || D((e) => {
21
- let n = _.map((e) => g[e]);
16
+ let f = re(42), { gridRef: p, rowValues: m, columnNames: h, columnOrder: g, schemaPropertiesInfo: _, entityIsView: v, jsonSchema: y, lastSelection: b, handleChange: x, handleSelectionChange: S, remoteSelections: C } = d, w;
17
+ f[0] === Symbol.for("react.memo_cache_sentinel") ? (w = {}, f[0] = w) : w = f[0];
18
+ let [T, E] = s(w), [D, O] = s(!1), k, A;
19
+ f[1] !== h || f[2] !== g || f[3] !== _ ? (k = () => {
20
+ !h || !g || E((e) => {
21
+ let n = g.map((e) => h[e]);
22
22
  if (!n.some((t) => !e[t])) return e;
23
23
  let r = { ...e };
24
24
  return n.forEach((e, n) => {
25
25
  if (!r[e]) {
26
- let i = v[e];
26
+ let i = _[e];
27
27
  r[e] = t(e, i, {
28
28
  showPinIcon: n === 0,
29
29
  hasDescription: !!i?.description
@@ -31,99 +31,99 @@ function d(d) {
31
31
  }
32
32
  }), r;
33
33
  });
34
- }, j = [
34
+ }, A = [
35
+ h,
35
36
  g,
36
- _,
37
- v
38
- ], p[1] = g, p[2] = _, p[3] = v, p[4] = A, p[5] = j) : (A = p[4], j = p[5]), ne(A, j);
39
- let M;
40
- p[6] === _ ? M = p[7] : (M = (e) => {
41
- typeof e != "number" || e < 0 || !_ || e >= _.length || e === 0 && k(f);
42
- }, p[6] = _, p[7] = M);
43
- let N = M, P;
44
- p[8] === O ? P = p[9] : (P = O ? new Set([0]) : /* @__PURE__ */ new Set(), p[8] = O, p[9] = P);
45
- let F = P, I;
46
- p[10] !== g || p[11] !== _ || p[12] !== E || p[13] !== N || p[14] !== F || p[15] !== v ? (I = n(g, _, v, E, F, N), p[10] = g, p[11] = _, p[12] = E, p[13] = N, p[14] = F, p[15] = v, p[16] = I) : I = p[16];
47
- let L = I, [R, ae] = s(null), z = y ? a : i, B = y ? !1 : r, V;
48
- p[17] !== b || p[18] !== R ? (V = (e) => {
37
+ _
38
+ ], f[1] = h, f[2] = g, f[3] = _, f[4] = k, f[5] = A) : (k = f[4], A = f[5]), a(k, A);
39
+ let j;
40
+ f[6] === g ? j = f[7] : (j = (e) => {
41
+ typeof e != "number" || e < 0 || !g || e >= g.length || e === 0 && O(ae);
42
+ }, f[6] = g, f[7] = j);
43
+ let M = j, N;
44
+ f[8] === D ? N = f[9] : (N = D ? new Set([0]) : /* @__PURE__ */ new Set(), f[8] = D, f[9] = N);
45
+ let P = N, F;
46
+ f[10] !== h || f[11] !== g || f[12] !== T || f[13] !== M || f[14] !== P || f[15] !== _ ? (F = n(h, g, _, T, P, M), f[10] = h, f[11] = g, f[12] = T, f[13] = M, f[14] = P, f[15] = _, f[16] = F) : F = f[16];
47
+ let I = F, [L, R] = s(null), z = v ? ee : i, B = v ? !1 : r, V;
48
+ f[17] !== y || f[18] !== L ? (V = (e) => {
49
49
  let { rowData: t, rowIndex: n } = e;
50
50
  return l({
51
- "row-valid": !!b && t.__validationStatus === "valid",
52
- "row-invalid": !!b && t.__validationStatus === "invalid",
53
- "row-unknown": !!b && t.__validationStatus === "pending",
54
- "row-selected": R === n
51
+ "row-valid": !!y && t.__validationStatus === "valid",
52
+ "row-invalid": !!y && t.__validationStatus === "invalid",
53
+ "row-unknown": !!y && t.__validationStatus === "pending",
54
+ "row-selected": L === n
55
55
  });
56
- }, p[17] = b, p[18] = R, p[19] = V) : V = p[19];
56
+ }, f[17] = y, f[18] = L, f[19] = V) : V = f[19];
57
57
  let H = V, U;
58
- p[20] !== L || p[21] !== x || p[22] !== w || p[23] !== R ? (U = (e) => {
58
+ f[20] !== I || f[21] !== b || f[22] !== C || f[23] !== L ? (U = (e) => {
59
59
  let { rowData: t, rowIndex: n, columnId: r } = e;
60
- return ee({
60
+ return te({
61
61
  rowData: t,
62
62
  rowIndex: n,
63
63
  columnId: r || "",
64
- selectedRowIndex: R,
65
- lastSelection: x,
66
- colValues: L,
67
- remoteSelections: w
64
+ selectedRowIndex: L,
65
+ lastSelection: b,
66
+ colValues: I,
67
+ remoteSelections: C
68
68
  });
69
- }, p[20] = L, p[21] = x, p[22] = w, p[23] = R, p[24] = U) : U = p[24];
70
- let W = U, oe = ie, G;
71
- p[25] === Symbol.for("react.memo_cache_sentinel") ? (G = (e) => {
69
+ }, f[20] = I, f[21] = b, f[22] = C, f[23] = L, f[24] = U) : U = f[24];
70
+ let W = U, G = ie, K;
71
+ f[25] === Symbol.for("react.memo_cache_sentinel") ? (K = (e) => {
72
72
  let { cell: t } = e;
73
- ae(t ? t.row : null);
74
- }, p[25] = G) : G = p[25];
75
- let se = G, K = o(null), q = o(null), J;
76
- p[26] === m ? J = p[27] : (J = (e, t) => {
77
- if (m.current) {
78
- let e = m.current.activeCell;
79
- e ? q.current = {
73
+ R(t ? t.row : null);
74
+ }, f[25] = K) : K = f[25];
75
+ let oe = K, q = o(null), J = o(null), Y;
76
+ f[26] === p ? Y = f[27] : (Y = (e, t) => {
77
+ if (p.current) {
78
+ let e = p.current.activeCell;
79
+ e ? J.current = {
80
80
  col: e.col,
81
81
  row: e.row
82
- } : q.current = null;
82
+ } : J.current = null;
83
83
  }
84
- D((n) => ({
84
+ E((n) => ({
85
85
  ...n,
86
86
  [e]: t
87
87
  }));
88
- }, p[26] = m, p[27] = J);
89
- let Y = J, X;
90
- p[28] !== L || p[29] !== Y ? (X = {
91
- wrapperRef: K,
92
- colValues: L,
93
- onColumnResize: Y
94
- }, p[28] = L, p[29] = Y, p[30] = X) : X = p[30], te(X);
95
- let Z;
96
- p[31] === Symbol.for("react.memo_cache_sentinel") ? (Z = {
88
+ }, f[26] = p, f[27] = Y);
89
+ let X = Y, Z;
90
+ f[28] !== I || f[29] !== X ? (Z = {
91
+ wrapperRef: q,
92
+ colValues: I,
93
+ onColumnResize: X
94
+ }, f[28] = I, f[29] = X, f[30] = Z) : Z = f[30], ne(Z);
95
+ let Q;
96
+ f[31] === Symbol.for("react.memo_cache_sentinel") ? (Q = {
97
97
  position: "relative",
98
98
  width: "100%"
99
- }, p[31] = Z) : Z = p[31];
100
- let Q = !y, $;
101
- return p[32] !== B || p[33] !== W || p[34] !== L || p[35] !== z || p[36] !== m || p[37] !== S || p[38] !== C || p[39] !== H || p[40] !== h || p[41] !== Q ? ($ = /* @__PURE__ */ c("div", {
102
- ref: K,
103
- style: Z,
99
+ }, f[31] = Q) : Q = f[31];
100
+ let $;
101
+ return f[32] !== B || f[33] !== W || f[34] !== I || f[35] !== z || f[36] !== p || f[37] !== x || f[38] !== S || f[39] !== H || f[40] !== m ? ($ = /* @__PURE__ */ c("div", {
102
+ ref: q,
103
+ style: Q,
104
104
  children: /* @__PURE__ */ c(u, {
105
- ref: m,
106
- value: h,
107
- columns: L,
108
- autoAddRow: Q,
105
+ ref: p,
106
+ value: m,
107
+ columns: I,
108
+ autoAddRow: !1,
109
109
  disableSmartDelete: !0,
110
110
  addRowsComponent: B,
111
111
  contextMenuComponent: z,
112
112
  rowKey: e,
113
113
  rowClassName: H,
114
114
  cellClassName: W,
115
- duplicateRow: oe,
116
- onChange: S,
117
- onActiveCellChange: se,
118
- onSelectionChange: C
115
+ duplicateRow: G,
116
+ onChange: x,
117
+ onActiveCellChange: oe,
118
+ onSelectionChange: S
119
119
  })
120
- }), p[32] = B, p[33] = W, p[34] = L, p[35] = z, p[36] = m, p[37] = S, p[38] = C, p[39] = H, p[40] = h, p[41] = Q, p[42] = $) : $ = p[42], $;
120
+ }), f[32] = B, f[33] = W, f[34] = I, f[35] = z, f[36] = p, f[37] = x, f[38] = S, f[39] = H, f[40] = m, f[41] = $) : $ = f[41], $;
121
121
  }
122
122
  function ie(e) {
123
123
  let { rowData: t } = e;
124
124
  return { ...t };
125
125
  }
126
- function f(e) {
126
+ function ae(e) {
127
127
  return !e;
128
128
  }
129
129
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","names":["modelColsToGrid","SchemaPropertiesMap","classNames","JSONSchema7","useEffect","useMemo","useState","useRef","useCallback","DynamicDataSheetGrid","DataSheetGridRef","SelectionWithId","renderAddRowsComponent","renderRecordSetContextMenu","renderViewContextMenu","DataGridRow","Operation","GRID_ROW_REACT_KEY_PROPERTY","getCellClassName","useColumnResizeHandles","calculateDefaultColumnWidth","HeaderOptions","RemoteSelection","DataGridProps","gridRef","React","RefObject","columnNames","columnOrder","schemaPropertiesInfo","rowValues","entityIsView","jsonSchema","lastSelection","handleChange","newValue","operations","handleSelectionChange","opts","selection","remoteSelections","DataGrid","props","$","_c","t0","Symbol","for","columnWidths","setColumnWidths","isPinned","setIsPinned","t1","t2","prev","modelColumnNames","map","idx","needsUpdate","some","name","newWidths","forEach","columnName","arrayIndex","propertyInfo","headerOptions","showPinIcon","hasDescription","description","t3","columnIndex","length","_temp","handleTogglePin","t4","Set","pinnedColumnsSet","t5","colValues","selectedRowIndex","setSelectedRowIndex","contextMenuComponent","addRowsComponent","t6","t7","rowData","rowIndex","__validationStatus","rowClassNameCallback","t8","rowData_0","rowIndex_0","columnId","cellClassNameCallback","duplicateRowCallback","_temp2","t9","cell","row","handleActiveCellChange","wrapperRef","activeCellBeforeResizeRef","columnName_0","newWidth","current","activeCell","col","prev_1","handleColumnResize","t10","onColumnResize","t11","position","width","t12","t13","rowData_1","prev_0"],"sources":["../../../src/components/DataGrid/DataGrid.tsx"],"sourcesContent":["import { modelColsToGrid } from '@/components/DataGrid/utils/modelColsToGrid'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport classNames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\nimport { useEffect, useMemo, useState, useRef, useCallback } from 'react'\nimport {\n DynamicDataSheetGrid,\n DataSheetGridRef,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport '@sage-bionetworks/react-datasheet-grid/dist/style.css'\nimport '../../style/components/_data-grid-extra.scss'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\nimport {\n renderAddRowsComponent,\n renderRecordSetContextMenu,\n renderViewContextMenu,\n} from './components/contextMenu'\nimport { DataGridRow, Operation } from './DataGridTypes'\nimport { GRID_ROW_REACT_KEY_PROPERTY } from './utils/DataGridUtils'\nimport { getCellClassName } from './utils/getCellClassName'\nimport { useColumnResizeHandles } from './hooks/useColumnResizeHandles'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './utils/calculateColumnWidth'\nimport type { RemoteSelection } from './hooks/useRemoteSelections'\n\ntype DataGridProps = {\n gridRef: React.RefObject<DataSheetGridRef | null>\n columnNames: string[]\n columnOrder: number[]\n schemaPropertiesInfo: SchemaPropertiesMap\n rowValues: DataGridRow[]\n entityIsView: boolean\n jsonSchema: JSONSchema7 | undefined\n lastSelection: SelectionWithId | null\n handleChange: (newValue: DataGridRow[], operations: Operation[]) => void\n handleSelectionChange: (opts: { selection: SelectionWithId | null }) => void\n remoteSelections?: readonly RemoteSelection[]\n}\n\n/**\n * Component that renders a data grid/spreadsheet using react-datasheet-grid.\n * @param props\n * @constructor\n */\nexport default function DataGrid(props: DataGridProps) {\n const {\n gridRef,\n rowValues,\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n entityIsView,\n jsonSchema,\n lastSelection,\n handleChange,\n handleSelectionChange,\n remoteSelections,\n } = props\n\n // Move columnWidths state into DataGrid\n const [columnWidths, setColumnWidths] = useState<Record<string, number>>({})\n\n // Pin state management for first column\n const [isPinned, setIsPinned] = useState(false)\n\n // Initialize column widths with defaults when columns first become available\n useEffect(() => {\n if (!columnNames || !columnOrder) {\n return\n }\n\n // Initialize widths for any columns that don't have them yet\n setColumnWidths(prev => {\n const modelColumnNames = columnOrder.map(idx => columnNames[idx])\n\n // Check if any columns need initialization\n const needsUpdate = modelColumnNames.some(name => !prev[name])\n\n if (!needsUpdate) {\n return prev // Return same reference to avoid triggering updates\n }\n\n const newWidths = { ...prev }\n modelColumnNames.forEach((columnName, arrayIndex) => {\n if (!newWidths[columnName]) {\n // Calculate default width using centralized function\n const propertyInfo = schemaPropertiesInfo[columnName]\n const headerOptions: HeaderOptions = {\n showPinIcon: arrayIndex === 0,\n hasDescription: !!propertyInfo?.description,\n }\n newWidths[columnName] = calculateDefaultColumnWidth(\n columnName,\n propertyInfo,\n headerOptions,\n )\n }\n })\n return newWidths\n })\n }, [columnNames, columnOrder, schemaPropertiesInfo])\n\n // Handler to toggle pin state for the first column only\n const handleTogglePin = useCallback(\n (columnIndex: number) => {\n // Validate columnIndex\n if (\n typeof columnIndex !== 'number' ||\n columnIndex < 0 ||\n !columnOrder ||\n columnIndex >= columnOrder.length\n ) {\n return\n }\n\n if (columnIndex !== 0) return // Only allow first column pinning\n\n setIsPinned(prev => !prev)\n },\n [columnOrder],\n )\n\n // Memoize the pinned columns set to prevent recalculation during scroll\n const pinnedColumnsSet = useMemo<Set<number>>(() => {\n return isPinned ? new Set([0]) : new Set()\n }, [isPinned])\n\n const colValues = useMemo(\n () =>\n modelColsToGrid(\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n columnWidths,\n pinnedColumnsSet,\n handleTogglePin,\n ),\n [\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n columnWidths,\n pinnedColumnsSet,\n handleTogglePin,\n ],\n )\n const [selectedRowIndex, setSelectedRowIndex] = useState<number | null>(null)\n\n // Memoize contextMenuComponent\n const contextMenuComponent = useMemo(\n () => (entityIsView ? renderViewContextMenu : renderRecordSetContextMenu),\n [entityIsView],\n )\n\n // Memoize addRowsComponent\n const addRowsComponent = useMemo(\n () => (entityIsView ? false : renderAddRowsComponent),\n [entityIsView],\n )\n\n // Wrap rowClassName in useCallback\n const rowClassNameCallback = useCallback(\n ({ rowData, rowIndex }: { rowData: DataGridRow; rowIndex: number }) =>\n classNames({\n 'row-valid': !!jsonSchema && rowData.__validationStatus === 'valid',\n 'row-invalid': !!jsonSchema && rowData.__validationStatus === 'invalid',\n 'row-unknown': !!jsonSchema && rowData.__validationStatus === 'pending',\n 'row-selected': selectedRowIndex === rowIndex,\n }),\n [jsonSchema, selectedRowIndex],\n )\n\n // Wrap cellClassName in useCallback\n const cellClassNameCallback = useCallback(\n ({\n rowData,\n rowIndex,\n columnId,\n }: {\n rowData: unknown\n rowIndex: number\n columnId?: string\n }) => {\n return getCellClassName({\n rowData: rowData as DataGridRow,\n rowIndex,\n columnId: columnId || '',\n selectedRowIndex,\n lastSelection,\n colValues,\n remoteSelections,\n })\n },\n [selectedRowIndex, lastSelection, colValues, remoteSelections],\n )\n\n // Wrap duplicateRow in useCallback\n const duplicateRowCallback = useCallback(\n ({ rowData }: { rowData: DataGridRow }) => ({\n ...rowData,\n }),\n [],\n )\n\n // Wrap onActiveCellChange in useCallback\n const handleActiveCellChange = useCallback(\n ({ cell }: { cell: { row: number; col: number } | null }) => {\n setSelectedRowIndex(cell ? cell.row : null)\n },\n [],\n )\n\n // Wrapper ref for the grid container\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n\n // Store the active cell before column resize so we can restore it\n const activeCellBeforeResizeRef = useRef<{ col: number; row: number } | null>(\n null,\n )\n\n // Handle column resize callback\n const handleColumnResize = useCallback(\n (columnName: string, newWidth: number) => {\n // Save the current active cell before updating widths (which will trigger remount)\n if (gridRef.current) {\n const activeCell = gridRef.current.activeCell\n if (activeCell) {\n activeCellBeforeResizeRef.current = {\n col: activeCell.col,\n row: activeCell.row,\n }\n } else {\n // Explicitly clear the ref if there's no active cell\n activeCellBeforeResizeRef.current = null\n }\n }\n\n setColumnWidths(prev => ({\n ...prev,\n [columnName]: newWidth,\n }))\n },\n [gridRef],\n )\n\n // Setup column resize handles\n useColumnResizeHandles({\n wrapperRef,\n colValues,\n onColumnResize: handleColumnResize,\n })\n\n return (\n <div ref={wrapperRef} style={{ position: 'relative', width: '100%' }}>\n <DynamicDataSheetGrid\n ref={gridRef}\n value={rowValues}\n columns={colValues}\n autoAddRow={!entityIsView}\n disableSmartDelete\n addRowsComponent={addRowsComponent}\n contextMenuComponent={contextMenuComponent}\n rowKey={GRID_ROW_REACT_KEY_PROPERTY}\n rowClassName={rowClassNameCallback}\n cellClassName={cellClassNameCallback}\n duplicateRow={duplicateRowCallback}\n onChange={handleChange}\n onActiveCellChange={handleActiveCellChange}\n onSelectionChange={handleSelectionChange}\n />\n </div>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","names":["modelColsToGrid","SchemaPropertiesMap","classNames","JSONSchema7","useEffect","useMemo","useState","useRef","useCallback","DynamicDataSheetGrid","DataSheetGridRef","SelectionWithId","renderAddRowsComponent","renderRecordSetContextMenu","renderViewContextMenu","DataGridRow","Operation","GRID_ROW_REACT_KEY_PROPERTY","getCellClassName","useColumnResizeHandles","calculateDefaultColumnWidth","HeaderOptions","RemoteSelection","DataGridProps","gridRef","React","RefObject","columnNames","columnOrder","schemaPropertiesInfo","rowValues","entityIsView","jsonSchema","lastSelection","handleChange","newValue","operations","handleSelectionChange","opts","selection","remoteSelections","DataGrid","props","$","_c","t0","Symbol","for","columnWidths","setColumnWidths","isPinned","setIsPinned","t1","t2","prev","modelColumnNames","map","idx","needsUpdate","some","name","newWidths","forEach","columnName","arrayIndex","propertyInfo","headerOptions","showPinIcon","hasDescription","description","t3","columnIndex","length","_temp","handleTogglePin","t4","Set","pinnedColumnsSet","t5","colValues","selectedRowIndex","setSelectedRowIndex","contextMenuComponent","addRowsComponent","t6","t7","rowData","rowIndex","__validationStatus","rowClassNameCallback","t8","rowData_0","rowIndex_0","columnId","cellClassNameCallback","duplicateRowCallback","_temp2","t9","cell","row","handleActiveCellChange","wrapperRef","activeCellBeforeResizeRef","columnName_0","newWidth","current","activeCell","col","prev_1","handleColumnResize","t10","onColumnResize","t11","position","width","t12","rowData_1","prev_0"],"sources":["../../../src/components/DataGrid/DataGrid.tsx"],"sourcesContent":["import { modelColsToGrid } from '@/components/DataGrid/utils/modelColsToGrid'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport classNames from 'classnames'\nimport { JSONSchema7 } from 'json-schema'\nimport { useEffect, useMemo, useState, useRef, useCallback } from 'react'\nimport {\n DynamicDataSheetGrid,\n DataSheetGridRef,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport '@sage-bionetworks/react-datasheet-grid/dist/style.css'\nimport '../../style/components/_data-grid-extra.scss'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\nimport {\n renderAddRowsComponent,\n renderRecordSetContextMenu,\n renderViewContextMenu,\n} from './components/contextMenu'\nimport { DataGridRow, Operation } from './DataGridTypes'\nimport { GRID_ROW_REACT_KEY_PROPERTY } from './utils/DataGridUtils'\nimport { getCellClassName } from './utils/getCellClassName'\nimport { useColumnResizeHandles } from './hooks/useColumnResizeHandles'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './utils/calculateColumnWidth'\nimport type { RemoteSelection } from './hooks/useRemoteSelections'\n\ntype DataGridProps = {\n gridRef: React.RefObject<DataSheetGridRef | null>\n columnNames: string[]\n columnOrder: number[]\n schemaPropertiesInfo: SchemaPropertiesMap\n rowValues: DataGridRow[]\n entityIsView: boolean\n jsonSchema: JSONSchema7 | undefined\n lastSelection: SelectionWithId | null\n handleChange: (newValue: DataGridRow[], operations: Operation[]) => void\n handleSelectionChange: (opts: { selection: SelectionWithId | null }) => void\n remoteSelections?: readonly RemoteSelection[]\n}\n\n/**\n * Component that renders a data grid/spreadsheet using react-datasheet-grid.\n * @param props\n * @constructor\n */\nexport default function DataGrid(props: DataGridProps) {\n const {\n gridRef,\n rowValues,\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n entityIsView,\n jsonSchema,\n lastSelection,\n handleChange,\n handleSelectionChange,\n remoteSelections,\n } = props\n\n // Move columnWidths state into DataGrid\n const [columnWidths, setColumnWidths] = useState<Record<string, number>>({})\n\n // Pin state management for first column\n const [isPinned, setIsPinned] = useState(false)\n\n // Initialize column widths with defaults when columns first become available\n useEffect(() => {\n if (!columnNames || !columnOrder) {\n return\n }\n\n // Initialize widths for any columns that don't have them yet\n setColumnWidths(prev => {\n const modelColumnNames = columnOrder.map(idx => columnNames[idx])\n\n // Check if any columns need initialization\n const needsUpdate = modelColumnNames.some(name => !prev[name])\n\n if (!needsUpdate) {\n return prev // Return same reference to avoid triggering updates\n }\n\n const newWidths = { ...prev }\n modelColumnNames.forEach((columnName, arrayIndex) => {\n if (!newWidths[columnName]) {\n // Calculate default width using centralized function\n const propertyInfo = schemaPropertiesInfo[columnName]\n const headerOptions: HeaderOptions = {\n showPinIcon: arrayIndex === 0,\n hasDescription: !!propertyInfo?.description,\n }\n newWidths[columnName] = calculateDefaultColumnWidth(\n columnName,\n propertyInfo,\n headerOptions,\n )\n }\n })\n return newWidths\n })\n }, [columnNames, columnOrder, schemaPropertiesInfo])\n\n // Handler to toggle pin state for the first column only\n const handleTogglePin = useCallback(\n (columnIndex: number) => {\n // Validate columnIndex\n if (\n typeof columnIndex !== 'number' ||\n columnIndex < 0 ||\n !columnOrder ||\n columnIndex >= columnOrder.length\n ) {\n return\n }\n\n if (columnIndex !== 0) return // Only allow first column pinning\n\n setIsPinned(prev => !prev)\n },\n [columnOrder],\n )\n\n // Memoize the pinned columns set to prevent recalculation during scroll\n const pinnedColumnsSet = useMemo<Set<number>>(() => {\n return isPinned ? new Set([0]) : new Set()\n }, [isPinned])\n\n const colValues = useMemo(\n () =>\n modelColsToGrid(\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n columnWidths,\n pinnedColumnsSet,\n handleTogglePin,\n ),\n [\n columnNames,\n columnOrder,\n schemaPropertiesInfo,\n columnWidths,\n pinnedColumnsSet,\n handleTogglePin,\n ],\n )\n const [selectedRowIndex, setSelectedRowIndex] = useState<number | null>(null)\n\n // Memoize contextMenuComponent\n const contextMenuComponent = useMemo(\n () => (entityIsView ? renderViewContextMenu : renderRecordSetContextMenu),\n [entityIsView],\n )\n\n // Memoize addRowsComponent\n const addRowsComponent = useMemo(\n () => (entityIsView ? false : renderAddRowsComponent),\n [entityIsView],\n )\n\n // Wrap rowClassName in useCallback\n const rowClassNameCallback = useCallback(\n ({ rowData, rowIndex }: { rowData: DataGridRow; rowIndex: number }) =>\n classNames({\n 'row-valid': !!jsonSchema && rowData.__validationStatus === 'valid',\n 'row-invalid': !!jsonSchema && rowData.__validationStatus === 'invalid',\n 'row-unknown': !!jsonSchema && rowData.__validationStatus === 'pending',\n 'row-selected': selectedRowIndex === rowIndex,\n }),\n [jsonSchema, selectedRowIndex],\n )\n\n // Wrap cellClassName in useCallback\n const cellClassNameCallback = useCallback(\n ({\n rowData,\n rowIndex,\n columnId,\n }: {\n rowData: unknown\n rowIndex: number\n columnId?: string\n }) => {\n return getCellClassName({\n rowData: rowData as DataGridRow,\n rowIndex,\n columnId: columnId || '',\n selectedRowIndex,\n lastSelection,\n colValues,\n remoteSelections,\n })\n },\n [selectedRowIndex, lastSelection, colValues, remoteSelections],\n )\n\n // Wrap duplicateRow in useCallback\n const duplicateRowCallback = useCallback(\n ({ rowData }: { rowData: DataGridRow }) => ({\n ...rowData,\n }),\n [],\n )\n\n // Wrap onActiveCellChange in useCallback\n const handleActiveCellChange = useCallback(\n ({ cell }: { cell: { row: number; col: number } | null }) => {\n setSelectedRowIndex(cell ? cell.row : null)\n },\n [],\n )\n\n // Wrapper ref for the grid container\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n\n // Store the active cell before column resize so we can restore it\n const activeCellBeforeResizeRef = useRef<{ col: number; row: number } | null>(\n null,\n )\n\n // Handle column resize callback\n const handleColumnResize = useCallback(\n (columnName: string, newWidth: number) => {\n // Save the current active cell before updating widths (which will trigger remount)\n if (gridRef.current) {\n const activeCell = gridRef.current.activeCell\n if (activeCell) {\n activeCellBeforeResizeRef.current = {\n col: activeCell.col,\n row: activeCell.row,\n }\n } else {\n // Explicitly clear the ref if there's no active cell\n activeCellBeforeResizeRef.current = null\n }\n }\n\n setColumnWidths(prev => ({\n ...prev,\n [columnName]: newWidth,\n }))\n },\n [gridRef],\n )\n\n // Setup column resize handles\n useColumnResizeHandles({\n wrapperRef,\n colValues,\n onColumnResize: handleColumnResize,\n })\n\n return (\n <div ref={wrapperRef} style={{ position: 'relative', width: '100%' }}>\n <DynamicDataSheetGrid\n ref={gridRef}\n value={rowValues}\n columns={colValues}\n autoAddRow={false}\n disableSmartDelete\n addRowsComponent={addRowsComponent}\n contextMenuComponent={contextMenuComponent}\n rowKey={GRID_ROW_REACT_KEY_PROPERTY}\n rowClassName={rowClassNameCallback}\n cellClassName={cellClassNameCallback}\n duplicateRow={duplicateRowCallback}\n onChange={handleChange}\n onActiveCellChange={handleActiveCellChange}\n onSelectionChange={handleSelectionChange}\n />\n </div>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridTypes.js","names":["ValidationResults","Model","s","ReplicaCategory","gridRowSchema","obj","data","vec","con","metadata","synapseRow","rowId","versionNumber","etag","rowValidation","undefined","SelectionMap","Record","ReturnType","ReplicaSelectionModel","selectionSchema","gridSchema","doc_version","columnNames","columnOrder","arr","selection","rows","CrdtId","rep","seq","columnSelection","rowSelection","columnSelectAll","rowSelectAll","JsonJoyMessage","sequenceNumber","methodName","payload","QueryInputType","QueryInput","type","input","GridModel","create","GridModelSnapshot","CellChangeInfo","category","tooltipText","Operation","fromRowIndex","toRowIndex","DataGridRow","key","Map","__validationResults","__validationStatus","__cellValidationResults","__cellChangeInfo"],"sources":["../../../src/components/DataGrid/DataGridTypes.ts"],"sourcesContent":["import { ValidationResults } from '@sage-bionetworks/synapse-types'\nimport { Model } from 'json-joy/lib/json-crdt'\nimport { s } from 'json-joy/lib/json-crdt-patch'\nimport type { ReplicaCategory } from './utils/getReplicaCategory'\n\nconst gridRowSchema = s.obj({\n data: s.vec(s.con('')),\n metadata: s.obj({\n synapseRow: s.obj({\n rowId: s.con(0),\n versionNumber: s.con(0),\n etag: s.con(''),\n }),\n rowValidation: s.con<ValidationResults | undefined>(undefined),\n }),\n})\n\ntype SelectionMap = Record<\n string,\n ReturnType<typeof s.con<ReplicaSelectionModel>>\n>\nconst selectionSchema = s.obj<SelectionMap, SelectionMap>({})\n\nexport const gridSchema = s.obj({\n doc_version: s.con('0.1.0'),\n columnNames: s.vec(s.con('')),\n columnOrder: s.arr([]),\n selection: selectionSchema,\n rows: s.arr<typeof gridRowSchema>([]),\n})\n\nexport type CrdtId = {\n rep: number\n seq: number\n}\n\nexport type ReplicaSelectionModel = {\n columnSelection?: CrdtId[]\n rowSelection?: CrdtId[]\n columnSelectAll?: boolean\n rowSelectAll?: boolean\n}\n\nexport interface JsonJoyMessage {\n sequenceNumber: number\n methodName: string\n payload?: string\n}\n\nexport type QueryInputType =\n | 'empty'\n | 'sql'\n | 'sessionId'\n | 'recordSetId'\n | 'unknown'\n\nexport interface QueryInput {\n type: QueryInputType\n input: string\n}\n\nexport type GridModel = ReturnType<typeof Model.create<typeof gridSchema>>\nexport type GridModelSnapshot = ReturnType<GridModel['api']['getSnapshot']>\n\nexport type CellChangeInfo = {\n category: ReplicaCategory\n tooltipText: string\n}\n\nexport interface Operation {\n type: 'UPDATE' | 'DELETE' | 'CREATE'\n fromRowIndex: number\n toRowIndex: number\n}\n\n/**\n * Object that represents a single row of data in a Grid session that is compatible with react-datasheet-grid.\n * This objects acts as a \"ViewModel\" and can be translated to/from the Synapse data grid CRDT schema.\n */\nexport type DataGridRow = {\n [key: string]:\n | string\n | number\n | boolean\n | null\n | undefined\n | ValidationResults\n | Map<string, string[]>\n | Record<string, CellChangeInfo>\n /** The JSON Schema validation results for the row, generated by the hub */\n __validationResults?: ValidationResults\n /** The current status of the validation results, as computed by the client */\n __validationStatus?: 'valid' | 'invalid' | 'pending'\n /** The parsed validation messages for individual columns **/\n __cellValidationResults?: Map<string, string[]>\n /** Per-cell change attribution, keyed by column name */\n __cellChangeInfo?: Record<string, CellChangeInfo>\n}\n"],"mappings":";;AAKsBE,EAAEG,IAAI;CAC1BC,MAAMJ,EAAEK,IAAIL,EAAEM,IAAI,GAAG,CAAC;CACtBC,UAAUP,EAAEG,IAAI;EACdK,YAAYR,EAAEG,IAAI;GAChBM,OAAOT,EAAEM,IAAI,EAAE;GACfI,eAAeV,EAAEM,IAAI,EAAE;GACvBK,MAAMX,EAAEM,IAAI,GAAE;GACf,CAAC;EACFM,eAAeZ,EAAEM,IAAmCO,KAAAA,EAAS;EAC9D,CAAA;CACF,CAAC;AAMF,IAAMK,IAAkBlB,EAAEG,IAAgC,EAAE,CAAC,EAEhDgB,IAAanB,EAAEG,IAAI;CAC9BiB,aAAapB,EAAEM,IAAI,QAAQ;CAC3Be,aAAarB,EAAEK,IAAIL,EAAEM,IAAI,GAAG,CAAC;CAC7BgB,aAAatB,EAAEuB,IAAI,EAAE,CAAC;CACtBC,WAAWN;CACXO,MAAMzB,EAAEuB,IAA0B,EAAE,CAAA;CACrC,CAAC"}
1
+ {"version":3,"file":"DataGridTypes.js","names":["ValidationResults","Model","s","ReplicaCategory","gridRowSchema","obj","data","vec","con","metadata","synapseRow","rowId","versionNumber","etag","rowValidation","undefined","SelectionMap","Record","ReturnType","ReplicaSelectionModel","selectionSchema","gridSchema","doc_version","columnNames","columnOrder","arr","selection","rows","CrdtId","rep","seq","columnSelection","rowSelection","columnSelectAll","rowSelectAll","JsonJoyMessage","sequenceNumber","methodName","payload","QueryInputType","QueryInput","type","input","GridModel","create","GridModelSnapshot","CellChangeInfo","category","tooltipText","Operation","fromRowIndex","toRowIndex","DataGridRow","key","Map","__validationResults","__validationStatus","__cellValidationResults","__cellChangeInfo"],"sources":["../../../src/components/DataGrid/DataGridTypes.ts"],"sourcesContent":["import { ValidationResults } from '@sage-bionetworks/synapse-types'\nimport { Model } from 'json-joy/lib/json-crdt'\nimport { s } from 'json-joy/lib/json-crdt-patch'\nimport type { ReplicaCategory } from './utils/getReplicaCategory'\n\nconst gridRowSchema = s.obj({\n data: s.vec(s.con('')),\n metadata: s.obj({\n synapseRow: s.obj({\n rowId: s.con(0),\n versionNumber: s.con(0),\n etag: s.con(''),\n }),\n rowValidation: s.con<ValidationResults | undefined>(undefined),\n }),\n})\n\ntype SelectionMap = Record<\n string,\n ReturnType<typeof s.con<ReplicaSelectionModel>>\n>\nconst selectionSchema = s.obj<SelectionMap, SelectionMap>({})\n\nexport const gridSchema = s.obj({\n doc_version: s.con('0.1.0'),\n columnNames: s.vec(s.con('')),\n columnOrder: s.arr([]),\n selection: selectionSchema,\n rows: s.arr<typeof gridRowSchema>([]),\n})\n\nexport type CrdtId = {\n rep: number\n seq: number\n}\n\nexport type ReplicaSelectionModel = {\n columnSelection?: CrdtId[]\n rowSelection?: CrdtId[]\n columnSelectAll?: boolean\n rowSelectAll?: boolean\n}\n\nexport interface JsonJoyMessage {\n sequenceNumber: number\n methodName: string\n payload?: string\n}\n\nexport type QueryInputType =\n | 'empty'\n | 'sql'\n | 'sessionId'\n | 'recordSetId'\n | 'unknown'\n\nexport interface QueryInput {\n type: QueryInputType\n input: string\n}\n\nexport type GridModel = ReturnType<typeof Model.create<typeof gridSchema>>\nexport type GridModelSnapshot = ReturnType<GridModel['api']['getSnapshot']>\n\nexport type CellChangeInfo = {\n category: ReplicaCategory\n tooltipText: string\n}\n\nexport interface Operation {\n type: 'UPDATE' | 'DELETE' | 'CREATE'\n fromRowIndex: number\n toRowIndex: number\n}\n\n/**\n * Object that represents a single row of data in a Grid session that is compatible with react-datasheet-grid.\n * This objects acts as a \"ViewModel\" and can be translated to/from the Synapse data grid CRDT schema.\n */\nexport type DataGridRow = {\n [key: string]:\n | string\n | number\n | boolean\n | null\n | undefined\n | ValidationResults\n | Map<string, string[]>\n | Record<string, CellChangeInfo>\n /** The JSON Schema validation results for the row, generated by the hub */\n __validationResults?: ValidationResults\n /** The current status of the validation results, as computed by the client */\n __validationStatus?: 'valid' | 'invalid' | 'pending'\n /** The parsed validation messages for individual columns **/\n __cellValidationResults?: Map<string, string[]>\n /** Per-cell change attribution, keyed by column name */\n __cellChangeInfo?: Record<string, CellChangeInfo>\n}\n"],"mappings":";;AAKsBE,EAAEG,IAAI;CAC1BC,MAAMJ,EAAEK,IAAIL,EAAEM,IAAI,EAAE,CAAC;CACrBC,UAAUP,EAAEG,IAAI;EACdK,YAAYR,EAAEG,IAAI;GAChBM,OAAOT,EAAEM,IAAI,CAAC;GACdI,eAAeV,EAAEM,IAAI,CAAC;GACtBK,MAAMX,EAAEM,IAAI,EAAE;EAChB,CAAC;EACDM,eAAeZ,EAAEM,IAAmCO,KAAAA,CAAS;CAC/D,CAAC;AACH,CAAC;AAMD,IAAMK,IAAkBlB,EAAEG,IAAgC,CAAC,CAAC,GAE/CgB,IAAanB,EAAEG,IAAI;CAC9BiB,aAAapB,EAAEM,IAAI,OAAO;CAC1Be,aAAarB,EAAEK,IAAIL,EAAEM,IAAI,EAAE,CAAC;CAC5BgB,aAAatB,EAAEuB,IAAI,CAAA,CAAE;CACrBC,WAAWN;CACXO,MAAMzB,EAAEuB,IAA0B,CAAA,CAAE;AACtC,CAAC"}
@@ -9,6 +9,7 @@ type DataGridWebSocketConstructorArgs = {
9
9
  onReplicaDisconnected?: () => void;
10
10
  onSyncStart?: () => void;
11
11
  onSyncEnd?: () => void;
12
+ onError?: (error: unknown) => void;
12
13
  maxPayloadSizeBytes?: number;
13
14
  socket?: WebSocket;
14
15
  model?: GridModel | null;
@@ -30,6 +31,7 @@ export declare class DataGridWebSocket {
30
31
  private onReplicaDisconnected;
31
32
  private onSyncStart;
32
33
  private onSyncEnd;
34
+ private onError;
33
35
  constructor(args: DataGridWebSocketConstructorArgs);
34
36
  private attachSocketHandlers;
35
37
  disconnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridWebSocket.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/DataGridWebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAyC/D,KAAK,gCAAgC,GAAG;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,eAAe,CAAwB;IAE/C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,cAAc,CAAqD;IAC3E,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,qBAAqB,CAAY;IACzC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,SAAS,CAAY;gBAEjB,IAAI,EAAE,gCAAgC;IA6ClD,OAAO,CAAC,oBAAoB;IAwBrB,UAAU;IAWjB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,kBAAkB;YAiBZ,qBAAqB;IAYnC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,kBAAkB;IAkD1B,OAAO,CAAC,WAAW;IAWZ,SAAS;IAIhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,eAAe;YAUT,sBAAsB;CAYrC"}
1
+ {"version":3,"file":"DataGridWebSocket.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/DataGridWebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAyC/D,KAAK,gCAAgC,GAAG;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACvE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;IAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,eAAe,CAAwB;IAE/C,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,cAAc,CAAqD;IAC3E,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,qBAAqB,CAAY;IACzC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAA0B;gBAE7B,IAAI,EAAE,gCAAgC;IA+ClD,OAAO,CAAC,oBAAoB;IAwBrB,UAAU;IAWjB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,kBAAkB;YAiBZ,qBAAqB;IAYnC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,WAAW;IAWZ,SAAS;IAIhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,eAAe;YAUT,sBAAsB;CAYrC"}
@@ -14,9 +14,7 @@ import f from "lodash-es/throttle";
14
14
  import { Decoder as p } from "json-joy/lib/json-crdt/codec/indexed/binary/Decoder";
15
15
  import { decode as m } from "cbor2";
16
16
  //#region src/components/DataGrid/DataGridWebSocket.ts
17
- var h = /* @__PURE__ */ function(e) {
18
- return e.PATCH = "patch", e.SNAPSHOT = "snapshot", e.PATCHES = "patches", e;
19
- }(h || {}), g = 30 * 1024, _ = 250, v = class {
17
+ var h = 30 * 1024, g = 250, _ = class {
20
18
  socket;
21
19
  model = null;
22
20
  messageCounter;
@@ -32,9 +30,10 @@ var h = /* @__PURE__ */ function(e) {
32
30
  onReplicaDisconnected;
33
31
  onSyncStart;
34
32
  onSyncEnd;
33
+ onError;
35
34
  constructor(e) {
36
- let { replicaId: t, url: n, onGridReady: r, onStatusChange: i, onModelCreate: o, onReplicaConnected: s, onReplicaDisconnected: l, onSyncStart: u, onSyncEnd: d, maxPayloadSizeBytes: p, socket: m, model: h, patchThrottleMs: v } = e;
37
- this.messageCounter = new a(), this.replicaId = t, this.maxPayloadSizeBytes = p ?? g, this.socket = m ?? new WebSocket(n), this.onModelCreate = o ?? c, this.onGridReady = r ?? c, this.onStatusChange = i ?? c, this.onReplicaConnected = s ?? c, this.onReplicaDisconnected = l ?? c, this.onSyncStart = u ?? c, this.onSyncEnd = d ?? c, h && (this.model = h), this.attachSocketHandlers(), this.throttledSendPatch = f(() => this.sendPatchImmediate(), v ?? _, {
35
+ let { replicaId: t, url: n, onGridReady: r, onStatusChange: i, onModelCreate: o, onReplicaConnected: s, onReplicaDisconnected: l, onSyncStart: u, onSyncEnd: d, onError: p, maxPayloadSizeBytes: m, socket: _, model: v, patchThrottleMs: y } = e;
36
+ this.messageCounter = new a(), this.replicaId = t, this.maxPayloadSizeBytes = m ?? h, this.socket = _ ?? new WebSocket(n), this.onModelCreate = o ?? c, this.onGridReady = r ?? c, this.onStatusChange = i ?? c, this.onReplicaConnected = s ?? c, this.onReplicaDisconnected = l ?? c, this.onSyncStart = u ?? c, this.onSyncEnd = d ?? c, this.onError = p ?? c, v && (this.model = v), this.attachSocketHandlers(), this.throttledSendPatch = f(() => this.sendPatchImmediate(), y ?? g, {
38
37
  leading: !1,
39
38
  trailing: !0
40
39
  });
@@ -70,13 +69,13 @@ var h = /* @__PURE__ */ function(e) {
70
69
  handleResponse(e) {
71
70
  let t = e.getPayload();
72
71
  switch (t.type) {
73
- case h.PATCH:
72
+ case "patch":
74
73
  this.handlePatchPayload([t.body]);
75
74
  break;
76
- case h.PATCHES:
75
+ case "patches":
77
76
  this.handlePatchPayload(t.body);
78
77
  break;
79
- case h.SNAPSHOT:
78
+ case "snapshot":
80
79
  this.handleSnapshotPayload(t.body);
81
80
  break;
82
81
  default:
@@ -114,7 +113,7 @@ var h = /* @__PURE__ */ function(e) {
114
113
  console.debug("Server ready to receive patches"), this.sendSyncMessage(this.model ? this.verboseEncoder.encode(this.model).time : void 0);
115
114
  break;
116
115
  case "error":
117
- console.warn("Error from server:", e.getPayload());
116
+ console.warn("Error from server:", e.getPayload()), this.onError(e.getPayload());
118
117
  break;
119
118
  case "new-patch":
120
119
  if (!this.model) {
@@ -162,6 +161,6 @@ var h = /* @__PURE__ */ function(e) {
162
161
  }
163
162
  };
164
163
  //#endregion
165
- export { v as DataGridWebSocket };
164
+ export { _ as DataGridWebSocket };
166
165
 
167
166
  //# sourceMappingURL=DataGridWebSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridWebSocket.js","names":["GridModel","JsonRx","JsonRxMessage","JsonRxNotification","JsonRxRequestComplete","JsonRxResponse","JsonRxResponseComplete","MessageCounter","splitPatch","Model","CompactCodecPatch","decode","Encoder","VerboseEncoder","JsonCrdtVerboseLogicalTimestamp","noop","throttle","DebouncedFunc","Decoder","SnapshotDecoder","decodeCbor","IndexedFields","fetchWithExponentialTimeout","SynapseGridWebSocketMessagePayloadType","PATCH","SNAPSHOT","PATCHES","SynapseGridWebSocketMessagePayload","type","body","DataGridWebSocketConstructorArgs","replicaId","url","onGridReady","onStatusChange","isOpen","instance","DataGridWebSocket","onModelCreate","model","onReplicaConnected","onReplicaDisconnected","onSyncStart","onSyncEnd","maxPayloadSizeBytes","socket","WebSocket","patchThrottleMs","DEFAULT_MAX_PAYLOAD_SIZE_BYTES","DEFAULT_PATCH_THROTTLE_MS","messageCounter","verboseEncoder","throttledSendPatch","snapshotDecoder","_this","constructor","args","attachSocketHandlers","sendPatchImmediate","leading","trailing","onopen","console","debug","onmessage","event","MessageEvent","data","handleMessage","error","onclose","onerror","Event","disconnect","flush","cancel","readyState","OPEN","close","warn","sendClockSync","patchesWereSent","verbModel","encode","sendSyncMessage","time","rawMessage","message","fromJson","JSON","parse","handleResponse","handleResponseComplete","handleNotification","payload","getPayload","handlePatchPayload","handleSnapshotPayload","encodedPatch","patches","map","fromPatches","fork","applyBatch","err","snapshotUrl","decodedModel","fetchAndDecodeSnapshot","methodName","getMethodName","undefined","sendMessage","send","stringify","getJson","sendPatch","patch","api","hasOperationsToDispatch","ops","length","forEach","compactEncodedPatch","msg","getNext","clock","Promise","response","blob","buffer","arrayBuffer","decodedFromCbor","Uint8Array"],"sources":["../../../src/components/DataGrid/DataGridWebSocket.ts"],"sourcesContent":["import { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport JsonRx from '@/components/DataGrid/utils/json-rx/JsonRx'\nimport JsonRxMessage from '@/components/DataGrid/utils/json-rx/JsonRxMessage'\nimport JsonRxNotification from '@/components/DataGrid/utils/json-rx/JsonRxNotification'\nimport JsonRxRequestComplete from '@/components/DataGrid/utils/json-rx/JsonRxRequestComplete'\nimport JsonRxResponse from '@/components/DataGrid/utils/json-rx/JsonRxResponse'\nimport JsonRxResponseComplete from '@/components/DataGrid/utils/json-rx/JsonRxResponseComplete'\nimport MessageCounter from '@/components/DataGrid/utils/MessageCounter'\nimport { splitPatch } from '@/components/DataGrid/utils/splitPatch'\nimport { Model } from 'json-joy/lib/json-crdt'\nimport {\n CompactCodecPatch,\n decode,\n} from 'json-joy/lib/json-crdt-patch/codec/compact'\nimport { Encoder as VerboseEncoder } from 'json-joy/lib/json-crdt/codec/structural/verbose/Encoder'\nimport { JsonCrdtVerboseLogicalTimestamp } from 'json-joy/lib/json-crdt/codec/structural/verbose/types'\nimport noop from 'lodash-es/noop'\nimport throttle from 'lodash-es/throttle'\nimport { type DebouncedFunc } from 'lodash-es'\nimport { Decoder as SnapshotDecoder } from 'json-joy/lib/json-crdt/codec/indexed/binary/Decoder'\nimport { decode as decodeCbor } from 'cbor2'\nimport type { IndexedFields } from 'json-joy/lib/json-crdt/codec/indexed/binary'\nimport { fetchWithExponentialTimeout } from '@sage-bionetworks/synapse-client'\n\nenum SynapseGridWebSocketMessagePayloadType {\n PATCH = 'patch',\n SNAPSHOT = 'snapshot',\n PATCHES = 'patches',\n}\n\ntype SynapseGridWebSocketMessagePayload =\n | {\n type: SynapseGridWebSocketMessagePayloadType.PATCH\n body: CompactCodecPatch\n }\n | {\n type: SynapseGridWebSocketMessagePayloadType.PATCHES\n body: CompactCodecPatch[]\n }\n | { type: SynapseGridWebSocketMessagePayloadType.SNAPSHOT; body: string }\n\ntype DataGridWebSocketConstructorArgs = {\n replicaId: number\n url: string\n onGridReady?: () => void\n onStatusChange?: (isOpen: boolean, instance: DataGridWebSocket) => void\n onModelCreate?: (model: GridModel) => void\n onReplicaConnected?: () => void\n onReplicaDisconnected?: () => void\n onSyncStart?: () => void\n onSyncEnd?: () => void\n maxPayloadSizeBytes?: number\n socket?: WebSocket\n model?: GridModel | null\n patchThrottleMs?: number\n}\n\n// API Gateway WebSocket payload size limit is 32 KB per message\n// There is some overhead we aren't computing in our utility, namely the size of the patch header and the communication protocol itself\n// So add some buffer\nconst DEFAULT_MAX_PAYLOAD_SIZE_BYTES = 30 * 1024 // 30 KB\nconst DEFAULT_PATCH_THROTTLE_MS = 250\n\nexport class DataGridWebSocket {\n private socket: WebSocket\n private model: GridModel | null = null\n private messageCounter: MessageCounter\n private replicaId: number\n private verboseEncoder = new VerboseEncoder()\n private maxPayloadSizeBytes: number\n private throttledSendPatch: DebouncedFunc<() => void>\n private snapshotDecoder = new SnapshotDecoder()\n\n private onModelCreate: (model: GridModel) => void\n private onGridReady: () => void\n private onStatusChange: (isOpen: boolean, _this: DataGridWebSocket) => void\n private onReplicaConnected: () => void\n private onReplicaDisconnected: () => void\n private onSyncStart: () => void\n private onSyncEnd: () => void\n\n constructor(args: DataGridWebSocketConstructorArgs) {\n const {\n replicaId,\n url,\n onGridReady,\n onStatusChange,\n onModelCreate,\n onReplicaConnected,\n onReplicaDisconnected,\n onSyncStart,\n onSyncEnd,\n maxPayloadSizeBytes,\n socket,\n model,\n patchThrottleMs,\n } = args\n this.messageCounter = new MessageCounter()\n this.replicaId = replicaId\n this.maxPayloadSizeBytes =\n maxPayloadSizeBytes ?? DEFAULT_MAX_PAYLOAD_SIZE_BYTES\n this.socket = socket ?? new WebSocket(url)\n\n // Assign callbacks, falling back to no-ops\n this.onModelCreate = onModelCreate ?? noop\n this.onGridReady = onGridReady ?? noop\n this.onStatusChange = onStatusChange ?? noop\n this.onReplicaConnected = onReplicaConnected ?? noop\n this.onReplicaDisconnected = onReplicaDisconnected ?? noop\n this.onSyncStart = onSyncStart ?? noop\n this.onSyncEnd = onSyncEnd ?? noop\n\n // Restore existing model if provided\n if (model) {\n this.model = model\n }\n\n this.attachSocketHandlers()\n\n this.throttledSendPatch = throttle(\n () => this.sendPatchImmediate(),\n patchThrottleMs ?? DEFAULT_PATCH_THROTTLE_MS,\n { leading: false, trailing: true },\n )\n }\n\n private attachSocketHandlers() {\n this.socket.onopen = () => {\n console.debug('Connected to the WebSocket server')\n this.onStatusChange(true, this)\n }\n\n this.socket.onmessage = (event: MessageEvent) => {\n if (typeof event.data === 'string') {\n this.handleMessage(event.data)\n } else {\n console.error('Received non-string message data:', event.data)\n }\n }\n\n this.socket.onclose = () => {\n console.debug('Disconnected from the WebSocket server')\n this.onStatusChange(false, this)\n }\n\n this.socket.onerror = (error: Event) => {\n console.error('WebSocket error:', error)\n }\n }\n\n public disconnect() {\n this.throttledSendPatch.flush()\n this.throttledSendPatch.cancel()\n if (this.socket.readyState === WebSocket.OPEN) {\n this.socket.close()\n console.debug('WebSocket connection closed')\n } else {\n console.warn('WebSocket is not open. No action taken.')\n }\n }\n\n /**\n * Flushes the local model clock and sends the resulting patch (or a clock-sync\n * message) to the server so that both sides converge.\n */\n private sendClockSync() {\n if (!this.model) {\n console.error('Model is not initialized. Cannot sync model.')\n return\n }\n\n const patchesWereSent = this.sendPatchImmediate()\n if (!patchesWereSent) {\n // We've flushed all of our changes, so now we can receive changes from the server\n const verbModel = this.verboseEncoder.encode(this.model)\n this.sendSyncMessage(verbModel.time)\n }\n }\n\n private handleMessage(rawMessage: string) {\n const message = JsonRx.fromJson(JSON.parse(rawMessage))\n if (message instanceof JsonRxResponse) {\n this.handleResponse(\n message as JsonRxResponse<SynapseGridWebSocketMessagePayload>,\n )\n } else if (message instanceof JsonRxResponseComplete) {\n this.handleResponseComplete()\n } else if (message instanceof JsonRxNotification) {\n this.handleNotification(message)\n } else {\n console.warn('Unexpected WebSocket message format:', message)\n }\n }\n\n private handleResponse(\n message: JsonRxResponse<SynapseGridWebSocketMessagePayload>,\n ) {\n const payload = message.getPayload()\n\n switch (payload.type) {\n case SynapseGridWebSocketMessagePayloadType.PATCH:\n this.handlePatchPayload([payload.body])\n break\n\n case SynapseGridWebSocketMessagePayloadType.PATCHES:\n void this.handlePatchPayload(payload.body)\n break\n\n case SynapseGridWebSocketMessagePayloadType.SNAPSHOT:\n void this.handleSnapshotPayload(payload.body)\n break\n\n default:\n console.warn('Unknown payload type:', payload)\n break\n }\n }\n\n private handlePatchPayload(encodedPatch: CompactCodecPatch[]) {\n try {\n const patches = encodedPatch.map(decode)\n if (!this.model) {\n this.model = Model.fromPatches(patches).fork(\n this.replicaId,\n ) as unknown as GridModel\n this.onModelCreate(this.model)\n } else {\n this.model.applyBatch(patches)\n }\n this.sendClockSync()\n } catch (err) {\n console.error('Failed to apply patches or send clock:', err)\n }\n }\n\n private async handleSnapshotPayload(snapshotUrl: string) {\n console.debug('Received snapshot URL from server:', snapshotUrl)\n try {\n const decodedModel = await this.fetchAndDecodeSnapshot(snapshotUrl)\n this.model = decodedModel.fork(this.replicaId) as unknown as GridModel\n this.onModelCreate(this.model)\n this.sendClockSync()\n } catch (err) {\n console.error('Failed to fetch or decode snapshot', err)\n }\n }\n\n private handleResponseComplete() {\n // Clocks are in sync, no further action needed\n this.onGridReady()\n this.onSyncEnd()\n console.debug(\n 'Clocks synchronized with server. Incrementing sequence number.',\n )\n }\n\n private handleNotification(message: JsonRxNotification) {\n const methodName = message.getMethodName()\n console.debug('Notification received from server:', methodName)\n\n switch (methodName) {\n case 'ping':\n console.debug('Received ping from server')\n break\n\n case 'connected':\n console.debug('Server ready to receive patches')\n this.sendSyncMessage(\n this.model ? this.verboseEncoder.encode(this.model).time : undefined,\n )\n break\n\n case 'error':\n console.warn('Error from server:', message.getPayload())\n break\n\n case 'new-patch':\n if (!this.model) {\n console.warn(\n \"Model is not initialized. Cannot handle 'new-patch' message.\",\n )\n break\n }\n {\n const verbModel = this.verboseEncoder.encode(this.model)\n console.debug('New patch received, syncing data:', verbModel.time)\n this.sendSyncMessage(verbModel.time)\n }\n break\n\n case 'replica-connected':\n console.debug('A replica connected to the grid session')\n this.onReplicaConnected()\n break\n\n case 'replica-disconnected':\n console.debug('A replica disconnected from the grid session')\n this.onReplicaDisconnected()\n break\n\n default:\n console.warn('Unknown notification method:', methodName)\n break\n }\n }\n\n private sendMessage(message: JsonRxMessage) {\n if (this.socket.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify(message.getJson()))\n } else {\n console.error(\n 'WebSocket is not open. Unable to send message. Current state:',\n this.socket.readyState,\n )\n }\n }\n\n public sendPatch() {\n this.throttledSendPatch()\n }\n\n /**\n * @returns true if one or more patches were sent\n */\n private sendPatchImmediate(): boolean {\n if (!this.model) {\n console.warn('Model is not initialized. Cannot send patch.')\n return false\n }\n\n const patch = this.model.api.flush()\n const hasOperationsToDispatch = patch.ops.length > 0\n\n if (hasOperationsToDispatch) {\n // Split the patch if it exceeds the maximum size we can send in a single frame\n const patches = splitPatch(patch, this.maxPayloadSizeBytes)\n patches.forEach(compactEncodedPatch => {\n console.debug('Sending patch to server:', compactEncodedPatch)\n const msg = new JsonRxRequestComplete(\n this.messageCounter.getNext(),\n 'patch',\n compactEncodedPatch,\n )\n this.sendMessage(msg)\n })\n }\n\n return hasOperationsToDispatch\n }\n\n private sendSyncMessage(clock?: number | JsonCrdtVerboseLogicalTimestamp[]) {\n const message = new JsonRxRequestComplete(\n this.messageCounter.getNext(),\n 'synchronize-clock',\n clock ?? [],\n )\n this.onSyncStart()\n this.sendMessage(message)\n }\n\n private async fetchAndDecodeSnapshot(\n snapshotUrl: string,\n ): Promise<GridModel> {\n const response = await fetchWithExponentialTimeout(snapshotUrl)\n const blob = await response.blob()\n const buffer = await blob.arrayBuffer()\n const decodedFromCbor = decodeCbor(new Uint8Array(buffer))\n const decodedModel = this.snapshotDecoder.decode(\n decodedFromCbor as IndexedFields,\n ) as unknown as GridModel\n return decodedModel\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAKuB,IAAL,yBAAA,GAAA;QACEC,EAAAA,QAAQ,SACRC,EAAAA,WAAW,YACXC,EAAAA,UAAU;EAHPH,KAAAA,EAAAA,CAIL,EAgCMyB,IAAiC,KAAK,MACtCC,IAA4B,KAErBZ,IAAb,MAA+B;CAC7B;CACA,QAAkC;CAClC;CACA;CACA,iBAAyB,IAAIxB,GAAgB;CAC7C;CACA;CACA,kBAA0B,IAAIM,GAAiB;CAE/C;CACA;CACA;CACA;CACA;CACA;CACA;CAEAoC,YAAYC,GAAwC;EAClD,IAAM,EACJzB,cACAC,QACAC,gBACAC,mBACAI,kBACAE,uBACAC,0BACAC,gBACAC,cACAC,wBACAC,WACAN,UACAQ,uBACES;AAuBJ,EAtBA,KAAKN,iBAAiB,IAAI3C,GAAgB,EAC1C,KAAKwB,YAAYA,GACjB,KAAKa,sBACHA,KAAuBI,GACzB,KAAKH,SAASA,KAAU,IAAIC,UAAUd,EAAI,EAG1C,KAAKM,gBAAgBA,KAAiBvB,GACtC,KAAKkB,cAAcA,KAAelB,GAClC,KAAKmB,iBAAiBA,KAAkBnB,GACxC,KAAKyB,qBAAqBA,KAAsBzB,GAChD,KAAK0B,wBAAwBA,KAAyB1B,GACtD,KAAK2B,cAAcA,KAAe3B,GAClC,KAAK4B,YAAYA,KAAa5B,GAG1BwB,MACF,KAAKA,QAAQA,IAGf,KAAKkB,sBAAsB,EAE3B,KAAKL,qBAAqBpC,QAClB,KAAK0C,oBAAoB,EAC/BX,KAAmBE,GACnB;GAAEU,SAAS;GAAOC,UAAU;GAC9B,CAAC;;CAGH,uBAA+B;AAmB7B,EAlBA,KAAKf,OAAOgB,eAAe;AAEzB,GADAC,QAAQC,MAAM,oCAAoC,EAClD,KAAK7B,eAAe,IAAM,KAAK;KAGjC,KAAKW,OAAOmB,aAAaC,MAAwB;AAC/C,GAAI,OAAOA,EAAME,QAAS,WACxB,KAAKC,cAAcH,EAAME,KAAK,GAE9BL,QAAQO,MAAM,qCAAqCJ,EAAME,KAAK;KAIlE,KAAKtB,OAAOyB,gBAAgB;AAE1B,GADAR,QAAQC,MAAM,yCAAyC,EACvD,KAAK7B,eAAe,IAAO,KAAK;KAGlC,KAAKW,OAAO0B,WAAWF,MAAiB;AACtCP,WAAQO,MAAM,oBAAoBA,EAAM;;;CAI5C,aAAoB;AAGlB,EAFA,KAAKjB,mBAAmBsB,OAAO,EAC/B,KAAKtB,mBAAmBuB,QAAQ,EAC5B,KAAK9B,OAAO+B,eAAe9B,UAAU+B,QACvC,KAAKhC,OAAOiC,OAAO,EACnBhB,QAAQC,MAAM,8BAA8B,IAE5CD,QAAQiB,KAAK,0CAA0C;;CAQ3D,gBAAwB;AACtB,MAAI,CAAC,KAAKxC,OAAO;AACfuB,WAAQO,MAAM,+CAA+C;AAC7D;;AAIF,MAAI,CADoB,KAAKX,oBACxBuB,EAAiB;GAEpB,IAAMC,IAAY,KAAK/B,eAAegC,OAAO,KAAK5C,MAAM;AACxD,QAAK6C,gBAAgBF,EAAUG,KAAK;;;CAIxC,cAAsBC,GAAoB;EACxC,IAAMC,IAAUtF,EAAOuF,SAASC,KAAKC,MAAMJ,EAAW,CAAC;AACvD,EAAIC,aAAmBlF,IACrB,KAAKsF,eACHJ,EACD,GACQA,aAAmBjF,IAC5B,KAAKsF,wBAAwB,GACpBL,aAAmBpF,IAC5B,KAAK0F,mBAAmBN,EAAQ,GAEhCzB,QAAQiB,KAAK,wCAAwCQ,EAAQ;;CAIjE,eACEA,GACA;EACA,IAAMO,IAAUP,EAAQQ,YAAY;AAEpC,UAAQD,EAAQlE,MAAhB;GACE,KAAKL,EAAuCC;AAC1C,SAAKwE,mBAAmB,CAACF,EAAQjE,KAAK,CAAC;AACvC;GAEF,KAAKN,EAAuCG;AACrC,SAAKsE,mBAAmBF,EAAQjE,KAAK;AAC1C;GAEF,KAAKN,EAAuCE;AACrC,SAAKwE,sBAAsBH,EAAQjE,KAAK;AAC7C;GAEF;AACEiC,YAAQiB,KAAK,yBAAyBe,EAAQ;AAC9C;;;CAIN,mBAA2BI,GAAmC;AAC5D,MAAI;GACF,IAAMC,IAAUD,EAAaE,IAAIzF,EAAO;AASxC,GARK,KAAK4B,QAMR,KAAKA,MAAMgE,WAAWJ,EAAQ,IAL9B,KAAK5D,QAAQ9B,EAAM4F,YAAYF,EAAQ,CAACG,KACtC,KAAKvE,UACN,EACD,KAAKO,cAAc,KAAKC,MAAM,GAIhC,KAAKyC,eAAe;WACbwB,GAAK;AACZ1C,WAAQO,MAAM,0CAA0CmC,EAAI;;;CAIhE,MAAcP,sBAAsBQ,GAAqB;AACvD3C,UAAQC,MAAM,sCAAsC0C,EAAY;AAChE,MAAI;GACF,IAAMC,IAAe,MAAM,KAAKC,uBAAuBF,EAAY;AAGnE,GAFA,KAAKlE,QAAQmE,EAAaJ,KAAK,KAAKvE,UAAU,EAC9C,KAAKO,cAAc,KAAKC,MAAM,EAC9B,KAAKyC,eAAe;WACbwB,GAAK;AACZ1C,WAAQO,MAAM,sCAAsCmC,EAAI;;;CAI5D,yBAAiC;AAI/B1C,EAFA,KAAK7B,aAAa,EAClB,KAAKU,WAAW,EAChBmB,QAAQC,MACN,iEACD;;CAGH,mBAA2BwB,GAA6B;EACtD,IAAMqB,IAAarB,EAAQsB,eAAe;AAG1C,UAFA/C,QAAQC,MAAM,sCAAsC6C,EAAW,EAEvDA,GAAR;GACE,KAAK;AACH9C,YAAQC,MAAM,4BAA4B;AAC1C;GAEF,KAAK;AAEH,IADAD,QAAQC,MAAM,kCAAkC,EAChD,KAAKqB,gBACH,KAAK7C,QAAQ,KAAKY,eAAegC,OAAO,KAAK5C,MAAM,CAAC8C,OAAOyB,KAAAA,EAC5D;AACD;GAEF,KAAK;AACHhD,YAAQiB,KAAK,sBAAsBQ,EAAQQ,YAAY,CAAC;AACxD;GAEF,KAAK;AACH,QAAI,CAAC,KAAKxD,OAAO;AACfuB,aAAQiB,KACN,+DACD;AACD;;IAEF;KACE,IAAMG,IAAY,KAAK/B,eAAegC,OAAO,KAAK5C,MAAM;AAExD,KADAuB,QAAQC,MAAM,qCAAqCmB,EAAUG,KAAK,EAClE,KAAKD,gBAAgBF,EAAUG,KAAK;;AAEtC;GAEF,KAAK;AAEH,IADAvB,QAAQC,MAAM,0CAA0C,EACxD,KAAKvB,oBAAoB;AACzB;GAEF,KAAK;AAEH,IADAsB,QAAQC,MAAM,+CAA+C,EAC7D,KAAKtB,uBAAuB;AAC5B;GAEF;AACEqB,YAAQiB,KAAK,gCAAgC6B,EAAW;AACxD;;;CAIN,YAAoBrB,GAAwB;AAC1C,EAAI,KAAK1C,OAAO+B,eAAe9B,UAAU+B,OACvC,KAAKhC,OAAOmE,KAAKvB,KAAKwB,UAAU1B,EAAQ2B,SAAS,CAAC,CAAC,GAEnDpD,QAAQO,MACN,iEACA,KAAKxB,OAAO+B,WACb;;CAIL,YAAmB;AACjB,OAAKxB,oBAAoB;;CAM3B,qBAAsC;AACpC,MAAI,CAAC,KAAKb,MAER,QADAuB,QAAQiB,KAAK,+CAA+C,EACrD;EAGT,IAAMqC,IAAQ,KAAK7E,MAAM8E,IAAI3C,OAAO,EAC9B4C,IAA0BF,EAAMG,IAAIC,SAAS;AAgBnD,SAdIF,KAEc9G,EAAW4G,GAAO,KAAKxE,oBACvCuD,CAAQsB,SAAQC,MAAuB;AACrC5D,WAAQC,MAAM,4BAA4B2D,EAAoB;GAC9D,IAAMC,IAAM,IAAIvH,EACd,KAAK8C,eAAe0E,SAAS,EAC7B,SACAF,EACD;AACD,QAAKX,YAAYY,EAAI;IACrB,EAGGL;;CAGT,gBAAwBO,GAAoD;EAC1E,IAAMtC,IAAU,IAAInF,EAClB,KAAK8C,eAAe0E,SAAS,EAC7B,qBACAC,KAAS,EACX,CAAC;AAED,EADA,KAAKnF,aAAa,EAClB,KAAKqE,YAAYxB,EAAQ;;CAG3B,MAAcoB,uBACZF,GACoB;EAGpB,IAAMwB,IAAS,OAAMD,OADFD,MADIzG,EAA4BmF,EAAY,EACnCuB,MAAM,EACRE,aAAa,EACjCC,IAAkB/G,EAAW,IAAIgH,WAAWH,EAAO,CAAC;AAI1D,SAHqB,KAAK5E,gBAAgB1C,OACxCwH,EAEKzB"}
1
+ {"version":3,"file":"DataGridWebSocket.js","names":["GridModel","JsonRx","JsonRxMessage","JsonRxNotification","JsonRxRequestComplete","JsonRxResponse","JsonRxResponseComplete","MessageCounter","splitPatch","Model","CompactCodecPatch","decode","Encoder","VerboseEncoder","JsonCrdtVerboseLogicalTimestamp","noop","throttle","DebouncedFunc","Decoder","SnapshotDecoder","decodeCbor","IndexedFields","fetchWithExponentialTimeout","SynapseGridWebSocketMessagePayloadType","PATCH","SNAPSHOT","PATCHES","SynapseGridWebSocketMessagePayload","type","body","DataGridWebSocketConstructorArgs","replicaId","url","onGridReady","onStatusChange","isOpen","instance","DataGridWebSocket","onModelCreate","model","onReplicaConnected","onReplicaDisconnected","onSyncStart","onSyncEnd","onError","error","maxPayloadSizeBytes","socket","WebSocket","patchThrottleMs","DEFAULT_MAX_PAYLOAD_SIZE_BYTES","DEFAULT_PATCH_THROTTLE_MS","messageCounter","verboseEncoder","throttledSendPatch","snapshotDecoder","_this","constructor","args","attachSocketHandlers","sendPatchImmediate","leading","trailing","onopen","console","debug","onmessage","event","MessageEvent","data","handleMessage","onclose","onerror","Event","disconnect","flush","cancel","readyState","OPEN","close","warn","sendClockSync","patchesWereSent","verbModel","encode","sendSyncMessage","time","rawMessage","message","fromJson","JSON","parse","handleResponse","handleResponseComplete","handleNotification","payload","getPayload","handlePatchPayload","handleSnapshotPayload","encodedPatch","patches","map","fromPatches","fork","applyBatch","err","snapshotUrl","decodedModel","fetchAndDecodeSnapshot","methodName","getMethodName","undefined","sendMessage","send","stringify","getJson","sendPatch","patch","api","hasOperationsToDispatch","ops","length","forEach","compactEncodedPatch","msg","getNext","clock","Promise","response","blob","buffer","arrayBuffer","decodedFromCbor","Uint8Array"],"sources":["../../../src/components/DataGrid/DataGridWebSocket.ts"],"sourcesContent":["import { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport JsonRx from '@/components/DataGrid/utils/json-rx/JsonRx'\nimport JsonRxMessage from '@/components/DataGrid/utils/json-rx/JsonRxMessage'\nimport JsonRxNotification from '@/components/DataGrid/utils/json-rx/JsonRxNotification'\nimport JsonRxRequestComplete from '@/components/DataGrid/utils/json-rx/JsonRxRequestComplete'\nimport JsonRxResponse from '@/components/DataGrid/utils/json-rx/JsonRxResponse'\nimport JsonRxResponseComplete from '@/components/DataGrid/utils/json-rx/JsonRxResponseComplete'\nimport MessageCounter from '@/components/DataGrid/utils/MessageCounter'\nimport { splitPatch } from '@/components/DataGrid/utils/splitPatch'\nimport { Model } from 'json-joy/lib/json-crdt'\nimport {\n CompactCodecPatch,\n decode,\n} from 'json-joy/lib/json-crdt-patch/codec/compact'\nimport { Encoder as VerboseEncoder } from 'json-joy/lib/json-crdt/codec/structural/verbose/Encoder'\nimport { JsonCrdtVerboseLogicalTimestamp } from 'json-joy/lib/json-crdt/codec/structural/verbose/types'\nimport noop from 'lodash-es/noop'\nimport throttle from 'lodash-es/throttle'\nimport { type DebouncedFunc } from 'lodash-es'\nimport { Decoder as SnapshotDecoder } from 'json-joy/lib/json-crdt/codec/indexed/binary/Decoder'\nimport { decode as decodeCbor } from 'cbor2'\nimport type { IndexedFields } from 'json-joy/lib/json-crdt/codec/indexed/binary'\nimport { fetchWithExponentialTimeout } from '@sage-bionetworks/synapse-client'\n\nenum SynapseGridWebSocketMessagePayloadType {\n PATCH = 'patch',\n SNAPSHOT = 'snapshot',\n PATCHES = 'patches',\n}\n\ntype SynapseGridWebSocketMessagePayload =\n | {\n type: SynapseGridWebSocketMessagePayloadType.PATCH\n body: CompactCodecPatch\n }\n | {\n type: SynapseGridWebSocketMessagePayloadType.PATCHES\n body: CompactCodecPatch[]\n }\n | { type: SynapseGridWebSocketMessagePayloadType.SNAPSHOT; body: string }\n\ntype DataGridWebSocketConstructorArgs = {\n replicaId: number\n url: string\n onGridReady?: () => void\n onStatusChange?: (isOpen: boolean, instance: DataGridWebSocket) => void\n onModelCreate?: (model: GridModel) => void\n onReplicaConnected?: () => void\n onReplicaDisconnected?: () => void\n onSyncStart?: () => void\n onSyncEnd?: () => void\n onError?: (error: unknown) => void\n maxPayloadSizeBytes?: number\n socket?: WebSocket\n model?: GridModel | null\n patchThrottleMs?: number\n}\n\n// API Gateway WebSocket payload size limit is 32 KB per message\n// There is some overhead we aren't computing in our utility, namely the size of the patch header and the communication protocol itself\n// So add some buffer\nconst DEFAULT_MAX_PAYLOAD_SIZE_BYTES = 30 * 1024 // 30 KB\nconst DEFAULT_PATCH_THROTTLE_MS = 250\n\nexport class DataGridWebSocket {\n private socket: WebSocket\n private model: GridModel | null = null\n private messageCounter: MessageCounter\n private replicaId: number\n private verboseEncoder = new VerboseEncoder()\n private maxPayloadSizeBytes: number\n private throttledSendPatch: DebouncedFunc<() => void>\n private snapshotDecoder = new SnapshotDecoder()\n\n private onModelCreate: (model: GridModel) => void\n private onGridReady: () => void\n private onStatusChange: (isOpen: boolean, _this: DataGridWebSocket) => void\n private onReplicaConnected: () => void\n private onReplicaDisconnected: () => void\n private onSyncStart: () => void\n private onSyncEnd: () => void\n private onError: (error: unknown) => void\n\n constructor(args: DataGridWebSocketConstructorArgs) {\n const {\n replicaId,\n url,\n onGridReady,\n onStatusChange,\n onModelCreate,\n onReplicaConnected,\n onReplicaDisconnected,\n onSyncStart,\n onSyncEnd,\n onError,\n maxPayloadSizeBytes,\n socket,\n model,\n patchThrottleMs,\n } = args\n this.messageCounter = new MessageCounter()\n this.replicaId = replicaId\n this.maxPayloadSizeBytes =\n maxPayloadSizeBytes ?? DEFAULT_MAX_PAYLOAD_SIZE_BYTES\n this.socket = socket ?? new WebSocket(url)\n\n // Assign callbacks, falling back to no-ops\n this.onModelCreate = onModelCreate ?? noop\n this.onGridReady = onGridReady ?? noop\n this.onStatusChange = onStatusChange ?? noop\n this.onReplicaConnected = onReplicaConnected ?? noop\n this.onReplicaDisconnected = onReplicaDisconnected ?? noop\n this.onSyncStart = onSyncStart ?? noop\n this.onSyncEnd = onSyncEnd ?? noop\n this.onError = onError ?? noop\n\n // Restore existing model if provided\n if (model) {\n this.model = model\n }\n\n this.attachSocketHandlers()\n\n this.throttledSendPatch = throttle(\n () => this.sendPatchImmediate(),\n patchThrottleMs ?? DEFAULT_PATCH_THROTTLE_MS,\n { leading: false, trailing: true },\n )\n }\n\n private attachSocketHandlers() {\n this.socket.onopen = () => {\n console.debug('Connected to the WebSocket server')\n this.onStatusChange(true, this)\n }\n\n this.socket.onmessage = (event: MessageEvent) => {\n if (typeof event.data === 'string') {\n this.handleMessage(event.data)\n } else {\n console.error('Received non-string message data:', event.data)\n }\n }\n\n this.socket.onclose = () => {\n console.debug('Disconnected from the WebSocket server')\n this.onStatusChange(false, this)\n }\n\n this.socket.onerror = (error: Event) => {\n console.error('WebSocket error:', error)\n }\n }\n\n public disconnect() {\n this.throttledSendPatch.flush()\n this.throttledSendPatch.cancel()\n if (this.socket.readyState === WebSocket.OPEN) {\n this.socket.close()\n console.debug('WebSocket connection closed')\n } else {\n console.warn('WebSocket is not open. No action taken.')\n }\n }\n\n /**\n * Flushes the local model clock and sends the resulting patch (or a clock-sync\n * message) to the server so that both sides converge.\n */\n private sendClockSync() {\n if (!this.model) {\n console.error('Model is not initialized. Cannot sync model.')\n return\n }\n\n const patchesWereSent = this.sendPatchImmediate()\n if (!patchesWereSent) {\n // We've flushed all of our changes, so now we can receive changes from the server\n const verbModel = this.verboseEncoder.encode(this.model)\n this.sendSyncMessage(verbModel.time)\n }\n }\n\n private handleMessage(rawMessage: string) {\n const message = JsonRx.fromJson(JSON.parse(rawMessage))\n if (message instanceof JsonRxResponse) {\n this.handleResponse(\n message as JsonRxResponse<SynapseGridWebSocketMessagePayload>,\n )\n } else if (message instanceof JsonRxResponseComplete) {\n this.handleResponseComplete()\n } else if (message instanceof JsonRxNotification) {\n this.handleNotification(message)\n } else {\n console.warn('Unexpected WebSocket message format:', message)\n }\n }\n\n private handleResponse(\n message: JsonRxResponse<SynapseGridWebSocketMessagePayload>,\n ) {\n const payload = message.getPayload()\n\n switch (payload.type) {\n case SynapseGridWebSocketMessagePayloadType.PATCH:\n this.handlePatchPayload([payload.body])\n break\n\n case SynapseGridWebSocketMessagePayloadType.PATCHES:\n void this.handlePatchPayload(payload.body)\n break\n\n case SynapseGridWebSocketMessagePayloadType.SNAPSHOT:\n void this.handleSnapshotPayload(payload.body)\n break\n\n default:\n console.warn('Unknown payload type:', payload)\n break\n }\n }\n\n private handlePatchPayload(encodedPatch: CompactCodecPatch[]) {\n try {\n const patches = encodedPatch.map(decode)\n if (!this.model) {\n this.model = Model.fromPatches(patches).fork(\n this.replicaId,\n ) as unknown as GridModel\n this.onModelCreate(this.model)\n } else {\n this.model.applyBatch(patches)\n }\n this.sendClockSync()\n } catch (err) {\n console.error('Failed to apply patches or send clock:', err)\n }\n }\n\n private async handleSnapshotPayload(snapshotUrl: string) {\n console.debug('Received snapshot URL from server:', snapshotUrl)\n try {\n const decodedModel = await this.fetchAndDecodeSnapshot(snapshotUrl)\n this.model = decodedModel.fork(this.replicaId) as unknown as GridModel\n this.onModelCreate(this.model)\n this.sendClockSync()\n } catch (err) {\n console.error('Failed to fetch or decode snapshot', err)\n }\n }\n\n private handleResponseComplete() {\n // Clocks are in sync, no further action needed\n this.onGridReady()\n this.onSyncEnd()\n console.debug(\n 'Clocks synchronized with server. Incrementing sequence number.',\n )\n }\n\n private handleNotification(message: JsonRxNotification) {\n const methodName = message.getMethodName()\n console.debug('Notification received from server:', methodName)\n\n switch (methodName) {\n case 'ping':\n console.debug('Received ping from server')\n break\n\n case 'connected':\n console.debug('Server ready to receive patches')\n this.sendSyncMessage(\n this.model ? this.verboseEncoder.encode(this.model).time : undefined,\n )\n break\n\n case 'error':\n console.warn('Error from server:', message.getPayload())\n this.onError(message.getPayload())\n break\n\n case 'new-patch':\n if (!this.model) {\n console.warn(\n \"Model is not initialized. Cannot handle 'new-patch' message.\",\n )\n break\n }\n {\n const verbModel = this.verboseEncoder.encode(this.model)\n console.debug('New patch received, syncing data:', verbModel.time)\n this.sendSyncMessage(verbModel.time)\n }\n break\n\n case 'replica-connected':\n console.debug('A replica connected to the grid session')\n this.onReplicaConnected()\n break\n\n case 'replica-disconnected':\n console.debug('A replica disconnected from the grid session')\n this.onReplicaDisconnected()\n break\n\n default:\n console.warn('Unknown notification method:', methodName)\n break\n }\n }\n\n private sendMessage(message: JsonRxMessage) {\n if (this.socket.readyState === WebSocket.OPEN) {\n this.socket.send(JSON.stringify(message.getJson()))\n } else {\n console.error(\n 'WebSocket is not open. Unable to send message. Current state:',\n this.socket.readyState,\n )\n }\n }\n\n public sendPatch() {\n this.throttledSendPatch()\n }\n\n /**\n * @returns true if one or more patches were sent\n */\n private sendPatchImmediate(): boolean {\n if (!this.model) {\n console.warn('Model is not initialized. Cannot send patch.')\n return false\n }\n\n const patch = this.model.api.flush()\n const hasOperationsToDispatch = patch.ops.length > 0\n\n if (hasOperationsToDispatch) {\n // Split the patch if it exceeds the maximum size we can send in a single frame\n const patches = splitPatch(patch, this.maxPayloadSizeBytes)\n patches.forEach(compactEncodedPatch => {\n console.debug('Sending patch to server:', compactEncodedPatch)\n const msg = new JsonRxRequestComplete(\n this.messageCounter.getNext(),\n 'patch',\n compactEncodedPatch,\n )\n this.sendMessage(msg)\n })\n }\n\n return hasOperationsToDispatch\n }\n\n private sendSyncMessage(clock?: number | JsonCrdtVerboseLogicalTimestamp[]) {\n const message = new JsonRxRequestComplete(\n this.messageCounter.getNext(),\n 'synchronize-clock',\n clock ?? [],\n )\n this.onSyncStart()\n this.sendMessage(message)\n }\n\n private async fetchAndDecodeSnapshot(\n snapshotUrl: string,\n ): Promise<GridModel> {\n const response = await fetchWithExponentialTimeout(snapshotUrl)\n const blob = await response.blob()\n const buffer = await blob.arrayBuffer()\n const decodedFromCbor = decodeCbor(new Uint8Array(buffer))\n const decodedModel = this.snapshotDecoder.decode(\n decodedFromCbor as IndexedFields,\n ) as unknown as GridModel\n return decodedModel\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MergeGridWithSourceTableButton.js","names":["GridMenuButton","useMergeGridWithSource","displayToast","useGetEntity","convertToEntityType","EntityType","EntityUpdateResults","instanceOfEntityUpdateResults","instanceOfUploadToTableResult","SynchronizeGridResponse","TableUpdateTransactionResponse","MergeGridWithSourceTableButtonProps","sourceEntityId","gridSessionId","sourceEntityType","MergeGridWithSourceTableButton","props","$","_c","data","entity","isLoading","entityLoading","t0","concreteType","undefined","t1","Symbol","for","onSuccess","_temp","onError","_temp2","mutate","mergeGrid","isPending","buttonText","t2","t3","e","message","result","type","onSynchronizeSuccess","onMergeTableSuccess","errorMessages","length","map","msg","index","title","results","updateResult","failureMessages","getEntityUpdateResultsErrorMessages","join","rowsUpdatedStr","rowsProcessed","toLocaleString","updateResults","filter","failureCode","r","entityId","failureMessage"],"sources":["../../../src/components/DataGrid/MergeGridWithSourceTableButton.tsx"],"sourcesContent":["import GridMenuButton from '@/components/DataGrid/components/GridMenuButton/GridMenuButton'\nimport useMergeGridWithSource from '@/components/DataGrid/useMergeGridWithSource'\nimport { displayToast } from '@/components/index'\nimport { useGetEntity } from '@/synapse-queries'\nimport { convertToEntityType } from '@/utils/functions/EntityTypeUtils'\nimport {\n EntityType,\n EntityUpdateResults,\n instanceOfEntityUpdateResults,\n instanceOfUploadToTableResult,\n SynchronizeGridResponse,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\n\nexport type MergeGridWithSourceTableButtonProps = {\n sourceEntityId: string\n gridSessionId: string\n sourceEntityType?: EntityType\n}\n\nexport default function MergeGridWithSourceTableButton(\n props: MergeGridWithSourceTableButtonProps,\n) {\n const { sourceEntityId, gridSessionId } = props\n\n const { data: entity, isLoading: entityLoading } =\n useGetEntity(sourceEntityId)\n\n const sourceEntityType = entity?.concreteType\n ? convertToEntityType(entity.concreteType)\n : undefined\n\n const { mutate: mergeGrid, isPending } = useMergeGridWithSource({\n onSuccess: result => {\n if (result.type === 'entityview') {\n onSynchronizeSuccess(result.data)\n } else if (result.type === 'table') {\n onMergeTableSuccess(result.data)\n } else {\n displayToast('Successfully updated RecordSet.', 'success')\n }\n },\n onError: e => displayToast(e.message, 'danger'),\n })\n\n const buttonText =\n sourceEntityType === 'entityview' ? 'Sync changes' : 'Apply changes'\n\n return (\n <GridMenuButton\n loading={isPending}\n disabled={entityLoading}\n onClick={() => {\n mergeGrid({ gridSessionId, sourceEntityId, sourceEntityType })\n }}\n variant=\"contained\"\n >\n {buttonText}\n </GridMenuButton>\n )\n}\n\nfunction onSynchronizeSuccess(result: SynchronizeGridResponse) {\n if (result.errorMessages == null || result.errorMessages.length === 0) {\n displayToast('Successfully synchronized metadata.', 'success')\n } else {\n displayToast(\n <ul>\n {result.errorMessages.map((msg, index) => (\n <li key={index}>{msg}</li>\n ))}\n </ul>,\n 'warning',\n { title: 'Some changes could not be applied' },\n )\n }\n}\n\nfunction onMergeTableSuccess(result: TableUpdateTransactionResponse) {\n if (result.results?.length) {\n // There should only be one result since the CSV upload is done in one step\n const updateResult = result.results[0]\n if (instanceOfEntityUpdateResults(updateResult)) {\n // This is an update to the contents of a View\n const failureMessages =\n getEntityUpdateResultsErrorMessages(updateResult).join('\\n')\n\n if (failureMessages) {\n displayToast(\n `Some changes could not be applied:\\n${failureMessages}`,\n 'danger',\n )\n } else {\n displayToast('Changes applied successfully', 'success')\n }\n } else if (instanceOfUploadToTableResult(updateResult)) {\n // This is an update to a TableEntity\n const rowsUpdatedStr = updateResult.rowsProcessed?.toLocaleString()\n displayToast(`Successfully updated ${rowsUpdatedStr} rows.`, 'success')\n }\n }\n}\n\nfunction getEntityUpdateResultsErrorMessages(\n results: EntityUpdateResults,\n): string[] {\n return (\n results.updateResults\n ?.filter(e => !!e.failureCode)\n .map(\n r => `${r.entityId}: ${r.failureMessage} (code: ${r.failureCode})`,\n ) ?? []\n )\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAee,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAGb,EAAAN,mBAAAC,qBAA0CG,GAE1C,EAAAG,MAAAC,GAAAC,WAAAC,MACEnB,EAAaS,EAAe,EAAAW;AAAA,CAAAN,EAAA,OAAAG,IAIjBG,IAAAN,EAAA,MAFYM,IAAAH,GAAMI,eAC3BpB,EAAoBgB,EAAMI,aACjB,GAFYC,KAAAA,GAEZR,EAAA,KAAAG,GAAAH,EAAA,KAAAM;CAFb,IAAAT,IAAyBS,GAEZG;AAAA,CAAAT,EAAA,OAAAU,OAAAC,IAAA,4BAAA,IAEmDF,IAAA;EAAAG,WACnDC;EAQVC,SACQC;EACV,EAAAf,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAXD,IAAA,EAAAgB,QAAAC,GAAAC,iBAAyClC,EAAuByB,EAW9D,EAEFU,IACEtB,MAAqB,eAArB,iBAAA,iBAAoEuB;AAAA,CAAApB,EAAA,OAAAJ,KAAAI,EAAA,OAAAiB,KAAAjB,EAAA,OAAAL,KAAAK,EAAA,OAAAH,KAMzDuB,UAAA;AACPH,IAAU;GAAArB;GAAAD;GAAAE;GAAmD,CAAC;IAC/DG,EAAA,KAAAJ,GAAAI,EAAA,KAAAiB,GAAAjB,EAAA,KAAAL,GAAAK,EAAA,KAAAH,GAAAG,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAAA,IAAAqB;AAIc,QAJdrB,EAAA,OAAAmB,KAAAnB,EAAA,OAAAK,KAAAL,EAAA,QAAAkB,KAAAlB,EAAA,QAAAoB,KALHC,IAAA,kBAAC,GAAD;EACWH,SAAAA;EACCb,UAAAA;EACD,SAAAe;EAGD,SAAA;YAEPD;EACc,CAAA,EAAAnB,EAAA,KAAAmB,GAAAnB,EAAA,KAAAK,GAAAL,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA,KATjBqB;;AA7BW,SAAAN,EAAAO,GAAA;AAAA,QAsBGrC,EAAaqC,EAACC,SAAU,SAAS;;AAtBpC,SAAAV,EAAAW,GAAA;AAcT,CAAIA,EAAMC,SAAU,eAClBC,EAAqBF,EAAMtB,KAAM,GACxBsB,EAAMC,SAAU,UACzBE,EAAoBH,EAAMtB,KAAM,GAEhCjB,EAAa,mCAAmC,UAAU;;AAuBlE,SAASyC,EAAqBF,GAAiC;AAC7D,CAAIA,EAAOI,iBAAiB,QAAQJ,EAAOI,cAAcC,WAAW,IAClE5C,EAAa,uCAAuC,UAAU,GAE9DA,EACE,kBAAC,MAAD,EAAA,UACGuC,EAAOI,cAAcE,KAAKC,GAAKC,MAC9B,kBAAC,MAAD,EAAA,UAAiBD,GAClB,EADUC,EACV,CAAC,EACC,CAAA,EACL,WACA,EAAEC,OAAO,qCACX,CAAC;;AAIL,SAASN,EAAoBH,GAAwC;AACnE,KAAIA,EAAOU,SAASL,QAAQ;EAE1B,IAAMM,IAAeX,EAAOU,QAAQ;AACpC,MAAI5C,EAA8B6C,EAAa,EAAE;GAE/C,IAAMC,IACJC,EAAoCF,EAAa,CAACG,KAAK,KAAK;AAE9D,GAAIF,IACFnD,EACE,uCAAuCmD,KACvC,SACD,GAEDnD,EAAa,gCAAgC,UAAU;aAEhDM,EAA8B4C,EAAa,EAAE;GAEtD,IAAMI,IAAiBJ,EAAaK,eAAeC,gBAAgB;AACnExD,KAAa,wBAAwBsD,EAAc,SAAU,UAAU;;;;AAK7E,SAASF,EACPH,GACU;AACV,QACEA,EAAQQ,eACJC,QAAOrB,MAAK,CAAC,CAACA,EAAEsB,YAAY,CAC7Bd,KACCe,MAAK,GAAGA,EAAEC,SAAQ,IAAKD,EAAEE,eAAc,UAAWF,EAAED,YAAW,GAChE,IAAI,EAAE"}
1
+ {"version":3,"file":"MergeGridWithSourceTableButton.js","names":["GridMenuButton","useMergeGridWithSource","displayToast","useGetEntity","convertToEntityType","EntityType","EntityUpdateResults","instanceOfEntityUpdateResults","instanceOfUploadToTableResult","SynchronizeGridResponse","TableUpdateTransactionResponse","MergeGridWithSourceTableButtonProps","sourceEntityId","gridSessionId","sourceEntityType","MergeGridWithSourceTableButton","props","$","_c","data","entity","isLoading","entityLoading","t0","concreteType","undefined","t1","Symbol","for","onSuccess","_temp","onError","_temp2","mutate","mergeGrid","isPending","buttonText","t2","t3","e","message","result","type","onSynchronizeSuccess","onMergeTableSuccess","errorMessages","length","map","msg","index","title","results","updateResult","failureMessages","getEntityUpdateResultsErrorMessages","join","rowsUpdatedStr","rowsProcessed","toLocaleString","updateResults","filter","failureCode","r","entityId","failureMessage"],"sources":["../../../src/components/DataGrid/MergeGridWithSourceTableButton.tsx"],"sourcesContent":["import GridMenuButton from '@/components/DataGrid/components/GridMenuButton/GridMenuButton'\nimport useMergeGridWithSource from '@/components/DataGrid/useMergeGridWithSource'\nimport { displayToast } from '@/components/index'\nimport { useGetEntity } from '@/synapse-queries'\nimport { convertToEntityType } from '@/utils/functions/EntityTypeUtils'\nimport {\n EntityType,\n EntityUpdateResults,\n instanceOfEntityUpdateResults,\n instanceOfUploadToTableResult,\n SynchronizeGridResponse,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\n\nexport type MergeGridWithSourceTableButtonProps = {\n sourceEntityId: string\n gridSessionId: string\n sourceEntityType?: EntityType\n}\n\nexport default function MergeGridWithSourceTableButton(\n props: MergeGridWithSourceTableButtonProps,\n) {\n const { sourceEntityId, gridSessionId } = props\n\n const { data: entity, isLoading: entityLoading } =\n useGetEntity(sourceEntityId)\n\n const sourceEntityType = entity?.concreteType\n ? convertToEntityType(entity.concreteType)\n : undefined\n\n const { mutate: mergeGrid, isPending } = useMergeGridWithSource({\n onSuccess: result => {\n if (result.type === 'entityview') {\n onSynchronizeSuccess(result.data)\n } else if (result.type === 'table') {\n onMergeTableSuccess(result.data)\n } else {\n displayToast('Successfully updated RecordSet.', 'success')\n }\n },\n onError: e => displayToast(e.message, 'danger'),\n })\n\n const buttonText =\n sourceEntityType === 'entityview' ? 'Sync changes' : 'Apply changes'\n\n return (\n <GridMenuButton\n loading={isPending}\n disabled={entityLoading}\n onClick={() => {\n mergeGrid({ gridSessionId, sourceEntityId, sourceEntityType })\n }}\n variant=\"contained\"\n >\n {buttonText}\n </GridMenuButton>\n )\n}\n\nfunction onSynchronizeSuccess(result: SynchronizeGridResponse) {\n if (result.errorMessages == null || result.errorMessages.length === 0) {\n displayToast('Successfully synchronized metadata.', 'success')\n } else {\n displayToast(\n <ul>\n {result.errorMessages.map((msg, index) => (\n <li key={index}>{msg}</li>\n ))}\n </ul>,\n 'warning',\n { title: 'Some changes could not be applied' },\n )\n }\n}\n\nfunction onMergeTableSuccess(result: TableUpdateTransactionResponse) {\n if (result.results?.length) {\n // There should only be one result since the CSV upload is done in one step\n const updateResult = result.results[0]\n if (instanceOfEntityUpdateResults(updateResult)) {\n // This is an update to the contents of a View\n const failureMessages =\n getEntityUpdateResultsErrorMessages(updateResult).join('\\n')\n\n if (failureMessages) {\n displayToast(\n `Some changes could not be applied:\\n${failureMessages}`,\n 'danger',\n )\n } else {\n displayToast('Changes applied successfully', 'success')\n }\n } else if (instanceOfUploadToTableResult(updateResult)) {\n // This is an update to a TableEntity\n const rowsUpdatedStr = updateResult.rowsProcessed?.toLocaleString()\n displayToast(`Successfully updated ${rowsUpdatedStr} rows.`, 'success')\n }\n }\n}\n\nfunction getEntityUpdateResultsErrorMessages(\n results: EntityUpdateResults,\n): string[] {\n return (\n results.updateResults\n ?.filter(e => !!e.failureCode)\n .map(\n r => `${r.entityId}: ${r.failureMessage} (code: ${r.failureCode})`,\n ) ?? []\n )\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAee,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAGb,EAAAN,mBAAAC,qBAA0CG,GAE1C,EAAAG,MAAAC,GAAAC,WAAAC,MACEnB,EAAaS,CAAc,GAACW;CAAA,AAAAN,EAAA,OAAAG,IAIjBG,IAAAN,EAAA,MAFYM,IAAAH,GAAMI,eAC3BpB,EAAoBgB,EAAMI,YAClB,IAFaC,KAAAA,GAEZR,EAAA,KAAAG,GAAAH,EAAA,KAAAM;CAFb,IAAAT,IAAyBS,GAEZG;CAAA,AAAAT,EAAA,OAAAU,OAAAC,IAAA,2BAAA,KAEmDF,IAAA;EAAAG,WACnDC;EAQVC,SACQC;CACX,GAACf,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAXD,IAAA,EAAAgB,QAAAC,GAAAC,iBAAyClC,EAAuByB,CAW/D,GAEDU,IACEtB,MAAqB,eAArB,iBAAA,iBAAoEuB;CAAA,AAAApB,EAAA,OAAAJ,KAAAI,EAAA,OAAAiB,KAAAjB,EAAA,OAAAL,KAAAK,EAAA,OAAAH,KAMzDuB,UAAA;EACPH,EAAU;GAAArB;GAAAD;GAAAE;EAAkD,CAAC;CAAC,GAC/DG,EAAA,KAAAJ,GAAAI,EAAA,KAAAiB,GAAAjB,EAAA,KAAAL,GAAAK,EAAA,KAAAH,GAAAG,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAAA,IAAAqB;CAIc,OAJdrB,EAAA,OAAAmB,KAAAnB,EAAA,OAAAK,KAAAL,EAAA,QAAAkB,KAAAlB,EAAA,QAAAoB,KALHC,IAAA,kBAAC,GAAD;EACWH,SAAAA;EACCb,UAAAA;EACD,SAAAe;EAGD,SAAA;YAEPD;CARY,CAAA,GASEnB,EAAA,KAAAmB,GAAAnB,EAAA,KAAAK,GAAAL,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA,KATjBqB;AASiB;AAtCN,SAAAN,EAAAO,GAAA;CAAA,OAsBGrC,EAAaqC,EAACC,SAAU,QAAQ;AAAC;AAtBpC,SAAAV,EAAAW,GAAA;CAcT,AAAIA,EAAMC,SAAU,eAClBC,EAAqBF,EAAMtB,IAAK,IACvBsB,EAAMC,SAAU,UACzBE,EAAoBH,EAAMtB,IAAK,IAE/BjB,EAAa,mCAAmC,SAAS;AAC1D;AAsBP,SAASyC,EAAqBF,GAAiC;CAC7D,AAAIA,EAAOI,iBAAiB,QAAQJ,EAAOI,cAAcC,WAAW,IAClE5C,EAAa,uCAAuC,SAAS,IAE7DA,EACE,kBAAC,MAAD,EAAA,UACGuC,EAAOI,cAAcE,KAAKC,GAAKC,MAC9B,kBAAC,MAAD,EAAA,UAAiBD,EAAQ,GAAhBC,CAAgB,CAC1B,EACC,CAAA,GACJ,WACA,EAAEC,OAAO,oCAAoC,CAC/C;AAEJ;AAEA,SAASN,EAAoBH,GAAwC;CACnE,IAAIA,EAAOU,SAASL,QAAQ;EAE1B,IAAMM,IAAeX,EAAOU,QAAQ;EACpC,IAAI5C,EAA8B6C,CAAY,GAAG;GAE/C,IAAMC,IACJC,EAAoCF,CAAY,EAAEG,KAAK,IAAI;GAE7D,AAAIF,IACFnD,EACE,uCAAuCmD,KACvC,QACF,IAEAnD,EAAa,gCAAgC,SAAS;EAE1D,OAAO,IAAIM,EAA8B4C,CAAY,GAAG;GAEtD,IAAMI,IAAiBJ,EAAaK,eAAeC,eAAe;GAClExD,EAAa,wBAAwBsD,EAAc,SAAU,SAAS;EACxE;CACF;AACF;AAEA,SAASF,EACPH,GACU;CACV,OACEA,EAAQQ,eACJC,QAAOrB,MAAK,CAAC,CAACA,EAAEsB,WAAW,EAC5Bd,KACCe,MAAK,GAAGA,EAAEC,SAAQ,IAAKD,EAAEE,eAAc,UAAWF,EAAED,YAAW,EACjE,KAAK,CAAA;AAEX"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartGridSession.js","names":["GridSessionSelectionField","useInitializeGridConnection","CreateOrGetGridSessionInput","parseQueryInput","Button","Grid","CreateGridRequest","GridSession","noop","forwardRef","useImperativeHandle","useState","displayToast","StartGridSessionProps","onSessionChange","session","onReplicaChange","replicaId","show","StartGridSessionHandle","handleStartSession","request","handleLoadSession","sessionId","StartGridSession","props","ref","$","_c","t0","t1","t2","undefined","inputValue","setInputValue","t3","onMutate","args","console","debug","onSuccess","t4","replica","onError","error","message","mutate","initializeGridConnection","value","transformTextToCreateOrGetGridRequest","onConfirmInput","t5","t6","createGridRequest","t7","Symbol","for","mb","t8","t9","xs","position","t10","t11","t12","gridSqlOrSessionId","parsedInput","type","Error","initialQuery","sql","input","concreteType","recordSetId"],"sources":["../../../src/components/DataGrid/StartGridSession.tsx"],"sourcesContent":["import GridSessionSelectionField from '@/components/DataGrid/components/GridSessionSelectionField'\nimport useInitializeGridConnection, {\n CreateOrGetGridSessionInput,\n} from '@/components/DataGrid/useInitializeGridConnection'\nimport { parseQueryInput } from '@/components/DataGrid/utils/DataGridUtils'\nimport { Button, Grid } from '@mui/material'\nimport {\n CreateGridRequest,\n GridSession,\n} from '@sage-bionetworks/synapse-client'\nimport noop from 'lodash-es/noop'\nimport { forwardRef, useImperativeHandle, useState } from 'react'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\n\nexport interface StartGridSessionProps {\n onSessionChange?: (session: GridSession | null) => void\n onReplicaChange?: (replicaId: number | null) => void\n show?: boolean\n}\n\nexport type StartGridSessionHandle = {\n handleStartSession: (request: CreateGridRequest) => void\n handleLoadSession: (sessionId: string) => void\n}\n\n// Based on user input, start a new session with or without a SQL query\n// or join an existing session by ID\nexport const StartGridSession = forwardRef<\n StartGridSessionHandle,\n StartGridSessionProps\n>((props, ref) => {\n const { show = false, onSessionChange = noop, onReplicaChange = noop } = props\n const [inputValue, setInputValue] = useState('')\n\n const { mutate: initializeGridConnection } = useInitializeGridConnection({\n onMutate(args) {\n console.debug('Starting grid session with args:', args)\n },\n onSuccess({ session, replica }) {\n onSessionChange(session)\n onReplicaChange(replica.replicaId!)\n },\n onError(error) {\n const message =\n error &&\n typeof error === 'object' &&\n 'message' in error &&\n typeof error.message === 'string'\n ? error.message\n : 'An error occurred'\n displayToast(message, 'danger')\n },\n })\n\n const onConfirmInput = function (value: string) {\n initializeGridConnection(transformTextToCreateOrGetGridRequest(value))\n }\n\n useImperativeHandle(\n ref,\n () => ({\n handleStartSession: (request: CreateGridRequest) => {\n initializeGridConnection({ createGridRequest: request })\n },\n handleLoadSession: (sessionId: string) => {\n initializeGridConnection({ sessionId })\n },\n }),\n [initializeGridConnection],\n )\n\n if (!show) {\n return null\n }\n\n return (\n <Grid container spacing={2} sx={{ mb: 2 }}>\n <Grid size={{ xs: 12 }} sx={{ position: 'relative' }}>\n <GridSessionSelectionField\n inputValue={inputValue}\n onInputValueChange={setInputValue}\n onConfirmInput={onConfirmInput}\n onSessionChange={onSessionChange}\n onReplicaChange={onReplicaChange}\n />\n </Grid>\n <Grid container size={12} justifyContent=\"flex-end\">\n <Button\n color={'primary'}\n variant=\"contained\"\n onClick={() => {\n onConfirmInput(inputValue)\n }}\n >\n Start Grid Session\n </Button>\n </Grid>\n </Grid>\n )\n})\n\nfunction transformTextToCreateOrGetGridRequest(\n gridSqlOrSessionId: string,\n): CreateOrGetGridSessionInput {\n const parsedInput = parseQueryInput(gridSqlOrSessionId)\n if ('unknown' == parsedInput.type) {\n throw new Error(\n 'Unknown input type, please provide a valid SQL query, Synapse ID, or session ID.',\n )\n }\n\n switch (parsedInput.type) {\n case 'empty':\n throw new Error('Input cannot be empty.')\n case 'sql':\n return {\n createGridRequest: {\n initialQuery: {\n sql: parsedInput.input,\n },\n concreteType: 'org.sagebionetworks.repo.model.grid.CreateGridRequest',\n },\n }\n case 'sessionId':\n return {\n sessionId: parsedInput.input,\n }\n case 'recordSetId':\n return {\n createGridRequest: {\n recordSetId: parsedInput.input,\n concreteType: 'org.sagebionetworks.repo.model.grid.CreateGridRequest',\n },\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StartGridSession.js","names":["GridSessionSelectionField","useInitializeGridConnection","CreateOrGetGridSessionInput","parseQueryInput","Button","Grid","CreateGridRequest","GridSession","noop","forwardRef","useImperativeHandle","useState","displayToast","StartGridSessionProps","onSessionChange","session","onReplicaChange","replicaId","show","StartGridSessionHandle","handleStartSession","request","handleLoadSession","sessionId","StartGridSession","props","ref","$","_c","t0","t1","t2","undefined","inputValue","setInputValue","t3","onMutate","args","console","debug","onSuccess","t4","replica","onError","error","message","mutate","initializeGridConnection","value","transformTextToCreateOrGetGridRequest","onConfirmInput","t5","t6","createGridRequest","t7","Symbol","for","mb","t8","t9","xs","position","t10","t11","t12","gridSqlOrSessionId","parsedInput","type","Error","initialQuery","sql","input","concreteType","recordSetId"],"sources":["../../../src/components/DataGrid/StartGridSession.tsx"],"sourcesContent":["import GridSessionSelectionField from '@/components/DataGrid/components/GridSessionSelectionField'\nimport useInitializeGridConnection, {\n CreateOrGetGridSessionInput,\n} from '@/components/DataGrid/useInitializeGridConnection'\nimport { parseQueryInput } from '@/components/DataGrid/utils/DataGridUtils'\nimport { Button, Grid } from '@mui/material'\nimport {\n CreateGridRequest,\n GridSession,\n} from '@sage-bionetworks/synapse-client'\nimport noop from 'lodash-es/noop'\nimport { forwardRef, useImperativeHandle, useState } from 'react'\nimport { displayToast } from '@/components/ToastMessage/ToastMessage'\n\nexport interface StartGridSessionProps {\n onSessionChange?: (session: GridSession | null) => void\n onReplicaChange?: (replicaId: number | null) => void\n show?: boolean\n}\n\nexport type StartGridSessionHandle = {\n handleStartSession: (request: CreateGridRequest) => void\n handleLoadSession: (sessionId: string) => void\n}\n\n// Based on user input, start a new session with or without a SQL query\n// or join an existing session by ID\nexport const StartGridSession = forwardRef<\n StartGridSessionHandle,\n StartGridSessionProps\n>((props, ref) => {\n const { show = false, onSessionChange = noop, onReplicaChange = noop } = props\n const [inputValue, setInputValue] = useState('')\n\n const { mutate: initializeGridConnection } = useInitializeGridConnection({\n onMutate(args) {\n console.debug('Starting grid session with args:', args)\n },\n onSuccess({ session, replica }) {\n onSessionChange(session)\n onReplicaChange(replica.replicaId!)\n },\n onError(error) {\n const message =\n error &&\n typeof error === 'object' &&\n 'message' in error &&\n typeof error.message === 'string'\n ? error.message\n : 'An error occurred'\n displayToast(message, 'danger')\n },\n })\n\n const onConfirmInput = function (value: string) {\n initializeGridConnection(transformTextToCreateOrGetGridRequest(value))\n }\n\n useImperativeHandle(\n ref,\n () => ({\n handleStartSession: (request: CreateGridRequest) => {\n initializeGridConnection({ createGridRequest: request })\n },\n handleLoadSession: (sessionId: string) => {\n initializeGridConnection({ sessionId })\n },\n }),\n [initializeGridConnection],\n )\n\n if (!show) {\n return null\n }\n\n return (\n <Grid container spacing={2} sx={{ mb: 2 }}>\n <Grid size={{ xs: 12 }} sx={{ position: 'relative' }}>\n <GridSessionSelectionField\n inputValue={inputValue}\n onInputValueChange={setInputValue}\n onConfirmInput={onConfirmInput}\n onSessionChange={onSessionChange}\n onReplicaChange={onReplicaChange}\n />\n </Grid>\n <Grid container size={12} justifyContent=\"flex-end\">\n <Button\n color={'primary'}\n variant=\"contained\"\n onClick={() => {\n onConfirmInput(inputValue)\n }}\n >\n Start Grid Session\n </Button>\n </Grid>\n </Grid>\n )\n})\n\nfunction transformTextToCreateOrGetGridRequest(\n gridSqlOrSessionId: string,\n): CreateOrGetGridSessionInput {\n const parsedInput = parseQueryInput(gridSqlOrSessionId)\n if ('unknown' == parsedInput.type) {\n throw new Error(\n 'Unknown input type, please provide a valid SQL query, Synapse ID, or session ID.',\n )\n }\n\n switch (parsedInput.type) {\n case 'empty':\n throw new Error('Input cannot be empty.')\n case 'sql':\n return {\n createGridRequest: {\n initialQuery: {\n sql: parsedInput.input,\n },\n concreteType: 'org.sagebionetworks.repo.model.grid.CreateGridRequest',\n },\n }\n case 'sessionId':\n return {\n sessionId: parsedInput.input,\n }\n case 'recordSetId':\n return {\n createGridRequest: {\n recordSetId: parsedInput.input,\n concreteType: 'org.sagebionetworks.repo.model.grid.CreateGridRequest',\n },\n }\n }\n}\n"],"mappings":";;;;;;;;;;AA2BA,IAAawB,IAAmBf,GAG9BgB,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACA,EAAAV,MAAAW,GAAAf,iBAAAgB,GAAAd,iBAAAe,MAAyEN,GAAjEP,IAAAW,MAAAG,KAAAA,IAAA,KAAAH,GAAcf,IAAAgB,MAAAE,KAAAA,IAAAxB,IAAAsB,GAAwBd,IAAAe,MAAAC,KAAAA,IAAAxB,IAAAuB,GAC9C,CAAAE,GAAAC,KAAoCvB,EAAS,EAAE,GAACwB;CAAA,AAAAR,EAAA,OAAAX,KAAAW,EAAA,OAAAb,KAEyBqB,IAAA;EAAAC,SAAAC,GAAA;GAErEC,QAAOC,MAAO,oCAAoCF,CAAI;EAAC;EAAAG,UAAAC,GAAA;GAE/C,IAAA,EAAA1B,YAAA2B,eAAAD;GAERzB,AADAF,EAAgBC,CAAO,GACvBC,EAAgB0B,EAAOzB,SAAW;EAAC;EAAA0B,QAAAC,GAAA;GAUnChC,EANEgC,KACA,OAAOA,KAAU,YACjB,aAAaA,KACb,OAAOA,EAAKC,WAAa,WACrBD,EAAKC,UAJT,qBAMoB,QAAQ;EAAC;CAEnC,GAAClB,EAAA,KAAAX,GAAAW,EAAA,KAAAb,GAAAa,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAlBD,IAAA,EAAAmB,QAAAC,MAA6C9C,EAA4BkC,CAkBxE,GAACM;CAAA,AAAAd,EAAA,OAAAoB,IAIDN,IAAAd,EAAA,MAFsBc,IAAA,SAAAO,GAAA;EACrBD,EAAyBE,EAAsCD,CAAK,CAAC;CAAC,GACvErB,EAAA,KAAAoB,GAAApB,EAAA,KAAAc;CAFD,IAAAS,IAAuBT,GAEtBU,GAAAC;CAeD,IAfCzB,EAAA,OAAAoB,KAY2BI,IAAAxB,EAAA,IAAAyB,IAAAzB,EAAA,OAR1BwB,WAAO;EAAA/B,qBACeC,MAAA;GAClB0B,EAAyB,EAAAM,mBAAqBhC,EAAQ,CAAC;EAAC;EACzDC,oBACkBC,MAAA;GACjBwB,EAAyB,EAAAxB,aAAY,CAAC;EAAC;CAE3C,IACA6B,IAAA,CAACL,CAAwB,GAACpB,EAAA,KAAAoB,GAAApB,EAAA,KAAAwB,GAAAxB,EAAA,KAAAyB,IAV5B1C,EACEgB,GACAyB,GAQAC,CACF,GAEI,CAAClC,GAAI,OACA;CACR,IAAAoC;CAAA,AAAA3B,EAAA,OAAA4B,OAAAC,IAAA,2BAAA,KAGiCF,IAAA,EAAAG,IAAM,EAAE,GAAC9B,EAAA,KAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAA+B,GAAAC;CAAA,AAAAhC,EAAA,OAAA4B,OAAAC,IAAA,2BAAA,KAC3BE,IAAA,EAAAE,IAAM,GAAG,GAAOD,IAAA,EAAAE,UAAY,WAAW,GAAClC,EAAA,KAAA+B,GAAA/B,EAAA,MAAAgC,MAAAD,IAAA/B,EAAA,IAAAgC,IAAAhC,EAAA;CAAA,IAAAmC;CAAA,AAAAnC,EAAA,QAAAM,KAAAN,EAAA,QAAAuB,KAAAvB,EAAA,QAAAX,KAAAW,EAAA,QAAAb,KAApDgD,IAAA,kBAAC,GAAD;EAAY,MAAAJ;EAAgB,IAAAC;YAC1B,kBAAC,GAAD;GACc1B;GACQC,oBAAAA;GACJgB;GACCpC;GACAE;EAAe,CAAA;CAN/B,CAAA,GAQEW,EAAA,MAAAM,GAAAN,EAAA,MAAAuB,GAAAvB,EAAA,MAAAX,GAAAW,EAAA,MAAAb,GAAAa,EAAA,MAAAmC,KAAAA,IAAAnC,EAAA;CAAA,IAAAoC;CAAA,AAAApC,EAAA,QAAAM,KAAAN,EAAA,QAAAuB,KACPa,IAAA,kBAAC,GAAD;EAAM,WAAA;EAAgB,MAAA;EAAmB,gBAAA;YACvC,kBAAC,GAAD;GACS,OAAA;GACC,SAAA;GACC,eAAA;IACPb,EAAejB,CAAU;GAAC;aAE7B;EANM,CAAA;CADJ,CAAA,GAUEN,EAAA,MAAAM,GAAAN,EAAA,MAAAuB,GAAAvB,EAAA,MAAAoC,KAAAA,IAAApC,EAAA;CAAA,IAAAqC;CACF,OADErC,EAAA,QAAAmC,KAAAnC,EAAA,QAAAoC,KApBTC,IAAA,kBAAC,GAAD;EAAM,WAAA;EAAmB,SAAA;EAAO,IAAAV;YAAhC,CACEQ,GASAC,CAVG;KAqBEpC,EAAA,MAAAmC,GAAAnC,EAAA,MAAAoC,GAAApC,EAAA,MAAAqC,KAAAA,IAAArC,EAAA,KArBPqC;AAqBO,CAEV;AAED,SAASf,EACPgB,GAC6B;CAC7B,IAAMC,IAAc/D,EAAgB8D,CAAkB;CACtD,IAAiBC,EAAYC,QAAzB,WACF,MAAUC,MACR,kFACF;CAGF,QAAQF,EAAYC,MAApB;EACE,KAAK,SACH,MAAUC,MAAM,wBAAwB;EAC1C,KAAK,OACH,OAAO,EACLf,mBAAmB;GACjBgB,cAAc,EACZC,KAAKJ,EAAYK,MACnB;GACAC,cAAc;EAChB,EACF;EACF,KAAK,aACH,OAAO,EACLjD,WAAW2C,EAAYK,MACzB;EACF,KAAK,eACH,OAAO,EACLlB,mBAAmB;GACjBoB,aAAaP,EAAYK;GACzBC,cAAc;EAChB,EACF;CACJ;AACF"}
@@ -1,12 +1,14 @@
1
1
  import { CreateGridRequest } from '@sage-bionetworks/synapse-client';
2
+ import { Ref } from 'react';
2
3
  export type SynapseGridProps = {
3
4
  agentRegistrationId?: string;
4
5
  showDebugInfo?: boolean;
6
+ ref?: Ref<SynapseGridHandle>;
5
7
  };
6
8
  export type SynapseGridHandle = {
7
9
  initializeGrid: (request: CreateGridRequest) => void;
8
10
  loadExistingSession: (sessionId: string) => void;
9
11
  };
10
- declare const SynapseGrid: import("react").ForwardRefExoticComponent<SynapseGridProps & import("react").RefAttributes<SynapseGridHandle>>;
12
+ declare function SynapseGrid(props: SynapseGridProps): import("react/jsx-runtime").JSX.Element;
11
13
  export default SynapseGrid;
12
14
  //# sourceMappingURL=SynapseGrid.d.ts.map