synapse-react-client 4.0.18 → 4.0.20
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 +3 -1
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +3 -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/CardContainer.js.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 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
- package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.js +116 -0
- package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
- package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
- package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
- 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.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
- 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.d.ts +19 -8
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
- 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.js +2 -0
- 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.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -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.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.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.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.d.ts +12 -0
- package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
- package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
- package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -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.d.ts.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
- 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.d.ts +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
- 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.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
- 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.d.ts +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.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.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.js +12 -12
- 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 +4 -4
- 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.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +32 -32
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.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.js.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.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
- 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.d.ts +18 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +113 -0
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
- package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
- package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
- package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
- package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
- package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
- package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
- 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.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
- 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 +11 -3
- 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.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.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.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/synapse-client/HttpClient.js.map +1 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +61 -69
- 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.d.ts +2 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js +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 +67 -66
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitPatch.js","names":["Patch","CompactCodecPatch","decode","encode","CompactCodecOperation","CompactCodecTimestamp","getPatchSizeInBytes","patch","TextEncoder","JSON","stringify","length","computeNextPatchHeader","lastPatch","decodedPatch","lastPatchHeader","getId","lastPatchSpan","span","sid","time","splitPatch","maxPatchSizeBytes","ops","binaryEncodedPatch","sizeOfFullPatch","console","warn","firstPatchHeader","splitPatches","currentSplitPatch","i","currentSplitPatchOpCount","sizeOfCurrentSplitPatchWithNextOp","push"],"sources":["../../../../src/components/DataGrid/utils/splitPatch.ts"],"sourcesContent":["import { Patch } from 'json-joy/lib/json-crdt'\nimport {\n CompactCodecPatch,\n decode,\n encode,\n} from 'json-joy/lib/json-crdt-patch/codec/compact'\nimport {\n CompactCodecOperation,\n CompactCodecTimestamp,\n} from 'json-joy/lib/json-crdt-patch/codec/compact/types'\n\n/**\n * Calculates the size in bytes of the UTF-8 string representation of a compact-encoded JSON CRDT Patch.\n * This is useful for determining the size of patch that will be sent in a WebSocket connection, which requires UTF-8\n * encoding.\n * @param patch the compact-encoded JSON CRDT Patch\n * @returns the size in bytes of the UTF-8 string representation of the patch\n */\nexport function getPatchSizeInBytes(patch: CompactCodecPatch): number {\n return new TextEncoder().encode(JSON.stringify(patch)).length\n}\n\n/**\n * Computes the header for the next JSON CRDT patch based on the last patch.\n * @param lastPatch - the previous JSON CRDT patch\n * @returns the header for the next patch, which includes the replica ID and the next timestamp\n */\nfunction computeNextPatchHeader(\n lastPatch: CompactCodecPatch,\n): [CompactCodecTimestamp] {\n // TODO: Compute the next patch header without decoding the entire patch\n // decoding it is inefficient, but easy because it lets us easily compute the span.\n const decodedPatch = decode(lastPatch)\n\n const lastPatchHeader = decodedPatch.getId()!\n const lastPatchSpan = decodedPatch.span()\n\n return [[lastPatchHeader?.sid, lastPatchHeader.time + lastPatchSpan]]\n}\n\n/**\n * Given a json-joy JSON CRDT Patch, splits it into multiple patches if its compact encoding\n * exceeds the specified maximum size in bytes.\n * @param patch\n * @param maxPatchSizeBytes\n * @returns An array of patches that are compact-encoded. Each patch is guaranteed to be within the specified size limit, or to only contain\n * a single operation if it cannot be split further.\n */\nexport function splitPatch(\n patch: Patch,\n maxPatchSizeBytes: number,\n): CompactCodecPatch[] {\n if (!patch.ops || patch.ops.length === 0) {\n return []\n }\n\n const binaryEncodedPatch = encode(patch)\n const sizeOfFullPatch = getPatchSizeInBytes(binaryEncodedPatch)\n\n // Check if this patch needs to be split\n if (sizeOfFullPatch <= maxPatchSizeBytes) {\n return [binaryEncodedPatch]\n }\n\n if (patch.ops.length == 1) {\n console.warn(\n `Patch is too large (${sizeOfFullPatch} B) but cannot be split further since it only contains one operation.`,\n )\n return [binaryEncodedPatch]\n }\n\n const firstPatchHeader = binaryEncodedPatch[0]\n const splitPatches: CompactCodecPatch[] = []\n let currentSplitPatch: CompactCodecPatch = [firstPatchHeader]\n for (let i = 1; i < binaryEncodedPatch.length; i += 1) {\n const currentSplitPatchOpCount = currentSplitPatch.length - 1 // Exclude header\n const sizeOfCurrentSplitPatchWithNextOp = getPatchSizeInBytes([\n ...currentSplitPatch,\n binaryEncodedPatch[i] as CompactCodecOperation,\n ])\n if (\n sizeOfCurrentSplitPatchWithNextOp > maxPatchSizeBytes &&\n currentSplitPatchOpCount > 0\n ) {\n splitPatches.push(currentSplitPatch)\n currentSplitPatch = [computeNextPatchHeader(currentSplitPatch)]\n }\n currentSplitPatch.push(binaryEncodedPatch[i] as CompactCodecOperation)\n }\n if (currentSplitPatch.length > 1) {\n splitPatches.push(currentSplitPatch)\n }\n\n return splitPatches\n}\n"],"mappings":";;AAkBA,SAAgBM,EAAoBC,GAAkC;
|
|
1
|
+
{"version":3,"file":"splitPatch.js","names":["Patch","CompactCodecPatch","decode","encode","CompactCodecOperation","CompactCodecTimestamp","getPatchSizeInBytes","patch","TextEncoder","JSON","stringify","length","computeNextPatchHeader","lastPatch","decodedPatch","lastPatchHeader","getId","lastPatchSpan","span","sid","time","splitPatch","maxPatchSizeBytes","ops","binaryEncodedPatch","sizeOfFullPatch","console","warn","firstPatchHeader","splitPatches","currentSplitPatch","i","currentSplitPatchOpCount","sizeOfCurrentSplitPatchWithNextOp","push"],"sources":["../../../../src/components/DataGrid/utils/splitPatch.ts"],"sourcesContent":["import { Patch } from 'json-joy/lib/json-crdt'\nimport {\n CompactCodecPatch,\n decode,\n encode,\n} from 'json-joy/lib/json-crdt-patch/codec/compact'\nimport {\n CompactCodecOperation,\n CompactCodecTimestamp,\n} from 'json-joy/lib/json-crdt-patch/codec/compact/types'\n\n/**\n * Calculates the size in bytes of the UTF-8 string representation of a compact-encoded JSON CRDT Patch.\n * This is useful for determining the size of patch that will be sent in a WebSocket connection, which requires UTF-8\n * encoding.\n * @param patch the compact-encoded JSON CRDT Patch\n * @returns the size in bytes of the UTF-8 string representation of the patch\n */\nexport function getPatchSizeInBytes(patch: CompactCodecPatch): number {\n return new TextEncoder().encode(JSON.stringify(patch)).length\n}\n\n/**\n * Computes the header for the next JSON CRDT patch based on the last patch.\n * @param lastPatch - the previous JSON CRDT patch\n * @returns the header for the next patch, which includes the replica ID and the next timestamp\n */\nfunction computeNextPatchHeader(\n lastPatch: CompactCodecPatch,\n): [CompactCodecTimestamp] {\n // TODO: Compute the next patch header without decoding the entire patch\n // decoding it is inefficient, but easy because it lets us easily compute the span.\n const decodedPatch = decode(lastPatch)\n\n const lastPatchHeader = decodedPatch.getId()!\n const lastPatchSpan = decodedPatch.span()\n\n return [[lastPatchHeader?.sid, lastPatchHeader.time + lastPatchSpan]]\n}\n\n/**\n * Given a json-joy JSON CRDT Patch, splits it into multiple patches if its compact encoding\n * exceeds the specified maximum size in bytes.\n * @param patch\n * @param maxPatchSizeBytes\n * @returns An array of patches that are compact-encoded. Each patch is guaranteed to be within the specified size limit, or to only contain\n * a single operation if it cannot be split further.\n */\nexport function splitPatch(\n patch: Patch,\n maxPatchSizeBytes: number,\n): CompactCodecPatch[] {\n if (!patch.ops || patch.ops.length === 0) {\n return []\n }\n\n const binaryEncodedPatch = encode(patch)\n const sizeOfFullPatch = getPatchSizeInBytes(binaryEncodedPatch)\n\n // Check if this patch needs to be split\n if (sizeOfFullPatch <= maxPatchSizeBytes) {\n return [binaryEncodedPatch]\n }\n\n if (patch.ops.length == 1) {\n console.warn(\n `Patch is too large (${sizeOfFullPatch} B) but cannot be split further since it only contains one operation.`,\n )\n return [binaryEncodedPatch]\n }\n\n const firstPatchHeader = binaryEncodedPatch[0]\n const splitPatches: CompactCodecPatch[] = []\n let currentSplitPatch: CompactCodecPatch = [firstPatchHeader]\n for (let i = 1; i < binaryEncodedPatch.length; i += 1) {\n const currentSplitPatchOpCount = currentSplitPatch.length - 1 // Exclude header\n const sizeOfCurrentSplitPatchWithNextOp = getPatchSizeInBytes([\n ...currentSplitPatch,\n binaryEncodedPatch[i] as CompactCodecOperation,\n ])\n if (\n sizeOfCurrentSplitPatchWithNextOp > maxPatchSizeBytes &&\n currentSplitPatchOpCount > 0\n ) {\n splitPatches.push(currentSplitPatch)\n currentSplitPatch = [computeNextPatchHeader(currentSplitPatch)]\n }\n currentSplitPatch.push(binaryEncodedPatch[i] as CompactCodecOperation)\n }\n if (currentSplitPatch.length > 1) {\n splitPatches.push(currentSplitPatch)\n }\n\n return splitPatches\n}\n"],"mappings":";;AAkBA,SAAgBM,EAAoBC,GAAkC;CACpE,OAAO,IAAIC,YAAY,EAAEL,OAAOM,KAAKC,UAAUH,CAAK,CAAC,EAAEI;AACzD;AAOA,SAASC,EACPC,GACyB;CAGzB,IAAMC,IAAeZ,EAAOW,CAAS,GAE/BE,IAAkBD,EAAaE,MAAM,GACrCC,IAAgBH,EAAaI,KAAK;CAExC,OAAO,CAAC,CAACH,GAAiBI,KAAKJ,EAAgBK,OAAOH,CAAa,CAAC;AACtE;AAUA,SAAgBI,EACdd,GACAe,GACqB;CACrB,IAAI,CAACf,EAAMgB,OAAOhB,EAAMgB,IAAIZ,WAAW,GACrC,OAAO,CAAA;CAGT,IAAMa,IAAqBrB,EAAOI,CAAK,GACjCkB,IAAkBnB,EAAoBkB,CAAkB;CAG9D,IAAIC,KAAmBH,GACrB,OAAO,CAACE,CAAkB;CAG5B,IAAIjB,EAAMgB,IAAIZ,UAAU,GAItB,OAHAe,QAAQC,KACN,uBAAuBF,EAAe,sEACxC,GACO,CAACD,CAAkB;CAG5B,IAAMI,IAAmBJ,EAAmB,IACtCK,IAAoC,CAAA,GACtCC,IAAuC,CAACF,CAAgB;CAC5D,KAAK,IAAIG,IAAI,GAAGA,IAAIP,EAAmBb,QAAQoB,KAAK,GAAG;EACrD,IAAMC,IAA2BF,EAAkBnB,SAAS;EAY5DmB,AAX0CxB,EAAoB,CAC5D,GAAGwB,GACHN,EAAmBO,EAA2B,CAG9CE,IAAoCX,KACpCU,IAA2B,MAE3BH,EAAaK,KAAKJ,CAAiB,GACnCA,IAAoB,CAAClB,EAAuBkB,CAAiB,CAAC,IAEhEA,EAAkBI,KAAKV,EAAmBO,EAA2B;CACvE;CAKA,OAJID,EAAkBnB,SAAS,KAC7BkB,EAAaK,KAAKJ,CAAiB,GAG9BD;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetJsonLdScript.js","names":[],"sources":["../../src/components/DatasetJsonLdScript.tsx"],"sourcesContent":["import {\n useFileContent,\n useGetQueryResultBundleWithAsyncStatus,\n} from '@/synapse-queries'\nimport useJsonLdScriptElement from '@/utils/hooks/useJsonLdScriptElement'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport {\n ColumnSingleValueFilterOperator,\n COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport React from 'react'\n\ninterface DatasetJsonLdScriptOption1Props {\n entityId?: string\n version?: number\n searchParams?: never\n}\ninterface DatasetJsonLdScriptOption2Props {\n entityId?: never\n version?: never\n searchParams?: { [key: string]: string } // can be injected if this component is embedded in a Dataset Details page\n}\nexport type DatasetJsonLdScriptProps =\n | DatasetJsonLdScriptOption1Props\n | DatasetJsonLdScriptOption2Props\n\n/**\n * This component will add a Dataset json ld script tag to the page when rendered.\n */\nexport function DatasetJsonLdScript({\n entityId: entityIdFromProps,\n version: versionFromProps,\n searchParams,\n}: DatasetJsonLdScriptProps): React.ReactNode {\n let entityId: string\n let version: number | undefined\n if (entityIdFromProps) {\n entityId = entityIdFromProps\n version = versionFromProps\n } else if (searchParams) {\n entityId = searchParams['id']\n if (searchParams['version']) {\n version = parseInt(searchParams['version'])\n }\n }\n const query: Query = {\n sql: 'select croissant_file_s3_object from syn65903895',\n additionalFilters: [\n {\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'dataset',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [entityId!],\n },\n ],\n }\n if (version) {\n query.additionalFilters!.push({\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'dataset_version',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [`${version}`],\n })\n }\n const { data } = useGetQueryResultBundleWithAsyncStatus({\n entityId: entityId!,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n })\n\n // get raw data. parse and then inject? or just inject without parsing?\n const rows = data?.responseBody?.queryResult?.queryResults?.rows\n const row = rows && rows.length > 0 ? rows[0] : undefined\n const croissantFileS3ObjectURL = row?.values[0]\n\n const { data: croissantFileContent } = useFileContent(\n croissantFileS3ObjectURL!,\n {\n enabled: !!croissantFileS3ObjectURL,\n },\n )\n useJsonLdScriptElement(croissantFileContent)\n return <></>\n}\n"],"mappings":";;;;;;;;;AA8BA,SAAgB,EAAoB,EAClC,UAAU,GACV,SAAS,GACT,mBAC4C;CAC5C,IAAI,GACA;
|
|
1
|
+
{"version":3,"file":"DatasetJsonLdScript.js","names":[],"sources":["../../src/components/DatasetJsonLdScript.tsx"],"sourcesContent":["import {\n useFileContent,\n useGetQueryResultBundleWithAsyncStatus,\n} from '@/synapse-queries'\nimport useJsonLdScriptElement from '@/utils/hooks/useJsonLdScriptElement'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport {\n ColumnSingleValueFilterOperator,\n COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport React from 'react'\n\ninterface DatasetJsonLdScriptOption1Props {\n entityId?: string\n version?: number\n searchParams?: never\n}\ninterface DatasetJsonLdScriptOption2Props {\n entityId?: never\n version?: never\n searchParams?: { [key: string]: string } // can be injected if this component is embedded in a Dataset Details page\n}\nexport type DatasetJsonLdScriptProps =\n | DatasetJsonLdScriptOption1Props\n | DatasetJsonLdScriptOption2Props\n\n/**\n * This component will add a Dataset json ld script tag to the page when rendered.\n */\nexport function DatasetJsonLdScript({\n entityId: entityIdFromProps,\n version: versionFromProps,\n searchParams,\n}: DatasetJsonLdScriptProps): React.ReactNode {\n let entityId: string\n let version: number | undefined\n if (entityIdFromProps) {\n entityId = entityIdFromProps\n version = versionFromProps\n } else if (searchParams) {\n entityId = searchParams['id']\n if (searchParams['version']) {\n version = parseInt(searchParams['version'])\n }\n }\n const query: Query = {\n sql: 'select croissant_file_s3_object from syn65903895',\n additionalFilters: [\n {\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'dataset',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [entityId!],\n },\n ],\n }\n if (version) {\n query.additionalFilters!.push({\n concreteType: COLUMN_SINGLE_VALUE_QUERY_FILTER_CONCRETE_TYPE_VALUE,\n columnName: 'dataset_version',\n operator: ColumnSingleValueFilterOperator.EQUAL,\n values: [`${version}`],\n })\n }\n const { data } = useGetQueryResultBundleWithAsyncStatus({\n entityId: entityId!,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n })\n\n // get raw data. parse and then inject? or just inject without parsing?\n const rows = data?.responseBody?.queryResult?.queryResults?.rows\n const row = rows && rows.length > 0 ? rows[0] : undefined\n const croissantFileS3ObjectURL = row?.values[0]\n\n const { data: croissantFileContent } = useFileContent(\n croissantFileS3ObjectURL!,\n {\n enabled: !!croissantFileS3ObjectURL,\n },\n )\n useJsonLdScriptElement(croissantFileContent)\n return <></>\n}\n"],"mappings":";;;;;;;;;AA8BA,SAAgB,EAAoB,EAClC,UAAU,GACV,SAAS,GACT,mBAC4C;CAC5C,IAAI,GACA;CACJ,AAAI,KACF,IAAW,GACX,IAAU,KACD,MACT,IAAW,EAAa,IACpB,EAAa,YACf,IAAU,SAAS,EAAa,OAAU;CAG9C,IAAM,IAAe;EACnB,KAAK;EACL,mBAAmB,CACjB;GACE,cAAc;GACd,YAAY;GACZ,UAAU,EAAgC;GAC1C,QAAQ,CAAC,CAAS;EACpB,CACF;CACF;CACA,AAAI,KACF,EAAM,kBAAmB,KAAK;EAC5B,cAAc;EACd,YAAY;EACZ,UAAU,EAAgC;EAC1C,QAAQ,CAAC,GAAG,GAAS;CACvB,CAAC;CAEH,IAAM,EAAE,YAAS,EAAuC;EAC5C;EACV;EACA,UAAA;EACA,cAAc;CAChB,CAAC,GAGK,IAAO,GAAM,cAAc,aAAa,cAAc,MAEtD,KADM,KAAQ,EAAK,SAAS,IAAI,EAAK,KAAK,KAAA,IACV,OAAO,IAEvC,EAAE,MAAM,MAAyB,EACrC,GACA,EACE,SAAS,CAAC,CAAC,EACb,CACF;CAEA,OADA,EAAuB,CAAoB,GACpC,kBAAA,GAAA,CAAI,CAAA;AACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePicker.js","names":[],"sources":["../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils'\nimport { Box, InputBaseProps, TextField, TextFieldProps } from '@mui/material'\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\nimport {\n DateTimePicker as MuiDateTimePicker,\n DateTimePickerProps as MuiDateTimePickerProps,\n} from '@mui/x-date-pickers/DateTimePicker'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport dayjs from 'dayjs'\nimport advancedFormat from 'dayjs/plugin/advancedFormat'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\nimport { useMemo } from 'react'\n\ndayjs.extend(utc)\ndayjs.extend(timezone)\ndayjs.extend(advancedFormat)\n\nfunction TextFieldWithTzShown(props: TextFieldProps) {\n const { utcTime } = useSynapseContext()\n const tzDisplay = utcTime ? 'UTC' : dayjs().tz(dayjs.tz.guess()).format('z')\n\n return (\n <TextField\n {...props}\n slotProps={{\n input: {\n ...props.slotProps?.input,\n endAdornment: (\n <>\n <Box\n sx={{\n ml: 0.5,\n }}\n >\n {tzDisplay}\n </Box>\n {\n (props.slotProps?.input as InputBaseProps | undefined)\n ?.endAdornment\n }\n </>\n ),\n },\n }}\n />\n )\n}\n\nexport default function DateTimePicker(props: MuiDateTimePickerProps) {\n const { value, slots, ...rest } = props\n const { utcTime } = useSynapseContext()\n\n const valueAsDayjs = useMemo(() => {\n if (value == null) {\n return value\n }\n if (utcTime) {\n return dayjs.utc(value)\n } else {\n return dayjs(value)\n }\n }, [utcTime, value])\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDateTimePicker\n enableAccessibleFieldDOMStructure={false}\n value={valueAsDayjs}\n slots={{\n ...slots,\n textField: TextFieldWithTzShown,\n }}\n {...rest}\n />\n </LocalizationProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAcA,EAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","names":[],"sources":["../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils'\nimport { Box, InputBaseProps, TextField, TextFieldProps } from '@mui/material'\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\nimport {\n DateTimePicker as MuiDateTimePicker,\n DateTimePickerProps as MuiDateTimePickerProps,\n} from '@mui/x-date-pickers/DateTimePicker'\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\nimport dayjs from 'dayjs'\nimport advancedFormat from 'dayjs/plugin/advancedFormat'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\nimport { useMemo } from 'react'\n\ndayjs.extend(utc)\ndayjs.extend(timezone)\ndayjs.extend(advancedFormat)\n\nfunction TextFieldWithTzShown(props: TextFieldProps) {\n const { utcTime } = useSynapseContext()\n const tzDisplay = utcTime ? 'UTC' : dayjs().tz(dayjs.tz.guess()).format('z')\n\n return (\n <TextField\n {...props}\n slotProps={{\n input: {\n ...props.slotProps?.input,\n endAdornment: (\n <>\n <Box\n sx={{\n ml: 0.5,\n }}\n >\n {tzDisplay}\n </Box>\n {\n (props.slotProps?.input as InputBaseProps | undefined)\n ?.endAdornment\n }\n </>\n ),\n },\n }}\n />\n )\n}\n\nexport default function DateTimePicker(props: MuiDateTimePickerProps) {\n const { value, slots, ...rest } = props\n const { utcTime } = useSynapseContext()\n\n const valueAsDayjs = useMemo(() => {\n if (value == null) {\n return value\n }\n if (utcTime) {\n return dayjs.utc(value)\n } else {\n return dayjs(value)\n }\n }, [utcTime, value])\n\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDateTimePicker\n enableAccessibleFieldDOMStructure={false}\n value={valueAsDayjs}\n slots={{\n ...slots,\n textField: TextFieldWithTzShown,\n }}\n {...rest}\n />\n </LocalizationProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAcA,EAAM,OAAO,CAAG,GAChB,EAAM,OAAO,CAAQ,GACrB,EAAM,OAAO,CAAc;AAE3B,SAAS,EAAqB,GAAuB;CACnD,IAAM,EAAE,eAAY,EAAkB,GAChC,IAAY,IAAU,QAAQ,EAAM,EAAE,GAAG,EAAM,GAAG,MAAM,CAAC,EAAE,OAAO,GAAG;CAE3E,OACE,kBAAC,GAAD;EACE,GAAI;EACJ,WAAW,EACT,OAAO;GACL,GAAG,EAAM,WAAW;GACpB,cACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;IACE,IAAI,EACF,IAAI,GACN;cAEC;GACE,CAAA,GAEF,EAAM,WAAW,OACd,YAEN,EAAA,CAAA;EAEN,EACF;CACD,CAAA;AAEL;AAEA,SAAwB,EAAe,GAA+B;CACpE,IAAM,EAAE,UAAO,UAAO,GAAG,MAAS,GAC5B,EAAE,eAAY,EAAkB;CAatC,OACE,kBAAC,GAAD;EAAsB,aAAa;YACjC,kBAAC,GAAD;GACE,mCAAmC;GACnC,OAfe,QACf,KAAS,OACJ,IAEL,IACK,EAAM,IAAI,CAAK,IAEf,EAAM,CAAK,GAEnB,CAAC,GAAS,CAAK,CAML;GACP,OAAO;IACL,GAAG;IACH,WAAW;GACb;GACA,GAAI;EACL,CAAA;CACmB,CAAA;AAE1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmCloseWithoutSavingDialog.js","names":[],"sources":["../../../src/components/Dialog/ConfirmCloseWithoutSavingDialog.tsx"],"sourcesContent":["import { SetOptional } from 'type-fest'\nimport {\n ConfirmationDialog,\n ConfirmationDialogProps,\n} from '../ConfirmationDialog/ConfirmationDialog'\n\nexport type ConfirmCloseWithoutSavingDialogProps = SetOptional<\n ConfirmationDialogProps,\n 'title' | 'content' | 'confirmButtonProps'\n>\n\nfunction ConfirmCloseWithoutSavingDialog(\n props: ConfirmCloseWithoutSavingDialogProps,\n) {\n const {\n title = 'Close without saving?',\n content = 'Are you sure you want to close the editor without saving your changes?',\n confirmButtonProps = {\n children: 'Close without saving',\n color: 'error',\n },\n ...rest\n } = props\n return (\n <ConfirmationDialog\n title={title}\n content={content}\n confirmButtonProps={confirmButtonProps}\n {...rest}\n />\n )\n}\n\nexport default ConfirmCloseWithoutSavingDialog\n"],"mappings":";;;AAWA,SAAS,EACP,GACA;CACA,IAAM,EACJ,WAAQ,yBACR,aAAU,0EACV,wBAAqB;EACnB,UAAU;EACV,OAAO;
|
|
1
|
+
{"version":3,"file":"ConfirmCloseWithoutSavingDialog.js","names":[],"sources":["../../../src/components/Dialog/ConfirmCloseWithoutSavingDialog.tsx"],"sourcesContent":["import { SetOptional } from 'type-fest'\nimport {\n ConfirmationDialog,\n ConfirmationDialogProps,\n} from '../ConfirmationDialog/ConfirmationDialog'\n\nexport type ConfirmCloseWithoutSavingDialogProps = SetOptional<\n ConfirmationDialogProps,\n 'title' | 'content' | 'confirmButtonProps'\n>\n\nfunction ConfirmCloseWithoutSavingDialog(\n props: ConfirmCloseWithoutSavingDialogProps,\n) {\n const {\n title = 'Close without saving?',\n content = 'Are you sure you want to close the editor without saving your changes?',\n confirmButtonProps = {\n children: 'Close without saving',\n color: 'error',\n },\n ...rest\n } = props\n return (\n <ConfirmationDialog\n title={title}\n content={content}\n confirmButtonProps={confirmButtonProps}\n {...rest}\n />\n )\n}\n\nexport default ConfirmCloseWithoutSavingDialog\n"],"mappings":";;;AAWA,SAAS,EACP,GACA;CACA,IAAM,EACJ,WAAQ,yBACR,aAAU,0EACV,wBAAqB;EACnB,UAAU;EACV,OAAO;CACT,GACA,GAAG,MACD;CACJ,OACE,kBAAC,GAAD;EACS;EACE;EACW;EACpB,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogBase.js","names":[],"sources":["../../src/components/DialogBase.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport CloseIcon from '@mui/icons-material/Close'\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentProps,\n DialogProps,\n DialogTitle,\n IconButton,\n Stack,\n SxProps,\n} from '@mui/material'\nimport React, { ReactNode } from 'react'\nimport { HelpPopover, HelpPopoverProps } from './HelpPopover/HelpPopover'\n\nconst EMPTY_OBJECT = {}\n\nexport type CloseButtonProps = {\n sx?: SxProps\n onClick?: () => void\n}\n\nexport const CLOSE_BUTTON_LABEL = 'close'\nconst DEFAULT_CLOSEBUTTON_SX: SxProps = { color: 'grey.700' }\n\nexport function CloseButton({\n sx = DEFAULT_CLOSEBUTTON_SX,\n onClick,\n}: CloseButtonProps): React.JSX.Element {\n return (\n <IconButton sx={sx} onClick={onClick} aria-label={CLOSE_BUTTON_LABEL}>\n <CloseIcon />\n </IconButton>\n )\n}\n\nexport type DialogBaseTitleProps = {\n title: ReactNode\n titleHelpPopoverProps?: HelpPopoverProps\n hasCloseButton?: boolean\n onCancel: () => void\n}\n\nexport function DialogBaseTitle(props: DialogBaseTitleProps): React.ReactNode {\n const {\n title,\n titleHelpPopoverProps,\n hasCloseButton = true,\n onCancel,\n } = props\n return (\n <DialogTitle>\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: '5px',\n }}\n >\n {title}\n <Box\n component={'span'}\n sx={{\n fontSize: '14px',\n }}\n >\n {titleHelpPopoverProps && <HelpPopover {...titleHelpPopoverProps} />}\n </Box>\n <Box sx={{ flexGrow: 1 }} />\n {hasCloseButton && <CloseButton onClick={() => onCancel()} />}\n </Stack>\n </DialogTitle>\n )\n}\n\nexport type DialogBaseProps = DialogBaseTitleProps & {\n open: boolean\n content: ReactNode\n actions?: ReactNode\n className?: string\n onCancel: () => void\n maxWidth?: DialogProps['maxWidth']\n fullWidth?: boolean\n sx?: DialogProps['sx']\n contentProps?: DialogContentProps\n DialogProps?: Partial<DialogProps>\n /** If true, reduces the vertical padding of the title, content, and actions for a more compact layout. */\n dense?: boolean\n}\n\n/**\n * A dialog built using MUI components.\n */\nexport const DialogBase = ({\n open,\n title,\n content,\n actions,\n className,\n onCancel,\n hasCloseButton,\n titleHelpPopoverProps,\n maxWidth = 'sm',\n fullWidth = true,\n sx,\n contentProps = EMPTY_OBJECT,\n DialogProps,\n dense = false,\n}: DialogBaseProps): React.ReactNode => {\n return (\n <Dialog\n fullWidth={fullWidth}\n maxWidth={maxWidth}\n open={open}\n className={className}\n onClose={() => onCancel()}\n sx={spreadSx(\n sx,\n dense\n ? {\n '.MuiDialog-container > .MuiPaper-root': {\n padding: '10px 30px',\n },\n '& .MuiDialogTitle-root': {\n py: 1.5,\n typography: 'headline3',\n },\n '& .MuiDialogContent-root': {\n pt: 1,\n },\n '& .MuiDialogActions-root': {\n pb: 2,\n },\n }\n : undefined,\n theme => ({\n [theme.breakpoints.down('sm')]: {\n width: '100vw',\n '.MuiDialog-container > .MuiPaper-root': {\n padding: '33px',\n margin: 0,\n width: '100%',\n height: '100%',\n maxHeight: 'unset',\n },\n },\n }),\n )}\n {...DialogProps}\n >\n <DialogBaseTitle\n title={title}\n titleHelpPopoverProps={titleHelpPopoverProps}\n hasCloseButton={hasCloseButton}\n onCancel={onCancel}\n />\n <DialogContent {...contentProps}>{content}</DialogContent>\n {actions && <DialogActions>{actions}</DialogActions>}\n </Dialog>\n )\n}\n"],"mappings":";;;;;;;AAiBA,IAAM,IAAe,
|
|
1
|
+
{"version":3,"file":"DialogBase.js","names":[],"sources":["../../src/components/DialogBase.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport CloseIcon from '@mui/icons-material/Close'\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentProps,\n DialogProps,\n DialogTitle,\n IconButton,\n Stack,\n SxProps,\n} from '@mui/material'\nimport React, { ReactNode } from 'react'\nimport { HelpPopover, HelpPopoverProps } from './HelpPopover/HelpPopover'\n\nconst EMPTY_OBJECT = {}\n\nexport type CloseButtonProps = {\n sx?: SxProps\n onClick?: () => void\n}\n\nexport const CLOSE_BUTTON_LABEL = 'close'\nconst DEFAULT_CLOSEBUTTON_SX: SxProps = { color: 'grey.700' }\n\nexport function CloseButton({\n sx = DEFAULT_CLOSEBUTTON_SX,\n onClick,\n}: CloseButtonProps): React.JSX.Element {\n return (\n <IconButton sx={sx} onClick={onClick} aria-label={CLOSE_BUTTON_LABEL}>\n <CloseIcon />\n </IconButton>\n )\n}\n\nexport type DialogBaseTitleProps = {\n title: ReactNode\n titleHelpPopoverProps?: HelpPopoverProps\n hasCloseButton?: boolean\n onCancel: () => void\n}\n\nexport function DialogBaseTitle(props: DialogBaseTitleProps): React.ReactNode {\n const {\n title,\n titleHelpPopoverProps,\n hasCloseButton = true,\n onCancel,\n } = props\n return (\n <DialogTitle>\n <Stack\n direction=\"row\"\n sx={{\n alignItems: 'center',\n gap: '5px',\n }}\n >\n {title}\n <Box\n component={'span'}\n sx={{\n fontSize: '14px',\n }}\n >\n {titleHelpPopoverProps && <HelpPopover {...titleHelpPopoverProps} />}\n </Box>\n <Box sx={{ flexGrow: 1 }} />\n {hasCloseButton && <CloseButton onClick={() => onCancel()} />}\n </Stack>\n </DialogTitle>\n )\n}\n\nexport type DialogBaseProps = DialogBaseTitleProps & {\n open: boolean\n content: ReactNode\n actions?: ReactNode\n className?: string\n onCancel: () => void\n maxWidth?: DialogProps['maxWidth']\n fullWidth?: boolean\n sx?: DialogProps['sx']\n contentProps?: DialogContentProps\n DialogProps?: Partial<DialogProps>\n /** If true, reduces the vertical padding of the title, content, and actions for a more compact layout. */\n dense?: boolean\n}\n\n/**\n * A dialog built using MUI components.\n */\nexport const DialogBase = ({\n open,\n title,\n content,\n actions,\n className,\n onCancel,\n hasCloseButton,\n titleHelpPopoverProps,\n maxWidth = 'sm',\n fullWidth = true,\n sx,\n contentProps = EMPTY_OBJECT,\n DialogProps,\n dense = false,\n}: DialogBaseProps): React.ReactNode => {\n return (\n <Dialog\n fullWidth={fullWidth}\n maxWidth={maxWidth}\n open={open}\n className={className}\n onClose={() => onCancel()}\n sx={spreadSx(\n sx,\n dense\n ? {\n '.MuiDialog-container > .MuiPaper-root': {\n padding: '10px 30px',\n },\n '& .MuiDialogTitle-root': {\n py: 1.5,\n typography: 'headline3',\n },\n '& .MuiDialogContent-root': {\n pt: 1,\n },\n '& .MuiDialogActions-root': {\n pb: 2,\n },\n }\n : undefined,\n theme => ({\n [theme.breakpoints.down('sm')]: {\n width: '100vw',\n '.MuiDialog-container > .MuiPaper-root': {\n padding: '33px',\n margin: 0,\n width: '100%',\n height: '100%',\n maxHeight: 'unset',\n },\n },\n }),\n )}\n {...DialogProps}\n >\n <DialogBaseTitle\n title={title}\n titleHelpPopoverProps={titleHelpPopoverProps}\n hasCloseButton={hasCloseButton}\n onCancel={onCancel}\n />\n <DialogContent {...contentProps}>{content}</DialogContent>\n {actions && <DialogActions>{actions}</DialogActions>}\n </Dialog>\n )\n}\n"],"mappings":";;;;;;;AAiBA,IAAM,IAAe,CAAC,GAOT,IAAqB,SAC5B,IAAkC,EAAE,OAAO,WAAW;AAE5D,SAAgB,EAAY,EAC1B,QAAK,GACL,cACsC;CACtC,OACE,kBAAC,GAAD;EAAgB;EAAa;EAAS,cAAY;YAChD,kBAAC,GAAD,CAAY,CAAA;CACF,CAAA;AAEhB;AASA,SAAgB,EAAgB,GAA8C;CAC5E,IAAM,EACJ,UACA,0BACA,oBAAiB,IACjB,gBACE;CACJ,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EACE,WAAU;EACV,IAAI;GACF,YAAY;GACZ,KAAK;EACP;YALF;GAOG;GACD,kBAAC,GAAD;IACE,WAAW;IACX,IAAI,EACF,UAAU,OACZ;cAEC,KAAyB,kBAAC,GAAD,EAAa,GAAI,EAAwB,CAAA;GAChE,CAAA;GACL,kBAAC,GAAD,EAAK,IAAI,EAAE,UAAU,EAAE,EAAI,CAAA;GAC1B,KAAkB,kBAAC,GAAD,EAAa,eAAe,EAAS,EAAI,CAAA;EACvD;IACI,CAAA;AAEjB;AAoBA,IAAa,KAAc,EACzB,SACA,UACA,YACA,YACA,cACA,aACA,mBACA,0BACA,cAAW,MACX,eAAY,IACZ,OACA,kBAAe,GACf,gBACA,WAAQ,SAGN,kBAAC,GAAD;CACa;CACD;CACJ;CACK;CACX,eAAe,EAAS;CACxB,IAAI,EACF,GACA,IACI;EACE,yCAAyC,EACvC,SAAS,YACX;EACA,0BAA0B;GACxB,IAAI;GACJ,YAAY;EACd;EACA,4BAA4B,EAC1B,IAAI,EACN;EACA,4BAA4B,EAC1B,IAAI,EACN;CACF,IACA,KAAA,IACJ,OAAU,GACP,EAAM,YAAY,KAAK,IAAI,IAAI;EAC9B,OAAO;EACP,yCAAyC;GACvC,SAAS;GACT,QAAQ;GACR,OAAO;GACP,QAAQ;GACR,WAAW;EACb;CACF,EACF,EACF;CACA,GAAI;WAtCN;EAwCE,kBAAC,GAAD;GACS;GACgB;GACP;GACN;EACX,CAAA;EACD,kBAAC,GAAD;GAAe,GAAI;aAAe;EAAuB,CAAA;EACxD,KAAW,kBAAC,GAAD,EAAA,UAAgB,EAAuB,CAAA;CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectDownload.js","names":[],"sources":["../../../src/components/DirectDownload/DirectDownload.tsx"],"sourcesContent":["import { useGetFileBatch } from '@/synapse-queries/file/useFiles'\nimport { implementsExternalFileHandleInterface } from '@/utils/types/IsType'\nimport { Tooltip } from '@mui/material'\nimport {\n ExternalFileHandle,\n FileHandleAssociateType,\n} from '@sage-bionetworks/synapse-types'\nimport { forwardRef } from 'react'\nimport IconSvg, { IconSvgProps } from '../IconSvg/IconSvg'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\nimport { useDirectDownloadHandler } from '@/utils/hooks/useDirectDownloadHandler'\n\nexport type DirectFileDownloadProps = {\n associatedObjectId: string\n associatedObjectType: FileHandleAssociateType\n fileHandleId: string\n displayFileName?: boolean\n onClickCallback?: (isExternalLink: boolean) => void // callback if you want to know when the link was clicked\n stopPropagation?: boolean\n iconSvgPropOverrides?: Partial<IconSvgProps>\n}\n\ntype DirectDownloadIconProps = {\n isExternalFile?: boolean\n hasFileAccess: boolean\n onClick?: (isExternalFile: boolean) => void\n getDownloadLink: () => Promise<void>\n stopPropagation: boolean\n externalURL?: string\n displayFileName: boolean\n fileName?: string\n iconSvgPropOverrides?: Partial<IconSvgProps>\n}\n\nconst DirectDownloadIcon = forwardRef<\n HTMLButtonElement,\n DirectDownloadIconProps\n>(function DirectDownloadIcon(props: DirectDownloadIconProps, ref) {\n const {\n isExternalFile,\n onClick,\n getDownloadLink,\n stopPropagation,\n externalURL,\n hasFileAccess,\n displayFileName,\n fileName,\n iconSvgPropOverrides = {},\n } = props\n if (isExternalFile) {\n return (\n <button\n ref={ref}\n className={'btn-download-icon'}\n onClick={event => {\n if (onClick) {\n onClick(isExternalFile)\n if (stopPropagation) event.stopPropagation()\n }\n }}\n >\n <a\n className=\"ignoreLink\"\n rel=\"noopener noreferrer\"\n href={externalURL}\n target=\"_blank\"\n >\n <IconSvg icon=\"download\" {...iconSvgPropOverrides} />\n </a>\n </button>\n )\n }\n if (hasFileAccess) {\n return (\n <button\n ref={ref}\n className={'btn-download-icon'}\n onClick={event => {\n getDownloadLink()\n if (stopPropagation) event.stopPropagation()\n }}\n >\n <IconSvg icon=\"download\" {...iconSvgPropOverrides} />\n {displayFileName && fileName ? fileName : ''}\n </button>\n )\n }\n return <></>\n})\n\nfunction DirectDownload(props: DirectFileDownloadProps) {\n const {\n associatedObjectId,\n associatedObjectType,\n fileHandleId,\n displayFileName = false,\n onClickCallback,\n stopPropagation = false,\n iconSvgPropOverrides,\n } = props\n\n const fileHandleAssociation = {\n fileHandleId: fileHandleId,\n associateObjectId: associatedObjectId,\n associateObjectType: associatedObjectType,\n }\n\n // Get file handle data to ensure we have access / display information\n const { data } = useGetFileBatch({\n requestedFiles: [fileHandleAssociation],\n includeFileHandles: true,\n // don't get the presigned URL with this query, it may expire before the user clicks the download button\n includePreSignedURLs: false,\n includePreviewPreSignedURLs: false,\n })\n\n const fileHandle = data?.requestedFiles[0]?.fileHandle\n const hasFileAccess = Boolean(fileHandle)\n const fileName = fileHandle?.fileName\n const isExternalFile = fileHandle\n ? implementsExternalFileHandleInterface(fileHandle)\n : undefined\n const externalURL: string | undefined = fileHandle\n ? (fileHandle as ExternalFileHandle).externalURL\n : undefined\n\n const { downloadFile } = useDirectDownloadHandler()\n\n const getDownloadLink = async () => {\n await downloadFile({\n fileHandleId,\n associatedObjectId,\n associatedObjectType,\n })\n\n if (onClickCallback) {\n onClickCallback(isExternalFile!)\n }\n }\n\n return (\n <Tooltip\n title=\"Click to begin download of this file\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"left\"\n >\n <span>\n <DirectDownloadIcon\n isExternalFile={isExternalFile}\n hasFileAccess={hasFileAccess}\n onClick={onClickCallback}\n getDownloadLink={getDownloadLink}\n stopPropagation={stopPropagation}\n externalURL={externalURL}\n displayFileName={displayFileName}\n fileName={fileName}\n iconSvgPropOverrides={iconSvgPropOverrides}\n />\n </span>\n </Tooltip>\n )\n}\n\nexport default DirectDownload\n"],"mappings":";;;;;;;;;AAkCA,IAAM,IAAqB,EAGzB,SAA4B,GAAgC,GAAK;CACjE,IAAM,EACJ,mBACA,YACA,oBACA,oBACA,gBACA,kBACA,oBACA,aACA,0BAAuB,
|
|
1
|
+
{"version":3,"file":"DirectDownload.js","names":[],"sources":["../../../src/components/DirectDownload/DirectDownload.tsx"],"sourcesContent":["import { useGetFileBatch } from '@/synapse-queries/file/useFiles'\nimport { implementsExternalFileHandleInterface } from '@/utils/types/IsType'\nimport { Tooltip } from '@mui/material'\nimport {\n ExternalFileHandle,\n FileHandleAssociateType,\n} from '@sage-bionetworks/synapse-types'\nimport { forwardRef } from 'react'\nimport IconSvg, { IconSvgProps } from '../IconSvg/IconSvg'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\nimport { useDirectDownloadHandler } from '@/utils/hooks/useDirectDownloadHandler'\n\nexport type DirectFileDownloadProps = {\n associatedObjectId: string\n associatedObjectType: FileHandleAssociateType\n fileHandleId: string\n displayFileName?: boolean\n onClickCallback?: (isExternalLink: boolean) => void // callback if you want to know when the link was clicked\n stopPropagation?: boolean\n iconSvgPropOverrides?: Partial<IconSvgProps>\n}\n\ntype DirectDownloadIconProps = {\n isExternalFile?: boolean\n hasFileAccess: boolean\n onClick?: (isExternalFile: boolean) => void\n getDownloadLink: () => Promise<void>\n stopPropagation: boolean\n externalURL?: string\n displayFileName: boolean\n fileName?: string\n iconSvgPropOverrides?: Partial<IconSvgProps>\n}\n\nconst DirectDownloadIcon = forwardRef<\n HTMLButtonElement,\n DirectDownloadIconProps\n>(function DirectDownloadIcon(props: DirectDownloadIconProps, ref) {\n const {\n isExternalFile,\n onClick,\n getDownloadLink,\n stopPropagation,\n externalURL,\n hasFileAccess,\n displayFileName,\n fileName,\n iconSvgPropOverrides = {},\n } = props\n if (isExternalFile) {\n return (\n <button\n ref={ref}\n className={'btn-download-icon'}\n onClick={event => {\n if (onClick) {\n onClick(isExternalFile)\n if (stopPropagation) event.stopPropagation()\n }\n }}\n >\n <a\n className=\"ignoreLink\"\n rel=\"noopener noreferrer\"\n href={externalURL}\n target=\"_blank\"\n >\n <IconSvg icon=\"download\" {...iconSvgPropOverrides} />\n </a>\n </button>\n )\n }\n if (hasFileAccess) {\n return (\n <button\n ref={ref}\n className={'btn-download-icon'}\n onClick={event => {\n getDownloadLink()\n if (stopPropagation) event.stopPropagation()\n }}\n >\n <IconSvg icon=\"download\" {...iconSvgPropOverrides} />\n {displayFileName && fileName ? fileName : ''}\n </button>\n )\n }\n return <></>\n})\n\nfunction DirectDownload(props: DirectFileDownloadProps) {\n const {\n associatedObjectId,\n associatedObjectType,\n fileHandleId,\n displayFileName = false,\n onClickCallback,\n stopPropagation = false,\n iconSvgPropOverrides,\n } = props\n\n const fileHandleAssociation = {\n fileHandleId: fileHandleId,\n associateObjectId: associatedObjectId,\n associateObjectType: associatedObjectType,\n }\n\n // Get file handle data to ensure we have access / display information\n const { data } = useGetFileBatch({\n requestedFiles: [fileHandleAssociation],\n includeFileHandles: true,\n // don't get the presigned URL with this query, it may expire before the user clicks the download button\n includePreSignedURLs: false,\n includePreviewPreSignedURLs: false,\n })\n\n const fileHandle = data?.requestedFiles[0]?.fileHandle\n const hasFileAccess = Boolean(fileHandle)\n const fileName = fileHandle?.fileName\n const isExternalFile = fileHandle\n ? implementsExternalFileHandleInterface(fileHandle)\n : undefined\n const externalURL: string | undefined = fileHandle\n ? (fileHandle as ExternalFileHandle).externalURL\n : undefined\n\n const { downloadFile } = useDirectDownloadHandler()\n\n const getDownloadLink = async () => {\n await downloadFile({\n fileHandleId,\n associatedObjectId,\n associatedObjectType,\n })\n\n if (onClickCallback) {\n onClickCallback(isExternalFile!)\n }\n }\n\n return (\n <Tooltip\n title=\"Click to begin download of this file\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"left\"\n >\n <span>\n <DirectDownloadIcon\n isExternalFile={isExternalFile}\n hasFileAccess={hasFileAccess}\n onClick={onClickCallback}\n getDownloadLink={getDownloadLink}\n stopPropagation={stopPropagation}\n externalURL={externalURL}\n displayFileName={displayFileName}\n fileName={fileName}\n iconSvgPropOverrides={iconSvgPropOverrides}\n />\n </span>\n </Tooltip>\n )\n}\n\nexport default DirectDownload\n"],"mappings":";;;;;;;;;AAkCA,IAAM,IAAqB,EAGzB,SAA4B,GAAgC,GAAK;CACjE,IAAM,EACJ,mBACA,YACA,oBACA,oBACA,gBACA,kBACA,oBACA,aACA,0BAAuB,CAAC,MACtB;CAuCJ,OAtCI,IAEA,kBAAC,UAAD;EACO;EACL,WAAW;EACX,UAAS,MAAS;GAChB,AAAI,MACF,EAAQ,CAAc,GAClB,KAAiB,EAAM,gBAAgB;EAE/C;YAEA,kBAAC,KAAD;GACE,WAAU;GACV,KAAI;GACJ,MAAM;GACN,QAAO;aAEP,kBAAC,GAAD;IAAS,MAAK;IAAW,GAAI;GAAuB,CAAA;EACnD,CAAA;CACG,CAAA,IAGR,IAEA,kBAAC,UAAD;EACO;EACL,WAAW;EACX,UAAS,MAAS;GAEhB,AADA,EAAgB,GACZ,KAAiB,EAAM,gBAAgB;EAC7C;YANF,CAQE,kBAAC,GAAD;GAAS,MAAK;GAAW,GAAI;EAAuB,CAAA,GACnD,KAAmB,IAAW,IAAW,EACpC;MAGL,kBAAA,GAAA,CAAI,CAAA;AACb,CAAC;AAED,SAAS,EAAe,GAAgC;CACtD,IAAM,EACJ,uBACA,yBACA,iBACA,qBAAkB,IAClB,oBACA,qBAAkB,IAClB,4BACE,GASE,EAAE,YAAS,EAAgB;EAC/B,gBAAgB,CAAC;GAPH;GACd,mBAAmB;GACnB,qBAAqB;EAKJ,CAAqB;EACtC,oBAAoB;EAEpB,sBAAsB;EACtB,6BAA6B;CAC/B,CAAC,GAEK,IAAa,GAAM,eAAe,IAAI,YACtC,IAAgB,EAAQ,GACxB,IAAW,GAAY,UACvB,IAAiB,IACnB,EAAsC,CAAU,IAChD,KAAA,GACE,IAAkC,IACnC,EAAkC,cACnC,KAAA,GAEE,EAAE,oBAAiB,EAAyB;CAclD,OACE,kBAAC,GAAD;EACE,OAAM;EACN,gBAAA;EACA,WAAU;YAEV,kBAAC,QAAD,EAAA,UACE,kBAAC,GAAD;GACkB;GACD;GACf,SAAS;GACQ,6BAvBW;IAOlC,AANA,MAAM,EAAa;KACjB;KACA;KACA;IACF,CAAC,GAEG,KACF,EAAgB,CAAe;GAEnC;GAcyB;GACJ;GACI;GACP;GACY;EACvB,CAAA,EACG,CAAA;CACC,CAAA;AAEb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileEntityDirectDownload.js","names":[],"sources":["../../../src/components/DirectDownload/FileEntityDirectDownload.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { isFileEntity } from '@/utils/types/IsType'\nimport { Skeleton } from '@mui/material'\nimport { FileHandleAssociateType } from '@sage-bionetworks/synapse-types'\nimport DirectDownload, { DirectFileDownloadProps } from './DirectDownload'\n\nexport type FileEntityDirectDownloadProps = Omit<\n DirectFileDownloadProps,\n 'associatedObjectId' | 'associatedObjectType' | 'fileHandleId'\n> & {\n entityId: string\n entityVersionNumber?: string | number\n}\n\nexport default function FileEntityDirectDownload(\n props: FileEntityDirectDownloadProps,\n) {\n const { entityId, entityVersionNumber } = props\n\n const { data: entity, isLoading } = useGetEntity(\n entityId,\n entityVersionNumber,\n )\n\n if (isLoading) {\n return <Skeleton />\n }\n\n if (!entity || (entity && !isFileEntity(entity))) {\n return <></>\n }\n\n return (\n <DirectDownload\n fileHandleId={entity?.dataFileHandleId}\n associatedObjectId={entityId}\n associatedObjectType={FileHandleAssociateType.FileEntity}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;;;;AAcA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,aAAU,2BAAwB,GAEpC,EAAE,MAAM,GAAQ,iBAAc,EAClC,GACA,
|
|
1
|
+
{"version":3,"file":"FileEntityDirectDownload.js","names":[],"sources":["../../../src/components/DirectDownload/FileEntityDirectDownload.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { isFileEntity } from '@/utils/types/IsType'\nimport { Skeleton } from '@mui/material'\nimport { FileHandleAssociateType } from '@sage-bionetworks/synapse-types'\nimport DirectDownload, { DirectFileDownloadProps } from './DirectDownload'\n\nexport type FileEntityDirectDownloadProps = Omit<\n DirectFileDownloadProps,\n 'associatedObjectId' | 'associatedObjectType' | 'fileHandleId'\n> & {\n entityId: string\n entityVersionNumber?: string | number\n}\n\nexport default function FileEntityDirectDownload(\n props: FileEntityDirectDownloadProps,\n) {\n const { entityId, entityVersionNumber } = props\n\n const { data: entity, isLoading } = useGetEntity(\n entityId,\n entityVersionNumber,\n )\n\n if (isLoading) {\n return <Skeleton />\n }\n\n if (!entity || (entity && !isFileEntity(entity))) {\n return <></>\n }\n\n return (\n <DirectDownload\n fileHandleId={entity?.dataFileHandleId}\n associatedObjectId={entityId}\n associatedObjectType={FileHandleAssociateType.FileEntity}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;;;;AAcA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,aAAU,2BAAwB,GAEpC,EAAE,MAAM,GAAQ,iBAAc,EAClC,GACA,CACF;CAUA,OARI,IACK,kBAAC,GAAD,CAAW,CAAA,IAGhB,CAAC,KAAW,KAAU,CAAC,EAAa,CAAM,IACrC,kBAAA,GAAA,CAAI,CAAA,IAIX,kBAAC,GAAD;EACE,cAAc,GAAQ;EACtB,oBAAoB;EACpB,sBAAsB,EAAwB;EAC9C,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectDownloadButton.js","names":[],"sources":["../../src/components/DirectDownloadButton.tsx"],"sourcesContent":["import { getFiles } from '@/synapse-client/SynapseClient'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Button, ButtonProps } from '@mui/material'\nimport {\n BatchFileRequest,\n FileHandleAssociation,\n} from '@sage-bionetworks/synapse-types'\n\nexport type DirectFileDownloadButtonProps = Omit<ButtonProps, 'onClick'> & {\n fileHandleAssociation: FileHandleAssociation\n fileName: string | undefined\n}\n\nfunction DirectDownloadButton(props: DirectFileDownloadButtonProps) {\n const { fileHandleAssociation, fileName, ...buttonProps } = props\n const { accessToken, isAuthenticated } = useSynapseContext()\n\n const getDownloadLink = async () => {\n if (!fileHandleAssociation.fileHandleId || !isAuthenticated) return\n\n const batchFileRequest: BatchFileRequest = {\n requestedFiles: [fileHandleAssociation],\n includePreSignedURLs: true,\n includeFileHandles: false,\n includePreviewPreSignedURLs: false,\n }\n const file = await getFiles(batchFileRequest, accessToken)\n const preSignedURL = file.requestedFiles[0].preSignedURL\n if (!preSignedURL) {\n console.log('Fail to get file download link')\n } else {\n window.open(preSignedURL)\n }\n }\n\n return (\n <Button\n {...buttonProps}\n onClick={() => {\n getDownloadLink()\n }}\n >\n {fileName}\n </Button>\n )\n}\n\nexport default DirectDownloadButton\n"],"mappings":";;;;;AAaA,SAAS,EAAqB,GAAsC;CAClE,IAAM,EAAE,0BAAuB,aAAU,GAAG,MAAgB,GACtD,EAAE,gBAAa,uBAAoB,
|
|
1
|
+
{"version":3,"file":"DirectDownloadButton.js","names":[],"sources":["../../src/components/DirectDownloadButton.tsx"],"sourcesContent":["import { getFiles } from '@/synapse-client/SynapseClient'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { Button, ButtonProps } from '@mui/material'\nimport {\n BatchFileRequest,\n FileHandleAssociation,\n} from '@sage-bionetworks/synapse-types'\n\nexport type DirectFileDownloadButtonProps = Omit<ButtonProps, 'onClick'> & {\n fileHandleAssociation: FileHandleAssociation\n fileName: string | undefined\n}\n\nfunction DirectDownloadButton(props: DirectFileDownloadButtonProps) {\n const { fileHandleAssociation, fileName, ...buttonProps } = props\n const { accessToken, isAuthenticated } = useSynapseContext()\n\n const getDownloadLink = async () => {\n if (!fileHandleAssociation.fileHandleId || !isAuthenticated) return\n\n const batchFileRequest: BatchFileRequest = {\n requestedFiles: [fileHandleAssociation],\n includePreSignedURLs: true,\n includeFileHandles: false,\n includePreviewPreSignedURLs: false,\n }\n const file = await getFiles(batchFileRequest, accessToken)\n const preSignedURL = file.requestedFiles[0].preSignedURL\n if (!preSignedURL) {\n console.log('Fail to get file download link')\n } else {\n window.open(preSignedURL)\n }\n }\n\n return (\n <Button\n {...buttonProps}\n onClick={() => {\n getDownloadLink()\n }}\n >\n {fileName}\n </Button>\n )\n}\n\nexport default DirectDownloadButton\n"],"mappings":";;;;;AAaA,SAAS,EAAqB,GAAsC;CAClE,IAAM,EAAE,0BAAuB,aAAU,GAAG,MAAgB,GACtD,EAAE,gBAAa,uBAAoB,EAAkB,GAErD,IAAkB,YAAY;EAClC,IAAI,CAAC,EAAsB,gBAAgB,CAAC,GAAiB;EAS7D,IAAM,KAAe,MADF,EAAS;GAL1B,gBAAgB,CAAC,CAAqB;GACtC,sBAAsB;GACtB,oBAAoB;GACpB,6BAA6B;EAEH,GAAkB,CAAW,GAC/B,eAAe,GAAG;EAC5C,AAAK,IAGH,OAAO,KAAK,CAAY,IAFxB,QAAQ,IAAI,gCAAgC;CAIhD;CAEA,OACE,kBAAC,GAAD;EACE,GAAI;EACJ,eAAe;GACb,EAAgB;EAClB;YAEC;CACK,CAAA;AAEZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionRequiredCard.js","names":[],"sources":["../../../../src/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.tsx"],"sourcesContent":["import {\n Box,\n Paper,\n PaperProps,\n Skeleton,\n styled,\n Typography,\n} from '@mui/material'\nimport { ReactNode } from 'react'\nimport Icon from '../../Icon'\nimport { StyledComponent } from '@emotion/styled'\n\nexport type ActionRequiredCardProps =\n | {\n title: ReactNode\n description: ReactNode\n actionNode: ReactNode\n iconType: string\n count?: number\n isLoading?: false\n }\n | { isLoading: true }\n\nconst ActionRequiredCardContainer: StyledComponent<PaperProps> = styled(Paper, {\n label: 'ActionRequiredCardContainer',\n})(({ theme }) => ({\n padding: `${theme.spacing(2.5)} ${theme.spacing(4)}`,\n display: 'grid',\n alignItems: 'center',\n gridTemplateColumns: '160px auto 200px',\n gap: theme.spacing(4),\n [theme.breakpoints.down('sm')]: {\n gridTemplateColumns: '1fr', // Single column layout for mobile\n },\n}))\n\n/**\n * The ActionRequiredCard component renders a generic card that represents some action that a user must take to gain\n * download access to a file.\n * @param props\n * @returns\n */\nexport function ActionRequiredCard(props: ActionRequiredCardProps) {\n if (props.isLoading) {\n return <LoadingActionRequiredCard />\n }\n const { title, description, iconType, count, actionNode } = props\n return (\n <ActionRequiredCardContainer>\n <Box sx={{ textAlign: 'center', minWidth: '100px' }}>\n <Icon type={iconType} />\n </Box>\n <Box sx={{ flexGrow: 1 }}>\n <Typography variant=\"headline3\" sx={{ mb: 1 }}>\n {title}\n </Typography>\n {count && (\n <Typography variant={'smallText1'} sx={{ my: 1, color: 'grey.700' }}>\n {count} File{count != 1 ? 's' : ''}\n </Typography>\n )}\n <Typography variant={'smallText1'}>{description}</Typography>\n </Box>\n <Box sx={{ textAlign: 'center', marginLeft: 'auto' }}>{actionNode}</Box>\n </ActionRequiredCardContainer>\n )\n}\n\nexport function LoadingActionRequiredCard() {\n return (\n <ActionRequiredCardContainer>\n <Skeleton variant=\"rectangular\" width={136} height={74} />\n <div>\n <Skeleton width={250} />\n <Skeleton width={100} />\n </div>\n <Skeleton variant=\"rectangular\" width={160} height={33} />\n </ActionRequiredCardContainer>\n )\n}\n"],"mappings":";;;;AAuBA,IAAM,IAA2D,EAAO,GAAO,EAC7E,OAAO
|
|
1
|
+
{"version":3,"file":"ActionRequiredCard.js","names":[],"sources":["../../../../src/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.tsx"],"sourcesContent":["import {\n Box,\n Paper,\n PaperProps,\n Skeleton,\n styled,\n Typography,\n} from '@mui/material'\nimport { ReactNode } from 'react'\nimport Icon from '../../Icon'\nimport { StyledComponent } from '@emotion/styled'\n\nexport type ActionRequiredCardProps =\n | {\n title: ReactNode\n description: ReactNode\n actionNode: ReactNode\n iconType: string\n count?: number\n isLoading?: false\n }\n | { isLoading: true }\n\nconst ActionRequiredCardContainer: StyledComponent<PaperProps> = styled(Paper, {\n label: 'ActionRequiredCardContainer',\n})(({ theme }) => ({\n padding: `${theme.spacing(2.5)} ${theme.spacing(4)}`,\n display: 'grid',\n alignItems: 'center',\n gridTemplateColumns: '160px auto 200px',\n gap: theme.spacing(4),\n [theme.breakpoints.down('sm')]: {\n gridTemplateColumns: '1fr', // Single column layout for mobile\n },\n}))\n\n/**\n * The ActionRequiredCard component renders a generic card that represents some action that a user must take to gain\n * download access to a file.\n * @param props\n * @returns\n */\nexport function ActionRequiredCard(props: ActionRequiredCardProps) {\n if (props.isLoading) {\n return <LoadingActionRequiredCard />\n }\n const { title, description, iconType, count, actionNode } = props\n return (\n <ActionRequiredCardContainer>\n <Box sx={{ textAlign: 'center', minWidth: '100px' }}>\n <Icon type={iconType} />\n </Box>\n <Box sx={{ flexGrow: 1 }}>\n <Typography variant=\"headline3\" sx={{ mb: 1 }}>\n {title}\n </Typography>\n {count && (\n <Typography variant={'smallText1'} sx={{ my: 1, color: 'grey.700' }}>\n {count} File{count != 1 ? 's' : ''}\n </Typography>\n )}\n <Typography variant={'smallText1'}>{description}</Typography>\n </Box>\n <Box sx={{ textAlign: 'center', marginLeft: 'auto' }}>{actionNode}</Box>\n </ActionRequiredCardContainer>\n )\n}\n\nexport function LoadingActionRequiredCard() {\n return (\n <ActionRequiredCardContainer>\n <Skeleton variant=\"rectangular\" width={136} height={74} />\n <div>\n <Skeleton width={250} />\n <Skeleton width={100} />\n </div>\n <Skeleton variant=\"rectangular\" width={160} height={33} />\n </ActionRequiredCardContainer>\n )\n}\n"],"mappings":";;;;AAuBA,IAAM,IAA2D,EAAO,GAAO,EAC7E,OAAO,8BACT,CAAC,GAAG,EAAE,gBAAa;CACjB,SAAS,GAAG,EAAM,QAAQ,GAAG,EAAE,GAAG,EAAM,QAAQ,CAAC;CACjD,SAAS;CACT,YAAY;CACZ,qBAAqB;CACrB,KAAK,EAAM,QAAQ,CAAC;EACnB,EAAM,YAAY,KAAK,IAAI,IAAI,EAC9B,qBAAqB,MACvB;AACF,EAAE;AAQF,SAAgB,EAAmB,GAAgC;CACjE,IAAI,EAAM,WACR,OAAO,kBAAC,GAAD,CAA4B,CAAA;CAErC,IAAM,EAAE,UAAO,gBAAa,aAAU,UAAO,kBAAe;CAC5D,OACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GAAK,IAAI;IAAE,WAAW;IAAU,UAAU;GAAQ;aAChD,kBAAC,GAAD,EAAM,MAAM,EAAW,CAAA;EACpB,CAAA;EACL,kBAAC,GAAD;GAAK,IAAI,EAAE,UAAU,EAAE;aAAvB;IACE,kBAAC,GAAD;KAAY,SAAQ;KAAY,IAAI,EAAE,IAAI,EAAE;eACzC;IACS,CAAA;IACX,KACC,kBAAC,GAAD;KAAY,SAAS;KAAc,IAAI;MAAE,IAAI;MAAG,OAAO;KAAW;eAAlE;MACG;MAAM;MAAM,KAAS,IAAU,KAAN;KAChB;;IAEd,kBAAC,GAAD;KAAY,SAAS;eAAe;IAAwB,CAAA;GACzD;;EACL,kBAAC,GAAD;GAAK,IAAI;IAAE,WAAW;IAAU,YAAY;GAAO;aAAI;EAAgB,CAAA;CAC5C,EAAA,CAAA;AAEjC;AAEA,SAAgB,IAA4B;CAC1C,OACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GAAU,SAAQ;GAAc,OAAO;GAAK,QAAQ;EAAK,CAAA;EACzD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAU,OAAO,IAAM,CAAA,GACvB,kBAAC,GAAD,EAAU,OAAO,IAAM,CAAA,CACpB,EAAA,CAAA;EACL,kBAAC,GAAD;GAAU,SAAQ;GAAc,OAAO;GAAK,QAAQ;EAAK,CAAA;CAC9B,EAAA,CAAA;AAEjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionRequiredListItem.js","names":[],"sources":["../../../src/components/DownloadCart/ActionRequiredListItem.tsx"],"sourcesContent":["import { Action } from '@sage-bionetworks/synapse-types'\nimport { MeetAccessRequirementCard } from './MeetAccessRequirementCard'\nimport { RequestDownloadCard } from './RequestDownloadCard'\nimport { EnableTwoFaRequirementCard } from './EnableTwoFaRequirementCard'\n\nexport type ActionRequiredListItemProps = {\n action: Action\n count?: number\n /** Invoked when a user clicks \"View Sharing Settings\" for a set of files that require the Download permission*/\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n}\n\nexport function ActionRequiredListItem(props: ActionRequiredListItemProps) {\n const { action, count, onViewSharingSettingsClicked } = props\n switch (action.concreteType) {\n case 'org.sagebionetworks.repo.model.download.MeetAccessRequirement': {\n return (\n <MeetAccessRequirementCard\n key={action.accessRequirementId}\n accessRequirementId={action.accessRequirementId}\n count={count}\n />\n )\n }\n case 'org.sagebionetworks.repo.model.download.RequestDownload': {\n return (\n <RequestDownloadCard\n key={action.benefactorId}\n entityId={`syn${action.benefactorId}`}\n count={count}\n onViewSharingSettingsClicked={onViewSharingSettingsClicked}\n />\n )\n }\n case 'org.sagebionetworks.repo.model.download.EnableTwoFa': {\n return (\n <EnableTwoFaRequirementCard\n key={action.accessRequirementId}\n accessRequirementId={action.accessRequirementId}\n count={count}\n />\n )\n }\n\n // case not supported yet\n default:\n return <></>\n }\n}\n"],"mappings":";;;;;AAYA,SAAgB,EAAuB,GAAoC;CACzE,IAAM,EAAE,WAAQ,UAAO,oCAAiC;
|
|
1
|
+
{"version":3,"file":"ActionRequiredListItem.js","names":[],"sources":["../../../src/components/DownloadCart/ActionRequiredListItem.tsx"],"sourcesContent":["import { Action } from '@sage-bionetworks/synapse-types'\nimport { MeetAccessRequirementCard } from './MeetAccessRequirementCard'\nimport { RequestDownloadCard } from './RequestDownloadCard'\nimport { EnableTwoFaRequirementCard } from './EnableTwoFaRequirementCard'\n\nexport type ActionRequiredListItemProps = {\n action: Action\n count?: number\n /** Invoked when a user clicks \"View Sharing Settings\" for a set of files that require the Download permission*/\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n}\n\nexport function ActionRequiredListItem(props: ActionRequiredListItemProps) {\n const { action, count, onViewSharingSettingsClicked } = props\n switch (action.concreteType) {\n case 'org.sagebionetworks.repo.model.download.MeetAccessRequirement': {\n return (\n <MeetAccessRequirementCard\n key={action.accessRequirementId}\n accessRequirementId={action.accessRequirementId}\n count={count}\n />\n )\n }\n case 'org.sagebionetworks.repo.model.download.RequestDownload': {\n return (\n <RequestDownloadCard\n key={action.benefactorId}\n entityId={`syn${action.benefactorId}`}\n count={count}\n onViewSharingSettingsClicked={onViewSharingSettingsClicked}\n />\n )\n }\n case 'org.sagebionetworks.repo.model.download.EnableTwoFa': {\n return (\n <EnableTwoFaRequirementCard\n key={action.accessRequirementId}\n accessRequirementId={action.accessRequirementId}\n count={count}\n />\n )\n }\n\n // case not supported yet\n default:\n return <></>\n }\n}\n"],"mappings":";;;;;AAYA,SAAgB,EAAuB,GAAoC;CACzE,IAAM,EAAE,WAAQ,UAAO,oCAAiC;CACxD,QAAQ,EAAO,cAAf;EACE,KAAK,iEACH,OACE,kBAAC,GAAD;GAEE,qBAAqB,EAAO;GACrB;EACR,GAHM,EAAO,mBAGb;EAGL,KAAK,2DACH,OACE,kBAAC,GAAD;GAEE,UAAU,MAAM,EAAO;GAChB;GACuB;EAC/B,GAJM,EAAO,YAIb;EAGL,KAAK,uDACH,OACE,kBAAC,GAAD;GAEE,qBAAqB,EAAO;GACrB;EACR,GAHM,EAAO,mBAGb;EAKL,SACE,OAAO,kBAAA,GAAA,CAAI,CAAA;CACf;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvailableForDownloadTable.js","names":[],"sources":["../../../src/components/DownloadCart/AvailableForDownloadTable.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils'\nimport { AvailableFilter } from '@sage-bionetworks/synapse-types'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport DownloadListTable from './DownloadListTable'\n\nexport type AvailableForDownloadTableProps = {\n filter?: AvailableFilter\n}\n\n/**\n * Table of the files added to the Download List that are currently available for download.\n */\nexport default function AvailableForDownloadTable({\n filter,\n}: AvailableForDownloadTableProps) {\n const { isAuthenticated } = useSynapseContext()\n if (!isAuthenticated) {\n return <></>\n }\n return (\n <SynapseErrorBoundary>\n <DownloadListTable filter={filter} />\n </SynapseErrorBoundary>\n )\n}\n"],"mappings":";;;;;;AAYA,SAAwB,EAA0B,EAChD,aACiC;CACjC,IAAM,EAAE,uBAAoB,
|
|
1
|
+
{"version":3,"file":"AvailableForDownloadTable.js","names":[],"sources":["../../../src/components/DownloadCart/AvailableForDownloadTable.tsx"],"sourcesContent":["import { useSynapseContext } from '@/utils'\nimport { AvailableFilter } from '@sage-bionetworks/synapse-types'\nimport { SynapseErrorBoundary } from '../error/ErrorBanner'\nimport DownloadListTable from './DownloadListTable'\n\nexport type AvailableForDownloadTableProps = {\n filter?: AvailableFilter\n}\n\n/**\n * Table of the files added to the Download List that are currently available for download.\n */\nexport default function AvailableForDownloadTable({\n filter,\n}: AvailableForDownloadTableProps) {\n const { isAuthenticated } = useSynapseContext()\n if (!isAuthenticated) {\n return <></>\n }\n return (\n <SynapseErrorBoundary>\n <DownloadListTable filter={filter} />\n </SynapseErrorBoundary>\n )\n}\n"],"mappings":";;;;;;AAYA,SAAwB,EAA0B,EAChD,aACiC;CACjC,IAAM,EAAE,uBAAoB,EAAkB;CAI9C,OAHK,IAIH,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAA2B,UAAS,CAAA,EAChB,CAAA,IALf,kBAAA,GAAA,CAAI,CAAA;AAOf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePackageV2.js","names":[],"sources":["../../../src/components/DownloadCart/CreatePackageV2.tsx"],"sourcesContent":["import styles from './CreatePackageV2.module.scss'\nimport {\n createPackageFromDownloadListV2,\n getFileHandleByIdURL,\n} from '@/synapse-client/SynapseClient'\nimport React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { Box, Button, Card, InputAdornment, TextField } from '@mui/material'\nimport { DownloadListPackageResponse } from '@sage-bionetworks/synapse-types'\nimport { ChangeEvent, SyntheticEvent, useState } from 'react'\nimport FullWidthAlert, {\n FullWidthAlertVariant,\n} from '../FullWidthAlert/FullWidthAlert'\n\nexport type CreatePackageV2Props = {\n onPackageCreation: () => void\n}\n\ntype AlertConfig = {\n message: string\n variant?: FullWidthAlertVariant\n}\n\nexport const TEMPLATE_ERROR_FILE_NAME =\n 'Please provide a package file name and try again.'\n\nexport const CreatePackageV2 = (\n props: CreatePackageV2Props,\n): React.ReactNode => {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n const [isLoading, setIsLoading] = useState(false)\n const [fileName, setZipFileName] = useState('')\n const [alert, setAlert] = useState<AlertConfig>()\n const [bulkFileDownloadResponse, setBulkFileDownloadResponse] = useState<\n DownloadListPackageResponse | undefined\n >(undefined)\n const { onPackageCreation } = props\n const createPackageHandler = async (event: SyntheticEvent) => {\n event.preventDefault()\n if (!fileName) {\n setAlert({\n message: TEMPLATE_ERROR_FILE_NAME,\n variant: 'danger',\n })\n return\n }\n setIsLoading(true)\n try {\n const fileNameWithZipExtension = `${fileName}.zip`\n const currentBulkFileDownloadResponse =\n await createPackageFromDownloadListV2(\n fileNameWithZipExtension,\n accessToken,\n )\n\n setBulkFileDownloadResponse(currentBulkFileDownloadResponse)\n const { resultFileHandleId } = currentBulkFileDownloadResponse\n try {\n //reset\n window.location.href = await getFileHandleByIdURL(\n resultFileHandleId,\n accessToken,\n )\n setZipFileName('')\n setBulkFileDownloadResponse(undefined)\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n onPackageCreation()\n } catch (err) {\n console.error('Err on getFileHandleByIdURL = ', err)\n }\n } catch (err) {\n setAlert({\n message: err.reason as string,\n variant: 'danger',\n })\n } finally {\n setIsLoading(false)\n }\n }\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n setZipFileName(event.target.value)\n }\n\n return (\n <>\n <Card className={styles.CreatePackageV2}>\n <div className={styles.createPackageStep}>\n <span className={styles.createPackageTitle}>\n Create your Download Package\n </span>\n <span className={styles.createPackageDescription}>\n Name your download package and select Download Package to get\n started.\n </span>\n {!isLoading && !bulkFileDownloadResponse && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'stretch',\n }}\n >\n <TextField\n onChange={onChange}\n type=\"text\"\n placeholder=\"PackageName\"\n sx={{ width: '233px' }}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">.zip</InputAdornment>\n ),\n },\n }}\n />\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={e => {\n createPackageHandler(e)\n }}\n sx={{ marginLeft: '20px' }}\n disabled={!fileName}\n >\n Download Package\n </Button>\n </Box>\n )}\n {isLoading && (\n <div className=\"creatingPackage\">\n <span className=\"spinner\" />\n <span style={{ marginLeft: 5 }}>Creating package...</span>\n </div>\n )}\n </div>\n </Card>\n <FullWidthAlert\n show={!!alert}\n variant={alert?.variant ? alert.variant : 'success'}\n description={alert?.message}\n autoCloseAfterDelayInSeconds={10}\n onClose={() => {\n setAlert(undefined)\n }}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;AAwBA,IAAa,IACX,qDAEW,KACX,MACoB;CACpB,IAAM,EAAE,gBAAa,kBAAe,
|
|
1
|
+
{"version":3,"file":"CreatePackageV2.js","names":[],"sources":["../../../src/components/DownloadCart/CreatePackageV2.tsx"],"sourcesContent":["import styles from './CreatePackageV2.module.scss'\nimport {\n createPackageFromDownloadListV2,\n getFileHandleByIdURL,\n} from '@/synapse-client/SynapseClient'\nimport React from 'react'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { Box, Button, Card, InputAdornment, TextField } from '@mui/material'\nimport { DownloadListPackageResponse } from '@sage-bionetworks/synapse-types'\nimport { ChangeEvent, SyntheticEvent, useState } from 'react'\nimport FullWidthAlert, {\n FullWidthAlertVariant,\n} from '../FullWidthAlert/FullWidthAlert'\n\nexport type CreatePackageV2Props = {\n onPackageCreation: () => void\n}\n\ntype AlertConfig = {\n message: string\n variant?: FullWidthAlertVariant\n}\n\nexport const TEMPLATE_ERROR_FILE_NAME =\n 'Please provide a package file name and try again.'\n\nexport const CreatePackageV2 = (\n props: CreatePackageV2Props,\n): React.ReactNode => {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n const [isLoading, setIsLoading] = useState(false)\n const [fileName, setZipFileName] = useState('')\n const [alert, setAlert] = useState<AlertConfig>()\n const [bulkFileDownloadResponse, setBulkFileDownloadResponse] = useState<\n DownloadListPackageResponse | undefined\n >(undefined)\n const { onPackageCreation } = props\n const createPackageHandler = async (event: SyntheticEvent) => {\n event.preventDefault()\n if (!fileName) {\n setAlert({\n message: TEMPLATE_ERROR_FILE_NAME,\n variant: 'danger',\n })\n return\n }\n setIsLoading(true)\n try {\n const fileNameWithZipExtension = `${fileName}.zip`\n const currentBulkFileDownloadResponse =\n await createPackageFromDownloadListV2(\n fileNameWithZipExtension,\n accessToken,\n )\n\n setBulkFileDownloadResponse(currentBulkFileDownloadResponse)\n const { resultFileHandleId } = currentBulkFileDownloadResponse\n try {\n //reset\n window.location.href = await getFileHandleByIdURL(\n resultFileHandleId,\n accessToken,\n )\n setZipFileName('')\n setBulkFileDownloadResponse(undefined)\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n onPackageCreation()\n } catch (err) {\n console.error('Err on getFileHandleByIdURL = ', err)\n }\n } catch (err) {\n setAlert({\n message: err.reason as string,\n variant: 'danger',\n })\n } finally {\n setIsLoading(false)\n }\n }\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n setZipFileName(event.target.value)\n }\n\n return (\n <>\n <Card className={styles.CreatePackageV2}>\n <div className={styles.createPackageStep}>\n <span className={styles.createPackageTitle}>\n Create your Download Package\n </span>\n <span className={styles.createPackageDescription}>\n Name your download package and select Download Package to get\n started.\n </span>\n {!isLoading && !bulkFileDownloadResponse && (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'stretch',\n }}\n >\n <TextField\n onChange={onChange}\n type=\"text\"\n placeholder=\"PackageName\"\n sx={{ width: '233px' }}\n slotProps={{\n input: {\n endAdornment: (\n <InputAdornment position=\"end\">.zip</InputAdornment>\n ),\n },\n }}\n />\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={e => {\n createPackageHandler(e)\n }}\n sx={{ marginLeft: '20px' }}\n disabled={!fileName}\n >\n Download Package\n </Button>\n </Box>\n )}\n {isLoading && (\n <div className=\"creatingPackage\">\n <span className=\"spinner\" />\n <span style={{ marginLeft: 5 }}>Creating package...</span>\n </div>\n )}\n </div>\n </Card>\n <FullWidthAlert\n show={!!alert}\n variant={alert?.variant ? alert.variant : 'success'}\n description={alert?.message}\n autoCloseAfterDelayInSeconds={10}\n onClose={() => {\n setAlert(undefined)\n }}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;AAwBA,IAAa,IACX,qDAEW,KACX,MACoB;CACpB,IAAM,EAAE,gBAAa,kBAAe,EAAkB,GAChD,IAAc,EAAe,GAC7B,CAAC,GAAW,KAAgB,EAAS,EAAK,GAC1C,CAAC,GAAU,KAAkB,EAAS,EAAE,GACxC,CAAC,GAAO,KAAY,EAAsB,GAC1C,CAAC,GAA0B,KAA+B,EAE9D,KAAA,CAAS,GACL,EAAE,yBAAsB,GACxB,IAAuB,OAAO,MAA0B;EAE5D,IADA,EAAM,eAAe,GACjB,CAAC,GAAU;GACb,EAAS;IACP,SAAS;IACT,SAAS;GACX,CAAC;GACD;EACF;EACA,EAAa,EAAI;EACjB,IAAI;GAEF,IAAM,IACJ,MAAM,EACJ,GAHgC,EAAS,OAIzC,CACF;GAEF,EAA4B,CAA+B;GAC3D,IAAM,EAAE,0BAAuB;GAC/B,IAAI;IAWF,AATA,OAAO,SAAS,OAAO,MAAM,EAC3B,GACA,CACF,GACA,EAAe,EAAE,GACjB,EAA4B,KAAA,CAAS,GACrC,EAAY,kBAAkB,EAC5B,UAAU,EAAW,4BAA4B,EACnD,CAAC,GACD,EAAkB;GACpB,SAAS,GAAK;IACZ,QAAQ,MAAM,kCAAkC,CAAG;GACrD;EACF,SAAS,GAAK;GACZ,EAAS;IACP,SAAS,EAAI;IACb,SAAS;GACX,CAAC;EACH,UAAU;GACR,EAAa,EAAK;EACpB;CACF;CAMA,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAM,WAAW,EAAO;YACtB,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACE,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAoB;IAEtC,CAAA;IACN,kBAAC,QAAD;KAAM,WAAW,EAAO;eAA0B;IAG5C,CAAA;IACL,CAAC,KAAa,CAAC,KACd,kBAAC,GAAD;KACE,IAAI;MACF,SAAS;MACT,YAAY;KACd;eAJF,CAME,kBAAC,GAAD;MACY,WAvBN,MAAyC;OACzD,EAAe,EAAM,OAAO,KAAK;MACnC;MAsBc,MAAK;MACL,aAAY;MACZ,IAAI,EAAE,OAAO,QAAQ;MACrB,WAAW,EACT,OAAO,EACL,cACE,kBAAC,GAAD;OAAgB,UAAS;iBAAM;MAAoB,CAAA,EAEvD,EACF;KACD,CAAA,GACD,kBAAC,GAAD;MACE,SAAQ;MACR,OAAM;MACN,UAAS,MAAK;OACZ,EAAqB,CAAC;MACxB;MACA,IAAI,EAAE,YAAY,OAAO;MACzB,UAAU,CAAC;gBACZ;KAEO,CAAA,CACL;;IAEN,KACC,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,QAAD,EAAM,WAAU,UAAW,CAAA,GAC3B,kBAAC,QAAD;MAAM,OAAO,EAAE,YAAY,EAAE;gBAAG;KAAyB,CAAA,CACtD;;GAEJ;;CACD,CAAA,GACN,kBAAC,GAAD;EACE,MAAM,CAAC,CAAC;EACR,SAAS,GAAO,UAAU,EAAM,UAAU;EAC1C,aAAa,GAAO;EACpB,8BAA8B;EAC9B,eAAe;GACb,EAAS,KAAA,CAAS;EACpB;CACD,CAAA,CACD,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectProgrammaticDownload.js","names":[],"sources":["../../../src/components/DownloadCart/DirectProgrammaticDownload.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Tooltip } from '@mui/material'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\n\ntype DirectProgrammaticDownloadProps = {\n entityId: string\n version?: number\n}\nexport const PYTHON_CLIENT_IMPORT_AND_LOGIN = `import synapseclient\nsyn = synapseclient.Synapse()\nsyn.login(authToken=\"YOUR_TOKEN_HERE\")\n`\n\nexport const R_CLIENT_IMPORT_AND_LOGIN = `library(synapser)\nsynLogin(authToken=\"YOUR_TOKEN_HERE\")\n`\n\nfunction DirectProgrammaticDownload({\n entityId,\n version,\n}: DirectProgrammaticDownloadProps) {\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n\n const rCode = `${R_CLIENT_IMPORT_AND_LOGIN}\n# Obtain a pointer and download the data\n${entityId} <- synGet(entity='${entityId}'${\n version ? `, version=${version}` : ''\n } ) `\n\n const pythonCode = `${PYTHON_CLIENT_IMPORT_AND_LOGIN}\n# Obtain a pointer and download the data\n${entityId} = syn.get(entity='${entityId}'${\n version ? `, version=${version}` : ''\n } )\n\n# Get the path to the local copy of the data file\nfilepath = ${entityId}.path`\n\n const cliCode = `synapse get ${entityId} ${\n version ? `--version ${version}` : ''\n }`\n\n return (\n <>\n <Tooltip\n title=\"Programmatic download options\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"left\"\n >\n <span>\n <button\n className={'btn-download-icon'}\n onClick={() => setIsShowingModal(true)}\n >\n <IconSvg icon=\"code\" />\n </button>\n </span>\n </Tooltip>\n {isShowingModal && (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={() => setIsShowingModal(false)}\n title=\"Download Programmatically\"\n cliCode={cliCode}\n rCode={rCode}\n pythonCode={pythonCode}\n />\n )}\n </>\n )\n}\n\nexport default DirectProgrammaticDownload\n"],"mappings":";;;;;;;AAUA,IAAa,IAAiC,mGAKjC,IAA4B;AAIzC,SAAS,EAA2B,EAClC,aACA,cACkC;CAClC,IAAM,CAAC,GAAgB,KAAqB,EAAkB,
|
|
1
|
+
{"version":3,"file":"DirectProgrammaticDownload.js","names":[],"sources":["../../../src/components/DownloadCart/DirectProgrammaticDownload.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Tooltip } from '@mui/material'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\n\ntype DirectProgrammaticDownloadProps = {\n entityId: string\n version?: number\n}\nexport const PYTHON_CLIENT_IMPORT_AND_LOGIN = `import synapseclient\nsyn = synapseclient.Synapse()\nsyn.login(authToken=\"YOUR_TOKEN_HERE\")\n`\n\nexport const R_CLIENT_IMPORT_AND_LOGIN = `library(synapser)\nsynLogin(authToken=\"YOUR_TOKEN_HERE\")\n`\n\nfunction DirectProgrammaticDownload({\n entityId,\n version,\n}: DirectProgrammaticDownloadProps) {\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n\n const rCode = `${R_CLIENT_IMPORT_AND_LOGIN}\n# Obtain a pointer and download the data\n${entityId} <- synGet(entity='${entityId}'${\n version ? `, version=${version}` : ''\n } ) `\n\n const pythonCode = `${PYTHON_CLIENT_IMPORT_AND_LOGIN}\n# Obtain a pointer and download the data\n${entityId} = syn.get(entity='${entityId}'${\n version ? `, version=${version}` : ''\n } )\n\n# Get the path to the local copy of the data file\nfilepath = ${entityId}.path`\n\n const cliCode = `synapse get ${entityId} ${\n version ? `--version ${version}` : ''\n }`\n\n return (\n <>\n <Tooltip\n title=\"Programmatic download options\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"left\"\n >\n <span>\n <button\n className={'btn-download-icon'}\n onClick={() => setIsShowingModal(true)}\n >\n <IconSvg icon=\"code\" />\n </button>\n </span>\n </Tooltip>\n {isShowingModal && (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={() => setIsShowingModal(false)}\n title=\"Download Programmatically\"\n cliCode={cliCode}\n rCode={rCode}\n pythonCode={pythonCode}\n />\n )}\n </>\n )\n}\n\nexport default DirectProgrammaticDownload\n"],"mappings":";;;;;;;AAUA,IAAa,IAAiC,mGAKjC,IAA4B;AAIzC,SAAS,EAA2B,EAClC,aACA,cACkC;CAClC,IAAM,CAAC,GAAgB,KAAqB,EAAkB,EAAK,GAE7D,IAAQ,GAAG,EAA0B;;EAE3C,EAAS,qBAAqB,EAAS,GACrC,IAAU,aAAa,MAAY,GACpC,MAEK,IAAa,GAAG,EAA+B;;EAErD,EAAS,qBAAqB,EAAS,GACrC,IAAU,aAAa,MAAY,GACpC;;;aAGU,EAAS,QAEd,IAAU,eAAe,EAAS,GACtC,IAAU,aAAa,MAAY;CAGrC,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,OAAM;EACN,gBAAA;EACA,WAAU;YAEV,kBAAC,QAAD,EAAA,UACE,kBAAC,UAAD;GACE,WAAW;GACX,eAAe,EAAkB,EAAI;aAErC,kBAAC,GAAD,EAAS,MAAK,OAAQ,CAAA;EAChB,CAAA,EACJ,CAAA;CACC,CAAA,GACR,KACC,kBAAC,GAAD;EACE,MAAM;EACN,eAAe,EAAkB,EAAK;EACtC,OAAM;EACG;EACF;EACK;CACb,CAAA,CAEH,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadCartPage.js","names":[],"sources":["../../../src/components/DownloadCart/DownloadCartPage.tsx"],"sourcesContent":["import styles from './DownloadCartPage.module.scss'\nimport SynapseClient from '@/synapse-client'\nimport { useGetDownloadListStatistics } from '@/synapse-queries/download/useDownloadList'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { DeleteTwoTone } from '@mui/icons-material'\nimport { Button, Tooltip, Typography } from '@mui/material'\nimport {\n AvailableFilter,\n FilesStatisticsResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { useEffect, useRef, useState } from 'react'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport FullWidthAlert from '../FullWidthAlert/FullWidthAlert'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport AvailableForDownloadTable from './AvailableForDownloadTable'\nimport { CreatePackageV2 } from './CreatePackageV2'\nimport { PYTHON_CLIENT_IMPORT_AND_LOGIN } from './DirectProgrammaticDownload'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { DownloadIneligibleForPackagingFilesFromListButton } from './DownloadIneligibleForPackagingFilesFromListButton'\nimport {\n DownloadListActionsRequired,\n DownloadListActionsRequiredProps,\n} from './DownloadListActionsRequired'\nimport ComponentCollapse from '../ComponentCollapse'\n\nconst pythonDownloadCode = `${PYTHON_CLIENT_IMPORT_AND_LOGIN}\ndl_list_file_entities = syn.get_download_list()`\n\nconst cliDownloadCode = `synapse get-download-list`\n\nconst filterTabs: { label: string; filter: AvailableFilter }[] = [\n { label: 'All Files', filter: undefined },\n { label: 'Files included in ZIP', filter: 'eligibleForPackaging' },\n { label: 'Files not included in ZIP', filter: 'ineligibleForPackaging' },\n]\n\n/**\n * Show the Download Cart page.\n */\nexport function DownloadCartPage(props: DownloadListActionsRequiredProps) {\n const { accessToken } = useSynapseContext()\n const [selectedTabIndex, setSelectedTabIndex] = useState<number>(0)\n const [selectedFilterTabIndex, setSelectedFilterTabIndex] =\n useState<number>(0)\n const selectedFilter = filterTabs[selectedFilterTabIndex].filter\n const [isShowingCreatePackageUI, setIsShowingCreatePackageUI] =\n useState<boolean>(false)\n const createPackageRef = useRef<HTMLDivElement>(null)\n // scroll to the CreatePackageV2 component when it is shown so that the user is aware of the next steps after clicking the button to create a package\n useEffect(() => {\n if (isShowingCreatePackageUI) {\n createPackageRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }, [isShowingCreatePackageUI])\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n const [isShowingDownloadSuccessAlert, setIsShowingDownloadSuccessAlert] =\n useState(false)\n const [error, setError] = useState<Error>()\n const {\n data,\n isLoading,\n isError,\n error: newError,\n refetch,\n } = useGetDownloadListStatistics()\n useEffect(() => {\n if (isError && newError) {\n setError(newError)\n }\n }, [isError, newError])\n\n const getFilterCount = (\n data: FilesStatisticsResponse,\n filter: AvailableFilter,\n ) => {\n if (filter === undefined) return data.numberOfFilesAvailableForDownload\n if (filter === 'eligibleForPackaging')\n return data.numberOfFilesAvailableForDownloadAndEligibleForPackaging\n return (\n data.numberOfFilesAvailableForDownload -\n data.numberOfFilesAvailableForDownloadAndEligibleForPackaging\n )\n }\n // SWC-5874: When arriving at the download cart when there are no ARs, the user should start in the Download list\n useEffect(() => {\n if (data && data.numberOfFilesRequiringAction == 0) {\n setSelectedTabIndex(1)\n }\n // also hide the Create Package UI if there are no files available for download\n if (\n data &&\n data.numberOfFilesAvailableForDownloadAndEligibleForPackaging === 0\n ) {\n setIsShowingCreatePackageUI(false)\n }\n }, [data])\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n const clearDownloadList = async () => {\n await SynapseClient.clearDownloadListV2(accessToken)\n refetch()\n }\n return (\n <div className={styles.DownloadCartPage}>\n <div>\n <div className={`${styles.pageHeader}`}>\n <div className=\"container\">\n <div className={styles.grid}>\n <h3 className=\"pageHeaderTitle\">Your Download List</h3>\n <Tooltip\n title=\"Immediately removes all items from your download list\"\n enterNextDelay={300}\n placement=\"right\"\n >\n <Button\n onClick={() => {\n clearDownloadList()\n }}\n variant=\"text\"\n color=\"primary\"\n startIcon={<DeleteTwoTone />}\n >\n Clear Your Download List\n </Button>\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n <div className={styles.tabsContainer}>\n <div className=\"container\">\n <ul className={styles.navTabs}>\n <li\n className={`${styles.navItem}${\n selectedTabIndex == 0 ? ` ${styles.active}` : ''\n }`}\n aria-selected={selectedTabIndex == 0}\n >\n <button onClick={() => setSelectedTabIndex(0)}>\n Access Actions Required\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {data.totalNumberOfFiles -\n data.numberOfFilesAvailableForDownload}\n </span>\n )}\n </button>\n </li>\n <li\n className={`${styles.navItem}${\n selectedTabIndex == 1 ? ` ${styles.active}` : ''\n }`}\n aria-selected={selectedTabIndex == 1}\n >\n <button onClick={() => setSelectedTabIndex(1)}>\n Download List\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {data.numberOfFilesAvailableForDownload}\n </span>\n )}\n </button>\n </li>\n </ul>\n </div>\n </div>\n\n <div\n className={\n /*\n The DownloadListActionsRequired component stores actions in local state to track which actions are completed.\n\n Mount the actions required component and hide it with style to ensure actions stored in component state are persisted as the user switches tabs\n */\n !(selectedTabIndex == 0 && !isError && !isLoading && data)\n ? styles.hidden\n : undefined\n }\n >\n {data?.numberOfFilesRequiringAction &&\n data.numberOfFilesRequiringAction > 0 && (\n // Unmount instead of hiding the DownloadListActionsRequired component when there are 0 actions required\n // The DownloadListActionsRequired cannot discern between a fulfilled action and an action that is no longer required because the\n // file was removed from the download cart.\n // In the typical case where the download cart is cleared, unmounting the component ensures that the actions are cleared out.\n <div>\n <div className=\"container\">\n <DownloadListActionsRequired {...props} />\n </div>\n </div>\n )}\n {data?.numberOfFilesRequiringAction === 0 && (\n <div className={styles.placeholder}>\n <div>No actions are currently required.</div>\n </div>\n )}\n </div>\n\n {selectedTabIndex == 1 && !isError && !isLoading && data && (\n <div>\n {data.numberOfFilesAvailableForDownload > 0 && (\n <div className={`container ${styles.DownloadListTabContent}`}>\n <h3 className={`${styles.sectionTitle} pageHeaderTitle`}>\n Bulk Download Options\n {data.sumOfFileSizesAvailableForDownload != null && (\n <Tooltip\n placement=\"right\"\n title={\n <>\n Total file size\n <br />\n Does not include files hosted outside Synapse\n </>\n }\n slotProps={{ tooltip: { sx: { maxWidth: 400 } } }}\n >\n <span className={styles.totalFileSize}>\n {calculateFriendlyFileSize(\n data.sumOfFileSizesAvailableForDownload,\n )}{' '}\n total*\n </span>\n </Tooltip>\n )}\n </h3>\n <div>\n <div className={styles.subSectionOverview}>\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"packagableFile\" /> Web Download (.ZIP)\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging >\n 0 && (\n <Button\n variant=\"contained\"\n onClick={() => {\n setIsShowingCreatePackageUI(true)\n }}\n startIcon={<IconSvg icon=\"download\" wrap={false} />}\n >\n Download Packages\n </Button>\n )}\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging ==\n 0 && (\n <Tooltip\n title=\"You cannot create a .zip package because there are no eligible files.\"\n enterNextDelay={300}\n placement=\"top\"\n >\n <span>\n <Button\n variant=\"contained\"\n disabled\n startIcon={\n <IconSvg icon=\"download\" wrap={false} />\n }\n >\n Download Packages\n </Button>\n </span>\n </Tooltip>\n )}\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Only some files may be eligible for packaging as ZIP.\n Use the Individual Downloads tab, below, to download\n non-packageable files. \n <a\n href=\"https://help.synapse.org/docs/Downloading-Data-From-the-Synapse-UI.2004254837.html\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n More Information.\n </a>\n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n <ul>\n <li>Files are bundled into .ZIPs up to 1 GB each.</li>\n <li>\n Larger selections are split into multiple packages.\n </li>\n <li>\n Includes only files stored in Synapse native\n storage.\n </li>\n <li>\n Each package contains a CSV manifest with file\n annotations and metadata.\n </li>\n </ul>\n </Typography>\n </ComponentCollapse>\n </div>\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"code\" /> Programmatic Download\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n <Button\n variant=\"contained\"\n onClick={() => {\n setIsShowingModal(true)\n }}\n startIcon={<IconSvg icon=\"download\" wrap={false} />}\n >\n Get R / Python / CLI Code\n </Button>\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Use our Python, R, or command line clients to download\n files quickly. \n <a\n href=\"https://help.synapse.org/docs/Downloading-Data-Programmatically.2003796248.html\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n More Information.\n </a>\n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n <ul>\n <li>Requires a client (R, Python, or CLI).</li>\n <li>\n No limits on individual file size or total download\n size.\n </li>\n <li>\n Includes files stored both on and off Synapse native\n storage.\n </li>\n <li>\n Downloads include a CSV manifest with file\n annotations and metadata.\n </li>\n </ul>\n </Typography>\n </ComponentCollapse>\n </div>\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging <\n data.numberOfFilesAvailableForDownload && (\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"multiFile\" /> Multi-file Download\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n <div className={styles.ineligibleDownloadContainer}>\n <DownloadIneligibleForPackagingFilesFromListButton />\n </div>\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Files which <strong>aren't</strong> included in a\n ZIP package may be downloaded as a multi-file\n download. \n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n Clicking “Start Multi-file Download” initiates a\n download of all files in your Download List that can’t\n be bundled into a ZIP—such as large files or external\n links—in one step. Files are saved one by one with\n clear progress updates, automatic handling of\n duplicate names, and retry support if something fails.\n You can cancel anytime.\n <br />\n <br />\n Note: in some browsers, files download individually to\n your default Downloads folder instead of a selected\n location.\n </Typography>\n </ComponentCollapse>\n </div>\n )}\n </div>\n </div>\n\n <div>\n {isShowingCreatePackageUI && (\n <div ref={createPackageRef}>\n <CreatePackageV2\n onPackageCreation={() => {\n setIsShowingDownloadSuccessAlert(true)\n }}\n />\n </div>\n )}\n <h3 className={`${styles.sectionTitle} pageHeaderTitle`}>\n Download Individual Files\n </h3>\n <div className={styles.tabsContainer}>\n <ul className={styles.navTabs}>\n <li className={styles.navLabel}>View:</li>\n {filterTabs.map((tab, index) => (\n <li\n key={tab.label}\n className={`${styles.navItem}${\n selectedFilterTabIndex === index\n ? ` ${styles.active}`\n : ''\n }`}\n aria-selected={selectedFilterTabIndex === index}\n >\n <button\n onClick={() => setSelectedFilterTabIndex(index)}\n >\n {tab.label}\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {getFilterCount(data, tab.filter)}\n </span>\n )}\n </button>\n </li>\n ))}\n </ul>\n </div>\n\n <div className={styles.availableForDownloadTableContainer}>\n <AvailableForDownloadTable\n key={selectedFilter ?? 'all'}\n filter={selectedFilter}\n />\n </div>\n </div>\n </div>\n )}\n {data.numberOfFilesAvailableForDownload === 0 && (\n <div className={styles.placeholder}>\n <Typography variant=\"body1Italic\">\n Your Download List is currently empty.\n </Typography>\n </div>\n )}\n </div>\n )}\n <FullWidthAlert\n show={isShowingDownloadSuccessAlert}\n variant=\"success\"\n title=\"Package Created\"\n description=\"A package has been created with eligible files. The items contained in this .zip file have been removed from your list. If your package is over 1GB, you will need to create multiple packages.\"\n autoCloseAfterDelayInSeconds={10}\n onClose={() => {\n setIsShowingDownloadSuccessAlert(false)\n }}\n />\n {isShowingModal && (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={() => setIsShowingModal(false)}\n title=\"Download Programmatically\"\n pythonCode={pythonDownloadCode}\n cliCode={cliDownloadCode}\n // rCode={rDownloadCode}\n />\n )}\n </div>\n )\n}\n\nexport default DownloadCartPage\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DownloadCartPage.js","names":[],"sources":["../../../src/components/DownloadCart/DownloadCartPage.tsx"],"sourcesContent":["import styles from './DownloadCartPage.module.scss'\nimport SynapseClient from '@/synapse-client'\nimport { useGetDownloadListStatistics } from '@/synapse-queries/download/useDownloadList'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { DeleteTwoTone } from '@mui/icons-material'\nimport { Button, Tooltip, Typography } from '@mui/material'\nimport {\n AvailableFilter,\n FilesStatisticsResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { useEffect, useRef, useState } from 'react'\nimport { ErrorBanner } from '../error/ErrorBanner'\nimport FullWidthAlert from '../FullWidthAlert/FullWidthAlert'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { ProgrammaticInstructionsModal } from '../ProgrammaticInstructionsModal/ProgrammaticInstructionsModal'\nimport AvailableForDownloadTable from './AvailableForDownloadTable'\nimport { CreatePackageV2 } from './CreatePackageV2'\nimport { PYTHON_CLIENT_IMPORT_AND_LOGIN } from './DirectProgrammaticDownload'\nimport { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { DownloadIneligibleForPackagingFilesFromListButton } from './DownloadIneligibleForPackagingFilesFromListButton'\nimport {\n DownloadListActionsRequired,\n DownloadListActionsRequiredProps,\n} from './DownloadListActionsRequired'\nimport ComponentCollapse from '../ComponentCollapse'\n\nconst pythonDownloadCode = `${PYTHON_CLIENT_IMPORT_AND_LOGIN}\ndl_list_file_entities = syn.get_download_list()`\n\nconst cliDownloadCode = `synapse get-download-list`\n\nconst filterTabs: { label: string; filter: AvailableFilter }[] = [\n { label: 'All Files', filter: undefined },\n { label: 'Files included in ZIP', filter: 'eligibleForPackaging' },\n { label: 'Files not included in ZIP', filter: 'ineligibleForPackaging' },\n]\n\n/**\n * Show the Download Cart page.\n */\nexport function DownloadCartPage(props: DownloadListActionsRequiredProps) {\n const { accessToken } = useSynapseContext()\n const [selectedTabIndex, setSelectedTabIndex] = useState<number>(0)\n const [selectedFilterTabIndex, setSelectedFilterTabIndex] =\n useState<number>(0)\n const selectedFilter = filterTabs[selectedFilterTabIndex].filter\n const [isShowingCreatePackageUI, setIsShowingCreatePackageUI] =\n useState<boolean>(false)\n const createPackageRef = useRef<HTMLDivElement>(null)\n // scroll to the CreatePackageV2 component when it is shown so that the user is aware of the next steps after clicking the button to create a package\n useEffect(() => {\n if (isShowingCreatePackageUI) {\n createPackageRef.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }, [isShowingCreatePackageUI])\n const [isShowingModal, setIsShowingModal] = useState<boolean>(false)\n const [isShowingDownloadSuccessAlert, setIsShowingDownloadSuccessAlert] =\n useState(false)\n const [error, setError] = useState<Error>()\n const {\n data,\n isLoading,\n isError,\n error: newError,\n refetch,\n } = useGetDownloadListStatistics()\n useEffect(() => {\n if (isError && newError) {\n setError(newError)\n }\n }, [isError, newError])\n\n const getFilterCount = (\n data: FilesStatisticsResponse,\n filter: AvailableFilter,\n ) => {\n if (filter === undefined) return data.numberOfFilesAvailableForDownload\n if (filter === 'eligibleForPackaging')\n return data.numberOfFilesAvailableForDownloadAndEligibleForPackaging\n return (\n data.numberOfFilesAvailableForDownload -\n data.numberOfFilesAvailableForDownloadAndEligibleForPackaging\n )\n }\n // SWC-5874: When arriving at the download cart when there are no ARs, the user should start in the Download list\n useEffect(() => {\n if (data && data.numberOfFilesRequiringAction == 0) {\n setSelectedTabIndex(1)\n }\n // also hide the Create Package UI if there are no files available for download\n if (\n data &&\n data.numberOfFilesAvailableForDownloadAndEligibleForPackaging === 0\n ) {\n setIsShowingCreatePackageUI(false)\n }\n }, [data])\n\n if (error) {\n return <ErrorBanner error={error} />\n }\n const clearDownloadList = async () => {\n await SynapseClient.clearDownloadListV2(accessToken)\n refetch()\n }\n return (\n <div className={styles.DownloadCartPage}>\n <div>\n <div className={`${styles.pageHeader}`}>\n <div className=\"container\">\n <div className={styles.grid}>\n <h3 className=\"pageHeaderTitle\">Your Download List</h3>\n <Tooltip\n title=\"Immediately removes all items from your download list\"\n enterNextDelay={300}\n placement=\"right\"\n >\n <Button\n onClick={() => {\n clearDownloadList()\n }}\n variant=\"text\"\n color=\"primary\"\n startIcon={<DeleteTwoTone />}\n >\n Clear Your Download List\n </Button>\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n <div className={styles.tabsContainer}>\n <div className=\"container\">\n <ul className={styles.navTabs}>\n <li\n className={`${styles.navItem}${\n selectedTabIndex == 0 ? ` ${styles.active}` : ''\n }`}\n aria-selected={selectedTabIndex == 0}\n >\n <button onClick={() => setSelectedTabIndex(0)}>\n Access Actions Required\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {data.totalNumberOfFiles -\n data.numberOfFilesAvailableForDownload}\n </span>\n )}\n </button>\n </li>\n <li\n className={`${styles.navItem}${\n selectedTabIndex == 1 ? ` ${styles.active}` : ''\n }`}\n aria-selected={selectedTabIndex == 1}\n >\n <button onClick={() => setSelectedTabIndex(1)}>\n Download List\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {data.numberOfFilesAvailableForDownload}\n </span>\n )}\n </button>\n </li>\n </ul>\n </div>\n </div>\n\n <div\n className={\n /*\n The DownloadListActionsRequired component stores actions in local state to track which actions are completed.\n\n Mount the actions required component and hide it with style to ensure actions stored in component state are persisted as the user switches tabs\n */\n !(selectedTabIndex == 0 && !isError && !isLoading && data)\n ? styles.hidden\n : undefined\n }\n >\n {data?.numberOfFilesRequiringAction &&\n data.numberOfFilesRequiringAction > 0 && (\n // Unmount instead of hiding the DownloadListActionsRequired component when there are 0 actions required\n // The DownloadListActionsRequired cannot discern between a fulfilled action and an action that is no longer required because the\n // file was removed from the download cart.\n // In the typical case where the download cart is cleared, unmounting the component ensures that the actions are cleared out.\n <div>\n <div className=\"container\">\n <DownloadListActionsRequired {...props} />\n </div>\n </div>\n )}\n {data?.numberOfFilesRequiringAction === 0 && (\n <div className={styles.placeholder}>\n <div>No actions are currently required.</div>\n </div>\n )}\n </div>\n\n {selectedTabIndex == 1 && !isError && !isLoading && data && (\n <div>\n {data.numberOfFilesAvailableForDownload > 0 && (\n <div className={`container ${styles.DownloadListTabContent}`}>\n <h3 className={`${styles.sectionTitle} pageHeaderTitle`}>\n Bulk Download Options\n {data.sumOfFileSizesAvailableForDownload != null && (\n <Tooltip\n placement=\"right\"\n title={\n <>\n Total file size\n <br />\n Does not include files hosted outside Synapse\n </>\n }\n slotProps={{ tooltip: { sx: { maxWidth: 400 } } }}\n >\n <span className={styles.totalFileSize}>\n {calculateFriendlyFileSize(\n data.sumOfFileSizesAvailableForDownload,\n )}{' '}\n total*\n </span>\n </Tooltip>\n )}\n </h3>\n <div>\n <div className={styles.subSectionOverview}>\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"packagableFile\" /> Web Download (.ZIP)\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging >\n 0 && (\n <Button\n variant=\"contained\"\n onClick={() => {\n setIsShowingCreatePackageUI(true)\n }}\n startIcon={<IconSvg icon=\"download\" wrap={false} />}\n >\n Download Packages\n </Button>\n )}\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging ==\n 0 && (\n <Tooltip\n title=\"You cannot create a .zip package because there are no eligible files.\"\n enterNextDelay={300}\n placement=\"top\"\n >\n <span>\n <Button\n variant=\"contained\"\n disabled\n startIcon={\n <IconSvg icon=\"download\" wrap={false} />\n }\n >\n Download Packages\n </Button>\n </span>\n </Tooltip>\n )}\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Only some files may be eligible for packaging as ZIP.\n Use the Individual Downloads tab, below, to download\n non-packageable files. \n <a\n href=\"https://help.synapse.org/docs/Downloading-Data-From-the-Synapse-UI.2004254837.html\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n More Information.\n </a>\n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n <ul>\n <li>Files are bundled into .ZIPs up to 1 GB each.</li>\n <li>\n Larger selections are split into multiple packages.\n </li>\n <li>\n Includes only files stored in Synapse native\n storage.\n </li>\n <li>\n Each package contains a CSV manifest with file\n annotations and metadata.\n </li>\n </ul>\n </Typography>\n </ComponentCollapse>\n </div>\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"code\" /> Programmatic Download\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n <Button\n variant=\"contained\"\n onClick={() => {\n setIsShowingModal(true)\n }}\n startIcon={<IconSvg icon=\"download\" wrap={false} />}\n >\n Get R / Python / CLI Code\n </Button>\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Use our Python, R, or command line clients to download\n files quickly. \n <a\n href=\"https://help.synapse.org/docs/Downloading-Data-Programmatically.2003796248.html\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n More Information.\n </a>\n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n <ul>\n <li>Requires a client (R, Python, or CLI).</li>\n <li>\n No limits on individual file size or total download\n size.\n </li>\n <li>\n Includes files stored both on and off Synapse native\n storage.\n </li>\n <li>\n Downloads include a CSV manifest with file\n annotations and metadata.\n </li>\n </ul>\n </Typography>\n </ComponentCollapse>\n </div>\n {data.numberOfFilesAvailableForDownloadAndEligibleForPackaging <\n data.numberOfFilesAvailableForDownload && (\n <div className={styles.subSection}>\n <div className={styles.subSectionHeader}>\n <div className={styles.headline}>\n <Typography variant={'headline3'}>\n <IconSvg icon=\"multiFile\" /> Multi-file Download\n </Typography>\n </div>\n <div className={styles.subSectionActions}>\n <div className={styles.ineligibleDownloadContainer}>\n <DownloadIneligibleForPackagingFilesFromListButton />\n </div>\n </div>\n </div>\n <ComponentCollapse\n component={\n <Typography variant={'body1'} component={'div'}>\n Files which <strong>aren't</strong> included in a\n ZIP package may be downloaded as a multi-file\n download. \n </Typography>\n }\n collapseBoxSx={{\n backgroundColor: 'transparent',\n p: 0,\n mt: '15px',\n }}\n componentContainerSx={{\n backgroundColor: 'transparent',\n p: 0,\n }}\n iconSx={{ width: '25px', height: '25px' }}\n >\n <Typography\n variant={'body1'}\n component={'div'}\n sx={{ marginBottom: '15px' }}\n >\n Clicking “Start Multi-file Download” initiates a\n download of all files in your Download List that can’t\n be bundled into a ZIP—such as large files or external\n links—in one step. Files are saved one by one with\n clear progress updates, automatic handling of\n duplicate names, and retry support if something fails.\n You can cancel anytime.\n <br />\n <br />\n Note: in some browsers, files download individually to\n your default Downloads folder instead of a selected\n location.\n </Typography>\n </ComponentCollapse>\n </div>\n )}\n </div>\n </div>\n\n <div>\n {isShowingCreatePackageUI && (\n <div ref={createPackageRef}>\n <CreatePackageV2\n onPackageCreation={() => {\n setIsShowingDownloadSuccessAlert(true)\n }}\n />\n </div>\n )}\n <h3 className={`${styles.sectionTitle} pageHeaderTitle`}>\n Download Individual Files\n </h3>\n <div className={styles.tabsContainer}>\n <ul className={styles.navTabs}>\n <li className={styles.navLabel}>View:</li>\n {filterTabs.map((tab, index) => (\n <li\n key={tab.label}\n className={`${styles.navItem}${\n selectedFilterTabIndex === index\n ? ` ${styles.active}`\n : ''\n }`}\n aria-selected={selectedFilterTabIndex === index}\n >\n <button\n onClick={() => setSelectedFilterTabIndex(index)}\n >\n {tab.label}\n {!isError && !isLoading && data && (\n <span className={styles.fileCount}>\n {getFilterCount(data, tab.filter)}\n </span>\n )}\n </button>\n </li>\n ))}\n </ul>\n </div>\n\n <div className={styles.availableForDownloadTableContainer}>\n <AvailableForDownloadTable\n key={selectedFilter ?? 'all'}\n filter={selectedFilter}\n />\n </div>\n </div>\n </div>\n )}\n {data.numberOfFilesAvailableForDownload === 0 && (\n <div className={styles.placeholder}>\n <Typography variant=\"body1Italic\">\n Your Download List is currently empty.\n </Typography>\n </div>\n )}\n </div>\n )}\n <FullWidthAlert\n show={isShowingDownloadSuccessAlert}\n variant=\"success\"\n title=\"Package Created\"\n description=\"A package has been created with eligible files. The items contained in this .zip file have been removed from your list. If your package is over 1GB, you will need to create multiple packages.\"\n autoCloseAfterDelayInSeconds={10}\n onClose={() => {\n setIsShowingDownloadSuccessAlert(false)\n }}\n />\n {isShowingModal && (\n <ProgrammaticInstructionsModal\n show={true}\n onClose={() => setIsShowingModal(false)}\n title=\"Download Programmatically\"\n pythonCode={pythonDownloadCode}\n cliCode={cliDownloadCode}\n // rCode={rDownloadCode}\n />\n )}\n </div>\n )\n}\n\nexport default DownloadCartPage\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadDetails.js","names":[],"sources":["../../../src/components/DownloadCart/DownloadDetails.tsx"],"sourcesContent":["import { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Box, Tooltip } from '@mui/material'\nimport pluralize from 'pluralize'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\n\nexport type DownloadDetailsProps = {\n numFiles: number\n numPackagableFiles: number\n numBytes: number\n}\n\nexport default function DownloadDetails(props: DownloadDetailsProps) {\n const { numFiles, numPackagableFiles, numBytes } = props\n const numIneligibleFiles = numFiles - numPackagableFiles\n const isInactive = numFiles === 0\n const iconClassName = isInactive ? 'SRC-inactive' : 'SRC-primary-text-color'\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'start ',\n gap: '25px',\n fontWeight: 'bold',\n svg: {\n mr: '5px',\n },\n }}\n >\n <span>\n {!isInactive && (\n <>\n {numFiles.toLocaleString()} {pluralize('File', numFiles)}\n </>\n )}\n </span>\n <span>\n <span className={iconClassName}>\n <IconSvg wrap={false} icon=\"packagableFile\" />\n </span>\n {!isInactive && (\n <>\n {numPackagableFiles.toLocaleString()}{' '}\n {pluralize('File', numPackagableFiles)} eligible for packaging\n </>\n )}\n </span>\n {numBytes > 0 && (\n <Tooltip\n title=\"This is the total size of all files in the Download List that are available to download.\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"top\"\n >\n <span className=\"item\">{calculateFriendlyFileSize(numBytes)}</span>\n </Tooltip>\n )}\n {numIneligibleFiles > 0 && (\n <span className=\"item\">\n <span className={`SRC-warning-color`}>\n <IconSvg icon=\"warningOutlined\" />\n </span>\n {!isInactive && (\n <>\n {numIneligibleFiles.toLocaleString()}{' '}\n {pluralize('File', numIneligibleFiles)} ineligible for packaging\n </>\n )}\n </span>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;;;AAYA,SAAwB,EAAgB,GAA6B;CACnE,IAAM,EAAE,aAAU,uBAAoB,gBAAa,GAC7C,IAAqB,IAAW,GAChC,IAAa,MAAa,GAC1B,IAAgB,IAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"DownloadDetails.js","names":[],"sources":["../../../src/components/DownloadCart/DownloadDetails.tsx"],"sourcesContent":["import { calculateFriendlyFileSize } from '@/utils/functions/calculateFriendlyFileSize'\nimport { Box, Tooltip } from '@mui/material'\nimport pluralize from 'pluralize'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { TOOLTIP_DELAY_SHOW } from '../SynapseTable/SynapseTableConstants'\n\nexport type DownloadDetailsProps = {\n numFiles: number\n numPackagableFiles: number\n numBytes: number\n}\n\nexport default function DownloadDetails(props: DownloadDetailsProps) {\n const { numFiles, numPackagableFiles, numBytes } = props\n const numIneligibleFiles = numFiles - numPackagableFiles\n const isInactive = numFiles === 0\n const iconClassName = isInactive ? 'SRC-inactive' : 'SRC-primary-text-color'\n return (\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'start ',\n gap: '25px',\n fontWeight: 'bold',\n svg: {\n mr: '5px',\n },\n }}\n >\n <span>\n {!isInactive && (\n <>\n {numFiles.toLocaleString()} {pluralize('File', numFiles)}\n </>\n )}\n </span>\n <span>\n <span className={iconClassName}>\n <IconSvg wrap={false} icon=\"packagableFile\" />\n </span>\n {!isInactive && (\n <>\n {numPackagableFiles.toLocaleString()}{' '}\n {pluralize('File', numPackagableFiles)} eligible for packaging\n </>\n )}\n </span>\n {numBytes > 0 && (\n <Tooltip\n title=\"This is the total size of all files in the Download List that are available to download.\"\n enterNextDelay={TOOLTIP_DELAY_SHOW}\n placement=\"top\"\n >\n <span className=\"item\">{calculateFriendlyFileSize(numBytes)}</span>\n </Tooltip>\n )}\n {numIneligibleFiles > 0 && (\n <span className=\"item\">\n <span className={`SRC-warning-color`}>\n <IconSvg icon=\"warningOutlined\" />\n </span>\n {!isInactive && (\n <>\n {numIneligibleFiles.toLocaleString()}{' '}\n {pluralize('File', numIneligibleFiles)} ineligible for packaging\n </>\n )}\n </span>\n )}\n </Box>\n )\n}\n"],"mappings":";;;;;;;AAYA,SAAwB,EAAgB,GAA6B;CACnE,IAAM,EAAE,aAAU,uBAAoB,gBAAa,GAC7C,IAAqB,IAAW,GAChC,IAAa,MAAa,GAC1B,IAAgB,IAAa,iBAAiB;CACpD,OACE,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,KAAK;GACL,YAAY;GACZ,KAAK,EACH,IAAI,MACN;EACF;YAVF;GAYE,kBAAC,QAAD,EAAA,UACG,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA;IACG,EAAS,eAAe;IAAE;IAAE,EAAU,QAAQ,CAAQ;GACvD,EAAA,CAAA,EAEA,CAAA;GACN,kBAAC,QAAD,EAAA,UAAA,CACE,kBAAC,QAAD;IAAM,WAAW;cACf,kBAAC,GAAD;KAAS,MAAM;KAAO,MAAK;IAAkB,CAAA;GACzC,CAAA,GACL,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA;IACG,EAAmB,eAAe;IAAG;IACrC,EAAU,QAAQ,CAAkB;IAAE;GACvC,EAAA,CAAA,CAEA,EAAA,CAAA;GACL,IAAW,KACV,kBAAC,GAAD;IACE,OAAM;IACN,gBAAA;IACA,WAAU;cAEV,kBAAC,QAAD;KAAM,WAAU;eAAQ,EAA0B,CAAQ;IAAQ,CAAA;GAC3D,CAAA;GAEV,IAAqB,KACpB,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACE,kBAAC,QAAD;KAAM,WAAW;eACf,kBAAC,GAAD,EAAS,MAAK,kBAAmB,CAAA;IAC7B,CAAA,GACL,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA;KACG,EAAmB,eAAe;KAAG;KACrC,EAAU,QAAQ,CAAkB;KAAE;IACvC,EAAA,CAAA,CAEA;;EAEL;;AAET"}
|