synapse-react-client 4.0.1 → 4.0.3-b
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/DNA_Two.svg +0 -0
- package/dist/assets/icons/Data2.svg +0 -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/AcknowledgementsPage/AcknowledgementsPage.js +4 -4
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js +10 -10
- package/dist/components/AddToDownloadListV2.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 +7 -1
- package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +24 -24
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.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/ChangePassword/useChangePasswordFormState.js +5 -2
- package/dist/components/ChangePassword/useChangePasswordFormState.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/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -9
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +8 -3
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +8 -3
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +8 -3
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.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/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/ShowDownloadV2.js +5 -5
- package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js +8 -3
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts +3 -0
- package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +113 -119
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +3 -3
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.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/FullWidthAlert/FullWidthAlert.d.ts +2 -2
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- 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 +86 -81
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +7 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +239 -202
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/HeaderCard.js +17 -13
- package/dist/components/HeaderCard.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/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +103 -102
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +6 -3
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- 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/SynapseHomepageV2/SynapseHomepageChatSearch.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +30 -32
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js +27 -30
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js +14 -17
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +114 -115
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.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/SearchPagePortalBanners.js +18 -18
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +66 -64
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.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/TopLevelControls/TopLevelControlsUtils.js +9 -9
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
- 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/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +8 -3
- 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/index.js +85 -83
- package/dist/components/index.js.map +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/table/CsvPreview/CsvPreview.js +8 -3
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +8 -3
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/features/curator/GridPage/GridPage.js +8 -3
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +8 -3
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/index.js +137 -135
- package/dist/index.js.map +1 -1
- package/dist/style/abstracts/_functions.scss +0 -0
- package/dist/style/abstracts/_mixins.scss +0 -0
- package/dist/style/abstracts/_variables.scss +0 -0
- package/dist/style/base/_base.scss +0 -0
- package/dist/style/base/_fonts.scss +0 -0
- package/dist/style/base/_helpers.scss +0 -0
- package/dist/style/components/_all.scss +0 -1
- package/dist/style/components/_cards.scss +22 -0
- package/dist/style/components/_download-list-v2.scss +1 -1
- package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
- package/dist/style/main.css +1 -1
- package/dist/style/main.scss +0 -0
- package/dist/style/vendors/_normalize.scss +0 -0
- package/dist/tsconfig.build.tsbuildinfo +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/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/package.json +25 -24
- 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/style/components/_download-cart-page.scss +0 -204
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcknowledgementsPage.js","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"sourcesContent":["import { Box, Button, Container, Link, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport { ReactComponent as AcknowledgementStatementsIllustration } from '../../assets/illustrations/acknowledgement_statements_illustration.svg'\nimport ComponentCollapse from '../ComponentCollapse'\nimport AcknowledgementsDialog from './AcknowledgementsDialog'\nimport { MarkdownSynapseProps } from '../Markdown/MarkdownSynapse'\nimport MarkdownCollapse from '../Markdown/MarkdownCollapse'\nimport { StudyAcknowledgements } from './StudyAcknowledgements'\nimport { LaunchTwoTone } from '@mui/icons-material'\nexport type AcknowledgementPageProps = {\n portalName: string\n createDoiHelpUrl: string\n portalAcknowledgementProps?: MarkdownSynapseProps\n dataAvailabilityProps?: MarkdownSynapseProps\n studyAcknowledgementSql: string\n}\n\nexport type AcknowledgementItem = {\n title: string\n statement: string\n}\n\nexport function AcknowledgementPage(props: AcknowledgementPageProps) {\n const {\n portalName,\n createDoiHelpUrl,\n portalAcknowledgementProps,\n dataAvailabilityProps,\n studyAcknowledgementSql,\n } = props\n const [isAcknowledgementsDialogOpen, setAcknowledgementsDialogOpen] =\n useState<boolean>(false)\n\n const [portalAcknowledgement, setPortalAcknowledgement] = useState<string>()\n const [dataAvailabilityStatement, setDataAvailabilityStatement] =\n useState<string>()\n const [acknowledgementItems, setAcknowledgementItems] = useState<\n AcknowledgementItem[]\n >([])\n const handleCloseDialog = useCallback(\n () => setAcknowledgementsDialogOpen(false),\n [],\n )\n return (\n <>\n <Container maxWidth={'lg'} sx={{ mt: '2em', mb: '2em' }}>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to acknowledge data from this portal\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The data available in the {portalName} would not be possible without\n the participation of research volunteers and the contribution of data\n by collaborating researchers. All use of data from the {portalName}{' '}\n must be acknowledged and referenced appropriately.\n </Typography>\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n All publications using {portalName} data must include the provided\n statements:\n </Typography>\n <Box sx={{ mb: '2em', svg: { maxWidth: '100%' } }}>\n <AcknowledgementStatementsIllustration />\n </Box>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to use this page:\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '.5em' }}>\n This page will guide you through creating the acknowledgement\n statements required when publishing with {portalName} data.\n </Typography>\n <Typography\n variant=\"body1\"\n sx={{\n mb: '2em',\n '& li::marker': {\n fontWeight: 'bold', // bold the number\n },\n }}\n >\n <ol>\n <li>\n <strong>Select study acknowledgement statements</strong>\n <br />\n From the list below, select all the studies whose data you used.\n Each study has a pre-written acknowledgement statement that must\n be included in your publication.\n </li>\n <li>\n <strong>Generate compiled statement</strong>\n <br />\n Click the Generate Compiled Statement button at the bottom of the\n page. This will compile:\n <ul>\n <li>The Portal Acknowledgement Statement</li>\n <li>The acknowledgement(s) for the studies you selected</li>\n <li>A template data availability statement</li>\n </ul>\n <i>\n Important: You will need to edit the compiled statement to add a\n brief description of the data used in your manuscript and a DOI\n that points to your dataset.\n </i>\n </li>\n <li>\n <strong>Create a DOI for your dataset</strong>\n <br />\n As part of the data availability statement, you will need to\n create a dataset that captures all files used in your publication\n and mint the dataset with a persistent Digital Object Identifier\n (DOI). For more instructions read \n <Link\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to get a DOI for your Publication\n </Link>\n </li>\n </ol>\n </Typography>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={1} style={{ paddingInlineStart: '20px' }}>\n <li>Select study acknowledgement statements</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\">\n From the list below, select all studies whose data you used. Each\n study has a pre-written acknowledgement statement that must be\n included in your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '2em' }}>\n You can also expand each section for detailed information or click\n \"Copy full statement to clipboard\" to save the text.\n </Typography>\n <StudyAcknowledgements\n sql={studyAcknowledgementSql}\n onSelectChange={(item, checked) => {\n if (checked) {\n // add\n acknowledgementItems.push(item)\n } else {\n // remove\n const index = acknowledgementItems.findIndex(\n i => i.title === item.title && i.statement === item.statement,\n )\n if (index > -1) {\n acknowledgementItems.splice(index, 1)\n }\n }\n setAcknowledgementItems([...acknowledgementItems])\n }}\n />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={2} style={{ paddingInlineStart: '25px' }}>\n <li>Generate compiled statement</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n Click to generate a compiled statement for your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The generated text will include your selected study acknowledgement\n statements and all other required statements listed below.\n </Typography>\n <Button\n variant=\"contained\"\n onClick={() => setAcknowledgementsDialogOpen(true)}\n sx={{ mb: '3em' }}\n >\n Generate compiled statement\n </Button>\n <ComponentCollapse\n text={'Click to see other text included in the compiled statement'}\n textVariant=\"h5\"\n textSx={{ fontSize: '16px', fontWeight: 'bold' }}\n textContainerSx={{ backgroundColor: 'unset', p: 0 }}\n collapseBoxSx={{ backgroundColor: 'unset', p: '20px 0px' }}\n iconSx={{ width: '20px', height: '20px' }}\n >\n {portalAcknowledgementProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', mb: '1em' }}>\n Portal Acknowledgement Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...portalAcknowledgementProps}\n setPlainTextResult={setPortalAcknowledgement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n {dataAvailabilityProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', m: '1em 0' }}>\n Data Availability Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...dataAvailabilityProps}\n setPlainTextResult={setDataAvailabilityStatement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n </ComponentCollapse>\n <hr />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={3} style={{ paddingInlineStart: '25px' }}>\n <li>Create a DOI for your dataset</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n A digital object identifier (DOI) provides a persistent identifier\n that allows readers to find the data cited in your publication.\n Creating a DOI in the Synapse platform is free and required as part of\n the data availability statement.\n </Typography>\n\n <Button\n variant=\"outlined\"\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <LaunchTwoTone sx={{ mr: '0.5em' }} />\n Learn how to get a DOI for your publication\n </Button>\n </Container>\n\n <AcknowledgementsDialog\n open={isAcknowledgementsDialogOpen}\n onClose={handleCloseDialog}\n createDoiHelpUrl={createDoiHelpUrl}\n portalAcknowledgement={portalAcknowledgement}\n dataAvailabilityStatement={dataAvailabilityStatement}\n studyAcknowledgements={acknowledgementItems}\n />\n </>\n )\n}\n\nexport default AcknowledgementPage\n"],"names":["AcknowledgementPage","props","portalName","createDoiHelpUrl","portalAcknowledgementProps","dataAvailabilityProps","studyAcknowledgementSql","isAcknowledgementsDialogOpen","setAcknowledgementsDialogOpen","useState","portalAcknowledgement","setPortalAcknowledgement","dataAvailabilityStatement","setDataAvailabilityStatement","acknowledgementItems","setAcknowledgementItems","handleCloseDialog","useCallback","jsxs","Fragment","Container","jsx","Typography","Box","AcknowledgementStatementsIllustration","Link","StudyAcknowledgements","item","checked","index","i","Button","ComponentCollapse","MarkdownCollapse","LaunchTwoTone","AcknowledgementsDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcknowledgementsPage.js","sources":["../../../src/components/AcknowledgementsPage/AcknowledgementsPage.tsx"],"sourcesContent":["import { Box, Button, Container, Link, Typography } from '@mui/material'\nimport { useCallback, useState } from 'react'\nimport { ReactComponent as AcknowledgementStatementsIllustration } from '../../assets/illustrations/acknowledgement_statements_illustration.svg'\nimport TextToComponentCollapse from '../TextToComponentCollapse'\nimport AcknowledgementsDialog from './AcknowledgementsDialog'\nimport { MarkdownSynapseProps } from '../Markdown/MarkdownSynapse'\nimport MarkdownCollapse from '../Markdown/MarkdownCollapse'\nimport { StudyAcknowledgements } from './StudyAcknowledgements'\nimport { LaunchTwoTone } from '@mui/icons-material'\nexport type AcknowledgementPageProps = {\n portalName: string\n createDoiHelpUrl: string\n portalAcknowledgementProps?: MarkdownSynapseProps\n dataAvailabilityProps?: MarkdownSynapseProps\n studyAcknowledgementSql: string\n}\n\nexport type AcknowledgementItem = {\n title: string\n statement: string\n}\n\nexport function AcknowledgementPage(props: AcknowledgementPageProps) {\n const {\n portalName,\n createDoiHelpUrl,\n portalAcknowledgementProps,\n dataAvailabilityProps,\n studyAcknowledgementSql,\n } = props\n const [isAcknowledgementsDialogOpen, setAcknowledgementsDialogOpen] =\n useState<boolean>(false)\n\n const [portalAcknowledgement, setPortalAcknowledgement] = useState<string>()\n const [dataAvailabilityStatement, setDataAvailabilityStatement] =\n useState<string>()\n const [acknowledgementItems, setAcknowledgementItems] = useState<\n AcknowledgementItem[]\n >([])\n const handleCloseDialog = useCallback(\n () => setAcknowledgementsDialogOpen(false),\n [],\n )\n return (\n <>\n <Container maxWidth={'lg'} sx={{ mt: '2em', mb: '2em' }}>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to acknowledge data from this portal\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The data available in the {portalName} would not be possible without\n the participation of research volunteers and the contribution of data\n by collaborating researchers. All use of data from the {portalName}{' '}\n must be acknowledged and referenced appropriately.\n </Typography>\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n All publications using {portalName} data must include the provided\n statements:\n </Typography>\n <Box sx={{ mb: '2em', svg: { maxWidth: '100%' } }}>\n <AcknowledgementStatementsIllustration />\n </Box>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n How to use this page:\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '.5em' }}>\n This page will guide you through creating the acknowledgement\n statements required when publishing with {portalName} data.\n </Typography>\n <Typography\n variant=\"body1\"\n sx={{\n mb: '2em',\n '& li::marker': {\n fontWeight: 'bold', // bold the number\n },\n }}\n >\n <ol>\n <li>\n <strong>Select study acknowledgement statements</strong>\n <br />\n From the list below, select all the studies whose data you used.\n Each study has a pre-written acknowledgement statement that must\n be included in your publication.\n </li>\n <li>\n <strong>Generate compiled statement</strong>\n <br />\n Click the Generate Compiled Statement button at the bottom of the\n page. This will compile:\n <ul>\n <li>The Portal Acknowledgement Statement</li>\n <li>The acknowledgement(s) for the studies you selected</li>\n <li>A template data availability statement</li>\n </ul>\n <i>\n Important: You will need to edit the compiled statement to add a\n brief description of the data used in your manuscript and a DOI\n that points to your dataset.\n </i>\n </li>\n <li>\n <strong>Create a DOI for your dataset</strong>\n <br />\n As part of the data availability statement, you will need to\n create a dataset that captures all files used in your publication\n and mint the dataset with a persistent Digital Object Identifier\n (DOI). For more instructions read \n <Link\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n How to get a DOI for your Publication\n </Link>\n </li>\n </ol>\n </Typography>\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={1} style={{ paddingInlineStart: '20px' }}>\n <li>Select study acknowledgement statements</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\">\n From the list below, select all studies whose data you used. Each\n study has a pre-written acknowledgement statement that must be\n included in your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '2em' }}>\n You can also expand each section for detailed information or click\n \"Copy full statement to clipboard\" to save the text.\n </Typography>\n <StudyAcknowledgements\n sql={studyAcknowledgementSql}\n onSelectChange={(item, checked) => {\n if (checked) {\n // add\n acknowledgementItems.push(item)\n } else {\n // remove\n const index = acknowledgementItems.findIndex(\n i => i.title === item.title && i.statement === item.statement,\n )\n if (index > -1) {\n acknowledgementItems.splice(index, 1)\n }\n }\n setAcknowledgementItems([...acknowledgementItems])\n }}\n />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={2} style={{ paddingInlineStart: '25px' }}>\n <li>Generate compiled statement</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ fontWeight: 'bold', mb: '1em' }}>\n Click to generate a compiled statement for your publication.\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n The generated text will include your selected study acknowledgement\n statements and all other required statements listed below.\n </Typography>\n <Button\n variant=\"contained\"\n onClick={() => setAcknowledgementsDialogOpen(true)}\n sx={{ mb: '3em' }}\n >\n Generate compiled statement\n </Button>\n <TextToComponentCollapse\n text={'Click to see other text included in the compiled statement'}\n textVariant=\"h5\"\n textSx={{ fontSize: '16px', fontWeight: 'bold' }}\n textContainerSx={{ backgroundColor: 'unset', p: 0 }}\n collapseBoxSx={{ backgroundColor: 'unset', p: '20px 0px' }}\n iconSx={{ width: '20px', height: '20px' }}\n >\n {portalAcknowledgementProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', mb: '1em' }}>\n Portal Acknowledgement Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...portalAcknowledgementProps}\n setPlainTextResult={setPortalAcknowledgement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n {dataAvailabilityProps && (\n <>\n <Typography variant=\"h5\" sx={{ fontSize: '18px', m: '1em 0' }}>\n Data Availability Statement (Required)\n </Typography>\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n This statement is required and automatically included in the\n compiled statement\n </Typography>\n <MarkdownCollapse\n {...dataAvailabilityProps}\n setPlainTextResult={setDataAvailabilityStatement}\n textDescription=\"full statement\"\n showCopyPlainText={true}\n />\n </>\n )}\n </TextToComponentCollapse>\n <hr />\n <Typography variant=\"h5\" sx={{ fontWeight: 'bold' }}>\n <ol start={3} style={{ paddingInlineStart: '25px' }}>\n <li>Create a DOI for your dataset</li>\n </ol>\n </Typography>\n <hr />\n <Typography variant=\"body1\" sx={{ mb: '1em' }}>\n A digital object identifier (DOI) provides a persistent identifier\n that allows readers to find the data cited in your publication.\n Creating a DOI in the Synapse platform is free and required as part of\n the data availability statement.\n </Typography>\n\n <Button\n variant=\"outlined\"\n href={createDoiHelpUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <LaunchTwoTone sx={{ mr: '0.5em' }} />\n Learn how to get a DOI for your publication\n </Button>\n </Container>\n\n <AcknowledgementsDialog\n open={isAcknowledgementsDialogOpen}\n onClose={handleCloseDialog}\n createDoiHelpUrl={createDoiHelpUrl}\n portalAcknowledgement={portalAcknowledgement}\n dataAvailabilityStatement={dataAvailabilityStatement}\n studyAcknowledgements={acknowledgementItems}\n />\n </>\n )\n}\n\nexport default AcknowledgementPage\n"],"names":["AcknowledgementPage","props","portalName","createDoiHelpUrl","portalAcknowledgementProps","dataAvailabilityProps","studyAcknowledgementSql","isAcknowledgementsDialogOpen","setAcknowledgementsDialogOpen","useState","portalAcknowledgement","setPortalAcknowledgement","dataAvailabilityStatement","setDataAvailabilityStatement","acknowledgementItems","setAcknowledgementItems","handleCloseDialog","useCallback","jsxs","Fragment","Container","jsx","Typography","Box","AcknowledgementStatementsIllustration","Link","StudyAcknowledgements","item","checked","index","i","Button","TextToComponentCollapse","MarkdownCollapse","LaunchTwoTone","AcknowledgementsDialog"],"mappings":";;;;;;;;;AAsBO,SAASA,EAAoBC,GAAiC;AACnE,QAAM;AAAA,IACJ,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,4BAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,yBAAAC;AAAA,EAAA,IACEL,GACE,CAACM,GAA8BC,CAA6B,IAChEC,EAAkB,EAAK,GAEnB,CAACC,GAAuBC,CAAwB,IAAIF,EAAA,GACpD,CAACG,GAA2BC,CAA4B,IAC5DJ,EAAA,GACI,CAACK,GAAsBC,CAAuB,IAAIN,EAEtD,CAAA,CAAE,GACEO,IAAoBC;AAAA,IACxB,MAAMT,EAA8B,EAAK;AAAA,IACzC,CAAA;AAAA,EAAC;AAEH,SACE,gBAAAU,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAU,UAAU,MAAM,IAAI,EAAE,IAAI,OAAO,IAAI,MAAA,GAC9C,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,OAAA,GAAU,UAAA,2CAAA,CAErD;AAAA,wBACC,MAAA,EAAG;AAAA,MACJ,gBAAAJ,EAACI,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,SAAS,UAAA;AAAA,QAAA;AAAA,QAClBpB;AAAA,QAAW;AAAA,QAEkBA;AAAA,QAAY;AAAA,QAAI;AAAA,MAAA,GAE1E;AAAA,MACA,gBAAAgB,EAACI,GAAA,EAAW,SAAQ,SAAQ,IAAI,EAAE,YAAY,QAAQ,IAAI,MAAA,GAAS,UAAA;AAAA,QAAA;AAAA,QACzCpB;AAAA,QAAW;AAAA,MAAA,GAErC;AAAA,MACA,gBAAAmB,EAACE,GAAA,EAAI,IAAI,EAAE,IAAI,OAAO,KAAK,EAAE,UAAU,OAAA,EAAO,GAC5C,UAAA,gBAAAF,EAACG,KAAsC,GACzC;AAAA,MACA,gBAAAH,EAACC,KAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,OAAA,GAAU,UAAA,wBAAA,CAErD;AAAA,wBACC,MAAA,EAAG;AAAA,MACJ,gBAAAJ,EAACI,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,UAAU,UAAA;AAAA,QAAA;AAAA,QAEJpB;AAAA,QAAW;AAAA,MAAA,GACvD;AAAA,MACA,gBAAAmB;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,IAAI;AAAA,YACF,IAAI;AAAA,YACJ,gBAAgB;AAAA,cACd,YAAY;AAAA;AAAA,YAAA;AAAA,UACd;AAAA,UAGF,4BAAC,MAAA,EACC,UAAA;AAAA,YAAA,gBAAAJ,EAAC,MAAA,EACC,UAAA;AAAA,cAAA,gBAAAG,EAAC,YAAO,UAAA,0CAAA,CAAuC;AAAA,gCAC9C,MAAA,EAAG;AAAA,cAAE;AAAA,YAAA,GAIR;AAAA,8BACC,MAAA,EACC,UAAA;AAAA,cAAA,gBAAAA,EAAC,YAAO,UAAA,8BAAA,CAA2B;AAAA,gCAClC,MAAA,EAAG;AAAA,cAAE;AAAA,gCAGL,MAAA,EACC,UAAA;AAAA,gBAAA,gBAAAA,EAAC,QAAG,UAAA,uCAAA,CAAoC;AAAA,gBACxC,gBAAAA,EAAC,QAAG,UAAA,sDAAA,CAAmD;AAAA,gBACvD,gBAAAA,EAAC,QAAG,UAAA,yCAAA,CAAsC;AAAA,cAAA,GAC5C;AAAA,cACA,gBAAAA,EAAC,OAAE,UAAA,gKAAA,CAIH;AAAA,YAAA,GACF;AAAA,8BACC,MAAA,EACC,UAAA;AAAA,cAAA,gBAAAA,EAAC,YAAO,UAAA,gCAAA,CAA6B;AAAA,gCACpC,MAAA,EAAG;AAAA,cAAE;AAAA,cAKN,gBAAAA;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,MAAMtB;AAAA,kBACN,QAAO;AAAA,kBACP,KAAI;AAAA,kBACL,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAED,EAAA,CACF;AAAA,UAAA,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,gBAAAkB,EAACC,KAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,OAAA,GACzC,UAAA,gBAAAD,EAAC,MAAA,EAAG,OAAO,GAAG,OAAO,EAAE,oBAAoB,OAAA,GACzC,UAAA,gBAAAA,EAAC,MAAA,EAAG,UAAA,2CAAuC,EAAA,CAC7C,EAAA,CACF;AAAA,wBACC,MAAA,EAAG;AAAA,MACJ,gBAAAA,EAACC,GAAA,EAAW,SAAQ,SAAQ,UAAA,kKAI5B;AAAA,MACA,gBAAAD,EAACC,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,MAAA,GAAS,UAAA,0HAAA,CAG/C;AAAA,MACA,gBAAAD;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,KAAKpB;AAAA,UACL,gBAAgB,CAACqB,GAAMC,MAAY;AACjC,gBAAIA;AAEF,cAAAd,EAAqB,KAAKa,CAAI;AAAA,iBACzB;AAEL,oBAAME,IAAQf,EAAqB;AAAA,gBACjC,OAAKgB,EAAE,UAAUH,EAAK,SAASG,EAAE,cAAcH,EAAK;AAAA,cAAA;AAEtD,cAAIE,IAAQ,MACVf,EAAqB,OAAOe,GAAO,CAAC;AAAA,YAExC;AACA,YAAAd,EAAwB,CAAC,GAAGD,CAAoB,CAAC;AAAA,UACnD;AAAA,QAAA;AAAA,MAAA;AAAA,MAEF,gBAAAO,EAACC,KAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,OAAA,GACzC,UAAA,gBAAAD,EAAC,MAAA,EAAG,OAAO,GAAG,OAAO,EAAE,oBAAoB,OAAA,GACzC,UAAA,gBAAAA,EAAC,MAAA,EAAG,UAAA,+BAA2B,EAAA,CACjC,EAAA,CACF;AAAA,wBACC,MAAA,EAAG;AAAA,MACJ,gBAAAA,EAACC,GAAA,EAAW,SAAQ,SAAQ,IAAI,EAAE,YAAY,QAAQ,IAAI,MAAA,GAAS,UAAA,+DAAA,CAEnE;AAAA,MACA,gBAAAD,EAACC,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,MAAA,GAAS,UAAA,iIAAA,CAG/C;AAAA,MACA,gBAAAD;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAMvB,EAA8B,EAAI;AAAA,UACjD,IAAI,EAAE,IAAI,MAAA;AAAA,UACX,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGD,gBAAAU;AAAA,QAACc;AAAA,QAAA;AAAA,UACC,MAAM;AAAA,UACN,aAAY;AAAA,UACZ,QAAQ,EAAE,UAAU,QAAQ,YAAY,OAAA;AAAA,UACxC,iBAAiB,EAAE,iBAAiB,SAAS,GAAG,EAAA;AAAA,UAChD,eAAe,EAAE,iBAAiB,SAAS,GAAG,WAAA;AAAA,UAC9C,QAAQ,EAAE,OAAO,QAAQ,QAAQ,OAAA;AAAA,UAEhC,UAAA;AAAA,YAAA5B,KACC,gBAAAc,EAAAC,GAAA,EACE,UAAA;AAAA,cAAA,gBAAAE,EAACC,GAAA,EAAW,SAAQ,MAAK,IAAI,EAAE,UAAU,QAAQ,IAAI,MAAA,GAAS,UAAA,8CAAA,CAE9D;AAAA,cACA,gBAAAD,EAACC,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,MAAA,GAAS,UAAA,kFAAA,CAG/C;AAAA,cACA,gBAAAD;AAAA,gBAACY;AAAA,gBAAA;AAAA,kBACE,GAAG7B;AAAA,kBACJ,oBAAoBO;AAAA,kBACpB,iBAAgB;AAAA,kBAChB,mBAAmB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACrB,GACF;AAAA,YAEDN,KACC,gBAAAa,EAAAC,GAAA,EACE,UAAA;AAAA,cAAA,gBAAAE,EAACC,GAAA,EAAW,SAAQ,MAAK,IAAI,EAAE,UAAU,QAAQ,GAAG,QAAA,GAAW,UAAA,yCAAA,CAE/D;AAAA,cACA,gBAAAD,EAACC,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,MAAA,GAAS,UAAA,kFAAA,CAG/C;AAAA,cACA,gBAAAD;AAAA,gBAACY;AAAA,gBAAA;AAAA,kBACE,GAAG5B;AAAA,kBACJ,oBAAoBQ;AAAA,kBACpB,iBAAgB;AAAA,kBAChB,mBAAmB;AAAA,gBAAA;AAAA,cAAA;AAAA,YACrB,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,wBAGH,MAAA,EAAG;AAAA,MACJ,gBAAAQ,EAACC,KAAW,SAAQ,MAAK,IAAI,EAAE,YAAY,OAAA,GACzC,UAAA,gBAAAD,EAAC,MAAA,EAAG,OAAO,GAAG,OAAO,EAAE,oBAAoB,OAAA,GACzC,UAAA,gBAAAA,EAAC,MAAA,EAAG,UAAA,iCAA6B,EAAA,CACnC,EAAA,CACF;AAAA,wBACC,MAAA,EAAG;AAAA,MACJ,gBAAAA,EAACC,KAAW,SAAQ,SAAQ,IAAI,EAAE,IAAI,MAAA,GAAS,UAAA,6OAAA,CAK/C;AAAA,MAEA,gBAAAJ;AAAA,QAACa;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAM5B;AAAA,UACN,QAAO;AAAA,UACP,KAAI;AAAA,UAEJ,UAAA;AAAA,YAAA,gBAAAkB,EAACa,GAAA,EAAc,IAAI,EAAE,IAAI,WAAW;AAAA,YAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAExC,GACF;AAAA,IAEA,gBAAAb;AAAA,MAACc;AAAA,MAAA;AAAA,QACC,MAAM5B;AAAA,QACN,SAASS;AAAA,QACT,kBAAAb;AAAA,QACA,uBAAAO;AAAA,QACA,2BAAAE;AAAA,QACA,uBAAuBE;AAAA,MAAA;AAAA,IAAA;AAAA,EACzB,GACF;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as o, Fragment as
|
|
1
|
+
import { jsx as o, Fragment as r } from "react/jsx-runtime";
|
|
2
2
|
import "../synapse-client/SynapseClient.js";
|
|
3
3
|
import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
|
|
4
4
|
import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
|
|
@@ -11,7 +11,7 @@ import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
|
|
|
11
11
|
import "@tanstack/react-query";
|
|
12
12
|
import "../utils/PermissionLevelToAccessType.js";
|
|
13
13
|
import "react";
|
|
14
|
-
import { useSynapseContext as
|
|
14
|
+
import { useSynapseContext as a } from "../utils/context/SynapseContext.js";
|
|
15
15
|
import "use-deep-compare-effect";
|
|
16
16
|
import { Tooltip as l, Link as c } from "@mui/material";
|
|
17
17
|
import "../utils/hooks/useCookiePreferences.js";
|
|
@@ -33,24 +33,24 @@ import { useGetEntity as f } from "../synapse-queries/entity/useEntity.js";
|
|
|
33
33
|
import y from "./IconSvg/IconSvg.js";
|
|
34
34
|
import { displayToast as m } from "./ToastMessage/ToastMessage.js";
|
|
35
35
|
function X(e) {
|
|
36
|
-
const { entityId: t, entityVersionNumber:
|
|
36
|
+
const { entityId: t, entityVersionNumber: i } = e, { isAuthenticated: n } = a(), { data: p } = f(t, i), { mutate: d } = u({
|
|
37
37
|
onSuccess: () => {
|
|
38
38
|
m(
|
|
39
|
-
`${p?.name ?? t} was successfully added to your Download
|
|
39
|
+
`${p?.name ?? t} was successfully added to your Download List.`,
|
|
40
40
|
"success"
|
|
41
41
|
);
|
|
42
42
|
},
|
|
43
|
-
onError: (
|
|
43
|
+
onError: (s) => {
|
|
44
44
|
m(
|
|
45
|
-
`Unable to add the file to your Download
|
|
45
|
+
`Unable to add the file to your Download List. ${s.reason}`,
|
|
46
46
|
"danger"
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
-
return n ? /* @__PURE__ */ o(
|
|
50
|
+
return n ? /* @__PURE__ */ o(r, { children: /* @__PURE__ */ o(
|
|
51
51
|
l,
|
|
52
52
|
{
|
|
53
|
-
title: "Add this file to your Download
|
|
53
|
+
title: "Add this file to your Download List",
|
|
54
54
|
placement: "right",
|
|
55
55
|
enterNextDelay: 300,
|
|
56
56
|
children: /* @__PURE__ */ o(
|
|
@@ -58,14 +58,14 @@ function X(e) {
|
|
|
58
58
|
{
|
|
59
59
|
"data-testid": "AddToDownloadListV2",
|
|
60
60
|
onClick: () => {
|
|
61
|
-
|
|
61
|
+
d({ entityId: t, entityVersionNumber: i });
|
|
62
62
|
},
|
|
63
63
|
className: "ignoreLink",
|
|
64
64
|
children: /* @__PURE__ */ o(y, { icon: "addToCart" })
|
|
65
65
|
}
|
|
66
66
|
)
|
|
67
67
|
}
|
|
68
|
-
) }) : /* @__PURE__ */ o(
|
|
68
|
+
) }) : /* @__PURE__ */ o(r, {});
|
|
69
69
|
}
|
|
70
70
|
export {
|
|
71
71
|
X as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddToDownloadListV2.js","sources":["../../src/components/AddToDownloadListV2.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { useAddFileToDownloadList } from '@/synapse-queries/download/useDownloadList'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Link, Tooltip } from '@mui/material'\nimport IconSvg from './IconSvg/IconSvg'\nimport { displayToast } from './ToastMessage/ToastMessage'\n\nexport type AddToDownloadListV2Props = {\n entityId: string\n entityVersionNumber?: number\n}\n\nfunction AddToDownloadListV2(props: AddToDownloadListV2Props) {\n const { entityId, entityVersionNumber } = props\n const { isAuthenticated } = useSynapseContext()\n\n const { data: entity } = useGetEntity(entityId, entityVersionNumber)\n\n const { mutate: addToDownloadList } = useAddFileToDownloadList({\n onSuccess: () => {\n displayToast(\n `${\n entity?.name ?? entityId\n } was successfully added to your Download
|
|
1
|
+
{"version":3,"file":"AddToDownloadListV2.js","sources":["../../src/components/AddToDownloadListV2.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { useAddFileToDownloadList } from '@/synapse-queries/download/useDownloadList'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Link, Tooltip } from '@mui/material'\nimport IconSvg from './IconSvg/IconSvg'\nimport { displayToast } from './ToastMessage/ToastMessage'\n\nexport type AddToDownloadListV2Props = {\n entityId: string\n entityVersionNumber?: number\n}\n\nfunction AddToDownloadListV2(props: AddToDownloadListV2Props) {\n const { entityId, entityVersionNumber } = props\n const { isAuthenticated } = useSynapseContext()\n\n const { data: entity } = useGetEntity(entityId, entityVersionNumber)\n\n const { mutate: addToDownloadList } = useAddFileToDownloadList({\n onSuccess: () => {\n displayToast(\n `${\n entity?.name ?? entityId\n } was successfully added to your Download List.`,\n 'success',\n )\n },\n onError: e => {\n displayToast(\n `Unable to add the file to your Download List. ${e.reason}`,\n 'danger',\n )\n },\n })\n\n if (!isAuthenticated) {\n return <></>\n }\n\n return (\n <>\n <Tooltip\n title=\"Add this file to your Download List\"\n placement=\"right\"\n enterNextDelay={300}\n >\n <Link\n data-testid=\"AddToDownloadListV2\"\n onClick={() => {\n addToDownloadList({ entityId, entityVersionNumber })\n }}\n className=\"ignoreLink\"\n >\n <IconSvg icon={'addToCart'} />\n </Link>\n </Tooltip>\n </>\n )\n}\n\nexport default AddToDownloadListV2\n"],"names":["AddToDownloadListV2","props","entityId","entityVersionNumber","isAuthenticated","useSynapseContext","entity","useGetEntity","addToDownloadList","useAddFileToDownloadList","displayToast","e","jsx","Fragment","Tooltip","Link","IconSvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,SAASA,EAAoBC,GAAiC;AAC5D,QAAM,EAAE,UAAAC,GAAU,qBAAAC,EAAA,IAAwBF,GACpC,EAAE,iBAAAG,EAAA,IAAoBC,EAAA,GAEtB,EAAE,MAAMC,EAAA,IAAWC,EAAaL,GAAUC,CAAmB,GAE7D,EAAE,QAAQK,EAAA,IAAsBC,EAAyB;AAAA,IAC7D,WAAW,MAAM;AACf,MAAAC;AAAA,QACE,GACEJ,GAAQ,QAAQJ,CAClB;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,SAAS,CAAAS,MAAK;AACZ,MAAAD;AAAA,QACE,iDAAiDC,EAAE,MAAM;AAAA,QACzD;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA,CACD;AAED,SAAKP,IAKH,gBAAAQ,EAAAC,GAAA,EACE,UAAA,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,WAAU;AAAA,MACV,gBAAgB;AAAA,MAEhB,UAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,eAAY;AAAA,UACZ,SAAS,MAAM;AACb,YAAAP,EAAkB,EAAE,UAAAN,GAAU,qBAAAC,GAAqB;AAAA,UACrD;AAAA,UACA,WAAU;AAAA,UAEV,UAAA,gBAAAS,EAACI,GAAA,EAAQ,MAAM,YAAA,CAAa;AAAA,QAAA;AAAA,MAAA;AAAA,IAC9B;AAAA,EAAA,GAEJ,IApBO,gBAAAJ,EAAAC,GAAA,EAAE;AAsBb;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._BasePortalCard__root_ug9g6_1.MuiCard-root{position:relative}._BasePortalCard__contentBelow_ug9g6_5{margin-top:15px}._BasePortalCard__content_ug9g6_5.MuiCardContent-root:last-child{padding:0}._BasePortalCard__media_ug9g6_13{height:50%;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.05)}@media(min-width:768px){._BasePortalCard__media_ug9g6_13{height:60%}}._BasePortalCard__media_ug9g6_13 .MuiCardMedia-root{height:100%}._small_ug9g6_27{width:100%;height:250px;min-height:150px}@media(min-width:768px){._small_ug9g6_27{width:250px}}._medium_ug9g6_38{width:100%;height:400px;min-height:200px}@media(min-width:768px){._medium_ug9g6_38{width:400px}}._large_ug9g6_49{width:100%;height:500px;min-height:300px}@media(min-width:768px){._large_ug9g6_49{width:600px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePortalCard.d.ts","sourceRoot":"","sources":["../../../src/components/BasePortalCard/BasePortalCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BasePortalCard.d.ts","sourceRoot":"","sources":["../../../src/components/BasePortalCard/BasePortalCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGxC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,cAAc,GAAI,mHASrB,mBAAmB,KAAG,KAAK,CAAC,SAyB9B,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -1,42 +1,35 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import n from "@mui/material/Box";
|
|
3
|
-
import a from "./BasePortalCard.module.scss.js";
|
|
1
|
+
import { jsxs as s, jsx as r } from "react/jsx-runtime";
|
|
4
2
|
import { Stack as C, Card as _, CardMedia as p, CardContent as B } from "@mui/material";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
import t from "@mui/material/Box";
|
|
4
|
+
import a from "./BasePortalCard.module.scss.js";
|
|
5
|
+
const N = ({
|
|
6
|
+
borderRadiusPx: m,
|
|
7
|
+
boxShadow: d,
|
|
8
|
+
children: l,
|
|
9
9
|
contentBelowCard: e,
|
|
10
|
-
cardSize:
|
|
11
|
-
className:
|
|
12
|
-
backgroundImage:
|
|
13
|
-
backgroundColor:
|
|
14
|
-
}) => /* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
10
|
+
cardSize: i = "medium",
|
|
11
|
+
className: c,
|
|
12
|
+
backgroundImage: o,
|
|
13
|
+
backgroundColor: n
|
|
14
|
+
}) => /* @__PURE__ */ s(C, { children: [
|
|
15
|
+
/* @__PURE__ */ s(
|
|
16
16
|
_,
|
|
17
17
|
{
|
|
18
|
-
className: `${
|
|
18
|
+
className: `${c} ${a.BasePortalCard__root} ${a[i]}`,
|
|
19
19
|
sx: {
|
|
20
|
-
backgroundColor:
|
|
21
|
-
borderRadius:
|
|
22
|
-
boxShadow:
|
|
20
|
+
backgroundColor: n,
|
|
21
|
+
borderRadius: m,
|
|
22
|
+
boxShadow: d
|
|
23
23
|
},
|
|
24
24
|
children: [
|
|
25
|
-
/* @__PURE__ */ r(
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
image: i,
|
|
29
|
-
component: "img",
|
|
30
|
-
className: a.BasePortalCard__media
|
|
31
|
-
}
|
|
32
|
-
),
|
|
33
|
-
/* @__PURE__ */ r(B, { className: a.BasePortalCard__content, children: m })
|
|
25
|
+
/* @__PURE__ */ r(t, { className: a.BasePortalCard__media, children: o && /* @__PURE__ */ r(p, { image: o, component: "img" }) }),
|
|
26
|
+
/* @__PURE__ */ r(B, { className: a.BasePortalCard__content, children: l })
|
|
34
27
|
]
|
|
35
28
|
}
|
|
36
29
|
),
|
|
37
|
-
e && /* @__PURE__ */ r(
|
|
30
|
+
e && /* @__PURE__ */ r(t, { className: a.BasePortalCard__contentBelow, children: e })
|
|
38
31
|
] });
|
|
39
32
|
export {
|
|
40
|
-
|
|
33
|
+
N as default
|
|
41
34
|
};
|
|
42
35
|
//# sourceMappingURL=BasePortalCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasePortalCard.js","sources":["../../../src/components/BasePortalCard/BasePortalCard.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BasePortalCard.js","sources":["../../../src/components/BasePortalCard/BasePortalCard.tsx"],"sourcesContent":["import { Card, CardContent, CardMedia, Stack } from '@mui/material'\nimport Box from '@mui/material/Box'\nimport React, { ReactNode } from 'react'\nimport styles from './BasePortalCard.module.scss'\n\ntype BasePortalCardProps = {\n children?: ReactNode\n contentBelowCard?: ReactNode\n borderRadiusPx?: number\n boxShadow?: string\n cardSize?: 'small' | 'medium' | 'large'\n backgroundImage?: string\n backgroundColor?: string\n className?: string\n}\n\nconst BasePortalCard = ({\n borderRadiusPx,\n boxShadow,\n children,\n contentBelowCard,\n cardSize = 'medium',\n className,\n backgroundImage,\n backgroundColor,\n}: BasePortalCardProps): React.ReactNode => (\n <Stack>\n <Card\n className={`${className} ${styles.BasePortalCard__root} ${styles[cardSize]}`}\n sx={{\n backgroundColor: backgroundColor,\n borderRadius: borderRadiusPx,\n boxShadow: boxShadow,\n }}\n >\n <Box className={styles.BasePortalCard__media}>\n {backgroundImage && (\n <CardMedia image={backgroundImage} component=\"img\" />\n )}\n </Box>\n <CardContent className={styles.BasePortalCard__content}>\n {children}\n </CardContent>\n </Card>\n {contentBelowCard && (\n <Box className={styles.BasePortalCard__contentBelow}>\n {contentBelowCard}\n </Box>\n )}\n </Stack>\n)\n\nexport default BasePortalCard\n"],"names":["BasePortalCard","borderRadiusPx","boxShadow","children","contentBelowCard","cardSize","className","backgroundImage","backgroundColor","Stack","jsxs","Card","styles","jsx","Box","CardMedia","CardContent"],"mappings":";;;;AAgBA,MAAMA,IAAiB,CAAC;AAAA,EACtB,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,iBAAAC;AACF,wBACGC,GAAA,EACC,UAAA;AAAA,EAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAW,GAAGL,CAAS,IAAIM,EAAO,oBAAoB,IAAIA,EAAOP,CAAQ,CAAC;AAAA,MAC1E,IAAI;AAAA,QACF,iBAAAG;AAAA,QACA,cAAcP;AAAA,QACd,WAAAC;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAW,EAACC,GAAA,EAAI,WAAWF,EAAO,uBACpB,UAAAL,KACC,gBAAAM,EAACE,GAAA,EAAU,OAAOR,GAAiB,WAAU,MAAA,CAAM,GAEvD;AAAA,QACA,gBAAAM,EAACG,GAAA,EAAY,WAAWJ,EAAO,yBAC5B,UAAAT,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAAA,EAEDC,KACC,gBAAAS,EAACC,GAAA,EAAI,WAAWF,EAAO,8BACpB,UAAAR,EAAA,CACH;AAAA,EAAA,CAEJ;"}
|
|
@@ -13,12 +13,18 @@
|
|
|
13
13
|
padding: 0;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.BasePortalCard__media
|
|
16
|
+
.BasePortalCard__media {
|
|
17
17
|
height: 50%;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
18
20
|
|
|
19
21
|
@media (min-width: map.get(SrcVariables.$breakpoints, 'medium')) {
|
|
20
22
|
height: 60%;
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
:global(.MuiCardMedia-root) {
|
|
26
|
+
height: 100%;
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
.small {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import './BasePortalCard.css';const a = "
|
|
1
|
+
import './BasePortalCard.css';const a = "_BasePortalCard__root_ug9g6_1", _ = "_BasePortalCard__contentBelow_ug9g6_5", t = "_BasePortalCard__content_ug9g6_5", o = "_BasePortalCard__media_ug9g6_13", e = "_small_ug9g6_27", r = "_medium_ug9g6_38", l = "_large_ug9g6_49", s = {
|
|
2
2
|
BasePortalCard__root: a,
|
|
3
|
-
BasePortalCard__contentBelow:
|
|
4
|
-
BasePortalCard__content:
|
|
5
|
-
BasePortalCard__media:
|
|
6
|
-
small:
|
|
7
|
-
medium:
|
|
3
|
+
BasePortalCard__contentBelow: _,
|
|
4
|
+
BasePortalCard__content: t,
|
|
5
|
+
BasePortalCard__media: o,
|
|
6
|
+
small: e,
|
|
7
|
+
medium: r,
|
|
8
8
|
large: l
|
|
9
9
|
};
|
|
10
10
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
t as BasePortalCard__content,
|
|
12
|
+
_ as BasePortalCard__contentBelow,
|
|
13
|
+
o as BasePortalCard__media,
|
|
14
14
|
a as BasePortalCard__root,
|
|
15
15
|
s as default,
|
|
16
16
|
l as large,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
r as medium,
|
|
18
|
+
e as small
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=BasePortalCard.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorfulPortalCardWithChips.d.ts","sourceRoot":"","sources":["../../../../src/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColorfulPortalCardWithChips.d.ts","sourceRoot":"","sources":["../../../../src/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,KAAK,gCAAgC,GAAG;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;CACxC,CAAA;AA6BD,QAAA,MAAM,2BAA2B,GAAI,0KAclC,gCAAgC,KAAG,KAAK,CAAC,SAqE3C,CAAA;AAED,eAAe,2BAA2B,CAAA"}
|
package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as r, jsxs as n } from "react/jsx-runtime";
|
|
2
|
-
import W from "
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
import { MarkdownSynapse as W } from "../../Markdown/MarkdownSynapse.js";
|
|
3
|
+
import { hashCode as v } from "../../../utils/functions/StringUtils.js";
|
|
4
|
+
import { useImageUrl as x } from "../../../utils/hooks/useImageUrlUtils.js";
|
|
5
5
|
import b from "@mui/icons-material/ArrowForward";
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
10
|
-
const l =
|
|
11
|
-
return
|
|
6
|
+
import { Stack as s, Chip as u, Typography as i, Button as B, Box as y } from "@mui/material";
|
|
7
|
+
import k from "../BasePortalCard.js";
|
|
8
|
+
import a from "./ColorfulPortalCardWithChips.module.scss.js";
|
|
9
|
+
const C = ["#F8CC7D", "#BFE8F4", "#CEFBDD"], w = (o) => o.map((e) => {
|
|
10
|
+
const l = v(e), t = Math.abs(l) % C.length;
|
|
11
|
+
return C[t];
|
|
12
12
|
}), F = ({ values: o }) => {
|
|
13
13
|
const e = w(o);
|
|
14
|
-
return /* @__PURE__ */ r(
|
|
14
|
+
return /* @__PURE__ */ r(y, { className: a.ColorfulPortalCardWithChips__chipsContainer, children: o.map((l, t) => /* @__PURE__ */ r(
|
|
15
15
|
u,
|
|
16
16
|
{
|
|
17
17
|
label: /* @__PURE__ */ r(i, { variant: "smallText1", children: l }),
|
|
@@ -26,35 +26,35 @@ const p = ["#F8CC7D", "#BFE8F4", "#CEFBDD"], w = (o) => o.map((e) => {
|
|
|
26
26
|
subtitle: e,
|
|
27
27
|
description: l,
|
|
28
28
|
descriptionTitle: t,
|
|
29
|
-
learnMoreLink:
|
|
29
|
+
learnMoreLink: c,
|
|
30
30
|
buttonOverrideText: f,
|
|
31
31
|
chips: h,
|
|
32
|
-
backgroundImage:
|
|
33
|
-
backgroundColor:
|
|
34
|
-
tag:
|
|
32
|
+
backgroundImage: d,
|
|
33
|
+
backgroundColor: m,
|
|
34
|
+
tag: p,
|
|
35
35
|
entityId: _,
|
|
36
36
|
borderRadiusPx: g,
|
|
37
37
|
cardSize: P = "medium"
|
|
38
38
|
}) => {
|
|
39
|
-
const N =
|
|
39
|
+
const N = x(d ?? "", _ ?? "") ?? d;
|
|
40
40
|
return /* @__PURE__ */ r(
|
|
41
|
-
|
|
41
|
+
k,
|
|
42
42
|
{
|
|
43
43
|
cardSize: P,
|
|
44
44
|
borderRadiusPx: g,
|
|
45
45
|
backgroundImage: N,
|
|
46
|
-
backgroundColor:
|
|
46
|
+
backgroundColor: m || C[0],
|
|
47
47
|
contentBelowCard: h && h.length > 0 && /* @__PURE__ */ r(F, { values: h }),
|
|
48
48
|
children: /* @__PURE__ */ n(s, { className: a.ColorfulPortalCardWithChips__sectionContainer, children: [
|
|
49
49
|
/* @__PURE__ */ n(s, { children: [
|
|
50
|
-
|
|
50
|
+
p && /* @__PURE__ */ r(
|
|
51
51
|
u,
|
|
52
52
|
{
|
|
53
53
|
color: "secondary",
|
|
54
54
|
variant: "filled",
|
|
55
55
|
className: a.ColorfulPortalCardWithChips__registrationStatus,
|
|
56
|
-
sx: { backgroundColor:
|
|
57
|
-
label:
|
|
56
|
+
sx: { backgroundColor: m },
|
|
57
|
+
label: p
|
|
58
58
|
}
|
|
59
59
|
),
|
|
60
60
|
/* @__PURE__ */ n(s, { className: a.ColorfulPortalCardWithChips__titleSection, children: [
|
|
@@ -90,16 +90,16 @@ const p = ["#F8CC7D", "#BFE8F4", "#CEFBDD"], w = (o) => o.map((e) => {
|
|
|
90
90
|
{
|
|
91
91
|
variant: "smallText1",
|
|
92
92
|
className: a.ColorfulPortalCardWithChips__description,
|
|
93
|
-
children: /* @__PURE__ */ r(
|
|
93
|
+
children: /* @__PURE__ */ r(W, { markdown: l ?? "" })
|
|
94
94
|
}
|
|
95
95
|
),
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
c && /* @__PURE__ */ r(
|
|
97
|
+
B,
|
|
98
98
|
{
|
|
99
99
|
className: a.ColorfulPortalCardWithChips__learnMoreButton,
|
|
100
100
|
variant: "outlined",
|
|
101
101
|
endIcon: /* @__PURE__ */ r(b, {}),
|
|
102
|
-
href:
|
|
102
|
+
href: c,
|
|
103
103
|
target: "_blank",
|
|
104
104
|
rel: "noopener noreferrer",
|
|
105
105
|
children: f ?? "Learn more"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorfulPortalCardWithChips.js","sources":["../../../../src/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ColorfulPortalCardWithChips.js","sources":["../../../../src/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.tsx"],"sourcesContent":["import MarkdownSynapse from '@/components/Markdown/MarkdownSynapse'\nimport { hashCode } from '@/utils/functions/StringUtils'\nimport { useImageUrl } from '@/utils/hooks/useImageUrlUtils'\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\nimport { Box, Button, Chip, Stack, Typography } from '@mui/material'\nimport React from 'react'\nimport BasePortalCard from '../BasePortalCard'\nimport styles from './ColorfulPortalCardWithChips.module.scss'\n\ntype ColorfulPortalCardWithChipsProps = {\n title?: string\n subtitle?: string\n description?: string\n descriptionTitle?: string\n learnMoreLink?: string\n buttonOverrideText?: string\n chips?: string[]\n backgroundImage?: string\n backgroundColor?: string\n tag?: string\n entityId?: string\n borderRadiusPx?: number\n cardSize?: 'small' | 'medium' | 'large'\n}\n\nconst colors = ['#F8CC7D', '#BFE8F4', '#CEFBDD']\n\nconst getChicletColors = (chips: string[]) => {\n return chips.map(chip => {\n const hash = hashCode(chip)\n const index = Math.abs(hash) % colors.length\n return colors[index]\n })\n}\n\nconst Chips = ({ values }: { values: string[] }): React.ReactNode => {\n const chipColors = getChicletColors(values)\n return (\n <Box className={styles.ColorfulPortalCardWithChips__chipsContainer}>\n {values.map((chip, index) => (\n <Chip\n key={chip}\n label={<Typography variant=\"smallText1\">{chip}</Typography>}\n variant=\"filled\"\n style={{ backgroundColor: chipColors[index] }}\n className={styles.ChallengePortalCard__chip}\n />\n ))}\n </Box>\n )\n}\n\nconst ColorfulPortalCardWithChips = ({\n title,\n subtitle,\n description,\n descriptionTitle,\n learnMoreLink,\n buttonOverrideText,\n chips,\n backgroundImage,\n backgroundColor,\n tag,\n entityId,\n borderRadiusPx,\n cardSize = 'medium',\n}: ColorfulPortalCardWithChipsProps): React.ReactNode => {\n const imageUrl = useImageUrl(backgroundImage ?? '', entityId ?? '')\n const backgroundImageValue = imageUrl ?? backgroundImage\n\n return (\n <BasePortalCard\n cardSize={cardSize}\n borderRadiusPx={borderRadiusPx}\n backgroundImage={backgroundImageValue}\n backgroundColor={backgroundColor || colors[0]}\n contentBelowCard={chips && chips.length > 0 && <Chips values={chips} />}\n >\n <Stack className={styles.ColorfulPortalCardWithChips__sectionContainer}>\n <Stack>\n {tag && (\n <Chip\n color=\"secondary\"\n variant=\"filled\"\n className={styles.ColorfulPortalCardWithChips__registrationStatus}\n sx={{ backgroundColor }}\n label={tag}\n />\n )}\n <Stack className={styles.ColorfulPortalCardWithChips__titleSection}>\n <Typography\n variant=\"headline1\"\n className={styles.ColorfulPortalCardWithChips__title}\n >\n {title}\n </Typography>\n <Typography\n variant=\"headline1\"\n className={styles.ColorfulPortalCardWithChips__challengeName}\n >\n {subtitle}\n </Typography>\n </Stack>\n </Stack>\n <Stack className={styles.ColorfulPortalCardWithChips__bottomSection}>\n {descriptionTitle && (\n <Typography\n variant=\"headline1\"\n className={styles.ColorfulPortalCardWithChips__descriptionTitle}\n >\n {descriptionTitle}\n </Typography>\n )}\n <Typography\n variant=\"smallText1\"\n className={styles.ColorfulPortalCardWithChips__description}\n >\n <MarkdownSynapse markdown={description ?? ''} />\n </Typography>\n {learnMoreLink && (\n <Button\n className={styles.ColorfulPortalCardWithChips__learnMoreButton}\n variant=\"outlined\"\n endIcon={<ArrowForwardIcon />}\n href={learnMoreLink}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {buttonOverrideText ?? 'Learn more'}\n </Button>\n )}\n </Stack>\n </Stack>\n </BasePortalCard>\n )\n}\n\nexport default ColorfulPortalCardWithChips\n"],"names":["colors","getChicletColors","chips","chip","hash","hashCode","index","Chips","values","chipColors","jsx","Box","styles","Chip","Typography","ColorfulPortalCardWithChips","title","subtitle","description","descriptionTitle","learnMoreLink","buttonOverrideText","backgroundImage","backgroundColor","tag","entityId","borderRadiusPx","cardSize","backgroundImageValue","useImageUrl","BasePortalCard","jsxs","Stack","MarkdownSynapse","Button","ArrowForwardIcon"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { LockedColumn, UniqueFacetIdentifier } from '@/utils';
|
|
|
4
4
|
import { SQLOperator } from '@/utils/functions/SqlFunctions';
|
|
5
5
|
import { Query, SelectColumn, SortDirection } from '@sage-bionetworks/synapse-types';
|
|
6
6
|
import React from 'react';
|
|
7
|
+
import { SxProps } from '@mui/material';
|
|
7
8
|
import { IconSvgProps } from '../IconSvg';
|
|
8
9
|
import { QueryVisualizationWrapperProps } from '../QueryVisualizationWrapper';
|
|
9
10
|
/**
|
|
@@ -51,10 +52,13 @@ export type MapValueToReactComponentConfig = {
|
|
|
51
52
|
isMapValueToReactNodeConfig: true;
|
|
52
53
|
};
|
|
53
54
|
export type LabelLinkConfig = (MarkdownLink | CardLink | ColumnSpecifiedLink | EntityImage | MapValueToReactComponentConfig)[];
|
|
55
|
+
export type ColumnIconConfig = IconSvgProps & {
|
|
56
|
+
containerSx?: SxProps;
|
|
57
|
+
};
|
|
54
58
|
export type ColumnIconConfigs = {
|
|
55
59
|
columns: {
|
|
56
60
|
[index: string]: {
|
|
57
|
-
[index: string]:
|
|
61
|
+
[index: string]: ColumnIconConfig;
|
|
58
62
|
};
|
|
59
63
|
};
|
|
60
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContainerLogic.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainerLogic/CardContainerLogic.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAoB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,EAGL,WAAW,EACZ,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EACL,KAAK,EAEL,YAAY,EACZ,aAAa,EACd,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,EAEL,8BAA8B,EAC/B,MAAM,8BAA8B,CAAA;AAMrC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,KAAK,CAAA;IAEjB,eAAe,EAAE,MAAM,CAAA;IAEvB,cAAc,EAAE,MAAM,CAAA;IAEtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,IAAI,CAAA;IAEhB,eAAe,EAAE,MAAM,CAAA;IAEvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAE9B,aAAa,EAAE,MAAM,CAAA;IAErB,gBAAgB,EAAE,aAAa,CAAA;IAE/B,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IAExB,IAAI,EAAE,MAAM,CAAA;IAEZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,4BAA4B,CAAC,EAAE,OAAO,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAE3C,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;QAE7B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,YAAY,EAAE,YAAY,CAAA;KAC3B,CAAC,CAAA;IAEF,2BAA2B,EAAE,IAAI,CAAA;CAClC,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG,CAC1B,YAAY,GACZ,QAAQ,GACR,mBAAmB,GACnB,WAAW,GACX,8BAA8B,CACjC,EAAE,CAAA;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE;QACP,CAAC,KAAK,EAAE,MAAM,GAAG;YACf,CAAC,KAAK,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"CardContainerLogic.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainerLogic/CardContainerLogic.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardContainerLogic.js","sources":["../../../src/components/CardContainerLogic/CardContainerLogic.tsx"],"sourcesContent":["import { CardConfiguration } from '@/components/CardContainer/CardConfiguration'\nimport { CardLink } from '@/components/CardContainer/CardLink'\nimport { LockedColumn, SynapseConstants, UniqueFacetIdentifier } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdFromSqlStatement,\n SQLOperator,\n} from '@/utils/functions/SqlFunctions'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport {\n Query,\n QueryBundleRequest,\n SelectColumn,\n SortDirection,\n} from '@sage-bionetworks/synapse-types'\nimport React, { useMemo } from 'react'\nimport ColumnFilter from '../ColumnFilter/ColumnFilter'\nimport { IconSvgProps } from '../IconSvg'\nimport QuerySortSelector from '../QuerySortSelector'\nimport {\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper } from '../QueryWrapper'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { RowSetView } from '../QueryWrapperPlotNav/RowSetView'\nimport { NoContentPlaceholderType } from '../SynapseTable/NoContentPlaceholderType'\n\n/**\n * Used when a column value should link to an external URL defined by a value in another column.\n * Currently only works in SynapseTable (not cards!)\n */\nexport interface ColumnSpecifiedLink {\n isMarkdown: false\n /* The column which should have the displayed value */\n matchColumnName: string\n /* The column which has the link. If the link is empty, the value will be displayed without a link. */\n linkColumnName: string\n // If set, also show a tooltip\n tooltipText?: string\n}\n\n/**\n * Used when a column value should be previewed\n * Currently only works in SynapseTable (not cards!)\n */\nexport interface EntityImage {\n // the columns whos value will be used for the markdown\n matchColumnName: string\n isEntityImage: boolean\n}\n\nexport type MarkdownLink = {\n isMarkdown: true\n // the columns whos value will be used for the markdown\n matchColumnName: string\n // If set, also show a tooltip\n tooltipText?: string\n}\n\nexport type SortConfiguration = {\n // the column that the query should be sorted on by default\n defaultColumn: string\n // the direction that the defaultColumn should be sorted on by default\n defaultDirection: SortDirection\n // the columns that the UI should surface as sortable\n sortableColumns: string[]\n}\n\nexport type CTACardLink = {\n // link text\n text: string\n // column name to use for href\n link: string\n}\n\nexport type DescriptionConfig = {\n isMarkdown?: boolean\n showFullDescriptionByDefault?: boolean\n}\n\nexport type MapValueToReactComponentConfig = {\n // The column to apply the mapping to\n matchColumnName: string\n Component: React.ComponentType<{\n /* The value of the table cell. If the column is a _LIST type, then the LIST will be parsed and this will be a string array. */\n value: string | string[] | null\n selectColumn: SelectColumn\n }>\n // discriminator\n isMapValueToReactNodeConfig: true\n}\n\n// Specify the indices in the values [] that should be rendered specially\nexport type LabelLinkConfig = (\n | MarkdownLink\n | CardLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n)[]\n\nexport type ColumnIconConfigs = {\n columns: {\n [index: string]: {\n [index: string]: IconSvgProps\n }\n }\n}\n\nexport type QueryOrDeprecatedSearchParams = {\n /** The initial SQL query which will be used to populate the data in the component */\n query?: Query\n /** @deprecated use `query` */\n sql?: string\n /** Optional limit for the number of cards shown per page\n * @deprecated use `query */\n limit?: number\n /** Applies filters to the query where the key is the column name and the value is the value to filter on.\n * The filter function is controlled by sqlOperator.\n * @deprecated use `query` */\n searchParams?: Record<string, string>\n /** Operator used in the filter created using the searchParams prop\n * @deprecated use `query` */\n sqlOperator?: SQLOperator\n}\n\nexport type CardContainerLogicProps = QueryOrDeprecatedSearchParams & {\n /** Optional title to display above the component */\n title?: string\n isAlignToLeftNav?: boolean\n /** Provide a `SortConfiguration` that can be used to render UI to toggle the sorting of the cards. */\n sortConfig?: SortConfiguration\n /** Configuration used to render UI that can be used to alter a filter against a column with enumerated facets. */\n topLevelEnumeratedFacetToFilter?: UniqueFacetIdentifier\n /** Optional column to 'lock'; Values and filter controls for a locked column will not be displayed in the UI. */\n lockedColumn?: LockedColumn\n /** Optionally limit the initial number of cards shown on the first page */\n initialLimit?: number\n multiCardList?: boolean\n cardConfiguration: CardConfiguration\n} & Pick<\n QueryVisualizationWrapperProps,\n | 'rgbIndex'\n | 'unitDescription'\n | 'columnAliases'\n | 'noContentPlaceholderType'\n | 'additionalFiltersSessionStorageKey'\n >\n\n/**\n * Class wraps around CardContainer and serves as a standalone logic container for rendering cards.\n */\nexport function CardContainerLogic(props: CardContainerLogicProps) {\n const { sql: deprecatedSql } = props\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const entityId = parseEntityIdFromSqlStatement(sql)\n\n const { sortConfig, columnAliases, topLevelEnumeratedFacetToFilter } = props\n const defaultSortItems = useMemo(\n () =>\n sortConfig\n ? [\n {\n column: sortConfig.defaultColumn,\n direction: sortConfig.defaultDirection,\n },\n ]\n : undefined,\n [sortConfig],\n )\n\n const initQueryRequest: QueryBundleRequest = useMemo(() => {\n let query: Query\n if (props.query) {\n query = {\n sort: defaultSortItems,\n limit: DEFAULT_PAGE_SIZE,\n ...props.query,\n }\n } else {\n // Deprecated props were used\n const queryFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n props.additionalFiltersSessionStorageKey,\n )\n query = {\n sql: props.sql!,\n limit: props.limit ?? DEFAULT_PAGE_SIZE,\n sort: defaultSortItems,\n additionalFilters: queryFilters,\n }\n }\n\n return {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: entityId,\n query: query,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n }\n }, [\n defaultSortItems,\n entityId,\n props.additionalFiltersSessionStorageKey,\n props.limit,\n props.query,\n props.searchParams,\n props.sql,\n props.sqlOperator,\n ])\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = JSON.stringify(initQueryRequest)\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n isInfinite\n key={queryWrapperKey}\n >\n <QueryVisualizationWrapper\n rgbIndex={props.rgbIndex}\n unitDescription={props.unitDescription}\n columnAliases={columnAliases}\n noContentPlaceholderType={\n props.noContentPlaceholderType ?? NoContentPlaceholderType.STATIC\n }\n >\n <QueryWrapperErrorBoundary>\n {sortConfig && <QuerySortSelector sortConfig={sortConfig} />}\n {topLevelEnumeratedFacetToFilter && (\n <ColumnFilter\n topLevelEnumeratedFacetToFilter={topLevelEnumeratedFacetToFilter}\n />\n )}\n <RowSetView\n cardConfiguration={props.cardConfiguration}\n initialLimit={props.initialLimit}\n multiCardList={props.multiCardList}\n />\n </QueryWrapperErrorBoundary>\n </QueryVisualizationWrapper>\n </QueryWrapper>\n )\n}\n\nexport default CardContainerLogic\n"],"names":["CardContainerLogic","props","deprecatedSql","sql","entityId","parseEntityIdFromSqlStatement","sortConfig","columnAliases","topLevelEnumeratedFacetToFilter","defaultSortItems","useMemo","initQueryRequest","query","DEFAULT_PAGE_SIZE","queryFilters","getAdditionalFilters","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","SynapseConstants.BUNDLE_MASK_QUERY_COUNT","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE","SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS","SynapseConstants.BUNDLE_MASK_QUERY_FACETS","SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES","SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON","queryWrapperKey","createElement","QueryWrapper","jsx","QueryVisualizationWrapper","NoContentPlaceholderType","QueryWrapperErrorBoundary","QuerySortSelector","ColumnFilter","RowSetView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJO,SAASA,GAAmBC,GAAgC;AACjE,QAAM,EAAE,KAAKC,EAAA,IAAkBD,GACzBE,IAAMF,EAAM,OAAO,OAAOC,KAAiB,IAC3CE,IAAWC,EAA8BF,CAAG,GAE5C,EAAE,YAAAG,GAAY,eAAAC,GAAe,iCAAAC,EAAA,IAAoCP,GACjEQ,IAAmBC;AAAA,IACvB,MACEJ,IACI;AAAA,MACE;AAAA,QACE,QAAQA,EAAW;AAAA,QACnB,WAAWA,EAAW;AAAA,MAAA;AAAA,IACxB,IAEF;AAAA,IACN,CAACA,CAAU;AAAA,EAAA,GAGPK,IAAuCD,EAAQ,MAAM;AACzD,QAAIE;AACJ,QAAIX,EAAM;AACR,MAAAW,IAAQ;AAAA,QACN,MAAMH;AAAA,QACN,OAAOI;AAAA,QACP,GAAGZ,EAAM;AAAA,MAAA;AAAA,SAEN;AAEL,YAAMa,IAAeC;AAAA,QACnBd,EAAM;AAAA,QACNA,EAAM;AAAA,QACNA,EAAM;AAAA,MAAA;AAER,MAAAW,IAAQ;AAAA,QACN,KAAKX,EAAM;AAAA,QACX,OAAOA,EAAM,SAASY;AAAA,QACtB,MAAMJ;AAAA,QACN,mBAAmBK;AAAA,MAAA;AAAA,IAEvB;AAEA,WAAO;AAAA,MACL,cAAc;AAAA,MACd,UAAAV;AAAA,MACA,OAAAQ;AAAA,MACA,UACEI,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC;AAAAA,IAAiB;AAAA,EAEvB,GAAG;AAAA,IACDd;AAAA,IACAL;AAAA,IACAH,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,EAAA,CACP,GAQKuB,IAAkB,KAAK,UAAUb,CAAgB;AAEvD,SACE,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGzB;AAAA,MACJ,kBAAAU;AAAA,MACA,YAAU;AAAA,MACV,KAAKa;AAAA,IAAA;AAAA,IAEL,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU3B,EAAM;AAAA,QAChB,iBAAiBA,EAAM;AAAA,QACvB,eAAAM;AAAA,QACA,0BACEN,EAAM,4BAA4B4B,EAAyB;AAAA,QAG7D,4BAACC,GAAA,EACE,UAAA;AAAA,UAAAxB,KAAc,gBAAAqB,EAACI,KAAkB,YAAAzB,EAAA,CAAwB;AAAA,UACzDE,KACC,gBAAAmB;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,iCAAAxB;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJ,gBAAAmB;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,mBAAmBhC,EAAM;AAAA,cACzB,cAAcA,EAAM;AAAA,cACpB,eAAeA,EAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QACvB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAGN;"}
|
|
1
|
+
{"version":3,"file":"CardContainerLogic.js","sources":["../../../src/components/CardContainerLogic/CardContainerLogic.tsx"],"sourcesContent":["import { CardConfiguration } from '@/components/CardContainer/CardConfiguration'\nimport { CardLink } from '@/components/CardContainer/CardLink'\nimport { LockedColumn, SynapseConstants, UniqueFacetIdentifier } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdFromSqlStatement,\n SQLOperator,\n} from '@/utils/functions/SqlFunctions'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport {\n Query,\n QueryBundleRequest,\n SelectColumn,\n SortDirection,\n} from '@sage-bionetworks/synapse-types'\nimport React, { useMemo } from 'react'\nimport ColumnFilter from '../ColumnFilter/ColumnFilter'\nimport { SxProps } from '@mui/material'\nimport { IconSvgProps } from '../IconSvg'\nimport QuerySortSelector from '../QuerySortSelector'\nimport {\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper } from '../QueryWrapper'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { RowSetView } from '../QueryWrapperPlotNav/RowSetView'\nimport { NoContentPlaceholderType } from '../SynapseTable/NoContentPlaceholderType'\n\n/**\n * Used when a column value should link to an external URL defined by a value in another column.\n * Currently only works in SynapseTable (not cards!)\n */\nexport interface ColumnSpecifiedLink {\n isMarkdown: false\n /* The column which should have the displayed value */\n matchColumnName: string\n /* The column which has the link. If the link is empty, the value will be displayed without a link. */\n linkColumnName: string\n // If set, also show a tooltip\n tooltipText?: string\n}\n\n/**\n * Used when a column value should be previewed\n * Currently only works in SynapseTable (not cards!)\n */\nexport interface EntityImage {\n // the columns whos value will be used for the markdown\n matchColumnName: string\n isEntityImage: boolean\n}\n\nexport type MarkdownLink = {\n isMarkdown: true\n // the columns whos value will be used for the markdown\n matchColumnName: string\n // If set, also show a tooltip\n tooltipText?: string\n}\n\nexport type SortConfiguration = {\n // the column that the query should be sorted on by default\n defaultColumn: string\n // the direction that the defaultColumn should be sorted on by default\n defaultDirection: SortDirection\n // the columns that the UI should surface as sortable\n sortableColumns: string[]\n}\n\nexport type CTACardLink = {\n // link text\n text: string\n // column name to use for href\n link: string\n}\n\nexport type DescriptionConfig = {\n isMarkdown?: boolean\n showFullDescriptionByDefault?: boolean\n}\n\nexport type MapValueToReactComponentConfig = {\n // The column to apply the mapping to\n matchColumnName: string\n Component: React.ComponentType<{\n /* The value of the table cell. If the column is a _LIST type, then the LIST will be parsed and this will be a string array. */\n value: string | string[] | null\n selectColumn: SelectColumn\n }>\n // discriminator\n isMapValueToReactNodeConfig: true\n}\n\n// Specify the indices in the values [] that should be rendered specially\nexport type LabelLinkConfig = (\n | MarkdownLink\n | CardLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n)[]\n\nexport type ColumnIconConfig = IconSvgProps & {\n containerSx?: SxProps\n}\n\nexport type ColumnIconConfigs = {\n columns: {\n [index: string]: {\n [index: string]: ColumnIconConfig\n }\n }\n}\n\nexport type QueryOrDeprecatedSearchParams = {\n /** The initial SQL query which will be used to populate the data in the component */\n query?: Query\n /** @deprecated use `query` */\n sql?: string\n /** Optional limit for the number of cards shown per page\n * @deprecated use `query */\n limit?: number\n /** Applies filters to the query where the key is the column name and the value is the value to filter on.\n * The filter function is controlled by sqlOperator.\n * @deprecated use `query` */\n searchParams?: Record<string, string>\n /** Operator used in the filter created using the searchParams prop\n * @deprecated use `query` */\n sqlOperator?: SQLOperator\n}\n\nexport type CardContainerLogicProps = QueryOrDeprecatedSearchParams & {\n /** Optional title to display above the component */\n title?: string\n isAlignToLeftNav?: boolean\n /** Provide a `SortConfiguration` that can be used to render UI to toggle the sorting of the cards. */\n sortConfig?: SortConfiguration\n /** Configuration used to render UI that can be used to alter a filter against a column with enumerated facets. */\n topLevelEnumeratedFacetToFilter?: UniqueFacetIdentifier\n /** Optional column to 'lock'; Values and filter controls for a locked column will not be displayed in the UI. */\n lockedColumn?: LockedColumn\n /** Optionally limit the initial number of cards shown on the first page */\n initialLimit?: number\n multiCardList?: boolean\n cardConfiguration: CardConfiguration\n} & Pick<\n QueryVisualizationWrapperProps,\n | 'rgbIndex'\n | 'unitDescription'\n | 'columnAliases'\n | 'noContentPlaceholderType'\n | 'additionalFiltersSessionStorageKey'\n >\n\n/**\n * Class wraps around CardContainer and serves as a standalone logic container for rendering cards.\n */\nexport function CardContainerLogic(props: CardContainerLogicProps) {\n const { sql: deprecatedSql } = props\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const entityId = parseEntityIdFromSqlStatement(sql)\n\n const { sortConfig, columnAliases, topLevelEnumeratedFacetToFilter } = props\n const defaultSortItems = useMemo(\n () =>\n sortConfig\n ? [\n {\n column: sortConfig.defaultColumn,\n direction: sortConfig.defaultDirection,\n },\n ]\n : undefined,\n [sortConfig],\n )\n\n const initQueryRequest: QueryBundleRequest = useMemo(() => {\n let query: Query\n if (props.query) {\n query = {\n sort: defaultSortItems,\n limit: DEFAULT_PAGE_SIZE,\n ...props.query,\n }\n } else {\n // Deprecated props were used\n const queryFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n props.additionalFiltersSessionStorageKey,\n )\n query = {\n sql: props.sql!,\n limit: props.limit ?? DEFAULT_PAGE_SIZE,\n sort: defaultSortItems,\n additionalFilters: queryFilters,\n }\n }\n\n return {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: entityId,\n query: query,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n }\n }, [\n defaultSortItems,\n entityId,\n props.additionalFiltersSessionStorageKey,\n props.limit,\n props.query,\n props.searchParams,\n props.sql,\n props.sqlOperator,\n ])\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = JSON.stringify(initQueryRequest)\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n isInfinite\n key={queryWrapperKey}\n >\n <QueryVisualizationWrapper\n rgbIndex={props.rgbIndex}\n unitDescription={props.unitDescription}\n columnAliases={columnAliases}\n noContentPlaceholderType={\n props.noContentPlaceholderType ?? NoContentPlaceholderType.STATIC\n }\n >\n <QueryWrapperErrorBoundary>\n {sortConfig && <QuerySortSelector sortConfig={sortConfig} />}\n {topLevelEnumeratedFacetToFilter && (\n <ColumnFilter\n topLevelEnumeratedFacetToFilter={topLevelEnumeratedFacetToFilter}\n />\n )}\n <RowSetView\n cardConfiguration={props.cardConfiguration}\n initialLimit={props.initialLimit}\n multiCardList={props.multiCardList}\n />\n </QueryWrapperErrorBoundary>\n </QueryVisualizationWrapper>\n </QueryWrapper>\n )\n}\n\nexport default CardContainerLogic\n"],"names":["CardContainerLogic","props","deprecatedSql","sql","entityId","parseEntityIdFromSqlStatement","sortConfig","columnAliases","topLevelEnumeratedFacetToFilter","defaultSortItems","useMemo","initQueryRequest","query","DEFAULT_PAGE_SIZE","queryFilters","getAdditionalFilters","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","SynapseConstants.BUNDLE_MASK_QUERY_COUNT","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE","SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS","SynapseConstants.BUNDLE_MASK_QUERY_FACETS","SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES","SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON","queryWrapperKey","createElement","QueryWrapper","jsx","QueryVisualizationWrapper","NoContentPlaceholderType","QueryWrapperErrorBoundary","QuerySortSelector","ColumnFilter","RowSetView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8JO,SAASA,GAAmBC,GAAgC;AACjE,QAAM,EAAE,KAAKC,EAAA,IAAkBD,GACzBE,IAAMF,EAAM,OAAO,OAAOC,KAAiB,IAC3CE,IAAWC,EAA8BF,CAAG,GAE5C,EAAE,YAAAG,GAAY,eAAAC,GAAe,iCAAAC,EAAA,IAAoCP,GACjEQ,IAAmBC;AAAA,IACvB,MACEJ,IACI;AAAA,MACE;AAAA,QACE,QAAQA,EAAW;AAAA,QACnB,WAAWA,EAAW;AAAA,MAAA;AAAA,IACxB,IAEF;AAAA,IACN,CAACA,CAAU;AAAA,EAAA,GAGPK,IAAuCD,EAAQ,MAAM;AACzD,QAAIE;AACJ,QAAIX,EAAM;AACR,MAAAW,IAAQ;AAAA,QACN,MAAMH;AAAA,QACN,OAAOI;AAAA,QACP,GAAGZ,EAAM;AAAA,MAAA;AAAA,SAEN;AAEL,YAAMa,IAAeC;AAAA,QACnBd,EAAM;AAAA,QACNA,EAAM;AAAA,QACNA,EAAM;AAAA,MAAA;AAER,MAAAW,IAAQ;AAAA,QACN,KAAKX,EAAM;AAAA,QACX,OAAOA,EAAM,SAASY;AAAA,QACtB,MAAMJ;AAAA,QACN,mBAAmBK;AAAA,MAAA;AAAA,IAEvB;AAEA,WAAO;AAAA,MACL,cAAc;AAAA,MACd,UAAAV;AAAA,MACA,OAAAQ;AAAA,MACA,UACEI,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC;AAAAA,IAAiB;AAAA,EAEvB,GAAG;AAAA,IACDd;AAAA,IACAL;AAAA,IACAH,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,IACNA,EAAM;AAAA,EAAA,CACP,GAQKuB,IAAkB,KAAK,UAAUb,CAAgB;AAEvD,SACE,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGzB;AAAA,MACJ,kBAAAU;AAAA,MACA,YAAU;AAAA,MACV,KAAKa;AAAA,IAAA;AAAA,IAEL,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAU3B,EAAM;AAAA,QAChB,iBAAiBA,EAAM;AAAA,QACvB,eAAAM;AAAA,QACA,0BACEN,EAAM,4BAA4B4B,EAAyB;AAAA,QAG7D,4BAACC,GAAA,EACE,UAAA;AAAA,UAAAxB,KAAc,gBAAAqB,EAACI,KAAkB,YAAAzB,EAAA,CAAwB;AAAA,UACzDE,KACC,gBAAAmB;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,iCAAAxB;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJ,gBAAAmB;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,mBAAmBhC,EAAM;AAAA,cACzB,cAAcA,EAAM;AAAA,cACpB,eAAeA,EAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QACvB,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAGN;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { SortConfiguration, ColumnIconConfigs, MarkdownLink, LabelLinkConfig, DescriptionConfig, ColumnSpecifiedLink, CardContainerLogicProps, } from './CardContainerLogic';
|
|
1
|
+
export type { SortConfiguration, ColumnIconConfig, ColumnIconConfigs, MarkdownLink, LabelLinkConfig, DescriptionConfig, ColumnSpecifiedLink, CardContainerLogicProps, } from './CardContainerLogic';
|
|
2
2
|
export { default, CardContainerLogic } from './CardContainerLogic';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainerLogic/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CardContainerLogic/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|