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.
- package/dist/SWC.index.js +1 -1
- package/dist/assets/icons/AwardScroll.d.ts +5 -0
- package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
- package/dist/assets/icons/AwardScroll.js +78 -0
- package/dist/assets/icons/AwardScroll.js.map +1 -0
- package/dist/assets/icons/Baseline.d.ts +5 -0
- package/dist/assets/icons/Baseline.d.ts.map +1 -0
- package/dist/assets/icons/Baseline.js +43 -0
- package/dist/assets/icons/Baseline.js.map +1 -0
- package/dist/assets/icons/Challenge.svg +13 -0
- package/dist/assets/icons/Challenge.svg.js +7 -0
- package/dist/assets/icons/Challenge.svg.js.map +1 -0
- package/dist/assets/icons/ClappingHands.d.ts +5 -0
- package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
- package/dist/assets/icons/ClappingHands.js +106 -0
- package/dist/assets/icons/ClappingHands.js.map +1 -0
- package/dist/assets/icons/HandWithMoney.d.ts +5 -0
- package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
- package/dist/assets/icons/HandWithMoney.js +15 -0
- package/dist/assets/icons/HandWithMoney.js.map +1 -0
- package/dist/assets/icons/MultiFile.d.ts +5 -0
- package/dist/assets/icons/MultiFile.d.ts.map +1 -0
- package/dist/assets/icons/MultiFile.js +8 -0
- package/dist/assets/icons/MultiFile.js.map +1 -0
- package/dist/assets/icons/MultiFile.svg +4 -0
- package/dist/assets/icons/MultiFile.svg.js +7 -0
- package/dist/assets/icons/MultiFile.svg.js.map +1 -0
- package/dist/assets/icons/OpenBook.d.ts +5 -0
- package/dist/assets/icons/OpenBook.d.ts.map +1 -0
- package/dist/assets/icons/OpenBook.js +99 -0
- package/dist/assets/icons/OpenBook.js.map +1 -0
- package/dist/assets/icons/Podium.d.ts +5 -0
- package/dist/assets/icons/Podium.d.ts.map +1 -0
- package/dist/assets/icons/Podium.js +36 -0
- package/dist/assets/icons/Podium.js.map +1 -0
- package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
- package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
- package/dist/assets/icons/RosetteRibbon.js +36 -0
- package/dist/assets/icons/RosetteRibbon.js.map +1 -0
- package/dist/assets/icons/StarTrophy.d.ts +5 -0
- package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
- package/dist/assets/icons/StarTrophy.js +99 -0
- package/dist/assets/icons/StarTrophy.js.map +1 -0
- package/dist/assets/icons/ThreeStars.d.ts +5 -0
- package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
- package/dist/assets/icons/ThreeStars.js +71 -0
- package/dist/assets/icons/ThreeStars.js.map +1 -0
- package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
- package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
- package/dist/assets/icons/UnpackagableFile.js +8 -0
- package/dist/assets/icons/UnpackagableFile.js.map +1 -0
- package/dist/assets/icons/UnpackagableFile.svg +4 -0
- package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
- package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
- package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
- package/dist/assets/mui_components/PackagableFile.js +5 -4
- package/dist/assets/mui_components/PackagableFile.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile.svg +3 -0
- package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
- package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
- package/dist/assets/themed_icons/index.d.ts +1 -2
- package/dist/assets/themed_icons/index.d.ts.map +1 -1
- package/dist/assets/themed_icons/index.js +8 -10
- package/dist/assets/themed_icons/index.js.map +1 -1
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +4 -4
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +8 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +4 -4
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js +11 -11
- package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js +9 -9
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js +5 -5
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.d.ts.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +36 -35
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.js +8 -8
- package/dist/components/AclEditor/AclEditor.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js +34 -34
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js +10 -10
- package/dist/components/AddToDownloadListV2.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +6 -5
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
- package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
- package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss +13 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.css +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +25 -25
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +13 -5
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +5 -5
- package/dist/components/CardContainer/CardLink.d.ts +12 -0
- package/dist/components/CardContainer/CardLink.d.ts.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
- package/dist/components/CardContainerLogic/index.d.ts +1 -1
- package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +12 -12
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +7 -7
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.d.ts.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js +13 -12
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/ComponentCollapse.d.ts +6 -10
- package/dist/components/ComponentCollapse.d.ts.map +1 -1
- package/dist/components/ComponentCollapse.js +31 -35
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.js +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -10
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +10 -5
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +43 -38
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +10 -5
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js +9 -7
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js +23 -23
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
- package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
- package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
- package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
- package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
- package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
- package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
- package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
- package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
- package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
- package/dist/components/DownloadCart/DownloadDetails.js +1 -1
- package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
- package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js +156 -236
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
- package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
- package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js +10 -5
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
- package/dist/components/EntityAclEditor/OpenData.js +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +113 -127
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +4 -4
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityNameCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.d.ts.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +39 -39
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts +8 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.d.ts.map +1 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js +46 -0
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -0
- package/dist/components/Evaluation/EvaluationCard.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationCard.js +35 -41
- package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.js +95 -90
- package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.d.ts.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js +133 -124
- package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
- package/dist/components/FilePreview/EntityPreview.js +1 -1
- package/dist/components/Forum/DiscussionReply.js +10 -10
- package/dist/components/Forum/DiscussionThread.js +21 -21
- package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/CardUtils.d.ts.map +1 -1
- package/dist/components/GenericCard/CardUtils.js +36 -36
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/CollapsibleDescription.js +25 -25
- package/dist/components/GenericCard/GenericCard.d.ts +5 -5
- package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCard.js +117 -103
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
- package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
- package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
- package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +95 -85
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +10 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +248 -209
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.d.ts.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.js +14 -15
- package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
- package/dist/components/GoogleAnalytics/GoogleAnalytics.js +1 -1
- package/dist/components/HasAccess/HasAccessV2.js +1 -1
- package/dist/components/HasAccess/useHasAccess.js +1 -1
- package/dist/components/HeaderCard.js +17 -13
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/IDUReport/IDUReportSubmissionInfo.js +23 -23
- package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
- package/dist/components/Icon/Icon.js +52 -52
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +215 -171
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.d.ts +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.d.ts.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js +9 -9
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js +7 -7
- package/dist/components/Markdown/MarkdownEditor.js +11 -11
- package/dist/components/Markdown/MarkdownGithub.js +1 -1
- package/dist/components/Markdown/MarkdownPopover.js +6 -6
- package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js +139 -135
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.d.ts +8 -0
- package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js +139 -65
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js +18 -18
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownButton.js +3 -3
- package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.d.ts.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +9 -8
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.css +1 -0
- package/dist/components/Plot/SynapsePlot.d.ts +2 -0
- package/dist/components/Plot/SynapsePlot.d.ts.map +1 -1
- package/dist/components/Plot/SynapsePlot.js +43 -39
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.scss +8 -0
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +137 -135
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
- package/dist/components/Resources/Resources.Desktop.js +7 -7
- package/dist/components/Resources/Resources.Mobile.js +6 -6
- package/dist/components/StorybookComponentWrapper.js +6 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
- package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +76 -67
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseChat/index.d.ts +2 -0
- package/dist/components/SynapseChat/index.d.ts.map +1 -1
- package/dist/components/SynapseChat/index.js +5 -3
- package/dist/components/SynapseChat/index.js.map +1 -1
- package/dist/components/SynapseChat/useChatState.d.ts +1 -1
- package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
- package/dist/components/SynapseChat/useChatState.js +10 -7
- package/dist/components/SynapseChat/useChatState.js.map +1 -1
- package/dist/components/SynapseForm/WarningDialog.d.ts +1 -0
- package/dist/components/SynapseForm/WarningDialog.d.ts.map +1 -1
- package/dist/components/SynapseForm/WarningDialog.js +18 -16
- package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HasAccessChip.js +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js +12 -13
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +5 -5
- package/dist/components/SynapseTable/ExpandableTableDataCell.d.ts.map +1 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.js +3 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.js +4 -4
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js +122 -122
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +5 -5
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +1 -1
- package/dist/components/TableFeedCards/TableFeedCards.js +9 -9
- package/dist/components/TermsAndConditions/TermsAndConditionsItem.js +10 -10
- package/dist/components/TextToComponentCollapse.d.ts +16 -0
- package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
- package/dist/components/TextToComponentCollapse.js +29 -0
- package/dist/components/TextToComponentCollapse.js.map +1 -0
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js +9 -9
- package/dist/components/UserSearchBox/UserSearchBox.d.ts +23 -0
- package/dist/components/UserSearchBox/UserSearchBox.d.ts.map +1 -0
- package/dist/components/UserSearchBox/UserSearchBox.js +146 -0
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -0
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js +13 -13
- package/dist/components/WizardChoiceButton/WizardChoiceButton.js +3 -3
- package/dist/components/dataaccess/AccessHistoryDashboard.js +5 -5
- package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +5 -5
- package/dist/components/dataaccess/UseAccessRequirementTable.js +3 -3
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +10 -5
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
- package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/entity/metadata/EntityModal.js +1 -1
- package/dist/components/entity/metadata/MetadataTable.js +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +1 -1
- package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js +1 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +27 -26
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/index.js +125 -121
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/InfiniteTableLayout.js +1 -1
- package/dist/components/row_renderers/ObservationCard.js +12 -11
- package/dist/components/row_renderers/ObservationCard.js.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
- package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.js +31 -45
- package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
- package/dist/components/styled/HoverPopover.css +1 -0
- package/dist/components/styled/HoverPopover.d.ts +28 -0
- package/dist/components/styled/HoverPopover.d.ts.map +1 -0
- package/dist/components/styled/HoverPopover.js +103 -0
- package/dist/components/styled/HoverPopover.js.map +1 -0
- package/dist/components/styled/HoverPopover.module.scss +9 -0
- package/dist/components/styled/HoverPopover.module.scss.js +10 -0
- package/dist/components/styled/HoverPopover.module.scss.js.map +1 -0
- package/dist/components/styled/index.d.ts +2 -0
- package/dist/components/styled/index.d.ts.map +1 -1
- package/dist/components/styled/index.js +11 -9
- package/dist/components/styled/index.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js +10 -5
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +10 -5
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/widgets/Range.js +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -32
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js +69 -68
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js +24 -21
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +3 -3
- package/dist/features/curator/GridPage/GridPage.js +10 -5
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +10 -5
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/index.js +155 -151
- package/dist/index.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementHandlers.js +5 -5
- package/dist/mocks/msw/handlers/projectStorageHandlers.js +5 -5
- package/dist/mocks/msw/handlers/wikiHandlers.js +1 -1
- package/dist/mocks/msw/handlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers.js +67 -59
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/style/base/_core.scss +0 -1
- package/dist/style/components/_all.scss +0 -2
- package/dist/style/components/_cards.scss +22 -0
- package/dist/style/components/_download-list-v2.scss +1 -1
- package/dist/style/components/_entity-badge.scss +0 -2
- package/dist/style/components/_expandable_table_data.scss +3 -3
- package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +3 -0
- package/dist/style/components/facet_nav/_facet-nav.scss +4 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/SynapseClient.js +118 -118
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/auth/useOIDC.js +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js +1 -1
- package/dist/synapse-queries/entity/index.js +6 -6
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
- package/dist/synapse-queries/index.js +1 -1
- package/dist/synapse-queries/user/usePersonalAccessToken.js +1 -1
- package/dist/testutils/vitest.setup.js +10 -11
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/theme/DefaultTheme.js +1 -1
- package/dist/theme/ThemeProvider.d.ts +2 -1
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +11 -10
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/mergeTheme.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/AppUtils/AppUtils.js +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/context/FullContextProvider.js +9 -9
- package/dist/utils/context/FullContextProvider.js.map +1 -1
- package/dist/utils/context/SynapseContext.d.ts.map +1 -1
- package/dist/utils/context/SynapseContext.js +1 -0
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.d.ts.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js +34 -40
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.d.ts +4 -0
- package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
- package/dist/utils/functions/SqlFunctions.js +25 -23
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js +10 -10
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/hooks/index.js +6 -6
- package/dist/utils/hooks/useDetectSSOCode.js +3 -3
- package/dist/utils/hooks/useGetEntityMetadata.js +1 -1
- package/dist/utils/hooks/useNativeSearchParams.d.ts.map +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
- package/dist/utils/hooks/useOneSageURL.d.ts.map +1 -1
- package/dist/utils/hooks/useOneSageURL.js +15 -15
- package/dist/utils/hooks/useOneSageURL.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.d.ts +1 -0
- package/dist/utils/hooks/useSourceAppConfigs.d.ts.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js +79 -77
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/index.js +4 -4
- package/package.json +15 -16
- package/dist/_virtual/index.js +0 -6
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index2.js +0 -5
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index3.js +0 -5
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -5
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -5
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/assets/themed_icons/Challenge.d.ts +0 -3
- package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
- package/dist/assets/themed_icons/Challenge.js +0 -25
- package/dist/assets/themed_icons/Challenge.js.map +0 -1
- package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts +0 -21
- package/dist/components/UserSearchBox/UserSearchBoxV2.d.ts.map +0 -1
- package/dist/components/UserSearchBox/UserSearchBoxV2.js +0 -144
- package/dist/components/UserSearchBox/UserSearchBoxV2.js.map +0 -1
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js +0 -53
- package/dist/node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js.map +0 -1
- package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js +0 -948
- package/dist/node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js.map +0 -1
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js +0 -30
- package/dist/node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js.map +0 -1
- 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
- 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
- package/dist/style/components/_download-cart-page.scss +0 -204
- package/dist/style/components/_user-search-box.scss +0 -30
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { useChatState as
|
|
3
|
-
import { useCreateAgentSession as
|
|
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
|
|
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
|
|
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
|
|
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
|
|
33
|
+
import { ArrowUpward as Z } from "@mui/icons-material";
|
|
34
34
|
import "@mui/material/Skeleton";
|
|
35
|
-
import { SkeletonParagraph as
|
|
36
|
-
import { displayToast as
|
|
37
|
-
import { AccessLevelMenu as
|
|
38
|
-
import { SynapseChatInteraction as
|
|
39
|
-
import
|
|
40
|
-
function
|
|
41
|
-
initialMessage:
|
|
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:
|
|
43
|
+
chatbotName: l = "SynapseChat",
|
|
44
44
|
hideTitle: v = !1,
|
|
45
45
|
textboxPositionOffset: w = "0px",
|
|
46
|
-
sessionContext:
|
|
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:
|
|
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:
|
|
55
|
+
}), { mutate: U } = F({
|
|
55
56
|
onSuccess: (e) => g(e),
|
|
56
|
-
onError: (e) =>
|
|
57
|
+
onError: (e) => ee(
|
|
57
58
|
`Unable to update the agent session: ${e.message}`,
|
|
58
59
|
"danger"
|
|
59
60
|
)
|
|
60
|
-
}),
|
|
61
|
-
|
|
62
|
-
),
|
|
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
|
-
|
|
65
|
-
agentAccessLevel:
|
|
65
|
+
d && !o && d({
|
|
66
|
+
agentAccessLevel: u,
|
|
66
67
|
agentRegistrationId: f,
|
|
67
|
-
sessionContext:
|
|
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 &&
|
|
78
|
-
}, [o,
|
|
78
|
+
o && m && !C && (r(m), j(!0));
|
|
79
|
+
}, [o, m, C, r]);
|
|
79
80
|
const h = () => {
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
!
|
|
83
|
-
},
|
|
84
|
-
return S ? /* @__PURE__ */ t(
|
|
85
|
-
|
|
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:
|
|
110
|
+
children: l
|
|
110
111
|
}
|
|
111
112
|
),
|
|
112
113
|
D && /* @__PURE__ */ t(
|
|
113
|
-
|
|
114
|
+
te,
|
|
114
115
|
{
|
|
115
|
-
initAccessLevel:
|
|
116
|
+
initAccessLevel: u,
|
|
116
117
|
onChange: (e) => {
|
|
117
|
-
|
|
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(
|
|
125
|
-
o && /* @__PURE__ */ t(
|
|
126
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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:
|
|
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
|
-
|
|
159
|
+
p,
|
|
151
160
|
{
|
|
152
161
|
sx: {
|
|
153
162
|
position: "sticky",
|
|
154
163
|
bottom: w,
|
|
155
164
|
backgroundColor: "white"
|
|
156
165
|
},
|
|
157
|
-
children: /* @__PURE__ */
|
|
158
|
-
|
|
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
|
-
|
|
181
|
+
Q,
|
|
173
182
|
{
|
|
174
183
|
fullWidth: !0,
|
|
175
|
-
value:
|
|
184
|
+
value: s,
|
|
176
185
|
onChange: (e) => y(e.target.value),
|
|
177
|
-
onKeyDown:
|
|
178
|
-
placeholder: `Message ${
|
|
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
|
-
|
|
192
|
+
X,
|
|
184
193
|
{
|
|
185
|
-
disabled:
|
|
194
|
+
disabled: n,
|
|
186
195
|
onClick: h,
|
|
187
196
|
sx: {
|
|
188
197
|
ml: "7px",
|
|
189
198
|
mr: "-8px",
|
|
190
|
-
color:
|
|
199
|
+
color: A,
|
|
191
200
|
borderStyle: "solid",
|
|
192
|
-
borderWidth:
|
|
193
|
-
borderColor:
|
|
201
|
+
borderWidth: n ? "1px" : "2px",
|
|
202
|
+
borderColor: n ? "gray" : A
|
|
194
203
|
},
|
|
195
|
-
children: /* @__PURE__ */ t(
|
|
204
|
+
children: /* @__PURE__ */ t(Z, {})
|
|
196
205
|
}
|
|
197
206
|
)
|
|
198
207
|
}
|
|
199
208
|
}
|
|
200
209
|
}
|
|
201
210
|
),
|
|
202
|
-
/* @__PURE__ */
|
|
211
|
+
/* @__PURE__ */ i(
|
|
203
212
|
k,
|
|
204
213
|
{
|
|
205
214
|
variant: "smallText1",
|
|
206
215
|
sx: { pt: "8px", textAlign: "center" },
|
|
207
216
|
children: [
|
|
208
|
-
|
|
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
|
-
|
|
224
|
-
|
|
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":"
|
|
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
|
|
2
|
-
import { SynapseSpinner as
|
|
3
|
-
import
|
|
4
|
-
import { SmartToyTwoTone as
|
|
5
|
-
import { useTheme as
|
|
6
|
-
import { useRef as
|
|
7
|
-
import {
|
|
8
|
-
function
|
|
9
|
-
return "reasoningText" in
|
|
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
|
|
12
|
-
userMessage:
|
|
13
|
-
chatResponseText:
|
|
14
|
-
chatErrorReason:
|
|
15
|
-
chatResponseTrace:
|
|
16
|
-
scrollIntoView:
|
|
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
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}, [
|
|
22
|
-
const
|
|
23
|
-
() => (
|
|
24
|
-
[
|
|
25
|
-
),
|
|
26
|
-
() =>
|
|
27
|
-
[
|
|
28
|
-
),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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:
|
|
50
|
+
ref: a,
|
|
37
51
|
sx: {
|
|
38
52
|
alignSelf: "flex-end",
|
|
39
|
-
backgroundColor:
|
|
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__ */
|
|
62
|
+
children: /* @__PURE__ */ t(z, { primary: n })
|
|
49
63
|
}
|
|
50
64
|
),
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
|
|
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__ */
|
|
64
|
-
|
|
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__ */
|
|
89
|
+
children: /* @__PURE__ */ t(B, { sx: { color: "secondary.main" } })
|
|
76
90
|
}
|
|
77
91
|
),
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
|
|
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__ */
|
|
89
|
-
|
|
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 ${
|
|
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__ */
|
|
104
|
-
|
|
117
|
+
/* @__PURE__ */ t(
|
|
118
|
+
E,
|
|
105
119
|
{
|
|
106
120
|
variant: "outlined",
|
|
107
121
|
size: "small",
|
|
108
|
-
startIcon:
|
|
109
|
-
disabled: !
|
|
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
|
-
|
|
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__ */
|
|
141
|
+
children: /* @__PURE__ */ t(d, { sx: { overflow: "hidden", textOverflow: "ellipsis" }, children: I })
|
|
128
142
|
}
|
|
129
143
|
),
|
|
130
|
-
|
|
131
|
-
|
|
144
|
+
m && /* @__PURE__ */ t(D, { in: p, children: /* @__PURE__ */ t(
|
|
145
|
+
k,
|
|
132
146
|
{
|
|
133
|
-
markdown:
|
|
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
|
-
|
|
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
|
-
|
|
171
|
+
c && /* @__PURE__ */ t($, { severity: "error", sx: { my: 2 }, children: c })
|
|
147
172
|
] });
|
|
148
173
|
}
|
|
149
174
|
export {
|
|
150
|
-
|
|
151
|
-
|
|
175
|
+
ee as SynapseChatInteraction,
|
|
176
|
+
ee as default
|
|
152
177
|
};
|
|
153
178
|
//# sourceMappingURL=SynapseChatInteraction.js.map
|