synapse-react-client 4.0.31 → 4.0.33

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 (276) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  3. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +48 -36
  4. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  5. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  6. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +217 -143
  7. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  8. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.d.ts.map +1 -1
  9. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js +28 -24
  10. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  11. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  12. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +180 -94
  13. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  14. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts +3 -0
  15. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts.map +1 -0
  16. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js +9 -0
  17. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js.map +1 -0
  18. package/dist/components/CopyToClipboardIcon.d.ts +2 -1
  19. package/dist/components/CopyToClipboardIcon.d.ts.map +1 -1
  20. package/dist/components/CopyToClipboardIcon.js +6 -6
  21. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  22. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  23. package/dist/components/DataGrid/SynapseGrid.js +230 -215
  24. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  25. package/dist/components/DataGrid/SyncGridWithSourceButton.js +3 -3
  26. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  27. package/dist/components/DataGrid/columns/DateTimeColumn.js +1 -1
  28. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  29. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts +10 -0
  30. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts.map +1 -0
  31. package/dist/components/DataGrid/components/ReorderColumnsButton.js +37 -0
  32. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -0
  33. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts +12 -0
  34. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -0
  35. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +93 -0
  36. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -0
  37. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +1 -1
  38. package/dist/components/DataGrid/utils/applyModelChange.d.ts +3 -0
  39. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  40. package/dist/components/DataGrid/utils/applyModelChange.js +5 -0
  41. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  42. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts +8 -0
  43. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts.map +1 -0
  44. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js +14 -0
  45. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js.map +1 -0
  46. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +1 -1
  47. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  48. package/dist/components/EntityFinder/details/view/DetailsView.js +119 -122
  49. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  50. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts +5 -1
  51. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts.map +1 -1
  52. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +7 -7
  53. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  54. package/dist/components/EntityLink.d.ts +2 -0
  55. package/dist/components/EntityLink.d.ts.map +1 -1
  56. package/dist/components/EntityLink.js +15 -11
  57. package/dist/components/EntityLink.js.map +1 -1
  58. package/dist/components/EntitySidebar/AccessAndPermissions.css +1 -0
  59. package/dist/components/EntitySidebar/AccessAndPermissions.d.ts +7 -0
  60. package/dist/components/EntitySidebar/AccessAndPermissions.d.ts.map +1 -0
  61. package/dist/components/EntitySidebar/AccessAndPermissions.js +75 -0
  62. package/dist/components/EntitySidebar/AccessAndPermissions.js.map +1 -0
  63. package/dist/components/EntitySidebar/AccessAndPermissions.module.js +15 -0
  64. package/dist/components/EntitySidebar/AccessAndPermissions.module.js.map +1 -0
  65. package/dist/components/EntitySidebar/AccessAndPermissions.module.scss +58 -0
  66. package/dist/components/EntitySidebar/EntitySidebar.css +1 -1
  67. package/dist/components/EntitySidebar/EntitySidebar.d.ts.map +1 -1
  68. package/dist/components/EntitySidebar/EntitySidebar.js +54 -42
  69. package/dist/components/EntitySidebar/EntitySidebar.js.map +1 -1
  70. package/dist/components/EntitySidebar/EntitySidebar.module.js +10 -11
  71. package/dist/components/EntitySidebar/EntitySidebar.module.js.map +1 -1
  72. package/dist/components/EntitySidebar/EntitySidebar.module.scss +6 -13
  73. package/dist/components/EntityTreeTable/EntityTreeTable.css +1 -1
  74. package/dist/components/EntityTreeTable/EntityTreeTable.module.js +1 -1
  75. package/dist/components/EntityTreeTable/EntityTreeTable.module.js.map +1 -1
  76. package/dist/components/EntityTreeTable/EntityTreeTable.module.scss +18 -0
  77. package/dist/components/EntityTreeTable/components/ColumnHeaders.d.ts.map +1 -1
  78. package/dist/components/EntityTreeTable/components/ColumnHeaders.js +20 -7
  79. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  80. package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
  81. package/dist/components/EntityTreeTable/components/EntityNameCell.js +3 -1
  82. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  83. package/dist/components/EntityTreeTable/components/EntityTreeTableView.d.ts.map +1 -1
  84. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js +4 -1
  85. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  86. package/dist/components/EntityTreeTable/components/IdColumnHeader.d.ts.map +1 -1
  87. package/dist/components/EntityTreeTable/components/IdColumnHeader.js +3 -1
  88. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  89. package/dist/components/EntityTreeTable/hooks/useTableColumns.d.ts.map +1 -1
  90. package/dist/components/EntityTreeTable/hooks/useTableColumns.js +24 -19
  91. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  92. package/dist/components/Forum/DiscussionEmpty.css +1 -1
  93. package/dist/components/Forum/DiscussionEmpty.module.js +4 -4
  94. package/dist/components/Forum/DiscussionEmpty.module.js.map +1 -1
  95. package/dist/components/Forum/DiscussionEmpty.module.scss +3 -6
  96. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.css +1 -0
  97. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts +29 -0
  98. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts.map +1 -0
  99. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js +229 -0
  100. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js.map +1 -0
  101. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js +9 -0
  102. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js.map +1 -0
  103. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.scss +19 -0
  104. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts +23 -0
  105. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts.map +1 -0
  106. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js +39 -0
  107. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js.map +1 -0
  108. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts +14 -0
  109. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts.map +1 -0
  110. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js +12 -0
  111. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js.map +1 -0
  112. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts +17 -0
  113. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts.map +1 -0
  114. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js +8 -0
  115. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js.map +1 -0
  116. package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts +6 -0
  117. package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts.map +1 -0
  118. package/dist/components/JsonSchema/JsonSchemaPicker/index.js +4 -0
  119. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts +20 -0
  120. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts.map +1 -0
  121. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js +25 -0
  122. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js.map +1 -0
  123. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts +35 -0
  124. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts.map +1 -0
  125. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js +60 -0
  126. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js.map +1 -0
  127. package/dist/components/ProjectInfo/ProjectInfo.css +1 -1
  128. package/dist/components/ProjectInfo/ProjectInfo.module.js +5 -5
  129. package/dist/components/ProjectInfo/ProjectInfo.module.js.map +1 -1
  130. package/dist/components/ProjectInfo/ProjectInfo.module.scss +2 -4
  131. package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts.map +1 -1
  132. package/dist/components/ProjectInfo/ProjectInfoPopover.js +17 -16
  133. package/dist/components/ProjectInfo/ProjectInfoPopover.js.map +1 -1
  134. package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts.map +1 -1
  135. package/dist/components/ProjectStorage/ProjectDataAvailability.js +16 -16
  136. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  137. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  138. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +95 -95
  139. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  140. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +2 -2
  141. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
  142. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +116 -91
  143. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  144. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  145. package/dist/components/SynapseChat/SynapseChat.js +41 -41
  146. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  147. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +3 -2
  148. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  149. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  150. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.css +1 -1
  151. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.d.ts.map +1 -1
  152. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js +0 -7
  153. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js.map +1 -1
  154. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js +2 -2
  155. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js.map +1 -1
  156. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.scss +12 -2
  157. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.css +1 -1
  158. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js +3 -3
  159. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js.map +1 -1
  160. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.scss +5 -1
  161. package/dist/components/TanStackTable/ColumnHeader.d.ts +7 -0
  162. package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
  163. package/dist/components/TanStackTable/ColumnHeader.js +10 -9
  164. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  165. package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts +8 -0
  166. package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts.map +1 -1
  167. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js +31 -22
  168. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  169. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts +21 -0
  170. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts.map +1 -0
  171. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js +22 -0
  172. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js.map +1 -0
  173. package/dist/components/entity/metadata/AnnotationsTable.js +2 -2
  174. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  175. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.d.ts.map +1 -1
  176. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js +8 -8
  177. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  178. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
  179. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  180. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +22 -22
  181. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  182. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  183. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +62 -68
  184. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  185. package/dist/components/styled/StyledTableContainer.d.ts +1 -0
  186. package/dist/components/styled/StyledTableContainer.d.ts.map +1 -1
  187. package/dist/components/styled/StyledTableContainer.js +3 -3
  188. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  189. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js +1 -1
  190. package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js.map +1 -1
  191. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  192. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +131 -131
  193. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  194. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts.map +1 -1
  195. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js +21 -18
  196. package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js.map +1 -1
  197. package/dist/features/entity/metadata-task/utils/dueDate.d.ts +1 -1
  198. package/dist/features/entity/metadata-task/utils/dueDate.js.map +1 -1
  199. package/dist/mocks/eDuc/mockEDucTemplates.d.ts +7 -0
  200. package/dist/mocks/eDuc/mockEDucTemplates.d.ts.map +1 -0
  201. package/dist/mocks/eDuc/mockEDucTemplates.js +18 -0
  202. package/dist/mocks/eDuc/mockEDucTemplates.js.map +1 -0
  203. package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts +31 -0
  204. package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts.map +1 -0
  205. package/dist/mocks/jsonschema/mockJsonSchemaListing.js +101 -0
  206. package/dist/mocks/jsonschema/mockJsonSchemaListing.js.map +1 -0
  207. package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts +2 -0
  208. package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts.map +1 -0
  209. package/dist/mocks/msw/handlers/eDucTemplateHandlers.js +14 -0
  210. package/dist/mocks/msw/handlers/eDucTemplateHandlers.js.map +1 -0
  211. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts +8 -0
  212. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts.map +1 -0
  213. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js +30 -0
  214. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js.map +1 -0
  215. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  216. package/dist/mocks/msw/handlers.js +55 -51
  217. package/dist/mocks/msw/handlers.js.map +1 -1
  218. package/dist/style/abstracts/_cssVariables.scss +13 -0
  219. package/dist/style/components/entity_finder/_details-view.scss +0 -10
  220. package/dist/style/main.css +1 -1
  221. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  222. package/dist/synapse-client/SynapseClient.js +2 -6
  223. package/dist/synapse-client/SynapseClient.js.map +1 -1
  224. package/dist/synapse-queries/KeyFactory.d.ts +3 -0
  225. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  226. package/dist/synapse-queries/KeyFactory.js +9 -0
  227. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  228. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +3 -3
  229. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  230. package/dist/synapse-queries/dataaccess/useEDuc.js +40 -35
  231. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  232. package/dist/synapse-queries/entity/index.d.ts +0 -2
  233. package/dist/synapse-queries/entity/index.d.ts.map +1 -1
  234. package/dist/synapse-queries/entity/index.js +8 -10
  235. package/dist/synapse-queries/index.d.ts +1 -0
  236. package/dist/synapse-queries/index.d.ts.map +1 -1
  237. package/dist/synapse-queries/index.js +136 -128
  238. package/dist/synapse-queries/index.js.map +1 -1
  239. package/dist/synapse-queries/jsonschema/index.d.ts +6 -0
  240. package/dist/synapse-queries/jsonschema/index.d.ts.map +1 -0
  241. package/dist/synapse-queries/jsonschema/index.js +6 -0
  242. package/dist/synapse-queries/jsonschema/useEntityBoundSchema.d.ts.map +1 -0
  243. package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.js +1 -1
  244. package/dist/synapse-queries/jsonschema/useEntityBoundSchema.js.map +1 -0
  245. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts +26 -0
  246. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts.map +1 -0
  247. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js +36 -0
  248. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js.map +1 -0
  249. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts +8 -0
  250. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts.map +1 -0
  251. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js +21 -0
  252. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js.map +1 -0
  253. package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts +8 -0
  254. package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts.map +1 -0
  255. package/dist/synapse-queries/jsonschema/useListOrganizations.js +22 -0
  256. package/dist/synapse-queries/jsonschema/useListOrganizations.js.map +1 -0
  257. package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -0
  258. package/dist/synapse-queries/{entity → jsonschema}/useSchema.js +1 -1
  259. package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -0
  260. package/dist/testutils/VirtualizedTableTestUtils.js +17 -0
  261. package/dist/testutils/VirtualizedTableTestUtils.js.map +1 -0
  262. package/dist/theme/palette/Palettes.d.ts.map +1 -1
  263. package/dist/theme/palette/Palettes.js +13 -0
  264. package/dist/theme/palette/Palettes.js.map +1 -1
  265. package/dist/tsconfig.build.tsbuildinfo +1 -1
  266. package/dist/utils/APIConstants.d.ts +1 -0
  267. package/dist/utils/APIConstants.d.ts.map +1 -1
  268. package/dist/utils/APIConstants.js +2 -2
  269. package/dist/utils/APIConstants.js.map +1 -1
  270. package/package.json +4 -4
  271. package/dist/synapse-queries/entity/useEntityBoundSchema.d.ts.map +0 -1
  272. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +0 -1
  273. package/dist/synapse-queries/entity/useSchema.d.ts.map +0 -1
  274. package/dist/synapse-queries/entity/useSchema.js.map +0 -1
  275. /package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.d.ts +0 -0
  276. /package/dist/synapse-queries/{entity → jsonschema}/useSchema.d.ts +0 -0
@@ -0,0 +1,35 @@
1
+ import { JsonSchemaInfo, JsonSchemaVersionInfo } from '@sage-bionetworks/synapse-client';
2
+ import { OnChangeFn, RowSelectionState } from '@tanstack/react-table';
3
+ import { VersionSelectionType } from './VersionSelectionType';
4
+ export type JsonSchemaSelection = {
5
+ $id?: string;
6
+ versionInfo?: JsonSchemaVersionInfo;
7
+ };
8
+ export declare function getSchemaId(schema: JsonSchemaInfo): string;
9
+ export type UseJsonSchemaSelectionParams = {
10
+ schemas: JsonSchemaInfo[];
11
+ versionSelectionType: VersionSelectionType;
12
+ onSelectionChange: (selection: JsonSchemaSelection | undefined) => void;
13
+ /**
14
+ * The initially-selected schema/version, e.g. when editing an existing selection. Only
15
+ * consulted on mount (via useState's lazy initializer) -- to react to a changed
16
+ * `initialSelected`, remount this hook's consumer with a new `key`, rather than updating this
17
+ * prop in place.
18
+ */
19
+ initialSelected?: JsonSchemaSelection;
20
+ };
21
+ /**
22
+ * Manages which JsonSchema (and, depending on `versionSelectionType`, which version of that
23
+ * schema) is currently selected, and reports the resolved selection to `onSelectionChange`.
24
+ *
25
+ * Under {@link VersionSelectionType.REQUIRED}, selecting a schema with no version yet chosen
26
+ * kicks off a fetch of every version, and auto-selects the latest one once it resolves.
27
+ */
28
+ export declare function useJsonSchemaSelection(params: UseJsonSchemaSelectionParams): {
29
+ rowSelection: RowSelectionState;
30
+ selectedVersionInfo: JsonSchemaVersionInfo | undefined;
31
+ selectedSchema: JsonSchemaInfo | undefined;
32
+ handleRowSelectionChange: OnChangeFn<RowSelectionState>;
33
+ handleVersionChange: (versionInfo: JsonSchemaVersionInfo | undefined) => void;
34
+ };
35
+ //# sourceMappingURL=useJsonSchemaSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useJsonSchemaSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,qBAAqB,EACtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAEL,UAAU,EACV,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,qBAAqB,CAAA;CACpC,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE1D;AA4BD,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,iBAAiB,EAAE,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,KAAK,IAAI,CAAA;IACvE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAA;CACtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B;;;;;uCA4C1D,qBAAqB,GAAG,SAAS;EAgEjD"}
@@ -0,0 +1,60 @@
1
+ import { useSynapseContext as e } from "../../../utils/context/SynapseContext.js";
2
+ import { getJsonSchemaVersionsQuery as t } from "../../../synapse-queries/jsonschema/useListJsonSchemaVersions.js";
3
+ import "../../../synapse-queries/index.js";
4
+ import { VersionSelectionType as n } from "./VersionSelectionType.js";
5
+ import { useMemo as r, useRef as i, useState as a } from "react";
6
+ import { useQueryClient as o } from "@tanstack/react-query";
7
+ import { functionalUpdate as s } from "@tanstack/react-table";
8
+ //#region src/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.ts
9
+ function c(e) {
10
+ return e.schemaId ?? e.schemaName ?? "";
11
+ }
12
+ function l(e) {
13
+ return `${e.organizationName}-${e.schemaName}`;
14
+ }
15
+ function u(e, t, r) {
16
+ if (e && !(r === n.REQUIRED && !t)) return t ? {
17
+ $id: t.$id,
18
+ versionInfo: t
19
+ } : {
20
+ $id: l(e),
21
+ versionInfo: void 0
22
+ };
23
+ }
24
+ function d(l) {
25
+ let { schemas: d, versionSelectionType: f, onSelectionChange: p, initialSelected: m } = l, { synapseClient: h, keyFactory: g } = e(), _ = o(), [v, y] = a(() => {
26
+ let e = m?.versionInfo ? c(m.versionInfo) : void 0;
27
+ return e ? { [e]: !0 } : {};
28
+ }), [b, x] = a(m?.versionInfo), S = i(v);
29
+ S.current = v;
30
+ let C = i(0), w = r(() => {
31
+ let e = Object.keys(v).find((e) => v[e]);
32
+ return d.find((t) => c(t) === e);
33
+ }, [v, d]), T = (e, t) => {
34
+ x(t), p(u(e, t, f));
35
+ };
36
+ return {
37
+ rowSelection: v,
38
+ selectedVersionInfo: b,
39
+ selectedSchema: w,
40
+ handleRowSelectionChange: (e) => {
41
+ let r = s(e, S.current), i = Object.keys(r).find((e) => r[e]), a = d.find((e) => c(e) === i);
42
+ y(r), x(void 0), p(u(a, void 0, f));
43
+ let o = ++C.current;
44
+ a && f === n.REQUIRED && _.fetchQuery(t(a.organizationName ?? "", a.schemaName ?? "", {
45
+ synapseClient: h,
46
+ keyFactory: g
47
+ })).then((e) => {
48
+ let t = e.at(-1);
49
+ C.current === o && t && T(a, t);
50
+ }).catch(() => {});
51
+ },
52
+ handleVersionChange: (e) => {
53
+ C.current++, T(w, e);
54
+ }
55
+ };
56
+ }
57
+ //#endregion
58
+ export { c as getSchemaId, d as useJsonSchemaSelection };
59
+
60
+ //# sourceMappingURL=useJsonSchemaSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useJsonSchemaSelection.js","names":[],"sources":["../../../../src/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.ts"],"sourcesContent":["import { getJsonSchemaVersionsQuery } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n JsonSchemaInfo,\n JsonSchemaVersionInfo,\n} from '@sage-bionetworks/synapse-client'\nimport {\n functionalUpdate,\n OnChangeFn,\n RowSelectionState,\n} from '@tanstack/react-table'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useMemo, useRef, useState } from 'react'\nimport { VersionSelectionType } from './VersionSelectionType'\n\nexport type JsonSchemaSelection = {\n $id?: string\n versionInfo?: JsonSchemaVersionInfo\n}\n\nexport function getSchemaId(schema: JsonSchemaInfo): string {\n return schema.schemaId ?? schema.schemaName ?? ''\n}\n\nfunction buildUnversionedSchemaId(schema: JsonSchemaInfo): string {\n return `${schema.organizationName}-${schema.schemaName}`\n}\n\n/**\n * Computes the `JsonSchemaSelection` to report to the consumer for a given schema/version/\n * VersionSelectionType combination.\n */\nfunction resolveSelection(\n schema: JsonSchemaInfo | undefined,\n versionInfo: JsonSchemaVersionInfo | undefined,\n versionSelectionType: VersionSelectionType,\n): JsonSchemaSelection | undefined {\n if (!schema) {\n return undefined\n }\n if (versionSelectionType === VersionSelectionType.REQUIRED && !versionInfo) {\n // Waiting for a numbered version to be resolved before reporting a selection.\n return undefined\n }\n if (versionInfo) {\n return { $id: versionInfo.$id, versionInfo }\n }\n return { $id: buildUnversionedSchemaId(schema), versionInfo: undefined }\n}\n\nexport type UseJsonSchemaSelectionParams = {\n schemas: JsonSchemaInfo[]\n versionSelectionType: VersionSelectionType\n onSelectionChange: (selection: JsonSchemaSelection | undefined) => void\n /**\n * The initially-selected schema/version, e.g. when editing an existing selection. Only\n * consulted on mount (via useState's lazy initializer) -- to react to a changed\n * `initialSelected`, remount this hook's consumer with a new `key`, rather than updating this\n * prop in place.\n */\n initialSelected?: JsonSchemaSelection\n}\n\n/**\n * Manages which JsonSchema (and, depending on `versionSelectionType`, which version of that\n * schema) is currently selected, and reports the resolved selection to `onSelectionChange`.\n *\n * Under {@link VersionSelectionType.REQUIRED}, selecting a schema with no version yet chosen\n * kicks off a fetch of every version, and auto-selects the latest one once it resolves.\n */\nexport function useJsonSchemaSelection(params: UseJsonSchemaSelectionParams) {\n const { schemas, versionSelectionType, onSelectionChange, initialSelected } =\n params\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n const [rowSelection, setRowSelection] = useState<RowSelectionState>(() => {\n const initialSchemaId = initialSelected?.versionInfo\n ? getSchemaId(initialSelected.versionInfo)\n : undefined\n return initialSchemaId ? { [initialSchemaId]: true } : {}\n })\n const [selectedVersionInfo, setSelectedVersionInfo] = useState<\n JsonSchemaVersionInfo | undefined\n >(initialSelected?.versionInfo)\n\n // Mirror rowSelection so handleRowSelectionChange (below) can apply a functional updater\n // against the *current* selection, rather than the (possibly stale) value closed over at\n // render time.\n const rowSelectionRef = useRef(rowSelection)\n rowSelectionRef.current = rowSelection\n\n // Identifies the most recent row-selection or manual-version-pick request, which ensures\n // that only the latest invocation applies a state change. This is necessary because the\n // \"auto-select latest version\" depends on a network request, and the user may have manually\n // invoked a different selection before the request resolves.\n const requestIdRef = useRef(0)\n\n const selectedSchema = useMemo(() => {\n const id = Object.keys(rowSelection).find(key => rowSelection[key])\n return schemas.find(schema => getSchemaId(schema) === id)\n }, [rowSelection, schemas])\n\n const applyVersionSelection = (\n schema: JsonSchemaInfo | undefined,\n versionInfo: JsonSchemaVersionInfo | undefined,\n ) => {\n setSelectedVersionInfo(versionInfo)\n onSelectionChange(\n resolveSelection(schema, versionInfo, versionSelectionType),\n )\n }\n\n const handleVersionChange = (\n versionInfo: JsonSchemaVersionInfo | undefined,\n ) => {\n // Invalidate any in-flight \"auto-select latest version\" fetch -- this manual pick wins.\n requestIdRef.current++\n applyVersionSelection(selectedSchema, versionInfo)\n }\n\n const handleRowSelectionChange: OnChangeFn<\n RowSelectionState\n > = updaterOrValue => {\n const newRowSelection = functionalUpdate(\n updaterOrValue,\n rowSelectionRef.current,\n )\n const newSelectedId = Object.keys(newRowSelection).find(\n key => newRowSelection[key],\n )\n const newSelectedSchema = schemas.find(\n schema => getSchemaId(schema) === newSelectedId,\n )\n\n setRowSelection(newRowSelection)\n setSelectedVersionInfo(undefined)\n onSelectionChange(\n resolveSelection(newSelectedSchema, undefined, versionSelectionType),\n )\n\n const requestId = ++requestIdRef.current\n\n if (\n newSelectedSchema &&\n versionSelectionType === VersionSelectionType.REQUIRED\n ) {\n void queryClient\n .fetchQuery(\n getJsonSchemaVersionsQuery(\n newSelectedSchema.organizationName ?? '',\n newSelectedSchema.schemaName ?? '',\n { synapseClient, keyFactory },\n ),\n )\n .then(versions => {\n // The API returns versions lowest-to-highest, so the latest is the last element.\n const latest = versions.at(-1)\n if (requestIdRef.current === requestId && latest) {\n // Apply against the schema this fetch was for -- not `selectedSchema`, whose\n // closure here is fixed to this render and may be stale by the time this resolves.\n applyVersionSelection(newSelectedSchema, latest)\n }\n })\n .catch(() => {\n // Swallow -- JsonSchemaVersionCell's own query for the same key surfaces the error\n // in the UI; this fetch only exists to opportunistically auto-select \"latest.\"\n })\n }\n }\n\n return {\n rowSelection,\n selectedVersionInfo,\n selectedSchema,\n handleRowSelectionChange,\n handleVersionChange,\n }\n}\n"],"mappings":";;;;;;;;AAoBA,SAAgB,EAAY,GAAgC;CAC1D,OAAO,EAAO,YAAY,EAAO,cAAc;AACjD;AAEA,SAAS,EAAyB,GAAgC;CAChE,OAAO,GAAG,EAAO,iBAAiB,GAAG,EAAO;AAC9C;AAMA,SAAS,EACP,GACA,GACA,GACiC;CAC5B,SAGD,QAAyB,EAAqB,YAAY,CAAC,IAO/D,OAHI,IACK;EAAE,KAAK,EAAY;EAAK;CAAY,IAEtC;EAAE,KAAK,EAAyB,CAAM;EAAG,aAAa,KAAA;CAAU;AACzE;AAsBA,SAAgB,EAAuB,GAAsC;CAC3E,IAAM,EAAE,YAAS,yBAAsB,sBAAmB,uBACxD,GACI,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAc,EAAe,GAE7B,CAAC,GAAc,KAAmB,QAAkC;EACxE,IAAM,IAAkB,GAAiB,cACrC,EAAY,EAAgB,WAAW,IACvC,KAAA;EACJ,OAAO,IAAkB,GAAG,IAAkB,GAAK,IAAI,CAAC;CAC1D,CAAC,GACK,CAAC,GAAqB,KAA0B,EAEpD,GAAiB,WAAW,GAKxB,IAAkB,EAAO,CAAY;CAC3C,EAAgB,UAAU;CAM1B,IAAM,IAAe,EAAO,CAAC,GAEvB,IAAiB,QAAc;EACnC,IAAM,IAAK,OAAO,KAAK,CAAY,EAAE,MAAK,MAAO,EAAa,EAAI;EAClE,OAAO,EAAQ,MAAK,MAAU,EAAY,CAAM,MAAM,CAAE;CAC1D,GAAG,CAAC,GAAc,CAAO,CAAC,GAEpB,KACJ,GACA,MACG;EAEH,AADA,EAAuB,CAAW,GAClC,EACE,EAAiB,GAAQ,GAAa,CAAoB,CAC5D;CACF;CA4DA,OAAO;EACL;EACA;EACA;EACA,2BApDE,MAAkB;GACpB,IAAM,IAAkB,EACtB,GACA,EAAgB,OAClB,GACM,IAAgB,OAAO,KAAK,CAAe,EAAE,MACjD,MAAO,EAAgB,EACzB,GACM,IAAoB,EAAQ,MAChC,MAAU,EAAY,CAAM,MAAM,CACpC;GAIA,AAFA,EAAgB,CAAe,GAC/B,EAAuB,KAAA,CAAS,GAChC,EACE,EAAiB,GAAmB,KAAA,GAAW,CAAoB,CACrE;GAEA,IAAM,IAAY,EAAE,EAAa;GAEjC,AACE,KACA,MAAyB,EAAqB,YAE9C,EACG,WACC,EACE,EAAkB,oBAAoB,IACtC,EAAkB,cAAc,IAChC;IAAE;IAAe;GAAW,CAC9B,CACF,EACC,MAAK,MAAY;IAEhB,IAAM,IAAS,EAAS,GAAG,EAAE;IAC7B,AAAI,EAAa,YAAY,KAAa,KAGxC,EAAsB,GAAmB,CAAM;GAEnD,CAAC,EACA,YAAY,CAGb,CAAC;EAEP;EAOE,sBA9DA,MACG;GAGH,AADA,EAAa,WACb,EAAsB,GAAgB,CAAW;EACnD;CA0DA;AACF"}
@@ -1 +1 @@
1
- ._propertyTitle_a17mw_1.MuiTypography-root{color:#747d88;letter-spacing:-.06px;font-size:12px;font-weight:400;line-height:14px}._propertyValue_a17mw_9.MuiTypography-root{color:#4d535a;letter-spacing:-.07px;font-size:14px;font-weight:500;line-height:20px}._propertyRow_a17mw_17{gap:4px}._propertyContainerTitle_a17mw_21{color:#16181e;letter-spacing:-.16px;font-size:16px;font-weight:540;line-height:24px}._propertiesContainer_a17mw_29{gap:12px}
1
+ ._propertyTitle_c36xp_1.MuiTypography-root{color:var(--synapse-v2-gray-600);letter-spacing:-.06px;font-size:12px;font-weight:400;line-height:14px}._propertyValue_c36xp_9.MuiTypography-root{color:var(--synapse-v2-gray-800);letter-spacing:-.07px;font-size:14px;font-weight:500;line-height:20px}._propertyRow_c36xp_17{gap:4px}._propertyContainerTitle_c36xp_21{color:#16181e;letter-spacing:-.16px;font-size:16px;font-weight:540;line-height:24px}._propertiesContainer_c36xp_29{gap:12px}
@@ -1,9 +1,9 @@
1
1
  import './ProjectInfo.css';var e = {
2
- propertyTitle: "_propertyTitle_a17mw_1",
3
- propertyValue: "_propertyValue_a17mw_9",
4
- propertyRow: "_propertyRow_a17mw_17",
5
- propertyContainerTitle: "_propertyContainerTitle_a17mw_21",
6
- propertiesContainer: "_propertiesContainer_a17mw_29"
2
+ propertyTitle: "_propertyTitle_c36xp_1",
3
+ propertyValue: "_propertyValue_c36xp_9",
4
+ propertyRow: "_propertyRow_c36xp_17",
5
+ propertyContainerTitle: "_propertyContainerTitle_c36xp_21",
6
+ propertiesContainer: "_propertiesContainer_c36xp_29"
7
7
  };
8
8
  //#endregion
9
9
  export { e as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectInfo.module.js","names":[],"sources":["../../../src/components/ProjectInfo/ProjectInfo.module.scss"],"sourcesContent":["$project-info-property-title-color: #747d88;\n$project-info-property-value-color: #4d535a;\n$project-info-property-container-title: #16181e;\n\n.propertyTitle:global(.MuiTypography-root) {\n color: $project-info-property-title-color;\n font-size: 12px;\n font-weight: 400;\n line-height: 14px; /* 100% */\n letter-spacing: -0.06px;\n}\n\n.propertyValue:global(.MuiTypography-root) {\n color: $project-info-property-value-color;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px; /* 142.857% */\n letter-spacing: -0.07px;\n}\n\n.propertyRow {\n gap: 4px;\n}\n\n.propertyContainerTitle {\n color: $project-info-property-container-title;\n font-size: 16px;\n font-weight: 540;\n line-height: 24px; /* 150% */\n letter-spacing: -0.16px;\n}\n\n.propertiesContainer {\n gap: 12px;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ProjectInfo.module.js","names":[],"sources":["../../../src/components/ProjectInfo/ProjectInfo.module.scss"],"sourcesContent":["$project-info-property-container-title: #16181e;\n\n.propertyTitle:global(.MuiTypography-root) {\n color: var(--synapse-v2-gray-600);\n font-size: 12px;\n font-weight: 400;\n line-height: 14px; /* 100% */\n letter-spacing: -0.06px;\n}\n\n.propertyValue:global(.MuiTypography-root) {\n color: var(--synapse-v2-gray-800);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px; /* 142.857% */\n letter-spacing: -0.07px;\n}\n\n.propertyRow {\n gap: 4px;\n}\n\n.propertyContainerTitle {\n color: $project-info-property-container-title;\n font-size: 16px;\n font-weight: 540;\n line-height: 24px; /* 150% */\n letter-spacing: -0.16px;\n}\n\n.propertiesContainer {\n gap: 12px;\n}\n"],"mappings":""}
@@ -1,9 +1,7 @@
1
- $project-info-property-title-color: #747d88;
2
- $project-info-property-value-color: #4d535a;
3
1
  $project-info-property-container-title: #16181e;
4
2
 
5
3
  .propertyTitle:global(.MuiTypography-root) {
6
- color: $project-info-property-title-color;
4
+ color: var(--synapse-v2-gray-600);
7
5
  font-size: 12px;
8
6
  font-weight: 400;
9
7
  line-height: 14px; /* 100% */
@@ -11,7 +9,7 @@ $project-info-property-container-title: #16181e;
11
9
  }
12
10
 
13
11
  .propertyValue:global(.MuiTypography-root) {
14
- color: $project-info-property-value-color;
12
+ color: var(--synapse-v2-gray-800);
15
13
  font-size: 14px;
16
14
  font-weight: 500;
17
15
  line-height: 20px; /* 142.857% */
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectInfoPopover.d.ts","sourceRoot":"","sources":["../../../src/components/ProjectInfo/ProjectInfoPopover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AASpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAOD,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GACpD,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAiB5D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,2CAwFjE"}
1
+ {"version":3,"file":"ProjectInfoPopover.d.ts","sourceRoot":"","sources":["../../../src/components/ProjectInfo/ProjectInfoPopover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAOpD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAOD,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GACpD,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAiB5D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,2CAyFjE"}
@@ -5,7 +5,7 @@ import r from "./ProjectInfo.module.js";
5
5
  import { Link as i, Popover as a, Skeleton as o, Stack as s, Typography as c } from "@mui/material";
6
6
  import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
7
7
  //#region src/components/ProjectInfo/ProjectInfoPopover.tsx
8
- var f = "#B7BFC9", p = ({ title: e, value: t }, n) => /* @__PURE__ */ u(l, { children: t && /* @__PURE__ */ d(s, {
8
+ var f = ({ title: e, value: t }, n) => /* @__PURE__ */ u(l, { children: t && /* @__PURE__ */ d(s, {
9
9
  className: r.propertyRow,
10
10
  children: [/* @__PURE__ */ u(c, {
11
11
  className: r.propertyTitle,
@@ -18,36 +18,36 @@ var f = "#B7BFC9", p = ({ title: e, value: t }, n) => /* @__PURE__ */ u(l, { chi
18
18
  children: t
19
19
  })]
20
20
  }) });
21
- function m(o) {
22
- let { anchorEl: l, open: m, id: h, onClose: g, doi: _, projectStorageLocation: v, projectId: y, isLoading: b } = o, x = e(_ ?? ""), S = [
21
+ function p(o) {
22
+ let { anchorEl: l, open: p, id: m, onClose: h, doi: g, projectStorageLocation: _, projectId: v, isLoading: y } = o, b = e(g ?? ""), x = [
23
23
  {
24
24
  title: "DOI",
25
- value: _ ? /* @__PURE__ */ u(i, {
26
- href: x,
27
- children: _
25
+ value: g ? /* @__PURE__ */ u(i, {
26
+ href: b,
27
+ children: g
28
28
  }) : void 0
29
29
  },
30
30
  {
31
31
  title: "SynId",
32
32
  value: /* @__PURE__ */ u(n, {
33
- value: y,
33
+ value: v,
34
34
  icon: "fileCopy",
35
35
  sx: { svg: { aspectRatio: "1/1" } }
36
36
  })
37
37
  },
38
38
  {
39
39
  title: "Project Storage Location",
40
- value: v
40
+ value: _
41
41
  }
42
- ].filter((e) => b || e.value !== void 0 && e.value !== "");
42
+ ].filter((e) => y || e.value !== void 0 && e.value !== "");
43
43
  return /* @__PURE__ */ u(a, {
44
44
  "aria-label": "Project information",
45
45
  role: "dialog",
46
- id: h,
46
+ id: m,
47
47
  elevation: 3,
48
- open: m,
48
+ open: p,
49
49
  anchorEl: l,
50
- onClose: g,
50
+ onClose: h,
51
51
  anchorOrigin: {
52
52
  vertical: "bottom",
53
53
  horizontal: "left"
@@ -63,7 +63,8 @@ function m(o) {
63
63
  position: "relative",
64
64
  mt: "6px",
65
65
  borderRadius: "3px",
66
- border: `1px solid ${f}`
66
+ border: "1px solid",
67
+ borderColor: "greyV2.300"
67
68
  }
68
69
  } },
69
70
  children: /* @__PURE__ */ d(s, {
@@ -77,18 +78,18 @@ function m(o) {
77
78
  children: "Project Information"
78
79
  }),
79
80
  /* @__PURE__ */ u(t, {
80
- projectId: y,
81
+ projectId: v,
81
82
  showBottomDivider: !0
82
83
  }),
83
84
  /* @__PURE__ */ u(s, {
84
85
  className: r.propertiesContainer,
85
- children: S.map((e) => p(e, b))
86
+ children: x.map((e) => f(e, y))
86
87
  })
87
88
  ]
88
89
  })
89
90
  });
90
91
  }
91
92
  //#endregion
92
- export { m as default };
93
+ export { p as default };
93
94
 
94
95
  //# sourceMappingURL=ProjectInfoPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectInfoPopover.js","names":[],"sources":["../../../src/components/ProjectInfo/ProjectInfoPopover.tsx"],"sourcesContent":["import { Popover, Typography, Stack, Link, Skeleton } from '@mui/material'\nimport { PopoverProps } from '@mui/material/Popover'\nimport { convertDoiToLink } from '@/utils/functions/RegularExpressions'\nimport { ReactElement, ReactNode } from 'react'\nimport styles from './ProjectInfo.module.scss'\nimport CopyToClipboardString from '../CopyToClipboardString/CopyToClipboardString'\nimport ProjectDataAvailability from '../ProjectStorage'\n\nconst POPOVER_BORDER_COLOR = '#B7BFC9'\n\nexport type ProjectInfoPopoverProps = {\n doi?: string\n projectStorageLocation?: string\n projectId: string\n isLoading?: boolean\n}\n\ntype Property = {\n title: string\n value?: ReactElement | ReactNode\n}\n\nexport type ProjectInfoProps = ProjectInfoPopoverProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nconst propertyRow = ({ title, value }: Property, isLoading?: boolean) => (\n <>\n {value && (\n <Stack className={styles.propertyRow}>\n <Typography className={styles.propertyTitle}>{title}</Typography>\n {isLoading ? (\n <Skeleton variant=\"text\" width={'100%'} />\n ) : (\n <Typography className={styles.propertyValue}>{value}</Typography>\n )}\n </Stack>\n )}\n </>\n)\n\nexport default function ProjectInfoPopover(props: ProjectInfoProps) {\n const {\n anchorEl,\n open,\n id,\n onClose,\n doi,\n projectStorageLocation,\n projectId,\n isLoading,\n } = props\n\n const doiLink = convertDoiToLink(doi ?? '')\n\n const properties = [\n {\n title: 'DOI',\n value: doi ? <Link href={doiLink}>{doi}</Link> : undefined,\n },\n {\n title: 'SynId',\n value: (\n <CopyToClipboardString\n value={projectId}\n icon=\"fileCopy\"\n sx={{ svg: { aspectRatio: '1/1' } }}\n />\n ),\n },\n {\n title: 'Project Storage Location',\n value: projectStorageLocation,\n },\n ]\n\n const visibleProperties = properties.filter(\n p => isLoading || (p.value !== undefined && p.value !== ''),\n )\n\n return (\n <Popover\n aria-label=\"Project information\"\n role=\"dialog\"\n id={id}\n elevation={3}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: {\n width: '240px',\n position: 'relative',\n mt: '6px',\n borderRadius: '3px',\n border: `1px solid ${POPOVER_BORDER_COLOR}`,\n },\n },\n }}\n >\n <Stack\n sx={{\n gap: '16px',\n padding: '20px',\n }}\n >\n <Typography className={styles.propertyContainerTitle}>\n Project Information\n </Typography>\n <ProjectDataAvailability\n projectId={projectId}\n showBottomDivider={true}\n />\n <Stack className={styles.propertiesContainer}>\n {visibleProperties.map(property => propertyRow(property, isLoading))}\n </Stack>\n </Stack>\n </Popover>\n )\n}\n"],"mappings":";;;;;;;AAQA,IAAM,IAAuB,WAiBvB,KAAe,EAAE,UAAO,YAAmB,MAC/C,kBAAA,GAAA,EAAA,UACG,KACC,kBAAC,GAAD;CAAO,WAAW,EAAO;WAAzB,CACE,kBAAC,GAAD;EAAY,WAAW,EAAO;YAAgB;CAAkB,CAAA,GAC/D,IACC,kBAAC,GAAD;EAAU,SAAQ;EAAO,OAAO;CAAS,CAAA,IAEzC,kBAAC,GAAD;EAAY,WAAW,EAAO;YAAgB;CAAkB,CAAA,CAE7D;GAET,CAAA;AAGJ,SAAwB,EAAmB,GAAyB;CAClE,IAAM,EACJ,aACA,SACA,OACA,YACA,QACA,2BACA,cACA,iBACE,GAEE,IAAU,EAAiB,KAAO,EAAE,GAuBpC,IAAoB;EApBxB;GACE,OAAO;GACP,OAAO,IAAM,kBAAC,GAAD;IAAM,MAAM;cAAU;GAAU,CAAA,IAAI,KAAA;EACnD;EACA;GACE,OAAO;GACP,OACE,kBAAC,GAAD;IACE,OAAO;IACP,MAAK;IACL,IAAI,EAAE,KAAK,EAAE,aAAa,MAAM,EAAE;GACnC,CAAA;EAEL;EACA;GACE,OAAO;GACP,OAAO;EACT;CAGwB,EAAW,QACnC,MAAK,KAAc,EAAE,UAAU,KAAA,KAAa,EAAE,UAAU,EAC1D;CAEA,OACE,kBAAC,GAAD;EACE,cAAW;EACX,MAAK;EACD;EACJ,WAAW;EACL;EACI;EACD;EACT,cAAc;GACZ,UAAU;GACV,YAAY;EACd;EACA,iBAAiB;GACf,UAAU;GACV,YAAY;EACd;EACA,WAAW,EACT,OAAO;GACL,QAAQ;GACR,IAAI;IACF,OAAO;IACP,UAAU;IACV,IAAI;IACJ,cAAc;IACd,QAAQ,aAAa;GACvB;EACF,EACF;YAEA,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,SAAS;GACX;aAJF;IAME,kBAAC,GAAD;KAAY,WAAW,EAAO;eAAwB;IAE1C,CAAA;IACZ,kBAAC,GAAD;KACa;KACX,mBAAmB;IACpB,CAAA;IACD,kBAAC,GAAD;KAAO,WAAW,EAAO;eACtB,EAAkB,KAAI,MAAY,EAAY,GAAU,CAAS,CAAC;IAC9D,CAAA;GACF;;CACA,CAAA;AAEb"}
1
+ {"version":3,"file":"ProjectInfoPopover.js","names":[],"sources":["../../../src/components/ProjectInfo/ProjectInfoPopover.tsx"],"sourcesContent":["import { Popover, Typography, Stack, Link, Skeleton } from '@mui/material'\nimport { PopoverProps } from '@mui/material/Popover'\nimport { convertDoiToLink } from '@/utils/functions/RegularExpressions'\nimport { ReactElement, ReactNode } from 'react'\nimport styles from './ProjectInfo.module.scss'\nimport CopyToClipboardString from '../CopyToClipboardString/CopyToClipboardString'\nimport ProjectDataAvailability from '../ProjectStorage'\n\nexport type ProjectInfoPopoverProps = {\n doi?: string\n projectStorageLocation?: string\n projectId: string\n isLoading?: boolean\n}\n\ntype Property = {\n title: string\n value?: ReactElement | ReactNode\n}\n\nexport type ProjectInfoProps = ProjectInfoPopoverProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nconst propertyRow = ({ title, value }: Property, isLoading?: boolean) => (\n <>\n {value && (\n <Stack className={styles.propertyRow}>\n <Typography className={styles.propertyTitle}>{title}</Typography>\n {isLoading ? (\n <Skeleton variant=\"text\" width={'100%'} />\n ) : (\n <Typography className={styles.propertyValue}>{value}</Typography>\n )}\n </Stack>\n )}\n </>\n)\n\nexport default function ProjectInfoPopover(props: ProjectInfoProps) {\n const {\n anchorEl,\n open,\n id,\n onClose,\n doi,\n projectStorageLocation,\n projectId,\n isLoading,\n } = props\n\n const doiLink = convertDoiToLink(doi ?? '')\n\n const properties = [\n {\n title: 'DOI',\n value: doi ? <Link href={doiLink}>{doi}</Link> : undefined,\n },\n {\n title: 'SynId',\n value: (\n <CopyToClipboardString\n value={projectId}\n icon=\"fileCopy\"\n sx={{ svg: { aspectRatio: '1/1' } }}\n />\n ),\n },\n {\n title: 'Project Storage Location',\n value: projectStorageLocation,\n },\n ]\n\n const visibleProperties = properties.filter(\n p => isLoading || (p.value !== undefined && p.value !== ''),\n )\n\n return (\n <Popover\n aria-label=\"Project information\"\n role=\"dialog\"\n id={id}\n elevation={3}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: {\n width: '240px',\n position: 'relative',\n mt: '6px',\n borderRadius: '3px',\n border: '1px solid',\n borderColor: 'greyV2.300',\n },\n },\n }}\n >\n <Stack\n sx={{\n gap: '16px',\n padding: '20px',\n }}\n >\n <Typography className={styles.propertyContainerTitle}>\n Project Information\n </Typography>\n <ProjectDataAvailability\n projectId={projectId}\n showBottomDivider={true}\n />\n <Stack className={styles.propertiesContainer}>\n {visibleProperties.map(property => propertyRow(property, isLoading))}\n </Stack>\n </Stack>\n </Popover>\n )\n}\n"],"mappings":";;;;;;;AAuBA,IAAM,KAAe,EAAE,UAAO,YAAmB,MAC/C,kBAAA,GAAA,EAAA,UACG,KACC,kBAAC,GAAD;CAAO,WAAW,EAAO;WAAzB,CACE,kBAAC,GAAD;EAAY,WAAW,EAAO;YAAgB;CAAkB,CAAA,GAC/D,IACC,kBAAC,GAAD;EAAU,SAAQ;EAAO,OAAO;CAAS,CAAA,IAEzC,kBAAC,GAAD;EAAY,WAAW,EAAO;YAAgB;CAAkB,CAAA,CAE7D;GAET,CAAA;AAGJ,SAAwB,EAAmB,GAAyB;CAClE,IAAM,EACJ,aACA,SACA,OACA,YACA,QACA,2BACA,cACA,iBACE,GAEE,IAAU,EAAiB,KAAO,EAAE,GAuBpC,IAAoB;EApBxB;GACE,OAAO;GACP,OAAO,IAAM,kBAAC,GAAD;IAAM,MAAM;cAAU;GAAU,CAAA,IAAI,KAAA;EACnD;EACA;GACE,OAAO;GACP,OACE,kBAAC,GAAD;IACE,OAAO;IACP,MAAK;IACL,IAAI,EAAE,KAAK,EAAE,aAAa,MAAM,EAAE;GACnC,CAAA;EAEL;EACA;GACE,OAAO;GACP,OAAO;EACT;CAGwB,EAAW,QACnC,MAAK,KAAc,EAAE,UAAU,KAAA,KAAa,EAAE,UAAU,EAC1D;CAEA,OACE,kBAAC,GAAD;EACE,cAAW;EACX,MAAK;EACD;EACJ,WAAW;EACL;EACI;EACD;EACT,cAAc;GACZ,UAAU;GACV,YAAY;EACd;EACA,iBAAiB;GACf,UAAU;GACV,YAAY;EACd;EACA,WAAW,EACT,OAAO;GACL,QAAQ;GACR,IAAI;IACF,OAAO;IACP,UAAU;IACV,IAAI;IACJ,cAAc;IACd,QAAQ;IACR,aAAa;GACf;EACF,EACF;YAEA,kBAAC,GAAD;GACE,IAAI;IACF,KAAK;IACL,SAAS;GACX;aAJF;IAME,kBAAC,GAAD;KAAY,WAAW,EAAO;eAAwB;IAE1C,CAAA;IACZ,kBAAC,GAAD;KACa;KACX,mBAAmB;IACpB,CAAA;IACD,kBAAC,GAAD;KAAO,WAAW,EAAO;eACtB,EAAkB,KAAI,MAAY,EAAY,GAAU,CAAS,CAAC;IAC9D,CAAA;GACF;;CACA,CAAA;AAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDataAvailability.d.ts","sourceRoot":"","sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAO,OAAO,EAAgC,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAMD,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,EAAE,EACF,iBAAyB,GAC1B,EAAE,4BAA4B,GAAG,KAAK,CAAC,SAAS,CA8HhD;AAED,eAAe,uBAAuB,CAAA"}
1
+ {"version":3,"file":"ProjectDataAvailability.d.ts","sourceRoot":"","sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAO,OAAO,EAAgC,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAKD,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,EAAE,EACF,iBAAyB,GAC1B,EAAE,4BAA4B,GAAG,KAAK,CAAC,SAAS,CA8HhD;AAED,eAAe,uBAAuB,CAAA"}
@@ -10,13 +10,13 @@ import "react";
10
10
  import { Box as i, Divider as a, Tooltip as o, Typography as s } from "@mui/material";
11
11
  import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
12
12
  //#region src/components/ProjectStorage/ProjectDataAvailability.tsx
13
- var d = "#576077", f = "#DEE0E5", p = "#38756A", m = .5;
14
- function h({ projectId: h, sx: g, showBottomDivider: _ = !1 }) {
15
- let { isAuthenticated: v } = n(), { data: y } = r(h, { enabled: !!h && v }), b = y?.locations.filter((e) => e.storageLocationId == 1), x = b?.length == 1 ? b[0] : void 0;
16
- if (!x) return /* @__PURE__ */ l(c, {});
17
- let { sumFileBytes: S = 0, maxAllowedFileBytes: C = 0 } = x;
18
- if (C == 0) return /* @__PURE__ */ l(c, {});
19
- let w = S / C * 100, T = Math.min(w, 100), E = S === 0 ? "0%" : w < 1 ? "<1%" : `${Math.round(w)}%`, D = S === 0 ? 0 : Math.max(T, m), O = t(S, 1), k = t(C, 1).replace(/\.0\s/, " ");
13
+ var d = "#576077", f = "#38756A", p = .5;
14
+ function m({ projectId: m, sx: h, showBottomDivider: g = !1 }) {
15
+ let { isAuthenticated: _ } = n(), { data: v } = r(m, { enabled: !!m && _ }), y = v?.locations.filter((e) => e.storageLocationId == 1), b = y?.length == 1 ? y[0] : void 0;
16
+ if (!b) return /* @__PURE__ */ l(c, {});
17
+ let { sumFileBytes: x = 0, maxAllowedFileBytes: S = 0 } = b;
18
+ if (S == 0) return /* @__PURE__ */ l(c, {});
19
+ let C = x / S * 100, w = Math.min(C, 100), T = x === 0 ? "0%" : C < 1 ? "<1%" : `${Math.round(C)}%`, E = x === 0 ? 0 : Math.max(w, p), D = t(x, 1), O = t(S, 1).replace(/\.0\s/, " ");
20
20
  return /* @__PURE__ */ u(i, {
21
21
  sx: e({
22
22
  display: "flex",
@@ -24,7 +24,7 @@ function h({ projectId: h, sx: g, showBottomDivider: _ = !1 }) {
24
24
  width: "100%",
25
25
  fontFamily: "DM Sans",
26
26
  color: d
27
- }, g),
27
+ }, h),
28
28
  children: [
29
29
  /* @__PURE__ */ l(i, {
30
30
  sx: {
@@ -41,8 +41,8 @@ function h({ projectId: h, sx: g, showBottomDivider: _ = !1 }) {
41
41
  children: ["Data Availability", " "]
42
42
  })
43
43
  }),
44
- x.maxAllowedFileBytes && /* @__PURE__ */ l(o, {
45
- title: `Using ${O} out of ${k}`,
44
+ b.maxAllowedFileBytes && /* @__PURE__ */ l(o, {
45
+ title: `Using ${D} out of ${O}`,
46
46
  children: /* @__PURE__ */ u(i, {
47
47
  sx: {
48
48
  display: "flex",
@@ -59,24 +59,24 @@ function h({ projectId: h, sx: g, showBottomDivider: _ = !1 }) {
59
59
  sx: {
60
60
  width: "100%",
61
61
  height: "6px",
62
- backgroundColor: f,
62
+ backgroundColor: "greyV2.200",
63
63
  borderRadius: "50px"
64
64
  },
65
65
  children: /* @__PURE__ */ l(i, { sx: {
66
- width: `${D}%`,
66
+ width: `${E}%`,
67
67
  height: "6px",
68
- backgroundColor: p,
68
+ backgroundColor: f,
69
69
  borderRadius: "50px"
70
70
  } })
71
71
  })
72
72
  }), /* @__PURE__ */ l(s, {
73
73
  variant: "body2",
74
74
  sx: { color: d },
75
- children: `${E} of ${k}`
75
+ children: `${T} of ${O}`
76
76
  })]
77
77
  })
78
78
  }),
79
- _ && /* @__PURE__ */ l(a, { sx: {
79
+ g && /* @__PURE__ */ l(a, { sx: {
80
80
  mt: "16px",
81
81
  borderColor: "rgba(226, 228, 234, 0.50)"
82
82
  } })
@@ -84,6 +84,6 @@ function h({ projectId: h, sx: g, showBottomDivider: _ = !1 }) {
84
84
  });
85
85
  }
86
86
  //#endregion
87
- export { h as ProjectDataAvailability, h as default };
87
+ export { m as ProjectDataAvailability, m as default };
88
88
 
89
89
  //# sourceMappingURL=ProjectDataAvailability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDataAvailability.js","names":[],"sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"sourcesContent":["import { SYNAPSE_STORAGE_LOCATION_ID } from '@/synapse-client'\nimport { useProjectStorageUsage } from '@/synapse-queries'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { useSynapseContext } from '@/utils'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Box, SxProps, Tooltip, Typography, Divider } from '@mui/material'\nimport React from 'react'\n\nexport type ProjectDataAvailabilityProps = {\n projectId?: string\n sx?: SxProps\n showBottomDivider?: boolean\n}\nconst textColor = '#576077'\nconst trackColor = '#DEE0E5'\nconst fillColor = '#38756A'\nconst MIN_VISIBLE_USAGE_PERCENT = 0.5\n\nexport function ProjectDataAvailability({\n projectId,\n sx,\n showBottomDivider = false,\n}: ProjectDataAvailabilityProps): React.ReactNode {\n const { isAuthenticated } = useSynapseContext()\n const { data } = useProjectStorageUsage(projectId!, {\n enabled: !!projectId && isAuthenticated,\n })\n const projectDataUsageArray = data?.locations.filter(\n v => v.storageLocationId == SYNAPSE_STORAGE_LOCATION_ID,\n )\n const synapseStorageUsage =\n projectDataUsageArray?.length == 1 ? projectDataUsageArray[0] : undefined\n if (!synapseStorageUsage) {\n return <></>\n }\n const { sumFileBytes = 0, maxAllowedFileBytes = 0 } = synapseStorageUsage\n if (maxAllowedFileBytes == 0) {\n return <></>\n }\n const rawUsagePercent = (sumFileBytes / maxAllowedFileBytes) * 100\n const boundedUsagePercent = Math.min(rawUsagePercent, 100)\n\n const usagePercentLabel =\n sumFileBytes === 0\n ? '0%'\n : rawUsagePercent < 1\n ? '<1%'\n : `${Math.round(rawUsagePercent)}%`\n\n const usageBarPercent =\n sumFileBytes === 0\n ? 0\n : Math.max(boundedUsagePercent, MIN_VISIBLE_USAGE_PERCENT)\n\n const friendlySumFileBytes = calculateFriendlyFileSize(sumFileBytes, 1)\n const friendlyMaxAllowedFileBytes = calculateFriendlyFileSize(\n maxAllowedFileBytes,\n 1,\n ).replace(/\\.0\\s/, ' ') // SWC-7183: remove '.0 ' from the string if it exists\n return (\n <Box\n sx={spreadSx(\n {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n fontFamily: 'DM Sans',\n color: textColor,\n },\n sx,\n )}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n marginBottom: '10px',\n }}\n >\n <Typography\n sx={{\n // match current styles in Project metadata\n fontWeight: 500,\n fontSize: '12px',\n textTransform: 'uppercase',\n }}\n >\n Data Availability{' '}\n </Typography>\n </Box>\n {synapseStorageUsage.maxAllowedFileBytes && (\n <Tooltip\n title={`Using ${friendlySumFileBytes} out of ${friendlyMaxAllowedFileBytes}`}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n }}\n >\n {/* Progress Bar */}\n <Box\n sx={{\n width: '100%',\n height: '6px',\n backgroundColor: trackColor,\n borderRadius: '50px',\n }}\n >\n <Box\n sx={{\n width: `${usageBarPercent}%`,\n height: '6px',\n backgroundColor: fillColor,\n borderRadius: '50px',\n }}\n ></Box>\n </Box>\n </Box>\n <Typography\n variant=\"body2\"\n sx={{\n color: textColor,\n }}\n >\n {`${usagePercentLabel} of ${friendlyMaxAllowedFileBytes}`}\n </Typography>\n </Box>\n </Tooltip>\n )}\n {showBottomDivider && (\n <Divider\n sx={{\n mt: '16px',\n borderColor: 'rgba(226, 228, 234, 0.50)',\n }}\n />\n )}\n </Box>\n )\n}\n\nexport default ProjectDataAvailability\n"],"mappings":";;;;;;;;;;;;AAaA,IAAM,IAAY,WACZ,IAAa,WACb,IAAY,WACZ,IAA4B;AAElC,SAAgB,EAAwB,EACtC,cACA,OACA,uBAAoB,MAC4B;CAChD,IAAM,EAAE,uBAAoB,EAAkB,GACxC,EAAE,YAAS,EAAuB,GAAY,EAClD,SAAS,CAAC,CAAC,KAAa,EAC1B,CAAC,GACK,IAAwB,GAAM,UAAU,QAC5C,MAAK,EAAE,qBAAA,CACT,GACM,IACJ,GAAuB,UAAU,IAAI,EAAsB,KAAK,KAAA;CAClE,IAAI,CAAC,GACH,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,EAAE,kBAAe,GAAG,yBAAsB,MAAM;CACtD,IAAI,KAAuB,GACzB,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,IAAmB,IAAe,IAAuB,KACzD,IAAsB,KAAK,IAAI,GAAiB,GAAG,GAEnD,IACJ,MAAiB,IACb,OACA,IAAkB,IAChB,QACA,GAAG,KAAK,MAAM,CAAe,EAAE,IAEjC,IACJ,MAAiB,IACb,IACA,KAAK,IAAI,GAAqB,CAAyB,GAEvD,IAAuB,EAA0B,GAAc,CAAC,GAChE,IAA8B,EAClC,GACA,CACF,EAAE,QAAQ,SAAS,GAAG;CACtB,OACE,kBAAC,GAAD;EACE,IAAI,EACF;GACE,SAAS;GACT,eAAe;GACf,OAAO;GACP,YAAY;GACZ,OAAO;EACT,GACA,CACF;YAVF;GAYE,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,cAAc;IAChB;cAEA,kBAAC,GAAD;KACE,IAAI;MAEF,YAAY;MACZ,UAAU;MACV,eAAe;KACjB;eANF,CAOC,qBACmB,GACR;;GACT,CAAA;GACJ,EAAoB,uBACnB,kBAAC,GAAD;IACE,OAAO,SAAS,EAAqB,UAAU;cAE/C,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;MACf,KAAK;KACP;eALF,CAOE,kBAAC,GAAD;MACE,IAAI;OACF,SAAS;OACT,eAAe;OACf,YAAY;MACd;gBAGA,kBAAC,GAAD;OACE,IAAI;QACF,OAAO;QACP,QAAQ;QACR,iBAAiB;QACjB,cAAc;OAChB;iBAEA,kBAAC,GAAD,EACE,IAAI;QACF,OAAO,GAAG,EAAgB;QAC1B,QAAQ;QACR,iBAAiB;QACjB,cAAc;OAChB,EACI,CAAA;MACH,CAAA;KACF,CAAA,GACL,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI,EACF,OAAO,EACT;gBAEC,GAAG,EAAkB,MAAM;KAClB,CAAA,CACT;;GACE,CAAA;GAEV,KACC,kBAAC,GAAD,EACE,IAAI;IACF,IAAI;IACJ,aAAa;GACf,EACD,CAAA;EAEA;;AAET"}
1
+ {"version":3,"file":"ProjectDataAvailability.js","names":[],"sources":["../../../src/components/ProjectStorage/ProjectDataAvailability.tsx"],"sourcesContent":["import { SYNAPSE_STORAGE_LOCATION_ID } from '@/synapse-client'\nimport { useProjectStorageUsage } from '@/synapse-queries'\nimport { spreadSx } from '@/theme/spreadSx'\nimport { useSynapseContext } from '@/utils'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Box, SxProps, Tooltip, Typography, Divider } from '@mui/material'\nimport React from 'react'\n\nexport type ProjectDataAvailabilityProps = {\n projectId?: string\n sx?: SxProps\n showBottomDivider?: boolean\n}\nconst textColor = '#576077'\nconst fillColor = '#38756A'\nconst MIN_VISIBLE_USAGE_PERCENT = 0.5\n\nexport function ProjectDataAvailability({\n projectId,\n sx,\n showBottomDivider = false,\n}: ProjectDataAvailabilityProps): React.ReactNode {\n const { isAuthenticated } = useSynapseContext()\n const { data } = useProjectStorageUsage(projectId!, {\n enabled: !!projectId && isAuthenticated,\n })\n const projectDataUsageArray = data?.locations.filter(\n v => v.storageLocationId == SYNAPSE_STORAGE_LOCATION_ID,\n )\n const synapseStorageUsage =\n projectDataUsageArray?.length == 1 ? projectDataUsageArray[0] : undefined\n if (!synapseStorageUsage) {\n return <></>\n }\n const { sumFileBytes = 0, maxAllowedFileBytes = 0 } = synapseStorageUsage\n if (maxAllowedFileBytes == 0) {\n return <></>\n }\n const rawUsagePercent = (sumFileBytes / maxAllowedFileBytes) * 100\n const boundedUsagePercent = Math.min(rawUsagePercent, 100)\n\n const usagePercentLabel =\n sumFileBytes === 0\n ? '0%'\n : rawUsagePercent < 1\n ? '<1%'\n : `${Math.round(rawUsagePercent)}%`\n\n const usageBarPercent =\n sumFileBytes === 0\n ? 0\n : Math.max(boundedUsagePercent, MIN_VISIBLE_USAGE_PERCENT)\n\n const friendlySumFileBytes = calculateFriendlyFileSize(sumFileBytes, 1)\n const friendlyMaxAllowedFileBytes = calculateFriendlyFileSize(\n maxAllowedFileBytes,\n 1,\n ).replace(/\\.0\\s/, ' ') // SWC-7183: remove '.0 ' from the string if it exists\n return (\n <Box\n sx={spreadSx(\n {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n fontFamily: 'DM Sans',\n color: textColor,\n },\n sx,\n )}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n marginBottom: '10px',\n }}\n >\n <Typography\n sx={{\n // match current styles in Project metadata\n fontWeight: 500,\n fontSize: '12px',\n textTransform: 'uppercase',\n }}\n >\n Data Availability{' '}\n </Typography>\n </Box>\n {synapseStorageUsage.maxAllowedFileBytes && (\n <Tooltip\n title={`Using ${friendlySumFileBytes} out of ${friendlyMaxAllowedFileBytes}`}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: '8px',\n }}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n }}\n >\n {/* Progress Bar */}\n <Box\n sx={{\n width: '100%',\n height: '6px',\n backgroundColor: 'greyV2.200',\n borderRadius: '50px',\n }}\n >\n <Box\n sx={{\n width: `${usageBarPercent}%`,\n height: '6px',\n backgroundColor: fillColor,\n borderRadius: '50px',\n }}\n ></Box>\n </Box>\n </Box>\n <Typography\n variant=\"body2\"\n sx={{\n color: textColor,\n }}\n >\n {`${usagePercentLabel} of ${friendlyMaxAllowedFileBytes}`}\n </Typography>\n </Box>\n </Tooltip>\n )}\n {showBottomDivider && (\n <Divider\n sx={{\n mt: '16px',\n borderColor: 'rgba(226, 228, 234, 0.50)',\n }}\n />\n )}\n </Box>\n )\n}\n\nexport default ProjectDataAvailability\n"],"mappings":";;;;;;;;;;;;AAaA,IAAM,IAAY,WACZ,IAAY,WACZ,IAA4B;AAElC,SAAgB,EAAwB,EACtC,cACA,OACA,uBAAoB,MAC4B;CAChD,IAAM,EAAE,uBAAoB,EAAkB,GACxC,EAAE,YAAS,EAAuB,GAAY,EAClD,SAAS,CAAC,CAAC,KAAa,EAC1B,CAAC,GACK,IAAwB,GAAM,UAAU,QAC5C,MAAK,EAAE,qBAAA,CACT,GACM,IACJ,GAAuB,UAAU,IAAI,EAAsB,KAAK,KAAA;CAClE,IAAI,CAAC,GACH,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,EAAE,kBAAe,GAAG,yBAAsB,MAAM;CACtD,IAAI,KAAuB,GACzB,OAAO,kBAAA,GAAA,CAAI,CAAA;CAEb,IAAM,IAAmB,IAAe,IAAuB,KACzD,IAAsB,KAAK,IAAI,GAAiB,GAAG,GAEnD,IACJ,MAAiB,IACb,OACA,IAAkB,IAChB,QACA,GAAG,KAAK,MAAM,CAAe,EAAE,IAEjC,IACJ,MAAiB,IACb,IACA,KAAK,IAAI,GAAqB,CAAyB,GAEvD,IAAuB,EAA0B,GAAc,CAAC,GAChE,IAA8B,EAClC,GACA,CACF,EAAE,QAAQ,SAAS,GAAG;CACtB,OACE,kBAAC,GAAD;EACE,IAAI,EACF;GACE,SAAS;GACT,eAAe;GACf,OAAO;GACP,YAAY;GACZ,OAAO;EACT,GACA,CACF;YAVF;GAYE,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,eAAe;KACf,cAAc;IAChB;cAEA,kBAAC,GAAD;KACE,IAAI;MAEF,YAAY;MACZ,UAAU;MACV,eAAe;KACjB;eANF,CAOC,qBACmB,GACR;;GACT,CAAA;GACJ,EAAoB,uBACnB,kBAAC,GAAD;IACE,OAAO,SAAS,EAAqB,UAAU;cAE/C,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,eAAe;MACf,KAAK;KACP;eALF,CAOE,kBAAC,GAAD;MACE,IAAI;OACF,SAAS;OACT,eAAe;OACf,YAAY;MACd;gBAGA,kBAAC,GAAD;OACE,IAAI;QACF,OAAO;QACP,QAAQ;QACR,iBAAiB;QACjB,cAAc;OAChB;iBAEA,kBAAC,GAAD,EACE,IAAI;QACF,OAAO,GAAG,EAAgB;QAC1B,QAAQ;QACR,iBAAiB;QACjB,cAAc;OAChB,EACI,CAAA;MACH,CAAA;KACF,CAAA,GACL,kBAAC,GAAD;MACE,SAAQ;MACR,IAAI,EACF,OAAO,EACT;gBAEC,GAAG,EAAkB,MAAM;KAClB,CAAA,CACT;;GACE,CAAA;GAEV,KACC,kBAAC,GAAD,EACE,IAAI;IACF,IAAI;IACJ,aAAa;GACf,EACD,CAAA;EAEA;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProvenanceGraph.d.ts","sourceRoot":"","sources":["../../../src/components/ProvenanceGraph/ProvenanceGraph.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAKd,MAAM,iCAAiC,CAAA;AAGxC,OAAkB,EAEhB,IAAI,EAEJ,IAAI,EAKL,MAAM,WAAW,CAAA;AAoBlB,OAAO,0BAA0B,CAAA;AAEjC,MAAM,MAAM,eAAe,GAAG;IAE5B,UAAU,EAAE,aAAa,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChD,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,oBAAoB,oBAAoB,CAAA;AACrD,eAAO,MAAM,mBAAmB,uBAAuB,CAAA;AAmcvD,QAAA,MAAM,eAAe,GAAI,OAAO,eAAe,KAAG,KAAK,CAAC,SAQvD,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"ProvenanceGraph.d.ts","sourceRoot":"","sources":["../../../src/components/ProvenanceGraph/ProvenanceGraph.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,aAAa,EAKd,MAAM,iCAAiC,CAAA;AAGxC,OAAkB,EAEhB,IAAI,EAEJ,IAAI,EAKL,MAAM,WAAW,CAAA;AAoBlB,OAAO,0BAA0B,CAAA;AAEjC,MAAM,MAAM,eAAe,GAAG;IAE5B,UAAU,EAAE,aAAa,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChD,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChD,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,oBAAoB,oBAAoB,CAAA;AACrD,eAAO,MAAM,mBAAmB,uBAAuB,CAAA;AAgcvD,QAAA,MAAM,eAAe,GAAI,OAAO,eAAe,KAAG,KAAK,CAAC,SAQvD,CAAA;AAED,eAAe,eAAe,CAAA"}