synapse-react-client 4.0.19 → 4.0.21
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.d.ts +1 -1
- package/dist/SWC.index.js +1 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
- package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
- package/dist/assets/GoogleIcon.js.map +1 -1
- package/dist/assets/GoogleIcon24.js.map +1 -1
- package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
- package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
- package/dist/assets/homepage/aacr.js.map +1 -1
- package/dist/assets/homepage/cri.js.map +1 -1
- package/dist/assets/homepage/ctf.js.map +1 -1
- package/dist/assets/homepage/egress.js.map +1 -1
- package/dist/assets/homepage/facebook.js.map +1 -1
- package/dist/assets/homepage/fisma.js.map +1 -1
- package/dist/assets/homepage/gff.js.map +1 -1
- package/dist/assets/homepage/github.js.map +1 -1
- package/dist/assets/homepage/gray.js.map +1 -1
- package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
- package/dist/assets/homepage/instagram.js.map +1 -1
- package/dist/assets/homepage/linkedin.js.map +1 -1
- package/dist/assets/homepage/ml-commons.js.map +1 -1
- package/dist/assets/homepage/nih-aging.js.map +1 -1
- package/dist/assets/homepage/nih-heart.js.map +1 -1
- package/dist/assets/homepage/nih-nci.js.map +1 -1
- package/dist/assets/homepage/nih-nimh.js.map +1 -1
- package/dist/assets/homepage/ntap.js.map +1 -1
- package/dist/assets/homepage/plan-item.js.map +1 -1
- package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
- package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
- package/dist/assets/homepage/python.js.map +1 -1
- package/dist/assets/homepage/r.js.map +1 -1
- package/dist/assets/homepage/research-credit-feature.js.map +1 -1
- package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
- package/dist/assets/homepage/sloan.js.map +1 -1
- package/dist/assets/homepage/twitter.js.map +1 -1
- package/dist/assets/homepage/users.js.map +1 -1
- package/dist/assets/homepage/youtube.js.map +1 -1
- package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
- package/dist/assets/icons/AccessPending.js.map +1 -1
- package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
- package/dist/assets/icons/AddAd.js.map +1 -1
- package/dist/assets/icons/AddToList.js.map +1 -1
- package/dist/assets/icons/Alert.js.map +1 -1
- package/dist/assets/icons/Arrow.js.map +1 -1
- package/dist/assets/icons/AwardScroll.js.map +1 -1
- package/dist/assets/icons/Baseline.js.map +1 -1
- package/dist/assets/icons/Cavatica.js.map +1 -1
- package/dist/assets/icons/CertifiedUser.js.map +1 -1
- package/dist/assets/icons/Challenge.js.map +1 -1
- package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
- package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
- package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
- package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
- package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
- package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
- package/dist/assets/icons/ClappingHands.js.map +1 -1
- package/dist/assets/icons/CloudWarning.js.map +1 -1
- package/dist/assets/icons/CommunicateFindings.js.map +1 -1
- package/dist/assets/icons/CreateVersion.js.map +1 -1
- package/dist/assets/icons/DNA_Two.js.map +1 -1
- package/dist/assets/icons/Data2.js.map +1 -1
- package/dist/assets/icons/DoubleQuotes.js.map +1 -1
- package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
- package/dist/assets/icons/FileWithShield.js.map +1 -1
- package/dist/assets/icons/FileWithShield2.js.map +1 -1
- package/dist/assets/icons/FrontHand.js.map +1 -1
- package/dist/assets/icons/HandWithMoney.js.map +1 -1
- package/dist/assets/icons/IconCopy.js.map +1 -1
- package/dist/assets/icons/IconMinus.js.map +1 -1
- package/dist/assets/icons/IconPlus.js.map +1 -1
- package/dist/assets/icons/Java.js.map +1 -1
- package/dist/assets/icons/MintDoi.js.map +1 -1
- package/dist/assets/icons/MultiFile.js.map +1 -1
- package/dist/assets/icons/MultiFile2.js.map +1 -1
- package/dist/assets/icons/NoData.js.map +1 -1
- package/dist/assets/icons/NoSearchResults.js.map +1 -1
- package/dist/assets/icons/ORCIDIcon.js.map +1 -1
- package/dist/assets/icons/OpenBook.js.map +1 -1
- package/dist/assets/icons/Podium.js.map +1 -1
- package/dist/assets/icons/Python.js.map +1 -1
- package/dist/assets/icons/QueryStructuredData.js.map +1 -1
- package/dist/assets/icons/RLogo.js.map +1 -1
- package/dist/assets/icons/RecordProvenance.js.map +1 -1
- package/dist/assets/icons/RosetteRibbon.js.map +1 -1
- package/dist/assets/icons/SageFullLogo.js.map +1 -1
- package/dist/assets/icons/SearchImage.js.map +1 -1
- package/dist/assets/icons/ShareYourResearch.js.map +1 -1
- package/dist/assets/icons/Sort.js.map +1 -1
- package/dist/assets/icons/StarTrophy.js.map +1 -1
- package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
- package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
- package/dist/assets/icons/SynapseLogoName.js.map +1 -1
- package/dist/assets/icons/TasksIcon.js.map +1 -1
- package/dist/assets/icons/Terminal.js.map +1 -1
- package/dist/assets/icons/ThreeStars.js.map +1 -1
- package/dist/assets/icons/UnpackagableFile.js.map +1 -1
- package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
- package/dist/assets/icons/ValidatedProfile.js.map +1 -1
- package/dist/assets/icons/account-certified.js.map +1 -1
- package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
- package/dist/assets/icons/account-validated.js.map +1 -1
- package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
- package/dist/assets/icons/chart2.js.map +1 -1
- package/dist/assets/icons/columns.js.map +1 -1
- package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
- package/dist/assets/icons/computationalTool.js.map +1 -1
- package/dist/assets/icons/dataReuse.js.map +1 -1
- package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
- package/dist/assets/icons/emailWithNotification.js.map +1 -1
- package/dist/assets/icons/error_page/maintenance.js.map +1 -1
- package/dist/assets/icons/error_page/no-access.js.map +1 -1
- package/dist/assets/icons/error_page/unavailable.js.map +1 -1
- package/dist/assets/icons/file.js.map +1 -1
- package/dist/assets/icons/inSilicoModel.js.map +1 -1
- package/dist/assets/icons/institution.js.map +1 -1
- package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
- package/dist/assets/icons/modelSystem.js.map +1 -1
- package/dist/assets/icons/mouse.js.map +1 -1
- package/dist/assets/icons/organizations.js.map +1 -1
- package/dist/assets/icons/person.js.map +1 -1
- package/dist/assets/icons/spatialProfiling.js.map +1 -1
- package/dist/assets/icons/standardDataModel.js.map +1 -1
- package/dist/assets/icons/study-active.js.map +1 -1
- package/dist/assets/icons/study-complete.js.map +1 -1
- package/dist/assets/icons/subscribe_plus.js.map +1 -1
- package/dist/assets/icons/synapse-logo.js.map +1 -1
- package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
- package/dist/assets/icons/translational.js.map +1 -1
- package/dist/assets/icons/tree_horizontal.js.map +1 -1
- package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
- package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
- package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
- package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
- package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
- package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
- package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
- package/dist/assets/illustrations/docker_illustration.js.map +1 -1
- package/dist/assets/illustrations/donation_illustration.js.map +1 -1
- package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
- package/dist/assets/illustrations/files_illustration.js.map +1 -1
- package/dist/assets/illustrations/following_illustration.js.map +1 -1
- package/dist/assets/illustrations/index.js.map +1 -1
- package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
- package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
- package/dist/assets/illustrations/projects_illustration.js.map +1 -1
- package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
- package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
- package/dist/assets/illustrations/tables_illustration.js.map +1 -1
- package/dist/assets/illustrations/teams_illustration.js.map +1 -1
- package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
- package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
- package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
- package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
- package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
- package/dist/assets/logos/other/pluto-logo.js.map +1 -1
- package/dist/assets/logos/other/terra-logo.js.map +1 -1
- package/dist/assets/mui_components/AccessManagement.js.map +1 -1
- package/dist/assets/mui_components/AccountCertified.js.map +1 -1
- package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
- package/dist/assets/mui_components/AccountValidated.js.map +1 -1
- package/dist/assets/mui_components/ActionKey.js.map +1 -1
- package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
- package/dist/assets/mui_components/Chromatin.js.map +1 -1
- package/dist/assets/mui_components/Clinical.js.map +1 -1
- package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
- package/dist/assets/mui_components/Data.js.map +1 -1
- package/dist/assets/mui_components/DataLocked.js.map +1 -1
- package/dist/assets/mui_components/DataReuse.js.map +1 -1
- package/dist/assets/mui_components/Dataset.js.map +1 -1
- package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
- package/dist/assets/mui_components/Docker.js.map +1 -1
- package/dist/assets/mui_components/GeneExpression.js.map +1 -1
- package/dist/assets/mui_components/GeneVariants.js.map +1 -1
- package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
- package/dist/assets/mui_components/Imaging.js.map +1 -1
- package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
- package/dist/assets/mui_components/Kinomics.js.map +1 -1
- package/dist/assets/mui_components/LineGraph.js.map +1 -1
- package/dist/assets/mui_components/ModelSystem.js.map +1 -1
- package/dist/assets/mui_components/Other.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile.js.map +1 -1
- package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
- package/dist/assets/mui_components/Proteomics.js.map +1 -1
- package/dist/assets/mui_components/Rat.js.map +1 -1
- package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
- package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
- package/dist/assets/sustainability/dialPosition1.js.map +1 -1
- package/dist/assets/sustainability/dialPosition2.js.map +1 -1
- package/dist/assets/sustainability/dialPosition3.js.map +1 -1
- package/dist/assets/sustainability/dialPosition4.js.map +1 -1
- package/dist/assets/themed_icons/Active.js.map +1 -1
- package/dist/assets/themed_icons/Chart.js.map +1 -1
- package/dist/assets/themed_icons/Close.js.map +1 -1
- package/dist/assets/themed_icons/Collapse.js.map +1 -1
- package/dist/assets/themed_icons/Columns.js.map +1 -1
- package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
- package/dist/assets/themed_icons/Database.js.map +1 -1
- package/dist/assets/themed_icons/Download.js.map +1 -1
- package/dist/assets/themed_icons/Expand.js.map +1 -1
- package/dist/assets/themed_icons/Explore.js.map +1 -1
- package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
- package/dist/assets/themed_icons/Filter.js.map +1 -1
- package/dist/assets/themed_icons/Program.js.map +1 -1
- package/dist/assets/themed_icons/Project.js.map +1 -1
- package/dist/assets/themed_icons/Publication.js.map +1 -1
- package/dist/assets/themed_icons/Search.js.map +1 -1
- package/dist/assets/themed_icons/Settings.js.map +1 -1
- package/dist/assets/themed_icons/SortDown.js.map +1 -1
- package/dist/assets/themed_icons/SortUp.js.map +1 -1
- package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
- package/dist/assets/themed_icons/Study.js.map +1 -1
- package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
- package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
- package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
- package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
- package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
- package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
- package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
- package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
- package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
- package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
- package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
- package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
- package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
- package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
- package/dist/components/AddToDownloadListV2.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
- package/dist/components/Authentication/LoginForm.js.map +1 -1
- package/dist/components/Authentication/LoginMethod.js.map +1 -1
- package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
- package/dist/components/Authentication/Logout.js.map +1 -1
- package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
- package/dist/components/Authentication/PasswordField.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
- package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
- package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardConfiguration.d.ts +2 -0
- package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
- package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
- package/dist/components/CardContainer/CardContainer.js +3 -3
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +1 -0
- package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
- package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.js.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
- package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
- package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
- package/dist/components/CitationPopover/useCitation.js.map +1 -1
- package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
- package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
- package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
- package/dist/components/CopyToClipboardIcon.js.map +1 -1
- package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
- package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
- package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
- package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
- package/dist/components/CrispChat/CrispChat.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.css +1 -1
- package/dist/components/DataExplorer/DataExplorer.js +28 -31
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.module.js +16 -16
- package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.module.scss +26 -6
- package/dist/components/DataGrid/DataGrid.js +72 -72
- package/dist/components/DataGrid/DataGrid.js.map +1 -1
- package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
- package/dist/components/DataGrid/StartGridSession.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +219 -211
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts +5 -3
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +46 -47
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
- package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
- package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +3 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
- package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
- package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
- package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +1 -0
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
- package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
- package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
- package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
- package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
- package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
- package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
- package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
- package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
- package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
- package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DatasetJsonLdScript.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
- package/dist/components/DialogBase.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
- package/dist/components/DirectDownloadButton.js.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
- package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
- package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
- package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
- package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
- package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
- package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
- package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
- package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
- package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
- package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js +134 -136
- package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
- package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
- package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
- package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
- package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
- package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
- package/dist/components/EntityForm/EntityForm.js.map +1 -1
- package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
- package/dist/components/EntityIcon.js.map +1 -1
- package/dist/components/EntityLink.js.map +1 -1
- package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
- package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
- package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
- package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
- package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
- package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
- package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
- package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
- package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
- package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
- package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
- package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
- package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
- package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
- package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
- package/dist/components/Evaluation/input_models/models.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
- package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
- package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
- package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
- package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
- package/dist/components/FilePreview/EntityPreview.js.map +1 -1
- package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
- package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
- package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
- package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
- package/dist/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/components/Forum/DiscussionReply.js.map +1 -1
- package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
- package/dist/components/Forum/DiscussionThread.js.map +1 -1
- package/dist/components/Forum/ForumPage.js.map +1 -1
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
- package/dist/components/Forum/SubscribersModal.js.map +1 -1
- package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
- package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
- package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
- package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
- package/dist/components/GenericCard/GenericCard.d.ts +2 -0
- package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCard.js +76 -64
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
- package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
- package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
- package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
- package/dist/components/GenericCard/Linkify.js.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
- package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +33 -25
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
- package/dist/components/Goals/Goals.Desktop.js.map +1 -1
- package/dist/components/Goals/Goals.Mobile.js.map +1 -1
- package/dist/components/Goals/Goals.js +25 -27
- package/dist/components/Goals/Goals.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.js +14 -16
- package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.js +14 -16
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
- package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
- package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
- package/dist/components/HasAccess/AccessIcon.js +10 -10
- package/dist/components/HasAccess/AccessIcon.js.map +1 -1
- package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
- package/dist/components/HasAccess/useHasAccess.js.map +1 -1
- package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IDUReport/IDUReport.js.map +1 -1
- package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/IconList.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/IconSvgButton.js.map +1 -1
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
- package/dist/components/ImageFromSynapseTable.js.map +1 -1
- package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/JsonLdScript.js.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
- package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
- package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js +75 -106
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
- package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js +38 -37
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
- package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/MuiContainer.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
- package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
- package/dist/components/PageProgress/PageProgress.js.map +1 -1
- package/dist/components/Plot/BarPlot.js.map +1 -1
- package/dist/components/Plot/DotPlot.js.map +1 -1
- package/dist/components/Plot/Plot.d.ts +12 -1
- package/dist/components/Plot/Plot.d.ts.map +1 -1
- package/dist/components/Plot/Plot.js +5 -1
- package/dist/components/Plot/Plot.js.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/SynapseSankeyPlot.css +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.d.ts +54 -0
- package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.js +359 -0
- package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.module.js +15 -0
- package/dist/components/Plot/SynapseSankeyPlot.module.js.map +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.module.scss +63 -0
- package/dist/components/Plot/ThemesPlot.js.map +1 -1
- package/dist/components/Plot/UpsetPlot.js.map +1 -1
- package/dist/components/Plot/index.d.ts +3 -1
- package/dist/components/Plot/index.d.ts.map +1 -1
- package/dist/components/Plot/index.js +2 -1
- package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
- package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
- package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
- package/dist/components/PortalList/PortalCard.js.map +1 -1
- package/dist/components/PortalList/PortalList.js.map +1 -1
- package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/Programs/Programs.Desktop.js.map +1 -1
- package/dist/components/Programs/Programs.Mobile.js.map +1 -1
- package/dist/components/Programs/Programs.js.map +1 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
- package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
- package/dist/components/QueryContext/QueryContext.js.map +1 -1
- package/dist/components/QueryCount/QueryCount.js.map +1 -1
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/QuerySortSelector.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
- package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
- package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
- package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
- package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
- package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
- package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
- package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
- package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
- package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
- package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
- package/dist/components/Resources/Resources.Desktop.js.map +1 -1
- package/dist/components/Resources/Resources.Mobile.js.map +1 -1
- package/dist/components/Resources/Resources.js +8 -11
- package/dist/components/Resources/Resources.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +13 -12
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +88 -77
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/ShowMore/ShowMore.js.map +1 -1
- package/dist/components/SignInButton.js.map +1 -1
- package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
- package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
- package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
- package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
- package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
- package/dist/components/SmartLink/SmartButton.js.map +1 -1
- package/dist/components/SmartLink/SmartLink.js.map +1 -1
- package/dist/components/SmartLink/useSmartLink.js.map +1 -1
- package/dist/components/SourceAppImage.js.map +1 -1
- package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
- package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
- package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
- package/dist/components/StatisticsPlot.js.map +1 -1
- package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
- package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
- package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
- package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
- package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
- package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
- package/dist/components/SubscriptionPage/Topic.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
- package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
- package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseChat/useChatState.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
- package/dist/components/SynapseForm/DataDebug.js.map +1 -1
- package/dist/components/SynapseForm/Header.js.map +1 -1
- package/dist/components/SynapseForm/NavButtons.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
- package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
- package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
- package/dist/components/SynapseForm/types.js.map +1 -1
- package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
- package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
- package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
- package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
- package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
- package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
- package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
- package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
- package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
- package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
- package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
- package/dist/components/SynapseTable/SearchV2.js.map +1 -1
- package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
- package/dist/components/SynapseTable/TablePagination.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +63 -74
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
- package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/SynapseTable/useTableSort.js.map +1 -1
- package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +72 -68
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +27 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +47 -36
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +10 -10
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.d.ts +12 -12
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts +4 -1
- package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts +167 -517
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js +65 -65
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js +6 -13
- package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js +2 -2
- package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts +2 -2
- package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js +15 -16
- package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
- package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/TableBody.js.map +1 -1
- package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/TeamBadge.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/TemplateComponent.js.map +1 -1
- package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
- package/dist/components/TextToComponentCollapse.js.map +1 -1
- package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
- package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
- package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
- package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
- package/dist/components/TotalQueryResults.js.map +1 -1
- package/dist/components/UserCard/Avatar.js.map +1 -1
- package/dist/components/UserCard/UserBadge.js.map +1 -1
- package/dist/components/UserCard/UserCard.js.map +1 -1
- package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
- package/dist/components/UserCard/UserCardLarge.js.map +1 -1
- package/dist/components/UserCard/UserCardMedium.js.map +1 -1
- package/dist/components/UserCardList/UserCardList.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
- package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
- package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
- package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
- package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
- package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
- package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
- package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
- package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
- package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
- package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
- package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
- package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
- package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
- package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
- package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/doi/DoiFormSchemas.js.map +1 -1
- package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
- package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
- package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
- package/dist/components/download_list/DownloadDetails.js.map +1 -1
- package/dist/components/download_list/index.js.map +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
- package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
- package/dist/components/entity/metadata/EntityModal.js.map +1 -1
- package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
- package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
- package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
- package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
- package/dist/components/error/ErrorBanner.js.map +1 -1
- package/dist/components/error/ErrorChip.js.map +1 -1
- package/dist/components/error/ErrorPage.js +24 -24
- package/dist/components/error/ErrorPage.js.map +1 -1
- package/dist/components/error/RouteErrorBoundary.js.map +1 -1
- package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
- package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
- package/dist/components/favorites/FavoriteButton.js.map +1 -1
- package/dist/components/favorites/FavoritesPage.js.map +1 -1
- package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
- package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
- package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
- package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
- package/dist/components/home_page/ExpandableContent.js.map +1 -1
- package/dist/components/index.js +48 -47
- package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
- package/dist/components/layout/SWCHeader.js.map +1 -1
- package/dist/components/layout/SWCPageLayout.js.map +1 -1
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/components/menu/DropdownMenu.js.map +1 -1
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/row_renderers/Funder.js.map +1 -1
- package/dist/components/row_renderers/ObservationCard.js.map +1 -1
- package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
- package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
- package/dist/components/styled/HoverPopover.js.map +1 -1
- package/dist/components/styled/InlineBadge.js.map +1 -1
- package/dist/components/styled/InputSizedButton.js.map +1 -1
- package/dist/components/styled/LargeButton.js.map +1 -1
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/components/styled/LightTooltip.js.map +1 -1
- package/dist/components/styled/StyledFormControl.js.map +1 -1
- package/dist/components/styled/StyledPopover.js.map +1 -1
- package/dist/components/styled/StyledTableContainer.js.map +1 -1
- package/dist/components/styled/WideButton.js.map +1 -1
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +39 -42
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -1
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -1
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js +11 -11
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -1
- package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
- package/dist/components/trash/TrashCanList.js.map +1 -1
- package/dist/components/utils/Blocker.js.map +1 -1
- package/dist/components/utils/ConditionalWrapper.js.map +1 -1
- package/dist/components/utils/VisibilityObserver.js.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/EntityColumnImage.js.map +1 -1
- package/dist/components/widgets/FileHandleLink.js.map +1 -1
- package/dist/components/widgets/ImageFileHandle.js.map +1 -1
- package/dist/components/widgets/LoginAwareButton.js.map +1 -1
- package/dist/components/widgets/Range.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseImage.js.map +1 -1
- package/dist/components/widgets/SynapseVideo.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
- package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
- package/dist/features/curator/GridPage/GridPage.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
- package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.js +2 -2
- package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
- package/dist/index.js +54 -53
- package/dist/index.js.map +1 -1
- package/dist/mocks/MockAccessApprovals.js.map +1 -1
- package/dist/mocks/MockSynapseContext.js.map +1 -1
- package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
- package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
- package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
- package/dist/mocks/challenge/mockChallenge.js.map +1 -1
- package/dist/mocks/chat/mockChat.js.map +1 -1
- package/dist/mocks/curation/mockCurationTask.js.map +1 -1
- package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
- package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
- package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
- package/dist/mocks/discussion/mock_discussion.js.map +1 -1
- package/dist/mocks/doi/MockDoi.js.map +1 -1
- package/dist/mocks/entity/index.js.map +1 -1
- package/dist/mocks/entity/mockDataset.js.map +1 -1
- package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
- package/dist/mocks/entity/mockEntity.js.map +1 -1
- package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
- package/dist/mocks/entity/mockFileEntity.js.map +1 -1
- package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
- package/dist/mocks/entity/mockFileView.js.map +1 -1
- package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
- package/dist/mocks/entity/mockProject.js.map +1 -1
- package/dist/mocks/entity/mockProjectView.js.map +1 -1
- package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
- package/dist/mocks/entity/mockRootEntity.js.map +1 -1
- package/dist/mocks/entity/mockTableEntity.js.map +1 -1
- package/dist/mocks/faker/fakerUtils.js.map +1 -1
- package/dist/mocks/faker/generateDiscussion.js.map +1 -1
- package/dist/mocks/faker/generateEvaluation.js.map +1 -1
- package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
- package/dist/mocks/faker/generateSubscription.js.map +1 -1
- package/dist/mocks/mockAnnotationColumns.js.map +1 -1
- package/dist/mocks/mockCertificationQuiz.js.map +1 -1
- package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
- package/dist/mocks/mockFileViewQuery.js.map +1 -1
- package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
- package/dist/mocks/mockQueryResponseData.js.map +1 -1
- package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
- package/dist/mocks/mockSchema.js.map +1 -1
- package/dist/mocks/mockSearchQueryData.js +2 -2
- package/dist/mocks/mockSearchQueryData.js.map +1 -1
- package/dist/mocks/mockShortIo.js.map +1 -1
- package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
- package/dist/mocks/mockSubscription.js.map +1 -1
- package/dist/mocks/mockWiki.js.map +1 -1
- package/dist/mocks/mockWikiPageKey.js.map +1 -1
- package/dist/mocks/mock_drug_tool_data.js.map +1 -1
- package/dist/mocks/mock_file_handle.js.map +1 -1
- package/dist/mocks/mock_file_statistics.js.map +1 -1
- package/dist/mocks/mock_has_access_data.js.map +1 -1
- package/dist/mocks/mock_upload_destination.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/searchQueryHandlers.js +6 -3
- package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
- package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/mocks/msw/server.d.ts +1 -1
- package/dist/mocks/msw/server.d.ts.map +1 -1
- package/dist/mocks/msw/server.js.map +1 -1
- package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
- package/dist/mocks/oauth/MockClient.js.map +1 -1
- package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
- package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
- package/dist/mocks/provenance/mockActivity.js.map +1 -1
- package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
- package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
- package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
- package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
- package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts +13 -0
- package/dist/mocks/query/mockUserCardTableQueryResultBundle.d.ts.map +1 -1
- package/dist/mocks/query/mockUserCardTableQueryResultBundle.js +27 -0
- package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
- package/dist/mocks/query/mock_query_data.js.map +1 -1
- package/dist/mocks/query/syn16787123.js.map +1 -1
- package/dist/mocks/query/syn17328596.js.map +1 -1
- package/dist/mocks/query/syn51735464.js.map +1 -1
- package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
- package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
- package/dist/mocks/team/mockTeam.js.map +1 -1
- package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
- package/dist/mocks/user/mock_user_profile.js.map +1 -1
- package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
- package/dist/ror-client/index.js.map +1 -1
- package/dist/stories/ColorPaletteInspector.js.map +1 -1
- package/dist/stories/ToastDemo.js.map +1 -1
- package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
- package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
- package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
- package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
- package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
- package/dist/style/components/_cards.scss +10 -0
- package/dist/style/components/_data-grid-extra.css +1 -1
- package/dist/style/components/_data-grid-extra.scss +7 -1
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/HttpClient.js.map +1 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +499 -505
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
- package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
- package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
- package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
- package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
- package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
- package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
- package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
- package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
- package/dist/synapse-queries/doi/useDOI.js.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
- package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
- package/dist/synapse-queries/entity/useSchema.js.map +1 -1
- package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
- package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
- package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
- package/dist/synapse-queries/file/useFiles.js.map +1 -1
- package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
- package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
- package/dist/synapse-queries/forum/useForum.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/github/useGithub.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
- package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
- package/dist/synapse-queries/message/useMessage.js.map +1 -1
- package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
- package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
- package/dist/synapse-queries/portal/usePortal.js.map +1 -1
- package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
- package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
- package/dist/synapse-queries/ror/index.js.map +1 -1
- package/dist/synapse-queries/search/useSearch.js.map +1 -1
- package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
- package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
- package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
- package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeam.js.map +1 -1
- package/dist/synapse-queries/team/useTeamList.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
- package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
- package/dist/synapse-queries/user/useFavorites.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
- package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
- package/dist/synapse-queries/user/useProjects.js.map +1 -1
- package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
- package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
- package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
- package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
- package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
- package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
- package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
- package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
- package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
- package/dist/testutils/LocationTracker.js.map +1 -1
- package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/testutils/TestingLibraryUtils.js +18 -16
- package/dist/testutils/TestingLibraryUtils.js.map +1 -1
- package/dist/testutils/muiDatePickerMock.js.map +1 -1
- package/dist/testutils/vitest.setup.js.map +1 -1
- package/dist/theme/DefaultTheme.js.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/mergeTheme.js.map +1 -1
- package/dist/theme/palette/Palettes.js.map +1 -1
- package/dist/theme/spreadSx.js.map +1 -1
- package/dist/theme/typography/Link.js.map +1 -1
- package/dist/theme/typography/Typography.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
- package/dist/utils/AppUtils/AppUtils.js +11 -11
- package/dist/utils/AppUtils/AppUtils.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
- package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
- package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
- package/dist/utils/ContentTypeUtils.js.map +1 -1
- package/dist/utils/OrientationBannerConstants.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/SynapseConstants.js.map +1 -1
- package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
- package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
- package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
- package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
- package/dist/utils/context/AridhiaContext.js.map +1 -1
- package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
- package/dist/utils/context/FullContextProvider.js.map +1 -1
- package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.js.map +1 -1
- package/dist/utils/functions/DateFormatter.js.map +1 -1
- package/dist/utils/functions/DateTimeUtils.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/FileHandleUtils.js.map +1 -1
- package/dist/utils/functions/GridApiUtils.js.map +1 -1
- package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
- package/dist/utils/functions/IsExternalLink.js.map +1 -1
- package/dist/utils/functions/ObjectUtils.js.map +1 -1
- package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
- package/dist/utils/functions/RealmUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
- package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
- package/dist/utils/functions/colorPalette.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
- package/dist/utils/functions/generateCsrfToken.js.map +1 -1
- package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
- package/dist/utils/functions/getEndpoint.js +3 -3
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
- package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
- package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/useConfirmItems.js.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.js +24 -23
- package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
- package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
- package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
- package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
- package/dist/utils/hooks/useGetGoalData.js +2 -4
- package/dist/utils/hooks/useGetGoalData.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
- package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
- package/dist/utils/hooks/useIsBot.js.map +1 -1
- package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
- package/dist/utils/hooks/useListState.js.map +1 -1
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
- package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
- package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
- package/dist/utils/hooks/useOneSageURL.js.map +1 -1
- package/dist/utils/hooks/useOverlay.js.map +1 -1
- package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
- package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
- package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
- package/dist/utils/hooks/useSet.js.map +1 -1
- package/dist/utils/hooks/useShowDesktop.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
- package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
- package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
- package/dist/utils/html/TargetEnum.js.map +1 -1
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
- package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
- package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/jsonschema/getType.js.map +1 -1
- package/dist/utils/searchDefaults.js.map +1 -1
- package/dist/utils/slots/SlotUtils.js.map +1 -1
- package/dist/utils/types/IsType.js.map +1 -1
- package/package.json +68 -65
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import "../../utils/SynapseConstants.js";
|
|
2
|
+
import { parseEntityIdFromSqlStatement as e } from "../../utils/functions/SqlFunctions.js";
|
|
3
|
+
import "../../utils/index.js";
|
|
4
|
+
import { useGetFullTableQueryResults as t } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
|
|
5
|
+
import "../../synapse-queries/index.js";
|
|
6
|
+
import n from "./SynapseSankeyPlot.module.js";
|
|
7
|
+
import { useEffect as r, useId as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
8
|
+
import { Skeleton as c, useTheme as l } from "@mui/material";
|
|
9
|
+
import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
10
|
+
import p from "tinycolor2";
|
|
11
|
+
import { sankey as m, sankeyLinkHorizontal as h } from "d3-sankey";
|
|
12
|
+
import g from "classnames";
|
|
13
|
+
//#region src/components/Plot/SynapseSankeyPlot.tsx
|
|
14
|
+
var _ = 920, ee = 124, te = 286, v = 22, ne = 13, re = 34, ie = 46, y = 14, b = 70, x = 64, S = 4.5, ae = 64, oe = 56, se = 44, C = 160, w = (e) => ((e.y0 ?? 0) + (e.y1 ?? 0)) / 2, T = (e) => ((e.x0 ?? 0) + (e.x1 ?? 0)) / 2;
|
|
15
|
+
function E(e) {
|
|
16
|
+
let { node: t, total: r, unitLabel: i, align: a, onMouseEnter: o, interactiveProps: s } = e, c = l(), u = w(t), p = a === "left" ? (t.x0 ?? 0) - y : (t.x1 ?? 0) + y, m = a === "left" ? "end" : "start";
|
|
17
|
+
return /* @__PURE__ */ f("g", {
|
|
18
|
+
onMouseEnter: o,
|
|
19
|
+
...s,
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ d("text", {
|
|
22
|
+
x: p,
|
|
23
|
+
y: u - 22,
|
|
24
|
+
textAnchor: m,
|
|
25
|
+
fontSize: 10,
|
|
26
|
+
fontWeight: 600,
|
|
27
|
+
letterSpacing: 1.2,
|
|
28
|
+
fill: c.palette.grey[700],
|
|
29
|
+
children: t.name.toUpperCase()
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ d("text", {
|
|
32
|
+
x: p,
|
|
33
|
+
y: u + 6,
|
|
34
|
+
textAnchor: m,
|
|
35
|
+
fontSize: 26,
|
|
36
|
+
fontWeight: 600,
|
|
37
|
+
fill: c.palette.primary.dark,
|
|
38
|
+
className: n.tabularNums,
|
|
39
|
+
children: r.toLocaleString()
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ d("text", {
|
|
42
|
+
x: p,
|
|
43
|
+
y: u + 23,
|
|
44
|
+
textAnchor: m,
|
|
45
|
+
fontSize: 11,
|
|
46
|
+
fontWeight: 500,
|
|
47
|
+
fill: c.palette.text.secondary,
|
|
48
|
+
children: `${i} total`
|
|
49
|
+
})
|
|
50
|
+
]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function ce(e) {
|
|
54
|
+
let { node: t, total: r, opacity: i, onMouseEnter: a, interactiveProps: o } = e, s = l(), c = w(t), u = (t.x1 ?? 0) + y, p = t.value ?? 0, m = r > 0 ? p / r : 0, h = u + b, g = c + 6;
|
|
55
|
+
return /* @__PURE__ */ f("g", {
|
|
56
|
+
opacity: i,
|
|
57
|
+
className: n.categoryLabel,
|
|
58
|
+
onMouseEnter: a,
|
|
59
|
+
...o,
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ d("text", {
|
|
62
|
+
x: u,
|
|
63
|
+
y: c - 4,
|
|
64
|
+
fontSize: 13,
|
|
65
|
+
fontWeight: 600,
|
|
66
|
+
fill: s.palette.text.primary,
|
|
67
|
+
children: t.name
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ d("text", {
|
|
70
|
+
x: u,
|
|
71
|
+
y: c + 14,
|
|
72
|
+
fontSize: 13,
|
|
73
|
+
fontWeight: 600,
|
|
74
|
+
fill: t.color,
|
|
75
|
+
className: n.tabularNums,
|
|
76
|
+
children: p.toLocaleString()
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ d("rect", {
|
|
79
|
+
x: h,
|
|
80
|
+
y: g,
|
|
81
|
+
width: x,
|
|
82
|
+
height: S,
|
|
83
|
+
rx: S / 2,
|
|
84
|
+
fill: s.palette.grey[300]
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ d("rect", {
|
|
87
|
+
x: h,
|
|
88
|
+
y: g,
|
|
89
|
+
width: x * m,
|
|
90
|
+
height: S,
|
|
91
|
+
rx: S / 2,
|
|
92
|
+
fill: t.color
|
|
93
|
+
}),
|
|
94
|
+
/* @__PURE__ */ f("text", {
|
|
95
|
+
x: h + x + 7,
|
|
96
|
+
y: c + 13,
|
|
97
|
+
fontSize: 11,
|
|
98
|
+
fontWeight: 500,
|
|
99
|
+
fill: s.palette.grey[700],
|
|
100
|
+
className: n.tabularNums,
|
|
101
|
+
children: [(m * 100).toFixed(1), "%"]
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function le(e) {
|
|
107
|
+
let { node: t, leftValue: r, rightValue: i, unitLabel: a, rightUnitLabel: o, opacity: s, onMouseEnter: c, interactiveProps: u } = e, p = l(), m = T(t), h = t.y0 ?? 0;
|
|
108
|
+
return /* @__PURE__ */ f("g", {
|
|
109
|
+
opacity: s,
|
|
110
|
+
className: n.categoryLabel,
|
|
111
|
+
onMouseEnter: c,
|
|
112
|
+
...u,
|
|
113
|
+
children: [/* @__PURE__ */ d("text", {
|
|
114
|
+
x: m,
|
|
115
|
+
y: h - 20,
|
|
116
|
+
textAnchor: "middle",
|
|
117
|
+
fontSize: 13,
|
|
118
|
+
fontWeight: 600,
|
|
119
|
+
fill: p.palette.text.primary,
|
|
120
|
+
stroke: p.palette.background.paper,
|
|
121
|
+
className: n.haloText,
|
|
122
|
+
children: t.name
|
|
123
|
+
}), /* @__PURE__ */ d("text", {
|
|
124
|
+
x: m,
|
|
125
|
+
y: h - 6,
|
|
126
|
+
textAnchor: "middle",
|
|
127
|
+
fontSize: 11,
|
|
128
|
+
fontWeight: 600,
|
|
129
|
+
fill: p.palette.text.secondary,
|
|
130
|
+
stroke: p.palette.background.paper,
|
|
131
|
+
className: g(n.tabularNums, n.haloText),
|
|
132
|
+
children: `${r.toLocaleString()} ${a} · ${i.toLocaleString()} ${o}`
|
|
133
|
+
})]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
var D = (y) => {
|
|
137
|
+
let { sql: b, rootLabel: x, title: S, labelColumn: w, valueColumn: T, unitLabel: D = "items", breakdownLabel: O, onCategoryClick: k, onRootClick: A, rightValueColumn: j, rightLabel: ue = "Files", rightUnitLabel: de = "items", onRightCategoryClick: fe, onRightEndClick: M } = y, N = l(), P = i(), F = j !== void 0, [pe, I] = s(null), [L, R] = s(null), [me, he] = s(!1);
|
|
138
|
+
r(() => {
|
|
139
|
+
let e = requestAnimationFrame(() => he(!0));
|
|
140
|
+
return () => cancelAnimationFrame(e);
|
|
141
|
+
}, []);
|
|
142
|
+
let z = o(void 0);
|
|
143
|
+
r(() => () => {
|
|
144
|
+
z.current !== void 0 && window.clearTimeout(z.current);
|
|
145
|
+
}, []);
|
|
146
|
+
let { data: B, isLoading: ge } = t({
|
|
147
|
+
concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest",
|
|
148
|
+
partMask: 1,
|
|
149
|
+
entityId: e(b),
|
|
150
|
+
query: { sql: b }
|
|
151
|
+
}), V = a(() => B?.queryResult?.queryResults.rows ?? [], [B]), { labelIndex: H, valueIndex: U, rightValueIndex: W } = a(() => {
|
|
152
|
+
let e = B?.queryResult?.queryResults.headers ?? [], t = (t, n) => {
|
|
153
|
+
if (typeof t == "number") return t;
|
|
154
|
+
if (typeof t == "string") {
|
|
155
|
+
let r = e.findIndex((e) => e.name === t);
|
|
156
|
+
return r >= 0 ? r : n;
|
|
157
|
+
}
|
|
158
|
+
return n;
|
|
159
|
+
};
|
|
160
|
+
return {
|
|
161
|
+
labelIndex: t(w, 0),
|
|
162
|
+
valueIndex: t(T, 1),
|
|
163
|
+
rightValueIndex: F ? t(j, 2) : -1
|
|
164
|
+
};
|
|
165
|
+
}, [
|
|
166
|
+
B,
|
|
167
|
+
w,
|
|
168
|
+
T,
|
|
169
|
+
j,
|
|
170
|
+
F
|
|
171
|
+
]), G = N.typography.fontFamily ?? "inherit", K = N.palette.primary.dark, _e = N.palette.text.primary, q = F ? se : v, ve = F ? ae : ie, J = Math.max(320, q + v + V.length * ve), ye = a(() => {
|
|
172
|
+
if (V.length === 0) return null;
|
|
173
|
+
let e = p(N.palette.primary.main).lighten(18), t = p(N.palette.primary.main).darken(12), n = (n) => V.length <= 1 ? N.palette.primary.main : p.mix(e, t, n / (V.length - 1) * 100).toHexString(), r = V.map((e, t) => ({
|
|
174
|
+
name: String(e.values[H] ?? ""),
|
|
175
|
+
leftValue: Number(e.values[U] ?? 0),
|
|
176
|
+
rightValue: F ? Number(e.values[W] ?? 0) : 0,
|
|
177
|
+
color: n(t)
|
|
178
|
+
})), i = r.reduce((e, t) => e + t.leftValue, 0), a = r.reduce((e, t) => e + t.rightValue, 0), o = r.length + 1, s = F && i > 0 && a > 0 ? a / i : 1, c = (e, t) => t === "left" ? e * s : e, l = [
|
|
179
|
+
{
|
|
180
|
+
name: x,
|
|
181
|
+
value: i,
|
|
182
|
+
color: K,
|
|
183
|
+
kind: "leftEnd"
|
|
184
|
+
},
|
|
185
|
+
...r.map((e) => ({
|
|
186
|
+
name: e.name,
|
|
187
|
+
value: e.leftValue,
|
|
188
|
+
color: e.color,
|
|
189
|
+
kind: "source",
|
|
190
|
+
leftValue: e.leftValue,
|
|
191
|
+
rightValue: e.rightValue
|
|
192
|
+
})),
|
|
193
|
+
...F ? [{
|
|
194
|
+
name: ue,
|
|
195
|
+
value: a,
|
|
196
|
+
color: K,
|
|
197
|
+
kind: "rightEnd"
|
|
198
|
+
}] : []
|
|
199
|
+
], u = [...r.map((e, t) => ({
|
|
200
|
+
source: 0,
|
|
201
|
+
target: t + 1,
|
|
202
|
+
value: c(e.leftValue, "left"),
|
|
203
|
+
sourceIndex: t,
|
|
204
|
+
side: "left"
|
|
205
|
+
})), ...F ? r.map((e, t) => ({
|
|
206
|
+
source: t + 1,
|
|
207
|
+
target: o,
|
|
208
|
+
value: c(e.rightValue, "right"),
|
|
209
|
+
sourceIndex: t,
|
|
210
|
+
side: "right"
|
|
211
|
+
})) : []], d = F ? oe : re, f = F ? C : ee, h = F ? C : te;
|
|
212
|
+
return {
|
|
213
|
+
graph: m().nodeWidth(ne).nodePadding(d).nodeSort(null).extent([[f, q], [_ - h, J - v]])({
|
|
214
|
+
nodes: l.map((e) => ({ ...e })),
|
|
215
|
+
links: u.map((e) => ({ ...e }))
|
|
216
|
+
}),
|
|
217
|
+
totalLeft: i,
|
|
218
|
+
totalRight: a
|
|
219
|
+
};
|
|
220
|
+
}, [
|
|
221
|
+
V,
|
|
222
|
+
H,
|
|
223
|
+
U,
|
|
224
|
+
W,
|
|
225
|
+
F,
|
|
226
|
+
x,
|
|
227
|
+
ue,
|
|
228
|
+
K,
|
|
229
|
+
N.palette.primary.main,
|
|
230
|
+
J,
|
|
231
|
+
q
|
|
232
|
+
]);
|
|
233
|
+
if (ge) return /* @__PURE__ */ d(c, {
|
|
234
|
+
width: "100%",
|
|
235
|
+
height: "500px"
|
|
236
|
+
});
|
|
237
|
+
if (!ye) return /* @__PURE__ */ d(u, {});
|
|
238
|
+
let { graph: Y, totalLeft: be, totalRight: xe } = ye, Se = h(), X = L ?? pe, Ce = L === null ? .07 : .05, we = L === null ? .16 : .1, Te = L === null ? .32 : .15, Ee = (e) => X === null ? .6 : e === X ? L === null ? .95 : 1 : Ce, De = (e) => X === null || e.kind !== "source" || (e.index ?? 1) - 1 === X ? 1 : we, Oe = (e) => X === null || X === e ? 1 : Te, ke = (e, t) => {
|
|
239
|
+
z.current !== void 0 && window.clearTimeout(z.current), R(e), z.current = window.setTimeout(() => {
|
|
240
|
+
z.current = void 0, R(null), t();
|
|
241
|
+
}, 320);
|
|
242
|
+
}, Z = (e, t) => t ? {
|
|
243
|
+
cursor: "pointer",
|
|
244
|
+
onClick: () => ke(e, t)
|
|
245
|
+
} : {}, Q = (e) => e ? {
|
|
246
|
+
cursor: "pointer",
|
|
247
|
+
onClick: e
|
|
248
|
+
} : {}, $ = (e) => k ? () => k(e) : void 0;
|
|
249
|
+
return /* @__PURE__ */ f("div", {
|
|
250
|
+
className: g(n.root, { [n.rootVisible]: me }),
|
|
251
|
+
children: [S && /* @__PURE__ */ d("div", {
|
|
252
|
+
className: n.title,
|
|
253
|
+
style: {
|
|
254
|
+
fontFamily: G,
|
|
255
|
+
color: _e
|
|
256
|
+
},
|
|
257
|
+
children: S
|
|
258
|
+
}), /* @__PURE__ */ f("svg", {
|
|
259
|
+
viewBox: `0 0 ${_} ${J}`,
|
|
260
|
+
role: "img",
|
|
261
|
+
"aria-label": O ? `${x} broken down ${O}` : `${x} breakdown`,
|
|
262
|
+
className: n.svg,
|
|
263
|
+
style: {
|
|
264
|
+
fontFamily: G,
|
|
265
|
+
maxWidth: _
|
|
266
|
+
},
|
|
267
|
+
onMouseLeave: () => I(null),
|
|
268
|
+
children: [
|
|
269
|
+
/* @__PURE__ */ d("defs", { children: Y.links.map((e, t) => {
|
|
270
|
+
let n = e.source, r = e.target;
|
|
271
|
+
return /* @__PURE__ */ f("linearGradient", {
|
|
272
|
+
id: `${P}-grad-${t}`,
|
|
273
|
+
gradientUnits: "userSpaceOnUse",
|
|
274
|
+
x1: n.x1,
|
|
275
|
+
x2: r.x0,
|
|
276
|
+
children: [/* @__PURE__ */ d("stop", {
|
|
277
|
+
offset: "0%",
|
|
278
|
+
stopColor: n.color
|
|
279
|
+
}), /* @__PURE__ */ d("stop", {
|
|
280
|
+
offset: "100%",
|
|
281
|
+
stopColor: r.color
|
|
282
|
+
})]
|
|
283
|
+
}, t);
|
|
284
|
+
}) }),
|
|
285
|
+
/* @__PURE__ */ d("g", {
|
|
286
|
+
fill: "none",
|
|
287
|
+
children: Y.links.map((e, t) => {
|
|
288
|
+
let r = e.side === "left" ? e.target : e.source, i = Math.max(1, e.width ?? 1), a = e.side === "left" ? k : fe, o = a ? () => a(r.name) : void 0;
|
|
289
|
+
return /* @__PURE__ */ d("path", {
|
|
290
|
+
d: Se(e) ?? void 0,
|
|
291
|
+
stroke: `url(#${P}-grad-${t})`,
|
|
292
|
+
strokeWidth: L === e.sourceIndex ? i * 1.25 : i,
|
|
293
|
+
strokeOpacity: Ee(e.sourceIndex),
|
|
294
|
+
className: n.ribbon,
|
|
295
|
+
onMouseEnter: () => I(e.sourceIndex),
|
|
296
|
+
...Z(e.sourceIndex, o)
|
|
297
|
+
}, t);
|
|
298
|
+
})
|
|
299
|
+
}),
|
|
300
|
+
/* @__PURE__ */ d("g", { children: Y.nodes.map((e, t) => {
|
|
301
|
+
let r = (e.index ?? 1) - 1, i = e.kind === "leftEnd" ? Q(A) : e.kind === "rightEnd" ? Q(M) : Z(r, $(e.name));
|
|
302
|
+
return /* @__PURE__ */ d("rect", {
|
|
303
|
+
x: e.x0,
|
|
304
|
+
y: e.y0,
|
|
305
|
+
width: (e.x1 ?? 0) - (e.x0 ?? 0),
|
|
306
|
+
height: Math.max(1, (e.y1 ?? 0) - (e.y0 ?? 0)),
|
|
307
|
+
rx: 4,
|
|
308
|
+
fill: e.color,
|
|
309
|
+
fillOpacity: De(e),
|
|
310
|
+
stroke: N.palette.background.paper,
|
|
311
|
+
strokeWidth: 1,
|
|
312
|
+
className: n.node,
|
|
313
|
+
onMouseEnter: () => I(e.kind === "source" ? r : null),
|
|
314
|
+
...i
|
|
315
|
+
}, t);
|
|
316
|
+
}) }),
|
|
317
|
+
Y.nodes.map((e, t) => {
|
|
318
|
+
if (e.kind === "leftEnd") return /* @__PURE__ */ d(E, {
|
|
319
|
+
node: e,
|
|
320
|
+
total: be,
|
|
321
|
+
unitLabel: D,
|
|
322
|
+
align: "left",
|
|
323
|
+
onMouseEnter: () => I(null),
|
|
324
|
+
interactiveProps: Q(A)
|
|
325
|
+
}, `lab-${t}`);
|
|
326
|
+
if (e.kind === "rightEnd") return /* @__PURE__ */ d(E, {
|
|
327
|
+
node: e,
|
|
328
|
+
total: xe,
|
|
329
|
+
unitLabel: de,
|
|
330
|
+
align: "right",
|
|
331
|
+
onMouseEnter: () => I(null),
|
|
332
|
+
interactiveProps: Q(M)
|
|
333
|
+
}, `lab-${t}`);
|
|
334
|
+
let n = (e.index ?? 1) - 1, r = $(e.name);
|
|
335
|
+
return F ? /* @__PURE__ */ d(le, {
|
|
336
|
+
node: e,
|
|
337
|
+
leftValue: e.leftValue ?? 0,
|
|
338
|
+
rightValue: e.rightValue ?? 0,
|
|
339
|
+
unitLabel: D,
|
|
340
|
+
rightUnitLabel: de,
|
|
341
|
+
opacity: Oe(n),
|
|
342
|
+
onMouseEnter: () => I(n),
|
|
343
|
+
interactiveProps: Z(n, r)
|
|
344
|
+
}, `lab-${t}`) : /* @__PURE__ */ d(ce, {
|
|
345
|
+
node: e,
|
|
346
|
+
total: be,
|
|
347
|
+
opacity: Oe(n),
|
|
348
|
+
onMouseEnter: () => I(n),
|
|
349
|
+
interactiveProps: Z(n, r)
|
|
350
|
+
}, `lab-${t}`);
|
|
351
|
+
})
|
|
352
|
+
]
|
|
353
|
+
})]
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
//#endregion
|
|
357
|
+
export { D as SynapseSankeyPlot, D as default };
|
|
358
|
+
|
|
359
|
+
//# sourceMappingURL=SynapseSankeyPlot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SynapseSankeyPlot.js","names":[],"sources":["../../../src/components/Plot/SynapseSankeyPlot.tsx"],"sourcesContent":["import React, { useEffect, useId, useMemo, useRef, useState } from 'react'\nimport { useGetFullTableQueryResults } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/SqlFunctions'\nimport { Skeleton, useTheme } from '@mui/material'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport {\n sankey as d3Sankey,\n sankeyLinkHorizontal,\n type SankeyNode as D3SankeyNode,\n} from 'd3-sankey'\nimport tinycolor from 'tinycolor2'\nimport classNames from 'classnames'\nimport styles from './SynapseSankeyPlot.module.scss'\n\nexport type SynapseSankeyPlotProps = {\n /** SQL query providing the node labels and link values (see labelColumn/valueColumn) */\n sql: string\n /** Label for the left end node that links to every row returned by the query */\n rootLabel: string\n /** Optional plot title */\n title?: string\n /**\n * Column supplying each category's label. Either a column name (matched\n * against the query result headers) or a zero-based index. Defaults to the\n * first column.\n */\n labelColumn?: string | number\n /**\n * Column supplying each link's value. Either a column name or a zero-based\n * index. Defaults to the second column.\n */\n valueColumn?: string | number\n /**\n * Noun for the left end total caption, e.g. \"datasets\" renders\n * \"datasets total\". Defaults to \"items\".\n */\n unitLabel?: string\n /**\n * Phrase describing the breakdown, used in the chart's accessible label,\n * e.g. \"by source\" renders \"All Datasets broken down by source\".\n */\n breakdownLabel?: string\n /**\n * Invoked with a category's label when its left flow, center node, or label\n * is clicked. When provided, those become interactive (pointer cursor).\n */\n onCategoryClick?: (categoryLabel: string) => void\n /** Invoked when the left end node (rootLabel) is clicked. */\n onRootClick?: () => void\n /**\n * Enables \"butterfly\" mode: a second value per category drawn as a mirrored\n * flow from each center node to a right end node. Either a column name or a\n * zero-based index (defaults to the third column when a right end is shown).\n */\n rightValueColumn?: string | number\n /** Label for the right end node (butterfly mode). Defaults to \"Files\". */\n rightLabel?: string\n /** Noun for the right end total caption, e.g. \"files\". Defaults to \"items\". */\n rightUnitLabel?: string\n /** Invoked with a category's label when its right flow is clicked. */\n onRightCategoryClick?: (categoryLabel: string) => void\n /** Invoked when the right end node (rightLabel) is clicked. */\n onRightEndClick?: () => void\n}\n\n// Datum shapes for the d3-sankey graph.\ntype NodeKind = 'leftEnd' | 'source' | 'rightEnd'\ntype NodeDatum = {\n name: string\n value: number\n color: string\n kind: NodeKind\n // Raw per-source counts, used by the butterfly center labels.\n leftValue?: number\n rightValue?: number\n}\ntype LinkDatum = {\n value: number\n // Zero-based index of the center (source) node this link belongs to.\n sourceIndex: number\n side: 'left' | 'right'\n}\ntype LaidOutNode = D3SankeyNode<NodeDatum, LinkDatum>\ntype InteractiveProps = { cursor?: 'pointer'; onClick?: () => void }\n\n// Coordinate space of the SVG. The rendered width is capped at VIEW_W (see the\n// wrapper's maxWidth) so one viewBox unit ≈ one CSS pixel and text renders at\n// its intended size instead of being magnified on wide containers. Generous\n// gutters leave unclipped room for the end figures and labels. The height grows\n// with the number of categories so rows stay legible.\nconst VIEW_W = 920\nconst GUTTER_LEFT = 124\nconst GUTTER_RIGHT = 286\nconst GUTTER_Y = 22\nconst NODE_WIDTH = 13\nconst NODE_PADDING = 34\nconst ROW_HEIGHT = 46\n// Horizontal gap between a node and its adjacent label/figure.\nconst LABEL_GAP = 14\n// Category row: a fixed-width column reserved for the count, so the share\n// micro-bar always starts at the same x regardless of the number's length.\nconst COUNT_COLUMN_W = 70\nconst BAR_TRACK_W = 64\nconst BAR_HEIGHT = 4.5\n// Butterfly mode needs more vertical room per row for the center labels, which\n// sit in the padding gap above each node. The left/right gutters are equal so\n// the center column lands at the SVG's horizontal center (aligning the center\n// labels with the centered title), with room for an end figure on each side.\nconst BUTTERFLY_ROW_HEIGHT = 64\nconst BUTTERFLY_NODE_PADDING = 56\nconst BUTTERFLY_GUTTER_TOP = 44\nconst BUTTERFLY_GUTTER_X = 160\n\nconst midY = (node: LaidOutNode) => ((node.y0 ?? 0) + (node.y1 ?? 0)) / 2\nconst midX = (node: LaidOutNode) => ((node.x0 ?? 0) + (node.x1 ?? 0)) / 2\n\n// The editorial figure beside an end node: an eyebrow label, the total, and a\n// caption (e.g. \"datasets total\"). Mirrored for the right end.\nfunction SankeyEndFigure(props: {\n node: LaidOutNode\n total: number\n unitLabel: string\n align: 'left' | 'right'\n onMouseEnter: () => void\n interactiveProps: InteractiveProps\n}): React.ReactNode {\n const { node, total, unitLabel, align, onMouseEnter, interactiveProps } =\n props\n const theme = useTheme()\n const cy = midY(node)\n const x =\n align === 'left' ? (node.x0 ?? 0) - LABEL_GAP : (node.x1 ?? 0) + LABEL_GAP\n const textAnchor = align === 'left' ? 'end' : 'start'\n return (\n <g onMouseEnter={onMouseEnter} {...interactiveProps}>\n <text\n x={x}\n y={cy - 22}\n textAnchor={textAnchor}\n fontSize={10}\n fontWeight={600}\n letterSpacing={1.2}\n fill={theme.palette.grey[700]}\n >\n {node.name.toUpperCase()}\n </text>\n <text\n x={x}\n y={cy + 6}\n textAnchor={textAnchor}\n fontSize={26}\n fontWeight={600}\n fill={theme.palette.primary.dark}\n className={styles.tabularNums}\n >\n {total.toLocaleString()}\n </text>\n <text\n x={x}\n y={cy + 23}\n textAnchor={textAnchor}\n fontSize={11}\n fontWeight={500}\n fill={theme.palette.text.secondary}\n >\n {`${unitLabel} total`}\n </text>\n </g>\n )\n}\n\n// Hub-and-spoke category label (single value): name, count, share bar, percent,\n// placed to the right of the center node.\nfunction SankeyCategoryLabel(props: {\n node: LaidOutNode\n total: number\n opacity: number\n onMouseEnter: () => void\n interactiveProps: InteractiveProps\n}): React.ReactNode {\n const { node, total, opacity, onMouseEnter, interactiveProps } = props\n const theme = useTheme()\n const cy = midY(node)\n const x = (node.x1 ?? 0) + LABEL_GAP\n const value = node.value ?? 0\n const pct = total > 0 ? value / total : 0\n const barX = x + COUNT_COLUMN_W\n const barY = cy + 6\n return (\n <g\n opacity={opacity}\n className={styles.categoryLabel}\n onMouseEnter={onMouseEnter}\n {...interactiveProps}\n >\n <text\n x={x}\n y={cy - 4}\n fontSize={13}\n fontWeight={600}\n fill={theme.palette.text.primary}\n >\n {node.name}\n </text>\n <text\n x={x}\n y={cy + 14}\n fontSize={13}\n fontWeight={600}\n fill={node.color}\n className={styles.tabularNums}\n >\n {value.toLocaleString()}\n </text>\n <rect\n x={barX}\n y={barY}\n width={BAR_TRACK_W}\n height={BAR_HEIGHT}\n rx={BAR_HEIGHT / 2}\n fill={theme.palette.grey[300]}\n />\n <rect\n x={barX}\n y={barY}\n width={BAR_TRACK_W * pct}\n height={BAR_HEIGHT}\n rx={BAR_HEIGHT / 2}\n fill={node.color}\n />\n <text\n x={barX + BAR_TRACK_W + 7}\n y={cy + 13}\n fontSize={11}\n fontWeight={500}\n fill={theme.palette.grey[700]}\n className={styles.tabularNums}\n >\n {(pct * 100).toFixed(1)}%\n </text>\n </g>\n )\n}\n\n// Butterfly center label: the source name and both counts, centered above the\n// node (the only clear space between the left and right flows).\nfunction SankeyCenterLabel(props: {\n node: LaidOutNode\n leftValue: number\n rightValue: number\n unitLabel: string\n rightUnitLabel: string\n opacity: number\n onMouseEnter: () => void\n interactiveProps: InteractiveProps\n}): React.ReactNode {\n const {\n node,\n leftValue,\n rightValue,\n unitLabel,\n rightUnitLabel,\n opacity,\n onMouseEnter,\n interactiveProps,\n } = props\n const theme = useTheme()\n const cx = midX(node)\n const topY = node.y0 ?? 0\n return (\n <g\n opacity={opacity}\n className={styles.categoryLabel}\n onMouseEnter={onMouseEnter}\n {...interactiveProps}\n >\n <text\n x={cx}\n y={topY - 20}\n textAnchor=\"middle\"\n fontSize={13}\n fontWeight={600}\n fill={theme.palette.text.primary}\n stroke={theme.palette.background.paper}\n className={styles.haloText}\n >\n {node.name}\n </text>\n <text\n x={cx}\n y={topY - 6}\n textAnchor=\"middle\"\n fontSize={11}\n fontWeight={600}\n fill={theme.palette.text.secondary}\n stroke={theme.palette.background.paper}\n className={classNames(styles.tabularNums, styles.haloText)}\n >\n {`${leftValue.toLocaleString()} ${unitLabel} · ${rightValue.toLocaleString()} ${rightUnitLabel}`}\n </text>\n </g>\n )\n}\n\nexport const SynapseSankeyPlot = (\n props: SynapseSankeyPlotProps,\n): React.ReactNode => {\n const {\n sql,\n rootLabel,\n title,\n labelColumn,\n valueColumn,\n unitLabel = 'items',\n breakdownLabel,\n onCategoryClick,\n onRootClick,\n rightValueColumn,\n rightLabel = 'Files',\n rightUnitLabel = 'items',\n onRightCategoryClick,\n onRightEndClick,\n } = props\n const theme = useTheme()\n const gradientPrefix = useId()\n\n const hasRightFlow = rightValueColumn !== undefined\n\n // Index of the center node currently focused (null = nothing focused). Drives\n // the focus/dim hover interaction; shared by both flows of a source.\n const [hovered, setHovered] = useState<number | null>(null)\n // Index of the center node that was clicked; briefly emphasized before the\n // handler fires.\n const [clicked, setClicked] = useState<number | null>(null)\n // One-time gentle fade-in on mount.\n const [visible, setVisible] = useState(false)\n useEffect(() => {\n const id = requestAnimationFrame(() => setVisible(true))\n return () => cancelAnimationFrame(id)\n }, [])\n // Timer that briefly emphasizes a clicked flow before invoking the handler.\n // Held in a ref so it can be cleared on unmount and replaced on rapid clicks.\n const clickTimer = useRef<number | undefined>(undefined)\n useEffect(() => {\n return () => {\n if (clickTimer.current !== undefined) {\n window.clearTimeout(clickTimer.current)\n }\n }\n }, [])\n\n const queryRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n entityId: parseEntityIdFromSqlStatement(sql),\n query: {\n sql,\n },\n }\n\n const { data: queryData, isLoading } =\n useGetFullTableQueryResults(queryRequest)\n\n const rows = useMemo(\n () => queryData?.queryResult?.queryResults.rows ?? [],\n [queryData],\n )\n\n // Resolve the label/value columns (by name or index) against the result\n // headers, falling back to the first columns.\n const { labelIndex, valueIndex, rightValueIndex } = useMemo(() => {\n const headers = queryData?.queryResult?.queryResults.headers ?? []\n const resolve = (col: string | number | undefined, fallback: number) => {\n if (typeof col === 'number') {\n return col\n }\n if (typeof col === 'string') {\n const idx = headers.findIndex(h => h.name === col)\n return idx >= 0 ? idx : fallback\n }\n return fallback\n }\n return {\n labelIndex: resolve(labelColumn, 0),\n valueIndex: resolve(valueColumn, 1),\n rightValueIndex: hasRightFlow ? resolve(rightValueColumn, 2) : -1,\n }\n }, [queryData, labelColumn, valueColumn, rightValueColumn, hasRightFlow])\n\n // Theme-derived palette: end nodes use the dark primary color; category nodes\n // step through a light-to-dark sweep of the primary color so they stay\n // on-brand while remaining distinguishable (even when a portal's primary and\n // secondary colors are identical).\n const fontFamily = theme.typography.fontFamily ?? 'inherit'\n const endColor = theme.palette.primary.dark\n const textColor = theme.palette.text.primary\n\n // viewH feeds the SVG viewBox, so it lives at component scope; the remaining\n // spacing is derived inside the layout memo below.\n const gutterTop = hasRightFlow ? BUTTERFLY_GUTTER_TOP : GUTTER_Y\n const rowHeight = hasRightFlow ? BUTTERFLY_ROW_HEIGHT : ROW_HEIGHT\n const viewH = Math.max(320, gutterTop + GUTTER_Y + rows.length * rowHeight)\n\n // Build and lay out the graph. Memoized so hovering (which only changes\n // opacity) doesn't recompute the layout.\n const graphResult = useMemo(() => {\n if (rows.length === 0) {\n return null\n }\n const gradientStart = tinycolor(theme.palette.primary.main).lighten(18)\n const gradientEnd = tinycolor(theme.palette.primary.main).darken(12)\n const categoryColor = (index: number) =>\n rows.length <= 1\n ? theme.palette.primary.main\n : tinycolor\n .mix(gradientStart, gradientEnd, (index / (rows.length - 1)) * 100)\n .toHexString()\n\n const sources = rows.map((row, index) => ({\n name: String(row.values[labelIndex] ?? ''),\n leftValue: Number(row.values[valueIndex] ?? 0),\n rightValue: hasRightFlow ? Number(row.values[rightValueIndex] ?? 0) : 0,\n color: categoryColor(index),\n }))\n const totalLeft = sources.reduce((sum, s) => sum + s.leftValue, 0)\n const totalRight = sources.reduce((sum, s) => sum + s.rightValue, 0)\n const rightEndIndex = sources.length + 1\n\n // d3-sankey scales every ribbon by a single value→thickness factor. When the\n // two flows differ in magnitude (e.g. ~25 datasets vs thousands of files),\n // the smaller side collapses to hairlines. Scale the left flow so both\n // halves sum to the same total — ribbon widths then read as each side's\n // share. The real counts are preserved on the node data for the labels.\n const leftScale =\n hasRightFlow && totalLeft > 0 && totalRight > 0\n ? totalRight / totalLeft\n : 1\n const linkValue = (value: number, side: 'left' | 'right') =>\n side === 'left' ? value * leftScale : value\n\n const nodes: NodeDatum[] = [\n { name: rootLabel, value: totalLeft, color: endColor, kind: 'leftEnd' },\n ...sources.map(s => ({\n name: s.name,\n value: s.leftValue,\n color: s.color,\n kind: 'source' as const,\n leftValue: s.leftValue,\n rightValue: s.rightValue,\n })),\n ...(hasRightFlow\n ? [\n {\n name: rightLabel,\n value: totalRight,\n color: endColor,\n kind: 'rightEnd' as const,\n },\n ]\n : []),\n ]\n const links: ({ source: number; target: number } & LinkDatum)[] = [\n ...sources.map((s, index) => ({\n source: 0,\n target: index + 1,\n value: linkValue(s.leftValue, 'left'),\n sourceIndex: index,\n side: 'left' as const,\n })),\n ...(hasRightFlow\n ? sources.map((s, index) => ({\n source: index + 1,\n target: rightEndIndex,\n value: linkValue(s.rightValue, 'right'),\n sourceIndex: index,\n side: 'right' as const,\n }))\n : []),\n ]\n\n const nodePadding = hasRightFlow ? BUTTERFLY_NODE_PADDING : NODE_PADDING\n // Symmetric gutters in butterfly mode center the column layout.\n const gutterLeft = hasRightFlow ? BUTTERFLY_GUTTER_X : GUTTER_LEFT\n const gutterRight = hasRightFlow ? BUTTERFLY_GUTTER_X : GUTTER_RIGHT\n const layout = d3Sankey<NodeDatum, LinkDatum>()\n .nodeWidth(NODE_WIDTH)\n .nodePadding(nodePadding)\n .nodeSort(null) // preserve query order top-to-bottom\n .extent([\n [gutterLeft, gutterTop],\n [VIEW_W - gutterRight, viewH - GUTTER_Y],\n ])\n\n return {\n graph: layout({\n nodes: nodes.map(d => ({ ...d })),\n links: links.map(d => ({ ...d })),\n }),\n // Real (unscaled) totals for the end-node figures.\n totalLeft,\n totalRight,\n }\n }, [\n rows,\n labelIndex,\n valueIndex,\n rightValueIndex,\n hasRightFlow,\n rootLabel,\n rightLabel,\n endColor,\n theme.palette.primary.main,\n viewH,\n gutterTop,\n ])\n\n if (isLoading) {\n return <Skeleton width={'100%'} height={'500px'} />\n }\n if (!graphResult) {\n return <></>\n }\n\n const { graph, totalLeft, totalRight } = graphResult\n const linkPath = sankeyLinkHorizontal<NodeDatum, LinkDatum>()\n\n // The clicked flow takes precedence over the hovered one for emphasis.\n const focusIndex = clicked ?? hovered\n // Dim the rest harder once a selection has been committed.\n const dimLink = clicked !== null ? 0.05 : 0.07\n const dimNode = clicked !== null ? 0.1 : 0.16\n const dimLabel = clicked !== null ? 0.15 : 0.32\n\n // Opacity helpers for the focus/dim interaction. Both flows of a focused\n // source share its center-node index.\n const linkOpacity = (sourceIndex: number) =>\n focusIndex === null\n ? 0.6\n : sourceIndex === focusIndex\n ? clicked !== null\n ? 1\n : 0.95\n : dimLink\n const nodeOpacity = (node: LaidOutNode) =>\n focusIndex === null ||\n node.kind !== 'source' ||\n (node.index ?? 1) - 1 === focusIndex\n ? 1\n : dimNode\n const labelOpacity = (sourceIndex: number) =>\n focusIndex === null || focusIndex === sourceIndex ? 1 : dimLabel\n\n // Clicking a center flow briefly emphasizes it (a quick \"swell\") and then\n // fires the handler, so the navigation feels intentional. No tabIndex/role:\n // those make the browser draw a focus outline box around the SVG shape.\n const activate = (sourceIndex: number, fire: () => void) => {\n if (clickTimer.current !== undefined) {\n window.clearTimeout(clickTimer.current)\n }\n setClicked(sourceIndex)\n clickTimer.current = window.setTimeout(() => {\n clickTimer.current = undefined\n // Clear the transient emphasis before invoking the handler so the chart\n // returns to its resting state for consumers whose handler doesn't\n // navigate away (and unmount) the component.\n setClicked(null)\n fire()\n }, 320)\n }\n // Center flows swell on click; end nodes navigate immediately.\n const flowProps = (\n sourceIndex: number,\n fire: (() => void) | undefined,\n ): InteractiveProps =>\n fire\n ? { cursor: 'pointer', onClick: () => activate(sourceIndex, fire) }\n : {}\n const endProps = (fire: (() => void) | undefined): InteractiveProps =>\n fire ? { cursor: 'pointer', onClick: fire } : {}\n // The \"datasets\" (left) handler fires for a center node and its left flow.\n const categoryFire = (name: string) =>\n onCategoryClick ? () => onCategoryClick(name) : undefined\n\n return (\n <div className={classNames(styles.root, { [styles.rootVisible]: visible })}>\n {title && (\n <div className={styles.title} style={{ fontFamily, color: textColor }}>\n {title}\n </div>\n )}\n <svg\n viewBox={`0 0 ${VIEW_W} ${viewH}`}\n role=\"img\"\n aria-label={\n breakdownLabel\n ? `${rootLabel} broken down ${breakdownLabel}`\n : `${rootLabel} breakdown`\n }\n className={styles.svg}\n style={{ fontFamily, maxWidth: VIEW_W }}\n onMouseLeave={() => setHovered(null)}\n >\n <defs>\n {graph.links.map((link, i) => {\n const source = link.source as LaidOutNode\n const target = link.target as LaidOutNode\n return (\n <linearGradient\n key={i}\n id={`${gradientPrefix}-grad-${i}`}\n gradientUnits=\"userSpaceOnUse\"\n x1={source.x1}\n x2={target.x0}\n >\n <stop offset=\"0%\" stopColor={source.color} />\n <stop offset=\"100%\" stopColor={target.color} />\n </linearGradient>\n )\n })}\n </defs>\n\n {/* Ribbons */}\n <g fill=\"none\">\n {graph.links.map((link, i) => {\n const sourceNode = (\n link.side === 'left' ? link.target : link.source\n ) as LaidOutNode\n const baseWidth = Math.max(1, link.width ?? 1)\n const handler =\n link.side === 'left' ? onCategoryClick : onRightCategoryClick\n const fire = handler ? () => handler(sourceNode.name) : undefined\n return (\n <path\n key={i}\n d={linkPath(link) ?? undefined}\n stroke={`url(#${gradientPrefix}-grad-${i})`}\n strokeWidth={\n clicked === link.sourceIndex ? baseWidth * 1.25 : baseWidth\n }\n strokeOpacity={linkOpacity(link.sourceIndex)}\n className={styles.ribbon}\n onMouseEnter={() => setHovered(link.sourceIndex)}\n {...flowProps(link.sourceIndex, fire)}\n />\n )\n })}\n </g>\n\n {/* Nodes */}\n <g>\n {graph.nodes.map((node, i) => {\n const sourceIndex = (node.index ?? 1) - 1\n const clickProps =\n node.kind === 'leftEnd'\n ? endProps(onRootClick)\n : node.kind === 'rightEnd'\n ? endProps(onRightEndClick)\n : flowProps(sourceIndex, categoryFire(node.name))\n return (\n <rect\n key={i}\n x={node.x0}\n y={node.y0}\n width={(node.x1 ?? 0) - (node.x0 ?? 0)}\n height={Math.max(1, (node.y1 ?? 0) - (node.y0 ?? 0))}\n rx={4}\n fill={node.color}\n fillOpacity={nodeOpacity(node)}\n stroke={theme.palette.background.paper}\n strokeWidth={1}\n className={styles.node}\n onMouseEnter={() =>\n setHovered(node.kind === 'source' ? sourceIndex : null)\n }\n {...clickProps}\n />\n )\n })}\n </g>\n\n {/* Labels */}\n {graph.nodes.map((node, i) => {\n if (node.kind === 'leftEnd') {\n return (\n <SankeyEndFigure\n key={`lab-${i}`}\n node={node}\n total={totalLeft}\n unitLabel={unitLabel}\n align=\"left\"\n onMouseEnter={() => setHovered(null)}\n interactiveProps={endProps(onRootClick)}\n />\n )\n }\n if (node.kind === 'rightEnd') {\n return (\n <SankeyEndFigure\n key={`lab-${i}`}\n node={node}\n total={totalRight}\n unitLabel={rightUnitLabel}\n align=\"right\"\n onMouseEnter={() => setHovered(null)}\n interactiveProps={endProps(onRightEndClick)}\n />\n )\n }\n const sourceIndex = (node.index ?? 1) - 1\n const fire = categoryFire(node.name)\n if (hasRightFlow) {\n return (\n <SankeyCenterLabel\n key={`lab-${i}`}\n node={node}\n leftValue={node.leftValue ?? 0}\n rightValue={node.rightValue ?? 0}\n unitLabel={unitLabel}\n rightUnitLabel={rightUnitLabel}\n opacity={labelOpacity(sourceIndex)}\n onMouseEnter={() => setHovered(sourceIndex)}\n interactiveProps={flowProps(sourceIndex, fire)}\n />\n )\n }\n return (\n <SankeyCategoryLabel\n key={`lab-${i}`}\n node={node}\n total={totalLeft}\n opacity={labelOpacity(sourceIndex)}\n onMouseEnter={() => setHovered(sourceIndex)}\n interactiveProps={flowProps(sourceIndex, fire)}\n />\n )\n })}\n </svg>\n </div>\n )\n}\n\nexport default SynapseSankeyPlot\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import './SynapseSankeyPlot.css';var e = {
|
|
2
|
+
root: "_root_244go_1",
|
|
3
|
+
rootVisible: "_rootVisible_244go_8",
|
|
4
|
+
title: "_title_244go_12",
|
|
5
|
+
svg: "_svg_244go_19",
|
|
6
|
+
ribbon: "_ribbon_244go_28",
|
|
7
|
+
node: "_node_244go_32",
|
|
8
|
+
categoryLabel: "_categoryLabel_244go_36",
|
|
9
|
+
tabularNums: "_tabularNums_244go_40",
|
|
10
|
+
haloText: "_haloText_244go_44"
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { e as default };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=SynapseSankeyPlot.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SynapseSankeyPlot.module.js","names":[],"sources":["../../../src/components/Plot/SynapseSankeyPlot.module.scss"],"sourcesContent":["// Layout/chrome for SynapseSankeyPlot. Theme-derived values (font family,\n// colors) stay inline in the component so the chart adopts each portal's MUI\n// palette; only the static structure and transitions live here.\n\n.root {\n width: 100%;\n margin-top: 48px;\n opacity: 0;\n transition: opacity 0.6s ease;\n}\n\n.rootVisible {\n opacity: 1;\n}\n\n.title {\n font-weight: 600;\n font-size: 20px;\n text-align: center;\n margin-bottom: 12px;\n}\n\n.svg {\n display: block;\n overflow: visible;\n width: 100%;\n height: auto;\n margin: 0 auto;\n outline: none;\n}\n\n.ribbon {\n transition:\n stroke-opacity 0.25s ease,\n stroke-width 0.25s ease;\n}\n\n.node {\n transition: fill-opacity 0.25s ease;\n}\n\n.categoryLabel {\n transition: opacity 0.2s ease;\n}\n\n.tabularNums {\n font-variant-numeric: tabular-nums;\n}\n\n// White halo behind label text so it stays legible where it crosses a ribbon.\n// The stroke color is set inline from the theme background; paint-order draws\n// the stroke first (behind the fill).\n.haloText {\n paint-order: stroke;\n stroke-width: 3px;\n stroke-linejoin: round;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .root {\n transition: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Layout/chrome for SynapseSankeyPlot. Theme-derived values (font family,
|
|
2
|
+
// colors) stay inline in the component so the chart adopts each portal's MUI
|
|
3
|
+
// palette; only the static structure and transitions live here.
|
|
4
|
+
|
|
5
|
+
.root {
|
|
6
|
+
width: 100%;
|
|
7
|
+
margin-top: 48px;
|
|
8
|
+
opacity: 0;
|
|
9
|
+
transition: opacity 0.6s ease;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.rootVisible {
|
|
13
|
+
opacity: 1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.title {
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
font-size: 20px;
|
|
19
|
+
text-align: center;
|
|
20
|
+
margin-bottom: 12px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.svg {
|
|
24
|
+
display: block;
|
|
25
|
+
overflow: visible;
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: auto;
|
|
28
|
+
margin: 0 auto;
|
|
29
|
+
outline: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.ribbon {
|
|
33
|
+
transition:
|
|
34
|
+
stroke-opacity 0.25s ease,
|
|
35
|
+
stroke-width 0.25s ease;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.node {
|
|
39
|
+
transition: fill-opacity 0.25s ease;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.categoryLabel {
|
|
43
|
+
transition: opacity 0.2s ease;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.tabularNums {
|
|
47
|
+
font-variant-numeric: tabular-nums;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// White halo behind label text so it stays legible where it crosses a ribbon.
|
|
51
|
+
// The stroke color is set inline from the theme background; paint-order draws
|
|
52
|
+
// the stroke first (behind the fill).
|
|
53
|
+
.haloText {
|
|
54
|
+
paint-order: stroke;
|
|
55
|
+
stroke-width: 3px;
|
|
56
|
+
stroke-linejoin: round;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@media (prefers-reduced-motion: reduce) {
|
|
60
|
+
.root {
|
|
61
|
+
transition: none;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemesPlot.js","names":[],"sources":["../../../src/components/Plot/ThemesPlot.tsx"],"sourcesContent":["import { getFullQueryTableResults } from '@/synapse-client'\nimport { SynapseConstants, useSynapseContext } from '@/utils'\nimport { resultToJson } from '@/utils/functions'\nimport { unCamelCase } from '@/utils/functions/unCamelCase'\nimport { Tooltip } from '@mui/material'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport Plotly from 'plotly.js-basic-dist'\nimport { useEffect, useState } from 'react'\nimport { RequiredKeysOf } from 'type-fest'\nimport loadingScreen from '../LoadingScreen/LoadingScreen'\nimport BarPlot from './BarPlot'\nimport DotPlot from './DotPlot'\nimport {\n BarPlotColors,\n ClickCallbackParams,\n GraphItem,\n PlotProps,\n} from './types'\nimport first from 'lodash-es/first'\nimport orderBy from 'lodash-es/orderBy'\nimport cloneDeep from 'lodash-es/cloneDeep'\n\nexport type ThemesPlotProps = {\n onPointClick: ({ facetValue, type, event }: ClickCallbackParams) => void\n onIndividualThemeBarPlotPointClick?: ({\n facetValue,\n type,\n event,\n }: ClickCallbackParams) => void\n dotPlot: PlotProps\n topBarPlot: PlotProps\n sideBarPlot: PlotProps\n dotPlotYAxisLabel?: string\n}\n\ntype TotalsGroupByY = { y: string; count: number }\ntype TotalsGroupByGroup = { group: string; count: number }\n\nconst optionsConfig: Partial<Plotly.Config> = {\n displayModeBar: false,\n responsive: true,\n scrollZoom: false,\n editable: false,\n autosizable: true,\n}\n\nconst dotPlotLayoutConfig: Partial<Plotly.Layout> = {\n showlegend: true,\n dragmode: false,\n legend: {\n font: {\n size: 11,\n },\n\n y: 1.1,\n xanchor: 'right',\n x: 1,\n\n orientation: 'h',\n },\n xaxis: {\n visible: true,\n fixedrange: true,\n zeroline: false,\n showgrid: false,\n showline: true,\n linecolor: '#ddd', //bottom line\n autotick: true,\n ticks: 'outside',\n tickcolor: '#ddd',\n type: 'log',\n },\n\n yaxis: {\n fixedrange: true,\n zeroline: false,\n gridcolor: '#ddd', //horizontal lines\n automargin: true,\n },\n\n margin: {\n pad: 20,\n },\n hovermode: 'closest',\n}\n\nconst barLayoutConfig: Partial<Plotly.Layout> = {\n barmode: 'stack',\n showlegend: false,\n dragmode: false,\n hovermode: 'closest',\n yaxis: { visible: false, fixedrange: true },\n margin: {\n l: 0,\n r: 0,\n b: 0,\n t: 0,\n pad: 0,\n },\n}\n\nfunction fetchData(\n token: string,\n { xField, yField, groupField, entityId, whereClause, infoField }: PlotProps,\n): Promise<RowSet> {\n const sql = `SELECT ${xField} as \"x\", ${yField} as \"y\", ${\n infoField ? infoField + ' as \"info\", ' : ''\n } ${groupField} as \"group\"\n FROM ${entityId} ${whereClause ? ' WHERE ' + whereClause : ''}`\n\n const queryRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n entityId: entityId,\n query: {\n sql: sql,\n },\n }\n\n return getFullQueryTableResults(queryRequest, token).then(\n (data: QueryResultBundle) => {\n return data.queryResult!.queryResults\n },\n )\n}\n\nfunction getTotalsByProp<T>(\n data: GraphItem[],\n prop: RequiredKeysOf<GraphItem>,\n): T[] {\n const resultObject = data.reduce((res: Record<string, number>, obj) => {\n res[obj[prop]] =\n (obj[prop] in res ? Number(res[obj[prop]]) : 0) + Number(obj.x)\n return res\n }, {})\n const result: T[] = []\n for (const property in resultObject) {\n result.push({\n [prop]: property,\n count: resultObject[property],\n } as unknown as T)\n }\n return result\n}\n\nconst getClickTargetData = (\n e: Plotly.PlotMouseEvent,\n swap: boolean,\n): ClickCallbackParams => {\n const pointData = e.points[0].data\n\n let facetValue = pointData.y[0] as string\n let type = pointData.name\n\n if (swap) {\n ;[facetValue, type] = [type, facetValue]\n }\n return { facetValue, type, event: e.event }\n}\n\nconst renderTopBarLegend = (\n colors: BarPlotColors | undefined,\n xLabels: string[],\n) => (\n <div className=\"ThemesPlot__barPlotLegend\">\n {xLabels.map((item, i) => (\n <div style={{ float: 'left' }} key={`topBar_${i}`}>\n <div\n className=\"ThemesPlot__barPlotLegend__label\"\n key=\"topBar_label\"\n style={{\n backgroundColor: `${colors ? colors[item] : 'transparent'}`,\n }}\n ></div>\n <div className=\"ThemesPlot__barPlotLegend__graph\" key=\"topBar_graph\">\n {item}\n </div>{' '}\n </div>\n ))}\n </div>\n)\n\nconst fadeColors = (colors: { [key: string]: string }, opacity: string) => {\n for (const key in colors) {\n colors[key] = colors[key]\n .replace(',1)', `, ${opacity})`)\n .replace(',1.0)', `, ${opacity})`)\n }\n return colors\n}\n\nconst getTooltip = (data: GraphItem[], filter: string) => {\n return first(data.filter(item => item.y === filter).map(item => item.info))\n}\n\nexport function ThemesPlot({\n dotPlot,\n topBarPlot,\n sideBarPlot,\n onPointClick,\n onIndividualThemeBarPlotPointClick,\n dotPlotYAxisLabel = 'Research Themes',\n}: ThemesPlotProps) {\n const { accessToken } = useSynapseContext()\n const [isLoaded, setIsLoaded] = useState(false)\n const [dotPlotQueryData, setDotPlotQueryData] = useState<GraphItem[]>([])\n const [topBarPlotData, setTopBarQueryData] = useState<GraphItem[]>([])\n const [sideBarPlotData, setSideBarQueryData] = useState<GraphItem[]>([])\n\n useEffect(() => {\n const dotPlotData = fetchData(accessToken!, dotPlot)\n const topBarPlotData = fetchData(accessToken!, topBarPlot)\n const sideBarPlotData = fetchData(accessToken!, sideBarPlot)\n Promise.all([dotPlotData, topBarPlotData, sideBarPlotData])\n .then(result => {\n setDotPlotQueryData(\n resultToJson(\n result[0].headers,\n result[0].rows,\n ) as unknown as GraphItem[],\n )\n setTopBarQueryData(\n resultToJson(\n result[1].headers,\n result[1].rows,\n ) as unknown as GraphItem[],\n )\n setSideBarQueryData(\n resultToJson(\n result[2].headers,\n result[2].rows,\n ) as unknown as GraphItem[],\n )\n setIsLoaded(true)\n })\n .catch(err => {\n throw err\n })\n return () => {}\n }, [accessToken, dotPlot, topBarPlot, sideBarPlot])\n let yLabelsForDotPlot: string[] = []\n let xLabelsForTopBarPlot: string[] = []\n let xMaxForDotPlot = 0\n let topBarPlotDataSorted: TotalsGroupByY[] = []\n let totalsByDotPlotY: TotalsGroupByY[] = []\n if (isLoaded) {\n totalsByDotPlotY = getTotalsByProp(sideBarPlotData, 'y')\n yLabelsForDotPlot = totalsByDotPlotY\n .sort((a, b) => b.count - a.count)\n .map(item => item.y)\n xMaxForDotPlot = Math.max(...dotPlotQueryData.map(item => Number(item.x)))\n topBarPlotDataSorted = orderBy(getTotalsByProp(topBarPlotData, 'y'), ['y'])\n xLabelsForTopBarPlot = orderBy(\n getTotalsByProp<TotalsGroupByGroup>(topBarPlotData, 'group'),\n ['group'],\n ).map(item => item.group)\n }\n\n return (\n <>\n {!isLoaded && loadingScreen}\n\n {isLoaded && (\n <div className=\"ThemesPlot\">\n <div className=\"ThemesPlot__dotPlotLegend\">\n <DotPlot\n id=\"head\"\n plotData={dotPlotQueryData}\n isLegend={true}\n markerSymbols={dotPlot.markerSymbols}\n style={{ width: '100%', height: '100%' }}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{\n ...optionsConfig,\n responsive: true,\n staticPlot: true,\n }}\n plotStyle={{\n ...dotPlot.plotStyle!,\n backgroundColor: 'transparent',\n }}\n ></DotPlot>\n </div>\n {topBarPlot.colors &&\n renderTopBarLegend(topBarPlot.colors, xLabelsForTopBarPlot)}\n {topBarPlotDataSorted.map((item, i) => (\n <div className=\"ThemesPlot__topBarPlot\" key={`topBarDiv_${i}`}>\n <div className=\"ThemesPlot__topBarPlot__label\">\n {item.count} {unCamelCase(item.y)}\n </div>\n <div className=\"ThemesPlot__topBarPlot__plot\">\n <BarPlot\n style={{ width: '100%', height: '100%' }}\n layoutConfig={cloneDeep(barLayoutConfig)}\n optionsConfig={{ ...optionsConfig }}\n plotData={topBarPlotData}\n isTop={true}\n label={item.y}\n xMax={item.count}\n onClick={(e: any) =>\n onPointClick(getClickTargetData(e, true))\n }\n colors={\n // we are not actually fading colors for now. But keeping implemenation in case it changes\n i % 2 === 0\n ? topBarPlot.colors\n : fadeColors({ ...topBarPlot.colors }, '1')\n }\n />\n </div>\n </div>\n ))}\n <div style={{ display: 'flex', position: 'relative' }}>\n <div className=\"ThemesPlot__dotPlotYLabel\">{dotPlotYAxisLabel}</div>\n <div className=\"ThemesPlot__dotPlot\">\n {yLabelsForDotPlot.map((label, i) => (\n <div\n key={`plotDiv_${+i}`}\n className=\"ThemesPlot__dotPlot__row\"\n style={{\n backgroundColor: dotPlot.plotStyle?.backgroundColor,\n }}\n >\n <div className=\"ThemesPlot__dotPlot__barColumn\">\n <Tooltip\n title={`${getTooltip(dotPlotQueryData, label)} `}\n placement={'right'}\n >\n <div>\n <span className=\"ThemesPlot__dotPlot__themeLabel\">\n {label}\n </span>\n <br />\n <span className=\"ThemesPlot__dotPlot__countLabel\">\n {totalsByDotPlotY[i].count} {sideBarPlot.countLabel}\n </span>\n <br />\n <BarPlot\n style={{ width: '100%' }}\n layoutConfig={barLayoutConfig}\n optionsConfig={optionsConfig}\n plotData={sideBarPlotData}\n isTop={false}\n // PORTALS-3061: No longer use a global x max for the side bar (where the bar size of 1 grant is consistent),\n // Instead, each bar chart is independent (the size of 1 grant differs across bar charts).\n xMax={totalsByDotPlotY[i].count}\n label={label}\n colors={fadeColors({ ...topBarPlot.colors }, '1')}\n onClick={(e: any) => {\n if (onIndividualThemeBarPlotPointClick) {\n onIndividualThemeBarPlotPointClick(\n getClickTargetData(e, false),\n )\n }\n }}\n />\n </div>\n </Tooltip>\n </div>\n <div className=\"ThemesPlot__dotPlot__dotPlotColumn\">\n <div\n style={{\n width: '100%',\n backgroundColor: dotPlot.plotStyle?.backgroundColor,\n }}\n >\n <DotPlot\n id={`${i}`}\n onClick={(e: any) => {\n const { type, event } = getClickTargetData(e, false)\n onPointClick({ facetValue: label, type, event })\n }}\n plotData={dotPlotQueryData}\n plotStyle={dotPlot.plotStyle}\n markerSymbols={dotPlot.markerSymbols}\n xMax={xMaxForDotPlot}\n label={label}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{\n ...optionsConfig,\n responsive: false,\n }}\n ></DotPlot>\n </div>\n </div>\n </div>\n ))}\n <div className=\"ThemesPlot__dotPlot__row\">\n <div\n className=\"ThemesPlot__dotPlot__barColumn\"\n style={{ textAlign: 'right' }}\n >\n VOLUME:\n </div>\n <div\n className=\"ThemesPlot__dotPlot__dotPlotColumn\"\n style={{ marginTop: '0px' }}\n >\n <DotPlot\n id={'footer'}\n plotData={dotPlotQueryData}\n isXAxis={true}\n xMax={xMaxForDotPlot}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{ ...optionsConfig, responsive: false }}\n ></DotPlot>\n </div>\n </div>\n </div>\n </div>\n <div></div>\n </div>\n )}\n </>\n )\n}\n\nexport default ThemesPlot\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemesPlot.js","names":[],"sources":["../../../src/components/Plot/ThemesPlot.tsx"],"sourcesContent":["import { getFullQueryTableResults } from '@/synapse-client'\nimport { SynapseConstants, useSynapseContext } from '@/utils'\nimport { resultToJson } from '@/utils/functions'\nimport { unCamelCase } from '@/utils/functions/unCamelCase'\nimport { Tooltip } from '@mui/material'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport Plotly from 'plotly.js-basic-dist'\nimport { useEffect, useState } from 'react'\nimport { RequiredKeysOf } from 'type-fest'\nimport loadingScreen from '../LoadingScreen/LoadingScreen'\nimport BarPlot from './BarPlot'\nimport DotPlot from './DotPlot'\nimport {\n BarPlotColors,\n ClickCallbackParams,\n GraphItem,\n PlotProps,\n} from './types'\nimport first from 'lodash-es/first'\nimport orderBy from 'lodash-es/orderBy'\nimport cloneDeep from 'lodash-es/cloneDeep'\n\nexport type ThemesPlotProps = {\n onPointClick: ({ facetValue, type, event }: ClickCallbackParams) => void\n onIndividualThemeBarPlotPointClick?: ({\n facetValue,\n type,\n event,\n }: ClickCallbackParams) => void\n dotPlot: PlotProps\n topBarPlot: PlotProps\n sideBarPlot: PlotProps\n dotPlotYAxisLabel?: string\n}\n\ntype TotalsGroupByY = { y: string; count: number }\ntype TotalsGroupByGroup = { group: string; count: number }\n\nconst optionsConfig: Partial<Plotly.Config> = {\n displayModeBar: false,\n responsive: true,\n scrollZoom: false,\n editable: false,\n autosizable: true,\n}\n\nconst dotPlotLayoutConfig: Partial<Plotly.Layout> = {\n showlegend: true,\n dragmode: false,\n legend: {\n font: {\n size: 11,\n },\n\n y: 1.1,\n xanchor: 'right',\n x: 1,\n\n orientation: 'h',\n },\n xaxis: {\n visible: true,\n fixedrange: true,\n zeroline: false,\n showgrid: false,\n showline: true,\n linecolor: '#ddd', //bottom line\n autotick: true,\n ticks: 'outside',\n tickcolor: '#ddd',\n type: 'log',\n },\n\n yaxis: {\n fixedrange: true,\n zeroline: false,\n gridcolor: '#ddd', //horizontal lines\n automargin: true,\n },\n\n margin: {\n pad: 20,\n },\n hovermode: 'closest',\n}\n\nconst barLayoutConfig: Partial<Plotly.Layout> = {\n barmode: 'stack',\n showlegend: false,\n dragmode: false,\n hovermode: 'closest',\n yaxis: { visible: false, fixedrange: true },\n margin: {\n l: 0,\n r: 0,\n b: 0,\n t: 0,\n pad: 0,\n },\n}\n\nfunction fetchData(\n token: string,\n { xField, yField, groupField, entityId, whereClause, infoField }: PlotProps,\n): Promise<RowSet> {\n const sql = `SELECT ${xField} as \"x\", ${yField} as \"y\", ${\n infoField ? infoField + ' as \"info\", ' : ''\n } ${groupField} as \"group\"\n FROM ${entityId} ${whereClause ? ' WHERE ' + whereClause : ''}`\n\n const queryRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n entityId: entityId,\n query: {\n sql: sql,\n },\n }\n\n return getFullQueryTableResults(queryRequest, token).then(\n (data: QueryResultBundle) => {\n return data.queryResult!.queryResults\n },\n )\n}\n\nfunction getTotalsByProp<T>(\n data: GraphItem[],\n prop: RequiredKeysOf<GraphItem>,\n): T[] {\n const resultObject = data.reduce((res: Record<string, number>, obj) => {\n res[obj[prop]] =\n (obj[prop] in res ? Number(res[obj[prop]]) : 0) + Number(obj.x)\n return res\n }, {})\n const result: T[] = []\n for (const property in resultObject) {\n result.push({\n [prop]: property,\n count: resultObject[property],\n } as unknown as T)\n }\n return result\n}\n\nconst getClickTargetData = (\n e: Plotly.PlotMouseEvent,\n swap: boolean,\n): ClickCallbackParams => {\n const pointData = e.points[0].data\n\n let facetValue = pointData.y[0] as string\n let type = pointData.name\n\n if (swap) {\n ;[facetValue, type] = [type, facetValue]\n }\n return { facetValue, type, event: e.event }\n}\n\nconst renderTopBarLegend = (\n colors: BarPlotColors | undefined,\n xLabels: string[],\n) => (\n <div className=\"ThemesPlot__barPlotLegend\">\n {xLabels.map((item, i) => (\n <div style={{ float: 'left' }} key={`topBar_${i}`}>\n <div\n className=\"ThemesPlot__barPlotLegend__label\"\n key=\"topBar_label\"\n style={{\n backgroundColor: `${colors ? colors[item] : 'transparent'}`,\n }}\n ></div>\n <div className=\"ThemesPlot__barPlotLegend__graph\" key=\"topBar_graph\">\n {item}\n </div>{' '}\n </div>\n ))}\n </div>\n)\n\nconst fadeColors = (colors: { [key: string]: string }, opacity: string) => {\n for (const key in colors) {\n colors[key] = colors[key]\n .replace(',1)', `, ${opacity})`)\n .replace(',1.0)', `, ${opacity})`)\n }\n return colors\n}\n\nconst getTooltip = (data: GraphItem[], filter: string) => {\n return first(data.filter(item => item.y === filter).map(item => item.info))\n}\n\nexport function ThemesPlot({\n dotPlot,\n topBarPlot,\n sideBarPlot,\n onPointClick,\n onIndividualThemeBarPlotPointClick,\n dotPlotYAxisLabel = 'Research Themes',\n}: ThemesPlotProps) {\n const { accessToken } = useSynapseContext()\n const [isLoaded, setIsLoaded] = useState(false)\n const [dotPlotQueryData, setDotPlotQueryData] = useState<GraphItem[]>([])\n const [topBarPlotData, setTopBarQueryData] = useState<GraphItem[]>([])\n const [sideBarPlotData, setSideBarQueryData] = useState<GraphItem[]>([])\n\n useEffect(() => {\n const dotPlotData = fetchData(accessToken!, dotPlot)\n const topBarPlotData = fetchData(accessToken!, topBarPlot)\n const sideBarPlotData = fetchData(accessToken!, sideBarPlot)\n Promise.all([dotPlotData, topBarPlotData, sideBarPlotData])\n .then(result => {\n setDotPlotQueryData(\n resultToJson(\n result[0].headers,\n result[0].rows,\n ) as unknown as GraphItem[],\n )\n setTopBarQueryData(\n resultToJson(\n result[1].headers,\n result[1].rows,\n ) as unknown as GraphItem[],\n )\n setSideBarQueryData(\n resultToJson(\n result[2].headers,\n result[2].rows,\n ) as unknown as GraphItem[],\n )\n setIsLoaded(true)\n })\n .catch(err => {\n throw err\n })\n return () => {}\n }, [accessToken, dotPlot, topBarPlot, sideBarPlot])\n let yLabelsForDotPlot: string[] = []\n let xLabelsForTopBarPlot: string[] = []\n let xMaxForDotPlot = 0\n let topBarPlotDataSorted: TotalsGroupByY[] = []\n let totalsByDotPlotY: TotalsGroupByY[] = []\n if (isLoaded) {\n totalsByDotPlotY = getTotalsByProp(sideBarPlotData, 'y')\n yLabelsForDotPlot = totalsByDotPlotY\n .sort((a, b) => b.count - a.count)\n .map(item => item.y)\n xMaxForDotPlot = Math.max(...dotPlotQueryData.map(item => Number(item.x)))\n topBarPlotDataSorted = orderBy(getTotalsByProp(topBarPlotData, 'y'), ['y'])\n xLabelsForTopBarPlot = orderBy(\n getTotalsByProp<TotalsGroupByGroup>(topBarPlotData, 'group'),\n ['group'],\n ).map(item => item.group)\n }\n\n return (\n <>\n {!isLoaded && loadingScreen}\n\n {isLoaded && (\n <div className=\"ThemesPlot\">\n <div className=\"ThemesPlot__dotPlotLegend\">\n <DotPlot\n id=\"head\"\n plotData={dotPlotQueryData}\n isLegend={true}\n markerSymbols={dotPlot.markerSymbols}\n style={{ width: '100%', height: '100%' }}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{\n ...optionsConfig,\n responsive: true,\n staticPlot: true,\n }}\n plotStyle={{\n ...dotPlot.plotStyle!,\n backgroundColor: 'transparent',\n }}\n ></DotPlot>\n </div>\n {topBarPlot.colors &&\n renderTopBarLegend(topBarPlot.colors, xLabelsForTopBarPlot)}\n {topBarPlotDataSorted.map((item, i) => (\n <div className=\"ThemesPlot__topBarPlot\" key={`topBarDiv_${i}`}>\n <div className=\"ThemesPlot__topBarPlot__label\">\n {item.count} {unCamelCase(item.y)}\n </div>\n <div className=\"ThemesPlot__topBarPlot__plot\">\n <BarPlot\n style={{ width: '100%', height: '100%' }}\n layoutConfig={cloneDeep(barLayoutConfig)}\n optionsConfig={{ ...optionsConfig }}\n plotData={topBarPlotData}\n isTop={true}\n label={item.y}\n xMax={item.count}\n onClick={(e: any) =>\n onPointClick(getClickTargetData(e, true))\n }\n colors={\n // we are not actually fading colors for now. But keeping implemenation in case it changes\n i % 2 === 0\n ? topBarPlot.colors\n : fadeColors({ ...topBarPlot.colors }, '1')\n }\n />\n </div>\n </div>\n ))}\n <div style={{ display: 'flex', position: 'relative' }}>\n <div className=\"ThemesPlot__dotPlotYLabel\">{dotPlotYAxisLabel}</div>\n <div className=\"ThemesPlot__dotPlot\">\n {yLabelsForDotPlot.map((label, i) => (\n <div\n key={`plotDiv_${+i}`}\n className=\"ThemesPlot__dotPlot__row\"\n style={{\n backgroundColor: dotPlot.plotStyle?.backgroundColor,\n }}\n >\n <div className=\"ThemesPlot__dotPlot__barColumn\">\n <Tooltip\n title={`${getTooltip(dotPlotQueryData, label)} `}\n placement={'right'}\n >\n <div>\n <span className=\"ThemesPlot__dotPlot__themeLabel\">\n {label}\n </span>\n <br />\n <span className=\"ThemesPlot__dotPlot__countLabel\">\n {totalsByDotPlotY[i].count} {sideBarPlot.countLabel}\n </span>\n <br />\n <BarPlot\n style={{ width: '100%' }}\n layoutConfig={barLayoutConfig}\n optionsConfig={optionsConfig}\n plotData={sideBarPlotData}\n isTop={false}\n // PORTALS-3061: No longer use a global x max for the side bar (where the bar size of 1 grant is consistent),\n // Instead, each bar chart is independent (the size of 1 grant differs across bar charts).\n xMax={totalsByDotPlotY[i].count}\n label={label}\n colors={fadeColors({ ...topBarPlot.colors }, '1')}\n onClick={(e: any) => {\n if (onIndividualThemeBarPlotPointClick) {\n onIndividualThemeBarPlotPointClick(\n getClickTargetData(e, false),\n )\n }\n }}\n />\n </div>\n </Tooltip>\n </div>\n <div className=\"ThemesPlot__dotPlot__dotPlotColumn\">\n <div\n style={{\n width: '100%',\n backgroundColor: dotPlot.plotStyle?.backgroundColor,\n }}\n >\n <DotPlot\n id={`${i}`}\n onClick={(e: any) => {\n const { type, event } = getClickTargetData(e, false)\n onPointClick({ facetValue: label, type, event })\n }}\n plotData={dotPlotQueryData}\n plotStyle={dotPlot.plotStyle}\n markerSymbols={dotPlot.markerSymbols}\n xMax={xMaxForDotPlot}\n label={label}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{\n ...optionsConfig,\n responsive: false,\n }}\n ></DotPlot>\n </div>\n </div>\n </div>\n ))}\n <div className=\"ThemesPlot__dotPlot__row\">\n <div\n className=\"ThemesPlot__dotPlot__barColumn\"\n style={{ textAlign: 'right' }}\n >\n VOLUME:\n </div>\n <div\n className=\"ThemesPlot__dotPlot__dotPlotColumn\"\n style={{ marginTop: '0px' }}\n >\n <DotPlot\n id={'footer'}\n plotData={dotPlotQueryData}\n isXAxis={true}\n xMax={xMaxForDotPlot}\n layoutConfig={dotPlotLayoutConfig}\n optionsConfig={{ ...optionsConfig, responsive: false }}\n ></DotPlot>\n </div>\n </div>\n </div>\n </div>\n <div></div>\n </div>\n )}\n </>\n )\n}\n\nexport default ThemesPlot\n"],"mappings":"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"}
|