synapse-react-client 4.0.45 → 4.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.js +1 -1
- package/dist/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/aridhia-queries/useSubmitAridhiaDar.js +2 -2
- package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
- 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.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/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/AccessTokenPage/AccessTokenPage.js +1 -1
- package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
- package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
- package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
- package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
- package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
- package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
- package/dist/components/Aridhia/AridhiaDarStatusPopover.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/aridhiaAccessStatusUtils.d.ts +11 -9
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.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 +3 -3
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
- package/dist/components/Authentication/TOTPForm.js +3 -3
- package/dist/components/Authentication/TOTPForm.js.map +1 -1
- package/dist/components/Authentication/index.d.ts +6 -6
- package/dist/components/Authentication/index.d.ts.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js +7 -7
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
- package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.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/ChallengeSubmission.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.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/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js +4 -4
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
- package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
- package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
- package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
- package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
- package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
- package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
- package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
- package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
- package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
- package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
- package/dist/components/ColumnFilter/ColumnFilter.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/DataExplorer/DataExplorer.d.ts.map +1 -1
- package/dist/components/DataExplorer/DataExplorer.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/columns/AutocompleteColumn.d.ts +11 -2
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
- package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
- 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/components/contextMenu.js +3 -3
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js +14 -12
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
- package/dist/components/DataGrid/hooks/useStack.js +2 -2
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +47 -42
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
- package/dist/components/DataGrid/utils/json-rx/JsonRx.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 +3 -2
- 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/DownloadCart/MeetAccessRequirementCard.js +1 -1
- package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
- 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/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.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/details/view/DetailsView.d.ts.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
- package/dist/components/EntityFinder/details/view/DetailsView.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 +4 -4
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js +1 -1
- package/dist/components/EntityHeaderTable/Filter.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/EvaluationRoundEditor.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/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.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 +7 -7
- 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/schemaFieldUtils.js +2 -2
- package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
- package/dist/components/GenericCard/CardUtils.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +46 -46
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
- package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
- 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 +38 -38
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.js +1 -1
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/HelpPopover/HelpPopover.js +1 -1
- package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.d.ts +3 -1
- package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
- package/dist/components/HexGrid/HexGrid.js +14 -13
- package/dist/components/HexGrid/HexGrid.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/IconSvg/index.d.ts +1 -1
- package/dist/components/IconSvg/index.d.ts.map +1 -1
- package/dist/components/IconSvg/index.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.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/Markdown/MarkdownEditor.js +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/Markdown/widget/index.d.ts +1 -1
- package/dist/components/Markdown/widget/index.d.ts.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js +2 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js +14 -13
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/Plot/BarPlot.js +1 -1
- package/dist/components/Plot/BarPlot.js.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
- package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
- package/dist/components/Plot/PlotPanelHeader.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/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/ProjectVisibilityChip/ProjectVisibilityChip.js +6 -6
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterConditionRow.js +31 -30
- package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
- package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
- package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
- package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
- package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
- package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
- package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
- package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
- package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
- package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
- package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
- package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
- package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
- package/dist/components/QueryCountButton/QueryCountButton.js +5 -5
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/QuerySortSelector.js +5 -5
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
- package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
- package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
- package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
- package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
- package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
- package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
- package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
- package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js +26 -21
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
- package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardLarge.js +5 -5
- package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
- package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
- package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
- package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
- package/dist/components/RowDataTable/RowDataTable.js +25 -8
- package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
- package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
- package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js +4 -4
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
- 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/SynapseChatMessage.js +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.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/SynapseForm/NavButtons.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.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/HighlightedTypography.js +1 -1
- package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.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.d.ts.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
- package/dist/components/SynapseTable/SqlEditor.js +7 -7
- package/dist/components/SynapseTable/SynapseTable.js +8 -8
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
- package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
- package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +6 -6
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +2 -2
- 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/TableColumnSchemaEditorTestUtils.js +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +59 -59
- 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/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
- package/dist/components/TanStackTable/StyledTanStackTable.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/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/TotalQueryResults.js +14 -14
- package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js +3 -3
- 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/doi/CreateOrUpdateDoiModal.js +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
- package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
- package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
- package/dist/components/download_list/DownloadConfirmationUtils.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/ErrorBanner.d.ts.map +1 -1
- package/dist/components/error/ErrorBanner.js +49 -46
- package/dist/components/error/ErrorBanner.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/file/upload/MultiFileUploadProgress.js +5 -5
- package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
- package/dist/components/row_renderers/Dataset.js +6 -6
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/row_renderers/Funder.js +1 -1
- package/dist/components/row_renderers/Funder.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/ElementWithTooltip.d.ts +6 -1
- package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
- package/dist/components/widgets/ElementWithTooltip.js +22 -14
- package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseImage.js +1 -1
- package/dist/components/widgets/SynapseImage.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
- package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
- package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
- package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
- package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
- package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
- 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/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
- package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
- package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
- package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
- package/dist/mocks/mockAnnotationColumns.js +1 -1
- package/dist/mocks/mockAnnotationColumns.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +17 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +62 -42
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
- package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
- package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
- 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/handlers/subscriptionHandlers.js +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
- package/dist/mocks/msw/handlers/userProfileHandlers.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/mocks/query/mockColumnCategoryTable.d.ts +19 -0
- package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
- package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
- package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
- package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
- package/dist/stories/ColorPaletteInspector.js +2 -2
- package/dist/stories/ColorPaletteInspector.js.map +1 -1
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-queries/auth/useOIDC.js +2 -2
- package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
- package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
- package/dist/synapse-queries/challenge/useChallenge.js +2 -2
- package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
- package/dist/synapse-queries/chat/useChat.js +8 -8
- package/dist/synapse-queries/chat/useChat.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
- package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/download/index.js +2 -2
- package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
- package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js +14 -13
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js +20 -20
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
- package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
- package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
- package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js +6 -6
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js +14 -14
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js +4 -4
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/index.js +177 -176
- package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
- package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
- package/dist/synapse-queries/portal/usePortal.js +7 -7
- package/dist/synapse-queries/portal/usePortal.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js +4 -4
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeam.js +2 -2
- package/dist/synapse-queries/team/useTeam.js.map +1 -1
- package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
- package/dist/synapse-queries/team/useTeamList.js +3 -3
- package/dist/synapse-queries/team/useTeamList.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js +8 -8
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/synapse-queries/trash/useTrashCan.js +4 -4
- package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
- package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
- package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
- package/dist/synapse-queries/user/useFavorites.js +4 -4
- package/dist/synapse-queries/user/useFavorites.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/synapse-queries/user/useRevokeCertification.js +2 -2
- package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
- package/dist/synapse-queries/wiki/useWiki.js +10 -10
- package/dist/synapse-queries/wiki/useWiki.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/ContentTypeUtils.js +4 -4
- package/dist/utils/ContentTypeUtils.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
- package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
- package/dist/utils/context/DocumentMetadataContext.js +1 -1
- package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js +3 -3
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/ArrayUtils.js +2 -2
- package/dist/utils/functions/ArrayUtils.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/FileHandleUtils.js +1 -1
- package/dist/utils/functions/FileHandleUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.js +1 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/StringUtils.d.ts.map +1 -1
- package/dist/utils/functions/StringUtils.js +1 -2
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js +2 -2
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/enumerationFacet.d.ts +26 -0
- package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
- package/dist/utils/functions/enumerationFacet.js +27 -0
- package/dist/utils/functions/enumerationFacet.js.map +1 -0
- package/dist/utils/functions/facetCountUtils.d.ts +12 -0
- package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
- package/dist/utils/functions/facetCountUtils.js +9 -0
- package/dist/utils/functions/facetCountUtils.js.map +1 -0
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getUserData.js +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.d.ts +1 -1
- package/dist/utils/functions/queryUtils.d.ts.map +1 -1
- package/dist/utils/functions/queryUtils.js +26 -22
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js +17 -26
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/functions/unCamelCase.js +1 -1
- package/dist/utils/functions/unCamelCase.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
- package/dist/utils/hooks/useLogin.d.ts.map +1 -1
- package/dist/utils/hooks/useLogin.js +5 -5
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
- package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
- package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/jsonschema/submissionContext.js +2 -2
- package/dist/utils/jsonschema/submissionContext.js.map +1 -1
- package/package.json +7 -6
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
import { Button as e, IconButton as t } from "@mui/material";
|
|
2
2
|
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { TranslatableString as
|
|
3
|
+
import r from "@mui/icons-material/Close";
|
|
4
|
+
import i from "@mui/icons-material/ContentCopy";
|
|
5
|
+
import { TranslatableString as a } from "@rjsf/utils";
|
|
6
|
+
import o from "@mui/icons-material/Add";
|
|
7
|
+
import s from "@mui/icons-material/ArrowDownward";
|
|
8
|
+
import c from "@mui/icons-material/ArrowUpward";
|
|
6
9
|
//#region src/components/JsonSchemaForm/templates/ButtonTemplate.tsx
|
|
7
10
|
var l = {
|
|
8
11
|
minWidth: "unset",
|
|
9
12
|
width: "40px",
|
|
10
13
|
height: "40px"
|
|
11
14
|
};
|
|
12
|
-
function u({ uiSchema: t, registry:
|
|
13
|
-
let { translateString:
|
|
15
|
+
function u({ uiSchema: t, registry: r, ...i }) {
|
|
16
|
+
let { translateString: s } = r;
|
|
14
17
|
return /* @__PURE__ */ n(e, {
|
|
15
|
-
title:
|
|
16
|
-
...
|
|
18
|
+
title: s(a.AddItemButton),
|
|
19
|
+
...i,
|
|
17
20
|
color: "primary",
|
|
18
21
|
variant: "contained",
|
|
19
22
|
sx: l,
|
|
20
|
-
children: /* @__PURE__ */ n(
|
|
23
|
+
children: /* @__PURE__ */ n(o, {})
|
|
21
24
|
});
|
|
22
25
|
}
|
|
23
26
|
function d(e) {
|
|
24
27
|
switch (e) {
|
|
25
|
-
case "copy": return /* @__PURE__ */ n(
|
|
26
|
-
case "moveUp": return /* @__PURE__ */ n(
|
|
27
|
-
case "moveDown": return /* @__PURE__ */ n(
|
|
28
|
-
case "remove": return /* @__PURE__ */ n(
|
|
28
|
+
case "copy": return /* @__PURE__ */ n(i, { fontSize: "inherit" });
|
|
29
|
+
case "moveUp": return /* @__PURE__ */ n(c, { fontSize: "inherit" });
|
|
30
|
+
case "moveDown": return /* @__PURE__ */ n(s, { fontSize: "inherit" });
|
|
31
|
+
case "remove": return /* @__PURE__ */ n(r, { fontSize: "inherit" });
|
|
29
32
|
default: throw Error(`Unexpected iconType ${e}`);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
@@ -41,7 +44,7 @@ function f(e) {
|
|
|
41
44
|
function p(e) {
|
|
42
45
|
let { registry: { translateString: t } } = e;
|
|
43
46
|
return /* @__PURE__ */ n(f, {
|
|
44
|
-
title: t(
|
|
47
|
+
title: t(a.RemoveButton),
|
|
45
48
|
...e,
|
|
46
49
|
buttonType: "remove"
|
|
47
50
|
});
|
|
@@ -49,7 +52,7 @@ function p(e) {
|
|
|
49
52
|
function m(e) {
|
|
50
53
|
let { registry: { translateString: t } } = e;
|
|
51
54
|
return /* @__PURE__ */ n(f, {
|
|
52
|
-
title: t(
|
|
55
|
+
title: t(a.CopyButton),
|
|
53
56
|
...e,
|
|
54
57
|
buttonType: "copy"
|
|
55
58
|
});
|
|
@@ -57,7 +60,7 @@ function m(e) {
|
|
|
57
60
|
function h(e) {
|
|
58
61
|
let { registry: { translateString: t } } = e;
|
|
59
62
|
return /* @__PURE__ */ n(f, {
|
|
60
|
-
title: t(
|
|
63
|
+
title: t(a.MoveUpButton),
|
|
61
64
|
...e,
|
|
62
65
|
buttonType: "moveUp"
|
|
63
66
|
});
|
|
@@ -65,7 +68,7 @@ function h(e) {
|
|
|
65
68
|
function g(e) {
|
|
66
69
|
let { registry: { translateString: t } } = e;
|
|
67
70
|
return /* @__PURE__ */ n(f, {
|
|
68
|
-
title: t(
|
|
71
|
+
title: t(a.MoveDownButton),
|
|
69
72
|
...e,
|
|
70
73
|
buttonType: "moveDown"
|
|
71
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonTemplate.js","names":[],"sources":["../../../../src/components/JsonSchemaForm/templates/ButtonTemplate.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ButtonTemplate.js","names":[],"sources":["../../../../src/components/JsonSchemaForm/templates/ButtonTemplate.tsx"],"sourcesContent":["import Add from '@mui/icons-material/Add'\nimport ArrowDownward from '@mui/icons-material/ArrowDownward'\nimport ArrowUpward from '@mui/icons-material/ArrowUpward'\nimport Close from '@mui/icons-material/Close'\nimport { Button, IconButton, SxProps } from '@mui/material'\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy'\nimport {\n FormContextType,\n IconButtonProps,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n} from '@rjsf/utils'\n\nconst buttonSx: SxProps = { minWidth: 'unset', width: '40px', height: '40px' }\n\nexport function AddButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>({ uiSchema, registry, ...props }: IconButtonProps<T, S, F>) {\n const { translateString } = registry\n return (\n <Button\n title={translateString(TranslatableString.AddItemButton)}\n {...props}\n color=\"primary\"\n variant={'contained'}\n sx={buttonSx}\n >\n <Add />\n </Button>\n )\n}\n\ntype IconButtonTemplateProps = {\n buttonType: 'copy' | 'moveUp' | 'moveDown' | 'remove'\n}\n\nfunction getIcon(buttonType: IconButtonTemplateProps['buttonType']) {\n switch (buttonType) {\n case 'copy':\n return <ContentCopyIcon fontSize=\"inherit\" />\n case 'moveUp':\n return <ArrowUpward fontSize=\"inherit\" />\n case 'moveDown':\n return <ArrowDownward fontSize=\"inherit\" />\n case 'remove':\n return <Close fontSize=\"inherit\" />\n default:\n throw new Error(`Unexpected iconType ${buttonType}`)\n }\n}\n\nfunction IconButtonTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: IconButtonProps<T, S, F> & IconButtonTemplateProps) {\n const { iconType, buttonType, uiSchema, ...otherProps } = props\n\n return (\n <IconButton {...otherProps} color={'default'} sx={buttonSx}>\n {getIcon(buttonType)}\n </IconButton>\n )\n}\n\nexport function RemoveButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: IconButtonProps<T, S, F>) {\n const {\n registry: { translateString },\n } = props\n return (\n <IconButtonTemplate<T, S, F>\n title={translateString(TranslatableString.RemoveButton)}\n {...props}\n buttonType={'remove'}\n />\n )\n}\n\nexport function CopyButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: IconButtonProps<T, S, F>) {\n const {\n registry: { translateString },\n } = props\n return (\n <IconButtonTemplate<T, S, F>\n title={translateString(TranslatableString.CopyButton)}\n {...props}\n buttonType={'copy'}\n />\n )\n}\n\nexport function MoveUpButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: IconButtonProps<T, S, F>) {\n const {\n registry: { translateString },\n } = props\n return (\n <IconButtonTemplate<T, S, F>\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n buttonType={'moveUp'}\n />\n )\n}\n\nexport function MoveDownButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: IconButtonProps<T, S, F>) {\n const {\n registry: { translateString },\n } = props\n return (\n <IconButtonTemplate<T, S, F>\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n buttonType={'moveDown'}\n />\n )\n}\n\nexport default {\n AddButton,\n RemoveButton,\n MoveUpButton,\n MoveDownButton,\n CopyButton,\n}\n"],"mappings":";;;;;;;;;AAcA,IAAM,IAAoB;CAAE,UAAU;CAAS,OAAO;CAAQ,QAAQ;AAAO;AAE7E,SAAgB,EAId,EAAE,aAAU,aAAU,GAAG,KAAmC;CAC5D,IAAM,EAAE,uBAAoB;CAC5B,OACE,kBAAC,GAAD;EACE,OAAO,EAAgB,EAAmB,aAAa;EACvD,GAAI;EACJ,OAAM;EACN,SAAS;EACT,IAAI;YAEJ,kBAAC,GAAD,CAAM,CAAA;CACA,CAAA;AAEZ;AAMA,SAAS,EAAQ,GAAmD;CAClE,QAAQ,GAAR;EACE,KAAK,QACH,OAAO,kBAAC,GAAD,EAAiB,UAAS,UAAW,CAAA;EAC9C,KAAK,UACH,OAAO,kBAAC,GAAD,EAAa,UAAS,UAAW,CAAA;EAC1C,KAAK,YACH,OAAO,kBAAC,GAAD,EAAe,UAAS,UAAW,CAAA;EAC5C,KAAK,UACH,OAAO,kBAAC,GAAD,EAAO,UAAS,UAAW,CAAA;EACpC,SACE,MAAU,MAAM,uBAAuB,GAAY;CACvD;AACF;AAEA,SAAS,EAIP,GAA2D;CAC3D,IAAM,EAAE,aAAU,eAAY,aAAU,GAAG,MAAe;CAE1D,OACE,kBAAC,GAAD;EAAY,GAAI;EAAY,OAAO;EAAW,IAAI;YAC/C,EAAQ,CAAU;CACT,CAAA;AAEhB;AAEA,SAAgB,EAId,GAAiC;CACjC,IAAM,EACJ,UAAU,EAAE,yBACV;CACJ,OACE,kBAAC,GAAD;EACE,OAAO,EAAgB,EAAmB,YAAY;EACtD,GAAI;EACJ,YAAY;CACb,CAAA;AAEL;AAEA,SAAgB,EAId,GAAiC;CACjC,IAAM,EACJ,UAAU,EAAE,yBACV;CACJ,OACE,kBAAC,GAAD;EACE,OAAO,EAAgB,EAAmB,UAAU;EACpD,GAAI;EACJ,YAAY;CACb,CAAA;AAEL;AAEA,SAAgB,EAId,GAAiC;CACjC,IAAM,EACJ,UAAU,EAAE,yBACV;CACJ,OACE,kBAAC,GAAD;EACE,OAAO,EAAgB,EAAmB,YAAY;EACtD,GAAI;EACJ,YAAY;CACb,CAAA;AAEL;AAEA,SAAgB,EAId,GAAiC;CACjC,IAAM,EACJ,UAAU,EAAE,yBACV;CACJ,OACE,kBAAC,GAAD;EACE,OAAO,EAAgB,EAAmB,cAAc;EACxD,GAAI;EACJ,YAAY;CACb,CAAA;AAEL;AAEA,IAAA,IAAe;CACb;CACA;CACA;CACA;CACA;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RJSFInputLabel.d.ts","sourceRoot":"","sources":["../../../../src/components/JsonSchemaForm/templates/RJSFInputLabel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RJSFInputLabel.d.ts","sourceRoot":"","sources":["../../../../src/components/JsonSchemaForm/templates/RJSFInputLabel.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,gBAAgB,EACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAEnD,KAAK,mBAAmB,CACtB,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,gBAAgB,GAAG,UAAU,EACvC,CAAC,SAAS,eAAe,GAAG,GAAG,IAC7B,iBAAiB,CAAC;IACpB;wBACoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sCAAsC;IACtC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,4CAA4C;IAC5C,WAAW,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,4BAA4B;IAC5B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAC5B,CAAC,CAAA;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,gBAAgB,GAAG,UAAU,EACvC,CAAC,SAAS,eAAe,GAAG,GAAG,EAC/B,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2CAsDpC"}
|
|
@@ -2,7 +2,8 @@ import { StyledPopover as e } from "../../styled/StyledPopover.js";
|
|
|
2
2
|
import { useState as t } from "react";
|
|
3
3
|
import { Collapse as n, IconButton as r, Tooltip as i } from "@mui/material";
|
|
4
4
|
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
-
import
|
|
5
|
+
import c from "@mui/icons-material/HelpOutline";
|
|
6
|
+
import l from "@mui/icons-material/HelpTwoTone";
|
|
6
7
|
//#region src/components/JsonSchemaForm/templates/RJSFInputLabel.tsx
|
|
7
8
|
function u(u) {
|
|
8
9
|
let { hideLabel: d = !1, fieldLabel: f, description: p, registry: m, children: h } = u, g = m.formContext.descriptionVariant || "popover", [_, v] = t(!1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RJSFInputLabel.js","names":[],"sources":["../../../../src/components/JsonSchemaForm/templates/RJSFInputLabel.tsx"],"sourcesContent":["import { StyledPopover } from '@/components/styled/StyledPopover'\nimport
|
|
1
|
+
{"version":3,"file":"RJSFInputLabel.js","names":[],"sources":["../../../../src/components/JsonSchemaForm/templates/RJSFInputLabel.tsx"],"sourcesContent":["import { StyledPopover } from '@/components/styled/StyledPopover'\nimport HelpOutline from '@mui/icons-material/HelpOutline'\nimport HelpTwoTone from '@mui/icons-material/HelpTwoTone'\nimport { Collapse, IconButton, Tooltip } from '@mui/material'\nimport {\n FormContextType,\n Registry,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils'\nimport { PropsWithChildren, useState } from 'react'\n\ntype RJSFInputLabelProps<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n> = PropsWithChildren<{\n /** If true, the label will not be shown\n * @default false */\n hideLabel?: boolean\n /** The rendered label of the field */\n fieldLabel: React.ReactNode\n /** The rendered description of the field */\n description: React.ReactNode\n /** The `registry` object */\n registry: Registry<T, S, F>\n}>\n\n/**\n * Component that handles rendering our custom input label and description fields for RJSF.\n */\nexport function RJSFInputLabelWrapper<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: RJSFInputLabelProps<T, S, F>) {\n const {\n hideLabel = false,\n fieldLabel,\n description,\n registry,\n children,\n } = props\n const descriptionVariant =\n registry.formContext.descriptionVariant || 'popover'\n\n const [showDetails, setShowDetails] = useState(false)\n\n const expandButton = (\n <Tooltip title={'More Info'}>\n <IconButton\n onClick={e => {\n e.preventDefault()\n setShowDetails(!showDetails)\n }}\n aria-expanded={showDetails}\n size={'small'}\n >\n <HelpOutline color={'primary'} sx={{ width: '16px', height: '16px' }} />\n </IconButton>\n </Tooltip>\n )\n\n const popoverButton = (\n <StyledPopover popoverContent={description} maxWidth=\"350px\">\n <HelpTwoTone className={`HelpButton`} />\n </StyledPopover>\n )\n\n return (\n <>\n {!hideLabel && (\n <div className=\"LabelContainer\">\n {fieldLabel}\n {description && descriptionVariant === 'popover' && popoverButton}\n {description && descriptionVariant === 'expand' && expandButton}\n </div>\n )}\n {!hideLabel && descriptionVariant === 'inline' && description && (\n <div className=\"field-description-inline\">{description}</div>\n )}\n {children}\n {!hideLabel && descriptionVariant === 'expand' && (\n <Collapse className=\"field-description\" in={showDetails}>\n {description}\n </Collapse>\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;AA+BA,SAAgB,EAId,GAAqC;CACrC,IAAM,EACJ,eAAY,IACZ,eACA,gBACA,aACA,gBACE,GACE,IACJ,EAAS,YAAY,sBAAsB,WAEvC,CAAC,GAAa,KAAkB,EAAS,EAAK;CAuBpD,OACE,kBAAA,GAAA,EAAA,UAAA;EACG,CAAC,KACA,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG;IACA,KAAe,MAAuB,aAV7C,kBAAC,GAAD;KAAe,gBAAgB;KAAa,UAAS;eACnD,kBAAC,GAAD,EAAa,WAAW,aAAe,CAAA;IAC1B,CAQ2C;IACnD,KAAe,MAAuB,YA1B7C,kBAAC,GAAD;KAAS,OAAO;eACd,kBAAC,GAAD;MACE,UAAS,MAAK;OAEZ,AADA,EAAE,eAAe,GACjB,EAAe,CAAC,CAAW;MAC7B;MACA,iBAAe;MACf,MAAM;gBAEN,kBAAC,GAAD;OAAa,OAAO;OAAW,IAAI;QAAE,OAAO;QAAQ,QAAQ;OAAO;MAAI,CAAA;KAC7D,CAAA;IACL,CAegD;GAChD;;EAEN,CAAC,KAAa,MAAuB,YAAY,KAChD,kBAAC,OAAD;GAAK,WAAU;aAA4B;EAAiB,CAAA;EAE7D;EACA,CAAC,KAAa,MAAuB,YACpC,kBAAC,GAAD;GAAU,WAAU;GAAoB,IAAI;aACzC;EACO,CAAA;CAEZ,EAAA,CAAA;AAEN"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Widget } from '@rjsf/utils';
|
|
2
|
+
export declare const PHONE_DEFAULT_COUNTRY = "US";
|
|
3
|
+
export declare const PHONE_PREFERRED_COUNTRIES: ["GB", "US"];
|
|
4
|
+
/**
|
|
5
|
+
* International phone number widget: a country dropdown (flag, name, calling code) with a
|
|
6
|
+
* numeric-only, country-formatted number input. The calling code is always part of the value.
|
|
7
|
+
*/
|
|
8
|
+
export declare const PhoneWidget: Widget;
|
|
9
|
+
//# sourceMappingURL=PhoneWidget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhoneWidget.d.ts","sourceRoot":"","sources":["../../../../src/components/JsonSchemaForm/widgets/PhoneWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAA;AAGjD,eAAO,MAAM,qBAAqB,OAAO,CAAA;AACzC,eAAO,MAAM,yBAAyB,EAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MA6BzB,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { MuiTelInput as t } from "mui-tel-input";
|
|
3
|
+
//#region src/components/JsonSchemaForm/widgets/PhoneWidget.tsx
|
|
4
|
+
var n = "US", r = ["GB", "US"], i = ({ id: n, disabled: i, readonly: a, required: o, value: s, onChange: c, onBlur: l, onFocus: u }) => /* @__PURE__ */ e(t, {
|
|
5
|
+
fullWidth: !0,
|
|
6
|
+
id: n,
|
|
7
|
+
required: o,
|
|
8
|
+
disabled: i,
|
|
9
|
+
slotProps: { htmlInput: { readOnly: a } },
|
|
10
|
+
value: typeof s == "string" ? s : "",
|
|
11
|
+
defaultCountry: "US",
|
|
12
|
+
preferredCountries: r,
|
|
13
|
+
forceCallingCode: !0,
|
|
14
|
+
onChange: (e, t) => c(t.nationalNumber ? e : void 0),
|
|
15
|
+
onBlur: () => l(n, s),
|
|
16
|
+
onFocus: () => u(n, s)
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { n as PHONE_DEFAULT_COUNTRY, r as PHONE_PREFERRED_COUNTRIES, i as PhoneWidget };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=PhoneWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhoneWidget.js","names":[],"sources":["../../../../src/components/JsonSchemaForm/widgets/PhoneWidget.tsx"],"sourcesContent":["import { Widget, WidgetProps } from '@rjsf/utils'\nimport { MuiTelInput } from 'mui-tel-input'\n\nexport const PHONE_DEFAULT_COUNTRY = 'US'\nexport const PHONE_PREFERRED_COUNTRIES = ['GB', 'US'] as ['GB', 'US']\n\n/**\n * International phone number widget: a country dropdown (flag, name, calling code) with a\n * numeric-only, country-formatted number input. The calling code is always part of the value.\n */\nexport const PhoneWidget: Widget = ({\n id,\n disabled,\n readonly,\n required,\n value,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps) => {\n return (\n <MuiTelInput\n fullWidth\n id={id}\n required={required}\n disabled={disabled}\n slotProps={{ htmlInput: { readOnly: readonly } }}\n value={typeof value === 'string' ? value : ''}\n defaultCountry={PHONE_DEFAULT_COUNTRY}\n preferredCountries={PHONE_PREFERRED_COUNTRIES}\n forceCallingCode\n // A bare calling code is not an answer; report it as empty so `required` still applies.\n onChange={(newValue, info) =>\n onChange(info.nationalNumber ? newValue : undefined)\n }\n onBlur={() => onBlur(id, value)}\n onFocus={() => onFocus(id, value)}\n />\n )\n}\n"],"mappings":";;;AAGA,IAAa,IAAwB,MACxB,IAA4B,CAAC,MAAM,IAAI,GAMvC,KAAuB,EAClC,OACA,aACA,aACA,aACA,UACA,aACA,WACA,iBAGE,kBAAC,GAAD;CACE,WAAA;CACI;CACM;CACA;CACV,WAAW,EAAE,WAAW,EAAE,UAAU,EAAS,EAAE;CAC/C,OAAO,OAAO,KAAU,WAAW,IAAQ;CAC3C,gBAAA;CACA,oBAAoB;CACpB,kBAAA;CAEA,WAAW,GAAU,MACnB,EAAS,EAAK,iBAAiB,IAAW,KAAA,CAAS;CAErD,cAAc,EAAO,GAAI,CAAK;CAC9B,eAAe,EAAQ,GAAI,CAAK;AACjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownCollapse.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/MarkdownCollapse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAwB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"MarkdownCollapse.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/MarkdownCollapse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAwB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AASzE,MAAM,MAAM,qBAAqB,GAAG;IAElC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,qBAAqB,KAC3B,KAAK,CAAC,SAmHR,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -5,7 +5,9 @@ import { Markdown as r } from "./MarkdownSynapse.js";
|
|
|
5
5
|
import { useState as i } from "react";
|
|
6
6
|
import { Box as a, Collapse as o, Typography as s } from "@mui/material";
|
|
7
7
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
|
-
import
|
|
8
|
+
import u from "@mui/icons-material/ContentCopyTwoTone";
|
|
9
|
+
import d from "@mui/icons-material/KeyboardArrowDownTwoTone";
|
|
10
|
+
import f from "@mui/icons-material/KeyboardArrowUpTwoTone";
|
|
9
11
|
//#region src/components/Markdown/MarkdownCollapse.tsx
|
|
10
12
|
var p = (p) => {
|
|
11
13
|
let [m, h] = i(!1), [g, _] = i(), [v, y] = i(), b = (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownCollapse.js","names":[],"sources":["../../../src/components/Markdown/MarkdownCollapse.tsx"],"sourcesContent":["import React from 'react'\nimport { useState } from 'react'\nimport MarkdownSynapse, { MarkdownSynapseProps } from './MarkdownSynapse'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport { Box, Collapse, SxProps, Typography } from '@mui/material'\nimport
|
|
1
|
+
{"version":3,"file":"MarkdownCollapse.js","names":[],"sources":["../../../src/components/Markdown/MarkdownCollapse.tsx"],"sourcesContent":["import React from 'react'\nimport { useState } from 'react'\nimport MarkdownSynapse, { MarkdownSynapseProps } from './MarkdownSynapse'\nimport { displayToast } from '../ToastMessage/ToastMessage'\nimport { Box, Collapse, SxProps, Typography } from '@mui/material'\nimport ContentCopyTwoTone from '@mui/icons-material/ContentCopyTwoTone'\nimport KeyboardArrowDownTwoTone from '@mui/icons-material/KeyboardArrowDownTwoTone'\nimport KeyboardArrowUpTwoTone from '@mui/icons-material/KeyboardArrowUpTwoTone'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\nimport { stripHTML } from './MarkdownUtils'\n\nexport type MarkdownCollapseProps = {\n // The text that should be shown. If not given, will default to \"full text\"\n textDescription?: string\n showCopyPlainText?: boolean\n title?: string\n setPlainTextResult?: (plainText: string) => void\n} & MarkdownSynapseProps\n\n/**\n * Wraps a MarkdownSynapse in a Collapse area, with customizable text description.\n * Will pass down all properties to the MarkdownSynapse component, so this can be used in\n * the portal detail pages.\n * @param props\n */\nexport const MarkdownCollapse = (\n props: MarkdownCollapseProps,\n): React.ReactNode => {\n const [show, setShow] = useState(false)\n const [wordCount, setWordCount] = useState<number>()\n const [plainText, setPlainText] = useState<string>()\n\n const onMarkdownProcessingDone: (\n htmlContent: string | null | undefined,\n ) => void = htmlContent => {\n if (htmlContent) {\n const textContent = stripHTML(htmlContent)\n if (textContent.trim() !== plainText) {\n setPlainText(textContent.trim())\n setWordCount(textContent.trim().split(/\\s+/).length)\n if (props.setPlainTextResult) {\n props.setPlainTextResult(textContent.trim())\n }\n }\n }\n }\n\n const {\n textDescription = 'full text',\n showCopyPlainText,\n markdown,\n ownerId,\n title,\n } = props\n if (markdown == undefined && ownerId == undefined) {\n return\n }\n const iconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n }\n return (\n <div\n className=\"MarkdownCollapse\"\n style={{\n display: wordCount != undefined && wordCount > 0 ? 'block' : 'none',\n }}\n >\n {title && (\n <Typography variant=\"subtitle1\" sx={{ margin: '20px 0px 10px 0px' }}>\n {title}\n </Typography>\n )}\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n }}\n >\n <Typography\n variant=\"smallLink\"\n onClick={() => setShow(!show)}\n aria-controls=\"collapse-text\"\n aria-expanded={show}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n }}\n >\n {show ? 'Hide' : 'View'} {textDescription}{' '}\n {wordCount ? `(${wordCount} words)` : ''}\n {show ? (\n <KeyboardArrowUpTwoTone sx={iconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={iconSx} />\n )}\n </Typography>\n {showCopyPlainText && (\n <Box>\n <Typography\n variant=\"smallLink\"\n onClick={() => {\n if (plainText) {\n copyStringToClipboard(plainText).then(\n () => {\n displayToast('Successfully copied to the clipboard')\n },\n err => {\n console.error(err)\n },\n )\n }\n }}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n }}\n >\n <ContentCopyTwoTone sx={iconSx} />\n Copy {textDescription} to clipboard\n </Typography>\n </Box>\n )}\n </Box>\n\n <Collapse in={show}>\n <Box sx={{ backgroundColor: 'grey.100', padding: '25px' }}>\n <div id=\"collapse-text\">\n <MarkdownSynapse\n {...props}\n onMarkdownProcessingDone={onMarkdownProcessingDone}\n />\n </div>\n </Box>\n </Collapse>\n </div>\n )\n}\n\nexport default MarkdownCollapse\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,KACX,MACoB;CACpB,IAAM,CAAC,GAAM,KAAW,EAAS,EAAK,GAChC,CAAC,GAAW,KAAgB,EAAiB,GAC7C,CAAC,GAAW,KAAgB,EAAiB,GAE7C,KAEM,MAAe;EACzB,IAAI,GAAa;GACf,IAAM,IAAc,EAAU,CAAW;GACzC,AAAI,EAAY,KAAK,MAAM,MACzB,EAAa,EAAY,KAAK,CAAC,GAC/B,EAAa,EAAY,KAAK,EAAE,MAAM,KAAK,EAAE,MAAM,GAC/C,EAAM,sBACR,EAAM,mBAAmB,EAAY,KAAK,CAAC;EAGjD;CACF,GAEM,EACJ,qBAAkB,aAClB,sBACA,aACA,YACA,aACE;CACJ,IAAI,KAAY,QAAa,KAAW,MACtC;CAEF,IAAM,IAAkB;EACtB,OAAO;EACP,cAAc;EACd,QAAQ;CACV;CACA,OACE,kBAAC,OAAD;EACE,WAAU;EACV,OAAO,EACL,SAAS,KAAa,QAAa,IAAY,IAAI,UAAU,OAC/D;YAJF;GAMG,KACC,kBAAC,GAAD;IAAY,SAAQ;IAAY,IAAI,EAAE,QAAQ,oBAAoB;cAC/D;GACS,CAAA;GAEd,kBAAC,GAAD;IACE,IAAI;KACF,SAAS;KACT,gBAAgB;KAChB,iBAAiB;KACjB,SAAS;IACX;cANF,CAQE,kBAAC,GAAD;KACE,SAAQ;KACR,eAAe,EAAQ,CAAC,CAAI;KAC5B,iBAAc;KACd,iBAAe;KACf,IAAI,EACF,WAAW,EACT,QAAQ,UACV,EACF;eATF;MAWG,IAAO,SAAS;MAAO;MAAE;MAAiB;MAC1C,IAAY,IAAI,EAAU,WAAW;MAEpC,EADD,IACE,IAEA,GAFD,EAAwB,IAAI,EAAS,CAEE;KAE/B;QACX,KACC,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KACE,SAAQ;KACR,eAAe;MACb,AAAI,KACF,EAAsB,CAAS,EAAE,WACzB;OACJ,EAAa,sCAAsC;MACrD,IACA,MAAO;OACL,QAAQ,MAAM,CAAG;MACnB,CACF;KAEJ;KACA,IAAI,EACF,WAAW,EACT,QAAQ,UACV,EACF;eAlBF;MAoBE,kBAAC,GAAD,EAAoB,IAAI,EAAS,CAAA;MAAC;MAC5B;MAAgB;KACZ;OACT,CAAA,CAEJ;;GAEL,kBAAC,GAAD;IAAU,IAAI;cACZ,kBAAC,GAAD;KAAK,IAAI;MAAE,iBAAiB;MAAY,SAAS;KAAO;eACtD,kBAAC,OAAD;MAAK,IAAG;gBACN,kBAAC,GAAD;OACE,GAAI;OACsB;MAC3B,CAAA;KACE,CAAA;IACF,CAAA;GACG,CAAA;EACP;;AAET"}
|
|
@@ -20,7 +20,7 @@ function v({ placeholder: v, text: y, setText: b }) {
|
|
|
20
20
|
let t = [], n = k.current;
|
|
21
21
|
if (n) {
|
|
22
22
|
let r = n?.selectionStart, i = y.substring(0, r), a = y.substring(r, y.length);
|
|
23
|
-
w(r + e.length), t.push(i, `${D ? "" : "@"}${e.
|
|
23
|
+
w(r + e.length), t.push(i, `${D ? "" : "@"}${e.replaceAll(/\s/g, "")}`, a);
|
|
24
24
|
}
|
|
25
25
|
b(t.join("")), O(!1);
|
|
26
26
|
}, j = (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownEditor.js","names":[],"sources":["../../../src/components/Markdown/MarkdownEditor.tsx"],"sourcesContent":["import {\n Box,\n IconButton,\n Tab,\n Tabs,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useRef, useState, useEffect } from 'react'\nimport {\n commandList,\n CommandListType,\n MARKDOWN_COMMANDS_DATA,\n} from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../IconSvg/IconSvg'\nimport MarkdownSynapse from './MarkdownSynapse'\nimport { UserMentionModal } from './UserMentionModal'\nimport { startCase } from 'lodash-es'\n\nconst MarkdownEditorTabs = ['WRITE', 'PREVIEW'] as const\n\nexport type MarkdownEditorProps = {\n placeholder?: string\n text: string\n setText: (text: string) => void\n}\n\nexport function MarkdownEditor({\n placeholder,\n text,\n setText,\n}: MarkdownEditorProps) {\n const [currentTab, setCurrentTab] = useState<number>(0)\n const [selectionStart, setSelectionStart] = useState<number>(0)\n const [isShowingTagModal, setIsShowingTagModal] = useState<boolean>(false)\n const [tagModalWithKeyboard, setTagModalWithKeyboard] =\n useState<boolean>(false)\n const textAreaRef = useRef<HTMLTextAreaElement>(null)\n\n /**\n * Updates the position of the cursor. This must occur within `useEffect` because we need to ensure that the\n * cursor position is updated after the state of `text` is updated.\n */\n useEffect(() => {\n const input = textAreaRef.current\n if (input) {\n input.setSelectionRange(selectionStart, selectionStart)\n }\n }, [textAreaRef, selectionStart])\n\n useEffect(() => {\n textAreaRef.current?.focus()\n }, [isShowingTagModal])\n\n const handleUserTag = (user: string) => {\n const newText: string[] = []\n const textVal = textAreaRef.current\n if (textVal) {\n const start = textVal?.selectionStart\n const textBeforeTag = text.substring(0, start)\n const textAfterTag = text.substring(start, text.length)\n setSelectionStart(start + user.length)\n newText.push(\n textBeforeTag,\n `${tagModalWithKeyboard ? '' : '@'}${user.
|
|
1
|
+
{"version":3,"file":"MarkdownEditor.js","names":[],"sources":["../../../src/components/Markdown/MarkdownEditor.tsx"],"sourcesContent":["import {\n Box,\n IconButton,\n Tab,\n Tabs,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useRef, useState, useEffect } from 'react'\nimport {\n commandList,\n CommandListType,\n MARKDOWN_COMMANDS_DATA,\n} from '@sage-bionetworks/synapse-types'\nimport IconSvg from '../IconSvg/IconSvg'\nimport MarkdownSynapse from './MarkdownSynapse'\nimport { UserMentionModal } from './UserMentionModal'\nimport { startCase } from 'lodash-es'\n\nconst MarkdownEditorTabs = ['WRITE', 'PREVIEW'] as const\n\nexport type MarkdownEditorProps = {\n placeholder?: string\n text: string\n setText: (text: string) => void\n}\n\nexport function MarkdownEditor({\n placeholder,\n text,\n setText,\n}: MarkdownEditorProps) {\n const [currentTab, setCurrentTab] = useState<number>(0)\n const [selectionStart, setSelectionStart] = useState<number>(0)\n const [isShowingTagModal, setIsShowingTagModal] = useState<boolean>(false)\n const [tagModalWithKeyboard, setTagModalWithKeyboard] =\n useState<boolean>(false)\n const textAreaRef = useRef<HTMLTextAreaElement>(null)\n\n /**\n * Updates the position of the cursor. This must occur within `useEffect` because we need to ensure that the\n * cursor position is updated after the state of `text` is updated.\n */\n useEffect(() => {\n const input = textAreaRef.current\n if (input) {\n input.setSelectionRange(selectionStart, selectionStart)\n }\n }, [textAreaRef, selectionStart])\n\n useEffect(() => {\n textAreaRef.current?.focus()\n }, [isShowingTagModal])\n\n const handleUserTag = (user: string) => {\n const newText: string[] = []\n const textVal = textAreaRef.current\n if (textVal) {\n const start = textVal?.selectionStart\n const textBeforeTag = text.substring(0, start)\n const textAfterTag = text.substring(start, text.length)\n setSelectionStart(start + user.length)\n newText.push(\n textBeforeTag,\n `${tagModalWithKeyboard ? '' : '@'}${user.replaceAll(/\\s/g, '')}`,\n textAfterTag,\n )\n }\n setText(newText.join(''))\n setTagModalWithKeyboard(false)\n }\n\n const handleTagModal = (text: string) => {\n const start = textAreaRef.current?.selectionStart\n if (start && start > 0 && text.charAt(start - 1) === '@') {\n setTagModalWithKeyboard(true)\n setIsShowingTagModal(true)\n }\n }\n const handleCommands = (command: CommandListType) => {\n const textVal = textAreaRef.current\n if (textVal) {\n const start = textVal.selectionStart\n const end = textVal.selectionEnd\n const selected = text.substring(start, end)\n const textBeforeSelection = text.substring(0, start)\n const textAfterSelection = text.substring(end, text.length)\n\n const openSyntax = MARKDOWN_COMMANDS_DATA[command].openSyntax\n const closeSyntax = MARKDOWN_COMMANDS_DATA[command].closeSyntax\n\n switch (command) {\n case 'code': {\n const newText: string[] = []\n newText.push(\n textBeforeSelection,\n openSyntax,\n selected,\n closeSyntax,\n textAfterSelection,\n )\n\n setText(newText.join('\\r\\n'))\n textVal.focus()\n // adds 2 due to new line\n setSelectionStart(start + openSyntax.length + 2)\n break\n }\n case 'title':\n case 'bold':\n case 'italic':\n case 'strikethrough':\n case 'latex':\n case 'subscript':\n case 'superscript':\n case 'link':\n case 'image': {\n const newText = `${textBeforeSelection}${openSyntax}${selected}${closeSyntax}${textAfterSelection}`\n textVal.focus()\n setSelectionStart(start + openSyntax.length)\n setText(newText)\n }\n }\n }\n }\n\n return (\n <div className=\"MarkdownEditor\">\n <div className=\"MarkdownEditorControls\">\n <Tabs\n textColor=\"secondary\"\n indicatorColor=\"secondary\"\n value={currentTab}\n onChange={(_e, newValue) => setCurrentTab(newValue)}\n >\n {MarkdownEditorTabs.map(tabName => {\n return <Tab label={tabName} key={tabName} />\n })}\n </Tabs>\n {MarkdownEditorTabs[currentTab] === 'WRITE' && (\n <div className=\"MarkdownEditorControlsToolbar\">\n {commandList.map(type => {\n return (\n <IconButton\n size={'small'}\n key={type}\n onClick={() => handleCommands(type)}\n sx={{ width: '32px', height: '32px' }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n icon={type}\n label={startCase(type)}\n />\n </IconButton>\n )\n })}\n <IconButton\n size={'small'}\n onClick={() => setIsShowingTagModal(true)}\n sx={{ width: '32px', height: '32px' }}\n >\n <IconSvg\n sx={{ fontSize: 'inherit' }}\n icon=\"tag\"\n label=\"Mention\"\n />\n </IconButton>\n </div>\n )}\n </div>\n <div>\n {MarkdownEditorTabs[currentTab] === 'WRITE' ? (\n <TextField\n inputProps={{\n ['aria-label']: 'markdown',\n }}\n onChange={e => {\n setText(e.target.value)\n handleTagModal(e.target.value)\n }}\n style={{ width: '100%' }}\n multiline\n minRows={6}\n value={text}\n inputRef={textAreaRef}\n placeholder={placeholder}\n sx={{\n textarea: {\n resize: 'vertical',\n },\n }}\n />\n ) : (\n <Box sx={{ mx: 1, my: 2 }}>\n {text ? (\n <MarkdownSynapse markdown={text} />\n ) : (\n <Typography>Nothing to preview</Typography>\n )}\n </Box>\n )}\n </div>\n\n <UserMentionModal\n show={isShowingTagModal}\n onClose={() => setIsShowingTagModal(false)}\n handleUserTag={handleUserTag}\n />\n </div>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Markdown/widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Markdown/widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -6,7 +6,7 @@ import "../../synapse-queries/index.js";
|
|
|
6
6
|
import { HelpPopover as n } from "../HelpPopover/HelpPopover.js";
|
|
7
7
|
import { Typography as r } from "@mui/material";
|
|
8
8
|
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
9
|
-
import
|
|
9
|
+
import s from "@mui/icons-material/WarningSharp";
|
|
10
10
|
//#region src/components/MissingQueryResultsWarning/MissingQueryResultsWarning.tsx
|
|
11
11
|
var c = "Files may be unavailable because you do not have permission to see them, they have been deleted, or the Dataset has been misconfigured.", l = "Files may be unavailable because you do not have permission to see them or the Dataset was misconfigured.";
|
|
12
12
|
function u({ entity: u }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MissingQueryResultsWarning.js","names":[],"sources":["../../../src/components/MissingQueryResultsWarning/MissingQueryResultsWarning.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport { isEntityRefCollectionView } from '@/utils/functions/EntityTypeUtils'\nimport
|
|
1
|
+
{"version":3,"file":"MissingQueryResultsWarning.js","names":[],"sources":["../../../src/components/MissingQueryResultsWarning/MissingQueryResultsWarning.tsx"],"sourcesContent":["import { useGetQueryResultBundleWithAsyncStatus } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport { isEntityRefCollectionView } from '@/utils/functions/EntityTypeUtils'\nimport WarningSharp from '@mui/icons-material/WarningSharp'\nimport { Typography } from '@mui/material'\nimport { QueryBundleRequest, Table } from '@sage-bionetworks/synapse-types'\nimport { HelpPopover } from '../HelpPopover/HelpPopover'\n\nconst DATASETS_CURRENT_VERSION_HELP =\n 'Files may be unavailable because you do not have permission to see them, they have been deleted, or the Dataset has been misconfigured.'\n\n// Help text for snapshot does not indicate that files were deleted, because the deleted file would have been captured in the snapshot\nconst DATASETS_SNAPSHOT_HELP =\n 'Files may be unavailable because you do not have permission to see them or the Dataset was misconfigured.'\n\nexport type MissingQueryResultsWarningProps = {\n entity: Table\n versionNumber?: number\n}\n\n/**\n * If possible, this component will render a warning message if results may be missing from the query due to user permissions or\n * entities being deleted. If not possible, it will render an empty fragment.\n */\nfunction MissingQueryResultsWarning({\n entity,\n}: MissingQueryResultsWarningProps) {\n // Currently, Datasets and Dataset collections are the only table type for which we can reliably get this info.\n // Other cases will need a new service, tracked by PLFM-7046\n const isMissingResultsCalculable = entity && isEntityRefCollectionView(entity)\n\n const request: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n query: {\n sql: `SELECT * FROM ${entity.id!}${\n !entity.isLatestVersion && entity.versionNumber\n ? `.${entity.versionNumber}`\n : ''\n }`,\n },\n entityId: entity.id!,\n partMask: SynapseConstants.BUNDLE_MASK_QUERY_COUNT,\n }\n\n const { data: queryResult } = useGetQueryResultBundleWithAsyncStatus(\n request,\n {\n enabled: isMissingResultsCalculable,\n },\n )\n if (isMissingResultsCalculable && queryResult && entity) {\n const totalVisibleResults = queryResult.responseBody!.queryCount!\n const totalResults = entity.items?.length ?? 0\n\n if (totalVisibleResults >= totalResults) {\n // All the results are visible, so there is no need to show a warning.\n // SWC-6727 / PLFM-8326 - `totalVisibleResults` should never be greater than `totalResults`, but in case it is (e.g. stale cache),\n // don't show the warning.\n return <></>\n }\n\n const difference = totalResults - totalVisibleResults\n\n let helpMessage = ''\n\n if (entity.isLatestVersion) {\n helpMessage = DATASETS_CURRENT_VERSION_HELP\n } else {\n helpMessage = DATASETS_SNAPSHOT_HELP\n }\n\n return (\n <Typography\n component={'div'}\n className=\"SRC-centerContent\"\n style={{\n marginLeft: 10,\n }}\n variant=\"smallText1\"\n color=\"textSecondary\"\n >\n <WarningSharp\n className=\"SRC-color-warning\"\n style={{ fontSize: '16px' }}\n />\n {difference.toLocaleString() + ' Unavailable'}\n <HelpPopover\n className=\"SRC-margin-left-5\"\n markdownText={helpMessage}\n placement=\"right\"\n ></HelpPopover>\n </Typography>\n )\n } else {\n return <></>\n }\n}\n\nexport default MissingQueryResultsWarning\n"],"mappings":";;;;;;;;;;AAQA,IAAM,IACJ,2IAGI,IACJ;AAWF,SAAS,EAA2B,EAClC,aACkC;CAGlC,IAAM,IAA6B,KAAU,EAA0B,CAAM,GAevE,EAAE,MAAM,MAAgB,EAC5B;EAbA,cAAc;EACd,OAAO,EACL,KAAK,iBAAiB,EAAO,KAC3B,CAAC,EAAO,mBAAmB,EAAO,gBAC9B,IAAI,EAAO,kBACX,KAER;EACA,UAAU,EAAO;EACjB,UAAU;CAIV,GACA,EACE,SAAS,EACX,CACF;CACA,IAAI,KAA8B,KAAe,GAAQ;EACvD,IAAM,IAAsB,EAAY,aAAc,YAChD,IAAe,EAAO,OAAO,UAAU;EAE7C,IAAI,KAAuB,GAIzB,OAAO,kBAAA,GAAA,CAAI,CAAA;EAGb,IAAM,IAAa,IAAe,GAE9B,IAAc;EAQlB,OANA,AAGE,IAHE,EAAO,kBACK,IAEA,GAId,kBAAC,GAAD;GACE,WAAW;GACX,WAAU;GACV,OAAO,EACL,YAAY,GACd;GACA,SAAQ;GACR,OAAM;aAPR;IASE,kBAAC,GAAD;KACE,WAAU;KACV,OAAO,EAAE,UAAU,OAAO;IAC3B,CAAA;IACA,EAAW,eAAe,IAAI;IAC/B,kBAAC,GAAD;KACE,WAAU;KACV,cAAc;KACd,WAAU;IACE,CAAA;GACJ;;CAEhB,OACE,OAAO,kBAAA,GAAA,CAAI,CAAA;AAEf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalDownload.d.ts","sourceRoot":"","sources":["../../../src/components/ModalDownload/ModalDownload.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAEL,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACT,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAA2B,MAAM,OAAO,CAAA;AAavE,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,mBAAmB,CAAC,EAAE,MAAM,kBAAkB,CAAA;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAA;CAClB,CAAA;AAED,qBAAa,aAAc,SAAQ,SAAS,CAC1C,kBAAkB,EAClB,kBAAkB,CACnB;IACC,MAAM,CAAC,WAAW,uFAAiB;IAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;gBAEpD,KAAK,EAAE,kBAAkB;IAYrC,YAAY,GAAI,OAAO,YAAY,UAMlC;IAED,mBAAmB,GAAI,OAAO,YAAY,
|
|
1
|
+
{"version":3,"file":"ModalDownload.d.ts","sourceRoot":"","sources":["../../../src/components/ModalDownload/ModalDownload.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAG/D,OAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAEL,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACT,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,WAAW,EAA2B,MAAM,OAAO,CAAA;AAavE,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,mBAAmB,CAAC,EAAE,MAAM,kBAAkB,CAAA;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAA;CAClB,CAAA;AAED,qBAAa,aAAc,SAAQ,SAAS,CAC1C,kBAAkB,EAClB,kBAAkB,CACnB;IACC,MAAM,CAAC,WAAW,uFAAiB;IAC3B,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;gBAEpD,KAAK,EAAE,kBAAkB;IAYrC,YAAY,GAAI,OAAO,YAAY,UAMlC;IAED,mBAAmB,GAAI,OAAO,YAAY,UAyCzC;IAED,UAAU,aAUT;IAED,YAAY,GAAI,OAAO,YAAY,UAKlC;IAED,MAAM;CA8DP;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -37,7 +37,8 @@ var b = class extends f {
|
|
|
37
37
|
writeHeader: l,
|
|
38
38
|
includeRowIdAndRowVersion: f,
|
|
39
39
|
csvTableDescriptor: { separator: c },
|
|
40
|
-
additionalFilters: p.query.additionalFilters
|
|
40
|
+
additionalFilters: p.query.additionalFilters,
|
|
41
|
+
cohorts: p.query.cohorts
|
|
41
42
|
};
|
|
42
43
|
e.createTableCsvForDownload(h, this.context.accessToken).then((e) => {
|
|
43
44
|
this.setState({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalDownload.js","names":[],"sources":["../../../src/components/ModalDownload/ModalDownload.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseContext } from '@/utils/context/SynapseContext'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/SqlFunctions'\nimport { Button } from '@mui/material'\nimport Form, { IChangeEvent } from '@rjsf/core'\nimport validator from '@rjsf/validator-ajv8'\nimport {\n DownloadFromTableRequest,\n DownloadFromTableResult,\n QueryBundleRequest,\n SortItem,\n} from '@sage-bionetworks/synapse-types'\nimport { Component, ContextType, CSSProperties, Fragment } from 'react'\nimport { DialogBase } from '../DialogBase'\nimport SynapseFormCheckboxesWidget from '../SynapseForm/SynapseFormCheckboxesWidget'\nimport SynapseFormCheckboxWidget from '../SynapseForm/SynapseFormCheckboxWidget'\nimport SynapseFormRadioWidget from '../SynapseForm/SynapseFormRadioWidget'\nimport {\n csvOption,\n formSchemaArray,\n formSchemaUIArray,\n includeRowIdAndRowVersionOption,\n writeHeaderOption,\n} from './ModalDownload.FormSchema'\n\ntype ModalDownloadState = {\n isLoading: boolean\n step: number\n data?: DownloadFromTableResult\n formData: Record<string, unknown>\n}\n\nexport type ModalDownloadProps = {\n onClose: (...args: any[]) => void\n includeEntityEtag?: boolean\n queryBundleRequest?: QueryBundleRequest // either the query bundle request needs to be provided, or getLastQueryRequest\n getLastQueryRequest?: () => QueryBundleRequest\n offset?: number\n limit?: number\n sort?: SortItem[]\n}\n\nexport class ModalDownload extends Component<\n ModalDownloadProps,\n ModalDownloadState\n> {\n static contextType = SynapseContext\n declare context: NonNullable<ContextType<typeof SynapseContext>>\n\n constructor(props: ModalDownloadProps) {\n super(props)\n this.state = {\n isLoading: false,\n step: 0,\n formData: {\n 'File Type': csvOption,\n Contents: [writeHeaderOption, includeRowIdAndRowVersionOption],\n },\n }\n }\n\n handleSubmit = (event: IChangeEvent) => {\n if (this.state.step === 0) {\n this.handleDownloadSetup(event)\n } else {\n this.onDownload()\n }\n }\n\n handleDownloadSetup = (event: IChangeEvent) => {\n this.setState({\n isLoading: true,\n })\n const { formData } = event\n const fileType = formData['File Type']\n const contents = formData.Contents as string[]\n const { queryBundleRequest, getLastQueryRequest } = this.props\n const separator = fileType === csvOption ? ',' : '\\t'\n const writeHeader = contents.includes(writeHeaderOption)\n const includeRowIdAndRowVersion = contents.includes(\n includeRowIdAndRowVersionOption,\n )\n const queryRequest = queryBundleRequest ?? getLastQueryRequest!()\n const sql = queryRequest.query.sql\n const downloadFromTableRequest: DownloadFromTableRequest = {\n sql,\n entityId: parseEntityIdFromSqlStatement(sql),\n selectedFacets: queryRequest.query.selectedFacets,\n concreteType:\n 'org.sagebionetworks.repo.model.table.DownloadFromTableRequest',\n writeHeader,\n includeRowIdAndRowVersion,\n csvTableDescriptor: { separator },\n additionalFilters: queryRequest.query.additionalFilters,\n }\n SynapseClient.createTableCsvForDownload(\n downloadFromTableRequest,\n this.context.accessToken,\n )\n .then(data => {\n this.setState({\n isLoading: false,\n step: 1,\n data,\n })\n })\n .catch(err => {\n console.log('Error getDownloadFromTableRequest: ', err)\n })\n }\n\n onDownload = () => {\n const { data } = this.state\n // data will always be defined if calling this function\n SynapseClient.getFileHandleByIdURL(\n data!.resultsFileHandleId,\n this.context.accessToken,\n ).then(url => {\n window.location.href = url\n this.props.onClose()\n })\n }\n\n handleChange = (event: IChangeEvent) => {\n const { formData } = event\n this.setState({\n formData,\n })\n }\n\n render() {\n const spinnerStyle: CSSProperties = {\n height: 50,\n width: 50,\n backgroundSize: 50,\n }\n return (\n <DialogBase\n open={true}\n onCancel={this.props.onClose}\n title=\"Download query results\"\n content={\n <>\n <Form\n validator={validator}\n id=\"modal-download-form\"\n schema={formSchemaArray[this.state.step]}\n uiSchema={formSchemaUIArray[this.state.step]}\n onChange={this.handleChange}\n formData={this.state.formData}\n onSubmit={this.handleSubmit}\n widgets={{\n CheckboxWidget: SynapseFormCheckboxWidget,\n CheckboxesWidget: SynapseFormCheckboxesWidget,\n RadioWidget: SynapseFormRadioWidget,\n }}\n >\n {this.state.isLoading && (\n <div className=\"SRC-centerAndJustifyContent\">\n <div className=\"SRC-center-text\">\n <p> Creating the File </p>\n <div style={spinnerStyle} className=\"spinner\" />\n <p> Loading... </p>\n </div>\n </div>\n )}\n <Fragment />\n </Form>\n </>\n }\n actions={\n <>\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={this.props.onClose}\n >\n Cancel\n </Button>\n <Button\n form=\"modal-download-form\"\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n >\n {this.state.step === 0 ? 'Next' : 'Download'}\n </Button>\n </>\n }\n />\n )\n }\n}\n\nexport default ModalDownload\n"],"mappings":";;;;;;;;;;;;;;AA0CA,IAAa,IAAb,cAAmC,EAGjC;CACA,OAAO,cAAc;CAGrB,YAAY,GAA2B;EAErC,AADA,MAAM,CAAK,GACX,KAAK,QAAQ;GACX,WAAW;GACX,MAAM;GACN,UAAU;IACR,aAAa;IACb,UAAU,CAAC,GAAmB,CAA+B;GAC/D;EACF;CACF;CAEA,gBAAgB,MAAwB;EACtC,AAAI,KAAK,MAAM,SAAS,IACtB,KAAK,oBAAoB,CAAK,IAE9B,KAAK,WAAW;CAEpB;CAEA,uBAAuB,MAAwB;EAC7C,KAAK,SAAS,EACZ,WAAW,GACb,CAAC;EACD,IAAM,EAAE,gBAAa,GACf,IAAW,EAAS,cACpB,IAAW,EAAS,UACpB,EAAE,uBAAoB,2BAAwB,KAAK,OACnD,IAAY,MAAA,iCAAyB,MAAM,KAC3C,IAAc,EAAS,SAAS,CAAiB,GACjD,IAA4B,EAAS,SACzC,CACF,GACM,IAAe,KAAsB,EAAqB,GAC1D,IAAM,EAAa,MAAM,KACzB,IAAqD;GACzD;GACA,UAAU,EAA8B,CAAG;GAC3C,gBAAgB,EAAa,MAAM;GACnC,cACE;GACF;GACA;GACA,oBAAoB,EAAE,aAAU;GAChC,mBAAmB,EAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"ModalDownload.js","names":[],"sources":["../../../src/components/ModalDownload/ModalDownload.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseContext } from '@/utils/context/SynapseContext'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/SqlFunctions'\nimport { Button } from '@mui/material'\nimport Form, { IChangeEvent } from '@rjsf/core'\nimport validator from '@rjsf/validator-ajv8'\nimport {\n DownloadFromTableRequest,\n DownloadFromTableResult,\n QueryBundleRequest,\n SortItem,\n} from '@sage-bionetworks/synapse-types'\nimport { Component, ContextType, CSSProperties, Fragment } from 'react'\nimport { DialogBase } from '../DialogBase'\nimport SynapseFormCheckboxesWidget from '../SynapseForm/SynapseFormCheckboxesWidget'\nimport SynapseFormCheckboxWidget from '../SynapseForm/SynapseFormCheckboxWidget'\nimport SynapseFormRadioWidget from '../SynapseForm/SynapseFormRadioWidget'\nimport {\n csvOption,\n formSchemaArray,\n formSchemaUIArray,\n includeRowIdAndRowVersionOption,\n writeHeaderOption,\n} from './ModalDownload.FormSchema'\n\ntype ModalDownloadState = {\n isLoading: boolean\n step: number\n data?: DownloadFromTableResult\n formData: Record<string, unknown>\n}\n\nexport type ModalDownloadProps = {\n onClose: (...args: any[]) => void\n includeEntityEtag?: boolean\n queryBundleRequest?: QueryBundleRequest // either the query bundle request needs to be provided, or getLastQueryRequest\n getLastQueryRequest?: () => QueryBundleRequest\n offset?: number\n limit?: number\n sort?: SortItem[]\n}\n\nexport class ModalDownload extends Component<\n ModalDownloadProps,\n ModalDownloadState\n> {\n static contextType = SynapseContext\n declare context: NonNullable<ContextType<typeof SynapseContext>>\n\n constructor(props: ModalDownloadProps) {\n super(props)\n this.state = {\n isLoading: false,\n step: 0,\n formData: {\n 'File Type': csvOption,\n Contents: [writeHeaderOption, includeRowIdAndRowVersionOption],\n },\n }\n }\n\n handleSubmit = (event: IChangeEvent) => {\n if (this.state.step === 0) {\n this.handleDownloadSetup(event)\n } else {\n this.onDownload()\n }\n }\n\n handleDownloadSetup = (event: IChangeEvent) => {\n this.setState({\n isLoading: true,\n })\n const { formData } = event\n const fileType = formData['File Type']\n const contents = formData.Contents as string[]\n const { queryBundleRequest, getLastQueryRequest } = this.props\n const separator = fileType === csvOption ? ',' : '\\t'\n const writeHeader = contents.includes(writeHeaderOption)\n const includeRowIdAndRowVersion = contents.includes(\n includeRowIdAndRowVersionOption,\n )\n const queryRequest = queryBundleRequest ?? getLastQueryRequest!()\n const sql = queryRequest.query.sql\n const downloadFromTableRequest: DownloadFromTableRequest = {\n sql,\n entityId: parseEntityIdFromSqlStatement(sql),\n selectedFacets: queryRequest.query.selectedFacets,\n concreteType:\n 'org.sagebionetworks.repo.model.table.DownloadFromTableRequest',\n writeHeader,\n includeRowIdAndRowVersion,\n csvTableDescriptor: { separator },\n additionalFilters: queryRequest.query.additionalFilters,\n cohorts: queryRequest.query.cohorts,\n }\n SynapseClient.createTableCsvForDownload(\n downloadFromTableRequest,\n this.context.accessToken,\n )\n .then(data => {\n this.setState({\n isLoading: false,\n step: 1,\n data,\n })\n })\n .catch(err => {\n console.log('Error getDownloadFromTableRequest: ', err)\n })\n }\n\n onDownload = () => {\n const { data } = this.state\n // data will always be defined if calling this function\n SynapseClient.getFileHandleByIdURL(\n data!.resultsFileHandleId,\n this.context.accessToken,\n ).then(url => {\n window.location.href = url\n this.props.onClose()\n })\n }\n\n handleChange = (event: IChangeEvent) => {\n const { formData } = event\n this.setState({\n formData,\n })\n }\n\n render() {\n const spinnerStyle: CSSProperties = {\n height: 50,\n width: 50,\n backgroundSize: 50,\n }\n return (\n <DialogBase\n open={true}\n onCancel={this.props.onClose}\n title=\"Download query results\"\n content={\n <>\n <Form\n validator={validator}\n id=\"modal-download-form\"\n schema={formSchemaArray[this.state.step]}\n uiSchema={formSchemaUIArray[this.state.step]}\n onChange={this.handleChange}\n formData={this.state.formData}\n onSubmit={this.handleSubmit}\n widgets={{\n CheckboxWidget: SynapseFormCheckboxWidget,\n CheckboxesWidget: SynapseFormCheckboxesWidget,\n RadioWidget: SynapseFormRadioWidget,\n }}\n >\n {this.state.isLoading && (\n <div className=\"SRC-centerAndJustifyContent\">\n <div className=\"SRC-center-text\">\n <p> Creating the File </p>\n <div style={spinnerStyle} className=\"spinner\" />\n <p> Loading... </p>\n </div>\n </div>\n )}\n <Fragment />\n </Form>\n </>\n }\n actions={\n <>\n <Button\n variant=\"outlined\"\n color=\"primary\"\n onClick={this.props.onClose}\n >\n Cancel\n </Button>\n <Button\n form=\"modal-download-form\"\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n >\n {this.state.step === 0 ? 'Next' : 'Download'}\n </Button>\n </>\n }\n />\n )\n }\n}\n\nexport default ModalDownload\n"],"mappings":";;;;;;;;;;;;;;AA0CA,IAAa,IAAb,cAAmC,EAGjC;CACA,OAAO,cAAc;CAGrB,YAAY,GAA2B;EAErC,AADA,MAAM,CAAK,GACX,KAAK,QAAQ;GACX,WAAW;GACX,MAAM;GACN,UAAU;IACR,aAAa;IACb,UAAU,CAAC,GAAmB,CAA+B;GAC/D;EACF;CACF;CAEA,gBAAgB,MAAwB;EACtC,AAAI,KAAK,MAAM,SAAS,IACtB,KAAK,oBAAoB,CAAK,IAE9B,KAAK,WAAW;CAEpB;CAEA,uBAAuB,MAAwB;EAC7C,KAAK,SAAS,EACZ,WAAW,GACb,CAAC;EACD,IAAM,EAAE,gBAAa,GACf,IAAW,EAAS,cACpB,IAAW,EAAS,UACpB,EAAE,uBAAoB,2BAAwB,KAAK,OACnD,IAAY,MAAA,iCAAyB,MAAM,KAC3C,IAAc,EAAS,SAAS,CAAiB,GACjD,IAA4B,EAAS,SACzC,CACF,GACM,IAAe,KAAsB,EAAqB,GAC1D,IAAM,EAAa,MAAM,KACzB,IAAqD;GACzD;GACA,UAAU,EAA8B,CAAG;GAC3C,gBAAgB,EAAa,MAAM;GACnC,cACE;GACF;GACA;GACA,oBAAoB,EAAE,aAAU;GAChC,mBAAmB,EAAa,MAAM;GACtC,SAAS,EAAa,MAAM;EAC9B;EACA,EAAc,0BACZ,GACA,KAAK,QAAQ,WACf,EACG,MAAK,MAAQ;GACZ,KAAK,SAAS;IACZ,WAAW;IACX,MAAM;IACN;GACF,CAAC;EACH,CAAC,EACA,OAAM,MAAO;GACZ,QAAQ,IAAI,uCAAuC,CAAG;EACxD,CAAC;CACL;CAEA,mBAAmB;EACjB,IAAM,EAAE,YAAS,KAAK;EAEtB,EAAc,qBACZ,EAAM,qBACN,KAAK,QAAQ,WACf,EAAE,MAAK,MAAO;GAEZ,AADA,OAAO,SAAS,OAAO,GACvB,KAAK,MAAM,QAAQ;EACrB,CAAC;CACH;CAEA,gBAAgB,MAAwB;EACtC,IAAM,EAAE,gBAAa;EACrB,KAAK,SAAS,EACZ,YACF,CAAC;CACH;CAEA,SAAS;EAMP,OACE,kBAAC,GAAD;GACE,MAAM;GACN,UAAU,KAAK,MAAM;GACrB,OAAM;GACN,SACE,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;IACa;IACX,IAAG;IACH,QAAQ,EAAgB,KAAK,MAAM;IACnC,UAAU,EAAkB,KAAK,MAAM;IACvC,UAAU,KAAK;IACf,UAAU,KAAK,MAAM;IACrB,UAAU,KAAK;IACf,SAAS;KACP,gBAAgB;KAChB,kBAAkB;KAClB,aAAa;IACf;cAZF,CAcG,KAAK,MAAM,aACV,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,KAAD,EAAA,UAAG,sBAAsB,CAAA;OACzB,kBAAC,OAAD;QAAK,OAAO;SA7B1B,QAAQ;SACR,OAAO;SACP,gBAAgB;QA2BU;QAAc,WAAU;OAAW,CAAA;OAC/C,kBAAC,KAAD,EAAA,UAAG,eAAe,CAAA;MACf;;IACF,CAAA,GAEP,kBAAC,GAAD,CAAW,CAAA,CACP;MACN,CAAA;GAEJ,SACE,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;IACE,SAAQ;IACR,OAAM;IACN,SAAS,KAAK,MAAM;cACrB;GAEO,CAAA,GACR,kBAAC,GAAD;IACE,MAAK;IACL,MAAK;IACL,SAAQ;IACR,OAAM;cAEL,KAAK,MAAM,SAAS,IAAI,SAAS;GAC5B,CAAA,CACR,EAAA,CAAA;EAEL,CAAA;CAEL;AACF"}
|
|
@@ -17,11 +17,12 @@ import f from "../OAuthClientAclEditor/OAuthAclEditorModal.js";
|
|
|
17
17
|
import { useMemo as p, useState as m } from "react";
|
|
18
18
|
import { Box as h, Button as g, IconButton as _, Link as v, Menu as y, MenuItem as b } from "@mui/material";
|
|
19
19
|
import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import { createColumnHelper as
|
|
20
|
+
import w from "@mui/icons-material/AddCircleTwoTone";
|
|
21
|
+
import T from "dayjs";
|
|
22
|
+
import { createColumnHelper as E, getCoreRowModel as D, useReactTable as O } from "@tanstack/react-table";
|
|
23
|
+
import k from "@mui/icons-material/MoreVert";
|
|
23
24
|
//#region src/components/OAuthClientManagement/OAuthManagement.tsx
|
|
24
|
-
var A =
|
|
25
|
+
var A = E();
|
|
25
26
|
function j(e) {
|
|
26
27
|
let { setIsShowingVerification: t, setSelectedClient: n, setIsShowingSecretWarning: r, setIsEdit: i, setIsShowingCreateClientModal: a, setIsShowingSharingSettings: o } = e;
|
|
27
28
|
return [
|
|
@@ -30,14 +31,14 @@ function j(e) {
|
|
|
30
31
|
...e,
|
|
31
32
|
title: "Created"
|
|
32
33
|
}),
|
|
33
|
-
cell: (e) => s(
|
|
34
|
+
cell: (e) => s(T(e.getValue()))
|
|
34
35
|
}),
|
|
35
36
|
A.accessor("modifiedOn", {
|
|
36
37
|
header: (e) => /* @__PURE__ */ S(l, {
|
|
37
38
|
...e,
|
|
38
39
|
title: "Modified"
|
|
39
40
|
}),
|
|
40
|
-
cell: (e) => s(
|
|
41
|
+
cell: (e) => s(T(e.getValue()))
|
|
41
42
|
}),
|
|
42
43
|
A.accessor("client_id", { header: (e) => /* @__PURE__ */ S(l, {
|
|
43
44
|
...e,
|
|
@@ -88,7 +89,7 @@ function M({ row: e, setSelectedClient: t, setIsEdit: n, setIsShowingCreateClien
|
|
|
88
89
|
"aria-haspopup": "true",
|
|
89
90
|
onClick: l,
|
|
90
91
|
size: "small",
|
|
91
|
-
children: /* @__PURE__ */ S(
|
|
92
|
+
children: /* @__PURE__ */ S(k, {})
|
|
92
93
|
}), /* @__PURE__ */ C(y, {
|
|
93
94
|
id: `actions-menu-${e.id}`,
|
|
94
95
|
anchorEl: o,
|
|
@@ -125,15 +126,15 @@ function M({ row: e, setSelectedClient: t, setIsEdit: n, setIsShowingCreateClien
|
|
|
125
126
|
})] });
|
|
126
127
|
}
|
|
127
128
|
function N() {
|
|
128
|
-
let { accessToken: s } = n(), [l, _] = m(!1), [y, b] = m(!1), [T, E] = m(!1), [
|
|
129
|
+
let { accessToken: s } = n(), [l, _] = m(!1), [y, b] = m(!1), [T, E] = m(!1), [k, A] = m(), [M, N] = m(!1), [P, F] = m(!1), [I, L] = m(!1), [R, z] = m(), [B, V] = m(!1), { data: H, isLoading: U, hasNextPage: W, fetchNextPage: G, isFetchingNextPage: K } = r(), q = p(() => H?.pages.flatMap((e) => e.results || []) || [], [H]), J = async () => {
|
|
129
130
|
F(!1);
|
|
130
131
|
try {
|
|
131
|
-
let e = await t.createOAuthClientSecret(s,
|
|
132
|
+
let e = await t.createOAuthClientSecret(s, k?.client_id);
|
|
132
133
|
A(void 0), L(!0), z(e.client_secret);
|
|
133
134
|
} catch (t) {
|
|
134
135
|
e(t.reason, "danger");
|
|
135
136
|
}
|
|
136
|
-
}, Y =
|
|
137
|
+
}, Y = O({
|
|
137
138
|
data: q,
|
|
138
139
|
columns: p(() => j({
|
|
139
140
|
setIsShowingVerification: V,
|
|
@@ -146,7 +147,7 @@ function N() {
|
|
|
146
147
|
getRowId: (e) => e.client_id,
|
|
147
148
|
enableRowSelection: !0,
|
|
148
149
|
enableSorting: !1,
|
|
149
|
-
getCoreRowModel:
|
|
150
|
+
getCoreRowModel: D(),
|
|
150
151
|
columnResizeMode: "onChange"
|
|
151
152
|
}), X = !U && Y.getRowModel().rows.length === 0;
|
|
152
153
|
return /* @__PURE__ */ C("div", { children: [
|
|
@@ -183,7 +184,7 @@ function N() {
|
|
|
183
184
|
b(!1);
|
|
184
185
|
},
|
|
185
186
|
isShowingModal: y,
|
|
186
|
-
client: T ?
|
|
187
|
+
client: T ? k : void 0,
|
|
187
188
|
isEdit: T,
|
|
188
189
|
setIsShowingConfirmModal: N,
|
|
189
190
|
isShowingConfirmModal: M,
|
|
@@ -213,7 +214,7 @@ function N() {
|
|
|
213
214
|
] })
|
|
214
215
|
}),
|
|
215
216
|
/* @__PURE__ */ S(f, {
|
|
216
|
-
clientId:
|
|
217
|
+
clientId: k?.client_id,
|
|
217
218
|
open: l,
|
|
218
219
|
onClose: () => _(!1)
|
|
219
220
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OAuthManagement.js","names":[],"sources":["../../../src/components/OAuthClientManagement/OAuthManagement.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport SynapseClient from '@/synapse-client'\nimport { useGetOAuthClientInfinite } from '@/synapse-queries'\nimport { MoreVert } from '@mui/icons-material'\nimport { useSynapseContext } from '@/utils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { AddCircleTwoTone } from '@mui/icons-material'\nimport { Box, Button, Link, IconButton, Menu, MenuItem } from '@mui/material'\nimport { OAuthClient } from '@sage-bionetworks/synapse-client/generated/models/OAuthClient'\nimport {\n createColumnHelper,\n getCoreRowModel,\n Row,\n Table,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useMemo, useState } from 'react'\nimport CopyToClipboardInput from '../CopyToClipboardInput/CopyToClipboardInput'\nimport { DialogBase } from '../DialogBase'\nimport WarningDialog from '../SynapseForm/WarningDialog'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { displayToast } from '../ToastMessage'\nimport { CreateOAuthModal } from './CreateOAuthClient'\nimport OAuthAclEditorModal from '../OAuthClientAclEditor/OAuthAclEditorModal'\n\nconst columnHelper = createColumnHelper<OAuthClient>()\nfunction getColumns(columnOptions: {\n setIsShowingVerification: (value: boolean) => void\n setSelectedClient: (value: OAuthClient) => void\n setIsShowingSecretWarning: (value: boolean) => void\n setIsEdit: (value: boolean) => void\n setIsShowingCreateClientModal: (value: boolean) => void\n setIsShowingSharingSettings: (value: boolean) => void\n}) {\n const {\n setIsShowingVerification,\n setSelectedClient,\n setIsShowingSecretWarning,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSharingSettings,\n } = columnOptions\n return [\n columnHelper.accessor('createdOn', {\n header: props => <ColumnHeader {...props} title={'Created'} />,\n cell: info => formatDate(dayjs(info.getValue())),\n }),\n columnHelper.accessor('modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified'} />,\n cell: info => formatDate(dayjs(info.getValue())),\n }),\n columnHelper.accessor('client_id', {\n header: props => <ColumnHeader {...props} title={'ID'} />,\n }),\n columnHelper.accessor('client_name', {\n header: props => <ColumnHeader {...props} title={'Client'} />,\n }),\n columnHelper.accessor('verified', {\n header: props => <ColumnHeader {...props} title={'Verified'} />,\n cell: ({ getValue }) =>\n getValue() ? (\n 'Yes'\n ) : (\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => setIsShowingVerification(true)}\n >\n Submit Verification\n </Button>\n ),\n }),\n columnHelper.display({\n id: 'actions',\n header: props => <ColumnHeader {...props} title={'Actions'} />,\n cell: ({ row }) => (\n <ActionsMenuCell\n row={row}\n setSelectedClient={setSelectedClient}\n setIsEdit={setIsEdit}\n setIsShowingCreateClientModal={setIsShowingCreateClientModal}\n setIsShowingSecretWarning={setIsShowingSecretWarning}\n setIsShowingSharingSettings={setIsShowingSharingSettings}\n />\n ),\n }),\n ]\n}\n\nfunction ActionsMenuCell({\n row,\n setSelectedClient,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSecretWarning,\n setIsShowingSharingSettings,\n}: {\n row: Row<OAuthClient>\n setSelectedClient: (value: OAuthClient) => void\n setIsEdit: (value: boolean) => void\n setIsShowingCreateClientModal: (value: boolean) => void\n setIsShowingSecretWarning: (value: boolean) => void\n setIsShowingSharingSettings: (value: boolean) => void\n}) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n const handleMenuOpen = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleMenuClose = () => {\n setAnchorEl(null)\n }\n return (\n <>\n <IconButton\n aria-label=\"more\"\n aria-controls={`actions-menu-${row.id}`}\n aria-haspopup=\"true\"\n onClick={handleMenuOpen}\n size=\"small\"\n >\n <MoreVert />\n </IconButton>\n <Menu\n id={`actions-menu-${row.id}`}\n anchorEl={anchorEl}\n open={open}\n onClose={handleMenuClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsEdit(true)\n setIsShowingCreateClientModal(true)\n handleMenuClose()\n }}\n >\n Edit\n </MenuItem>\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsShowingSecretWarning(true)\n handleMenuClose()\n }}\n >\n Generate Secret\n </MenuItem>\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsShowingSharingSettings(true)\n handleMenuClose()\n }}\n >\n Sharing Settings\n </MenuItem>\n </Menu>\n </>\n )\n}\n\nexport function OAuthManagement() {\n const { accessToken } = useSynapseContext()\n const [isShowingSharingSettings, setIsShowingSharingSettings] =\n useState(false)\n const [isShowingCreateClientModal, setIsShowingCreateClientModal] =\n useState(false)\n const [isEdit, setIsEdit] = useState<boolean>(false)\n const [selectedClient, setSelectedClient] = useState<OAuthClient>()\n const [isShowingConfirmModal, setIsShowingConfirmModal] = useState(false)\n const [isShowingSecretWarning, setIsShowingSecretWarning] = useState(false)\n const [isShowingSecret, setIsShowingSecret] = useState(false)\n const [secret, setSecret] = useState<string>()\n const [isShowingVerification, setIsShowingVerification] = useState(false)\n\n const { data, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useGetOAuthClientInfinite()\n const oAuthClientList = useMemo(\n () => data?.pages.flatMap(page => page.results || []) || [],\n [data],\n )\n\n const warningHeader = 'Are you absolutely sure?'\n const warningBody =\n 'If you have an existing secret, generating a new secret will make your application invalid after generation. This action cannot be undone.'\n\n const onShowSecret = async () => {\n setIsShowingSecretWarning(false)\n try {\n const secret = await SynapseClient.createOAuthClientSecret(\n accessToken!,\n selectedClient?.client_id!,\n )\n setSelectedClient(undefined)\n setIsShowingSecret(true)\n setSecret(secret.client_secret)\n } catch (err: any) {\n displayToast(err.reason as string, 'danger')\n }\n }\n\n const columns = useMemo(\n () =>\n getColumns({\n setIsShowingVerification,\n setSelectedClient,\n setIsShowingSecretWarning,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSharingSettings,\n }),\n [],\n )\n\n const table: Table<OAuthClient> = useReactTable<OAuthClient>({\n data: oAuthClientList,\n columns,\n getRowId: row => row.client_id!,\n enableRowSelection: true,\n enableSorting: false,\n getCoreRowModel: getCoreRowModel(),\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div>\n <Box\n sx={{\n display: 'flex',\n width: '100%',\n justifyContent: 'flex-end',\n mb: 2,\n }}\n >\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => {\n setIsShowingCreateClientModal(true)\n setIsEdit(false)\n }}\n sx={{ float: 'right' }}\n startIcon={<AddCircleTwoTone />}\n >\n Create New Client\n </Button>\n </Box>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n <CreateOAuthModal\n onClose={() => {\n setIsShowingCreateClientModal(false)\n }}\n isShowingModal={isShowingCreateClientModal}\n client={isEdit ? selectedClient : undefined}\n isEdit={isEdit}\n setIsShowingConfirmModal={setIsShowingConfirmModal}\n isShowingConfirmModal={isShowingConfirmModal}\n setIsShowingModal={setIsShowingCreateClientModal}\n />\n <DialogBase\n open={isShowingVerification}\n onCancel={() => setIsShowingVerification(false)}\n title=\"Submit Verification\"\n content={\n <>\n <p>\n In order to verify an OAuth client please submit a request to the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portal/9\"\n >\n Synapse Service Desk.\n </Link>\n </p>\n <b>Please list the following items in your request:</b>\n <ul>\n <li>Your name</li>\n <li>\n The ID of the client to be verified <br />\n </li>\n <li>A description of your application</li>\n </ul>\n {/* <p>\n Verification can take up to X weeks and we will notify you via X.\n </p> */}\n </>\n }\n />\n <OAuthAclEditorModal\n clientId={selectedClient?.client_id!}\n open={isShowingSharingSettings}\n onClose={() => setIsShowingSharingSettings(false)}\n />\n <WarningDialog\n open={isShowingSecretWarning}\n title={warningHeader}\n content={warningBody}\n onCancel={() => {\n setIsShowingSecretWarning(false)\n setSelectedClient(undefined)\n }}\n onConfirm={onShowSecret}\n confirmButtonColor=\"error\"\n confirmButtonText=\"Yes, Continue\"\n />\n {secret && (\n <DialogBase\n open={isShowingSecret}\n title=\"App Secret\"\n onCancel={() => {\n setIsShowingSecret(false)\n setSecret(undefined)\n }}\n content={\n <>\n <p>\n <b>This secret will not be able to be retrieved again.</b> If\n needed, in order to generate a new secret select Generate from\n the Client List.\n </p>\n <CopyToClipboardInput value={secret} inputWidth={'400px'} />\n </>\n }\n />\n )}\n </div>\n )\n}\n\nexport default OAuthManagement\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OAuthManagement.js","names":[],"sources":["../../../src/components/OAuthClientManagement/OAuthManagement.tsx"],"sourcesContent":["import InfiniteTableLayout from '@/components/layout/InfiniteTableLayout'\nimport SynapseClient from '@/synapse-client'\nimport { useGetOAuthClientInfinite } from '@/synapse-queries'\nimport MoreVert from '@mui/icons-material/MoreVert'\nimport { useSynapseContext } from '@/utils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport AddCircleTwoTone from '@mui/icons-material/AddCircleTwoTone'\nimport { Box, Button, Link, IconButton, Menu, MenuItem } from '@mui/material'\nimport { OAuthClient } from '@sage-bionetworks/synapse-client/generated/models/OAuthClient'\nimport {\n createColumnHelper,\n getCoreRowModel,\n Row,\n Table,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useMemo, useState } from 'react'\nimport CopyToClipboardInput from '../CopyToClipboardInput/CopyToClipboardInput'\nimport { DialogBase } from '../DialogBase'\nimport WarningDialog from '../SynapseForm/WarningDialog'\nimport ColumnHeader from '../TanStackTable/ColumnHeader'\nimport StyledTanStackTable from '../TanStackTable/StyledTanStackTable'\nimport { displayToast } from '../ToastMessage'\nimport { CreateOAuthModal } from './CreateOAuthClient'\nimport OAuthAclEditorModal from '../OAuthClientAclEditor/OAuthAclEditorModal'\n\nconst columnHelper = createColumnHelper<OAuthClient>()\nfunction getColumns(columnOptions: {\n setIsShowingVerification: (value: boolean) => void\n setSelectedClient: (value: OAuthClient) => void\n setIsShowingSecretWarning: (value: boolean) => void\n setIsEdit: (value: boolean) => void\n setIsShowingCreateClientModal: (value: boolean) => void\n setIsShowingSharingSettings: (value: boolean) => void\n}) {\n const {\n setIsShowingVerification,\n setSelectedClient,\n setIsShowingSecretWarning,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSharingSettings,\n } = columnOptions\n return [\n columnHelper.accessor('createdOn', {\n header: props => <ColumnHeader {...props} title={'Created'} />,\n cell: info => formatDate(dayjs(info.getValue())),\n }),\n columnHelper.accessor('modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified'} />,\n cell: info => formatDate(dayjs(info.getValue())),\n }),\n columnHelper.accessor('client_id', {\n header: props => <ColumnHeader {...props} title={'ID'} />,\n }),\n columnHelper.accessor('client_name', {\n header: props => <ColumnHeader {...props} title={'Client'} />,\n }),\n columnHelper.accessor('verified', {\n header: props => <ColumnHeader {...props} title={'Verified'} />,\n cell: ({ getValue }) =>\n getValue() ? (\n 'Yes'\n ) : (\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={() => setIsShowingVerification(true)}\n >\n Submit Verification\n </Button>\n ),\n }),\n columnHelper.display({\n id: 'actions',\n header: props => <ColumnHeader {...props} title={'Actions'} />,\n cell: ({ row }) => (\n <ActionsMenuCell\n row={row}\n setSelectedClient={setSelectedClient}\n setIsEdit={setIsEdit}\n setIsShowingCreateClientModal={setIsShowingCreateClientModal}\n setIsShowingSecretWarning={setIsShowingSecretWarning}\n setIsShowingSharingSettings={setIsShowingSharingSettings}\n />\n ),\n }),\n ]\n}\n\nfunction ActionsMenuCell({\n row,\n setSelectedClient,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSecretWarning,\n setIsShowingSharingSettings,\n}: {\n row: Row<OAuthClient>\n setSelectedClient: (value: OAuthClient) => void\n setIsEdit: (value: boolean) => void\n setIsShowingCreateClientModal: (value: boolean) => void\n setIsShowingSecretWarning: (value: boolean) => void\n setIsShowingSharingSettings: (value: boolean) => void\n}) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = Boolean(anchorEl)\n const handleMenuOpen = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleMenuClose = () => {\n setAnchorEl(null)\n }\n return (\n <>\n <IconButton\n aria-label=\"more\"\n aria-controls={`actions-menu-${row.id}`}\n aria-haspopup=\"true\"\n onClick={handleMenuOpen}\n size=\"small\"\n >\n <MoreVert />\n </IconButton>\n <Menu\n id={`actions-menu-${row.id}`}\n anchorEl={anchorEl}\n open={open}\n onClose={handleMenuClose}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsEdit(true)\n setIsShowingCreateClientModal(true)\n handleMenuClose()\n }}\n >\n Edit\n </MenuItem>\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsShowingSecretWarning(true)\n handleMenuClose()\n }}\n >\n Generate Secret\n </MenuItem>\n <MenuItem\n onClick={() => {\n setSelectedClient(row.original)\n setIsShowingSharingSettings(true)\n handleMenuClose()\n }}\n >\n Sharing Settings\n </MenuItem>\n </Menu>\n </>\n )\n}\n\nexport function OAuthManagement() {\n const { accessToken } = useSynapseContext()\n const [isShowingSharingSettings, setIsShowingSharingSettings] =\n useState(false)\n const [isShowingCreateClientModal, setIsShowingCreateClientModal] =\n useState(false)\n const [isEdit, setIsEdit] = useState<boolean>(false)\n const [selectedClient, setSelectedClient] = useState<OAuthClient>()\n const [isShowingConfirmModal, setIsShowingConfirmModal] = useState(false)\n const [isShowingSecretWarning, setIsShowingSecretWarning] = useState(false)\n const [isShowingSecret, setIsShowingSecret] = useState(false)\n const [secret, setSecret] = useState<string>()\n const [isShowingVerification, setIsShowingVerification] = useState(false)\n\n const { data, isLoading, hasNextPage, fetchNextPage, isFetchingNextPage } =\n useGetOAuthClientInfinite()\n const oAuthClientList = useMemo(\n () => data?.pages.flatMap(page => page.results || []) || [],\n [data],\n )\n\n const warningHeader = 'Are you absolutely sure?'\n const warningBody =\n 'If you have an existing secret, generating a new secret will make your application invalid after generation. This action cannot be undone.'\n\n const onShowSecret = async () => {\n setIsShowingSecretWarning(false)\n try {\n const secret = await SynapseClient.createOAuthClientSecret(\n accessToken!,\n selectedClient?.client_id!,\n )\n setSelectedClient(undefined)\n setIsShowingSecret(true)\n setSecret(secret.client_secret)\n } catch (err: any) {\n displayToast(err.reason as string, 'danger')\n }\n }\n\n const columns = useMemo(\n () =>\n getColumns({\n setIsShowingVerification,\n setSelectedClient,\n setIsShowingSecretWarning,\n setIsEdit,\n setIsShowingCreateClientModal,\n setIsShowingSharingSettings,\n }),\n [],\n )\n\n const table: Table<OAuthClient> = useReactTable<OAuthClient>({\n data: oAuthClientList,\n columns,\n getRowId: row => row.client_id!,\n enableRowSelection: true,\n enableSorting: false,\n getCoreRowModel: getCoreRowModel(),\n columnResizeMode: 'onChange',\n })\n\n const isEmpty = !isLoading && table.getRowModel().rows.length === 0\n\n return (\n <div>\n <Box\n sx={{\n display: 'flex',\n width: '100%',\n justifyContent: 'flex-end',\n mb: 2,\n }}\n >\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => {\n setIsShowingCreateClientModal(true)\n setIsEdit(false)\n }}\n sx={{ float: 'right' }}\n startIcon={<AddCircleTwoTone />}\n >\n Create New Client\n </Button>\n </Box>\n <InfiniteTableLayout\n table={<StyledTanStackTable table={table} />}\n isLoading={isLoading}\n isEmpty={isEmpty}\n hasNextPage={hasNextPage}\n onFetchNextPageClicked={() => {\n void fetchNextPage()\n }}\n isFetchingNextPage={isFetchingNextPage}\n />\n <CreateOAuthModal\n onClose={() => {\n setIsShowingCreateClientModal(false)\n }}\n isShowingModal={isShowingCreateClientModal}\n client={isEdit ? selectedClient : undefined}\n isEdit={isEdit}\n setIsShowingConfirmModal={setIsShowingConfirmModal}\n isShowingConfirmModal={isShowingConfirmModal}\n setIsShowingModal={setIsShowingCreateClientModal}\n />\n <DialogBase\n open={isShowingVerification}\n onCancel={() => setIsShowingVerification(false)}\n title=\"Submit Verification\"\n content={\n <>\n <p>\n In order to verify an OAuth client please submit a request to the{' '}\n <Link\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://sagebionetworks.jira.com/servicedesk/customer/portal/9\"\n >\n Synapse Service Desk.\n </Link>\n </p>\n <b>Please list the following items in your request:</b>\n <ul>\n <li>Your name</li>\n <li>\n The ID of the client to be verified <br />\n </li>\n <li>A description of your application</li>\n </ul>\n {/* <p>\n Verification can take up to X weeks and we will notify you via X.\n </p> */}\n </>\n }\n />\n <OAuthAclEditorModal\n clientId={selectedClient?.client_id!}\n open={isShowingSharingSettings}\n onClose={() => setIsShowingSharingSettings(false)}\n />\n <WarningDialog\n open={isShowingSecretWarning}\n title={warningHeader}\n content={warningBody}\n onCancel={() => {\n setIsShowingSecretWarning(false)\n setSelectedClient(undefined)\n }}\n onConfirm={onShowSecret}\n confirmButtonColor=\"error\"\n confirmButtonText=\"Yes, Continue\"\n />\n {secret && (\n <DialogBase\n open={isShowingSecret}\n title=\"App Secret\"\n onCancel={() => {\n setIsShowingSecret(false)\n setSecret(undefined)\n }}\n content={\n <>\n <p>\n <b>This secret will not be able to be retrieved again.</b> If\n needed, in order to generate a new secret select Generate from\n the Client List.\n </p>\n <CopyToClipboardInput value={secret} inputWidth={'400px'} />\n </>\n }\n />\n )}\n </div>\n )\n}\n\nexport default OAuthManagement\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import i from "lodash-es/uniq";
|
|
|
6
6
|
//#region src/components/Plot/BarPlot.tsx
|
|
7
7
|
function a(e, t, n) {
|
|
8
8
|
t && (e = e.filter((e) => e.y === t));
|
|
9
|
-
let r = i(e.map((e) => e.group)).
|
|
9
|
+
let r = i(e.map((e) => e.group)).toSorted(), a = [], o = ["(28,118,175,1)", "rgba(91,176,181,1)"];
|
|
10
10
|
return r.forEach((t, r) => {
|
|
11
11
|
let i = e.filter((e) => e.group === t);
|
|
12
12
|
a.push({
|