synapse-react-client 4.0.32 → 4.0.34

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 (331) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +5 -1
  3. package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
  4. package/dist/components/AccessRequirementList/AccessRequirementList.js +152 -85
  5. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  6. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +1 -0
  7. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  8. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts +1 -0
  9. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  10. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +62 -43
  11. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  12. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts +6 -0
  13. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  14. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +227 -147
  15. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  16. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.d.ts.map +1 -1
  17. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js +28 -24
  18. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  19. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +21 -0
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -0
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +163 -0
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -0
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +22 -0
  24. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -0
  25. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +264 -0
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -0
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +1 -0
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +166 -71
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts +13 -0
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts.map +1 -0
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +122 -0
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -0
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +17 -0
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -0
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +112 -0
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -0
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +22 -0
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -0
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +193 -0
  43. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -0
  44. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts +1 -0
  45. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts.map +1 -1
  46. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js +7 -7
  47. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  48. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts +3 -0
  49. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.d.ts.map +1 -0
  50. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js +9 -0
  51. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/styles.js.map +1 -0
  52. package/dist/components/CopyToClipboardIcon.d.ts +2 -1
  53. package/dist/components/CopyToClipboardIcon.d.ts.map +1 -1
  54. package/dist/components/CopyToClipboardIcon.js +6 -6
  55. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  56. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  57. package/dist/components/DataGrid/SynapseGrid.js +230 -215
  58. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  59. package/dist/components/DataGrid/SyncGridWithSourceButton.js +3 -3
  60. package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
  61. package/dist/components/DataGrid/columns/DateTimeColumn.js +1 -1
  62. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  63. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts +10 -0
  64. package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts.map +1 -0
  65. package/dist/components/DataGrid/components/ReorderColumnsButton.js +37 -0
  66. package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -0
  67. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts +12 -0
  68. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -0
  69. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +93 -0
  70. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -0
  71. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +1 -1
  72. package/dist/components/DataGrid/utils/applyModelChange.d.ts +3 -0
  73. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  74. package/dist/components/DataGrid/utils/applyModelChange.js +5 -0
  75. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  76. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts +8 -0
  77. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts.map +1 -0
  78. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js +14 -0
  79. package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js.map +1 -0
  80. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +1 -1
  81. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  82. package/dist/components/EntityFinder/details/view/DetailsView.js +119 -122
  83. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  84. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts +5 -1
  85. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.d.ts.map +1 -1
  86. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +7 -7
  87. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  88. package/dist/components/EntityLink.d.ts +2 -0
  89. package/dist/components/EntityLink.d.ts.map +1 -1
  90. package/dist/components/EntityLink.js +15 -11
  91. package/dist/components/EntityLink.js.map +1 -1
  92. package/dist/components/EntitySidebar/AccessAndPermissions.css +1 -0
  93. package/dist/components/EntitySidebar/AccessAndPermissions.d.ts +7 -0
  94. package/dist/components/EntitySidebar/AccessAndPermissions.d.ts.map +1 -0
  95. package/dist/components/EntitySidebar/AccessAndPermissions.js +75 -0
  96. package/dist/components/EntitySidebar/AccessAndPermissions.js.map +1 -0
  97. package/dist/components/EntitySidebar/AccessAndPermissions.module.js +15 -0
  98. package/dist/components/EntitySidebar/AccessAndPermissions.module.js.map +1 -0
  99. package/dist/components/EntitySidebar/AccessAndPermissions.module.scss +58 -0
  100. package/dist/components/EntitySidebar/EntitySidebar.css +1 -1
  101. package/dist/components/EntitySidebar/EntitySidebar.d.ts.map +1 -1
  102. package/dist/components/EntitySidebar/EntitySidebar.js +54 -42
  103. package/dist/components/EntitySidebar/EntitySidebar.js.map +1 -1
  104. package/dist/components/EntitySidebar/EntitySidebar.module.js +10 -11
  105. package/dist/components/EntitySidebar/EntitySidebar.module.js.map +1 -1
  106. package/dist/components/EntitySidebar/EntitySidebar.module.scss +6 -13
  107. package/dist/components/EntityTreeTable/EntityTreeTable.css +1 -1
  108. package/dist/components/EntityTreeTable/EntityTreeTable.module.js +1 -1
  109. package/dist/components/EntityTreeTable/EntityTreeTable.module.js.map +1 -1
  110. package/dist/components/EntityTreeTable/EntityTreeTable.module.scss +18 -0
  111. package/dist/components/EntityTreeTable/components/ColumnHeaders.d.ts.map +1 -1
  112. package/dist/components/EntityTreeTable/components/ColumnHeaders.js +20 -7
  113. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  114. package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
  115. package/dist/components/EntityTreeTable/components/EntityNameCell.js +3 -1
  116. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  117. package/dist/components/EntityTreeTable/components/EntityTreeTableView.d.ts.map +1 -1
  118. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js +4 -1
  119. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  120. package/dist/components/EntityTreeTable/components/IdColumnHeader.d.ts.map +1 -1
  121. package/dist/components/EntityTreeTable/components/IdColumnHeader.js +3 -1
  122. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  123. package/dist/components/EntityTreeTable/hooks/useTableColumns.d.ts.map +1 -1
  124. package/dist/components/EntityTreeTable/hooks/useTableColumns.js +24 -19
  125. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  126. package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
  127. package/dist/components/FilePreview/PdfPreview.js +23 -20
  128. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  129. package/dist/components/Forum/DiscussionEmpty.css +1 -1
  130. package/dist/components/Forum/DiscussionEmpty.module.js +4 -4
  131. package/dist/components/Forum/DiscussionEmpty.module.js.map +1 -1
  132. package/dist/components/Forum/DiscussionEmpty.module.scss +3 -6
  133. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  134. package/dist/components/GenericCard/SynapseCardLabel.js +100 -99
  135. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  136. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.css +1 -0
  137. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts +29 -0
  138. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.d.ts.map +1 -0
  139. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js +229 -0
  140. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.js.map +1 -0
  141. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js +9 -0
  142. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.js.map +1 -0
  143. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPicker.module.scss +19 -0
  144. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts +23 -0
  145. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.d.ts.map +1 -0
  146. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js +39 -0
  147. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaPickerModal.js.map +1 -0
  148. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts +14 -0
  149. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.d.ts.map +1 -0
  150. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js +12 -0
  151. package/dist/components/JsonSchema/JsonSchemaPicker/JsonSchemaVersionSelectionContext.js.map +1 -0
  152. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts +17 -0
  153. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.d.ts.map +1 -0
  154. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js +8 -0
  155. package/dist/components/JsonSchema/JsonSchemaPicker/VersionSelectionType.js.map +1 -0
  156. package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts +6 -0
  157. package/dist/components/JsonSchema/JsonSchemaPicker/index.d.ts.map +1 -0
  158. package/dist/components/JsonSchema/JsonSchemaPicker/index.js +4 -0
  159. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts +20 -0
  160. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.d.ts.map +1 -0
  161. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js +25 -0
  162. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaOrganizations.js.map +1 -0
  163. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts +35 -0
  164. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.d.ts.map +1 -0
  165. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js +60 -0
  166. package/dist/components/JsonSchema/JsonSchemaPicker/useJsonSchemaSelection.js.map +1 -0
  167. package/dist/components/ProjectInfo/ProjectInfo.css +1 -1
  168. package/dist/components/ProjectInfo/ProjectInfo.module.js +5 -5
  169. package/dist/components/ProjectInfo/ProjectInfo.module.js.map +1 -1
  170. package/dist/components/ProjectInfo/ProjectInfo.module.scss +2 -4
  171. package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts.map +1 -1
  172. package/dist/components/ProjectInfo/ProjectInfoPopover.js +17 -16
  173. package/dist/components/ProjectInfo/ProjectInfoPopover.js.map +1 -1
  174. package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts.map +1 -1
  175. package/dist/components/ProjectStorage/ProjectDataAvailability.js +16 -16
  176. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  177. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  178. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +95 -95
  179. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  180. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +2 -2
  181. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
  182. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +120 -92
  183. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  184. package/dist/components/StorybookComponentWrapper.d.ts.map +1 -1
  185. package/dist/components/StorybookComponentWrapper.js +1 -3
  186. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  187. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  188. package/dist/components/SynapseChat/SynapseChat.js +40 -40
  189. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  190. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +3 -2
  191. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  192. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  193. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.css +1 -1
  194. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.d.ts.map +1 -1
  195. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js +0 -7
  196. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.js.map +1 -1
  197. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js +2 -2
  198. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.js.map +1 -1
  199. package/dist/components/SynapseChat/components/AttachmentChip/AttachmentChip.module.scss +12 -2
  200. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.css +1 -1
  201. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js +3 -3
  202. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.js.map +1 -1
  203. package/dist/components/SynapseChat/components/ChatAttachmentStrip/ChatAttachmentStrip.module.scss +5 -1
  204. package/dist/components/TanStackTable/ColumnHeader.d.ts +7 -0
  205. package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
  206. package/dist/components/TanStackTable/ColumnHeader.js +10 -9
  207. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  208. package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts +8 -0
  209. package/dist/components/TanStackTable/StyledVirtualTanStackTable.d.ts.map +1 -1
  210. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js +31 -22
  211. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  212. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts +21 -0
  213. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.d.ts.map +1 -0
  214. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js +22 -0
  215. package/dist/components/TanStackTable/useFetchNextPageOnScrollToBottom.js.map +1 -0
  216. package/dist/components/dataaccess/AccessRequirementDashboard.d.ts.map +1 -1
  217. package/dist/components/dataaccess/AccessRequirementDashboard.js +55 -55
  218. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  219. package/dist/components/dataaccess/EDucTemplateTable.d.ts +3 -0
  220. package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -0
  221. package/dist/components/dataaccess/EDucTemplateTable.js +213 -0
  222. package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -0
  223. package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
  224. package/dist/components/dataaccess/ReviewerDashboard.js +44 -34
  225. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  226. package/dist/components/entity/metadata/AnnotationsTable.js +2 -2
  227. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  228. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.d.ts.map +1 -1
  229. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js +8 -8
  230. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  231. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
  232. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  233. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +22 -22
  234. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  235. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  236. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +62 -68
  237. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  238. package/dist/components/styled/StyledTableContainer.d.ts +1 -0
  239. package/dist/components/styled/StyledTableContainer.d.ts.map +1 -1
  240. package/dist/components/styled/StyledTableContainer.js +3 -3
  241. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  242. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +2 -0
  243. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  244. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -40
  245. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  246. package/dist/mocks/eDuc/mockEDucTemplates.d.ts +7 -0
  247. package/dist/mocks/eDuc/mockEDucTemplates.d.ts.map +1 -0
  248. package/dist/mocks/eDuc/mockEDucTemplates.js +18 -0
  249. package/dist/mocks/eDuc/mockEDucTemplates.js.map +1 -0
  250. package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts +31 -0
  251. package/dist/mocks/jsonschema/mockJsonSchemaListing.d.ts.map +1 -0
  252. package/dist/mocks/jsonschema/mockJsonSchemaListing.js +101 -0
  253. package/dist/mocks/jsonschema/mockJsonSchemaListing.js.map +1 -0
  254. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  255. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +48 -23
  256. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  257. package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts +2 -0
  258. package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts.map +1 -0
  259. package/dist/mocks/msw/handlers/eDucTemplateHandlers.js +14 -0
  260. package/dist/mocks/msw/handlers/eDucTemplateHandlers.js.map +1 -0
  261. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts +8 -0
  262. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.d.ts.map +1 -0
  263. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js +30 -0
  264. package/dist/mocks/msw/handlers/jsonSchemaListingHandlers.js.map +1 -0
  265. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  266. package/dist/mocks/msw/handlers.js +55 -51
  267. package/dist/mocks/msw/handlers.js.map +1 -1
  268. package/dist/style/abstracts/_cssVariables.scss +13 -0
  269. package/dist/style/components/entity_finder/_details-view.scss +0 -10
  270. package/dist/style/components/facet_nav/_facet-nav-panel.scss +0 -6
  271. package/dist/style/main.css +1 -1
  272. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  273. package/dist/synapse-client/SynapseClient.js +2 -6
  274. package/dist/synapse-client/SynapseClient.js.map +1 -1
  275. package/dist/synapse-queries/KeyFactory.d.ts +3 -0
  276. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  277. package/dist/synapse-queries/KeyFactory.js +9 -0
  278. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  279. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +3 -3
  280. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  281. package/dist/synapse-queries/dataaccess/useEDuc.js +40 -35
  282. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  283. package/dist/synapse-queries/entity/index.d.ts +0 -2
  284. package/dist/synapse-queries/entity/index.d.ts.map +1 -1
  285. package/dist/synapse-queries/entity/index.js +8 -10
  286. package/dist/synapse-queries/index.d.ts +1 -0
  287. package/dist/synapse-queries/index.d.ts.map +1 -1
  288. package/dist/synapse-queries/index.js +136 -128
  289. package/dist/synapse-queries/index.js.map +1 -1
  290. package/dist/synapse-queries/jsonschema/index.d.ts +6 -0
  291. package/dist/synapse-queries/jsonschema/index.d.ts.map +1 -0
  292. package/dist/synapse-queries/jsonschema/index.js +6 -0
  293. package/dist/synapse-queries/jsonschema/useEntityBoundSchema.d.ts.map +1 -0
  294. package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.js +1 -1
  295. package/dist/synapse-queries/jsonschema/useEntityBoundSchema.js.map +1 -0
  296. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts +26 -0
  297. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.d.ts.map +1 -0
  298. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js +36 -0
  299. package/dist/synapse-queries/jsonschema/useListJsonSchemaVersions.js.map +1 -0
  300. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts +8 -0
  301. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.d.ts.map +1 -0
  302. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js +21 -0
  303. package/dist/synapse-queries/jsonschema/useListJsonSchemasInfinite.js.map +1 -0
  304. package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts +8 -0
  305. package/dist/synapse-queries/jsonschema/useListOrganizations.d.ts.map +1 -0
  306. package/dist/synapse-queries/jsonschema/useListOrganizations.js +22 -0
  307. package/dist/synapse-queries/jsonschema/useListOrganizations.js.map +1 -0
  308. package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -0
  309. package/dist/synapse-queries/{entity → jsonschema}/useSchema.js +1 -1
  310. package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -0
  311. package/dist/testutils/VirtualizedTableTestUtils.js +17 -0
  312. package/dist/testutils/VirtualizedTableTestUtils.js.map +1 -0
  313. package/dist/theme/palette/Palettes.d.ts.map +1 -1
  314. package/dist/theme/palette/Palettes.js +13 -0
  315. package/dist/theme/palette/Palettes.js.map +1 -1
  316. package/dist/tsconfig.build.tsbuildinfo +1 -1
  317. package/dist/utils/APIConstants.d.ts +6 -0
  318. package/dist/utils/APIConstants.d.ts.map +1 -1
  319. package/dist/utils/APIConstants.js +2 -2
  320. package/dist/utils/APIConstants.js.map +1 -1
  321. package/dist/utils/hooks/useFetchBlobUrl.d.ts +9 -0
  322. package/dist/utils/hooks/useFetchBlobUrl.d.ts.map +1 -0
  323. package/dist/utils/hooks/useFetchBlobUrl.js +19 -0
  324. package/dist/utils/hooks/useFetchBlobUrl.js.map +1 -0
  325. package/package.json +3 -3
  326. package/dist/synapse-queries/entity/useEntityBoundSchema.d.ts.map +0 -1
  327. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +0 -1
  328. package/dist/synapse-queries/entity/useSchema.d.ts.map +0 -1
  329. package/dist/synapse-queries/entity/useSchema.js.map +0 -1
  330. /package/dist/synapse-queries/{entity → jsonschema}/useEntityBoundSchema.d.ts +0 -0
  331. /package/dist/synapse-queries/{entity → jsonschema}/useSchema.d.ts +0 -0
@@ -0,0 +1,213 @@
1
+ import { SynapseSpinner as e } from "../LoadingScreen/LoadingScreen.js";
2
+ import { useGetEDucTemplateValidation as t, useListEDucTemplates as n } from "../../synapse-queries/dataaccess/useEDuc.js";
3
+ import "../../synapse-queries/index.js";
4
+ import { formatDate as r } from "../../utils/functions/DateFormatter.js";
5
+ import i from "../TanStackTable/StyledTanStackTable.js";
6
+ import a from "../TanStackTable/ColumnHeader.js";
7
+ import { useEffect as o, useMemo as s, useState as c } from "react";
8
+ import { Alert as l, Box as u, Button as d, IconButton as f, Skeleton as p, Tooltip as m, Typography as h } from "@mui/material";
9
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
10
+ import { CheckCircleTwoTone as v, ErrorTwoTone as y, Replay as b } from "@mui/icons-material";
11
+ import x from "dayjs";
12
+ import { createColumnHelper as S, getCoreRowModel as C, useReactTable as w } from "@tanstack/react-table";
13
+ //#region src/components/dataaccess/EDucTemplateTable.tsx
14
+ var T = S(), E = [
15
+ T.accessor("name", {
16
+ header: (e) => /* @__PURE__ */ g(a, {
17
+ ...e,
18
+ title: "Name"
19
+ }),
20
+ cell: ({ getValue: e }) => e() ?? "",
21
+ enableSorting: !1,
22
+ enableColumnFilter: !1
23
+ }),
24
+ T.accessor("description", {
25
+ header: (e) => /* @__PURE__ */ g(a, {
26
+ ...e,
27
+ title: "Description"
28
+ }),
29
+ cell: ({ getValue: e }) => e() ?? "",
30
+ enableSorting: !1,
31
+ enableColumnFilter: !1
32
+ }),
33
+ T.accessor("createdOn", {
34
+ header: (e) => /* @__PURE__ */ g(a, {
35
+ ...e,
36
+ title: "Created on"
37
+ }),
38
+ cell: ({ getValue: e }) => {
39
+ let t = e();
40
+ return t ? r(x(t)) : "";
41
+ },
42
+ enableSorting: !1,
43
+ enableColumnFilter: !1
44
+ }),
45
+ T.accessor("modifiedOn", {
46
+ header: (e) => /* @__PURE__ */ g(a, {
47
+ ...e,
48
+ title: "Modified on"
49
+ }),
50
+ cell: ({ getValue: e }) => {
51
+ let t = e();
52
+ return t ? r(x(t)) : "";
53
+ },
54
+ enableSorting: !1,
55
+ enableColumnFilter: !1
56
+ }),
57
+ T.display({
58
+ id: "validation",
59
+ header: (e) => /* @__PURE__ */ g(a, {
60
+ ...e,
61
+ title: "Validation status"
62
+ }),
63
+ cell: ({ row: e }) => /* @__PURE__ */ g(D, { templateId: e.original.templateId })
64
+ })
65
+ ];
66
+ function D(n) {
67
+ let { templateId: r } = n, [i, a] = c(!1), { data: o, error: s, isFetching: l, refetch: p } = t(r ?? "", { enabled: i && !!r });
68
+ return r ? i ? l ? /* @__PURE__ */ g(u, {
69
+ sx: {
70
+ display: "inline-flex",
71
+ alignItems: "center"
72
+ },
73
+ children: /* @__PURE__ */ g(e, { size: 16 })
74
+ }) : s ? /* @__PURE__ */ _(u, {
75
+ sx: {
76
+ display: "inline-flex",
77
+ alignItems: "center",
78
+ gap: .5
79
+ },
80
+ children: [
81
+ /* @__PURE__ */ g(y, {
82
+ color: "error",
83
+ fontSize: "small"
84
+ }),
85
+ /* @__PURE__ */ g(h, {
86
+ variant: "smallText1",
87
+ sx: { color: "error.main" },
88
+ children: s.reason
89
+ }),
90
+ /* @__PURE__ */ g(m, {
91
+ title: "Re-validate",
92
+ children: /* @__PURE__ */ g(f, {
93
+ size: "small",
94
+ onClick: () => {
95
+ p();
96
+ },
97
+ "aria-label": "Re-validate",
98
+ children: /* @__PURE__ */ g(b, { fontSize: "small" })
99
+ })
100
+ })
101
+ ]
102
+ }) : o?.isValid ? /* @__PURE__ */ _(u, {
103
+ sx: {
104
+ display: "inline-flex",
105
+ alignItems: "center",
106
+ gap: .5
107
+ },
108
+ children: [
109
+ /* @__PURE__ */ g(v, {
110
+ color: "success",
111
+ fontSize: "small"
112
+ }),
113
+ /* @__PURE__ */ g(h, {
114
+ variant: "smallText1",
115
+ children: "Valid"
116
+ }),
117
+ /* @__PURE__ */ g(m, {
118
+ title: "Re-validate",
119
+ children: /* @__PURE__ */ g(f, {
120
+ size: "small",
121
+ onClick: () => {
122
+ p();
123
+ },
124
+ "aria-label": "Re-validate",
125
+ children: /* @__PURE__ */ g(b, { fontSize: "small" })
126
+ })
127
+ })
128
+ ]
129
+ }) : /* @__PURE__ */ _(u, {
130
+ sx: {
131
+ display: "inline-flex",
132
+ alignItems: "center",
133
+ gap: .5
134
+ },
135
+ children: [
136
+ /* @__PURE__ */ g(y, {
137
+ color: "error",
138
+ fontSize: "small"
139
+ }),
140
+ /* @__PURE__ */ g(h, {
141
+ variant: "smallText1",
142
+ sx: { color: "error.main" },
143
+ children: o?.reason ?? "Invalid"
144
+ }),
145
+ /* @__PURE__ */ g(m, {
146
+ title: "Re-validate",
147
+ children: /* @__PURE__ */ g(f, {
148
+ size: "small",
149
+ onClick: () => {
150
+ p();
151
+ },
152
+ "aria-label": "Re-validate",
153
+ children: /* @__PURE__ */ g(b, { fontSize: "small" })
154
+ })
155
+ })
156
+ ]
157
+ }) : /* @__PURE__ */ g(d, {
158
+ variant: "outlined",
159
+ size: "small",
160
+ onClick: () => a(!0),
161
+ children: "Validate"
162
+ }) : null;
163
+ }
164
+ function O() {
165
+ let { data: e, isLoading: t, error: r, hasNextPage: a, fetchNextPage: c, isFetchingNextPage: d } = n();
166
+ o(() => {
167
+ a && !d && c();
168
+ }, [
169
+ a,
170
+ d,
171
+ c
172
+ ]);
173
+ let f = s(() => e?.pages.flatMap((e) => e.results ?? []) ?? [], [e]), m = w({
174
+ data: f,
175
+ columns: E,
176
+ getCoreRowModel: C(),
177
+ getRowId: (e) => e.templateId ?? ""
178
+ });
179
+ return t || a && f.length === 0 ? /* @__PURE__ */ g(u, { children: /* @__PURE__ */ g(p, {
180
+ variant: "rectangular",
181
+ height: 200,
182
+ "data-testid": "EDucTemplateTable-loading"
183
+ }) }) : r ? /* @__PURE__ */ _(l, {
184
+ severity: "error",
185
+ children: [
186
+ /* @__PURE__ */ g("strong", { children: "Sorry, we couldn't load the eDUC templates." }),
187
+ /* @__PURE__ */ g("br", {}),
188
+ r.reason
189
+ ]
190
+ }) : f.length === 0 ? /* @__PURE__ */ g(l, {
191
+ severity: "info",
192
+ children: "No eDUC templates are registered in DocuSign."
193
+ }) : /* @__PURE__ */ _(u, { children: [/* @__PURE__ */ _(h, {
194
+ variant: "body1",
195
+ sx: {
196
+ mb: 2,
197
+ color: "grey.700"
198
+ },
199
+ children: [
200
+ "Templates are managed in DocuSign. Use the ",
201
+ /* @__PURE__ */ g("strong", { children: "Validate" }),
202
+ " ",
203
+ "action to check whether a template meets Synapse's eDUC requirements."
204
+ ]
205
+ }), /* @__PURE__ */ g(i, {
206
+ table: m,
207
+ styledTableContainerProps: { sx: { my: 2 } }
208
+ })] });
209
+ }
210
+ //#endregion
211
+ export { O as EDucTemplateTable, O as default };
212
+
213
+ //# sourceMappingURL=EDucTemplateTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EDucTemplateTable.js","names":[],"sources":["../../../src/components/dataaccess/EDucTemplateTable.tsx"],"sourcesContent":["import {\n useGetEDucTemplateValidation,\n useListEDucTemplates,\n} from '@/synapse-queries'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { CheckCircleTwoTone, ErrorTwoTone, Replay } from '@mui/icons-material'\nimport {\n Alert,\n Box,\n Button,\n IconButton,\n Skeleton,\n Tooltip,\n Typography,\n} from '@mui/material'\nimport { EDucTemplate } from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useEffect, useMemo, useState } from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\n\nconst columnHelper = createColumnHelper<EDucTemplate>()\n\nconst columns = [\n columnHelper.accessor('name', {\n header: props => <ColumnHeader {...props} title={'Name'} />,\n cell: ({ getValue }) => getValue() ?? '',\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('description', {\n header: props => <ColumnHeader {...props} title={'Description'} />,\n cell: ({ getValue }) => getValue() ?? '',\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('createdOn', {\n header: props => <ColumnHeader {...props} title={'Created on'} />,\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? formatDate(dayjs(value)) : ''\n },\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified on'} />,\n cell: ({ getValue }) => {\n const value = getValue()\n return value ? formatDate(dayjs(value)) : ''\n },\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.display({\n id: 'validation',\n header: props => <ColumnHeader {...props} title={'Validation status'} />,\n cell: ({ row }) => <ValidationCell templateId={row.original.templateId} />,\n }),\n]\n\nfunction ValidationCell(props: { templateId: string | undefined }) {\n const { templateId } = props\n const [hasRequestedValidation, setHasRequestedValidation] = useState(false)\n\n const { data, error, isFetching, refetch } = useGetEDucTemplateValidation(\n templateId ?? '',\n { enabled: hasRequestedValidation && Boolean(templateId) },\n )\n\n if (!templateId) return null\n\n if (!hasRequestedValidation) {\n return (\n <Button\n variant={'outlined'}\n size={'small'}\n onClick={() => setHasRequestedValidation(true)}\n >\n Validate\n </Button>\n )\n }\n\n if (isFetching) {\n return (\n <Box sx={{ display: 'inline-flex', alignItems: 'center' }}>\n <SynapseSpinner size={16} />\n </Box>\n )\n }\n\n if (error) {\n return (\n <Box sx={{ display: 'inline-flex', alignItems: 'center', gap: 0.5 }}>\n <ErrorTwoTone color={'error'} fontSize={'small'} />\n <Typography variant={'smallText1'} sx={{ color: 'error.main' }}>\n {error.reason}\n </Typography>\n <Tooltip title={'Re-validate'}>\n <IconButton\n size={'small'}\n onClick={() => {\n refetch()\n }}\n aria-label={'Re-validate'}\n >\n <Replay fontSize={'small'} />\n </IconButton>\n </Tooltip>\n </Box>\n )\n }\n\n if (data?.isValid) {\n return (\n <Box sx={{ display: 'inline-flex', alignItems: 'center', gap: 0.5 }}>\n <CheckCircleTwoTone color={'success'} fontSize={'small'} />\n <Typography variant={'smallText1'}>Valid</Typography>\n <Tooltip title={'Re-validate'}>\n <IconButton\n size={'small'}\n onClick={() => {\n refetch()\n }}\n aria-label={'Re-validate'}\n >\n <Replay fontSize={'small'} />\n </IconButton>\n </Tooltip>\n </Box>\n )\n }\n\n return (\n <Box sx={{ display: 'inline-flex', alignItems: 'center', gap: 0.5 }}>\n <ErrorTwoTone color={'error'} fontSize={'small'} />\n <Typography variant={'smallText1'} sx={{ color: 'error.main' }}>\n {data?.reason ?? 'Invalid'}\n </Typography>\n <Tooltip title={'Re-validate'}>\n <IconButton\n size={'small'}\n onClick={() => {\n refetch()\n }}\n aria-label={'Re-validate'}\n >\n <Replay fontSize={'small'} />\n </IconButton>\n </Tooltip>\n </Box>\n )\n}\n\nexport function EDucTemplateTable() {\n const {\n data,\n isLoading,\n error,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n } = useListEDucTemplates()\n\n useEffect(() => {\n if (hasNextPage && !isFetchingNextPage) {\n void fetchNextPage()\n }\n }, [hasNextPage, isFetchingNextPage, fetchNextPage])\n\n const templates = useMemo(\n () => data?.pages.flatMap(page => page.results ?? []) ?? [],\n [data],\n )\n\n const table = useReactTable<EDucTemplate>({\n data: templates,\n columns,\n getCoreRowModel: getCoreRowModel(),\n getRowId: row => row.templateId ?? '',\n })\n\n if (isLoading || (hasNextPage && templates.length === 0)) {\n return (\n <Box>\n <Skeleton\n variant={'rectangular'}\n height={200}\n data-testid={'EDucTemplateTable-loading'}\n />\n </Box>\n )\n }\n\n if (error) {\n return (\n <Alert severity={'error'}>\n <strong>Sorry, we couldn&apos;t load the eDUC templates.</strong>\n <br />\n {error.reason}\n </Alert>\n )\n }\n\n if (templates.length === 0) {\n return (\n <Alert severity={'info'}>\n No eDUC templates are registered in DocuSign.\n </Alert>\n )\n }\n\n return (\n <Box>\n <Typography variant={'body1'} sx={{ mb: 2, color: 'grey.700' }}>\n Templates are managed in DocuSign. Use the <strong>Validate</strong>{' '}\n action to check whether a template meets Synapse&apos;s eDUC\n requirements.\n </Typography>\n <StyledTanStackTable\n table={table}\n styledTableContainerProps={{ sx: { my: 2 } }}\n />\n </Box>\n )\n}\n\nexport default EDucTemplateTable\n"],"mappings":";;;;;;;;;;;;;AA2BA,IAAM,IAAe,EAAiC,GAEhD,IAAU;CACd,EAAa,SAAS,QAAQ;EAC5B,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAS,CAAA;EAC1D,OAAO,EAAE,kBAAe,EAAS,KAAK;EACtC,eAAe;EACf,oBAAoB;CACtB,CAAC;CACD,EAAa,SAAS,eAAe;EACnC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAgB,CAAA;EACjE,OAAO,EAAE,kBAAe,EAAS,KAAK;EACtC,eAAe;EACf,oBAAoB;CACtB,CAAC;CACD,EAAa,SAAS,aAAa;EACjC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAe,CAAA;EAChE,OAAO,EAAE,kBAAe;GACtB,IAAM,IAAQ,EAAS;GACvB,OAAO,IAAQ,EAAW,EAAM,CAAK,CAAC,IAAI;EAC5C;EACA,eAAe;EACf,oBAAoB;CACtB,CAAC;CACD,EAAa,SAAS,cAAc;EAClC,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAgB,CAAA;EACjE,OAAO,EAAE,kBAAe;GACtB,IAAM,IAAQ,EAAS;GACvB,OAAO,IAAQ,EAAW,EAAM,CAAK,CAAC,IAAI;EAC5C;EACA,eAAe;EACf,oBAAoB;CACtB,CAAC;CACD,EAAa,QAAQ;EACnB,IAAI;EACJ,SAAQ,MAAS,kBAAC,GAAD;GAAc,GAAI;GAAO,OAAO;EAAsB,CAAA;EACvE,OAAO,EAAE,aAAU,kBAAC,GAAD,EAAgB,YAAY,EAAI,SAAS,WAAa,CAAA;CAC3E,CAAC;AACH;AAEA,SAAS,EAAe,GAA2C;CACjE,IAAM,EAAE,kBAAe,GACjB,CAAC,GAAwB,KAA6B,EAAS,EAAK,GAEpE,EAAE,SAAM,UAAO,eAAY,eAAY,EAC3C,KAAc,IACd,EAAE,SAAS,KAA0B,EAAQ,EAAY,CAC3D;CAkEA,OAhEK,IAEA,IAYD,IAEA,kBAAC,GAAD;EAAK,IAAI;GAAE,SAAS;GAAe,YAAY;EAAS;YACtD,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA;CACxB,CAAA,IAIL,IAEA,kBAAC,GAAD;EAAK,IAAI;GAAE,SAAS;GAAe,YAAY;GAAU,KAAK;EAAI;YAAlE;GACE,kBAAC,GAAD;IAAc,OAAO;IAAS,UAAU;GAAU,CAAA;GAClD,kBAAC,GAAD;IAAY,SAAS;IAAc,IAAI,EAAE,OAAO,aAAa;cAC1D,EAAM;GACG,CAAA;GACZ,kBAAC,GAAD;IAAS,OAAO;cACd,kBAAC,GAAD;KACE,MAAM;KACN,eAAe;MACb,EAAQ;KACV;KACA,cAAY;eAEZ,kBAAC,GAAD,EAAQ,UAAU,QAAU,CAAA;IAClB,CAAA;GACL,CAAA;EACN;MAIL,GAAM,UAEN,kBAAC,GAAD;EAAK,IAAI;GAAE,SAAS;GAAe,YAAY;GAAU,KAAK;EAAI;YAAlE;GACE,kBAAC,GAAD;IAAoB,OAAO;IAAW,UAAU;GAAU,CAAA;GAC1D,kBAAC,GAAD;IAAY,SAAS;cAAc;GAAiB,CAAA;GACpD,kBAAC,GAAD;IAAS,OAAO;cACd,kBAAC,GAAD;KACE,MAAM;KACN,eAAe;MACb,EAAQ;KACV;KACA,cAAY;eAEZ,kBAAC,GAAD,EAAQ,UAAU,QAAU,CAAA;IAClB,CAAA;GACL,CAAA;EACN;MAKP,kBAAC,GAAD;EAAK,IAAI;GAAE,SAAS;GAAe,YAAY;GAAU,KAAK;EAAI;YAAlE;GACE,kBAAC,GAAD;IAAc,OAAO;IAAS,UAAU;GAAU,CAAA;GAClD,kBAAC,GAAD;IAAY,SAAS;IAAc,IAAI,EAAE,OAAO,aAAa;cAC1D,GAAM,UAAU;GACP,CAAA;GACZ,kBAAC,GAAD;IAAS,OAAO;cACd,kBAAC,GAAD;KACE,MAAM;KACN,eAAe;MACb,EAAQ;KACV;KACA,cAAY;eAEZ,kBAAC,GAAD,EAAQ,UAAU,QAAU,CAAA;IAClB,CAAA;GACL,CAAA;EACN;MA7EH,kBAAC,GAAD;EACE,SAAS;EACT,MAAM;EACN,eAAe,EAA0B,EAAI;YAC9C;CAEO,CAAA,IAVY;AAmF1B;AAEA,SAAgB,IAAoB;CAClC,IAAM,EACJ,SACA,cACA,UACA,gBACA,kBACA,0BACE,EAAqB;CAEzB,QAAgB;EACd,AAAI,KAAe,CAAC,KAClB,EAAmB;CAEvB,GAAG;EAAC;EAAa;EAAoB;CAAa,CAAC;CAEnD,IAAM,IAAY,QACV,GAAM,MAAM,SAAQ,MAAQ,EAAK,WAAW,CAAC,CAAC,KAAK,CAAC,GAC1D,CAAC,CAAI,CACP,GAEM,IAAQ,EAA4B;EACxC,MAAM;EACN;EACA,iBAAiB,EAAgB;EACjC,WAAU,MAAO,EAAI,cAAc;CACrC,CAAC;CAgCD,OA9BI,KAAc,KAAe,EAAU,WAAW,IAElD,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,SAAS;EACT,QAAQ;EACR,eAAa;CACd,CAAA,EACE,CAAA,IAIL,IAEA,kBAAC,GAAD;EAAO,UAAU;YAAjB;GACE,kBAAC,UAAD,EAAA,UAAQ,8CAAwD,CAAA;GAChE,kBAAC,MAAD,CAAK,CAAA;GACJ,EAAM;EACF;MAIP,EAAU,WAAW,IAErB,kBAAC,GAAD;EAAO,UAAU;YAAQ;CAElB,CAAA,IAKT,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EAAY,SAAS;EAAS,IAAI;GAAE,IAAI;GAAG,OAAO;EAAW;YAA7D;GAAgE;GACnB,kBAAC,UAAD,EAAA,UAAQ,WAAgB,CAAA;GAAE;GAAI;EAG/D;KACZ,kBAAC,GAAD;EACS;EACP,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;CAC5C,CAAA,CACE,EAAA,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewerDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"names":[],"mappings":"AAsCA,KAAK,sBAAsB,GAAG;IAC5B,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wGAAwG;IACxG,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAuG9D;AAUD,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"ReviewerDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"names":[],"mappings":"AAuCA,KAAK,sBAAsB,GAAG;IAC5B,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wGAAwG;IACxG,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAgH9D;AAUD,eAAe,iBAAiB,CAAA"}
@@ -6,66 +6,76 @@ import i from "../OrientationBanner/index.js";
6
6
  import { UserHistoryDashboard as a } from "./AccessHistoryDashboard.js";
7
7
  import { AccessRequirementDashboard as o } from "./AccessRequirementDashboard.js";
8
8
  import { DataAccessSubmissionDashboard as s } from "./AccessSubmissionDashboard.js";
9
- import c from "./SubmissionPage/SubmissionPage.js";
10
- import { useMemo as l } from "react";
11
- import { Typography as u } from "@mui/material";
12
- import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
13
- import { NavLink as m, Navigate as h, Outlet as g, RouterProvider as _, createBrowserRouter as v, createMemoryRouter as y, useParams as b } from "react-router";
14
- import { RouterProvider as x } from "react-router/dom";
9
+ import { EDucTemplateTable as c } from "./EDucTemplateTable.js";
10
+ import l from "./SubmissionPage/SubmissionPage.js";
11
+ import { useMemo as u } from "react";
12
+ import { Typography as d } from "@mui/material";
13
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
14
+ import { NavLink as h, Navigate as g, Outlet as _, RouterProvider as v, createBrowserRouter as y, createMemoryRouter as b, useParams as x } from "react-router";
15
+ import { RouterProvider as S } from "react-router/dom";
15
16
  //#region src/components/dataaccess/ReviewerDashboard.tsx
16
- function S(e) {
17
+ function C(e) {
17
18
  let { href: t, children: n, icon: i } = e;
18
- return /* @__PURE__ */ p(m, {
19
+ return /* @__PURE__ */ m(h, {
19
20
  className: "Tab",
20
21
  role: "tab",
21
22
  to: t,
22
- children: [/* @__PURE__ */ f(r, {
23
+ children: [/* @__PURE__ */ p(r, {
23
24
  icon: i,
24
25
  sx: { paddingRight: "0.2rem" }
25
- }), /* @__PURE__ */ f(u, {
26
+ }), /* @__PURE__ */ p(d, {
26
27
  variant: "buttonLink",
27
28
  children: n
28
29
  })]
29
30
  });
30
31
  }
31
- function C(r) {
32
- let { routerBaseName: c = "/DataAccessManagement:default", useMemoryRouter: u = !1 } = r, { data: m, isLoading: h } = n(), b = m?.isACTMember, C = m?.isACTMember || m?.isARReviewer, T = l(() => [{
32
+ function w(r) {
33
+ let { routerBaseName: l = "/DataAccessManagement:default", useMemoryRouter: d = !1 } = r, { data: h, isLoading: g } = n(), x = h?.isACTMember, w = h?.isACTMember || h?.isARReviewer, E = u(() => [{
33
34
  path: "/",
34
- element: /* @__PURE__ */ p("div", {
35
+ element: /* @__PURE__ */ m("div", {
35
36
  className: "ReviewerDashboard",
36
- children: [/* @__PURE__ */ p("div", {
37
+ children: [/* @__PURE__ */ m("div", {
37
38
  className: "Tabs",
38
39
  role: "tablist",
39
40
  children: [
40
- b && /* @__PURE__ */ f(S, {
41
+ x && /* @__PURE__ */ p(C, {
41
42
  href: "/AccessRequirements",
42
43
  icon: "accessClosed",
43
44
  children: "Access Requirements"
44
45
  }),
45
- C && /* @__PURE__ */ f(S, {
46
+ x && /* @__PURE__ */ p(C, {
47
+ href: "/EDucTemplates",
48
+ icon: "fileOutlined",
49
+ children: "eDUC Templates"
50
+ }),
51
+ w && /* @__PURE__ */ p(C, {
46
52
  href: "/Submissions",
47
53
  icon: "discussion",
48
54
  children: "Submissions"
49
55
  }),
50
- C && /* @__PURE__ */ f(S, {
56
+ w && /* @__PURE__ */ p(C, {
51
57
  href: "/UserAccessHistory",
52
58
  icon: "history",
53
59
  children: "User Access History"
54
60
  })
55
61
  ]
56
- }), /* @__PURE__ */ f("div", {
62
+ }), /* @__PURE__ */ p("div", {
57
63
  className: "TabContentContainer",
58
- children: /* @__PURE__ */ f(e, { children: /* @__PURE__ */ f(g, {}) })
64
+ children: /* @__PURE__ */ p(e, { children: /* @__PURE__ */ p(_, {}) })
59
65
  })]
60
66
  }),
61
67
  children: [
62
68
  {
63
69
  path: "AccessRequirements",
64
- element: b ? /* @__PURE__ */ f(o, {}) : null
70
+ element: x ? /* @__PURE__ */ p(o, {}) : null
71
+ },
72
+ {
73
+ path: "EDucTemplates",
74
+ element: x ? /* @__PURE__ */ p(c, {}) : null
65
75
  },
66
76
  {
67
77
  path: "Submissions",
68
- element: C ? /* @__PURE__ */ p(d, { children: [!b && /* @__PURE__ */ f(i, {
78
+ element: w ? /* @__PURE__ */ m(f, { children: [!x && /* @__PURE__ */ p(i, {
69
79
  name: "DataAccessManagement",
70
80
  title: "Getting Started With Data Access Management",
71
81
  text: "When someone requests access to data, that request will show up here. Clicking on the Request ID will take you to a page where you can review the request.",
@@ -73,32 +83,32 @@ function C(r) {
73
83
  margin: "-20px -30px 20px -30px",
74
84
  width: "auto"
75
85
  }
76
- }), /* @__PURE__ */ f(s, {})] }) : null
86
+ }), /* @__PURE__ */ p(s, {})] }) : null
77
87
  },
78
88
  {
79
89
  path: "Submissions/:id",
80
- element: C ? /* @__PURE__ */ f(w, {}) : null
90
+ element: w ? /* @__PURE__ */ p(T, {}) : null
81
91
  },
82
92
  {
83
93
  path: "UserAccessHistory",
84
- element: /* @__PURE__ */ f(a, {})
94
+ element: /* @__PURE__ */ p(a, {})
85
95
  }
86
96
  ]
87
- }], [b, C]), E = l(() => u ? y(T, { basename: c }) : v(T, { basename: c }), [
88
- u,
89
- T,
90
- c
97
+ }], [x, w]), D = u(() => d ? b(E, { basename: l }) : y(E, { basename: l }), [
98
+ d,
99
+ E,
100
+ l
91
101
  ]);
92
- return h ? /* @__PURE__ */ f(t, { size: 50 }) : f(u ? _ : x, { router: E });
102
+ return g ? /* @__PURE__ */ p(t, { size: 50 }) : p(d ? v : S, { router: D });
93
103
  }
94
- function w() {
95
- let { id: e } = b();
96
- return e ? /* @__PURE__ */ f(c, {
104
+ function T() {
105
+ let { id: e } = x();
106
+ return e ? /* @__PURE__ */ p(l, {
97
107
  submissionId: e,
98
108
  isReviewer: !0
99
- }) : /* @__PURE__ */ f(h, { to: "Submissions/" });
109
+ }) : /* @__PURE__ */ p(g, { to: "Submissions/" });
100
110
  }
101
111
  //#endregion
102
- export { C as ReviewerDashboard, C as default };
112
+ export { w as ReviewerDashboard, w as default };
103
113
 
104
114
  //# sourceMappingURL=ReviewerDashboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReviewerDashboard.js","names":[],"sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"sourcesContent":["import { useGetCurrentUserBundle } from '@/synapse-queries/user/useUserBundle'\nimport { Typography } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n Navigate,\n NavLink,\n Outlet,\n RouteObject,\n RouterProvider,\n useParams,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport OrientationBanner from '../OrientationBanner'\nimport { UserHistoryDashboard } from './AccessHistoryDashboard'\nimport { AccessRequirementDashboard } from './AccessRequirementDashboard'\nimport { DataAccessSubmissionDashboard } from './AccessSubmissionDashboard'\nimport SubmissionPage from './SubmissionPage/SubmissionPage'\n\nfunction LinkTab(props: { href: string; children: ReactNode; icon: IconName }) {\n const { href, children, icon } = props\n return (\n <NavLink className=\"Tab\" role=\"tab\" to={href}>\n <IconSvg\n icon={icon}\n sx={{\n paddingRight: '0.2rem',\n }}\n />\n <Typography variant=\"buttonLink\">{children}</Typography>\n </NavLink>\n )\n}\n\ntype ReviewerDashboardProps = {\n /** Used to determine the base path for the component. Default is DataAccessManagement:default */\n routerBaseName?: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For demo purposes only. */\n useMemoryRouter?: boolean\n}\n\nexport function ReviewerDashboard(props: ReviewerDashboardProps) {\n const {\n routerBaseName = '/DataAccessManagement:default',\n useMemoryRouter = false,\n } = props\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const hasActPermissions = userBundle?.isACTMember\n const hasReviewerPermissions =\n userBundle?.isACTMember || userBundle?.isARReviewer\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n element: (\n <div className=\"ReviewerDashboard\">\n <div className=\"Tabs\" role=\"tablist\">\n {hasActPermissions && (\n <LinkTab href=\"/AccessRequirements\" icon=\"accessClosed\">\n Access Requirements\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/Submissions\" icon=\"discussion\">\n Submissions\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/UserAccessHistory\" icon=\"history\">\n User Access History\n </LinkTab>\n )}\n </div>\n <div className=\"TabContentContainer\">\n <SynapseErrorBoundary>\n <Outlet />\n </SynapseErrorBoundary>\n </div>\n </div>\n ),\n children: [\n {\n path: 'AccessRequirements',\n element: hasActPermissions ? <AccessRequirementDashboard /> : null,\n },\n {\n path: 'Submissions',\n element: hasReviewerPermissions ? (\n <>\n {!hasActPermissions && (\n <OrientationBanner\n name=\"DataAccessManagement\"\n title=\"Getting Started With Data Access Management\"\n text=\"When someone requests access to data, that request will show up here. Clicking on the Request ID will take you to a page where you can review the request.\"\n sx={{\n margin: '-20px -30px 20px -30px',\n width: 'auto',\n }}\n />\n )}\n <DataAccessSubmissionDashboard />\n </>\n ) : null,\n },\n {\n path: 'Submissions/:id',\n element: hasReviewerPermissions ? (\n <SubmissionPageRouteRenderer />\n ) : null,\n },\n {\n path: 'UserAccessHistory',\n element: <UserHistoryDashboard />,\n },\n ],\n },\n ],\n [hasActPermissions, hasReviewerPermissions],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (isLoading) {\n return <SynapseSpinner size={50} />\n }\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n\nfunction SubmissionPageRouteRenderer() {\n const { id } = useParams<{ id: string }>()\n if (!id) {\n return <Navigate to=\"Submissions/\" />\n }\n return <SubmissionPage submissionId={id} isReviewer={true} />\n}\n\nexport default ReviewerDashboard\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,SAAS,EAAQ,GAA8D;CAC7E,IAAM,EAAE,SAAM,aAAU,YAAS;CACjC,OACE,kBAAC,GAAD;EAAS,WAAU;EAAM,MAAK;EAAM,IAAI;YAAxC,CACE,kBAAC,GAAD;GACQ;GACN,IAAI,EACF,cAAc,SAChB;EACD,CAAA,GACD,kBAAC,GAAD;GAAY,SAAQ;GAAc;EAAqB,CAAA,CAChD;;AAEb;AASA,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EACJ,oBAAiB,iCACjB,qBAAkB,OAChB,GAEE,EAAE,MAAM,GAAY,iBAAc,EAAwB,GAE1D,IAAoB,GAAY,aAChC,IACJ,GAAY,eAAe,GAAY,cAEnC,IAAwB,QACtB,CACJ;EACE,MAAM;EACN,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;IAAO,MAAK;cAA3B;KACG,KACC,kBAAC,GAAD;MAAS,MAAK;MAAsB,MAAK;gBAAe;KAE/C,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAe,MAAK;gBAAa;KAEtC,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAqB,MAAK;gBAAU;KAEzC,CAAA;IAER;OACL,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,CAAS,CAAA,EACW,CAAA;GACnB,CAAA,CACF;;EAEP,UAAU;GACR;IACE,MAAM;IACN,SAAS,IAAoB,kBAAC,GAAD,CAA6B,CAAA,IAAI;GAChE;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAA,GAAA,EAAA,UAAA,CACG,CAAC,KACA,kBAAC,GAAD;KACE,MAAK;KACL,OAAM;KACN,MAAK;KACL,IAAI;MACF,QAAQ;MACR,OAAO;KACT;IACD,CAAA,GAEH,kBAAC,GAAD,CAAgC,CAAA,CAChC,EAAA,CAAA,IACA;GACN;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAC,GAAD,CAA8B,CAAA,IAC5B;GACN;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAClC;EACF;CACF,CACF,GACA,CAAC,GAAmB,CAAsB,CAC5C,GAEM,IAAS,QACT,IACK,EAAmB,GAAQ,EAChC,UAAU,EACZ,CAAC,IAEM,EAAoB,GAAQ,EACjC,UAAU,EACZ,CAAC,GAEF;EAAC;EAAiB;EAAQ;CAAc,CAAC;CAU5C,OARI,IACK,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAI3B,EADL,IACM,IAGF,GAHC,EAAwB,UAAS,CAAA;AAI5C;AAEA,SAAS,IAA8B;CACrC,IAAM,EAAE,UAAO,EAA0B;CAIzC,OAHK,IAGE,kBAAC,GAAD;EAAgB,cAAc;EAAI,YAAY;CAAO,CAAA,IAFnD,kBAAC,GAAD,EAAU,IAAG,eAAgB,CAAA;AAGxC"}
1
+ {"version":3,"file":"ReviewerDashboard.js","names":[],"sources":["../../../src/components/dataaccess/ReviewerDashboard.tsx"],"sourcesContent":["import { useGetCurrentUserBundle } from '@/synapse-queries/user/useUserBundle'\nimport { Typography } from '@mui/material'\nimport { ReactNode, useMemo } from 'react'\nimport {\n createBrowserRouter,\n createMemoryRouter,\n Navigate,\n NavLink,\n Outlet,\n RouteObject,\n RouterProvider,\n useParams,\n} from 'react-router'\nimport { RouterProvider as DOMRouterProvider } from 'react-router/dom'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport IconSvg, { IconName } from '../IconSvg/IconSvg'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport OrientationBanner from '../OrientationBanner'\nimport { UserHistoryDashboard } from './AccessHistoryDashboard'\nimport { AccessRequirementDashboard } from './AccessRequirementDashboard'\nimport { DataAccessSubmissionDashboard } from './AccessSubmissionDashboard'\nimport { EDucTemplateTable } from './EDucTemplateTable'\nimport SubmissionPage from './SubmissionPage/SubmissionPage'\n\nfunction LinkTab(props: { href: string; children: ReactNode; icon: IconName }) {\n const { href, children, icon } = props\n return (\n <NavLink className=\"Tab\" role=\"tab\" to={href}>\n <IconSvg\n icon={icon}\n sx={{\n paddingRight: '0.2rem',\n }}\n />\n <Typography variant=\"buttonLink\">{children}</Typography>\n </NavLink>\n )\n}\n\ntype ReviewerDashboardProps = {\n /** Used to determine the base path for the component. Default is DataAccessManagement:default */\n routerBaseName?: string\n /** If true use a MemoryRouter, which prevents the browser URL from updating. For demo purposes only. */\n useMemoryRouter?: boolean\n}\n\nexport function ReviewerDashboard(props: ReviewerDashboardProps) {\n const {\n routerBaseName = '/DataAccessManagement:default',\n useMemoryRouter = false,\n } = props\n\n const { data: userBundle, isLoading } = useGetCurrentUserBundle()\n\n const hasActPermissions = userBundle?.isACTMember\n const hasReviewerPermissions =\n userBundle?.isACTMember || userBundle?.isARReviewer\n\n const routes: RouteObject[] = useMemo(\n () => [\n {\n path: '/',\n element: (\n <div className=\"ReviewerDashboard\">\n <div className=\"Tabs\" role=\"tablist\">\n {hasActPermissions && (\n <LinkTab href=\"/AccessRequirements\" icon=\"accessClosed\">\n Access Requirements\n </LinkTab>\n )}\n {hasActPermissions && (\n <LinkTab href=\"/EDucTemplates\" icon=\"fileOutlined\">\n eDUC Templates\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/Submissions\" icon=\"discussion\">\n Submissions\n </LinkTab>\n )}\n {hasReviewerPermissions && (\n <LinkTab href=\"/UserAccessHistory\" icon=\"history\">\n User Access History\n </LinkTab>\n )}\n </div>\n <div className=\"TabContentContainer\">\n <SynapseErrorBoundary>\n <Outlet />\n </SynapseErrorBoundary>\n </div>\n </div>\n ),\n children: [\n {\n path: 'AccessRequirements',\n element: hasActPermissions ? <AccessRequirementDashboard /> : null,\n },\n {\n path: 'EDucTemplates',\n element: hasActPermissions ? <EDucTemplateTable /> : null,\n },\n {\n path: 'Submissions',\n element: hasReviewerPermissions ? (\n <>\n {!hasActPermissions && (\n <OrientationBanner\n name=\"DataAccessManagement\"\n title=\"Getting Started With Data Access Management\"\n text=\"When someone requests access to data, that request will show up here. Clicking on the Request ID will take you to a page where you can review the request.\"\n sx={{\n margin: '-20px -30px 20px -30px',\n width: 'auto',\n }}\n />\n )}\n <DataAccessSubmissionDashboard />\n </>\n ) : null,\n },\n {\n path: 'Submissions/:id',\n element: hasReviewerPermissions ? (\n <SubmissionPageRouteRenderer />\n ) : null,\n },\n {\n path: 'UserAccessHistory',\n element: <UserHistoryDashboard />,\n },\n ],\n },\n ],\n [hasActPermissions, hasReviewerPermissions],\n )\n\n const router = useMemo(() => {\n if (useMemoryRouter) {\n return createMemoryRouter(routes, {\n basename: routerBaseName,\n })\n } else {\n return createBrowserRouter(routes, {\n basename: routerBaseName,\n })\n }\n }, [useMemoryRouter, routes, routerBaseName])\n\n if (isLoading) {\n return <SynapseSpinner size={50} />\n }\n\n if (useMemoryRouter) {\n return <RouterProvider router={router} />\n }\n\n return <DOMRouterProvider router={router} />\n}\n\nfunction SubmissionPageRouteRenderer() {\n const { id } = useParams<{ id: string }>()\n if (!id) {\n return <Navigate to=\"Submissions/\" />\n }\n return <SubmissionPage submissionId={id} isReviewer={true} />\n}\n\nexport default ReviewerDashboard\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,SAAS,EAAQ,GAA8D;CAC7E,IAAM,EAAE,SAAM,aAAU,YAAS;CACjC,OACE,kBAAC,GAAD;EAAS,WAAU;EAAM,MAAK;EAAM,IAAI;YAAxC,CACE,kBAAC,GAAD;GACQ;GACN,IAAI,EACF,cAAc,SAChB;EACD,CAAA,GACD,kBAAC,GAAD;GAAY,SAAQ;GAAc;EAAqB,CAAA,CAChD;;AAEb;AASA,SAAgB,EAAkB,GAA+B;CAC/D,IAAM,EACJ,oBAAiB,iCACjB,qBAAkB,OAChB,GAEE,EAAE,MAAM,GAAY,iBAAc,EAAwB,GAE1D,IAAoB,GAAY,aAChC,IACJ,GAAY,eAAe,GAAY,cAEnC,IAAwB,QACtB,CACJ;EACE,MAAM;EACN,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,OAAD;IAAK,WAAU;IAAO,MAAK;cAA3B;KACG,KACC,kBAAC,GAAD;MAAS,MAAK;MAAsB,MAAK;gBAAe;KAE/C,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAiB,MAAK;gBAAe;KAE1C,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAe,MAAK;gBAAa;KAEtC,CAAA;KAEV,KACC,kBAAC,GAAD;MAAS,MAAK;MAAqB,MAAK;gBAAU;KAEzC,CAAA;IAER;OACL,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,CAAS,CAAA,EACW,CAAA;GACnB,CAAA,CACF;;EAEP,UAAU;GACR;IACE,MAAM;IACN,SAAS,IAAoB,kBAAC,GAAD,CAA6B,CAAA,IAAI;GAChE;GACA;IACE,MAAM;IACN,SAAS,IAAoB,kBAAC,GAAD,CAAoB,CAAA,IAAI;GACvD;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAA,GAAA,EAAA,UAAA,CACG,CAAC,KACA,kBAAC,GAAD;KACE,MAAK;KACL,OAAM;KACN,MAAK;KACL,IAAI;MACF,QAAQ;MACR,OAAO;KACT;IACD,CAAA,GAEH,kBAAC,GAAD,CAAgC,CAAA,CAChC,EAAA,CAAA,IACA;GACN;GACA;IACE,MAAM;IACN,SAAS,IACP,kBAAC,GAAD,CAA8B,CAAA,IAC5B;GACN;GACA;IACE,MAAM;IACN,SAAS,kBAAC,GAAD,CAAuB,CAAA;GAClC;EACF;CACF,CACF,GACA,CAAC,GAAmB,CAAsB,CAC5C,GAEM,IAAS,QACT,IACK,EAAmB,GAAQ,EAChC,UAAU,EACZ,CAAC,IAEM,EAAoB,GAAQ,EACjC,UAAU,EACZ,CAAC,GAEF;EAAC;EAAiB;EAAQ;CAAc,CAAC;CAU5C,OARI,IACK,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAI3B,EADL,IACM,IAGF,GAHC,EAAwB,UAAS,CAAA;AAI5C;AAEA,SAAS,IAA8B;CACrC,IAAM,EAAE,UAAO,EAA0B;CAIzC,OAHK,IAGE,kBAAC,GAAD;EAAgB,cAAc;EAAI,YAAY;CAAO,CAAA,IAFnD,kBAAC,GAAD,EAAU,IAAG,eAAgB,CAAA;AAGxC"}
@@ -2,8 +2,8 @@ import { BackendDestinationEnum as e, getEndpoint as t } from "../../../utils/fu
2
2
  import { convertToEntityType as n, entityTypeToFriendlyName as r } from "../../../utils/functions/EntityTypeUtils.js";
3
3
  import i from "../../FullWidthAlert/index.js";
4
4
  import { useGetJson as a } from "../../../synapse-queries/entity/useEntity.js";
5
- import { useGetSchemaBinding as o, useGetValidationResults as s } from "../../../synapse-queries/entity/useEntityBoundSchema.js";
6
- import { useGetSchema as c } from "../../../synapse-queries/entity/useSchema.js";
5
+ import { useGetSchemaBinding as o, useGetValidationResults as s } from "../../../synapse-queries/jsonschema/useEntityBoundSchema.js";
6
+ import { useGetSchema as c } from "../../../synapse-queries/jsonschema/useSchema.js";
7
7
  import { SkeletonTable as l } from "../../Skeleton/SkeletonTable.js";
8
8
  import "../../Skeleton/index.js";
9
9
  import { formatDate as u } from "../../../utils/functions/DateFormatter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationsTable.js","names":[],"sources":["../../../../src/components/entity/metadata/AnnotationsTable.tsx"],"sourcesContent":["import { EntityAnnotationKey } from '@/components/entity/metadata/EntityAnnotationKey'\nimport { useGetJson } from '@/synapse-queries/entity/useEntity'\nimport { useGetSchema } from '@/synapse-queries/entity/useSchema'\nimport {\n useGetSchemaBinding,\n useGetValidationResults,\n} from '@/synapse-queries/entity/useEntityBoundSchema'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { isISOTimestamp } from '@/utils/functions/DateTimeUtils'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n getDisplayedAnnotationDescription,\n getDisplayedAnnotationTitle,\n useGetAnnotatedJsonInstance,\n} from '@/utils/jsonschema/SchemaAnnotationUtils'\nimport { Json } from '@sage-bionetworks/synapse-client'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { useCallback, useState } from 'react'\nimport FullWidthAlert from '../../FullWidthAlert'\nimport { SkeletonTable } from '../../Skeleton'\n\nexport type AnnotationsTableProps = {\n readonly entityId: string\n readonly versionNumber?: number\n}\n\nexport function getDisplayedAnnotation(\n value: string | number | boolean,\n): string {\n if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString()\n } else if (isISOTimestamp(value)) {\n return formatDate(dayjs(value))\n }\n return value\n}\n\nexport function AnnotationsTable(props: AnnotationsTableProps) {\n const { entityId, versionNumber } = props\n const [isManuallyRefetching, setIsManuallyRefetching] = useState(false)\n\n const {\n data: entityData,\n isLoading: isLoadingEntityData,\n refetch: refetchEntityData,\n } = useGetJson(entityId, versionNumber, true)\n const entityMetadata = entityData?.entityMetadata\n const annotations = entityData?.annotations\n\n const { data: boundSchema, isLoading: isLoadingSchemaBinding } =\n useGetSchemaBinding(entityId)\n const { data: validationSchema, isLoading: isLoadingValidationSchema } =\n useGetSchema(boundSchema?.jsonSchemaVersionInfo.$id!, {\n enabled: Boolean(boundSchema),\n })\n\n const { data: annotatedInstance, isLoading: isLoadingSchemaAnnotations } =\n useGetAnnotatedJsonInstance(entityData?.entity as Json, validationSchema)\n\n const { data: validationResults, refetch: refetchValidationInformation } =\n useGetValidationResults(entityId, {\n enabled: Boolean(boundSchema),\n })\n\n const showSchemaInformation = Boolean(boundSchema)\n\n // If the entity has not yet been validated since the last fetch, then derived annotations may not have been calculated.\n const recentChangesHaveNotBeenValidated =\n !!entityMetadata &&\n !!validationResults &&\n dayjs(entityMetadata.modifiedOn).diff(\n dayjs(validationResults.validatedOn),\n ) > 0\n\n const onRefetch = useCallback(async () => {\n setIsManuallyRefetching(true)\n const promises = [\n // Refetch the annotations, which may have changed if new derived annotations have been calculated\n void refetchEntityData(),\n // Refetch the validation information, which we use to determine if derived annotations may still be pending\n void refetchValidationInformation(),\n ]\n await Promise.allSettled(promises)\n setIsManuallyRefetching(false)\n }, [refetchEntityData, refetchValidationInformation])\n\n const isLoading =\n isLoadingEntityData ||\n isLoadingSchemaBinding ||\n isLoadingValidationSchema ||\n isLoadingSchemaAnnotations\n\n return isLoading || isManuallyRefetching ? (\n <SkeletonTable numRows={3} numCols={2} />\n ) : (\n <>\n {entityMetadata && annotations && isEmpty(annotations) ? (\n <div className=\"placeholder\">\n This{' '}\n {entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )}{' '}\n has no annotations.\n </div>\n ) : null}\n <table className=\"AnnotationsTable\">\n <tbody>\n {annotations &&\n Object.keys(annotations).map((annotationKey: string) => {\n return (\n <tr key={annotationKey} className=\"AnnotationsTable__Row\">\n <td className=\"AnnotationsTable__Row__Key\">\n <EntityAnnotationKey\n annotationKey={annotationKey}\n title={getDisplayedAnnotationTitle(\n annotationKey,\n annotatedInstance,\n )}\n description={getDisplayedAnnotationDescription(\n annotationKey,\n annotatedInstance,\n )}\n />\n </td>\n <td className=\"AnnotationsTable__Row__Value\">\n {Array.isArray(annotations[annotationKey])\n ? annotations[annotationKey]\n .map(getDisplayedAnnotation)\n .join(', ')\n : getDisplayedAnnotation(\n annotations[annotationKey] as\n | string\n | number\n | boolean,\n )}\n </td>\n </tr>\n )\n })}\n {showSchemaInformation ? (\n <tr className=\"AnnotationsTable__Row\">\n <td className=\"AnnotationsTable__Row__Key Schema\">\n Validation Schema\n </td>\n <td className=\"AnnotationsTable__Row__Value\">\n <a\n href={`${getEndpoint(\n BackendDestinationEnum.REPO_ENDPOINT,\n )}/repo/v1/schema/type/registered/${\n boundSchema!.jsonSchemaVersionInfo.$id\n }`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {boundSchema!.jsonSchemaVersionInfo.schemaName}\n </a>\n </td>\n </tr>\n ) : null}\n </tbody>\n </table>\n {entityMetadata &&\n showSchemaInformation &&\n recentChangesHaveNotBeenValidated && (\n <FullWidthAlert\n variant=\"warning\"\n description={`This ${entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )} has changed since it has been last validated. If this ${entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )} is expected to have annotations derived from the Validation Schema, they may not yet be visible.`}\n primaryButtonConfig={{\n text: 'Reload Annotations',\n onClick: () => {\n onRefetch()\n },\n }}\n isGlobal={false}\n />\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkCA,SAAgB,EACd,GACQ;CAMR,OALI,OAAO,KAAU,YAAY,OAAO,KAAU,YACzC,EAAM,SAAS,IACb,EAAe,CAAK,IACtB,EAAW,EAAM,CAAK,CAAC,IAEzB;AACT;AAEA,SAAgB,EAAiB,GAA8B;CAC7D,IAAM,EAAE,aAAU,qBAAkB,GAC9B,CAAC,GAAsB,KAA2B,EAAS,EAAK,GAEhE,EACJ,MAAM,GACN,WAAW,GACX,SAAS,MACP,EAAW,GAAU,GAAe,EAAI,GACtC,IAAiB,GAAY,gBAC7B,IAAc,GAAY,aAE1B,EAAE,MAAM,GAAa,WAAW,MACpC,EAAoB,CAAQ,GACxB,EAAE,MAAM,GAAkB,WAAW,MACzC,EAAa,GAAa,sBAAsB,KAAM,EACpD,SAAS,EAAQ,EACnB,CAAC,GAEG,EAAE,MAAM,GAAmB,WAAW,MAC1C,EAA4B,GAAY,QAAgB,CAAgB,GAEpE,EAAE,MAAM,GAAmB,SAAS,MACxC,EAAwB,GAAU,EAChC,SAAS,EAAQ,EACnB,CAAC,GAEG,IAAwB,EAAQ,GAGhC,IACJ,CAAC,CAAC,KACF,CAAC,CAAC,KACF,EAAM,EAAe,UAAU,EAAE,KAC/B,EAAM,EAAkB,WAAW,CACrC,IAAI,GAEA,IAAY,EAAY,YAAY;EACxC,EAAwB,EAAI;EAC5B,IAAM,IAAW,CAEf,KAAK,EAAkB,GAEvB,KAAK,EAA6B,CACpC;EAEA,AADA,MAAM,QAAQ,WAAW,CAAQ,GACjC,EAAwB,EAAK;CAC/B,GAAG,CAAC,GAAmB,CAA4B,CAAC;CAQpD,OALE,KACA,KACA,KACA,KAEkB,IAClB,kBAAC,GAAD;EAAe,SAAS;EAAG,SAAS;CAAI,CAAA,IAExC,kBAAA,GAAA,EAAA,UAAA;EACG,KAAkB,KAAe,EAAQ,CAAW,IACnD,kBAAC,OAAD;GAAK,WAAU;aAAf;IAA6B;IACtB;IACJ,EACC,EAAoB,EAAe,YAAY,CACjD;IAAG;IAAI;GAEJ;OACH;EACJ,kBAAC,SAAD;GAAO,WAAU;aACf,kBAAC,SAAD,EAAA,UAAA,CACG,KACC,OAAO,KAAK,CAAW,EAAE,KAAK,MAE1B,kBAAC,MAAD;IAAwB,WAAU;cAAlC,CACE,kBAAC,MAAD;KAAI,WAAU;eACZ,kBAAC,GAAD;MACiB;MACf,OAAO,EACL,GACA,CACF;MACA,aAAa,EACX,GACA,CACF;KACD,CAAA;IACC,CAAA,GACJ,kBAAC,MAAD;KAAI,WAAU;eACX,MAAM,QAAQ,EAAY,EAAc,IACrC,EAAY,GACT,IAAI,CAAsB,EAC1B,KAAK,IAAI,IACZ,EACE,EAAY,EAId;IACF,CAAA,CACF;MA1BK,CA0BL,CAEP,GACF,IACC,kBAAC,MAAD;IAAI,WAAU;cAAd,CACE,kBAAC,MAAD;KAAI,WAAU;eAAoC;IAE9C,CAAA,GACJ,kBAAC,MAAD;KAAI,WAAU;eACZ,kBAAC,KAAD;MACE,MAAM,GAAG,EACP,EAAuB,aACzB,EAAE,kCACA,EAAa,sBAAsB;MAErC,QAAO;MACP,KAAI;gBAEH,EAAa,sBAAsB;KACnC,CAAA;IACD,CAAA,CACF;QACF,IACC,EAAA,CAAA;EACF,CAAA;EACN,KACC,KACA,KACE,kBAAC,GAAD;GACE,SAAQ;GACR,aAAa,QAAQ,EACnB,EAAoB,EAAe,YAAY,CACjD,EAAE,yDAAyD,EACzD,EAAoB,EAAe,YAAY,CACjD,EAAE;GACF,qBAAqB;IACnB,MAAM;IACN,eAAe;KACb,EAAU;IACZ;GACF;GACA,UAAU;EACX,CAAA;CAEL,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"AnnotationsTable.js","names":[],"sources":["../../../../src/components/entity/metadata/AnnotationsTable.tsx"],"sourcesContent":["import { EntityAnnotationKey } from '@/components/entity/metadata/EntityAnnotationKey'\nimport { useGetJson } from '@/synapse-queries/entity/useEntity'\nimport { useGetSchema } from '@/synapse-queries/jsonschema/useSchema'\nimport {\n useGetSchemaBinding,\n useGetValidationResults,\n} from '@/synapse-queries/jsonschema/useEntityBoundSchema'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { isISOTimestamp } from '@/utils/functions/DateTimeUtils'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n getDisplayedAnnotationDescription,\n getDisplayedAnnotationTitle,\n useGetAnnotatedJsonInstance,\n} from '@/utils/jsonschema/SchemaAnnotationUtils'\nimport { Json } from '@sage-bionetworks/synapse-client'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { useCallback, useState } from 'react'\nimport FullWidthAlert from '../../FullWidthAlert'\nimport { SkeletonTable } from '../../Skeleton'\n\nexport type AnnotationsTableProps = {\n readonly entityId: string\n readonly versionNumber?: number\n}\n\nexport function getDisplayedAnnotation(\n value: string | number | boolean,\n): string {\n if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString()\n } else if (isISOTimestamp(value)) {\n return formatDate(dayjs(value))\n }\n return value\n}\n\nexport function AnnotationsTable(props: AnnotationsTableProps) {\n const { entityId, versionNumber } = props\n const [isManuallyRefetching, setIsManuallyRefetching] = useState(false)\n\n const {\n data: entityData,\n isLoading: isLoadingEntityData,\n refetch: refetchEntityData,\n } = useGetJson(entityId, versionNumber, true)\n const entityMetadata = entityData?.entityMetadata\n const annotations = entityData?.annotations\n\n const { data: boundSchema, isLoading: isLoadingSchemaBinding } =\n useGetSchemaBinding(entityId)\n const { data: validationSchema, isLoading: isLoadingValidationSchema } =\n useGetSchema(boundSchema?.jsonSchemaVersionInfo.$id!, {\n enabled: Boolean(boundSchema),\n })\n\n const { data: annotatedInstance, isLoading: isLoadingSchemaAnnotations } =\n useGetAnnotatedJsonInstance(entityData?.entity as Json, validationSchema)\n\n const { data: validationResults, refetch: refetchValidationInformation } =\n useGetValidationResults(entityId, {\n enabled: Boolean(boundSchema),\n })\n\n const showSchemaInformation = Boolean(boundSchema)\n\n // If the entity has not yet been validated since the last fetch, then derived annotations may not have been calculated.\n const recentChangesHaveNotBeenValidated =\n !!entityMetadata &&\n !!validationResults &&\n dayjs(entityMetadata.modifiedOn).diff(\n dayjs(validationResults.validatedOn),\n ) > 0\n\n const onRefetch = useCallback(async () => {\n setIsManuallyRefetching(true)\n const promises = [\n // Refetch the annotations, which may have changed if new derived annotations have been calculated\n void refetchEntityData(),\n // Refetch the validation information, which we use to determine if derived annotations may still be pending\n void refetchValidationInformation(),\n ]\n await Promise.allSettled(promises)\n setIsManuallyRefetching(false)\n }, [refetchEntityData, refetchValidationInformation])\n\n const isLoading =\n isLoadingEntityData ||\n isLoadingSchemaBinding ||\n isLoadingValidationSchema ||\n isLoadingSchemaAnnotations\n\n return isLoading || isManuallyRefetching ? (\n <SkeletonTable numRows={3} numCols={2} />\n ) : (\n <>\n {entityMetadata && annotations && isEmpty(annotations) ? (\n <div className=\"placeholder\">\n This{' '}\n {entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )}{' '}\n has no annotations.\n </div>\n ) : null}\n <table className=\"AnnotationsTable\">\n <tbody>\n {annotations &&\n Object.keys(annotations).map((annotationKey: string) => {\n return (\n <tr key={annotationKey} className=\"AnnotationsTable__Row\">\n <td className=\"AnnotationsTable__Row__Key\">\n <EntityAnnotationKey\n annotationKey={annotationKey}\n title={getDisplayedAnnotationTitle(\n annotationKey,\n annotatedInstance,\n )}\n description={getDisplayedAnnotationDescription(\n annotationKey,\n annotatedInstance,\n )}\n />\n </td>\n <td className=\"AnnotationsTable__Row__Value\">\n {Array.isArray(annotations[annotationKey])\n ? annotations[annotationKey]\n .map(getDisplayedAnnotation)\n .join(', ')\n : getDisplayedAnnotation(\n annotations[annotationKey] as\n | string\n | number\n | boolean,\n )}\n </td>\n </tr>\n )\n })}\n {showSchemaInformation ? (\n <tr className=\"AnnotationsTable__Row\">\n <td className=\"AnnotationsTable__Row__Key Schema\">\n Validation Schema\n </td>\n <td className=\"AnnotationsTable__Row__Value\">\n <a\n href={`${getEndpoint(\n BackendDestinationEnum.REPO_ENDPOINT,\n )}/repo/v1/schema/type/registered/${\n boundSchema!.jsonSchemaVersionInfo.$id\n }`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {boundSchema!.jsonSchemaVersionInfo.schemaName}\n </a>\n </td>\n </tr>\n ) : null}\n </tbody>\n </table>\n {entityMetadata &&\n showSchemaInformation &&\n recentChangesHaveNotBeenValidated && (\n <FullWidthAlert\n variant=\"warning\"\n description={`This ${entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )} has changed since it has been last validated. If this ${entityTypeToFriendlyName(\n convertToEntityType(entityMetadata.concreteType),\n )} is expected to have annotations derived from the Validation Schema, they may not yet be visible.`}\n primaryButtonConfig={{\n text: 'Reload Annotations',\n onClick: () => {\n onRefetch()\n },\n }}\n isGlobal={false}\n />\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkCA,SAAgB,EACd,GACQ;CAMR,OALI,OAAO,KAAU,YAAY,OAAO,KAAU,YACzC,EAAM,SAAS,IACb,EAAe,CAAK,IACtB,EAAW,EAAM,CAAK,CAAC,IAEzB;AACT;AAEA,SAAgB,EAAiB,GAA8B;CAC7D,IAAM,EAAE,aAAU,qBAAkB,GAC9B,CAAC,GAAsB,KAA2B,EAAS,EAAK,GAEhE,EACJ,MAAM,GACN,WAAW,GACX,SAAS,MACP,EAAW,GAAU,GAAe,EAAI,GACtC,IAAiB,GAAY,gBAC7B,IAAc,GAAY,aAE1B,EAAE,MAAM,GAAa,WAAW,MACpC,EAAoB,CAAQ,GACxB,EAAE,MAAM,GAAkB,WAAW,MACzC,EAAa,GAAa,sBAAsB,KAAM,EACpD,SAAS,EAAQ,EACnB,CAAC,GAEG,EAAE,MAAM,GAAmB,WAAW,MAC1C,EAA4B,GAAY,QAAgB,CAAgB,GAEpE,EAAE,MAAM,GAAmB,SAAS,MACxC,EAAwB,GAAU,EAChC,SAAS,EAAQ,EACnB,CAAC,GAEG,IAAwB,EAAQ,GAGhC,IACJ,CAAC,CAAC,KACF,CAAC,CAAC,KACF,EAAM,EAAe,UAAU,EAAE,KAC/B,EAAM,EAAkB,WAAW,CACrC,IAAI,GAEA,IAAY,EAAY,YAAY;EACxC,EAAwB,EAAI;EAC5B,IAAM,IAAW,CAEf,KAAK,EAAkB,GAEvB,KAAK,EAA6B,CACpC;EAEA,AADA,MAAM,QAAQ,WAAW,CAAQ,GACjC,EAAwB,EAAK;CAC/B,GAAG,CAAC,GAAmB,CAA4B,CAAC;CAQpD,OALE,KACA,KACA,KACA,KAEkB,IAClB,kBAAC,GAAD;EAAe,SAAS;EAAG,SAAS;CAAI,CAAA,IAExC,kBAAA,GAAA,EAAA,UAAA;EACG,KAAkB,KAAe,EAAQ,CAAW,IACnD,kBAAC,OAAD;GAAK,WAAU;aAAf;IAA6B;IACtB;IACJ,EACC,EAAoB,EAAe,YAAY,CACjD;IAAG;IAAI;GAEJ;OACH;EACJ,kBAAC,SAAD;GAAO,WAAU;aACf,kBAAC,SAAD,EAAA,UAAA,CACG,KACC,OAAO,KAAK,CAAW,EAAE,KAAK,MAE1B,kBAAC,MAAD;IAAwB,WAAU;cAAlC,CACE,kBAAC,MAAD;KAAI,WAAU;eACZ,kBAAC,GAAD;MACiB;MACf,OAAO,EACL,GACA,CACF;MACA,aAAa,EACX,GACA,CACF;KACD,CAAA;IACC,CAAA,GACJ,kBAAC,MAAD;KAAI,WAAU;eACX,MAAM,QAAQ,EAAY,EAAc,IACrC,EAAY,GACT,IAAI,CAAsB,EAC1B,KAAK,IAAI,IACZ,EACE,EAAY,EAId;IACF,CAAA,CACF;MA1BK,CA0BL,CAEP,GACF,IACC,kBAAC,MAAD;IAAI,WAAU;cAAd,CACE,kBAAC,MAAD;KAAI,WAAU;eAAoC;IAE9C,CAAA,GACJ,kBAAC,MAAD;KAAI,WAAU;eACZ,kBAAC,KAAD;MACE,MAAM,GAAG,EACP,EAAuB,aACzB,EAAE,kCACA,EAAa,sBAAsB;MAErC,QAAO;MACP,KAAI;gBAEH,EAAa,sBAAsB;KACnC,CAAA;IACD,CAAA,CACF;QACF,IACC,EAAA,CAAA;EACF,CAAA;EACN,KACC,KACA,KACE,kBAAC,GAAD;GACE,SAAQ;GACR,aAAa,QAAQ,EACnB,EAAoB,EAAe,YAAY,CACjD,EAAE,yDAAyD,EACzD,EAAoB,EAAe,YAAY,CACjD,EAAE;GACF,qBAAqB;IACnB,MAAM;IACN,eAAe;KACb,EAAU;IACZ;GACF;GACA,UAAU;EACX,CAAA;CAEL,EAAA,CAAA;AAEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPageBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AA0BD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,KAAK,EAAE,0BAA0B,2CAWlC"}
1
+ {"version":3,"file":"EntityPageBreadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,KAAK,0BAA0B,GAAG;IAChC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,EAAE,CAAC,EAAE,OAAO,CAAA;CACb,CAAA;AAyBD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,KAAK,EAAE,0BAA0B,2CAWlC"}
@@ -1,30 +1,30 @@
1
1
  import { Breadcrumbs as e } from "../../../Breadcrumbs/Breadcrumbs.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.tsx
4
- var n = 32, r = "#4D535A", i = {
4
+ var n = 32, r = {
5
5
  marginTop: "0px",
6
6
  padding: "20px 32px",
7
7
  "& .MuiTypography-root": {
8
8
  fontWeight: 440,
9
9
  lineHeight: "20px",
10
- color: r
10
+ color: "greyV2.800"
11
11
  },
12
- "& .MuiLink-root": { "&:visited": { color: r } },
12
+ "& .MuiLink-root": { "&:visited": { color: "greyV2.800" } },
13
13
  "& .MuiSvgIcon-root": {
14
14
  fontWeight: "300",
15
- color: r
15
+ color: "greyV2.800"
16
16
  }
17
17
  };
18
- function a(r) {
19
- let { items: a } = r;
18
+ function i(i) {
19
+ let { items: a } = i;
20
20
  return /* @__PURE__ */ t(e, {
21
21
  items: a,
22
- sx: i,
22
+ sx: r,
23
23
  maxBreadcrumbLength: n,
24
24
  iconVariant: "outlined"
25
25
  });
26
26
  }
27
27
  //#endregion
28
- export { a as default };
28
+ export { i as default };
29
29
 
30
30
  //# sourceMappingURL=EntityPageBreadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPageBreadcrumbs.js","names":[],"sources":["../../../../../src/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumbs,\n BreadcrumbItem,\n} from '@/components/Breadcrumbs/Breadcrumbs'\nimport { SxProps } from '@mui/material'\n\ntype EntityPageBreadcrumbsProps = {\n items: BreadcrumbItem[]\n sx?: SxProps\n}\n\nconst ENTITY_PAGE_MAX_BREADCRUMB_LENGTH = 32\nconst ENTITY_PAGE_TEXT_COLOR = '#4D535A'\n\nconst breadcrumbTextStyle: SxProps = {\n fontWeight: 440,\n lineHeight: '20px',\n color: ENTITY_PAGE_TEXT_COLOR,\n}\n\nconst entityPageBreadcrumbStyle: SxProps = {\n marginTop: '0px',\n padding: '20px 32px',\n ['& .MuiTypography-root']: breadcrumbTextStyle,\n ['& .MuiLink-root']: {\n '&:visited': {\n color: ENTITY_PAGE_TEXT_COLOR,\n },\n },\n ['& .MuiSvgIcon-root']: {\n fontWeight: '300',\n color: ENTITY_PAGE_TEXT_COLOR,\n },\n}\n\nexport default function EntityPageBreadcrumbs(\n props: EntityPageBreadcrumbsProps,\n) {\n const { items } = props\n return (\n <Breadcrumbs\n items={items}\n sx={entityPageBreadcrumbStyle}\n maxBreadcrumbLength={ENTITY_PAGE_MAX_BREADCRUMB_LENGTH}\n iconVariant=\"outlined\"\n />\n )\n}\n"],"mappings":";;;AAWA,IAAM,IAAoC,IACpC,IAAyB,WAQzB,IAAqC;CACzC,WAAW;CACX,SAAS;CACR,yBAA0B;EAR3B,YAAY;EACZ,YAAY;EACZ,OAAO;CAMoB;CAC1B,mBAAoB,EACnB,aAAa,EACX,OAAO,EACT,EACF;CACC,sBAAuB;EACtB,YAAY;EACZ,OAAO;CACT;AACF;AAEA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,aAAU;CAClB,OACE,kBAAC,GAAD;EACS;EACP,IAAI;EACJ,qBAAqB;EACrB,aAAY;CACb,CAAA;AAEL"}
1
+ {"version":3,"file":"EntityPageBreadcrumbs.js","names":[],"sources":["../../../../../src/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumbs,\n BreadcrumbItem,\n} from '@/components/Breadcrumbs/Breadcrumbs'\nimport { SxProps } from '@mui/material'\n\ntype EntityPageBreadcrumbsProps = {\n items: BreadcrumbItem[]\n sx?: SxProps\n}\n\nconst ENTITY_PAGE_MAX_BREADCRUMB_LENGTH = 32\n\nconst breadcrumbTextStyle: SxProps = {\n fontWeight: 440,\n lineHeight: '20px',\n color: 'greyV2.800',\n}\n\nconst entityPageBreadcrumbStyle: SxProps = {\n marginTop: '0px',\n padding: '20px 32px',\n ['& .MuiTypography-root']: breadcrumbTextStyle,\n ['& .MuiLink-root']: {\n '&:visited': {\n color: 'greyV2.800',\n },\n },\n ['& .MuiSvgIcon-root']: {\n fontWeight: '300',\n color: 'greyV2.800',\n },\n}\n\nexport default function EntityPageBreadcrumbs(\n props: EntityPageBreadcrumbsProps,\n) {\n const { items } = props\n return (\n <Breadcrumbs\n items={items}\n sx={entityPageBreadcrumbStyle}\n maxBreadcrumbLength={ENTITY_PAGE_MAX_BREADCRUMB_LENGTH}\n iconVariant=\"outlined\"\n />\n )\n}\n"],"mappings":";;;AAWA,IAAM,IAAoC,IAQpC,IAAqC;CACzC,WAAW;CACX,SAAS;CACR,yBAA0B;EAR3B,YAAY;EACZ,YAAY;EACZ,OAAO;CAMoB;CAC1B,mBAAoB,EACnB,aAAa,EACX,OAAO,aACT,EACF;CACC,sBAAuB;EACtB,YAAY;EACZ,OAAO;CACT;AACF;AAEA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,aAAU;CAClB,OACE,kBAAC,GAAD;EACS;EACP,IAAI;EACJ,qBAAqB;EACrB,aAAY;CACb,CAAA;AAEL"}
@@ -5,7 +5,6 @@ export type EntityPageTitleBarProps = {
5
5
  entityActionMenuProps?: EntityActionMenuProps;
6
6
  onActMemberClickAddConditionsForUse: () => void;
7
7
  };
8
- export declare const FAVORITE_BUTTON_ICON_COLOR = "#9EAAB7";
9
8
  /**
10
9
  * The EntityPageTitleBar component is shown on every Entity page in Synapse, and shows an Entity's metadata and
11
10
  * provides controls to view and manipulate the Entity.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPageTitleBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/entity/page/title_bar/EntityPageTitleBar.tsx"],"names":[],"mappings":"AAMA,OAAyB,EACvB,qBAAqB,EACtB,MAAM,iCAAiC,CAAA;AAKxC,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAE7C,mCAAmC,EAAE,MAAM,IAAI,CAAA;CAChD,CAAA;AAED,eAAO,MAAM,0BAA0B,YAAY,CAAA;AAMnD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAuHxE"}
1
+ {"version":3,"file":"EntityPageTitleBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/entity/page/title_bar/EntityPageTitleBar.tsx"],"names":[],"mappings":"AAMA,OAAyB,EACvB,qBAAqB,EACtB,MAAM,iCAAiC,CAAA;AAKxC,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAE7C,mCAAmC,EAAE,MAAM,IAAI,CAAA;CAChD,CAAA;AAKD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAuHxE"}