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
@@ -1 +1 @@
1
- {"version":3,"file":"columnFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAGL,MAAM,EAIP,MAAM,wCAAwC,CAAA;AAuE/C,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IACrD,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AAoLD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGzD"}
1
+ {"version":3,"file":"columnFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAGL,MAAM,EAGP,MAAM,wCAAwC,CAAA;AAwE/C,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IACrD,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AA0LD,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAGzD"}
@@ -1,25 +1,26 @@
1
- import { dateTimeColumn as e } from "../columns/DateTimeColumn.js";
2
- import { autocompleteColumn as t } from "../columns/AutocompleteColumn.js";
1
+ import { autocompleteColumn as e } from "../columns/AutocompleteColumn.js";
2
+ import { dateTimeColumn as t } from "../columns/DateTimeColumn.js";
3
3
  import { autocompleteMultipleEnumColumn as n } from "../columns/AutocompleteMultipleEnumColumn.js";
4
- import { calculateDefaultColumnWidth as r } from "./calculateColumnWidth.js";
5
- import { ColumnHeaderWithTooltip as i } from "../components/ColumnHeaderWithTooltip.js";
6
- import { getEmptyValue as a } from "./getEmptyValue.js";
7
- import { wrapPasteValueWithSchemaCoercion as o } from "./schemaAwarePasteValue.js";
8
- import { Tooltip as s } from "@mui/material";
9
- import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
10
- import { SmartToyTwoTone as d } from "@mui/icons-material";
11
- import { c as f } from "react/compiler-runtime";
12
- import { createTextColumn as p, floatColumn as m, keyColumn as h } from "@sage-bionetworks/react-datasheet-grid";
4
+ import { getEmptyValue as r } from "./getEmptyValue.js";
5
+ import { numberColumn as i } from "../columns/NumberColumn.js";
6
+ import { calculateDefaultColumnWidth as a } from "./calculateColumnWidth.js";
7
+ import { ColumnHeaderWithTooltip as o } from "../components/ColumnHeaderWithTooltip.js";
8
+ import { wrapPasteValueWithSchemaCoercion as s } from "./schemaAwarePasteValue.js";
9
+ import { Tooltip as c } from "@mui/material";
10
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
11
+ import { SmartToyTwoTone as f } from "@mui/icons-material";
12
+ import { c as p } from "react/compiler-runtime";
13
+ import { createTextColumn as m, keyColumn as h } from "@sage-bionetworks/react-datasheet-grid";
13
14
  //#region src/components/DataGrid/utils/columnFactory.tsx
14
15
  function g(e, t) {
15
16
  function n(n) {
16
- let r = f(13), i = n.rowData.__cellChangeInfo?.[t], a = i?.category === "own-agent" || i?.category === "other-agent", o;
17
- r[0] === n ? o = r[1] : (o = /* @__PURE__ */ l(e, { ...n }), r[0] = n, r[1] = o);
18
- let p;
19
- r[2] !== i || r[3] !== a ? (p = i && !a && /* @__PURE__ */ l(s, {
17
+ let r = p(13), i = n.rowData.__cellChangeInfo?.[t], a = i?.category === "own-agent" || i?.category === "other-agent", o;
18
+ r[0] === n ? o = r[1] : (o = /* @__PURE__ */ u(e, { ...n }), r[0] = n, r[1] = o);
19
+ let s;
20
+ r[2] !== i || r[3] !== a ? (s = i && !a && /* @__PURE__ */ u(c, {
20
21
  title: i.tooltipText,
21
22
  placement: "top-end",
22
- children: /* @__PURE__ */ l("div", { style: {
23
+ children: /* @__PURE__ */ u("div", { style: {
23
24
  position: "absolute",
24
25
  top: 0,
25
26
  right: 0,
@@ -28,12 +29,12 @@ function g(e, t) {
28
29
  zIndex: 21,
29
30
  pointerEvents: "auto"
30
31
  } })
31
- }), r[2] = i, r[3] = a, r[4] = p) : p = r[4];
32
+ }), r[2] = i, r[3] = a, r[4] = s) : s = r[4];
32
33
  let m;
33
- r[5] !== i || r[6] !== a || r[7] !== n.focus ? (m = a && !n.focus && /* @__PURE__ */ l(s, {
34
+ r[5] !== i || r[6] !== a || r[7] !== n.focus ? (m = a && !n.focus && /* @__PURE__ */ u(c, {
34
35
  title: i.tooltipText,
35
36
  placement: "left",
36
- children: /* @__PURE__ */ l(d, { sx: {
37
+ children: /* @__PURE__ */ u(f, { sx: {
37
38
  fontSize: "1em",
38
39
  alignSelf: "center",
39
40
  flexShrink: 0,
@@ -45,35 +46,35 @@ function g(e, t) {
45
46
  } })
46
47
  }), r[5] = i, r[6] = a, r[7] = n.focus, r[8] = m) : m = r[8];
47
48
  let h;
48
- return r[9] !== o || r[10] !== p || r[11] !== m ? (h = /* @__PURE__ */ u(c, { children: [
49
+ return r[9] !== o || r[10] !== s || r[11] !== m ? (h = /* @__PURE__ */ d(l, { children: [
49
50
  o,
50
- p,
51
+ s,
51
52
  m
52
- ] }), r[9] = o, r[10] = p, r[11] = m, r[12] = h) : h = r[12], h;
53
+ ] }), r[9] = o, r[10] = s, r[11] = m, r[12] = h) : h = r[12], h;
53
54
  }
54
55
  return n.displayName = `CellWithTooltip(${t})`, n;
55
56
  }
56
57
  function _(e, t) {
57
58
  return ({ rowData: n }) => ({
58
59
  ...n,
59
- [e]: a(t)
60
+ [e]: r(t)
60
61
  });
61
62
  }
62
63
  function v(e) {
63
64
  return (t) => {
64
65
  let n = t.trim();
65
- return n === "" ? a(e) : n;
66
+ return n === "" ? r(e) : n;
66
67
  };
67
68
  }
68
69
  function y(e, t) {
69
70
  let n = {
70
71
  showPinIcon: e.showPinIcon,
71
72
  hasDescription: !!e.description
72
- }, a = e.customWidth ?? r(e.columnName, void 0, n), s = h(e.columnName, t);
73
+ }, r = e.customWidth ?? a(e.columnName, void 0, n), i = h(e.columnName, t);
73
74
  return {
74
- ...s,
75
- component: g(s.component, e.columnName),
76
- title: /* @__PURE__ */ l(i, {
75
+ ...i,
76
+ component: g(i.component, e.columnName),
77
+ title: /* @__PURE__ */ u(o, {
77
78
  name: e.columnName,
78
79
  description: e.description,
79
80
  isRequired: e.isRequired,
@@ -82,13 +83,13 @@ function y(e, t) {
82
83
  isPinned: e.isPinned,
83
84
  onTogglePin: e.onTogglePin
84
85
  }),
85
- minWidth: a,
86
- basis: a,
86
+ minWidth: r,
87
+ basis: r,
87
88
  grow: 0,
88
89
  shrink: 0,
89
90
  disabled: e.disabled,
90
91
  deleteValue: _(e.columnName, e.isRequired),
91
- pasteValue: o(s.pasteValue, e.columnName, e.schemaPropertyInfo),
92
+ pasteValue: s(i.pasteValue, e.columnName, e.schemaPropertyInfo),
92
93
  stickyLeft: e.isPinned
93
94
  };
94
95
  }
@@ -97,36 +98,39 @@ var b = {
97
98
  choices: e.enumeratedValues ?? [],
98
99
  colType: e.typeInfo?.type || null,
99
100
  limitTags: 3,
100
- clearValue: a(e.isRequired)
101
+ clearValue: r(e.isRequired)
101
102
  })),
102
- boolean: (e) => y(e, t({
103
+ boolean: (t) => y(t, e({
103
104
  choices: [!0, !1],
104
105
  colType: "boolean",
105
- clearValue: a(e.isRequired)
106
+ clearValue: r(t.isRequired)
106
107
  })),
107
- number: (e) => y(e, m),
108
- enumerated: (e) => y(e, t({
109
- choices: e.enumeratedValues ?? [],
110
- colType: e.typeInfo?.type || null,
111
- clearValue: a(e.isRequired)
108
+ number: (e) => y(e, i({
109
+ colType: e.typeInfo?.type,
110
+ isRequired: e.isRequired
111
+ })),
112
+ enumerated: (t) => y(t, e({
113
+ choices: t.enumeratedValues ?? [],
114
+ colType: t.typeInfo?.type || null,
115
+ clearValue: r(t.isRequired)
112
116
  })),
113
- "date-time": (t) => {
114
- let n = e({ colType: t.typeInfo?.type || null }), i = {
115
- showPinIcon: t.showPinIcon,
116
- hasDescription: !!t.description
117
- }, a = t.customWidth ?? r(t.columnName, {
118
- type: t.typeInfo ?? void 0,
119
- isRequired: t.isRequired,
117
+ "date-time": (e) => {
118
+ let n = t({ colType: e.typeInfo?.type || null }), r = {
119
+ showPinIcon: e.showPinIcon,
120
+ hasDescription: !!e.description
121
+ }, i = e.customWidth ?? a(e.columnName, {
122
+ type: e.typeInfo ?? void 0,
123
+ isRequired: e.isRequired,
120
124
  enumeratedValues: null
121
- }, i);
125
+ }, r);
122
126
  return {
123
- ...y(t, n),
124
- minWidth: a,
125
- basis: a
127
+ ...y(e, n),
128
+ minWidth: i,
129
+ basis: i
126
130
  };
127
131
  },
128
132
  text: (e) => ({
129
- ...y(e, p({
133
+ ...y(e, m({
130
134
  continuousUpdates: !1,
131
135
  deletedValue: void 0,
132
136
  parseUserInput: v(e.isRequired)
@@ -1 +1 @@
1
- {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","SchemaPropertyInfo","CellComponent","CellProps","Column","createTextColumn","floatColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","wrapPasteValueWithSchemaCoercion","getEmptyValue","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","isUpsertKey","schemaPropertyInfo","createDeleteValue","Record","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","undefined","keyed","component","title","minWidth","basis","grow","shrink","deleteValue","pasteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n floatColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\nimport { wrapPasteValueWithSchemaCoercion } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n isUpsertKey?: boolean\n /**\n * Optional column-level schema info. When provided, paste behavior coerces\n * empty pasted cells to the schema-correct blank (undefined for optional\n * columns, null for required columns). Omit to preserve the column impl's\n * default paste behavior.\n */\n schemaPropertyInfo?: SchemaPropertyInfo\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: getEmptyValue(isRequired),\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return getEmptyValue(isRequired)\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n isRequired={config.isRequired}\n isUpsertKey={config.isUpsertKey}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n pasteValue: wrapPasteValueWithSchemaCoercion(\n keyed.pasteValue,\n config.columnName,\n config.schemaPropertyInfo,\n ),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(config, floatColumn)\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"columnFactory.js","names":["dateTimeColumn","EnumeratedValue","FlatTypeInfo","SchemaPropertyInfo","CellComponent","CellProps","Column","createTextColumn","keyColumn","autocompleteColumn","autocompleteMultipleEnumColumn","numberColumn","calculateDefaultColumnWidth","HeaderOptions","ColumnHeaderWithTooltip","Tooltip","SmartToyTwoTone","DataGridRow","wrapPasteValueWithSchemaCoercion","getEmptyValue","withChangeIndicatorTooltip","OriginalComponent","T","C","colName","CellWithTooltip","props","$","_c","changeInfo","rowData","__cellChangeInfo","isAgent","category","t0","t1","tooltipText","position","top","right","width","height","zIndex","pointerEvents","t2","focus","fontSize","alignSelf","flexShrink","mr","color","backgroundColor","t3","displayName","ColumnConfig","columnName","description","disabled","typeInfo","enumeratedValues","isRequired","customWidth","showPinIcon","isPinned","onTogglePin","isUpsertKey","schemaPropertyInfo","createDeleteValue","Record","createParseUserInput","value","trimmedValue","trim","createBaseColumn","config","columnImpl","headerOptions","hasDescription","undefined","keyed","component","title","minWidth","basis","grow","shrink","deleteValue","pasteValue","stickyLeft","COLUMN_FACTORIES","multipleEnum","choices","colType","type","limitTags","clearValue","boolean","number","enumerated","date-time","text","continuousUpdates","deletedValue","parseUserInput","cellClassName","getColumnType","length","format","isArray","createColumn","columnType"],"sources":["../../../../src/components/DataGrid/utils/columnFactory.tsx"],"sourcesContent":["import { dateTimeColumn } from '@/components/DataGrid/columns/DateTimeColumn'\nimport { EnumeratedValue } from '@/utils/jsonschema/getEnumeratedValues'\nimport { FlatTypeInfo } from '@/utils/jsonschema/getType'\nimport { SchemaPropertyInfo } from '@/utils/jsonschema/getSchemaPropertyInfo'\nimport {\n CellComponent,\n CellProps,\n Column,\n createTextColumn,\n keyColumn,\n} from '@sage-bionetworks/react-datasheet-grid'\nimport { autocompleteColumn } from '../columns/AutocompleteColumn'\nimport { autocompleteMultipleEnumColumn } from '../columns/AutocompleteMultipleEnumColumn'\nimport { numberColumn } from '../columns/NumberColumn'\nimport {\n calculateDefaultColumnWidth,\n HeaderOptions,\n} from './calculateColumnWidth'\nimport { ColumnHeaderWithTooltip } from '../components/ColumnHeaderWithTooltip'\nimport { Tooltip } from '@mui/material'\nimport { SmartToyTwoTone } from '@mui/icons-material'\nimport type { DataGridRow } from '../DataGridTypes'\nimport { wrapPasteValueWithSchemaCoercion } from './schemaAwarePasteValue'\nimport { getEmptyValue } from './getEmptyValue'\n\n/**\n * Wraps a column cell component to overlay change-attribution indicators:\n * - Non-agent changes: invisible 7×7px tooltip trigger over the CSS triangle (top-right).\n * - Agent changes: robot icon (1em, vertically centered on the right) with no triangle.\n */\nfunction withChangeIndicatorTooltip<T, C>(\n OriginalComponent: CellComponent<T, C>,\n colName: string,\n): CellComponent<T, C> {\n function CellWithTooltip(props: CellProps<T, C>) {\n const changeInfo = (props.rowData as DataGridRow).__cellChangeInfo?.[\n colName\n ]\n const isAgent =\n changeInfo?.category === 'own-agent' ||\n changeInfo?.category === 'other-agent'\n return (\n <>\n <OriginalComponent {...props} />\n {changeInfo && !isAgent && (\n <Tooltip title={changeInfo.tooltipText} placement=\"top-end\">\n <div\n style={{\n position: 'absolute',\n top: 0,\n right: 0,\n width: 7,\n height: 7,\n zIndex: 21,\n pointerEvents: 'auto',\n }}\n />\n </Tooltip>\n )}\n {isAgent && !props.focus && (\n <Tooltip title={changeInfo.tooltipText} placement=\"left\">\n <SmartToyTwoTone\n sx={{\n fontSize: '1em',\n alignSelf: 'center',\n flexShrink: 0,\n mr: 0.5,\n zIndex: 21,\n pointerEvents: 'auto',\n color: 'grey.400',\n backgroundColor: 'transparent',\n }}\n />\n </Tooltip>\n )}\n </>\n )\n }\n CellWithTooltip.displayName = `CellWithTooltip(${colName})`\n return CellWithTooltip\n}\n\ntype ColumnConfig = {\n columnName: string\n description?: string\n disabled?: boolean\n typeInfo: FlatTypeInfo | null\n enumeratedValues: EnumeratedValue[] | string[] | null\n isRequired: boolean\n customWidth?: number\n showPinIcon?: boolean\n isPinned?: boolean\n onTogglePin?: () => void\n isUpsertKey?: boolean\n /**\n * Optional column-level schema info. When provided, paste behavior coerces\n * empty pasted cells to the schema-correct blank (undefined for optional\n * columns, null for required columns). Omit to preserve the column impl's\n * default paste behavior.\n */\n schemaPropertyInfo?: SchemaPropertyInfo\n}\n\nfunction createDeleteValue(columnName: string, isRequired?: boolean) {\n return ({ rowData }: { rowData: Record<string, unknown> }) => ({\n ...rowData,\n [columnName]: getEmptyValue(isRequired),\n })\n}\n\nfunction createParseUserInput(isRequired?: boolean) {\n return (value: string) => {\n const trimmedValue = value.trim()\n if (trimmedValue === '') {\n return getEmptyValue(isRequired)\n }\n return trimmedValue\n }\n}\n\nfunction createBaseColumn(config: ColumnConfig, columnImpl: any) {\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n undefined, // propertyInfo is not available here, passed from higher level\n headerOptions,\n )\n\n const keyed = keyColumn(config.columnName, columnImpl)\n return {\n ...keyed,\n component: withChangeIndicatorTooltip(keyed.component!, config.columnName),\n title: (\n <ColumnHeaderWithTooltip\n name={config.columnName}\n description={config.description}\n isRequired={config.isRequired}\n isUpsertKey={config.isUpsertKey}\n showPinIcon={config.showPinIcon}\n isPinned={config.isPinned}\n onTogglePin={config.onTogglePin}\n />\n ),\n minWidth: width,\n basis: width,\n grow: 0,\n shrink: 0,\n disabled: config.disabled,\n deleteValue: createDeleteValue(config.columnName, config.isRequired),\n pasteValue: wrapPasteValueWithSchemaCoercion(\n keyed.pasteValue,\n config.columnName,\n config.schemaPropertyInfo,\n ),\n stickyLeft: config.isPinned,\n }\n}\n\nconst COLUMN_FACTORIES = {\n multipleEnum: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteMultipleEnumColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n limitTags: 3,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n boolean: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: [true, false],\n colType: 'boolean',\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n number: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n numberColumn({\n colType: config.typeInfo?.type,\n isRequired: config.isRequired,\n }),\n )\n },\n\n enumerated: (config: ColumnConfig) => {\n return createBaseColumn(\n config,\n autocompleteColumn({\n choices: config.enumeratedValues ?? [],\n colType: config.typeInfo?.type || null,\n clearValue: getEmptyValue(config.isRequired),\n }),\n )\n },\n\n 'date-time': (config: ColumnConfig) => {\n const columnImpl = dateTimeColumn({\n colType: config.typeInfo?.type || null,\n })\n\n // Date-time needs special width calculation\n const headerOptions: HeaderOptions = {\n showPinIcon: config.showPinIcon,\n hasDescription: !!config.description,\n }\n\n const width =\n config.customWidth ??\n calculateDefaultColumnWidth(\n config.columnName,\n {\n type: config.typeInfo ?? undefined,\n isRequired: config.isRequired,\n enumeratedValues: null,\n },\n headerOptions,\n )\n\n return {\n ...createBaseColumn(config, columnImpl),\n minWidth: width,\n basis: width,\n }\n },\n\n text: (config: ColumnConfig) => {\n const columnImpl = createTextColumn({\n continuousUpdates: false,\n deletedValue: undefined,\n parseUserInput: createParseUserInput(config.isRequired),\n })\n\n return {\n ...createBaseColumn(config, columnImpl),\n cellClassName: 'MuiInputBase-input',\n }\n },\n}\n\nfunction getColumnType(\n typeInfo: FlatTypeInfo | null,\n enumeratedValues?: EnumeratedValue[] | string[] | null,\n): keyof typeof COLUMN_FACTORIES {\n if (!typeInfo) {\n return enumeratedValues && enumeratedValues.length > 0\n ? 'enumerated'\n : 'text'\n }\n\n if (typeInfo.format === 'date-time') {\n return 'date-time'\n }\n\n // Handle arrays - check if it's an array of enums\n if (typeInfo.isArray) {\n return 'multipleEnum'\n }\n\n if (typeInfo.type === 'boolean') {\n return 'boolean'\n }\n\n if (typeInfo.type === 'number' || typeInfo.type === 'integer') {\n return 'number'\n }\n\n if (enumeratedValues && enumeratedValues.length > 0) {\n return 'enumerated'\n }\n\n return 'text'\n}\n\nexport function createColumn(config: ColumnConfig): Column {\n const columnType = getColumnType(config.typeInfo, config.enumeratedValues)\n return COLUMN_FACTORIES[columnType](config)\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"computeDefaultColumnOrder.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/computeDefaultColumnOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EAAE,EACrB,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAC9B,MAAM,EAAE,CAyBV"}
1
+ {"version":3,"file":"computeDefaultColumnOrder.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGrid/utils/computeDefaultColumnOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EAAE,EACrB,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAC9B,MAAM,EAAE,CAuBV"}
@@ -1,14 +1,15 @@
1
+ import { collectTopLevelProperties as e } from "../../../utils/jsonschema/collectTopLevelProperties.js";
1
2
  //#region src/components/DataGrid/utils/computeDefaultColumnOrder.ts
2
- function e(e, t, n) {
3
- let r = t?.properties ? Object.keys(t.properties) : [], i = [], a = /* @__PURE__ */ new Set(), o = (t) => {
4
- let n = e.indexOf(t);
5
- n !== -1 && !a.has(n) && (i.push(n), a.add(n));
3
+ function t(t, n, r) {
4
+ let i = Object.keys(e(n)), a = [], o = /* @__PURE__ */ new Set(), s = (e) => {
5
+ let n = t.indexOf(e);
6
+ n !== -1 && !o.has(n) && (a.push(n), o.add(n));
6
7
  };
7
- return n?.forEach(o), r.forEach(o), e.forEach((e, t) => {
8
- a.has(t) || i.push(t);
9
- }), i;
8
+ return r?.forEach(s), i.forEach(s), t.forEach((e, t) => {
9
+ o.has(t) || a.push(t);
10
+ }), a;
10
11
  }
11
12
  //#endregion
12
- export { e as computeDefaultColumnOrder };
13
+ export { t as computeDefaultColumnOrder };
13
14
 
14
15
  //# sourceMappingURL=computeDefaultColumnOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"computeDefaultColumnOrder.js","names":["JSONSchema7","computeDefaultColumnOrder","columnNames","jsonSchema","upsertKeyColumnNames","schemaPropertyNames","properties","Object","keys","orderedIndices","seen","Set","addColumnByName","name","index","indexOf","has","push","add","forEach","_"],"sources":["../../../../src/components/DataGrid/utils/computeDefaultColumnOrder.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\n\n/**\n * Computes the \"default\" column display order: upsert key columns first (in the order given),\n * then the order properties are defined in the JSON schema, with any remaining columns appended\n * afterward in their identity-index order.\n */\nexport function computeDefaultColumnOrder(\n columnNames: string[],\n jsonSchema: JSONSchema7 | undefined,\n upsertKeyColumnNames?: string[],\n): number[] {\n const schemaPropertyNames = jsonSchema?.properties\n ? Object.keys(jsonSchema.properties)\n : []\n const orderedIndices: number[] = []\n const seen = new Set<number>()\n\n const addColumnByName = (name: string) => {\n const index = columnNames.indexOf(name)\n if (index !== -1 && !seen.has(index)) {\n orderedIndices.push(index)\n seen.add(index)\n }\n }\n\n upsertKeyColumnNames?.forEach(addColumnByName)\n schemaPropertyNames.forEach(addColumnByName)\n\n columnNames.forEach((_, index) => {\n if (!seen.has(index)) {\n orderedIndices.push(index)\n }\n })\n\n return orderedIndices\n}\n"],"mappings":";AAOA,SAAgBC,EACdC,GACAC,GACAC,GACU;CACV,IAAMC,IAAsBF,GAAYG,aACpCC,OAAOC,KAAKL,EAAWG,UAAU,IACjC,CAAA,GACEG,IAA2B,CAAA,GAC3BC,oBAAO,IAAIC,IAAY,GAEvBC,KAAmBC,MAAiB;EACxC,IAAMC,IAAQZ,EAAYa,QAAQF,CAAI;EACtC,AAAIC,MAAU,MAAM,CAACJ,EAAKM,IAAIF,CAAK,MACjCL,EAAeQ,KAAKH,CAAK,GACzBJ,EAAKQ,IAAIJ,CAAK;CAElB;CAWA,OATAV,GAAsBe,QAAQP,CAAe,GAC7CP,EAAoBc,QAAQP,CAAe,GAE3CV,EAAYiB,SAASC,GAAGN,MAAU;EAChC,AAAKJ,EAAKM,IAAIF,CAAK,KACjBL,EAAeQ,KAAKH,CAAK;CAE7B,CAAC,GAEML;AACT"}
1
+ {"version":3,"file":"computeDefaultColumnOrder.js","names":["collectTopLevelProperties","JSONSchema7","computeDefaultColumnOrder","columnNames","jsonSchema","upsertKeyColumnNames","schemaPropertyNames","Object","keys","orderedIndices","seen","Set","addColumnByName","name","index","indexOf","has","push","add","forEach","_"],"sources":["../../../../src/components/DataGrid/utils/computeDefaultColumnOrder.ts"],"sourcesContent":["import { collectTopLevelProperties } from '@/utils/jsonschema/collectTopLevelProperties'\nimport { JSONSchema7 } from 'json-schema'\n\n/**\n * Computes the \"default\" column display order: upsert key columns first (in the order given),\n * then the order properties are defined in the JSON schema, with any remaining columns appended\n * afterward in their identity-index order.\n */\nexport function computeDefaultColumnOrder(\n columnNames: string[],\n jsonSchema: JSONSchema7 | undefined,\n upsertKeyColumnNames?: string[],\n): number[] {\n const schemaPropertyNames = Object.keys(collectTopLevelProperties(jsonSchema))\n const orderedIndices: number[] = []\n const seen = new Set<number>()\n\n const addColumnByName = (name: string) => {\n const index = columnNames.indexOf(name)\n if (index !== -1 && !seen.has(index)) {\n orderedIndices.push(index)\n seen.add(index)\n }\n }\n\n upsertKeyColumnNames?.forEach(addColumnByName)\n schemaPropertyNames.forEach(addColumnByName)\n\n columnNames.forEach((_, index) => {\n if (!seen.has(index)) {\n orderedIndices.push(index)\n }\n })\n\n return orderedIndices\n}\n"],"mappings":";;AAQA,SAAgBE,EACdC,GACAC,GACAC,GACU;CACV,IAAMC,IAAsBC,OAAOC,KAAKR,EAA0BI,CAAU,CAAC,GACvEK,IAA2B,CAAA,GAC3BC,oBAAO,IAAIC,IAAY,GAEvBC,KAAmBC,MAAiB;EACxC,IAAMC,IAAQX,EAAYY,QAAQF,CAAI;EACtC,AAAIC,MAAU,MAAM,CAACJ,EAAKM,IAAIF,CAAK,MACjCL,EAAeQ,KAAKH,CAAK,GACzBJ,EAAKQ,IAAIJ,CAAK;CAElB;CAWA,OATAT,GAAsBc,QAAQP,CAAe,GAC7CN,EAAoBa,QAAQP,CAAe,GAE3CT,EAAYgB,SAASC,GAAGN,MAAU;EAChC,AAAKJ,EAAKM,IAAIF,CAAK,KACjBL,EAAeQ,KAAKH,CAAK;CAE7B,CAAC,GAEML;AACT"}
@@ -0,0 +1,40 @@
1
+ import { DatasetHostingType } from './DatasetHosting';
2
+ export type DatasetDownloadButtonProps = {
3
+ /** The dataset entity id (synId); required to offer the download action. */
4
+ entityId?: string;
5
+ /** The dataset name, shown in the download confirmation. */
6
+ name: string;
7
+ /**
8
+ * The dataset's hosting type. Accepts a raw annotation value (possibly blank,
9
+ * null, or unrecognized); anything unrecognized is treated as `synapse`.
10
+ */
11
+ hosting?: DatasetHostingType | string | null;
12
+ /** Name of the external repository (e.g. "GEO", "dbGaP"), shown in the label/tooltip. */
13
+ repository?: string;
14
+ /** Destination for the action when the dataset is not downloadable (e.g. dbGaP/EGA). */
15
+ externalUrl?: string;
16
+ disabled?: boolean;
17
+ /**
18
+ * Called when an authenticated user clicks a downloadable-hosting button.
19
+ * Owners of the button render the `EntityDownloadConfirmation` themselves and
20
+ * toggle it from this callback, so the confirmation banner can be shared with
21
+ * other download entry points on the same card (e.g. the customSecondaryLabel
22
+ * "Click here to add to Synapse download list" link).
23
+ */
24
+ onDownloadClick?: () => void;
25
+ /** Disables the button while an owner-managed download flow is in progress. */
26
+ isDownloading?: boolean;
27
+ };
28
+ /**
29
+ * The hosting-aware primary action for a dataset.
30
+ * - downloadable types add the dataset to the user's download list.
31
+ * When signed out, the user is prompted to sign in.
32
+ * - `external-access` swaps in an "Access at {repository}" link-out
33
+ * - `unavailable` is a disabled, non-actionable indicator
34
+ *
35
+ * Its appearance follows the nearest `CardActionButtonStyleContext` (via
36
+ * `GenericCardActionButton`), so it matches the card's other action buttons.
37
+ */
38
+ export declare function DatasetDownloadButton(props: DatasetDownloadButtonProps): import("react/jsx-runtime").JSX.Element;
39
+ export default DatasetDownloadButton;
40
+ //# sourceMappingURL=DatasetDownloadButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetDownloadButton.d.ts","sourceRoot":"","sources":["../../../src/components/DatasetHosting/DatasetDownloadButton.tsx"],"names":[],"mappings":"AAaA,OAAO,EAGL,kBAAkB,EAGnB,MAAM,kBAAkB,CAAA;AAWzB,MAAM,MAAM,0BAA0B,GAAG;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAA;IAC5C,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,2CAsItE;AAED,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,124 @@
1
+ import { SRC_SIGN_IN_CLASS as e } from "../../utils/SynapseConstants.js";
2
+ import { useSynapseContext as t } from "../../utils/context/SynapseContext.js";
3
+ import "../../utils/index.js";
4
+ import { TargetEnum as n } from "../../utils/html/TargetEnum.js";
5
+ import r from "../GenericCard/GenericCardActionButton.js";
6
+ import { DATASET_HOSTING_CONFIG as i, fillRepository as a, normalizeHosting as o } from "./DatasetHosting.js";
7
+ import { useState as s } from "react";
8
+ import { Tooltip as c, Typography as l } from "@mui/material";
9
+ import { jsx as u } from "react/jsx-runtime";
10
+ import d from "@mui/icons-material/GetAppTwoTone";
11
+ import f from "@mui/icons-material/PublicOutlined";
12
+ import p from "@mui/icons-material/OpenInNew";
13
+ import m from "@mui/icons-material/LayersOutlined";
14
+ import h from "@mui/icons-material/BlockOutlined";
15
+ import g from "@mui/icons-material/AssuredWorkloadOutlined";
16
+ import _ from "@mui/icons-material/LoginOutlined";
17
+ //#region src/components/DatasetHosting/DatasetDownloadButton.tsx
18
+ var v = {
19
+ download: d,
20
+ cloud: g,
21
+ external: f,
22
+ launch: p,
23
+ mixed: m,
24
+ unavailable: h
25
+ };
26
+ function y(e, t) {
27
+ return e.label.includes("{repository}") && !t ? e.labelWithoutRepository ?? e.label : a(e.label, t) ?? e.label;
28
+ }
29
+ var b = "320px", x = {
30
+ overflow: "hidden",
31
+ textOverflow: "ellipsis",
32
+ whiteSpace: "nowrap",
33
+ minWidth: 0,
34
+ textTransform: "none",
35
+ color: "inherit"
36
+ };
37
+ function S(d) {
38
+ let { entityId: f, name: p, hosting: m, repository: h, externalUrl: g, disabled: S, onDownloadClick: C, isDownloading: w } = d, { isAuthenticated: T } = t(), E = i[o(m)], D = y(E, h), O = a(E.tooltip, h), k = v[E.icon], [A, j] = s(!1), M = /* @__PURE__ */ u(l, {
39
+ variant: "buttonLink",
40
+ sx: x,
41
+ children: D
42
+ }), N = `${D}, ${p}`;
43
+ if (E.downloadable && f) {
44
+ if (!T) {
45
+ let t = A ? _ : k, n = A ? "Sign in to download" : D, i = /* @__PURE__ */ u(r, {
46
+ variant: "outlined",
47
+ color: A ? "error" : "primary",
48
+ "aria-label": `${n}, ${p}`,
49
+ className: A ? e : void 0,
50
+ startIcon: /* @__PURE__ */ u(t, { sx: { fontSize: "16px" } }),
51
+ onClick: (e) => {
52
+ A || (e.stopPropagation(), j(!0));
53
+ },
54
+ sx: {
55
+ maxWidth: b,
56
+ textTransform: "none"
57
+ },
58
+ children: /* @__PURE__ */ u(l, {
59
+ variant: "buttonLink",
60
+ sx: x,
61
+ children: n
62
+ })
63
+ });
64
+ return !A && O ? /* @__PURE__ */ u(c, {
65
+ title: O,
66
+ arrow: !0,
67
+ placement: "top",
68
+ children: /* @__PURE__ */ u("span", { children: i })
69
+ }) : i;
70
+ }
71
+ let t = /* @__PURE__ */ u(r, {
72
+ variant: "outlined",
73
+ "aria-label": N,
74
+ startIcon: /* @__PURE__ */ u(k, { sx: { fontSize: "16px" } }),
75
+ onClick: C,
76
+ disabled: S || w,
77
+ sx: {
78
+ maxWidth: b,
79
+ textTransform: "none"
80
+ },
81
+ children: M
82
+ });
83
+ return O ? /* @__PURE__ */ u(c, {
84
+ title: O,
85
+ arrow: !0,
86
+ placement: "top",
87
+ children: /* @__PURE__ */ u("span", { children: t })
88
+ }) : t;
89
+ }
90
+ let P = E.isExternalLink && g ? /* @__PURE__ */ u(r, {
91
+ variant: "outlined",
92
+ "aria-label": N,
93
+ href: g,
94
+ target: n.NEW_WINDOW,
95
+ rel: "noopener noreferrer",
96
+ startIcon: /* @__PURE__ */ u(k, { sx: { fontSize: "16px" } }),
97
+ sx: {
98
+ maxWidth: b,
99
+ textTransform: "none",
100
+ "&:visited": { color: "primary.main" }
101
+ },
102
+ children: M
103
+ }) : /* @__PURE__ */ u(r, {
104
+ variant: "outlined",
105
+ "aria-label": N,
106
+ disabled: !0,
107
+ startIcon: /* @__PURE__ */ u(k, { sx: { fontSize: "16px" } }),
108
+ sx: {
109
+ maxWidth: b,
110
+ textTransform: "none"
111
+ },
112
+ children: M
113
+ });
114
+ return O ? /* @__PURE__ */ u(c, {
115
+ title: O,
116
+ arrow: !0,
117
+ placement: "top",
118
+ children: /* @__PURE__ */ u("span", { children: P })
119
+ }) : P;
120
+ }
121
+ //#endregion
122
+ export { S as DatasetDownloadButton, S as default };
123
+
124
+ //# sourceMappingURL=DatasetDownloadButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetDownloadButton.js","names":[],"sources":["../../../src/components/DatasetHosting/DatasetDownloadButton.tsx"],"sourcesContent":["import { Tooltip, Typography } from '@mui/material'\nimport GetAppTwoTone from '@mui/icons-material/GetAppTwoTone'\nimport PublicOutlined from '@mui/icons-material/PublicOutlined'\nimport OpenInNew from '@mui/icons-material/OpenInNew'\nimport LayersOutlined from '@mui/icons-material/LayersOutlined'\nimport BlockOutlined from '@mui/icons-material/BlockOutlined'\nimport AssuredWorkloadOutlined from '@mui/icons-material/AssuredWorkloadOutlined'\nimport LoginOutlined from '@mui/icons-material/LoginOutlined'\nimport { ReactNode, useState } from 'react'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport { useSynapseContext } from '@/utils'\nimport GenericCardActionButton from '../GenericCard/GenericCardActionButton'\nimport {\n DATASET_HOSTING_CONFIG,\n DatasetHostingConfig,\n DatasetHostingType,\n fillRepository,\n normalizeHosting,\n} from './DatasetHosting'\n\nconst ICONS = {\n download: GetAppTwoTone,\n cloud: AssuredWorkloadOutlined,\n external: PublicOutlined,\n launch: OpenInNew,\n mixed: LayersOutlined,\n unavailable: BlockOutlined,\n} as const\n\nexport type DatasetDownloadButtonProps = {\n /** The dataset entity id (synId); required to offer the download action. */\n entityId?: string\n /** The dataset name, shown in the download confirmation. */\n name: string\n /**\n * The dataset's hosting type. Accepts a raw annotation value (possibly blank,\n * null, or unrecognized); anything unrecognized is treated as `synapse`.\n */\n hosting?: DatasetHostingType | string | null\n /** Name of the external repository (e.g. \"GEO\", \"dbGaP\"), shown in the label/tooltip. */\n repository?: string\n /** Destination for the action when the dataset is not downloadable (e.g. dbGaP/EGA). */\n externalUrl?: string\n disabled?: boolean\n /**\n * Called when an authenticated user clicks a downloadable-hosting button.\n * Owners of the button render the `EntityDownloadConfirmation` themselves and\n * toggle it from this callback, so the confirmation banner can be shared with\n * other download entry points on the same card (e.g. the customSecondaryLabel\n * \"Click here to add to Synapse download list\" link).\n */\n onDownloadClick?: () => void\n /** Disables the button while an owner-managed download flow is in progress. */\n isDownloading?: boolean\n}\n\nfunction resolveLabel(\n config: DatasetHostingConfig,\n repository?: string,\n): string {\n if (config.label.includes('{repository}') && !repository) {\n return config.labelWithoutRepository ?? config.label\n }\n return fillRepository(config.label, repository) ?? config.label\n}\n\nconst MAX_WIDTH = '320px'\n\nconst ELLIPSIS = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 0,\n} as const\n\n// The composed labels (\"Download from GEO\", \"Access at dbGaP\") are already\n// sentence-cased, so opt out of the theme button's capitalize transform. `color:\n// inherit` lets the label take the button's color so text and icon always match.\nconst LABEL_SX = {\n ...ELLIPSIS,\n textTransform: 'none',\n color: 'inherit',\n} as const\n\n/**\n * The hosting-aware primary action for a dataset.\n * - downloadable types add the dataset to the user's download list.\n * When signed out, the user is prompted to sign in.\n * - `external-access` swaps in an \"Access at {repository}\" link-out\n * - `unavailable` is a disabled, non-actionable indicator\n *\n * Its appearance follows the nearest `CardActionButtonStyleContext` (via\n * `GenericCardActionButton`), so it matches the card's other action buttons.\n */\nexport function DatasetDownloadButton(props: DatasetDownloadButtonProps) {\n const {\n entityId,\n name,\n hosting,\n repository,\n externalUrl,\n disabled,\n onDownloadClick,\n isDownloading,\n } = props\n const { isAuthenticated } = useSynapseContext()\n const config = DATASET_HOSTING_CONFIG[normalizeHosting(hosting)]\n\n const label = resolveLabel(config, repository)\n const caveat = fillRepository(config.tooltip, repository)\n const Icon = ICONS[config.icon]\n\n const [signInPrompt, setSignInPrompt] = useState(false)\n\n const labelEl = (\n <Typography variant=\"buttonLink\" sx={LABEL_SX}>\n {label}\n </Typography>\n )\n // Every card's button shows the same visible label (\"Download\"), so include the\n // dataset name in the accessible name to distinguish them for screen readers.\n const ariaLabel = `${label}, ${name}`\n\n // Downloadable: a single button that adds the dataset to the download list.\n if (config.downloadable && entityId) {\n // Signed out: keep the button clickable as a call to action rather than\n // greying it out. The first click flips it to a red \"Sign in to download\"\n // prompt that opens the app's sign-in modal (SRC_SIGN_IN_CLASS).\n if (!isAuthenticated) {\n const PromptIcon = signInPrompt ? LoginOutlined : Icon\n const promptLabel = signInPrompt ? 'Sign in to download' : label\n const button = (\n <GenericCardActionButton\n variant=\"outlined\"\n color={signInPrompt ? 'error' : 'primary'}\n aria-label={`${promptLabel}, ${name}`}\n className={signInPrompt ? SRC_SIGN_IN_CLASS : undefined}\n startIcon={<PromptIcon sx={{ fontSize: '16px' }} />}\n onClick={event => {\n if (!signInPrompt) {\n // Swallow this first click: React adds SRC_SIGN_IN_CLASS during the\n // flush, before the event bubbles to the window-level sign-in\n // handler, which would otherwise fire on this same click. The next\n // click on the red CTA bubbles through and triggers sign-in.\n event.stopPropagation()\n setSignInPrompt(true)\n }\n }}\n sx={{ maxWidth: MAX_WIDTH, textTransform: 'none' }}\n >\n <Typography variant=\"buttonLink\" sx={LABEL_SX}>\n {promptLabel}\n </Typography>\n </GenericCardActionButton>\n )\n // Before the prompt, keep the hosting caveat tooltip; once prompting, the\n // red label is the notice, so no tooltip.\n return !signInPrompt && caveat ? (\n <Tooltip title={caveat} arrow placement=\"top\">\n <span>{button}</span>\n </Tooltip>\n ) : (\n button\n )\n }\n\n // Signed in: add the dataset to the download list.\n const button = (\n <GenericCardActionButton\n variant=\"outlined\"\n aria-label={ariaLabel}\n startIcon={<Icon sx={{ fontSize: '16px' }} />}\n onClick={onDownloadClick}\n disabled={disabled || isDownloading}\n sx={{ maxWidth: MAX_WIDTH, textTransform: 'none' }}\n >\n {labelEl}\n </GenericCardActionButton>\n )\n return caveat ? (\n <Tooltip title={caveat} arrow placement=\"top\">\n <span>{button}</span>\n </Tooltip>\n ) : (\n button\n )\n }\n\n // Not downloadable: link out to the external repository, or a disabled indicator.\n const control: ReactNode =\n config.isExternalLink && externalUrl ? (\n <GenericCardActionButton\n variant=\"outlined\"\n aria-label={ariaLabel}\n href={externalUrl}\n target={TargetEnum.NEW_WINDOW}\n rel=\"noopener noreferrer\"\n startIcon={<Icon sx={{ fontSize: '16px' }} />}\n sx={{\n maxWidth: MAX_WIDTH,\n textTransform: 'none',\n // As an <a>, a visited link would otherwise darken to primary.dark\n // (theme rule); keep the resting color consistent with the buttons.\n '&:visited': { color: 'primary.main' },\n }}\n >\n {labelEl}\n </GenericCardActionButton>\n ) : (\n <GenericCardActionButton\n variant=\"outlined\"\n aria-label={ariaLabel}\n disabled\n startIcon={<Icon sx={{ fontSize: '16px' }} />}\n sx={{ maxWidth: MAX_WIDTH, textTransform: 'none' }}\n >\n {labelEl}\n </GenericCardActionButton>\n )\n\n return caveat ? (\n <Tooltip title={caveat} arrow placement=\"top\">\n {/* span lets the tooltip work even when the control is disabled */}\n <span>{control}</span>\n </Tooltip>\n ) : (\n control\n )\n}\n\nexport default DatasetDownloadButton\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,IAAM,IAAQ;CACZ,UAAU;CACV,OAAO;CACP,UAAU;CACV,QAAQ;CACR,OAAO;CACP,aAAa;AACf;AA6BA,SAAS,EACP,GACA,GACQ;CAIR,OAHI,EAAO,MAAM,SAAS,cAAc,KAAK,CAAC,IACrC,EAAO,0BAA0B,EAAO,QAE1C,EAAe,EAAO,OAAO,CAAU,KAAK,EAAO;AAC5D;AAEA,IAAM,IAAY,SAYZ,IAAW;CATf,UAAU;CACV,cAAc;CACd,YAAY;CACZ,UAAU;CAQV,eAAe;CACf,OAAO;AACT;AAYA,SAAgB,EAAsB,GAAmC;CACvE,IAAM,EACJ,aACA,SACA,YACA,eACA,gBACA,aACA,oBACA,qBACE,GACE,EAAE,uBAAoB,EAAkB,GACxC,IAAS,EAAuB,EAAiB,CAAO,IAExD,IAAQ,EAAa,GAAQ,CAAU,GACvC,IAAS,EAAe,EAAO,SAAS,CAAU,GAClD,IAAO,EAAM,EAAO,OAEpB,CAAC,GAAc,KAAmB,EAAS,EAAK,GAEhD,IACJ,kBAAC,GAAD;EAAY,SAAQ;EAAa,IAAI;YAClC;CACS,CAAA,GAIR,IAAY,GAAG,EAAM,IAAI;CAG/B,IAAI,EAAO,gBAAgB,GAAU;EAInC,IAAI,CAAC,GAAiB;GACpB,IAAM,IAAa,IAAe,IAAgB,GAC5C,IAAc,IAAe,wBAAwB,GACrD,IACJ,kBAAC,GAAD;IACE,SAAQ;IACR,OAAO,IAAe,UAAU;IAChC,cAAY,GAAG,EAAY,IAAI;IAC/B,WAAW,IAAe,IAAoB,KAAA;IAC9C,WAAW,kBAAC,GAAD,EAAY,IAAI,EAAE,UAAU,OAAO,EAAI,CAAA;IAClD,UAAS,MAAS;KAChB,AAAK,MAKH,EAAM,gBAAgB,GACtB,EAAgB,EAAI;IAExB;IACA,IAAI;KAAE,UAAU;KAAW,eAAe;IAAO;cAEjD,kBAAC,GAAD;KAAY,SAAQ;KAAa,IAAI;eAClC;IACS,CAAA;GACW,CAAA;GAI3B,OAAO,CAAC,KAAgB,IACtB,kBAAC,GAAD;IAAS,OAAO;IAAQ,OAAA;IAAM,WAAU;cACtC,kBAAC,QAAD,EAAA,UAAO,EAAa,CAAA;GACb,CAAA,IAET;EAEJ;EAGA,IAAM,IACJ,kBAAC,GAAD;GACE,SAAQ;GACR,cAAY;GACZ,WAAW,kBAAC,GAAD,EAAM,IAAI,EAAE,UAAU,OAAO,EAAI,CAAA;GAC5C,SAAS;GACT,UAAU,KAAY;GACtB,IAAI;IAAE,UAAU;IAAW,eAAe;GAAO;aAEhD;EACsB,CAAA;EAE3B,OAAO,IACL,kBAAC,GAAD;GAAS,OAAO;GAAQ,OAAA;GAAM,WAAU;aACtC,kBAAC,QAAD,EAAA,UAAO,EAAa,CAAA;EACb,CAAA,IAET;CAEJ;CAGA,IAAM,IACJ,EAAO,kBAAkB,IACvB,kBAAC,GAAD;EACE,SAAQ;EACR,cAAY;EACZ,MAAM;EACN,QAAQ,EAAW;EACnB,KAAI;EACJ,WAAW,kBAAC,GAAD,EAAM,IAAI,EAAE,UAAU,OAAO,EAAI,CAAA;EAC5C,IAAI;GACF,UAAU;GACV,eAAe;GAGf,aAAa,EAAE,OAAO,eAAe;EACvC;YAEC;CACsB,CAAA,IAEzB,kBAAC,GAAD;EACE,SAAQ;EACR,cAAY;EACZ,UAAA;EACA,WAAW,kBAAC,GAAD,EAAM,IAAI,EAAE,UAAU,OAAO,EAAI,CAAA;EAC5C,IAAI;GAAE,UAAU;GAAW,eAAe;EAAO;YAEhD;CACsB,CAAA;CAG7B,OAAO,IACL,kBAAC,GAAD;EAAS,OAAO;EAAQ,OAAA;EAAM,WAAU;YAEtC,kBAAC,QAAD,EAAA,UAAO,EAAc,CAAA;CACd,CAAA,IAET;AAEJ"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Classifies a dataset by where its files are hosted and whether they can be
3
+ * downloaded through Synapse clients. Portals supply this value from a dataset
4
+ * annotation column (e.g. `hostingType`) since dataset cards are query/annotation
5
+ * driven and do not have access to the underlying file handles.
6
+ *
7
+ * The four values map onto two orthogonal realities:
8
+ * - WHERE the files live (Synapse-managed storage vs. a third-party location)
9
+ * - WHETHER Synapse clients can download them (yes vs. access is handled elsewhere)
10
+ *
11
+ * They are collapsed into a single enum so a card can show one predictable,
12
+ * scannable signal.
13
+ */
14
+ export type DatasetHostingType =
15
+ /** Files are in Synapse/Sage-managed storage (S3/GCP). Standard, fast download. The default. */
16
+ 'synapse'
17
+ /**
18
+ * Files are in a cloud bucket owned by a third party (non-Sage S3/GCP, external
19
+ * object store). Downloadable identically to Synapse-hosted files, but the bucket
20
+ * owner could remove them.
21
+ */
22
+ | 'external-cloud'
23
+ /**
24
+ * Dataset links to files in an external repository (e.g. GEO, ENA) that are
25
+ * directly downloadable through Synapse clients, but served from an external
26
+ * server — so downloads may be slow or links could become dead over time.
27
+ */
28
+ | 'external-download'
29
+ /**
30
+ * Dataset links to data that is NOT downloadable through Synapse (e.g. dbGaP,
31
+ * EGA). Records are placeholders for data held behind an external access
32
+ * process. No download is offered; the user is sent to the external repository.
33
+ */
34
+ | 'external-access'
35
+ /**
36
+ * Files in the dataset span more than one location — some are downloadable
37
+ * through Synapse and some are hosted/controlled externally. Download is still
38
+ * offered (it retrieves the Synapse-available subset), but the label and tooltip
39
+ * flag that the rest must be obtained separately.
40
+ */
41
+ | 'mixed'
42
+ /**
43
+ * The dataset is a record/placeholder whose data is not downloadable through
44
+ * Synapse, and there is no external repository to send the user to either
45
+ * (unlike `external-access`). No download or link action is offered — the card
46
+ * just signals that the data isn't available for download.
47
+ */
48
+ | 'unavailable';
49
+ export type DatasetHostingConfig = {
50
+ /** Whether the dataset's files can be downloaded through Synapse clients. */
51
+ downloadable: boolean;
52
+ /**
53
+ * If true (and not downloadable), the primary action links out to an external
54
+ * repository (uses externalUrl). If false/absent and not downloadable, the card
55
+ * shows a non-actionable "not available" chip instead of a link.
56
+ */
57
+ isExternalLink?: boolean;
58
+ /**
59
+ * Label shown on the chip-style action button. `{repository}` is substituted
60
+ * with the repository name when provided; if the template references
61
+ * `{repository}` but none is given, `labelWithoutRepository` is used instead.
62
+ */
63
+ label: string;
64
+ /** Fallback label when the template needs a repository but none was provided. */
65
+ labelWithoutRepository?: string;
66
+ /**
67
+ * Short, scannable label shown as a chip adornment next to the dataset title,
68
+ * summarizing WHERE the data lives (independent of any repository name). Not
69
+ * templated — never mentions a specific repository.
70
+ */
71
+ chipLabel: string;
72
+ /** Tooltip summarizing the hosting/download caveat. `{repository}` is substituted. */
73
+ tooltip?: string;
74
+ /** MUI Chip color used for the button. `default` = neutral/non-actionable. */
75
+ color: 'primary' | 'warning' | 'default';
76
+ /**
77
+ * Icon shown on the button, encoding where the data lives relative to Synapse:
78
+ * - `download`: native, stored in Synapse
79
+ * - `cloud`: third-party managed cloud bucket
80
+ * - `external`: hosted outside Synapse but still downloadable
81
+ * - `launch`: not downloadable here — the user leaves Synapse to access it
82
+ * - `mixed`: files live in more than one location
83
+ * - `unavailable`: not available for download, with no external destination
84
+ */
85
+ icon: 'download' | 'cloud' | 'external' | 'launch' | 'mixed' | 'unavailable';
86
+ };
87
+ export declare const DATASET_HOSTING_CONFIG: Record<DatasetHostingType, DatasetHostingConfig>;
88
+ /**
89
+ * Coerces a raw annotation value (which is frequently blank, null, or absent for
90
+ * Synapse-hosted/legacy datasets, and could be an unrecognized string) into a
91
+ * valid hosting type. Anything not explicitly recognized falls back to
92
+ * `synapse` — the safe default, which shows a standard Download button and no badge.
93
+ */
94
+ export declare function normalizeHosting(value?: string | null): DatasetHostingType;
95
+ /** Substitutes the `{repository}` token, falling back to a generic phrase. */
96
+ export declare function fillRepository(template: string | undefined, repository?: string): string | undefined;
97
+ //# sourceMappingURL=DatasetHosting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatasetHosting.d.ts","sourceRoot":"","sources":["../../../src/components/DatasetHosting/DatasetHosting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB;AAC5B,gGAAgG;AAC9F,SAAS;AACX;;;;GAIG;GACD,gBAAgB;AAClB;;;;GAIG;GACD,mBAAmB;AACrB;;;;GAIG;GACD,iBAAiB;AACnB;;;;;GAKG;GACD,OAAO;AACT;;;;;GAKG;GACD,aAAa,CAAA;AAEjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,6EAA6E;IAC7E,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC;;;;;;;;OAQG;IACH,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAA;CAC7E,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,kBAAkB,EAClB,oBAAoB,CA0DrB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB,CAM1E;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAQpB"}