synapse-react-client 4.0.35 → 4.0.37

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 (511) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +24 -0
  3. package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -0
  4. package/dist/aridhia-queries/AridhiaKeyFactory.js +49 -0
  5. package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -0
  6. package/dist/aridhia-queries/FairFormPayload.d.ts +45 -0
  7. package/dist/aridhia-queries/FairFormPayload.d.ts.map +1 -0
  8. package/dist/aridhia-queries/FairFormPayload.js +0 -0
  9. package/dist/aridhia-queries/TransferType.d.ts +10 -0
  10. package/dist/aridhia-queries/TransferType.d.ts.map +1 -0
  11. package/dist/aridhia-queries/TransferType.js +0 -0
  12. package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
  13. package/dist/aridhia-queries/index.d.ts +12 -0
  14. package/dist/aridhia-queries/index.d.ts.map +1 -1
  15. package/dist/aridhia-queries/index.js +12 -2
  16. package/dist/aridhia-queries/useAridhiaQuery.d.ts +38 -0
  17. package/dist/aridhia-queries/useAridhiaQuery.d.ts.map +1 -0
  18. package/dist/aridhia-queries/useAridhiaQuery.js +78 -0
  19. package/dist/aridhia-queries/useAridhiaQuery.js.map +1 -0
  20. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts +6 -0
  21. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts.map +1 -0
  22. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js +13 -0
  23. package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js.map +1 -0
  24. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts +6 -0
  25. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts.map +1 -0
  26. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js +13 -0
  27. package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js.map +1 -0
  28. package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts +6 -0
  29. package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts.map +1 -0
  30. package/dist/aridhia-queries/useGetAridhiaDictionaries.js +13 -0
  31. package/dist/aridhia-queries/useGetAridhiaDictionaries.js.map +1 -0
  32. package/dist/aridhia-queries/useGetAridhiaRequests.d.ts +5 -4
  33. package/dist/aridhia-queries/useGetAridhiaRequests.d.ts.map +1 -1
  34. package/dist/aridhia-queries/useGetAridhiaRequests.js +11 -18
  35. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  36. package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts +13 -0
  37. package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts.map +1 -0
  38. package/dist/aridhia-queries/useGetAridhiaWorkflow.js +19 -0
  39. package/dist/aridhia-queries/useGetAridhiaWorkflow.js.map +1 -0
  40. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts +6 -0
  41. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts.map +1 -0
  42. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js +13 -0
  43. package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js.map +1 -0
  44. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts +19 -0
  45. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts.map +1 -0
  46. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js +17 -0
  47. package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js.map +1 -0
  48. package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts +6 -0
  49. package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts.map +1 -0
  50. package/dist/aridhia-queries/useGetAridhiaWorkspaces.js +19 -0
  51. package/dist/aridhia-queries/useGetAridhiaWorkspaces.js.map +1 -0
  52. package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts +27 -0
  53. package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts.map +1 -0
  54. package/dist/aridhia-queries/useSubmitAridhiaDar.js +38 -0
  55. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -0
  56. package/dist/assets/icons/emailWithNotification.js +15 -15
  57. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  58. package/dist/assets/icons/emailWithNotification.svg +13 -13
  59. package/dist/components/AccessRequirement/EntityActionsRequired.d.ts +0 -1
  60. package/dist/components/AccessRequirement/EntityActionsRequired.d.ts.map +1 -1
  61. package/dist/components/AccessRequirement/EntityActionsRequired.js +3 -6
  62. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  63. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  64. package/dist/components/AccessRequirementList/AccessRequirementList.js +65 -57
  65. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  66. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +67 -57
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  72. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  73. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +33 -32
  74. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  75. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  76. package/dist/components/Aridhia/AridhiaAccessStatus.js +39 -18
  77. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  78. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts +32 -0
  79. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts.map +1 -0
  80. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js +285 -0
  81. package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js.map +1 -0
  82. package/dist/components/Aridhia/DarWizard/DarAboutStep.d.ts +4 -0
  83. package/dist/components/Aridhia/DarWizard/DarAboutStep.d.ts.map +1 -0
  84. package/dist/components/Aridhia/DarWizard/DarAboutStep.js +17 -0
  85. package/dist/components/Aridhia/DarWizard/DarAboutStep.js.map +1 -0
  86. package/dist/components/Aridhia/DarWizard/DarCompleteStep.d.ts +27 -0
  87. package/dist/components/Aridhia/DarWizard/DarCompleteStep.d.ts.map +1 -0
  88. package/dist/components/Aridhia/DarWizard/DarCompleteStep.js +96 -0
  89. package/dist/components/Aridhia/DarWizard/DarCompleteStep.js.map +1 -0
  90. package/dist/components/Aridhia/DarWizard/DarDestinationStep.d.ts +28 -0
  91. package/dist/components/Aridhia/DarWizard/DarDestinationStep.d.ts.map +1 -0
  92. package/dist/components/Aridhia/DarWizard/DarDestinationStep.js +128 -0
  93. package/dist/components/Aridhia/DarWizard/DarDestinationStep.js.map +1 -0
  94. package/dist/components/Aridhia/DarWizard/DarProjectStep.d.ts +4 -0
  95. package/dist/components/Aridhia/DarWizard/DarProjectStep.d.ts.map +1 -0
  96. package/dist/components/Aridhia/DarWizard/DarProjectStep.js +17 -0
  97. package/dist/components/Aridhia/DarWizard/DarProjectStep.js.map +1 -0
  98. package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts +13 -0
  99. package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -0
  100. package/dist/components/Aridhia/DarWizard/DarSectionForm.js +23 -0
  101. package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -0
  102. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +11 -0
  103. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -0
  104. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +47 -0
  105. package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -0
  106. package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.d.ts +16 -0
  107. package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.d.ts.map +1 -0
  108. package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.js +33 -0
  109. package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.js.map +1 -0
  110. package/dist/components/Aridhia/DarWizard/useDarDraft.d.ts +32 -0
  111. package/dist/components/Aridhia/DarWizard/useDarDraft.d.ts.map +1 -0
  112. package/dist/components/Aridhia/DarWizard/useDarDraft.js +44 -0
  113. package/dist/components/Aridhia/DarWizard/useDarDraft.js.map +1 -0
  114. package/dist/components/Aridhia/FairLabelField.d.ts +8 -0
  115. package/dist/components/Aridhia/FairLabelField.d.ts.map +1 -0
  116. package/dist/components/Aridhia/FairLabelField.js +13 -0
  117. package/dist/components/Aridhia/FairLabelField.js.map +1 -0
  118. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +3 -3
  119. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  120. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +1 -1
  121. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  122. package/dist/components/Aridhia/fairFormToRjsf.d.ts +36 -0
  123. package/dist/components/Aridhia/fairFormToRjsf.d.ts.map +1 -0
  124. package/dist/components/Aridhia/fairFormToRjsf.js +137 -0
  125. package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -0
  126. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.d.ts.map +1 -1
  127. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +2 -2
  128. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  129. package/dist/components/CardContainer/CardConfiguration.d.ts +8 -0
  130. package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
  131. package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
  132. package/dist/components/CardContainer/CardContainer.js +1 -1
  133. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  134. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  135. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +2 -2
  136. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  137. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.d.ts.map +1 -1
  138. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +3 -3
  139. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  140. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +1 -1
  141. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  142. package/dist/components/ChangePassword/ChangePasswordWithToken.d.ts.map +1 -1
  143. package/dist/components/ChangePassword/ChangePasswordWithToken.js +58 -23
  144. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  145. package/dist/components/ChangePassword/useChangePasswordFormState.d.ts.map +1 -1
  146. package/dist/components/ChangePassword/useChangePasswordFormState.js +13 -3
  147. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  148. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js +2 -2
  149. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  150. package/dist/components/CreateTableViewWizard/TableNameForm.d.ts.map +1 -1
  151. package/dist/components/CreateTableViewWizard/TableNameForm.js +11 -14
  152. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  153. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  154. package/dist/components/DataGrid/SynapseGrid.js +121 -117
  155. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  156. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts +1 -1
  157. package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
  158. package/dist/components/DataGrid/SyncGridWithSourceButton.js +55 -61
  159. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  160. package/dist/components/DataGrid/columns/DateTimeColumn.d.ts +21 -1
  161. package/dist/components/DataGrid/columns/DateTimeColumn.d.ts.map +1 -1
  162. package/dist/components/DataGrid/columns/DateTimeColumn.js +73 -29
  163. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  164. package/dist/components/DataGrid/columns/NumberColumn.d.ts +31 -0
  165. package/dist/components/DataGrid/columns/NumberColumn.d.ts.map +1 -0
  166. package/dist/components/DataGrid/columns/NumberColumn.js +27 -0
  167. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -0
  168. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts +1 -0
  169. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts.map +1 -1
  170. package/dist/components/DataGrid/components/ReorderColumnsButton.js +17 -16
  171. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
  172. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts +2 -0
  173. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  174. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +104 -65
  175. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  176. package/dist/components/DataGrid/components/contextMenu.d.ts.map +1 -1
  177. package/dist/components/DataGrid/components/contextMenu.js +15 -15
  178. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  179. package/dist/components/DataGrid/useDataGridWebsocket.js +1 -1
  180. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  181. package/dist/components/DataGrid/useMergeGridWithSource.d.ts +1 -5
  182. package/dist/components/DataGrid/useMergeGridWithSource.d.ts.map +1 -1
  183. package/dist/components/DataGrid/useMergeGridWithSource.js +21 -28
  184. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  185. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  186. package/dist/components/DataGrid/utils/columnFactory.js +55 -51
  187. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  188. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts.map +1 -1
  189. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js +9 -8
  190. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js.map +1 -1
  191. package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts +40 -0
  192. package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts.map +1 -0
  193. package/dist/components/DatasetHosting/DatasetDownloadButton.js +124 -0
  194. package/dist/components/DatasetHosting/DatasetDownloadButton.js.map +1 -0
  195. package/dist/components/DatasetHosting/DatasetHosting.d.ts +97 -0
  196. package/dist/components/DatasetHosting/DatasetHosting.d.ts.map +1 -0
  197. package/dist/components/DatasetHosting/DatasetHosting.js +64 -0
  198. package/dist/components/DatasetHosting/DatasetHosting.js.map +1 -0
  199. package/dist/components/DatasetHosting/DatasetHostingAdornment.d.ts +15 -0
  200. package/dist/components/DatasetHosting/DatasetHostingAdornment.d.ts.map +1 -0
  201. package/dist/components/DatasetHosting/DatasetHostingAdornment.js +23 -0
  202. package/dist/components/DatasetHosting/DatasetHostingAdornment.js.map +1 -0
  203. package/dist/components/DatasetHosting/index.d.ts +7 -0
  204. package/dist/components/DatasetHosting/index.d.ts.map +1 -0
  205. package/dist/components/DatasetHosting/index.js +4 -0
  206. package/dist/components/DownloadCart/ActionRequiredListItem.d.ts +0 -2
  207. package/dist/components/DownloadCart/ActionRequiredListItem.d.ts.map +1 -1
  208. package/dist/components/DownloadCart/ActionRequiredListItem.js +2 -3
  209. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  210. package/dist/components/DownloadCart/DownloadCartPage.d.ts +1 -2
  211. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  212. package/dist/components/DownloadCart/DownloadCartPage.js +49 -49
  213. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  214. package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts +1 -5
  215. package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts.map +1 -1
  216. package/dist/components/DownloadCart/DownloadListActionsRequired.js +5 -6
  217. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  218. package/dist/components/DownloadCart/RequestDownloadCard.d.ts +0 -2
  219. package/dist/components/DownloadCart/RequestDownloadCard.d.ts.map +1 -1
  220. package/dist/components/DownloadCart/RequestDownloadCard.js +28 -32
  221. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  222. package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts +0 -2
  223. package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts.map +1 -1
  224. package/dist/components/DownloadCart/TableQueryActionsRequired.js +7 -8
  225. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  226. package/dist/components/DownloadCart/index.d.ts +1 -2
  227. package/dist/components/DownloadCart/index.d.ts.map +1 -1
  228. package/dist/components/DropdownSelect/DropdownSelect.d.ts.map +1 -1
  229. package/dist/components/DropdownSelect/DropdownSelect.js +1 -1
  230. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  231. package/dist/components/EntityFinder/tree/EntityTree.d.ts.map +1 -1
  232. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  233. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  234. package/dist/components/EntityFinder/tree/VirtualizedTree.js +1 -1
  235. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  236. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +1 -1
  237. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  238. package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts +10 -0
  239. package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts.map +1 -0
  240. package/dist/components/GenericCard/CardActionButtonStyleContext.js +10 -0
  241. package/dist/components/GenericCard/CardActionButtonStyleContext.js.map +1 -0
  242. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +41 -41
  243. package/dist/components/GenericCard/GenericCardActionButton.d.ts +5 -0
  244. package/dist/components/GenericCard/GenericCardActionButton.d.ts.map +1 -1
  245. package/dist/components/GenericCard/GenericCardActionButton.js +28 -11
  246. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  247. package/dist/components/GenericCard/TableRowGenericCard.d.ts +24 -0
  248. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  249. package/dist/components/GenericCard/TableRowGenericCard.js +158 -137
  250. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  251. package/dist/components/JSONArrayEditor/JSONArrayEditor.d.ts.map +1 -1
  252. package/dist/components/JSONArrayEditor/JSONArrayEditor.js +42 -42
  253. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  254. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +9 -0
  255. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
  256. package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -0
  257. package/dist/components/JsonSchemaForm/JsonSchemaForm.d.ts.map +1 -1
  258. package/dist/components/JsonSchemaForm/JsonSchemaForm.js +15 -13
  259. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  260. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +5 -0
  261. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -0
  262. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +109 -0
  263. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.d.ts.map +1 -1
  264. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js +1 -1
  265. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  266. package/dist/components/JsonSchemaForm/templates/FieldTemplate.d.ts.map +1 -1
  267. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js +6 -6
  268. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  269. package/dist/components/JsonSchemaForm/widgets/DateWidget.d.ts +9 -0
  270. package/dist/components/JsonSchemaForm/widgets/DateWidget.d.ts.map +1 -0
  271. package/dist/components/JsonSchemaForm/widgets/DateWidget.js +23 -0
  272. package/dist/components/JsonSchemaForm/widgets/DateWidget.js.map +1 -0
  273. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.css +1 -1
  274. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts +3 -2
  275. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts.map +1 -1
  276. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js +10 -12
  277. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  278. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.js +8 -7
  279. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.js.map +1 -1
  280. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.scss +12 -2
  281. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  282. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  283. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  284. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +46 -46
  285. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  286. package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts +39 -0
  287. package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts.map +1 -0
  288. package/dist/components/QueryBuilder/QueryBuilderTypes.js +11 -0
  289. package/dist/components/QueryBuilder/QueryBuilderTypes.js.map +1 -0
  290. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +48 -0
  291. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -0
  292. package/dist/components/QueryBuilder/queryBuilderTranslation.js +256 -0
  293. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -0
  294. package/dist/components/QueryContext/QueryContext.d.ts +0 -1
  295. package/dist/components/QueryContext/QueryContext.d.ts.map +1 -1
  296. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  297. package/dist/components/QueryWrapper/QueryWrapper.d.ts +0 -1
  298. package/dist/components/QueryWrapper/QueryWrapper.d.ts.map +1 -1
  299. package/dist/components/QueryWrapper/QueryWrapper.js +52 -53
  300. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  301. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  302. package/dist/components/QueryWrapperErrorBoundary.js +4 -11
  303. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  304. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +1 -1
  305. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  306. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -2
  307. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  308. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +27 -25
  309. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  310. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.d.ts +0 -9
  311. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.d.ts.map +1 -1
  312. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js +23 -31
  313. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  314. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.d.ts.map +1 -1
  315. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +126 -125
  316. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  317. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.d.ts.map +1 -1
  318. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js +6 -5
  319. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  320. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +2 -0
  321. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  322. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +18 -13
  323. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  324. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts.map +1 -1
  325. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js +0 -1
  326. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  327. package/dist/components/ShareThisPage/ShareThisPage.js +30 -29
  328. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  329. package/dist/components/StatisticsPlot.d.ts.map +1 -1
  330. package/dist/components/StatisticsPlot.js +1 -1
  331. package/dist/components/StatisticsPlot.js.map +1 -1
  332. package/dist/components/SynapseChat/GridAgentChat.d.ts.map +1 -1
  333. package/dist/components/SynapseChat/GridAgentChat.js +29 -31
  334. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  335. package/dist/components/SynapseForm/SynapseFormWrapper.js +1 -1
  336. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  337. package/dist/components/SynapseHomepageV2/HotdropsAndNews.css +1 -1
  338. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js +9 -9
  339. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js.map +1 -1
  340. package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.scss +14 -0
  341. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +1 -1
  342. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  343. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js +1 -1
  344. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  345. package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
  346. package/dist/components/SynapseTable/SynapseTable.js +2 -1
  347. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  348. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  349. package/dist/components/SynapseTable/SynapseTableRenderers.js +1 -1
  350. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  351. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts +4 -0
  352. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  353. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +71 -69
  354. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  355. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.d.ts.map +1 -1
  356. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +29 -30
  357. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  358. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +4 -0
  359. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  360. package/dist/components/SynapseTable/table-top/DownloadOptions.js +14 -13
  361. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  362. package/dist/components/SynapseTable/usePrefetchTableData.js +1 -1
  363. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  364. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js +4 -4
  365. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  366. package/dist/components/TanStackTable/StyledTanStackTable.d.ts +7 -0
  367. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  368. package/dist/components/TanStackTable/StyledTanStackTable.js +68 -48
  369. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  370. package/dist/components/TanStackTable/TableCellRenderer.d.ts.map +1 -1
  371. package/dist/components/TanStackTable/TableCellRenderer.js +1 -1
  372. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  373. package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts +13 -0
  374. package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts.map +1 -0
  375. package/dist/components/TanStackTable/useSyncedTopScrollbar.js +32 -0
  376. package/dist/components/TanStackTable/useSyncedTopScrollbar.js.map +1 -0
  377. package/dist/components/TermsAndConditions/TermsAndConditions.js +1 -1
  378. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  379. package/dist/components/Webhook/CreateWebhookModal.d.ts.map +1 -1
  380. package/dist/components/Webhook/CreateWebhookModal.js +1 -1
  381. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  382. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  383. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +172 -61
  384. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  385. package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.d.ts +3 -0
  386. package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.d.ts.map +1 -1
  387. package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.js +2 -2
  388. package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.js.map +1 -1
  389. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.d.ts.map +1 -1
  390. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js +11 -9
  391. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  392. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.d.ts.map +1 -1
  393. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +74 -43
  394. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  395. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.d.ts.map +1 -1
  396. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js +2 -2
  397. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  398. package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
  399. package/dist/components/doi/CreateOrUpdateDoiModal.js +15 -18
  400. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  401. package/dist/components/entity/metadata/EntityModal.js +1 -1
  402. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  403. package/dist/components/entity/page/action_menu/EntityActionMenu.js +2 -2
  404. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  405. package/dist/components/index.d.ts +1 -0
  406. package/dist/components/index.d.ts.map +1 -1
  407. package/dist/components/index.js +144 -140
  408. package/dist/components/menu/DropdownMenu.d.ts.map +1 -1
  409. package/dist/components/menu/DropdownMenu.js +7 -7
  410. package/dist/components/menu/DropdownMenu.js.map +1 -1
  411. package/dist/components/row_renderers/Dataset.js +1 -1
  412. package/dist/components/row_renderers/Dataset.js.map +1 -1
  413. package/dist/components/styled/LeftRightPanel.d.ts +8 -0
  414. package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
  415. package/dist/components/styled/LeftRightPanel.js +10 -1
  416. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  417. package/dist/components/widgets/facet-nav/FacetNavPanel.js +1 -1
  418. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  419. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  420. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +1 -1
  421. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  422. package/dist/components/widgets/query-filter/FacetFilterControls.js +1 -1
  423. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  424. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  425. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +1 -1
  426. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  427. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +5 -5
  428. package/dist/index.js +174 -171
  429. package/dist/index.js.map +1 -1
  430. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +73 -0
  431. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -0
  432. package/dist/mocks/msw/handlers/aridhiaHandlers.js +119 -0
  433. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -0
  434. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  435. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +31 -27
  436. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  437. package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
  438. package/dist/mocks/msw/handlers/entityHandlers.js +4 -4
  439. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  440. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts +1 -0
  441. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts.map +1 -1
  442. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js +7 -1
  443. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  444. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  445. package/dist/mocks/msw/handlers/userProfileHandlers.js +6 -2
  446. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  447. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  448. package/dist/mocks/msw/handlers.js +72 -69
  449. package/dist/mocks/msw/handlers.js.map +1 -1
  450. package/dist/style/components/_all.scss +0 -1
  451. package/dist/style/components/_cards.scss +4 -2
  452. package/dist/style/components/_terms-and-conditions.scss +25 -3
  453. package/dist/style/main.css +1 -1
  454. package/dist/synapse-queries/KeyFactory.d.ts +1 -0
  455. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  456. package/dist/synapse-queries/KeyFactory.js +3 -0
  457. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  458. package/dist/synapse-queries/dataaccess/index.js +4 -4
  459. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +7 -0
  460. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  461. package/dist/synapse-queries/dataaccess/useEDuc.js +11 -3
  462. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  463. package/dist/synapse-queries/index.js +190 -189
  464. package/dist/testutils/RjsfFormTestUtils.js +12 -0
  465. package/dist/testutils/RjsfFormTestUtils.js.map +1 -0
  466. package/dist/tsconfig.build.tsbuildinfo +1 -1
  467. package/dist/utils/APIConstants.d.ts +1 -0
  468. package/dist/utils/APIConstants.d.ts.map +1 -1
  469. package/dist/utils/APIConstants.js +2 -2
  470. package/dist/utils/APIConstants.js.map +1 -1
  471. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -4
  472. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  473. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  474. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  475. package/dist/utils/functions/QueryFilterUtils.js +1 -1
  476. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  477. package/dist/utils/functions/RegularExpressions.d.ts +10 -0
  478. package/dist/utils/functions/RegularExpressions.d.ts.map +1 -1
  479. package/dist/utils/functions/RegularExpressions.js +7 -1
  480. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  481. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  482. package/dist/utils/functions/SqlFunctions.js +20 -4
  483. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  484. package/dist/utils/functions/queryUtils.js +1 -1
  485. package/dist/utils/functions/queryUtils.js.map +1 -1
  486. package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
  487. package/dist/utils/hooks/useDetectSSOCode.js +1 -1
  488. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  489. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js +1 -1
  490. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  491. package/dist/utils/index.js +16 -16
  492. package/dist/utils/jsonschema/SchemaAnnotationUtils.js +1 -1
  493. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  494. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +22 -0
  495. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -0
  496. package/dist/utils/jsonschema/collectTopLevelProperties.js +31 -0
  497. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -0
  498. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  499. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +1 -1
  500. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  501. package/dist/utils/types/IsType.d.ts +4 -1
  502. package/dist/utils/types/IsType.d.ts.map +1 -1
  503. package/dist/utils/types/IsType.js +4 -4
  504. package/dist/utils/types/IsType.js.map +1 -1
  505. package/dist/utils/types/index.js +2 -2
  506. package/package.json +5 -5
  507. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts +0 -12
  508. package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts.map +0 -1
  509. package/dist/components/DataGrid/useMergeGridWithRecordSet.js +0 -25
  510. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +0 -1
  511. package/dist/style/components/_annotations.scss +0 -110
@@ -32,20 +32,21 @@ import we from "../../assets/mui_components/CurieAvatarHead.js";
32
32
  import { useEffect as i, useImperativeHandle as Te, useRef as Ee, useState as De } from "react";
33
33
  import { Box as Oe, Stack as ke, Tooltip as Ae, Typography as je } from "@mui/material";
34
34
  import { Fragment as Me, jsx as a, jsxs as o } from "react/jsx-runtime";
35
- import { useErrorHandler as Ne } from "react-error-boundary";
36
- import { HelpOutline as Pe } from "@mui/icons-material";
35
+ import { instanceOfRecordSet as Ne } from "@sage-bionetworks/synapse-client";
36
+ import { useErrorHandler as Pe } from "react-error-boundary";
37
+ import { HelpOutline as Fe } from "@mui/icons-material";
37
38
  import s from "@mui/material/Grid";
38
- import { c as Fe } from "react/compiler-runtime";
39
- import { ClickableJsonCrdt as Ie } from "clickable-json";
39
+ import { c as Ie } from "react/compiler-runtime";
40
+ import { ClickableJsonCrdt as Le } from "clickable-json";
40
41
  //#region src/components/DataGrid/SynapseGrid.tsx
41
42
  function c(e) {
42
- let c = Fe(111), { agentRegistrationId: l, showDebugInfo: Re, ref: ze } = e, u = Re === void 0 ? !1 : Re, [d, Be] = De(null), [f, Ve] = De(null), [He, Ue] = De(!1), [We, Ge] = De(null), p = Ee(null), m = Ee(null), { data: Ke, isLoading: qe } = r(), { data: Je, refetch: Ye } = re(d?.sessionId), Xe;
43
- c[0] === Je ? Xe = c[1] : (Xe = Je === void 0 ? [] : Je, c[0] = Je, c[1] = Xe);
44
- let h = Xe, Ze;
45
- c[2] === Ye ? Ze = c[3] : (Ze = () => {
46
- Ye();
47
- }, c[2] = Ye, c[3] = Ze);
48
- let g = Ze, Qe = ge(h, f, Ke?.userId == null ? void 0 : String(Ke.userId)), _, v;
43
+ let c = Ie(114), { agentRegistrationId: l, showDebugInfo: ze, ref: Be } = e, u = ze === void 0 ? !1 : ze, [d, Ve] = De(null), [f, He] = De(null), [Ue, We] = De(!1), [Ge, Ke] = De(null), p = Ee(null), m = Ee(null), { data: qe, isLoading: Je } = r(), { data: Ye, refetch: Xe } = re(d?.sessionId), Ze;
44
+ c[0] === Ye ? Ze = c[1] : (Ze = Ye === void 0 ? [] : Ye, c[0] = Ye, c[1] = Ze);
45
+ let h = Ze, Qe;
46
+ c[2] === Xe ? Qe = c[3] : (Qe = () => {
47
+ Xe();
48
+ }, c[2] = Xe, c[3] = Qe);
49
+ let g = Qe, $e = ge(h, f, qe?.userId == null ? void 0 : String(qe.userId)), _, v;
49
50
  c[4] === Symbol.for("react.memo_cache_sentinel") ? (_ = () => ({
50
51
  initializeGrid: (e) => {
51
52
  p.current && p.current.handleStartSession(e);
@@ -53,85 +54,87 @@ function c(e) {
53
54
  loadExistingSession: (e) => {
54
55
  p.current && p.current.handleLoadSession(e);
55
56
  }
56
- }), v = [], c[4] = _, c[5] = v) : (_ = c[4], v = c[5]), Te(ze, _, v);
57
+ }), v = [], c[4] = _, c[5] = v) : (_ = c[4], v = c[5]), Te(Be, _, v);
57
58
  let y;
58
59
  c[6] === g ? y = c[7] : (y = {
59
60
  onGridReady: g,
60
61
  onReplicaConnected: g,
61
62
  onReplicaDisconnected: g
62
63
  }, c[6] = g, c[7] = y);
63
- let { isConnected: b, websocketInstance: x, hasCompletedInitialSync: S, isSyncing: $e, model: C, modelSnapshot: w, connect: T, presignedUrl: E, hasSufficientData: et, websocketError: tt } = be(y);
64
- Ne(tt);
65
- let nt = Ee(null), D, O;
66
- c[8] === x ? (D = c[9], O = c[10]) : (D = () => {
67
- nt.current = x;
68
- }, O = [x], c[8] = x, c[9] = D, c[10] = O), i(D, O);
69
- let rt = Ee(null), k;
70
- c[11] !== T || c[12] !== f || c[13] !== d ? (k = () => {
64
+ let { isConnected: b, websocketInstance: x, hasCompletedInitialSync: S, isSyncing: et, model: C, modelSnapshot: w, connect: T, presignedUrl: E, hasSufficientData: tt, websocketError: nt } = be(y);
65
+ Pe(nt);
66
+ let rt = Ee(null), it, D;
67
+ c[8] === x ? (it = c[9], D = c[10]) : (it = () => {
68
+ rt.current = x;
69
+ }, D = [x], c[8] = x, c[9] = it, c[10] = D), i(it, D);
70
+ let at = Ee(null), O;
71
+ c[11] !== T || c[12] !== f || c[13] !== d ? (O = () => {
71
72
  if (f == null || !d?.sessionId) {
72
- rt.current = null;
73
+ at.current = null;
73
74
  return;
74
75
  }
75
76
  let e = {
76
77
  replicaId: f,
77
78
  sessionId: d.sessionId
78
- }, t = rt.current;
79
- t && t.replicaId === e.replicaId && t.sessionId === e.sessionId || (rt.current = e, T(f, d.sessionId));
80
- }, c[11] = T, c[12] = f, c[13] = d, c[14] = k) : k = c[14];
81
- let it = d?.sessionId, A;
82
- c[15] !== T || c[16] !== f || c[17] !== it ? (A = [
79
+ }, t = at.current;
80
+ t && t.replicaId === e.replicaId && t.sessionId === e.sessionId || (at.current = e, T(f, d.sessionId));
81
+ }, c[11] = T, c[12] = f, c[13] = d, c[14] = O) : O = c[14];
82
+ let ot = d?.sessionId, k;
83
+ c[15] !== T || c[16] !== f || c[17] !== ot ? (k = [
83
84
  f,
84
- it,
85
+ ot,
85
86
  T
86
- ], c[15] = T, c[16] = f, c[17] = it, c[18] = A) : A = c[18], i(k, A);
87
- let j, M;
88
- c[19] === C ? (j = c[20], M = c[21]) : (j = () => {
89
- C === null && (Ge(null), m.current && m.current.setActiveCell(null));
90
- }, M = [C], c[19] = C, c[20] = j, c[21] = M), i(j, M);
91
- let N = ce(d), at = !!d?.sourceEntityId, P;
92
- c[22] === at ? P = c[23] : (P = { enabled: at }, c[22] = at, c[23] = P);
93
- let { data: F } = n(d?.sourceEntityId, void 0, P), I = F?.concreteType === "org.sagebionetworks.repo.model.table.EntityView", L;
94
- c[24] !== F || c[25] !== I ? (L = I ? [] : F?.upsertKey, c[24] = F, c[25] = I, c[26] = L) : L = c[26];
95
- let R = L, ot = N ?? null, z;
96
- c[27] === ot ? z = c[28] : (z = ne(ot), c[27] = ot, c[28] = z);
97
- let B = z, st = b ? "Connected" : "Disconnected", ct = ve(w, C, h, f), V;
98
- c[29] !== C || c[30] !== w ? (V = w ? fe(C, w) : [], c[29] = C, c[30] = w, c[31] = V) : V = c[31];
99
- let H = V, lt;
100
- c[32] !== C || c[33] !== w || c[34] !== Qe || c[35] !== H ? (lt = Se(H, C, w, Qe), c[32] = C, c[33] = w, c[34] = Qe, c[35] = H, c[36] = lt) : lt = c[36];
101
- let ut = lt, U;
102
- c[37] === b ? U = c[38] : (U = () => {
103
- !b || !nt.current || nt.current.sendPatch();
104
- }, c[37] = b, c[38] = U);
87
+ ], c[15] = T, c[16] = f, c[17] = ot, c[18] = k) : k = c[18], i(O, k);
88
+ let A, j;
89
+ c[19] === C ? (A = c[20], j = c[21]) : (A = () => {
90
+ C === null && (Ke(null), m.current && m.current.setActiveCell(null));
91
+ }, j = [C], c[19] = C, c[20] = A, c[21] = j), i(A, j);
92
+ let M = ce(d), st = !!d?.sourceEntityId, N;
93
+ c[22] === st ? N = c[23] : (N = { enabled: st }, c[22] = st, c[23] = N);
94
+ let { data: P } = n(d?.sourceEntityId, void 0, N), F = P?.concreteType === "org.sagebionetworks.repo.model.table.EntityView", I;
95
+ c[24] === P ? I = c[25] : (I = !!P && Ne(P), c[24] = P, c[25] = I);
96
+ let ct = I, L;
97
+ c[26] !== P || c[27] !== F ? (L = F ? [] : P?.upsertKey, c[26] = P, c[27] = F, c[28] = L) : L = c[28];
98
+ let R = L, lt = M ?? null, z;
99
+ c[29] === lt ? z = c[30] : (z = ne(lt), c[29] = lt, c[30] = z);
100
+ let B = z, ut = b ? "Connected" : "Disconnected", dt = ve(w, C, h, f), V;
101
+ c[31] !== C || c[32] !== w ? (V = w ? fe(C, w) : [], c[31] = C, c[32] = w, c[33] = V) : V = c[33];
102
+ let H = V, ft;
103
+ c[34] !== C || c[35] !== w || c[36] !== $e || c[37] !== H ? (ft = Se(H, C, w, $e), c[34] = C, c[35] = w, c[36] = $e, c[37] = H, c[38] = ft) : ft = c[38];
104
+ let pt = ft, U;
105
+ c[39] === b ? U = c[40] : (U = () => {
106
+ !b || !rt.current || rt.current.sendPatch();
107
+ }, c[39] = b, c[40] = U);
105
108
  let W = U, G, K;
106
- c[39] !== W || c[40] !== b ? (G = () => {
109
+ c[41] !== W || c[42] !== b ? (G = () => {
107
110
  b && W();
108
- }, K = [b, W], c[39] = W, c[40] = b, c[41] = G, c[42] = K) : (G = c[41], K = c[42]), i(G, K);
111
+ }, K = [b, W], c[41] = W, c[42] = b, c[43] = G, c[44] = K) : (G = c[43], K = c[44]), i(G, K);
109
112
  let q;
110
- c[43] !== W || c[44] !== B ? (q = (e, t) => {
113
+ c[45] !== W || c[46] !== B ? (q = (e, t) => {
111
114
  t.forEach((t) => {
112
115
  xe(e, t, B);
113
116
  }), W();
114
- }, c[43] = W, c[44] = B, c[45] = q) : q = c[45];
115
- let J = q, dt;
116
- c[46] !== J || c[47] !== C ? (dt = (e) => {
117
+ }, c[45] = W, c[46] = B, c[47] = q) : q = c[47];
118
+ let J = q, mt;
119
+ c[48] !== J || c[49] !== C ? (mt = (e) => {
117
120
  if (!C) {
118
121
  console.error("Model is not initialized");
119
122
  return;
120
123
  }
121
124
  e.type === "DELETE" && m.current && m.current.setActiveCell(null), J(C, [e]);
122
- }, c[46] = J, c[47] = C, c[48] = dt) : dt = c[48];
123
- let { undoUI: ft, redoUI: pt, addOperationsToUndoStack: mt, clearRedoStack: ht } = _e(dt), gt;
124
- c[49] !== mt || c[50] !== J || c[51] !== ht || c[52] !== C || c[53] !== H ? (gt = (e, t) => {
125
+ }, c[48] = J, c[49] = C, c[50] = mt) : mt = c[50];
126
+ let { undoUI: ht, redoUI: gt, addOperationsToUndoStack: _t, clearRedoStack: vt } = _e(mt), yt;
127
+ c[51] !== _t || c[52] !== J || c[53] !== vt || c[54] !== C || c[55] !== H ? (yt = (e, t) => {
125
128
  if (!C) {
126
129
  console.error("Model is not initialized");
127
130
  return;
128
131
  }
129
- t = de(e, H, t), t.length > 0 && (ht(), mt(t, H, e), J(C, Ce(t, e)));
130
- }, c[49] = mt, c[50] = J, c[51] = ht, c[52] = C, c[53] = H, c[54] = gt) : gt = c[54];
131
- let _t = gt, vt;
132
- c[55] !== J || c[56] !== C || c[57] !== f ? (vt = (e) => {
132
+ t = de(e, H, t), t.length > 0 && (vt(), _t(t, H, e), J(C, Ce(t, e)));
133
+ }, c[51] = _t, c[52] = J, c[53] = vt, c[54] = C, c[55] = H, c[56] = yt) : yt = c[56];
134
+ let bt = yt, xt;
135
+ c[57] !== J || c[58] !== C || c[59] !== f ? (xt = (e) => {
133
136
  let { selection: t } = e;
134
- if (t != null && (Ge(t), C != null && f != null)) {
137
+ if (t != null && (Ke(t), C != null && f != null)) {
135
138
  let e = ue(t, C);
136
139
  J(C, [{
137
140
  type: "SET_SELECTION",
@@ -139,48 +142,48 @@ function c(e) {
139
142
  selection: e
140
143
  }]);
141
144
  }
142
- }, c[55] = J, c[56] = C, c[57] = f, c[58] = vt) : vt = c[58];
143
- let yt = vt, bt;
144
- c[59] === Symbol.for("react.memo_cache_sentinel") ? (bt = (e, t) => {
145
+ }, c[57] = J, c[58] = C, c[59] = f, c[60] = xt) : xt = c[60];
146
+ let St = xt, Y;
147
+ c[61] === Symbol.for("react.memo_cache_sentinel") ? (Y = (e, t) => {
145
148
  m.current?.setActiveCell({
146
149
  col: t,
147
150
  row: e
148
151
  });
149
- }, c[59] = bt) : bt = c[59];
150
- let xt = bt, St;
151
- c[60] !== J || c[61] !== C ? (St = (e) => {
152
+ }, c[61] = Y) : Y = c[61];
153
+ let Ct = Y, wt;
154
+ c[62] !== J || c[63] !== C ? (wt = (e) => {
152
155
  C && J(C, [{
153
156
  type: "REORDER_COLUMNS",
154
157
  newColumnOrder: e
155
158
  }]);
156
- }, c[60] = J, c[61] = C, c[62] = St) : St = c[62];
157
- let Ct = St;
158
- if (!qe && !Ke?.isCertified) {
159
+ }, c[62] = J, c[63] = C, c[64] = wt) : wt = c[64];
160
+ let Tt = wt;
161
+ if (!Je && !qe?.isCertified) {
159
162
  let e;
160
- return c[63] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ a(te, {}), c[63] = e) : e = c[63], e;
163
+ return c[65] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ a(te, {}), c[65] = e) : e = c[65], e;
161
164
  }
162
- let wt;
163
- c[64] === Symbol.for("react.memo_cache_sentinel") ? (wt = {
165
+ let Et;
166
+ c[66] === Symbol.for("react.memo_cache_sentinel") ? (Et = {
164
167
  xs: 12,
165
168
  xl: 8
166
- }, c[64] = wt) : wt = c[64];
167
- let Y;
168
- c[65] === u ? Y = c[66] : (Y = /* @__PURE__ */ a(s, {
169
- size: wt,
169
+ }, c[66] = Et) : Et = c[66];
170
+ let X;
171
+ c[67] === u ? X = c[68] : (X = /* @__PURE__ */ a(s, {
172
+ size: Et,
170
173
  children: /* @__PURE__ */ a(ye, {
171
174
  ref: p,
172
- onSessionChange: Be,
173
- onReplicaChange: Ve,
175
+ onSessionChange: Ve,
176
+ onReplicaChange: He,
174
177
  show: u
175
178
  })
176
- }), c[65] = u, c[66] = Y);
177
- let X;
178
- c[67] === Symbol.for("react.memo_cache_sentinel") ? (X = {
179
+ }), c[67] = u, c[68] = X);
180
+ let Dt;
181
+ c[69] === Symbol.for("react.memo_cache_sentinel") ? (Dt = {
179
182
  xs: 12,
180
183
  xl: 4
181
- }, c[67] = X) : X = c[67];
184
+ }, c[69] = Dt) : Dt = c[69];
182
185
  let Z;
183
- c[68] !== st || c[69] !== b || c[70] !== E || c[71] !== f || c[72] !== h || c[73] !== d?.gridJsonSchema$Id || c[74] !== d?.sessionId || c[75] !== d?.sourceEntityId || c[76] !== u ? (Z = u && /* @__PURE__ */ o("div", { children: [
186
+ c[70] !== ut || c[71] !== b || c[72] !== E || c[73] !== f || c[74] !== h || c[75] !== d?.gridJsonSchema$Id || c[76] !== d?.sessionId || c[77] !== d?.sourceEntityId || c[78] !== u ? (Z = u && /* @__PURE__ */ o("div", { children: [
184
187
  /* @__PURE__ */ o("p", { children: ["Session ID: ", d?.sessionId || "No session created"] }),
185
188
  /* @__PURE__ */ o("p", { children: ["Replica ID: ", f || "No replica created"] }),
186
189
  /* @__PURE__ */ o("p", { children: [
@@ -203,11 +206,11 @@ function c(e) {
203
206
  " ",
204
207
  /* @__PURE__ */ a("span", {
205
208
  style: { color: b ? "green" : "red" },
206
- children: st
209
+ children: ut
207
210
  })
208
211
  ] }),
209
212
  /* @__PURE__ */ a("p", { children: (() => {
210
- let e = h.filter(Le);
213
+ let e = h.filter(Re);
211
214
  return /* @__PURE__ */ o(Me, { children: [
212
215
  "Connected Replicas (",
213
216
  e.length,
@@ -234,15 +237,15 @@ function c(e) {
234
237
  }, t.replicaId))
235
238
  ] });
236
239
  })() })
237
- ] }), c[68] = st, c[69] = b, c[70] = E, c[71] = f, c[72] = h, c[73] = d?.gridJsonSchema$Id, c[74] = d?.sessionId, c[75] = d?.sourceEntityId, c[76] = u, c[77] = Z) : Z = c[77];
240
+ ] }), c[70] = ut, c[71] = b, c[72] = E, c[73] = f, c[74] = h, c[75] = d?.gridJsonSchema$Id, c[76] = d?.sessionId, c[77] = d?.sourceEntityId, c[78] = u, c[79] = Z) : Z = c[79];
238
241
  let Q;
239
- c[78] === Z ? Q = c[79] : (Q = /* @__PURE__ */ a(s, {
240
- size: X,
242
+ c[80] === Z ? Q = c[81] : (Q = /* @__PURE__ */ a(s, {
243
+ size: Dt,
241
244
  children: Z
242
- }), c[78] = Z, c[79] = Q);
245
+ }), c[80] = Z, c[81] = Q);
243
246
  let $;
244
- c[80] !== l || c[81] !== He || c[82] !== ut || c[83] !== I || c[84] !== _t || c[85] !== Ct || c[86] !== yt || c[87] !== S || c[88] !== et || c[89] !== b || c[90] !== $e || c[91] !== N || c[92] !== We || c[93] !== C || c[94] !== w?.columnNames || c[95] !== w?.columnOrder || c[96] !== E || c[97] !== pt || c[98] !== ct || c[99] !== f || c[100] !== H || c[101] !== B || c[102] !== d || c[103] !== u || c[104] !== ft || c[105] !== R ? ($ = d && /* @__PURE__ */ o(Me, { children: [
245
- !et && /* @__PURE__ */ o(s, {
247
+ c[82] !== l || c[83] !== Ue || c[84] !== pt || c[85] !== F || c[86] !== bt || c[87] !== Tt || c[88] !== St || c[89] !== S || c[90] !== tt || c[91] !== b || c[92] !== ct || c[93] !== et || c[94] !== M || c[95] !== Ge || c[96] !== C || c[97] !== w?.columnNames || c[98] !== w?.columnOrder || c[99] !== E || c[100] !== gt || c[101] !== dt || c[102] !== f || c[103] !== H || c[104] !== B || c[105] !== d || c[106] !== u || c[107] !== ht || c[108] !== R ? ($ = d && /* @__PURE__ */ o(Me, { children: [
248
+ !tt && /* @__PURE__ */ o(s, {
246
249
  size: 12,
247
250
  children: [/* @__PURE__ */ a("h3", { children: "Setting up grid..." }), /* @__PURE__ */ o("div", {
248
251
  style: { marginBottom: "10px" },
@@ -259,14 +262,14 @@ function c(e) {
259
262
  ]
260
263
  })]
261
264
  }),
262
- et && /* @__PURE__ */ o(Me, { children: [
265
+ tt && /* @__PURE__ */ o(Me, { children: [
263
266
  /* @__PURE__ */ a(s, {
264
267
  size: 12,
265
268
  children: /* @__PURE__ */ a(me, {
266
269
  rowValues: H,
267
270
  columnNames: w?.columnNames ?? [],
268
271
  columnOrder: w?.columnOrder ?? [],
269
- onNavigateToCell: xt,
272
+ onNavigateToCell: Ct,
270
273
  isLoading: !S
271
274
  })
272
275
  }),
@@ -277,7 +280,7 @@ function c(e) {
277
280
  spacing: 1,
278
281
  sx: { justifyContent: "flex-end" },
279
282
  children: [
280
- (!S || $e) && /* @__PURE__ */ o(Oe, {
283
+ (!S || et) && /* @__PURE__ */ o(Oe, {
281
284
  sx: {
282
285
  display: "flex",
283
286
  alignItems: "center",
@@ -294,32 +297,33 @@ function c(e) {
294
297
  }),
295
298
  /* @__PURE__ */ a(ie, {
296
299
  variant: "outlined",
297
- startIcon: /* @__PURE__ */ a(Pe, {}),
300
+ startIcon: /* @__PURE__ */ a(Fe, {}),
298
301
  href: "https://docs.synapse.org/synapse-docs/managing-metadata-with-curator",
299
302
  target: "_blank",
300
303
  rel: "noopener noreferrer",
301
304
  sx: { mr: "auto" },
302
305
  children: "Help and Instructions"
303
306
  }),
304
- ft,
305
- pt,
307
+ ht,
308
+ gt,
306
309
  /* @__PURE__ */ a(oe, {
307
310
  columnNames: w?.columnNames ?? [],
308
311
  columnOrder: w?.columnOrder ?? [],
309
- jsonSchema: N,
312
+ jsonSchema: M,
310
313
  upsertKey: R,
311
- onReorder: Ct
314
+ canRemoveColumns: ct,
315
+ onReorder: Tt
312
316
  }),
313
317
  /* @__PURE__ */ a(ie, {
314
318
  variant: "outlined",
315
- onClick: () => Ue(!0),
319
+ onClick: () => We(!0),
316
320
  startIcon: /* @__PURE__ */ a(we, {}),
317
321
  children: "Open Curie"
318
322
  }),
319
323
  /* @__PURE__ */ a(pe, {
320
324
  agentRegistrationId: l,
321
- open: He,
322
- onClose: () => Ue(!1),
325
+ open: Ue,
326
+ onClose: () => We(!1),
323
327
  gridSessionId: d.sessionId,
324
328
  usersReplicaId: f,
325
329
  chatbotName: "Curie"
@@ -340,16 +344,16 @@ function c(e) {
340
344
  size: 12,
341
345
  children: /* @__PURE__ */ a(he, {
342
346
  gridRef: m,
343
- rowValues: ut,
347
+ rowValues: pt,
344
348
  columnNames: w?.columnNames ?? [],
345
349
  columnOrder: w?.columnOrder ?? [],
346
350
  schemaPropertiesInfo: B,
347
- entityIsView: I,
348
- jsonSchema: N,
349
- lastSelection: We,
350
- handleChange: _t,
351
- handleSelectionChange: yt,
352
- remoteSelections: ct,
351
+ entityIsView: F,
352
+ jsonSchema: M,
353
+ lastSelection: Ge,
354
+ handleChange: bt,
355
+ handleSelectionChange: St,
356
+ remoteSelections: dt,
353
357
  upsertKey: R
354
358
  })
355
359
  })
@@ -363,25 +367,25 @@ function c(e) {
363
367
  maxHeight: "400px",
364
368
  overflowY: "auto"
365
369
  },
366
- children: [/* @__PURE__ */ a("h3", { children: "Model" }), C ? /* @__PURE__ */ a(Ie, { model: C }) : "No model available"]
370
+ children: [/* @__PURE__ */ a("h3", { children: "Model" }), C ? /* @__PURE__ */ a(Le, { model: C }) : "No model available"]
367
371
  })
368
- ] }), c[80] = l, c[81] = He, c[82] = ut, c[83] = I, c[84] = _t, c[85] = Ct, c[86] = yt, c[87] = S, c[88] = et, c[89] = b, c[90] = $e, c[91] = N, c[92] = We, c[93] = C, c[94] = w?.columnNames, c[95] = w?.columnOrder, c[96] = E, c[97] = pt, c[98] = ct, c[99] = f, c[100] = H, c[101] = B, c[102] = d, c[103] = u, c[104] = ft, c[105] = R, c[106] = $) : $ = c[106];
369
- let Tt;
370
- return c[107] !== Y || c[108] !== Q || c[109] !== $ ? (Tt = /* @__PURE__ */ a("div", { children: /* @__PURE__ */ o(s, {
372
+ ] }), c[82] = l, c[83] = Ue, c[84] = pt, c[85] = F, c[86] = bt, c[87] = Tt, c[88] = St, c[89] = S, c[90] = tt, c[91] = b, c[92] = ct, c[93] = et, c[94] = M, c[95] = Ge, c[96] = C, c[97] = w?.columnNames, c[98] = w?.columnOrder, c[99] = E, c[100] = gt, c[101] = dt, c[102] = f, c[103] = H, c[104] = B, c[105] = d, c[106] = u, c[107] = ht, c[108] = R, c[109] = $) : $ = c[109];
373
+ let Ot;
374
+ return c[110] !== X || c[111] !== Q || c[112] !== $ ? (Ot = /* @__PURE__ */ a("div", { children: /* @__PURE__ */ o(s, {
371
375
  container: !0,
372
376
  spacing: 2,
373
377
  children: [
374
- Y,
378
+ X,
375
379
  Q,
376
380
  $
377
381
  ]
378
- }) }), c[107] = Y, c[108] = Q, c[109] = $, c[110] = Tt) : Tt = c[110], Tt;
382
+ }) }), c[110] = X, c[111] = Q, c[112] = $, c[113] = Ot) : Ot = c[113], Ot;
379
383
  }
380
- function Le(e) {
384
+ function Re(e) {
381
385
  return e.isConnected;
382
386
  }
383
387
  function l(t) {
384
- let n = Fe(2), r;
388
+ let n = Ie(2), r;
385
389
  return n[0] === t ? r = n[1] : (r = /* @__PURE__ */ a(e, { children: /* @__PURE__ */ a(c, { ...t }) }), n[0] = t, n[1] = r), r;
386
390
  }
387
391
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseGrid.js","names":["CertificationRequirement","ExportCsvFromGridButton","GridMenuButton","ReorderColumnsButton","UploadCsvToGridButton","useGetSchemaForGrid","SyncGridWithSourceButton","computeReplicaSelectionModel","modelRowsToGrid","SynapseErrorBoundary","SkeletonTable","useGetCurrentUserBundle","useListGridReplicas","useGetEntity","getSchemaPropertiesInfo","HelpOutline","Box","Stack","Tooltip","Typography","Grid","DataSheetGridRef","SelectionWithId","CreateGridRequest","GridSession","ClickableJsonCrdt","Ref","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useErrorHandler","SynapseSpinner","GridAgentChat","ValidationAlert","DataGrid","DataGridRow","GridModel","Operation","useGridReplicaUsers","useGridUndoRedo","useRemoteSelections","StartGridSession","StartGridSessionHandle","useDataGridWebSocket","applyModelChange","ModelChange","removeNoOpOperations","enrichRowsWithChangeInfo","mapOperationsToModelChanges","CurieAvatarHead","SynapseGridProps","agentRegistrationId","showDebugInfo","ref","SynapseGridHandle","initializeGrid","request","loadExistingSession","sessionId","SynapseGridInner","t0","$","_c","t1","undefined","session","setSession","replicaId","setReplicaId","chatOpen","setChatOpen","lastSelection","setLastSelection","startGridSessionRef","gridRef","data","userBundle","isLoading","t2","refetch","refetchReplicas","t3","replicas","t4","handleReplicaConnectionChange","currentUserId","userId","String","replicaUserMap","t5","t6","Symbol","for","current","handleStartSession","handleLoadSession","t7","onGridReady","onReplicaConnected","onReplicaDisconnected","isConnected","websocketInstance","hasCompletedInitialSync","isSyncing","model","modelSnapshot","connect","presignedUrl","hasSufficientData","websocketError","websocketInstanceRef","t8","t9","lastConnectParamsRef","t10","nextParams","prevParams","t11","t12","t13","t14","setActiveCell","jsonSchema","t15","sourceEntityId","t16","enabled","entityData","entityIsView","concreteType","t17","upsertKey","t18","t19","schemaPropertiesInfo","connectionStatus","remoteSelections","t20","rowValues","t21","enrichedRowValues","t22","sendPatch","commit","t23","t24","t25","model_0","modelChanges","forEach","change","applyAndCommitChanges","t26","change_0","console","error","type","applyModelChangeFromUndoRedo","undoUI","redoUI","addOperationsToUndoStack","clearRedoStack","t27","newValue","operations","length","modelChanges_0","handleChange","t28","opts","selection","replicaSelectionModel","toString","handleSelectionChange","t29","rowIndex","colIndex","col","row","handleNavigateToCell","t30","newColumnOrder","handleReorderColumns","isCertified","t31","xs","xl","t32","t33","t34","gridJsonSchema$Id","substring","color","connectedReplicas","filter","_temp","map","r_0","i","r","margin","fontSize","JSON","stringify","cursor","textDecoration","t35","t36","columnNames","columnOrder","marginBottom","justifyContent","display","alignItems","gap","mr","padding","border","maxHeight","overflowY","t37","SynapseGrid","props"],"sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"sourcesContent":["import CertificationRequirement from '@/components/AccessRequirementList/RequirementItem/CertificationRequirement'\nimport ExportCsvFromGridButton from '@/components/DataGrid/components/ExportCsvFromGridButton'\nimport GridMenuButton from '@/components/DataGrid/components/GridMenuButton/GridMenuButton'\nimport ReorderColumnsButton from '@/components/DataGrid/components/ReorderColumnsButton'\nimport UploadCsvToGridButton from '@/components/DataGrid/components/UploadCsvToGridButton'\nimport useGetSchemaForGrid from '@/components/DataGrid/hooks/useGetSchemaForGrid'\nimport SyncGridWithSourceButton from '@/components/DataGrid/SyncGridWithSourceButton'\nimport computeReplicaSelectionModel from '@/components/DataGrid/utils/computeReplicaSelectionModel'\nimport modelRowsToGrid from '@/components/DataGrid/utils/modelRowsToGrid'\nimport { SynapseErrorBoundary } from '@/components/error/ErrorBanner'\nimport { SkeletonTable } from '@/components/index'\nimport { useGetCurrentUserBundle } from '@/synapse-queries'\nimport { useListGridReplicas } from '@/synapse-queries/grid/useGridSession'\nimport { useGetEntity } from '@/synapse-queries/index'\nimport { getSchemaPropertiesInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport { HelpOutline } from '@mui/icons-material'\nimport { Box, Stack, Tooltip, Typography } from '@mui/material'\nimport Grid from '@mui/material/Grid'\nimport {\n DataSheetGridRef,\n SelectionWithId,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport {\n CreateGridRequest,\n GridSession,\n} from '@sage-bionetworks/synapse-client'\nimport { ClickableJsonCrdt } from 'clickable-json'\nimport {\n Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { useErrorHandler } from 'react-error-boundary'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport GridAgentChat from '../SynapseChat/GridAgentChat'\nimport { ValidationAlert } from './components/ValidationAlert'\nimport DataGrid from './DataGrid'\nimport { DataGridRow, GridModel, Operation } from './DataGridTypes'\nimport { useGridReplicaUsers } from './hooks/useGridReplicaUsers'\nimport { useGridUndoRedo } from './hooks/useGridUndoRedo'\nimport { useRemoteSelections } from './hooks/useRemoteSelections'\nimport { StartGridSession, StartGridSessionHandle } from './StartGridSession'\nimport { useDataGridWebSocket } from './useDataGridWebsocket'\nimport { applyModelChange, ModelChange } from './utils/applyModelChange'\nimport { removeNoOpOperations } from './utils/DataGridUtils'\nimport { enrichRowsWithChangeInfo } from './utils/enrichRowsWithChangeInfo'\nimport { mapOperationsToModelChanges } from './utils/mapOperationsToModelChanges'\nimport CurieAvatarHead from '@/assets/mui_components/CurieAvatarHead'\n\nexport type SynapseGridProps = {\n agentRegistrationId?: string\n showDebugInfo?: boolean\n ref?: Ref<SynapseGridHandle>\n}\n\nexport type SynapseGridHandle = {\n initializeGrid: (request: CreateGridRequest) => void\n loadExistingSession: (sessionId: string) => void\n}\n\nfunction SynapseGridInner({\n agentRegistrationId,\n showDebugInfo = false,\n ref,\n}: SynapseGridProps) {\n const [session, setSession] = useState<GridSession | null>(null)\n const [replicaId, setReplicaId] = useState<number | null>(null)\n const [chatOpen, setChatOpen] = useState(false)\n const [lastSelection, setLastSelection] = useState<SelectionWithId | null>(\n null,\n )\n\n const startGridSessionRef = useRef<StartGridSessionHandle | null>(null)\n const gridRef = useRef<DataSheetGridRef | null>(null)\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const { data: replicas = [], refetch: refetchReplicas } = useListGridReplicas(\n session?.sessionId,\n )\n\n const handleReplicaConnectionChange = useCallback(() => {\n void refetchReplicas()\n }, [refetchReplicas])\n\n // ── Attribution infrastructure ─────────────────────────────────────────\n const currentUserId =\n userBundle?.userId != null ? String(userBundle.userId) : undefined\n\n const replicaUserMap = useGridReplicaUsers(replicas, replicaId, currentUserId)\n\n useImperativeHandle(\n ref,\n () => ({\n initializeGrid: (request: CreateGridRequest) => {\n if (startGridSessionRef.current) {\n startGridSessionRef.current.handleStartSession(request)\n }\n },\n loadExistingSession: (sessionId: string) => {\n if (startGridSessionRef.current) {\n startGridSessionRef.current.handleLoadSession(sessionId)\n }\n },\n }),\n [],\n )\n\n // WebSocket state\n const {\n isConnected,\n websocketInstance,\n hasCompletedInitialSync,\n isSyncing,\n model,\n modelSnapshot,\n connect,\n presignedUrl,\n hasSufficientData,\n websocketError,\n } = useDataGridWebSocket({\n onGridReady: handleReplicaConnectionChange,\n onReplicaConnected: handleReplicaConnectionChange,\n onReplicaDisconnected: handleReplicaConnectionChange,\n })\n\n useErrorHandler(websocketError)\n\n const websocketInstanceRef = useRef<typeof websocketInstance | null>(null)\n\n useEffect(() => {\n websocketInstanceRef.current = websocketInstance\n }, [websocketInstance])\n\n // Track last connection parameters to avoid redundant connections\n const lastConnectParamsRef = useRef<{\n replicaId: number\n sessionId: string\n } | null>(null)\n\n useEffect(() => {\n if (replicaId === null || replicaId === undefined || !session?.sessionId) {\n lastConnectParamsRef.current = null\n return\n }\n\n const nextParams = {\n replicaId,\n sessionId: session.sessionId,\n }\n\n const prevParams = lastConnectParamsRef.current\n\n if (\n prevParams &&\n prevParams.replicaId === nextParams.replicaId &&\n prevParams.sessionId === nextParams.sessionId\n ) {\n return\n }\n\n lastConnectParamsRef.current = nextParams\n connect(replicaId, session.sessionId)\n }, [replicaId, session?.sessionId, connect])\n\n // Reset grid state when model is reset (new session/replica)\n useEffect(() => {\n if (model === null) {\n // Clear any grid-specific state when starting a new session\n setLastSelection(null)\n // Clear active cell if grid exists\n if (gridRef.current) {\n gridRef.current.setActiveCell(null)\n }\n }\n }, [model])\n\n const jsonSchema = useGetSchemaForGrid(session)\n\n // Grid behaves differently for views vs recordSets\n // Note for future: can get modifiedOn to refresh grid when view changes\n const { data: entityData } = useGetEntity(\n session?.sourceEntityId,\n undefined,\n {\n enabled: !!session?.sourceEntityId,\n },\n )\n\n const entityIsView =\n entityData?.concreteType ===\n 'org.sagebionetworks.repo.model.table.EntityView'\n\n // If grid source entity is a recordSet, get its upsert key(s)\n // from the entity bundle\n const upsertKey = !entityIsView\n ? (entityData as { upsertKey?: string[] } | undefined)?.upsertKey\n : []\n\n // Process schema properties once\n const schemaPropertiesInfo = useMemo(() => {\n return getSchemaPropertiesInfo(jsonSchema ?? null)\n }, [jsonSchema])\n\n const connectionStatus = isConnected ? 'Connected' : 'Disconnected'\n\n const remoteSelections = useRemoteSelections(\n modelSnapshot,\n model,\n replicas,\n replicaId,\n )\n\n // Transform the model view rows and columns to DataSheetGrid format\n const rowValues = useMemo(\n () => (modelSnapshot ? modelRowsToGrid(model, modelSnapshot) : []),\n [model, modelSnapshot],\n )\n\n // Enrich rows with per-cell change attribution for CSS indicators and tooltips\n const enrichedRowValues = useMemo(\n () =>\n enrichRowsWithChangeInfo(rowValues, model, modelSnapshot, replicaUserMap),\n [rowValues, model, modelSnapshot, replicaUserMap],\n )\n\n const commit = useCallback(() => {\n if (!isConnected || !websocketInstanceRef.current) {\n return\n }\n\n websocketInstanceRef.current.sendPatch()\n }, [isConnected, websocketInstanceRef])\n\n useEffect(() => {\n if (isConnected) {\n commit()\n }\n }, [isConnected, commit])\n\n const applyAndCommitChanges = useCallback(\n (model: GridModel, modelChanges: ModelChange[]) => {\n // Apply each change to the model\n modelChanges.forEach(change => {\n applyModelChange(model, change, schemaPropertiesInfo)\n })\n\n commit()\n },\n [commit, schemaPropertiesInfo],\n )\n\n const applyModelChangeFromUndoRedo = useCallback(\n (change: ModelChange) => {\n if (!model) {\n console.error('Model is not initialized')\n return\n }\n\n if (change.type === 'DELETE' && gridRef.current) {\n // The user may have set a cell as active that we are removing with an 'undo'. In that case, clear the active state\n gridRef.current.setActiveCell(null)\n }\n\n applyAndCommitChanges(model, [change])\n },\n [model, applyAndCommitChanges],\n )\n\n const { undoUI, redoUI, addOperationsToUndoStack, clearRedoStack } =\n useGridUndoRedo(applyModelChangeFromUndoRedo)\n\n const handleChange = useCallback(\n (newValue: DataGridRow[], operations: Operation[]) => {\n if (!model) {\n console.error('Model is not initialized')\n return\n }\n\n // Check that something changed before updating the model\n operations = removeNoOpOperations(newValue, rowValues, operations)\n\n if (operations.length > 0) {\n // Clear redo stack since new changes invalidate redo history\n clearRedoStack()\n\n // Track row creation, updates, and deletions to keep UI state and undo history in sync\n\n // Add all operations to the undo stack\n addOperationsToUndoStack(operations, rowValues, newValue)\n\n // Transform operations to model changes\n const modelChanges = mapOperationsToModelChanges(operations, newValue)\n\n applyAndCommitChanges(model, modelChanges)\n }\n },\n [\n model,\n rowValues,\n clearRedoStack,\n addOperationsToUndoStack,\n applyAndCommitChanges,\n ],\n )\n\n const handleSelectionChange = useCallback(\n (opts: { selection: SelectionWithId | null }) => {\n const { selection } = opts\n if (selection != null) {\n setLastSelection(selection)\n\n if (model != null && replicaId != null) {\n const replicaSelectionModel = computeReplicaSelectionModel(\n selection,\n model,\n )\n // insert it into the CRDT Model\n applyAndCommitChanges(model, [\n {\n type: 'SET_SELECTION',\n replicaId: replicaId.toString(),\n selection: replicaSelectionModel,\n },\n ])\n }\n }\n },\n [applyAndCommitChanges, model, replicaId],\n )\n\n const handleNavigateToCell = useCallback(\n (rowIndex: number, colIndex: number) => {\n gridRef.current?.setActiveCell({ col: colIndex, row: rowIndex })\n },\n [],\n )\n\n const handleReorderColumns = useCallback(\n (newColumnOrder: number[]) => {\n if (!model) return\n applyAndCommitChanges(model, [\n { type: 'REORDER_COLUMNS', newColumnOrder },\n ])\n },\n [model, applyAndCommitChanges],\n )\n\n if (!isLoading && !userBundle?.isCertified) {\n return <CertificationRequirement />\n }\n\n return (\n <div>\n <Grid container spacing={2}>\n <Grid size={{ xs: 12, xl: 8 }}>\n <StartGridSession\n ref={startGridSessionRef}\n onSessionChange={setSession}\n onReplicaChange={setReplicaId}\n show={showDebugInfo}\n />\n </Grid>\n {/* Debug Information */}\n <Grid size={{ xs: 12, xl: 4 }}>\n {showDebugInfo && (\n <div>\n <p>Session ID: {session?.sessionId || 'No session created'}</p>\n <p>Replica ID: {replicaId || 'No replica created'}</p>\n <p>\n Source Entity ID:{' '}\n {session?.sourceEntityId || 'No source entity'}\n </p>\n <p>\n JSON Schema $id:{' '}\n {session?.gridJsonSchema$Id || 'No schema attached to session'}\n </p>\n <p>\n Presigned URL:{' '}\n {presignedUrl\n ? presignedUrl.substring(0, 30) +\n (presignedUrl.length > 30\n ? ' ... ' +\n presignedUrl.substring(presignedUrl.length - 10)\n : '')\n : 'No URL generated'}\n </p>\n <p>\n WebSocket Status:{' '}\n <span style={{ color: isConnected ? 'green' : 'red' }}>\n {connectionStatus}\n </span>\n </p>\n <p>\n {(() => {\n const connectedReplicas = replicas.filter(r => r.isConnected)\n return (\n <>\n Connected Replicas ({connectedReplicas.length} /{' '}\n {replicas.length} total):{' '}\n {connectedReplicas.length === 0\n ? 'none'\n : connectedReplicas.map((r, i) => (\n <Tooltip\n key={r.replicaId}\n title={\n <pre style={{ margin: 0, fontSize: '11px' }}>\n {JSON.stringify(r, null, 2)}\n </pre>\n }\n >\n <span\n style={{\n cursor: 'pointer',\n textDecoration: 'underline dotted',\n }}\n >\n {r.replicaId}\n {i < connectedReplicas.length - 1 ? ', ' : ''}\n </span>\n </Tooltip>\n ))}\n </>\n )\n })()}\n </p>\n </div>\n )}\n </Grid>\n\n {session && (\n <>\n {/* Grid Loading State */}\n {!hasSufficientData && (\n <Grid size={12}>\n <h3>Setting up grid...</h3>\n <div style={{ marginBottom: '10px' }}>\n {!session && <p>Creating grid session...</p>}\n {session && !replicaId && <p>Setting up real-time sync...</p>}\n {session && replicaId && !presignedUrl && (\n <p>Establishing secure connection...</p>\n )}\n {session && replicaId && presignedUrl && !isConnected && (\n <p>Connecting to server...</p>\n )}\n {isConnected && !hasCompletedInitialSync && (\n <p>Loading table data...</p>\n )}\n <SkeletonTable numRows={4} numCols={1} />\n </div>\n </Grid>\n )}\n {/* Grid */}\n {hasSufficientData && (\n <>\n <Grid size={12}>\n <ValidationAlert\n rowValues={rowValues}\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n onNavigateToCell={handleNavigateToCell}\n isLoading={!hasCompletedInitialSync}\n />\n </Grid>\n <Grid size={12}>\n <Stack\n direction={'row'}\n spacing={1}\n sx={{ justifyContent: 'flex-end' }}\n >\n {/* Keep this sync indicator first in the stack, otherwise it will cause other buttons to shift */}\n {(!hasCompletedInitialSync || isSyncing) && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n }}\n >\n <SynapseSpinner size={16} margin=\"0\" />\n <Typography variant=\"caption\" color=\"text.secondary\">\n {hasCompletedInitialSync ? 'Syncing…' : 'Loading…'}\n </Typography>\n </Box>\n )}\n <GridMenuButton\n variant=\"outlined\"\n startIcon={<HelpOutline />}\n href=\"https://docs.synapse.org/synapse-docs/managing-metadata-with-curator\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{ mr: 'auto' }}\n >\n Help and Instructions\n </GridMenuButton>\n {undoUI}\n {redoUI}\n <ReorderColumnsButton\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n jsonSchema={jsonSchema}\n upsertKey={upsertKey}\n onReorder={handleReorderColumns}\n />\n <GridMenuButton\n variant={'outlined'}\n onClick={() => setChatOpen(true)}\n startIcon={<CurieAvatarHead />}\n >\n Open Curie\n </GridMenuButton>\n <GridAgentChat\n agentRegistrationId={agentRegistrationId}\n open={chatOpen}\n onClose={() => setChatOpen(false)}\n gridSessionId={session.sessionId!}\n usersReplicaId={replicaId!}\n chatbotName=\"Curie\"\n />\n {session.sourceEntityId && (\n <UploadCsvToGridButton\n sourceEntityId={session.sourceEntityId}\n gridSessionId={session.sessionId!}\n />\n )}\n {session.sessionId && (\n <ExportCsvFromGridButton\n gridSessionId={session.sessionId}\n filename={\n 'grid-' + (session.sourceEntityId || 'export')\n }\n />\n )}\n {session.sourceEntityId && (\n <SyncGridWithSourceButton gridSession={session} />\n )}\n </Stack>\n </Grid>\n <Grid size={12}>\n <DataGrid\n gridRef={gridRef}\n rowValues={enrichedRowValues}\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n schemaPropertiesInfo={schemaPropertiesInfo}\n entityIsView={entityIsView}\n jsonSchema={jsonSchema}\n lastSelection={lastSelection}\n handleChange={handleChange}\n handleSelectionChange={handleSelectionChange}\n remoteSelections={remoteSelections}\n upsertKey={upsertKey}\n />\n </Grid>\n </>\n )}\n {/* Debug Model Snapshot */}\n {showDebugInfo && (\n <Grid\n size={12}\n style={{\n margin: '10px 0',\n padding: '10px',\n border: '1px solid #ccc',\n maxHeight: '400px',\n overflowY: 'auto',\n }}\n >\n <h3>Model</h3>\n {model ? (\n <ClickableJsonCrdt model={model} />\n ) : (\n 'No model available'\n )}\n </Grid>\n )}\n </>\n )}\n </Grid>\n </div>\n )\n}\n\nfunction SynapseGrid(props: SynapseGridProps) {\n return (\n <SynapseErrorBoundary>\n <SynapseGridInner {...props} />\n </SynapseErrorBoundary>\n )\n}\n\nexport default SynapseGrid\n"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseGrid.js","names":["CertificationRequirement","ExportCsvFromGridButton","GridMenuButton","ReorderColumnsButton","UploadCsvToGridButton","useGetSchemaForGrid","SyncGridWithSourceButton","computeReplicaSelectionModel","modelRowsToGrid","SynapseErrorBoundary","SkeletonTable","useGetCurrentUserBundle","useListGridReplicas","useGetEntity","getSchemaPropertiesInfo","HelpOutline","Box","Stack","Tooltip","Typography","Grid","DataSheetGridRef","SelectionWithId","CreateGridRequest","GridSession","instanceOfRecordSet","ClickableJsonCrdt","Ref","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","useErrorHandler","SynapseSpinner","GridAgentChat","ValidationAlert","DataGrid","DataGridRow","GridModel","Operation","useGridReplicaUsers","useGridUndoRedo","useRemoteSelections","StartGridSession","StartGridSessionHandle","useDataGridWebSocket","applyModelChange","ModelChange","removeNoOpOperations","enrichRowsWithChangeInfo","mapOperationsToModelChanges","CurieAvatarHead","SynapseGridProps","agentRegistrationId","showDebugInfo","ref","SynapseGridHandle","initializeGrid","request","loadExistingSession","sessionId","SynapseGridInner","t0","$","_c","t1","undefined","session","setSession","replicaId","setReplicaId","chatOpen","setChatOpen","lastSelection","setLastSelection","startGridSessionRef","gridRef","data","userBundle","isLoading","t2","refetch","refetchReplicas","t3","replicas","t4","handleReplicaConnectionChange","currentUserId","userId","String","replicaUserMap","t5","t6","Symbol","for","current","handleStartSession","handleLoadSession","t7","onGridReady","onReplicaConnected","onReplicaDisconnected","isConnected","websocketInstance","hasCompletedInitialSync","isSyncing","model","modelSnapshot","connect","presignedUrl","hasSufficientData","websocketError","websocketInstanceRef","t8","t9","lastConnectParamsRef","t10","nextParams","prevParams","t11","t12","t13","t14","setActiveCell","jsonSchema","t15","sourceEntityId","t16","enabled","entityData","entityIsView","concreteType","t17","isRecordSet","t18","upsertKey","t19","t20","schemaPropertiesInfo","connectionStatus","remoteSelections","t21","rowValues","t22","enrichedRowValues","t23","sendPatch","commit","t24","t25","t26","model_0","modelChanges","forEach","change","applyAndCommitChanges","t27","change_0","console","error","type","applyModelChangeFromUndoRedo","undoUI","redoUI","addOperationsToUndoStack","clearRedoStack","t28","newValue","operations","length","modelChanges_0","handleChange","t29","opts","selection","replicaSelectionModel","toString","handleSelectionChange","t30","rowIndex","colIndex","col","row","handleNavigateToCell","t31","newColumnOrder","handleReorderColumns","isCertified","t32","xs","xl","t33","t34","t35","gridJsonSchema$Id","substring","color","connectedReplicas","filter","_temp","map","r_0","i","r","margin","fontSize","JSON","stringify","cursor","textDecoration","t36","t37","columnNames","columnOrder","marginBottom","justifyContent","display","alignItems","gap","mr","padding","border","maxHeight","overflowY","t38","SynapseGrid","props"],"sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"sourcesContent":["import CertificationRequirement from '@/components/AccessRequirementList/RequirementItem/CertificationRequirement'\nimport ExportCsvFromGridButton from '@/components/DataGrid/components/ExportCsvFromGridButton'\nimport GridMenuButton from '@/components/DataGrid/components/GridMenuButton/GridMenuButton'\nimport ReorderColumnsButton from '@/components/DataGrid/components/ReorderColumnsButton'\nimport UploadCsvToGridButton from '@/components/DataGrid/components/UploadCsvToGridButton'\nimport useGetSchemaForGrid from '@/components/DataGrid/hooks/useGetSchemaForGrid'\nimport SyncGridWithSourceButton from '@/components/DataGrid/SyncGridWithSourceButton'\nimport computeReplicaSelectionModel from '@/components/DataGrid/utils/computeReplicaSelectionModel'\nimport modelRowsToGrid from '@/components/DataGrid/utils/modelRowsToGrid'\nimport { SynapseErrorBoundary } from '@/components/error/ErrorBanner'\nimport { SkeletonTable } from '@/components/index'\nimport { useGetCurrentUserBundle } from '@/synapse-queries'\nimport { useListGridReplicas } from '@/synapse-queries/grid/useGridSession'\nimport { useGetEntity } from '@/synapse-queries/index'\nimport { getSchemaPropertiesInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport { HelpOutline } from '@mui/icons-material'\nimport { Box, Stack, Tooltip, Typography } from '@mui/material'\nimport Grid from '@mui/material/Grid'\nimport {\n DataSheetGridRef,\n SelectionWithId,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport {\n CreateGridRequest,\n GridSession,\n instanceOfRecordSet,\n} from '@sage-bionetworks/synapse-client'\nimport { ClickableJsonCrdt } from 'clickable-json'\nimport {\n Ref,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport { useErrorHandler } from 'react-error-boundary'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport GridAgentChat from '../SynapseChat/GridAgentChat'\nimport { ValidationAlert } from './components/ValidationAlert'\nimport DataGrid from './DataGrid'\nimport { DataGridRow, GridModel, Operation } from './DataGridTypes'\nimport { useGridReplicaUsers } from './hooks/useGridReplicaUsers'\nimport { useGridUndoRedo } from './hooks/useGridUndoRedo'\nimport { useRemoteSelections } from './hooks/useRemoteSelections'\nimport { StartGridSession, StartGridSessionHandle } from './StartGridSession'\nimport { useDataGridWebSocket } from './useDataGridWebsocket'\nimport { applyModelChange, ModelChange } from './utils/applyModelChange'\nimport { removeNoOpOperations } from './utils/DataGridUtils'\nimport { enrichRowsWithChangeInfo } from './utils/enrichRowsWithChangeInfo'\nimport { mapOperationsToModelChanges } from './utils/mapOperationsToModelChanges'\nimport CurieAvatarHead from '@/assets/mui_components/CurieAvatarHead'\n\nexport type SynapseGridProps = {\n agentRegistrationId?: string\n showDebugInfo?: boolean\n ref?: Ref<SynapseGridHandle>\n}\n\nexport type SynapseGridHandle = {\n initializeGrid: (request: CreateGridRequest) => void\n loadExistingSession: (sessionId: string) => void\n}\n\nfunction SynapseGridInner({\n agentRegistrationId,\n showDebugInfo = false,\n ref,\n}: SynapseGridProps) {\n const [session, setSession] = useState<GridSession | null>(null)\n const [replicaId, setReplicaId] = useState<number | null>(null)\n const [chatOpen, setChatOpen] = useState(false)\n const [lastSelection, setLastSelection] = useState<SelectionWithId | null>(\n null,\n )\n\n const startGridSessionRef = useRef<StartGridSessionHandle | null>(null)\n const gridRef = useRef<DataSheetGridRef | null>(null)\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const { data: replicas = [], refetch: refetchReplicas } = useListGridReplicas(\n session?.sessionId,\n )\n\n const handleReplicaConnectionChange = useCallback(() => {\n void refetchReplicas()\n }, [refetchReplicas])\n\n // ── Attribution infrastructure ─────────────────────────────────────────\n const currentUserId =\n userBundle?.userId != null ? String(userBundle.userId) : undefined\n\n const replicaUserMap = useGridReplicaUsers(replicas, replicaId, currentUserId)\n\n useImperativeHandle(\n ref,\n () => ({\n initializeGrid: (request: CreateGridRequest) => {\n if (startGridSessionRef.current) {\n startGridSessionRef.current.handleStartSession(request)\n }\n },\n loadExistingSession: (sessionId: string) => {\n if (startGridSessionRef.current) {\n startGridSessionRef.current.handleLoadSession(sessionId)\n }\n },\n }),\n [],\n )\n\n // WebSocket state\n const {\n isConnected,\n websocketInstance,\n hasCompletedInitialSync,\n isSyncing,\n model,\n modelSnapshot,\n connect,\n presignedUrl,\n hasSufficientData,\n websocketError,\n } = useDataGridWebSocket({\n onGridReady: handleReplicaConnectionChange,\n onReplicaConnected: handleReplicaConnectionChange,\n onReplicaDisconnected: handleReplicaConnectionChange,\n })\n\n useErrorHandler(websocketError)\n\n const websocketInstanceRef = useRef<typeof websocketInstance | null>(null)\n\n useEffect(() => {\n websocketInstanceRef.current = websocketInstance\n }, [websocketInstance])\n\n // Track last connection parameters to avoid redundant connections\n const lastConnectParamsRef = useRef<{\n replicaId: number\n sessionId: string\n } | null>(null)\n\n useEffect(() => {\n if (replicaId === null || replicaId === undefined || !session?.sessionId) {\n lastConnectParamsRef.current = null\n return\n }\n\n const nextParams = {\n replicaId,\n sessionId: session.sessionId,\n }\n\n const prevParams = lastConnectParamsRef.current\n\n if (\n prevParams &&\n prevParams.replicaId === nextParams.replicaId &&\n prevParams.sessionId === nextParams.sessionId\n ) {\n return\n }\n\n lastConnectParamsRef.current = nextParams\n connect(replicaId, session.sessionId)\n }, [replicaId, session?.sessionId, connect])\n\n // Reset grid state when model is reset (new session/replica)\n useEffect(() => {\n if (model === null) {\n // Clear any grid-specific state when starting a new session\n setLastSelection(null)\n // Clear active cell if grid exists\n if (gridRef.current) {\n gridRef.current.setActiveCell(null)\n }\n }\n }, [model])\n\n const jsonSchema = useGetSchemaForGrid(session)\n\n // Grid behaves differently for views vs recordSets\n // Note for future: can get modifiedOn to refresh grid when view changes\n const { data: entityData } = useGetEntity(\n session?.sourceEntityId,\n undefined,\n {\n enabled: !!session?.sourceEntityId,\n },\n )\n\n const entityIsView =\n entityData?.concreteType ===\n 'org.sagebionetworks.repo.model.table.EntityView'\n\n const isRecordSet = !!entityData && instanceOfRecordSet(entityData)\n\n // If grid source entity is a recordSet, get its upsert key(s)\n // from the entity bundle\n const upsertKey = !entityIsView\n ? (entityData as { upsertKey?: string[] } | undefined)?.upsertKey\n : []\n\n // Process schema properties once\n const schemaPropertiesInfo = useMemo(() => {\n return getSchemaPropertiesInfo(jsonSchema ?? null)\n }, [jsonSchema])\n\n const connectionStatus = isConnected ? 'Connected' : 'Disconnected'\n\n const remoteSelections = useRemoteSelections(\n modelSnapshot,\n model,\n replicas,\n replicaId,\n )\n\n // Transform the model view rows and columns to DataSheetGrid format\n const rowValues = useMemo(\n () => (modelSnapshot ? modelRowsToGrid(model, modelSnapshot) : []),\n [model, modelSnapshot],\n )\n\n // Enrich rows with per-cell change attribution for CSS indicators and tooltips\n const enrichedRowValues = useMemo(\n () =>\n enrichRowsWithChangeInfo(rowValues, model, modelSnapshot, replicaUserMap),\n [rowValues, model, modelSnapshot, replicaUserMap],\n )\n\n const commit = useCallback(() => {\n if (!isConnected || !websocketInstanceRef.current) {\n return\n }\n\n websocketInstanceRef.current.sendPatch()\n }, [isConnected, websocketInstanceRef])\n\n useEffect(() => {\n if (isConnected) {\n commit()\n }\n }, [isConnected, commit])\n\n const applyAndCommitChanges = useCallback(\n (model: GridModel, modelChanges: ModelChange[]) => {\n // Apply each change to the model\n modelChanges.forEach(change => {\n applyModelChange(model, change, schemaPropertiesInfo)\n })\n\n commit()\n },\n [commit, schemaPropertiesInfo],\n )\n\n const applyModelChangeFromUndoRedo = useCallback(\n (change: ModelChange) => {\n if (!model) {\n console.error('Model is not initialized')\n return\n }\n\n if (change.type === 'DELETE' && gridRef.current) {\n // The user may have set a cell as active that we are removing with an 'undo'. In that case, clear the active state\n gridRef.current.setActiveCell(null)\n }\n\n applyAndCommitChanges(model, [change])\n },\n [model, applyAndCommitChanges],\n )\n\n const { undoUI, redoUI, addOperationsToUndoStack, clearRedoStack } =\n useGridUndoRedo(applyModelChangeFromUndoRedo)\n\n const handleChange = useCallback(\n (newValue: DataGridRow[], operations: Operation[]) => {\n if (!model) {\n console.error('Model is not initialized')\n return\n }\n\n // Check that something changed before updating the model\n operations = removeNoOpOperations(newValue, rowValues, operations)\n\n if (operations.length > 0) {\n // Clear redo stack since new changes invalidate redo history\n clearRedoStack()\n\n // Track row creation, updates, and deletions to keep UI state and undo history in sync\n\n // Add all operations to the undo stack\n addOperationsToUndoStack(operations, rowValues, newValue)\n\n // Transform operations to model changes\n const modelChanges = mapOperationsToModelChanges(operations, newValue)\n\n applyAndCommitChanges(model, modelChanges)\n }\n },\n [\n model,\n rowValues,\n clearRedoStack,\n addOperationsToUndoStack,\n applyAndCommitChanges,\n ],\n )\n\n const handleSelectionChange = useCallback(\n (opts: { selection: SelectionWithId | null }) => {\n const { selection } = opts\n if (selection != null) {\n setLastSelection(selection)\n\n if (model != null && replicaId != null) {\n const replicaSelectionModel = computeReplicaSelectionModel(\n selection,\n model,\n )\n // insert it into the CRDT Model\n applyAndCommitChanges(model, [\n {\n type: 'SET_SELECTION',\n replicaId: replicaId.toString(),\n selection: replicaSelectionModel,\n },\n ])\n }\n }\n },\n [applyAndCommitChanges, model, replicaId],\n )\n\n const handleNavigateToCell = useCallback(\n (rowIndex: number, colIndex: number) => {\n gridRef.current?.setActiveCell({ col: colIndex, row: rowIndex })\n },\n [],\n )\n\n const handleReorderColumns = useCallback(\n (newColumnOrder: number[]) => {\n if (!model) return\n applyAndCommitChanges(model, [\n { type: 'REORDER_COLUMNS', newColumnOrder },\n ])\n },\n [model, applyAndCommitChanges],\n )\n\n if (!isLoading && !userBundle?.isCertified) {\n return <CertificationRequirement />\n }\n\n return (\n <div>\n <Grid container spacing={2}>\n <Grid size={{ xs: 12, xl: 8 }}>\n <StartGridSession\n ref={startGridSessionRef}\n onSessionChange={setSession}\n onReplicaChange={setReplicaId}\n show={showDebugInfo}\n />\n </Grid>\n {/* Debug Information */}\n <Grid size={{ xs: 12, xl: 4 }}>\n {showDebugInfo && (\n <div>\n <p>Session ID: {session?.sessionId || 'No session created'}</p>\n <p>Replica ID: {replicaId || 'No replica created'}</p>\n <p>\n Source Entity ID:{' '}\n {session?.sourceEntityId || 'No source entity'}\n </p>\n <p>\n JSON Schema $id:{' '}\n {session?.gridJsonSchema$Id || 'No schema attached to session'}\n </p>\n <p>\n Presigned URL:{' '}\n {presignedUrl\n ? presignedUrl.substring(0, 30) +\n (presignedUrl.length > 30\n ? ' ... ' +\n presignedUrl.substring(presignedUrl.length - 10)\n : '')\n : 'No URL generated'}\n </p>\n <p>\n WebSocket Status:{' '}\n <span style={{ color: isConnected ? 'green' : 'red' }}>\n {connectionStatus}\n </span>\n </p>\n <p>\n {(() => {\n const connectedReplicas = replicas.filter(r => r.isConnected)\n return (\n <>\n Connected Replicas ({connectedReplicas.length} /{' '}\n {replicas.length} total):{' '}\n {connectedReplicas.length === 0\n ? 'none'\n : connectedReplicas.map((r, i) => (\n <Tooltip\n key={r.replicaId}\n title={\n <pre style={{ margin: 0, fontSize: '11px' }}>\n {JSON.stringify(r, null, 2)}\n </pre>\n }\n >\n <span\n style={{\n cursor: 'pointer',\n textDecoration: 'underline dotted',\n }}\n >\n {r.replicaId}\n {i < connectedReplicas.length - 1 ? ', ' : ''}\n </span>\n </Tooltip>\n ))}\n </>\n )\n })()}\n </p>\n </div>\n )}\n </Grid>\n\n {session && (\n <>\n {/* Grid Loading State */}\n {!hasSufficientData && (\n <Grid size={12}>\n <h3>Setting up grid...</h3>\n <div style={{ marginBottom: '10px' }}>\n {!session && <p>Creating grid session...</p>}\n {session && !replicaId && <p>Setting up real-time sync...</p>}\n {session && replicaId && !presignedUrl && (\n <p>Establishing secure connection...</p>\n )}\n {session && replicaId && presignedUrl && !isConnected && (\n <p>Connecting to server...</p>\n )}\n {isConnected && !hasCompletedInitialSync && (\n <p>Loading table data...</p>\n )}\n <SkeletonTable numRows={4} numCols={1} />\n </div>\n </Grid>\n )}\n {/* Grid */}\n {hasSufficientData && (\n <>\n <Grid size={12}>\n <ValidationAlert\n rowValues={rowValues}\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n onNavigateToCell={handleNavigateToCell}\n isLoading={!hasCompletedInitialSync}\n />\n </Grid>\n <Grid size={12}>\n <Stack\n direction={'row'}\n spacing={1}\n sx={{ justifyContent: 'flex-end' }}\n >\n {/* Keep this sync indicator first in the stack, otherwise it will cause other buttons to shift */}\n {(!hasCompletedInitialSync || isSyncing) && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n }}\n >\n <SynapseSpinner size={16} margin=\"0\" />\n <Typography variant=\"caption\" color=\"text.secondary\">\n {hasCompletedInitialSync ? 'Syncing…' : 'Loading…'}\n </Typography>\n </Box>\n )}\n <GridMenuButton\n variant=\"outlined\"\n startIcon={<HelpOutline />}\n href=\"https://docs.synapse.org/synapse-docs/managing-metadata-with-curator\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n sx={{ mr: 'auto' }}\n >\n Help and Instructions\n </GridMenuButton>\n {undoUI}\n {redoUI}\n <ReorderColumnsButton\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n jsonSchema={jsonSchema}\n upsertKey={upsertKey}\n canRemoveColumns={isRecordSet}\n onReorder={handleReorderColumns}\n />\n <GridMenuButton\n variant={'outlined'}\n onClick={() => setChatOpen(true)}\n startIcon={<CurieAvatarHead />}\n >\n Open Curie\n </GridMenuButton>\n <GridAgentChat\n agentRegistrationId={agentRegistrationId}\n open={chatOpen}\n onClose={() => setChatOpen(false)}\n gridSessionId={session.sessionId!}\n usersReplicaId={replicaId!}\n chatbotName=\"Curie\"\n />\n {session.sourceEntityId && (\n <UploadCsvToGridButton\n sourceEntityId={session.sourceEntityId}\n gridSessionId={session.sessionId!}\n />\n )}\n {session.sessionId && (\n <ExportCsvFromGridButton\n gridSessionId={session.sessionId}\n filename={\n 'grid-' + (session.sourceEntityId || 'export')\n }\n />\n )}\n {session.sourceEntityId && (\n <SyncGridWithSourceButton gridSession={session} />\n )}\n </Stack>\n </Grid>\n <Grid size={12}>\n <DataGrid\n gridRef={gridRef}\n rowValues={enrichedRowValues}\n columnNames={modelSnapshot?.columnNames ?? []}\n columnOrder={modelSnapshot?.columnOrder ?? []}\n schemaPropertiesInfo={schemaPropertiesInfo}\n entityIsView={entityIsView}\n jsonSchema={jsonSchema}\n lastSelection={lastSelection}\n handleChange={handleChange}\n handleSelectionChange={handleSelectionChange}\n remoteSelections={remoteSelections}\n upsertKey={upsertKey}\n />\n </Grid>\n </>\n )}\n {/* Debug Model Snapshot */}\n {showDebugInfo && (\n <Grid\n size={12}\n style={{\n margin: '10px 0',\n padding: '10px',\n border: '1px solid #ccc',\n maxHeight: '400px',\n overflowY: 'auto',\n }}\n >\n <h3>Model</h3>\n {model ? (\n <ClickableJsonCrdt model={model} />\n ) : (\n 'No model available'\n )}\n </Grid>\n )}\n </>\n )}\n </Grid>\n </div>\n )\n}\n\nfunction SynapseGrid(props: SynapseGridProps) {\n return (\n <SynapseErrorBoundary>\n <SynapseGridInner {...props} />\n </SynapseErrorBoundary>\n )\n}\n\nexport default SynapseGrid\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare function shouldPullBeforePush(gridSession: GridSession, sourceEnt
22
22
  * Determines the button label and tooltip copy for the sync button based on whether the
23
23
  * user should PULL before PULL_PUSH, and the source entity's type.
24
24
  */
25
- export declare function getSyncButtonLabels(shouldPull: boolean, sourceEntityType: EntityType | undefined, enableRecordSetSync: boolean): {
25
+ export declare function getSyncButtonLabels(shouldPull: boolean, sourceEntityType: EntityType | undefined): {
26
26
  buttonText: string;
27
27
  tooltipText: string;
28
28
  };