synapse-react-client 4.0.2 → 4.0.4

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 (525) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/AwardScroll.d.ts +5 -0
  3. package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
  4. package/dist/assets/icons/AwardScroll.js +78 -0
  5. package/dist/assets/icons/AwardScroll.js.map +1 -0
  6. package/dist/assets/icons/Baseline.d.ts +5 -0
  7. package/dist/assets/icons/Baseline.d.ts.map +1 -0
  8. package/dist/assets/icons/Baseline.js +43 -0
  9. package/dist/assets/icons/Baseline.js.map +1 -0
  10. package/dist/assets/icons/Challenge.svg +13 -0
  11. package/dist/assets/icons/Challenge.svg.js +7 -0
  12. package/dist/assets/icons/Challenge.svg.js.map +1 -0
  13. package/dist/assets/icons/ClappingHands.d.ts +5 -0
  14. package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
  15. package/dist/assets/icons/ClappingHands.js +106 -0
  16. package/dist/assets/icons/ClappingHands.js.map +1 -0
  17. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  18. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  19. package/dist/assets/icons/HandWithMoney.js +15 -0
  20. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  21. package/dist/assets/icons/MultiFile.d.ts +5 -0
  22. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  23. package/dist/assets/icons/MultiFile.js +8 -0
  24. package/dist/assets/icons/MultiFile.js.map +1 -0
  25. package/dist/assets/icons/MultiFile.svg +4 -0
  26. package/dist/assets/icons/MultiFile.svg.js +7 -0
  27. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  28. package/dist/assets/icons/OpenBook.d.ts +5 -0
  29. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  30. package/dist/assets/icons/OpenBook.js +99 -0
  31. package/dist/assets/icons/OpenBook.js.map +1 -0
  32. package/dist/assets/icons/Podium.d.ts +5 -0
  33. package/dist/assets/icons/Podium.d.ts.map +1 -0
  34. package/dist/assets/icons/Podium.js +36 -0
  35. package/dist/assets/icons/Podium.js.map +1 -0
  36. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  37. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.js +36 -0
  39. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  40. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  41. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  42. package/dist/assets/icons/StarTrophy.js +99 -0
  43. package/dist/assets/icons/StarTrophy.js.map +1 -0
  44. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  45. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  46. package/dist/assets/icons/ThreeStars.js +71 -0
  47. package/dist/assets/icons/ThreeStars.js.map +1 -0
  48. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  49. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.js +8 -0
  51. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  53. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  54. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  55. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  56. package/dist/assets/mui_components/PackagableFile.js +5 -4
  57. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  59. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  60. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  61. package/dist/assets/themed_icons/index.d.ts +1 -2
  62. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  63. package/dist/assets/themed_icons/index.js +8 -10
  64. package/dist/assets/themed_icons/index.js.map +1 -1
  65. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
  66. package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
  67. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
  68. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
  69. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  70. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
  71. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
  72. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
  73. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
  74. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
  75. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
  76. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
  77. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  78. package/dist/components/AclEditor/AclEditor.js +8 -8
  79. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  80. package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
  81. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  82. package/dist/components/AddToDownloadListV2.js +10 -10
  83. package/dist/components/AddToDownloadListV2.js.map +1 -1
  84. package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  86. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
  87. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  88. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  89. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  90. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  91. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  92. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  93. package/dist/components/BasePortalCard/BasePortalCard.module.scss +13 -1
  94. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  95. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
  96. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  97. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
  98. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  99. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
  100. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
  101. package/dist/components/CardContainer/CardLink.d.ts +12 -0
  102. package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
  103. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  104. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  105. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  106. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  107. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  108. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  109. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  110. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  111. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  112. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
  113. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
  114. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
  115. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  116. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  117. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  118. package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
  119. package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
  120. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  121. package/dist/components/ComponentCollapse.d.ts +6 -10
  122. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  123. package/dist/components/ComponentCollapse.js +31 -35
  124. package/dist/components/ComponentCollapse.js.map +1 -1
  125. package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
  126. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
  127. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  128. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
  129. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  130. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  131. package/dist/components/DataGrid/SynapseGrid.js +43 -38
  132. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  133. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
  134. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  135. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
  136. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
  137. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  138. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  139. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  140. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  141. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
  142. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  143. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  144. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  145. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  146. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  147. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  148. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  149. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  150. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  151. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  152. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  153. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  154. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  155. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  156. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  157. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  158. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  159. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  160. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  161. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  162. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  163. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  164. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  165. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  166. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  167. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  168. package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
  169. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  170. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  171. package/dist/components/Ecosystem/EcosystemSkeleton.js +10 -5
  172. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  173. package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
  174. package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
  175. package/dist/components/EntityAclEditor/OpenData.js +1 -1
  176. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
  177. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
  178. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  179. package/dist/components/EntityCitation/EntityCitation.js +1 -1
  180. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
  181. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  182. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
  183. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  184. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
  185. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
  186. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
  187. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
  188. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
  189. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
  190. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
  191. package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
  192. package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
  193. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
  194. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  195. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
  196. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
  197. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
  198. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
  199. package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
  200. package/dist/components/Evaluation/EvaluationCard.js +35 -41
  201. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  202. package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
  203. package/dist/components/Evaluation/EvaluationEditor.js +95 -90
  204. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  205. package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
  206. package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
  207. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  208. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  209. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  210. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  211. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  212. package/dist/components/FilePreview/EntityPreview.js +1 -1
  213. package/dist/components/Forum/DiscussionReply.js +10 -10
  214. package/dist/components/Forum/DiscussionThread.js +21 -21
  215. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  216. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  217. package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
  218. package/dist/components/GenericCard/CardUtils.js +36 -36
  219. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  220. package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
  221. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  222. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  223. package/dist/components/GenericCard/GenericCard.js +117 -103
  224. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  225. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  226. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  227. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  228. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  229. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  230. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  231. package/dist/components/GenericCard/SynapseCardLabel.js +95 -85
  232. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  233. package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
  234. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  235. package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
  236. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  237. package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
  238. package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
  239. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  240. package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
  241. package/dist/components/HasAccess/HasAccessV2.js +1 -1
  242. package/dist/components/HasAccess/useHasAccess.js +1 -1
  243. package/dist/components/HeaderCard.js +17 -13
  244. package/dist/components/HeaderCard.js.map +1 -1
  245. package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
  246. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  247. package/dist/components/Icon/Icon.js +52 -52
  248. package/dist/components/Icon/Icon.js.map +1 -1
  249. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  250. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  251. package/dist/components/IconSvg/IconSvg.js +215 -171
  252. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  253. package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
  254. package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
  255. package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
  256. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  257. package/dist/components/Markdown/MarkdownCollapse.js +7 -7
  258. package/dist/components/Markdown/MarkdownEditor.js +11 -11
  259. package/dist/components/Markdown/MarkdownGithub.js +1 -1
  260. package/dist/components/Markdown/MarkdownPopover.js +6 -6
  261. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  262. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  263. package/dist/components/Markdown/MarkdownSynapse.js +139 -135
  264. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  265. package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
  266. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  267. package/dist/components/Markdown/MarkdownUtils.js +139 -65
  268. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  269. package/dist/components/Markdown/UserMentionModal.js +18 -18
  270. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  271. package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
  272. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  273. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
  274. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
  275. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  276. package/dist/components/Plot/SynapsePlot.css +1 -0
  277. package/dist/components/Plot/SynapsePlot.d.ts +2 -0
  278. package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
  279. package/dist/components/Plot/SynapsePlot.js +43 -39
  280. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  281. package/dist/components/Plot/SynapsePlot.scss +8 -0
  282. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
  283. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  284. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  285. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +137 -135
  286. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  287. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
  288. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
  289. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  290. package/dist/components/Resources/Resources.Desktop.js +7 -7
  291. package/dist/components/Resources/Resources.Mobile.js +6 -6
  292. package/dist/components/StorybookComponentWrapper.js +6 -3
  293. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  294. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
  295. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
  296. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  297. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  298. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  299. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  300. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  301. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  302. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  303. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  304. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  305. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  306. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  307. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  308. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  309. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  310. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  311. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  312. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  313. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  314. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  315. package/dist/components/SynapseChat/index.d.ts +2 -0
  316. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  317. package/dist/components/SynapseChat/index.js +5 -3
  318. package/dist/components/SynapseChat/index.js.map +1 -1
  319. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  320. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  321. package/dist/components/SynapseChat/useChatState.js +10 -7
  322. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  323. package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
  324. package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
  325. package/dist/components/SynapseForm/WarningDialog.js +18 -16
  326. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  327. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
  328. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
  329. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  330. package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
  331. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
  332. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
  333. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  334. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
  335. package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
  336. package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
  337. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  338. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  339. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  340. package/dist/components/SynapseTable/SynapseTable.js +4 -4
  341. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
  342. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
  343. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  344. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  345. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  346. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
  347. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  348. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
  349. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
  350. package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
  351. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
  352. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  353. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  354. package/dist/components/TextToComponentCollapse.js +29 -0
  355. package/dist/components/TextToComponentCollapse.js.map +1 -0
  356. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
  357. package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
  358. package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
  359. package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
  360. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
  361. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
  362. package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
  363. package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
  364. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  365. package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
  366. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  367. package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
  368. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  369. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
  370. package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
  371. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  372. package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
  373. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
  374. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  375. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  376. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  377. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  378. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  379. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  380. package/dist/components/entity/metadata/EntityModal.js +1 -1
  381. package/dist/components/entity/metadata/MetadataTable.js +1 -1
  382. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
  383. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
  384. package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
  385. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
  386. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
  387. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  388. package/dist/components/index.js +125 -121
  389. package/dist/components/index.js.map +1 -1
  390. package/dist/components/layout/InfiniteTableLayout.js +1 -1
  391. package/dist/components/row_renderers/ObservationCard.js +12 -11
  392. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  393. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  394. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  395. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  396. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  397. package/dist/components/styled/HoverPopover.css +1 -0
  398. package/dist/components/styled/HoverPopover.d.ts +28 -0
  399. package/dist/components/styled/HoverPopover.d.ts.map +1 -0
  400. package/dist/components/styled/HoverPopover.js +103 -0
  401. package/dist/components/styled/HoverPopover.js.map +1 -0
  402. package/dist/components/styled/HoverPopover.module.scss +9 -0
  403. package/dist/components/styled/HoverPopover.module.scss.js +10 -0
  404. package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
  405. package/dist/components/styled/index.d.ts +2 -0
  406. package/dist/components/styled/index.d.ts.map +1 -1
  407. package/dist/components/styled/index.js +11 -9
  408. package/dist/components/styled/index.js.map +1 -1
  409. package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
  410. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  411. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
  412. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  413. package/dist/components/widgets/Range.js +1 -1
  414. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  415. package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
  416. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  417. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
  418. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  419. package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
  420. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  421. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  422. package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
  423. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  424. package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
  425. package/dist/features/curator/GridPage/GridPage.js +10 -5
  426. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  427. package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
  428. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  429. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  430. package/dist/index.js +155 -151
  431. package/dist/index.js.map +1 -1
  432. package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
  433. package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
  434. package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
  435. package/dist/mocks/msw/handlers.d.ts.map +1 -1
  436. package/dist/mocks/msw/handlers.js +67 -59
  437. package/dist/mocks/msw/handlers.js.map +1 -1
  438. package/dist/style/base/_core.scss +0 -1
  439. package/dist/style/components/_all.scss +0 -2
  440. package/dist/style/components/_cards.scss +22 -0
  441. package/dist/style/components/_download-list-v2.scss +1 -1
  442. package/dist/style/components/_entity-badge.scss +0 -2
  443. package/dist/style/components/_expandable_table_data.scss +3 -3
  444. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  445. package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
  446. package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
  447. package/dist/style/main.css +1 -1
  448. package/dist/synapse-client/SynapseClient.js +118 -118
  449. package/dist/synapse-client/SynapseClient.js.map +1 -1
  450. package/dist/synapse-queries/auth/useOIDC.js +1 -1
  451. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
  452. package/dist/synapse-queries/entity/index.js +6 -6
  453. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  454. package/dist/synapse-queries/index.js +1 -1
  455. package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
  456. package/dist/testutils/vitest.setup.js +10 -11
  457. package/dist/testutils/vitest.setup.js.map +1 -1
  458. package/dist/theme/DefaultTheme.js +1 -1
  459. package/dist/theme/ThemeProvider.d.ts +2 -1
  460. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  461. package/dist/theme/ThemeProvider.js +11 -10
  462. package/dist/theme/ThemeProvider.js.map +1 -1
  463. package/dist/theme/index.js +1 -1
  464. package/dist/theme/mergeTheme.js +1 -1
  465. package/dist/tsconfig.build.tsbuildinfo +1 -1
  466. package/dist/utils/AppUtils/AppUtils.js +1 -1
  467. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  468. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  469. package/dist/utils/context/FullContextProvider.js +9 -9
  470. package/dist/utils/context/FullContextProvider.js.map +1 -1
  471. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  472. package/dist/utils/context/SynapseContext.js +1 -0
  473. package/dist/utils/context/SynapseContext.js.map +1 -1
  474. package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
  475. package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
  476. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  477. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  478. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  479. package/dist/utils/functions/SqlFunctions.js +25 -23
  480. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  481. package/dist/utils/functions/deepLinkingUtils.js +10 -10
  482. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  483. package/dist/utils/hooks/index.js +6 -6
  484. package/dist/utils/hooks/useDetectSSOCode.js +3 -3
  485. package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
  486. package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
  487. package/dist/utils/hooks/useNativeSearchParams.js +1 -1
  488. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  489. package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
  490. package/dist/utils/hooks/useOneSageURL.js +15 -15
  491. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  492. package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
  493. package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
  494. package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
  495. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  496. package/dist/utils/index.js +4 -4
  497. package/package.json +15 -16
  498. package/dist/_virtual/index.js +0 -6
  499. package/dist/_virtual/index.js.map +0 -1
  500. package/dist/_virtual/index2.js +0 -5
  501. package/dist/_virtual/index2.js.map +0 -1
  502. package/dist/_virtual/index3.js +0 -5
  503. package/dist/_virtual/index3.js.map +0 -1
  504. package/dist/_virtual/index4.js +0 -5
  505. package/dist/_virtual/index4.js.map +0 -1
  506. package/dist/_virtual/index5.js +0 -5
  507. package/dist/_virtual/index5.js.map +0 -1
  508. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  509. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  510. package/dist/assets/themed_icons/Challenge.js +0 -25
  511. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  512. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
  513. package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
  514. package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
  515. package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
  516. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
  517. package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
  518. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
  519. package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
  520. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
  521. package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
  522. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js +0 -15
  523. package/dist/node_modules/.pnpm/vite-plugin-node-polyfills@0.17.0_rollup@4.55.1_vite@7.3.1_@types_node@22.19.13_sass@1._2da6e8f78437c36f3eb7db51bdd4d89e/node_modules/vite-plugin-node-polyfills/shims/dist/index.js.map +0 -1
  524. package/dist/style/components/_download-cart-page.scss +0 -204
  525. package/dist/style/components/_user-search-box.scss +0 -30
@@ -1,9 +1,9 @@
1
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
- import { useChatState as J } from "./useChatState.js";
3
- import { useCreateAgentSession as $, useUpdateAgentSession as z } from "../../synapse-queries/chat/useChat.js";
1
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
+ import { useChatState as $ } from "./useChatState.js";
3
+ import { useCreateAgentSession as z, useUpdateAgentSession as F } from "../../synapse-queries/chat/useChat.js";
4
4
  import "../../utils/PermissionLevelToAccessType.js";
5
5
  import "../../utils/SynapseConstants.js";
6
- import { useState as i, useEffect as b } from "react";
6
+ import { useState as a, useEffect as b } from "react";
7
7
  import "../../synapse-client/SynapseClient.js";
8
8
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
9
9
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
@@ -12,14 +12,14 @@ import { AgentAccessLevel as T } from "@sage-bionetworks/synapse-types";
12
12
  import "../../utils/functions/EntityTypeUtils.js";
13
13
  import "lodash-es";
14
14
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
15
- import { useSynapseContext as F } from "../../utils/context/SynapseContext.js";
15
+ import { useSynapseContext as G } from "../../utils/context/SynapseContext.js";
16
16
  import "use-deep-compare-effect";
17
17
  import "@tanstack/react-query";
18
18
  import "@tanstack/query-core";
19
19
  import "lodash-es/isEmpty";
20
20
  import "lodash-es/isEqual";
21
21
  import "lodash-es/xorWith";
22
- import { useTheme as G, Alert as O, Box as a, Typography as k, List as q, TextField as H, IconButton as Q } from "@mui/material";
22
+ import { useTheme as O, Alert as q, Box as p, Typography as k, List as H, TextField as Q, IconButton as X } from "@mui/material";
23
23
  import "@sage-bionetworks/synapse-client";
24
24
  import "../../utils/types/IsType.js";
25
25
  import "../../utils/hooks/useCookiePreferences.js";
@@ -30,59 +30,60 @@ import "../../utils/context/FullContextProvider.js";
30
30
  import "../../utils/context/DocumentMetadataContext.js";
31
31
  import '../../style/components/_spinner.css';/* empty css */
32
32
  import "react-router";
33
- import { ArrowUpward as X } from "@mui/icons-material";
33
+ import { ArrowUpward as Z } from "@mui/icons-material";
34
34
  import "@mui/material/Skeleton";
35
- import { SkeletonParagraph as Z } from "../Skeleton/SkeletonParagraph.js";
36
- import { displayToast as N } from "../ToastMessage/ToastMessage.js";
37
- import { AccessLevelMenu as ee } from "./AccessLevelMenu.js";
38
- import { SynapseChatInteraction as te } from "./SynapseChatInteraction.js";
39
- import oe from "./SynapseChatMessage.js";
40
- function Je({
41
- initialMessage: p,
35
+ import { SkeletonParagraph as N } from "../Skeleton/SkeletonParagraph.js";
36
+ import { displayToast as ee } from "../ToastMessage/ToastMessage.js";
37
+ import { AccessLevelMenu as te } from "./AccessLevelMenu.js";
38
+ import { SynapseChatInteraction as oe } from "./SynapseChatInteraction.js";
39
+ import re from "./SynapseChatMessage.js";
40
+ function $e({
41
+ initialMessage: m,
42
42
  agentRegistrationId: f,
43
- chatbotName: m = "SynapseChat",
43
+ chatbotName: l = "SynapseChat",
44
44
  hideTitle: v = !1,
45
45
  textboxPositionOffset: w = "0px",
46
- sessionContext: l,
46
+ sessionContext: c,
47
47
  externalSession: I,
48
48
  setExternalSession: L,
49
49
  externalChatState: E,
50
- showAccessLevelMenu: D = !0
50
+ showAccessLevelMenu: D = !0,
51
+ onChatResponse: M
51
52
  }) {
52
- const { accessToken: M } = F(), [B, P] = i(), o = I ?? B, g = L ?? P, { mutate: c, error: S } = $({
53
+ const { accessToken: B } = G(), [P, R] = a(), o = I ?? P, g = L ?? R, { mutate: d, error: S } = z({
53
54
  onSuccess: (e) => g(e)
54
- }), { mutate: R } = z({
55
+ }), { mutate: U } = F({
55
56
  onSuccess: (e) => g(e),
56
- onError: (e) => N(
57
+ onError: (e) => ee(
57
58
  `Unable to update the agent session: ${e.message}`,
58
59
  "danger"
59
60
  )
60
- }), U = G(), [d, V] = i(
61
- l ? T.WRITE_YOUR_PRIVATE_DATA : T.PUBLICLY_ACCESSIBLE
62
- ), W = J(o), Y = E ?? W, { pendingMessage: u, chatJobIds: _, sendChat: x } = Y, [r, y] = i(""), [A, K] = i(!1);
61
+ }), V = O(), [u, W] = a(
62
+ c ? T.WRITE_YOUR_PRIVATE_DATA : T.PUBLICLY_ACCESSIBLE
63
+ ), Y = $(o, M), _ = E ?? Y, { pendingMessage: x, chatJobIds: K, sendChat: r } = _, [s, y] = a(""), [C, j] = a(!1);
63
64
  b(() => {
64
- c && !o && c({
65
- agentAccessLevel: d,
65
+ d && !o && d({
66
+ agentAccessLevel: u,
66
67
  agentRegistrationId: f,
67
- sessionContext: l
68
+ sessionContext: c
68
69
  });
69
70
  }, [
70
- c,
71
- o,
72
- M,
73
- l,
74
71
  d,
72
+ o,
73
+ B,
74
+ c,
75
+ u,
75
76
  f
76
77
  ]), b(() => {
77
- o && p && !A && (x(p), K(!0));
78
- }, [o, p, A, x]);
78
+ o && m && !C && (r(m), j(!0));
79
+ }, [o, m, C, r]);
79
80
  const h = () => {
80
- r.trim() && (x(r.trim()), y(""));
81
- }, s = !o || !r || !!u, j = (e) => {
82
- !s && e.key === "Enter" && !e.shiftKey && (e.preventDefault(), h());
83
- }, C = U.palette.secondary[300];
84
- return S ? /* @__PURE__ */ t(O, { severity: "error", sx: { my: 2 }, children: S.reason }) : /* @__PURE__ */ n(
85
- a,
81
+ s.trim() && (r(s.trim()), y(""));
82
+ }, n = !o || !s || !!x, J = (e) => {
83
+ !n && e.key === "Enter" && !e.shiftKey && (e.preventDefault(), h());
84
+ }, A = V.palette.secondary[300];
85
+ return S ? /* @__PURE__ */ t(q, { severity: "error", sx: { my: 2 }, children: S.reason }) : /* @__PURE__ */ i(
86
+ p,
86
87
  {
87
88
  sx: {
88
89
  display: "flex",
@@ -106,24 +107,24 @@ function Je({
106
107
  backgroundColor: "white",
107
108
  zIndex: 1
108
109
  },
109
- children: m
110
+ children: l
110
111
  }
111
112
  ),
112
113
  D && /* @__PURE__ */ t(
113
- ee,
114
+ te,
114
115
  {
115
- initAccessLevel: d,
116
+ initAccessLevel: u,
116
117
  onChange: (e) => {
117
- V(e), R({
118
+ W(e), U({
118
119
  agentAccessLevel: e,
119
120
  sessionId: o.sessionId
120
121
  });
121
122
  }
122
123
  }
123
124
  ),
124
- !o && /* @__PURE__ */ t(Z, { numRows: 10 }),
125
- o && /* @__PURE__ */ t(a, { sx: { flexGrow: 1, overflowY: "auto", mb: 2 }, children: /* @__PURE__ */ n(
126
- q,
125
+ !o && /* @__PURE__ */ t(N, { numRows: 10 }),
126
+ o && /* @__PURE__ */ t(p, { sx: { flexGrow: 1, overflowY: "auto", mb: 2 }, children: /* @__PURE__ */ i(
127
+ H,
127
128
  {
128
129
  sx: {
129
130
  flex: 1,
@@ -133,29 +134,37 @@ function Je({
133
134
  flexDirection: "column"
134
135
  },
135
136
  children: [
136
- _.map((e) => /* @__PURE__ */ t(oe, { chatJobId: e }, e)),
137
- u && /* @__PURE__ */ t(
138
- te,
137
+ K.map((e) => /* @__PURE__ */ t(
138
+ re,
139
+ {
140
+ chatJobId: e,
141
+ onSendChat: r
142
+ },
143
+ e
144
+ )),
145
+ x && /* @__PURE__ */ t(
146
+ oe,
139
147
  {
140
- userMessage: u,
148
+ userMessage: x,
141
149
  chatResponseText: "",
142
150
  chatErrorReason: "",
143
- scrollIntoView: !0
151
+ scrollIntoView: !0,
152
+ onSendChat: r
144
153
  }
145
154
  )
146
155
  ]
147
156
  }
148
157
  ) }),
149
158
  /* @__PURE__ */ t(
150
- a,
159
+ p,
151
160
  {
152
161
  sx: {
153
162
  position: "sticky",
154
163
  bottom: w,
155
164
  backgroundColor: "white"
156
165
  },
157
- children: /* @__PURE__ */ n(
158
- a,
166
+ children: /* @__PURE__ */ i(
167
+ p,
159
168
  {
160
169
  component: "form",
161
170
  sx: {
@@ -169,43 +178,43 @@ function Je({
169
178
  onSubmit: h,
170
179
  children: [
171
180
  /* @__PURE__ */ t(
172
- H,
181
+ Q,
173
182
  {
174
183
  fullWidth: !0,
175
- value: r,
184
+ value: s,
176
185
  onChange: (e) => y(e.target.value),
177
- onKeyDown: j,
178
- placeholder: `Message ${m}`,
186
+ onKeyDown: J,
187
+ placeholder: `Message ${l}`,
179
188
  slotProps: {
180
189
  input: {
181
190
  sx: { borderRadius: 96.6 },
182
191
  endAdornment: /* @__PURE__ */ t(
183
- Q,
192
+ X,
184
193
  {
185
- disabled: s,
194
+ disabled: n,
186
195
  onClick: h,
187
196
  sx: {
188
197
  ml: "7px",
189
198
  mr: "-8px",
190
- color: C,
199
+ color: A,
191
200
  borderStyle: "solid",
192
- borderWidth: s ? "1px" : "2px",
193
- borderColor: s ? "gray" : C
201
+ borderWidth: n ? "1px" : "2px",
202
+ borderColor: n ? "gray" : A
194
203
  },
195
- children: /* @__PURE__ */ t(X, {})
204
+ children: /* @__PURE__ */ t(Z, {})
196
205
  }
197
206
  )
198
207
  }
199
208
  }
200
209
  }
201
210
  ),
202
- /* @__PURE__ */ n(
211
+ /* @__PURE__ */ i(
203
212
  k,
204
213
  {
205
214
  variant: "smallText1",
206
215
  sx: { pt: "8px", textAlign: "center" },
207
216
  children: [
208
- m,
217
+ l,
209
218
  " can make mistakes."
210
219
  ]
211
220
  }
@@ -220,7 +229,7 @@ function Je({
220
229
  );
221
230
  }
222
231
  export {
223
- Je as SynapseChat,
224
- Je as default
232
+ $e as SynapseChat,
233
+ $e as default
225
234
  };
226
235
  //# sourceMappingURL=SynapseChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChat.js","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"sourcesContent":["import { ChatState, useChatState } from '@/components/SynapseChat/useChatState'\nimport {\n useCreateAgentSession,\n useUpdateAgentSession,\n} from '@/synapse-queries/chat/useChat'\nimport { useSynapseContext } from '@/utils'\nimport { ArrowUpward } from '@mui/icons-material'\nimport {\n Alert,\n Box,\n IconButton,\n List,\n TextField,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { Color } from '@mui/material/styles'\nimport { GridAgentSessionContext } from '@sage-bionetworks/synapse-client'\nimport {\n AgentAccessLevel,\n AgentSession,\n TraceEvent,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEventHandler, useEffect, useState } from 'react'\nimport { SkeletonParagraph } from '../Skeleton'\nimport { displayToast } from '../ToastMessage'\nimport AccessLevelMenu from './AccessLevelMenu'\nimport SynapseChatInteraction from './SynapseChatInteraction'\nimport SynapseChatMessage from './SynapseChatMessage'\n\nexport type SynapseChatProps = {\n initialMessage?: string //optional initial message\n agentRegistrationId?: string // if provided, use this agent\n chatbotName?: string // optional name of this chatbot agent\n hideTitle?: boolean\n textboxPositionOffset?: string // when embedded in a form, the textbox (form) stuck to the bottom may need to be offset due to container padding (dialog content for example!)\n /* optional session context for the agent session */\n sessionContext?: GridAgentSessionContext\n /* The current session, if state is lifted out of this component */\n externalSession?: AgentSession\n /* A callback invoked to bootstrap the current session, if state is to be lifted out of this component */\n setExternalSession?: (s: AgentSession | undefined) => void\n /* The current chat history, if state is lifted out of this component */\n externalChatState?: ChatState\n // default access level for the agent session.\n defaultAgentAccessLevel?: AgentAccessLevel\n // Whether to show the access level menu for the agent session.\n showAccessLevelMenu?: boolean\n}\n\nexport type ChatInteraction = {\n userMessage: string\n chatResponseText?: string\n chatErrorReason?: string\n chatResponseTrace?: TraceEventWithFriendlyMessage[]\n}\n\nexport type TraceEventWithFriendlyMessage = {\n friendlyMessage?: string\n} & TraceEvent\n\nexport function SynapseChat({\n initialMessage,\n agentRegistrationId,\n chatbotName = 'SynapseChat',\n hideTitle = false,\n textboxPositionOffset = '0px',\n sessionContext,\n externalSession,\n setExternalSession,\n externalChatState,\n showAccessLevelMenu = true,\n}: SynapseChatProps) {\n const { accessToken } = useSynapseContext()\n const [localAgentSession, setLocalAgentSession] = useState<AgentSession>()\n const agentSession = externalSession ?? localAgentSession\n const setAgentSession = setExternalSession ?? setLocalAgentSession\n\n const { mutate: createAgentSession, error: createAgentSessionError } =\n useCreateAgentSession({\n onSuccess: newAgentSession => setAgentSession(newAgentSession),\n })\n\n const { mutate: updateAgentSession } = useUpdateAgentSession({\n onSuccess: updatedAgentSession => setAgentSession(updatedAgentSession),\n onError: err =>\n displayToast(\n `Unable to update the agent session: ${err.message}`,\n 'danger',\n ),\n })\n const theme = useTheme()\n const [agentAccessLevel, setAgentAccessLevel] = useState<AgentAccessLevel>(\n sessionContext\n ? AgentAccessLevel.WRITE_YOUR_PRIVATE_DATA\n : AgentAccessLevel.PUBLICLY_ACCESSIBLE,\n )\n\n const internalChatState = useChatState(agentSession)\n const chatState = externalChatState ?? internalChatState\n const { pendingMessage, chatJobIds, sendChat } = chatState\n\n // Keep track of the text that the user is currently typing into the textfield\n const [userChatTextfieldValue, setUserChatTextfieldValue] = useState('')\n const [initialMessageProcessed, setInitialMessageProcessed] = useState(false)\n\n // Restore chat session history, if exists.\n // TODO: currently only a single page is restored. Add support for multiple pages (and detect the user scrolling up to restore the next page of results older)\n // const {\n // data: sessionHistoryInfiniteData,\n // } = //, hasNextPage: hasMoreSessionHistory, fetchNextPage: fetchNextSessionHistoryPage, isLoading: isSessionHistoryLoading } =\n // useGetAgentChatSessionHistoryInfinite(\n // {\n // sessionId: agentSession?.sessionId,\n // },\n // {\n // enabled: !!agentSession,\n // },\n // )\n\n // const sessionHistory = useMemo(\n // () =>\n // sessionHistoryInfiniteData?.pages\n // .flatMap(page => page.page)\n // /* Note: session history is ordered from most recent to least recent in each page, so reverse the order when restoring the chat interface */\n // .reverse() ?? [],\n // [sessionHistoryInfiniteData],\n // )\n\n useEffect(() => {\n // on mount, create a new agent session!\n if (createAgentSession && !agentSession) {\n createAgentSession({\n agentAccessLevel,\n agentRegistrationId,\n sessionContext,\n })\n }\n }, [\n createAgentSession,\n agentSession,\n accessToken,\n sessionContext,\n agentAccessLevel,\n agentRegistrationId,\n ])\n\n useEffect(() => {\n // on mount, resolve the initial message chat interaction (if set)\n if (agentSession && initialMessage && !initialMessageProcessed) {\n sendChat(initialMessage)\n setInitialMessageProcessed(true)\n }\n }, [agentSession, initialMessage, initialMessageProcessed, sendChat])\n\n const handleSendMessage = () => {\n if (userChatTextfieldValue.trim()) {\n sendChat(userChatTextfieldValue.trim())\n setUserChatTextfieldValue('')\n }\n }\n\n const isDisabled =\n !agentSession || !userChatTextfieldValue || !!pendingMessage\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = event => {\n if (!isDisabled && event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSendMessage()\n }\n }\n\n const sendMessageButtonColor = (\n theme.palette.secondary as unknown as Color\n )[300]\n if (createAgentSessionError) {\n return (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {createAgentSessionError.reason}\n </Alert>\n )\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n maxWidth: '1100px',\n mx: 'auto',\n height: '100%',\n }}\n >\n {!hideTitle && (\n <Typography\n variant=\"headline1\"\n sx={{\n p: '20px',\n borderBottom: '1px solid',\n borderColor: 'grey.300',\n position: 'sticky',\n top: '0px',\n backgroundColor: 'white',\n zIndex: 1,\n }}\n >\n {chatbotName}\n </Typography>\n )}\n {showAccessLevelMenu && (\n <AccessLevelMenu\n initAccessLevel={agentAccessLevel}\n onChange={newAccessLevel => {\n setAgentAccessLevel(newAccessLevel)\n updateAgentSession({\n agentAccessLevel: newAccessLevel,\n sessionId: agentSession!.sessionId,\n })\n }}\n />\n )}\n {!agentSession && <SkeletonParagraph numRows={10} />}\n {agentSession && (\n <Box sx={{ flexGrow: 1, overflowY: 'auto', mb: 2 }}>\n <List\n sx={{\n flex: 1,\n overflowY: 'auto',\n pt: '20px',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {/* {sessionHistory &&\n sessionHistory.map((interaction, index) => {\n return (\n <SynapseChatInteraction\n key={index}\n userMessage={interaction.usersRequestText}\n chatResponseText={interaction.agentResponseText}\n />\n )\n })} */}\n {chatJobIds.map(jobId => {\n return <SynapseChatMessage key={jobId} chatJobId={jobId} />\n })}\n {pendingMessage && (\n <SynapseChatInteraction\n userMessage={pendingMessage}\n chatResponseText={''}\n chatErrorReason={''}\n scrollIntoView\n />\n )}\n </List>\n </Box>\n )}\n <Box\n sx={{\n position: 'sticky',\n bottom: textboxPositionOffset,\n backgroundColor: 'white',\n }}\n >\n <Box\n component=\"form\"\n sx={{\n pt: '8px',\n mt: '5px',\n pb: '10px',\n position: 'sticky',\n borderTop: '1px solid',\n borderColor: 'grey.400',\n }}\n onSubmit={handleSendMessage}\n >\n <TextField\n fullWidth\n value={userChatTextfieldValue}\n onChange={e => setUserChatTextfieldValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={`Message ${chatbotName}`}\n slotProps={{\n input: {\n sx: { borderRadius: 96.6 },\n endAdornment: (\n <IconButton\n disabled={isDisabled}\n onClick={handleSendMessage}\n sx={{\n ml: '7px',\n mr: '-8px',\n color: sendMessageButtonColor,\n borderStyle: 'solid',\n borderWidth: isDisabled ? '1px' : '2px',\n borderColor: isDisabled ? 'gray' : sendMessageButtonColor,\n }}\n >\n <ArrowUpward />\n </IconButton>\n ),\n },\n }}\n />\n <Typography\n variant=\"smallText1\"\n sx={{ pt: '8px', textAlign: 'center' }}\n >\n {chatbotName} can make mistakes.\n </Typography>\n </Box>\n </Box>\n </Box>\n )\n}\n\nexport default SynapseChat\n"],"names":["SynapseChat","initialMessage","agentRegistrationId","chatbotName","hideTitle","textboxPositionOffset","sessionContext","externalSession","setExternalSession","externalChatState","showAccessLevelMenu","accessToken","useSynapseContext","localAgentSession","setLocalAgentSession","useState","agentSession","setAgentSession","createAgentSession","createAgentSessionError","useCreateAgentSession","newAgentSession","updateAgentSession","useUpdateAgentSession","updatedAgentSession","err","displayToast","theme","useTheme","agentAccessLevel","setAgentAccessLevel","AgentAccessLevel","internalChatState","useChatState","chatState","pendingMessage","chatJobIds","sendChat","userChatTextfieldValue","setUserChatTextfieldValue","initialMessageProcessed","setInitialMessageProcessed","useEffect","handleSendMessage","isDisabled","handleKeyDown","event","sendMessageButtonColor","jsx","Alert","jsxs","Box","Typography","AccessLevelMenu","newAccessLevel","SkeletonParagraph","List","jobId","SynapseChatMessage","SynapseChatInteraction","TextField","IconButton","ArrowUpward"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseChat.js","sources":["../../../src/components/SynapseChat/SynapseChat.tsx"],"sourcesContent":["import { ChatState, useChatState } from '@/components/SynapseChat/useChatState'\nimport {\n useCreateAgentSession,\n useUpdateAgentSession,\n} from '@/synapse-queries/chat/useChat'\nimport { useSynapseContext } from '@/utils'\nimport { ArrowUpward } from '@mui/icons-material'\nimport {\n Alert,\n Box,\n IconButton,\n List,\n TextField,\n Typography,\n useTheme,\n} from '@mui/material'\nimport { Color } from '@mui/material/styles'\nimport { GridAgentSessionContext } from '@sage-bionetworks/synapse-client'\nimport {\n AgentAccessLevel,\n AgentSession,\n TraceEvent,\n} from '@sage-bionetworks/synapse-types'\nimport { KeyboardEventHandler, useEffect, useState } from 'react'\nimport { SkeletonParagraph } from '../Skeleton'\nimport { displayToast } from '../ToastMessage'\nimport AccessLevelMenu from './AccessLevelMenu'\nimport SynapseChatInteraction from './SynapseChatInteraction'\nimport SynapseChatMessage from './SynapseChatMessage'\n\nexport type SynapseChatProps = {\n initialMessage?: string //optional initial message\n agentRegistrationId?: string // if provided, use this agent\n chatbotName?: string // optional name of this chatbot agent\n hideTitle?: boolean\n textboxPositionOffset?: string // when embedded in a form, the textbox (form) stuck to the bottom may need to be offset due to container padding (dialog content for example!)\n /* optional session context for the agent session */\n sessionContext?: GridAgentSessionContext\n /* The current session, if state is lifted out of this component */\n externalSession?: AgentSession\n /* A callback invoked to bootstrap the current session, if state is to be lifted out of this component */\n setExternalSession?: (s: AgentSession | undefined) => void\n /* The current chat history, if state is lifted out of this component */\n externalChatState?: ChatState\n // default access level for the agent session.\n defaultAgentAccessLevel?: AgentAccessLevel\n // Whether to show the access level menu for the agent session.\n showAccessLevelMenu?: boolean\n /**\n * Optional callback invoked once when a chat response is received from the server.\n * Use this for side effects such as navigation based on the response content.\n * Called in the mutation onSuccess handler so it runs exactly once per response.\n */\n onChatResponse?: (responseText: string) => void\n}\n\nexport type ChatInteraction = {\n userMessage: string\n chatResponseText?: string\n chatErrorReason?: string\n chatResponseTrace?: TraceEventWithFriendlyMessage[]\n}\n\nexport type TraceEventWithFriendlyMessage = {\n friendlyMessage?: string\n} & TraceEvent\n\nexport function SynapseChat({\n initialMessage,\n agentRegistrationId,\n chatbotName = 'SynapseChat',\n hideTitle = false,\n textboxPositionOffset = '0px',\n sessionContext,\n externalSession,\n setExternalSession,\n externalChatState,\n showAccessLevelMenu = true,\n onChatResponse,\n}: SynapseChatProps) {\n const { accessToken } = useSynapseContext()\n const [localAgentSession, setLocalAgentSession] = useState<AgentSession>()\n const agentSession = externalSession ?? localAgentSession\n const setAgentSession = setExternalSession ?? setLocalAgentSession\n\n const { mutate: createAgentSession, error: createAgentSessionError } =\n useCreateAgentSession({\n onSuccess: newAgentSession => setAgentSession(newAgentSession),\n })\n\n const { mutate: updateAgentSession } = useUpdateAgentSession({\n onSuccess: updatedAgentSession => setAgentSession(updatedAgentSession),\n onError: err =>\n displayToast(\n `Unable to update the agent session: ${err.message}`,\n 'danger',\n ),\n })\n const theme = useTheme()\n const [agentAccessLevel, setAgentAccessLevel] = useState<AgentAccessLevel>(\n sessionContext\n ? AgentAccessLevel.WRITE_YOUR_PRIVATE_DATA\n : AgentAccessLevel.PUBLICLY_ACCESSIBLE,\n )\n\n const internalChatState = useChatState(agentSession, onChatResponse)\n const chatState = externalChatState ?? internalChatState\n const { pendingMessage, chatJobIds, sendChat } = chatState\n\n // Keep track of the text that the user is currently typing into the textfield\n const [userChatTextfieldValue, setUserChatTextfieldValue] = useState('')\n const [initialMessageProcessed, setInitialMessageProcessed] = useState(false)\n\n // Restore chat session history, if exists.\n // TODO: currently only a single page is restored. Add support for multiple pages (and detect the user scrolling up to restore the next page of results older)\n // const {\n // data: sessionHistoryInfiniteData,\n // } = //, hasNextPage: hasMoreSessionHistory, fetchNextPage: fetchNextSessionHistoryPage, isLoading: isSessionHistoryLoading } =\n // useGetAgentChatSessionHistoryInfinite(\n // {\n // sessionId: agentSession?.sessionId,\n // },\n // {\n // enabled: !!agentSession,\n // },\n // )\n\n // const sessionHistory = useMemo(\n // () =>\n // sessionHistoryInfiniteData?.pages\n // .flatMap(page => page.page)\n // /* Note: session history is ordered from most recent to least recent in each page, so reverse the order when restoring the chat interface */\n // .reverse() ?? [],\n // [sessionHistoryInfiniteData],\n // )\n\n useEffect(() => {\n // on mount, create a new agent session!\n if (createAgentSession && !agentSession) {\n createAgentSession({\n agentAccessLevel,\n agentRegistrationId,\n sessionContext,\n })\n }\n }, [\n createAgentSession,\n agentSession,\n accessToken,\n sessionContext,\n agentAccessLevel,\n agentRegistrationId,\n ])\n\n useEffect(() => {\n // on mount, resolve the initial message chat interaction (if set)\n if (agentSession && initialMessage && !initialMessageProcessed) {\n sendChat(initialMessage)\n setInitialMessageProcessed(true)\n }\n }, [agentSession, initialMessage, initialMessageProcessed, sendChat])\n\n const handleSendMessage = () => {\n if (userChatTextfieldValue.trim()) {\n sendChat(userChatTextfieldValue.trim())\n setUserChatTextfieldValue('')\n }\n }\n\n const isDisabled =\n !agentSession || !userChatTextfieldValue || !!pendingMessage\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = event => {\n if (!isDisabled && event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSendMessage()\n }\n }\n\n const sendMessageButtonColor = (\n theme.palette.secondary as unknown as Color\n )[300]\n if (createAgentSessionError) {\n return (\n <Alert severity={'error'} sx={{ my: 2 }}>\n {createAgentSessionError.reason}\n </Alert>\n )\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n maxWidth: '1100px',\n mx: 'auto',\n height: '100%',\n }}\n >\n {!hideTitle && (\n <Typography\n variant=\"headline1\"\n sx={{\n p: '20px',\n borderBottom: '1px solid',\n borderColor: 'grey.300',\n position: 'sticky',\n top: '0px',\n backgroundColor: 'white',\n zIndex: 1,\n }}\n >\n {chatbotName}\n </Typography>\n )}\n {showAccessLevelMenu && (\n <AccessLevelMenu\n initAccessLevel={agentAccessLevel}\n onChange={newAccessLevel => {\n setAgentAccessLevel(newAccessLevel)\n updateAgentSession({\n agentAccessLevel: newAccessLevel,\n sessionId: agentSession!.sessionId,\n })\n }}\n />\n )}\n {!agentSession && <SkeletonParagraph numRows={10} />}\n {agentSession && (\n <Box sx={{ flexGrow: 1, overflowY: 'auto', mb: 2 }}>\n <List\n sx={{\n flex: 1,\n overflowY: 'auto',\n pt: '20px',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n {/* {sessionHistory &&\n sessionHistory.map((interaction, index) => {\n return (\n <SynapseChatInteraction\n key={index}\n userMessage={interaction.usersRequestText}\n chatResponseText={interaction.agentResponseText}\n />\n )\n })} */}\n {chatJobIds.map(jobId => {\n return (\n <SynapseChatMessage\n key={jobId}\n chatJobId={jobId}\n onSendChat={sendChat}\n />\n )\n })}\n {pendingMessage && (\n <SynapseChatInteraction\n userMessage={pendingMessage}\n chatResponseText={''}\n chatErrorReason={''}\n scrollIntoView\n onSendChat={sendChat}\n />\n )}\n </List>\n </Box>\n )}\n <Box\n sx={{\n position: 'sticky',\n bottom: textboxPositionOffset,\n backgroundColor: 'white',\n }}\n >\n <Box\n component=\"form\"\n sx={{\n pt: '8px',\n mt: '5px',\n pb: '10px',\n position: 'sticky',\n borderTop: '1px solid',\n borderColor: 'grey.400',\n }}\n onSubmit={handleSendMessage}\n >\n <TextField\n fullWidth\n value={userChatTextfieldValue}\n onChange={e => setUserChatTextfieldValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={`Message ${chatbotName}`}\n slotProps={{\n input: {\n sx: { borderRadius: 96.6 },\n endAdornment: (\n <IconButton\n disabled={isDisabled}\n onClick={handleSendMessage}\n sx={{\n ml: '7px',\n mr: '-8px',\n color: sendMessageButtonColor,\n borderStyle: 'solid',\n borderWidth: isDisabled ? '1px' : '2px',\n borderColor: isDisabled ? 'gray' : sendMessageButtonColor,\n }}\n >\n <ArrowUpward />\n </IconButton>\n ),\n },\n }}\n />\n <Typography\n variant=\"smallText1\"\n sx={{ pt: '8px', textAlign: 'center' }}\n >\n {chatbotName} can make mistakes.\n </Typography>\n </Box>\n </Box>\n </Box>\n )\n}\n\nexport default SynapseChat\n"],"names":["SynapseChat","initialMessage","agentRegistrationId","chatbotName","hideTitle","textboxPositionOffset","sessionContext","externalSession","setExternalSession","externalChatState","showAccessLevelMenu","onChatResponse","accessToken","useSynapseContext","localAgentSession","setLocalAgentSession","useState","agentSession","setAgentSession","createAgentSession","createAgentSessionError","useCreateAgentSession","newAgentSession","updateAgentSession","useUpdateAgentSession","updatedAgentSession","err","displayToast","theme","useTheme","agentAccessLevel","setAgentAccessLevel","AgentAccessLevel","internalChatState","useChatState","chatState","pendingMessage","chatJobIds","sendChat","userChatTextfieldValue","setUserChatTextfieldValue","initialMessageProcessed","setInitialMessageProcessed","useEffect","handleSendMessage","isDisabled","handleKeyDown","event","sendMessageButtonColor","jsx","Alert","jsxs","Box","Typography","AccessLevelMenu","newAccessLevel","SkeletonParagraph","List","jobId","SynapseChatMessage","SynapseChatInteraction","TextField","IconButton","ArrowUpward"],"mappings":"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"}
@@ -5,7 +5,8 @@ export type SynapseChatInteractionProps = {
5
5
  chatResponseTrace?: TraceEvent[];
6
6
  scrollIntoView?: boolean;
7
7
  chatErrorReason?: string;
8
+ onSendChat?: (message: string) => void;
8
9
  };
9
- export declare function SynapseChatInteraction({ userMessage, chatResponseText, chatErrorReason, chatResponseTrace, scrollIntoView, }: SynapseChatInteractionProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function SynapseChatInteraction({ userMessage, chatResponseText, chatErrorReason, chatResponseTrace, scrollIntoView, onSendChat, }: SynapseChatInteractionProps): import("react/jsx-runtime").JSX.Element;
10
11
  export default SynapseChatInteraction;
11
12
  //# sourceMappingURL=SynapseChatInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseChatInteraction.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChatInteraction.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAI5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAqBD,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAsB,GACvB,EAAE,2BAA2B,2CAqK7B;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"SynapseChatInteraction.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseChat/SynapseChatInteraction.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAI5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC,CAAA;AAqBD,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAsB,EACtB,UAAU,GACX,EAAE,2BAA2B,2CAgN7B;AAED,eAAe,sBAAsB,CAAA"}
@@ -1,42 +1,56 @@
1
- import { jsxs as i, Fragment as C, jsx as e } from "react/jsx-runtime";
2
- import { SynapseSpinner as I } from "../LoadingScreen/LoadingScreen.js";
3
- import M from "./extractMessageFromTraceEvent.js";
4
- import { SmartToyTwoTone as L, KeyboardArrowDown as W, KeyboardArrowRight as j } from "@mui/icons-material";
5
- import { useTheme as B, ListItem as g, ListItemText as A, Box as a, Button as F, Collapse as z, Alert as D } from "@mui/material";
6
- import { useRef as K, useState as O, useEffect as R, useMemo as p } from "react";
7
- import { MarkdownSynapse as w } from "../Markdown/MarkdownSynapse.js";
8
- function $(r) {
9
- return "reasoningText" in r ? r.reasoningText : "";
1
+ import { jsxs as s, Fragment as A, jsx as t } from "react/jsx-runtime";
2
+ import { SynapseSpinner as L } from "../LoadingScreen/LoadingScreen.js";
3
+ import j from "./extractMessageFromTraceEvent.js";
4
+ import { SmartToyTwoTone as B, KeyboardArrowDown as P, KeyboardArrowRight as q } from "@mui/icons-material";
5
+ import { useTheme as F, ListItem as T, ListItemText as z, Box as d, Button as E, Collapse as D, Stack as G, Tooltip as K, Chip as O, Alert as $ } from "@mui/material";
6
+ import { useRef as H, useState as _, useEffect as J, useMemo as x } from "react";
7
+ import { Markdown as k } from "../Markdown/MarkdownSynapse.js";
8
+ function N(n) {
9
+ return "reasoningText" in n ? n.reasoningText : "";
10
10
  }
11
- function N({
12
- userMessage: r,
13
- chatResponseText: s,
14
- chatErrorReason: l,
15
- chatResponseTrace: d,
16
- scrollIntoView: y = !1
11
+ function ee({
12
+ userMessage: n,
13
+ chatResponseText: i,
14
+ chatErrorReason: c,
15
+ chatResponseTrace: m,
16
+ scrollIntoView: u = !1,
17
+ onSendChat: f
17
18
  }) {
18
- const x = B(), o = K(null), [m, b] = O(!1);
19
- R(() => {
20
- y && o.current && o.current.scrollIntoView({ behavior: "smooth" });
21
- }, [o]);
22
- const c = !s && !l, n = p(
23
- () => (d ?? []).flatMap((t) => M(t))?.filter((t) => !!t),
24
- [d]
25
- ), T = n.length > 0, f = p(
26
- () => n.filter((t) => "reasoningText" in t).at(-1),
27
- [n]
28
- ), S = f == null ? "Thinking..." : f.reasoningText, k = c ? S : `${m ? "Hide" : "Show"} Trace`, u = p(() => {
29
- const h = new DOMParser().parseFromString(s ?? "", "text/html");
30
- return h.querySelectorAll("tool_name").forEach((v) => v.remove()), h.body.textContent ?? "";
31
- }, [s]);
32
- return /* @__PURE__ */ i(C, { children: [
33
- /* @__PURE__ */ e(
34
- g,
19
+ const h = F(), a = H(null), [p, C] = _(!1);
20
+ J(() => {
21
+ u && a.current && a.current.scrollIntoView({ behavior: "smooth" });
22
+ }, [a, u]);
23
+ const g = !i && !c, l = x(
24
+ () => (m ?? []).flatMap((e) => j(e))?.filter((e) => !!e),
25
+ [m]
26
+ ), v = l.length > 0, y = x(
27
+ () => l.filter((e) => "reasoningText" in e).at(-1),
28
+ [l]
29
+ ), M = y == null ? "Thinking..." : y.reasoningText, I = g ? M : `${p ? "Hide" : "Show"} Trace`, { textContent: w, guidePrompts: b } = x(() => {
30
+ try {
31
+ const o = new DOMParser().parseFromString(i ?? "", "text/html");
32
+ o.querySelectorAll("tool_name, actions").forEach((r) => r.remove());
33
+ const W = Array.from(
34
+ o.querySelectorAll("guideprompt")
35
+ ).map((r) => r.textContent?.trim()).filter((r) => !!r);
36
+ o.querySelectorAll("guideprompt").forEach((r) => r.remove());
37
+ const S = o.querySelector("chat");
38
+ return {
39
+ textContent: S ? S.textContent ?? "" : o.body.textContent ?? "",
40
+ guidePrompts: W
41
+ };
42
+ } catch (e) {
43
+ return console.error(e), { textContent: i ?? "", guidePrompts: [] };
44
+ }
45
+ }, [i]);
46
+ return /* @__PURE__ */ s(A, { children: [
47
+ /* @__PURE__ */ t(
48
+ T,
35
49
  {
36
- ref: o,
50
+ ref: a,
37
51
  sx: {
38
52
  alignSelf: "flex-end",
39
- backgroundColor: x.palette.secondary[100],
53
+ backgroundColor: h.palette.secondary[100],
40
54
  borderRadius: "24px",
41
55
  maxWidth: "70%",
42
56
  display: "block",
@@ -45,11 +59,11 @@ function N({
45
59
  wordWrap: "break-word",
46
60
  width: "auto"
47
61
  },
48
- children: /* @__PURE__ */ e(A, { primary: r })
62
+ children: /* @__PURE__ */ t(z, { primary: n })
49
63
  }
50
64
  ),
51
- /* @__PURE__ */ i(
52
- g,
65
+ /* @__PURE__ */ s(
66
+ T,
53
67
  {
54
68
  sx: {
55
69
  display: "grid",
@@ -60,8 +74,8 @@ function N({
60
74
  p: "0px"
61
75
  },
62
76
  children: [
63
- /* @__PURE__ */ e(
64
- a,
77
+ /* @__PURE__ */ t(
78
+ d,
65
79
  {
66
80
  sx: {
67
81
  p: "3px",
@@ -72,11 +86,11 @@ function N({
72
86
  borderWidth: "1px",
73
87
  borderColor: "grey.300"
74
88
  },
75
- children: /* @__PURE__ */ e(L, { sx: { color: "secondary.main" } })
89
+ children: /* @__PURE__ */ t(B, { sx: { color: "secondary.main" } })
76
90
  }
77
91
  ),
78
- /* @__PURE__ */ i(
79
- a,
92
+ /* @__PURE__ */ s(
93
+ d,
80
94
  {
81
95
  sx: {
82
96
  borderRadius: "10px",
@@ -85,14 +99,14 @@ function N({
85
99
  overflow: "auto"
86
100
  },
87
101
  children: [
88
- /* @__PURE__ */ i(
89
- a,
102
+ /* @__PURE__ */ s(
103
+ d,
90
104
  {
91
105
  component: "aside",
92
106
  sx: {
93
107
  ".markdown": {
94
108
  fontStyle: "italic",
95
- borderLeft: `4px solid ${x.palette.grey[300]}`,
109
+ borderLeft: `4px solid ${h.palette.grey[300]}`,
96
110
  marginLeft: "4px",
97
111
  paddingLeft: "8px",
98
112
  mt: 1,
@@ -100,15 +114,15 @@ function N({
100
114
  }
101
115
  },
102
116
  children: [
103
- /* @__PURE__ */ e(
104
- F,
117
+ /* @__PURE__ */ t(
118
+ E,
105
119
  {
106
120
  variant: "outlined",
107
121
  size: "small",
108
- startIcon: c ? /* @__PURE__ */ e(I, { size: 14 }) : m ? /* @__PURE__ */ e(W, { sx: { width: "14px" } }) : /* @__PURE__ */ e(j, { sx: { width: "14px" } }),
109
- disabled: !T,
122
+ startIcon: g ? /* @__PURE__ */ t(L, { size: 14 }) : p ? /* @__PURE__ */ t(P, { sx: { width: "14px" } }) : /* @__PURE__ */ t(q, { sx: { width: "14px" } }),
123
+ disabled: !v,
110
124
  onClick: () => {
111
- b((t) => !t);
125
+ C((e) => !e);
112
126
  },
113
127
  sx: {
114
128
  height: "20px",
@@ -124,30 +138,41 @@ function N({
124
138
  pl: 0,
125
139
  ".MuiButton-startIcon": { mr: 0.5 }
126
140
  },
127
- children: /* @__PURE__ */ e(a, { sx: { overflow: "hidden", textOverflow: "ellipsis" }, children: k })
141
+ children: /* @__PURE__ */ t(d, { sx: { overflow: "hidden", textOverflow: "ellipsis" }, children: I })
128
142
  }
129
143
  ),
130
- d && /* @__PURE__ */ e(z, { in: m, children: /* @__PURE__ */ e(
131
- w,
144
+ m && /* @__PURE__ */ t(D, { in: p, children: /* @__PURE__ */ t(
145
+ k,
132
146
  {
133
- markdown: n.map($).filter((t) => t.trim().length > 0).join("<br/><br/>")
147
+ markdown: l.map(N).filter((e) => e.trim().length > 0).join("<br/><br/>")
134
148
  }
135
149
  ) })
136
150
  ]
137
151
  }
138
152
  ),
139
- u && /* @__PURE__ */ e(w, { markdown: u })
153
+ w && /* @__PURE__ */ t(k, { markdown: w }),
154
+ f && b.length > 0 && /* @__PURE__ */ t(G, { direction: "row", flexWrap: "wrap", gap: 1, mt: 1, children: b.map((e) => /* @__PURE__ */ t(K, { title: e, children: /* @__PURE__ */ t(
155
+ O,
156
+ {
157
+ label: e,
158
+ variant: "outlined",
159
+ color: "primary",
160
+ clickable: !0,
161
+ onClick: () => f(e),
162
+ sx: { maxWidth: 200 }
163
+ }
164
+ ) }, e)) })
140
165
  ]
141
166
  }
142
167
  )
143
168
  ]
144
169
  }
145
170
  ),
146
- l && /* @__PURE__ */ e(D, { severity: "error", sx: { my: 2 }, children: l })
171
+ c && /* @__PURE__ */ t($, { severity: "error", sx: { my: 2 }, children: c })
147
172
  ] });
148
173
  }
149
174
  export {
150
- N as SynapseChatInteraction,
151
- N as default
175
+ ee as SynapseChatInteraction,
176
+ ee as default
152
177
  };
153
178
  //# sourceMappingURL=SynapseChatInteraction.js.map