@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/ErrorMessage.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import RefreshIcon from '@mui/icons-material/Refresh';
|
|
3
3
|
import { Button } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import RedErrorMessageBox from './RedErrorMessageBox.js';
|
|
5
6
|
// chunk load failures usually mean a stale asset manifest (e.g. server
|
|
6
7
|
// redeploy) or a network hiccup; a reload fetches the current chunks
|
|
@@ -14,8 +15,9 @@ function isChunkLoadError(error) {
|
|
|
14
15
|
message.includes('failed to fetch dynamically imported module') ||
|
|
15
16
|
message.includes('error loading dynamically imported module'));
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
+
const ErrorMessage = observer(function ErrorMessage({ error, }) {
|
|
18
19
|
return isChunkLoadError(error) ? (_jsxs(RedErrorMessageBox, { children: [_jsx("div", { children: "Failed to load part of the application, likely due to a server update or network error. Refreshing the page usually fixes it." }), _jsx(Button, { variant: "contained", startIcon: _jsx(RefreshIcon, {}), onClick: () => {
|
|
19
20
|
window.location.reload();
|
|
20
21
|
}, style: { margin: 4 }, children: "Refresh page" }), _jsx("div", { children: `${error}` })] })) : (_jsx(RedErrorMessageBox, { children: `${error}` }));
|
|
21
|
-
}
|
|
22
|
+
});
|
|
23
|
+
export default ErrorMessage;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
declare const ErrorMessageStackTraceContents: ({ text, extra, }: {
|
|
2
2
|
text: string;
|
|
3
3
|
extra?: unknown;
|
|
4
|
-
})
|
|
4
|
+
}) => import("react").JSX.Element;
|
|
5
|
+
export default ErrorMessageStackTraceContents;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Typography } from '@mui/material';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
4
5
|
import ExternalLink from './ExternalLink.js';
|
|
5
6
|
import { alpha } from './palette.js';
|
|
@@ -13,7 +14,7 @@ const useStyles = makeStyles()(theme => ({
|
|
|
13
14
|
maxHeight: 300,
|
|
14
15
|
},
|
|
15
16
|
}));
|
|
16
|
-
|
|
17
|
+
const ErrorMessageStackTraceContents = observer(function ErrorMessageStackTraceContents({ text, extra, }) {
|
|
17
18
|
const { classes } = useStyles();
|
|
18
19
|
const extraStr = extra
|
|
19
20
|
? `supporting data: ${JSON.stringify(extra, null, 2)}`
|
|
@@ -23,4 +24,5 @@ export default function ErrorMessageStackTraceContents({ text, extra, }) {
|
|
|
23
24
|
const githubLink = `https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${issueBody}`;
|
|
24
25
|
const emailLink = `mailto:${EMAIL}?subject=JBrowse%202%20error&body=${issueBody}`;
|
|
25
26
|
return (_jsxs(_Fragment, { children: [_jsxs(Typography, { children: ["Post a new issue at", ' ', _jsx(ExternalLink, { href: githubLink, children: "GitHub" }), " or send an email to ", _jsx(ExternalLink, { href: emailLink, children: EMAIL })] }), _jsx("pre", { className: classes.pre, children: displayText })] }));
|
|
26
|
-
}
|
|
27
|
+
});
|
|
28
|
+
export default ErrorMessageStackTraceContents;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
declare const ErrorMessageStackTraceDialog: ({ error, onClose, extra, }: {
|
|
2
2
|
onClose: () => void;
|
|
3
3
|
error: unknown;
|
|
4
4
|
extra?: unknown;
|
|
5
|
-
})
|
|
5
|
+
}) => import("react").JSX.Element;
|
|
6
|
+
export default ErrorMessageStackTraceDialog;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { effectiveRenderer } from '@jbrowse/render-core/graphicsCapabilities';
|
|
3
3
|
import { useGraphicsCapabilities } from '@jbrowse/render-core/useGraphicsCapabilities';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import { useFetch } from '../util/useFetch.js';
|
|
5
6
|
import CopyToClipboardButton from './CopyToClipboardButton.js';
|
|
6
7
|
import ErrorMessageStackTraceContents from './ErrorMessageStackTraceContents.js';
|
|
@@ -9,7 +10,7 @@ import LoadingEllipses from './LoadingEllipses.js';
|
|
|
9
10
|
import { formatErrorStack } from './formatErrorStack.js';
|
|
10
11
|
import { mapStackTrace } from './mapStackTrace.js';
|
|
11
12
|
const MAX_ERR_LEN = 10_000;
|
|
12
|
-
|
|
13
|
+
const ErrorMessageStackTraceDialog = observer(function ErrorMessageStackTraceDialog({ error, onClose, extra, }) {
|
|
13
14
|
const graphicsCapabilities = useGraphicsCapabilities();
|
|
14
15
|
const errorText = error ? `${error}` : '';
|
|
15
16
|
const stackTrace = formatErrorStack(error);
|
|
@@ -60,4 +61,5 @@ export default function ErrorMessageStackTraceDialog({ error, onClose, extra, })
|
|
|
60
61
|
return (_jsx(InfoDialog, { open: true, onClose: () => {
|
|
61
62
|
onClose();
|
|
62
63
|
}, maxWidth: "xl", title: "Stack trace", actions: _jsx(CopyToClipboardButton, { variant: "contained", color: "secondary", value: errorBoxText, copiedLabel: "Copied!", children: "Copy stack trace to clipboard" }), children: isLoading ? (_jsx(LoadingEllipses, { variant: "h6" })) : (_jsx(ErrorMessageStackTraceContents, { text: errorBoxText, extra: extra })) }));
|
|
63
|
-
}
|
|
64
|
+
});
|
|
65
|
+
export default ErrorMessageStackTraceDialog;
|
package/esm/ui/ErrorOverlay.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
declare const ErrorOverlay: ({ error, onRetry, width, height, extraAction, }: {
|
|
3
3
|
error: unknown;
|
|
4
4
|
onRetry: () => void;
|
|
5
5
|
width: number | string;
|
|
6
6
|
height: number | string;
|
|
7
7
|
extraAction?: ReactNode;
|
|
8
|
-
})
|
|
8
|
+
}) => import("react").JSX.Element;
|
|
9
|
+
export default ErrorOverlay;
|
package/esm/ui/ErrorOverlay.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import ErrorBar from './ErrorBar.js';
|
|
3
|
-
|
|
4
|
+
const ErrorOverlay = observer(function ErrorOverlay({ error, onRetry, width, height, extraAction, }) {
|
|
4
5
|
return (_jsx("div", { style: { position: 'relative', width, height }, children: _jsx(ErrorBar, { error: error, onRetry: onRetry, extraAction: extraAction }) }));
|
|
5
|
-
}
|
|
6
|
+
});
|
|
7
|
+
export default ErrorOverlay;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { BaseExportSvgOptions } from './BaseExportSvgDialog.tsx';
|
|
2
|
-
|
|
2
|
+
declare const ExportSvgDialog: ({ model, handleClose, }: {
|
|
3
3
|
model: {
|
|
4
4
|
exportSvg(opts: BaseExportSvgOptions): Promise<unknown>;
|
|
5
5
|
};
|
|
6
6
|
handleClose: () => void;
|
|
7
|
-
})
|
|
7
|
+
}) => import("react").JSX.Element;
|
|
8
|
+
export default ExportSvgDialog;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import BaseExportSvgDialog from './BaseExportSvgDialog.js';
|
|
3
4
|
// The export dialog for a view whose `exportSvg` takes nothing beyond the
|
|
4
5
|
// shared options: the dotplot and circular views both lazy-import this. A view
|
|
5
6
|
// with extra controls wraps `BaseExportSvgDialog` itself and threads them
|
|
6
7
|
// through `exportSvg` (the LGV family's track labels and gridlines).
|
|
7
|
-
|
|
8
|
+
const ExportSvgDialog = observer(function ExportSvgDialog({ model, handleClose, }) {
|
|
8
9
|
return (_jsx(BaseExportSvgDialog, { model: model, handleClose: handleClose, exportSvg: opts => model.exportSvg(opts) }));
|
|
9
|
-
}
|
|
10
|
+
});
|
|
11
|
+
export default ExportSvgDialog;
|
package/esm/ui/ExternalLink.d.ts
CHANGED
package/esm/ui/ExternalLink.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import OpenInNewIcon from '@mui/icons-material/OpenInNew';
|
|
3
3
|
import { Link } from '@mui/material';
|
|
4
|
-
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
5
|
+
const ExternalLink = observer(function ExternalLink(props) {
|
|
5
6
|
const { children, ...rest } = props;
|
|
6
7
|
return (_jsxs(Link, { ...rest, target: "_blank", rel: "noopener noreferrer", children: [children, " ", _jsx(OpenInNewIcon, { fontSize: "small" })] }));
|
|
7
|
-
}
|
|
8
|
+
});
|
|
9
|
+
export default ExternalLink;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
declare const FactoryResetDialog: ({ onClose, open, onFactoryReset, }: {
|
|
2
2
|
onClose: () => void;
|
|
3
3
|
open: boolean;
|
|
4
4
|
onFactoryReset: () => void;
|
|
5
|
-
})
|
|
5
|
+
}) => import("react").JSX.Element;
|
|
6
|
+
export default FactoryResetDialog;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { DialogContentText } from '@mui/material';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import ConfirmDialog from './ConfirmDialog.js';
|
|
4
|
-
|
|
5
|
+
const FactoryResetDialog = observer(function FactoryResetDialog({ onClose, open, onFactoryReset, }) {
|
|
5
6
|
return (_jsx(ConfirmDialog, { open: open, title: "Reset", submitText: "Reset", onCancel: onClose, onSubmit: () => {
|
|
6
7
|
onFactoryReset();
|
|
7
8
|
onClose();
|
|
8
9
|
}, children: _jsx(DialogContentText, { children: "Are you sure you want to reset? This will restore the default configuration." }) }));
|
|
9
|
-
}
|
|
10
|
+
});
|
|
11
|
+
export default FactoryResetDialog;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
declare const FatalErrorDialog: ({ componentStack, error, onFactoryReset, resetButtonText, extraActions, }: {
|
|
2
2
|
componentStack?: string;
|
|
3
3
|
error?: unknown;
|
|
4
4
|
onFactoryReset: () => void;
|
|
5
5
|
resetButtonText?: string;
|
|
6
6
|
extraActions?: React.ReactNode;
|
|
7
|
-
})
|
|
7
|
+
}) => import("react").JSX.Element;
|
|
8
|
+
export default FatalErrorDialog;
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import ErrorBanner from './ErrorBanner.js';
|
|
5
6
|
import ErrorMessageStackTraceContents from './ErrorMessageStackTraceContents.js';
|
|
6
7
|
import FactoryResetDialog from './FactoryResetDialog.js';
|
|
7
|
-
const ResetComponent = ({ onFactoryReset, resetButtonText, })
|
|
8
|
+
const ResetComponent = observer(function ResetComponent({ onFactoryReset, resetButtonText, }) {
|
|
8
9
|
const [dialogOpen, setDialogOpen] = useState(false);
|
|
9
10
|
return (_jsxs(_Fragment, { children: [_jsx(Button, { "data-testid": "fatal-error", color: "primary", variant: "contained", onClick: () => {
|
|
10
11
|
setDialogOpen(true);
|
|
11
12
|
}, children: resetButtonText }), _jsx(FactoryResetDialog, { onClose: () => {
|
|
12
13
|
setDialogOpen(false);
|
|
13
14
|
}, open: dialogOpen, onFactoryReset: onFactoryReset })] }));
|
|
14
|
-
};
|
|
15
|
-
|
|
15
|
+
});
|
|
16
|
+
const FatalErrorDialog = observer(function FatalErrorDialog({ componentStack, error = 'No error message provided', onFactoryReset, resetButtonText = 'Factory Reset', extraActions, }) {
|
|
16
17
|
return (_jsxs(Dialog, { maxWidth: "xl", open: true, children: [_jsx(DialogTitle, { children: "Fatal error" }), _jsxs(DialogContent, { children: [_jsx(ErrorBanner, { error: error }), componentStack ? (_jsx(ErrorMessageStackTraceContents, { text: componentStack })) : null] }), _jsxs(DialogActions, { children: [extraActions, _jsx(Button, { color: "secondary", variant: "contained", onClick: () => {
|
|
17
18
|
window.location.reload();
|
|
18
19
|
}, children: "Refresh" }), _jsx(ResetComponent, { onFactoryReset: onFactoryReset, resetButtonText: resetButtonText })] })] }));
|
|
19
|
-
}
|
|
20
|
+
});
|
|
21
|
+
export default FatalErrorDialog;
|
package/esm/ui/FileDropZone.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface FileRejection {
|
|
|
14
14
|
* set, rejected files with their validation errors. Pass `message` to replace
|
|
15
15
|
* the default prompt and `children` for extra content (e.g. a Browse button).
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
declare const FileDropZone: ({ onDrop, accept, maxSize, multiple, message, children, className, }: {
|
|
18
18
|
onDrop: (accepted: File[], rejected: FileRejection[]) => void;
|
|
19
19
|
accept?: Accept;
|
|
20
20
|
maxSize?: number;
|
|
@@ -22,4 +22,5 @@ export default function FileDropZone({ onDrop, accept, maxSize, multiple, messag
|
|
|
22
22
|
message?: ReactNode;
|
|
23
23
|
children?: ReactNode;
|
|
24
24
|
className?: string;
|
|
25
|
-
})
|
|
25
|
+
}) => import("react").JSX.Element;
|
|
26
|
+
export default FileDropZone;
|
package/esm/ui/FileDropZone.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef, useState } from 'react';
|
|
3
3
|
import CloudUploadIcon from '@mui/icons-material/CloudUpload';
|
|
4
4
|
import { Typography } from '@mui/material';
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
5
6
|
import { makeStyles } from '../util/tss-react/index.js';
|
|
6
7
|
import { alpha } from './palette.js';
|
|
7
8
|
const useStyles = makeStyles()(theme => ({
|
|
@@ -67,7 +68,7 @@ function validate(file, accept, maxSize) {
|
|
|
67
68
|
* set, rejected files with their validation errors. Pass `message` to replace
|
|
68
69
|
* the default prompt and `children` for extra content (e.g. a Browse button).
|
|
69
70
|
*/
|
|
70
|
-
|
|
71
|
+
const FileDropZone = observer(function FileDropZone({ onDrop, accept, maxSize, multiple = true, message, children, className, }) {
|
|
71
72
|
const { classes, cx } = useStyles();
|
|
72
73
|
const inputRef = useRef(null);
|
|
73
74
|
// dragenter/dragleave fire for child elements too; ref-count them so
|
|
@@ -126,4 +127,5 @@ export default function FileDropZone({ onDrop, accept, maxSize, multiple = true,
|
|
|
126
127
|
// reset so selecting the same file again still fires onChange
|
|
127
128
|
event.target.value = '';
|
|
128
129
|
} }), _jsx(CloudUploadIcon, { className: classes.uploadIcon, fontSize: "large" }), _jsx(Typography, { color: "text.secondary", align: "center", children: message ?? 'Drag and drop files here, or click to browse' }), children] }));
|
|
129
|
-
}
|
|
130
|
+
});
|
|
131
|
+
export default FileDropZone;
|
|
@@ -58,7 +58,7 @@ async function pickFileHandleLocation() {
|
|
|
58
58
|
throw e;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
function FilePickerButton({ setLocation, }) {
|
|
61
|
+
const FilePickerButton = observer(function FilePickerButton({ setLocation, }) {
|
|
62
62
|
if (supportsFileSystemAccess) {
|
|
63
63
|
return (_jsx(Button, { variant: "outlined", onClick: async () => {
|
|
64
64
|
const loc = await pickFileHandleLocation();
|
|
@@ -91,8 +91,8 @@ function FilePickerButton({ setLocation, }) {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
} })] }));
|
|
94
|
-
}
|
|
95
|
-
function ReloadPrompt({ location, setLocation, }) {
|
|
94
|
+
});
|
|
95
|
+
const ReloadPrompt = observer(function ReloadPrompt({ location, setLocation, }) {
|
|
96
96
|
const handleReopen = async () => {
|
|
97
97
|
if (isFileHandleLocation(location)) {
|
|
98
98
|
try {
|
|
@@ -108,7 +108,7 @@ function ReloadPrompt({ location, setLocation, }) {
|
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
return (_jsxs(Box, { sx: { display: 'flex', alignItems: 'center', gap: 1 }, children: [_jsx(Typography, { color: "error", children: "(need to reload)" }), isFileHandleLocation(location) && (_jsx(Button, { size: "small", variant: "text", color: "primary", onClick: handleReopen, children: "Reopen" }))] }));
|
|
111
|
-
}
|
|
111
|
+
});
|
|
112
112
|
const LocalFileChooser = observer(function LocalFileChooser({ location, setLocation, }) {
|
|
113
113
|
const { classes } = useStyles();
|
|
114
114
|
const filename = getFilename(location);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { BaseInternetAccountModel } from '../../pluggableElementTypes/index.ts';
|
|
2
2
|
import type { FileLocation } from '../../util/types/index.ts';
|
|
3
|
-
|
|
3
|
+
declare const LocationInput: ({ toggleButtonValue, selectedAccount, location, inline, setLocation, }: {
|
|
4
4
|
toggleButtonValue: string;
|
|
5
5
|
selectedAccount?: BaseInternetAccountModel;
|
|
6
6
|
location?: FileLocation;
|
|
7
7
|
inline?: boolean;
|
|
8
8
|
setLocation: (arg: FileLocation) => void;
|
|
9
|
-
})
|
|
9
|
+
}) => import("react").JSX.Element;
|
|
10
|
+
export default LocationInput;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import LocalFileChooser from './LocalFileChooser.js';
|
|
3
4
|
import UrlChooser from './UrlChooser.js';
|
|
4
|
-
|
|
5
|
+
const LocationInput = observer(function LocationInput({ toggleButtonValue, selectedAccount, location, inline, setLocation, }) {
|
|
5
6
|
// `file` is the only toggle with an input of its own — URL and every account
|
|
6
7
|
// toggle share the URL box, which is what `selectorLabel` names. Anything
|
|
7
8
|
// else falling through to `null` drew a field label and a toggle group with
|
|
8
9
|
// nothing under them: picking Dropbox did it, and so did a location arriving
|
|
9
10
|
// already stamped with an `internetAccountId`.
|
|
10
11
|
return toggleButtonValue === 'file' ? (_jsx(LocalFileChooser, { location: location, setLocation: setLocation })) : (_jsx(UrlChooser, { location: location, setLocation: setLocation, label: selectedAccount?.selectorLabel, style: inline ? { margin: 0 } : undefined }));
|
|
11
|
-
}
|
|
12
|
+
});
|
|
13
|
+
export default LocationInput;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { BaseInternetAccountModel } from '../../pluggableElementTypes/index.ts';
|
|
2
|
-
|
|
2
|
+
declare const SourceTypeSelector: ({ value, sourceTypes, shownAccounts, hiddenAccounts, onChange, onHiddenAccountSelect, }: {
|
|
3
3
|
value: string;
|
|
4
4
|
sourceTypes: string[];
|
|
5
5
|
shownAccounts: BaseInternetAccountModel[];
|
|
6
6
|
hiddenAccounts: BaseInternetAccountModel[];
|
|
7
7
|
onChange: (event: React.MouseEvent, newValue: string | null) => void;
|
|
8
8
|
onHiddenAccountSelect: (id: string) => void;
|
|
9
|
-
})
|
|
9
|
+
}) => import("react").JSX.Element;
|
|
10
|
+
export default SourceTypeSelector;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
|
|
3
3
|
import { ToggleButton, ToggleButtonGroup, Tooltip } from '@mui/material';
|
|
4
|
+
import { observer } from 'mobx-react';
|
|
4
5
|
import CascadingMenuButton from '../CascadingMenuButton.js';
|
|
5
6
|
import { getAccountLabel } from './util.js';
|
|
6
|
-
function AccountToggleButton({ account, }) {
|
|
7
|
+
const AccountToggleButton = observer(function AccountToggleButton({ account, }) {
|
|
7
8
|
return (_jsx(Tooltip, { title: account.name, children: _jsx(ToggleButton, { value: account.internetAccountId, children: getAccountLabel(account) }) }));
|
|
8
|
-
}
|
|
9
|
-
function MoreButton({ onClick, disabled, children, }) {
|
|
9
|
+
});
|
|
10
|
+
const MoreButton = observer(function MoreButton({ onClick, disabled, children, }) {
|
|
10
11
|
return (_jsx(ToggleButton, { value: "more", selected: false, disabled: disabled,
|
|
11
12
|
// ToggleButton types its target as HTMLElement, but it always renders a
|
|
12
13
|
// <button>, so narrowing to HTMLButtonElement for CascadingMenuButton's
|
|
@@ -14,12 +15,13 @@ function MoreButton({ onClick, disabled, children, }) {
|
|
|
14
15
|
onClick: e => {
|
|
15
16
|
onClick(e);
|
|
16
17
|
}, children: children }));
|
|
17
|
-
}
|
|
18
|
-
|
|
18
|
+
});
|
|
19
|
+
const SourceTypeSelector = observer(function SourceTypeSelector({ value, sourceTypes, shownAccounts, hiddenAccounts, onChange, onHiddenAccountSelect, }) {
|
|
19
20
|
return (_jsxs(ToggleButtonGroup, { value: value, exclusive: true, size: "small", onChange: onChange, "aria-label": "file, url, or account picker", children: [sourceTypes.includes('file') && (_jsx(ToggleButton, { value: "file", "aria-label": "local file", children: "File" })), _jsx(ToggleButton, { value: "url", "aria-label": "url", children: "URL" }), shownAccounts.map(account => (_jsx(AccountToggleButton, { account: account }, account.internetAccountId))), hiddenAccounts.length > 0 && (_jsxs(CascadingMenuButton, { menuItems: hiddenAccounts.map(account => ({
|
|
20
21
|
label: account.name,
|
|
21
22
|
onClick: () => {
|
|
22
23
|
onHiddenAccountSelect(account.internetAccountId);
|
|
23
24
|
},
|
|
24
25
|
})), ButtonComponent: MoreButton, anchorOrigin: { vertical: 'bottom', horizontal: 'center' }, transformOrigin: { vertical: 'top', horizontal: 'center' }, children: ["More", _jsx(ArrowDropDownIcon, {})] }))] }));
|
|
25
|
-
}
|
|
26
|
+
});
|
|
27
|
+
export default SourceTypeSelector;
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* predicate. Every place that repeated it is a place that could forget it, and
|
|
7
7
|
* two already had.
|
|
8
8
|
*/
|
|
9
|
-
|
|
9
|
+
declare const GpuFallbackButton: ({ error, onRetry, }: {
|
|
10
10
|
error: unknown;
|
|
11
11
|
onRetry: () => void;
|
|
12
|
-
})
|
|
12
|
+
}) => import("react").JSX.Element | null;
|
|
13
|
+
export default GpuFallbackButton;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Tooltip } from '@mui/material';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
import { GPU_FALLBACK_LABEL, GPU_FALLBACK_TOOLTIP, disableGpuRendering, shouldOfferGpuFallback, } from './gpuFallback.js';
|
|
4
5
|
/**
|
|
5
6
|
* The "Use Canvas2D" remedy on a GPU error banner, for the MUI chrome.
|
|
@@ -9,7 +10,7 @@ import { GPU_FALLBACK_LABEL, GPU_FALLBACK_TOOLTIP, disableGpuRendering, shouldOf
|
|
|
9
10
|
* predicate. Every place that repeated it is a place that could forget it, and
|
|
10
11
|
* two already had.
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
+
const GpuFallbackButton = observer(function GpuFallbackButton({ error, onRetry, }) {
|
|
13
14
|
if (!shouldOfferGpuFallback(error)) {
|
|
14
15
|
return null;
|
|
15
16
|
}
|
|
@@ -17,4 +18,5 @@ export default function GpuFallbackButton({ error, onRetry, }) {
|
|
|
17
18
|
disableGpuRendering();
|
|
18
19
|
onRetry();
|
|
19
20
|
}, children: GPU_FALLBACK_LABEL }) }));
|
|
20
|
-
}
|
|
21
|
+
});
|
|
22
|
+
export default GpuFallbackButton;
|
package/esm/ui/HoverMenu.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PopoverOrigin } from '@mui/material';
|
|
2
|
-
declare
|
|
2
|
+
declare const HoverMenu: ({ anchorEl, onClose, onMouseEnter, paperRef, anchorOrigin, transformOrigin, zIndex, children, }: {
|
|
3
3
|
anchorEl: HTMLElement | null;
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
onMouseEnter?: () => void;
|
|
@@ -8,5 +8,5 @@ declare function HoverMenu({ anchorEl, onClose, onMouseEnter, paperRef, anchorOr
|
|
|
8
8
|
transformOrigin: PopoverOrigin;
|
|
9
9
|
zIndex?: React.CSSProperties['zIndex'];
|
|
10
10
|
children: React.ReactNode;
|
|
11
|
-
})
|
|
11
|
+
}) => import("react").JSX.Element;
|
|
12
12
|
export default HoverMenu;
|
package/esm/ui/HoverMenu.js
CHANGED
|
@@ -2,6 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// this code adapted from material-ui-popup-state by Andy Edwards, MIT license
|
|
3
3
|
// https://github.com/jcoreio/material-ui-popup-state/blob/9dba66241a0c25b172c93ae7d9e45a9745f138e8/LICENSE.md
|
|
4
4
|
import { Menu } from '@mui/material';
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
6
|
+
import { usePlacedMenuFocus } from './usePlacedMenuFocus.js';
|
|
5
7
|
// A Menu a hovering pointer can cross into: the root (which spans the viewport)
|
|
6
8
|
// is click-through so the gap between the opener row and the panel doesn't
|
|
7
9
|
// swallow the pointer, while the paper itself stays interactive. That root can
|
|
@@ -18,13 +20,15 @@ import { Menu } from '@mui/material';
|
|
|
18
20
|
// and `onMouseEnter`, which fires on the paper rather than the click-through
|
|
19
21
|
// root and so means "the pointer arrived here", not "the pointer is somewhere
|
|
20
22
|
// over the viewport".
|
|
21
|
-
function HoverMenu({ anchorEl, onClose, onMouseEnter, paperRef, anchorOrigin, transformOrigin, zIndex, children, }) {
|
|
22
|
-
|
|
23
|
+
const HoverMenu = observer(function HoverMenu({ anchorEl, onClose, onMouseEnter, paperRef, anchorOrigin, transformOrigin, zIndex, children, }) {
|
|
24
|
+
const { onEntering, ...focus } = usePlacedMenuFocus();
|
|
25
|
+
return (_jsx(Menu, { ...focus, open: true, anchorEl: anchorEl, onClose: onClose, anchorOrigin: anchorOrigin, transformOrigin: transformOrigin, style: { pointerEvents: 'none', zIndex }, hideBackdrop: true, slotProps: {
|
|
23
26
|
paper: {
|
|
24
27
|
style: { pointerEvents: 'auto' },
|
|
25
28
|
onMouseEnter,
|
|
26
29
|
ref: paperRef,
|
|
27
30
|
},
|
|
31
|
+
transition: { onEntering },
|
|
28
32
|
},
|
|
29
33
|
// A submenu is portaled in the DOM but is still a React *descendant* of
|
|
30
34
|
// the parent menu's list, so React replays its key events into the parent
|
|
@@ -36,5 +40,5 @@ function HoverMenu({ anchorEl, onClose, onMouseEnter, paperRef, anchorOrigin, tr
|
|
|
36
40
|
onKeyDown: e => {
|
|
37
41
|
e.stopPropagation();
|
|
38
42
|
}, children: children }));
|
|
39
|
-
}
|
|
43
|
+
});
|
|
40
44
|
export default HoverMenu;
|
package/esm/ui/HoverTooltip.d.ts
CHANGED
|
@@ -19,9 +19,10 @@ import type React from 'react';
|
|
|
19
19
|
* `BaseTooltip` is: it reaches @floating-ui (~266KB) and that barrel is on the
|
|
20
20
|
* eager plugin-entry path.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
declare const HoverTooltip: ({ hit, mouseState, children, }: {
|
|
23
23
|
/** The display's hover. Nothing is drawn when it is absent. */
|
|
24
24
|
hit: unknown;
|
|
25
25
|
mouseState: MouseState | undefined;
|
|
26
26
|
children: React.ReactNode;
|
|
27
|
-
})
|
|
27
|
+
}) => React.JSX.Element | null;
|
|
28
|
+
export default HoverTooltip;
|
package/esm/ui/HoverTooltip.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { observer } from 'mobx-react';
|
|
2
3
|
import BaseTooltip from './BaseTooltip.js';
|
|
3
4
|
/**
|
|
4
5
|
* `BaseTooltip` anchored to the chrome's pointer measurement, drawn only when
|
|
@@ -19,6 +20,7 @@ import BaseTooltip from './BaseTooltip.js';
|
|
|
19
20
|
* `BaseTooltip` is: it reaches @floating-ui (~266KB) and that barrel is on the
|
|
20
21
|
* eager plugin-entry path.
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
const HoverTooltip = observer(function HoverTooltip({ hit, mouseState, children, }) {
|
|
23
24
|
return hit && mouseState ? (_jsx(BaseTooltip, { clientPoint: { x: mouseState.clientX, y: mouseState.clientY }, children: children })) : null;
|
|
24
|
-
}
|
|
25
|
+
});
|
|
26
|
+
export default HoverTooltip;
|
package/esm/ui/Icons.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SvgIconProps } from '@mui/material/SvgIcon';
|
|
2
2
|
export { default as InfoIcon } from '@mui/icons-material/Info';
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
7
|
-
export declare
|
|
3
|
+
export declare const Indexing: (props: SvgIconProps) => import("react").JSX.Element;
|
|
4
|
+
export declare const TrackSelector: (props: SvgIconProps) => import("react").JSX.Element;
|
|
5
|
+
export declare const DNA: (props: SvgIconProps) => import("react").JSX.Element;
|
|
6
|
+
export declare const Highlighter: (props: SvgIconProps) => import("react").JSX.Element;
|
|
7
|
+
export declare const Cable: (props: SvgIconProps) => import("react").JSX.Element;
|
package/esm/ui/Icons.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import SvgIcon from '@mui/material/SvgIcon';
|
|
3
|
+
import { observer } from 'mobx-react';
|
|
3
4
|
export { default as InfoIcon } from '@mui/icons-material/Info';
|
|
4
5
|
// https://materialdesignicons.com/ text-search icon
|
|
5
|
-
export function Indexing(props) {
|
|
6
|
+
export const Indexing = observer(function Indexing(props) {
|
|
6
7
|
return (_jsx(SvgIcon, { ...props, children: _jsx("path", { d: "M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z" }) }));
|
|
7
|
-
}
|
|
8
|
+
});
|
|
8
9
|
// format-list-checkbox from https://materialdesignicons.com/
|
|
9
|
-
export function TrackSelector(props) {
|
|
10
|
+
export const TrackSelector = observer(function TrackSelector(props) {
|
|
10
11
|
return (_jsx(SvgIcon, { ...props, children: _jsx("path", { d: "M21 19v-2H8v2h13m0-6v-2H8v2h13M8 7h13V5H8v2M4 5v2h2V5H4M3 5a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V5m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2m1 6v2h2v-2H4m-1 0a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1v-2z" }) }));
|
|
11
|
-
}
|
|
12
|
+
});
|
|
12
13
|
// dna from https://materialdesignicons.com/
|
|
13
|
-
export function DNA(props) {
|
|
14
|
+
export const DNA = observer(function DNA(props) {
|
|
14
15
|
return (_jsx(SvgIcon, { ...props, children: _jsx("path", { fill: "currentColor", d: "M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z" }) }));
|
|
15
|
-
}
|
|
16
|
+
});
|
|
16
17
|
// bx-highlight from https://boxicons.com/ (MIT License, Copyright (c) Aniket
|
|
17
18
|
// Suvarna) — https://github.com/atisawd/boxicons/blob/master/svg/regular/bx-highlight.svg
|
|
18
|
-
export function Highlighter(props) {
|
|
19
|
+
export const Highlighter = observer(function Highlighter(props) {
|
|
19
20
|
return (_jsx(SvgIcon, { ...props, children: _jsx("path", { d: "m20.707 5.826-3.535-3.533a.999.999 0 0 0-1.408-.006L7.096 10.82a1.01 1.01 0 0 0-.273.488l-1.024 4.437L4 18h2.828l1.142-1.129 3.588-.828c.18-.042.345-.133.477-.262l8.667-8.535a1 1 0 0 0 .005-1.42zm-9.369 7.833-2.121-2.12 7.243-7.131 2.12 2.12-7.242 7.131zM4 20h16v2H4z" }) }));
|
|
20
|
-
}
|
|
21
|
-
export function Cable(props) {
|
|
21
|
+
});
|
|
22
|
+
export const Cable = observer(function Cable(props) {
|
|
22
23
|
return (_jsx(SvgIcon, { ...props, children: _jsx("path", { d: "M20 5V4c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v1h-1v4c0 .55.45 1 1 1h1v7c0 1.1-.9 2-2 2s-2-.9-2-2V7c0-2.21-1.79-4-4-4S5 4.79 5 7v7H4c-.55 0-1 .45-1 1v4h1v1c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-1h1v-4c0-.55-.45-1-1-1H7V7c0-1.1.9-2 2-2s2 .9 2 2v10c0 2.21 1.79 4 4 4s4-1.79 4-4v-7h1c.55 0 1-.45 1-1V5h-1z" }) }));
|
|
23
|
-
}
|
|
24
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { INLINE_MENU_ROW_WIDTH } from './inlineMenuRowWidth.ts';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const ResetToDefaultButton: ({ disabled, title, onClick, }: {
|
|
3
3
|
disabled: boolean;
|
|
4
4
|
title?: string;
|
|
5
5
|
onClick: () => void;
|
|
6
|
-
})
|
|
6
|
+
}) => import("react").JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/* eslint-disable react-refresh/only-export-components -- the shared row width belongs with these leaf menu-row primitives; no component state to fast-refresh */
|
|
3
2
|
import RestartAltIcon from '@mui/icons-material/RestartAlt';
|
|
4
3
|
import { IconButton, Tooltip } from '@mui/material';
|
|
4
|
+
/* eslint-disable react-refresh/only-export-components -- the shared row width belongs with these leaf menu-row primitives; no component state to fast-refresh */
|
|
5
|
+
import { observer } from 'mobx-react';
|
|
5
6
|
// Shared width for inline track-menu control rows (the size sliders and the
|
|
6
7
|
// wiggle resolution stepper), so the rows line up when they stack in one menu
|
|
7
8
|
// and can't drift apart.
|
|
@@ -10,8 +11,8 @@ export { INLINE_MENU_ROW_WIDTH } from './inlineMenuRowWidth.js';
|
|
|
10
11
|
// a span so its Tooltip still shows while disabled at the default. Kept in one
|
|
11
12
|
// place so the icon/size/padding and the disabled-at-default behavior stay
|
|
12
13
|
// identical across the sibling controls.
|
|
13
|
-
export function ResetToDefaultButton({ disabled, title = 'Reset to default', onClick, }) {
|
|
14
|
+
export const ResetToDefaultButton = observer(function ResetToDefaultButton({ disabled, title = 'Reset to default', onClick, }) {
|
|
14
15
|
return (_jsx(Tooltip, { title: title, children: _jsx("span", { children: _jsx(IconButton, { size: "small", sx: { p: 0.25 }, disabled: disabled, onClick: () => {
|
|
15
16
|
onClick();
|
|
16
17
|
}, children: _jsx(RestartAltIcon, { fontSize: "small" }) }) }) }));
|
|
17
|
-
}
|
|
18
|
+
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { ConditionRow, FieldChoice, TextRow } from '../util/jexlFilterRows.ts';
|
|
2
2
|
import type { Jexl } from '@jbrowse/jexl';
|
|
3
3
|
export declare function compileError(line: string, jexl: Pick<Jexl, 'compile'>): string | undefined;
|
|
4
|
-
export declare
|
|
4
|
+
export declare const ConditionRowEditor: ({ row, choices, onChange, onRemove, }: {
|
|
5
5
|
row: ConditionRow;
|
|
6
6
|
choices: FieldChoice[];
|
|
7
7
|
onChange: (row: ConditionRow) => void;
|
|
8
8
|
onRemove: () => void;
|
|
9
|
-
})
|
|
10
|
-
export declare
|
|
9
|
+
}) => import("react").JSX.Element;
|
|
10
|
+
export declare const TextRowEditor: ({ row, jexl, onChange, onRemove, }: {
|
|
11
11
|
row: TextRow;
|
|
12
12
|
jexl: Pick<Jexl, 'compile'>;
|
|
13
13
|
onChange: (row: TextRow) => void;
|
|
14
14
|
onRemove: () => void;
|
|
15
|
-
})
|
|
15
|
+
}) => import("react").JSX.Element;
|