synapse-react-client 4.0.3 → 4.0.5
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/DefaultColorfulPortalCardBackground.svg +14 -0
- package/dist/assets/DefaultColorfulPortalCardBackground.svg.js +7 -0
- package/dist/assets/DefaultColorfulPortalCardBackground.svg.js.map +1 -0
- package/dist/assets/homepage/nih-aging.svg +27 -27
- package/dist/assets/homepage/nih-aging.svg.js +1 -1
- package/dist/assets/homepage/nih-aging.svg.js.map +1 -1
- package/dist/assets/homepage/nih-heart.svg +39 -46
- package/dist/assets/homepage/nih-heart.svg.js +3 -3
- package/dist/assets/homepage/nih-heart.svg.js.map +1 -1
- package/dist/assets/homepage/nih-nci.svg +6 -0
- package/dist/assets/homepage/nih-nci.svg.js +7 -0
- package/dist/assets/homepage/nih-nci.svg.js.map +1 -0
- package/dist/assets/homepage/nih-nimh.svg +14 -0
- package/dist/assets/homepage/nih-nimh.svg.js +7 -0
- package/dist/assets/homepage/nih-nimh.svg.js.map +1 -0
- 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 +33 -32
- 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/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 -1
- package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.js +12 -12
- package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss +6 -0
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +1 -1
- 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 +24 -23
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss +15 -5
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.module.scss.js +1 -1
- package/dist/components/CardContainer/CardLink.d.ts +12 -0
- package/dist/components/CardContainer/CardLink.d.ts.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/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/CookiesNotification/CookiesNotification.js +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +3 -4
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +2 -2
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +35 -35
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +2 -2
- 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/DownloadCart/ActionRequiredCard/ActionRequiredCard.js +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js +2 -2
- 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/EntityFinder/details/view/table/AddToDownloadListCell.js +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/FilePreview/EntityPreview.js +1 -1
- package/dist/components/Forum/DiscussionReply.js +10 -10
- package/dist/components/Forum/DiscussionThread.js +21 -21
- 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/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +72 -67
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +4 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +98 -96
- 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/IDUReport/IDUReportSubmissionInfo.js +23 -23
- package/dist/components/IDUReport/IDUReportSubmissionInfo.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.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +114 -113
- 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/SubsectionRowRenderer/SubsectionRowRenderer.js +3 -3
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js +10 -10
- package/dist/components/SynapseChat/SynapseChatInteraction.js +5 -5
- 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/SynapseHomepageV2/SynapsePartners.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePartners.js +17 -12
- package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.d.ts.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +39 -39
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.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 +21 -22
- 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/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/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/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 +2 -2
- 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 +109 -107
- package/dist/components/index.js.map +1 -1
- package/dist/components/layout/InfiniteTableLayout.js +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 +2 -2
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +2 -2
- 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 +2 -2
- package/dist/features/curator/GridPage/components/GridPageTitle.js +2 -2
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/index.js +157 -155
- 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 -1
- package/dist/style/components/_entity-badge.scss +0 -2
- package/dist/style/components/_expandable_table_data.scss +3 -3
- 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/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/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 +14 -15
- 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/homepage/nci.svg +0 -6
- package/dist/assets/homepage/nci.svg.js +0 -7
- package/dist/assets/homepage/nci.svg.js.map +0 -1
- package/dist/assets/homepage/nih-mental.svg +0 -9
- package/dist/assets/homepage/nih-mental.svg.js +0 -7
- package/dist/assets/homepage/nih-mental.svg.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/_user-search-box.scss +0 -30
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
|
|
24
24
|
.ColorfulPortalCardWithChips__titleSection {
|
|
25
25
|
color: #fff;
|
|
26
|
-
max-width:
|
|
26
|
+
max-width: 310px;
|
|
27
27
|
top: 0;
|
|
28
28
|
position: absolute;
|
|
29
29
|
padding-left: 30px;
|
|
30
|
-
padding-top:
|
|
30
|
+
padding-top: 65px;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.ColorfulPortalCardWithChips__title:global(.MuiTypography-root) {
|
|
@@ -37,6 +37,8 @@
|
|
|
37
37
|
-webkit-line-clamp: 4;
|
|
38
38
|
-webkit-box-orient: vertical;
|
|
39
39
|
overflow-wrap: break-word;
|
|
40
|
+
max-width: 225px;
|
|
41
|
+
font-weight: 600;
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
.ColorfulPortalCardWithChips__sectionTitle:global(.MuiTypography-root) {
|
|
@@ -62,11 +64,12 @@
|
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
.ColorfulPortalCardWithChips__sectionContainer {
|
|
65
|
-
|
|
67
|
+
flex: 1;
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
.ColorfulPortalCardWithChips__bottomSection {
|
|
69
71
|
min-height: 0;
|
|
72
|
+
flex: 1;
|
|
70
73
|
gap: 12px;
|
|
71
74
|
padding: 30px;
|
|
72
75
|
align-items: flex-start;
|
|
@@ -99,6 +102,7 @@
|
|
|
99
102
|
|
|
100
103
|
.ColorfulPortalCardWithChips__learnMoreButton:global(.MuiButton-root) {
|
|
101
104
|
display: flex;
|
|
105
|
+
margin-top: auto;
|
|
102
106
|
height: 36px;
|
|
103
107
|
padding: 6px 16px;
|
|
104
108
|
border-radius: 8px;
|
|
@@ -196,15 +200,21 @@
|
|
|
196
200
|
}
|
|
197
201
|
|
|
198
202
|
.ColorfulPortalCardWithChips__description :global(.markdown) {
|
|
203
|
+
--description-line-height: 20px;
|
|
204
|
+
--description-max-lines: 3;
|
|
205
|
+
|
|
199
206
|
overflow: hidden;
|
|
200
207
|
text-overflow: ellipsis;
|
|
201
208
|
display: -webkit-box;
|
|
202
|
-
-webkit-line-clamp:
|
|
209
|
+
-webkit-line-clamp: var(--description-max-lines);
|
|
203
210
|
-webkit-box-orient: vertical;
|
|
211
|
+
min-height: calc(
|
|
212
|
+
var(--description-max-lines) * var(--description-line-height)
|
|
213
|
+
);
|
|
204
214
|
}
|
|
205
215
|
|
|
206
216
|
.ColorfulPortalCardWithChips__description :global(.markdown) p {
|
|
207
217
|
color: var(--synapse-black) !important;
|
|
208
218
|
font-size: 14px;
|
|
209
|
-
line-height:
|
|
219
|
+
line-height: var(--description-line-height);
|
|
210
220
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './ColorfulPortalCardWithChips.css';const o = "
|
|
1
|
+
import './ColorfulPortalCardWithChips.css';const o = "_ColorfulPortalCardWithChips__titleSection_1mhpo_22", t = "_ColorfulPortalCardWithChips__title_1mhpo_22", r = "_ColorfulPortalCardWithChips__challengeName_1mhpo_54", l = "_ColorfulPortalCardWithChips__sectionContainer_1mhpo_64", i = "_ColorfulPortalCardWithChips__bottomSection_1mhpo_68", C = "_ColorfulPortalCardWithChips__descriptionTitle_1mhpo_76", _ = "_ColorfulPortalCardWithChips__registrationStatus_1mhpo_85", a = "_ColorfulPortalCardWithChips__chipsContainer_1mhpo_94", h = "_ColorfulPortalCardWithChips__learnMoreButton_1mhpo_101", s = "_ColorfulPortalCardWithChips__description_1mhpo_76", e = {
|
|
2
2
|
ColorfulPortalCardWithChips__titleSection: o,
|
|
3
3
|
ColorfulPortalCardWithChips__title: t,
|
|
4
4
|
ColorfulPortalCardWithChips__challengeName: r,
|
|
@@ -11,6 +11,18 @@ export type CardLink = ({
|
|
|
11
11
|
} & ({
|
|
12
12
|
baseURL: string;
|
|
13
13
|
URLColumnName: string;
|
|
14
|
+
/**
|
|
15
|
+
* Controls how the record identifier is appended to baseURL.
|
|
16
|
+
*
|
|
17
|
+
* - `'query-param'` (default): appends as a query string parameter, e.g.
|
|
18
|
+
* `/<baseURL>?<URLColumnName>=<value>`
|
|
19
|
+
* - `'path-segment'`: appends as a path segment, e.g.
|
|
20
|
+
* `/<baseURL>/<value>`
|
|
21
|
+
*
|
|
22
|
+
* Use `'path-segment'` for clean-URL detail pages that use React Router
|
|
23
|
+
* dynamic segments (`:param`) rather than `?param=` query strings.
|
|
24
|
+
*/
|
|
25
|
+
urlParamStyle?: 'query-param' | 'path-segment';
|
|
14
26
|
wrapValueWithParens?: boolean;
|
|
15
27
|
resolveEntityName?: boolean;
|
|
16
28
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardLink.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainer/CardLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAClB,CAAE;IAEE,eAAe,EAAE,MAAM,CAAA;IAEvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,UAAU,EAAE,KAAK,CAAA;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;IAEf,aAAa,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"CardLink.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainer/CardLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAClB,CAAE;IAEE,eAAe,EAAE,MAAM,CAAA;IAEvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC,UAAU,EAAE,KAAK,CAAA;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;IAEf,aAAa,EAAE,MAAM,CAAA;IACrB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,cAAc,CAAA;IAG9C,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,GACD;IAEE,yBAAyB,EAAE,MAAM,CAAA;IAEjC,8BAA8B,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAA;CACjE,CACJ,CAAA,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as e, jsxs as u, Fragment as r } from "react/jsx-runtime";
|
|
2
2
|
import { LightTooltip as b } from "../styled/LightTooltip.js";
|
|
3
3
|
import { HelpOutlineTwoTone as x } from "@mui/icons-material";
|
|
4
|
-
import { Typography as d, Box as c, Autocomplete as g, TextField as E, MenuItem as L, Button as S, Collapse as
|
|
4
|
+
import { Typography as d, Box as c, Autocomplete as g, TextField as E, MenuItem as L, Button as S, Collapse as w, List as A, ListItem as M } from "@mui/material";
|
|
5
5
|
import { noop as h } from "lodash-es";
|
|
6
|
-
import { useEffect as
|
|
7
|
-
import {
|
|
6
|
+
import { useEffect as T, useState as p } from "react";
|
|
7
|
+
import { Markdown as k } from "../Markdown/MarkdownSynapse.js";
|
|
8
8
|
function m(t) {
|
|
9
9
|
const { text: i, tooltipMarkdownText: n } = t;
|
|
10
10
|
return /* @__PURE__ */ u(r, { children: [
|
|
@@ -19,7 +19,7 @@ function m(t) {
|
|
|
19
19
|
sx: {
|
|
20
20
|
mb: 0
|
|
21
21
|
},
|
|
22
|
-
children: /* @__PURE__ */ e(
|
|
22
|
+
children: /* @__PURE__ */ e(k, { markdown: n })
|
|
23
23
|
}
|
|
24
24
|
),
|
|
25
25
|
children: /* @__PURE__ */ e(
|
|
@@ -40,7 +40,7 @@ function v(t) {
|
|
|
40
40
|
const { evaluations: i } = t;
|
|
41
41
|
return /* @__PURE__ */ u(r, { children: [
|
|
42
42
|
/* @__PURE__ */ e(d, { variant: "body1", children: "Available Evaluation Queues:" }),
|
|
43
|
-
/* @__PURE__ */ e(
|
|
43
|
+
/* @__PURE__ */ e(A, { dense: !0, children: i.map((n) => /* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(
|
|
44
44
|
m,
|
|
45
45
|
{
|
|
46
46
|
text: n.name,
|
|
@@ -49,7 +49,7 @@ function v(t) {
|
|
|
49
49
|
) }, n.id)) })
|
|
50
50
|
] });
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function y(t) {
|
|
53
53
|
const { evaluations: i, isSelectable: n } = t, [a, l] = p(!1), o = n ? 2 : 8, s = i.length >= o;
|
|
54
54
|
return /* @__PURE__ */ e(
|
|
55
55
|
c,
|
|
@@ -67,12 +67,12 @@ function C(t) {
|
|
|
67
67
|
children: `${a ? "Hide" : "Show"} All Available Evaluation Queues`
|
|
68
68
|
}
|
|
69
69
|
),
|
|
70
|
-
/* @__PURE__ */ e(
|
|
70
|
+
/* @__PURE__ */ e(w, { in: a, children: /* @__PURE__ */ e(v, { ...t }) })
|
|
71
71
|
] }) : /* @__PURE__ */ e(r, { children: /* @__PURE__ */ e(v, { ...t }) })
|
|
72
72
|
}
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function C(t) {
|
|
76
76
|
const { evaluations: i, onChangeSelectedEvaluation: n = h } = t, [a, l] = p(null);
|
|
77
77
|
return /* @__PURE__ */ e(
|
|
78
78
|
g,
|
|
@@ -84,7 +84,7 @@ function I(t) {
|
|
|
84
84
|
},
|
|
85
85
|
options: i,
|
|
86
86
|
getOptionLabel: (o) => o.name,
|
|
87
|
-
renderOption: (o, s,
|
|
87
|
+
renderOption: (o, s, I, f) => /* @__PURE__ */ e(L, { ...o, children: /* @__PURE__ */ e(
|
|
88
88
|
m,
|
|
89
89
|
{
|
|
90
90
|
text: f.getOptionLabel(s),
|
|
@@ -101,7 +101,7 @@ function z(t) {
|
|
|
101
101
|
onChangeSelectedEvaluation: n = h,
|
|
102
102
|
evaluations: a
|
|
103
103
|
} = t, l = a.length;
|
|
104
|
-
if (
|
|
104
|
+
if (T(() => {
|
|
105
105
|
l === 1 && i && n(a[0]);
|
|
106
106
|
}, [a, i, l, n]), l === 0)
|
|
107
107
|
return /* @__PURE__ */ e(d, { variant: "body1", children: "No evaluations found" });
|
|
@@ -129,8 +129,8 @@ function z(t) {
|
|
|
129
129
|
{
|
|
130
130
|
className: "AvailableEvaluationQueueList",
|
|
131
131
|
children: [
|
|
132
|
-
i && /* @__PURE__ */ e(
|
|
133
|
-
/* @__PURE__ */ e(
|
|
132
|
+
i && /* @__PURE__ */ e(C, { ...t }),
|
|
133
|
+
/* @__PURE__ */ e(y, { ...t })
|
|
134
134
|
]
|
|
135
135
|
}
|
|
136
136
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateChallengeTeam.d.ts","sourceRoot":"","sources":["../../../src/components/ChallengeTeamWizard/CreateChallengeTeam.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateChallengeTeam.d.ts","sourceRoot":"","sources":["../../../src/components/ChallengeTeamWizard/CreateChallengeTeam.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,wBAAwB,GAAG;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,CAAA;AAGD,eAAO,MAAM,uBAAuB,iIAC4F,CAAA;AAEhI,MAAM,MAAM,yBAAyB,GAAG;IAEtC,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,mBAAmB,gIAmL9B,CAAA"}
|
|
@@ -4,8 +4,8 @@ import { Box as n, Typography as l, Alert as _ } from "@mui/material";
|
|
|
4
4
|
import o from "../TextField/TextField.js";
|
|
5
5
|
import F from "./useCreateAndRegisterChallengeTeam.js";
|
|
6
6
|
import { noop as T, isEmpty as S } from "lodash-es";
|
|
7
|
-
import
|
|
8
|
-
const j =
|
|
7
|
+
import V from "papaparse";
|
|
8
|
+
const { parse: j } = V, B = 3, D = "Please limit the initial number of invited members to three. You may add additional members after the team has been created.", K = P(function(C, R) {
|
|
9
9
|
const { challengeId: v, onCanSubmitChange: f = T, onFinished: g = T } = C, [a, w] = p({
|
|
10
10
|
name: "",
|
|
11
11
|
description: ""
|
|
@@ -13,14 +13,14 @@ const j = 3, B = "Please limit the initial number of invited members to three. Y
|
|
|
13
13
|
const i = { ...a, ...e };
|
|
14
14
|
w(i);
|
|
15
15
|
}, { inviteesParseResult: I, parsedInvitees: u } = N(() => {
|
|
16
|
-
const e =
|
|
16
|
+
const e = j(m, {
|
|
17
17
|
delimiter: ",",
|
|
18
18
|
transform(A) {
|
|
19
19
|
return A.trim();
|
|
20
20
|
}
|
|
21
21
|
}), i = e.data[0] || [];
|
|
22
22
|
return { inviteesParseResult: e, parsedInvitees: i };
|
|
23
|
-
}, [m]), c = u.length >
|
|
23
|
+
}, [m]), c = u.length > B, r = !!(a && a.name && a.name.length > 1 && !c);
|
|
24
24
|
O(() => {
|
|
25
25
|
f(r);
|
|
26
26
|
}, [r, f]);
|
|
@@ -147,14 +147,14 @@ const j = 3, B = "Please limit the initial number of invited members to three. Y
|
|
|
147
147
|
}
|
|
148
148
|
),
|
|
149
149
|
(c || !S(I.errors) || h) && /* @__PURE__ */ y(_, { severity: "error", children: [
|
|
150
|
-
c && /* @__PURE__ */ t(l, { variant: "body1", children:
|
|
150
|
+
c && /* @__PURE__ */ t(l, { variant: "body1", children: D }),
|
|
151
151
|
I.errors.map((e, i) => /* @__PURE__ */ t(l, { variant: "body1", children: e.message }, i)),
|
|
152
152
|
h && h.map((e) => /* @__PURE__ */ t(l, { variant: "body1", children: e.reason }, e.reason))
|
|
153
153
|
] })
|
|
154
154
|
] });
|
|
155
155
|
});
|
|
156
156
|
export {
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
K as CreateChallengeTeam,
|
|
158
|
+
D as TOO_MANY_INVITEES_ERROR
|
|
159
159
|
};
|
|
160
160
|
//# sourceMappingURL=CreateChallengeTeam.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateChallengeTeam.js","sources":["../../../src/components/ChallengeTeamWizard/CreateChallengeTeam.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { Alert, Box, Typography } from '@mui/material'\nimport TextField from '../TextField'\nimport { CreateTeamRequest, Team } from '@sage-bionetworks/synapse-types'\nimport useCreateAndRegisterChallengeTeam from './useCreateAndRegisterChallengeTeam'\nimport { isEmpty, noop } from 'lodash-es'\nimport { parse } from 'papaparse'\n\nexport type CreateChallengeTeamProps = {\n challengeId: string\n onCanSubmitChange?: (canSubmit: boolean) => void\n onFinished?: (teamId: string) => void\n}\n\nconst INVITEE_LIMIT = 3\nexport const TOO_MANY_INVITEES_ERROR =\n 'Please limit the initial number of invited members to three. You may add additional members after the team has been created.'\n\nexport type CreateChallengeTeamHandle = {\n // Allow the parent component to trigger a submit of the form, so this may be embedded in an arbitrary modal.\n submit: () => void\n}\n\nexport const CreateChallengeTeam = forwardRef(function CreateChallengeTeam(\n props: CreateChallengeTeamProps,\n ref: ForwardedRef<CreateChallengeTeamHandle>,\n) {\n const { challengeId, onCanSubmitChange = noop, onFinished = noop } = props\n const [team, setTeam] = useState<CreateTeamRequest>({\n name: '',\n description: '',\n })\n const [invitationMessage, setInvitationMessage] = useState('')\n const [rawInvitees, setRawInvitees] = useState('')\n\n const handleTeamUpdate = (update: Partial<Team>) => {\n const updatedTeam: CreateTeamRequest = { ...team, ...update }\n setTeam(updatedTeam)\n }\n\n const { inviteesParseResult, parsedInvitees } = useMemo(() => {\n const inviteesParseResult = parse<string[]>(rawInvitees, {\n delimiter: ',',\n transform(value) {\n return value.trim()\n },\n })\n const parsedInvitees: string[] = inviteesParseResult.data[0] || []\n\n return { inviteesParseResult, parsedInvitees }\n }, [rawInvitees])\n\n const numberOfInvitees = parsedInvitees.length\n const tooManyInvitees = numberOfInvitees > INVITEE_LIMIT\n\n const formDataIsValid = Boolean(\n team && team.name && team.name.length > 1 && !tooManyInvitees,\n )\n\n useEffect(() => {\n onCanSubmitChange(formDataIsValid)\n }, [formDataIsValid, onCanSubmitChange])\n\n const {\n createAndRegisterTeam,\n isPending: mutationIsPending,\n errors,\n } = useCreateAndRegisterChallengeTeam()\n\n useImperativeHandle(\n ref,\n () => {\n return {\n submit() {\n if (!formDataIsValid) {\n console.warn(\n 'Attempted to submit when form data was not valid. Nothing will happen.',\n )\n return\n }\n createAndRegisterTeam(\n team,\n challengeId,\n parsedInvitees,\n invitationMessage,\n )\n .then(([newTeam]) => {\n onFinished(newTeam.id)\n })\n .catch(() => {\n // The hook will return errors, so no need to handle them here\n })\n },\n }\n },\n [\n formDataIsValid,\n parsedInvitees,\n createAndRegisterTeam,\n team,\n challengeId,\n invitationMessage,\n onFinished,\n ],\n )\n\n return (\n <Box>\n <Typography variant=\"body1\" sx={{ lineHeight: '20px' }}>\n Create a new team for this Challenge!\n </Typography>\n <TextField\n id=\"name\"\n label=\"Team Name\"\n value={team.name}\n fullWidth\n autoFocus\n required\n onChange={event => handleTeamUpdate({ name: event.target.value })}\n disabled={mutationIsPending}\n />\n <Box\n sx={{\n display: 'flex',\n }}\n >\n <TextField\n id=\"description\"\n label={\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n }}\n >\n <Box>Team Description</Box>\n </Box>\n }\n value={team.description}\n fullWidth\n multiline\n rows={4}\n onChange={event =>\n handleTeamUpdate({ description: event.target.value })\n }\n disabled={mutationIsPending}\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n }}\n >\n <TextField\n id=\"message\"\n label={\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n }}\n >\n <Box>Recruitment Message</Box>\n </Box>\n }\n value={invitationMessage}\n fullWidth\n multiline\n rows={4}\n onChange={event => setInvitationMessage(event.target.value)}\n disabled={mutationIsPending}\n />\n </Box>\n <TextField\n id=\"invitees\"\n label=\"Emails of Additional Members to Invite (max 3)\"\n placeholder=\"Enter emails separated by comma\"\n value={rawInvitees}\n fullWidth\n onChange={event => setRawInvitees(event.target.value)}\n disabled={mutationIsPending}\n />\n {(tooManyInvitees || !isEmpty(inviteesParseResult.errors) || errors) && (\n <Alert severity=\"error\">\n {tooManyInvitees && (\n <Typography variant={'body1'}>{TOO_MANY_INVITEES_ERROR}</Typography>\n )}\n {inviteesParseResult.errors.map((error, index) => (\n <Typography key={index} variant={'body1'}>\n {error.message}\n </Typography>\n ))}\n {errors &&\n errors.map(error => (\n <Typography key={error.reason} variant={'body1'}>\n {error.reason}\n </Typography>\n ))}\n </Alert>\n )}\n </Box>\n )\n})\n"],"names":["INVITEE_LIMIT","TOO_MANY_INVITEES_ERROR","CreateChallengeTeam","forwardRef","props","ref","challengeId","onCanSubmitChange","noop","onFinished","team","setTeam","useState","invitationMessage","setInvitationMessage","rawInvitees","setRawInvitees","handleTeamUpdate","update","updatedTeam","inviteesParseResult","parsedInvitees","useMemo","parse","value","tooManyInvitees","formDataIsValid","useEffect","createAndRegisterTeam","mutationIsPending","errors","useCreateAndRegisterChallengeTeam","useImperativeHandle","newTeam","Box","jsx","Typography","TextField","event","isEmpty","jsxs","Alert","error","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreateChallengeTeam.js","sources":["../../../src/components/ChallengeTeamWizard/CreateChallengeTeam.tsx"],"sourcesContent":["import {\n ForwardedRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { Alert, Box, Typography } from '@mui/material'\nimport TextField from '../TextField'\nimport { CreateTeamRequest, Team } from '@sage-bionetworks/synapse-types'\nimport useCreateAndRegisterChallengeTeam from './useCreateAndRegisterChallengeTeam'\nimport { isEmpty, noop } from 'lodash-es'\nimport papaparseLib from 'papaparse'\n// papaparse is CJS-only; pull named values from the default export.\nconst { parse } = papaparseLib\n\nexport type CreateChallengeTeamProps = {\n challengeId: string\n onCanSubmitChange?: (canSubmit: boolean) => void\n onFinished?: (teamId: string) => void\n}\n\nconst INVITEE_LIMIT = 3\nexport const TOO_MANY_INVITEES_ERROR =\n 'Please limit the initial number of invited members to three. You may add additional members after the team has been created.'\n\nexport type CreateChallengeTeamHandle = {\n // Allow the parent component to trigger a submit of the form, so this may be embedded in an arbitrary modal.\n submit: () => void\n}\n\nexport const CreateChallengeTeam = forwardRef(function CreateChallengeTeam(\n props: CreateChallengeTeamProps,\n ref: ForwardedRef<CreateChallengeTeamHandle>,\n) {\n const { challengeId, onCanSubmitChange = noop, onFinished = noop } = props\n const [team, setTeam] = useState<CreateTeamRequest>({\n name: '',\n description: '',\n })\n const [invitationMessage, setInvitationMessage] = useState('')\n const [rawInvitees, setRawInvitees] = useState('')\n\n const handleTeamUpdate = (update: Partial<Team>) => {\n const updatedTeam: CreateTeamRequest = { ...team, ...update }\n setTeam(updatedTeam)\n }\n\n const { inviteesParseResult, parsedInvitees } = useMemo(() => {\n const inviteesParseResult = parse<string[]>(rawInvitees, {\n delimiter: ',',\n transform(value) {\n return value.trim()\n },\n })\n const parsedInvitees: string[] = inviteesParseResult.data[0] || []\n\n return { inviteesParseResult, parsedInvitees }\n }, [rawInvitees])\n\n const numberOfInvitees = parsedInvitees.length\n const tooManyInvitees = numberOfInvitees > INVITEE_LIMIT\n\n const formDataIsValid = Boolean(\n team && team.name && team.name.length > 1 && !tooManyInvitees,\n )\n\n useEffect(() => {\n onCanSubmitChange(formDataIsValid)\n }, [formDataIsValid, onCanSubmitChange])\n\n const {\n createAndRegisterTeam,\n isPending: mutationIsPending,\n errors,\n } = useCreateAndRegisterChallengeTeam()\n\n useImperativeHandle(\n ref,\n () => {\n return {\n submit() {\n if (!formDataIsValid) {\n console.warn(\n 'Attempted to submit when form data was not valid. Nothing will happen.',\n )\n return\n }\n createAndRegisterTeam(\n team,\n challengeId,\n parsedInvitees,\n invitationMessage,\n )\n .then(([newTeam]) => {\n onFinished(newTeam.id)\n })\n .catch(() => {\n // The hook will return errors, so no need to handle them here\n })\n },\n }\n },\n [\n formDataIsValid,\n parsedInvitees,\n createAndRegisterTeam,\n team,\n challengeId,\n invitationMessage,\n onFinished,\n ],\n )\n\n return (\n <Box>\n <Typography variant=\"body1\" sx={{ lineHeight: '20px' }}>\n Create a new team for this Challenge!\n </Typography>\n <TextField\n id=\"name\"\n label=\"Team Name\"\n value={team.name}\n fullWidth\n autoFocus\n required\n onChange={event => handleTeamUpdate({ name: event.target.value })}\n disabled={mutationIsPending}\n />\n <Box\n sx={{\n display: 'flex',\n }}\n >\n <TextField\n id=\"description\"\n label={\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n }}\n >\n <Box>Team Description</Box>\n </Box>\n }\n value={team.description}\n fullWidth\n multiline\n rows={4}\n onChange={event =>\n handleTeamUpdate({ description: event.target.value })\n }\n disabled={mutationIsPending}\n />\n </Box>\n <Box\n sx={{\n display: 'flex',\n }}\n >\n <TextField\n id=\"message\"\n label={\n <Box\n sx={{\n display: 'flex',\n gap: 2,\n }}\n >\n <Box>Recruitment Message</Box>\n </Box>\n }\n value={invitationMessage}\n fullWidth\n multiline\n rows={4}\n onChange={event => setInvitationMessage(event.target.value)}\n disabled={mutationIsPending}\n />\n </Box>\n <TextField\n id=\"invitees\"\n label=\"Emails of Additional Members to Invite (max 3)\"\n placeholder=\"Enter emails separated by comma\"\n value={rawInvitees}\n fullWidth\n onChange={event => setRawInvitees(event.target.value)}\n disabled={mutationIsPending}\n />\n {(tooManyInvitees || !isEmpty(inviteesParseResult.errors) || errors) && (\n <Alert severity=\"error\">\n {tooManyInvitees && (\n <Typography variant={'body1'}>{TOO_MANY_INVITEES_ERROR}</Typography>\n )}\n {inviteesParseResult.errors.map((error, index) => (\n <Typography key={index} variant={'body1'}>\n {error.message}\n </Typography>\n ))}\n {errors &&\n errors.map(error => (\n <Typography key={error.reason} variant={'body1'}>\n {error.reason}\n </Typography>\n ))}\n </Alert>\n )}\n </Box>\n )\n})\n"],"names":["parse","papaparseLib","INVITEE_LIMIT","TOO_MANY_INVITEES_ERROR","CreateChallengeTeam","forwardRef","props","ref","challengeId","onCanSubmitChange","noop","onFinished","team","setTeam","useState","invitationMessage","setInvitationMessage","rawInvitees","setRawInvitees","handleTeamUpdate","update","updatedTeam","inviteesParseResult","parsedInvitees","useMemo","value","tooManyInvitees","formDataIsValid","useEffect","createAndRegisterTeam","mutationIsPending","errors","useCreateAndRegisterChallengeTeam","useImperativeHandle","newTeam","Box","jsx","Typography","TextField","event","isEmpty","jsxs","Alert","error","index"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CitationPopoverContent.d.ts","sourceRoot":"","sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAYL,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAA;AA2B/D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAC9C,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAE5D,eAAO,MAAM,sBAAsB,GACjC,OAAO,oBAAoB,KAC1B,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"CitationPopoverContent.d.ts","sourceRoot":"","sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAYL,YAAY,EACb,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,aAAa,EAAkB,MAAM,iBAAiB,CAAA;AA2B/D,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAC9C,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;AAE5D,eAAO,MAAM,sBAAsB,GACjC,OAAO,oBAAoB,KAC1B,KAAK,CAAC,SA4LR,CAAA;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as e, jsxs as t, Fragment as k } from "react/jsx-runtime";
|
|
2
|
-
import { Popover as O, Stack as S, Box as n, Typography as
|
|
2
|
+
import { Popover as O, Stack as S, Box as n, Typography as p, Alert as B, FormControl as D, Select as H, MenuItem as i, Button as L } from "@mui/material";
|
|
3
3
|
import { useCitation as F } from "./useCitation.js";
|
|
4
4
|
import { createLinkAndDownload as R } from "./CitationPopoverUtils.js";
|
|
5
5
|
import { KeyboardArrowDown as A } from "@mui/icons-material";
|
|
6
6
|
import E from "@mui/icons-material/Close";
|
|
7
7
|
import { useState as T } from "react";
|
|
8
8
|
import { CopyToClipboardIcon as W } from "../CopyToClipboardIcon.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Markdown as j } from "../Markdown/MarkdownSynapse.js";
|
|
10
10
|
const z = {
|
|
11
11
|
width: "100%",
|
|
12
12
|
".MuiInputBase-root": {
|
|
@@ -44,8 +44,8 @@ const z = {
|
|
|
44
44
|
), {
|
|
45
45
|
data: a,
|
|
46
46
|
isLoading: v,
|
|
47
|
-
error:
|
|
48
|
-
} = F(x || "", r, !0),
|
|
47
|
+
error: d
|
|
48
|
+
} = F(x || "", r, !0), w = (o) => {
|
|
49
49
|
if (!o)
|
|
50
50
|
return;
|
|
51
51
|
const y = {
|
|
@@ -54,9 +54,9 @@ const z = {
|
|
|
54
54
|
ieee: "ris",
|
|
55
55
|
nature: "ris",
|
|
56
56
|
science: "ris"
|
|
57
|
-
}[r] || "txt",
|
|
58
|
-
R(m || "citation", y,
|
|
59
|
-
},
|
|
57
|
+
}[r] || "txt", M = new Blob([o], { type: "text/plain" }), I = URL.createObjectURL(M);
|
|
58
|
+
R(m || "citation", y, I);
|
|
59
|
+
}, C = (o) => {
|
|
60
60
|
g(o.target.value);
|
|
61
61
|
};
|
|
62
62
|
return /* @__PURE__ */ e(
|
|
@@ -103,7 +103,7 @@ const z = {
|
|
|
103
103
|
children: [
|
|
104
104
|
/* @__PURE__ */ t(n, { sx: { display: "flex", alignItems: "center" }, children: [
|
|
105
105
|
/* @__PURE__ */ e(
|
|
106
|
-
|
|
106
|
+
p,
|
|
107
107
|
{
|
|
108
108
|
sx: { fontSize: "20px", fontWeight: 700, lineHeight: "normal" },
|
|
109
109
|
children: "Cite As:"
|
|
@@ -124,11 +124,12 @@ const z = {
|
|
|
124
124
|
}
|
|
125
125
|
)
|
|
126
126
|
] }),
|
|
127
|
-
|
|
127
|
+
d && /* @__PURE__ */ e(B, { severity: "error", sx: { my: 2 }, icon: !1, children: d.message }),
|
|
128
128
|
/* @__PURE__ */ t(
|
|
129
|
-
|
|
129
|
+
p,
|
|
130
130
|
{
|
|
131
131
|
variant: "smallText1",
|
|
132
|
+
component: "div",
|
|
132
133
|
sx: {
|
|
133
134
|
lineHeight: "normal",
|
|
134
135
|
maxHeight: "300px",
|
|
@@ -171,7 +172,7 @@ const z = {
|
|
|
171
172
|
}
|
|
172
173
|
},
|
|
173
174
|
value: r,
|
|
174
|
-
onChange:
|
|
175
|
+
onChange: C,
|
|
175
176
|
IconComponent: A,
|
|
176
177
|
children: [
|
|
177
178
|
/* @__PURE__ */ e(i, { value: "bibtex", children: "bibtex" }),
|
|
@@ -185,7 +186,7 @@ const z = {
|
|
|
185
186
|
/* @__PURE__ */ e(
|
|
186
187
|
L,
|
|
187
188
|
{
|
|
188
|
-
onClick: () =>
|
|
189
|
+
onClick: () => w(a || ""),
|
|
189
190
|
variant: "contained",
|
|
190
191
|
sx: {
|
|
191
192
|
padding: "6px 16px",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CitationPopoverContent.js","sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n FormControl,\n MenuItem,\n Popover,\n Select,\n SelectChangeEvent,\n Stack,\n SxProps,\n Typography,\n PopoverProps,\n} from '@mui/material'\nimport React from 'react'\nimport { useCitation } from './useCitation'\nimport { createLinkAndDownload } from './CitationPopoverUtils'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport CloseIcon from '@mui/icons-material/Close'\nimport { useState } from 'react'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { CitationProps, CitationFormat } from './CitationTypes'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nconst selectSx: SxProps = {\n width: '100%',\n '.MuiInputBase-root': {\n minHeight: '38px',\n borderRadius: 0,\n '&:before, &:after': {\n borderBottom: 'none !important',\n },\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 0,\n },\n '&.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n '.MuiSelect-select': {\n display: 'flex',\n alignItems: 'center',\n },\n '.MuiInputBase-input': {\n padding: '7px 10px',\n },\n}\n\nexport type CitationPopoverProps = CitationProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nexport const CitationPopoverContent = (\n props: CitationPopoverProps,\n): React.ReactNode => {\n const {\n doi,\n title,\n boilerplateText,\n defaultCitationFormat,\n onClose,\n anchorEl,\n open,\n id,\n } = props\n\n const [citationFormat, setCitationFormat] = useState<CitationFormat>(\n defaultCitationFormat || 'bibtex',\n )\n const {\n data: citation,\n isLoading,\n error,\n } = useCitation(doi || '', citationFormat, true)\n\n const handleDownload = (citation: string) => {\n if (!citation) {\n return\n }\n const extensionMap: Record<string, string> = {\n apa: 'ris',\n bibtex: 'bib',\n ieee: 'ris',\n nature: 'ris',\n science: 'ris',\n }\n const fileExtension = extensionMap[citationFormat] || 'txt'\n\n const blob = new Blob([citation], { type: 'text/plain' })\n const url = URL.createObjectURL(blob)\n\n createLinkAndDownload(title || 'citation', fileExtension, url)\n }\n\n const handleChange = (event: SelectChangeEvent<CitationFormat>) => {\n setCitationFormat(event.target.value as CitationFormat)\n }\n\n return (\n <Popover\n aria-label=\"Citation options\"\n role=\"dialog\"\n id={id}\n elevation={9}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: theme => ({\n width: '500px',\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%',\n maxHeight: '100%',\n top: '0 !important',\n left: '0 !important',\n bottom: '0 !important',\n },\n }),\n },\n }}\n >\n <Stack\n sx={{\n gap: '20px',\n padding: '20px',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Typography\n sx={{ fontSize: '20px', fontWeight: 700, lineHeight: 'normal' }}\n >\n Cite As:\n </Typography>\n <CloseIcon\n sx={{\n cursor: 'pointer',\n display: { xs: 'block', sm: 'none' },\n marginLeft: 'auto',\n color: '#878E95',\n }}\n onClick={() => {\n onClose?.({}, 'escapeKeyDown')\n }}\n />\n </Box>\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }} icon={false}>\n {error.message}\n </Alert>\n )}\n <Typography\n variant=\"smallText1\"\n sx={{\n lineHeight: 'normal',\n maxHeight: '300px',\n overflowY: 'scroll',\n wordWrap: 'break-word',\n }}\n >\n {boilerplateText && (\n <>\n <MarkdownSynapse markdown={boilerplateText} />\n <br />\n </>\n )}\n {isLoading ? (\n <Box sx={{ fontWeight: 700 }}>\n <br />\n Loading citation...\n </Box>\n ) : (\n citation\n )}\n </Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n gap: { xs: '10px', sm: '8px' },\n width: '100%',\n maxHeight: '38px',\n }}\n >\n <Box sx={{ flex: 1 }}>\n <FormControl sx={selectSx}>\n <Select\n variant=\"standard\"\n sx={{\n svg: {\n color: '#878E95',\n width: '24px',\n height: '24px',\n right: '10px',\n },\n }}\n value={citationFormat}\n onChange={handleChange}\n IconComponent={KeyboardArrowDown}\n >\n <MenuItem value={'bibtex'}>bibtex</MenuItem>\n <MenuItem value={'apa'}>apa</MenuItem>\n <MenuItem value={'ieee'}>ieee</MenuItem>\n <MenuItem value={'nature'}>nature</MenuItem>\n <MenuItem value={'science'}>science</MenuItem>\n </Select>\n </FormControl>\n </Box>\n <Button\n onClick={() => handleDownload(citation || '')}\n variant=\"contained\"\n sx={{\n padding: '6px 16px',\n borderRadius: 0,\n }}\n >\n Download Citation\n </Button>\n <CopyToClipboardIcon\n value={citation || ''}\n sx={{\n borderRadius: 0,\n padding: '6px 16px',\n border: '1px solid',\n borderColor: 'primary.main',\n }}\n />\n </Box>\n </Stack>\n </Popover>\n )\n}\n\nexport default CitationPopoverContent\n"],"names":["selectSx","CitationPopoverContent","props","doi","title","boilerplateText","defaultCitationFormat","onClose","anchorEl","open","id","citationFormat","setCitationFormat","useState","citation","isLoading","error","useCitation","handleDownload","fileExtension","blob","url","createLinkAndDownload","handleChange","event","jsx","Popover","theme","jsxs","Stack","Box","Typography","CloseIcon","Alert","Fragment","MarkdownSynapse","FormControl","Select","KeyboardArrowDown","MenuItem","Button","CopyToClipboardIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CitationPopoverContent.js","sources":["../../../src/components/CitationPopover/CitationPopoverContent.tsx"],"sourcesContent":["import {\n Alert,\n Box,\n Button,\n FormControl,\n MenuItem,\n Popover,\n Select,\n SelectChangeEvent,\n Stack,\n SxProps,\n Typography,\n PopoverProps,\n} from '@mui/material'\nimport React from 'react'\nimport { useCitation } from './useCitation'\nimport { createLinkAndDownload } from './CitationPopoverUtils'\nimport { KeyboardArrowDown } from '@mui/icons-material'\nimport CloseIcon from '@mui/icons-material/Close'\nimport { useState } from 'react'\nimport CopyToClipboardIcon from '../CopyToClipboardIcon'\nimport { CitationProps, CitationFormat } from './CitationTypes'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\n\nconst selectSx: SxProps = {\n width: '100%',\n '.MuiInputBase-root': {\n minHeight: '38px',\n borderRadius: 0,\n '&:before, &:after': {\n borderBottom: 'none !important',\n },\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 0,\n },\n '&.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n '.MuiSelect-select': {\n display: 'flex',\n alignItems: 'center',\n },\n '.MuiInputBase-input': {\n padding: '7px 10px',\n },\n}\n\nexport type CitationPopoverProps = CitationProps &\n Pick<PopoverProps, 'anchorEl' | 'open' | 'id' | 'onClose'>\n\nexport const CitationPopoverContent = (\n props: CitationPopoverProps,\n): React.ReactNode => {\n const {\n doi,\n title,\n boilerplateText,\n defaultCitationFormat,\n onClose,\n anchorEl,\n open,\n id,\n } = props\n\n const [citationFormat, setCitationFormat] = useState<CitationFormat>(\n defaultCitationFormat || 'bibtex',\n )\n const {\n data: citation,\n isLoading,\n error,\n } = useCitation(doi || '', citationFormat, true)\n\n const handleDownload = (citation: string) => {\n if (!citation) {\n return\n }\n const extensionMap: Record<string, string> = {\n apa: 'ris',\n bibtex: 'bib',\n ieee: 'ris',\n nature: 'ris',\n science: 'ris',\n }\n const fileExtension = extensionMap[citationFormat] || 'txt'\n\n const blob = new Blob([citation], { type: 'text/plain' })\n const url = URL.createObjectURL(blob)\n\n createLinkAndDownload(title || 'citation', fileExtension, url)\n }\n\n const handleChange = (event: SelectChangeEvent<CitationFormat>) => {\n setCitationFormat(event.target.value as CitationFormat)\n }\n\n return (\n <Popover\n aria-label=\"Citation options\"\n role=\"dialog\"\n id={id}\n elevation={9}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n slotProps={{\n paper: {\n square: true,\n sx: theme => ({\n width: '500px',\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '100%',\n maxHeight: '100%',\n top: '0 !important',\n left: '0 !important',\n bottom: '0 !important',\n },\n }),\n },\n }}\n >\n <Stack\n sx={{\n gap: '20px',\n padding: '20px',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <Typography\n sx={{ fontSize: '20px', fontWeight: 700, lineHeight: 'normal' }}\n >\n Cite As:\n </Typography>\n <CloseIcon\n sx={{\n cursor: 'pointer',\n display: { xs: 'block', sm: 'none' },\n marginLeft: 'auto',\n color: '#878E95',\n }}\n onClick={() => {\n onClose?.({}, 'escapeKeyDown')\n }}\n />\n </Box>\n {error && (\n <Alert severity={'error'} sx={{ my: 2 }} icon={false}>\n {error.message}\n </Alert>\n )}\n <Typography\n variant=\"smallText1\"\n component={'div'}\n sx={{\n lineHeight: 'normal',\n maxHeight: '300px',\n overflowY: 'scroll',\n wordWrap: 'break-word',\n }}\n >\n {boilerplateText && (\n <>\n <MarkdownSynapse markdown={boilerplateText} />\n <br />\n </>\n )}\n {isLoading ? (\n <Box sx={{ fontWeight: 700 }}>\n <br />\n Loading citation...\n </Box>\n ) : (\n citation\n )}\n </Typography>\n <Box\n sx={{\n display: 'flex',\n flexDirection: { xs: 'column', sm: 'row' },\n gap: { xs: '10px', sm: '8px' },\n width: '100%',\n maxHeight: '38px',\n }}\n >\n <Box sx={{ flex: 1 }}>\n <FormControl sx={selectSx}>\n <Select\n variant=\"standard\"\n sx={{\n svg: {\n color: '#878E95',\n width: '24px',\n height: '24px',\n right: '10px',\n },\n }}\n value={citationFormat}\n onChange={handleChange}\n IconComponent={KeyboardArrowDown}\n >\n <MenuItem value={'bibtex'}>bibtex</MenuItem>\n <MenuItem value={'apa'}>apa</MenuItem>\n <MenuItem value={'ieee'}>ieee</MenuItem>\n <MenuItem value={'nature'}>nature</MenuItem>\n <MenuItem value={'science'}>science</MenuItem>\n </Select>\n </FormControl>\n </Box>\n <Button\n onClick={() => handleDownload(citation || '')}\n variant=\"contained\"\n sx={{\n padding: '6px 16px',\n borderRadius: 0,\n }}\n >\n Download Citation\n </Button>\n <CopyToClipboardIcon\n value={citation || ''}\n sx={{\n borderRadius: 0,\n padding: '6px 16px',\n border: '1px solid',\n borderColor: 'primary.main',\n }}\n />\n </Box>\n </Stack>\n </Popover>\n )\n}\n\nexport default CitationPopoverContent\n"],"names":["selectSx","CitationPopoverContent","props","doi","title","boilerplateText","defaultCitationFormat","onClose","anchorEl","open","id","citationFormat","setCitationFormat","useState","citation","isLoading","error","useCitation","handleDownload","fileExtension","blob","url","createLinkAndDownload","handleChange","event","jsx","Popover","theme","jsxs","Stack","Box","Typography","CloseIcon","Alert","Fragment","MarkdownSynapse","FormControl","Select","KeyboardArrowDown","MenuItem","Button","CopyToClipboardIcon"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as o,
|
|
1
|
+
import { jsx as o, Fragment as l, jsxs as r } from "react/jsx-runtime";
|
|
2
2
|
import { useCookiePreferences as k, COOKIES_AGREEMENT_COOKIE_KEY as x, allowNone as u, allowAll as f } from "../../utils/hooks/useCookiePreferences.js";
|
|
3
3
|
import { PRIVACY_POLICY_LINK as g, URL_TERMS_CONDITIONS_AGREEMENT as h, CHILD_MINOR_ADDENDUM_LINK as A } from "../../utils/SynapseConstants.js";
|
|
4
4
|
import { Typography as m, Link as a } from "@mui/material";
|
|
@@ -49,7 +49,6 @@ import "../../assets/icons/inSilicoModel.svg.js";
|
|
|
49
49
|
import "../../assets/icons/modelSystem.svg.js";
|
|
50
50
|
import "../../assets/mui_components/PackagableFile.svg.js";
|
|
51
51
|
import "../../assets/icons/spatialProfiling.svg.js";
|
|
52
|
-
import "react-select";
|
|
53
52
|
import "@mui/material/Skeleton";
|
|
54
53
|
import "react-hot-toast";
|
|
55
54
|
import "react-transition-group";
|
|
@@ -57,7 +56,7 @@ import "react-transition-group";
|
|
|
57
56
|
import { SetBasicAccessRequirementFields as F } from "../SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js";
|
|
58
57
|
import { SetManagedAccessRequirementFields as N } from "../SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js";
|
|
59
58
|
import { getDialogTitle as q, isLastStep as v } from "./CreateOrUpdateAccessRequirementWizardUtils.js";
|
|
60
|
-
function
|
|
59
|
+
function be(t) {
|
|
61
60
|
const { open: E, onCancel: u, onComplete: n } = t, [o, p] = c(
|
|
62
61
|
"SET_AR_COMMON_FIELDS"
|
|
63
62
|
), [l, e] = c(!1), [r, R] = c(t.accessRequirementId), a = s(null), S = s(null), A = s(null), _ = s(null), f = !!t.accessRequirementId, d = M(() => {
|
|
@@ -151,7 +150,7 @@ function he(t) {
|
|
|
151
150
|
);
|
|
152
151
|
}
|
|
153
152
|
export {
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
be as CreateOrUpdateAccessRequirementWizard,
|
|
154
|
+
be as default
|
|
156
155
|
};
|
|
157
156
|
//# sourceMappingURL=CreateOrUpdateAccessRequirementWizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrUpdateAccessRequirementWizard.js","sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.tsx"],"sourcesContent":["import { MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE } from '@sage-bionetworks/synapse-types'\nimport { MouseEventHandler, useMemo, useRef, useState } from 'react'\nimport {\n AccessRequirementAclEditor,\n AccessRequirementAclEditorHandle,\n} from '../AccessRequirementAclEditor/AccessRequirementAclEditor'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport {\n SetAccessRequirementCommonFields,\n SetAccessRequirementCommonFieldsHandle,\n SetAccessRequirementCommonFieldsProps,\n} from '../SetAccessRequirementCommonFields'\nimport SetBasicAccessRequirementFields, {\n SetBasicAccessRequirementFieldsHandle,\n} from '../SetBasicAccessRequirementFields'\nimport SetManagedAccessRequirementFields, {\n SetManagedAccessRequirementFieldsHandle,\n} from '../SetManagedAccessRequirementFields'\nimport {\n CreateOrUpdateAccessRequirementWizardStep,\n getDialogTitle,\n isLastStep,\n} from './CreateOrUpdateAccessRequirementWizardUtils'\n\nexport type CreateOrUpdateAccessRequirementWizardProps = {\n open: boolean\n onCancel: () => void\n onComplete: (accessRequirementID?: string) => void // return the (possibly new) Access Requirement ID\n} & Pick<\n SetAccessRequirementCommonFieldsProps,\n 'subject' | 'accessRequirementId'\n>\n\nexport function CreateOrUpdateAccessRequirementWizard(\n props: CreateOrUpdateAccessRequirementWizardProps,\n) {\n const { open, onCancel, onComplete } = props\n\n const [step, setStep] = useState<CreateOrUpdateAccessRequirementWizardStep>(\n 'SET_AR_COMMON_FIELDS',\n )\n const [isLoading, setIsLoading] = useState<boolean>(false)\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >(props.accessRequirementId)\n\n const setArCommonFieldsRef =\n useRef<SetAccessRequirementCommonFieldsHandle>(null)\n const setManagedArFieldsRef =\n useRef<SetManagedAccessRequirementFieldsHandle>(null)\n const editArAclRef = useRef<AccessRequirementAclEditorHandle>(null)\n const setBasicArFieldsRef =\n useRef<SetBasicAccessRequirementFieldsHandle>(null)\n\n const isEditing = Boolean(props['accessRequirementId'])\n\n const stepContent = useMemo(() => {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n return (\n <SetAccessRequirementCommonFields\n ref={setArCommonFieldsRef}\n onSave={(accessRequirementId, accessRequirementConcreteType) => {\n setAccessRequirementId(accessRequirementId)\n const nextStep: CreateOrUpdateAccessRequirementWizardStep =\n accessRequirementConcreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? 'SET_MANAGED_AR_FIELDS'\n : 'SET_BASIC_AR_FIELDS'\n setStep(nextStep)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n subject={props.subject}\n accessRequirementId={props.accessRequirementId}\n />\n )\n case 'SET_MANAGED_AR_FIELDS':\n return (\n <SetManagedAccessRequirementFields\n ref={setManagedArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n setStep('SET_MANAGED_AR_ACL_PERMISSIONS')\n setIsLoading(false)\n }}\n onError={() => {\n setIsLoading(false)\n }}\n />\n )\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return (\n <AccessRequirementAclEditor\n ref={editArAclRef}\n accessRequirementId={accessRequirementId!}\n onSaveComplete={saveSuccessful => {\n if (saveSuccessful) {\n onComplete(accessRequirementId)\n }\n setIsLoading(false)\n }}\n />\n )\n case 'SET_BASIC_AR_FIELDS':\n return (\n <SetBasicAccessRequirementFields\n ref={setBasicArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n onComplete(accessRequirementId)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n />\n )\n }\n }, [\n step,\n props.subject,\n props.accessRequirementId,\n accessRequirementId,\n onComplete,\n ])\n\n const onClickPrimary: MouseEventHandler<HTMLButtonElement> = e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n setIsLoading(true)\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n setArCommonFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_FIELDS':\n setManagedArFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n editArAclRef?.current?.save()\n return\n case 'SET_BASIC_AR_FIELDS':\n setBasicArFieldsRef?.current?.save()\n }\n }\n\n return (\n <ConfirmationDialog\n open={open}\n onCancel={onCancel}\n onConfirm={onClickPrimary}\n confirmButtonProps={{\n children: isLastStep(step) ? 'Save' : 'Save & Continue',\n disabled: isLoading,\n }}\n maxWidth={'md'}\n title={getDialogTitle(step, isEditing)}\n content={stepContent}\n />\n )\n}\n\nexport default CreateOrUpdateAccessRequirementWizard\n"],"names":["CreateOrUpdateAccessRequirementWizard","props","open","onCancel","onComplete","step","setStep","useState","isLoading","setIsLoading","accessRequirementId","setAccessRequirementId","setArCommonFieldsRef","useRef","setManagedArFieldsRef","editArAclRef","setBasicArFieldsRef","isEditing","stepContent","useMemo","jsx","SetAccessRequirementCommonFields","accessRequirementConcreteType","MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE","SetManagedAccessRequirementFields","AccessRequirementAclEditor","saveSuccessful","SetBasicAccessRequirementFields","ConfirmationDialog","e","isLastStep","getDialogTitle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateOrUpdateAccessRequirementWizard.js","sources":["../../../src/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.tsx"],"sourcesContent":["import { MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE } from '@sage-bionetworks/synapse-types'\nimport { MouseEventHandler, useMemo, useRef, useState } from 'react'\nimport {\n AccessRequirementAclEditor,\n AccessRequirementAclEditorHandle,\n} from '../AccessRequirementAclEditor/AccessRequirementAclEditor'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport {\n SetAccessRequirementCommonFields,\n SetAccessRequirementCommonFieldsHandle,\n SetAccessRequirementCommonFieldsProps,\n} from '../SetAccessRequirementCommonFields'\nimport SetBasicAccessRequirementFields, {\n SetBasicAccessRequirementFieldsHandle,\n} from '../SetBasicAccessRequirementFields'\nimport SetManagedAccessRequirementFields, {\n SetManagedAccessRequirementFieldsHandle,\n} from '../SetManagedAccessRequirementFields'\nimport {\n CreateOrUpdateAccessRequirementWizardStep,\n getDialogTitle,\n isLastStep,\n} from './CreateOrUpdateAccessRequirementWizardUtils'\n\nexport type CreateOrUpdateAccessRequirementWizardProps = {\n open: boolean\n onCancel: () => void\n onComplete: (accessRequirementID?: string) => void // return the (possibly new) Access Requirement ID\n} & Pick<\n SetAccessRequirementCommonFieldsProps,\n 'subject' | 'accessRequirementId'\n>\n\nexport function CreateOrUpdateAccessRequirementWizard(\n props: CreateOrUpdateAccessRequirementWizardProps,\n) {\n const { open, onCancel, onComplete } = props\n\n const [step, setStep] = useState<CreateOrUpdateAccessRequirementWizardStep>(\n 'SET_AR_COMMON_FIELDS',\n )\n const [isLoading, setIsLoading] = useState<boolean>(false)\n const [accessRequirementId, setAccessRequirementId] = useState<\n string | undefined\n >(props.accessRequirementId)\n\n const setArCommonFieldsRef =\n useRef<SetAccessRequirementCommonFieldsHandle>(null)\n const setManagedArFieldsRef =\n useRef<SetManagedAccessRequirementFieldsHandle>(null)\n const editArAclRef = useRef<AccessRequirementAclEditorHandle>(null)\n const setBasicArFieldsRef =\n useRef<SetBasicAccessRequirementFieldsHandle>(null)\n\n const isEditing = Boolean(props['accessRequirementId'])\n\n const stepContent = useMemo(() => {\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n return (\n <SetAccessRequirementCommonFields\n ref={setArCommonFieldsRef}\n onSave={(accessRequirementId, accessRequirementConcreteType) => {\n setAccessRequirementId(accessRequirementId)\n const nextStep: CreateOrUpdateAccessRequirementWizardStep =\n accessRequirementConcreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? 'SET_MANAGED_AR_FIELDS'\n : 'SET_BASIC_AR_FIELDS'\n setStep(nextStep)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n subject={props.subject}\n accessRequirementId={props.accessRequirementId}\n />\n )\n case 'SET_MANAGED_AR_FIELDS':\n return (\n <SetManagedAccessRequirementFields\n ref={setManagedArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n setStep('SET_MANAGED_AR_ACL_PERMISSIONS')\n setIsLoading(false)\n }}\n onError={() => {\n setIsLoading(false)\n }}\n />\n )\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n return (\n <AccessRequirementAclEditor\n ref={editArAclRef}\n accessRequirementId={accessRequirementId!}\n onSaveComplete={saveSuccessful => {\n if (saveSuccessful) {\n onComplete(accessRequirementId)\n }\n setIsLoading(false)\n }}\n />\n )\n case 'SET_BASIC_AR_FIELDS':\n return (\n <SetBasicAccessRequirementFields\n ref={setBasicArFieldsRef}\n accessRequirementId={accessRequirementId!}\n onSave={() => {\n onComplete(accessRequirementId)\n setIsLoading(false)\n }}\n onError={() => setIsLoading(false)}\n />\n )\n }\n }, [\n step,\n props.subject,\n props.accessRequirementId,\n accessRequirementId,\n onComplete,\n ])\n\n const onClickPrimary: MouseEventHandler<HTMLButtonElement> = e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n setIsLoading(true)\n switch (step) {\n case 'SET_AR_COMMON_FIELDS':\n setArCommonFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_FIELDS':\n setManagedArFieldsRef?.current?.save()\n return\n case 'SET_MANAGED_AR_ACL_PERMISSIONS':\n editArAclRef?.current?.save()\n return\n case 'SET_BASIC_AR_FIELDS':\n setBasicArFieldsRef?.current?.save()\n }\n }\n\n return (\n <ConfirmationDialog\n open={open}\n onCancel={onCancel}\n onConfirm={onClickPrimary}\n confirmButtonProps={{\n children: isLastStep(step) ? 'Save' : 'Save & Continue',\n disabled: isLoading,\n }}\n maxWidth={'md'}\n title={getDialogTitle(step, isEditing)}\n content={stepContent}\n />\n )\n}\n\nexport default CreateOrUpdateAccessRequirementWizard\n"],"names":["CreateOrUpdateAccessRequirementWizard","props","open","onCancel","onComplete","step","setStep","useState","isLoading","setIsLoading","accessRequirementId","setAccessRequirementId","setArCommonFieldsRef","useRef","setManagedArFieldsRef","editArAclRef","setBasicArFieldsRef","isEditing","stepContent","useMemo","jsx","SetAccessRequirementCommonFields","accessRequirementConcreteType","MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE","SetManagedAccessRequirementFields","AccessRequirementAclEditor","saveSuccessful","SetBasicAccessRequirementFields","ConfirmationDialog","e","isLastStep","getDialogTitle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCO,SAASA,GACdC,GACA;AACA,QAAM,EAAE,MAAAC,GAAM,UAAAC,GAAU,YAAAC,EAAA,IAAeH,GAEjC,CAACI,GAAMC,CAAO,IAAIC;AAAA,IACtB;AAAA,EAAA,GAEI,CAACC,GAAWC,CAAY,IAAIF,EAAkB,EAAK,GACnD,CAACG,GAAqBC,CAAsB,IAAIJ,EAEpDN,EAAM,mBAAmB,GAErBW,IACJC,EAA+C,IAAI,GAC/CC,IACJD,EAAgD,IAAI,GAChDE,IAAeF,EAAyC,IAAI,GAC5DG,IACJH,EAA8C,IAAI,GAE9CI,IAAY,EAAQhB,EAAM,qBAE1BiB,IAAcC,EAAQ,MAAM;AAChC,YAAQd,GAAA;AAAA,MACN,KAAK;AACH,eACE,gBAAAe;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKT;AAAA,YACL,QAAQ,CAACF,GAAqBY,MAAkC;AAC9D,cAAAX,EAAuBD,CAAmB,GAM1CJ,EAJEgB,MACAC,IACI,0BACA,qBACU,GAChBd,EAAa,EAAK;AAAA,YACpB;AAAA,YACA,SAAS,MAAMA,EAAa,EAAK;AAAA,YACjC,SAASR,EAAM;AAAA,YACf,qBAAqBA,EAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MAGjC,KAAK;AACH,eACE,gBAAAmB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,KAAKV;AAAA,YACL,qBAAAJ;AAAA,YACA,QAAQ,MAAM;AACZ,cAAAJ,EAAQ,gCAAgC,GACxCG,EAAa,EAAK;AAAA,YACpB;AAAA,YACA,SAAS,MAAM;AACb,cAAAA,EAAa,EAAK;AAAA,YACpB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN,KAAK;AACH,eACE,gBAAAW;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,KAAKV;AAAA,YACL,qBAAAL;AAAA,YACA,gBAAgB,CAAAgB,MAAkB;AAChC,cAAIA,KACFtB,EAAWM,CAAmB,GAEhCD,EAAa,EAAK;AAAA,YACpB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN,KAAK;AACH,eACE,gBAAAW;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,KAAKX;AAAA,YACL,qBAAAN;AAAA,YACA,QAAQ,MAAM;AACZ,cAAAN,EAAWM,CAAmB,GAC9BD,EAAa,EAAK;AAAA,YACpB;AAAA,YACA,SAAS,MAAMA,EAAa,EAAK;AAAA,UAAA;AAAA,QAAA;AAAA,IACnC;AAAA,EAGR,GAAG;AAAA,IACDJ;AAAA,IACAJ,EAAM;AAAA,IACNA,EAAM;AAAA,IACNS;AAAA,IACAN;AAAA,EAAA,CACD;AAqBD,SACE,gBAAAgB;AAAA,IAACQ;AAAA,IAAA;AAAA,MACC,MAAA1B;AAAA,MACA,UAAAC;AAAA,MACA,WAvByD,CAAA0B,MAAK;AAIhE,gBAFAA,EAAE,eAAA,GACFpB,EAAa,EAAI,GACTJ,GAAA;AAAA,UACN,KAAK;AACH,YAAAO,GAAsB,SAAS,KAAA;AAC/B;AAAA,UACF,KAAK;AACH,YAAAE,GAAuB,SAAS,KAAA;AAChC;AAAA,UACF,KAAK;AACH,YAAAC,GAAc,SAAS,KAAA;AACvB;AAAA,UACF,KAAK;AACH,YAAAC,GAAqB,SAAS,KAAA;AAAA,QAAK;AAAA,MAEzC;AAAA,MAOI,oBAAoB;AAAA,QAClB,UAAUc,EAAWzB,CAAI,IAAI,SAAS;AAAA,QACtC,UAAUG;AAAA,MAAA;AAAA,MAEZ,UAAU;AAAA,MACV,OAAOuB,EAAe1B,GAAMY,CAAS;AAAA,MACrC,SAASC;AAAA,IAAA;AAAA,EAAA;AAGf;"}
|
|
@@ -32,7 +32,7 @@ import "universal-cookie";
|
|
|
32
32
|
import "../../utils/AppUtils/session/ApplicationSessionContext.js";
|
|
33
33
|
import "../../utils/context/FullContextProvider.js";
|
|
34
34
|
import "../../utils/context/DocumentMetadataContext.js";
|
|
35
|
-
import '../FullWidthAlert/FullWidthAlert.css';import '../../style/components/_spinner.css';/* empty css */
|
|
35
|
+
import '../Plot/SynapsePlot.css';import '../FullWidthAlert/FullWidthAlert.css';import '../../style/components/_spinner.css';/* empty css */
|
|
36
36
|
import "react-router";
|
|
37
37
|
import "@mui/icons-material/Close";
|
|
38
38
|
import "../styled/StyledPopover.js";
|
|
@@ -169,7 +169,6 @@ import "@mui/x-date-pickers/AdapterDayjs";
|
|
|
169
169
|
import "@mui/x-date-pickers/LocalizationProvider";
|
|
170
170
|
import "../FeaturedDataTabs/FacetPlotsCardGrid.js";
|
|
171
171
|
import "../Forum/ForumTable.js";
|
|
172
|
-
import "@mui/material/IconButton";
|
|
173
172
|
import "@mui/icons-material/NavigateNext";
|
|
174
173
|
import "@react-google-maps/api";
|
|
175
174
|
import "../Markdown/MarkdownUtils.js";
|
|
@@ -183,6 +182,7 @@ import "lodash-es/orderBy";
|
|
|
183
182
|
import "../styled/LargeButton.js";
|
|
184
183
|
import "../../assets/illustrations/diagonalLinePattern.svg.js";
|
|
185
184
|
import "@upsetjs/react";
|
|
185
|
+
/* empty css */
|
|
186
186
|
import "reactflow";
|
|
187
187
|
import "../ProvenanceGraph/ProvenanceUtils.js";
|
|
188
188
|
import "reactflow/dist/style.css";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,iBAAiB,EAElB,MAAM,kCAAkC,CAAA;AA0BzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"SynapseGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/SynapseGrid.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,iBAAiB,EAElB,MAAM,kCAAkC,CAAA;AA0BzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACpD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,QAAA,MAAM,WAAW,gHAiahB,CAAA;AAED,eAAe,WAAW,CAAA"}
|