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
@@ -2,17 +2,18 @@ import { DAY_IN_MS as e } from "../../utils/SynapseConstants.js";
2
2
  import { SynapseErrorBoundary as t } from "../error/ErrorBanner.js";
3
3
  import { SynapseSpinner as n } from "../LoadingScreen/LoadingScreen.js";
4
4
  import { useGetAccessRequirements as r, useUpdateAccessRequirement as i } from "../../synapse-queries/dataaccess/useAccessRequirements.js";
5
+ import { useListEDucTemplates as a } from "../../synapse-queries/dataaccess/useEDuc.js";
5
6
  import "../../synapse-queries/index.js";
6
- import { UploadDocumentField as a } from "../AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js";
7
- import { AccessRequirementWikiInstructions as o } from "../SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js";
8
- import { AccessorRequirements as s } from "../SetBasicAccessRequirementFields/AccessorRequirements.js";
7
+ import { UploadDocumentField as o } from "../AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js";
8
+ import { AccessRequirementWikiInstructions as s } from "../SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js";
9
+ import { AccessorRequirements as c } from "../SetBasicAccessRequirementFields/AccessorRequirements.js";
9
10
  import "../SetBasicAccessRequirementFields/index.js";
10
- import { forwardRef as c, useEffect as l, useImperativeHandle as u, useMemo as d, useState as f } from "react";
11
- import { Alert as p, Box as m, Checkbox as h, FormControlLabel as g, TextField as _, Typography as v } from "@mui/material";
12
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
13
- import { FileHandleAssociateType as S } from "@sage-bionetworks/synapse-types";
11
+ import { forwardRef as l, useEffect as u, useImperativeHandle as d, useMemo as f, useState as p } from "react";
12
+ import { Alert as m, Autocomplete as h, Box as g, Checkbox as _, FormControlLabel as v, TextField as y, Typography as b } from "@mui/material";
13
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
14
+ import { FileHandleAssociateType as w } from "@sage-bionetworks/synapse-types";
14
15
  //#region src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx
15
- var C = "There was an error uploading the DUC template. ", w = (t) => {
16
+ var T = "There was an error uploading the DUC template. ", E = (t) => {
16
17
  if (t === "") return 0;
17
18
  let n = "Please enter a valid expiration period (in days): ";
18
19
  if (/^[-]?\d+$/.test(t)) {
@@ -20,46 +21,50 @@ var C = "There was an error uploading the DUC template. ", w = (t) => {
20
21
  return r < 0 ? `${n}If expiration period is set, then it must be greater than 0.` : r * e;
21
22
  }
22
23
  return `${n}For input string: "${t}"`;
23
- }, T = c(function(c, T) {
24
- let { accessRequirementId: E, onSave: D, onError: O } = c, { data: k, error: A } = r(E, { staleTime: Infinity });
25
- l(() => {
26
- k && (I(k), R((k.expirationPeriod / e).toString()));
27
- }, [k]);
28
- let [j, M] = f(null), [N, P] = f(null), [F, I] = f(null), [L, R] = f(""), z = d(() => {
29
- if (F?.ducTemplateFileHandleId) return {
30
- fileHandleId: F.ducTemplateFileHandleId,
31
- associateObjectType: S.AccessRequirementAttachment,
32
- associateObjectId: F.id.toString()
24
+ }, D = l(function(l, D) {
25
+ let { accessRequirementId: O, onSave: k, onError: A } = l, { data: j, error: M } = r(O, { staleTime: Infinity });
26
+ u(() => {
27
+ j && (R(j), B((j.expirationPeriod / e).toString()));
28
+ }, [j]);
29
+ let [N, P] = p(null), [F, I] = p(null), [L, R] = p(null), [z, B] = p(""), V = f(() => {
30
+ if (L?.ducTemplateFileHandleId) return {
31
+ fileHandleId: L.ducTemplateFileHandleId,
32
+ associateObjectType: w.AccessRequirementAttachment,
33
+ associateObjectId: L.id.toString()
33
34
  };
34
- }, [F?.ducTemplateFileHandleId, F?.id]), B = (e) => {
35
- if (e.resp && e.success && F) {
36
- M(null);
35
+ }, [L?.ducTemplateFileHandleId, L?.id]), { data: H, isLoading: U, hasNextPage: W, fetchNextPage: G } = a();
36
+ u(() => {
37
+ W && G();
38
+ }, [W, G]);
39
+ let K = f(() => H?.pages.flatMap((e) => e.results ?? []) ?? [], [H]), q = f(() => K.find((e) => e.templateId === L?.eDucTemplateId) ?? null, [K, L?.eDucTemplateId]), J = (e) => {
40
+ if (e.resp && e.success && L) {
41
+ P(null);
37
42
  let t = e.resp;
38
- I({
39
- ...F,
43
+ R({
44
+ ...L,
40
45
  ducTemplateFileHandleId: t.fileHandleId
41
46
  });
42
- } else !e.success && e.error && M(`${C} ${e.error.reason}`);
43
- }, { mutate: V, isPending: H, error: U } = i({
44
- onSuccess: () => D(),
45
- onError: () => O()
47
+ } else !e.success && e.error && P(`${T} ${e.error.reason}`);
48
+ }, { mutate: Y, isPending: X, error: Z } = i({
49
+ onSuccess: () => k(),
50
+ onError: () => A()
46
51
  });
47
- return u(T, () => ({ save() {
48
- if (F) {
49
- let e = w(L);
50
- typeof e == "string" ? (P(e), O()) : V({
51
- ...F,
52
+ return d(D, () => ({ save() {
53
+ if (L) {
54
+ let e = E(z);
55
+ typeof e == "string" ? (I(e), A()) : Y({
56
+ ...L,
52
57
  expirationPeriod: e
53
58
  });
54
59
  }
55
60
  } }), [
61
+ z,
56
62
  L,
57
- F,
58
- V,
59
- O
60
- ]), F ? /* @__PURE__ */ x(y, { children: [
61
- /* @__PURE__ */ b(o, { accessRequirement: F }),
62
- /* @__PURE__ */ x(m, { children: [/* @__PURE__ */ b(v, {
63
+ Y,
64
+ A
65
+ ]), L ? /* @__PURE__ */ C(x, { children: [
66
+ /* @__PURE__ */ S(s, { accessRequirement: L }),
67
+ /* @__PURE__ */ C(g, { children: [/* @__PURE__ */ S(b, {
63
68
  sx: {
64
69
  bgcolor: "#f5f5f5",
65
70
  borderBottom: "1px solid #ddd",
@@ -68,103 +73,123 @@ var C = "There was an error uploading the DUC template. ", w = (t) => {
68
73
  py: 1
69
74
  },
70
75
  children: "Data Access Request Parameters"
71
- }), /* @__PURE__ */ x(m, {
76
+ }), /* @__PURE__ */ C(g, {
72
77
  sx: {
73
78
  mt: 2,
74
79
  mb: 4
75
80
  },
76
- children: [/* @__PURE__ */ b(s, {
77
- accessRequirement: F,
78
- onChange: (e) => I(e)
79
- }), /* @__PURE__ */ x(m, {
81
+ children: [/* @__PURE__ */ S(c, {
82
+ accessRequirement: L,
83
+ onChange: (e) => R(e)
84
+ }), /* @__PURE__ */ C(g, {
80
85
  sx: { mb: 2 },
81
86
  children: [
82
- /* @__PURE__ */ b(v, {
87
+ /* @__PURE__ */ S(b, {
83
88
  variant: "body1",
84
89
  sx: { fontWeight: 700 },
85
90
  children: "DUC"
86
91
  }),
87
- /* @__PURE__ */ b(g, {
88
- control: /* @__PURE__ */ b(h, {}),
92
+ /* @__PURE__ */ S(v, {
93
+ control: /* @__PURE__ */ S(_, {}),
89
94
  label: "DUC is required.",
90
- checked: F.isDUCRequired,
91
- onChange: (e, t) => I({
92
- ...F,
95
+ checked: L.isDUCRequired,
96
+ onChange: (e, t) => R({
97
+ ...L,
93
98
  isDUCRequired: t
94
99
  })
95
100
  }),
96
- /* @__PURE__ */ x(t, { children: [/* @__PURE__ */ b(a, {
101
+ /* @__PURE__ */ C(t, { children: [/* @__PURE__ */ S(o, {
97
102
  id: "duc",
98
- isLoading: H,
99
- uploadCallback: (e) => B(e),
103
+ isLoading: X,
104
+ uploadCallback: (e) => J(e),
100
105
  documentName: "Template DUC",
101
- fileHandleAssociations: z ? [z] : void 0,
106
+ fileHandleAssociations: V ? [V] : void 0,
102
107
  isMultiFileUpload: !1,
103
108
  uploadBtnVariant: "contained"
104
- }), j && /* @__PURE__ */ b(p, {
109
+ }), N && /* @__PURE__ */ S(m, {
105
110
  severity: "error",
106
111
  sx: { marginTop: 2 },
107
- children: j
112
+ children: N
108
113
  })] }),
109
- /* @__PURE__ */ b(g, {
114
+ /* @__PURE__ */ S(g, {
115
+ sx: { mt: 2 },
116
+ children: /* @__PURE__ */ S(h, {
117
+ id: "eDucTemplate",
118
+ options: K,
119
+ loading: U,
120
+ value: q,
121
+ onChange: (e, t) => R({
122
+ ...L,
123
+ eDucTemplateId: t?.templateId
124
+ }),
125
+ getOptionLabel: (e) => e.name ?? "",
126
+ isOptionEqualToValue: (e, t) => e.templateId === t.templateId,
127
+ renderInput: (e) => /* @__PURE__ */ S(y, {
128
+ ...e,
129
+ label: "eDUC template (electronic signing)",
130
+ helperText: "Optional. Select a DocuSign template to enable the eDUC signing flow for this Access Requirement."
131
+ })
132
+ })
133
+ }),
134
+ /* @__PURE__ */ S(v, {
110
135
  label: "IRB approval is required.",
111
- checked: F.isIRBApprovalRequired,
112
- control: /* @__PURE__ */ b(h, {}),
113
- onChange: (e, t) => I({
114
- ...F,
136
+ checked: L.isIRBApprovalRequired,
137
+ control: /* @__PURE__ */ S(_, {}),
138
+ onChange: (e, t) => R({
139
+ ...L,
115
140
  isIRBApprovalRequired: t
116
141
  }),
117
142
  sx: { ml: 0 }
118
143
  }),
119
- /* @__PURE__ */ b(g, {
120
- control: /* @__PURE__ */ b(h, {}),
144
+ /* @__PURE__ */ S(v, {
145
+ control: /* @__PURE__ */ S(_, {}),
121
146
  label: "Other documents are required.",
122
- checked: F.areOtherAttachmentsRequired,
123
- onChange: (e, t) => I({
124
- ...F,
147
+ checked: L.areOtherAttachmentsRequired,
148
+ onChange: (e, t) => R({
149
+ ...L,
125
150
  areOtherAttachmentsRequired: t
126
151
  })
127
152
  }),
128
- /* @__PURE__ */ b(_, {
153
+ /* @__PURE__ */ S(y, {
129
154
  id: "expirationPeriod",
130
155
  name: "expirationPeriod",
131
156
  label: "Expiration period (days)",
132
- value: L,
133
- error: !!N,
134
- helperText: N,
157
+ value: z,
158
+ error: !!F,
159
+ helperText: F,
135
160
  sx: { mt: 1 },
136
161
  fullWidth: !0,
137
162
  onChange: (e) => {
138
- P(null), R(e.target.value);
163
+ I(null), B(e.target.value);
139
164
  },
140
165
  onBlur: () => {
141
- let e = w(L);
142
- typeof e == "string" && P(e);
166
+ let e = E(z);
167
+ typeof e == "string" && I(e);
143
168
  }
144
169
  }),
145
- /* @__PURE__ */ x(m, {
170
+ /* @__PURE__ */ C(g, {
146
171
  sx: { mt: 1 },
147
- children: [/* @__PURE__ */ b(g, {
148
- control: /* @__PURE__ */ b(h, {}),
172
+ children: [/* @__PURE__ */ S(v, {
173
+ control: /* @__PURE__ */ S(_, {}),
149
174
  label: "Intended Data Use statement is required.",
150
- checked: F.isIDURequired,
175
+ checked: L.isIDURequired,
151
176
  onChange: (e, t) => {
152
- I(t ? {
153
- ...F,
177
+ R(t ? {
178
+ ...L,
154
179
  isIDURequired: !0
155
180
  } : {
156
- ...F,
181
+ ...L,
157
182
  isIDURequired: !1,
158
183
  isIDUPublic: !1
159
184
  });
160
185
  }
161
- }), /* @__PURE__ */ b(g, {
162
- control: /* @__PURE__ */ b(h, {}),
186
+ }), /* @__PURE__ */ S(v, {
187
+ control: /* @__PURE__ */ S(_, {}),
163
188
  label: "Intended Data Use statements will be publicly available.",
164
- checked: F.isIDUPublic,
165
- disabled: !F.isIDURequired,
166
- onChange: (e, t) => I({
167
- ...F,
189
+ checked: L.isIDUPublic,
190
+ disabled: !L.isIDURequired,
191
+ onChange: (e, t) => R({
192
+ ...L,
168
193
  isIDUPublic: t
169
194
  })
170
195
  })]
@@ -172,17 +197,17 @@ var C = "There was an error uploading the DUC template. ", w = (t) => {
172
197
  ]
173
198
  })]
174
199
  })] }),
175
- U && /* @__PURE__ */ b(p, {
200
+ Z && /* @__PURE__ */ S(m, {
176
201
  severity: "error",
177
202
  sx: { marginTop: 2 },
178
- children: U.reason
203
+ children: Z.reason
179
204
  })
180
- ] }) : A ? /* @__PURE__ */ b(p, {
205
+ ] }) : M ? /* @__PURE__ */ S(m, {
181
206
  severity: "error",
182
- children: A.reason
183
- }) : /* @__PURE__ */ b(n, {});
207
+ children: M.reason
208
+ }) : /* @__PURE__ */ S(n, {});
184
209
  });
185
210
  //#endregion
186
- export { C as DUC_TEMPLATE_UPLOAD_ERROR, T as SetManagedAccessRequirementFields, w as getValidExpirationPeriodOrErrorMessage };
211
+ export { T as DUC_TEMPLATE_UPLOAD_ERROR, D as SetManagedAccessRequirementFields, E as getValidExpirationPeriodOrErrorMessage };
187
212
 
188
213
  //# sourceMappingURL=SetManagedAccessRequirementFields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SetManagedAccessRequirementFields.js","names":[],"sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"sourcesContent":["import {\n useGetAccessRequirements,\n useUpdateAccessRequirement,\n} from '@/synapse-queries'\nimport { DAY_IN_MS } from '@/utils/SynapseConstants'\nimport {\n Alert,\n Box,\n Checkbox,\n FormControlLabel,\n TextField,\n Typography,\n} from '@mui/material'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n FileHandleAssociateType,\n FileHandleAssociation,\n FileUploadComplete,\n ManagedACTAccessRequirement,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { UploadDocumentField } from '../AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport {\n AccessorRequirements,\n AccessRequirementWikiInstructions,\n} from '../SetBasicAccessRequirementFields'\n\nexport const DUC_TEMPLATE_UPLOAD_ERROR =\n 'There was an error uploading the DUC template. '\n\nexport const getValidExpirationPeriodOrErrorMessage = (\n expirationPeriodDays: string,\n) => {\n if (expirationPeriodDays === '') return 0\n\n const msgPrefix = 'Please enter a valid expiration period (in days): '\n if (/^[-]?\\d+$/.test(expirationPeriodDays)) {\n const num = Number(expirationPeriodDays)\n if (num < 0) {\n return `${msgPrefix}If expiration period is set, then it must be greater than 0.`\n }\n return num * DAY_IN_MS\n }\n return `${msgPrefix}For input string: \"${expirationPeriodDays}\"`\n}\n\nexport type SetManagedAccessRequirementFieldsHandle = {\n /* Allow the parent component to trigger saving the AR, so this may be embedded in an arbitrary modal. */\n save: () => void\n}\n\nexport type SetManagedAccessRequirementFieldsProps = {\n accessRequirementId: string\n /* Called when AR has been saved successfully */\n onSave: () => void\n /* Called when error saving AR */\n onError: () => void\n}\n\nexport const SetManagedAccessRequirementFields = forwardRef(\n function SetManagedAccessRequirementFields(\n props: SetManagedAccessRequirementFieldsProps,\n ref: ForwardedRef<SetManagedAccessRequirementFieldsHandle>,\n ) {\n const { accessRequirementId, onSave, onError } = props\n\n const { data: accessRequirement, error: getArError } =\n useGetAccessRequirements<ManagedACTAccessRequirement>(\n accessRequirementId,\n { staleTime: Infinity },\n )\n useEffect(() => {\n if (accessRequirement) {\n setUpdatedAr(accessRequirement)\n setExpirationPeriodDays(\n (accessRequirement.expirationPeriod / DAY_IN_MS).toString(),\n )\n }\n }, [accessRequirement])\n\n const [uploadDucTemplateError, setUploadDucTemplateError] = useState<\n string | null\n >(null)\n const [expirationPeriodError, setExpirationPeriodError] = useState<\n string | null\n >(null)\n\n const [updatedAr, setUpdatedAr] =\n useState<ManagedACTAccessRequirement | null>(null)\n const [expirationPeriodDays, setExpirationPeriodDays] = useState<string>('')\n\n const ducTemplateFileHandleAssociation = useMemo(() => {\n if (updatedAr?.ducTemplateFileHandleId) {\n const ducTemplateFileHandleAssociation: FileHandleAssociation = {\n fileHandleId: updatedAr.ducTemplateFileHandleId,\n associateObjectType:\n FileHandleAssociateType.AccessRequirementAttachment,\n associateObjectId: updatedAr.id.toString(),\n }\n return ducTemplateFileHandleAssociation\n }\n return undefined\n }, [updatedAr?.ducTemplateFileHandleId, updatedAr?.id])\n\n const uploadDucTemplateCallback = (data: UploadCallbackResp) => {\n if (data.resp && data.success && updatedAr) {\n setUploadDucTemplateError(null)\n // Files are uploaded and synced with the server immediately\n const uploadResponse: FileUploadComplete = data.resp\n setUpdatedAr({\n ...updatedAr,\n ducTemplateFileHandleId: uploadResponse.fileHandleId,\n })\n } else if (!data.success && data.error) {\n setUploadDucTemplateError(\n `${DUC_TEMPLATE_UPLOAD_ERROR} ${\n (data.error as SynapseClientError).reason\n }`,\n )\n }\n }\n\n const {\n mutate: updateAccessRequirement,\n isPending: isUpdatingAccessRequirement,\n error: updateArError,\n } = useUpdateAccessRequirement<ManagedACTAccessRequirement>({\n onSuccess: () => onSave(),\n onError: () => onError(),\n })\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (updatedAr) {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n onError()\n } else {\n updateAccessRequirement({\n ...updatedAr,\n expirationPeriod: expirationPeriodOrErrorMessage,\n })\n }\n }\n },\n }\n }, [expirationPeriodDays, updatedAr, updateAccessRequirement, onError])\n\n if (!updatedAr) {\n if (getArError) {\n return <Alert severity=\"error\">{getArError.reason}</Alert>\n } else {\n return <SynapseSpinner />\n }\n }\n\n return (\n <>\n <AccessRequirementWikiInstructions accessRequirement={updatedAr} />\n <Box>\n <Typography\n sx={{\n bgcolor: '#f5f5f5',\n borderBottom: '1px solid #ddd',\n color: '#333',\n px: 2,\n py: 1,\n }}\n >\n Data Access Request Parameters\n </Typography>\n <Box\n sx={{\n mt: 2,\n mb: 4,\n }}\n >\n <AccessorRequirements\n accessRequirement={updatedAr}\n onChange={updatedAr =>\n setUpdatedAr(updatedAr as ManagedACTAccessRequirement)\n }\n />\n <Box\n sx={{\n mb: 2,\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n fontWeight: 700,\n }}\n >\n DUC\n </Typography>\n <FormControlLabel\n control={<Checkbox />}\n label=\"DUC is required.\"\n checked={updatedAr.isDUCRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isDUCRequired: checked,\n })\n }\n />\n <SynapseErrorBoundary>\n <UploadDocumentField\n id=\"duc\"\n isLoading={isUpdatingAccessRequirement}\n uploadCallback={resp => uploadDucTemplateCallback(resp)}\n documentName=\"Template DUC\"\n fileHandleAssociations={\n ducTemplateFileHandleAssociation\n ? [ducTemplateFileHandleAssociation]\n : undefined\n }\n isMultiFileUpload={false}\n uploadBtnVariant=\"contained\"\n />\n {uploadDucTemplateError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {uploadDucTemplateError}\n </Alert>\n )}\n </SynapseErrorBoundary>\n <FormControlLabel\n label=\"IRB approval is required.\"\n checked={updatedAr.isIRBApprovalRequired}\n control={<Checkbox />}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIRBApprovalRequired: checked,\n })\n }\n sx={{ ml: 0 }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Other documents are required.\"\n checked={updatedAr.areOtherAttachmentsRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n areOtherAttachmentsRequired: checked,\n })\n }\n />\n <TextField\n id=\"expirationPeriod\"\n name=\"expirationPeriod\"\n label=\"Expiration period (days)\"\n value={expirationPeriodDays}\n error={Boolean(expirationPeriodError)}\n helperText={expirationPeriodError}\n sx={{ mt: 1 }}\n fullWidth\n onChange={event => {\n setExpirationPeriodError(null)\n setExpirationPeriodDays(event.target.value)\n }}\n onBlur={() => {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n }\n }}\n />\n <Box\n sx={{\n mt: 1,\n }}\n >\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statement is required.\"\n checked={updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) => {\n if (checked) {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: true,\n })\n } else {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: false,\n isIDUPublic: false,\n })\n }\n }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statements will be publicly available.\"\n checked={updatedAr.isIDUPublic}\n disabled={!updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIDUPublic: checked,\n })\n }\n />\n </Box>\n </Box>\n </Box>\n </Box>\n {updateArError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {updateArError.reason}\n </Alert>\n )}\n </>\n )\n },\n)\n"],"mappings":"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"}
1
+ {"version":3,"file":"SetManagedAccessRequirementFields.js","names":[],"sources":["../../../src/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.tsx"],"sourcesContent":["import {\n useGetAccessRequirements,\n useListEDucTemplates,\n useUpdateAccessRequirement,\n} from '@/synapse-queries'\nimport { DAY_IN_MS } from '@/utils/SynapseConstants'\nimport {\n Alert,\n Autocomplete,\n Box,\n Checkbox,\n FormControlLabel,\n TextField,\n Typography,\n} from '@mui/material'\nimport { EDucTemplate } from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n FileHandleAssociateType,\n FileHandleAssociation,\n FileUploadComplete,\n ManagedACTAccessRequirement,\n UploadCallbackResp,\n} from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { UploadDocumentField } from '../AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport {\n AccessorRequirements,\n AccessRequirementWikiInstructions,\n} from '../SetBasicAccessRequirementFields'\n\nexport const DUC_TEMPLATE_UPLOAD_ERROR =\n 'There was an error uploading the DUC template. '\n\nexport const getValidExpirationPeriodOrErrorMessage = (\n expirationPeriodDays: string,\n) => {\n if (expirationPeriodDays === '') return 0\n\n const msgPrefix = 'Please enter a valid expiration period (in days): '\n if (/^[-]?\\d+$/.test(expirationPeriodDays)) {\n const num = Number(expirationPeriodDays)\n if (num < 0) {\n return `${msgPrefix}If expiration period is set, then it must be greater than 0.`\n }\n return num * DAY_IN_MS\n }\n return `${msgPrefix}For input string: \"${expirationPeriodDays}\"`\n}\n\nexport type SetManagedAccessRequirementFieldsHandle = {\n /* Allow the parent component to trigger saving the AR, so this may be embedded in an arbitrary modal. */\n save: () => void\n}\n\nexport type SetManagedAccessRequirementFieldsProps = {\n accessRequirementId: string\n /* Called when AR has been saved successfully */\n onSave: () => void\n /* Called when error saving AR */\n onError: () => void\n}\n\nexport const SetManagedAccessRequirementFields = forwardRef(\n function SetManagedAccessRequirementFields(\n props: SetManagedAccessRequirementFieldsProps,\n ref: ForwardedRef<SetManagedAccessRequirementFieldsHandle>,\n ) {\n const { accessRequirementId, onSave, onError } = props\n\n const { data: accessRequirement, error: getArError } =\n useGetAccessRequirements<ManagedACTAccessRequirement>(\n accessRequirementId,\n { staleTime: Infinity },\n )\n useEffect(() => {\n if (accessRequirement) {\n setUpdatedAr(accessRequirement)\n setExpirationPeriodDays(\n (accessRequirement.expirationPeriod / DAY_IN_MS).toString(),\n )\n }\n }, [accessRequirement])\n\n const [uploadDucTemplateError, setUploadDucTemplateError] = useState<\n string | null\n >(null)\n const [expirationPeriodError, setExpirationPeriodError] = useState<\n string | null\n >(null)\n\n const [updatedAr, setUpdatedAr] =\n useState<ManagedACTAccessRequirement | null>(null)\n const [expirationPeriodDays, setExpirationPeriodDays] = useState<string>('')\n\n const ducTemplateFileHandleAssociation = useMemo(() => {\n if (updatedAr?.ducTemplateFileHandleId) {\n const ducTemplateFileHandleAssociation: FileHandleAssociation = {\n fileHandleId: updatedAr.ducTemplateFileHandleId,\n associateObjectType:\n FileHandleAssociateType.AccessRequirementAttachment,\n associateObjectId: updatedAr.id.toString(),\n }\n return ducTemplateFileHandleAssociation\n }\n return undefined\n }, [updatedAr?.ducTemplateFileHandleId, updatedAr?.id])\n\n const {\n data: eDucTemplateData,\n isLoading: isLoadingEDucTemplates,\n hasNextPage: hasNextEDucTemplatePage,\n fetchNextPage: fetchNextEDucTemplatePage,\n } = useListEDucTemplates()\n // Auto-fetch all pages so the dropdown always shows the complete template list.\n useEffect(() => {\n if (hasNextEDucTemplatePage) {\n void fetchNextEDucTemplatePage()\n }\n }, [hasNextEDucTemplatePage, fetchNextEDucTemplatePage])\n const eDucTemplates = useMemo(\n () => eDucTemplateData?.pages.flatMap(page => page.results ?? []) ?? [],\n [eDucTemplateData],\n )\n const selectedEDucTemplate = useMemo(\n () =>\n eDucTemplates.find(\n template => template.templateId === updatedAr?.eDucTemplateId,\n ) ?? null,\n [eDucTemplates, updatedAr?.eDucTemplateId],\n )\n\n const uploadDucTemplateCallback = (data: UploadCallbackResp) => {\n if (data.resp && data.success && updatedAr) {\n setUploadDucTemplateError(null)\n // Files are uploaded and synced with the server immediately\n const uploadResponse: FileUploadComplete = data.resp\n setUpdatedAr({\n ...updatedAr,\n ducTemplateFileHandleId: uploadResponse.fileHandleId,\n })\n } else if (!data.success && data.error) {\n setUploadDucTemplateError(\n `${DUC_TEMPLATE_UPLOAD_ERROR} ${\n (data.error as SynapseClientError).reason\n }`,\n )\n }\n }\n\n const {\n mutate: updateAccessRequirement,\n isPending: isUpdatingAccessRequirement,\n error: updateArError,\n } = useUpdateAccessRequirement<ManagedACTAccessRequirement>({\n onSuccess: () => onSave(),\n onError: () => onError(),\n })\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (updatedAr) {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n onError()\n } else {\n updateAccessRequirement({\n ...updatedAr,\n expirationPeriod: expirationPeriodOrErrorMessage,\n })\n }\n }\n },\n }\n }, [expirationPeriodDays, updatedAr, updateAccessRequirement, onError])\n\n if (!updatedAr) {\n if (getArError) {\n return <Alert severity=\"error\">{getArError.reason}</Alert>\n } else {\n return <SynapseSpinner />\n }\n }\n\n return (\n <>\n <AccessRequirementWikiInstructions accessRequirement={updatedAr} />\n <Box>\n <Typography\n sx={{\n bgcolor: '#f5f5f5',\n borderBottom: '1px solid #ddd',\n color: '#333',\n px: 2,\n py: 1,\n }}\n >\n Data Access Request Parameters\n </Typography>\n <Box\n sx={{\n mt: 2,\n mb: 4,\n }}\n >\n <AccessorRequirements\n accessRequirement={updatedAr}\n onChange={updatedAr =>\n setUpdatedAr(updatedAr as ManagedACTAccessRequirement)\n }\n />\n <Box\n sx={{\n mb: 2,\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n fontWeight: 700,\n }}\n >\n DUC\n </Typography>\n <FormControlLabel\n control={<Checkbox />}\n label=\"DUC is required.\"\n checked={updatedAr.isDUCRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isDUCRequired: checked,\n })\n }\n />\n <SynapseErrorBoundary>\n <UploadDocumentField\n id=\"duc\"\n isLoading={isUpdatingAccessRequirement}\n uploadCallback={resp => uploadDucTemplateCallback(resp)}\n documentName=\"Template DUC\"\n fileHandleAssociations={\n ducTemplateFileHandleAssociation\n ? [ducTemplateFileHandleAssociation]\n : undefined\n }\n isMultiFileUpload={false}\n uploadBtnVariant=\"contained\"\n />\n {uploadDucTemplateError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {uploadDucTemplateError}\n </Alert>\n )}\n </SynapseErrorBoundary>\n <Box sx={{ mt: 2 }}>\n <Autocomplete<EDucTemplate>\n id=\"eDucTemplate\"\n options={eDucTemplates}\n loading={isLoadingEDucTemplates}\n value={selectedEDucTemplate}\n onChange={(_event, template) =>\n setUpdatedAr({\n ...updatedAr,\n eDucTemplateId: template?.templateId,\n })\n }\n getOptionLabel={template => template.name ?? ''}\n isOptionEqualToValue={(option, value) =>\n option.templateId === value.templateId\n }\n renderInput={params => (\n <TextField\n {...params}\n label=\"eDUC template (electronic signing)\"\n helperText=\"Optional. Select a DocuSign template to enable the eDUC signing flow for this Access Requirement.\"\n />\n )}\n />\n </Box>\n <FormControlLabel\n label=\"IRB approval is required.\"\n checked={updatedAr.isIRBApprovalRequired}\n control={<Checkbox />}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIRBApprovalRequired: checked,\n })\n }\n sx={{ ml: 0 }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Other documents are required.\"\n checked={updatedAr.areOtherAttachmentsRequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n areOtherAttachmentsRequired: checked,\n })\n }\n />\n <TextField\n id=\"expirationPeriod\"\n name=\"expirationPeriod\"\n label=\"Expiration period (days)\"\n value={expirationPeriodDays}\n error={Boolean(expirationPeriodError)}\n helperText={expirationPeriodError}\n sx={{ mt: 1 }}\n fullWidth\n onChange={event => {\n setExpirationPeriodError(null)\n setExpirationPeriodDays(event.target.value)\n }}\n onBlur={() => {\n const expirationPeriodOrErrorMessage =\n getValidExpirationPeriodOrErrorMessage(expirationPeriodDays)\n if (typeof expirationPeriodOrErrorMessage === 'string') {\n setExpirationPeriodError(expirationPeriodOrErrorMessage)\n }\n }}\n />\n <Box\n sx={{\n mt: 1,\n }}\n >\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statement is required.\"\n checked={updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) => {\n if (checked) {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: true,\n })\n } else {\n setUpdatedAr({\n ...updatedAr,\n isIDURequired: false,\n isIDUPublic: false,\n })\n }\n }}\n />\n <FormControlLabel\n control={<Checkbox />}\n label=\"Intended Data Use statements will be publicly available.\"\n checked={updatedAr.isIDUPublic}\n disabled={!updatedAr.isIDURequired}\n onChange={(_event, checked: boolean) =>\n setUpdatedAr({\n ...updatedAr,\n isIDUPublic: checked,\n })\n }\n />\n </Box>\n </Box>\n </Box>\n </Box>\n {updateArError && (\n <Alert severity=\"error\" sx={{ marginTop: 2 }}>\n {updateArError.reason}\n </Alert>\n )}\n </>\n )\n },\n)\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChat.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,uCAAuC,CAAA;AAO/E,OAAO,EACL,YAAY,EAEZ,uBAAuB,EACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AA4BlE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,cAAc,CAAC,EAAE,uBAAuB,CAAA;IAExC,eAAe,CAAC,EAAE,YAAY,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAA;IAE1D,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAE7B,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;IAE1C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,mDAAmD;IACnD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,wBAAgB,WAAW,CAAC,EAC1B,cAAc,EACd,mBAAmB,EACnB,WAA2B,EAC3B,WAA4B,EAC5B,SAAiB,EACjB,qBAA6B,EAC7B,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,gBAAwB,GACzB,EAAE,gBAAgB,2CAsQlB;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"SynapseChat.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,uCAAuC,CAAA;AAO/E,OAAO,EACL,YAAY,EAEZ,uBAAuB,EACxB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AA4BlE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,cAAc,CAAC,EAAE,uBAAuB,CAAA;IAExC,eAAe,CAAC,EAAE,YAAY,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAA;IAE1D,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAE7B,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;IAE1C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,mDAAmD;IACnD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,wBAAgB,WAAW,CAAC,EAC1B,cAAc,EACd,mBAAmB,EACnB,WAA2B,EAC3B,WAA4B,EAC5B,SAAiB,EACjB,qBAA6B,EAC7B,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,mBAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,gBAAwB,GACzB,EAAE,gBAAgB,2CAwQlB;AAED,eAAe,WAAW,CAAA"}
@@ -4,22 +4,22 @@ import { useApplicationSessionContext as n } from "../../utils/AppUtils/session/
4
4
  import "../ToastMessage/index.js";
5
5
  import "../../utils/AppUtils/index.js";
6
6
  import "../../utils/index.js";
7
- import { SkeletonParagraph as r } from "../Skeleton/SkeletonParagraph.js";
7
+ import { SkeletonParagraph as ee } from "../Skeleton/SkeletonParagraph.js";
8
8
  import "../Skeleton/index.js";
9
- import { UserCard as i } from "../UserCard/UserCard.js";
10
- import { useCreateAgentSession as a, useUpdateAgentSession as o } from "../../synapse-queries/chat/useChat.js";
11
- import { useChatState as ee } from "./useChatState.js";
12
- import { AccessLevelMenu as s } from "./AccessLevelMenu.js";
13
- import { ChatInputArea as c } from "./components/ChatInputArea/ChatInputArea.js";
14
- import l from "./SynapseChatMessage.js";
15
- import { useEffect as u, useRef as d, useState as f } from "react";
16
- import { Alert as te, Box as p, Chip as m, List as h, Stack as ne, Typography as g } from "@mui/material";
9
+ import { UserCard as te } from "../UserCard/UserCard.js";
10
+ import { useCreateAgentSession as r, useUpdateAgentSession as ne } from "../../synapse-queries/chat/useChat.js";
11
+ import { useChatState as i } from "./useChatState.js";
12
+ import { AccessLevelMenu as a } from "./AccessLevelMenu.js";
13
+ import { ChatInputArea as o } from "./components/ChatInputArea/ChatInputArea.js";
14
+ import s from "./SynapseChatMessage.js";
15
+ import { useEffect as c, useRef as l, useState as u } from "react";
16
+ import { Alert as d, Box as f, Chip as p, List as m, Stack as h, Typography as g } from "@mui/material";
17
17
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
18
18
  import { AgentAccessLevel as y } from "@sage-bionetworks/synapse-types";
19
19
  import { FileHandleAssociateType as b } from "@sage-bionetworks/synapse-client";
20
20
  import { SmartToyTwoTone as x } from "@mui/icons-material";
21
21
  //#region src/components/SynapseChat/SynapseChat.tsx
22
- var S = /* @__PURE__ */ _(p, {
22
+ var S = /* @__PURE__ */ _(f, {
23
23
  sx: {
24
24
  p: "3px",
25
25
  borderRadius: "50%",
@@ -31,42 +31,42 @@ var S = /* @__PURE__ */ _(p, {
31
31
  },
32
32
  children: /* @__PURE__ */ _(x, { sx: { color: "secondary.main" } })
33
33
  });
34
- function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "SynapseChat", agentAvatar: re = S, hideTitle: T = !1, textboxPositionOffset: E = "0px", sessionContext: D, externalSession: O, setExternalSession: k, externalChatState: A, showAccessLevelMenu: j = !0, onChatResponse: M, suggestedPrompts: N, allowAttachments: P = !1 }) {
35
- let { accessToken: F } = t(), { userId: I } = n(), L = /* @__PURE__ */ _(i, {
36
- ownerId: I,
34
+ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "SynapseChat", agentAvatar: T = S, hideTitle: E = !1, textboxPositionOffset: D = "0px", sessionContext: O, externalSession: k, setExternalSession: A, externalChatState: j, showAccessLevelMenu: M = !0, onChatResponse: N, suggestedPrompts: P, allowAttachments: F = !1 }) {
35
+ let { accessToken: I } = t(), { userId: L } = n(), R = /* @__PURE__ */ _(te, {
36
+ ownerId: L,
37
37
  size: "AVATAR",
38
38
  avatarSize: "MEDIUM"
39
- }), [R, z] = f(), B = O ?? R, V = k ?? z, { mutate: H, error: U } = a({ onSuccess: (e) => V(e) }), { mutate: W } = o({
39
+ }), [z, re] = u(), B = k ?? z, V = A ?? re, { mutate: H, error: U } = r({ onSuccess: (e) => V(e) }), { mutate: W } = ne({
40
40
  onSuccess: (e) => V(e),
41
41
  onError: (t) => e(`Unable to update the agent session: ${t.message}`, "danger")
42
- }), [G, K] = f(D ? y.WRITE_YOUR_PRIVATE_DATA : y.PUBLICLY_ACCESSIBLE), q = ee(B, M), { interactions: J, isAwaitingResponse: Y, sendChat: X } = A ?? q, Z = d(void 0);
42
+ }), [G, K] = u(O ? y.WRITE_YOUR_PRIVATE_DATA : y.PUBLICLY_ACCESSIBLE), q = i(B, N), { interactions: J, isAwaitingResponse: Y, sendChat: X } = j ?? q, Z = l(void 0);
43
43
  Z.current === void 0 && (Z.current = new Set(J.map((e) => e.id)));
44
- let ie = Z.current, [ae, Q] = f(""), [$, oe] = f(!1), [se, ce] = f([]);
45
- return u(() => {
44
+ let ie = Z.current, [ae, Q] = u(""), [$, oe] = u(!1), [se, ce] = u([]);
45
+ return c(() => {
46
46
  H && !B && H({
47
47
  agentAccessLevel: G,
48
48
  agentRegistrationId: C,
49
- sessionContext: D
49
+ sessionContext: O
50
50
  });
51
51
  }, [
52
52
  H,
53
53
  B,
54
- F,
55
- D,
54
+ I,
55
+ O,
56
56
  G,
57
57
  C
58
- ]), u(() => {
58
+ ]), c(() => {
59
59
  B && x && !$ && (X(x), oe(!0));
60
60
  }, [
61
61
  B,
62
62
  x,
63
63
  $,
64
64
  X
65
- ]), U ? /* @__PURE__ */ _(te, {
65
+ ]), U ? /* @__PURE__ */ _(d, {
66
66
  severity: "error",
67
67
  sx: { my: 2 },
68
68
  children: U.reason
69
- }) : /* @__PURE__ */ v(p, {
69
+ }) : /* @__PURE__ */ v(f, {
70
70
  sx: {
71
71
  display: "flex",
72
72
  flexDirection: "column",
@@ -76,7 +76,7 @@ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "Synaps
76
76
  height: "100%"
77
77
  },
78
78
  children: [
79
- !T && /* @__PURE__ */ _(g, {
79
+ !E && /* @__PURE__ */ _(g, {
80
80
  variant: "headline1",
81
81
  sx: {
82
82
  p: "20px",
@@ -89,7 +89,7 @@ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "Synaps
89
89
  },
90
90
  children: w
91
91
  }),
92
- j && /* @__PURE__ */ _(s, {
92
+ M && /* @__PURE__ */ _(a, {
93
93
  initAccessLevel: G,
94
94
  onChange: (e) => {
95
95
  K(e), W({
@@ -98,14 +98,14 @@ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "Synaps
98
98
  });
99
99
  }
100
100
  }),
101
- !B && /* @__PURE__ */ _(r, { numRows: 10 }),
102
- B && /* @__PURE__ */ _(p, {
101
+ !B && /* @__PURE__ */ _(ee, { numRows: 10 }),
102
+ B && /* @__PURE__ */ _(f, {
103
103
  sx: {
104
104
  flexGrow: 1,
105
105
  overflowY: "auto",
106
106
  mb: 2
107
107
  },
108
- children: /* @__PURE__ */ _(h, {
108
+ children: /* @__PURE__ */ _(m, {
109
109
  sx: {
110
110
  flex: 1,
111
111
  overflowY: "auto",
@@ -114,28 +114,28 @@ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "Synaps
114
114
  flexDirection: "column"
115
115
  },
116
116
  children: J.map((e, t) => {
117
- let n = t === J.length - 1, r = e.jobId == null;
118
- return /* @__PURE__ */ _(l, {
119
- agentAvatar: re,
120
- userAvatar: L,
117
+ let n = t === J.length - 1;
118
+ return /* @__PURE__ */ _(s, {
119
+ agentAvatar: T,
120
+ userAvatar: R,
121
121
  userMessage: e.userMessage,
122
122
  chatJobId: e.jobId,
123
123
  onSendChat: X,
124
124
  scrollIntoView: n,
125
125
  animateEntry: !ie.has(e.id),
126
126
  isAwaitingResponse: Y,
127
- pendingAttachments: r ? se : void 0
127
+ pendingAttachments: n ? se : void 0
128
128
  }, e.id);
129
129
  })
130
130
  })
131
131
  }),
132
- /* @__PURE__ */ v(p, {
132
+ /* @__PURE__ */ v(f, {
133
133
  sx: {
134
134
  position: "sticky",
135
- bottom: E,
135
+ bottom: D,
136
136
  backgroundColor: "white"
137
137
  },
138
- children: [N && N.length > 0 && J.length === 0 && /* @__PURE__ */ _(ne, {
138
+ children: [P && P.length > 0 && J.length === 0 && /* @__PURE__ */ _(h, {
139
139
  direction: "row",
140
140
  spacing: 1,
141
141
  sx: {
@@ -143,28 +143,28 @@ function C({ initialMessage: x, agentRegistrationId: C, chatbotName: w = "Synaps
143
143
  flexWrap: "wrap",
144
144
  gap: 1
145
145
  },
146
- children: N.map((e) => /* @__PURE__ */ _(m, {
146
+ children: P.map((e) => /* @__PURE__ */ _(p, {
147
147
  label: e,
148
148
  variant: "outlined",
149
149
  onClick: () => Q(e),
150
150
  disabled: !B,
151
151
  sx: { cursor: "pointer" }
152
152
  }, e))
153
- }), /* @__PURE__ */ _(p, {
153
+ }), /* @__PURE__ */ _(f, {
154
154
  sx: { mt: "5px" },
155
- children: /* @__PURE__ */ _(c, {
155
+ children: /* @__PURE__ */ _(o, {
156
156
  value: ae,
157
157
  onValueChange: Q,
158
158
  onSend: (e, t) => {
159
159
  X(e, t.length ? t.map((e) => ({
160
160
  fileHandleId: e.fileHandleId,
161
161
  associateObjectId: e.fileHandleId,
162
- associateObjectType: b.MessageAttachment
162
+ associateObjectType: b.FileEntity
163
163
  })) : void 0), Q(""), ce(t);
164
164
  },
165
165
  placeholder: `Message ${w}`,
166
166
  disabled: !B || Y,
167
- allowAttachments: P
167
+ allowAttachments: F
168
168
  })
169
169
  })]
170
170
  }),