@jbrowse/core 5.0.0-beta.11 → 5.0.0-beta.14
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/README.md +450 -132
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +6 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +18 -3
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +5 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +6 -4
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +2 -1
- package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +2 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +4 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
- package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +3 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +15 -24
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +1 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +4 -4
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +3 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +2 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +15 -36
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +3 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +4 -2
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +29 -20
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +13 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +28 -1
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +3 -3
- package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +2 -2
- package/esm/BaseFeatureWidget/stateModelFactory.d.ts +9 -0
- package/esm/BaseFeatureWidget/stateModelFactory.js +11 -0
- package/esm/BaseFeatureWidget/types.d.ts +2 -0
- package/esm/PluginManager.d.ts +7 -3
- package/esm/PluginManager.js +12 -3
- package/esm/ReExports/coreModules.generated.js +538 -518
- package/esm/ReExports/coreWorkerModules.generated.js +456 -438
- package/esm/ReExports/lazify.js +3 -2
- package/esm/ReExports/list.js +22 -6
- package/esm/ReExports/names.d.ts +1 -0
- package/esm/ReExports/names.generated.d.ts +2 -0
- package/esm/ReExports/names.generated.js +566 -0
- package/esm/ReExports/names.js +3 -0
- package/esm/TextSearch/TextSearchManager.d.ts +3 -3
- package/esm/TextSearch/TextSearchManager.js +6 -13
- package/esm/assemblyManager/assembly.d.ts +9 -0
- package/esm/assemblyManager/assembly.js +13 -0
- package/esm/assemblyManager/assemblyConfigSchema.d.ts +6 -1
- package/esm/assemblyManager/assemblyConfigSchema.js +23 -22
- package/esm/assemblyManager/assemblyManager.d.ts +11 -0
- package/esm/assemblyManager/assemblyManager.js +2 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +9 -0
- package/esm/assemblyManager/expandAssemblyConfigShorthand.js +23 -0
- package/esm/checkPlugins.js +10 -4
- package/esm/configuration/configurationSchema.d.ts +51 -100
- package/esm/configuration/configurationSchema.js +59 -225
- package/esm/configuration/configurationSchemaUnion.d.ts +2 -1
- package/esm/configuration/configurationSchemaUnion.js +2 -1
- package/esm/configuration/configurationSlot.d.ts +18 -64
- package/esm/configuration/configurationSlot.js +32 -98
- package/esm/configuration/fillLocations.d.ts +4 -2
- package/esm/configuration/fillLocations.js +9 -3
- package/esm/configuration/formatAboutConfigSchema.d.ts +2 -2
- package/esm/configuration/formatAboutConfigSchema.js +2 -2
- package/esm/configuration/formatDetailsConfigSchema.d.ts +2 -2
- package/esm/configuration/formatDetailsConfigSchema.js +7 -5
- package/esm/configuration/getConf.d.ts +7 -36
- package/esm/configuration/getConf.js +20 -41
- package/esm/configuration/index.d.ts +4 -3
- package/esm/configuration/index.js +3 -2
- package/esm/configuration/partitionAdvanced.d.ts +12 -0
- package/esm/configuration/partitionAdvanced.js +42 -0
- package/esm/configuration/plot.d.ts +6 -0
- package/esm/configuration/plot.js +56 -9
- package/esm/configuration/readConfObject.d.ts +15 -17
- package/esm/configuration/readConfObject.js +19 -50
- package/esm/configuration/schemaRegistry.d.ts +0 -2
- package/esm/configuration/schemaTypes.js +5 -1
- package/esm/configuration/slotFacade.js +2 -2
- package/esm/configuration/snapshotPreprocess.d.ts +42 -18
- package/esm/configuration/snapshotPreprocess.js +95 -37
- package/esm/configuration/tabixShorthand.js +1 -3
- package/esm/configuration/types.d.ts +60 -159
- package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +7 -0
- package/esm/data_adapters/BaseAdapter/BaseAdapter.js +7 -0
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +0 -22
- package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +0 -55
- package/esm/data_adapters/BaseAdapter/index.d.ts +0 -1
- package/esm/data_adapters/BaseAdapter/index.js +0 -1
- package/esm/data_adapters/BaseAdapter/rowSources.d.ts +2 -2
- package/esm/data_adapters/BaseAdapter/types.d.ts +1 -0
- package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +2 -0
- package/esm/data_adapters/CytobandAdapter/configSchema.js +5 -0
- package/esm/data_adapters/dataAdapterCache.d.ts +25 -13
- package/esm/data_adapters/dataAdapterCache.js +68 -24
- package/esm/data_adapters/getFeatureAdapter.d.ts +9 -0
- package/esm/data_adapters/getFeatureAdapter.js +17 -0
- package/esm/pluggableElementTypes/DisplayType.d.ts +7 -0
- package/esm/pluggableElementTypes/DisplayType.js +7 -0
- package/esm/pluggableElementTypes/RpcMethodType.d.ts +7 -0
- package/esm/pluggableElementTypes/RpcMethodType.js +9 -0
- package/esm/pluggableElementTypes/addMenuItems.d.ts +2 -1
- package/esm/pluggableElementTypes/addMenuItems.js +2 -1
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -0
- package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +2 -0
- package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +40 -5
- package/esm/pluggableElementTypes/models/BaseDisplayModel.js +57 -9
- package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +5 -7
- package/esm/pluggableElementTypes/models/BaseTrackModel.js +9 -10
- package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +2 -0
- package/esm/pluggableElementTypes/models/BaseViewModel.js +2 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -0
- package/esm/pluggableElementTypes/models/InternetAccountModel.js +3 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +3 -0
- package/esm/pluggableElementTypes/models/baseConnectionConfig.js +3 -0
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +3 -1
- package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +3 -1
- package/esm/pluggableElementTypes/models/baseTrackConfig.js +12 -1
- package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +1 -1
- package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +1 -1
- package/esm/pluginDefinitions.d.ts +7 -0
- package/esm/pluginDefinitions.js +20 -0
- package/esm/rpc/RpcRegistry.d.ts +2 -11
- package/esm/rpc/byteBudget.d.ts +15 -0
- package/esm/rpc/byteBudget.js +23 -0
- package/esm/rpc/configSchema.d.ts +2 -0
- package/esm/rpc/configSchema.js +3 -1
- package/esm/rpc/coreRpcMethods.d.ts +1 -2
- package/esm/rpc/coreRpcMethods.js +1 -2
- package/esm/rpc/explainTransferError.js +3 -3
- package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +2 -2
- package/esm/rpc/methods/CoreGetEncodedLayers.js +7 -5
- package/esm/rpc/methods/CoreLoadTrackCode.d.ts +17 -0
- package/esm/rpc/methods/CoreLoadTrackCode.js +24 -0
- package/esm/rpc/methods/layerFeatures.d.ts +9 -6
- package/esm/rpc/methods/layerFeatures.js +21 -5
- package/esm/ui/ActionLink.d.ts +3 -2
- package/esm/ui/ActionLink.js +4 -2
- package/esm/ui/AddCustomPluginDialog.d.ts +3 -2
- package/esm/ui/AddCustomPluginDialog.js +6 -4
- package/esm/ui/AppLogo.js +43 -3
- package/esm/ui/BaseTooltip.d.ts +3 -2
- package/esm/ui/BaseTooltip.js +4 -2
- package/esm/ui/CascadingMenu.js +14 -12
- package/esm/ui/CascadingMenuButton.d.ts +2 -2
- package/esm/ui/CascadingMenuButton.js +5 -4
- package/esm/ui/CascadingMenuHelpDialog.d.ts +3 -2
- package/esm/ui/CascadingMenuHelpDialog.js +4 -2
- package/esm/ui/CascadingMenuHelpIconButton.d.ts +4 -3
- package/esm/ui/CascadingMenuHelpIconButton.js +9 -5
- package/esm/ui/ColorPicker.d.ts +5 -4
- package/esm/ui/ColorPicker.js +6 -4
- package/esm/ui/ContextMenu.d.ts +1 -1
- package/esm/ui/ContextMenu.js +1 -1
- package/esm/ui/CopyToClipboardButton.d.ts +3 -2
- package/esm/ui/CopyToClipboardButton.js +4 -2
- package/esm/ui/Crosshairs.js +13 -10
- package/esm/ui/DOMPurifySanitizedHTML.d.ts +3 -2
- package/esm/ui/DOMPurifySanitizedHTML.js +4 -2
- package/esm/ui/DataGridFlexContainer.d.ts +3 -2
- package/esm/ui/DataGridFlexContainer.js +4 -2
- package/esm/ui/Dialog.d.ts +1 -1
- package/esm/ui/Dialog.js +5 -4
- package/esm/ui/DropDownMenu.js +2 -2
- package/esm/ui/EditableTypography.d.ts +1 -1
- package/esm/ui/EditableTypography.js +3 -2
- package/esm/ui/ErrorActions.d.ts +3 -2
- package/esm/ui/ErrorActions.js +4 -2
- package/esm/ui/ErrorBanner.d.ts +2 -2
- package/esm/ui/ErrorBanner.js +3 -2
- package/esm/ui/ErrorBar.d.ts +3 -2
- package/esm/ui/ErrorBar.js +4 -2
- package/esm/ui/ErrorMessage.d.ts +3 -2
- package/esm/ui/ErrorMessage.js +4 -2
- package/esm/ui/ErrorMessageStackTraceContents.d.ts +3 -2
- package/esm/ui/ErrorMessageStackTraceContents.js +4 -2
- package/esm/ui/ErrorMessageStackTraceDialog.d.ts +3 -2
- package/esm/ui/ErrorMessageStackTraceDialog.js +4 -2
- package/esm/ui/ErrorOverlay.d.ts +3 -2
- package/esm/ui/ErrorOverlay.js +4 -2
- package/esm/ui/ExportSvgDialog.d.ts +3 -2
- package/esm/ui/ExportSvgDialog.js +4 -2
- package/esm/ui/ExternalLink.d.ts +2 -1
- package/esm/ui/ExternalLink.js +4 -2
- package/esm/ui/FactoryResetDialog.d.ts +3 -2
- package/esm/ui/FactoryResetDialog.js +4 -2
- package/esm/ui/FatalErrorDialog.d.ts +3 -2
- package/esm/ui/FatalErrorDialog.js +6 -4
- package/esm/ui/FileDropZone.d.ts +3 -2
- package/esm/ui/FileDropZone.js +4 -2
- package/esm/ui/FileSelector/LocalFileChooser.js +4 -4
- package/esm/ui/FileSelector/LocationInput.d.ts +3 -2
- package/esm/ui/FileSelector/LocationInput.js +4 -2
- package/esm/ui/FileSelector/SourceTypeSelector.d.ts +3 -2
- package/esm/ui/FileSelector/SourceTypeSelector.js +8 -6
- package/esm/ui/GpuFallbackButton.d.ts +3 -2
- package/esm/ui/GpuFallbackButton.js +4 -2
- package/esm/ui/HoverMenu.d.ts +2 -2
- package/esm/ui/HoverMenu.js +7 -3
- package/esm/ui/HoverTooltip.d.ts +3 -2
- package/esm/ui/HoverTooltip.js +4 -2
- package/esm/ui/Icons.d.ts +5 -5
- package/esm/ui/Icons.js +11 -10
- package/esm/ui/InlineMenuControls.d.ts +2 -2
- package/esm/ui/InlineMenuControls.js +4 -3
- package/esm/ui/JexlFilterRowEditors.d.ts +4 -4
- package/esm/ui/JexlFilterRowEditors.js +9 -8
- package/esm/ui/LabeledCheckbox.d.ts +3 -2
- package/esm/ui/LabeledCheckbox.js +4 -2
- package/esm/ui/LazyBaseTooltip.d.ts +12 -3
- package/esm/ui/LazyBaseTooltip.js +4 -2
- package/esm/ui/LegendSwatchGlyph.js +1 -0
- package/esm/ui/LoadingDots.d.ts +2 -1
- package/esm/ui/LoadingDots.js +4 -2
- package/esm/ui/LoadingEllipses.d.ts +5 -2
- package/esm/ui/LoadingEllipses.js +5 -3
- package/esm/ui/LoadingOverlay.d.ts +3 -2
- package/esm/ui/LoadingOverlay.js +4 -2
- package/esm/ui/LoadingProgress.d.ts +3 -2
- package/esm/ui/LoadingProgress.js +4 -2
- package/esm/ui/Logo.d.ts +2 -2
- package/esm/ui/Logo.js +9 -8
- package/esm/ui/MenuItemChevron.d.ts +2 -2
- package/esm/ui/MenuItemChevron.js +3 -2
- package/esm/ui/MenuItemEndDecoration.d.ts +2 -2
- package/esm/ui/MenuItemEndDecoration.js +3 -2
- package/esm/ui/MenuItemTrailing.d.ts +2 -2
- package/esm/ui/MenuItemTrailing.js +7 -6
- package/esm/ui/MenuTypes.d.ts +21 -1
- package/esm/ui/MenuTypes.js +20 -0
- package/esm/ui/MonospaceTextField.d.ts +3 -2
- package/esm/ui/MonospaceTextField.js +4 -2
- package/esm/ui/NumberTextField.d.ts +2 -2
- package/esm/ui/NumberTextField.js +4 -2
- package/esm/ui/PaletteContext.d.ts +11 -9
- package/esm/ui/PaletteContext.js +33 -18
- package/esm/ui/PluginStoreCard.d.ts +3 -2
- package/esm/ui/PluginStoreCard.js +4 -2
- package/esm/ui/PopoverPicker.d.ts +3 -2
- package/esm/ui/PopoverPicker.js +4 -2
- package/esm/ui/PrerenderedCanvas.d.ts +2 -2
- package/esm/ui/PrerenderedCanvas.js +3 -2
- package/esm/ui/RedErrorMessageBox.d.ts +3 -2
- package/esm/ui/RedErrorMessageBox.js +4 -2
- package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +3 -2
- package/esm/ui/RefNameAutocomplete/EndAdornment.js +4 -2
- package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -2
- package/esm/ui/RefNameAutocomplete/HelpDialog.js +4 -2
- package/esm/ui/ReplaceCurrentViewButton.d.ts +3 -2
- package/esm/ui/ReplaceCurrentViewButton.js +4 -2
- package/esm/ui/ResizeHandle.d.ts +2 -2
- package/esm/ui/ResizeHandle.js +3 -2
- package/esm/ui/SanitizedHTML.d.ts +3 -2
- package/esm/ui/SanitizedHTML.js +6 -4
- package/esm/ui/ScrollChrome.d.ts +3 -2
- package/esm/ui/ScrollChrome.js +4 -2
- package/esm/ui/ScrollEdgeShadow.d.ts +2 -2
- package/esm/ui/ScrollEdgeShadow.js +2 -2
- package/esm/ui/SessionJsonPanel.d.ts +3 -2
- package/esm/ui/SessionJsonPanel.js +4 -2
- package/esm/ui/ShareLinkField.d.ts +3 -2
- package/esm/ui/ShareLinkField.js +4 -2
- package/esm/ui/SingleSlider.d.ts +2 -2
- package/esm/ui/SingleSlider.js +4 -2
- package/esm/ui/SliderTooltip.d.ts +2 -1
- package/esm/ui/SliderTooltip.js +4 -2
- package/esm/ui/SnackbarContents.d.ts +3 -2
- package/esm/ui/SnackbarContents.js +4 -2
- package/esm/ui/SnackbarModel.d.ts +2 -0
- package/esm/ui/SnackbarModel.js +2 -0
- package/esm/ui/StackTraceButton.d.ts +3 -2
- package/esm/ui/StackTraceButton.js +4 -2
- package/esm/ui/StatusProgressBar.d.ts +3 -2
- package/esm/ui/StatusProgressBar.js +4 -2
- package/esm/ui/SubmitForm.d.ts +2 -1
- package/esm/ui/SubmitForm.js +4 -2
- package/esm/ui/SvgColorLegend.d.ts +3 -4
- package/esm/ui/SvgColorLegend.js +27 -18
- package/esm/ui/TagTextField.d.ts +2 -2
- package/esm/ui/TagTextField.js +4 -2
- package/esm/ui/ViewLoadingScreen.d.ts +3 -2
- package/esm/ui/ViewLoadingScreen.js +4 -2
- package/esm/ui/buildExtraTrackMenuItems.d.ts +2 -2
- package/esm/ui/colorScale.d.ts +5 -1
- package/esm/ui/colorScale.js +12 -10
- package/esm/ui/colors.d.ts +42 -31
- package/esm/ui/colors.js +85 -48
- package/esm/ui/filterMenuItems.d.ts +10 -31
- package/esm/ui/filterMenuItems.js +13 -14
- package/esm/ui/index.d.ts +1 -1
- package/esm/ui/index.js +1 -1
- package/esm/ui/launchTargetsMenuItem.js +9 -13
- package/esm/ui/legendMenuItem.d.ts +4 -4
- package/esm/ui/legendMenuItem.js +4 -4
- package/esm/ui/menuItemAdornment.d.ts +1 -1
- package/esm/ui/menuItemAdornment.js +1 -1
- package/esm/ui/menuItems.d.ts +1 -1
- package/esm/ui/menuItems.js +1 -1
- package/esm/ui/menuLabels.d.ts +2 -2
- package/esm/ui/menuLabels.js +2 -2
- package/esm/ui/multiTrackMenuItems.d.ts +2 -2
- package/esm/ui/palette.d.ts +2 -2
- package/esm/ui/palette.js +10 -10
- package/esm/ui/radioSubMenu.d.ts +5 -3
- package/esm/ui/radioSubMenu.js +2 -2
- package/esm/ui/rampKey.d.ts +15 -0
- package/esm/ui/rampKey.js +17 -0
- package/esm/ui/showSubMenu.d.ts +0 -5
- package/esm/ui/showSubMenu.js +6 -15
- package/esm/ui/theme.d.ts +2 -2
- package/esm/ui/theme.js +1 -1
- package/esm/ui/useAssemblySelection.d.ts +2 -0
- package/esm/ui/useMouseTracking.d.ts +8 -20
- package/esm/ui/useMouseTracking.js +23 -62
- package/esm/ui/usePlacedMenuFocus.d.ts +19 -0
- package/esm/ui/usePlacedMenuFocus.js +28 -0
- package/esm/util/Base1DViewModel.d.ts +5 -3
- package/esm/util/Base1DViewModel.js +5 -3
- package/esm/util/SvgCanvas.js +1 -1
- package/esm/util/aggregateFieldName.d.ts +1 -10
- package/esm/util/aggregateFieldName.js +1 -8
- package/esm/util/alignedBytes.d.ts +19 -0
- package/esm/util/alignedBytes.js +37 -0
- package/esm/util/analytics.d.ts +6 -9
- package/esm/util/analytics.js +148 -15
- package/esm/util/bezierConnector.d.ts +20 -0
- package/esm/util/bezierConnector.js +34 -96
- package/esm/util/cacheBudgets.d.ts +3 -0
- package/esm/util/cacheBudgets.js +3 -0
- package/esm/util/categoricalField.d.ts +24 -4
- package/esm/util/categoricalField.js +38 -5
- package/esm/util/cellMatches.js +14 -14
- package/esm/util/cellsStep.d.ts +3 -5
- package/esm/util/cellsStep.js +31 -29
- package/esm/util/color/index.d.ts +1 -1
- package/esm/util/color/index.js +2 -2
- package/esm/util/color-bits/bit.js +1 -1
- package/esm/util/color-bits/parse.js +28 -17
- package/esm/util/colorBits.d.ts +15 -4
- package/esm/util/colorBits.js +38 -15
- package/esm/util/colorRamp.d.ts +3 -3
- package/esm/util/colorRamp.js +20 -2
- package/esm/util/colorScale.d.ts +123 -22
- package/esm/util/colorScale.js +157 -28
- package/esm/util/colorSchemes.d.ts +7 -3
- package/esm/util/colorSchemes.js +8 -2
- package/esm/util/createSvgRasterCanvas.d.ts +14 -1
- package/esm/util/createSvgRasterCanvas.js +36 -12
- package/esm/util/diagonalizeRegions.js +18 -9
- package/esm/util/featureTransforms.d.ts +2 -2
- package/esm/util/featureTransforms.js +85 -135
- package/esm/util/fileHandleStore.js +5 -0
- package/esm/util/groupKeys.d.ts +5 -4
- package/esm/util/groupKeys.js +15 -9
- package/esm/util/index.js +1 -1
- package/esm/util/installFetch.d.ts +2 -2
- package/esm/util/installPrerequisiteFetch.d.ts +8 -3
- package/esm/util/installPrerequisiteFetch.js +9 -7
- package/esm/util/io/RemoteFileWithRangeCache.d.ts +1 -1
- package/esm/util/io/RemoteFileWithRangeCache.js +1 -1
- package/esm/util/isoformRank.d.ts +39 -0
- package/esm/util/isoformRank.js +118 -0
- package/esm/util/jexl.js +1 -1
- package/esm/util/layouts/GranularRectLayout.d.ts +19 -3
- package/esm/util/layouts/GranularRectLayout.js +57 -34
- package/esm/util/leadingEdgeAutorun.d.ts +9 -1
- package/esm/util/leadingEdgeAutorun.js +5 -2
- package/esm/util/markEncoding.d.ts +10 -8
- package/esm/util/markEncoding.js +50 -12
- package/esm/util/markEncodingTypes.d.ts +77 -21
- package/esm/util/originCut.d.ts +14 -0
- package/esm/util/originCut.js +19 -0
- package/esm/util/paintLayer.d.ts +1 -1
- package/esm/util/paintLayer.js +4 -3
- package/esm/util/pathSeries.d.ts +18 -0
- package/esm/util/pathSeries.js +143 -0
- package/esm/util/pressOwner.d.ts +20 -0
- package/esm/util/pressOwner.js +26 -0
- package/esm/util/quantileExtent.d.ts +23 -1
- package/esm/util/quantileExtent.js +25 -2
- package/esm/util/rowStackGeometry.d.ts +1 -1
- package/esm/util/rowStackGeometry.js +1 -1
- package/esm/util/sessionActivity.d.ts +36 -0
- package/esm/util/sessionActivity.js +88 -0
- package/esm/util/stepOutputs.d.ts +165 -0
- package/esm/util/stepOutputs.js +201 -0
- package/esm/util/stepTables.d.ts +7 -3
- package/esm/util/stepTables.js +86 -3
- package/esm/util/systemColorScheme.d.ts +4 -0
- package/esm/util/systemColorScheme.js +21 -0
- package/esm/util/tabix.d.ts +1 -1
- package/esm/util/tabix.js +1 -1
- package/esm/util/temporaryAssembly.d.ts +2 -2
- package/esm/util/temporaryAssembly.js +2 -3
- package/esm/util/thresholdScale.d.ts +1 -1
- package/esm/util/thresholdScale.js +1 -1
- package/esm/util/trackConfigDelta.d.ts +1 -1
- package/esm/util/tracks.d.ts +25 -15
- package/esm/util/tracks.js +68 -44
- package/esm/util/types/index.d.ts +15 -7
- package/esm/util/types/index.js +21 -2
- package/esm/util/usePanZoom.js +4 -10
- package/esm/util/useRowVirtualScroll.d.ts +1 -0
- package/esm/util/windowStep.d.ts +6 -0
- package/esm/util/windowStep.js +153 -0
- package/package.json +27 -16
- package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +0 -40
- package/esm/data_adapters/BaseAdapter/featureDensity.js +0 -31
- package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +0 -11
- package/esm/rpc/methods/CoreGetFeatureDensity.js +0 -22
- package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +0 -13
- package/esm/rpc/methods/CoreLoadAdapterCode.js +0 -16
package/esm/ui/BaseTooltip.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { autoUpdate, flip, offset, shift, useClientPoint, useFloating, useInteractions, } from '@floating-ui/react';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import { createPortal } from 'react-dom';
|
|
5
6
|
import { useStyleTheme } from './PaletteContext.js';
|
|
6
7
|
import { alpha, grey } from './palette.js';
|
|
@@ -76,7 +77,7 @@ if (typeof window !== 'undefined') {
|
|
|
76
77
|
// from a point the pointer happens to be at. 15px off a button reads as a
|
|
77
78
|
// tooltip belonging to nothing in particular.
|
|
78
79
|
const ANCHOR_GAP_PX = 6;
|
|
79
|
-
|
|
80
|
+
const BaseTooltip = observer(function BaseTooltip({ clientPoint: clientPointCoords, anchor, id, children, placement = anchor ? 'top' : 'right', }) {
|
|
80
81
|
// The style theme is read for two things and neither is a Material import:
|
|
81
82
|
// the colors below, and the portal container a shadow-DOM embed configures
|
|
82
83
|
// through `MuiPopper.defaultProps.container` — the same slot every other
|
|
@@ -156,4 +157,5 @@ export default function BaseTooltip({ clientPoint: clientPointCoords, anchor, id
|
|
|
156
157
|
? 'hidden'
|
|
157
158
|
: undefined,
|
|
158
159
|
}, ...getFloatingProps(), children: children }), target);
|
|
159
|
-
}
|
|
160
|
+
});
|
|
161
|
+
export default BaseTooltip;
|
package/esm/ui/CascadingMenu.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { createContext,
|
|
2
|
+
import { createContext, use, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { Divider, ListItemIcon, ListItemText, ListSubheader, Menu, MenuItem, Tooltip, } from '@mui/material';
|
|
4
4
|
import { observer } from 'mobx-react';
|
|
5
5
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
@@ -8,6 +8,7 @@ import { MenuItemTrailing } from './MenuItemTrailing.js';
|
|
|
8
8
|
import { resolveSubMenu, staysOpenOnClick } from './MenuTypes.js';
|
|
9
9
|
import { hasMenuItemAdornment } from './menuItemAdornment.js';
|
|
10
10
|
import { isAimedAtPanel } from './submenuAim.js';
|
|
11
|
+
import { usePlacedMenuFocus } from './usePlacedMenuFocus.js';
|
|
11
12
|
// Compact section headers so tall menus (e.g. a display's flat "Show..."
|
|
12
13
|
// settings list with several subHeader-separated radio groups) stay short.
|
|
13
14
|
// Row heights are left at the MUI default.
|
|
@@ -266,9 +267,9 @@ function makeTestId(kind, label) {
|
|
|
266
267
|
}
|
|
267
268
|
// Leading icon slot shared by submenu rows and clickable rows; renders nothing
|
|
268
269
|
// when the item has no icon (the row insets instead to stay column-aligned).
|
|
269
|
-
function MenuItemLeadingIcon({ Icon, }) {
|
|
270
|
+
const MenuItemLeadingIcon = observer(function MenuItemLeadingIcon({ Icon, }) {
|
|
270
271
|
return Icon ? (_jsx(ListItemIcon, { children: _jsx(Icon, {}) })) : null;
|
|
271
|
-
}
|
|
272
|
+
});
|
|
272
273
|
// Which decoration columns the menu needs, computed menu-wide (true if ANY row
|
|
273
274
|
// needs it) so every row reserves matching slots and the decorations stack into
|
|
274
275
|
// aligned columns down the menu. Per list, so a submenu's own rows answer it for
|
|
@@ -322,7 +323,7 @@ function getMenuColumnFlags(menuItems) {
|
|
|
322
323
|
// Escape is the exception, and has to be: MUI's Modal reads it off the same
|
|
323
324
|
// React tree, so a row that swallowed every key left the menu with no way out
|
|
324
325
|
// for anyone whose focus was inside the slider.
|
|
325
|
-
function CustomMenuRow({ item, onHover, }) {
|
|
326
|
+
const CustomMenuRow = observer(function CustomMenuRow({ item, onHover, }) {
|
|
326
327
|
const { onCloseRoot } = useCascadingMenu();
|
|
327
328
|
return (_jsx("li", { style: { padding: '4px 16px' }, onMouseEnter: onHover, onMouseDown: e => {
|
|
328
329
|
e.stopPropagation();
|
|
@@ -331,15 +332,15 @@ function CustomMenuRow({ item, onHover, }) {
|
|
|
331
332
|
e.stopPropagation();
|
|
332
333
|
}
|
|
333
334
|
}, children: item.render(onCloseRoot) }));
|
|
334
|
-
}
|
|
335
|
+
});
|
|
335
336
|
// A disabled MenuItem has pointer-events:none, so a Tooltip placed directly on
|
|
336
337
|
// it never fires; the span wrapper (per MUI guidance) restores hover. Disabled
|
|
337
338
|
// rows aren't keyboard-focusable, so the extra wrapper doesn't affect menu
|
|
338
339
|
// navigation. Renders children untouched unless the item is disabled and has
|
|
339
340
|
// disabledHelpText.
|
|
340
|
-
function DisabledTooltip({ item, children, }) {
|
|
341
|
+
const DisabledTooltip = observer(function DisabledTooltip({ item, children, }) {
|
|
341
342
|
return item.disabled && item.disabledHelpText ? (_jsx(Tooltip, { title: item.disabledHelpText, placement: "left", children: _jsx("span", { children: children }) })) : (children);
|
|
342
|
-
}
|
|
343
|
+
});
|
|
343
344
|
// One submenu row: label (with optional leading icon), the same trailing
|
|
344
345
|
// decorations a clickable row draws, and the panel it opens.
|
|
345
346
|
//
|
|
@@ -349,7 +350,7 @@ function DisabledTooltip({ item, children, }) {
|
|
|
349
350
|
// toggle), whose content stops its own click so using it doesn't also open the
|
|
350
351
|
// submenu. Both go through `MenuItemTrailing`, so they land in the columns the
|
|
351
352
|
// clickable rows reserve rather than in a hand-assembled copy of them.
|
|
352
|
-
const CascadingSubmenu =
|
|
353
|
+
const CascadingSubmenu = observer(function CascadingSubmenu({ item, itemKey, inset, columns, open, hover, onNavigateBack, }) {
|
|
353
354
|
const { zIndex } = useCascadingMenu();
|
|
354
355
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
355
356
|
// a rebuild can disable the row while its panel is up, and a disabled row has
|
|
@@ -392,7 +393,7 @@ const SubMenuList = observer(function SubMenuList({ item, onNavigateBack, }) {
|
|
|
392
393
|
// One clickable menu row: label (with optional leading icon) plus its trailing
|
|
393
394
|
// value/help/adornment decorations. The menu-wide `columns` flags let every row
|
|
394
395
|
// reserve matching decoration slots so the columns line up down the menu.
|
|
395
|
-
const CascadingMenuItem =
|
|
396
|
+
const CascadingMenuItem = observer(function CascadingMenuItem({ item, inset, columns, onNavigateBack, onHover, }) {
|
|
396
397
|
const { closeAfterItemClick, onMenuItemClick, onCloseRoot } = useCascadingMenu();
|
|
397
398
|
return (_jsx(DisabledTooltip, { item: item, children: _jsxs(MenuItem, { "data-testid": makeTestId('menuitem', item.label), disabled: item.disabled,
|
|
398
399
|
// A checkbox or radio row states its own value. The glyph
|
|
@@ -422,7 +423,7 @@ const CascadingMenuItem = memo(function CascadingMenuItem({ item, inset, columns
|
|
|
422
423
|
}
|
|
423
424
|
}, children: [_jsx(MenuItemLeadingIcon, { Icon: item.icon }), _jsx(ListItemText, { primary: item.label, secondary: item.subLabel, inset: inset }), _jsx(MenuItemTrailing, { item: item, columns: columns })] }) }));
|
|
424
425
|
});
|
|
425
|
-
function CascadingMenuList({ menuItems, onNavigateBack, }) {
|
|
426
|
+
const CascadingMenuList = observer(function CascadingMenuList({ menuItems, onNavigateBack, }) {
|
|
426
427
|
const { classes, cx } = useStyles();
|
|
427
428
|
const { openSubmenu, hover } = useSubmenuHover();
|
|
428
429
|
const { closeOnHover } = hover;
|
|
@@ -447,10 +448,11 @@ function CascadingMenuList({ menuItems, onNavigateBack, }) {
|
|
|
447
448
|
}
|
|
448
449
|
return (_jsx(CascadingMenuItem, { item: item, inset: hasIcon && !item.icon, columns: columns, onNavigateBack: onNavigateBack, onHover: closeOnHover }, key));
|
|
449
450
|
}) }));
|
|
450
|
-
}
|
|
451
|
+
});
|
|
451
452
|
const CascadingMenu = observer(function CascadingMenu({ onMenuItemClick, closeAfterItemClick = true, menuItems, open, onClose, anchorEl, anchorOrigin, transformOrigin, anchorReference, anchorPosition, style, }) {
|
|
452
453
|
const items = Array.isArray(menuItems) ? menuItems : menuItems();
|
|
453
|
-
|
|
454
|
+
const { onEntering, ...focus } = usePlacedMenuFocus();
|
|
455
|
+
return (_jsx(Menu, { ...focus, anchorEl: anchorEl, open: open, onClose: onClose, anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, anchorReference: anchorReference, anchorPosition: anchorPosition, style: style, slotProps: { transition: { onEntering } }, children: _jsx(CascadingMenuContext, { value: {
|
|
454
456
|
closeAfterItemClick,
|
|
455
457
|
onMenuItemClick,
|
|
456
458
|
onCloseRoot: onClose,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MenuItemsGetter } from './CascadingMenu.tsx';
|
|
2
2
|
import type { MenuItemClickHandler } from './MenuTypes.ts';
|
|
3
3
|
import type { PopoverOrigin } from '@mui/material';
|
|
4
|
-
declare
|
|
4
|
+
declare const CascadingMenuButton: ({ children, menuItems, closeAfterItemClick, stopPropagation, disabled, setOpen, ButtonComponent, onClick: onClickExtra, onMenuItemClick, anchorOrigin, transformOrigin, tooltip, ...rest }: {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
menuItems: MenuItemsGetter;
|
|
7
7
|
closeAfterItemClick?: boolean;
|
|
@@ -20,5 +20,5 @@ declare function CascadingMenuButton({ children, menuItems, closeAfterItemClick,
|
|
|
20
20
|
transformOrigin?: PopoverOrigin;
|
|
21
21
|
tooltip?: string;
|
|
22
22
|
[key: string]: unknown;
|
|
23
|
-
})
|
|
23
|
+
}) => import("react").JSX.Element;
|
|
24
24
|
export default CascadingMenuButton;
|
|
@@ -2,6 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import IconButton from '@mui/material/IconButton';
|
|
4
4
|
import Tooltip from '@mui/material/Tooltip';
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
5
6
|
import CascadingMenu from './CascadingMenu.js';
|
|
6
7
|
// drop the menu below the trigger icon rather than overlapping it (MUI's
|
|
7
8
|
// default top/left anchor)
|
|
@@ -10,10 +11,10 @@ const dropdownTransformOrigin = { vertical: 'top', horizontal: 'left' };
|
|
|
10
11
|
// A disabled button has pointer-events:none, so a Tooltip placed directly on it
|
|
11
12
|
// never fires; wrap it in a span (per MUI guidance) to restore the hover. The
|
|
12
13
|
// wrapper is only added when disabled, so enabled buttons keep their layout.
|
|
13
|
-
function MaybeTooltip({ title, disabled, children, }) {
|
|
14
|
+
const MaybeTooltip = observer(function MaybeTooltip({ title, disabled, children, }) {
|
|
14
15
|
return title ? (_jsx(Tooltip, { title: title, children: disabled ? _jsx("span", { children: children }) : children })) : (children);
|
|
15
|
-
}
|
|
16
|
-
function CascadingMenuButton({ children, menuItems, closeAfterItemClick = true, stopPropagation, disabled, setOpen, ButtonComponent = IconButton, onClick: onClickExtra, onMenuItemClick = callback => {
|
|
16
|
+
});
|
|
17
|
+
const CascadingMenuButton = observer(function CascadingMenuButton({ children, menuItems, closeAfterItemClick = true, stopPropagation, disabled, setOpen, ButtonComponent = IconButton, onClick: onClickExtra, onMenuItemClick = callback => {
|
|
17
18
|
callback();
|
|
18
19
|
}, anchorOrigin = dropdownAnchorOrigin, transformOrigin = dropdownTransformOrigin, tooltip, ...rest }) {
|
|
19
20
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
@@ -38,5 +39,5 @@ function CascadingMenuButton({ children, menuItems, closeAfterItemClick = true,
|
|
|
38
39
|
setAnchorEl(null);
|
|
39
40
|
setOpen?.(false);
|
|
40
41
|
}, anchorEl: anchorEl, anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, menuItems: menuItems, closeAfterItemClick: closeAfterItemClick, onMenuItemClick: onMenuItemClick })) : null] }));
|
|
41
|
-
}
|
|
42
|
+
});
|
|
42
43
|
export default CascadingMenuButton;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
declare const CascadingMenuHelpDialog: ({ onClose, helpText, label, }: {
|
|
2
2
|
onClose: () => void;
|
|
3
3
|
helpText: React.ReactNode;
|
|
4
4
|
label?: React.ReactNode;
|
|
5
|
-
})
|
|
5
|
+
}) => import("react").JSX.Element;
|
|
6
|
+
export default CascadingMenuHelpDialog;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import InfoDialog from './InfoDialog.js';
|
|
3
|
-
|
|
4
|
+
const CascadingMenuHelpDialog = observer(function CascadingMenuHelpDialog({ onClose, helpText, label, }) {
|
|
4
5
|
return (_jsx(InfoDialog, { open: true, onClose: onClose, title: "Help", titleNode: label ? _jsxs(_Fragment, { children: ["Help: ", label] }) : undefined, onClick: e => {
|
|
5
6
|
e.stopPropagation();
|
|
6
7
|
}, onMouseDown: e => {
|
|
7
8
|
e.stopPropagation();
|
|
8
9
|
}, children: helpText }));
|
|
9
|
-
}
|
|
10
|
+
});
|
|
11
|
+
export default CascadingMenuHelpDialog;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
export declare
|
|
3
|
-
|
|
2
|
+
export declare const CascadingMenuHelpIconSpacer: () => React.JSX.Element;
|
|
3
|
+
declare const CascadingMenuHelpIconButton: ({ helpText, label, }: {
|
|
4
4
|
helpText: string;
|
|
5
5
|
label?: React.ReactNode;
|
|
6
|
-
})
|
|
6
|
+
}) => React.JSX.Element;
|
|
7
|
+
export default CascadingMenuHelpIconButton;
|
|
@@ -2,17 +2,20 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import HelpOutlined from '@mui/icons-material/HelpOutlined';
|
|
4
4
|
import { IconButton } from '@mui/material';
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
5
6
|
import CascadingMenuHelpDialog from './CascadingMenuHelpDialog.js';
|
|
6
7
|
const buttonStyle = { marginLeft: 4, padding: 4 };
|
|
7
8
|
// Invisible button that reserves the exact same footprint as the help icon, so
|
|
8
9
|
// rows without help text keep their end decoration (radio/checkbox) aligned
|
|
9
10
|
// with rows that have one
|
|
10
|
-
export function CascadingMenuHelpIconSpacer() {
|
|
11
|
+
export const CascadingMenuHelpIconSpacer = observer(function CascadingMenuHelpIconSpacer() {
|
|
11
12
|
return (_jsx(IconButton, { size: "small", disabled: true, style: { ...buttonStyle, visibility: 'hidden' }, children: _jsx(HelpOutlined, { fontSize: "small" }) }));
|
|
12
|
-
}
|
|
13
|
-
|
|
13
|
+
});
|
|
14
|
+
const CascadingMenuHelpIconButton = observer(function CascadingMenuHelpIconButton({ helpText, label, }) {
|
|
14
15
|
const [helpDialogOpen, setHelpDialogOpen] = useState(false);
|
|
15
|
-
return (_jsxs(_Fragment, { children: [_jsx(IconButton, { size: "small", "aria-label": typeof label === 'string'
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsx(IconButton, { size: "small", "aria-label": typeof label === 'string'
|
|
17
|
+
? `Help for ${label}`
|
|
18
|
+
: 'Help for this item', onClick: event => {
|
|
16
19
|
event.stopPropagation();
|
|
17
20
|
setHelpDialogOpen(true);
|
|
18
21
|
}, style: buttonStyle, children: _jsx(HelpOutlined, { fontSize: "small" }) }), helpDialogOpen ? (_jsx(CascadingMenuHelpDialog, { helpText: helpText, label: label,
|
|
@@ -21,4 +24,5 @@ export default function CascadingMenuHelpIconButton({ helpText, label, }) {
|
|
|
21
24
|
onClose: () => {
|
|
22
25
|
setHelpDialogOpen(false);
|
|
23
26
|
} })) : null] }));
|
|
24
|
-
}
|
|
27
|
+
});
|
|
28
|
+
export default CascadingMenuHelpIconButton;
|
package/esm/ui/ColorPicker.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare const ColorPopover: ({ anchorEl, onChange, onClose, color, presetAlpha, }: {
|
|
2
2
|
color: string;
|
|
3
3
|
anchorEl: HTMLElement | null;
|
|
4
4
|
onChange: (val: string) => void;
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
presetAlpha?: number;
|
|
7
|
-
})
|
|
8
|
-
|
|
7
|
+
}) => import("react").JSX.Element;
|
|
8
|
+
declare const ColorPicker: ({ onChange, color, presetAlpha, }: {
|
|
9
9
|
color: string;
|
|
10
10
|
onChange: (val: string) => void;
|
|
11
11
|
presetAlpha?: number;
|
|
12
|
-
})
|
|
12
|
+
}) => import("react").JSX.Element;
|
|
13
|
+
export default ColorPicker;
|
package/esm/ui/ColorPicker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { MenuItem, Popover, Select, TextField } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import { colord } from '../util/colord.js';
|
|
5
6
|
import { useDebounce, useLocalStorage } from '../util/hooks.js';
|
|
6
7
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
@@ -30,10 +31,10 @@ const palettes = Object.keys(paletteColors);
|
|
|
30
31
|
function isPaletteType(s) {
|
|
31
32
|
return Object.hasOwn(paletteColors, s);
|
|
32
33
|
}
|
|
33
|
-
export function ColorPopover({ anchorEl, onChange, onClose, color, presetAlpha, }) {
|
|
34
|
+
export const ColorPopover = observer(function ColorPopover({ anchorEl, onChange, onClose, color, presetAlpha, }) {
|
|
34
35
|
return (_jsx(Popover, { open: !!anchorEl, anchorEl: anchorEl, onClose: onClose, children: _jsx(ColorPicker, { color: color, onChange: onChange, presetAlpha: presetAlpha }) }));
|
|
35
|
-
}
|
|
36
|
-
|
|
36
|
+
});
|
|
37
|
+
const ColorPicker = observer(function ColorPicker({ onChange, color, presetAlpha, }) {
|
|
37
38
|
const { classes } = useStyles();
|
|
38
39
|
const [storedPalette, setStoredPalette] = useLocalStorage('colorPickerPalette', 'set1');
|
|
39
40
|
// a stale localStorage value (e.g. a palette since renamed/removed) would
|
|
@@ -56,4 +57,5 @@ export default function ColorPicker({ onChange, color, presetAlpha, }) {
|
|
|
56
57
|
} }, `${presetColor}-${idx}`))) }), _jsx(TextField, { helperText: 'Manually set color (hex, rgb, or css color name)', value: text, onChange: event => {
|
|
57
58
|
handleChange(event.target.value);
|
|
58
59
|
} })] })] }));
|
|
59
|
-
}
|
|
60
|
+
});
|
|
61
|
+
export default ColorPicker;
|
package/esm/ui/ContextMenu.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface ContextMenuAnchor {
|
|
|
22
22
|
*
|
|
23
23
|
* Its events do not stop at the portal — React bubbles them through the
|
|
24
24
|
* component tree to whatever rendered the menu, which on a display is the
|
|
25
|
-
* element that hit-tests the pointer. `
|
|
25
|
+
* element that hit-tests the pointer. `DisplayChromeBase` is where that
|
|
26
26
|
* element refuses the events that did not happen over it, for every portalled
|
|
27
27
|
* overlay rather than for menus alone.
|
|
28
28
|
*
|
package/esm/ui/ContextMenu.js
CHANGED
|
@@ -20,7 +20,7 @@ const DEFAULT_OFFSET = { x: 12, y: 0 };
|
|
|
20
20
|
*
|
|
21
21
|
* Its events do not stop at the portal — React bubbles them through the
|
|
22
22
|
* component tree to whatever rendered the menu, which on a display is the
|
|
23
|
-
* element that hit-tests the pointer. `
|
|
23
|
+
* element that hit-tests the pointer. `DisplayChromeBase` is where that
|
|
24
24
|
* element refuses the events that did not happen over it, for every portalled
|
|
25
25
|
* overlay rather than for menus alone.
|
|
26
26
|
*
|
|
@@ -4,7 +4,8 @@ import type { ButtonProps } from '@mui/material';
|
|
|
4
4
|
* `copiedLabel` as feedback. `value` may be a function so callers can defer
|
|
5
5
|
* computing large strings (e.g. JSON.stringify) until the click happens.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
declare const CopyToClipboardButton: ({ value, children, copiedLabel, ...rest }: {
|
|
8
8
|
value: string | (() => string);
|
|
9
9
|
copiedLabel?: string;
|
|
10
|
-
} & Omit<ButtonProps, 'value'>)
|
|
10
|
+
} & Omit<ButtonProps, 'value'>) => import("react").JSX.Element;
|
|
11
|
+
export default CopyToClipboardButton;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Button } from '@mui/material';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import { useCopyToClipboard } from './useCopyToClipboard.js';
|
|
4
5
|
/**
|
|
5
6
|
* A Button that copies `value` to the clipboard and briefly swaps its label to
|
|
6
7
|
* `copiedLabel` as feedback. `value` may be a function so callers can defer
|
|
7
8
|
* computing large strings (e.g. JSON.stringify) until the click happens.
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
|
+
const CopyToClipboardButton = observer(function CopyToClipboardButton({ value, children, copiedLabel = 'Copied to clipboard!', ...rest }) {
|
|
10
11
|
const { copied, copy } = useCopyToClipboard();
|
|
11
12
|
return (_jsx(Button, { ...rest, onClick: () => {
|
|
12
13
|
void copy(typeof value === 'function' ? value() : value);
|
|
13
14
|
}, children: copied ? copiedLabel : children }));
|
|
14
|
-
}
|
|
15
|
+
});
|
|
16
|
+
export default CopyToClipboardButton;
|
package/esm/ui/Crosshairs.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
3
|
+
const Crosshairs = observer(function Crosshairs({ width, height, mouseX, mouseY, top = 0, zIndex,
|
|
3
4
|
// The vertical (genomic-position) guide is dropped when the cursor is left of
|
|
4
5
|
// this, e.g. over a tree sidebar where it has no meaning and clutters the
|
|
5
6
|
// resize handle. The horizontal row guide is kept.
|
|
6
|
-
minLeft = 0, })
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
minLeft = 0, }) {
|
|
8
|
+
return (_jsxs("svg", { style: {
|
|
9
|
+
position: 'absolute',
|
|
10
|
+
top,
|
|
11
|
+
left: 0,
|
|
12
|
+
width,
|
|
13
|
+
height,
|
|
14
|
+
pointerEvents: 'none',
|
|
15
|
+
zIndex,
|
|
16
|
+
}, children: [mouseY === undefined ? null : (_jsx("line", { x1: 0, x2: width, y1: mouseY, y2: mouseY, stroke: "currentColor" })), mouseX >= minLeft ? (_jsx("line", { x1: mouseX, x2: mouseX, y1: 0, y2: height, stroke: "currentColor" })) : null] }));
|
|
17
|
+
});
|
|
15
18
|
export default Crosshairs;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
declare const DOMPurifySanitizedHTML: ({ value, className, }: {
|
|
2
2
|
value: string;
|
|
3
3
|
className?: string;
|
|
4
|
-
})
|
|
4
|
+
}) => import("react").JSX.Element;
|
|
5
|
+
export default DOMPurifySanitizedHTML;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useLayoutEffect, useRef } from 'react';
|
|
3
3
|
import dompurify from 'dompurify';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import { rewriteExternalAnchors } from './rewriteExternalAnchors.js';
|
|
5
|
-
|
|
6
|
+
const DOMPurifySanitizedHTML = observer(function DOMPurifySanitizedHTML({ value, className, }) {
|
|
6
7
|
const spanRef = useRef(null);
|
|
7
8
|
useLayoutEffect(() => {
|
|
8
9
|
const el = spanRef.current;
|
|
@@ -13,4 +14,5 @@ export default function DOMPurifySanitizedHTML({ value, className, }) {
|
|
|
13
14
|
return (_jsx("span", { ref: spanRef, className: className,
|
|
14
15
|
// eslint-disable-next-line @eslint-react/dom-no-dangerously-set-innerhtml
|
|
15
16
|
dangerouslySetInnerHTML: { __html: dompurify.sanitize(value) } }));
|
|
16
|
-
}
|
|
17
|
+
});
|
|
18
|
+
export default DOMPurifySanitizedHTML;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CSSProperties } from 'react';
|
|
2
|
-
|
|
2
|
+
declare const DataGridFlexContainer: ({ children, className, style, }: {
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
/**
|
|
5
5
|
* merged with the flex-column base. A caller that wants the grid to FILL its
|
|
@@ -9,4 +9,5 @@ export default function DataGridFlexContainer({ children, className, style, }: {
|
|
|
9
9
|
*/
|
|
10
10
|
className?: string;
|
|
11
11
|
style?: CSSProperties;
|
|
12
|
-
})
|
|
12
|
+
}) => import("react").JSX.Element;
|
|
13
|
+
export default DataGridFlexContainer;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import { cx, makeStyles } from '../util/tss-react/index.js';
|
|
3
4
|
const useStyles = makeStyles()({
|
|
4
5
|
flexContainer: {
|
|
@@ -7,7 +8,8 @@ const useStyles = makeStyles()({
|
|
|
7
8
|
},
|
|
8
9
|
});
|
|
9
10
|
// https://mui.com/x/react-data-grid/layout/#flex-parent-container
|
|
10
|
-
|
|
11
|
+
const DataGridFlexContainer = observer(function DataGridFlexContainer({ children, className, style, }) {
|
|
11
12
|
const { classes } = useStyles();
|
|
12
13
|
return (_jsx("div", { className: cx(classes.flexContainer, className), style: style, children: children }));
|
|
13
|
-
}
|
|
14
|
+
});
|
|
15
|
+
export default DataGridFlexContainer;
|
package/esm/ui/Dialog.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export interface Props extends Omit<DialogProps, 'onClose'> {
|
|
|
6
6
|
bivarianceHack(event: object, reason: 'backdropClick' | 'escapeKeyDown' | 'closeButtonClick'): void;
|
|
7
7
|
}['bivarianceHack'] | undefined;
|
|
8
8
|
}
|
|
9
|
-
declare
|
|
9
|
+
declare const Dialog: (props: Props) => import("react").JSX.Element;
|
|
10
10
|
export default Dialog;
|
package/esm/ui/Dialog.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import CloseIcon from '@mui/icons-material/Close';
|
|
4
4
|
import { DialogTitle, Divider, IconButton, Dialog as MUIDialog, ScopedCssBaseline, ThemeProvider, createTheme, useTheme, } from '@mui/material';
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
5
6
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
6
7
|
import ErrorBanner from './ErrorBanner.js';
|
|
7
8
|
import { ErrorBoundary } from './ErrorBoundary.js';
|
|
@@ -18,11 +19,11 @@ const useStyles = makeStyles()(theme => ({
|
|
|
18
19
|
margin: theme.spacing(5),
|
|
19
20
|
},
|
|
20
21
|
}));
|
|
21
|
-
function DialogError({ error }) {
|
|
22
|
+
const DialogError = observer(function DialogError({ error, }) {
|
|
22
23
|
const { classes } = useStyles();
|
|
23
24
|
return (_jsx("div", { className: classes.errorBox, children: _jsx(ErrorBanner, { error: error }) }));
|
|
24
|
-
}
|
|
25
|
-
function Dialog(props) {
|
|
25
|
+
});
|
|
26
|
+
const Dialog = observer(function Dialog(props) {
|
|
26
27
|
const { classes } = useStyles();
|
|
27
28
|
const { titleNode, header, title, ...rest } = props;
|
|
28
29
|
const { children, onClose } = rest;
|
|
@@ -49,5 +50,5 @@ function Dialog(props) {
|
|
|
49
50
|
, { "data-testid": "dialog-close", className: classes.closeButton, onClick: event => {
|
|
50
51
|
onClose(event, 'closeButtonClick');
|
|
51
52
|
}, children: _jsx(CloseIcon, {}) })) : null] })), _jsx(Divider, {}), _jsx(ErrorBoundary, { FallbackComponent: DialogError, children: _jsx(ThemeProvider, { theme: dialogTheme, children: children }) })] }) }));
|
|
52
|
-
}
|
|
53
|
+
});
|
|
53
54
|
export default Dialog;
|
package/esm/ui/DropDownMenu.js
CHANGED
|
@@ -15,10 +15,10 @@ const useStyles = makeStyles()(theme => ({
|
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
}));
|
|
18
|
-
function ButtonComponent(props) {
|
|
18
|
+
const ButtonComponent = observer(function ButtonComponent(props) {
|
|
19
19
|
const { classes } = useStyles();
|
|
20
20
|
return (_jsx(Button, { ...props, className: classes.buttonRoot, children: props.children }));
|
|
21
|
-
}
|
|
21
|
+
});
|
|
22
22
|
const DropDownMenu = observer(function DropDownMenu({ menuTitle, menuItems, onMenuItemClick, }) {
|
|
23
23
|
return (_jsxs(CascadingMenuButton, { menuItems: menuItems, onMenuItemClick: onMenuItemClick, color: "inherit", ButtonComponent: ButtonComponent, children: [menuTitle, _jsx(ArrowDropDown, {})] }));
|
|
24
24
|
});
|
|
@@ -9,5 +9,5 @@ interface Props {
|
|
|
9
9
|
classes?: Partial<Record<EditableTypographyClassKey, string>>;
|
|
10
10
|
ref?: Ref<HTMLDivElement>;
|
|
11
11
|
}
|
|
12
|
-
declare
|
|
12
|
+
declare const EditableTypography: (props: Props) => import("react").JSX.Element;
|
|
13
13
|
export default EditableTypography;
|
|
@@ -4,6 +4,7 @@ import { useRef, useState } from 'react';
|
|
|
4
4
|
// that exact string. See the note in `util/hooks.ts`.
|
|
5
5
|
import useMeasure from '@jbrowse/core/util/useMeasure';
|
|
6
6
|
import { InputBase, Typography, useTheme } from '@mui/material';
|
|
7
|
+
import { observer } from 'mobx-react';
|
|
7
8
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
8
9
|
const useStyles = makeStyles()(theme => ({
|
|
9
10
|
typography: {
|
|
@@ -21,7 +22,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
21
22
|
borderWidth: 2,
|
|
22
23
|
},
|
|
23
24
|
}));
|
|
24
|
-
function EditableTypography(props) {
|
|
25
|
+
const EditableTypography = observer(function EditableTypography(props) {
|
|
25
26
|
const { value, setValue, variant, ref, classes: overrides, ...other } = props;
|
|
26
27
|
const [ref2, { width }] = useMeasure('width');
|
|
27
28
|
const [editedValue, setEditedValue] = useState();
|
|
@@ -64,5 +65,5 @@ function EditableTypography(props) {
|
|
|
64
65
|
}
|
|
65
66
|
setEditedValue(undefined);
|
|
66
67
|
} })] }));
|
|
67
|
-
}
|
|
68
|
+
});
|
|
68
69
|
export default EditableTypography;
|
package/esm/ui/ErrorActions.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import type { ReactNode } from 'react';
|
|
|
11
11
|
* the environment block and the prefilled issue link — the whole of what that
|
|
12
12
|
* dialog is for — from anyone whose failure arrived as a string.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
declare const ErrorActions: ({ error, onRetry, extraAction, color, }: {
|
|
15
15
|
error: unknown;
|
|
16
16
|
/** omitted by a presentation with nothing to retry */
|
|
17
17
|
onRetry?: () => void;
|
|
@@ -21,4 +21,5 @@ export default function ErrorActions({ error, onRetry, extraAction, color, }: {
|
|
|
21
21
|
*/
|
|
22
22
|
extraAction?: ReactNode;
|
|
23
23
|
color?: IconButtonProps['color'];
|
|
24
|
-
})
|
|
24
|
+
}) => import("react").JSX.Element;
|
|
25
|
+
export default ErrorActions;
|
package/esm/ui/ErrorActions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import RefreshIcon from '@mui/icons-material/Refresh';
|
|
3
3
|
import { IconButton, Tooltip } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import StackTraceButton from './StackTraceButton.js';
|
|
5
6
|
/**
|
|
6
7
|
* What both error presentations offer, in one order: the remedy specific to
|
|
@@ -13,8 +14,9 @@ import StackTraceButton from './StackTraceButton.js';
|
|
|
13
14
|
* the environment block and the prefilled issue link — the whole of what that
|
|
14
15
|
* dialog is for — from anyone whose failure arrived as a string.
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
+
const ErrorActions = observer(function ErrorActions({ error, onRetry, extraAction, color, }) {
|
|
17
18
|
return (_jsxs(_Fragment, { children: [extraAction, _jsx(StackTraceButton, { error: error, color: color }), onRetry ? (_jsx(Tooltip, { title: "Retry", children: _jsx(IconButton, { "data-testid": "reload_button", onClick: () => {
|
|
18
19
|
onRetry();
|
|
19
20
|
}, color: color, children: _jsx(RefreshIcon, {}) }) })) : null] }));
|
|
20
|
-
}
|
|
21
|
+
});
|
|
22
|
+
export default ErrorActions;
|
package/esm/ui/ErrorBanner.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
declare
|
|
2
|
+
declare const ErrorBanner: ({ error, onReset, extraAction, }: {
|
|
3
3
|
error: unknown;
|
|
4
4
|
onReset?: () => void;
|
|
5
5
|
extraAction?: ReactNode;
|
|
6
|
-
})
|
|
6
|
+
}) => import("react").JSX.Element;
|
|
7
7
|
export default ErrorBanner;
|
package/esm/ui/ErrorBanner.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
3
4
|
import ErrorActions from './ErrorActions.js';
|
|
4
5
|
import RedErrorMessageBox from './RedErrorMessageBox.js';
|
|
@@ -22,7 +23,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
22
23
|
marginLeft: 100,
|
|
23
24
|
},
|
|
24
25
|
}));
|
|
25
|
-
function ErrorBanner({ error, onReset, extraAction, }) {
|
|
26
|
+
const ErrorBanner = observer(function ErrorBanner({ error, onReset, extraAction, }) {
|
|
26
27
|
const { classes } = useStyles();
|
|
27
28
|
const errorText = `${error}`;
|
|
28
29
|
// trim "expected an instance of ..." tail — still generated by MST for
|
|
@@ -31,5 +32,5 @@ function ErrorBanner({ error, onReset, extraAction, }) {
|
|
|
31
32
|
const displayText = instanceIdx === -1 ? errorText : errorText.slice(0, instanceIdx);
|
|
32
33
|
const { snapshotValue, message } = parseError(errorText);
|
|
33
34
|
return (_jsxs(RedErrorMessageBox, { children: [displayText.slice(0, 10000), _jsx("div", { className: classes.iconFloat, children: _jsx(ErrorActions, { error: error, onRetry: onReset, extraAction: extraAction, color: "primary" }) }), snapshotValue !== undefined ? (_jsxs(_Fragment, { children: [_jsx("div", { className: classes.message, children: message }), _jsx("pre", { className: classes.bg, children: JSON.stringify(snapshotValue, null, 2) })] })) : null] }));
|
|
34
|
-
}
|
|
35
|
+
});
|
|
35
36
|
export default ErrorBanner;
|
package/esm/ui/ErrorBar.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
declare const ErrorBar: ({ error, onRetry, extraAction, }: {
|
|
3
3
|
error: unknown;
|
|
4
4
|
onRetry: () => void;
|
|
5
5
|
extraAction?: ReactNode;
|
|
6
|
-
})
|
|
6
|
+
}) => import("react").JSX.Element;
|
|
7
|
+
export default ErrorBar;
|
package/esm/ui/ErrorBar.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Alert, Tooltip } from '@mui/material';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
4
5
|
import ErrorActions from './ErrorActions.js';
|
|
5
6
|
const useStyles = makeStyles()({
|
|
@@ -12,7 +13,7 @@ const useStyles = makeStyles()({
|
|
|
12
13
|
userSelect: 'text',
|
|
13
14
|
},
|
|
14
15
|
});
|
|
15
|
-
|
|
16
|
+
const ErrorBar = observer(function ErrorBar({ error, onRetry, extraAction, }) {
|
|
16
17
|
const { classes } = useStyles();
|
|
17
18
|
const message = `${error}`;
|
|
18
19
|
return (_jsx("div", { style: {
|
|
@@ -32,4 +33,5 @@ export default function ErrorBar({ error, onRetry, extraAction, }) {
|
|
|
32
33
|
}, onClick: e => {
|
|
33
34
|
e.stopPropagation();
|
|
34
35
|
}, children: _jsx(Alert, { severity: "error", action: _jsx(ErrorActions, { error: error, onRetry: onRetry, extraAction: extraAction }), children: _jsx(Tooltip, { title: message, children: _jsx("div", { className: classes.content, children: message }) }) }) }));
|
|
35
|
-
}
|
|
36
|
+
});
|
|
37
|
+
export default ErrorBar;
|
package/esm/ui/ErrorMessage.d.ts
CHANGED