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":"DynamicFormModal.js","names":[],"sources":["../../../src/components/DynamicForm/DynamicFormModal.tsx"],"sourcesContent":["import React from 'react'\nimport WideButton from '@/components/styled/WideButton'\nimport { Box } from '@mui/material'\nimport { useState } from 'react'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport DynamicForm, { DynamicFormProps } from './DynamicForm'\n\ntype ModalProps = {\n submitButtonText?: string\n}\n\nexport type DynamicFormModalProps = DynamicFormProps & ModalProps\n\nconst DynamicFormModal = ({\n schemaUrl,\n uiSchemaUrl,\n postUrl,\n submitButtonText,\n}: DynamicFormModalProps): React.ReactNode => {\n const [open, setOpen] = useState(false)\n\n const handleClickOpen = () => {\n setOpen(true)\n }\n\n const handleClose = () => {\n setOpen(false)\n }\n\n const form = (\n <DynamicForm\n schemaUrl={schemaUrl}\n uiSchemaUrl={uiSchemaUrl}\n postUrl={postUrl}\n onSubmit={() => {\n handleClose()\n }}\n />\n )\n\n return (\n <div className=\"browse-tools-page\">\n <Box sx={{ margin: '10px 0px 50px 0px' }}>\n <WideButton\n className=\"highlightSubmitToolButton\"\n variant=\"contained\"\n onClick={handleClickOpen}\n >\n {submitButtonText}\n </WideButton>\n <ConfirmationDialog\n open={open}\n title=\"\"\n content={form}\n onCancel={handleClose}\n onConfirm={() => {}}\n confirmButtonProps={{\n sx: { display: 'none' },\n }}\n cancelButtonProps={{\n children: 'cancel',\n }}\n />\n </Box>\n </div>\n )\n}\n\nexport default DynamicFormModal\n"],"mappings":";;;;;;;AAaA,IAAM,KAAoB,EACxB,cACA,gBACA,YACA,0BAC4C;CAC5C,IAAM,CAAC,GAAM,KAAW,EAAS,
|
|
1
|
+
{"version":3,"file":"DynamicFormModal.js","names":[],"sources":["../../../src/components/DynamicForm/DynamicFormModal.tsx"],"sourcesContent":["import React from 'react'\nimport WideButton from '@/components/styled/WideButton'\nimport { Box } from '@mui/material'\nimport { useState } from 'react'\nimport ConfirmationDialog from '../ConfirmationDialog'\nimport DynamicForm, { DynamicFormProps } from './DynamicForm'\n\ntype ModalProps = {\n submitButtonText?: string\n}\n\nexport type DynamicFormModalProps = DynamicFormProps & ModalProps\n\nconst DynamicFormModal = ({\n schemaUrl,\n uiSchemaUrl,\n postUrl,\n submitButtonText,\n}: DynamicFormModalProps): React.ReactNode => {\n const [open, setOpen] = useState(false)\n\n const handleClickOpen = () => {\n setOpen(true)\n }\n\n const handleClose = () => {\n setOpen(false)\n }\n\n const form = (\n <DynamicForm\n schemaUrl={schemaUrl}\n uiSchemaUrl={uiSchemaUrl}\n postUrl={postUrl}\n onSubmit={() => {\n handleClose()\n }}\n />\n )\n\n return (\n <div className=\"browse-tools-page\">\n <Box sx={{ margin: '10px 0px 50px 0px' }}>\n <WideButton\n className=\"highlightSubmitToolButton\"\n variant=\"contained\"\n onClick={handleClickOpen}\n >\n {submitButtonText}\n </WideButton>\n <ConfirmationDialog\n open={open}\n title=\"\"\n content={form}\n onCancel={handleClose}\n onConfirm={() => {}}\n confirmButtonProps={{\n sx: { display: 'none' },\n }}\n cancelButtonProps={{\n children: 'cancel',\n }}\n />\n </Box>\n </div>\n )\n}\n\nexport default DynamicFormModal\n"],"mappings":";;;;;;;AAaA,IAAM,KAAoB,EACxB,cACA,gBACA,YACA,0BAC4C;CAC5C,IAAM,CAAC,GAAM,KAAW,EAAS,EAAK,GAEhC,UAAwB;EAC5B,EAAQ,EAAI;CACd,GAEM,UAAoB;EACxB,EAAQ,EAAK;CACf;CAaA,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAK,IAAI,EAAE,QAAQ,oBAAoB;aAAvC,CACE,kBAAC,GAAD;IACE,WAAU;IACV,SAAQ;IACR,SAAS;cAER;GACS,CAAA,GACZ,kBAAC,GAAD;IACQ;IACN,OAAM;IACN,SAvBN,kBAAC,GAAD;KACa;KACE;KACJ;KACT,gBAAgB;MACd,EAAY;KACd;IACD,CAgBc;IACT,UAAU;IACV,iBAAiB,CAAC;IAClB,oBAAoB,EAClB,IAAI,EAAE,SAAS,OAAO,EACxB;IACA,mBAAmB,EACjB,UAAU,SACZ;GACD,CAAA,CACE;;CACF,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcosystemCard.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemCard.tsx"],"sourcesContent":["import { Box, Link, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ReactNode } from 'react'\n\nexport type EcosystemCardProps = {\n title: ReactNode\n titleUrl?: string\n description: ReactNode\n image: ReactNode\n}\n\nconst IMAGE_SIZE = '72px'\n\n/**\n * Card layout designed to be used in the EcosystemLayout component.\n */\nfunction EcosystemCard(props: EcosystemCardProps) {\n const { title, titleUrl, description, image } = props\n\n const { breakpoints } = useTheme()\n const isMobile = useMediaQuery(breakpoints.down('sm'))\n\n return (\n <Box\n component={'section'}\n sx={theme => ({\n display: 'grid',\n alignItems: 'top',\n gap: 2,\n py: 2,\n [theme.breakpoints.down('sm')]: {\n gridTemplateColumns: '1fr',\n '.EcosystemCardImageContainer': {\n textAlign: 'center',\n img: { maxWidth: '100%', height: IMAGE_SIZE },\n },\n },\n [theme.breakpoints.up('sm')]: {\n gridTemplateColumns: `${IMAGE_SIZE} auto`,\n '.EcosystemCardImageContainer': {\n justifySelf: 'center',\n img: { width: IMAGE_SIZE, maxHeight: IMAGE_SIZE },\n },\n },\n })}\n >\n <div className={'EcosystemCardImageContainer'}>{image}</div>\n <div>\n <Typography\n component={'h3'}\n variant={isMobile ? 'headline3' : 'body1'}\n sx={{ mb: '5px' }}\n >\n <Link href={titleUrl} target=\"_blank\" rel={'noopener noreferrer'}>\n {title}\n </Link>\n </Typography>\n <Typography\n component={'div'}\n variant={'body1'}\n sx={{ color: 'grey.700' }}\n >\n {description}\n </Typography>\n </div>\n </Box>\n )\n}\n\nexport default EcosystemCard\n"],"mappings":";;;AAUA,IAAM,IAAa;AAKnB,SAAS,EAAc,GAA2B;CAChD,IAAM,EAAE,UAAO,aAAU,gBAAa,aAAU,GAE1C,EAAE,mBAAgB,
|
|
1
|
+
{"version":3,"file":"EcosystemCard.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemCard.tsx"],"sourcesContent":["import { Box, Link, Typography, useMediaQuery, useTheme } from '@mui/material'\nimport { ReactNode } from 'react'\n\nexport type EcosystemCardProps = {\n title: ReactNode\n titleUrl?: string\n description: ReactNode\n image: ReactNode\n}\n\nconst IMAGE_SIZE = '72px'\n\n/**\n * Card layout designed to be used in the EcosystemLayout component.\n */\nfunction EcosystemCard(props: EcosystemCardProps) {\n const { title, titleUrl, description, image } = props\n\n const { breakpoints } = useTheme()\n const isMobile = useMediaQuery(breakpoints.down('sm'))\n\n return (\n <Box\n component={'section'}\n sx={theme => ({\n display: 'grid',\n alignItems: 'top',\n gap: 2,\n py: 2,\n [theme.breakpoints.down('sm')]: {\n gridTemplateColumns: '1fr',\n '.EcosystemCardImageContainer': {\n textAlign: 'center',\n img: { maxWidth: '100%', height: IMAGE_SIZE },\n },\n },\n [theme.breakpoints.up('sm')]: {\n gridTemplateColumns: `${IMAGE_SIZE} auto`,\n '.EcosystemCardImageContainer': {\n justifySelf: 'center',\n img: { width: IMAGE_SIZE, maxHeight: IMAGE_SIZE },\n },\n },\n })}\n >\n <div className={'EcosystemCardImageContainer'}>{image}</div>\n <div>\n <Typography\n component={'h3'}\n variant={isMobile ? 'headline3' : 'body1'}\n sx={{ mb: '5px' }}\n >\n <Link href={titleUrl} target=\"_blank\" rel={'noopener noreferrer'}>\n {title}\n </Link>\n </Typography>\n <Typography\n component={'div'}\n variant={'body1'}\n sx={{ color: 'grey.700' }}\n >\n {description}\n </Typography>\n </div>\n </Box>\n )\n}\n\nexport default EcosystemCard\n"],"mappings":";;;AAUA,IAAM,IAAa;AAKnB,SAAS,EAAc,GAA2B;CAChD,IAAM,EAAE,UAAO,aAAU,gBAAa,aAAU,GAE1C,EAAE,mBAAgB,EAAS,GAC3B,IAAW,EAAc,EAAY,KAAK,IAAI,CAAC;CAErD,OACE,kBAAC,GAAD;EACE,WAAW;EACX,KAAI,OAAU;GACZ,SAAS;GACT,YAAY;GACZ,KAAK;GACL,IAAI;IACH,EAAM,YAAY,KAAK,IAAI,IAAI;IAC9B,qBAAqB;IACrB,gCAAgC;KAC9B,WAAW;KACX,KAAK;MAAE,UAAU;MAAQ,QAAQ;KAAW;IAC9C;GACF;IACC,EAAM,YAAY,GAAG,IAAI,IAAI;IAC5B,qBAAqB,GAAG,EAAW;IACnC,gCAAgC;KAC9B,aAAa;KACb,KAAK;MAAE,OAAO;MAAY,WAAW;KAAW;IAClD;GACF;EACF;YArBF,CAuBE,kBAAC,OAAD;GAAK,WAAW;aAAgC;EAAW,CAAA,GAC3D,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,WAAW;GACX,SAAS,IAAW,cAAc;GAClC,IAAI,EAAE,IAAI,MAAM;aAEhB,kBAAC,GAAD;IAAM,MAAM;IAAU,QAAO;IAAS,KAAK;cACxC;GACG,CAAA;EACI,CAAA,GACZ,kBAAC,GAAD;GACE,WAAW;GACX,SAAS;GACT,IAAI,EAAE,OAAO,WAAW;aAEvB;EACS,CAAA,CACT,EAAA,CAAA,CACF;;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcosystemLayout.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemLayout.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Tab, Tabs, useMediaQuery, useTheme } from '@mui/material'\nimport Fade from '@mui/material/Fade'\nimport { ReactNode, useState } from 'react'\n\ntype Config = {\n title: ReactNode\n content: ReactNode\n}\n\nexport type EcosystemProps = {\n config: Config[]\n}\n\n/**\n * Layout for the Ecosystem component, which renders tab buttons on the left side and content on the right side.\n * @param props\n * @constructor\n */\nconst EcosystemLayout = (props: EcosystemProps): React.ReactNode => {\n const [index, setIndex] = useState(0)\n const { config } = props\n\n const { breakpoints } = useTheme()\n const isMobile = useMediaQuery(breakpoints.down('sm'))\n\n const tabOrientation = isMobile ? 'horizontal' : 'vertical'\n\n return (\n <div className=\"Ecosystem\">\n <Box\n className=\"control-container\"\n sx={{\n display: 'flex',\n [breakpoints.up('sm')]: { height: '450px' },\n [breakpoints.down('sm')]: { flexDirection: 'column' },\n }}\n >\n <Tabs\n className=\"button-container\"\n value={index}\n onChange={(_, newIndex) => setIndex(newIndex)}\n orientation={tabOrientation}\n variant=\"scrollable\"\n scrollButtons={'auto'}\n allowScrollButtonsMobile\n sx={theme => ({\n [theme.breakpoints.up('sm')]: {\n borderRight: '2px solid #dcdcdc',\n },\n })}\n >\n {config.map((el, curIndex) => {\n const { title } = el\n return <Tab label={title} key={curIndex} />\n })}\n {!isMobile && <div className=\"flex-spacer\" />}\n </Tabs>\n <div className=\"content-container\">\n {config.map((el, curIndex) => {\n return (\n <Fade key={curIndex} in={index === curIndex}>\n <span className={index === curIndex ? '' : 'SRC-hidden'}>\n {el.content}\n </span>\n </Fade>\n )\n })}\n </div>\n </Box>\n </div>\n )\n}\n\nexport default EcosystemLayout\n"],"mappings":";;;;;AAmBA,IAAM,KAAmB,MAA2C;CAClE,IAAM,CAAC,GAAO,KAAY,EAAS,
|
|
1
|
+
{"version":3,"file":"EcosystemLayout.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemLayout.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Tab, Tabs, useMediaQuery, useTheme } from '@mui/material'\nimport Fade from '@mui/material/Fade'\nimport { ReactNode, useState } from 'react'\n\ntype Config = {\n title: ReactNode\n content: ReactNode\n}\n\nexport type EcosystemProps = {\n config: Config[]\n}\n\n/**\n * Layout for the Ecosystem component, which renders tab buttons on the left side and content on the right side.\n * @param props\n * @constructor\n */\nconst EcosystemLayout = (props: EcosystemProps): React.ReactNode => {\n const [index, setIndex] = useState(0)\n const { config } = props\n\n const { breakpoints } = useTheme()\n const isMobile = useMediaQuery(breakpoints.down('sm'))\n\n const tabOrientation = isMobile ? 'horizontal' : 'vertical'\n\n return (\n <div className=\"Ecosystem\">\n <Box\n className=\"control-container\"\n sx={{\n display: 'flex',\n [breakpoints.up('sm')]: { height: '450px' },\n [breakpoints.down('sm')]: { flexDirection: 'column' },\n }}\n >\n <Tabs\n className=\"button-container\"\n value={index}\n onChange={(_, newIndex) => setIndex(newIndex)}\n orientation={tabOrientation}\n variant=\"scrollable\"\n scrollButtons={'auto'}\n allowScrollButtonsMobile\n sx={theme => ({\n [theme.breakpoints.up('sm')]: {\n borderRight: '2px solid #dcdcdc',\n },\n })}\n >\n {config.map((el, curIndex) => {\n const { title } = el\n return <Tab label={title} key={curIndex} />\n })}\n {!isMobile && <div className=\"flex-spacer\" />}\n </Tabs>\n <div className=\"content-container\">\n {config.map((el, curIndex) => {\n return (\n <Fade key={curIndex} in={index === curIndex}>\n <span className={index === curIndex ? '' : 'SRC-hidden'}>\n {el.content}\n </span>\n </Fade>\n )\n })}\n </div>\n </Box>\n </div>\n )\n}\n\nexport default EcosystemLayout\n"],"mappings":";;;;;AAmBA,IAAM,KAAmB,MAA2C;CAClE,IAAM,CAAC,GAAO,KAAY,EAAS,CAAC,GAC9B,EAAE,cAAW,GAEb,EAAE,mBAAgB,EAAS,GAC3B,IAAW,EAAc,EAAY,KAAK,IAAI,CAAC,GAE/C,IAAiB,IAAW,eAAe;CAEjD,OACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GACE,WAAU;GACV,IAAI;IACF,SAAS;KACR,EAAY,GAAG,IAAI,IAAI,EAAE,QAAQ,QAAQ;KACzC,EAAY,KAAK,IAAI,IAAI,EAAE,eAAe,SAAS;GACtD;aANF,CAQE,kBAAC,GAAD;IACE,WAAU;IACV,OAAO;IACP,WAAW,GAAG,MAAa,EAAS,CAAQ;IAC5C,aAAa;IACb,SAAQ;IACR,eAAe;IACf,0BAAA;IACA,KAAI,OAAU,GACX,EAAM,YAAY,GAAG,IAAI,IAAI,EAC5B,aAAa,oBACf,EACF;cAZF,CAcG,EAAO,KAAK,GAAI,MAAa;KAC5B,IAAM,EAAE,aAAU;KAClB,OAAO,kBAAC,GAAD,EAAK,OAAO,EAAuB,GAAX,CAAW;IAC5C,CAAC,GACA,CAAC,KAAY,kBAAC,OAAD,EAAK,WAAU,cAAe,CAAA,CACxC;OACN,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAO,KAAK,GAAI,MAEb,kBAAC,GAAD;KAAqB,IAAI,MAAU;eACjC,kBAAC,QAAD;MAAM,WAAW,MAAU,IAAW,KAAK;gBACxC,EAAG;KACA,CAAA;IACF,GAJK,CAIL,CAET;GACE,CAAA,CACF;;CACF,CAAA;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcosystemSkeleton.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemSkeleton.tsx"],"sourcesContent":["import EcosystemLayout from '@/components/Ecosystem/EcosystemLayout'\nimport { SkeletonParagraph } from '@/components/index'\nimport { Stack } from '@mui/material'\nimport Skeleton from '@mui/material/Skeleton'\n\nfunction EcosystemSkeleton() {\n const skeletonTitle = <Skeleton width={'80%'} />\n const skeletonContent = (\n <Stack gap={2} py={2}>\n <SkeletonParagraph />\n <SkeletonParagraph />\n <SkeletonParagraph />\n </Stack>\n )\n return (\n <EcosystemLayout\n config={[\n { title: skeletonTitle, content: skeletonContent },\n { title: skeletonTitle, content: skeletonContent },\n { title: skeletonTitle, content: skeletonContent },\n ]}\n />\n )\n}\n\nexport default EcosystemSkeleton\n"],"mappings":";;;;;;;AAKA,SAAS,IAAoB;CAC3B,IAAM,IAAgB,kBAAC,GAAD,EAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"EcosystemSkeleton.js","names":[],"sources":["../../../src/components/Ecosystem/EcosystemSkeleton.tsx"],"sourcesContent":["import EcosystemLayout from '@/components/Ecosystem/EcosystemLayout'\nimport { SkeletonParagraph } from '@/components/index'\nimport { Stack } from '@mui/material'\nimport Skeleton from '@mui/material/Skeleton'\n\nfunction EcosystemSkeleton() {\n const skeletonTitle = <Skeleton width={'80%'} />\n const skeletonContent = (\n <Stack gap={2} py={2}>\n <SkeletonParagraph />\n <SkeletonParagraph />\n <SkeletonParagraph />\n </Stack>\n )\n return (\n <EcosystemLayout\n config={[\n { title: skeletonTitle, content: skeletonContent },\n { title: skeletonTitle, content: skeletonContent },\n { title: skeletonTitle, content: skeletonContent },\n ]}\n />\n )\n}\n\nexport default EcosystemSkeleton\n"],"mappings":";;;;;;;AAKA,SAAS,IAAoB;CAC3B,IAAM,IAAgB,kBAAC,GAAD,EAAU,OAAO,MAAQ,CAAA,GACzC,IACJ,kBAAC,GAAD;EAAO,KAAK;EAAG,IAAI;YAAnB;GACE,kBAAC,GAAD,CAAoB,CAAA;GACpB,kBAAC,GAAD,CAAoB,CAAA;GACpB,kBAAC,GAAD,CAAoB,CAAA;EACf;;CAET,OACE,kBAAC,GAAD,EACE,QAAQ;EACN;GAAE,OAAO;GAAe,SAAS;EAAgB;EACjD;GAAE,OAAO;GAAe,SAAS;EAAgB;EACjD;GAAE,OAAO;GAAe,SAAS;EAAgB;CACnD,EACD,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableQueryEcosystem.js","names":[],"sources":["../../../src/components/Ecosystem/TableQueryEcosystem.tsx"],"sourcesContent":["import EcosystemCard from '@/components/Ecosystem/EcosystemCard'\nimport EcosystemSkeleton from '@/components/Ecosystem/EcosystemSkeleton'\nimport { Markdown } from '@/components/Markdown/MarkdownSynapse'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { useGetFullTableQueryResults } from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport {\n getColumnIndex,\n parseEntityIdFromSqlStatement,\n} from '@/utils/functions/index'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { Alert, Stack } from '@mui/material'\nimport {\n FileHandleAssociateType,\n Query,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport uniq from 'lodash-es/uniq'\nimport { ReactNode } from 'react'\nimport EcosystemLayout from './EcosystemLayout'\n\n/* The column names expected to be found in the table */\nconst COLUMN_NAMES = {\n RESOURCE_CATEGORY: 'resourcecategory',\n RESOURCE_NAME: 'resourcename',\n RESOURCE_DESCRIPTION: 'resourcedescription',\n RESOURCE_URL: 'resourceurl',\n RESOURCE_ICON_IMAGE: 'resourceiconimage',\n}\n\ntype TableQueryEcosystemCardProps = {\n /** The row data to display*/\n row: Row\n /** The headers (select columns) of the table query result */\n headers: SelectColumn[]\n /** The entity ID of the table */\n tableEntityId: string\n}\n\n/**\n * Maps a table query result row to an EcosystemCard.\n */\nfunction TableQueryEcosystemCard(props: TableQueryEcosystemCardProps) {\n const { row, headers, tableEntityId } = props\n const resourceNameColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_NAME,\n headers,\n )!\n const resourceName = row.values[resourceNameColumnIndex]!\n\n const resourceUrlColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_URL,\n headers,\n )!\n const resourceUrl = row.values[resourceUrlColumnIndex]!\n\n const resourceDescriptionColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_DESCRIPTION,\n headers,\n )!\n const resourceDescriptionMarkdown =\n row.values[resourceDescriptionColumnIndex]!\n\n let iconElement: ReactNode = null\n\n const resourceIconImageColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_ICON_IMAGE,\n headers,\n )\n\n if (resourceIconImageColumnIndex) {\n const resourceIconFileHandleId = row.values[resourceIconImageColumnIndex]\n if (resourceIconFileHandleId) {\n iconElement = (\n <ImageFileHandle\n fileHandleAssociation={{\n fileHandleId: resourceIconFileHandleId,\n associateObjectId: tableEntityId,\n associateObjectType: FileHandleAssociateType.TableEntity,\n }}\n />\n )\n }\n }\n\n return (\n <EcosystemCard\n title={resourceName}\n titleUrl={resourceUrl}\n description={<Markdown markdown={resourceDescriptionMarkdown} />}\n image={iconElement}\n />\n )\n}\n\nexport type TableQueryEcosystemProps = {\n /** The Synapse table query to execute to populate the Ecosystem component */\n query: Query\n}\n\n/**\n * The Ecosystem component driven by the results of a Synapse table query.\n * @constructor\n */\nfunction TableQueryEcosystem(props: TableQueryEcosystemProps) {\n const { query } = props\n const tableEntityId = parseEntityIdFromSqlStatement(query.sql)\n const { data, isLoading, error } = useGetFullTableQueryResults({\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: tableEntityId,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n })\n\n if (!data?.queryResult) {\n if (isLoading) {\n return <EcosystemSkeleton />\n }\n if (error) {\n return (\n <Alert color={'error'}>\n Error loading Ecosystem data: {error.message}\n </Alert>\n )\n }\n return null\n }\n\n const RESOURCE_CATEGORY_COLUMN_INDEX = getColumnIndex(\n COLUMN_NAMES.RESOURCE_CATEGORY,\n data.queryResult.queryResults.headers,\n )!\n\n // Get the distinct categories\n const categories: string[] = uniq(\n data.queryResult.queryResults.rows\n .map(row => row.values[RESOURCE_CATEGORY_COLUMN_INDEX])\n .filter((s): s is string => !!s), // Remove null values\n )\n\n // Create the content for each category and return it in the expected format for the Ecosystem component\n const config = categories.map(category => {\n const rowsForCategory = data.queryResult!.queryResults.rows.filter(\n row => row.values[RESOURCE_CATEGORY_COLUMN_INDEX] === category,\n )\n\n return {\n title: category,\n content: (\n <Stack>\n {rowsForCategory.map(row => (\n <TableQueryEcosystemCard\n key={row.values.join('-')}\n row={row}\n headers={data.queryResult!.queryResults.headers}\n tableEntityId={tableEntityId}\n />\n ))}\n </Stack>\n ),\n }\n })\n\n return <EcosystemLayout config={config} />\n}\n\nexport default TableQueryEcosystem\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAM,IAAe;CACnB,mBAAmB;CACnB,eAAe;CACf,sBAAsB;CACtB,cAAc;CACd,qBAAqB;
|
|
1
|
+
{"version":3,"file":"TableQueryEcosystem.js","names":[],"sources":["../../../src/components/Ecosystem/TableQueryEcosystem.tsx"],"sourcesContent":["import EcosystemCard from '@/components/Ecosystem/EcosystemCard'\nimport EcosystemSkeleton from '@/components/Ecosystem/EcosystemSkeleton'\nimport { Markdown } from '@/components/Markdown/MarkdownSynapse'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { useGetFullTableQueryResults } from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport {\n getColumnIndex,\n parseEntityIdFromSqlStatement,\n} from '@/utils/functions/index'\nimport { BUNDLE_MASK_QUERY_RESULTS } from '@/utils/SynapseConstants'\nimport { Alert, Stack } from '@mui/material'\nimport {\n FileHandleAssociateType,\n Query,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport uniq from 'lodash-es/uniq'\nimport { ReactNode } from 'react'\nimport EcosystemLayout from './EcosystemLayout'\n\n/* The column names expected to be found in the table */\nconst COLUMN_NAMES = {\n RESOURCE_CATEGORY: 'resourcecategory',\n RESOURCE_NAME: 'resourcename',\n RESOURCE_DESCRIPTION: 'resourcedescription',\n RESOURCE_URL: 'resourceurl',\n RESOURCE_ICON_IMAGE: 'resourceiconimage',\n}\n\ntype TableQueryEcosystemCardProps = {\n /** The row data to display*/\n row: Row\n /** The headers (select columns) of the table query result */\n headers: SelectColumn[]\n /** The entity ID of the table */\n tableEntityId: string\n}\n\n/**\n * Maps a table query result row to an EcosystemCard.\n */\nfunction TableQueryEcosystemCard(props: TableQueryEcosystemCardProps) {\n const { row, headers, tableEntityId } = props\n const resourceNameColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_NAME,\n headers,\n )!\n const resourceName = row.values[resourceNameColumnIndex]!\n\n const resourceUrlColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_URL,\n headers,\n )!\n const resourceUrl = row.values[resourceUrlColumnIndex]!\n\n const resourceDescriptionColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_DESCRIPTION,\n headers,\n )!\n const resourceDescriptionMarkdown =\n row.values[resourceDescriptionColumnIndex]!\n\n let iconElement: ReactNode = null\n\n const resourceIconImageColumnIndex = getColumnIndex(\n COLUMN_NAMES.RESOURCE_ICON_IMAGE,\n headers,\n )\n\n if (resourceIconImageColumnIndex) {\n const resourceIconFileHandleId = row.values[resourceIconImageColumnIndex]\n if (resourceIconFileHandleId) {\n iconElement = (\n <ImageFileHandle\n fileHandleAssociation={{\n fileHandleId: resourceIconFileHandleId,\n associateObjectId: tableEntityId,\n associateObjectType: FileHandleAssociateType.TableEntity,\n }}\n />\n )\n }\n }\n\n return (\n <EcosystemCard\n title={resourceName}\n titleUrl={resourceUrl}\n description={<Markdown markdown={resourceDescriptionMarkdown} />}\n image={iconElement}\n />\n )\n}\n\nexport type TableQueryEcosystemProps = {\n /** The Synapse table query to execute to populate the Ecosystem component */\n query: Query\n}\n\n/**\n * The Ecosystem component driven by the results of a Synapse table query.\n * @constructor\n */\nfunction TableQueryEcosystem(props: TableQueryEcosystemProps) {\n const { query } = props\n const tableEntityId = parseEntityIdFromSqlStatement(query.sql)\n const { data, isLoading, error } = useGetFullTableQueryResults({\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId: tableEntityId,\n query,\n partMask: BUNDLE_MASK_QUERY_RESULTS,\n })\n\n if (!data?.queryResult) {\n if (isLoading) {\n return <EcosystemSkeleton />\n }\n if (error) {\n return (\n <Alert color={'error'}>\n Error loading Ecosystem data: {error.message}\n </Alert>\n )\n }\n return null\n }\n\n const RESOURCE_CATEGORY_COLUMN_INDEX = getColumnIndex(\n COLUMN_NAMES.RESOURCE_CATEGORY,\n data.queryResult.queryResults.headers,\n )!\n\n // Get the distinct categories\n const categories: string[] = uniq(\n data.queryResult.queryResults.rows\n .map(row => row.values[RESOURCE_CATEGORY_COLUMN_INDEX])\n .filter((s): s is string => !!s), // Remove null values\n )\n\n // Create the content for each category and return it in the expected format for the Ecosystem component\n const config = categories.map(category => {\n const rowsForCategory = data.queryResult!.queryResults.rows.filter(\n row => row.values[RESOURCE_CATEGORY_COLUMN_INDEX] === category,\n )\n\n return {\n title: category,\n content: (\n <Stack>\n {rowsForCategory.map(row => (\n <TableQueryEcosystemCard\n key={row.values.join('-')}\n row={row}\n headers={data.queryResult!.queryResults.headers}\n tableEntityId={tableEntityId}\n />\n ))}\n </Stack>\n ),\n }\n })\n\n return <EcosystemLayout config={config} />\n}\n\nexport default TableQueryEcosystem\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAM,IAAe;CACnB,mBAAmB;CACnB,eAAe;CACf,sBAAsB;CACtB,cAAc;CACd,qBAAqB;AACvB;AAcA,SAAS,EAAwB,GAAqC;CACpE,IAAM,EAAE,QAAK,YAAS,qBAAkB,GAClC,IAA0B,EAC9B,EAAa,eACb,CACF,GACM,IAAe,EAAI,OAAO,IAE1B,IAAyB,EAC7B,EAAa,cACb,CACF,GACM,IAAc,EAAI,OAAO,IAEzB,IAAiC,EACrC,EAAa,sBACb,CACF,GACM,IACJ,EAAI,OAAO,IAET,IAAyB,MAEvB,IAA+B,EACnC,EAAa,qBACb,CACF;CAEA,IAAI,GAA8B;EAChC,IAAM,IAA2B,EAAI,OAAO;EAC5C,AAAI,MACF,IACE,kBAAC,GAAD,EACE,uBAAuB;GACrB,cAAc;GACd,mBAAmB;GACnB,qBAAqB,EAAwB;EAC/C,EACD,CAAA;CAGP;CAEA,OACE,kBAAC,GAAD;EACE,OAAO;EACP,UAAU;EACV,aAAa,kBAAC,GAAD,EAAU,UAAU,EAA8B,CAAA;EAC/D,OAAO;CACR,CAAA;AAEL;AAWA,SAAS,EAAoB,GAAiC;CAC5D,IAAM,EAAE,aAAU,GACZ,IAAgB,EAA8B,EAAM,GAAG,GACvD,EAAE,SAAM,cAAW,aAAU,EAA4B;EAC7D,cAAc;EACd,UAAU;EACV;EACA,UAAA;CACF,CAAC;CAED,IAAI,CAAC,GAAM,aAWT,OAVI,IACK,kBAAC,GAAD,CAAoB,CAAA,IAEzB,IAEA,kBAAC,GAAD;EAAO,OAAO;YAAd,CAAuB,kCACU,EAAM,OAChC;MAGJ;CAGT,IAAM,IAAiC,EACrC,EAAa,mBACb,EAAK,YAAY,aAAa,OAChC;CAgCA,OAAO,kBAAC,GAAD,EAAyB,QA7BH,EAC3B,EAAK,YAAY,aAAa,KAC3B,KAAI,MAAO,EAAI,OAAO,EAA+B,EACrD,QAAQ,MAAmB,CAAC,CAAC,CAAC,CAIpB,EAAW,KAAI,OAKrB;EACL,OAAO;EACP,SACE,kBAAC,GAAD,EAAA,UAPoB,EAAK,YAAa,aAAa,KAAK,QAC1D,MAAO,EAAI,OAAO,OAAoC,CAOjD,EAAgB,KAAI,MACnB,kBAAC,GAAD;GAEO;GACL,SAAS,EAAK,YAAa,aAAa;GACzB;EAChB,GAJM,EAAI,OAAO,KAAK,GAAG,CAIzB,CACF,EACI,CAAA;CAEX,EAG8B,EAAS,CAAA;AAC3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrDeleteLocalSharingSettingsButton.js","names":[],"sources":["../../../src/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.tsx"],"sourcesContent":["import { Button, Typography } from '@mui/material'\nimport IconSvg from '../IconSvg'\n\nexport const CREATE_LOCAL_SHARING_SETTINGS = 'Create local sharing settings'\nexport const DELETE_LOCAL_SHARING_SETTINGS = 'Delete local sharing settings'\n\ntype CreateOrDeleteLocalSharingSettingsButtonProps = {\n isInherited: boolean\n setIsInherited: (isInherited: boolean) => void\n}\n\nexport function CreateOrDeleteLocalSharingSettingsButton(\n props: CreateOrDeleteLocalSharingSettingsButtonProps,\n) {\n const { isInherited, setIsInherited } = props\n\n if (!isInherited) {\n return (\n <div>\n <Typography\n variant={'body1'}\n sx={{\n mt: 2,\n mb: 1,\n }}\n >\n The sharing settings will be inherited from the parent folder or\n project if local sharing settings are deleted.\n </Typography>\n <Button\n variant={'outlined'}\n size={'small'}\n color={'error'}\n onClick={() => setIsInherited(true)}\n >\n {DELETE_LOCAL_SHARING_SETTINGS}\n </Button>\n </div>\n )\n }\n return (\n <div>\n <Typography\n variant={'body1'}\n sx={{\n mt: 2,\n mb: 1,\n }}\n >\n Sharing settings are initially inherited from the parent folder or\n project by default. To customize settings for a specific file, folder,\n or table, you must create and adjust local sharing settings.\n </Typography>\n <Button\n variant={'contained'}\n size={'small'}\n color={'success'}\n startIcon={<IconSvg icon={'add'} wrap={false} />}\n onClick={() => setIsInherited(false)}\n >\n {CREATE_LOCAL_SHARING_SETTINGS}\n </Button>\n </div>\n )\n}\n"],"mappings":";;;;AAGA,IAAa,IAAgC,iCAChC,IAAgC;AAO7C,SAAgB,EACd,GACA;CACA,IAAM,EAAE,gBAAa,sBAAmB;
|
|
1
|
+
{"version":3,"file":"CreateOrDeleteLocalSharingSettingsButton.js","names":[],"sources":["../../../src/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.tsx"],"sourcesContent":["import { Button, Typography } from '@mui/material'\nimport IconSvg from '../IconSvg'\n\nexport const CREATE_LOCAL_SHARING_SETTINGS = 'Create local sharing settings'\nexport const DELETE_LOCAL_SHARING_SETTINGS = 'Delete local sharing settings'\n\ntype CreateOrDeleteLocalSharingSettingsButtonProps = {\n isInherited: boolean\n setIsInherited: (isInherited: boolean) => void\n}\n\nexport function CreateOrDeleteLocalSharingSettingsButton(\n props: CreateOrDeleteLocalSharingSettingsButtonProps,\n) {\n const { isInherited, setIsInherited } = props\n\n if (!isInherited) {\n return (\n <div>\n <Typography\n variant={'body1'}\n sx={{\n mt: 2,\n mb: 1,\n }}\n >\n The sharing settings will be inherited from the parent folder or\n project if local sharing settings are deleted.\n </Typography>\n <Button\n variant={'outlined'}\n size={'small'}\n color={'error'}\n onClick={() => setIsInherited(true)}\n >\n {DELETE_LOCAL_SHARING_SETTINGS}\n </Button>\n </div>\n )\n }\n return (\n <div>\n <Typography\n variant={'body1'}\n sx={{\n mt: 2,\n mb: 1,\n }}\n >\n Sharing settings are initially inherited from the parent folder or\n project by default. To customize settings for a specific file, folder,\n or table, you must create and adjust local sharing settings.\n </Typography>\n <Button\n variant={'contained'}\n size={'small'}\n color={'success'}\n startIcon={<IconSvg icon={'add'} wrap={false} />}\n onClick={() => setIsInherited(false)}\n >\n {CREATE_LOCAL_SHARING_SETTINGS}\n </Button>\n </div>\n )\n}\n"],"mappings":";;;;AAGA,IAAa,IAAgC,iCAChC,IAAgC;AAO7C,SAAgB,EACd,GACA;CACA,IAAM,EAAE,gBAAa,sBAAmB;CA0BxC,OAxBK,IAyBH,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,SAAS;EACT,IAAI;GACF,IAAI;GACJ,IAAI;EACN;YACD;CAIW,CAAA,GACZ,kBAAC,GAAD;EACE,SAAS;EACT,MAAM;EACN,OAAO;EACP,WAAW,kBAAC,GAAD;GAAS,MAAM;GAAO,MAAM;EAAQ,CAAA;EAC/C,eAAe,EAAe,EAAK;YAElC;CACK,CAAA,CACL,EAAA,CAAA,IA5CH,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,SAAS;EACT,IAAI;GACF,IAAI;GACJ,IAAI;EACN;YACD;CAGW,CAAA,GACZ,kBAAC,GAAD;EACE,SAAS;EACT,MAAM;EACN,OAAO;EACP,eAAe,EAAe,EAAI;YAEjC;CACK,CAAA,CACL,EAAA,CAAA;AA2BX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityAclEditor.js","names":[],"sources":["../../../src/components/EntityAclEditor/EntityAclEditor.tsx"],"sourcesContent":["import {\n useCreateEntityACL,\n useDeleteEntityACL,\n useSuspenseGetCurrentUserProfile,\n useSuspenseGetEntityBenefactorACL,\n useSuspenseGetEntityBundle,\n useUpdateEntityACL,\n} from '@/synapse-queries'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport {\n consolidateResourceAccessList,\n isEntityPublic,\n resourceAccessListIsEqual,\n} from '@/utils/functions/AccessControlListUtils'\nimport { getPrincipalDisplayName } from '@/utils/functions/getPrincipalDisplayName'\nimport { entityTypeToFriendlyName } from '@/utils/functions/EntityTypeUtils'\nimport {\n getAccessTypeFromPermissionLevel,\n PermissionLevel,\n permissionLevelToLabel,\n} from '@/utils/PermissionLevelToAccessType'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { Alert, Link, Stack } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ALL_ENTITY_BUNDLE_FIELDS,\n ResourceAccess,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n Suspense,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { AclEditor, AclEditorProps } from '../AclEditor/AclEditor'\nimport { AclEditorSkeleton } from '../AclEditor/AclEditorSkeleton'\nimport useUpdateAcl from '../AclEditor/useUpdateAcl'\nimport { SynapseErrorBoundary } from '../error'\nimport FullWidthAlert from '../FullWidthAlert'\nimport { CreateOrDeleteLocalSharingSettingsButton } from './CreateOrDeleteLocalSharingSettingsButton'\nimport { InheritanceMessage } from './InheritanceMessage'\nimport OpenData from './OpenData'\nimport useNotifyNewACLUsers from './useNotifyNewACLUsers'\n\nconst availablePermissionLevels: PermissionLevel[] = [\n 'CAN_VIEW',\n 'CAN_DOWNLOAD',\n 'CAN_EDIT',\n 'CAN_EDIT_DELETE',\n 'CAN_ADMINISTER',\n]\n\nexport type EntityAclEditorProps = {\n /** The ID of the entity on which to view/edit the ACL. Note that the ACL may actually belong to an entity ancestor (benefactor). */\n entityId: string\n /** Invoked when the user can/cannot save the pending changes. */\n onCanSaveChange: (canSaveChanges: boolean) => void\n /** Invoked when changes are successfully made. */\n onUpdateSuccess: () => void\n /** Special case to show specific copy and allow changes to an inherited ACL immediately after a file is uploaded.\n * Note that if this is true, the entityId should be the ID of the folder or project that is the benefactor of the newly uploaded file(s)\n * @defaultValue false */\n isAfterUpload?: boolean\n}\n\nexport type EntityAclEditorHandle = {\n save: () => void\n}\n\nfunction getSubject(entityName: string) {\n return `${entityName} (shared on Synapse)`\n}\n\nfunction getBody(profile: UserProfile, entityId: string) {\n return `${getPrincipalDisplayName(\n {\n userName: profile.userName ?? '',\n firstName: profile.firstName,\n lastName: profile.lastName,\n },\n { showFullName: true, showUsername: false },\n )} has shared an item with you on Synapse:\\n${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${entityId}`\n}\n\nfunction getCanEditResourceAccess(\n canEdit: boolean,\n isInherited: boolean,\n ownProfile: UserProfile,\n publicGroupId: string | undefined,\n): AclEditorProps['canEdit'] {\n if (!canEdit || isInherited) {\n return false\n }\n return (resourceAccess: ResourceAccess): boolean => {\n // Users cannot change their own permissions\n const isSelf = ownProfile.ownerId === String(resourceAccess.principalId)\n // Users cannot change permission level for the public group, only add/remove it.\n // To give the public group DOWNLOAD access, ACT must mark it as anonymous access.\n const isPublicGroup =\n publicGroupId !== undefined &&\n String(resourceAccess.principalId) === publicGroupId\n if (isSelf || isPublicGroup) {\n return false\n }\n return true\n }\n}\n\nfunction getCanDeleteResourceAccess(\n canEdit: boolean,\n isInherited: boolean,\n ownProfile: UserProfile,\n): AclEditorProps['canRemoveEntry'] {\n if (!canEdit || isInherited) {\n return false\n }\n return (resourceAccess: ResourceAccess): boolean => {\n // Users cannot delete their own permissions\n const isSelf = ownProfile.ownerId === String(resourceAccess.principalId)\n if (isSelf) {\n return false\n }\n return canEdit\n }\n}\n\nfunction getDisplayedPermissionLevelOverride(\n isOpenData: boolean,\n publicGroupId: string | undefined,\n): AclEditorProps['displayedPermissionLevelOverride'] {\n return (resourceAccess: ResourceAccess) => {\n if (\n publicGroupId !== undefined &&\n String(resourceAccess.principalId) === publicGroupId\n ) {\n return isOpenData\n ? permissionLevelToLabel['CAN_DOWNLOAD']\n : permissionLevelToLabel['CAN_VIEW']\n }\n return undefined\n }\n}\n\nconst EntityAclEditor = forwardRef(function EntityAclEditor(\n props: EntityAclEditorProps,\n ref: ForwardedRef<EntityAclEditorHandle>,\n) {\n const {\n entityId,\n onCanSaveChange,\n onUpdateSuccess,\n isAfterUpload = false,\n } = props\n\n const { data: ownProfile } = useSuspenseGetCurrentUserProfile()\n const { data: realmPrincipals } = useGetRealmPrincipals()\n const { publicGroup: publicGroupId } = realmPrincipals || {}\n const { data: entityBundle } = useSuspenseGetEntityBundle(\n entityId,\n undefined,\n ALL_ENTITY_BUNDLE_FIELDS,\n { staleTime: Infinity },\n )\n const isProject = EntityType.project == entityBundle.entityType\n\n // The parent's benefactor ACL will be shown if the user removes the ACL on the current entity\n const { data: parentAcl } = useSuspenseGetEntityBenefactorACL(\n entityBundle.entity.parentId!,\n {\n staleTime: Infinity,\n },\n )\n\n const consolidatedOriginalResourceAccess = useMemo(\n () =>\n consolidateResourceAccessList(entityBundle.benefactorAcl.resourceAccess),\n [entityBundle.benefactorAcl.resourceAccess],\n )\n\n const parentResourceAccess = useMemo(\n () => parentAcl?.resourceAccess ?? [],\n [parentAcl],\n )\n const canEdit = entityBundle.permissions.canChangePermissions\n const isOpenData = entityBundle.permissions.isEntityOpenData\n const originalIsInherited = !(entityBundle.benefactorAcl.id == entityId)\n const [updatedIsInherited, setUpdatedIsInherited] =\n useState(originalIsInherited)\n const [notifyNewAdditions, setNotifyNewAdditions] = useState(false)\n const [error, setError] = useState<Error>()\n\n const {\n resourceAccessList: updatedResourceAccessList,\n setResourceAccessList,\n addResourceAccessItem,\n updateResourceAccessItem,\n removeResourceAccessItem,\n resetDirtyState,\n } = useUpdateAcl({\n initialResourceAccessList: consolidatedOriginalResourceAccess,\n })\n\n // If `consolidatedOriginalResourceAccess` changes, reset state\n useEffect(() => {\n if (consolidatedOriginalResourceAccess) {\n resetDirtyState()\n setResourceAccessList([...consolidatedOriginalResourceAccess])\n }\n }, [\n consolidatedOriginalResourceAccess,\n resetDirtyState,\n setResourceAccessList,\n ])\n\n // If `originalIsInherited` changes, reset state\n useEffect(() => {\n resetDirtyState()\n setUpdatedIsInherited(originalIsInherited)\n }, [originalIsInherited, resetDirtyState])\n\n // If the editor toggles the inherited state, reset the resource access list\n useEffect(() => {\n if (originalIsInherited == updatedIsInherited) {\n // The user reverted to the original state (regardless of inherited or not)\n setResourceAccessList(consolidatedOriginalResourceAccess)\n } else if (updatedIsInherited) {\n // The user toggled to inherited, update the resource access list to match the parent\n setResourceAccessList(parentResourceAccess)\n } else {\n // The user toggled to local, no need to update the list (the parent's list is already in the editor)\n }\n resetDirtyState()\n }, [\n originalIsInherited,\n consolidatedOriginalResourceAccess,\n parentResourceAccess,\n resetDirtyState,\n setResourceAccessList,\n updatedIsInherited,\n ])\n\n const isPublic = isEntityPublic(\n updatedResourceAccessList,\n realmPrincipals ?? {},\n )\n\n const {\n sendNotification,\n isLoading: isLoadingSendMessageToNewACLUsers,\n isPending: isPendingSendMessageToNewACLUsers,\n } = useNotifyNewACLUsers({\n subject: getSubject(entityBundle.entity.name || ''),\n body: getBody(ownProfile, entityId),\n initialResourceAccessList: consolidatedOriginalResourceAccess,\n newResourceAccessList: updatedResourceAccessList,\n })\n\n const mutationOptions = {\n onSuccess: () => {\n if (notifyNewAdditions) {\n sendNotification()\n }\n onUpdateSuccess()\n },\n onError: (e: Error) => {\n setError(e)\n },\n }\n\n const { mutate: createAcl, isPending: isPendingCreateAcl } =\n useCreateEntityACL(mutationOptions)\n const { mutate: updateAcl, isPending: isPendingUpdateAcl } =\n useUpdateEntityACL(mutationOptions)\n const { mutate: deleteAcl, isPending: isPendingDeleteAcl } =\n useDeleteEntityACL(mutationOptions)\n\n const isPending =\n isPendingCreateAcl ||\n isPendingUpdateAcl ||\n isPendingDeleteAcl ||\n isPendingSendMessageToNewACLUsers\n\n const hasAclChanged = useMemo(() => {\n return (\n originalIsInherited != updatedIsInherited ||\n !resourceAccessListIsEqual(\n consolidatedOriginalResourceAccess,\n updatedResourceAccessList,\n )\n )\n }, [\n consolidatedOriginalResourceAccess,\n originalIsInherited,\n updatedIsInherited,\n updatedResourceAccessList,\n ])\n\n const canSave =\n hasAclChanged || isLoadingSendMessageToNewACLUsers || isPending\n\n const showInheritedAclUpdateWarning = hasAclChanged && isAfterUpload\n\n useEffect(() => {\n onCanSaveChange(canSave)\n }, [onCanSaveChange, canSave])\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (canSave) {\n // Check if the inheritance changed; if so, the ACL should be created/deleted\n if (originalIsInherited != updatedIsInherited) {\n if (updatedIsInherited) {\n deleteAcl(entityId)\n } else {\n createAcl({\n id: entityId,\n resourceAccess: updatedResourceAccessList,\n })\n }\n } else {\n // Inheritance did not change; update the ACL\n updateAcl({\n // ensure we get all fields from the original ACL, including the etag\n ...entityBundle.accessControlList!,\n resourceAccess: updatedResourceAccessList,\n })\n }\n } else {\n console.error('EntityAclEditor: save() called but canSave is false')\n }\n },\n }\n }, [\n canSave,\n createAcl,\n deleteAcl,\n entityBundle,\n entityId,\n originalIsInherited,\n updateAcl,\n updatedIsInherited,\n updatedResourceAccessList,\n ])\n\n return (\n <Stack\n sx={{\n gap: 2,\n }}\n >\n <OpenData\n isOpenData={isOpenData}\n isPublic={isPublic}\n currentUserCanUpdateSharingSettings={canEdit}\n />\n <InheritanceMessage\n isProject={isProject}\n isInherited={updatedIsInherited}\n benefactorId={updatedIsInherited ? parentAcl?.id : entityId}\n isAfterUpload={isAfterUpload}\n />\n {showInheritedAclUpdateWarning && (\n <FullWidthAlert\n isGlobal={false}\n variant={'warning'}\n title={`Edits will affect settings of entire ${entityTypeToFriendlyName(\n entityBundle?.entityType,\n ).toLowerCase()}.`}\n description={\n <>\n <p>\n Editing the settings here will impact the sharing settings for\n all files and folders within this{' '}\n {entityTypeToFriendlyName(\n entityBundle?.entityType,\n ).toLowerCase()}\n , not just the ones you've recently uploaded.\n </p>\n <p>\n View the instructions above for setting your{' '}\n <Link\n href={\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL\n }\n target={'_blank'}\n >\n Local Sharing Settings\n </Link>\n .\n </p>\n </>\n }\n />\n )}\n {/* Create / delete local sharing settings button */}\n {!isAfterUpload &&\n !isProject &&\n entityBundle.permissions.canEnableInheritance && (\n <CreateOrDeleteLocalSharingSettingsButton\n isInherited={updatedIsInherited}\n setIsInherited={setUpdatedIsInherited}\n />\n )}\n {error && <Alert severity=\"error\">{error.message}</Alert>}\n <AclEditor\n isInherited={updatedIsInherited}\n canEdit={getCanEditResourceAccess(\n canEdit,\n updatedIsInherited,\n ownProfile,\n publicGroupId,\n )}\n canRemoveEntry={getCanDeleteResourceAccess(\n canEdit,\n updatedIsInherited,\n ownProfile,\n )}\n resourceAccessList={updatedResourceAccessList}\n availablePermissionLevels={availablePermissionLevels}\n emptyText={/* This should never happen */ ''}\n displayedPermissionLevelOverride={getDisplayedPermissionLevelOverride(\n isOpenData,\n publicGroupId,\n )}\n onAddPrincipalToAcl={id => {\n if (publicGroupId !== undefined && String(id) === publicGroupId) {\n addResourceAccessItem(\n id,\n getAccessTypeFromPermissionLevel('CAN_VIEW'),\n )\n } else {\n addResourceAccessItem(\n id,\n getAccessTypeFromPermissionLevel('CAN_DOWNLOAD'),\n )\n }\n }}\n updateResourceAccessItem={updateResourceAccessItem}\n removeResourceAccessItem={removeResourceAccessItem}\n showNotifyCheckbox={true}\n notifyCheckboxValue={notifyNewAdditions}\n onNotifyCheckboxChange={setNotifyNewAdditions}\n showAddRemovePublicButton={true}\n />\n </Stack>\n )\n})\n\nconst EntityAclEditorWithSuspense = forwardRef(\n function EntityAclEditorWithSuspense(\n props: EntityAclEditorProps,\n ref: ForwardedRef<EntityAclEditorHandle>,\n ) {\n return (\n <SynapseErrorBoundary>\n <Suspense fallback={<AclEditorSkeleton />}>\n <EntityAclEditor {...props} ref={ref} />\n </Suspense>\n </SynapseErrorBoundary>\n )\n },\n)\n\nexport default EntityAclEditorWithSuspense\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAM,KAA+C;CACnD;CACA;CACA;CACA;CACA;CACD;AAmBD,SAAS,EAAW,GAAoB;AACtC,QAAO,GAAG,EAAW;;AAGvB,SAAS,EAAQ,GAAsB,GAAkB;AACvD,QAAO,GAAG,EACR;EACE,UAAU,EAAQ,YAAY;EAC9B,WAAW,EAAQ;EACnB,UAAU,EAAQ;EACnB,EACD;EAAE,cAAc;EAAM,cAAc;EAAO,CAC5C,CAAC,4CAA4C,EAC5C,EAAuB,gBACxB,CAAC,UAAU;;AAGd,SAAS,EACP,GACA,GACA,GACA,GAC2B;AAI3B,QAHI,CAAC,KAAW,IACP,MAED,MAA4C;EAElD,IAAM,IAAS,EAAW,YAAY,OAAO,EAAe,YAAY,EAGlE,IACJ,MAAkB,KAAA,KAClB,OAAO,EAAe,YAAY,KAAK;AAIzC,SAHA,EAAI,KAAU;;;AAOlB,SAAS,EACP,GACA,GACA,GACkC;AAIlC,QAHI,CAAC,KAAW,IACP,MAED,MAES,EAAW,YAAY,OAAO,EAAe,YAAY,GAE/D,KAEF;;AAIX,SAAS,EACP,GACA,GACoD;AACpD,SAAQ,MAAmC;AACzC,MACE,MAAkB,KAAA,KAClB,OAAO,EAAe,YAAY,KAAK,EAEvC,QAAO,IACH,EAAuB,eACvB,EAAuB;;;AAMjC,IAAM,IAAkB,EAAW,SACjC,GACA,GACA;CACA,IAAM,EACJ,aACA,oBACA,oBACA,mBAAgB,OACd,GAEE,EAAE,MAAM,MAAe,IAAkC,EACzD,EAAE,MAAM,MAAoB,GAAuB,EACnD,EAAE,aAAa,MAAkB,KAAmB,EAAE,EACtD,EAAE,MAAM,MAAiB,GAC7B,GACA,KAAA,GACA,IACA,EAAE,WAAW,UAAU,CACxB,EACK,IAAY,GAAW,WAAW,EAAa,YAG/C,EAAE,MAAM,MAAc,GAC1B,EAAa,OAAO,UACpB,EACE,WAAW,UACZ,CACF,EAEK,IAAqC,QAEvC,GAA8B,EAAa,cAAc,eAAe,EAC1E,CAAC,EAAa,cAAc,eAAe,CAC5C,EAEK,IAAuB,QACrB,GAAW,kBAAkB,EAAE,EACrC,CAAC,EAAU,CACZ,EACK,IAAU,EAAa,YAAY,sBACnC,IAAa,EAAa,YAAY,kBACtC,IAAwB,EAAa,cAAc,MAAM,GACzD,CAAC,GAAoB,KACzB,EAAS,EAAoB,EACzB,CAAC,GAAoB,MAAyB,EAAS,GAAM,EAC7D,CAAC,GAAO,MAAY,GAAiB,EAErC,EACJ,oBAAoB,GACpB,0BACA,0BACA,8BACA,8BACA,uBACE,EAAa,EACf,2BAA2B,GAC5B,CAAC;AAqBF,CAlBA,QAAgB;AACd,EAAI,MACF,GAAiB,EACjB,EAAsB,CAAC,GAAG,EAAmC,CAAC;IAE/D;EACD;EACA;EACA;EACD,CAAC,EAGF,QAAgB;AAEd,EADA,GAAiB,EACjB,EAAsB,EAAoB;IACzC,CAAC,GAAqB,EAAgB,CAAC,EAG1C,QAAgB;AAUd,EATI,KAAuB,IAEzB,EAAsB,EAAmC,GAChD,KAET,EAAsB,EAAqB,EAI7C,GAAiB;IAChB;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,IAAM,KAAW,EACf,GACA,KAAmB,EAAE,CACtB,EAEK,EACJ,sBACA,WAAW,IACX,WAAW,OACT,EAAqB;EACvB,SAAS,EAAW,EAAa,OAAO,QAAQ,GAAG;EACnD,MAAM,EAAQ,GAAY,EAAS;EACnC,2BAA2B;EAC3B,uBAAuB;EACxB,CAAC,EAEI,IAAkB;EACtB,iBAAiB;AAIf,GAHI,KACF,IAAkB,EAEpB,GAAiB;;EAEnB,UAAU,MAAa;AACrB,MAAS,EAAE;;EAEd,EAEK,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,EAAgB,EAC/B,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,EAAgB,EAC/B,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,EAAgB,EAE/B,IACJ,MACA,MACA,MACA,IAEI,IAAgB,QAElB,KAAuB,KACvB,CAAC,EACC,GACA,EACD,EAEF;EACD;EACA;EACA;EACA;EACD,CAAC,EAEI,IACJ,KAAiB,MAAqC,GAElD,KAAgC,KAAiB;AA6CvD,QA3CA,QAAgB;AACd,IAAgB,EAAQ;IACvB,CAAC,GAAiB,EAAQ,CAAC,EAE9B,GAAoB,UACX,EACL,OAAO;AACL,EAAI,IAEE,KAAuB,IAWzB,EAAU;GAER,GAAG,EAAa;GAChB,gBAAgB;GACjB,CAAC,GAdE,IACF,EAAU,EAAS,GAEnB,EAAU;GACR,IAAI;GACJ,gBAAgB;GACjB,CAAC,GAWN,QAAQ,MAAM,sDAAsD;IAGzE,GACA;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAGA,kBAAC,IAAD;EACE,IAAI,EACF,KAAK,GACN;YAHH;GAKE,kBAAC,GAAD;IACc;IACF;IACV,qCAAqC;IACrC,CAAA;GACF,kBAAC,GAAD;IACa;IACX,aAAa;IACb,cAAc,IAAqB,GAAW,KAAK;IACpC;IACf,CAAA;GACD,MACC,kBAAC,GAAD;IACE,UAAU;IACV,SAAS;IACT,OAAO,wCAAwC,EAC7C,GAAc,WACf,CAAC,aAAa,CAAC;IAChB,aACE,kBAAA,IAAA,EAAA,UAAA,CACE,kBAAC,KAAD,EAAA,UAAA;KAAG;KAEiC;KACjC,EACC,GAAc,WACf,CAAC,aAAa;KAAC;KAEd,EAAA,CAAA,EACJ,kBAAC,KAAD,EAAA,UAAA;KAAG;KAC4C;KAC7C,kBAAC,IAAD;MACE,MAAA;MAGA,QAAQ;gBACT;MAEM,CAAA;;KAEL,EAAA,CAAA,CACH,EAAA,CAAA;IAEL,CAAA;GAGH,CAAC,KACA,CAAC,KACD,EAAa,YAAY,wBACvB,kBAAC,GAAD;IACE,aAAa;IACb,gBAAgB;IAChB,CAAA;GAEL,KAAS,kBAAC,IAAD;IAAO,UAAS;cAAS,EAAM;IAAgB,CAAA;GACzD,kBAAC,GAAD;IACE,aAAa;IACb,SAAS,EACP,GACA,GACA,GACA,EACD;IACD,gBAAgB,EACd,GACA,GACA,EACD;IACD,oBAAoB;IACO;IAC3B,WAA0C;IAC1C,kCAAkC,EAChC,GACA,EACD;IACD,sBAAqB,MAAM;AACzB,KAAI,MAAkB,KAAA,KAAa,OAAO,EAAG,KAAK,IAChD,EACE,GACA,EAAiC,WAAW,CAC7C,GAED,EACE,GACA,EAAiC,eAAe,CACjD;;IAGqB;IACA;IAC1B,oBAAoB;IACpB,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,CAAA;GACI;;EAEV,EAEI,IAA8B,EAClC,SACE,GACA,GACA;AACA,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAqB,CAAA;YACvC,kBAAC,GAAD;GAAiB,GAAI;GAAY;GAAO,CAAA;EAC/B,CAAA,EACU,CAAA;EAG5B"}
|
|
1
|
+
{"version":3,"file":"EntityAclEditor.js","names":[],"sources":["../../../src/components/EntityAclEditor/EntityAclEditor.tsx"],"sourcesContent":["import {\n useCreateEntityACL,\n useDeleteEntityACL,\n useSuspenseGetCurrentUserProfile,\n useSuspenseGetEntityBenefactorACL,\n useSuspenseGetEntityBundle,\n useUpdateEntityACL,\n} from '@/synapse-queries'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport { BackendDestinationEnum, getEndpoint } from '@/utils/functions'\nimport {\n consolidateResourceAccessList,\n isEntityPublic,\n resourceAccessListIsEqual,\n} from '@/utils/functions/AccessControlListUtils'\nimport { getPrincipalDisplayName } from '@/utils/functions/getPrincipalDisplayName'\nimport { entityTypeToFriendlyName } from '@/utils/functions/EntityTypeUtils'\nimport {\n getAccessTypeFromPermissionLevel,\n PermissionLevel,\n permissionLevelToLabel,\n} from '@/utils/PermissionLevelToAccessType'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { Alert, Link, Stack } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ALL_ENTITY_BUNDLE_FIELDS,\n ResourceAccess,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\nimport {\n ForwardedRef,\n forwardRef,\n Suspense,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react'\nimport { AclEditor, AclEditorProps } from '../AclEditor/AclEditor'\nimport { AclEditorSkeleton } from '../AclEditor/AclEditorSkeleton'\nimport useUpdateAcl from '../AclEditor/useUpdateAcl'\nimport { SynapseErrorBoundary } from '../error'\nimport FullWidthAlert from '../FullWidthAlert'\nimport { CreateOrDeleteLocalSharingSettingsButton } from './CreateOrDeleteLocalSharingSettingsButton'\nimport { InheritanceMessage } from './InheritanceMessage'\nimport OpenData from './OpenData'\nimport useNotifyNewACLUsers from './useNotifyNewACLUsers'\n\nconst availablePermissionLevels: PermissionLevel[] = [\n 'CAN_VIEW',\n 'CAN_DOWNLOAD',\n 'CAN_EDIT',\n 'CAN_EDIT_DELETE',\n 'CAN_ADMINISTER',\n]\n\nexport type EntityAclEditorProps = {\n /** The ID of the entity on which to view/edit the ACL. Note that the ACL may actually belong to an entity ancestor (benefactor). */\n entityId: string\n /** Invoked when the user can/cannot save the pending changes. */\n onCanSaveChange: (canSaveChanges: boolean) => void\n /** Invoked when changes are successfully made. */\n onUpdateSuccess: () => void\n /** Special case to show specific copy and allow changes to an inherited ACL immediately after a file is uploaded.\n * Note that if this is true, the entityId should be the ID of the folder or project that is the benefactor of the newly uploaded file(s)\n * @defaultValue false */\n isAfterUpload?: boolean\n}\n\nexport type EntityAclEditorHandle = {\n save: () => void\n}\n\nfunction getSubject(entityName: string) {\n return `${entityName} (shared on Synapse)`\n}\n\nfunction getBody(profile: UserProfile, entityId: string) {\n return `${getPrincipalDisplayName(\n {\n userName: profile.userName ?? '',\n firstName: profile.firstName,\n lastName: profile.lastName,\n },\n { showFullName: true, showUsername: false },\n )} has shared an item with you on Synapse:\\n${getEndpoint(\n BackendDestinationEnum.PORTAL_ENDPOINT,\n )}Synapse:${entityId}`\n}\n\nfunction getCanEditResourceAccess(\n canEdit: boolean,\n isInherited: boolean,\n ownProfile: UserProfile,\n publicGroupId: string | undefined,\n): AclEditorProps['canEdit'] {\n if (!canEdit || isInherited) {\n return false\n }\n return (resourceAccess: ResourceAccess): boolean => {\n // Users cannot change their own permissions\n const isSelf = ownProfile.ownerId === String(resourceAccess.principalId)\n // Users cannot change permission level for the public group, only add/remove it.\n // To give the public group DOWNLOAD access, ACT must mark it as anonymous access.\n const isPublicGroup =\n publicGroupId !== undefined &&\n String(resourceAccess.principalId) === publicGroupId\n if (isSelf || isPublicGroup) {\n return false\n }\n return true\n }\n}\n\nfunction getCanDeleteResourceAccess(\n canEdit: boolean,\n isInherited: boolean,\n ownProfile: UserProfile,\n): AclEditorProps['canRemoveEntry'] {\n if (!canEdit || isInherited) {\n return false\n }\n return (resourceAccess: ResourceAccess): boolean => {\n // Users cannot delete their own permissions\n const isSelf = ownProfile.ownerId === String(resourceAccess.principalId)\n if (isSelf) {\n return false\n }\n return canEdit\n }\n}\n\nfunction getDisplayedPermissionLevelOverride(\n isOpenData: boolean,\n publicGroupId: string | undefined,\n): AclEditorProps['displayedPermissionLevelOverride'] {\n return (resourceAccess: ResourceAccess) => {\n if (\n publicGroupId !== undefined &&\n String(resourceAccess.principalId) === publicGroupId\n ) {\n return isOpenData\n ? permissionLevelToLabel['CAN_DOWNLOAD']\n : permissionLevelToLabel['CAN_VIEW']\n }\n return undefined\n }\n}\n\nconst EntityAclEditor = forwardRef(function EntityAclEditor(\n props: EntityAclEditorProps,\n ref: ForwardedRef<EntityAclEditorHandle>,\n) {\n const {\n entityId,\n onCanSaveChange,\n onUpdateSuccess,\n isAfterUpload = false,\n } = props\n\n const { data: ownProfile } = useSuspenseGetCurrentUserProfile()\n const { data: realmPrincipals } = useGetRealmPrincipals()\n const { publicGroup: publicGroupId } = realmPrincipals || {}\n const { data: entityBundle } = useSuspenseGetEntityBundle(\n entityId,\n undefined,\n ALL_ENTITY_BUNDLE_FIELDS,\n { staleTime: Infinity },\n )\n const isProject = EntityType.project == entityBundle.entityType\n\n // The parent's benefactor ACL will be shown if the user removes the ACL on the current entity\n const { data: parentAcl } = useSuspenseGetEntityBenefactorACL(\n entityBundle.entity.parentId!,\n {\n staleTime: Infinity,\n },\n )\n\n const consolidatedOriginalResourceAccess = useMemo(\n () =>\n consolidateResourceAccessList(entityBundle.benefactorAcl.resourceAccess),\n [entityBundle.benefactorAcl.resourceAccess],\n )\n\n const parentResourceAccess = useMemo(\n () => parentAcl?.resourceAccess ?? [],\n [parentAcl],\n )\n const canEdit = entityBundle.permissions.canChangePermissions\n const isOpenData = entityBundle.permissions.isEntityOpenData\n const originalIsInherited = !(entityBundle.benefactorAcl.id == entityId)\n const [updatedIsInherited, setUpdatedIsInherited] =\n useState(originalIsInherited)\n const [notifyNewAdditions, setNotifyNewAdditions] = useState(false)\n const [error, setError] = useState<Error>()\n\n const {\n resourceAccessList: updatedResourceAccessList,\n setResourceAccessList,\n addResourceAccessItem,\n updateResourceAccessItem,\n removeResourceAccessItem,\n resetDirtyState,\n } = useUpdateAcl({\n initialResourceAccessList: consolidatedOriginalResourceAccess,\n })\n\n // If `consolidatedOriginalResourceAccess` changes, reset state\n useEffect(() => {\n if (consolidatedOriginalResourceAccess) {\n resetDirtyState()\n setResourceAccessList([...consolidatedOriginalResourceAccess])\n }\n }, [\n consolidatedOriginalResourceAccess,\n resetDirtyState,\n setResourceAccessList,\n ])\n\n // If `originalIsInherited` changes, reset state\n useEffect(() => {\n resetDirtyState()\n setUpdatedIsInherited(originalIsInherited)\n }, [originalIsInherited, resetDirtyState])\n\n // If the editor toggles the inherited state, reset the resource access list\n useEffect(() => {\n if (originalIsInherited == updatedIsInherited) {\n // The user reverted to the original state (regardless of inherited or not)\n setResourceAccessList(consolidatedOriginalResourceAccess)\n } else if (updatedIsInherited) {\n // The user toggled to inherited, update the resource access list to match the parent\n setResourceAccessList(parentResourceAccess)\n } else {\n // The user toggled to local, no need to update the list (the parent's list is already in the editor)\n }\n resetDirtyState()\n }, [\n originalIsInherited,\n consolidatedOriginalResourceAccess,\n parentResourceAccess,\n resetDirtyState,\n setResourceAccessList,\n updatedIsInherited,\n ])\n\n const isPublic = isEntityPublic(\n updatedResourceAccessList,\n realmPrincipals ?? {},\n )\n\n const {\n sendNotification,\n isLoading: isLoadingSendMessageToNewACLUsers,\n isPending: isPendingSendMessageToNewACLUsers,\n } = useNotifyNewACLUsers({\n subject: getSubject(entityBundle.entity.name || ''),\n body: getBody(ownProfile, entityId),\n initialResourceAccessList: consolidatedOriginalResourceAccess,\n newResourceAccessList: updatedResourceAccessList,\n })\n\n const mutationOptions = {\n onSuccess: () => {\n if (notifyNewAdditions) {\n sendNotification()\n }\n onUpdateSuccess()\n },\n onError: (e: Error) => {\n setError(e)\n },\n }\n\n const { mutate: createAcl, isPending: isPendingCreateAcl } =\n useCreateEntityACL(mutationOptions)\n const { mutate: updateAcl, isPending: isPendingUpdateAcl } =\n useUpdateEntityACL(mutationOptions)\n const { mutate: deleteAcl, isPending: isPendingDeleteAcl } =\n useDeleteEntityACL(mutationOptions)\n\n const isPending =\n isPendingCreateAcl ||\n isPendingUpdateAcl ||\n isPendingDeleteAcl ||\n isPendingSendMessageToNewACLUsers\n\n const hasAclChanged = useMemo(() => {\n return (\n originalIsInherited != updatedIsInherited ||\n !resourceAccessListIsEqual(\n consolidatedOriginalResourceAccess,\n updatedResourceAccessList,\n )\n )\n }, [\n consolidatedOriginalResourceAccess,\n originalIsInherited,\n updatedIsInherited,\n updatedResourceAccessList,\n ])\n\n const canSave =\n hasAclChanged || isLoadingSendMessageToNewACLUsers || isPending\n\n const showInheritedAclUpdateWarning = hasAclChanged && isAfterUpload\n\n useEffect(() => {\n onCanSaveChange(canSave)\n }, [onCanSaveChange, canSave])\n\n useImperativeHandle(ref, () => {\n return {\n save() {\n if (canSave) {\n // Check if the inheritance changed; if so, the ACL should be created/deleted\n if (originalIsInherited != updatedIsInherited) {\n if (updatedIsInherited) {\n deleteAcl(entityId)\n } else {\n createAcl({\n id: entityId,\n resourceAccess: updatedResourceAccessList,\n })\n }\n } else {\n // Inheritance did not change; update the ACL\n updateAcl({\n // ensure we get all fields from the original ACL, including the etag\n ...entityBundle.accessControlList!,\n resourceAccess: updatedResourceAccessList,\n })\n }\n } else {\n console.error('EntityAclEditor: save() called but canSave is false')\n }\n },\n }\n }, [\n canSave,\n createAcl,\n deleteAcl,\n entityBundle,\n entityId,\n originalIsInherited,\n updateAcl,\n updatedIsInherited,\n updatedResourceAccessList,\n ])\n\n return (\n <Stack\n sx={{\n gap: 2,\n }}\n >\n <OpenData\n isOpenData={isOpenData}\n isPublic={isPublic}\n currentUserCanUpdateSharingSettings={canEdit}\n />\n <InheritanceMessage\n isProject={isProject}\n isInherited={updatedIsInherited}\n benefactorId={updatedIsInherited ? parentAcl?.id : entityId}\n isAfterUpload={isAfterUpload}\n />\n {showInheritedAclUpdateWarning && (\n <FullWidthAlert\n isGlobal={false}\n variant={'warning'}\n title={`Edits will affect settings of entire ${entityTypeToFriendlyName(\n entityBundle?.entityType,\n ).toLowerCase()}.`}\n description={\n <>\n <p>\n Editing the settings here will impact the sharing settings for\n all files and folders within this{' '}\n {entityTypeToFriendlyName(\n entityBundle?.entityType,\n ).toLowerCase()}\n , not just the ones you've recently uploaded.\n </p>\n <p>\n View the instructions above for setting your{' '}\n <Link\n href={\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL\n }\n target={'_blank'}\n >\n Local Sharing Settings\n </Link>\n .\n </p>\n </>\n }\n />\n )}\n {/* Create / delete local sharing settings button */}\n {!isAfterUpload &&\n !isProject &&\n entityBundle.permissions.canEnableInheritance && (\n <CreateOrDeleteLocalSharingSettingsButton\n isInherited={updatedIsInherited}\n setIsInherited={setUpdatedIsInherited}\n />\n )}\n {error && <Alert severity=\"error\">{error.message}</Alert>}\n <AclEditor\n isInherited={updatedIsInherited}\n canEdit={getCanEditResourceAccess(\n canEdit,\n updatedIsInherited,\n ownProfile,\n publicGroupId,\n )}\n canRemoveEntry={getCanDeleteResourceAccess(\n canEdit,\n updatedIsInherited,\n ownProfile,\n )}\n resourceAccessList={updatedResourceAccessList}\n availablePermissionLevels={availablePermissionLevels}\n emptyText={/* This should never happen */ ''}\n displayedPermissionLevelOverride={getDisplayedPermissionLevelOverride(\n isOpenData,\n publicGroupId,\n )}\n onAddPrincipalToAcl={id => {\n if (publicGroupId !== undefined && String(id) === publicGroupId) {\n addResourceAccessItem(\n id,\n getAccessTypeFromPermissionLevel('CAN_VIEW'),\n )\n } else {\n addResourceAccessItem(\n id,\n getAccessTypeFromPermissionLevel('CAN_DOWNLOAD'),\n )\n }\n }}\n updateResourceAccessItem={updateResourceAccessItem}\n removeResourceAccessItem={removeResourceAccessItem}\n showNotifyCheckbox={true}\n notifyCheckboxValue={notifyNewAdditions}\n onNotifyCheckboxChange={setNotifyNewAdditions}\n showAddRemovePublicButton={true}\n />\n </Stack>\n )\n})\n\nconst EntityAclEditorWithSuspense = forwardRef(\n function EntityAclEditorWithSuspense(\n props: EntityAclEditorProps,\n ref: ForwardedRef<EntityAclEditorHandle>,\n ) {\n return (\n <SynapseErrorBoundary>\n <Suspense fallback={<AclEditorSkeleton />}>\n <EntityAclEditor {...props} ref={ref} />\n </Suspense>\n </SynapseErrorBoundary>\n )\n },\n)\n\nexport default EntityAclEditorWithSuspense\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAM,KAA+C;CACnD;CACA;CACA;CACA;CACA;AACF;AAmBA,SAAS,EAAW,GAAoB;CACtC,OAAO,GAAG,EAAW;AACvB;AAEA,SAAS,EAAQ,GAAsB,GAAkB;CACvD,OAAO,GAAG,EACR;EACE,UAAU,EAAQ,YAAY;EAC9B,WAAW,EAAQ;EACnB,UAAU,EAAQ;CACpB,GACA;EAAE,cAAc;EAAM,cAAc;CAAM,CAC5C,EAAE,4CAA4C,EAC5C,EAAuB,eACzB,EAAE,UAAU;AACd;AAEA,SAAS,EACP,GACA,GACA,GACA,GAC2B;CAI3B,OAHI,CAAC,KAAW,IACP,MAED,MAA4C;EAElD,IAAM,IAAS,EAAW,YAAY,OAAO,EAAe,WAAW,GAGjE,IACJ,MAAkB,KAAA,KAClB,OAAO,EAAe,WAAW,MAAM;EAIzC,OAHA,EAAI,KAAU;CAIhB;AACF;AAEA,SAAS,EACP,GACA,GACA,GACkC;CAIlC,OAHI,CAAC,KAAW,IACP,MAED,MAES,EAAW,YAAY,OAAO,EAAe,WAAW,IAE9D,KAEF;AAEX;AAEA,SAAS,EACP,GACA,GACoD;CACpD,QAAQ,MAAmC;EACzC,IACE,MAAkB,KAAA,KAClB,OAAO,EAAe,WAAW,MAAM,GAEvC,OAAO,IACH,EAAuB,eACvB,EAAuB;CAG/B;AACF;AAEA,IAAM,IAAkB,EAAW,SACjC,GACA,GACA;CACA,IAAM,EACJ,aACA,oBACA,oBACA,mBAAgB,OACd,GAEE,EAAE,MAAM,MAAe,GAAiC,GACxD,EAAE,MAAM,MAAoB,EAAsB,GAClD,EAAE,aAAa,MAAkB,KAAmB,CAAC,GACrD,EAAE,MAAM,MAAiB,GAC7B,GACA,KAAA,GACA,IACA,EAAE,WAAW,SAAS,CACxB,GACM,IAAY,GAAW,WAAW,EAAa,YAG/C,EAAE,MAAM,MAAc,GAC1B,EAAa,OAAO,UACpB,EACE,WAAW,SACb,CACF,GAEM,IAAqC,QAEvC,GAA8B,EAAa,cAAc,cAAc,GACzE,CAAC,EAAa,cAAc,cAAc,CAC5C,GAEM,IAAuB,QACrB,GAAW,kBAAkB,CAAC,GACpC,CAAC,CAAS,CACZ,GACM,IAAU,EAAa,YAAY,sBACnC,IAAa,EAAa,YAAY,kBACtC,IAAwB,EAAa,cAAc,MAAM,GACzD,CAAC,GAAoB,KACzB,EAAS,CAAmB,GACxB,CAAC,GAAoB,MAAyB,EAAS,EAAK,GAC5D,CAAC,GAAO,MAAY,EAAgB,GAEpC,EACJ,oBAAoB,GACpB,0BACA,0BACA,8BACA,8BACA,uBACE,EAAa,EACf,2BAA2B,EAC7B,CAAC;CAqBD,AAlBA,QAAgB;EACd,AAAI,MACF,EAAgB,GAChB,EAAsB,CAAC,GAAG,CAAkC,CAAC;CAEjE,GAAG;EACD;EACA;EACA;CACF,CAAC,GAGD,QAAgB;EAEd,AADA,EAAgB,GAChB,EAAsB,CAAmB;CAC3C,GAAG,CAAC,GAAqB,CAAe,CAAC,GAGzC,QAAgB;EAUd,AATI,KAAuB,IAEzB,EAAsB,CAAkC,IAC/C,KAET,EAAsB,CAAoB,GAI5C,EAAgB;CAClB,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,IAAM,KAAW,EACf,GACA,KAAmB,CAAC,CACtB,GAEM,EACJ,sBACA,WAAW,IACX,WAAW,OACT,EAAqB;EACvB,SAAS,EAAW,EAAa,OAAO,QAAQ,EAAE;EAClD,MAAM,EAAQ,GAAY,CAAQ;EAClC,2BAA2B;EAC3B,uBAAuB;CACzB,CAAC,GAEK,IAAkB;EACtB,iBAAiB;GAIf,AAHI,KACF,GAAiB,GAEnB,EAAgB;EAClB;EACA,UAAU,MAAa;GACrB,GAAS,CAAC;EACZ;CACF,GAEM,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,CAAe,GAC9B,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,CAAe,GAC9B,EAAE,QAAQ,GAAW,WAAW,OACpC,GAAmB,CAAe,GAE9B,IACJ,MACA,MACA,MACA,IAEI,IAAgB,QAElB,KAAuB,KACvB,CAAC,EACC,GACA,CACF,GAED;EACD;EACA;EACA;EACA;CACF,CAAC,GAEK,IACJ,KAAiB,MAAqC,GAElD,KAAgC,KAAiB;CA6CvD,OA3CA,QAAgB;EACd,EAAgB,CAAO;CACzB,GAAG,CAAC,GAAiB,CAAO,CAAC,GAE7B,GAAoB,UACX,EACL,OAAO;EACL,AAAI,IAEE,KAAuB,IAWzB,EAAU;GAER,GAAG,EAAa;GAChB,gBAAgB;EAClB,CAAC,IAdG,IACF,EAAU,CAAQ,IAElB,EAAU;GACR,IAAI;GACJ,gBAAgB;EAClB,CAAC,IAWL,QAAQ,MAAM,qDAAqD;CAEvE,EACF,IACC;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAGC,kBAAC,IAAD;EACE,IAAI,EACF,KAAK,EACP;YAHF;GAKE,kBAAC,GAAD;IACc;IACF;IACV,qCAAqC;GACtC,CAAA;GACD,kBAAC,GAAD;IACa;IACX,aAAa;IACb,cAAc,IAAqB,GAAW,KAAK;IACpC;GAChB,CAAA;GACA,MACC,kBAAC,GAAD;IACE,UAAU;IACV,SAAS;IACT,OAAO,wCAAwC,EAC7C,GAAc,UAChB,EAAE,YAAY,EAAE;IAChB,aACE,kBAAA,IAAA,EAAA,UAAA,CACE,kBAAC,KAAD,EAAA,UAAA;KAAG;KAEiC;KACjC,EACC,GAAc,UAChB,EAAE,YAAY;KAAE;IAEf,EAAA,CAAA,GACH,kBAAC,KAAD,EAAA,UAAA;KAAG;KAC4C;KAC7C,kBAAC,IAAD;MACE,MAAA;MAGA,QAAQ;gBACT;KAEK,CAAA;KAAC;IAEN,EAAA,CAAA,CACH,EAAA,CAAA;GAEL,CAAA;GAGF,CAAC,KACA,CAAC,KACD,EAAa,YAAY,wBACvB,kBAAC,GAAD;IACE,aAAa;IACb,gBAAgB;GACjB,CAAA;GAEJ,KAAS,kBAAC,IAAD;IAAO,UAAS;cAAS,EAAM;GAAe,CAAA;GACxD,kBAAC,GAAD;IACE,aAAa;IACb,SAAS,EACP,GACA,GACA,GACA,CACF;IACA,gBAAgB,EACd,GACA,GACA,CACF;IACA,oBAAoB;IACO;IAC3B,WAA0C;IAC1C,kCAAkC,EAChC,GACA,CACF;IACA,sBAAqB,MAAM;KACzB,AAAI,MAAkB,KAAA,KAAa,OAAO,CAAE,MAAM,IAChD,EACE,GACA,EAAiC,UAAU,CAC7C,IAEA,EACE,GACA,EAAiC,cAAc,CACjD;IAEJ;IAC0B;IACA;IAC1B,oBAAoB;IACpB,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;GAC5B,CAAA;EACI;;AAEX,CAAC,GAEK,IAA8B,EAClC,SACE,GACA,GACA;CACA,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,CAAoB,CAAA;YACtC,kBAAC,GAAD;GAAiB,GAAI;GAAY;EAAM,CAAA;CAC/B,CAAA,EACU,CAAA;AAE1B,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityAclEditorModal.js","names":[],"sources":["../../../src/components/EntityAclEditor/EntityAclEditorModal.tsx"],"sourcesContent":["import ConfirmCloseWithoutSavingDialog from '@/components/Dialog/ConfirmCloseWithoutSavingDialog'\nimport { useGetEntityBundle } from '@/synapse-queries'\nimport { entityTypeToFriendlyName } from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { noop } from 'lodash-es'\nimport { useRef, useState } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog'\nimport { displayToast } from '../ToastMessage'\nimport EntityAclEditor, { EntityAclEditorHandle } from './EntityAclEditor'\n\nconst ENTITY_SHARING_SETTINGS_HELP_MARKDOWN = `Sharing settings determine who can access your content, and what kind of access they have. Choose people/teams and define their level of access below.\\n\\n_Only Administrators can add, delete, or change access levels for other people._`\n\nexport type EntityAclEditorModalProps = {\n entityId: string\n open: boolean\n onUpdateSuccess?: () => void\n onClose: () => void\n isAfterUpload?: boolean\n}\n\nexport default function EntityAclEditorModal(props: EntityAclEditorModalProps) {\n const {\n entityId,\n open,\n onUpdateSuccess = noop,\n onClose,\n isAfterUpload = false,\n } = props\n const [showConfirmCloseDialog, setShowConfirmCloseDialog] = useState(false)\n const [isDirty, setIsDirty] = useState(false)\n const entityAclEditorRef = useRef<EntityAclEditorHandle>(null)\n\n // We just need the entity type, but the editor will also fetch the bundle, so we can use that and rely on/preload the cache\n const { data: entityBundle } = useGetEntityBundle(entityId)\n const entityTypeDisplay = entityBundle?.entityType\n ? entityTypeToFriendlyName(entityBundle?.entityType)\n : ''\n const canEdit = entityBundle?.permissions?.canChangePermissions\n\n function handleClose() {\n if (isDirty) {\n setShowConfirmCloseDialog(true)\n } else {\n onClose()\n }\n }\n\n return (\n <>\n <ConfirmCloseWithoutSavingDialog\n open={showConfirmCloseDialog}\n onCancel={() => {\n setShowConfirmCloseDialog(false)\n }}\n onConfirm={() => {\n setShowConfirmCloseDialog(false)\n onClose()\n }}\n />\n <ConfirmationDialog\n title={`${entityTypeDisplay} Sharing Settings`.trim()}\n onCancel={handleClose}\n open={open}\n maxWidth={'md'}\n titleHelpPopoverProps={{\n markdownText: ENTITY_SHARING_SETTINGS_HELP_MARKDOWN,\n helpUrl:\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL,\n }}\n content={\n <EntityAclEditor\n ref={entityAclEditorRef}\n entityId={entityId}\n onCanSaveChange={isDirty => setIsDirty(isDirty)}\n onUpdateSuccess={() => {\n displayToast(\n 'Permissions were successfully saved to Synapse',\n 'info',\n )\n onUpdateSuccess()\n onClose()\n }}\n isAfterUpload={isAfterUpload}\n />\n }\n onConfirm={e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n entityAclEditorRef.current!.save()\n }}\n confirmButtonProps={{\n children: canEdit ? 'Save' : 'OK',\n disabled: !isDirty,\n }}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAUA,IAAM,IAAwC;AAU9C,SAAwB,EAAqB,GAAkC;CAC7E,IAAM,EACJ,aACA,SACA,qBAAkB,GAClB,YACA,mBAAgB,OACd,GACE,CAAC,GAAwB,KAA6B,EAAS,
|
|
1
|
+
{"version":3,"file":"EntityAclEditorModal.js","names":[],"sources":["../../../src/components/EntityAclEditor/EntityAclEditorModal.tsx"],"sourcesContent":["import ConfirmCloseWithoutSavingDialog from '@/components/Dialog/ConfirmCloseWithoutSavingDialog'\nimport { useGetEntityBundle } from '@/synapse-queries'\nimport { entityTypeToFriendlyName } from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { noop } from 'lodash-es'\nimport { useRef, useState } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog'\nimport { displayToast } from '../ToastMessage'\nimport EntityAclEditor, { EntityAclEditorHandle } from './EntityAclEditor'\n\nconst ENTITY_SHARING_SETTINGS_HELP_MARKDOWN = `Sharing settings determine who can access your content, and what kind of access they have. Choose people/teams and define their level of access below.\\n\\n_Only Administrators can add, delete, or change access levels for other people._`\n\nexport type EntityAclEditorModalProps = {\n entityId: string\n open: boolean\n onUpdateSuccess?: () => void\n onClose: () => void\n isAfterUpload?: boolean\n}\n\nexport default function EntityAclEditorModal(props: EntityAclEditorModalProps) {\n const {\n entityId,\n open,\n onUpdateSuccess = noop,\n onClose,\n isAfterUpload = false,\n } = props\n const [showConfirmCloseDialog, setShowConfirmCloseDialog] = useState(false)\n const [isDirty, setIsDirty] = useState(false)\n const entityAclEditorRef = useRef<EntityAclEditorHandle>(null)\n\n // We just need the entity type, but the editor will also fetch the bundle, so we can use that and rely on/preload the cache\n const { data: entityBundle } = useGetEntityBundle(entityId)\n const entityTypeDisplay = entityBundle?.entityType\n ? entityTypeToFriendlyName(entityBundle?.entityType)\n : ''\n const canEdit = entityBundle?.permissions?.canChangePermissions\n\n function handleClose() {\n if (isDirty) {\n setShowConfirmCloseDialog(true)\n } else {\n onClose()\n }\n }\n\n return (\n <>\n <ConfirmCloseWithoutSavingDialog\n open={showConfirmCloseDialog}\n onCancel={() => {\n setShowConfirmCloseDialog(false)\n }}\n onConfirm={() => {\n setShowConfirmCloseDialog(false)\n onClose()\n }}\n />\n <ConfirmationDialog\n title={`${entityTypeDisplay} Sharing Settings`.trim()}\n onCancel={handleClose}\n open={open}\n maxWidth={'md'}\n titleHelpPopoverProps={{\n markdownText: ENTITY_SHARING_SETTINGS_HELP_MARKDOWN,\n helpUrl:\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL,\n }}\n content={\n <EntityAclEditor\n ref={entityAclEditorRef}\n entityId={entityId}\n onCanSaveChange={isDirty => setIsDirty(isDirty)}\n onUpdateSuccess={() => {\n displayToast(\n 'Permissions were successfully saved to Synapse',\n 'info',\n )\n onUpdateSuccess()\n onClose()\n }}\n isAfterUpload={isAfterUpload}\n />\n }\n onConfirm={e => {\n // SWC-7055 - The default action may trigger `beforeunload` and erroneously warn the user about leaving the page.\n e.preventDefault()\n entityAclEditorRef.current!.save()\n }}\n confirmButtonProps={{\n children: canEdit ? 'Save' : 'OK',\n disabled: !isDirty,\n }}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAUA,IAAM,IAAwC;AAU9C,SAAwB,EAAqB,GAAkC;CAC7E,IAAM,EACJ,aACA,SACA,qBAAkB,GAClB,YACA,mBAAgB,OACd,GACE,CAAC,GAAwB,KAA6B,EAAS,EAAK,GACpE,CAAC,GAAS,KAAc,EAAS,EAAK,GACtC,IAAqB,EAA8B,IAAI,GAGvD,EAAE,MAAM,MAAiB,EAAmB,CAAQ,GACpD,IAAoB,GAAc,aACpC,EAAyB,GAAc,UAAU,IACjD,IACE,IAAU,GAAc,aAAa;CAE3C,SAAS,IAAc;EACrB,AAAI,IACF,EAA0B,EAAI,IAE9B,EAAQ;CAEZ;CAEA,OACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,MAAM;EACN,gBAAgB;GACd,EAA0B,EAAK;EACjC;EACA,iBAAiB;GAEf,AADA,EAA0B,EAAK,GAC/B,EAAQ;EACV;CACD,CAAA,GACD,kBAAC,GAAD;EACE,OAAO,GAAG,EAAkB,mBAAmB,KAAK;EACpD,UAAU;EACJ;EACN,UAAU;EACV,uBAAuB;GACrB,cAAc;GACd,SACE;EACJ;EACA,SACE,kBAAC,GAAD;GACE,KAAK;GACK;GACV,kBAAiB,MAAW,EAAW,CAAO;GAC9C,uBAAuB;IAMrB,AALA,EACE,kDACA,MACF,GACA,EAAgB,GAChB,EAAQ;GACV;GACe;EAChB,CAAA;EAEH,YAAW,MAAK;GAGd,AADA,EAAE,eAAe,GACjB,EAAmB,QAAS,KAAK;EACnC;EACA,oBAAoB;GAClB,UAAU,IAAU,SAAS;GAC7B,UAAU,CAAC;EACb;CACD,CAAA,CACD,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InheritanceMessage.js","names":[],"sources":["../../../src/components/EntityAclEditor/InheritanceMessage.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries/entity/useGetEntityHeaders'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { Link, Typography } from '@mui/material'\nimport { EntityLink } from '../EntityLink'\n\ntype InheritanceMessageProps = {\n isProject: boolean\n isInherited: boolean\n isAfterUpload?: boolean\n benefactorId?: string\n}\n\nexport function InheritanceMessage(props: InheritanceMessageProps) {\n const { isProject, isInherited, isAfterUpload = false, benefactorId } = props\n const { data: benefactorHeader } = useGetEntityHeader(\n benefactorId,\n undefined,\n {\n enabled: Boolean(benefactorId),\n },\n )\n\n if (isAfterUpload) {\n return (\n <>\n <Typography variant={'body1'}>\n Currently, the sharing settings are inherited from the{' '}\n {benefactorHeader\n ? entityTypeToFriendlyName(\n convertToEntityType(benefactorHeader.type),\n ).toLowerCase()\n : 'container'}{' '}\n named\n {benefactorId ? (\n <>\n {' '}\n <EntityLink entity={benefactorId} />{' '}\n </>\n ) : (\n ''\n )}\n . If you wish to customize settings for a particular file, folder, or\n table, you must establish <strong>Local Sharing Settings</strong> to\n make modifications.\n </Typography>\n <Typography variant={'body1'}>\n After uploading, choose the file you want to customize sharing\n settings for, then navigate to File Tools >{' '}\n <Link\n href={\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL\n }\n >\n File Sharing Settings\n </Link>\n .\n </Typography>\n </>\n )\n } else if (isProject) {\n return (\n <Typography variant={'body1'}>\n The sharing settings shown below apply to this project and are inherited\n by all project contents unless local sharing settings have been set.\n </Typography>\n )\n } else if (isInherited) {\n return (\n <Typography variant={'body1'}>\n The sharing settings shown below are currently being inherited{' '}\n {benefactorId ? (\n <>\n from <EntityLink entity={benefactorId} />{' '}\n </>\n ) : (\n ''\n )}\n </Typography>\n )\n } else {\n return (\n <Typography variant={'body1'}>\n The local sharing settings shown below are <strong>not</strong> being\n inherited from a parent resource.\n </Typography>\n )\n }\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EAAE,cAAW,gBAAa,mBAAgB,IAAO,oBAAiB,GAClE,EAAE,MAAM,MAAqB,EACjC,GACA,KAAA,GACA,EACE,SAAS,EAAQ,
|
|
1
|
+
{"version":3,"file":"InheritanceMessage.js","names":[],"sources":["../../../src/components/EntityAclEditor/InheritanceMessage.tsx"],"sourcesContent":["import { useGetEntityHeader } from '@/synapse-queries/entity/useGetEntityHeaders'\nimport {\n convertToEntityType,\n entityTypeToFriendlyName,\n} from '@/utils/functions/EntityTypeUtils'\nimport { SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL } from '@/utils/SynapseConstants'\nimport { Link, Typography } from '@mui/material'\nimport { EntityLink } from '../EntityLink'\n\ntype InheritanceMessageProps = {\n isProject: boolean\n isInherited: boolean\n isAfterUpload?: boolean\n benefactorId?: string\n}\n\nexport function InheritanceMessage(props: InheritanceMessageProps) {\n const { isProject, isInherited, isAfterUpload = false, benefactorId } = props\n const { data: benefactorHeader } = useGetEntityHeader(\n benefactorId,\n undefined,\n {\n enabled: Boolean(benefactorId),\n },\n )\n\n if (isAfterUpload) {\n return (\n <>\n <Typography variant={'body1'}>\n Currently, the sharing settings are inherited from the{' '}\n {benefactorHeader\n ? entityTypeToFriendlyName(\n convertToEntityType(benefactorHeader.type),\n ).toLowerCase()\n : 'container'}{' '}\n named\n {benefactorId ? (\n <>\n {' '}\n <EntityLink entity={benefactorId} />{' '}\n </>\n ) : (\n ''\n )}\n . If you wish to customize settings for a particular file, folder, or\n table, you must establish <strong>Local Sharing Settings</strong> to\n make modifications.\n </Typography>\n <Typography variant={'body1'}>\n After uploading, choose the file you want to customize sharing\n settings for, then navigate to File Tools >{' '}\n <Link\n href={\n SYNAPSE_DOCS_SHARING_SETTINGS_PERMISSIONS_CONDITIONS_FOR_USE_URL\n }\n >\n File Sharing Settings\n </Link>\n .\n </Typography>\n </>\n )\n } else if (isProject) {\n return (\n <Typography variant={'body1'}>\n The sharing settings shown below apply to this project and are inherited\n by all project contents unless local sharing settings have been set.\n </Typography>\n )\n } else if (isInherited) {\n return (\n <Typography variant={'body1'}>\n The sharing settings shown below are currently being inherited{' '}\n {benefactorId ? (\n <>\n from <EntityLink entity={benefactorId} />{' '}\n </>\n ) : (\n ''\n )}\n </Typography>\n )\n } else {\n return (\n <Typography variant={'body1'}>\n The local sharing settings shown below are <strong>not</strong> being\n inherited from a parent resource.\n </Typography>\n )\n }\n}\n"],"mappings":";;;;;;;AAgBA,SAAgB,EAAmB,GAAgC;CACjE,IAAM,EAAE,cAAW,gBAAa,mBAAgB,IAAO,oBAAiB,GAClE,EAAE,MAAM,MAAqB,EACjC,GACA,KAAA,GACA,EACE,SAAS,EAAQ,EACnB,CACF;CA4DE,OA1DE,IAEA,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;EAAY,SAAS;YAArB;GAA8B;GAC2B;GACtD,IACG,EACE,EAAoB,EAAiB,IAAI,CAC3C,EAAE,YAAY,IACd;GAAa;GAAI;GAEpB,IACC,kBAAA,GAAA,EAAA,UAAA;IACG;IACD,kBAAC,GAAD,EAAY,QAAQ,EAAe,CAAA;IAAE;GACrC,EAAA,CAAA,IAEF;GACA;GAEwB,kBAAC,UAAD,EAAA,UAAQ,yBAA8B,CAAA;GAAC;EAEvD;KACZ,kBAAC,GAAD;EAAY,SAAS;YAArB;GAA8B;GAEmB;GAC/C,kBAAC,GAAD;IACE,MACE;cAEH;GAEK,CAAA;GAAC;EAEG;GACZ,EAAA,CAAA,IAEK,IAEP,kBAAC,GAAD;EAAY,SAAS;YAAS;CAGlB,CAAA,IAEL,IAEP,kBAAC,GAAD;EAAY,SAAS;YAArB;GAA8B;GACmC;GAC9D,IACC,kBAAA,GAAA,EAAA,UAAA;IAAE;IACK,kBAAC,GAAD,EAAY,QAAQ,EAAe,CAAA;IAAE;GAC1C,EAAA,CAAA,IAEF;EAEQ;MAIZ,kBAAC,GAAD;EAAY,SAAS;YAArB;GAA8B;GACe,kBAAC,UAAD,EAAA,UAAQ,MAAW,CAAA;GAAC;EAErD;;AAGlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenData.js","names":[],"sources":["../../../src/components/EntityAclEditor/OpenData.tsx"],"sourcesContent":["import IconSvg from '../IconSvg'\nimport { Box, BoxProps, styled, Typography } from '@mui/material'\nimport { StyledComponent } from '@emotion/styled'\n\nconst OpenDataContainer: StyledComponent<BoxProps> = styled(Box, {\n label: 'OpenDataContainer',\n})(({ theme }) => ({\n background: theme.palette.grey[100],\n padding: `${theme.spacing(2.5)} ${theme.spacing(4)}`,\n border: `1px solid ${theme.palette.grey[300]}`,\n borderRadius: '3px',\n marginBottom: theme.spacing(2),\n}))\n\nexport type OpenDataProps = {\n isOpenData: boolean\n isPublic: boolean\n currentUserCanUpdateSharingSettings: boolean\n}\n\nexport default function OpenData(props: OpenDataProps) {\n const { isOpenData, isPublic, currentUserCanUpdateSharingSettings } = props\n\n if (isOpenData && isPublic) {\n return (\n <OpenDataContainer display={'flex'} gap={1}>\n <IconSvg icon=\"checkCircle\" color={'success'} wrap={false} />\n <div>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>This is anonymous access data.</strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n Anyone can download it, even if they aren’t logged in to Synapse.\n </Typography>\n </div>\n </OpenDataContainer>\n )\n } else if (isOpenData && !isPublic && currentUserCanUpdateSharingSettings) {\n return (\n <OpenDataContainer>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>This is not anonymous access data.</strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n You must grant public access for all users to be able to anonymously\n download it.\n </Typography>\n </OpenDataContainer>\n )\n } else if (!isOpenData && isPublic && currentUserCanUpdateSharingSettings) {\n return (\n <OpenDataContainer>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>\n Users must be logged in to download public access data.\n </strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n This data is publicly viewable, but only registered and logged-in\n users can download it.\n </Typography>\n </OpenDataContainer>\n )\n }\n\n return null\n}\n"],"mappings":";;;;AAIA,IAAM,IAA+C,EAAO,GAAK,EAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"OpenData.js","names":[],"sources":["../../../src/components/EntityAclEditor/OpenData.tsx"],"sourcesContent":["import IconSvg from '../IconSvg'\nimport { Box, BoxProps, styled, Typography } from '@mui/material'\nimport { StyledComponent } from '@emotion/styled'\n\nconst OpenDataContainer: StyledComponent<BoxProps> = styled(Box, {\n label: 'OpenDataContainer',\n})(({ theme }) => ({\n background: theme.palette.grey[100],\n padding: `${theme.spacing(2.5)} ${theme.spacing(4)}`,\n border: `1px solid ${theme.palette.grey[300]}`,\n borderRadius: '3px',\n marginBottom: theme.spacing(2),\n}))\n\nexport type OpenDataProps = {\n isOpenData: boolean\n isPublic: boolean\n currentUserCanUpdateSharingSettings: boolean\n}\n\nexport default function OpenData(props: OpenDataProps) {\n const { isOpenData, isPublic, currentUserCanUpdateSharingSettings } = props\n\n if (isOpenData && isPublic) {\n return (\n <OpenDataContainer display={'flex'} gap={1}>\n <IconSvg icon=\"checkCircle\" color={'success'} wrap={false} />\n <div>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>This is anonymous access data.</strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n Anyone can download it, even if they aren’t logged in to Synapse.\n </Typography>\n </div>\n </OpenDataContainer>\n )\n } else if (isOpenData && !isPublic && currentUserCanUpdateSharingSettings) {\n return (\n <OpenDataContainer>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>This is not anonymous access data.</strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n You must grant public access for all users to be able to anonymously\n download it.\n </Typography>\n </OpenDataContainer>\n )\n } else if (!isOpenData && isPublic && currentUserCanUpdateSharingSettings) {\n return (\n <OpenDataContainer>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n <strong>\n Users must be logged in to download public access data.\n </strong>\n </Typography>\n <Typography\n variant={'body1'}\n sx={{\n color: 'text.secondary',\n }}\n >\n This data is publicly viewable, but only registered and logged-in\n users can download it.\n </Typography>\n </OpenDataContainer>\n )\n }\n\n return null\n}\n"],"mappings":";;;;AAIA,IAAM,IAA+C,EAAO,GAAK,EAC/D,OAAO,oBACT,CAAC,GAAG,EAAE,gBAAa;CACjB,YAAY,EAAM,QAAQ,KAAK;CAC/B,SAAS,GAAG,EAAM,QAAQ,GAAG,EAAE,GAAG,EAAM,QAAQ,CAAC;CACjD,QAAQ,aAAa,EAAM,QAAQ,KAAK;CACxC,cAAc;CACd,cAAc,EAAM,QAAQ,CAAC;AAC/B,EAAE;AAQF,SAAwB,EAAS,GAAsB;CACrD,IAAM,EAAE,eAAY,aAAU,2CAAwC;CA0EtE,OAxEI,KAAc,IAEd,kBAAC,GAAD;EAAmB,SAAS;EAAQ,KAAK;YAAzC,CACE,kBAAC,GAAD;GAAS,MAAK;GAAc,OAAO;GAAW,MAAM;EAAQ,CAAA,GAC5D,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;GACE,SAAS;GACT,IAAI,EACF,OAAO,iBACT;aAEA,kBAAC,UAAD,EAAA,UAAQ,iCAAsC,CAAA;EACpC,CAAA,GACZ,kBAAC,GAAD;GACE,SAAS;GACT,IAAI,EACF,OAAO,iBACT;aACD;EAEW,CAAA,CACT,EAAA,CAAA,CACY;MAEZ,KAAc,CAAC,KAAY,IAElC,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,SAAS;EACT,IAAI,EACF,OAAO,iBACT;YAEA,kBAAC,UAAD,EAAA,UAAQ,qCAA0C,CAAA;CACxC,CAAA,GACZ,kBAAC,GAAD;EACE,SAAS;EACT,IAAI,EACF,OAAO,iBACT;YACD;CAGW,CAAA,CACK,EAAA,CAAA,IAEZ,CAAC,KAAc,KAAY,IAElC,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;EACE,SAAS;EACT,IAAI,EACF,OAAO,iBACT;YAEA,kBAAC,UAAD,EAAA,UAAQ,0DAEA,CAAA;CACE,CAAA,GACZ,kBAAC,GAAD;EACE,SAAS;EACT,IAAI,EACF,OAAO,iBACT;YACD;CAGW,CAAA,CACK,EAAA,CAAA,IAIhB;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotifyNewACLUsers.js","names":[],"sources":["../../../src/components/EntityAclEditor/useNotifyNewACLUsers.ts"],"sourcesContent":["import {\n useGetCurrentUserProfile,\n useGetUserGroupHeaders,\n useSendMessage,\n} from '@/synapse-queries'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport {\n ResourceAccess,\n UserGroupHeader,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback } from 'react'\nimport { displayToast } from '../ToastMessage'\n\ntype UseNotifyNewACLUsersOptions = {\n subject: string\n body: string\n initialResourceAccessList: ResourceAccess[]\n newResourceAccessList: ResourceAccess[]\n}\n\nexport function shouldNotifyUserInNewResourceAccess(\n principalId: number,\n initialResourceAccessList: ResourceAccess[],\n userGroupHeader: UserGroupHeader,\n currentUserId: string,\n publicPrincipalIds: string[],\n): boolean {\n const isInInitialResourceAccess = initialResourceAccessList.some(\n initialResourceAccess => principalId === initialResourceAccess.principalId,\n )\n const isIndividual = userGroupHeader.isIndividual\n const isCurrentUser = String(principalId) === currentUserId\n const isPublic = publicPrincipalIds.includes(String(principalId))\n\n return (\n !isInInitialResourceAccess && // Is not in the initial list\n isIndividual && // Is an individual, not a team (SWC-1195)\n !isCurrentUser && // do not notify the current user (SWC-5576)\n !isPublic // never try to notify all/public users\n )\n}\n\nexport default function useNotifyNewACLUsers(\n options: UseNotifyNewACLUsersOptions,\n) {\n const { subject, body, initialResourceAccessList, newResourceAccessList } =\n options\n\n const { data } = useGetRealmPrincipals()\n const realmPrincipals = data || {}\n const {\n authenticatedUsers: authenticatedUsersId,\n publicGroup: publicGroupId,\n anonymousUser: anonymousUserId,\n } = realmPrincipals\n const publicPrincipalIds = [\n authenticatedUsersId,\n publicGroupId,\n anonymousUserId,\n ].filter((id): id is string => id !== undefined)\n\n const { data: currentUserProfile, isLoading: isLoadingCurrentUserProfile } =\n useGetCurrentUserProfile()\n const { data: userGroupHeaders, isLoading: isLoadingUserGroupHeaders } =\n useGetUserGroupHeaders(\n newResourceAccessList.map(ra => String(ra.principalId)),\n )\n const isLoading = isLoadingCurrentUserProfile || isLoadingUserGroupHeaders\n\n const { mutate: sendMessage, isPending } = useSendMessage({\n onError: error => {\n displayToast(`New users couldn't be notified: ${error.reason}`)\n },\n })\n\n const sendNotification = useCallback(() => {\n if (isLoading) {\n console.error(\n 'Attempted to send notification before user profile or user group headers were loaded. This should never happen.',\n )\n return\n }\n const usersToNotify = newResourceAccessList\n .filter(newResourceAccess => {\n const userGroupHeader = userGroupHeaders!.find(\n ugh => ugh.ownerId === String(newResourceAccess.principalId),\n )!\n return shouldNotifyUserInNewResourceAccess(\n newResourceAccess.principalId,\n initialResourceAccessList,\n userGroupHeader,\n currentUserProfile!.ownerId,\n publicPrincipalIds,\n )\n })\n .map(ra => String(ra.principalId))\n\n if (usersToNotify.length > 0) {\n sendMessage({\n subject,\n body,\n recipients: usersToNotify,\n })\n }\n }, [\n body,\n currentUserProfile,\n initialResourceAccessList,\n isLoading,\n newResourceAccessList,\n publicPrincipalIds,\n sendMessage,\n subject,\n userGroupHeaders,\n ])\n\n return {\n sendNotification,\n isPending,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;;;AAoBA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACS;CACT,IAAM,IAA4B,EAA0B,MAC1D,MAAyB,MAAgB,EAAsB,
|
|
1
|
+
{"version":3,"file":"useNotifyNewACLUsers.js","names":[],"sources":["../../../src/components/EntityAclEditor/useNotifyNewACLUsers.ts"],"sourcesContent":["import {\n useGetCurrentUserProfile,\n useGetUserGroupHeaders,\n useSendMessage,\n} from '@/synapse-queries'\nimport { useGetRealmPrincipals } from '@/synapse-queries/realm/useRealmPrincipals'\nimport {\n ResourceAccess,\n UserGroupHeader,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback } from 'react'\nimport { displayToast } from '../ToastMessage'\n\ntype UseNotifyNewACLUsersOptions = {\n subject: string\n body: string\n initialResourceAccessList: ResourceAccess[]\n newResourceAccessList: ResourceAccess[]\n}\n\nexport function shouldNotifyUserInNewResourceAccess(\n principalId: number,\n initialResourceAccessList: ResourceAccess[],\n userGroupHeader: UserGroupHeader,\n currentUserId: string,\n publicPrincipalIds: string[],\n): boolean {\n const isInInitialResourceAccess = initialResourceAccessList.some(\n initialResourceAccess => principalId === initialResourceAccess.principalId,\n )\n const isIndividual = userGroupHeader.isIndividual\n const isCurrentUser = String(principalId) === currentUserId\n const isPublic = publicPrincipalIds.includes(String(principalId))\n\n return (\n !isInInitialResourceAccess && // Is not in the initial list\n isIndividual && // Is an individual, not a team (SWC-1195)\n !isCurrentUser && // do not notify the current user (SWC-5576)\n !isPublic // never try to notify all/public users\n )\n}\n\nexport default function useNotifyNewACLUsers(\n options: UseNotifyNewACLUsersOptions,\n) {\n const { subject, body, initialResourceAccessList, newResourceAccessList } =\n options\n\n const { data } = useGetRealmPrincipals()\n const realmPrincipals = data || {}\n const {\n authenticatedUsers: authenticatedUsersId,\n publicGroup: publicGroupId,\n anonymousUser: anonymousUserId,\n } = realmPrincipals\n const publicPrincipalIds = [\n authenticatedUsersId,\n publicGroupId,\n anonymousUserId,\n ].filter((id): id is string => id !== undefined)\n\n const { data: currentUserProfile, isLoading: isLoadingCurrentUserProfile } =\n useGetCurrentUserProfile()\n const { data: userGroupHeaders, isLoading: isLoadingUserGroupHeaders } =\n useGetUserGroupHeaders(\n newResourceAccessList.map(ra => String(ra.principalId)),\n )\n const isLoading = isLoadingCurrentUserProfile || isLoadingUserGroupHeaders\n\n const { mutate: sendMessage, isPending } = useSendMessage({\n onError: error => {\n displayToast(`New users couldn't be notified: ${error.reason}`)\n },\n })\n\n const sendNotification = useCallback(() => {\n if (isLoading) {\n console.error(\n 'Attempted to send notification before user profile or user group headers were loaded. This should never happen.',\n )\n return\n }\n const usersToNotify = newResourceAccessList\n .filter(newResourceAccess => {\n const userGroupHeader = userGroupHeaders!.find(\n ugh => ugh.ownerId === String(newResourceAccess.principalId),\n )!\n return shouldNotifyUserInNewResourceAccess(\n newResourceAccess.principalId,\n initialResourceAccessList,\n userGroupHeader,\n currentUserProfile!.ownerId,\n publicPrincipalIds,\n )\n })\n .map(ra => String(ra.principalId))\n\n if (usersToNotify.length > 0) {\n sendMessage({\n subject,\n body,\n recipients: usersToNotify,\n })\n }\n }, [\n body,\n currentUserProfile,\n initialResourceAccessList,\n isLoading,\n newResourceAccessList,\n publicPrincipalIds,\n sendMessage,\n subject,\n userGroupHeaders,\n ])\n\n return {\n sendNotification,\n isPending,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;;;AAoBA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACS;CACT,IAAM,IAA4B,EAA0B,MAC1D,MAAyB,MAAgB,EAAsB,WACjE,GACM,IAAe,EAAgB,cAC/B,IAAgB,OAAO,CAAW,MAAM,GACxC,IAAW,EAAmB,SAAS,OAAO,CAAW,CAAC;CAEhE,OACE,CAAC,KACD,KACA,CAAC,KACD,CAAC;AAEL;AAEA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,YAAS,SAAM,8BAA2B,6BAChD,GAEI,EAAE,YAAS,EAAsB,GAEjC,EACJ,oBAAoB,GACpB,aAAa,GACb,eAAe,MAJO,KAAQ,CAAC,GAM3B,IAAqB;EACzB;EACA;EACA;CACF,EAAE,QAAQ,MAAqB,MAAO,KAAA,CAAS,GAEzC,EAAE,MAAM,GAAoB,WAAW,MAC3C,EAAyB,GACrB,EAAE,MAAM,GAAkB,WAAW,MACzC,EACE,EAAsB,KAAI,MAAM,OAAO,EAAG,WAAW,CAAC,CACxD,GACI,IAAY,KAA+B,GAE3C,EAAE,QAAQ,GAAa,iBAAc,EAAe,EACxD,UAAS,MAAS;EAChB,EAAa,mCAAmC,EAAM,QAAQ;CAChE,EACF,CAAC;CA2CD,OAAO;EACL,kBA1CuB,QAAkB;GACzC,IAAI,GAAW;IACb,QAAQ,MACN,iHACF;IACA;GACF;GACA,IAAM,IAAgB,EACnB,QAAO,MAAqB;IAC3B,IAAM,IAAkB,EAAkB,MACxC,MAAO,EAAI,YAAY,OAAO,EAAkB,WAAW,CAC7D;IACA,OAAO,EACL,EAAkB,aAClB,GACA,GACA,EAAoB,SACpB,CACF;GACF,CAAC,EACA,KAAI,MAAM,OAAO,EAAG,WAAW,CAAC;GAEnC,AAAI,EAAc,SAAS,KACzB,EAAY;IACV;IACA;IACA,YAAY;GACd,CAAC;EAEL,GAAG;GACD;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGE;EACA;EACA;CACF;AACF"}
|
|
@@ -1,162 +1,160 @@
|
|
|
1
1
|
import { useGetRealmPrincipals as e } from "../../synapse-queries/realm/useRealmPrincipals.js";
|
|
2
2
|
import t from "../../synapse-queries/entity/useEntityBundle.js";
|
|
3
3
|
import { useDeleteEntity as n, useGetJson as r } from "../../synapse-queries/entity/useEntity.js";
|
|
4
|
-
import { useGetSchemaBinding as
|
|
4
|
+
import { useGetSchemaBinding as ee, useGetValidationResults as te } from "../../synapse-queries/entity/useEntityBoundSchema.js";
|
|
5
5
|
import "../../synapse-queries/index.js";
|
|
6
|
-
import { WarningDialog as
|
|
7
|
-
import { isEntityPublic as
|
|
8
|
-
import { getDisplayedAnnotation as
|
|
9
|
-
import { EntityModal as
|
|
10
|
-
import { HoverPopover as
|
|
11
|
-
import { useEffect as
|
|
12
|
-
import { isEmpty as
|
|
13
|
-
import { Tooltip as
|
|
14
|
-
import { Fragment as
|
|
15
|
-
import { ALL_ENTITY_BUNDLE_FIELDS as
|
|
16
|
-
import { EntityType as
|
|
17
|
-
import { ChatBubbleTwoTone as
|
|
18
|
-
import { useInView as
|
|
6
|
+
import { WarningDialog as i } from "../SynapseForm/WarningDialog.js";
|
|
7
|
+
import { isEntityPublic as a } from "../../utils/functions/AccessControlListUtils.js";
|
|
8
|
+
import { getDisplayedAnnotation as o } from "../entity/metadata/AnnotationsTable.js";
|
|
9
|
+
import { EntityModal as s } from "../entity/metadata/EntityModal.js";
|
|
10
|
+
import { HoverPopover as c } from "../styled/HoverPopover.js";
|
|
11
|
+
import { useEffect as ne, useState as l } from "react";
|
|
12
|
+
import { isEmpty as u } from "lodash-es";
|
|
13
|
+
import { Tooltip as d } from "@mui/material";
|
|
14
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
15
|
+
import { ALL_ENTITY_BUNDLE_FIELDS as h } from "@sage-bionetworks/synapse-types";
|
|
16
|
+
import { EntityType as g } from "@sage-bionetworks/synapse-client";
|
|
17
|
+
import { ChatBubbleTwoTone as _, CheckTwoTone as v, DescriptionTwoTone as y, LinkOffTwoTone as b, LocalOfferTwoTone as x, LockTwoTone as S, PublicTwoTone as C } from "@mui/icons-material";
|
|
18
|
+
import { useInView as w } from "react-intersection-observer";
|
|
19
19
|
//#region src/components/EntityBadgeIcons/EntityBadgeIcons.tsx
|
|
20
|
-
var
|
|
21
|
-
let { entityId:
|
|
22
|
-
|
|
23
|
-
}({}), { ref: z, inView: B } = x(), { data: V } = r(C, w, !0, { enabled: B }), H = V?.annotations, { data: U } = t(C, w, _, { enabled: B }), [W, G] = d(!1), [K, q] = d(!1), [J, Y] = d(R.NO_SCHEMA), { data: X } = i(C, {
|
|
24
|
-
enabled: B,
|
|
20
|
+
var T = (T) => {
|
|
21
|
+
let { entityId: E, versionNumber: D, flexWrap: O = "nowrap", justifyContent: k = "flex-start", showIsPublicPrivate: A = !0, showHasLocalSharingSettings: j = !0, showHasAnnotations: M = !0, showHasWiki: N = !0, showHasDiscussionThread: P = !0, showUnlink: F = !0, onUnlink: I = () => {}, onUnlinkError: L = () => {}, canOpenModal: R } = T, { data: re } = e(), z = re || {}, { ref: B, inView: V } = w(), { data: H } = r(E, D, !0, { enabled: V }), U = H?.annotations, { data: W } = t(E, D, h, { enabled: V }), [G, K] = l(!1), [q, J] = l(!1), [Y, X] = l(""), { data: Z } = ee(E, {
|
|
22
|
+
enabled: V,
|
|
25
23
|
staleTime: 60 * 1e3
|
|
26
|
-
}), { data:
|
|
27
|
-
enabled:
|
|
24
|
+
}), { data: Q } = te(E, {
|
|
25
|
+
enabled: V && !!Z,
|
|
28
26
|
staleTime: 60 * 1e3
|
|
29
|
-
}),
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
}), $ = U && !u(U) ? Object.keys(U).length : 0;
|
|
28
|
+
ne(() => {
|
|
29
|
+
Q && (Q.isValid ? X("Valid") : X($ ? "Invalid" : "Missing"));
|
|
32
30
|
}, [
|
|
33
|
-
Z,
|
|
34
31
|
Q,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
$,
|
|
33
|
+
U,
|
|
34
|
+
"Valid",
|
|
35
|
+
"Invalid",
|
|
36
|
+
"Missing"
|
|
39
37
|
]);
|
|
40
|
-
let { mutate:
|
|
38
|
+
let { mutate: ie } = n({
|
|
41
39
|
onSuccess: (e, t) => {
|
|
42
|
-
|
|
40
|
+
I(t);
|
|
43
41
|
},
|
|
44
|
-
onError:
|
|
45
|
-
}),
|
|
42
|
+
onError: L
|
|
43
|
+
}), ae = /* @__PURE__ */ p(f, { children: U ? Object.entries(U ?? []).map(([e, t]) => /* @__PURE__ */ m("tr", { children: [/* @__PURE__ */ p("td", { children: /* @__PURE__ */ p("b", { children: e }) }), /* @__PURE__ */ p("td", { children: Array.isArray(t) ? t.map(o).join(", ") : o(t) })] }, e)) : "" }), oe = /* @__PURE__ */ p(f, { children: Z ? /* @__PURE__ */ m("tr", { children: [/* @__PURE__ */ p("td", { children: /* @__PURE__ */ p("b", { children: "Validation Schema" }) }), /* @__PURE__ */ p("td", { children: Z.jsonSchemaVersionInfo.schemaName })] }) : "" }), se = Q ? `${Y} Annotations` : "", ce = /* @__PURE__ */ p("div", {
|
|
46
44
|
className: "EntityBadgeTooltip",
|
|
47
|
-
children: /* @__PURE__ */
|
|
45
|
+
children: /* @__PURE__ */ p("table", { children: /* @__PURE__ */ m("tbody", { children: [ae || "", oe] }) })
|
|
48
46
|
});
|
|
49
|
-
return /* @__PURE__ */
|
|
47
|
+
return /* @__PURE__ */ p("div", {
|
|
50
48
|
className: "EntityBadge",
|
|
51
|
-
ref:
|
|
49
|
+
ref: B,
|
|
52
50
|
style: {
|
|
53
|
-
flexWrap:
|
|
54
|
-
justifyContent:
|
|
51
|
+
flexWrap: O,
|
|
52
|
+
justifyContent: k
|
|
55
53
|
},
|
|
56
|
-
children:
|
|
57
|
-
/* @__PURE__ */
|
|
54
|
+
children: W && /* @__PURE__ */ m(f, { children: [
|
|
55
|
+
/* @__PURE__ */ p("div", {
|
|
58
56
|
onClick: (e) => e.stopPropagation(),
|
|
59
|
-
children: /* @__PURE__ */
|
|
60
|
-
entityId:
|
|
61
|
-
show:
|
|
57
|
+
children: /* @__PURE__ */ p(s, {
|
|
58
|
+
entityId: E,
|
|
59
|
+
show: G,
|
|
62
60
|
showTabs: !1,
|
|
63
|
-
onClose: () =>
|
|
61
|
+
onClose: () => K(!1),
|
|
64
62
|
initialTab: "ANNOTATIONS"
|
|
65
63
|
})
|
|
66
64
|
}),
|
|
67
|
-
|
|
65
|
+
A && W.benefactorAcl && a(W.benefactorAcl.resourceAccess, z) ? /* @__PURE__ */ p(d, {
|
|
68
66
|
title: "Public",
|
|
69
67
|
enterNextDelay: 100,
|
|
70
68
|
placement: "right",
|
|
71
|
-
children: /* @__PURE__ */
|
|
69
|
+
children: /* @__PURE__ */ p(C, {
|
|
72
70
|
"aria-hidden": !1,
|
|
73
71
|
role: "img",
|
|
74
72
|
className: "EntityBadge__Badge",
|
|
75
73
|
"data-testid": "is-public-icon"
|
|
76
74
|
})
|
|
77
75
|
}) : null,
|
|
78
|
-
|
|
76
|
+
A && W.benefactorAcl && !a(W.benefactorAcl.resourceAccess, z) ? /* @__PURE__ */ p(d, {
|
|
79
77
|
title: "Private",
|
|
80
78
|
enterNextDelay: 100,
|
|
81
79
|
placement: "right",
|
|
82
|
-
children: /* @__PURE__ */
|
|
80
|
+
children: /* @__PURE__ */ p(S, {
|
|
83
81
|
"aria-hidden": !1,
|
|
84
82
|
role: "img",
|
|
85
83
|
className: "EntityBadge__Badge",
|
|
86
84
|
"data-testid": "is-private-icon"
|
|
87
85
|
})
|
|
88
86
|
}) : null,
|
|
89
|
-
|
|
87
|
+
j && W.benefactorAcl && E === W.benefactorAcl.id ? /* @__PURE__ */ p(d, {
|
|
90
88
|
title: "Sharing Settings have been set",
|
|
91
89
|
enterNextDelay: 100,
|
|
92
90
|
placement: "right",
|
|
93
|
-
children: /* @__PURE__ */
|
|
91
|
+
children: /* @__PURE__ */ p(v, {
|
|
94
92
|
"aria-hidden": !1,
|
|
95
93
|
role: "img",
|
|
96
94
|
className: "EntityBadge__Badge",
|
|
97
95
|
"data-testid": "sharing-settings-icon"
|
|
98
96
|
})
|
|
99
97
|
}) : null,
|
|
100
|
-
|
|
101
|
-
title:
|
|
102
|
-
popoverContent:
|
|
98
|
+
M && !!($ || Q) && /* @__PURE__ */ p(c, {
|
|
99
|
+
title: se,
|
|
100
|
+
popoverContent: ce,
|
|
103
101
|
placement: "right",
|
|
104
102
|
maxWidth: 500,
|
|
105
|
-
actionButton:
|
|
103
|
+
actionButton: R ? {
|
|
106
104
|
content: "Edit Annotations",
|
|
107
|
-
onClick: () =>
|
|
105
|
+
onClick: () => K(!0),
|
|
108
106
|
closeOnClick: !0
|
|
109
107
|
} : void 0,
|
|
110
|
-
children: /* @__PURE__ */
|
|
108
|
+
children: /* @__PURE__ */ p(x, {
|
|
111
109
|
"aria-hidden": !1,
|
|
112
|
-
role:
|
|
113
|
-
className: `EntityBadge__Badge ${
|
|
110
|
+
role: R ? "button" : "img",
|
|
111
|
+
className: `EntityBadge__Badge ${Y}`,
|
|
114
112
|
"data-html": !0,
|
|
115
113
|
"data-testid": "annotations-icon"
|
|
116
114
|
})
|
|
117
115
|
}),
|
|
118
|
-
|
|
116
|
+
N && W.rootWikiId && /* @__PURE__ */ p(d, {
|
|
119
117
|
title: "Has a wiki",
|
|
120
118
|
enterNextDelay: 100,
|
|
121
119
|
placement: "right",
|
|
122
|
-
children: /* @__PURE__ */
|
|
120
|
+
children: /* @__PURE__ */ p(y, {
|
|
123
121
|
"aria-hidden": !1,
|
|
124
122
|
role: "img",
|
|
125
123
|
className: "EntityBadge__Badge",
|
|
126
124
|
"data-testid": "wiki-icon"
|
|
127
125
|
})
|
|
128
126
|
}),
|
|
129
|
-
|
|
127
|
+
P && !!W.threadCount && W.threadCount > 0 && /* @__PURE__ */ p(d, {
|
|
130
128
|
title: "Has been mentioned in discussion",
|
|
131
129
|
enterNextDelay: 100,
|
|
132
130
|
placement: "right",
|
|
133
|
-
children: /* @__PURE__ */
|
|
131
|
+
children: /* @__PURE__ */ p(_, {
|
|
134
132
|
"aria-hidden": !1,
|
|
135
133
|
role: "img",
|
|
136
134
|
className: "EntityBadge__Badge",
|
|
137
135
|
"data-testid": "discussion-icon"
|
|
138
136
|
})
|
|
139
137
|
}),
|
|
140
|
-
|
|
141
|
-
open:
|
|
138
|
+
F && W.entityType === g.link && W.permissions?.canDelete && /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(i, {
|
|
139
|
+
open: q,
|
|
142
140
|
title: "Confirm Unlink",
|
|
143
141
|
content: "Are you sure you want to remove this link? The original object will not be changed.",
|
|
144
142
|
confirmButtonText: "Unlink",
|
|
145
143
|
confirmButtonColor: "error",
|
|
146
144
|
onConfirm: () => {
|
|
147
|
-
|
|
145
|
+
ie(E), J(!1);
|
|
148
146
|
},
|
|
149
147
|
onCancel: () => {
|
|
150
|
-
|
|
148
|
+
J(!1);
|
|
151
149
|
}
|
|
152
|
-
}), /* @__PURE__ */
|
|
150
|
+
}), /* @__PURE__ */ p(d, {
|
|
153
151
|
title: "Remove this link",
|
|
154
152
|
enterNextDelay: 100,
|
|
155
153
|
placement: "right",
|
|
156
|
-
children: /* @__PURE__ */
|
|
154
|
+
children: /* @__PURE__ */ p(b, {
|
|
157
155
|
"aria-hidden": !1,
|
|
158
156
|
role: "button",
|
|
159
|
-
onClick: () =>
|
|
157
|
+
onClick: () => J(!0),
|
|
160
158
|
className: "EntityBadge__Badge Unlink",
|
|
161
159
|
"data-testid": "unlink-icon"
|
|
162
160
|
})
|
|
@@ -165,6 +163,6 @@ var S = (S) => {
|
|
|
165
163
|
});
|
|
166
164
|
};
|
|
167
165
|
//#endregion
|
|
168
|
-
export {
|
|
166
|
+
export { T as EntityBadgeIcons, T as default };
|
|
169
167
|
|
|
170
168
|
//# sourceMappingURL=EntityBadgeIcons.js.map
|