synapse-react-client 4.0.19 → 4.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1619) hide show
  1. package/dist/SWC.index.d.ts +1 -1
  2. package/dist/SWC.index.js +1 -1
  3. package/dist/SWC.index.js.map +1 -1
  4. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  5. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  6. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  7. package/dist/assets/GoogleIcon.js.map +1 -1
  8. package/dist/assets/GoogleIcon24.js.map +1 -1
  9. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  11. package/dist/assets/homepage/aacr.js.map +1 -1
  12. package/dist/assets/homepage/cri.js.map +1 -1
  13. package/dist/assets/homepage/ctf.js.map +1 -1
  14. package/dist/assets/homepage/egress.js.map +1 -1
  15. package/dist/assets/homepage/facebook.js.map +1 -1
  16. package/dist/assets/homepage/fisma.js.map +1 -1
  17. package/dist/assets/homepage/gff.js.map +1 -1
  18. package/dist/assets/homepage/github.js.map +1 -1
  19. package/dist/assets/homepage/gray.js.map +1 -1
  20. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  21. package/dist/assets/homepage/instagram.js.map +1 -1
  22. package/dist/assets/homepage/linkedin.js.map +1 -1
  23. package/dist/assets/homepage/ml-commons.js.map +1 -1
  24. package/dist/assets/homepage/nih-aging.js.map +1 -1
  25. package/dist/assets/homepage/nih-heart.js.map +1 -1
  26. package/dist/assets/homepage/nih-nci.js.map +1 -1
  27. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  28. package/dist/assets/homepage/ntap.js.map +1 -1
  29. package/dist/assets/homepage/plan-item.js.map +1 -1
  30. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  31. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  32. package/dist/assets/homepage/python.js.map +1 -1
  33. package/dist/assets/homepage/r.js.map +1 -1
  34. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  35. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  36. package/dist/assets/homepage/sloan.js.map +1 -1
  37. package/dist/assets/homepage/twitter.js.map +1 -1
  38. package/dist/assets/homepage/users.js.map +1 -1
  39. package/dist/assets/homepage/youtube.js.map +1 -1
  40. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  41. package/dist/assets/icons/AccessPending.js.map +1 -1
  42. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  43. package/dist/assets/icons/AddAd.js.map +1 -1
  44. package/dist/assets/icons/AddToList.js.map +1 -1
  45. package/dist/assets/icons/Alert.js.map +1 -1
  46. package/dist/assets/icons/Arrow.js.map +1 -1
  47. package/dist/assets/icons/AwardScroll.js.map +1 -1
  48. package/dist/assets/icons/Baseline.js.map +1 -1
  49. package/dist/assets/icons/Cavatica.js.map +1 -1
  50. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  51. package/dist/assets/icons/Challenge.js.map +1 -1
  52. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  58. package/dist/assets/icons/ClappingHands.js.map +1 -1
  59. package/dist/assets/icons/CloudWarning.js.map +1 -1
  60. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  61. package/dist/assets/icons/CreateVersion.js.map +1 -1
  62. package/dist/assets/icons/DNA_Two.js.map +1 -1
  63. package/dist/assets/icons/Data2.js.map +1 -1
  64. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  65. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  66. package/dist/assets/icons/FileWithShield.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  68. package/dist/assets/icons/FrontHand.js.map +1 -1
  69. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  70. package/dist/assets/icons/IconCopy.js.map +1 -1
  71. package/dist/assets/icons/IconMinus.js.map +1 -1
  72. package/dist/assets/icons/IconPlus.js.map +1 -1
  73. package/dist/assets/icons/Java.js.map +1 -1
  74. package/dist/assets/icons/MintDoi.js.map +1 -1
  75. package/dist/assets/icons/MultiFile.js.map +1 -1
  76. package/dist/assets/icons/MultiFile2.js.map +1 -1
  77. package/dist/assets/icons/NoData.js.map +1 -1
  78. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  79. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  80. package/dist/assets/icons/OpenBook.js.map +1 -1
  81. package/dist/assets/icons/Podium.js.map +1 -1
  82. package/dist/assets/icons/Python.js.map +1 -1
  83. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  84. package/dist/assets/icons/RLogo.js.map +1 -1
  85. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  86. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  87. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  88. package/dist/assets/icons/SearchImage.js.map +1 -1
  89. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  90. package/dist/assets/icons/Sort.js.map +1 -1
  91. package/dist/assets/icons/StarTrophy.js.map +1 -1
  92. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  93. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  94. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  95. package/dist/assets/icons/TasksIcon.js.map +1 -1
  96. package/dist/assets/icons/Terminal.js.map +1 -1
  97. package/dist/assets/icons/ThreeStars.js.map +1 -1
  98. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  100. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  101. package/dist/assets/icons/account-certified.js.map +1 -1
  102. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  103. package/dist/assets/icons/account-validated.js.map +1 -1
  104. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  105. package/dist/assets/icons/chart2.js.map +1 -1
  106. package/dist/assets/icons/columns.js.map +1 -1
  107. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  108. package/dist/assets/icons/computationalTool.js.map +1 -1
  109. package/dist/assets/icons/dataReuse.js.map +1 -1
  110. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  111. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  112. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  113. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  114. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  115. package/dist/assets/icons/file.js.map +1 -1
  116. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  117. package/dist/assets/icons/institution.js.map +1 -1
  118. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  119. package/dist/assets/icons/modelSystem.js.map +1 -1
  120. package/dist/assets/icons/mouse.js.map +1 -1
  121. package/dist/assets/icons/organizations.js.map +1 -1
  122. package/dist/assets/icons/person.js.map +1 -1
  123. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  124. package/dist/assets/icons/standardDataModel.js.map +1 -1
  125. package/dist/assets/icons/study-active.js.map +1 -1
  126. package/dist/assets/icons/study-complete.js.map +1 -1
  127. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  128. package/dist/assets/icons/synapse-logo.js.map +1 -1
  129. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  130. package/dist/assets/icons/translational.js.map +1 -1
  131. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  132. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  133. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  138. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  139. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/index.js.map +1 -1
  145. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  155. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  156. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  157. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  158. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  159. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  160. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  161. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  162. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  163. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  164. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  165. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  166. package/dist/assets/mui_components/Clinical.js.map +1 -1
  167. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  168. package/dist/assets/mui_components/Data.js.map +1 -1
  169. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  170. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  171. package/dist/assets/mui_components/Dataset.js.map +1 -1
  172. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  173. package/dist/assets/mui_components/Docker.js.map +1 -1
  174. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  175. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  176. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  177. package/dist/assets/mui_components/Imaging.js.map +1 -1
  178. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  179. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  180. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  181. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  182. package/dist/assets/mui_components/Other.js.map +1 -1
  183. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  185. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  186. package/dist/assets/mui_components/Rat.js.map +1 -1
  187. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  188. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  192. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  196. package/dist/assets/themed_icons/Active.js.map +1 -1
  197. package/dist/assets/themed_icons/Chart.js.map +1 -1
  198. package/dist/assets/themed_icons/Close.js.map +1 -1
  199. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  200. package/dist/assets/themed_icons/Columns.js.map +1 -1
  201. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  202. package/dist/assets/themed_icons/Database.js.map +1 -1
  203. package/dist/assets/themed_icons/Download.js.map +1 -1
  204. package/dist/assets/themed_icons/Expand.js.map +1 -1
  205. package/dist/assets/themed_icons/Explore.js.map +1 -1
  206. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  207. package/dist/assets/themed_icons/Filter.js.map +1 -1
  208. package/dist/assets/themed_icons/Program.js.map +1 -1
  209. package/dist/assets/themed_icons/Project.js.map +1 -1
  210. package/dist/assets/themed_icons/Publication.js.map +1 -1
  211. package/dist/assets/themed_icons/Search.js.map +1 -1
  212. package/dist/assets/themed_icons/Settings.js.map +1 -1
  213. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  214. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  215. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  216. package/dist/assets/themed_icons/Study.js.map +1 -1
  217. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  220. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  221. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  222. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  223. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  224. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  225. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  227. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  229. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  231. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  241. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  249. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  250. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  252. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  253. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  254. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  256. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  260. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  263. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  264. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  265. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  267. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  268. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  269. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  270. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  271. package/dist/components/AddToDownloadListV2.js.map +1 -1
  272. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  273. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  274. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  275. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  276. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  277. package/dist/components/Authentication/LoginForm.js.map +1 -1
  278. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  280. package/dist/components/Authentication/Logout.js.map +1 -1
  281. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  282. package/dist/components/Authentication/PasswordField.js.map +1 -1
  283. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  285. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  286. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  287. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  288. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  289. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  293. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  294. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  295. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  296. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  297. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  298. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  299. package/dist/components/CardContainer/CardConfiguration.d.ts +2 -0
  300. package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
  301. package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
  302. package/dist/components/CardContainer/CardContainer.js +3 -3
  303. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  304. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +1 -0
  305. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  306. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  307. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  308. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  309. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  310. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  311. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  312. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  313. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  314. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  315. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  316. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  317. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  322. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  323. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  324. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  325. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  326. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  330. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  332. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  333. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  334. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  335. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  336. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  337. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  338. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  339. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  340. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  341. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  342. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  343. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  344. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  345. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  346. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  347. package/dist/components/ComponentCollapse.js.map +1 -1
  348. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  349. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  350. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  351. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  352. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  353. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  354. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  355. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  356. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  357. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  358. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  359. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  360. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  361. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  362. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  363. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  364. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  365. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  366. package/dist/components/DataExplorer/DataExplorer.css +1 -1
  367. package/dist/components/DataExplorer/DataExplorer.js +28 -31
  368. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  369. package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
  370. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
  371. package/dist/components/DataExplorer/DataExplorer.module.scss +26 -6
  372. package/dist/components/DataGrid/DataGrid.js +72 -72
  373. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  374. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  375. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  376. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  377. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  378. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  379. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  380. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  381. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  382. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  383. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  384. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  387. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  389. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  390. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts +5 -3
  391. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
  392. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +46 -47
  393. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  394. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  395. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  397. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  399. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  400. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  401. package/dist/components/DataGrid/hooks/useColumnResizeHandles.d.ts.map +1 -1
  402. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +3 -1
  403. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  405. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  408. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  409. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  410. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  411. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  412. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  413. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  414. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  415. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  416. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  417. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  418. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  419. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  420. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  421. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  422. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  423. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  424. package/dist/components/DataGrid/utils/columnFactory.js +1 -0
  425. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  426. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  427. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  428. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  430. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  431. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  432. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  436. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  437. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  438. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  445. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  446. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  447. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  448. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  449. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  450. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  451. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  452. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  453. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  454. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  455. package/dist/components/DialogBase.js.map +1 -1
  456. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  457. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  458. package/dist/components/DirectDownloadButton.js.map +1 -1
  459. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  460. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  461. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  462. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  463. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  464. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  465. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  470. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  471. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  472. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  473. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  474. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  475. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  476. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  477. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  478. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  479. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  480. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  481. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  483. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  484. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  485. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  486. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  487. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  488. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  489. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  490. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  491. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  492. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  493. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  494. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  495. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  496. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  497. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  498. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  499. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  501. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  502. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  503. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  504. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  505. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  506. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  511. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  513. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  515. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  529. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  530. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  532. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  533. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  534. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  535. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  536. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  540. package/dist/components/EntityIcon.js.map +1 -1
  541. package/dist/components/EntityLink.js.map +1 -1
  542. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  543. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  544. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  545. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  553. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  554. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  557. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  558. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  559. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  561. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  562. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  563. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  564. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  565. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  566. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  568. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  569. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  570. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  571. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  576. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  577. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  578. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  579. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  580. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  581. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  582. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  583. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  584. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  585. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  590. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  591. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  592. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  593. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  594. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  595. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  596. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  597. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  598. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  599. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  600. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  601. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  602. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  603. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  604. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  605. package/dist/components/Forum/ForumPage.js.map +1 -1
  606. package/dist/components/Forum/ForumTable.js.map +1 -1
  607. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  608. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  609. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  610. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  611. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  612. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  613. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  614. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  615. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  616. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  617. package/dist/components/GenericCard/GenericCard.d.ts +2 -0
  618. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js +76 -64
  620. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  623. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  624. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  625. package/dist/components/GenericCard/Linkify.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  627. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  629. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  630. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  631. package/dist/components/GenericCard/TableRowGenericCard.js +33 -25
  632. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  633. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  634. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  635. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  636. package/dist/components/Goals/Goals.js +25 -27
  637. package/dist/components/Goals/Goals.js.map +1 -1
  638. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  639. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  640. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  641. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  642. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  643. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  644. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  645. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  646. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  647. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  648. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  649. package/dist/components/HasAccess/AccessIcon.js +10 -10
  650. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  651. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  652. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  653. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  654. package/dist/components/HeaderCard.js.map +1 -1
  655. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  656. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  657. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  658. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  659. package/dist/components/Icon/Icon.js.map +1 -1
  660. package/dist/components/IconList.js.map +1 -1
  661. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  662. package/dist/components/IconSvgButton.js.map +1 -1
  663. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  664. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  665. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  666. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  667. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  668. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  669. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  670. package/dist/components/JsonLdScript.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  685. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  686. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  687. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  688. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  689. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  690. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  693. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  694. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  696. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  697. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  698. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  699. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  700. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  701. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  702. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  703. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  704. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  705. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  713. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  714. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  715. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  716. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  717. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  718. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  719. package/dist/components/MuiContainer.js.map +1 -1
  720. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  721. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  722. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  723. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  724. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  725. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  726. package/dist/components/Plot/BarPlot.js.map +1 -1
  727. package/dist/components/Plot/DotPlot.js.map +1 -1
  728. package/dist/components/Plot/Plot.d.ts +12 -1
  729. package/dist/components/Plot/Plot.d.ts.map +1 -1
  730. package/dist/components/Plot/Plot.js +5 -1
  731. package/dist/components/Plot/Plot.js.map +1 -1
  732. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  733. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  734. package/dist/components/Plot/SynapseSankeyPlot.css +1 -0
  735. package/dist/components/Plot/SynapseSankeyPlot.d.ts +54 -0
  736. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  737. package/dist/components/Plot/SynapseSankeyPlot.js +359 -0
  738. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  739. package/dist/components/Plot/SynapseSankeyPlot.module.js +15 -0
  740. package/dist/components/Plot/SynapseSankeyPlot.module.js.map +1 -0
  741. package/dist/components/Plot/SynapseSankeyPlot.module.scss +63 -0
  742. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  743. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  744. package/dist/components/Plot/index.d.ts +3 -1
  745. package/dist/components/Plot/index.d.ts.map +1 -1
  746. package/dist/components/Plot/index.js +2 -1
  747. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  748. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  749. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  750. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  751. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  752. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  753. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  754. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  755. package/dist/components/PortalList/PortalCard.js.map +1 -1
  756. package/dist/components/PortalList/PortalList.js.map +1 -1
  757. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  758. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  759. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  760. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  761. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  762. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  763. package/dist/components/Programs/Programs.js.map +1 -1
  764. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  768. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  770. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  771. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  772. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  773. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  774. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  775. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  776. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  777. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  778. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  779. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  780. package/dist/components/QuerySortSelector.js.map +1 -1
  781. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  782. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  783. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  784. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  785. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  786. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  787. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  788. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  789. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  790. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  791. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  792. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  793. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  794. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  795. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  796. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  800. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  801. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  802. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  803. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  804. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  805. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  808. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  809. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  810. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  811. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  812. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  813. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  814. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  815. package/dist/components/Resources/Resources.js +8 -11
  816. package/dist/components/Resources/Resources.js.map +1 -1
  817. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  818. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  819. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  820. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  827. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  828. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  829. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +13 -12
  830. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +88 -77
  832. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  833. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  834. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  835. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  839. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  840. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  841. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  842. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  843. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  844. package/dist/components/SignInButton.js.map +1 -1
  845. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  848. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  849. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  850. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  851. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  852. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  853. package/dist/components/SourceAppImage.js.map +1 -1
  854. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  855. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  856. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  857. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  858. package/dist/components/StatisticsPlot.js.map +1 -1
  859. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  860. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  861. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  862. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  863. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  864. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  865. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  866. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  867. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  868. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  869. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  870. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  871. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  872. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  873. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  874. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  875. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  876. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  877. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  878. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  879. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  880. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  881. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  882. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  883. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  884. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  885. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  886. package/dist/components/SynapseForm/Header.js.map +1 -1
  887. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  888. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  889. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  890. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  891. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  892. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  893. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  894. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  895. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  896. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  897. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  898. package/dist/components/SynapseForm/types.js.map +1 -1
  899. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  900. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  901. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  902. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  903. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  904. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  905. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  906. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  907. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  908. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  909. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  910. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  911. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  912. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  913. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  914. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  915. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  916. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  917. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  918. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  919. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  920. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  921. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  922. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  923. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  924. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  925. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  926. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  927. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  928. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  929. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  930. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  931. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  932. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  933. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  934. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  935. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  936. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  937. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  938. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  939. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  940. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  941. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  942. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  943. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  944. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  945. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  946. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  947. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  948. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  949. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  950. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  951. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  952. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  953. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  954. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  955. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  956. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  957. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  958. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  959. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  960. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  961. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  962. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  963. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  964. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  965. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  966. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  967. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  968. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  969. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  970. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  971. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +63 -74
  973. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  974. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  977. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  979. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  980. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  981. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  983. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  986. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  987. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  989. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  990. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  991. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  992. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  993. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.d.ts.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +72 -68
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +27 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +47 -36
  1006. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +10 -10
  1008. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.d.ts +12 -12
  1011. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts +4 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts +167 -517
  1016. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts.map +1 -1
  1017. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js +65 -65
  1018. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1019. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts +1 -1
  1020. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts.map +1 -1
  1021. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1022. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1023. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts +1 -1
  1024. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts.map +1 -1
  1025. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js +6 -13
  1026. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1027. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts +1 -1
  1028. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts.map +1 -1
  1029. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1030. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1031. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts +1 -1
  1032. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts.map +1 -1
  1033. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js +2 -2
  1034. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1035. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts +1 -1
  1036. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts.map +1 -1
  1037. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1038. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts +2 -2
  1039. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts.map +1 -1
  1040. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js +15 -16
  1041. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1042. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1043. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1044. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1045. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1046. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1047. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1048. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1049. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1050. package/dist/components/TeamBadge.js.map +1 -1
  1051. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1052. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1053. package/dist/components/TemplateComponent.js.map +1 -1
  1054. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1055. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1056. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1057. package/dist/components/TextField/TextField.js.map +1 -1
  1058. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1059. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1060. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1061. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1062. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1063. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1064. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1065. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1066. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1067. package/dist/components/TotalQueryResults.js.map +1 -1
  1068. package/dist/components/UserCard/Avatar.js.map +1 -1
  1069. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1070. package/dist/components/UserCard/UserCard.js.map +1 -1
  1071. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1072. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1073. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1074. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1075. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1076. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1077. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1078. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1079. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1080. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1081. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1082. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1083. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1084. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1085. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1086. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1087. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1088. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1089. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1090. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1091. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1092. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1093. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1094. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1095. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1096. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1097. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1098. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1099. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1100. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1101. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1102. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1103. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1104. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1105. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1106. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1107. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1108. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1109. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1110. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1111. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1112. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1113. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1114. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1115. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1116. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1117. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1118. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1119. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1120. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1121. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1122. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1123. package/dist/components/download_list/index.js.map +1 -1
  1124. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1125. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1126. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1127. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1128. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1129. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1130. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1131. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1132. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1133. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1134. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1135. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1136. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1137. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1138. package/dist/components/error/ErrorBanner.js.map +1 -1
  1139. package/dist/components/error/ErrorChip.js.map +1 -1
  1140. package/dist/components/error/ErrorPage.js +24 -24
  1141. package/dist/components/error/ErrorPage.js.map +1 -1
  1142. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1143. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1144. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1145. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1146. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1147. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1148. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1149. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1150. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1151. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1152. package/dist/components/index.js +48 -47
  1153. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1154. package/dist/components/layout/SWCHeader.js.map +1 -1
  1155. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1156. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1157. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1158. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1159. package/dist/components/row_renderers/Funder.js.map +1 -1
  1160. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1161. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1162. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1163. package/dist/components/styled/HoverPopover.js.map +1 -1
  1164. package/dist/components/styled/InlineBadge.js.map +1 -1
  1165. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1166. package/dist/components/styled/LargeButton.js.map +1 -1
  1167. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1168. package/dist/components/styled/LightTooltip.js.map +1 -1
  1169. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1170. package/dist/components/styled/StyledPopover.js.map +1 -1
  1171. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1172. package/dist/components/styled/WideButton.js.map +1 -1
  1173. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +39 -42
  1174. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
  1175. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1176. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1177. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
  1178. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
  1179. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
  1180. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
  1181. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
  1182. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
  1183. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
  1184. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1185. package/dist/components/trash/TrashCanList.js.map +1 -1
  1186. package/dist/components/utils/Blocker.js.map +1 -1
  1187. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1188. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1189. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1190. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1191. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1192. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1193. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1194. package/dist/components/widgets/Range.js.map +1 -1
  1195. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1196. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1197. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1203. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1204. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1205. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1206. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1217. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1219. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1220. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1221. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1222. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1223. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1224. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1225. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1226. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1227. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1228. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1229. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1230. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1231. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1233. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1234. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1235. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1237. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1238. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1246. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1247. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
  1249. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1251. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1254. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1255. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1256. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1257. package/dist/index.js +54 -53
  1258. package/dist/index.js.map +1 -1
  1259. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1260. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1261. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1262. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1263. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1264. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1265. package/dist/mocks/chat/mockChat.js.map +1 -1
  1266. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1268. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1269. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1270. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1271. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1272. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1273. package/dist/mocks/entity/index.js.map +1 -1
  1274. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1275. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1276. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1279. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1280. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1281. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1282. package/dist/mocks/entity/mockProject.js.map +1 -1
  1283. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1284. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1285. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1286. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1287. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1288. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1289. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1290. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1291. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1292. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1293. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1294. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1295. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1296. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1297. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1298. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1299. package/dist/mocks/mockSchema.js.map +1 -1
  1300. package/dist/mocks/mockSearchQueryData.js +2 -2
  1301. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1302. package/dist/mocks/mockShortIo.js.map +1 -1
  1303. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1304. package/dist/mocks/mockSubscription.js.map +1 -1
  1305. package/dist/mocks/mockWiki.js.map +1 -1
  1306. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1307. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1308. package/dist/mocks/mock_file_handle.js.map +1 -1
  1309. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1310. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1311. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts +1 -1
  1337. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  1338. package/dist/mocks/msw/handlers/searchQueryHandlers.js +6 -3
  1339. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1344. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1345. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1346. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1347. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1348. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1349. package/dist/mocks/msw/handlers.js.map +1 -1
  1350. package/dist/mocks/msw/server.d.ts +1 -1
  1351. package/dist/mocks/msw/server.d.ts.map +1 -1
  1352. package/dist/mocks/msw/server.js.map +1 -1
  1353. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1354. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1355. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1356. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1357. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1358. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1359. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1360. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1361. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1362. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1363. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1364. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts +13 -0
  1365. package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts.map +1 -1
  1366. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js +27 -0
  1367. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1368. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1369. package/dist/mocks/query/syn16787123.js.map +1 -1
  1370. package/dist/mocks/query/syn17328596.js.map +1 -1
  1371. package/dist/mocks/query/syn51735464.js.map +1 -1
  1372. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1373. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1374. package/dist/mocks/team/mockTeam.js.map +1 -1
  1375. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1376. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1377. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1378. package/dist/ror-client/index.js.map +1 -1
  1379. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1380. package/dist/stories/ToastDemo.js.map +1 -1
  1381. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1382. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1383. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1384. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1385. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1386. package/dist/style/components/_cards.scss +10 -0
  1387. package/dist/style/components/_data-grid-extra.css +1 -1
  1388. package/dist/style/components/_data-grid-extra.scss +7 -1
  1389. package/dist/style/main.css +1 -1
  1390. package/dist/synapse-client/HttpClient.js.map +1 -1
  1391. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1392. package/dist/synapse-client/SynapseClient.js +499 -505
  1393. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1394. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1395. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1396. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1397. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1398. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1399. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1400. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1401. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1402. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1403. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1404. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1405. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1406. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1407. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1408. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1409. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1410. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1411. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1412. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1413. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1414. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1415. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1416. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1417. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1418. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1423. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1424. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1425. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1426. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1427. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1428. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1429. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1430. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1431. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1432. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1433. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1434. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1435. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1436. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1437. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1438. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1439. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1440. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1441. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1442. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1443. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1444. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1445. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1446. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1447. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1448. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1449. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1450. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1451. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1452. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1453. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1454. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1455. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1456. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1457. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1458. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1459. package/dist/synapse-queries/ror/index.js.map +1 -1
  1460. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1461. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1462. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1463. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1464. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1465. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1466. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1467. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1468. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1469. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1470. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1471. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1472. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1473. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1474. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1475. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1476. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1477. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1478. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1479. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1480. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1481. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1482. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1483. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1484. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1485. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1486. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1487. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1488. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1489. package/dist/testutils/LocationTracker.js.map +1 -1
  1490. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1491. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1492. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1493. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1494. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1495. package/dist/testutils/vitest.setup.js.map +1 -1
  1496. package/dist/theme/DefaultTheme.js.map +1 -1
  1497. package/dist/theme/ThemeProvider.js.map +1 -1
  1498. package/dist/theme/mergeTheme.js.map +1 -1
  1499. package/dist/theme/palette/Palettes.js.map +1 -1
  1500. package/dist/theme/spreadSx.js.map +1 -1
  1501. package/dist/theme/typography/Link.js.map +1 -1
  1502. package/dist/theme/typography/Typography.js.map +1 -1
  1503. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1504. package/dist/utils/APIConstants.js.map +1 -1
  1505. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1506. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1507. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1508. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1509. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1510. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1511. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1512. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1513. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1514. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1515. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1516. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1517. package/dist/utils/SynapseConstants.js.map +1 -1
  1518. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1519. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1520. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1521. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1522. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1523. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1524. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1525. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1526. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1527. package/dist/utils/context/SynapseContext.js.map +1 -1
  1528. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1529. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1530. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1531. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1532. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1533. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1534. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1535. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1536. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1537. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1538. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1539. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1540. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1541. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1542. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1543. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1544. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1545. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1546. package/dist/utils/functions/StringUtils.js.map +1 -1
  1547. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1548. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1549. package/dist/utils/functions/colorPalette.js.map +1 -1
  1550. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1551. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1552. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1553. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1554. package/dist/utils/functions/getEndpoint.js +3 -3
  1555. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1556. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1557. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1558. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1559. package/dist/utils/functions/getUserData.js.map +1 -1
  1560. package/dist/utils/functions/queryUtils.js.map +1 -1
  1561. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1562. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1563. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1564. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1565. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1566. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1567. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1568. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1569. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1570. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1571. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1572. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1573. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1574. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1575. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1576. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1577. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1578. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1579. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1580. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1581. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1582. package/dist/utils/hooks/useListState.js.map +1 -1
  1583. package/dist/utils/hooks/useLogin.js.map +1 -1
  1584. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1585. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1586. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1587. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1588. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1589. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1590. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1591. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1592. package/dist/utils/hooks/useSet.js.map +1 -1
  1593. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1594. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1595. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1596. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1597. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1598. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1599. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1600. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1601. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1602. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1603. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1604. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1605. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1606. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1607. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1608. package/dist/utils/html/TargetEnum.js.map +1 -1
  1609. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1610. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1611. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1612. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1613. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1614. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1615. package/dist/utils/jsonschema/getType.js.map +1 -1
  1616. package/dist/utils/searchDefaults.js.map +1 -1
  1617. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1618. package/dist/utils/types/IsType.js.map +1 -1
  1619. package/package.json +68 -65
@@ -1 +1 @@
1
- {"version":3,"file":"useMergeGridWithSource.js","names":["useMergeGridWithTable","useMergeGridWithRecordSet","EntityType","GridRecordSetExportResponse","SynchronizeGridResponse","TableUpdateTransactionResponse","useMutation","UseMutationOptions","SynapseClientError","useSynchronizeGridSession","MergeGridWithSource","gridSessionId","sourceEntityId","sourceEntityType","MergeGridResult","type","data","useMergeGridWithSource","options","$","_c","mergeGridWithEntityView","mergeGridWithTable","mergeGridWithRecordSet","t0","t1","isEntityView","entityview","isRecordSet","recordset","mutateAsync","data_0","data_1","mutationFn"],"sources":["../../../src/components/DataGrid/useMergeGridWithSource.ts"],"sourcesContent":["import useMergeGridWithTable from './useMergeGridWithTable'\nimport useMergeGridWithRecordSet from './useMergeGridWithRecordSet'\nimport {\n EntityType,\n GridRecordSetExportResponse,\n SynchronizeGridResponse,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynchronizeGridSession } from '@/synapse-queries/grid/useGridSession'\n\nexport type MergeGridWithSource = {\n gridSessionId: string\n sourceEntityId?: string\n sourceEntityType?: EntityType\n}\n\nexport type MergeGridResult =\n | { type: 'entityview'; data: SynchronizeGridResponse }\n | {\n type: 'recordset'\n data: GridRecordSetExportResponse\n }\n | {\n type: 'table'\n data: TableUpdateTransactionResponse\n }\n\n/**\n * Single entrypoint to handle merging grid edits with source Synapse data.\n * Calls the appropriate mutation based on entity type:\n * - EntityView -> useSynchronizeGridSession\n * - TableEntity -> useMergeGridWithTable\n * - RecordSet -> useMergeGridWithRecordSet\n *\n * Returns a query mutation that handles merging for tables or recordsets.\n */\nexport default function useMergeGridWithSource(\n options?: Omit<\n UseMutationOptions<\n MergeGridResult,\n SynapseClientError,\n MergeGridWithSource\n >,\n 'mutationFn'\n >,\n) {\n // SynchronizeGridSession is the best option, but currently only supports EntityViews.\n // As support for other types is added, the other hooks should be replaced.\n const mergeGridWithEntityView = useSynchronizeGridSession()\n const mergeGridWithTable = useMergeGridWithTable()\n const mergeGridWithRecordSet = useMergeGridWithRecordSet()\n\n return useMutation<MergeGridResult, SynapseClientError, MergeGridWithSource>({\n ...options,\n mutationFn: async ({ gridSessionId, sourceEntityId, sourceEntityType }) => {\n const isEntityView = sourceEntityType === EntityType.entityview\n const isRecordSet = sourceEntityType === EntityType.recordset\n\n if (isEntityView) {\n const data = await mergeGridWithEntityView.mutateAsync({\n gridSessionId,\n })\n return { type: 'entityview', data }\n } else if (isRecordSet) {\n const data = await mergeGridWithRecordSet.mutateAsync({ gridSessionId })\n return { type: 'recordset', data }\n } else {\n const data = await mergeGridWithTable.mutateAsync({\n gridSessionId,\n sourceEntityId: sourceEntityId!,\n })\n return { type: 'table', data }\n }\n },\n })\n}\n"],"mappings":";;;;;;;AAsCA,SAAeiB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAYbC,IAAgCZ,GAA2B,EAC3Da,IAA2BtB,GAAuB,EAClDuB,IAA+BtB,GAA2B,EAAAuB;AAAA,CAAAL,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAG,KAI5CE,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAd,kBAAAC,mBAAAC,wBAAAY,GACjBC,IAAqBb,MAAqBX,EAAUyB,YACpDC,IAAoBf,MAAqBX,EAAU2B;AAc/C,SAZAH,IAIK;GAAAX,MAAQ;GAAYC,MAAAA,MAHRK,EAAuBS,YAAa,EAAAnB,kBAEtD,CAAC;GACiC,GAC1BiB,IAEF;GAAAb,MAAQ;GAAWC,MAAEA,MADTO,EAAsBO,YAAa,EAAAnB,kBAAiB,CAAC;GACtC,GAM3B;GAAAI,MAAQ;GAAOC,MAAEA,MAJLM,EAAkBQ,YAAa;IAAAnB;IAAAC;IAGjD,CAAC;GAC4B;IAEjCO,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAAA,IAAAM;AACF,QADEN,EAAA,OAAAD,KAAAC,EAAA,OAAAK,KArB0EC,IAAA;EAAA,GACxEP;EAAOe,YACET;EAoBb,EAAAL,EAAA,KAAAD,GAAAC,EAAA,KAAAK,GAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IAtBMb,EAAsEmB,EAsB3E"}
1
+ {"version":3,"file":"useMergeGridWithSource.js","names":["useMergeGridWithTable","useMergeGridWithRecordSet","EntityType","GridRecordSetExportResponse","SynchronizeGridResponse","TableUpdateTransactionResponse","useMutation","UseMutationOptions","SynapseClientError","useSynchronizeGridSession","MergeGridWithSource","gridSessionId","sourceEntityId","sourceEntityType","MergeGridResult","type","data","useMergeGridWithSource","options","$","_c","mergeGridWithEntityView","mergeGridWithTable","mergeGridWithRecordSet","t0","t1","isEntityView","entityview","isRecordSet","recordset","mutateAsync","data_0","data_1","mutationFn"],"sources":["../../../src/components/DataGrid/useMergeGridWithSource.ts"],"sourcesContent":["import useMergeGridWithTable from './useMergeGridWithTable'\nimport useMergeGridWithRecordSet from './useMergeGridWithRecordSet'\nimport {\n EntityType,\n GridRecordSetExportResponse,\n SynchronizeGridResponse,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport { useSynchronizeGridSession } from '@/synapse-queries/grid/useGridSession'\n\nexport type MergeGridWithSource = {\n gridSessionId: string\n sourceEntityId?: string\n sourceEntityType?: EntityType\n}\n\nexport type MergeGridResult =\n | { type: 'entityview'; data: SynchronizeGridResponse }\n | {\n type: 'recordset'\n data: GridRecordSetExportResponse\n }\n | {\n type: 'table'\n data: TableUpdateTransactionResponse\n }\n\n/**\n * Single entrypoint to handle merging grid edits with source Synapse data.\n * Calls the appropriate mutation based on entity type:\n * - EntityView -> useSynchronizeGridSession\n * - TableEntity -> useMergeGridWithTable\n * - RecordSet -> useMergeGridWithRecordSet\n *\n * Returns a query mutation that handles merging for tables or recordsets.\n */\nexport default function useMergeGridWithSource(\n options?: Omit<\n UseMutationOptions<\n MergeGridResult,\n SynapseClientError,\n MergeGridWithSource\n >,\n 'mutationFn'\n >,\n) {\n // SynchronizeGridSession is the best option, but currently only supports EntityViews.\n // As support for other types is added, the other hooks should be replaced.\n const mergeGridWithEntityView = useSynchronizeGridSession()\n const mergeGridWithTable = useMergeGridWithTable()\n const mergeGridWithRecordSet = useMergeGridWithRecordSet()\n\n return useMutation<MergeGridResult, SynapseClientError, MergeGridWithSource>({\n ...options,\n mutationFn: async ({ gridSessionId, sourceEntityId, sourceEntityType }) => {\n const isEntityView = sourceEntityType === EntityType.entityview\n const isRecordSet = sourceEntityType === EntityType.recordset\n\n if (isEntityView) {\n const data = await mergeGridWithEntityView.mutateAsync({\n gridSessionId,\n })\n return { type: 'entityview', data }\n } else if (isRecordSet) {\n const data = await mergeGridWithRecordSet.mutateAsync({ gridSessionId })\n return { type: 'recordset', data }\n } else {\n const data = await mergeGridWithTable.mutateAsync({\n gridSessionId,\n sourceEntityId: sourceEntityId!,\n })\n return { type: 'table', data }\n }\n },\n })\n}\n"],"mappings":";;;;;;;AAsCA,SAAeiB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAYbC,IAAgCZ,EAA0B,GAC1Da,IAA2BtB,EAAsB,GACjDuB,IAA+BtB,EAA0B,GAACuB;CAAA,AAAAL,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAG,KAI5CE,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAd,kBAAAC,mBAAAC,wBAAAY,GACjBC,IAAqBb,MAAqBX,EAAUyB,YACpDC,IAAoBf,MAAqBX,EAAU2B;EAc/C,OAZAH,IAIK;GAAAX,MAAQ;GAAYC,MAAAA,MAHRK,EAAuBS,YAAa,EAAAnB,iBAEvD,CAAC;EACiC,IACzBiB,IAEF;GAAAb,MAAQ;GAAWC,MAAEA,MADTO,EAAsBO,YAAa,EAAAnB,iBAAgB,CAAC;EACtC,IAM1B;GAAAI,MAAQ;GAAOC,MAAEA,MAJLM,EAAkBQ,YAAa;IAAAnB;IAAAC;GAGlD,CAAC;EAC4B;CAC9B,GACFO,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAG,GAAAH,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAAA,IAAAM;CACF,OADEN,EAAA,OAAAD,KAAAC,EAAA,OAAAK,KArB0EC,IAAA;EAAA,GACxEP;EAAOe,YACET;CAoBd,GAACL,EAAA,KAAAD,GAAAC,EAAA,KAAAK,GAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IAtBMb,EAAsEmB,CAsB5E;AAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMergeGridWithTable.js","names":["useExportGridAsCsv","useGetEntityQueryOptions","useTableUpdateTransaction","SynapseClientError","DownloadFromGridRequest","Entity","instanceOfTableEntity","TableUpdateTransactionRequest","TableUpdateTransactionResponse","useMutation","UseMutationOptions","useQueryClient","useMergeGridWithTable","options","$","_c","queryClient","mutateAsync","exportGridToCsv","updateTable","getEntityQueryOptions","t0","t1","gridSessionId","sourceEntityId","entity","fetchQuery","gridExportRequest","getDownloadFromGridRequestParamsForEntity","sessionId","gridExportResult","tableUpdateRequest","concreteType","entityId","changes","uploadFileHandleId","resultsFileHandleId","tableId","mutationFn","Omit","includeRowIdAndRowVersion","includeEtag"],"sources":["../../../src/components/DataGrid/useMergeGridWithTable.ts"],"sourcesContent":["import { useExportGridAsCsv } from '@/synapse-queries/grid/useExportGrid'\nimport { useGetEntityQueryOptions } from '@/synapse-queries/entity/useEntity'\nimport { useTableUpdateTransaction } from '@/synapse-queries/table/useTableUpdateTransaction'\nimport { SynapseClientError } from '@/utils/index'\nimport {\n DownloadFromGridRequest,\n Entity,\n instanceOfTableEntity,\n TableUpdateTransactionRequest,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\n\n/**\n * Mutation hook that exports a grid session to CSV and applies the changes to a Synapse table.\n */\nexport default function useMergeGridWithTable(\n options?: Omit<\n UseMutationOptions<\n TableUpdateTransactionResponse,\n SynapseClientError,\n { gridSessionId: string; sourceEntityId: string }\n >,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { mutateAsync: exportGridToCsv } = useExportGridAsCsv()\n const { mutateAsync: updateTable } = useTableUpdateTransaction()\n const getEntityQueryOptions = useGetEntityQueryOptions()\n return useMutation<\n TableUpdateTransactionResponse,\n SynapseClientError,\n { gridSessionId: string; sourceEntityId: string }\n >({\n ...options,\n mutationFn: async ({ gridSessionId, sourceEntityId }) => {\n // First, get the type of the source entity. The request body for the export varies based on the entity type.\n const entity = await queryClient.fetchQuery(\n getEntityQueryOptions(sourceEntityId),\n )\n\n const gridExportRequest: DownloadFromGridRequest = {\n ...getDownloadFromGridRequestParamsForEntity(entity),\n sessionId: gridSessionId,\n }\n\n const gridExportResult = await exportGridToCsv(gridExportRequest)\n\n const tableUpdateRequest: TableUpdateTransactionRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest',\n entityId: sourceEntityId,\n changes: [\n {\n uploadFileHandleId: gridExportResult.resultsFileHandleId,\n tableId: sourceEntityId,\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTableRequest',\n },\n ],\n }\n return updateTable(tableUpdateRequest)\n },\n })\n}\n\nexport function getDownloadFromGridRequestParamsForEntity(\n entity: Entity,\n): Omit<DownloadFromGridRequest, 'sessionId'> {\n if (instanceOfTableEntity(entity)) {\n return {\n includeRowIdAndRowVersion: true,\n includeEtag: false,\n concreteType:\n 'org.sagebionetworks.repo.model.grid.DownloadFromGridRequest',\n }\n } else {\n return {\n includeRowIdAndRowVersion: true,\n includeEtag: true,\n concreteType:\n 'org.sagebionetworks.repo.model.grid.DownloadFromGridRequest',\n }\n }\n}\n"],"mappings":";;;;;;;AAoBA,SAAeY,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAUbC,IAAoBL,GAAgB,EACpC,EAAAM,aAAAC,MAAyClB,GAAoB,EAC7D,EAAAiB,aAAAE,MAAqCjB,GAA2B,EAChEkB,IAA8BnB,GAA0B,EAAAoB;AAAA,CAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAM,KAAAN,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAO1CE,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAC,kBAAAC,sBAAAF;AAyBhB,SACMH,EAAYY;GAbuCC,cAEtD;GAAoEC,UAC5DT;GAAcU,SACf,CACP;IAAAC,qBACsBL,MARKZ,EAAgBS;KALI,GAC9CC,EAA0CH,MAL1BT,EAAWU,WAC9BN,EAAsBI,EACxB,CAAC,CAGqD;KAAAK,WACzCN;KAGkCI,CAAkB,EAQvBS;IAAoBC,SAC/Cb;IAAcQ,cAErB;IACH,CAAA;GAGcD,CAAmB;IACvCjB,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,GAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;AACF,QADER,EAAA,OAAAD,KAAAC,EAAA,OAAAO,KA7BDC,IAAA;EAAA,GACGT;EAAOyB,YACEjB;EA4Bb,EAAAP,EAAA,KAAAD,GAAAC,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAlCML,EAILa,EA8BA;;AAGJ,SAAgBM,EACdH,GAC4C;AAS1C,QAREnB,EAAsBmB,EAAO,GACxB;EACLe,2BAA2B;EAC3BC,aAAa;EACbT,cACE;EACH,GAEM;EACLQ,2BAA2B;EAC3BC,aAAa;EACbT,cACE;EACH"}
1
+ {"version":3,"file":"useMergeGridWithTable.js","names":["useExportGridAsCsv","useGetEntityQueryOptions","useTableUpdateTransaction","SynapseClientError","DownloadFromGridRequest","Entity","instanceOfTableEntity","TableUpdateTransactionRequest","TableUpdateTransactionResponse","useMutation","UseMutationOptions","useQueryClient","useMergeGridWithTable","options","$","_c","queryClient","mutateAsync","exportGridToCsv","updateTable","getEntityQueryOptions","t0","t1","gridSessionId","sourceEntityId","entity","fetchQuery","gridExportRequest","getDownloadFromGridRequestParamsForEntity","sessionId","gridExportResult","tableUpdateRequest","concreteType","entityId","changes","uploadFileHandleId","resultsFileHandleId","tableId","mutationFn","Omit","includeRowIdAndRowVersion","includeEtag"],"sources":["../../../src/components/DataGrid/useMergeGridWithTable.ts"],"sourcesContent":["import { useExportGridAsCsv } from '@/synapse-queries/grid/useExportGrid'\nimport { useGetEntityQueryOptions } from '@/synapse-queries/entity/useEntity'\nimport { useTableUpdateTransaction } from '@/synapse-queries/table/useTableUpdateTransaction'\nimport { SynapseClientError } from '@/utils/index'\nimport {\n DownloadFromGridRequest,\n Entity,\n instanceOfTableEntity,\n TableUpdateTransactionRequest,\n TableUpdateTransactionResponse,\n} from '@sage-bionetworks/synapse-client'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\n\n/**\n * Mutation hook that exports a grid session to CSV and applies the changes to a Synapse table.\n */\nexport default function useMergeGridWithTable(\n options?: Omit<\n UseMutationOptions<\n TableUpdateTransactionResponse,\n SynapseClientError,\n { gridSessionId: string; sourceEntityId: string }\n >,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { mutateAsync: exportGridToCsv } = useExportGridAsCsv()\n const { mutateAsync: updateTable } = useTableUpdateTransaction()\n const getEntityQueryOptions = useGetEntityQueryOptions()\n return useMutation<\n TableUpdateTransactionResponse,\n SynapseClientError,\n { gridSessionId: string; sourceEntityId: string }\n >({\n ...options,\n mutationFn: async ({ gridSessionId, sourceEntityId }) => {\n // First, get the type of the source entity. The request body for the export varies based on the entity type.\n const entity = await queryClient.fetchQuery(\n getEntityQueryOptions(sourceEntityId),\n )\n\n const gridExportRequest: DownloadFromGridRequest = {\n ...getDownloadFromGridRequestParamsForEntity(entity),\n sessionId: gridSessionId,\n }\n\n const gridExportResult = await exportGridToCsv(gridExportRequest)\n\n const tableUpdateRequest: TableUpdateTransactionRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest',\n entityId: sourceEntityId,\n changes: [\n {\n uploadFileHandleId: gridExportResult.resultsFileHandleId,\n tableId: sourceEntityId,\n concreteType:\n 'org.sagebionetworks.repo.model.table.UploadToTableRequest',\n },\n ],\n }\n return updateTable(tableUpdateRequest)\n },\n })\n}\n\nexport function getDownloadFromGridRequestParamsForEntity(\n entity: Entity,\n): Omit<DownloadFromGridRequest, 'sessionId'> {\n if (instanceOfTableEntity(entity)) {\n return {\n includeRowIdAndRowVersion: true,\n includeEtag: false,\n concreteType:\n 'org.sagebionetworks.repo.model.grid.DownloadFromGridRequest',\n }\n } else {\n return {\n includeRowIdAndRowVersion: true,\n includeEtag: true,\n concreteType:\n 'org.sagebionetworks.repo.model.grid.DownloadFromGridRequest',\n }\n }\n}\n"],"mappings":";;;;;;;AAoBA,SAAeY,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAUbC,IAAoBL,EAAe,GACnC,EAAAM,aAAAC,MAAyClB,EAAmB,GAC5D,EAAAiB,aAAAE,MAAqCjB,EAA0B,GAC/DkB,IAA8BnB,EAAyB,GAACoB;CAAA,AAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAM,KAAAN,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAO1CE,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAAC,kBAAAC,sBAAAF;EAyBhB,OACMH,EAAYY;GAbuCC,cAEtD;GAAoEC,UAC5DT;GAAcU,SACf,CACP;IAAAC,qBACsBL,MARKZ,EAAgBS;KALI,GAC9CC,EAA0CH,MAL1BT,EAAWU,WAC9BN,EAAsBI,CAAc,CACtC,CAGqD;KAACK,WACzCN;IAGkCI,CAAiB,GAQtBS;IAAoBC,SAC/Cb;IAAcQ,cAErB;GACJ,CAAC;EAGcD,CAAkB;CAAC,GACvCjB,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,GAAAN,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ;CACF,OADER,EAAA,OAAAD,KAAAC,EAAA,OAAAO,KA7BDC,IAAA;EAAA,GACGT;EAAOyB,YACEjB;CA4Bd,GAACP,EAAA,KAAAD,GAAAC,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IAlCML,EAILa,CA8BD;AAAC;AAGJ,SAAgBM,EACdH,GAC4C;CAS1C,OAREnB,EAAsBmB,CAAM,IACvB;EACLe,2BAA2B;EAC3BC,aAAa;EACbT,cACE;CACJ,IAEO;EACLQ,2BAA2B;EAC3BC,aAAa;EACbT,cACE;CACJ;AAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridUtils.js","names":["SYNAPSE_ENTITY_ID_REGEX","DataGridRow","Operation","QueryInput","GRID_ROW_REACT_KEY_PROPERTY","parseQueryInput","input","trimmedInput","trim","type","toUpperCase","startsWith","test","rowsAreIdentical","a","b","isDataKey","key","aKeys","Object","keys","filter","bKeys","length","aVal","bVal","isNullish","v","undefined","is","removeNoOpOperations","newValue","rowValues","operations","isNoop","operation","oldVal","slice","fromRowIndex","toRowIndex","newVal","comparisonResults","map","oldItem","idx","every","Boolean","op"],"sources":["../../../../src/components/DataGrid/utils/DataGridUtils.ts"],"sourcesContent":["import { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { DataGridRow, Operation, QueryInput } from '../DataGridTypes'\n\n// We embed a value into the in row data passed to react-datasheet-grid for use as a render optimization\nexport const GRID_ROW_REACT_KEY_PROPERTY = '__rowKey'\n\n// Query Input can either be an empty string, a SQL query, or a session ID\nexport const parseQueryInput = (input: string): QueryInput => {\n const trimmedInput = input.trim()\n if (!trimmedInput) {\n return { type: 'empty', input: '' }\n } else if (trimmedInput.toUpperCase().startsWith('SELECT')) {\n return { type: 'sql', input: trimmedInput }\n } else if (SYNAPSE_ENTITY_ID_REGEX.test(trimmedInput)) {\n return { type: 'recordSetId', input: trimmedInput }\n } else if (/^[A-Za-z]\\w*=+$/.test(trimmedInput)) {\n return { type: 'sessionId', input: trimmedInput }\n }\n return { type: 'unknown', input: trimmedInput }\n}\n\nexport function rowsAreIdentical(a: DataGridRow, b: DataGridRow): boolean {\n const isDataKey = (key: string) => !key.startsWith('__')\n const aKeys = Object.keys(a).filter(isDataKey)\n const bKeys = Object.keys(b).filter(isDataKey)\n if (aKeys.length !== bKeys.length) return false\n for (const key of aKeys) {\n const aVal = a[key] as string | number | boolean | null | undefined\n const bVal = b[key] as string | number | boolean | null | undefined\n // Treat null, undefined, and empty string as equivalent\n const isNullish = (v: unknown) => v === null || v === undefined || v === ''\n if (isNullish(aVal) && isNullish(bVal)) continue\n if (!Object.is(aVal, bVal)) return false\n }\n return true\n}\n\n/**\n * Remove no-op operations created by react-datasheet-grid that would result in invalid or undesired changes to the json-joy CRDT model\n * @param newValue\n * @param rowValues\n * @param operations\n */\nexport function removeNoOpOperations(\n newValue: DataGridRow[],\n rowValues: DataGridRow[],\n operations: Operation[],\n) {\n function isNoop(operation: Operation): boolean {\n if (operation.type === 'UPDATE') {\n const oldVal = rowValues.slice(\n operation.fromRowIndex,\n operation.toRowIndex,\n )\n const newVal = newValue.slice(\n operation.fromRowIndex,\n operation.toRowIndex,\n )\n\n const comparisonResults = oldVal.map((oldItem, idx) =>\n rowsAreIdentical(oldItem, newVal[idx]),\n )\n return comparisonResults.every(Boolean)\n }\n return false\n }\n\n return operations.filter(op => !isNoop(op))\n}\n"],"mappings":";;AAIA,IAAaI,IAA8B,YAG9BC,KAAmBC,MAA8B;CAC5D,IAAMC,IAAeD,EAAME,MAAM;AAUjC,QATKD,IAEMA,EAAaG,aAAa,CAACC,WAAW,SAAS,GACjD;EAAEF,MAAM;EAAOH,OAAOC;EAAc,GAClCP,EAAwBY,KAAKL,EAAa,GAC5C;EAAEE,MAAM;EAAeH,OAAOC;EAAc,GAC1C,kBAAkBK,KAAKL,EAAa,GACtC;EAAEE,MAAM;EAAaH,OAAOC;EAAc,GAE5C;EAAEE,MAAM;EAAWH,OAAOC;EAAc,GARtC;EAAEE,MAAM;EAASH,OAAO;EAAI;;AAWvC,SAAgBO,EAAiBC,GAAgBC,GAAyB;CACxE,IAAMC,KAAaC,MAAgB,CAACA,EAAIN,WAAW,KAAK,EAClDO,IAAQC,OAAOC,KAAKN,EAAE,CAACO,OAAOL,EAAU,EACxCM,IAAQH,OAAOC,KAAKL,EAAE,CAACM,OAAOL,EAAU;AAC9C,KAAIE,EAAMK,WAAWD,EAAMC,OAAQ,QAAO;AAC1C,MAAK,IAAMN,KAAOC,GAAO;EACvB,IAAMM,IAAOV,EAAEG,IACTQ,IAAOV,EAAEE,IAETS,KAAaC,MAAeA,KAAM,QAA2BA,MAAM;AACrED,UAAUF,EAAK,IAAIE,EAAUD,EAAK,KAClC,CAACN,OAAOU,GAAGL,GAAMC,EAAK,CAAE,QAAO;;AAErC,QAAO;;AAST,SAAgBK,EACdC,GACAC,GACAC,GACA;CACA,SAASC,EAAOC,GAA+B;AAC7C,MAAIA,EAAU1B,SAAS,UAAU;GAC/B,IAAM2B,IAASJ,EAAUK,MACvBF,EAAUG,cACVH,EAAUI,WACX,EACKC,IAAST,EAASM,MACtBF,EAAUG,cACVH,EAAUI,WACX;AAKD,UAH0BH,EAAOM,KAAKC,GAASC,MAC7C/B,EAAiB8B,GAASH,EAAOI,GACnC,CACOH,CAAkBI,MAAMC,QAAQ;;AAEzC,SAAO;;AAGT,QAAOb,EAAWZ,QAAO0B,MAAM,CAACb,EAAOa,EAAG,CAAC"}
1
+ {"version":3,"file":"DataGridUtils.js","names":["SYNAPSE_ENTITY_ID_REGEX","DataGridRow","Operation","QueryInput","GRID_ROW_REACT_KEY_PROPERTY","parseQueryInput","input","trimmedInput","trim","type","toUpperCase","startsWith","test","rowsAreIdentical","a","b","isDataKey","key","aKeys","Object","keys","filter","bKeys","length","aVal","bVal","isNullish","v","undefined","is","removeNoOpOperations","newValue","rowValues","operations","isNoop","operation","oldVal","slice","fromRowIndex","toRowIndex","newVal","comparisonResults","map","oldItem","idx","every","Boolean","op"],"sources":["../../../../src/components/DataGrid/utils/DataGridUtils.ts"],"sourcesContent":["import { SYNAPSE_ENTITY_ID_REGEX } from '@/utils/functions/RegularExpressions'\nimport { DataGridRow, Operation, QueryInput } from '../DataGridTypes'\n\n// We embed a value into the in row data passed to react-datasheet-grid for use as a render optimization\nexport const GRID_ROW_REACT_KEY_PROPERTY = '__rowKey'\n\n// Query Input can either be an empty string, a SQL query, or a session ID\nexport const parseQueryInput = (input: string): QueryInput => {\n const trimmedInput = input.trim()\n if (!trimmedInput) {\n return { type: 'empty', input: '' }\n } else if (trimmedInput.toUpperCase().startsWith('SELECT')) {\n return { type: 'sql', input: trimmedInput }\n } else if (SYNAPSE_ENTITY_ID_REGEX.test(trimmedInput)) {\n return { type: 'recordSetId', input: trimmedInput }\n } else if (/^[A-Za-z]\\w*=+$/.test(trimmedInput)) {\n return { type: 'sessionId', input: trimmedInput }\n }\n return { type: 'unknown', input: trimmedInput }\n}\n\nexport function rowsAreIdentical(a: DataGridRow, b: DataGridRow): boolean {\n const isDataKey = (key: string) => !key.startsWith('__')\n const aKeys = Object.keys(a).filter(isDataKey)\n const bKeys = Object.keys(b).filter(isDataKey)\n if (aKeys.length !== bKeys.length) return false\n for (const key of aKeys) {\n const aVal = a[key] as string | number | boolean | null | undefined\n const bVal = b[key] as string | number | boolean | null | undefined\n // Treat null, undefined, and empty string as equivalent\n const isNullish = (v: unknown) => v === null || v === undefined || v === ''\n if (isNullish(aVal) && isNullish(bVal)) continue\n if (!Object.is(aVal, bVal)) return false\n }\n return true\n}\n\n/**\n * Remove no-op operations created by react-datasheet-grid that would result in invalid or undesired changes to the json-joy CRDT model\n * @param newValue\n * @param rowValues\n * @param operations\n */\nexport function removeNoOpOperations(\n newValue: DataGridRow[],\n rowValues: DataGridRow[],\n operations: Operation[],\n) {\n function isNoop(operation: Operation): boolean {\n if (operation.type === 'UPDATE') {\n const oldVal = rowValues.slice(\n operation.fromRowIndex,\n operation.toRowIndex,\n )\n const newVal = newValue.slice(\n operation.fromRowIndex,\n operation.toRowIndex,\n )\n\n const comparisonResults = oldVal.map((oldItem, idx) =>\n rowsAreIdentical(oldItem, newVal[idx]),\n )\n return comparisonResults.every(Boolean)\n }\n return false\n }\n\n return operations.filter(op => !isNoop(op))\n}\n"],"mappings":";;AAIA,IAAaI,IAA8B,YAG9BC,KAAmBC,MAA8B;CAC5D,IAAMC,IAAeD,EAAME,KAAK;CAUhC,OATKD,IAEMA,EAAaG,YAAY,EAAEC,WAAW,QAAQ,IAChD;EAAEF,MAAM;EAAOH,OAAOC;CAAa,IACjCP,EAAwBY,KAAKL,CAAY,IAC3C;EAAEE,MAAM;EAAeH,OAAOC;CAAa,IACzC,kBAAkBK,KAAKL,CAAY,IACrC;EAAEE,MAAM;EAAaH,OAAOC;CAAa,IAE3C;EAAEE,MAAM;EAAWH,OAAOC;CAAa,IARrC;EAAEE,MAAM;EAASH,OAAO;CAAG;AAStC;AAEA,SAAgBO,EAAiBC,GAAgBC,GAAyB;CACxE,IAAMC,KAAaC,MAAgB,CAACA,EAAIN,WAAW,IAAI,GACjDO,IAAQC,OAAOC,KAAKN,CAAC,EAAEO,OAAOL,CAAS,GACvCM,IAAQH,OAAOC,KAAKL,CAAC,EAAEM,OAAOL,CAAS;CAC7C,IAAIE,EAAMK,WAAWD,EAAMC,QAAQ,OAAO;CAC1C,KAAK,IAAMN,KAAOC,GAAO;EACvB,IAAMM,IAAOV,EAAEG,IACTQ,IAAOV,EAAEE,IAETS,KAAaC,MAAeA,KAAM,QAA2BA,MAAM;EACrED,QAAUF,CAAI,KAAKE,EAAUD,CAAI,MACjC,CAACN,OAAOU,GAAGL,GAAMC,CAAI,GAAG,OAAO;CACrC;CACA,OAAO;AACT;AAQA,SAAgBK,EACdC,GACAC,GACAC,GACA;CACA,SAASC,EAAOC,GAA+B;EAC7C,IAAIA,EAAU1B,SAAS,UAAU;GAC/B,IAAM2B,IAASJ,EAAUK,MACvBF,EAAUG,cACVH,EAAUI,UACZ,GACMC,IAAST,EAASM,MACtBF,EAAUG,cACVH,EAAUI,UACZ;GAKA,OAH0BH,EAAOM,KAAKC,GAASC,MAC7C/B,EAAiB8B,GAASH,EAAOI,EAAI,CAEhCH,EAAkBI,MAAMC,OAAO;EACxC;EACA,OAAO;CACT;CAEA,OAAOb,EAAWZ,QAAO0B,MAAM,CAACb,EAAOa,CAAE,CAAC;AAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCounter.js","names":["MAX_MESSAGE_COUNTER_VALUE","Math","pow","MessageCounter","counter","constructor","getNext","current"],"sources":["../../../../src/components/DataGrid/utils/MessageCounter.ts"],"sourcesContent":["/**\n * The message counter provides a unique integer that increments with each JSON-Rx message sent that must associate\n * a request with a response.\n */\n\nconst MAX_MESSAGE_COUNTER_VALUE = Math.pow(2, 31) - 1\n\nexport default class MessageCounter {\n private counter: number\n\n constructor() {\n this.counter = 1\n }\n\n public getNext(): number {\n const current = this.counter\n this.counter += 1\n if (this.counter > MAX_MESSAGE_COUNTER_VALUE) {\n // The server encodes this as a signed 32-bit integer, we need to ensure we don't exceed that limit.'\n this.counter = 1\n }\n return current\n }\n}\n"],"mappings":";AAKA,IAAMA,IAAqC,KAAG,KAAM,GAE/BG,IAArB,MAAoC;CAClC;CAEAE,cAAc;AACZ,OAAKD,UAAU;;CAGjB,UAAyB;EACvB,IAAMG,IAAU,KAAKH;AAMrB,SALA,KAAKA,WAAW,GACZ,KAAKA,UAAUJ,MAEjB,KAAKI,UAAU,IAEVG"}
1
+ {"version":3,"file":"MessageCounter.js","names":["MAX_MESSAGE_COUNTER_VALUE","Math","pow","MessageCounter","counter","constructor","getNext","current"],"sources":["../../../../src/components/DataGrid/utils/MessageCounter.ts"],"sourcesContent":["/**\n * The message counter provides a unique integer that increments with each JSON-Rx message sent that must associate\n * a request with a response.\n */\n\nconst MAX_MESSAGE_COUNTER_VALUE = Math.pow(2, 31) - 1\n\nexport default class MessageCounter {\n private counter: number\n\n constructor() {\n this.counter = 1\n }\n\n public getNext(): number {\n const current = this.counter\n this.counter += 1\n if (this.counter > MAX_MESSAGE_COUNTER_VALUE) {\n // The server encodes this as a signed 32-bit integer, we need to ensure we don't exceed that limit.'\n this.counter = 1\n }\n return current\n }\n}\n"],"mappings":";AAKA,IAAMA,IAAqC,KAAG,KAAM,GAE/BG,IAArB,MAAoC;CAClC;CAEAE,cAAc;EACZ,KAAKD,UAAU;CACjB;CAEA,UAAyB;EACvB,IAAMG,IAAU,KAAKH;EAMrB,OALA,KAAKA,WAAW,GACZ,KAAKA,UAAUJ,MAEjB,KAAKI,UAAU,IAEVG;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"applyModelChange.js","names":["DataGridRow","GridModel","ReplicaSelectionModel","SchemaPropertiesMap","s","isEqual","coerceModelCellValue","getEmptyValue","ModelChange","type","rowIndex","rowData","count","updatedData","replicaId","selection","getDefaultValueForProperty","row","property","schemaPropertyInfo","info","Object","hasOwn","isRequired","applyModelChange","model","change","rowsArr","api","arr","columnNames","getSnapshot","map","name","con","ins","obj","data","vec","metadata","del","currentRowData","rows","entries","forEach","key","value","startsWith","colIndex","indexOf","coercedValue","rowVec","String","set","has","add"],"sources":["../../../../src/components/DataGrid/utils/applyModelChange.ts"],"sourcesContent":["import {\n DataGridRow,\n GridModel,\n ReplicaSelectionModel,\n} from '@/components/DataGrid/DataGridTypes'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport { s } from 'json-joy/lib/json-crdt-patch'\nimport isEqual from 'lodash-es/isEqual'\nimport { coerceModelCellValue } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Represents a change operation on the GridModel.\n */\nexport type ModelChange =\n | { type: 'CREATE'; rowIndex: number; rowData: DataGridRow }\n | { type: 'DELETE'; rowIndex: number; count?: number }\n | { type: 'UPDATE'; rowIndex: number; updatedData: DataGridRow }\n | {\n type: 'SET_SELECTION'\n replicaId: string\n selection: ReplicaSelectionModel\n }\n\nexport function getDefaultValueForProperty(\n row: DataGridRow,\n property: string,\n schemaPropertyInfo: SchemaPropertiesMap,\n) {\n const info = schemaPropertyInfo[property]\n if (Object.hasOwn(row, property)) {\n return coerceModelCellValue(row[property], info)\n }\n // Property absent from the row: derive the schema-correct blank directly.\n return getEmptyValue(info?.isRequired)\n}\n\n/**\n * Applies a single change operation (create, delete, or update) to the GridModel.\n *\n * @param model - The grid model to modify\n * @param change - The change to apply\n */\nexport function applyModelChange(\n model: GridModel,\n change: ModelChange,\n schemaPropertyInfo: SchemaPropertiesMap,\n) {\n const rowsArr = model.api.arr(['rows'])\n const { columnNames } = model.api.getSnapshot()\n\n switch (change.type) {\n case 'CREATE': {\n // Convert rowData object into a CRDT vector\n const rowData = columnNames.map(name =>\n s.con(\n getDefaultValueForProperty(change.rowData, name, schemaPropertyInfo),\n ),\n )\n // Insert a new row object at the specified index\n rowsArr?.ins(change.rowIndex, [\n s.obj({ data: s.vec(...rowData), metadata: s.obj({}) }),\n ])\n break\n }\n\n case 'DELETE':\n rowsArr?.del(change.rowIndex, change.count ?? 1)\n break\n\n case 'UPDATE': {\n const currentRowData = model.api.getSnapshot().rows[change.rowIndex]?.data\n Object.entries(change.updatedData).forEach(([key, value]) => {\n if (key.startsWith('_')) return // Skip internal properties like _rowId\n const colIndex = columnNames.indexOf(key)\n if (colIndex !== -1) {\n // Coerce empty values (null/undefined/\"\") to the schema-correct blank\n // so any path that reaches the model — paste, programmatic edits,\n // etc. — produces a value the validator can describe with its\n // standard \"<value> is not a valid …\" message format.\n const coercedValue = coerceModelCellValue(\n value,\n schemaPropertyInfo[key],\n )\n // Only write cells whose value actually changed to avoid stamping\n // the local replica's SID on unmodified cells.\n if (isEqual(currentRowData?.[colIndex], coercedValue)) return\n // Get the CRDT array of cell values for this row\n const rowVec = model.api.vec([\n 'rows',\n String(change.rowIndex),\n 'data',\n ])\n // Update the specific column with the new value\n rowVec?.set([[colIndex, s.con(coercedValue)]])\n }\n })\n break\n }\n case 'SET_SELECTION': {\n if (!model.api.obj().has('selection')) {\n // Create if not exists\n model.api.obj().add(['selection'], s.obj({}))\n }\n model.api\n .obj(['selection'])\n .set({ [change.replicaId]: s.con(change.selection) })\n\n break\n }\n }\n}\n"],"mappings":";;;;;AAwBA,SAAgBgB,EACdC,GACAC,GACAC,GACA;CACA,IAAMC,IAAOD,EAAmBD;AAKhC,QAJIG,OAAOC,OAAOL,GAAKC,EAAS,GACvBZ,EAAqBW,EAAIC,IAAWE,EAAK,GAG3Cb,EAAca,GAAMG,WAAW;;AASxC,SAAgBC,EACdC,GACAC,GACAP,GACA;CACA,IAAMQ,IAAUF,EAAMG,IAAIC,IAAI,CAAC,OAAO,CAAC,EACjC,EAAEC,mBAAgBL,EAAMG,IAAIG,aAAa;AAE/C,SAAQL,EAAOjB,MAAf;EACE,KAAK,UAAU;GAEb,IAAME,IAAUmB,EAAYE,KAAIC,MAC9B7B,EAAE8B,IACAlB,EAA2BU,EAAOf,SAASsB,GAAMd,EACnD,CACF,CAAC;AAEDQ,MAASQ,IAAIT,EAAOhB,UAAU,CAC5BN,EAAEgC,IAAI;IAAEC,MAAMjC,EAAEkC,IAAI,GAAG3B,EAAQ;IAAE4B,UAAUnC,EAAEgC,IAAI,EAAE,CAAA;IAAG,CAAC,CACxD,CAAC;AACF;;EAGF,KAAK;AACHT,MAASa,IAAId,EAAOhB,UAAUgB,EAAOd,SAAS,EAAE;AAChD;EAEF,KAAK,UAAU;GACb,IAAM6B,IAAiBhB,EAAMG,IAAIG,aAAa,CAACW,KAAKhB,EAAOhB,WAAW2B;AACtEhB,UAAOsB,QAAQjB,EAAOb,YAAY,CAAC+B,SAAS,CAACC,GAAKC,OAAW;AAC3D,QAAID,EAAIE,WAAW,IAAI,CAAE;IACzB,IAAMC,IAAWlB,EAAYmB,QAAQJ,EAAI;AACzC,QAAIG,MAAa,IAAI;KAKnB,IAAME,IAAe5C,EACnBwC,GACA3B,EAAmB0B,GACpB;AAGD,SAAIxC,EAAQoC,IAAiBO,IAAWE,EAAa,CAAE;AAExCzB,OAAMG,IAAIU,IAAI;MAC3B;MACAc,OAAO1B,EAAOhB,SAAS;MACvB;MACD,CAEDyC,EAAQE,IAAI,CAAC,CAACL,GAAU5C,EAAE8B,IAAIgB,EAAa,CAAC,CAAC,CAAC;;KAEhD;AACF;;EAEF,KAAK;AAKHzB,GAJKA,EAAMG,IAAIQ,KAAK,CAACkB,IAAI,YAAY,IAEnC7B,EAAMG,IAAIQ,KAAK,CAACmB,IAAI,CAAC,YAAY,EAAEnD,EAAEgC,IAAI,EAAE,CAAC,CAAC,EAE/CX,EAAMG,IACHQ,IAAI,CAAC,YAAY,CAAC,CAClBiB,IAAI,GAAG3B,EAAOZ,YAAYV,EAAE8B,IAAIR,EAAOX,UAAS,EAAG,CAAC;AAEvD"}
1
+ {"version":3,"file":"applyModelChange.js","names":["DataGridRow","GridModel","ReplicaSelectionModel","SchemaPropertiesMap","s","isEqual","coerceModelCellValue","getEmptyValue","ModelChange","type","rowIndex","rowData","count","updatedData","replicaId","selection","getDefaultValueForProperty","row","property","schemaPropertyInfo","info","Object","hasOwn","isRequired","applyModelChange","model","change","rowsArr","api","arr","columnNames","getSnapshot","map","name","con","ins","obj","data","vec","metadata","del","currentRowData","rows","entries","forEach","key","value","startsWith","colIndex","indexOf","coercedValue","rowVec","String","set","has","add"],"sources":["../../../../src/components/DataGrid/utils/applyModelChange.ts"],"sourcesContent":["import {\n DataGridRow,\n GridModel,\n ReplicaSelectionModel,\n} from '@/components/DataGrid/DataGridTypes'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport { s } from 'json-joy/lib/json-crdt-patch'\nimport isEqual from 'lodash-es/isEqual'\nimport { coerceModelCellValue } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Represents a change operation on the GridModel.\n */\nexport type ModelChange =\n | { type: 'CREATE'; rowIndex: number; rowData: DataGridRow }\n | { type: 'DELETE'; rowIndex: number; count?: number }\n | { type: 'UPDATE'; rowIndex: number; updatedData: DataGridRow }\n | {\n type: 'SET_SELECTION'\n replicaId: string\n selection: ReplicaSelectionModel\n }\n\nexport function getDefaultValueForProperty(\n row: DataGridRow,\n property: string,\n schemaPropertyInfo: SchemaPropertiesMap,\n) {\n const info = schemaPropertyInfo[property]\n if (Object.hasOwn(row, property)) {\n return coerceModelCellValue(row[property], info)\n }\n // Property absent from the row: derive the schema-correct blank directly.\n return getEmptyValue(info?.isRequired)\n}\n\n/**\n * Applies a single change operation (create, delete, or update) to the GridModel.\n *\n * @param model - The grid model to modify\n * @param change - The change to apply\n */\nexport function applyModelChange(\n model: GridModel,\n change: ModelChange,\n schemaPropertyInfo: SchemaPropertiesMap,\n) {\n const rowsArr = model.api.arr(['rows'])\n const { columnNames } = model.api.getSnapshot()\n\n switch (change.type) {\n case 'CREATE': {\n // Convert rowData object into a CRDT vector\n const rowData = columnNames.map(name =>\n s.con(\n getDefaultValueForProperty(change.rowData, name, schemaPropertyInfo),\n ),\n )\n // Insert a new row object at the specified index\n rowsArr?.ins(change.rowIndex, [\n s.obj({ data: s.vec(...rowData), metadata: s.obj({}) }),\n ])\n break\n }\n\n case 'DELETE':\n rowsArr?.del(change.rowIndex, change.count ?? 1)\n break\n\n case 'UPDATE': {\n const currentRowData = model.api.getSnapshot().rows[change.rowIndex]?.data\n Object.entries(change.updatedData).forEach(([key, value]) => {\n if (key.startsWith('_')) return // Skip internal properties like _rowId\n const colIndex = columnNames.indexOf(key)\n if (colIndex !== -1) {\n // Coerce empty values (null/undefined/\"\") to the schema-correct blank\n // so any path that reaches the model — paste, programmatic edits,\n // etc. — produces a value the validator can describe with its\n // standard \"<value> is not a valid …\" message format.\n const coercedValue = coerceModelCellValue(\n value,\n schemaPropertyInfo[key],\n )\n // Only write cells whose value actually changed to avoid stamping\n // the local replica's SID on unmodified cells.\n if (isEqual(currentRowData?.[colIndex], coercedValue)) return\n // Get the CRDT array of cell values for this row\n const rowVec = model.api.vec([\n 'rows',\n String(change.rowIndex),\n 'data',\n ])\n // Update the specific column with the new value\n rowVec?.set([[colIndex, s.con(coercedValue)]])\n }\n })\n break\n }\n case 'SET_SELECTION': {\n if (!model.api.obj().has('selection')) {\n // Create if not exists\n model.api.obj().add(['selection'], s.obj({}))\n }\n model.api\n .obj(['selection'])\n .set({ [change.replicaId]: s.con(change.selection) })\n\n break\n }\n }\n}\n"],"mappings":";;;;;AAwBA,SAAgBgB,EACdC,GACAC,GACAC,GACA;CACA,IAAMC,IAAOD,EAAmBD;CAKhC,OAJIG,OAAOC,OAAOL,GAAKC,CAAQ,IACtBZ,EAAqBW,EAAIC,IAAWE,CAAI,IAG1Cb,EAAca,GAAMG,UAAU;AACvC;AAQA,SAAgBC,EACdC,GACAC,GACAP,GACA;CACA,IAAMQ,IAAUF,EAAMG,IAAIC,IAAI,CAAC,MAAM,CAAC,GAChC,EAAEC,mBAAgBL,EAAMG,IAAIG,YAAY;CAE9C,QAAQL,EAAOjB,MAAf;EACE,KAAK,UAAU;GAEb,IAAME,IAAUmB,EAAYE,KAAIC,MAC9B7B,EAAE8B,IACAlB,EAA2BU,EAAOf,SAASsB,GAAMd,CAAkB,CACrE,CACF;GAEAQ,GAASQ,IAAIT,EAAOhB,UAAU,CAC5BN,EAAEgC,IAAI;IAAEC,MAAMjC,EAAEkC,IAAI,GAAG3B,CAAO;IAAG4B,UAAUnC,EAAEgC,IAAI,CAAC,CAAC;GAAE,CAAC,CAAC,CACxD;GACD;EACF;EAEA,KAAK;GACHT,GAASa,IAAId,EAAOhB,UAAUgB,EAAOd,SAAS,CAAC;GAC/C;EAEF,KAAK,UAAU;GACb,IAAM6B,IAAiBhB,EAAMG,IAAIG,YAAY,EAAEW,KAAKhB,EAAOhB,WAAW2B;GACtEhB,OAAOsB,QAAQjB,EAAOb,WAAW,EAAE+B,SAAS,CAACC,GAAKC,OAAW;IAC3D,IAAID,EAAIE,WAAW,GAAG,GAAG;IACzB,IAAMC,IAAWlB,EAAYmB,QAAQJ,CAAG;IACxC,IAAIG,MAAa,IAAI;KAKnB,IAAME,IAAe5C,EACnBwC,GACA3B,EAAmB0B,EACrB;KAGA,IAAIxC,EAAQoC,IAAiBO,IAAWE,CAAY,GAAG;KAQvDC,EANqBvB,IAAIU,IAAI;MAC3B;MACAc,OAAO1B,EAAOhB,QAAQ;MACtB;KAAM,CAGRyC,GAAQE,IAAI,CAAC,CAACL,GAAU5C,EAAE8B,IAAIgB,CAAY,CAAC,CAAC,CAAC;IAC/C;GACF,CAAC;GACD;EACF;EACA,KAAK;GAKHzB,AAJKA,EAAMG,IAAIQ,IAAI,EAAEkB,IAAI,WAAW,KAElC7B,EAAMG,IAAIQ,IAAI,EAAEmB,IAAI,CAAC,WAAW,GAAGnD,EAAEgC,IAAI,CAAC,CAAC,CAAC,GAE9CX,EAAMG,IACHQ,IAAI,CAAC,WAAW,CAAC,EACjBiB,IAAI,GAAG3B,EAAOZ,YAAYV,EAAE8B,IAAIR,EAAOX,SAAS,EAAE,CAAC;GAEtD;CAEJ;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"calculateColumnWidth.js","names":["SchemaPropertyInfo","HEADER_ELEMENT_WIDTHS","pin","help","spacing","padding","const","HeaderOptions","showPinIcon","hasDescription","calculateDefaultColumnWidth","columnName","propertyInfo","headerOptions","minWidth","type","format","characterBasedWidth","length","additionalWidth","contentBasedWidth","Math","max"],"sources":["../../../../src/components/DataGrid/utils/calculateColumnWidth.ts"],"sourcesContent":["import { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\n// Icon and spacing width constants for header content\nconst HEADER_ELEMENT_WIDTHS = {\n // Approximate effective width of each header IconButton (icon + padding)\n pin: 28,\n help: 28,\n spacing: 4, // gap between elements\n padding: 4, // container padding\n} as const\n\nexport type HeaderOptions = {\n showPinIcon?: boolean\n hasDescription?: boolean\n}\n\n/**\n * Calculates the default width for a column based on its name and schema property info.\n * The width is determined by:\n * - A base minimum width (175px for most columns, 215px for date-time columns)\n * - Character-based calculation (11px per character in the column name)\n * - Additional width for header icons (pin icon, help tooltip)\n *\n * @param columnName - The name of the column\n * @param propertyInfo - Optional schema property information for the column\n * @param headerOptions - Optional header content options that affect width\n * @returns The calculated column width in pixels\n */\nexport function calculateDefaultColumnWidth(\n columnName: string,\n propertyInfo?: SchemaPropertyInfo,\n headerOptions?: HeaderOptions,\n): number {\n // Determine minimum width based on column type\n const minWidth = propertyInfo?.type?.format === 'date-time' ? 215 : 175\n\n // Calculate width based on column name length (11px per character)\n const characterBasedWidth = columnName.length * 11\n\n // Calculate additional width needed for header icons\n let additionalWidth = 0\n if (headerOptions?.showPinIcon) {\n additionalWidth += HEADER_ELEMENT_WIDTHS.pin + HEADER_ELEMENT_WIDTHS.spacing\n }\n if (headerOptions?.hasDescription) {\n additionalWidth +=\n HEADER_ELEMENT_WIDTHS.help + HEADER_ELEMENT_WIDTHS.spacing\n }\n // Only add container padding if we have icons\n if (additionalWidth > 0) {\n additionalWidth += HEADER_ELEMENT_WIDTHS.padding\n }\n\n // Calculate total width needed for text + icons\n const contentBasedWidth = characterBasedWidth + additionalWidth\n\n // Return the larger of minimum width or content-based width\n return Math.max(minWidth, contentBasedWidth)\n}\n"],"mappings":";AAGA,IAAMC,IAAwB;CAE5BC,KAAK;CACLC,MAAM;CACNC,SAAS;CACTC,SAAS;CACV;AAmBD,SAAgBK,EACdC,GACAC,GACAC,GACQ;CAER,IAAMC,IAAWF,GAAcG,MAAMC,WAAW,cAAc,MAAM,KAG9DC,IAAsBN,EAAWO,SAAS,IAG5CC,IAAkB;AAStB,CARIN,GAAeL,gBACjBW,KAAmBlB,EAAsBC,MAAMD,EAAsBG,UAEnES,GAAeJ,mBACjBU,KACElB,EAAsBE,OAAOF,EAAsBG,UAGnDe,IAAkB,MACpBA,KAAmBlB,EAAsBI;CAI3C,IAAMe,IAAoBH,IAAsBE;AAGhD,QAAOE,KAAKC,IAAIR,GAAUM,EAAkB"}
1
+ {"version":3,"file":"calculateColumnWidth.js","names":["SchemaPropertyInfo","HEADER_ELEMENT_WIDTHS","pin","help","spacing","padding","const","HeaderOptions","showPinIcon","hasDescription","calculateDefaultColumnWidth","columnName","propertyInfo","headerOptions","minWidth","type","format","characterBasedWidth","length","additionalWidth","contentBasedWidth","Math","max"],"sources":["../../../../src/components/DataGrid/utils/calculateColumnWidth.ts"],"sourcesContent":["import { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\n// Icon and spacing width constants for header content\nconst HEADER_ELEMENT_WIDTHS = {\n // Approximate effective width of each header IconButton (icon + padding)\n pin: 28,\n help: 28,\n spacing: 4, // gap between elements\n padding: 4, // container padding\n} as const\n\nexport type HeaderOptions = {\n showPinIcon?: boolean\n hasDescription?: boolean\n}\n\n/**\n * Calculates the default width for a column based on its name and schema property info.\n * The width is determined by:\n * - A base minimum width (175px for most columns, 215px for date-time columns)\n * - Character-based calculation (11px per character in the column name)\n * - Additional width for header icons (pin icon, help tooltip)\n *\n * @param columnName - The name of the column\n * @param propertyInfo - Optional schema property information for the column\n * @param headerOptions - Optional header content options that affect width\n * @returns The calculated column width in pixels\n */\nexport function calculateDefaultColumnWidth(\n columnName: string,\n propertyInfo?: SchemaPropertyInfo,\n headerOptions?: HeaderOptions,\n): number {\n // Determine minimum width based on column type\n const minWidth = propertyInfo?.type?.format === 'date-time' ? 215 : 175\n\n // Calculate width based on column name length (11px per character)\n const characterBasedWidth = columnName.length * 11\n\n // Calculate additional width needed for header icons\n let additionalWidth = 0\n if (headerOptions?.showPinIcon) {\n additionalWidth += HEADER_ELEMENT_WIDTHS.pin + HEADER_ELEMENT_WIDTHS.spacing\n }\n if (headerOptions?.hasDescription) {\n additionalWidth +=\n HEADER_ELEMENT_WIDTHS.help + HEADER_ELEMENT_WIDTHS.spacing\n }\n // Only add container padding if we have icons\n if (additionalWidth > 0) {\n additionalWidth += HEADER_ELEMENT_WIDTHS.padding\n }\n\n // Calculate total width needed for text + icons\n const contentBasedWidth = characterBasedWidth + additionalWidth\n\n // Return the larger of minimum width or content-based width\n return Math.max(minWidth, contentBasedWidth)\n}\n"],"mappings":";AAGA,IAAMC,IAAwB;CAE5BC,KAAK;CACLC,MAAM;CACNC,SAAS;CACTC,SAAS;AACX;AAmBA,SAAgBK,EACdC,GACAC,GACAC,GACQ;CAER,IAAMC,IAAWF,GAAcG,MAAMC,WAAW,cAAc,MAAM,KAG9DC,IAAsBN,EAAWO,SAAS,IAG5CC,IAAkB;CAStB,AARIN,GAAeL,gBACjBW,KAAmBlB,EAAsBC,MAAMD,EAAsBG,UAEnES,GAAeJ,mBACjBU,KACElB,EAAsBE,OAAOF,EAAsBG,UAGnDe,IAAkB,MACpBA,KAAmBlB,EAAsBI;CAI3C,IAAMe,IAAoBH,IAAsBE;CAGhD,OAAOE,KAAKC,IAAIR,GAAUM,CAAiB;AAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"columnFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAGL,MAAM,EAIP,MAAM,wCAAwC,CAAA;AAuE/C,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IACrD,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AAuLD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGzD"}
1
+ {"version":3,"file":"columnFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAGL,MAAM,EAIP,MAAM,wCAAwC,CAAA;AAuE/C,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IACrD,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AAwLD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGzD"}
@@ -79,6 +79,7 @@ function b(e, t) {
79
79
  title: /* @__PURE__ */ l(i, {
80
80
  name: e.columnName,
81
81
  description: e.description,
82
+ isRequired: e.isRequired,
82
83
  showPinIcon: e.showPinIcon,
83
84
  isPinned: e.isPinned,
84
85
  onTogglePin: e.onTogglePin
@@ -1 +1 @@
1
- {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","SchemaPropertyInfo","CellComponent","CellProps","Column","createTextColumn","floatColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","wrapPasteValueWithSchemaCoercion","getEmptyValue","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","schemaPropertyInfo","getHeaderClassName","createDeleteValue","Record","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","undefined","keyed","component","title","headerClassName","minWidth","basis","grow","shrink","deleteValue","pasteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n floatColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\nimport { wrapPasteValueWithSchemaCoercion } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n /**\n * Optional column-level schema info. When provided, paste behavior coerces\n * empty pasted cells to the schema-correct blank (undefined for optional\n * columns, null for required columns). Omit to preserve the column impl's\n * default paste behavior.\n */\n schemaPropertyInfo?: SchemaPropertyInfo\n}\n\nfunction getHeaderClassName(isRequired: boolean): string {\n return isRequired ? 'header-cell-required' : 'header-cell'\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: getEmptyValue(isRequired),\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return getEmptyValue(isRequired)\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n headerClassName: getHeaderClassName(config.isRequired),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n pasteValue: wrapPasteValueWithSchemaCoercion(\n keyed.pasteValue,\n config.columnName,\n config.schemaPropertyInfo,\n ),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(config, floatColumn)\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,SAASoB,EACPC,GACAG,GACqB;CACrB,SAAAC,EAAAC,GAAA;EAAA,IAAAC,IAAAC,EAAA,GAAA,EACEC,IAAoBH,EAAKI,QAAuBC,mBAC9CP,IAEFQ,IACEH,GAAUI,aAAe,eACzBJ,GAAUI,aAAe,eAAaC;AAAA,EAAAP,EAAA,OAAAD,IAGJQ,IAAAP,EAAA,MAAhCO,IAAA,kBAAC,GAAD,EAAkB,GAAKR,GAAS,CAAA,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAO;EAAA,IAAAC;AAAA,EAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAC/BG,IAAAN,KAAA,CAAeG,KACd,kBAAC,GAAD;GAAgB,OAAAH,EAAUO;GAAwB,WAAA;aAChD,kBAAA,OAAA,EACS,OAAA;IAAAC,UACK;IAAUC,KACf;IAACC,OACC;IAACC,OACD;IAACC,QACA;IAACC,QACD;IAAEC,eACK;IACjB,EAEJ,CAAA;GACD,CAAA,EAAAhB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;EAAA,IAAAiB;AAAA,EAAAjB,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAD,EAAAmB,SACAD,IAAAZ,KAAA,CAAYN,EAAKmB,SAChB,kBAAC,GAAD;GAAgB,OAAAhB,EAAUO;GAAwB,WAAA;aAChD,kBAAC,GAAD,EACM,IAAA;IAAAU,UACQ;IAAKC,WACJ;IAAQC,YACP;IAACC,IACT;IAAGP,QACC;IAAEC,eACK;IAAMO,OACd;IAAUC,iBACA;IACnB,EAEJ,CAAA;GACD,CAAA,EAAAxB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAD,EAAAmB,OAAAlB,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA;EAAA,IAAAyB;AACA,SADAzB,EAAA,OAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAiB,KAhCHQ,IAAA,kBAAA,GAAA,EAAA,UAAA;GACElB;GACCC;GAeAS;GAgBA,EAAA,CAAA,EAAAjB,EAAA,KAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAiB,GAAAjB,EAAA,MAAAyB,KAAAA,IAAAzB,EAAA,KAjCHyB;;AAqCJ,QADA3B,EAAgB4B,cAAc,mBAAmB7B,EAAO,IACjDC;;AAuBT,SAASyC,EAAmBN,GAA6B;AACvD,QAAOA,IAAa,yBAAyB;;AAG/C,SAASO,EAAkBZ,GAAoBK,GAAsB;AACnE,SAAQ,EAAE9B,kBAAqD;EAC7D,GAAGA;GACFyB,IAAapC,EAAcyC,EAAU;EACvC;;AAGH,SAASS,EAAqBT,GAAsB;AAClD,SAAQU,MAAkB;EACxB,IAAMC,IAAeD,EAAME,MAAM;AAIjC,SAHID,MAAiB,KACZpD,EAAcyC,EAAW,GAE3BW;;;AAIX,SAASE,EAAiBC,GAAsBC,GAAiB;CAC/D,IAAMC,IAA+B;EACnCd,aAAaY,EAAOZ;EACpBe,gBAAgB,CAAC,CAACH,EAAOlB;EAC1B,EAEKhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACPuB,KAAAA,GACAF,EACD,EAEGG,IAAQtE,EAAUiE,EAAOnB,YAAYoB,EAAW;AACtD,QAAO;EACL,GAAGI;EACHC,WAAW5D,EAA2B2D,EAAMC,WAAYN,EAAOnB,WAAW;EAC1E0B,OACE,kBAAC,GAAD;GACE,MAAMP,EAAOnB;GACb,aAAamB,EAAOlB;GACpB,aAAakB,EAAOZ;GACpB,UAAUY,EAAOX;GACjB,aAAaW,EAAOV;GAEvB,CAAA;EACDkB,iBAAiBhB,EAAmBQ,EAAOd,WAAW;EACtDuB,UAAU3C;EACV4C,OAAO5C;EACP6C,MAAM;EACNC,QAAQ;EACR7B,UAAUiB,EAAOjB;EACjB8B,aAAapB,EAAkBO,EAAOnB,YAAYmB,EAAOd,WAAW;EACpE4B,YAAYtE,EACV6D,EAAMS,YACNd,EAAOnB,YACPmB,EAAOT,mBACR;EACDwB,YAAYf,EAAOX;EACpB;;AAGH,IAAM2B,IAAmB;CACvBC,eAAejB,MACND,EACLC,GACA/D,EAA+B;EAC7BiF,SAASlB,EAAOf,oBAAoB,EAAE;EACtCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCC,WAAW;EACXC,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGHqC,UAAUvB,MACDD,EACLC,GACAhE,EAAmB;EACjBkF,SAAS,CAAC,IAAM,GAAM;EACtBC,SAAS;EACTG,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGHsC,SAASxB,MACAD,EAAiBC,GAAQlE,EAAY;CAG9C2F,aAAazB,MACJD,EACLC,GACAhE,EAAmB;EACjBkF,SAASlB,EAAOf,oBAAoB,EAAE;EACtCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCE,YAAY7E,EAAcuD,EAAOd,WAAU;EAC5C,CACH,CAAC;CAGH,cAAcc,MAAyB;EACrC,IAAMC,IAAa3E,EAAe,EAChC6F,SAASnB,EAAOhB,UAAUoC,QAAQ,MACnC,CAAC,EAGIlB,IAA+B;GACnCd,aAAaY,EAAOZ;GACpBe,gBAAgB,CAAC,CAACH,EAAOlB;GAC1B,EAEKhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACP;GACEuC,MAAMpB,EAAOhB,YAAYoB,KAAAA;GACzBlB,YAAYc,EAAOd;GACnBD,kBAAkB;GACnB,EACDiB,EACD;AAEH,SAAO;GACL,GAAGH,EAAiBC,GAAQC,EAAW;GACvCQ,UAAU3C;GACV4C,OAAO5C;GACR;;CAGH6D,OAAO3B,OAOE;EACL,GAAGD,EAAiBC,GAPHnE,EAAiB;GAClC+F,mBAAmB;GACnBC,cAAczB,KAAAA;GACd0B,gBAAgBnC,EAAqBK,EAAOd,WAAU;GACvD,CAG6Be,CAAW;EACvC8B,eAAe;EAChB;CAEJ;AAED,SAASC,EACPhD,GACAC,GAC+B;AA4B/B,QA3BKD,IAMDA,EAASkD,WAAW,cACf,cAILlD,EAASmD,UACJ,iBAGLnD,EAASoC,SAAS,YACb,YAGLpC,EAASoC,SAAS,YAAYpC,EAASoC,SAAS,YAC3C,WAGLnC,KAAoBA,EAAiBgD,SAAS,IACzC,eAGF,SA1BEhD,KAAoBA,EAAiBgD,SAAS,IACjD,eACA;;AA2BR,SAAgBG,EAAapC,GAA8B;AAEzD,QAAOgB,EADYgB,EAAchC,EAAOhB,UAAUgB,EAAOf,iBACjCoD,EAAYrC,EAAO"}
1
+ {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","SchemaPropertyInfo","CellComponent","CellProps","Column","createTextColumn","floatColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","wrapPasteValueWithSchemaCoercion","getEmptyValue","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","schemaPropertyInfo","getHeaderClassName","createDeleteValue","Record","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","undefined","keyed","component","title","headerClassName","minWidth","basis","grow","shrink","deleteValue","pasteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n floatColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\nimport { wrapPasteValueWithSchemaCoercion } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n /**\n * Optional column-level schema info. When provided, paste behavior coerces\n * empty pasted cells to the schema-correct blank (undefined for optional\n * columns, null for required columns). Omit to preserve the column impl's\n * default paste behavior.\n */\n schemaPropertyInfo?: SchemaPropertyInfo\n}\n\nfunction getHeaderClassName(isRequired: boolean): string {\n return isRequired ? 'header-cell-required' : 'header-cell'\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: getEmptyValue(isRequired),\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return getEmptyValue(isRequired)\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n isRequired={config.isRequired}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n headerClassName: getHeaderClassName(config.isRequired),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n pasteValue: wrapPasteValueWithSchemaCoercion(\n keyed.pasteValue,\n config.columnName,\n config.schemaPropertyInfo,\n ),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(config, floatColumn)\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,SAASoB,EACPC,GACAG,GACqB;CACrB,SAAAC,EAAAC,GAAA;EAAA,IAAAC,IAAAC,EAAA,EAAA,GACEC,IAAoBH,EAAKI,QAAuBC,mBAC9CP,IAEFQ,IACEH,GAAUI,aAAe,eACzBJ,GAAUI,aAAe,eAAaC;EAAA,AAAAP,EAAA,OAAAD,IAGJQ,IAAAP,EAAA,MAAhCO,IAAA,kBAAC,GAAD,EAAkB,GAAKR,EAAK,CAAA,GAAIC,EAAA,KAAAD,GAAAC,EAAA,KAAAO;EAAA,IAAAC;EAAA,AAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAC/BG,IAAAN,KAAA,CAAeG,KACd,kBAAC,GAAD;GAAgB,OAAAH,EAAUO;GAAwB,WAAA;aAChD,kBAAA,OAAA,EACS,OAAA;IAAAC,UACK;IAAUC,KACf;IAACC,OACC;IAACC,OACD;IAACC,QACA;IAACC,QACD;IAAEC,eACK;GACjB,EAAC,CAAA;EAVG,CAAA,GAaThB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;EAAA,IAAAiB;EAAA,AAAAjB,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAD,EAAAmB,SACAD,IAAAZ,KAAA,CAAYN,EAAKmB,SAChB,kBAAC,GAAD;GAAgB,OAAAhB,EAAUO;GAAwB,WAAA;aAChD,kBAAC,GAAD,EACM,IAAA;IAAAU,UACQ;IAAKC,WACJ;IAAQC,YACP;IAACC,IACT;IAAGP,QACC;IAAEC,eACK;IAAMO,OACd;IAAUC,iBACA;GACnB,EAAC,CAAA;EAXG,CAAA,GAcTxB,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAD,EAAAmB,OAAAlB,EAAA,KAAAiB,KAAAA,IAAAjB,EAAA;EAAA,IAAAyB;EACA,OADAzB,EAAA,OAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAiB,KAhCHQ,IAAA,kBAAA,GAAA,EAAA,UAAA;GACElB;GACCC;GAeAS;EAeA,EAAA,CAAA,GACAjB,EAAA,KAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAiB,GAAAjB,EAAA,MAAAyB,KAAAA,IAAAzB,EAAA,KAjCHyB;CAiCG;CAIP,OADA3B,EAAgB4B,cAAc,mBAAmB7B,EAAO,IACjDC;AACT;AAsBA,SAASyC,EAAmBN,GAA6B;CACvD,OAAOA,IAAa,yBAAyB;AAC/C;AAEA,SAASO,EAAkBZ,GAAoBK,GAAsB;CACnE,QAAQ,EAAE9B,kBAAqD;EAC7D,GAAGA;GACFyB,IAAapC,EAAcyC,CAAU;CACxC;AACF;AAEA,SAASS,EAAqBT,GAAsB;CAClD,QAAQU,MAAkB;EACxB,IAAMC,IAAeD,EAAME,KAAK;EAIhC,OAHID,MAAiB,KACZpD,EAAcyC,CAAU,IAE1BW;CACT;AACF;AAEA,SAASE,EAAiBC,GAAsBC,GAAiB;CAC/D,IAAMC,IAA+B;EACnCd,aAAaY,EAAOZ;EACpBe,gBAAgB,CAAC,CAACH,EAAOlB;CAC3B,GAEMhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACPuB,KAAAA,GACAF,CACF,GAEIG,IAAQtE,EAAUiE,EAAOnB,YAAYoB,CAAU;CACrD,OAAO;EACL,GAAGI;EACHC,WAAW5D,EAA2B2D,EAAMC,WAAYN,EAAOnB,UAAU;EACzE0B,OACE,kBAAC,GAAD;GACE,MAAMP,EAAOnB;GACb,aAAamB,EAAOlB;GACpB,YAAYkB,EAAOd;GACnB,aAAac,EAAOZ;GACpB,UAAUY,EAAOX;GACjB,aAAaW,EAAOV;EAAY,CAAA;EAGpCkB,iBAAiBhB,EAAmBQ,EAAOd,UAAU;EACrDuB,UAAU3C;EACV4C,OAAO5C;EACP6C,MAAM;EACNC,QAAQ;EACR7B,UAAUiB,EAAOjB;EACjB8B,aAAapB,EAAkBO,EAAOnB,YAAYmB,EAAOd,UAAU;EACnE4B,YAAYtE,EACV6D,EAAMS,YACNd,EAAOnB,YACPmB,EAAOT,kBACT;EACAwB,YAAYf,EAAOX;CACrB;AACF;AAEA,IAAM2B,IAAmB;CACvBC,eAAejB,MACND,EACLC,GACA/D,EAA+B;EAC7BiF,SAASlB,EAAOf,oBAAoB,CAAA;EACpCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCC,WAAW;EACXC,YAAY7E,EAAcuD,EAAOd,UAAU;CAC7C,CAAC,CACH;CAGFqC,UAAUvB,MACDD,EACLC,GACAhE,EAAmB;EACjBkF,SAAS,CAAC,IAAM,EAAK;EACrBC,SAAS;EACTG,YAAY7E,EAAcuD,EAAOd,UAAU;CAC7C,CAAC,CACH;CAGFsC,SAASxB,MACAD,EAAiBC,GAAQlE,CAAW;CAG7C2F,aAAazB,MACJD,EACLC,GACAhE,EAAmB;EACjBkF,SAASlB,EAAOf,oBAAoB,CAAA;EACpCkC,SAASnB,EAAOhB,UAAUoC,QAAQ;EAClCE,YAAY7E,EAAcuD,EAAOd,UAAU;CAC7C,CAAC,CACH;CAGF,cAAcc,MAAyB;EACrC,IAAMC,IAAa3E,EAAe,EAChC6F,SAASnB,EAAOhB,UAAUoC,QAAQ,KACpC,CAAC,GAGKlB,IAA+B;GACnCd,aAAaY,EAAOZ;GACpBe,gBAAgB,CAAC,CAACH,EAAOlB;EAC3B,GAEMhB,IACJkC,EAAOb,eACPjD,EACE8D,EAAOnB,YACP;GACEuC,MAAMpB,EAAOhB,YAAYoB,KAAAA;GACzBlB,YAAYc,EAAOd;GACnBD,kBAAkB;EACpB,GACAiB,CACF;EAEF,OAAO;GACL,GAAGH,EAAiBC,GAAQC,CAAU;GACtCQ,UAAU3C;GACV4C,OAAO5C;EACT;CACF;CAEA6D,OAAO3B,OAOE;EACL,GAAGD,EAAiBC,GAPHnE,EAAiB;GAClC+F,mBAAmB;GACnBC,cAAczB,KAAAA;GACd0B,gBAAgBnC,EAAqBK,EAAOd,UAAU;EACxD,CAG8Be,CAAU;EACtC8B,eAAe;CACjB;AAEJ;AAEA,SAASC,EACPhD,GACAC,GAC+B;CA4B/B,OA3BKD,IAMDA,EAASkD,WAAW,cACf,cAILlD,EAASmD,UACJ,iBAGLnD,EAASoC,SAAS,YACb,YAGLpC,EAASoC,SAAS,YAAYpC,EAASoC,SAAS,YAC3C,WAGLnC,KAAoBA,EAAiBgD,SAAS,IACzC,eAGF,SA1BEhD,KAAoBA,EAAiBgD,SAAS,IACjD,eACA;AAyBR;AAEA,SAAgBG,EAAapC,GAA8B;CAEzD,OAAOgB,EADYgB,EAAchC,EAAOhB,UAAUgB,EAAOf,gBACjCoD,GAAYrC,CAAM;AAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"computeReplicaSelectionModel.js","names":["CrdtId","GridModel","ReplicaSelectionModel","ArrApi","SelectionWithId","computeReplicaSelectionModel","selection","model","replicaSelectionModel","modelSnapshot","api","getSnapshot","isSelectAll","rows","min","row","max","rowSelectAll","rowsArr","arr","rowSelection","getCrdtIdsForArrayRange","columnOrder","col","columnSelectAll","columnOrderArr","columnSelection","arrSnapshot","length","array","crdtIds","i","findChunkResult","node","findChunk","chunk","offset","push","rep","id","sid","seq","time","console","warn"],"sources":["../../../../src/components/DataGrid/utils/computeReplicaSelectionModel.ts"],"sourcesContent":["import {\n CrdtId,\n GridModel,\n ReplicaSelectionModel,\n} from '@/components/DataGrid/DataGridTypes'\nimport { ArrApi } from 'json-joy'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\n\n/**\n * Compute the ReplicaSelectionModel that should be attached to the grid model\n * @param selection the selection provided by react-datasheet-grid\n * @param model the current Data Grid CRDT Model\n */\nexport default function computeReplicaSelectionModel(\n selection: SelectionWithId,\n model: GridModel,\n): ReplicaSelectionModel {\n const replicaSelectionModel: ReplicaSelectionModel = {}\n const modelSnapshot = model.api.getSnapshot()\n if (isSelectAll(modelSnapshot.rows, selection.min.row, selection.max.row)) {\n replicaSelectionModel.rowSelectAll = true\n } else {\n // Get the arr element CrdtIds from the rows array\n const rowsArr = model.api.arr(['rows'])\n replicaSelectionModel.rowSelection = getCrdtIdsForArrayRange(\n rowsArr,\n selection.min.row,\n selection.max.row,\n )\n }\n\n if (\n isSelectAll(modelSnapshot.columnOrder, selection.min.col, selection.max.col)\n ) {\n replicaSelectionModel.columnSelectAll = true\n } else {\n // Get the arr element CrdtIds from the columnOrder array\n const columnOrderArr = model.api.arr(['columnOrder'])\n replicaSelectionModel.columnSelection = getCrdtIdsForArrayRange(\n columnOrderArr,\n selection.min.col,\n selection.max.col,\n )\n }\n\n return replicaSelectionModel\n}\n\nfunction isSelectAll(arrSnapshot: unknown[], min: number, max: number) {\n // If the min and max cover the entire array, it's a select all\n return min === 0 && max === arrSnapshot.length - 1\n}\n\nfunction getCrdtIdsForArrayRange(array: ArrApi, min: number, max: number) {\n const crdtIds: CrdtId[] = []\n for (let i = min; i <= max; i++) {\n const findChunkResult = array.node.findChunk(i)\n if (findChunkResult) {\n const [chunk, offset] = findChunkResult\n crdtIds.push({ rep: chunk.id.sid, seq: chunk.id.time + offset })\n } else {\n console.warn(\n `getCrdtIdsForArrayRange: No chunk found for array index ${i}. This may indicate an unexpected state.`,\n )\n }\n }\n return crdtIds\n}\n"],"mappings":";AAaA,SAAwBK,EACtBC,GACAC,GACuB;CACvB,IAAMC,IAA+C,EAAE,EACjDC,IAAgBF,EAAMG,IAAIC,aAAa;AA2B7C,QA1BIC,EAAYH,EAAcI,MAAMP,EAAUQ,IAAIC,KAAKT,EAAUU,IAAID,IAAI,GACvEP,EAAsBS,eAAe,KAIrCT,EAAsBY,eAAeC,EADrBd,EAAMG,IAAIS,IAAI,CAAC,OAAO,CAEpCD,EACAZ,EAAUQ,IAAIC,KACdT,EAAUU,IAAID,IACf,EAIDH,EAAYH,EAAca,aAAahB,EAAUQ,IAAIS,KAAKjB,EAAUU,IAAIO,IAAI,GAE5Ef,EAAsBgB,kBAAkB,KAIxChB,EAAsBkB,kBAAkBL,EADjBd,EAAMG,IAAIS,IAAI,CAAC,cAAc,CAElDM,EACAnB,EAAUQ,IAAIS,KACdjB,EAAUU,IAAIO,IACf,EAGIf;;AAGT,SAASI,EAAYe,GAAwBb,GAAaE,GAAa;AAErE,QAAOF,MAAQ,KAAKE,MAAQW,EAAYC,SAAS;;AAGnD,SAASP,EAAwBQ,GAAef,GAAaE,GAAa;CACxE,IAAMc,IAAoB,EAAE;AAC5B,MAAK,IAAIC,IAAIjB,GAAKiB,KAAKf,GAAKe,KAAK;EAC/B,IAAMC,IAAkBH,EAAMI,KAAKC,UAAUH,EAAE;AAC/C,MAAIC,GAAiB;GACnB,IAAM,CAACG,GAAOC,KAAUJ;AACxBF,KAAQO,KAAK;IAAEC,KAAKH,EAAMI,GAAGC;IAAKC,KAAKN,EAAMI,GAAGG,OAAON;IAAQ,CAAC;QAEhEO,SAAQC,KACN,2DAA2Db,EAAC,0CAC7D;;AAGL,QAAOD"}
1
+ {"version":3,"file":"computeReplicaSelectionModel.js","names":["CrdtId","GridModel","ReplicaSelectionModel","ArrApi","SelectionWithId","computeReplicaSelectionModel","selection","model","replicaSelectionModel","modelSnapshot","api","getSnapshot","isSelectAll","rows","min","row","max","rowSelectAll","rowsArr","arr","rowSelection","getCrdtIdsForArrayRange","columnOrder","col","columnSelectAll","columnOrderArr","columnSelection","arrSnapshot","length","array","crdtIds","i","findChunkResult","node","findChunk","chunk","offset","push","rep","id","sid","seq","time","console","warn"],"sources":["../../../../src/components/DataGrid/utils/computeReplicaSelectionModel.ts"],"sourcesContent":["import {\n CrdtId,\n GridModel,\n ReplicaSelectionModel,\n} from '@/components/DataGrid/DataGridTypes'\nimport { ArrApi } from 'json-joy'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\n\n/**\n * Compute the ReplicaSelectionModel that should be attached to the grid model\n * @param selection the selection provided by react-datasheet-grid\n * @param model the current Data Grid CRDT Model\n */\nexport default function computeReplicaSelectionModel(\n selection: SelectionWithId,\n model: GridModel,\n): ReplicaSelectionModel {\n const replicaSelectionModel: ReplicaSelectionModel = {}\n const modelSnapshot = model.api.getSnapshot()\n if (isSelectAll(modelSnapshot.rows, selection.min.row, selection.max.row)) {\n replicaSelectionModel.rowSelectAll = true\n } else {\n // Get the arr element CrdtIds from the rows array\n const rowsArr = model.api.arr(['rows'])\n replicaSelectionModel.rowSelection = getCrdtIdsForArrayRange(\n rowsArr,\n selection.min.row,\n selection.max.row,\n )\n }\n\n if (\n isSelectAll(modelSnapshot.columnOrder, selection.min.col, selection.max.col)\n ) {\n replicaSelectionModel.columnSelectAll = true\n } else {\n // Get the arr element CrdtIds from the columnOrder array\n const columnOrderArr = model.api.arr(['columnOrder'])\n replicaSelectionModel.columnSelection = getCrdtIdsForArrayRange(\n columnOrderArr,\n selection.min.col,\n selection.max.col,\n )\n }\n\n return replicaSelectionModel\n}\n\nfunction isSelectAll(arrSnapshot: unknown[], min: number, max: number) {\n // If the min and max cover the entire array, it's a select all\n return min === 0 && max === arrSnapshot.length - 1\n}\n\nfunction getCrdtIdsForArrayRange(array: ArrApi, min: number, max: number) {\n const crdtIds: CrdtId[] = []\n for (let i = min; i <= max; i++) {\n const findChunkResult = array.node.findChunk(i)\n if (findChunkResult) {\n const [chunk, offset] = findChunkResult\n crdtIds.push({ rep: chunk.id.sid, seq: chunk.id.time + offset })\n } else {\n console.warn(\n `getCrdtIdsForArrayRange: No chunk found for array index ${i}. This may indicate an unexpected state.`,\n )\n }\n }\n return crdtIds\n}\n"],"mappings":";AAaA,SAAwBK,EACtBC,GACAC,GACuB;CACvB,IAAMC,IAA+C,CAAC,GAChDC,IAAgBF,EAAMG,IAAIC,YAAY;CA2B5C,OA1BIC,EAAYH,EAAcI,MAAMP,EAAUQ,IAAIC,KAAKT,EAAUU,IAAID,GAAG,IACtEP,EAAsBS,eAAe,KAIrCT,EAAsBY,eAAeC,EADrBd,EAAMG,IAAIS,IAAI,CAAC,MAAM,CAEnCD,GACAZ,EAAUQ,IAAIC,KACdT,EAAUU,IAAID,GAChB,GAIAH,EAAYH,EAAca,aAAahB,EAAUQ,IAAIS,KAAKjB,EAAUU,IAAIO,GAAG,IAE3Ef,EAAsBgB,kBAAkB,KAIxChB,EAAsBkB,kBAAkBL,EADjBd,EAAMG,IAAIS,IAAI,CAAC,aAAa,CAEjDM,GACAnB,EAAUQ,IAAIS,KACdjB,EAAUU,IAAIO,GAChB,GAGKf;AACT;AAEA,SAASI,EAAYe,GAAwBb,GAAaE,GAAa;CAErE,OAAOF,MAAQ,KAAKE,MAAQW,EAAYC,SAAS;AACnD;AAEA,SAASP,EAAwBQ,GAAef,GAAaE,GAAa;CACxE,IAAMc,IAAoB,CAAA;CAC1B,KAAK,IAAIC,IAAIjB,GAAKiB,KAAKf,GAAKe,KAAK;EAC/B,IAAMC,IAAkBH,EAAMI,KAAKC,UAAUH,CAAC;EAC9C,IAAIC,GAAiB;GACnB,IAAM,CAACG,GAAOC,KAAUJ;GACxBF,EAAQO,KAAK;IAAEC,KAAKH,EAAMI,GAAGC;IAAKC,KAAKN,EAAMI,GAAGG,OAAON;GAAO,CAAC;EACjE,OACEO,QAAQC,KACN,2DAA2Db,EAAC,yCAC9D;CAEJ;CACA,OAAOD;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertActionToModelChange.js","names":["GridAction","ModelChange","convertActionToModelChange","action","direction","type","rowIndex","newValue","rowData","value","previousValue","updatedData"],"sources":["../../../../src/components/DataGrid/utils/convertActionToModelChange.ts"],"sourcesContent":["import { GridAction } from '../hooks/useGridUndoRedo'\nimport { ModelChange } from '../utils/applyModelChange'\n\n/**\n * Converts an GridAction to a ModelChange for either undo or redo operations.\n * @param action - The action to convert\n * @param direction - 'undo' applies the inverse, 'redo' applies the original\n */\nexport function convertActionToModelChange(\n action: GridAction,\n direction: 'undo' | 'redo',\n): ModelChange | null {\n switch (action.type) {\n case 'CREATE':\n if (direction === 'undo') {\n // Undo CREATE => DELETE the row\n return { type: 'DELETE', rowIndex: action.rowIndex }\n } else {\n // Redo CREATE => recreate the row\n if (!action.newValue) return null\n return {\n type: 'CREATE',\n rowIndex: action.rowIndex,\n rowData: action.newValue,\n }\n }\n\n case 'UPDATE': {\n // Undo UPDATE => restore previous value\n const value =\n direction === 'undo' ? action.previousValue : action.newValue\n if (!value) return null\n\n return {\n type: 'UPDATE',\n rowIndex: action.rowIndex,\n updatedData: value,\n }\n }\n\n case 'DELETE':\n if (direction === 'undo') {\n // Undo DELETE => recreate row\n if (!action.previousValue) return null\n return {\n type: 'CREATE',\n rowIndex: action.rowIndex,\n rowData: action.previousValue,\n }\n } else {\n // Redo DELETE => delete the row again\n return { type: 'DELETE', rowIndex: action.rowIndex }\n }\n\n default:\n return null\n }\n}\n"],"mappings":";AAQA,SAAgBE,EACdC,GACAC,GACoB;AACpB,SAAQD,EAAOE,MAAf;EACE,KAAK,SAOD,QANED,MAAc,SAET;GAAEC,MAAM;GAAUC,UAAUH,EAAOG;GAAU,GAG/CH,EAAOI,WACL;GACLF,MAAM;GACNC,UAAUH,EAAOG;GACjBE,SAASL,EAAOI;GACjB,GAL4B;EAQjC,KAAK,UAAU;GAEb,IAAME,IACJL,MAAc,SAASD,EAAOO,gBAAgBP,EAAOI;AAGvD,UAFKE,IAEE;IACLJ,MAAM;IACNC,UAAUH,EAAOG;IACjBK,aAAaF;IACd,GANkB;;EASrB,KAAK,SAWD,QAVEL,MAAc,SAEXD,EAAOO,gBACL;GACLL,MAAM;GACNC,UAAUH,EAAOG;GACjBE,SAASL,EAAOO;GACjB,GALiC,OAQ3B;GAAEL,MAAM;GAAUC,UAAUH,EAAOG;GAAU;EAGxD,QACE,QAAO"}
1
+ {"version":3,"file":"convertActionToModelChange.js","names":["GridAction","ModelChange","convertActionToModelChange","action","direction","type","rowIndex","newValue","rowData","value","previousValue","updatedData"],"sources":["../../../../src/components/DataGrid/utils/convertActionToModelChange.ts"],"sourcesContent":["import { GridAction } from '../hooks/useGridUndoRedo'\nimport { ModelChange } from '../utils/applyModelChange'\n\n/**\n * Converts an GridAction to a ModelChange for either undo or redo operations.\n * @param action - The action to convert\n * @param direction - 'undo' applies the inverse, 'redo' applies the original\n */\nexport function convertActionToModelChange(\n action: GridAction,\n direction: 'undo' | 'redo',\n): ModelChange | null {\n switch (action.type) {\n case 'CREATE':\n if (direction === 'undo') {\n // Undo CREATE => DELETE the row\n return { type: 'DELETE', rowIndex: action.rowIndex }\n } else {\n // Redo CREATE => recreate the row\n if (!action.newValue) return null\n return {\n type: 'CREATE',\n rowIndex: action.rowIndex,\n rowData: action.newValue,\n }\n }\n\n case 'UPDATE': {\n // Undo UPDATE => restore previous value\n const value =\n direction === 'undo' ? action.previousValue : action.newValue\n if (!value) return null\n\n return {\n type: 'UPDATE',\n rowIndex: action.rowIndex,\n updatedData: value,\n }\n }\n\n case 'DELETE':\n if (direction === 'undo') {\n // Undo DELETE => recreate row\n if (!action.previousValue) return null\n return {\n type: 'CREATE',\n rowIndex: action.rowIndex,\n rowData: action.previousValue,\n }\n } else {\n // Redo DELETE => delete the row again\n return { type: 'DELETE', rowIndex: action.rowIndex }\n }\n\n default:\n return null\n }\n}\n"],"mappings":";AAQA,SAAgBE,EACdC,GACAC,GACoB;CACpB,QAAQD,EAAOE,MAAf;EACE,KAAK,UAOD,OANED,MAAc,SAET;GAAEC,MAAM;GAAUC,UAAUH,EAAOG;EAAS,IAG9CH,EAAOI,WACL;GACLF,MAAM;GACNC,UAAUH,EAAOG;GACjBE,SAASL,EAAOI;EAClB,IAL6B;EAQjC,KAAK,UAAU;GAEb,IAAME,IACJL,MAAc,SAASD,EAAOO,gBAAgBP,EAAOI;GAGvD,OAFKE,IAEE;IACLJ,MAAM;IACNC,UAAUH,EAAOG;IACjBK,aAAaF;GACf,IANmB;EAOrB;EAEA,KAAK,UAWD,OAVEL,MAAc,SAEXD,EAAOO,gBACL;GACLL,MAAM;GACNC,UAAUH,EAAOG;GACjBE,SAASL,EAAOO;EAClB,IALkC,OAQ3B;GAAEL,MAAM;GAAUC,UAAUH,EAAOG;EAAS;EAGvD,SACE,OAAO;CACX;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTestModel.js","names":["GridModel","gridSchema","s","Model","createTestModel","nRows","nCols","sid","model","create","i","api","arr","push","con","vec","data","j","obj"],"sources":["../../../../src/components/DataGrid/utils/createTestModel.ts"],"sourcesContent":["import { GridModel, gridSchema } from '@/components/DataGrid/DataGridTypes'\nimport { s } from 'json-joy/lib/json-crdt-patch/index'\nimport { Model } from 'json-joy/lib/json-crdt/index'\n\nexport default function createTestModel(\n nRows: number,\n nCols: number,\n sid?: number,\n): GridModel {\n const model = Model.create(gridSchema, sid)\n\n for (let i = 0; i < nCols; i++) {\n model.api.arr(['columnOrder']).push(s.con(i))\n model.api.vec(['columnNames']).push(s.con(`c${i}`))\n }\n\n for (let i = 0; i < nRows; i++) {\n const data = []\n for (let j = 0; j < nCols; j++) {\n data.push(s.con(`r${i}c${j}`))\n }\n model.api.arr(['rows']).push(\n s.obj({\n data: s.vec(...data),\n }),\n )\n }\n\n return model\n}\n"],"mappings":";;;;AAIA,SAAwBI,EACtBC,GACAC,GACAC,GACW;CACX,IAAMC,IAAQL,EAAMM,OAAOR,GAAYM,EAAI;AAE3C,MAAK,IAAIG,IAAI,GAAGA,IAAIJ,GAAOI,IAEzBF,CADAA,EAAMG,IAAIC,IAAI,CAAC,cAAc,CAAC,CAACC,KAAKX,EAAEY,IAAIJ,EAAE,CAAC,EAC7CF,EAAMG,IAAII,IAAI,CAAC,cAAc,CAAC,CAACF,KAAKX,EAAEY,IAAI,IAAIJ,IAAI,CAAC;AAGrD,MAAK,IAAIA,IAAI,GAAGA,IAAIL,GAAOK,KAAK;EAC9B,IAAMM,IAAO,EAAE;AACf,OAAK,IAAIC,IAAI,GAAGA,IAAIX,GAAOW,IACzBD,GAAKH,KAAKX,EAAEY,IAAI,IAAIJ,EAAC,GAAIO,IAAI,CAAC;AAEhCT,IAAMG,IAAIC,IAAI,CAAC,OAAO,CAAC,CAACC,KACtBX,EAAEgB,IAAI,EACJF,MAAMd,EAAEa,IAAI,GAAGC,EAAI,EACpB,CACH,CAAC;;AAGH,QAAOR"}
1
+ {"version":3,"file":"createTestModel.js","names":["GridModel","gridSchema","s","Model","createTestModel","nRows","nCols","sid","model","create","i","api","arr","push","con","vec","data","j","obj"],"sources":["../../../../src/components/DataGrid/utils/createTestModel.ts"],"sourcesContent":["import { GridModel, gridSchema } from '@/components/DataGrid/DataGridTypes'\nimport { s } from 'json-joy/lib/json-crdt-patch/index'\nimport { Model } from 'json-joy/lib/json-crdt/index'\n\nexport default function createTestModel(\n nRows: number,\n nCols: number,\n sid?: number,\n): GridModel {\n const model = Model.create(gridSchema, sid)\n\n for (let i = 0; i < nCols; i++) {\n model.api.arr(['columnOrder']).push(s.con(i))\n model.api.vec(['columnNames']).push(s.con(`c${i}`))\n }\n\n for (let i = 0; i < nRows; i++) {\n const data = []\n for (let j = 0; j < nCols; j++) {\n data.push(s.con(`r${i}c${j}`))\n }\n model.api.arr(['rows']).push(\n s.obj({\n data: s.vec(...data),\n }),\n )\n }\n\n return model\n}\n"],"mappings":";;;;AAIA,SAAwBI,EACtBC,GACAC,GACAC,GACW;CACX,IAAMC,IAAQL,EAAMM,OAAOR,GAAYM,CAAG;CAE1C,KAAK,IAAIG,IAAI,GAAGA,IAAIJ,GAAOI,KAEzBF,AADAA,EAAMG,IAAIC,IAAI,CAAC,aAAa,CAAC,EAAEC,KAAKX,EAAEY,IAAIJ,CAAC,CAAC,GAC5CF,EAAMG,IAAII,IAAI,CAAC,aAAa,CAAC,EAAEF,KAAKX,EAAEY,IAAI,IAAIJ,GAAG,CAAC;CAGpD,KAAK,IAAIA,IAAI,GAAGA,IAAIL,GAAOK,KAAK;EAC9B,IAAMM,IAAO,CAAA;EACb,KAAK,IAAIC,IAAI,GAAGA,IAAIX,GAAOW,KACzBD,EAAKH,KAAKX,EAAEY,IAAI,IAAIJ,EAAC,GAAIO,GAAG,CAAC;EAE/BT,EAAMG,IAAIC,IAAI,CAAC,MAAM,CAAC,EAAEC,KACtBX,EAAEgB,IAAI,EACJF,MAAMd,EAAEa,IAAI,GAAGC,CAAI,EACrB,CAAC,CACH;CACF;CAEA,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"enrichRowsWithChangeInfo.js","names":["CellChangeInfo","DataGridRow","GridModel","GridModelSnapshot","ReplicaUserInfo","getCellAuthorSid","getChangeTooltipText","enrichRowsWithChangeInfo","rows","model","modelSnapshot","replicaUserMap","ReadonlyMap","size","columnNames","columnOrder","map","row","rowIndex","cellChangeInfo","Record","forEach","colArrayIndex","columnName","sid","info","get","category","tooltipText","Object","keys","length","__cellChangeInfo"],"sources":["../../../../src/components/DataGrid/utils/enrichRowsWithChangeInfo.ts"],"sourcesContent":["import type {\n CellChangeInfo,\n DataGridRow,\n GridModel,\n GridModelSnapshot,\n} from '../DataGridTypes'\nimport type { ReplicaUserInfo } from '../hooks/useGridReplicaUsers'\nimport { getCellAuthorSid } from './getCellAuthorSid'\nimport { getChangeTooltipText } from './getChangeTooltipText'\n\n/**\n * Enriches each row in `rows` with a `__cellChangeInfo` map that records the\n * change category and tooltip text for every cell whose last author is present\n * in `replicaUserMap`.\n *\n * Short-circuits (returning the original array reference) when the model or\n * snapshot is absent, or when no replica attribution data is available yet.\n * Rows with no attributed cells are returned by reference to preserve React\n * referential equality.\n */\nexport function enrichRowsWithChangeInfo(\n rows: DataGridRow[],\n model: GridModel | null,\n modelSnapshot: GridModelSnapshot | null,\n replicaUserMap: ReadonlyMap<number, ReplicaUserInfo>,\n): DataGridRow[] {\n if (!model || !modelSnapshot || replicaUserMap.size === 0) return rows\n\n const { columnNames, columnOrder } = modelSnapshot\n\n return rows.map((row, rowIndex) => {\n const cellChangeInfo: Record<string, CellChangeInfo> = {}\n\n columnOrder.forEach((colArrayIndex: number) => {\n const columnName = columnNames[colArrayIndex]\n if (!columnName) return\n\n const sid = getCellAuthorSid(model, rowIndex, colArrayIndex)\n if (sid === null) return\n\n const info = replicaUserMap.get(sid)\n if (!info) return\n\n cellChangeInfo[columnName] = {\n category: info.category,\n tooltipText: getChangeTooltipText(info),\n }\n })\n\n return Object.keys(cellChangeInfo).length > 0\n ? { ...row, __cellChangeInfo: cellChangeInfo }\n : row\n })\n}\n"],"mappings":";;;AAoBA,SAAgBO,EACdC,GACAC,GACAC,GACAC,GACe;AACf,KAAI,CAACF,KAAS,CAACC,KAAiBC,EAAeE,SAAS,EAAG,QAAOL;CAElE,IAAM,EAAEM,gBAAaC,mBAAgBL;AAErC,QAAOF,EAAKQ,KAAKC,GAAKC,MAAa;EACjC,IAAMC,IAAiD,EAAE;AAkBzD,SAhBAJ,EAAYM,SAASC,MAA0B;GAC7C,IAAMC,IAAaT,EAAYQ;AAC/B,OAAI,CAACC,EAAY;GAEjB,IAAMC,IAAMnB,EAAiBI,GAAOS,GAAUI,EAAc;AAC5D,OAAIE,MAAQ,KAAM;GAElB,IAAMC,IAAOd,EAAee,IAAIF,EAAI;AAC/BC,SAELN,EAAeI,KAAc;IAC3BI,UAAUF,EAAKE;IACfC,aAAatB,EAAqBmB,EAAI;IACvC;IACD,EAEKI,OAAOC,KAAKX,EAAe,CAACY,SAAS,IACxC;GAAE,GAAGd;GAAKe,kBAAkBb;GAAgB,GAC5CF;GACJ"}
1
+ {"version":3,"file":"enrichRowsWithChangeInfo.js","names":["CellChangeInfo","DataGridRow","GridModel","GridModelSnapshot","ReplicaUserInfo","getCellAuthorSid","getChangeTooltipText","enrichRowsWithChangeInfo","rows","model","modelSnapshot","replicaUserMap","ReadonlyMap","size","columnNames","columnOrder","map","row","rowIndex","cellChangeInfo","Record","forEach","colArrayIndex","columnName","sid","info","get","category","tooltipText","Object","keys","length","__cellChangeInfo"],"sources":["../../../../src/components/DataGrid/utils/enrichRowsWithChangeInfo.ts"],"sourcesContent":["import type {\n CellChangeInfo,\n DataGridRow,\n GridModel,\n GridModelSnapshot,\n} from '../DataGridTypes'\nimport type { ReplicaUserInfo } from '../hooks/useGridReplicaUsers'\nimport { getCellAuthorSid } from './getCellAuthorSid'\nimport { getChangeTooltipText } from './getChangeTooltipText'\n\n/**\n * Enriches each row in `rows` with a `__cellChangeInfo` map that records the\n * change category and tooltip text for every cell whose last author is present\n * in `replicaUserMap`.\n *\n * Short-circuits (returning the original array reference) when the model or\n * snapshot is absent, or when no replica attribution data is available yet.\n * Rows with no attributed cells are returned by reference to preserve React\n * referential equality.\n */\nexport function enrichRowsWithChangeInfo(\n rows: DataGridRow[],\n model: GridModel | null,\n modelSnapshot: GridModelSnapshot | null,\n replicaUserMap: ReadonlyMap<number, ReplicaUserInfo>,\n): DataGridRow[] {\n if (!model || !modelSnapshot || replicaUserMap.size === 0) return rows\n\n const { columnNames, columnOrder } = modelSnapshot\n\n return rows.map((row, rowIndex) => {\n const cellChangeInfo: Record<string, CellChangeInfo> = {}\n\n columnOrder.forEach((colArrayIndex: number) => {\n const columnName = columnNames[colArrayIndex]\n if (!columnName) return\n\n const sid = getCellAuthorSid(model, rowIndex, colArrayIndex)\n if (sid === null) return\n\n const info = replicaUserMap.get(sid)\n if (!info) return\n\n cellChangeInfo[columnName] = {\n category: info.category,\n tooltipText: getChangeTooltipText(info),\n }\n })\n\n return Object.keys(cellChangeInfo).length > 0\n ? { ...row, __cellChangeInfo: cellChangeInfo }\n : row\n })\n}\n"],"mappings":";;;AAoBA,SAAgBO,EACdC,GACAC,GACAC,GACAC,GACe;CACf,IAAI,CAACF,KAAS,CAACC,KAAiBC,EAAeE,SAAS,GAAG,OAAOL;CAElE,IAAM,EAAEM,gBAAaC,mBAAgBL;CAErC,OAAOF,EAAKQ,KAAKC,GAAKC,MAAa;EACjC,IAAMC,IAAiD,CAAC;EAkBxD,OAhBAJ,EAAYM,SAASC,MAA0B;GAC7C,IAAMC,IAAaT,EAAYQ;GAC/B,IAAI,CAACC,GAAY;GAEjB,IAAMC,IAAMnB,EAAiBI,GAAOS,GAAUI,CAAa;GAC3D,IAAIE,MAAQ,MAAM;GAElB,IAAMC,IAAOd,EAAee,IAAIF,CAAG;GAC9BC,MAELN,EAAeI,KAAc;IAC3BI,UAAUF,EAAKE;IACfC,aAAatB,EAAqBmB,CAAI;GACxC;EACF,CAAC,GAEMI,OAAOC,KAAKX,CAAc,EAAEY,SAAS,IACxC;GAAE,GAAGd;GAAKe,kBAAkBb;EAAe,IAC3CF;CACN,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractColumnValidationMessages.js","names":["extractColumnValidationMessages","messages","Map","columnMap","regex","raw","str","trimStart","match","columnName","trim","message","requiredKeyMatch","has","set","get","push"],"sources":["../../../../src/components/DataGrid/utils/extractColumnValidationMessages.ts"],"sourcesContent":["/**\n * Extracts column name and validation message from validation message strings.\n *\n * Example:\n * extractColumnValidationMessages([\"#/platform: null is not a valid enum value\"])\n * -> Map { \"platform\" => [\"null is not a valid enum value\"] }\n *\n * extractColumnValidationMessages([\"#/requiredNumberArrayColumn/0: some error\"])\n * -> Map { \"requiredNumberArrayColumn\" => [\"some error\"] }\n *\n * extractColumnValidationMessages([\"#: row-level error\"])\n * -> Map { \"_row\" => [\"row-level error\"] }\n *\n * extractColumnValidationMessages([\"#: required key [missingColumn] not found\"])\n * -> Map { \"missingColumn\" => [\"required key [missingColumn] not found\"] }\n */\nexport function extractColumnValidationMessages(\n messages: string[],\n): Map<string, string[]> {\n const columnMap = new Map<string, string[]>()\n // Validation message format: \"#/columnName: message\"\n // or for array items: \"#/columnName/0: message\"\n // or for object (row) level: \"#: message\"\n const regex = /^#(?:\\/([^/:]+)(?:\\/\\d+)?)?:\\s*(.*)$/\n\n for (const raw of messages) {\n if (typeof raw !== 'string') continue\n const str = raw.trimStart()\n const match = str.match(regex)\n if (match) {\n let columnName = match[1]?.trim() ?? '_row'\n const message = match[2].trim()\n if (columnName === '_row') {\n const requiredKeyMatch = message.match(\n /^required key \\[([^\\]]+)\\] not found$/i,\n )\n if (requiredKeyMatch) {\n columnName = requiredKeyMatch[1]\n }\n }\n\n if (!columnMap.has(columnName)) {\n columnMap.set(columnName, [])\n }\n columnMap.get(columnName)!.push(message)\n }\n }\n\n return columnMap\n}\n"],"mappings":";AAgBA,SAAgBA,EACdC,GACuB;CACvB,IAAME,oBAAY,IAAID,KAAuB,EAIvCE,IAAQ;AAEd,MAAK,IAAMC,KAAOJ,GAAU;AAC1B,MAAI,OAAOI,KAAQ,SAAU;EAE7B,IAAMG,IADMH,EAAIE,WACFD,CAAIE,MAAMJ,EAAM;AAC9B,MAAII,GAAO;GACT,IAAIC,IAAaD,EAAM,IAAIE,MAAM,IAAI,QAC/BC,IAAUH,EAAM,GAAGE,MAAM;AAC/B,OAAID,MAAe,QAAQ;IACzB,IAAMG,IAAmBD,EAAQH,MAC/B,yCACD;AACD,IAAII,MACFH,IAAaG,EAAiB;;AAOlCT,GAHKA,EAAUU,IAAIJ,EAAW,IAC5BN,EAAUW,IAAIL,GAAY,EAAE,CAAC,EAE/BN,EAAUY,IAAIN,EAAW,CAAEO,KAAKL,EAAQ;;;AAI5C,QAAOR"}
1
+ {"version":3,"file":"extractColumnValidationMessages.js","names":["extractColumnValidationMessages","messages","Map","columnMap","regex","raw","str","trimStart","match","columnName","trim","message","requiredKeyMatch","has","set","get","push"],"sources":["../../../../src/components/DataGrid/utils/extractColumnValidationMessages.ts"],"sourcesContent":["/**\n * Extracts column name and validation message from validation message strings.\n *\n * Example:\n * extractColumnValidationMessages([\"#/platform: null is not a valid enum value\"])\n * -> Map { \"platform\" => [\"null is not a valid enum value\"] }\n *\n * extractColumnValidationMessages([\"#/requiredNumberArrayColumn/0: some error\"])\n * -> Map { \"requiredNumberArrayColumn\" => [\"some error\"] }\n *\n * extractColumnValidationMessages([\"#: row-level error\"])\n * -> Map { \"_row\" => [\"row-level error\"] }\n *\n * extractColumnValidationMessages([\"#: required key [missingColumn] not found\"])\n * -> Map { \"missingColumn\" => [\"required key [missingColumn] not found\"] }\n */\nexport function extractColumnValidationMessages(\n messages: string[],\n): Map<string, string[]> {\n const columnMap = new Map<string, string[]>()\n // Validation message format: \"#/columnName: message\"\n // or for array items: \"#/columnName/0: message\"\n // or for object (row) level: \"#: message\"\n const regex = /^#(?:\\/([^/:]+)(?:\\/\\d+)?)?:\\s*(.*)$/\n\n for (const raw of messages) {\n if (typeof raw !== 'string') continue\n const str = raw.trimStart()\n const match = str.match(regex)\n if (match) {\n let columnName = match[1]?.trim() ?? '_row'\n const message = match[2].trim()\n if (columnName === '_row') {\n const requiredKeyMatch = message.match(\n /^required key \\[([^\\]]+)\\] not found$/i,\n )\n if (requiredKeyMatch) {\n columnName = requiredKeyMatch[1]\n }\n }\n\n if (!columnMap.has(columnName)) {\n columnMap.set(columnName, [])\n }\n columnMap.get(columnName)!.push(message)\n }\n }\n\n return columnMap\n}\n"],"mappings":";AAgBA,SAAgBA,EACdC,GACuB;CACvB,IAAME,oBAAY,IAAID,IAAsB,GAItCE,IAAQ;CAEd,KAAK,IAAMC,KAAOJ,GAAU;EAC1B,IAAI,OAAOI,KAAQ,UAAU;EAE7B,IAAMG,IADMH,EAAIE,UACFD,EAAIE,MAAMJ,CAAK;EAC7B,IAAII,GAAO;GACT,IAAIC,IAAaD,EAAM,IAAIE,KAAK,KAAK,QAC/BC,IAAUH,EAAM,GAAGE,KAAK;GAC9B,IAAID,MAAe,QAAQ;IACzB,IAAMG,IAAmBD,EAAQH,MAC/B,wCACF;IACA,AAAII,MACFH,IAAaG,EAAiB;GAElC;GAKAT,AAHKA,EAAUU,IAAIJ,CAAU,KAC3BN,EAAUW,IAAIL,GAAY,CAAA,CAAE,GAE9BN,EAAUY,IAAIN,CAAU,EAAGO,KAAKL,CAAO;EACzC;CACF;CAEA,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCellAuthorSid.js","names":["GridModel","getCellAuthorSid","model","rowIndex","colIndex","api","vec","String","get","node","id","sid"],"sources":["../../../../src/components/DataGrid/utils/getCellAuthorSid.ts"],"sourcesContent":["import type { GridModel } from '@/components/DataGrid/DataGridTypes'\n\n/**\n * Returns the sid (replica ID) of the last writer for a given cell in the CRDT\n * model, or null if the cell is unreachable (e.g. out-of-bounds row/column).\n */\nexport function getCellAuthorSid(\n model: GridModel,\n rowIndex: number,\n colIndex: number,\n): number | null {\n try {\n return model.api.vec(['rows', String(rowIndex), 'data']).get(colIndex).node\n .id.sid\n } catch {\n return null\n }\n}\n"],"mappings":";AAMA,SAAgBC,EACdC,GACAC,GACAC,GACe;AACf,KAAI;AACF,SAAOF,EAAMG,IAAIC,IAAI;GAAC;GAAQC,OAAOJ,EAAS;GAAE;GAAO,CAAC,CAACK,IAAIJ,EAAS,CAACK,KACpEC,GAAGC;SACA;AACN,SAAO"}
1
+ {"version":3,"file":"getCellAuthorSid.js","names":["GridModel","getCellAuthorSid","model","rowIndex","colIndex","api","vec","String","get","node","id","sid"],"sources":["../../../../src/components/DataGrid/utils/getCellAuthorSid.ts"],"sourcesContent":["import type { GridModel } from '@/components/DataGrid/DataGridTypes'\n\n/**\n * Returns the sid (replica ID) of the last writer for a given cell in the CRDT\n * model, or null if the cell is unreachable (e.g. out-of-bounds row/column).\n */\nexport function getCellAuthorSid(\n model: GridModel,\n rowIndex: number,\n colIndex: number,\n): number | null {\n try {\n return model.api.vec(['rows', String(rowIndex), 'data']).get(colIndex).node\n .id.sid\n } catch {\n return null\n }\n}\n"],"mappings":";AAMA,SAAgBC,EACdC,GACAC,GACAC,GACe;CACf,IAAI;EACF,OAAOF,EAAMG,IAAIC,IAAI;GAAC;GAAQC,OAAOJ,CAAQ;GAAG;EAAM,CAAC,EAAEK,IAAIJ,CAAQ,EAAEK,KACpEC,GAAGC;CACR,QAAQ;EACN,OAAO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getCellClassName.js","names":["classNames","DataGridRow","SelectionWithId","Column","RemoteSelection","getCellClassName","params","rowData","rowIndex","columnId","selectedRowIndex","lastSelection","colValues","remoteSelections","isSelected","cellValidationResults","__cellValidationResults","validationStatus","__validationStatus","hasCellError","has","classList","push","isInSelection","min","row","max","findIndex","col","id","cellChangeInfo","__cellChangeInfo","undefined","category","remote","minRow","maxRow","columnNames","remoteColumnNames","range","colorIndex","length"],"sources":["../../../../src/components/DataGrid/utils/getCellClassName.ts"],"sourcesContent":["import classNames from 'classnames'\nimport { DataGridRow } from '../DataGridTypes'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\nimport { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport type { RemoteSelection } from '../hooks/useRemoteSelections'\n\nexport function getCellClassName(params: {\n rowData: DataGridRow\n rowIndex: number\n columnId?: string\n selectedRowIndex: number | null\n lastSelection?: SelectionWithId | null\n colValues?: Column[]\n remoteSelections?: readonly RemoteSelection[]\n}): string | undefined {\n const {\n rowData,\n rowIndex,\n columnId,\n selectedRowIndex,\n lastSelection,\n colValues,\n remoteSelections,\n } = params\n\n const isSelected = selectedRowIndex === rowIndex\n const cellValidationResults = rowData.__cellValidationResults\n const validationStatus = rowData.__validationStatus\n const hasCellError =\n cellValidationResults != null &&\n columnId != null &&\n cellValidationResults.has(columnId)\n\n const classList: string[] = []\n\n if (isSelected) {\n classList.push('cell-row-selected')\n }\n\n // Add selection styling based on lastSelection\n let isInSelection = false\n if (lastSelection && columnId && colValues) {\n isInSelection =\n rowIndex >= lastSelection.min.row &&\n rowIndex <= lastSelection.max.row &&\n colValues.findIndex(col => col.id === columnId) >=\n lastSelection.min.col &&\n colValues.findIndex(col => col.id === columnId) <= lastSelection.max.col\n\n if (isInSelection) {\n classList.push('cell-selected')\n }\n }\n\n if (hasCellError) {\n // Confirmed invalid — full red cell background\n if (validationStatus === 'invalid') {\n classList.push('cell-invalid')\n }\n // Pending revalidation — yellow cell background to signal the prior error is unconfirmed\n if (validationStatus === 'pending') {\n classList.push('cell-unknown')\n }\n }\n\n // ── Cell change indicator ─────────────────────────────────────────────────\n const cellChangeInfo = columnId\n ? rowData.__cellChangeInfo?.[columnId]\n : undefined\n if (cellChangeInfo) {\n classList.push(`cell-changed--${cellChangeInfo.category}`)\n }\n\n // ── Remote selection tint ─────────────────────────────────────────────────\n if (remoteSelections && columnId) {\n for (const remote of remoteSelections) {\n const { minRow, maxRow, columnNames: remoteColumnNames } = remote.range\n if (rowIndex < minRow || rowIndex > maxRow) continue\n if (remoteColumnNames !== undefined && !remoteColumnNames.has(columnId))\n continue\n classList.push('cell-remote-selected')\n classList.push(`cell-remote-selected--color-${remote.colorIndex}`)\n break // apply the first matching remote selection only\n }\n }\n\n return classList.length ? classNames(classList) : undefined\n}\n"],"mappings":";;AAMA,SAAgBK,EAAiBC,GAQV;CACrB,IAAM,EACJC,YACAC,aACAC,aACAC,qBACAC,kBACAC,cACAC,wBACEP,GAEEQ,IAAaJ,MAAqBF,GAClCO,IAAwBR,EAAQS,yBAChCC,IAAmBV,EAAQW,oBAC3BC,IACJJ,KAAyB,QACzBN,KAAY,QACZM,EAAsBK,IAAIX,EAAS,EAE/BY,IAAsB,EAAE;AAE9B,CAAIP,KACFO,EAAUC,KAAK,oBAAoB;CAIrC,IAAIC,IAAgB;AAcpB,CAbIZ,KAAiBF,KAAYG,MAC/BW,IACEf,KAAYG,EAAca,IAAIC,OAC9BjB,KAAYG,EAAce,IAAID,OAC9Bb,EAAUe,WAAUC,MAAOA,EAAIC,OAAOpB,EAAS,IAC7CE,EAAca,IAAII,OACpBhB,EAAUe,WAAUC,MAAOA,EAAIC,OAAOpB,EAAS,IAAIE,EAAce,IAAIE,KAEnEL,KACFF,EAAUC,KAAK,gBAAgB,GAI/BH,MAEEF,MAAqB,aACvBI,EAAUC,KAAK,eAAe,EAG5BL,MAAqB,aACvBI,EAAUC,KAAK,eAAe;CAKlC,IAAMQ,IAAiBrB,IACnBF,EAAQwB,mBAAmBtB,KAC3BuB,KAAAA;AAMJ,KALIF,KACFT,EAAUC,KAAK,iBAAiBQ,EAAeG,WAAW,EAIxDpB,KAAoBJ,EACtB,MAAK,IAAMyB,KAAUrB,GAAkB;EACrC,IAAM,EAAEsB,WAAQC,WAAQC,aAAaC,MAAsBJ,EAAOK;AAC9D/B,YAAW2B,KAAU3B,IAAW4B,MAChCE,QAAsBN,KAAAA,KAAa,CAACM,EAAkBlB,IAAIX,EAAS,GAGvEY;GADAA,EAAUC,KAAK,uBAAuB,EACtCD,EAAUC,KAAK,+BAA+BY,EAAOM,aAAa;AAClE;;;AAIJ,QAAOnB,EAAUoB,SAASzC,EAAWqB,EAAU,GAAGW,KAAAA"}
1
+ {"version":3,"file":"getCellClassName.js","names":["classNames","DataGridRow","SelectionWithId","Column","RemoteSelection","getCellClassName","params","rowData","rowIndex","columnId","selectedRowIndex","lastSelection","colValues","remoteSelections","isSelected","cellValidationResults","__cellValidationResults","validationStatus","__validationStatus","hasCellError","has","classList","push","isInSelection","min","row","max","findIndex","col","id","cellChangeInfo","__cellChangeInfo","undefined","category","remote","minRow","maxRow","columnNames","remoteColumnNames","range","colorIndex","length"],"sources":["../../../../src/components/DataGrid/utils/getCellClassName.ts"],"sourcesContent":["import classNames from 'classnames'\nimport { DataGridRow } from '../DataGridTypes'\nimport { SelectionWithId } from '@sage-bionetworks/react-datasheet-grid'\nimport { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport type { RemoteSelection } from '../hooks/useRemoteSelections'\n\nexport function getCellClassName(params: {\n rowData: DataGridRow\n rowIndex: number\n columnId?: string\n selectedRowIndex: number | null\n lastSelection?: SelectionWithId | null\n colValues?: Column[]\n remoteSelections?: readonly RemoteSelection[]\n}): string | undefined {\n const {\n rowData,\n rowIndex,\n columnId,\n selectedRowIndex,\n lastSelection,\n colValues,\n remoteSelections,\n } = params\n\n const isSelected = selectedRowIndex === rowIndex\n const cellValidationResults = rowData.__cellValidationResults\n const validationStatus = rowData.__validationStatus\n const hasCellError =\n cellValidationResults != null &&\n columnId != null &&\n cellValidationResults.has(columnId)\n\n const classList: string[] = []\n\n if (isSelected) {\n classList.push('cell-row-selected')\n }\n\n // Add selection styling based on lastSelection\n let isInSelection = false\n if (lastSelection && columnId && colValues) {\n isInSelection =\n rowIndex >= lastSelection.min.row &&\n rowIndex <= lastSelection.max.row &&\n colValues.findIndex(col => col.id === columnId) >=\n lastSelection.min.col &&\n colValues.findIndex(col => col.id === columnId) <= lastSelection.max.col\n\n if (isInSelection) {\n classList.push('cell-selected')\n }\n }\n\n if (hasCellError) {\n // Confirmed invalid — full red cell background\n if (validationStatus === 'invalid') {\n classList.push('cell-invalid')\n }\n // Pending revalidation — yellow cell background to signal the prior error is unconfirmed\n if (validationStatus === 'pending') {\n classList.push('cell-unknown')\n }\n }\n\n // ── Cell change indicator ─────────────────────────────────────────────────\n const cellChangeInfo = columnId\n ? rowData.__cellChangeInfo?.[columnId]\n : undefined\n if (cellChangeInfo) {\n classList.push(`cell-changed--${cellChangeInfo.category}`)\n }\n\n // ── Remote selection tint ─────────────────────────────────────────────────\n if (remoteSelections && columnId) {\n for (const remote of remoteSelections) {\n const { minRow, maxRow, columnNames: remoteColumnNames } = remote.range\n if (rowIndex < minRow || rowIndex > maxRow) continue\n if (remoteColumnNames !== undefined && !remoteColumnNames.has(columnId))\n continue\n classList.push('cell-remote-selected')\n classList.push(`cell-remote-selected--color-${remote.colorIndex}`)\n break // apply the first matching remote selection only\n }\n }\n\n return classList.length ? classNames(classList) : undefined\n}\n"],"mappings":";;AAMA,SAAgBK,EAAiBC,GAQV;CACrB,IAAM,EACJC,YACAC,aACAC,aACAC,qBACAC,kBACAC,cACAC,wBACEP,GAEEQ,IAAaJ,MAAqBF,GAClCO,IAAwBR,EAAQS,yBAChCC,IAAmBV,EAAQW,oBAC3BC,IACJJ,KAAyB,QACzBN,KAAY,QACZM,EAAsBK,IAAIX,CAAQ,GAE9BY,IAAsB,CAAA;CAE5B,AAAIP,KACFO,EAAUC,KAAK,mBAAmB;CAIpC,IAAIC,IAAgB;CAcpB,AAbIZ,KAAiBF,KAAYG,MAC/BW,IACEf,KAAYG,EAAca,IAAIC,OAC9BjB,KAAYG,EAAce,IAAID,OAC9Bb,EAAUe,WAAUC,MAAOA,EAAIC,OAAOpB,CAAQ,KAC5CE,EAAca,IAAII,OACpBhB,EAAUe,WAAUC,MAAOA,EAAIC,OAAOpB,CAAQ,KAAKE,EAAce,IAAIE,KAEnEL,KACFF,EAAUC,KAAK,eAAe,IAI9BH,MAEEF,MAAqB,aACvBI,EAAUC,KAAK,cAAc,GAG3BL,MAAqB,aACvBI,EAAUC,KAAK,cAAc;CAKjC,IAAMQ,IAAiBrB,IACnBF,EAAQwB,mBAAmBtB,KAC3BuB,KAAAA;CAMJ,IALIF,KACFT,EAAUC,KAAK,iBAAiBQ,EAAeG,UAAU,GAIvDpB,KAAoBJ,GACtB,KAAK,IAAMyB,KAAUrB,GAAkB;EACrC,IAAM,EAAEsB,WAAQC,WAAQC,aAAaC,MAAsBJ,EAAOK;EAC9D/B,UAAW2B,KAAU3B,IAAW4B,MAChCE,QAAsBN,KAAAA,KAAa,CAACM,EAAkBlB,IAAIX,CAAQ,IAGtEY;GADAA,EAAUC,KAAK,sBAAsB,GACrCD,EAAUC,KAAK,+BAA+BY,EAAOM,YAAY;GACjE;EADiE;CAEnE;CAGF,OAAOnB,EAAUoB,SAASzC,EAAWqB,CAAS,IAAIW,KAAAA;AACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getChangeTooltipText.js","names":["ReplicaUserInfo","getChangeTooltipText","info","category","profile","name","firstName","lastName","filter","Boolean","join","trim","userName"],"sources":["../../../../src/components/DataGrid/utils/getChangeTooltipText.ts"],"sourcesContent":["import type { ReplicaUserInfo } from '../hooks/useGridReplicaUsers'\n\n/**\n * Returns a human-readable tooltip string describing who last changed a cell,\n * based on the replica's category and (if available) the user's profile.\n */\nexport function getChangeTooltipText(info: ReplicaUserInfo): string {\n switch (info.category) {\n case 'self':\n return 'You changed this'\n case 'own-agent':\n return 'Changed by your agent'\n case 'other-agent':\n return 'Changed by an agent'\n case 'other-user': {\n const { profile } = info\n if (!profile) return 'Changed by another user'\n const name =\n [profile.firstName, profile.lastName]\n .filter(Boolean)\n .join(' ')\n .trim() || profile.userName\n return `Changed by ${name}`\n }\n }\n}\n"],"mappings":";AAMA,SAAgBC,EAAqBC,GAA+B;AAClE,SAAQA,EAAKC,UAAb;EACE,KAAK,OACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,KAAK,cACH,QAAO;EACT,KAAK,cAAc;GACjB,IAAM,EAAEC,eAAYF;AAOpB,UANKE,IAME,cAJL,CAACA,EAAQE,WAAWF,EAAQG,SAAS,CAClCC,OAAOC,QAAQ,CACfC,KAAK,IAAI,CACTC,MAAM,IAAIP,EAAQQ,aALF"}
1
+ {"version":3,"file":"getChangeTooltipText.js","names":["ReplicaUserInfo","getChangeTooltipText","info","category","profile","name","firstName","lastName","filter","Boolean","join","trim","userName"],"sources":["../../../../src/components/DataGrid/utils/getChangeTooltipText.ts"],"sourcesContent":["import type { ReplicaUserInfo } from '../hooks/useGridReplicaUsers'\n\n/**\n * Returns a human-readable tooltip string describing who last changed a cell,\n * based on the replica's category and (if available) the user's profile.\n */\nexport function getChangeTooltipText(info: ReplicaUserInfo): string {\n switch (info.category) {\n case 'self':\n return 'You changed this'\n case 'own-agent':\n return 'Changed by your agent'\n case 'other-agent':\n return 'Changed by an agent'\n case 'other-user': {\n const { profile } = info\n if (!profile) return 'Changed by another user'\n const name =\n [profile.firstName, profile.lastName]\n .filter(Boolean)\n .join(' ')\n .trim() || profile.userName\n return `Changed by ${name}`\n }\n }\n}\n"],"mappings":";AAMA,SAAgBC,EAAqBC,GAA+B;CAClE,QAAQA,EAAKC,UAAb;EACE,KAAK,QACH,OAAO;EACT,KAAK,aACH,OAAO;EACT,KAAK,eACH,OAAO;EACT,KAAK,cAAc;GACjB,IAAM,EAAEC,eAAYF;GAOpB,OANKE,IAME,cAJL,CAACA,EAAQE,WAAWF,EAAQG,QAAQ,EACjCC,OAAOC,OAAO,EACdC,KAAK,GAAG,EACRC,KAAK,KAAKP,EAAQQ,aALF;EAOvB;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEmptyValue.js","names":[],"sources":["../../../../src/components/DataGrid/utils/getEmptyValue.ts"],"sourcesContent":["export function getEmptyValue(isRequired?: boolean) {\n return isRequired ? null : undefined\n}\n"],"mappings":";AAAA,SAAgB,EAAc,GAAsB;AAClD,QAAO,IAAa,OAAO,KAAA"}
1
+ {"version":3,"file":"getEmptyValue.js","names":[],"sources":["../../../../src/components/DataGrid/utils/getEmptyValue.ts"],"sourcesContent":["export function getEmptyValue(isRequired?: boolean) {\n return isRequired ? null : undefined\n}\n"],"mappings":";AAAA,SAAgB,EAAc,GAAsB;CAClD,OAAO,IAAa,OAAO,KAAA;AAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getReplicaCategory.js","names":["GridReplicaInfo","ReplicaCategory","getReplicaCategory","replica","currentUserId","localReplicaId","replicaType","createdBy","replicaId","isOwnUser"],"sources":["../../../../src/components/DataGrid/utils/getReplicaCategory.ts"],"sourcesContent":["import type { GridReplicaInfo } from '@sage-bionetworks/synapse-client'\n\n/**\n * Categories used for attributing cell changes and coloring indicators.\n * SERVICE replica changes are excluded entirely.\n */\nexport type ReplicaCategory =\n | 'self' // this client's own replica\n | 'own-agent' // an AGENT replica created by this user\n | 'other-user' // a USER replica created by another user\n | 'other-agent' // an AGENT replica created by another user\n\n/**\n * Classify a replica relative to the current user.\n * Returns null for SERVICE replicas, which should be ignored for attribution.\n */\nexport function getReplicaCategory(\n replica: GridReplicaInfo,\n currentUserId: string,\n localReplicaId: number,\n): ReplicaCategory | null {\n const { replicaType, createdBy, replicaId } = replica\n\n if (replicaType === 'SERVICE') {\n return null\n }\n\n if (replicaId === localReplicaId) {\n return 'self'\n }\n\n const isOwnUser = createdBy === currentUserId\n\n if (replicaType === 'AGENT') {\n return isOwnUser ? 'own-agent' : 'other-agent'\n }\n\n // USER\n return isOwnUser ? 'self' : 'other-user'\n}\n"],"mappings":";AAgBA,SAAgBE,EACdC,GACAC,GACAC,GACwB;CACxB,IAAM,EAAEC,gBAAaC,cAAWC,iBAAcL;AAE9C,KAAIG,MAAgB,UAClB,QAAO;AAGT,KAAIE,MAAcH,EAChB,QAAO;CAGT,IAAMI,IAAYF,MAAcH;AAOhC,QALIE,MAAgB,UACXG,IAAY,cAAc,gBAI5BA,IAAY,SAAS"}
1
+ {"version":3,"file":"getReplicaCategory.js","names":["GridReplicaInfo","ReplicaCategory","getReplicaCategory","replica","currentUserId","localReplicaId","replicaType","createdBy","replicaId","isOwnUser"],"sources":["../../../../src/components/DataGrid/utils/getReplicaCategory.ts"],"sourcesContent":["import type { GridReplicaInfo } from '@sage-bionetworks/synapse-client'\n\n/**\n * Categories used for attributing cell changes and coloring indicators.\n * SERVICE replica changes are excluded entirely.\n */\nexport type ReplicaCategory =\n | 'self' // this client's own replica\n | 'own-agent' // an AGENT replica created by this user\n | 'other-user' // a USER replica created by another user\n | 'other-agent' // an AGENT replica created by another user\n\n/**\n * Classify a replica relative to the current user.\n * Returns null for SERVICE replicas, which should be ignored for attribution.\n */\nexport function getReplicaCategory(\n replica: GridReplicaInfo,\n currentUserId: string,\n localReplicaId: number,\n): ReplicaCategory | null {\n const { replicaType, createdBy, replicaId } = replica\n\n if (replicaType === 'SERVICE') {\n return null\n }\n\n if (replicaId === localReplicaId) {\n return 'self'\n }\n\n const isOwnUser = createdBy === currentUserId\n\n if (replicaType === 'AGENT') {\n return isOwnUser ? 'own-agent' : 'other-agent'\n }\n\n // USER\n return isOwnUser ? 'self' : 'other-user'\n}\n"],"mappings":";AAgBA,SAAgBE,EACdC,GACAC,GACAC,GACwB;CACxB,IAAM,EAAEC,gBAAaC,cAAWC,iBAAcL;CAE9C,IAAIG,MAAgB,WAClB,OAAO;CAGT,IAAIE,MAAcH,GAChB,OAAO;CAGT,IAAMI,IAAYF,MAAcH;CAOhC,OALIE,MAAgB,UACXG,IAAY,cAAc,gBAI5BA,IAAY,SAAS;AAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"isValidationUpToDateForRow.js","names":["GridModel","isValidationUpToDateForRow","model","rowIndex","validationStatusNode","api","con","String","e","validationStatusTimestamp","node","id","dataVec","vec","i","length","get","asCon","time"],"sources":["../../../../src/components/DataGrid/utils/isValidationUpToDateForRow.ts"],"sourcesContent":["import { GridModel } from '@/components/DataGrid/DataGridTypes'\n\n/**\n * Determines if the validation results for a given row are up to date by comparing the CRDT timestamps of the row validation\n * information and the row's data.\n */\nexport function isValidationUpToDateForRow(model: GridModel, rowIndex: number) {\n // We can see if validation is up to date by comparing the timestamp of the validation results constant to the data constants.\n // If the validation constant is newer than all data constants, then the validation is up to date.\n let validationStatusNode\n try {\n validationStatusNode = model.api.con([\n 'rows',\n String(rowIndex),\n 'metadata',\n 'rowValidation',\n ])\n } catch (e) {\n // There is no validation status node. It may be added after the first validation run, or there may not be a bound schema.\n return false\n }\n const validationStatusTimestamp = validationStatusNode?.node?.id\n\n try {\n const dataVec = model.api.vec(['rows', String(rowIndex), 'data'])\n for (let i = 0; i < dataVec?.length(); i++) {\n if (\n dataVec.get(i).asCon().node.id.time > validationStatusTimestamp?.time\n ) {\n // Data has been modified since last validation\n return false\n }\n }\n } catch (e) {\n // Retrieving the vector or constants could fail if the model is not what we expect, but this is not something we can handle here.\n }\n return true\n}\n"],"mappings":";AAMA,SAAgBC,EAA2BC,GAAkBC,GAAkB;CAG7E,IAAIC;AACJ,KAAI;AACFA,MAAuBF,EAAMG,IAAIC,IAAI;GACnC;GACAC,OAAOJ,EAAS;GAChB;GACA;GACD,CAAC;SACQ;AAEV,SAAO;;CAET,IAAMM,IAA4BL,GAAsBM,MAAMC;AAE9D,KAAI;EACF,IAAMC,IAAUV,EAAMG,IAAIQ,IAAI;GAAC;GAAQN,OAAOJ,EAAS;GAAE;GAAO,CAAC;AACjE,OAAK,IAAIW,IAAI,GAAGA,IAAIF,GAASG,QAAQ,EAAED,IACrC,KACEF,EAAQI,IAAIF,EAAE,CAACG,OAAO,CAACP,KAAKC,GAAGO,OAAOT,GAA2BS,KAGjE,QAAO;SAGD;AAGZ,QAAO"}
1
+ {"version":3,"file":"isValidationUpToDateForRow.js","names":["GridModel","isValidationUpToDateForRow","model","rowIndex","validationStatusNode","api","con","String","e","validationStatusTimestamp","node","id","dataVec","vec","i","length","get","asCon","time"],"sources":["../../../../src/components/DataGrid/utils/isValidationUpToDateForRow.ts"],"sourcesContent":["import { GridModel } from '@/components/DataGrid/DataGridTypes'\n\n/**\n * Determines if the validation results for a given row are up to date by comparing the CRDT timestamps of the row validation\n * information and the row's data.\n */\nexport function isValidationUpToDateForRow(model: GridModel, rowIndex: number) {\n // We can see if validation is up to date by comparing the timestamp of the validation results constant to the data constants.\n // If the validation constant is newer than all data constants, then the validation is up to date.\n let validationStatusNode\n try {\n validationStatusNode = model.api.con([\n 'rows',\n String(rowIndex),\n 'metadata',\n 'rowValidation',\n ])\n } catch (e) {\n // There is no validation status node. It may be added after the first validation run, or there may not be a bound schema.\n return false\n }\n const validationStatusTimestamp = validationStatusNode?.node?.id\n\n try {\n const dataVec = model.api.vec(['rows', String(rowIndex), 'data'])\n for (let i = 0; i < dataVec?.length(); i++) {\n if (\n dataVec.get(i).asCon().node.id.time > validationStatusTimestamp?.time\n ) {\n // Data has been modified since last validation\n return false\n }\n }\n } catch (e) {\n // Retrieving the vector or constants could fail if the model is not what we expect, but this is not something we can handle here.\n }\n return true\n}\n"],"mappings":";AAMA,SAAgBC,EAA2BC,GAAkBC,GAAkB;CAG7E,IAAIC;CACJ,IAAI;EACFA,IAAuBF,EAAMG,IAAIC,IAAI;GACnC;GACAC,OAAOJ,CAAQ;GACf;GACA;EAAe,CAChB;CACH,QAAY;EAEV,OAAO;CACT;CACA,IAAMM,IAA4BL,GAAsBM,MAAMC;CAE9D,IAAI;EACF,IAAMC,IAAUV,EAAMG,IAAIQ,IAAI;GAAC;GAAQN,OAAOJ,CAAQ;GAAG;EAAM,CAAC;EAChE,KAAK,IAAIW,IAAI,GAAGA,IAAIF,GAASG,OAAO,GAAGD,KACrC,IACEF,EAAQI,IAAIF,CAAC,EAAEG,MAAM,EAAEP,KAAKC,GAAGO,OAAOT,GAA2BS,MAGjE,OAAO;CAGb,QAAY,CACV;CAEF,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRx.js","names":["JsonRxMessage","JsonRxNotification","NOTIFICATION_TYPE_CODE","JsonRxRequest","REQUEST_TYPE_CODE","JsonRxResponse","RESPONSE_TYPE_CODE","JsonRxResponseComplete","RESPONSE_COMPLETE_TYPE_CODE","JsonRxRequestComplete","REQUEST_COMPLETE_TYPE_CODE","JsonRx","fromJson","json","Array","isArray","Error","typeCode","_","requestId","methodName","payload","message"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRx.ts"],"sourcesContent":["import JsonRxMessage from '@/components/DataGrid/utils/json-rx/JsonRxMessage'\nimport JsonRxNotification, {\n NOTIFICATION_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxNotification'\nimport JsonRxRequest, {\n REQUEST_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxRequest'\nimport JsonRxResponse, {\n RESPONSE_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxResponse'\nimport JsonRxResponseComplete, {\n RESPONSE_COMPLETE_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxResponseComplete'\nimport JsonRxRequestComplete, {\n REQUEST_COMPLETE_TYPE_CODE,\n} from './JsonRxRequestComplete'\n\n/**\n * Static utility methods intended to implement the JSON-Rx communication protocol\n * Spec: https://jsonjoy.com/specs/json-rx\n */\nexport default class JsonRx {\n /**\n * Converts a JSON-encoded JSON-Rx message (which is always an array) into the appropriate JsonRxMessage subclass\n *\n * For more information, see the JSON-Rx specification: https://jsonjoy.com/specs/json-rx\n * @param json\n */\n static fromJson(json: unknown): JsonRxMessage {\n if (!Array.isArray(json)) {\n throw new Error('Invalid JSON-Rx message: not an array')\n }\n const typeCode = json[0]\n\n if (typeof typeCode !== 'number') {\n throw new Error(\n `Invalid JSON-Rx message: type code is not a number, received ${typeCode}`,\n )\n }\n\n switch (typeCode) {\n case REQUEST_TYPE_CODE: {\n // Request\n const [_, requestId, methodName, payload] = json\n return new JsonRxRequest(requestId, methodName, payload)\n }\n case REQUEST_COMPLETE_TYPE_CODE: {\n const [_, requestId, methodName, payload] = json\n const message = new JsonRxRequestComplete(\n requestId,\n methodName,\n payload,\n )\n return message\n }\n case RESPONSE_TYPE_CODE: {\n // Response\n const [_, requestId, payload] = json\n return new JsonRxResponse(requestId, payload)\n }\n case RESPONSE_COMPLETE_TYPE_CODE: {\n // ResponseComplete\n const [_, requestId, payload] = json\n return new JsonRxResponseComplete(requestId, payload)\n }\n case NOTIFICATION_TYPE_CODE: {\n // Notification\n const [_, methodName, payload] = json\n return new JsonRxNotification(methodName, payload)\n }\n default:\n throw new Error(\n `Invalid JSON-Rx message: unknown type code ${typeCode}`,\n )\n }\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAqBW,IAArB,MAA4B;CAO1B,OAAOC,SAASC,GAA8B;AAC5C,MAAI,CAACC,MAAMC,QAAQF,EAAK,CACtB,OAAUG,MAAM,wCAAwC;EAE1D,IAAMC,IAAWJ,EAAK;AAEtB,MAAI,OAAOI,KAAa,SACtB,OAAUD,MACR,gEAAgEC,IACjE;AAGH,UAAQA,GAAR;GACE,KAAA,GAAwB;IAEtB,IAAM,CAACC,GAAGC,GAAWC,GAAYC,KAAWR;AAC5C,WAAO,IAAIV,EAAcgB,GAAWC,GAAYC,EAAQ;;GAE1D,KAAA,GAAiC;IAC/B,IAAM,CAACH,GAAGC,GAAWC,GAAYC,KAAWR;AAM5C,WAAOS,IALab,EAClBU,GACAC,GACAC,EAEKC;;GAET,KAAA,GAAyB;IAEvB,IAAM,CAACJ,GAAGC,GAAWE,KAAWR;AAChC,WAAO,IAAIR,EAAec,GAAWE,EAAQ;;GAE/C,KAAA,GAAkC;IAEhC,IAAM,CAACH,GAAGC,GAAWE,KAAWR;AAChC,WAAO,IAAIN,EAAuBY,GAAWE,EAAQ;;GAEvD,KAAA,GAA6B;IAE3B,IAAM,CAACH,GAAGE,GAAYC,KAAWR;AACjC,WAAO,IAAIZ,EAAmBmB,GAAYC,EAAQ;;GAEpD,QACE,OAAUL,MACR,8CAA8CC,IAC/C"}
1
+ {"version":3,"file":"JsonRx.js","names":["JsonRxMessage","JsonRxNotification","NOTIFICATION_TYPE_CODE","JsonRxRequest","REQUEST_TYPE_CODE","JsonRxResponse","RESPONSE_TYPE_CODE","JsonRxResponseComplete","RESPONSE_COMPLETE_TYPE_CODE","JsonRxRequestComplete","REQUEST_COMPLETE_TYPE_CODE","JsonRx","fromJson","json","Array","isArray","Error","typeCode","_","requestId","methodName","payload","message"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRx.ts"],"sourcesContent":["import JsonRxMessage from '@/components/DataGrid/utils/json-rx/JsonRxMessage'\nimport JsonRxNotification, {\n NOTIFICATION_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxNotification'\nimport JsonRxRequest, {\n REQUEST_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxRequest'\nimport JsonRxResponse, {\n RESPONSE_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxResponse'\nimport JsonRxResponseComplete, {\n RESPONSE_COMPLETE_TYPE_CODE,\n} from '@/components/DataGrid/utils/json-rx/JsonRxResponseComplete'\nimport JsonRxRequestComplete, {\n REQUEST_COMPLETE_TYPE_CODE,\n} from './JsonRxRequestComplete'\n\n/**\n * Static utility methods intended to implement the JSON-Rx communication protocol\n * Spec: https://jsonjoy.com/specs/json-rx\n */\nexport default class JsonRx {\n /**\n * Converts a JSON-encoded JSON-Rx message (which is always an array) into the appropriate JsonRxMessage subclass\n *\n * For more information, see the JSON-Rx specification: https://jsonjoy.com/specs/json-rx\n * @param json\n */\n static fromJson(json: unknown): JsonRxMessage {\n if (!Array.isArray(json)) {\n throw new Error('Invalid JSON-Rx message: not an array')\n }\n const typeCode = json[0]\n\n if (typeof typeCode !== 'number') {\n throw new Error(\n `Invalid JSON-Rx message: type code is not a number, received ${typeCode}`,\n )\n }\n\n switch (typeCode) {\n case REQUEST_TYPE_CODE: {\n // Request\n const [_, requestId, methodName, payload] = json\n return new JsonRxRequest(requestId, methodName, payload)\n }\n case REQUEST_COMPLETE_TYPE_CODE: {\n const [_, requestId, methodName, payload] = json\n const message = new JsonRxRequestComplete(\n requestId,\n methodName,\n payload,\n )\n return message\n }\n case RESPONSE_TYPE_CODE: {\n // Response\n const [_, requestId, payload] = json\n return new JsonRxResponse(requestId, payload)\n }\n case RESPONSE_COMPLETE_TYPE_CODE: {\n // ResponseComplete\n const [_, requestId, payload] = json\n return new JsonRxResponseComplete(requestId, payload)\n }\n case NOTIFICATION_TYPE_CODE: {\n // Notification\n const [_, methodName, payload] = json\n return new JsonRxNotification(methodName, payload)\n }\n default:\n throw new Error(\n `Invalid JSON-Rx message: unknown type code ${typeCode}`,\n )\n }\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAqBW,IAArB,MAA4B;CAO1B,OAAOC,SAASC,GAA8B;EAC5C,IAAI,CAACC,MAAMC,QAAQF,CAAI,GACrB,MAAUG,MAAM,uCAAuC;EAEzD,IAAMC,IAAWJ,EAAK;EAEtB,IAAI,OAAOI,KAAa,UACtB,MAAUD,MACR,gEAAgEC,GAClE;EAGF,QAAQA,GAAR;GACE,KAAA,GAAwB;IAEtB,IAAM,CAACC,GAAGC,GAAWC,GAAYC,KAAWR;IAC5C,OAAO,IAAIV,EAAcgB,GAAWC,GAAYC,CAAO;GACzD;GACA,KAAA,GAAiC;IAC/B,IAAM,CAACH,GAAGC,GAAWC,GAAYC,KAAWR;IAM5C,OAAOS,IALab,EAClBU,GACAC,GACAC,CAEKC;GACT;GACA,KAAA,GAAyB;IAEvB,IAAM,CAACJ,GAAGC,GAAWE,KAAWR;IAChC,OAAO,IAAIR,EAAec,GAAWE,CAAO;GAC9C;GACA,KAAA,GAAkC;IAEhC,IAAM,CAACH,GAAGC,GAAWE,KAAWR;IAChC,OAAO,IAAIN,EAAuBY,GAAWE,CAAO;GACtD;GACA,KAAA,GAA6B;IAE3B,IAAM,CAACH,GAAGE,GAAYC,KAAWR;IACjC,OAAO,IAAIZ,EAAmBmB,GAAYC,CAAO;GACnD;GACA,SACE,MAAUL,MACR,8CAA8CC,GAChD;EACJ;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxMessage.js","names":["JsonRxMessage","typeCode","constructor","getJson"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxMessage.ts"],"sourcesContent":["export default abstract class JsonRxMessage {\n protected typeCode: number\n\n constructor(typeCode: number) {\n this.typeCode = typeCode\n }\n\n public abstract getJson(): unknown[]\n}\n"],"mappings":";AAAA,IAA8BA,IAA9B,MAA4C;CAC1C;CAEAE,YAAYD,GAAkB;AAC5B,OAAKA,WAAWA"}
1
+ {"version":3,"file":"JsonRxMessage.js","names":["JsonRxMessage","typeCode","constructor","getJson"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxMessage.ts"],"sourcesContent":["export default abstract class JsonRxMessage {\n protected typeCode: number\n\n constructor(typeCode: number) {\n this.typeCode = typeCode\n }\n\n public abstract getJson(): unknown[]\n}\n"],"mappings":";AAAA,IAA8BA,IAA9B,MAA4C;CAC1C;CAEAE,YAAYD,GAAkB;EAC5B,KAAKA,WAAWA;CAClB;AAGF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxNotification.js","names":["JsonRxMessage","NOTIFICATION_TYPE_CODE","JsonRxNotification","methodName","payload","TPayload","getMethodName","getPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxNotification.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const NOTIFICATION_TYPE_CODE = 8\n\nexport default class JsonRxNotification<\n TPayload = unknown,\n> extends JsonRxMessage {\n private methodName: string\n private payload?: TPayload\n\n public getMethodName() {\n return this.methodName\n }\n\n public getPayload() {\n return this.payload\n }\n\n constructor(methodName: string, payload?: TPayload) {\n super(NOTIFICATION_TYPE_CODE)\n this.methodName = methodName\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [this.typeCode, this.methodName]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAyB,GAEjBC,IAArB,cAEUF,EAAc;CACtB;CACA;CAEA,gBAAuB;AACrB,SAAO,KAAKG;;CAGd,aAAoB;AAClB,SAAO,KAAKC;;CAGdI,YAAYL,GAAoBC,GAAoB;AAGlD,EAFA,MAAA,EAA6B,EAC7B,KAAKD,aAAaA,GAClB,KAAKC,UAAUA;;CAGjB,UAAiC;EAC/B,IAAMO,IAAuB,CAAC,KAAKC,UAAU,KAAKT,WAAW;AAK7D,SAJI,KAAKC,YAAYS,KAAAA,KACnBF,EAAKG,KAAK,KAAKV,QAAQ,EAGlBO"}
1
+ {"version":3,"file":"JsonRxNotification.js","names":["JsonRxMessage","NOTIFICATION_TYPE_CODE","JsonRxNotification","methodName","payload","TPayload","getMethodName","getPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxNotification.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const NOTIFICATION_TYPE_CODE = 8\n\nexport default class JsonRxNotification<\n TPayload = unknown,\n> extends JsonRxMessage {\n private methodName: string\n private payload?: TPayload\n\n public getMethodName() {\n return this.methodName\n }\n\n public getPayload() {\n return this.payload\n }\n\n constructor(methodName: string, payload?: TPayload) {\n super(NOTIFICATION_TYPE_CODE)\n this.methodName = methodName\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [this.typeCode, this.methodName]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAyB,GAEjBC,IAArB,cAEUF,EAAc;CACtB;CACA;CAEA,gBAAuB;EACrB,OAAO,KAAKG;CACd;CAEA,aAAoB;EAClB,OAAO,KAAKC;CACd;CAEAI,YAAYL,GAAoBC,GAAoB;EAGlD,AAFA,MAAA,CAA4B,GAC5B,KAAKD,aAAaA,GAClB,KAAKC,UAAUA;CACjB;CAEA,UAAiC;EAC/B,IAAMO,IAAuB,CAAC,KAAKC,UAAU,KAAKT,UAAU;EAK5D,OAJI,KAAKC,YAAYS,KAAAA,KACnBF,EAAKG,KAAK,KAAKV,OAAO,GAGjBO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxRequest.js","names":["JsonRxMessage","REQUEST_TYPE_CODE","JsonRxRequest","requestId","methodName","payload","TPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxRequest.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const REQUEST_TYPE_CODE = 0\n\nexport default class JsonRxRequest<TPayload = unknown> extends JsonRxMessage {\n private requestId: number\n private methodName: string\n private payload?: TPayload\n\n constructor(requestId: number, methodName: string, payload?: TPayload) {\n super(REQUEST_TYPE_CODE)\n this.requestId = requestId\n this.methodName = methodName\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [\n this.typeCode,\n this.requestId,\n this.methodName,\n ]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAoB,GAEZC,IAArB,cAA+DF,EAAc;CAC3E;CACA;CACA;CAEAO,YAAYJ,GAAmBC,GAAoBC,GAAoB;AAIrE,EAHA,MAAA,EAAwB,EACxB,KAAKF,YAAYA,GACjB,KAAKC,aAAaA,GAClB,KAAKC,UAAUA;;CAGjB,UAAiC;EAC/B,IAAMK,IAAuB;GAC3B,KAAKC;GACL,KAAKR;GACL,KAAKC;GACN;AAID,SAHI,KAAKC,YAAYO,KAAAA,KACnBF,EAAKG,KAAK,KAAKR,QAAQ,EAElBK"}
1
+ {"version":3,"file":"JsonRxRequest.js","names":["JsonRxMessage","REQUEST_TYPE_CODE","JsonRxRequest","requestId","methodName","payload","TPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxRequest.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const REQUEST_TYPE_CODE = 0\n\nexport default class JsonRxRequest<TPayload = unknown> extends JsonRxMessage {\n private requestId: number\n private methodName: string\n private payload?: TPayload\n\n constructor(requestId: number, methodName: string, payload?: TPayload) {\n super(REQUEST_TYPE_CODE)\n this.requestId = requestId\n this.methodName = methodName\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [\n this.typeCode,\n this.requestId,\n this.methodName,\n ]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAoB,GAEZC,IAArB,cAA+DF,EAAc;CAC3E;CACA;CACA;CAEAO,YAAYJ,GAAmBC,GAAoBC,GAAoB;EAIrE,AAHA,MAAA,CAAuB,GACvB,KAAKF,YAAYA,GACjB,KAAKC,aAAaA,GAClB,KAAKC,UAAUA;CACjB;CAEA,UAAiC;EAC/B,IAAMK,IAAuB;GAC3B,KAAKC;GACL,KAAKR;GACL,KAAKC;EAAU;EAKjB,OAHI,KAAKC,YAAYO,KAAAA,KACnBF,EAAKG,KAAK,KAAKR,OAAO,GAEjBK;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxRequestComplete.js","names":["JsonRxMessage","REQUEST_COMPLETE_TYPE_CODE","JsonRxRequestComplete","requestId","methodName","payload","TPayload","constructor","setRequestId","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxRequestComplete.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const REQUEST_COMPLETE_TYPE_CODE = 1\n\nexport default class JsonRxRequestComplete<\n TPayload = unknown,\n> extends JsonRxMessage {\n private requestId: number\n private methodName: string\n private payload?: TPayload\n\n public constructor(\n requestId: number,\n methodName: string,\n payload?: TPayload,\n ) {\n super(REQUEST_COMPLETE_TYPE_CODE)\n this.requestId = requestId\n this.methodName = methodName\n this.payload = payload\n }\n\n public setRequestId(requestId: number) {\n this.requestId = requestId\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [\n this.typeCode,\n this.requestId,\n this.methodName,\n ]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAA6B,GAErBC,IAArB,cAEUF,EAAc;CACtB;CACA;CACA;CAEA,YACEG,GACAC,GACAC,GACA;AAIA,EAHA,MAAA,EAAiC,EACjC,KAAKF,YAAYA,GACjB,KAAKC,aAAaA,GAClB,KAAKC,UAAUA;;CAGjB,aAAoBF,GAAmB;AACrC,OAAKA,YAAYA;;CAGnB,UAAiC;EAC/B,IAAMQ,IAAuB;GAC3B,KAAKC;GACL,KAAKT;GACL,KAAKC;GACN;AAID,SAHI,KAAKC,YAAYQ,KAAAA,KACnBF,EAAKG,KAAK,KAAKT,QAAQ,EAElBM"}
1
+ {"version":3,"file":"JsonRxRequestComplete.js","names":["JsonRxMessage","REQUEST_COMPLETE_TYPE_CODE","JsonRxRequestComplete","requestId","methodName","payload","TPayload","constructor","setRequestId","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxRequestComplete.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const REQUEST_COMPLETE_TYPE_CODE = 1\n\nexport default class JsonRxRequestComplete<\n TPayload = unknown,\n> extends JsonRxMessage {\n private requestId: number\n private methodName: string\n private payload?: TPayload\n\n public constructor(\n requestId: number,\n methodName: string,\n payload?: TPayload,\n ) {\n super(REQUEST_COMPLETE_TYPE_CODE)\n this.requestId = requestId\n this.methodName = methodName\n this.payload = payload\n }\n\n public setRequestId(requestId: number) {\n this.requestId = requestId\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [\n this.typeCode,\n this.requestId,\n this.methodName,\n ]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAA6B,GAErBC,IAArB,cAEUF,EAAc;CACtB;CACA;CACA;CAEA,YACEG,GACAC,GACAC,GACA;EAIA,AAHA,MAAA,CAAgC,GAChC,KAAKF,YAAYA,GACjB,KAAKC,aAAaA,GAClB,KAAKC,UAAUA;CACjB;CAEA,aAAoBF,GAAmB;EACrC,KAAKA,YAAYA;CACnB;CAEA,UAAiC;EAC/B,IAAMQ,IAAuB;GAC3B,KAAKC;GACL,KAAKT;GACL,KAAKC;EAAU;EAKjB,OAHI,KAAKC,YAAYQ,KAAAA,KACnBF,EAAKG,KAAK,KAAKT,OAAO,GAEjBM;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxResponse.js","names":["JsonRxMessage","RESPONSE_TYPE_CODE","JsonRxResponse","subscriptionId","payload","TPayload","getPayload","constructor","getJson","Array","typeCode"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxResponse.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const RESPONSE_TYPE_CODE = 4\n\nexport default class JsonRxResponse<TPayload = unknown> extends JsonRxMessage {\n private subscriptionId: number\n private payload: TPayload\n\n public getPayload(): TPayload {\n return this.payload\n }\n\n constructor(subscriptionId: number, payload: TPayload) {\n super(RESPONSE_TYPE_CODE)\n this.subscriptionId = subscriptionId\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n return [this.typeCode, this.subscriptionId, this.payload]\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAqB,GAEbC,IAArB,cAAgEF,EAAc;CAC5E;CACA;CAEA,aAA8B;AAC5B,SAAO,KAAKI;;CAGdG,YAAYJ,GAAwBC,GAAmB;AAGrD,EAFA,MAAA,EAAyB,EACzB,KAAKD,iBAAiBA,GACtB,KAAKC,UAAUA;;CAGjB,UAAiC;AAC/B,SAAO;GAAC,KAAKM;GAAU,KAAKP;GAAgB,KAAKC;GAAQ"}
1
+ {"version":3,"file":"JsonRxResponse.js","names":["JsonRxMessage","RESPONSE_TYPE_CODE","JsonRxResponse","subscriptionId","payload","TPayload","getPayload","constructor","getJson","Array","typeCode"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxResponse.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const RESPONSE_TYPE_CODE = 4\n\nexport default class JsonRxResponse<TPayload = unknown> extends JsonRxMessage {\n private subscriptionId: number\n private payload: TPayload\n\n public getPayload(): TPayload {\n return this.payload\n }\n\n constructor(subscriptionId: number, payload: TPayload) {\n super(RESPONSE_TYPE_CODE)\n this.subscriptionId = subscriptionId\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n return [this.typeCode, this.subscriptionId, this.payload]\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAAqB,GAEbC,IAArB,cAAgEF,EAAc;CAC5E;CACA;CAEA,aAA8B;EAC5B,OAAO,KAAKI;CACd;CAEAG,YAAYJ,GAAwBC,GAAmB;EAGrD,AAFA,MAAA,CAAwB,GACxB,KAAKD,iBAAiBA,GACtB,KAAKC,UAAUA;CACjB;CAEA,UAAiC;EAC/B,OAAO;GAAC,KAAKM;GAAU,KAAKP;GAAgB,KAAKC;EAAO;CAC1D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonRxResponseComplete.js","names":["JsonRxMessage","RESPONSE_COMPLETE_TYPE_CODE","JsonRxResponseComplete","subscriptionId","payload","TPayload","getSubscriptionId","getPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxResponseComplete.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const RESPONSE_COMPLETE_TYPE_CODE = 5\n\nexport default class JsonRxResponseComplete<\n TPayload = unknown,\n> extends JsonRxMessage {\n private subscriptionId: number\n private payload?: TPayload\n\n public getSubscriptionId(): number {\n return this.subscriptionId\n }\n\n public getPayload(): TPayload | undefined {\n return this.payload\n }\n constructor(subscriptionId: number, payload?: TPayload) {\n super(RESPONSE_COMPLETE_TYPE_CODE)\n this.subscriptionId = subscriptionId\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [this.typeCode, this.subscriptionId]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAA8B,GAEtBC,IAArB,cAEUF,EAAc;CACtB;CACA;CAEA,oBAAmC;AACjC,SAAO,KAAKG;;CAGd,aAA0C;AACxC,SAAO,KAAKC;;CAEdI,YAAYL,GAAwBC,GAAoB;AAGtD,EAFA,MAAA,EAAkC,EAClC,KAAKD,iBAAiBA,GACtB,KAAKC,UAAUA;;CAGjB,UAAiC;EAC/B,IAAMO,IAAuB,CAAC,KAAKC,UAAU,KAAKT,eAAe;AAIjE,SAHI,KAAKC,YAAYS,KAAAA,KACnBF,EAAKG,KAAK,KAAKV,QAAQ,EAElBO"}
1
+ {"version":3,"file":"JsonRxResponseComplete.js","names":["JsonRxMessage","RESPONSE_COMPLETE_TYPE_CODE","JsonRxResponseComplete","subscriptionId","payload","TPayload","getSubscriptionId","getPayload","constructor","getJson","Array","json","typeCode","undefined","push"],"sources":["../../../../../src/components/DataGrid/utils/json-rx/JsonRxResponseComplete.ts"],"sourcesContent":["import JsonRxMessage from './JsonRxMessage'\n\nexport const RESPONSE_COMPLETE_TYPE_CODE = 5\n\nexport default class JsonRxResponseComplete<\n TPayload = unknown,\n> extends JsonRxMessage {\n private subscriptionId: number\n private payload?: TPayload\n\n public getSubscriptionId(): number {\n return this.subscriptionId\n }\n\n public getPayload(): TPayload | undefined {\n return this.payload\n }\n constructor(subscriptionId: number, payload?: TPayload) {\n super(RESPONSE_COMPLETE_TYPE_CODE)\n this.subscriptionId = subscriptionId\n this.payload = payload\n }\n\n public getJson(): Array<unknown> {\n const json: Array<unknown> = [this.typeCode, this.subscriptionId]\n if (this.payload !== undefined) {\n json.push(this.payload)\n }\n return json\n }\n}\n"],"mappings":";;AAEA,IAAaC,IAA8B,GAEtBC,IAArB,cAEUF,EAAc;CACtB;CACA;CAEA,oBAAmC;EACjC,OAAO,KAAKG;CACd;CAEA,aAA0C;EACxC,OAAO,KAAKC;CACd;CACAI,YAAYL,GAAwBC,GAAoB;EAGtD,AAFA,MAAA,CAAiC,GACjC,KAAKD,iBAAiBA,GACtB,KAAKC,UAAUA;CACjB;CAEA,UAAiC;EAC/B,IAAMO,IAAuB,CAAC,KAAKC,UAAU,KAAKT,cAAc;EAIhE,OAHI,KAAKC,YAAYS,KAAAA,KACnBF,EAAKG,KAAK,KAAKV,OAAO,GAEjBO;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"logicalTimestampToString.js","names":["ITimestampStruct","logicalTimestampToString","logicalTimestamp","sid","time"],"sources":["../../../../src/components/DataGrid/utils/logicalTimestampToString.ts"],"sourcesContent":["import { ITimestampStruct } from 'json-joy'\n\nexport default function logicalTimestampToString(\n logicalTimestamp: ITimestampStruct,\n): string {\n return `[${logicalTimestamp.sid},${logicalTimestamp.time}]`\n}\n"],"mappings":";AAEA,SAAwBC,EACtBC,GACQ;AACR,QAAO,IAAIA,EAAiBC,IAAG,GAAID,EAAiBE,KAAI"}
1
+ {"version":3,"file":"logicalTimestampToString.js","names":["ITimestampStruct","logicalTimestampToString","logicalTimestamp","sid","time"],"sources":["../../../../src/components/DataGrid/utils/logicalTimestampToString.ts"],"sourcesContent":["import { ITimestampStruct } from 'json-joy'\n\nexport default function logicalTimestampToString(\n logicalTimestamp: ITimestampStruct,\n): string {\n return `[${logicalTimestamp.sid},${logicalTimestamp.time}]`\n}\n"],"mappings":";AAEA,SAAwBC,EACtBC,GACQ;CACR,OAAO,IAAIA,EAAiBC,IAAG,GAAID,EAAiBE,KAAI;AAC1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOperationsToModelChanges.js","names":["DataGridRow","Operation","ModelChange","mapOperationsToModelChanges","operations","newValue","modelChanges","forEach","operation","type","i","fromRowIndex","toRowIndex","push","rowIndex","rowData","updatedData","count"],"sources":["../../../../src/components/DataGrid/utils/mapOperationsToModelChanges.tsx"],"sourcesContent":["import { DataGridRow, Operation } from '../DataGridTypes'\nimport { ModelChange } from './applyModelChange'\n\nexport function mapOperationsToModelChanges(\n operations: Operation[],\n newValue: DataGridRow[],\n): ModelChange[] {\n const modelChanges: ModelChange[] = []\n\n operations.forEach(operation => {\n if (operation.type === 'CREATE') {\n // Add new rows to the model\n for (let i = operation.fromRowIndex; i < operation.toRowIndex; i++) {\n modelChanges.push({\n type: 'CREATE',\n rowIndex: i,\n rowData: newValue[i],\n })\n }\n }\n if (operation.type === 'UPDATE') {\n // Only update the specific rows and cells that changed\n for (\n let rowIndex = operation.fromRowIndex;\n rowIndex < operation.toRowIndex;\n rowIndex++\n ) {\n modelChanges.push({\n type: 'UPDATE',\n rowIndex: rowIndex,\n updatedData: newValue[rowIndex],\n })\n }\n }\n if (operation.type === 'DELETE') {\n modelChanges.push({\n type: 'DELETE',\n rowIndex: operation.fromRowIndex,\n count: operation.toRowIndex - operation.fromRowIndex,\n })\n }\n })\n return modelChanges\n}\n"],"mappings":";AAGA,SAAgBG,EACdC,GACAC,GACe;CACf,IAAMC,IAA8B,EAAE;AAmCtC,QAjCAF,EAAWG,SAAQC,MAAa;AAC9B,MAAIA,EAAUC,SAAS,SAErB,MAAK,IAAIC,IAAIF,EAAUG,cAAcD,IAAIF,EAAUI,YAAYF,IAC7DJ,GAAaO,KAAK;GAChBJ,MAAM;GACNK,UAAUJ;GACVK,SAASV,EAASK;GACnB,CAAC;AAGN,MAAIF,EAAUC,SAAS,SAErB,MACE,IAAIK,IAAWN,EAAUG,cACzBG,IAAWN,EAAUI,YACrBE,IAEAR,GAAaO,KAAK;GAChBJ,MAAM;GACIK;GACVE,aAAaX,EAASS;GACvB,CAAC;AAGN,EAAIN,EAAUC,SAAS,YACrBH,EAAaO,KAAK;GAChBJ,MAAM;GACNK,UAAUN,EAAUG;GACpBM,OAAOT,EAAUI,aAAaJ,EAAUG;GACzC,CAAC;GAEJ,EACKL"}
1
+ {"version":3,"file":"mapOperationsToModelChanges.js","names":["DataGridRow","Operation","ModelChange","mapOperationsToModelChanges","operations","newValue","modelChanges","forEach","operation","type","i","fromRowIndex","toRowIndex","push","rowIndex","rowData","updatedData","count"],"sources":["../../../../src/components/DataGrid/utils/mapOperationsToModelChanges.tsx"],"sourcesContent":["import { DataGridRow, Operation } from '../DataGridTypes'\nimport { ModelChange } from './applyModelChange'\n\nexport function mapOperationsToModelChanges(\n operations: Operation[],\n newValue: DataGridRow[],\n): ModelChange[] {\n const modelChanges: ModelChange[] = []\n\n operations.forEach(operation => {\n if (operation.type === 'CREATE') {\n // Add new rows to the model\n for (let i = operation.fromRowIndex; i < operation.toRowIndex; i++) {\n modelChanges.push({\n type: 'CREATE',\n rowIndex: i,\n rowData: newValue[i],\n })\n }\n }\n if (operation.type === 'UPDATE') {\n // Only update the specific rows and cells that changed\n for (\n let rowIndex = operation.fromRowIndex;\n rowIndex < operation.toRowIndex;\n rowIndex++\n ) {\n modelChanges.push({\n type: 'UPDATE',\n rowIndex: rowIndex,\n updatedData: newValue[rowIndex],\n })\n }\n }\n if (operation.type === 'DELETE') {\n modelChanges.push({\n type: 'DELETE',\n rowIndex: operation.fromRowIndex,\n count: operation.toRowIndex - operation.fromRowIndex,\n })\n }\n })\n return modelChanges\n}\n"],"mappings":";AAGA,SAAgBG,EACdC,GACAC,GACe;CACf,IAAMC,IAA8B,CAAA;CAmCpC,OAjCAF,EAAWG,SAAQC,MAAa;EAC9B,IAAIA,EAAUC,SAAS,UAErB,KAAK,IAAIC,IAAIF,EAAUG,cAAcD,IAAIF,EAAUI,YAAYF,KAC7DJ,EAAaO,KAAK;GAChBJ,MAAM;GACNK,UAAUJ;GACVK,SAASV,EAASK;EACpB,CAAC;EAGL,IAAIF,EAAUC,SAAS,UAErB,KACE,IAAIK,IAAWN,EAAUG,cACzBG,IAAWN,EAAUI,YACrBE,KAEAR,EAAaO,KAAK;GAChBJ,MAAM;GACIK;GACVE,aAAaX,EAASS;EACxB,CAAC;EAGL,AAAIN,EAAUC,SAAS,YACrBH,EAAaO,KAAK;GAChBJ,MAAM;GACNK,UAAUN,EAAUG;GACpBM,OAAOT,EAAUI,aAAaJ,EAAUG;EAC1C,CAAC;CAEL,CAAC,GACML;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelColsToGrid.js","names":["Column","createColumn","SchemaPropertiesMap","modelColsToGrid","columnNames","columnOrder","schemaPropertiesInfo","columnWidths","Record","pinnedColumns","Set","onTogglePin","columnIndex","map","index","arrayIndex","columnName","propertyInfo","showPinIcon","undefined","isPinned","has","description","typeInfo","type","enumeratedValues","isRequired","disabled","readOnly","customWidth","schemaPropertyInfo"],"sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"sourcesContent":["import { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { createColumn } from './columnFactory'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\nexport function modelColsToGrid(\n columnNames: string[],\n columnOrder: number[],\n schemaPropertiesInfo: SchemaPropertiesMap,\n columnWidths: Record<string, number> = {},\n pinnedColumns: Set<number> = new Set(),\n onTogglePin?: (columnIndex: number) => void,\n): Column[] {\n return columnOrder.map((index: number, arrayIndex: number) => {\n const columnName = columnNames[index]\n const propertyInfo = schemaPropertiesInfo[columnName]\n\n // Only show pin functionality for the first column and when toggle handler exists\n const showPinIcon = arrayIndex === 0 && onTogglePin !== undefined\n const isPinned = pinnedColumns.has(arrayIndex)\n\n return createColumn({\n columnName,\n description: propertyInfo?.description,\n typeInfo: propertyInfo?.type || null,\n enumeratedValues: propertyInfo?.enumeratedValues || [],\n isRequired: propertyInfo?.isRequired || false,\n disabled: propertyInfo?.type?.readOnly,\n customWidth: columnWidths[columnName],\n showPinIcon,\n isPinned,\n onTogglePin: onTogglePin ? () => onTogglePin(arrayIndex) : undefined,\n schemaPropertyInfo: propertyInfo,\n })\n })\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GACAC,GACAC,GACAC,IAAuC,EAAE,EACzCE,oBAA6B,IAAIC,KAAK,EACtCC,GACU;AACV,QAAON,EAAYQ,KAAKC,GAAeC,MAAuB;EAC5D,IAAMC,IAAaZ,EAAYU,IACzBG,IAAeX,EAAqBU,IAGpCE,IAAcH,MAAe,KAAKJ,MAAgBQ,KAAAA,GAClDC,IAAWX,EAAcY,IAAIN,EAAW;AAE9C,SAAOd,EAAa;GAClBe;GACAM,aAAaL,GAAcK;GAC3BC,UAAUN,GAAcO,QAAQ;GAChCC,kBAAkBR,GAAcQ,oBAAoB,EAAE;GACtDC,YAAYT,GAAcS,cAAc;GACxCC,UAAUV,GAAcO,MAAMI;GAC9BC,aAAatB,EAAaS;GAC1BE;GACAE;GACAT,aAAaA,UAAoBA,EAAYI,EAAW,GAAGI,KAAAA;GAC3DW,oBAAoBb;GACrB,CAAC;GACF"}
1
+ {"version":3,"file":"modelColsToGrid.js","names":["Column","createColumn","SchemaPropertiesMap","modelColsToGrid","columnNames","columnOrder","schemaPropertiesInfo","columnWidths","Record","pinnedColumns","Set","onTogglePin","columnIndex","map","index","arrayIndex","columnName","propertyInfo","showPinIcon","undefined","isPinned","has","description","typeInfo","type","enumeratedValues","isRequired","disabled","readOnly","customWidth","schemaPropertyInfo"],"sources":["../../../../src/components/DataGrid/utils/modelColsToGrid.ts"],"sourcesContent":["import { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { createColumn } from './columnFactory'\nimport { SchemaPropertiesMap } from '@/utils/jsonschema/getSchemaPropertyInfo'\n\nexport function modelColsToGrid(\n columnNames: string[],\n columnOrder: number[],\n schemaPropertiesInfo: SchemaPropertiesMap,\n columnWidths: Record<string, number> = {},\n pinnedColumns: Set<number> = new Set(),\n onTogglePin?: (columnIndex: number) => void,\n): Column[] {\n return columnOrder.map((index: number, arrayIndex: number) => {\n const columnName = columnNames[index]\n const propertyInfo = schemaPropertiesInfo[columnName]\n\n // Only show pin functionality for the first column and when toggle handler exists\n const showPinIcon = arrayIndex === 0 && onTogglePin !== undefined\n const isPinned = pinnedColumns.has(arrayIndex)\n\n return createColumn({\n columnName,\n description: propertyInfo?.description,\n typeInfo: propertyInfo?.type || null,\n enumeratedValues: propertyInfo?.enumeratedValues || [],\n isRequired: propertyInfo?.isRequired || false,\n disabled: propertyInfo?.type?.readOnly,\n customWidth: columnWidths[columnName],\n showPinIcon,\n isPinned,\n onTogglePin: onTogglePin ? () => onTogglePin(arrayIndex) : undefined,\n schemaPropertyInfo: propertyInfo,\n })\n })\n}\n"],"mappings":";;AAIA,SAAgBG,EACdC,GACAC,GACAC,GACAC,IAAuC,CAAC,GACxCE,oBAA6B,IAAIC,IAAI,GACrCC,GACU;CACV,OAAON,EAAYQ,KAAKC,GAAeC,MAAuB;EAC5D,IAAMC,IAAaZ,EAAYU,IACzBG,IAAeX,EAAqBU,IAGpCE,IAAcH,MAAe,KAAKJ,MAAgBQ,KAAAA,GAClDC,IAAWX,EAAcY,IAAIN,CAAU;EAE7C,OAAOd,EAAa;GAClBe;GACAM,aAAaL,GAAcK;GAC3BC,UAAUN,GAAcO,QAAQ;GAChCC,kBAAkBR,GAAcQ,oBAAoB,CAAA;GACpDC,YAAYT,GAAcS,cAAc;GACxCC,UAAUV,GAAcO,MAAMI;GAC9BC,aAAatB,EAAaS;GAC1BE;GACAE;GACAT,aAAaA,UAAoBA,EAAYI,CAAU,IAAII,KAAAA;GAC3DW,oBAAoBb;EACtB,CAAC;CACH,CAAC;AACH"}