synapse-react-client 4.0.9 → 4.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.d.ts +1 -0
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +2 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
- package/dist/assets/icons/TasksIcon.d.ts.map +1 -1
- package/dist/assets/icons/TasksIcon.js +6 -10
- package/dist/assets/icons/TasksIcon.js.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js +69 -63
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
- package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
- package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
- package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.d.ts.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js +38 -37
- package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
- package/dist/components/Authentication/Constants.d.ts +1 -0
- package/dist/components/Authentication/Constants.d.ts.map +1 -1
- package/dist/components/Authentication/Constants.js +2 -2
- package/dist/components/Authentication/Constants.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.js +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +2 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
- package/dist/components/DataGrid/DataGrid.d.ts +0 -1
- package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGrid.js +72 -72
- package/dist/components/DataGrid/DataGrid.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +9 -8
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +326 -268
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +2 -0
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +113 -67
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts +2 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +126 -122
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +58 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js +52 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -0
- package/dist/components/DataGrid/components/ValidationAlert.d.ts +5 -2
- package/dist/components/DataGrid/components/ValidationAlert.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ValidationAlert.js +429 -24
- package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts +7 -0
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +16 -2
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
- package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.js +8 -8
- package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DirectDownloadButton.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
- package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.d.ts.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.js +103 -103
- package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
- package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.d.ts.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +36 -30
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
- package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
- package/dist/components/EntityForm/EntityForm.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
- package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
- package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
- package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
- package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
- package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
- package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
- package/dist/components/Forum/DiscussionReply.js.map +1 -1
- package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
- package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCard.js +12 -7
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/Linkify.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +105 -105
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/Goals/Goals.Mobile.js.map +1 -1
- package/dist/components/Goals/Goals.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
- package/dist/components/HasAccess/AccessIcon.js.map +1 -1
- package/dist/components/HasAccess/useHasAccess.js.map +1 -1
- package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
- package/dist/components/HeaderCard.d.ts +6 -1
- package/dist/components/HeaderCard.d.ts.map +1 -1
- package/dist/components/HeaderCard.js +107 -76
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IconList.js.map +1 -1
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
- package/dist/components/ImageFromSynapseTable.js.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.d.ts.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js +45 -39
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/PageProgress/PageProgress.js.map +1 -1
- package/dist/components/Plot/DotPlot.js.map +1 -1
- package/dist/components/Plot/Plot.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/ThemesPlot.js.map +1 -1
- package/dist/components/Plot/UpsetPlot.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.d.ts.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.js +43 -41
- package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/Programs/Programs.Mobile.js.map +1 -1
- package/dist/components/Programs/Programs.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
- package/dist/components/QueryCount/QueryCount.js.map +1 -1
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
- package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
- package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
- package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
- package/dist/components/Resources/Resources.Mobile.js.map +1 -1
- package/dist/components/Resources/Resources.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
- package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/SmartLink/SmartButton.js.map +1 -1
- package/dist/components/SmartLink/SmartLink.js.map +1 -1
- package/dist/components/SourceAppImage.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
- package/dist/components/StatisticsPlot.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
- package/dist/components/SynapseForm/SynapseForm.js +4 -2
- package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts +8 -7
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +173 -164
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
- package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.d.ts +1 -0
- package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +8 -8
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/TableBody.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
- package/dist/components/UserCard/Avatar.js.map +1 -1
- package/dist/components/UserCardList/UserCardList.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
- package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
- package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
- package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
- package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
- package/dist/components/error/ErrorPage.js.map +1 -1
- package/dist/components/favorites/FavoritesPage.js.map +1 -1
- package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
- package/dist/components/layout/SWCHeader.d.ts +9 -0
- package/dist/components/layout/SWCHeader.d.ts.map +1 -0
- package/dist/components/layout/SWCHeader.js +19 -0
- package/dist/components/layout/SWCHeader.js.map +1 -0
- package/dist/components/layout/SWCPageLayout.d.ts +9 -0
- package/dist/components/layout/SWCPageLayout.d.ts.map +1 -0
- package/dist/components/layout/SWCPageLayout.js +14 -0
- package/dist/components/layout/SWCPageLayout.js.map +1 -0
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
- package/dist/components/styled/StyledPopover.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js +2 -1
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/trash/TrashCanList.js.map +1 -1
- package/dist/components/widgets/FileHandleLink.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseVideo.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.d.ts.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +23 -30
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts +2 -0
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/CuratorDashboard.js +45 -0
- package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +9 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.js +106 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +12 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +52 -0
- package/dist/features/curator/dashboard/components/NextStepButton.css +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts +14 -0
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.js +35 -0
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.js +11 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.scss +57 -0
- package/dist/features/curator/dashboard/components/UserOrTeamChip.css +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js.map +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.scss +5 -5
- package/dist/features/curator/dashboard/components/shared.css +1 -0
- package/dist/features/curator/dashboard/components/shared.module.js +5 -0
- package/dist/features/curator/dashboard/components/shared.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/shared.module.scss +8 -0
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -2
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +16 -34
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts +10 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +37 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -0
- package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
- package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/utils/constants.js +6 -0
- package/dist/features/entity/metadata-task/utils/constants.js.map +1 -0
- package/dist/mocks/challenge/mockChallenge.js.map +1 -1
- package/dist/mocks/entity/mockDataset.js.map +1 -1
- package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
- package/dist/mocks/entity/mockFileEntity.js.map +1 -1
- package/dist/mocks/entity/mockFileView.js.map +1 -1
- package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
- package/dist/mocks/entity/mockProject.js.map +1 -1
- package/dist/mocks/entity/mockProjectView.js.map +1 -1
- package/dist/mocks/entity/mockRootEntity.js.map +1 -1
- package/dist/mocks/entity/mockTableEntity.js.map +1 -1
- package/dist/mocks/mockWiki.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
- package/dist/mocks/provenance/mockActivity.js.map +1 -1
- package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
- package/dist/ror-client/index.js.map +1 -1
- package/dist/style/components/_cards.scss +4 -0
- package/dist/style/components/_data-grid-extra.css +1 -1
- package/dist/style/components/_data-grid-extra.scss +2 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/HttpClient.js.map +1 -1
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
- package/dist/synapse-queries/doi/useDOI.js.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useSchema.js.map +1 -1
- package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useFiles.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
- package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.d.ts +4 -0
- package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js +12 -1
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/GridApiUtils.js.map +1 -1
- package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
- package/dist/utils/functions/RealmUtils.d.ts +4 -0
- package/dist/utils/functions/RealmUtils.d.ts.map +1 -1
- package/dist/utils/functions/RealmUtils.js +9 -3
- package/dist/utils/functions/RealmUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/hooks/useConfirmItems.js.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
- package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
- package/dist/utils/hooks/useGetGoalData.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
- package/dist/utils/hooks/useIsBot.js.map +1 -1
- package/dist/utils/hooks/useListState.js.map +1 -1
- package/dist/utils/hooks/useLogin.d.ts.map +1 -1
- package/dist/utils/hooks/useLogin.js +53 -52
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
- package/dist/utils/hooks/useOverlay.js.map +1 -1
- package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
- package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
- package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
- package/dist/utils/hooks/useSet.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
- package/dist/utils/html/TargetEnum.js.map +1 -1
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUploadFiles.js","names":[],"sources":["../../../../src/utils/hooks/useUploadFileEntity/useUploadFiles.ts"],"sourcesContent":["import {\n ProgressCallback,\n SYNAPSE_STORAGE_LOCATION_ID,\n} from '@/synapse-client/SynapseClient'\nimport { FileUploadArgs } from '@/synapse-queries/file/FileUploadArgs'\nimport { useDirectUploadToS3 } from '@/synapse-queries/file/useDirectUploadToS3'\nimport { useSynapseMultipartUpload } from '@/synapse-queries/file/useSynapseMultipartUpload'\nimport {\n instanceOfExternalObjectStoreUploadDestination,\n UploadDestination,\n} from '@sage-bionetworks/synapse-client'\nimport pLimit from 'p-limit'\nimport { useCallback, useMemo } from 'react'\nimport { fixDefaultContentType } from '../../ContentTypeUtils'\nimport {\n TrackedUploadProgress,\n UploadFileStatus,\n useTrackFileUploads,\n} from './useTrackFileUploads'\n\nexport type UploaderState = 'WAITING' | 'UPLOADING' | 'COMPLETE'\nexport type BaseFileUploadArgs = { file: File }\nexport type BaseFilePreparedForUpload = { file: File }\n\nexport type UploadItem = {\n file: File\n fileHandleId?: string\n progress: ProgressCallback\n status: UploadFileStatus\n cancel: () => void\n pause: () => void\n resume: () => void\n remove: () => void\n failureReason?: string\n}\n\nexport type UseUploadFilesReturn = {\n /**\n * The current state of the uploader.\n */\n state: UploaderState\n /**\n * An error message to display if the upload session has failed due to an error.\n */\n errorMessage?: string\n /**\n * The number of files actively being uploaded right now (UPLOADING, PAUSED, or PENDING).\n */\n activeUploadCount: number\n /**\n * List of files being uploaded, with their current progress and status, and callbacks to pause/cancel/resume/remove the upload.\n */\n uploadProgress: UploadItem[]\n /**\n * Arguments used to initialize an upload operation. In addition to providing a file, the caller may also provide\n * additional information that will be returned when `onUploadComplete` is invoked.\n */\n startUpload: <\n T extends BaseFilePreparedForUpload = BaseFilePreparedForUpload,\n >(\n ...preparedFiles: T[]\n ) => void\n /**\n * The number of bytes pending upload (including files that are currently uploading, paused, or pending).\n */\n bytesPendingUpload: number\n}\n\nexport type UseUploadFilesArgs = {\n /**\n * Takes precedence over `storageLocationId` if both uploadDestination and storageLocationId are provided.\n */\n uploadDestination?: UploadDestination\n /** The ID of the storage location to upload files to */\n storageLocationId?: number\n /** Optional accessKey for a direct S3 upload */\n accessKey?: string\n /** Optional secretKey for a direct S3 upload */\n secretKey?: string\n /**\n * Callback invoked after a file has been successfully uploaded, with the fileHandleId created for the uploaded file.\n * @param preparedFile - The prepared file that was passed to `startUpload`\n * @param fileHandleId - The fileHandleId created for the uploaded file\n */\n onUploadComplete?: <\n T extends BaseFilePreparedForUpload = BaseFilePreparedForUpload,\n >(\n preparedFile: T,\n fileHandleId: string,\n ) => Promise<void>\n /**\n * Optional utility that is invoked just before `startUpload` begins uploading files.\n */\n onBeforeUpload?: () => void\n}\n\nconst STATIC_EMPTY_OBJECT = {}\n\n// Limit the number of concurrent uploads to avoid overwhelming the browser\n// Note that within one upload operation, multiple parts could be uploaded in parallel\nconst limitConcurrentUploads = pLimit(8)\n\n/**\n * Hook to start and track the progress of file uploads in Synapse, creating a FileHandle for each uploaded file.\n */\nexport function useUploadFiles(\n args: UseUploadFilesArgs = STATIC_EMPTY_OBJECT,\n): UseUploadFilesReturn {\n const {\n uploadDestination,\n accessKey = '',\n secretKey = '',\n onUploadComplete,\n onBeforeUpload,\n } = args\n const storageLocationId =\n uploadDestination?.storageLocationId ??\n args.storageLocationId ??\n SYNAPSE_STORAGE_LOCATION_ID\n\n const {\n trackedUploadProgress,\n setProgress,\n setIsUploading,\n trackNewFiles,\n cancelUpload,\n pauseUpload,\n removeUpload,\n setComplete,\n setFailed,\n isUploading,\n isUploadComplete,\n activeUploadCount,\n bytesPendingUpload,\n } = useTrackFileUploads()\n\n const state: UploaderState = useMemo(() => {\n if (isUploading) {\n return 'UPLOADING'\n }\n if (isUploadComplete) {\n return 'COMPLETE'\n }\n return 'WAITING'\n }, [isUploadComplete, isUploading])\n\n const { mutateAsync: uploadFile } = useSynapseMultipartUpload()\n const { mutateAsync: uploadFileDirectlyToS3 } = useDirectUploadToS3()\n\n const uploadPreparedFile = useCallback(\n async function uploadPreparedFile(\n newTrackedUploadProgress: Map<File, TrackedUploadProgress>,\n preparedFile: BaseFilePreparedForUpload,\n ) {\n try {\n const trackedProgress = newTrackedUploadProgress.get(preparedFile.file)!\n\n const uploadArgs: FileUploadArgs = {\n fileName: preparedFile.file.name,\n blob: preparedFile.file,\n storageLocationId,\n contentType: fixDefaultContentType(\n preparedFile.file.type,\n preparedFile.file.name,\n ),\n progressCallback: progress => {\n if (progress) {\n setProgress(preparedFile.file, progress)\n }\n },\n abortController: trackedProgress.abortController,\n onMd5Computed: () => {\n setIsUploading(preparedFile.file)\n },\n }\n\n let newFileHandleId: string\n if (\n uploadDestination &&\n instanceOfExternalObjectStoreUploadDestination(uploadDestination) &&\n uploadDestination.endpointUrl != null\n ) {\n const fileHandle = await uploadFileDirectlyToS3({\n ...uploadArgs,\n bucketName: uploadDestination.bucket!,\n endpoint: uploadDestination.endpointUrl,\n keyPrefixUUID: uploadDestination.keyPrefixUUID!,\n accessKey,\n secretKey,\n })\n newFileHandleId = fileHandle.id!\n } else {\n const fileUploadComplete = await uploadFile(uploadArgs)\n\n newFileHandleId = fileUploadComplete.fileHandleId\n }\n\n if (onUploadComplete) {\n await onUploadComplete(preparedFile, newFileHandleId)\n }\n setComplete(preparedFile.file, newFileHandleId)\n } catch (e) {\n console.error('File upload failed: ', e)\n setFailed(preparedFile.file, e.message)\n }\n },\n [\n storageLocationId,\n uploadDestination,\n onUploadComplete,\n setComplete,\n setProgress,\n setIsUploading,\n uploadFileDirectlyToS3,\n accessKey,\n secretKey,\n uploadFile,\n setFailed,\n ],\n )\n\n /**\n * Upload the list of prepared files to Synapse.\n */\n const startUpload = useCallback(\n function startUpload<T extends BaseFileUploadArgs>(...preparedFiles: T[]) {\n if (onBeforeUpload) {\n onBeforeUpload()\n }\n\n const newTrackedUploadProgress = trackNewFiles(...preparedFiles)\n\n preparedFiles.map(preparedFile =>\n limitConcurrentUploads(() =>\n uploadPreparedFile(newTrackedUploadProgress, preparedFile),\n ),\n )\n },\n [onBeforeUpload, trackNewFiles, uploadPreparedFile],\n )\n\n const uploadProgress: UploadItem[] = useMemo(() => {\n return [...trackedUploadProgress].map(([file, trackedProgress]) => {\n return {\n file: file,\n fileHandleId: trackedProgress.fileHandleId,\n progress: trackedProgress.progress,\n status: trackedProgress.status,\n failureReason: trackedProgress.failureReason,\n cancel: () => {\n cancelUpload(file)\n },\n pause: () => {\n pauseUpload(file)\n },\n resume: () => {\n startUpload(trackedProgress.filePreparedForUpload)\n },\n remove() {\n removeUpload(file)\n },\n }\n })\n }, [\n cancelUpload,\n pauseUpload,\n removeUpload,\n startUpload,\n trackedUploadProgress,\n ])\n\n return useMemo(() => {\n return {\n state,\n activeUploadCount,\n startUpload,\n uploadProgress: uploadProgress,\n bytesPendingUpload,\n }\n }, [\n state,\n activeUploadCount,\n startUpload,\n uploadProgress,\n bytesPendingUpload,\n ])\n}\n"],"mappings":";;;;;;;;;AAgGA,IAAM,IAAsB,EAAE,EAIxB,IAAyB,EAAO,EAAE;AAKxC,SAAgB,EACd,IAA2B,GACL;CACtB,IAAM,EACJ,sBACA,eAAY,IACZ,eAAY,IACZ,qBACA,sBACE,GACE,IACJ,GAAmB,qBACnB,EAAK,qBAAA,GAGD,EACJ,0BACA,gBACA,mBACA,kBACA,iBACA,gBACA,iBACA,gBACA,cACA,gBACA,qBACA,sBACA,0BACE,GAAqB,EAEnB,IAAuB,QACvB,IACK,cAEL,IACK,aAEF,WACN,CAAC,GAAkB,EAAY,CAAC,EAE7B,EAAE,aAAa,MAAe,GAA2B,EACzD,EAAE,aAAa,MAA2B,GAAqB,EAE/D,IAAqB,EACzB,eACE,GACA,GACA;AACA,MAAI;GACF,IAAM,IAAkB,EAAyB,IAAI,EAAa,KAAK,EAEjE,IAA6B;IACjC,UAAU,EAAa,KAAK;IAC5B,MAAM,EAAa;IACnB;IACA,aAAa,EACX,EAAa,KAAK,MAClB,EAAa,KAAK,KACnB;IACD,mBAAkB,MAAY;AAC5B,KAAI,KACF,EAAY,EAAa,MAAM,EAAS;;IAG5C,iBAAiB,EAAgB;IACjC,qBAAqB;AACnB,OAAe,EAAa,KAAK;;IAEpC,EAEG;AAwBJ,GAvBA,AAiBE,IAhBA,KACA,EAA+C,EAAkB,IACjE,EAAkB,eAAe,QAEd,MAAM,EAAuB;IAC9C,GAAG;IACH,YAAY,EAAkB;IAC9B,UAAU,EAAkB;IAC5B,eAAe,EAAkB;IACjC;IACA;IACD,CAAC,EAC2B,MAEF,MAAM,EAAW,EAAW,EAElB,cAGnC,KACF,MAAM,EAAiB,GAAc,EAAgB,EAEvD,EAAY,EAAa,MAAM,EAAgB;WACxC,GAAG;AAEV,GADA,QAAQ,MAAM,wBAAwB,EAAE,EACxC,EAAU,EAAa,MAAM,EAAE,QAAQ;;IAG3C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF,EAKK,IAAc,EAClB,SAAmD,GAAG,GAAoB;AACxE,EAAI,KACF,GAAgB;EAGlB,IAAM,IAA2B,EAAc,GAAG,EAAc;AAEhE,IAAc,KAAI,MAChB,QACE,EAAmB,GAA0B,EAAa,CAC3D,CACF;IAEH;EAAC;EAAgB;EAAe;EAAmB,CACpD,EAEK,IAA+B,QAC5B,CAAC,GAAG,EAAsB,CAAC,KAAK,CAAC,GAAM,QACrC;EACC;EACN,cAAc,EAAgB;EAC9B,UAAU,EAAgB;EAC1B,QAAQ,EAAgB;EACxB,eAAe,EAAgB;EAC/B,cAAc;AACZ,KAAa,EAAK;;EAEpB,aAAa;AACX,KAAY,EAAK;;EAEnB,cAAc;AACZ,KAAY,EAAgB,sBAAsB;;EAEpD,SAAS;AACP,KAAa,EAAK;;EAErB,EACD,EACD;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QAAO,SACE;EACL;EACA;EACA;EACgB;EAChB;EACD,GACA;EACD;EACA;EACA;EACA;EACA;EACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"useUploadFiles.js","names":[],"sources":["../../../../src/utils/hooks/useUploadFileEntity/useUploadFiles.ts"],"sourcesContent":["import {\n ProgressCallback,\n SYNAPSE_STORAGE_LOCATION_ID,\n} from '@/synapse-client/SynapseClient'\nimport { FileUploadArgs } from '@/synapse-queries/file/FileUploadArgs'\nimport { useDirectUploadToS3 } from '@/synapse-queries/file/useDirectUploadToS3'\nimport { useSynapseMultipartUpload } from '@/synapse-queries/file/useSynapseMultipartUpload'\nimport {\n instanceOfExternalObjectStoreUploadDestination,\n UploadDestination,\n} from '@sage-bionetworks/synapse-client'\nimport pLimit from 'p-limit'\nimport { useCallback, useMemo } from 'react'\nimport { fixDefaultContentType } from '../../ContentTypeUtils'\nimport {\n TrackedUploadProgress,\n UploadFileStatus,\n useTrackFileUploads,\n} from './useTrackFileUploads'\n\nexport type UploaderState = 'WAITING' | 'UPLOADING' | 'COMPLETE'\nexport type BaseFileUploadArgs = { file: File }\nexport type BaseFilePreparedForUpload = { file: File }\n\nexport type UploadItem = {\n file: File\n fileHandleId?: string\n progress: ProgressCallback\n status: UploadFileStatus\n cancel: () => void\n pause: () => void\n resume: () => void\n remove: () => void\n failureReason?: string\n}\n\nexport type UseUploadFilesReturn = {\n /**\n * The current state of the uploader.\n */\n state: UploaderState\n /**\n * An error message to display if the upload session has failed due to an error.\n */\n errorMessage?: string\n /**\n * The number of files actively being uploaded right now (UPLOADING, PAUSED, or PENDING).\n */\n activeUploadCount: number\n /**\n * List of files being uploaded, with their current progress and status, and callbacks to pause/cancel/resume/remove the upload.\n */\n uploadProgress: UploadItem[]\n /**\n * Arguments used to initialize an upload operation. In addition to providing a file, the caller may also provide\n * additional information that will be returned when `onUploadComplete` is invoked.\n */\n startUpload: <\n T extends BaseFilePreparedForUpload = BaseFilePreparedForUpload,\n >(\n ...preparedFiles: T[]\n ) => void\n /**\n * The number of bytes pending upload (including files that are currently uploading, paused, or pending).\n */\n bytesPendingUpload: number\n}\n\nexport type UseUploadFilesArgs = {\n /**\n * Takes precedence over `storageLocationId` if both uploadDestination and storageLocationId are provided.\n */\n uploadDestination?: UploadDestination\n /** The ID of the storage location to upload files to */\n storageLocationId?: number\n /** Optional accessKey for a direct S3 upload */\n accessKey?: string\n /** Optional secretKey for a direct S3 upload */\n secretKey?: string\n /**\n * Callback invoked after a file has been successfully uploaded, with the fileHandleId created for the uploaded file.\n * @param preparedFile - The prepared file that was passed to `startUpload`\n * @param fileHandleId - The fileHandleId created for the uploaded file\n */\n onUploadComplete?: <\n T extends BaseFilePreparedForUpload = BaseFilePreparedForUpload,\n >(\n preparedFile: T,\n fileHandleId: string,\n ) => Promise<void>\n /**\n * Optional utility that is invoked just before `startUpload` begins uploading files.\n */\n onBeforeUpload?: () => void\n}\n\nconst STATIC_EMPTY_OBJECT = {}\n\n// Limit the number of concurrent uploads to avoid overwhelming the browser\n// Note that within one upload operation, multiple parts could be uploaded in parallel\nconst limitConcurrentUploads = pLimit(8)\n\n/**\n * Hook to start and track the progress of file uploads in Synapse, creating a FileHandle for each uploaded file.\n */\nexport function useUploadFiles(\n args: UseUploadFilesArgs = STATIC_EMPTY_OBJECT,\n): UseUploadFilesReturn {\n const {\n uploadDestination,\n accessKey = '',\n secretKey = '',\n onUploadComplete,\n onBeforeUpload,\n } = args\n const storageLocationId =\n uploadDestination?.storageLocationId ??\n args.storageLocationId ??\n SYNAPSE_STORAGE_LOCATION_ID\n\n const {\n trackedUploadProgress,\n setProgress,\n setIsUploading,\n trackNewFiles,\n cancelUpload,\n pauseUpload,\n removeUpload,\n setComplete,\n setFailed,\n isUploading,\n isUploadComplete,\n activeUploadCount,\n bytesPendingUpload,\n } = useTrackFileUploads()\n\n const state: UploaderState = useMemo(() => {\n if (isUploading) {\n return 'UPLOADING'\n }\n if (isUploadComplete) {\n return 'COMPLETE'\n }\n return 'WAITING'\n }, [isUploadComplete, isUploading])\n\n const { mutateAsync: uploadFile } = useSynapseMultipartUpload()\n const { mutateAsync: uploadFileDirectlyToS3 } = useDirectUploadToS3()\n\n const uploadPreparedFile = useCallback(\n async function uploadPreparedFile(\n newTrackedUploadProgress: Map<File, TrackedUploadProgress>,\n preparedFile: BaseFilePreparedForUpload,\n ) {\n try {\n const trackedProgress = newTrackedUploadProgress.get(preparedFile.file)!\n\n const uploadArgs: FileUploadArgs = {\n fileName: preparedFile.file.name,\n blob: preparedFile.file,\n storageLocationId,\n contentType: fixDefaultContentType(\n preparedFile.file.type,\n preparedFile.file.name,\n ),\n progressCallback: progress => {\n if (progress) {\n setProgress(preparedFile.file, progress)\n }\n },\n abortController: trackedProgress.abortController,\n onMd5Computed: () => {\n setIsUploading(preparedFile.file)\n },\n }\n\n let newFileHandleId: string\n if (\n uploadDestination &&\n instanceOfExternalObjectStoreUploadDestination(uploadDestination) &&\n uploadDestination.endpointUrl != null\n ) {\n const fileHandle = await uploadFileDirectlyToS3({\n ...uploadArgs,\n bucketName: uploadDestination.bucket!,\n endpoint: uploadDestination.endpointUrl,\n keyPrefixUUID: uploadDestination.keyPrefixUUID!,\n accessKey,\n secretKey,\n })\n newFileHandleId = fileHandle.id!\n } else {\n const fileUploadComplete = await uploadFile(uploadArgs)\n\n newFileHandleId = fileUploadComplete.fileHandleId\n }\n\n if (onUploadComplete) {\n await onUploadComplete(preparedFile, newFileHandleId)\n }\n setComplete(preparedFile.file, newFileHandleId)\n } catch (e) {\n console.error('File upload failed: ', e)\n setFailed(preparedFile.file, e.message)\n }\n },\n [\n storageLocationId,\n uploadDestination,\n onUploadComplete,\n setComplete,\n setProgress,\n setIsUploading,\n uploadFileDirectlyToS3,\n accessKey,\n secretKey,\n uploadFile,\n setFailed,\n ],\n )\n\n /**\n * Upload the list of prepared files to Synapse.\n */\n const startUpload = useCallback(\n function startUpload<T extends BaseFileUploadArgs>(...preparedFiles: T[]) {\n if (onBeforeUpload) {\n onBeforeUpload()\n }\n\n const newTrackedUploadProgress = trackNewFiles(...preparedFiles)\n\n preparedFiles.map(preparedFile =>\n limitConcurrentUploads(() =>\n uploadPreparedFile(newTrackedUploadProgress, preparedFile),\n ),\n )\n },\n [onBeforeUpload, trackNewFiles, uploadPreparedFile],\n )\n\n const uploadProgress: UploadItem[] = useMemo(() => {\n return [...trackedUploadProgress].map(([file, trackedProgress]) => {\n return {\n file: file,\n fileHandleId: trackedProgress.fileHandleId,\n progress: trackedProgress.progress,\n status: trackedProgress.status,\n failureReason: trackedProgress.failureReason,\n cancel: () => {\n cancelUpload(file)\n },\n pause: () => {\n pauseUpload(file)\n },\n resume: () => {\n startUpload(trackedProgress.filePreparedForUpload)\n },\n remove() {\n removeUpload(file)\n },\n }\n })\n }, [\n cancelUpload,\n pauseUpload,\n removeUpload,\n startUpload,\n trackedUploadProgress,\n ])\n\n return useMemo(() => {\n return {\n state,\n activeUploadCount,\n startUpload,\n uploadProgress: uploadProgress,\n bytesPendingUpload,\n }\n }, [\n state,\n activeUploadCount,\n startUpload,\n uploadProgress,\n bytesPendingUpload,\n ])\n}\n"],"mappings":";;;;;;;;;AAgGA,IAAM,IAAsB,EAAE,EAIxB,IAAyB,EAAO,EAAE;AAKxC,SAAgB,EACd,IAA2B,GACL;CACtB,IAAM,EACJ,sBACA,eAAY,IACZ,eAAY,IACZ,qBACA,sBACE,GACE,IACJ,GAAmB,qBACnB,EAAK,qBAAA,GAGD,EACJ,0BACA,gBACA,mBACA,kBACA,iBACA,gBACA,iBACA,gBACA,cACA,gBACA,qBACA,sBACA,0BACE,GAAqB,EAEnB,IAAuB,QACvB,IACK,cAEL,IACK,aAEF,WACN,CAAC,GAAkB,EAAY,CAAC,EAE7B,EAAE,aAAa,MAAe,GAA2B,EACzD,EAAE,aAAa,MAA2B,GAAqB,EAE/D,IAAqB,EACzB,eACE,GACA,GACA;AACA,MAAI;GACF,IAAM,IAAkB,EAAyB,IAAI,EAAa,KAAK,EAEjE,IAA6B;IACjC,UAAU,EAAa,KAAK;IAC5B,MAAM,EAAa;IACnB;IACA,aAAa,EACX,EAAa,KAAK,MAClB,EAAa,KAAK,KACnB;IACD,mBAAkB,MAAY;AAC5B,KAAI,KACF,EAAY,EAAa,MAAM,EAAS;;IAG5C,iBAAiB,EAAgB;IACjC,qBAAqB;AACnB,OAAe,EAAa,KAAK;;IAEpC,EAEG;AAwBJ,GAvBA,AAiBE,IAhBA,KACA,EAA+C,EAAkB,IACjE,EAAkB,eAAe,QAUf,MARO,EAAuB;IAC9C,GAAG;IACH,YAAY,EAAkB;IAC9B,UAAU,EAAkB;IAC5B,eAAe,EAAkB;IACjC;IACA;IACD,CAAC,EAC2B,MAIX,MAFe,EAAW,EAAW,EAElB,cAGnC,KACF,MAAM,EAAiB,GAAc,EAAgB,EAEvD,EAAY,EAAa,MAAM,EAAgB;WACxC,GAAG;AAEV,GADA,QAAQ,MAAM,wBAAwB,EAAE,EACxC,EAAU,EAAa,MAAM,EAAE,QAAQ;;IAG3C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF,EAKK,IAAc,EAClB,SAAmD,GAAG,GAAoB;AACxE,EAAI,KACF,GAAgB;EAGlB,IAAM,IAA2B,EAAc,GAAG,EAAc;AAEhE,IAAc,KAAI,MAChB,QACE,EAAmB,GAA0B,EAAa,CAC3D,CACF;IAEH;EAAC;EAAgB;EAAe;EAAmB,CACpD,EAEK,IAA+B,QAC5B,CAAC,GAAG,EAAsB,CAAC,KAAK,CAAC,GAAM,QACrC;EACC;EACN,cAAc,EAAgB;EAC9B,UAAU,EAAgB;EAC1B,QAAQ,EAAgB;EACxB,eAAe,EAAgB;EAC/B,cAAc;AACZ,KAAa,EAAK;;EAEpB,aAAa;AACX,KAAY,EAAK;;EAEnB,cAAc;AACZ,KAAY,EAAgB,sBAAsB;;EAEpD,SAAS;AACP,KAAa,EAAK;;EAErB,EACD,EACD;EACD;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QAAO,SACE;EACL;EACA;EACA;EACgB;EAChB;EACD,GACA;EACD;EACA;EACA;EACA;EACA;EACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"willUploadsExceedStorageLimit.js","names":[],"sources":["../../../../src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts"],"sourcesContent":["import { ProjectStorageLocationUsage } from '@sage-bionetworks/synapse-client'\n\n/**\n * Precheck a set of uploads against a storage limit. Returns true if the uploads would cause the limit to be exceeded.\n * @param files the files to upload\n * @param usage the current storage usage\n * @param pendingUploadsInBytes the total size of the pending uploads which have already begun, but have not been accounted for in the usage\n */\nexport function willUploadsExceedStorageLimit(\n files: ArrayLike<File>,\n usage: ProjectStorageLocationUsage | undefined,\n pendingUploadsInBytes: number,\n): boolean {\n if (usage == null) {\n return false\n }\n if (usage.isOverLimit) {\n return true\n }\n if (usage.maxAllowedFileBytes == null) {\n // No limit\n return false\n }\n\n const estimatedCurrentUsage =\n (usage.sumFileBytes ?? 0) + pendingUploadsInBytes\n const sumFileSizeBytes = Array.from(files).reduce(\n (acc, file) => acc + file.size,\n 0,\n )\n\n return estimatedCurrentUsage + sumFileSizeBytes > usage.maxAllowedFileBytes\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACS;AAmBT,QAlBI,KAAS,OACJ,KAEL,EAAM,cACD,KAEL,EAAM,uBAAuB,OAExB,MAIN,EAAM,gBAAgB,KAAK,IACL,MAAM,KAAK,EAAM,CAAC,QACxC,GAAK,MAAS,IAAM,EAAK,MAC1B,
|
|
1
|
+
{"version":3,"file":"willUploadsExceedStorageLimit.js","names":[],"sources":["../../../../src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts"],"sourcesContent":["import { ProjectStorageLocationUsage } from '@sage-bionetworks/synapse-client'\n\n/**\n * Precheck a set of uploads against a storage limit. Returns true if the uploads would cause the limit to be exceeded.\n * @param files the files to upload\n * @param usage the current storage usage\n * @param pendingUploadsInBytes the total size of the pending uploads which have already begun, but have not been accounted for in the usage\n */\nexport function willUploadsExceedStorageLimit(\n files: ArrayLike<File>,\n usage: ProjectStorageLocationUsage | undefined,\n pendingUploadsInBytes: number,\n): boolean {\n if (usage == null) {\n return false\n }\n if (usage.isOverLimit) {\n return true\n }\n if (usage.maxAllowedFileBytes == null) {\n // No limit\n return false\n }\n\n const estimatedCurrentUsage =\n (usage.sumFileBytes ?? 0) + pendingUploadsInBytes\n const sumFileSizeBytes = Array.from(files).reduce(\n (acc, file) => acc + file.size,\n 0,\n )\n\n return estimatedCurrentUsage + sumFileSizeBytes > usage.maxAllowedFileBytes\n}\n"],"mappings":";AAQA,SAAgB,EACd,GACA,GACA,GACS;AAmBT,QAlBI,KAAS,OACJ,KAEL,EAAM,cACD,KAEL,EAAM,uBAAuB,OAExB,MAIN,EAAM,gBAAgB,KAAK,IACL,MAAM,KAAK,EAAM,CAAC,QACxC,GAAK,MAAS,IAAM,EAAK,MAC1B,EAG6B,GAAmB,EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TargetEnum.js","names":[],"sources":["../../../src/utils/html/TargetEnum.ts"],"sourcesContent":["export enum TargetEnum {\n CURRENT_WINDOW = '_self',\n NEW_WINDOW = '_blank',\n PARENT_FRAME = '_parent',\n FULL_WINDOW_BODY = '_top',\n}\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,
|
|
1
|
+
{"version":3,"file":"TargetEnum.js","names":[],"sources":["../../../src/utils/html/TargetEnum.ts"],"sourcesContent":["export enum TargetEnum {\n CURRENT_WINDOW = '_self',\n NEW_WINDOW = '_blank',\n PARENT_FRAME = '_parent',\n FULL_WINDOW_BODY = '_top',\n}\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,iBAAiB,SACjB,EAAA,aAAa,UACb,EAAA,eAAe,WACf,EAAA,mBAAmB;KACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaAnnotationUtils.js","names":[],"sources":["../../../src/utils/jsonschema/SchemaAnnotationUtils.ts"],"sourcesContent":["/**\n * Utilities for retrieving annotation fields (e.g. \"title\", \"description\") from JSON Schemas\n */\n\nimport { hasSchema, SchemaObject } from '@hyperjump/json-schema'\nimport { registerSchema } from '@hyperjump/json-schema/draft-07'\nimport * as AnnotatedInstance from '@hyperjump/json-schema/annotated-instance/experimental'\nimport { annotate } from '@hyperjump/json-schema/annotations/experimental'\nimport { JsonNode } from '@hyperjump/json-schema/instance/experimental'\nimport { Json } from '@sage-bionetworks/synapse-client'\nimport { useQuery } from '@tanstack/react-query'\nimport { JSONSchema7 } from 'json-schema'\nimport { useEffect, useState } from 'react'\n\n/**\n * Get the value of a specified annotation for a specified key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n * @param annotationKey - the value that corresponds to the annotation to retrieve, e.g. \"title\", \"description\"\n */\nexport function getSchemaAnnotationForProperty(\n key: string,\n instance: JsonNode,\n annotationKey: string,\n): string | undefined {\n if (instance) {\n // Get the title of each of the properties in the object\n for (const [\n propertyNameNode,\n propertyInstance,\n ] of AnnotatedInstance.entries(instance)) {\n const propertyName = AnnotatedInstance.value(propertyNameNode)\n if (propertyName === key) {\n const annotationValue = AnnotatedInstance.annotation(\n propertyInstance,\n annotationKey,\n )[0] as string | undefined\n return annotationValue\n }\n }\n }\n\n return undefined\n}\n\n/**\n * Get the \"title\" for a specific key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n */\nexport function getDisplayedAnnotationTitle(\n key: string,\n instance?: JsonNode | null,\n): string {\n if (instance) {\n const titleFromSchema = getSchemaAnnotationForProperty(\n key,\n instance,\n 'title',\n )\n if (titleFromSchema) {\n return titleFromSchema\n }\n }\n\n return key\n}\n\n/**\n * Get the \"description\" for a specific key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n */\nexport function getDisplayedAnnotationDescription(\n key: string,\n instance?: JsonNode | null,\n): string | undefined {\n if (instance) {\n return getSchemaAnnotationForProperty(key, instance, 'description')\n }\n\n return undefined\n}\n\n/**\n * Registers a schema with @hyperjump/json-schema.\n * @param schema\n * @return boolean indicating if the schema is registered.\n */\nexport function useRegisterSchema(schema?: JSONSchema7) {\n const [isRegistered, setIsRegistered] = useState(false)\n\n useEffect(() => {\n if (schema && schema.$id) {\n // The schema can be registered\n if (!hasSchema(schema.$id)) {\n try {\n registerSchema(schema as SchemaObject)\n setIsRegistered(true)\n } catch (e) {\n console.error(\n 'Unable to register JSON Schema in @hyperjump/json-schema:',\n e,\n )\n }\n } else {\n // Already registered, update local state.\n setIsRegistered(true)\n }\n }\n // TODO: Unregister the schema to avoid memory bloat\n // This would require syncing with the current state of schemas being used to make sure that we don't unregister a\n // schema being used by multiple hook instances\n }, [schema])\n\n return isRegistered\n}\n\n/**\n * Given a JSON document and a schema that describes it, return a query result that\n * resolves a JsonNode that can be used to retrieve schema annotations. Uses the `annotate` API provided\n * by @hyperjump/json-schema/annotations/experimental\n * @param json - a JSON document\n * @param schema - a JSON Schema that describes the JSON document\n */\nexport function useGetAnnotatedJsonInstance(json?: Json, schema?: JSONSchema7) {\n const schemaIsRegistered = useRegisterSchema(schema)\n\n return useQuery<JsonNode | null>({\n queryKey: ['getAnnotatedInstance', { json, schema, schemaIsRegistered }],\n queryFn: () => {\n if (json && schema && schemaIsRegistered) {\n try {\n return annotate(schema.$id!, json)\n } catch (e) {\n console.error('Could not create annotated schema instance:', e)\n }\n }\n return null\n },\n enabled: Boolean(schema && json),\n })\n}\n"],"mappings":";;;;;;;AAoBA,SAAgB,EACd,GACA,GACA,GACoB;AACpB,KAAI;OAEG,IAAM,CACT,GACA,MACG,EAAkB,QAAQ,EAAS,CAEtC,KADqB,EAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"SchemaAnnotationUtils.js","names":[],"sources":["../../../src/utils/jsonschema/SchemaAnnotationUtils.ts"],"sourcesContent":["/**\n * Utilities for retrieving annotation fields (e.g. \"title\", \"description\") from JSON Schemas\n */\n\nimport { hasSchema, SchemaObject } from '@hyperjump/json-schema'\nimport { registerSchema } from '@hyperjump/json-schema/draft-07'\nimport * as AnnotatedInstance from '@hyperjump/json-schema/annotated-instance/experimental'\nimport { annotate } from '@hyperjump/json-schema/annotations/experimental'\nimport { JsonNode } from '@hyperjump/json-schema/instance/experimental'\nimport { Json } from '@sage-bionetworks/synapse-client'\nimport { useQuery } from '@tanstack/react-query'\nimport { JSONSchema7 } from 'json-schema'\nimport { useEffect, useState } from 'react'\n\n/**\n * Get the value of a specified annotation for a specified key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n * @param annotationKey - the value that corresponds to the annotation to retrieve, e.g. \"title\", \"description\"\n */\nexport function getSchemaAnnotationForProperty(\n key: string,\n instance: JsonNode,\n annotationKey: string,\n): string | undefined {\n if (instance) {\n // Get the title of each of the properties in the object\n for (const [\n propertyNameNode,\n propertyInstance,\n ] of AnnotatedInstance.entries(instance)) {\n const propertyName = AnnotatedInstance.value(propertyNameNode)\n if (propertyName === key) {\n const annotationValue = AnnotatedInstance.annotation(\n propertyInstance,\n annotationKey,\n )[0] as string | undefined\n return annotationValue\n }\n }\n }\n\n return undefined\n}\n\n/**\n * Get the \"title\" for a specific key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n */\nexport function getDisplayedAnnotationTitle(\n key: string,\n instance?: JsonNode | null,\n): string {\n if (instance) {\n const titleFromSchema = getSchemaAnnotationForProperty(\n key,\n instance,\n 'title',\n )\n if (titleFromSchema) {\n return titleFromSchema\n }\n }\n\n return key\n}\n\n/**\n * Get the \"description\" for a specific key described in the JsonNode\n * @param key - the property key for which the description should be retrieved.\n * @param instance - a JsonNode resolved by the `annotate` API provided by @hyperjump/json-schema/annotations/experimental\n */\nexport function getDisplayedAnnotationDescription(\n key: string,\n instance?: JsonNode | null,\n): string | undefined {\n if (instance) {\n return getSchemaAnnotationForProperty(key, instance, 'description')\n }\n\n return undefined\n}\n\n/**\n * Registers a schema with @hyperjump/json-schema.\n * @param schema\n * @return boolean indicating if the schema is registered.\n */\nexport function useRegisterSchema(schema?: JSONSchema7) {\n const [isRegistered, setIsRegistered] = useState(false)\n\n useEffect(() => {\n if (schema && schema.$id) {\n // The schema can be registered\n if (!hasSchema(schema.$id)) {\n try {\n registerSchema(schema as SchemaObject)\n setIsRegistered(true)\n } catch (e) {\n console.error(\n 'Unable to register JSON Schema in @hyperjump/json-schema:',\n e,\n )\n }\n } else {\n // Already registered, update local state.\n setIsRegistered(true)\n }\n }\n // TODO: Unregister the schema to avoid memory bloat\n // This would require syncing with the current state of schemas being used to make sure that we don't unregister a\n // schema being used by multiple hook instances\n }, [schema])\n\n return isRegistered\n}\n\n/**\n * Given a JSON document and a schema that describes it, return a query result that\n * resolves a JsonNode that can be used to retrieve schema annotations. Uses the `annotate` API provided\n * by @hyperjump/json-schema/annotations/experimental\n * @param json - a JSON document\n * @param schema - a JSON Schema that describes the JSON document\n */\nexport function useGetAnnotatedJsonInstance(json?: Json, schema?: JSONSchema7) {\n const schemaIsRegistered = useRegisterSchema(schema)\n\n return useQuery<JsonNode | null>({\n queryKey: ['getAnnotatedInstance', { json, schema, schemaIsRegistered }],\n queryFn: () => {\n if (json && schema && schemaIsRegistered) {\n try {\n return annotate(schema.$id!, json)\n } catch (e) {\n console.error('Could not create annotated schema instance:', e)\n }\n }\n return null\n },\n enabled: Boolean(schema && json),\n })\n}\n"],"mappings":";;;;;;;AAoBA,SAAgB,EACd,GACA,GACA,GACoB;AACpB,KAAI;OAEG,IAAM,CACT,GACA,MACG,EAAkB,QAAQ,EAAS,CAEtC,KADqB,EAAkB,MAAM,EACzC,KAAiB,EAKnB,QAJwB,EAAkB,WACxC,GACA,EACD,CAAC;;;AAcV,SAAgB,EACd,GACA,GACQ;AACR,KAAI,GAAU;EACZ,IAAM,IAAkB,EACtB,GACA,GACA,QACD;AACD,MAAI,EACF,QAAO;;AAIX,QAAO;;AAQT,SAAgB,EACd,GACA,GACoB;AACpB,KAAI,EACF,QAAO,EAA+B,GAAK,GAAU,cAAc;;AAWvE,SAAgB,EAAkB,GAAsB;CACtD,IAAM,CAAC,GAAc,KAAmB,EAAS,GAAM;AAyBvD,QAvBA,QAAgB;AACd,MAAI,KAAU,EAAO,IAEnB,KAAK,EAAU,EAAO,IAAI,CAYxB,GAAgB,GAAK;MAXrB,KAAI;AAEF,GADA,EAAe,EAAuB,EACtC,EAAgB,GAAK;WACd,GAAG;AACV,WAAQ,MACN,6DACA,EACD;;IAUN,CAAC,EAAO,CAAC,EAEL;;AAUT,SAAgB,EAA4B,GAAa,GAAsB;CAC7E,IAAM,IAAqB,EAAkB,EAAO;AAEpD,QAAO,EAA0B;EAC/B,UAAU,CAAC,wBAAwB;GAAE;GAAM;GAAQ;GAAoB,CAAC;EACxE,eAAe;AACb,OAAI,KAAQ,KAAU,EACpB,KAAI;AACF,WAAO,EAAS,EAAO,KAAM,EAAK;YAC3B,GAAG;AACV,YAAQ,MAAM,+CAA+C,EAAE;;AAGnE,UAAO;;EAET,SAAS,GAAQ,KAAU;EAC5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "synapse-react-client",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.10",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -117,10 +117,10 @@
|
|
|
117
117
|
"use-deep-compare-effect": "^1.8.1",
|
|
118
118
|
"xss": "^1.0.15",
|
|
119
119
|
"zod": "^3.24.4",
|
|
120
|
+
"@sage-bionetworks/synapse-client": "0.0.14",
|
|
121
|
+
"markdown-it-synapse": "2.0.0",
|
|
120
122
|
"@sage-bionetworks/synapse-types": "0.0.6",
|
|
121
123
|
"markdown-it-synapse-table": "1.0.8",
|
|
122
|
-
"markdown-it-synapse": "1.1.17",
|
|
123
|
-
"@sage-bionetworks/synapse-client": "0.0.14",
|
|
124
124
|
"@sage-bionetworks/markdown-it-container": "4.0.1"
|
|
125
125
|
},
|
|
126
126
|
"peerDependencies": {
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
"stream-http": "^3.2.0",
|
|
209
209
|
"timers-browserify": "^2.0.12",
|
|
210
210
|
"type-fest": "^4.41.0",
|
|
211
|
-
"typescript": "
|
|
211
|
+
"typescript": "6.0.3",
|
|
212
212
|
"util": "^0.12.5",
|
|
213
213
|
"vite": "^8.0.8",
|
|
214
214
|
"vite-plugin-node-polyfills": "^0.26.0",
|