synapse-react-client 4.0.44 → 4.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.d.ts +1 -1
- package/dist/SWC.index.js +2 -2
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/AridhiaKeyFactory.d.ts +1 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -1
- package/dist/aridhia-queries/AridhiaKeyFactory.js +3 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
- package/dist/aridhia-queries/index.d.ts +1 -0
- package/dist/aridhia-queries/index.d.ts.map +1 -1
- package/dist/aridhia-queries/index.js +11 -10
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts +19 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js +14 -0
- package/dist/aridhia-queries/useGetAridhiaVocabularyTerm.js.map +1 -0
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +6 -4
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +2 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +126 -125
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +28 -16
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +99 -97
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +11 -8
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts +1 -4
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.js +15 -18
- package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js +17 -13
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +3 -3
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -1
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +33 -34
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -1
- package/dist/components/Aridhia/fairFormToRjsf.js +1 -1
- package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js +1 -1
- package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +6 -6
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js +4 -4
- package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +4 -4
- package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/ComponentCollapse.d.ts.map +1 -1
- package/dist/components/ComponentCollapse.js +2 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.d.ts.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +52 -49
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +231 -219
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.js +5 -4
- package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js +7 -5
- package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js +4 -4
- package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsButton.js +4 -4
- package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +12 -8
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js +1 -1
- package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js +5 -5
- package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js +14 -14
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.js +22 -13
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +2 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +1 -3
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.d.ts.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +16 -10
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js +4 -4
- package/dist/components/EntityFinder/EntityIdTextField.js +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.d.ts.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js +5 -4
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js +2 -1
- package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.d.ts.map +1 -1
- package/dist/components/EntityUpload/FileUploadProgress.js +11 -7
- package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.d.ts.map +1 -1
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js +4 -3
- package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +2 -1
- package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +2 -1
- package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.js +2 -1
- package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -1
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js +4 -4
- package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js +1 -1
- package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -1
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +1 -1
- package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -1
- package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/StepCard.js +15 -10
- package/dist/components/FormTemplateEditor/StepCard.js.map +1 -1
- package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/StepFieldRow.js +11 -6
- package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +2 -1
- package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -1
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts +9 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js +45 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts +22 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js +139 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js.map +1 -0
- package/dist/components/Forum/ForumTable.d.ts +17 -5
- package/dist/components/Forum/ForumTable.d.ts.map +1 -1
- package/dist/components/Forum/ForumTable.js +94 -77
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +45 -45
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js +5 -5
- package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/HelpPopover/HelpPopover.js +1 -1
- package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +154 -47
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js +19 -16
- package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +2 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts +9 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.d.ts.map +1 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js +21 -0
- package/dist/components/JsonSchemaForm/widgets/PhoneWidget.js.map +1 -0
- package/dist/components/Markdown/MarkdownCollapse.d.ts.map +1 -1
- package/dist/components/Markdown/MarkdownCollapse.js +3 -1
- package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/PortalList/PortalCard.d.ts.map +1 -1
- package/dist/components/PortalList/PortalCard.js +6 -5
- package/dist/components/PortalList/PortalCard.js.map +1 -1
- package/dist/components/PortalList/PortalList.js +4 -4
- package/dist/components/PortalList/PortalList.js.map +1 -1
- package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
- package/dist/components/QueryBuilder/FilterConditionRow.js +4 -4
- package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
- package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.d.ts.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +142 -108
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.d.ts.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js +15 -15
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +57 -55
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js +1 -1
- package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +1 -1
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js +2 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js +1 -1
- package/dist/components/SynapseChat/components/ChatInputArea/ChatInputArea.js.map +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js +1 -1
- package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.d.ts.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js +2 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js +4 -4
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +4 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +12 -9
- package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.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/datasets/DatasetItemsEditor.js +140 -140
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +9 -9
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js +6 -4
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js +1 -1
- package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.d.ts.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js +4 -3
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +4 -4
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js +1 -1
- package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.js +13 -11
- package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -1
- package/dist/components/dataaccess/FormTemplateTable.js +6 -6
- package/dist/components/dataaccess/FormTemplateTable.js.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +17 -17
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +4 -4
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +4 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/download_list/DownloadDetails.d.ts.map +1 -1
- package/dist/components/download_list/DownloadDetails.js +12 -10
- package/dist/components/download_list/DownloadDetails.js.map +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js +1 -1
- package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/error/ErrorChip.d.ts.map +1 -1
- package/dist/components/error/ErrorChip.js +2 -1
- package/dist/components/error/ErrorChip.js.map +1 -1
- package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +14 -14
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +4 -4
- package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.js +7 -6
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +8 -8
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +4 -4
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +4 -4
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +4 -4
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +1 -1
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js +10 -10
- package/dist/features/entity/metadata-task/create-task/curationTaskFlowRoutes.js.map +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js +1 -1
- package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +5 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +37 -26
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +8 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +52 -41
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js +40 -33
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js +70 -67
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js +2 -2
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/server.d.ts.map +1 -1
- package/dist/mocks/msw/server.js +4 -2
- package/dist/mocks/msw/server.js.map +1 -1
- package/dist/synapse-client/SynapseClient.d.ts +10 -0
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +486 -482
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/index.js +3 -3
- package/dist/synapse-queries/KeyFactory.d.ts +13 -1
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +11 -1
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +4 -4
- package/dist/synapse-queries/dataaccess/useAccessRequirements.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +4 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +19 -5
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +29 -21
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +12 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +52 -30
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/forum/useForum.d.ts +5 -1
- package/dist/synapse-queries/forum/useForum.d.ts.map +1 -1
- package/dist/synapse-queries/forum/useForum.js +23 -1
- package/dist/synapse-queries/forum/useForum.js.map +1 -1
- package/dist/synapse-queries/index.js +185 -184
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +5 -3
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -1
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +12 -15
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.d.ts.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/theme/DefaultTheme.d.ts.map +1 -1
- package/dist/theme/DefaultTheme.js +4 -1
- package/dist/theme/DefaultTheme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/AppUtils.js +1 -1
- package/dist/utils/AppUtils/AppUtils.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/getEndpoint.d.ts +1 -0
- package/dist/utils/functions/getEndpoint.d.ts.map +1 -1
- package/dist/utils/functions/getEndpoint.js +3 -3
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/types/RequestableAccessRequirement.d.ts +8 -0
- package/dist/utils/types/RequestableAccessRequirement.d.ts.map +1 -0
- package/dist/utils/types/RequestableAccessRequirement.js +9 -0
- package/dist/utils/types/RequestableAccessRequirement.js.map +1 -0
- package/package.json +6 -5
- package/dist/testutils/ReactQueryMockUtils.js +0 -676
- package/dist/testutils/ReactQueryMockUtils.js.map +0 -1
|
@@ -14,35 +14,36 @@ import { EntityLink as s } from "../EntityLink.js";
|
|
|
14
14
|
import ae from "../UserOrTeamBadge/index.js";
|
|
15
15
|
import { AccessRequirementListItem as oe } from "./AccessRequirementListItem.js";
|
|
16
16
|
import { hasAccessorRequirement as c } from "../SetBasicAccessRequirementFields/GovernanceUtils.js";
|
|
17
|
-
import {
|
|
18
|
-
import
|
|
19
|
-
import le from "./ManagedACTAccessRequirementRequestFlow/
|
|
20
|
-
import ue from "./
|
|
21
|
-
import de from "./
|
|
22
|
-
import fe from "./ManagedACTAccessRequirementRequestFlow/
|
|
23
|
-
import pe from "./ManagedACTAccessRequirementRequestFlow/
|
|
24
|
-
import me from "./ManagedACTAccessRequirementRequestFlow/
|
|
25
|
-
import he from "./ManagedACTAccessRequirementRequestFlow/
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import
|
|
36
|
-
import
|
|
17
|
+
import { isRequestableAccessRequirement as se } from "../../utils/types/RequestableAccessRequirement.js";
|
|
18
|
+
import { RequestDataStep as l, getFirstRequestStep as u, getNextRequestStep as d, getPreviousRequestStep as ce } from "./RequestDataStep.js";
|
|
19
|
+
import le from "./ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js";
|
|
20
|
+
import ue from "./ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js";
|
|
21
|
+
import de from "./JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard.js";
|
|
22
|
+
import fe from "./ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js";
|
|
23
|
+
import pe from "./ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js";
|
|
24
|
+
import me from "./ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js";
|
|
25
|
+
import he from "./ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js";
|
|
26
|
+
import ge from "./ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js";
|
|
27
|
+
import f from "./ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js";
|
|
28
|
+
import p from "./RequirementItem/AuthenticatedRequirement.js";
|
|
29
|
+
import m from "./RequirementItem/CertificationRequirement.js";
|
|
30
|
+
import h from "./RequirementItem/TwoFactorAuthEnabledRequirement.js";
|
|
31
|
+
import g from "./RequirementItem/ValidationRequirement.js";
|
|
32
|
+
import { useMemo as _, useState as v } from "react";
|
|
33
|
+
import { Button as _e, Dialog as ve, DialogActions as ye, DialogContent as be, Typography as y, styled as b } from "@mui/material";
|
|
34
|
+
import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
35
|
+
import { ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as w, JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as T, LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as E, MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as D, RestrictableObjectType as O, SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as k, TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE as A } from "@sage-bionetworks/synapse-types";
|
|
36
|
+
import j from "lodash-es/noop";
|
|
37
|
+
import M from "lodash-es/groupBy";
|
|
37
38
|
//#region src/components/AccessRequirementList/AccessRequirementList.tsx
|
|
38
|
-
var
|
|
39
|
+
var N = [
|
|
40
|
+
k,
|
|
39
41
|
A,
|
|
40
|
-
|
|
41
|
-
O,
|
|
42
|
-
E,
|
|
42
|
+
D,
|
|
43
43
|
T,
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
w,
|
|
45
|
+
E
|
|
46
|
+
], P = new Set(N), F = b(y, { label: "DialogSubsectionHeader" })(({ theme: e }) => ({
|
|
46
47
|
marginTop: e.spacing(4),
|
|
47
48
|
marginBottom: e.spacing(2),
|
|
48
49
|
paddingBottom: e.spacing(1),
|
|
@@ -50,88 +51,88 @@ var P = [
|
|
|
50
51
|
fontWeight: "bold",
|
|
51
52
|
borderBottom: "1px solid",
|
|
52
53
|
borderColor: e.palette.grey[200]
|
|
53
|
-
})),
|
|
54
|
-
function
|
|
55
|
-
let { onHide:
|
|
56
|
-
enabled: !!
|
|
54
|
+
})), I = (e) => e.some(L), L = (e) => !P.has(e.concreteType);
|
|
55
|
+
function R(b) {
|
|
56
|
+
let { onHide: w = j, renderAsModal: E = !1, numberOfFilesAffected: k, requestObjectName: A, customDialogActions: P, onSubmissionCreated: I = j, initialWizardEntry: L } = b, R = "entityId" in b, z = "teamId" in b, xe = "accessRequirementFromProps" in b, B = "subjectId" in b ? b.subjectId : R ? b.entityId : z ? b.teamId : void 0, V = "subjectType" in b ? b.subjectType : R ? O.ENTITY : z ? O.TEAM : void 0, { dialogTitle: H = "Data Access Request" } = b, { isAuthenticated: Se } = i(), [U, Ce] = v(L?.step ?? l.SHOW_ALL_ARS), we = ee(), [W, Te] = v(L?.accessRequirement), G = W?.concreteType === D ? W : void 0, K = W?.concreteType === T ? W : void 0, [Ee, De] = v(""), [Oe, ke] = v(), Ae = te(W), { data: je } = re(B, { enabled: B !== void 0 && V === O.TEAM }), { data: Me } = ne(B, { enabled: B !== void 0 && V === O.ENTITY }), q = (xe ? b.accessRequirementFromProps : void 0) ?? Me ?? je, { data: J } = ie((q ?? []).map((e) => String(e.id)), {
|
|
57
|
+
enabled: !!q,
|
|
57
58
|
staleTime: Infinity
|
|
58
|
-
}),
|
|
59
|
-
if (
|
|
60
|
-
let e =
|
|
61
|
-
return
|
|
59
|
+
}), Ne = _(() => {
|
|
60
|
+
if (q && J) {
|
|
61
|
+
let e = M(q, "concreteType");
|
|
62
|
+
return N.map((t) => {
|
|
62
63
|
let n = e[t];
|
|
63
|
-
return n ?
|
|
64
|
+
return n ? J.map((e) => n.find((t) => e === String(t.id))) : [];
|
|
64
65
|
}).flat().filter((e) => e !== void 0);
|
|
65
66
|
}
|
|
66
|
-
}, [
|
|
67
|
+
}, [q, J]), Y = (e) => {
|
|
67
68
|
let { accessRequirement: t, step: n, researchProjectId: r, dataAccessRequest: i } = e;
|
|
68
|
-
t &&
|
|
69
|
-
},
|
|
70
|
-
/* @__PURE__ */
|
|
69
|
+
t && Te(t), r && De(r), i && ke(i), Ce(n);
|
|
70
|
+
}, X = () => Y({ step: d(W, U) }), Z = () => Y({ step: ce(W, U) }), Pe = q?.some((e) => se(e) && e.isTwoFaRequired), Q = q?.some((e) => c(e) && e.isCertifiedUserRequired), Fe = q?.some((e) => c(e) && e.isValidatedProfileRequired), Ie = _(() => A || (k ? /* @__PURE__ */ C(x, { children: [
|
|
71
|
+
/* @__PURE__ */ S(o, {
|
|
71
72
|
icon: "file",
|
|
72
73
|
sx: { width: "30px" }
|
|
73
74
|
}),
|
|
74
75
|
" ",
|
|
75
|
-
|
|
76
|
+
k,
|
|
76
77
|
" ",
|
|
77
78
|
"File(s)"
|
|
78
|
-
] }) :
|
|
79
|
+
] }) : B !== void 0 && V === O.ENTITY ? /* @__PURE__ */ S(s, { entity: B }) : V === O.TEAM ? /* @__PURE__ */ S(ae, { principalId: B }) : (console.warn(`Unhandled case for AccessRequirementList requestDetails: ${V}: ${B}`), /* @__PURE__ */ S(x, {}))), [
|
|
80
|
+
k,
|
|
79
81
|
A,
|
|
80
|
-
|
|
81
|
-
V
|
|
82
|
-
H
|
|
82
|
+
B,
|
|
83
|
+
V
|
|
83
84
|
]), Le = [
|
|
84
85
|
l.UPDATE_ACCESSORS_AND_FILES,
|
|
85
86
|
l.UPDATE_RESEARCH_PROJECT,
|
|
86
87
|
l.REVIEW_DUC,
|
|
87
88
|
l.EDUC_PREVIEW
|
|
88
|
-
].includes(
|
|
89
|
-
switch (
|
|
89
|
+
].includes(U) && Ae ? "xl" : "md", $ = /* @__PURE__ */ S(x, {});
|
|
90
|
+
switch (U) {
|
|
90
91
|
case l.UPDATE_RESEARCH_PROJECT:
|
|
91
|
-
$ = /* @__PURE__ */
|
|
92
|
-
managedACTAccessRequirement:
|
|
92
|
+
$ = /* @__PURE__ */ S(pe, {
|
|
93
|
+
managedACTAccessRequirement: G,
|
|
93
94
|
onSave: (e) => {
|
|
94
|
-
|
|
95
|
-
step: d(
|
|
95
|
+
Y({
|
|
96
|
+
step: d(G, U),
|
|
96
97
|
researchProjectId: e.id
|
|
97
98
|
});
|
|
98
99
|
},
|
|
99
|
-
onHide:
|
|
100
|
+
onHide: w
|
|
100
101
|
});
|
|
101
102
|
break;
|
|
102
103
|
case l.UPDATE_ACCESSORS_AND_FILES:
|
|
103
|
-
$ = /* @__PURE__ */
|
|
104
|
-
researchProjectId:
|
|
105
|
-
managedACTAccessRequirement:
|
|
106
|
-
subjectId:
|
|
107
|
-
subjectType:
|
|
108
|
-
onHide:
|
|
104
|
+
$ = /* @__PURE__ */ S(ue, {
|
|
105
|
+
researchProjectId: Ee,
|
|
106
|
+
managedACTAccessRequirement: G,
|
|
107
|
+
subjectId: B ?? "",
|
|
108
|
+
subjectType: V ?? O.ENTITY,
|
|
109
|
+
onHide: w,
|
|
109
110
|
onCancel: (e) => {
|
|
110
|
-
|
|
111
|
+
Y({
|
|
111
112
|
step: l.PROMPT_CANCEL,
|
|
112
113
|
dataAccessRequest: e
|
|
113
114
|
});
|
|
114
115
|
},
|
|
115
116
|
onSubmissionCreated: (e) => {
|
|
116
|
-
|
|
117
|
+
Y({ step: l.COMPLETE }), I(e);
|
|
117
118
|
},
|
|
118
|
-
onBackClicked:
|
|
119
|
-
onEDucContinue:
|
|
119
|
+
onBackClicked: Z,
|
|
120
|
+
onEDucContinue: G?.eDucTemplateId ? X : void 0
|
|
120
121
|
});
|
|
121
122
|
break;
|
|
122
123
|
case l.REVIEW_DUC:
|
|
123
|
-
$ = /* @__PURE__ */
|
|
124
|
-
managedACTAccessRequirement:
|
|
125
|
-
onHide:
|
|
126
|
-
onBackClicked:
|
|
127
|
-
onCreateDuc:
|
|
124
|
+
$ = /* @__PURE__ */ S(me, {
|
|
125
|
+
managedACTAccessRequirement: W,
|
|
126
|
+
onHide: w,
|
|
127
|
+
onBackClicked: Z,
|
|
128
|
+
onCreateDuc: X
|
|
128
129
|
});
|
|
129
130
|
break;
|
|
130
131
|
case l.EDUC_PREVIEW:
|
|
131
|
-
$ = /* @__PURE__ */
|
|
132
|
-
managedACTAccessRequirement:
|
|
133
|
-
onHide:
|
|
134
|
-
onBackClicked:
|
|
132
|
+
$ = /* @__PURE__ */ S(he, {
|
|
133
|
+
managedACTAccessRequirement: W,
|
|
134
|
+
onHide: w,
|
|
135
|
+
onBackClicked: Z,
|
|
135
136
|
onSendForSignature: () => {
|
|
136
137
|
e("Your DUC has been emailed to your collaborators. You can check signature progress in your access request history.", "info", {
|
|
137
138
|
primaryButtonConfig: {
|
|
@@ -139,125 +140,125 @@ function z(x) {
|
|
|
139
140
|
href: `${n(t.PORTAL_ENDPOINT)}RequestHistory:default`
|
|
140
141
|
},
|
|
141
142
|
dismissOnPrimaryButtonClick: !0
|
|
142
|
-
}),
|
|
143
|
+
}), w();
|
|
143
144
|
},
|
|
144
|
-
onManualUpload:
|
|
145
|
+
onManualUpload: X
|
|
145
146
|
});
|
|
146
147
|
break;
|
|
147
148
|
case l.MANUAL_UPLOAD_DUC:
|
|
148
|
-
$ = /* @__PURE__ */
|
|
149
|
-
managedACTAccessRequirement:
|
|
150
|
-
subjectId:
|
|
151
|
-
subjectType:
|
|
152
|
-
onHide:
|
|
153
|
-
onBackClicked:
|
|
149
|
+
$ = /* @__PURE__ */ S(ge, {
|
|
150
|
+
managedACTAccessRequirement: W,
|
|
151
|
+
subjectId: B ?? "",
|
|
152
|
+
subjectType: V ?? O.ENTITY,
|
|
153
|
+
onHide: w,
|
|
154
|
+
onBackClicked: Z,
|
|
154
155
|
onSubmissionCreated: (e) => {
|
|
155
|
-
|
|
156
|
+
Y({ step: l.COMPLETE }), I(e);
|
|
156
157
|
}
|
|
157
158
|
});
|
|
158
159
|
break;
|
|
159
160
|
case l.SIGNATURE_STATUS:
|
|
160
|
-
$ = /* @__PURE__ */
|
|
161
|
-
managedACTAccessRequirement:
|
|
162
|
-
subjectId:
|
|
163
|
-
subjectType:
|
|
164
|
-
onHide:
|
|
161
|
+
$ = /* @__PURE__ */ S(f, {
|
|
162
|
+
managedACTAccessRequirement: W,
|
|
163
|
+
subjectId: B ?? "",
|
|
164
|
+
subjectType: V ?? O.ENTITY,
|
|
165
|
+
onHide: w,
|
|
165
166
|
onBackClicked: () => {
|
|
166
|
-
|
|
167
|
+
Y({ step: u(W) });
|
|
167
168
|
},
|
|
168
169
|
onSubmissionCreated: (e) => {
|
|
169
|
-
|
|
170
|
+
Y({ step: l.COMPLETE }), I(e);
|
|
170
171
|
}
|
|
171
172
|
});
|
|
172
173
|
break;
|
|
173
174
|
case l.SCHEMA_DRIVEN_REQUEST:
|
|
174
|
-
$ = /* @__PURE__ */
|
|
175
|
-
accessRequirement:
|
|
176
|
-
subjectId:
|
|
177
|
-
subjectType:
|
|
178
|
-
onHide:
|
|
175
|
+
$ = /* @__PURE__ */ S(de, {
|
|
176
|
+
accessRequirement: K,
|
|
177
|
+
subjectId: B ?? "",
|
|
178
|
+
subjectType: V ?? O.ENTITY,
|
|
179
|
+
onHide: w,
|
|
179
180
|
onCancel: (e) => {
|
|
180
|
-
|
|
181
|
+
Y({
|
|
181
182
|
step: l.PROMPT_CANCEL,
|
|
182
183
|
dataAccessRequest: e
|
|
183
184
|
});
|
|
184
185
|
},
|
|
185
186
|
onSubmissionCreated: (e) => {
|
|
186
|
-
|
|
187
|
+
Y({ step: l.COMPLETE }), I(e);
|
|
187
188
|
},
|
|
188
|
-
onEDucContinue:
|
|
189
|
+
onEDucContinue: K?.eDucTemplateId ? X : void 0
|
|
189
190
|
});
|
|
190
191
|
break;
|
|
191
192
|
case l.PROMPT_CANCEL:
|
|
192
|
-
$ = /* @__PURE__ */
|
|
193
|
-
modifiedDataAccessRequest:
|
|
194
|
-
onHide:
|
|
193
|
+
$ = /* @__PURE__ */ S(le, {
|
|
194
|
+
modifiedDataAccessRequest: Oe,
|
|
195
|
+
onHide: w
|
|
195
196
|
});
|
|
196
197
|
break;
|
|
197
198
|
case l.PROMPT_LOGIN:
|
|
198
|
-
r(
|
|
199
|
+
r(we.toString()), H = "Please Log In", $ = /* @__PURE__ */ S(x, {});
|
|
199
200
|
break;
|
|
200
201
|
case l.COMPLETE:
|
|
201
|
-
$ = /* @__PURE__ */
|
|
202
|
+
$ = /* @__PURE__ */ S(fe, { onHide: w });
|
|
202
203
|
break;
|
|
203
204
|
case l.SHOW_ALL_ARS:
|
|
204
|
-
default: $ = /* @__PURE__ */
|
|
205
|
-
|
|
206
|
-
title:
|
|
207
|
-
onCancel:
|
|
208
|
-
}) : /* @__PURE__ */
|
|
205
|
+
default: $ = /* @__PURE__ */ C(x, { children: [
|
|
206
|
+
E ? /* @__PURE__ */ S(a, {
|
|
207
|
+
title: H,
|
|
208
|
+
onCancel: w
|
|
209
|
+
}) : /* @__PURE__ */ S(y, {
|
|
209
210
|
variant: "h5",
|
|
210
211
|
sx: { mb: 2 },
|
|
211
|
-
children:
|
|
212
|
+
children: H
|
|
212
213
|
}),
|
|
213
|
-
/* @__PURE__ */
|
|
214
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ C(be, { children: [
|
|
215
|
+
/* @__PURE__ */ S(F, {
|
|
215
216
|
variant: "h4",
|
|
216
217
|
sx: { mt: 0 },
|
|
217
218
|
children: "What is this request for?"
|
|
218
219
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
220
|
+
/* @__PURE__ */ S(y, {
|
|
220
221
|
variant: "body1",
|
|
221
222
|
component: "span",
|
|
222
223
|
children: Ie
|
|
223
224
|
}),
|
|
224
|
-
/* @__PURE__ */
|
|
225
|
+
/* @__PURE__ */ S(F, {
|
|
225
226
|
variant: "h4",
|
|
226
227
|
children: "What do I need to do?"
|
|
227
228
|
}),
|
|
228
|
-
/* @__PURE__ */
|
|
229
|
-
|
|
230
|
-
Fe && /* @__PURE__ */
|
|
231
|
-
|
|
232
|
-
|
|
229
|
+
/* @__PURE__ */ S(p, {}),
|
|
230
|
+
Q && /* @__PURE__ */ S(m, {}),
|
|
231
|
+
Fe && /* @__PURE__ */ S(g, {}),
|
|
232
|
+
Pe && /* @__PURE__ */ S(h, {}),
|
|
233
|
+
Ne?.map((e) => /* @__PURE__ */ S(oe, {
|
|
233
234
|
accessRequirement: e,
|
|
234
|
-
subjectId:
|
|
235
|
-
subjectType:
|
|
236
|
-
onHide:
|
|
235
|
+
subjectId: B,
|
|
236
|
+
subjectType: V,
|
|
237
|
+
onHide: w,
|
|
237
238
|
onRequestAccess: (e) => {
|
|
238
|
-
|
|
239
|
+
Y({
|
|
239
240
|
accessRequirement: e,
|
|
240
|
-
step:
|
|
241
|
+
step: Se ? u(e) : l.PROMPT_LOGIN
|
|
241
242
|
});
|
|
242
243
|
}
|
|
243
244
|
}, e.id))
|
|
244
245
|
] }),
|
|
245
|
-
/* @__PURE__ */
|
|
246
|
+
/* @__PURE__ */ S(ye, { children: P || /* @__PURE__ */ S(x, { children: E && /* @__PURE__ */ S(_e, {
|
|
246
247
|
variant: "contained",
|
|
247
|
-
onClick:
|
|
248
|
+
onClick: w,
|
|
248
249
|
children: "Close"
|
|
249
250
|
}) }) })
|
|
250
251
|
] });
|
|
251
252
|
}
|
|
252
|
-
return
|
|
253
|
+
return E ? /* @__PURE__ */ S(ve, {
|
|
253
254
|
maxWidth: Le,
|
|
254
255
|
fullWidth: !0,
|
|
255
256
|
open: !0,
|
|
256
|
-
onClose:
|
|
257
|
+
onClose: w,
|
|
257
258
|
children: $
|
|
258
|
-
}) : /* @__PURE__ */
|
|
259
|
+
}) : /* @__PURE__ */ S(x, { children: $ });
|
|
259
260
|
}
|
|
260
261
|
//#endregion
|
|
261
|
-
export {
|
|
262
|
+
export { I as checkHasUnsupportedRequirement, R as default };
|
|
262
263
|
|
|
263
264
|
//# sourceMappingURL=AccessRequirementList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementList.js","names":[],"sources":["../../../src/components/AccessRequirementList/AccessRequirementList.tsx"],"sourcesContent":["import {\n useGetAccessRequirementsForEntity,\n useGetAccessRequirementsForTeam,\n useSortAccessRequirementIdsByCompletion,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useSynapseContext,\n} from '@/utils'\nimport { StyledComponent } from '@emotion/styled'\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n styled,\n Typography,\n TypographyProps,\n} from '@mui/material'\nimport {\n AccessRequirement,\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n Renewal,\n Request,\n RestrictableObjectType,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n} from '@sage-bionetworks/synapse-types'\nimport noop from 'lodash-es/noop'\nimport groupBy from 'lodash-es/groupBy'\nimport { ReactNode, useMemo, useState } from 'react'\nimport { DialogBaseTitle } from '../DialogBase'\nimport { EntityLink } from '../EntityLink'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport UserOrTeamBadge from '../UserOrTeamBadge'\nimport { AccessRequirementListItem } from './AccessRequirementListItem'\nimport { useShowAccessRequirementWikiInWizard } from './AccessRequirementListUtils'\nimport { hasAccessorRequirement } from '../SetBasicAccessRequirementFields/GovernanceUtils'\nimport {\n getFirstRequestStep,\n getNextRequestStep,\n getPreviousRequestStep,\n isRequestableAccessRequirement,\n RequestableAccessRequirement,\n RequestDataStep,\n} from './RequestDataStep'\nimport CancelRequestDataAccess from './ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess'\nimport DataAccessRequestAccessorsFilesForm from './ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm'\nimport JsonSchemaRequestWizard from './JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard'\nimport RequestDataAccessSuccess from './ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess'\nimport ResearchProjectForm from './ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm'\nimport ReviewDucStep from './ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep'\nimport EDucPreviewStep from './ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep'\nimport ManualUploadDucStep from './ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep'\nimport SignatureStatusStep from './ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep'\nimport AuthenticatedRequirement from './RequirementItem/AuthenticatedRequirement'\nimport CertificationRequirement from './RequirementItem/CertificationRequirement'\nimport TwoFactorAuthEnabledRequirement from './RequirementItem/TwoFactorAuthEnabledRequirement'\nimport ValidationRequirement from './RequirementItem/ValidationRequirement'\nimport { useOneSageURL } from '@/utils/hooks'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\n\nexport type AccessRequirementListProps = {\n /* if provided, will show this instead of the entity information */\n numberOfFilesAffected?: number\n /* if provided, will show this instead of the entity information or numberOfFilesAffected */\n requestObjectName?: string\n /* If true, this component will render in its own modal */\n renderAsModal?: boolean\n /* Overrides the default dialog title. This only applies if renderAsModal is true */\n dialogTitle?: string\n /* Called when the user rejects the terms of a listed AccessRequirement. If renderAsModal is true, this is also called when the user closes the modal. */\n onHide: () => void\n /* Displays the provided list of access requirements, instead of the ones fetched using the subject ID */\n accessRequirementFromProps?: Array<AccessRequirement>\n /* If provided, displays these actions on when viewing all ARs */\n customDialogActions?: ReactNode\n /* Optional callback invoked if a submission is created via this component */\n onSubmissionCreated?: (submissionId: string) => void\n /**\n * Optionally open the wizard directly at a specific ManagedACTAccessRequirement step instead of\n * the default access requirement list. Useful for deep-link routes and for resuming an in-progress\n * eDUC signature flow (jump straight to `RequestDataStep.SIGNATURE_STATUS`).\n *\n * The `accessRequirement` is bundled with the step because every wizard step\n * requires it — passing them together prevents entering a step with no AR selected.\n *\n * Does not affect the traditional-DUC (non-eDUC) flow, which is entered from the AR list.\n */\n initialWizardEntry?: {\n step: RequestDataStep\n accessRequirement: RequestableAccessRequirement\n }\n} & (\n | {\n /**\n * Fetches the access requirements associated with an entity\n * @deprecated Please use `subjectId` and `subjectType`\n */\n entityId: string\n }\n | {\n /**\n * Fetches the access requirements associated with a team\n * @deprecated Please use `subjectId` and `subjectType`\n */\n teamId: string\n }\n | {\n /* The ID of the object for which access is being requested */\n subjectId?: string\n /* The type of the object for which access is being requested */\n subjectType?: RestrictableObjectType\n }\n)\n\nconst SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED: AccessRequirement['concreteType'][] =\n [\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ]\n\nconst SUPPORTED_ACCESS_REQUIREMENT_TYPES = new Set<\n AccessRequirement['concreteType']\n>(SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED)\n\nconst DialogSubsectionHeader: StyledComponent<TypographyProps> = styled(\n Typography,\n {\n label: 'DialogSubsectionHeader',\n },\n)(({ theme }) => ({\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n fontSize: '18px',\n fontWeight: 'bold',\n borderBottom: '1px solid',\n borderColor: theme.palette.grey['200'],\n}))\n\nexport const checkHasUnsupportedRequirement = (\n accessRequirements: Array<AccessRequirement>,\n): boolean => {\n return accessRequirements.some(isARUnsupported)\n}\n\nconst isARUnsupported = (accessRequirement: AccessRequirement) => {\n return !SUPPORTED_ACCESS_REQUIREMENT_TYPES.has(accessRequirement.concreteType)\n}\n\nexport type RequestDataStepCallbackArgs = {\n step: RequestDataStep\n accessRequirement?: RequestableAccessRequirement\n researchProjectId?: string\n dataAccessRequest?: Request | Renewal\n}\n\n/**\n * The AccessRequirementListV2 component renders a set of {@link AccessRequirement}s (either pre-defined, or those applied\n * to an entity, based on provided props).\n *\n * The component shows the user the approval status of each AR and provides a workflow for accepting the terms of or\n * creating a submission for any of the Access Requirements.\n *\n * ### Wizard entry\n *\n * By default the component opens on the AR list ({@link RequestDataStep.SHOW_ALL_ARS}) and the user\n * navigates into the ManagedACT wizard by clicking Request Access on a specific AR.\n *\n * To open the wizard directly at a specific step (for example, to resume an in-progress eDUC signature\n * flow or to serve a deep-link route), pass {@link AccessRequirementListProps.initialWizardEntry} with\n * the target step and the {@link RequestableAccessRequirement} the wizard should operate on.\n */\nexport default function AccessRequirementList(\n props: AccessRequirementListProps,\n) {\n const {\n onHide = noop,\n renderAsModal = false,\n numberOfFilesAffected,\n requestObjectName,\n customDialogActions,\n onSubmissionCreated = noop,\n initialWizardEntry,\n } = props\n\n const isShowingRequirementsForEntity = 'entityId' in props\n const isShowingRequirementsForTeam = 'teamId' in props\n const isShowingRequirementsFromProps = 'accessRequirementFromProps' in props\n\n const subjectId =\n 'subjectId' in props\n ? props.subjectId\n : isShowingRequirementsForEntity\n ? props.entityId\n : isShowingRequirementsForTeam\n ? props.teamId\n : undefined\n\n const subjectType =\n 'subjectType' in props\n ? props.subjectType\n : isShowingRequirementsForEntity\n ? RestrictableObjectType.ENTITY\n : isShowingRequirementsForTeam\n ? RestrictableObjectType.TEAM\n : undefined\n\n let { dialogTitle = 'Data Access Request' } = props\n const { isAuthenticated } = useSynapseContext()\n const [requestDataStep, setRequestDataStep] = useState<RequestDataStep>(\n initialWizardEntry?.step ?? RequestDataStep.SHOW_ALL_ARS,\n )\n const oneSageURL = useOneSageURL()\n const [accessRequirementInWizard, setAccessRequirementInWizard] = useState<\n RequestableAccessRequirement | undefined\n >(initialWizardEntry?.accessRequirement)\n const managedACTAccessRequirement =\n accessRequirementInWizard?.concreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? accessRequirementInWizard\n : undefined\n const jsonSchemaAccessRequirement =\n accessRequirementInWizard?.concreteType ===\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? accessRequirementInWizard\n : undefined\n const [researchProjectId, setResearchProjectId] = useState<string>('')\n const [dataAccessRequest, setDataAccessRequest] = useState<\n Request | Renewal | undefined\n >()\n\n const showAccessRequirementWikiInWizard =\n useShowAccessRequirementWikiInWizard(accessRequirementInWizard)\n\n const { data: fetchedRequirementsForTeam } = useGetAccessRequirementsForTeam(\n subjectId!,\n {\n enabled:\n subjectId !== undefined && subjectType === RestrictableObjectType.TEAM,\n },\n )\n const { data: fetchedRequirementsForEntity } =\n useGetAccessRequirementsForEntity(subjectId!, {\n enabled:\n subjectId !== undefined &&\n subjectType === RestrictableObjectType.ENTITY,\n })\n\n const requirementsFromProps = isShowingRequirementsFromProps\n ? props.accessRequirementFromProps\n : undefined\n\n const accessRequirements =\n requirementsFromProps ??\n fetchedRequirementsForEntity ??\n fetchedRequirementsForTeam\n\n /**\n * Set the initial ordering of the Access Requirements to show complete ARs first. The individual AR Item components\n * retrieve and render status independently, so this data only determines ordering. For this reason, the query data\n * should not be invalidated or updated as the user progresses through the workflow.\n */\n const { data: sortedAccessRequirementIds } =\n useSortAccessRequirementIdsByCompletion(\n (accessRequirements ?? []).map(ar => String(ar.id)),\n {\n enabled: !!accessRequirements,\n // Set the stale time to infinity because we don't want to refetch this and change the order\n staleTime: Infinity,\n },\n )\n\n const sortedGroupedAccessRequirementsByType = useMemo(() => {\n if (accessRequirements && sortedAccessRequirementIds) {\n // SWC-7218: Group by access requirement type\n const groupedAccessRequirementsByType = groupBy(\n accessRequirements,\n 'concreteType',\n )\n const sortedByTypeAndStatus =\n SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED.map(type => {\n const arsOfType = groupedAccessRequirementsByType[type]\n if (arsOfType) {\n return sortedAccessRequirementIds.map(\n id => arsOfType.find(ar => id === String(ar.id))!,\n )\n }\n return []\n })\n .flat()\n .filter((item): item is AccessRequirement => item !== undefined)\n return sortedByTypeAndStatus\n }\n return undefined\n }, [accessRequirements, sortedAccessRequirementIds])\n\n const requestDataStepCallback = (props: RequestDataStepCallbackArgs) => {\n const {\n accessRequirement,\n step,\n researchProjectId,\n dataAccessRequest: newDataAccessRequest,\n } = props\n if (accessRequirement) {\n // required for every wizard step\n setAccessRequirementInWizard(accessRequirement)\n }\n if (researchProjectId) {\n setResearchProjectId(researchProjectId)\n }\n if (newDataAccessRequest) {\n setDataAccessRequest(newDataAccessRequest)\n }\n setRequestDataStep(step)\n }\n\n // Each callback is invoked from the step being rendered, so `requestDataStep` is the step being navigated away from\n const goToNextRequestStep = () =>\n requestDataStepCallback({\n step: getNextRequestStep(accessRequirementInWizard!, requestDataStep),\n })\n const goToPreviousRequestStep = () =>\n requestDataStepCallback({\n step: getPreviousRequestStep(accessRequirementInWizard!, requestDataStep),\n })\n\n const anyARsRequireTwoFactorAuth = accessRequirements?.some(\n accessRequirement =>\n isRequestableAccessRequirement(accessRequirement) &&\n accessRequirement.isTwoFaRequired,\n )\n\n const anyARsRequireCertification = accessRequirements?.some(\n accessRequirement =>\n hasAccessorRequirement(accessRequirement) &&\n accessRequirement.isCertifiedUserRequired,\n )\n\n const anyARsRequireProfileValidation = accessRequirements?.some(\n accessRequirement =>\n hasAccessorRequirement(accessRequirement) &&\n accessRequirement.isValidatedProfileRequired,\n )\n\n const requestDetails = useMemo(() => {\n // Prioritize requestObjectName, then the number of files affected, then the entity/team name\n if (requestObjectName) return requestObjectName\n if (numberOfFilesAffected)\n return (\n <>\n <IconSvg icon=\"file\" sx={{ width: '30px' }} /> {numberOfFilesAffected}{' '}\n File(s)\n </>\n )\n if (\n subjectId !== undefined &&\n subjectType === RestrictableObjectType.ENTITY\n ) {\n return <EntityLink entity={subjectId} />\n } else if (subjectType === RestrictableObjectType.TEAM) {\n return <UserOrTeamBadge principalId={subjectId} />\n } else {\n console.warn(\n `Unhandled case for AccessRequirementList requestDetails: ${subjectType}: ${subjectId}`,\n )\n return <></>\n }\n }, [numberOfFilesAffected, requestObjectName, subjectId, subjectType])\n\n const dialogWidth =\n [\n RequestDataStep.UPDATE_ACCESSORS_AND_FILES,\n RequestDataStep.UPDATE_RESEARCH_PROJECT,\n RequestDataStep.REVIEW_DUC,\n RequestDataStep.EDUC_PREVIEW,\n ].includes(requestDataStep) && showAccessRequirementWikiInWizard\n ? 'xl'\n : 'md'\n\n let renderContent = <></>\n switch (requestDataStep) {\n case RequestDataStep.UPDATE_RESEARCH_PROJECT:\n renderContent = (\n <ResearchProjectForm\n managedACTAccessRequirement={managedACTAccessRequirement!}\n onSave={researchProject => {\n requestDataStepCallback({\n step: getNextRequestStep(\n managedACTAccessRequirement!,\n requestDataStep,\n ),\n researchProjectId: researchProject.id,\n })\n }}\n onHide={onHide}\n />\n )\n break\n case RequestDataStep.UPDATE_ACCESSORS_AND_FILES:\n renderContent = (\n <DataAccessRequestAccessorsFilesForm\n researchProjectId={researchProjectId}\n managedACTAccessRequirement={managedACTAccessRequirement!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onCancel={dataAccessRequestInProgress => {\n requestDataStepCallback({\n step: RequestDataStep.PROMPT_CANCEL,\n dataAccessRequest: dataAccessRequestInProgress,\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n onBackClicked={goToPreviousRequestStep}\n onEDucContinue={\n managedACTAccessRequirement?.eDucTemplateId\n ? goToNextRequestStep\n : undefined\n }\n />\n )\n break\n case RequestDataStep.REVIEW_DUC:\n renderContent = (\n <ReviewDucStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onCreateDuc={goToNextRequestStep}\n />\n )\n break\n case RequestDataStep.EDUC_PREVIEW:\n renderContent = (\n <EDucPreviewStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onSendForSignature={() => {\n // The signature-status step isn't useful right after routing (0 signatures collected,\n // Submit necessarily disabled), so surface a toast and close the wizard. The user can\n // resume from their in-flight requests table when signatures are ready.\n displayToast(\n 'Your DUC has been emailed to your collaborators. You can check signature progress in your access request history.',\n 'info',\n {\n primaryButtonConfig: {\n text: 'View Request History',\n // Resolves to a same-origin path on synapse.org and to the absolute synapse.org URL when embedded in a portal.\n href: `${getEndpoint(BackendDestinationEnum.PORTAL_ENDPOINT)}RequestHistory:default`,\n },\n dismissOnPrimaryButtonClick: true,\n },\n )\n onHide()\n }}\n onManualUpload={goToNextRequestStep}\n />\n )\n break\n case RequestDataStep.MANUAL_UPLOAD_DUC:\n renderContent = (\n <ManualUploadDucStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n />\n )\n break\n case RequestDataStep.SIGNATURE_STATUS:\n renderContent = (\n <SignatureStatusStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onBackClicked={() => {\n // Back from SIGNATURE_STATUS returns to the first step of the request so the user can\n // modify the request. EDUC_PREVIEW is skipped because Send-for-signature toasts and\n // closes the wizard, so users only reach this step from the row-level \"Review\n // Signatures and Submit\" entry point.\n requestDataStepCallback({\n step: getFirstRequestStep(accessRequirementInWizard!),\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n />\n )\n break\n case RequestDataStep.SCHEMA_DRIVEN_REQUEST:\n renderContent = (\n <JsonSchemaRequestWizard\n accessRequirement={jsonSchemaAccessRequirement!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onCancel={dataAccessRequestInProgress => {\n requestDataStepCallback({\n step: RequestDataStep.PROMPT_CANCEL,\n dataAccessRequest: dataAccessRequestInProgress,\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n onEDucContinue={\n jsonSchemaAccessRequirement?.eDucTemplateId\n ? goToNextRequestStep\n : undefined\n }\n />\n )\n break\n case RequestDataStep.PROMPT_CANCEL:\n renderContent = (\n <CancelRequestDataAccess\n modifiedDataAccessRequest={dataAccessRequest}\n onHide={onHide} // for closing dialogs\n />\n )\n break\n case RequestDataStep.PROMPT_LOGIN:\n // Send to OneSage login page\n storeRedirectURLForOneSageLoginAndGotoURL(oneSageURL.toString())\n dialogTitle = 'Please Log In'\n renderContent = <></>\n break\n case RequestDataStep.COMPLETE:\n renderContent = <RequestDataAccessSuccess onHide={onHide} />\n break\n case RequestDataStep.SHOW_ALL_ARS:\n default:\n renderContent = (\n <>\n {renderAsModal ? (\n <DialogBaseTitle title={dialogTitle} onCancel={onHide} />\n ) : (\n <Typography variant=\"h5\" sx={{ mb: 2 }}>\n {dialogTitle}\n </Typography>\n )}\n <DialogContent>\n <DialogSubsectionHeader variant={'h4'} sx={{ mt: 0 }}>\n What is this request for?\n </DialogSubsectionHeader>\n <Typography variant={'body1'} component={'span'}>\n {requestDetails}\n </Typography>\n <DialogSubsectionHeader variant={'h4'}>\n What do I need to do?\n </DialogSubsectionHeader>\n <AuthenticatedRequirement />\n {anyARsRequireCertification && <CertificationRequirement />}\n {anyARsRequireProfileValidation && <ValidationRequirement />}\n {anyARsRequireTwoFactorAuth && <TwoFactorAuthEnabledRequirement />}\n {sortedGroupedAccessRequirementsByType?.map(accessRequirement => {\n return (\n <AccessRequirementListItem\n key={accessRequirement.id}\n accessRequirement={accessRequirement}\n subjectId={subjectId}\n subjectType={subjectType}\n onHide={onHide}\n onRequestAccess={accessRequirement => {\n const nextStep = isAuthenticated\n ? getFirstRequestStep(accessRequirement)\n : RequestDataStep.PROMPT_LOGIN\n requestDataStepCallback({\n accessRequirement,\n step: nextStep,\n })\n }}\n />\n )\n })}\n </DialogContent>\n <DialogActions>\n {customDialogActions ? (\n customDialogActions\n ) : (\n <>\n {renderAsModal && (\n <Button variant=\"contained\" onClick={onHide}>\n Close\n </Button>\n )}\n </>\n )}\n </DialogActions>\n </>\n )\n }\n\n if (renderAsModal) {\n return (\n <Dialog maxWidth={dialogWidth} fullWidth open={true} onClose={onHide}>\n {renderContent}\n </Dialog>\n )\n }\n\n return <>{renderContent}</>\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccessRequirementList.js","names":[],"sources":["../../../src/components/AccessRequirementList/AccessRequirementList.tsx"],"sourcesContent":["import {\n useGetAccessRequirementsForEntity,\n useGetAccessRequirementsForTeam,\n useSortAccessRequirementIdsByCompletion,\n} from '@/synapse-queries'\nimport {\n storeRedirectURLForOneSageLoginAndGotoURL,\n useSynapseContext,\n} from '@/utils'\nimport { StyledComponent } from '@emotion/styled'\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n styled,\n Typography,\n TypographyProps,\n} from '@mui/material'\nimport {\n AccessRequirement,\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n Renewal,\n Request,\n RestrictableObjectType,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n} from '@sage-bionetworks/synapse-types'\nimport noop from 'lodash-es/noop'\nimport groupBy from 'lodash-es/groupBy'\nimport { ReactNode, useMemo, useState } from 'react'\nimport { DialogBaseTitle } from '../DialogBase'\nimport { EntityLink } from '../EntityLink'\nimport IconSvg from '../IconSvg/IconSvg'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport UserOrTeamBadge from '../UserOrTeamBadge'\nimport { AccessRequirementListItem } from './AccessRequirementListItem'\nimport { useShowAccessRequirementWikiInWizard } from './AccessRequirementListUtils'\nimport { hasAccessorRequirement } from '../SetBasicAccessRequirementFields/GovernanceUtils'\nimport {\n isRequestableAccessRequirement,\n RequestableAccessRequirement,\n} from '@/utils/types/RequestableAccessRequirement'\nimport {\n getFirstRequestStep,\n getNextRequestStep,\n getPreviousRequestStep,\n RequestDataStep,\n} from './RequestDataStep'\nimport CancelRequestDataAccess from './ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess'\nimport DataAccessRequestAccessorsFilesForm from './ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm'\nimport JsonSchemaRequestWizard from './JsonSchemaAccessRequirementRequestFlow/JsonSchemaRequestWizard'\nimport RequestDataAccessSuccess from './ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess'\nimport ResearchProjectForm from './ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm'\nimport ReviewDucStep from './ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep'\nimport EDucPreviewStep from './ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep'\nimport ManualUploadDucStep from './ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep'\nimport SignatureStatusStep from './ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep'\nimport AuthenticatedRequirement from './RequirementItem/AuthenticatedRequirement'\nimport CertificationRequirement from './RequirementItem/CertificationRequirement'\nimport TwoFactorAuthEnabledRequirement from './RequirementItem/TwoFactorAuthEnabledRequirement'\nimport ValidationRequirement from './RequirementItem/ValidationRequirement'\nimport { useOneSageURL } from '@/utils/hooks'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\n\nexport type AccessRequirementListProps = {\n /* if provided, will show this instead of the entity information */\n numberOfFilesAffected?: number\n /* if provided, will show this instead of the entity information or numberOfFilesAffected */\n requestObjectName?: string\n /* If true, this component will render in its own modal */\n renderAsModal?: boolean\n /* Overrides the default dialog title. This only applies if renderAsModal is true */\n dialogTitle?: string\n /* Called when the user rejects the terms of a listed AccessRequirement. If renderAsModal is true, this is also called when the user closes the modal. */\n onHide: () => void\n /* Displays the provided list of access requirements, instead of the ones fetched using the subject ID */\n accessRequirementFromProps?: Array<AccessRequirement>\n /* If provided, displays these actions on when viewing all ARs */\n customDialogActions?: ReactNode\n /* Optional callback invoked if a submission is created via this component */\n onSubmissionCreated?: (submissionId: string) => void\n /**\n * Optionally open the wizard directly at a specific ManagedACTAccessRequirement step instead of\n * the default access requirement list. Useful for deep-link routes and for resuming an in-progress\n * eDUC signature flow (jump straight to `RequestDataStep.SIGNATURE_STATUS`).\n *\n * The `accessRequirement` is bundled with the step because every wizard step\n * requires it — passing them together prevents entering a step with no AR selected.\n *\n * Does not affect the traditional-DUC (non-eDUC) flow, which is entered from the AR list.\n */\n initialWizardEntry?: {\n step: RequestDataStep\n accessRequirement: RequestableAccessRequirement\n }\n} & (\n | {\n /**\n * Fetches the access requirements associated with an entity\n * @deprecated Please use `subjectId` and `subjectType`\n */\n entityId: string\n }\n | {\n /**\n * Fetches the access requirements associated with a team\n * @deprecated Please use `subjectId` and `subjectType`\n */\n teamId: string\n }\n | {\n /* The ID of the object for which access is being requested */\n subjectId?: string\n /* The type of the object for which access is being requested */\n subjectType?: RestrictableObjectType\n }\n)\n\nconst SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED: AccessRequirement['concreteType'][] =\n [\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n ]\n\nconst SUPPORTED_ACCESS_REQUIREMENT_TYPES = new Set<\n AccessRequirement['concreteType']\n>(SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED)\n\nconst DialogSubsectionHeader: StyledComponent<TypographyProps> = styled(\n Typography,\n {\n label: 'DialogSubsectionHeader',\n },\n)(({ theme }) => ({\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n fontSize: '18px',\n fontWeight: 'bold',\n borderBottom: '1px solid',\n borderColor: theme.palette.grey['200'],\n}))\n\nexport const checkHasUnsupportedRequirement = (\n accessRequirements: Array<AccessRequirement>,\n): boolean => {\n return accessRequirements.some(isARUnsupported)\n}\n\nconst isARUnsupported = (accessRequirement: AccessRequirement) => {\n return !SUPPORTED_ACCESS_REQUIREMENT_TYPES.has(accessRequirement.concreteType)\n}\n\nexport type RequestDataStepCallbackArgs = {\n step: RequestDataStep\n accessRequirement?: RequestableAccessRequirement\n researchProjectId?: string\n dataAccessRequest?: Request | Renewal\n}\n\n/**\n * The AccessRequirementListV2 component renders a set of {@link AccessRequirement}s (either pre-defined, or those applied\n * to an entity, based on provided props).\n *\n * The component shows the user the approval status of each AR and provides a workflow for accepting the terms of or\n * creating a submission for any of the Access Requirements.\n *\n * ### Wizard entry\n *\n * By default the component opens on the AR list ({@link RequestDataStep.SHOW_ALL_ARS}) and the user\n * navigates into the ManagedACT wizard by clicking Request Access on a specific AR.\n *\n * To open the wizard directly at a specific step (for example, to resume an in-progress eDUC signature\n * flow or to serve a deep-link route), pass {@link AccessRequirementListProps.initialWizardEntry} with\n * the target step and the {@link RequestableAccessRequirement} the wizard should operate on.\n */\nexport default function AccessRequirementList(\n props: AccessRequirementListProps,\n) {\n const {\n onHide = noop,\n renderAsModal = false,\n numberOfFilesAffected,\n requestObjectName,\n customDialogActions,\n onSubmissionCreated = noop,\n initialWizardEntry,\n } = props\n\n const isShowingRequirementsForEntity = 'entityId' in props\n const isShowingRequirementsForTeam = 'teamId' in props\n const isShowingRequirementsFromProps = 'accessRequirementFromProps' in props\n\n const subjectId =\n 'subjectId' in props\n ? props.subjectId\n : isShowingRequirementsForEntity\n ? props.entityId\n : isShowingRequirementsForTeam\n ? props.teamId\n : undefined\n\n const subjectType =\n 'subjectType' in props\n ? props.subjectType\n : isShowingRequirementsForEntity\n ? RestrictableObjectType.ENTITY\n : isShowingRequirementsForTeam\n ? RestrictableObjectType.TEAM\n : undefined\n\n let { dialogTitle = 'Data Access Request' } = props\n const { isAuthenticated } = useSynapseContext()\n const [requestDataStep, setRequestDataStep] = useState<RequestDataStep>(\n initialWizardEntry?.step ?? RequestDataStep.SHOW_ALL_ARS,\n )\n const oneSageURL = useOneSageURL()\n const [accessRequirementInWizard, setAccessRequirementInWizard] = useState<\n RequestableAccessRequirement | undefined\n >(initialWizardEntry?.accessRequirement)\n const managedACTAccessRequirement =\n accessRequirementInWizard?.concreteType ===\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? accessRequirementInWizard\n : undefined\n const jsonSchemaAccessRequirement =\n accessRequirementInWizard?.concreteType ===\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE\n ? accessRequirementInWizard\n : undefined\n const [researchProjectId, setResearchProjectId] = useState<string>('')\n const [dataAccessRequest, setDataAccessRequest] = useState<\n Request | Renewal | undefined\n >()\n\n const showAccessRequirementWikiInWizard =\n useShowAccessRequirementWikiInWizard(accessRequirementInWizard)\n\n const { data: fetchedRequirementsForTeam } = useGetAccessRequirementsForTeam(\n subjectId!,\n {\n enabled:\n subjectId !== undefined && subjectType === RestrictableObjectType.TEAM,\n },\n )\n const { data: fetchedRequirementsForEntity } =\n useGetAccessRequirementsForEntity(subjectId!, {\n enabled:\n subjectId !== undefined &&\n subjectType === RestrictableObjectType.ENTITY,\n })\n\n const requirementsFromProps = isShowingRequirementsFromProps\n ? props.accessRequirementFromProps\n : undefined\n\n const accessRequirements =\n requirementsFromProps ??\n fetchedRequirementsForEntity ??\n fetchedRequirementsForTeam\n\n /**\n * Set the initial ordering of the Access Requirements to show complete ARs first. The individual AR Item components\n * retrieve and render status independently, so this data only determines ordering. For this reason, the query data\n * should not be invalidated or updated as the user progresses through the workflow.\n */\n const { data: sortedAccessRequirementIds } =\n useSortAccessRequirementIdsByCompletion(\n (accessRequirements ?? []).map(ar => String(ar.id)),\n {\n enabled: !!accessRequirements,\n // Set the stale time to infinity because we don't want to refetch this and change the order\n staleTime: Infinity,\n },\n )\n\n const sortedGroupedAccessRequirementsByType = useMemo(() => {\n if (accessRequirements && sortedAccessRequirementIds) {\n // SWC-7218: Group by access requirement type\n const groupedAccessRequirementsByType = groupBy(\n accessRequirements,\n 'concreteType',\n )\n const sortedByTypeAndStatus =\n SUPPORTED_ACCESS_REQUIREMENT_TYPES_SORTED.map(type => {\n const arsOfType = groupedAccessRequirementsByType[type]\n if (arsOfType) {\n return sortedAccessRequirementIds.map(id =>\n arsOfType.find(ar => id === String(ar.id))!,\n )\n }\n return []\n })\n .flat()\n .filter((item): item is AccessRequirement => item !== undefined)\n return sortedByTypeAndStatus\n }\n return undefined\n }, [accessRequirements, sortedAccessRequirementIds])\n\n const requestDataStepCallback = (props: RequestDataStepCallbackArgs) => {\n const {\n accessRequirement,\n step,\n researchProjectId,\n dataAccessRequest: newDataAccessRequest,\n } = props\n if (accessRequirement) {\n // required for every wizard step\n setAccessRequirementInWizard(accessRequirement)\n }\n if (researchProjectId) {\n setResearchProjectId(researchProjectId)\n }\n if (newDataAccessRequest) {\n setDataAccessRequest(newDataAccessRequest)\n }\n setRequestDataStep(step)\n }\n\n // Each callback is invoked from the step being rendered, so `requestDataStep` is the step being navigated away from\n const goToNextRequestStep = () =>\n requestDataStepCallback({\n step: getNextRequestStep(accessRequirementInWizard!, requestDataStep),\n })\n const goToPreviousRequestStep = () =>\n requestDataStepCallback({\n step: getPreviousRequestStep(accessRequirementInWizard!, requestDataStep),\n })\n\n const anyARsRequireTwoFactorAuth = accessRequirements?.some(\n accessRequirement =>\n isRequestableAccessRequirement(accessRequirement) &&\n accessRequirement.isTwoFaRequired,\n )\n\n const anyARsRequireCertification = accessRequirements?.some(\n accessRequirement =>\n hasAccessorRequirement(accessRequirement) &&\n accessRequirement.isCertifiedUserRequired,\n )\n\n const anyARsRequireProfileValidation = accessRequirements?.some(\n accessRequirement =>\n hasAccessorRequirement(accessRequirement) &&\n accessRequirement.isValidatedProfileRequired,\n )\n\n const requestDetails = useMemo(() => {\n // Prioritize requestObjectName, then the number of files affected, then the entity/team name\n if (requestObjectName) return requestObjectName\n if (numberOfFilesAffected)\n return (\n <>\n <IconSvg icon=\"file\" sx={{ width: '30px' }} /> {numberOfFilesAffected}{' '}\n File(s)\n </>\n )\n if (\n subjectId !== undefined &&\n subjectType === RestrictableObjectType.ENTITY\n ) {\n return <EntityLink entity={subjectId} />\n } else if (subjectType === RestrictableObjectType.TEAM) {\n return <UserOrTeamBadge principalId={subjectId} />\n } else {\n console.warn(\n `Unhandled case for AccessRequirementList requestDetails: ${subjectType}: ${subjectId}`,\n )\n return <></>\n }\n }, [numberOfFilesAffected, requestObjectName, subjectId, subjectType])\n\n const dialogWidth =\n [\n RequestDataStep.UPDATE_ACCESSORS_AND_FILES,\n RequestDataStep.UPDATE_RESEARCH_PROJECT,\n RequestDataStep.REVIEW_DUC,\n RequestDataStep.EDUC_PREVIEW,\n ].includes(requestDataStep) && showAccessRequirementWikiInWizard\n ? 'xl'\n : 'md'\n\n let renderContent = <></>\n switch (requestDataStep) {\n case RequestDataStep.UPDATE_RESEARCH_PROJECT:\n renderContent = (\n <ResearchProjectForm\n managedACTAccessRequirement={managedACTAccessRequirement!}\n onSave={researchProject => {\n requestDataStepCallback({\n step: getNextRequestStep(\n managedACTAccessRequirement!,\n requestDataStep,\n ),\n researchProjectId: researchProject.id,\n })\n }}\n onHide={onHide}\n />\n )\n break\n case RequestDataStep.UPDATE_ACCESSORS_AND_FILES:\n renderContent = (\n <DataAccessRequestAccessorsFilesForm\n researchProjectId={researchProjectId}\n managedACTAccessRequirement={managedACTAccessRequirement!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onCancel={dataAccessRequestInProgress => {\n requestDataStepCallback({\n step: RequestDataStep.PROMPT_CANCEL,\n dataAccessRequest: dataAccessRequestInProgress,\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n onBackClicked={goToPreviousRequestStep}\n onEDucContinue={\n managedACTAccessRequirement?.eDucTemplateId\n ? goToNextRequestStep\n : undefined\n }\n />\n )\n break\n case RequestDataStep.REVIEW_DUC:\n renderContent = (\n <ReviewDucStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onCreateDuc={goToNextRequestStep}\n />\n )\n break\n case RequestDataStep.EDUC_PREVIEW:\n renderContent = (\n <EDucPreviewStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onSendForSignature={() => {\n // The signature-status step isn't useful right after routing (0 signatures collected,\n // Submit necessarily disabled), so surface a toast and close the wizard. The user can\n // resume from their in-flight requests table when signatures are ready.\n displayToast(\n 'Your DUC has been emailed to your collaborators. You can check signature progress in your access request history.',\n 'info',\n {\n primaryButtonConfig: {\n text: 'View Request History',\n // Resolves to a same-origin path on synapse.org and to the absolute synapse.org URL when embedded in a portal.\n href: `${getEndpoint(BackendDestinationEnum.PORTAL_ENDPOINT)}RequestHistory:default`,\n },\n dismissOnPrimaryButtonClick: true,\n },\n )\n onHide()\n }}\n onManualUpload={goToNextRequestStep}\n />\n )\n break\n case RequestDataStep.MANUAL_UPLOAD_DUC:\n renderContent = (\n <ManualUploadDucStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onBackClicked={goToPreviousRequestStep}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n />\n )\n break\n case RequestDataStep.SIGNATURE_STATUS:\n renderContent = (\n <SignatureStatusStep\n managedACTAccessRequirement={accessRequirementInWizard!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onBackClicked={() => {\n // Back from SIGNATURE_STATUS returns to the first step of the request so the user can\n // modify the request. EDUC_PREVIEW is skipped because Send-for-signature toasts and\n // closes the wizard, so users only reach this step from the row-level \"Review\n // Signatures and Submit\" entry point.\n requestDataStepCallback({\n step: getFirstRequestStep(accessRequirementInWizard!),\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n />\n )\n break\n case RequestDataStep.SCHEMA_DRIVEN_REQUEST:\n renderContent = (\n <JsonSchemaRequestWizard\n accessRequirement={jsonSchemaAccessRequirement!}\n subjectId={subjectId ?? ''}\n subjectType={subjectType ?? RestrictableObjectType.ENTITY}\n onHide={onHide}\n onCancel={dataAccessRequestInProgress => {\n requestDataStepCallback({\n step: RequestDataStep.PROMPT_CANCEL,\n dataAccessRequest: dataAccessRequestInProgress,\n })\n }}\n onSubmissionCreated={submissionId => {\n requestDataStepCallback({ step: RequestDataStep.COMPLETE })\n onSubmissionCreated(submissionId)\n }}\n onEDucContinue={\n jsonSchemaAccessRequirement?.eDucTemplateId\n ? goToNextRequestStep\n : undefined\n }\n />\n )\n break\n case RequestDataStep.PROMPT_CANCEL:\n renderContent = (\n <CancelRequestDataAccess\n modifiedDataAccessRequest={dataAccessRequest}\n onHide={onHide} // for closing dialogs\n />\n )\n break\n case RequestDataStep.PROMPT_LOGIN:\n // Send to OneSage login page\n storeRedirectURLForOneSageLoginAndGotoURL(oneSageURL.toString())\n dialogTitle = 'Please Log In'\n renderContent = <></>\n break\n case RequestDataStep.COMPLETE:\n renderContent = <RequestDataAccessSuccess onHide={onHide} />\n break\n case RequestDataStep.SHOW_ALL_ARS:\n default:\n renderContent = (\n <>\n {renderAsModal ? (\n <DialogBaseTitle title={dialogTitle} onCancel={onHide} />\n ) : (\n <Typography variant=\"h5\" sx={{ mb: 2 }}>\n {dialogTitle}\n </Typography>\n )}\n <DialogContent>\n <DialogSubsectionHeader variant={'h4'} sx={{ mt: 0 }}>\n What is this request for?\n </DialogSubsectionHeader>\n <Typography variant={'body1'} component={'span'}>\n {requestDetails}\n </Typography>\n <DialogSubsectionHeader variant={'h4'}>\n What do I need to do?\n </DialogSubsectionHeader>\n <AuthenticatedRequirement />\n {anyARsRequireCertification && <CertificationRequirement />}\n {anyARsRequireProfileValidation && <ValidationRequirement />}\n {anyARsRequireTwoFactorAuth && <TwoFactorAuthEnabledRequirement />}\n {sortedGroupedAccessRequirementsByType?.map(accessRequirement => {\n return (\n <AccessRequirementListItem\n key={accessRequirement.id}\n accessRequirement={accessRequirement}\n subjectId={subjectId}\n subjectType={subjectType}\n onHide={onHide}\n onRequestAccess={accessRequirement => {\n const nextStep = isAuthenticated\n ? getFirstRequestStep(accessRequirement)\n : RequestDataStep.PROMPT_LOGIN\n requestDataStepCallback({\n accessRequirement,\n step: nextStep,\n })\n }}\n />\n )\n })}\n </DialogContent>\n <DialogActions>\n {customDialogActions ? (\n customDialogActions\n ) : (\n <>\n {renderAsModal && (\n <Button variant=\"contained\" onClick={onHide}>\n Close\n </Button>\n )}\n </>\n )}\n </DialogActions>\n </>\n )\n }\n\n if (renderAsModal) {\n return (\n <Dialog maxWidth={dialogWidth} fullWidth open={true} onClose={onHide}>\n {renderContent}\n </Dialog>\n )\n }\n\n return <>{renderContent}</>\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AccessRequirement, RestrictableObjectType } from '@sage-bionetworks/synapse-types';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { RequestableAccessRequirement } from '
|
|
3
|
+
import { RequestableAccessRequirement } from '@/utils/types/RequestableAccessRequirement';
|
|
4
4
|
export type AccessRequirementListItemProps = {
|
|
5
5
|
accessRequirement: AccessRequirement;
|
|
6
6
|
onHide: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementListItem.d.ts","sourceRoot":"","sources":["../../../src/components/AccessRequirementList/AccessRequirementListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAMjB,sBAAsB,EACvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AccessRequirementListItem.d.ts","sourceRoot":"","sources":["../../../src/components/AccessRequirementList/AccessRequirementListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAMjB,sBAAsB,EACvB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAA;AAMzF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,eAAe,EAAE,CAAC,iBAAiB,EAAE,4BAA4B,KAAK,IAAI,CAAA;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,sBAAsB,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,KAAK,CAAC,SAAS,CA4CjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessRequirementListItem.js","names":[],"sources":["../../../src/components/AccessRequirementList/AccessRequirementListItem.tsx"],"sourcesContent":["import {\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n AccessRequirement,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport React from 'react'\nimport { RequestableAccessRequirement } from '
|
|
1
|
+
{"version":3,"file":"AccessRequirementListItem.js","names":[],"sources":["../../../src/components/AccessRequirementList/AccessRequirementListItem.tsx"],"sourcesContent":["import {\n ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n AccessRequirement,\n JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE,\n RestrictableObjectType,\n} from '@sage-bionetworks/synapse-types'\nimport React from 'react'\nimport { RequestableAccessRequirement } from '@/utils/types/RequestableAccessRequirement'\nimport UnmanagedACTAccessRequirementItem from './RequirementItem/UnmanagedACTAccessRequirementItem'\nimport RequestableAccessRequirementItem from './ManagedACTAccessRequirementRequestFlow/RequestableAccessRequirementItem'\nimport SelfSignAccessRequirementItem from './RequirementItem/SelfSignAccessRequirementItem'\nimport LockAccessRequirementItem from './RequirementItem/LockAccessRequirementItem'\n\nexport type AccessRequirementListItemProps = {\n accessRequirement: AccessRequirement\n onHide: () => void\n onRequestAccess: (accessRequirement: RequestableAccessRequirement) => void\n subjectId?: string\n subjectType?: RestrictableObjectType\n}\n\n/**\n * Renders an individual AR item for the AccessRequirementList\n */\nexport function AccessRequirementListItem(\n props: AccessRequirementListItemProps,\n): React.ReactNode {\n const { accessRequirement, subjectId, subjectType, onHide, onRequestAccess } =\n props\n switch (accessRequirement.concreteType) {\n case SELF_SIGN_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n case TERMS_OF_USE_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return (\n <SelfSignAccessRequirementItem\n accessRequirement={accessRequirement}\n onHide={onHide}\n />\n )\n case ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return (\n <UnmanagedACTAccessRequirementItem\n accessRequirement={accessRequirement}\n onHide={onHide}\n subjectId={subjectId}\n subjectType={subjectType}\n />\n )\n case MANAGED_ACT_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n case JSON_SCHEMA_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return (\n <RequestableAccessRequirementItem\n accessRequirement={accessRequirement}\n subjectId={subjectId}\n subjectType={subjectType}\n onRejectTerms={onHide}\n onRequestAccess={() => {\n onRequestAccess(accessRequirement)\n }}\n />\n )\n case LOCK_ACCESS_REQUIREMENT_CONCRETE_TYPE_VALUE:\n return <LockAccessRequirementItem />\n // case not supported yet\n default:\n console.warn(\n 'Unsupported access requirement type:',\n (accessRequirement as AccessRequirement).concreteType,\n )\n return <></>\n }\n}\n"],"mappings":";;;;;;;;AA4BA,SAAgB,EACd,GACiB;CACjB,IAAM,EAAE,sBAAmB,cAAW,gBAAa,WAAQ,uBACzD;CACF,QAAQ,EAAkB,cAA1B;EACE,KAAK;EACL,KAAK,GACH,OACE,kBAAC,GAAD;GACqB;GACX;EACT,CAAA;EAEL,KAAK,GACH,OACE,kBAAC,GAAD;GACqB;GACX;GACG;GACE;EACd,CAAA;EAEL,KAAK;EACL,KAAK,GACH,OACE,kBAAC,GAAD;GACqB;GACR;GACE;GACb,eAAe;GACf,uBAAuB;IACrB,EAAgB,CAAiB;GACnC;EACD,CAAA;EAEL,KAAK,GACH,OAAO,kBAAC,GAAD,CAA4B,CAAA;EAErC,SAKE,OAJA,QAAQ,KACN,wCACC,EAAwC,YAC3C,GACO,kBAAA,GAAA,CAAI,CAAA;CACf;AACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Box as e, Link as t } from "@mui/material";
|
|
2
2
|
import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
3
|
+
import a from "@mui/icons-material/NewReleasesOutlined";
|
|
4
4
|
//#region src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.tsx
|
|
5
5
|
function o(o) {
|
|
6
6
|
let { accessRequirement: s, isEDucEnabled: c } = o, l = "", u = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessorRequirementHelpText.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"AccessorRequirementHelpText.js","names":[],"sources":["../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.tsx"],"sourcesContent":["import NewReleasesOutlined from '@mui/icons-material/NewReleasesOutlined'\nimport { Box, Link } from '@mui/material'\nimport { AccessorStepAccessRequirement } from './requestFlowTypes'\n\nexport type AccessorRequirementHelpTextProps = {\n accessRequirement: AccessorStepAccessRequirement\n isEDucEnabled: boolean\n}\n\nexport default function AccessorRequirementHelpText(\n props: AccessorRequirementHelpTextProps,\n) {\n const { accessRequirement, isEDucEnabled } = props\n let link: string = ''\n let msg: string = ''\n\n if (\n accessRequirement.isCertifiedUserRequired &&\n accessRequirement.isValidatedProfileRequired\n ) {\n link = 'https://help.synapse.org/docs/User-Types.2007072795.html'\n msg =\n 'All data requesters must be certified users and have a validated user profile.'\n } else if (accessRequirement.isCertifiedUserRequired) {\n link =\n 'https://help.synapse.org/docs/User-Types.2007072795.html#UserAccountTiers-CertifiedUsers'\n msg = 'All data requesters must be a certified user.'\n } else if (accessRequirement.isValidatedProfileRequired) {\n link =\n 'https://help.synapse.org/docs/User-Types.2007072795.html#UserAccountTiers-ValidatedUsers'\n msg = 'All data requesters must have a validated user profile.'\n }\n return (\n <>\n {accessRequirement.isDUCRequired && !isEDucEnabled ? (\n <Box sx={{ display: 'flex', gap: 2, alignItems: 'center', py: 1 }}>\n <NewReleasesOutlined sx={{ color: 'error.main' }} />\n <div>\n You must list the Synapse user names of all collaborators listed in\n your Data Use Certificate (DUC).\n </div>\n </Box>\n ) : (\n ''\n )}\n {msg}{' '}\n {link && (\n <Link href={link} target={'_blank'} rel={'noreferrer'}>\n Learn more\n </Link>\n )}\n </>\n )\n}\n"],"mappings":";;;;AASA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,sBAAmB,qBAAkB,GACzC,IAAe,IACf,IAAc;CAkBlB,OAfE,EAAkB,2BAClB,EAAkB,8BAElB,IAAO,4DACP,IACE,oFACO,EAAkB,2BAC3B,IACE,4FACF,IAAM,mDACG,EAAkB,+BAC3B,IACE,4FACF,IAAM,4DAGN,kBAAA,GAAA,EAAA,UAAA;EACG,EAAkB,iBAAiB,CAAC,IACnC,kBAAC,GAAD;GAAK,IAAI;IAAE,SAAS;IAAQ,KAAK;IAAG,YAAY;IAAU,IAAI;GAAE;aAAhE,CACE,kBAAC,GAAD,EAAqB,IAAI,EAAE,OAAO,aAAa,EAAI,CAAA,GACnD,kBAAC,OAAD,EAAA,UAAK,uGAGA,CAAA,CACF;OAEL;EAED;EAAK;EACL,KACC,kBAAC,GAAD;GAAM,MAAM;GAAM,QAAQ;GAAU,KAAK;aAAc;EAEjD,CAAA;CAER,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EDucPreviewStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAIlE,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAE7E,eAAO,MAAM,4BAA4B,8CACI,CAAA;AAC7C,eAAO,MAAM,6BAA6B,sBAAsB,CAAA;AAChE,eAAO,MAAM,wBAAwB,iBAAiB,CAAA;AAEtD,eAAO,MAAM,4BAA4B,yBAAyB,CAAA;AAClE,eAAO,MAAM,mCAAmC,+BAA+B,CAAA;AAW/E,MAAM,MAAM,oBAAoB,GAAG;IACjC,2BAA2B,EAAE,4BAA4B,CAAA;IACzD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"EDucPreviewStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAIlE,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAE7E,eAAO,MAAM,4BAA4B,8CACI,CAAA;AAC7C,eAAO,MAAM,6BAA6B,sBAAsB,CAAA;AAChE,eAAO,MAAM,wBAAwB,iBAAiB,CAAA;AAEtD,eAAO,MAAM,4BAA4B,yBAAyB,CAAA;AAClE,eAAO,MAAM,mCAAmC,+BAA+B,CAAA;AAW/E,MAAM,MAAM,oBAAoB,GAAG;IACjC,2BAA2B,EAAE,4BAA4B,CAAA;IACzD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAiYlE"}
|