@jbrowse/plugin-circular-view 3.7.0 → 4.0.0

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.
Files changed (73) hide show
  1. package/esm/CircularView/components/CircularView.d.ts +2 -2
  2. package/esm/CircularView/components/CircularView.js +21 -15
  3. package/esm/CircularView/components/Controls.d.ts +2 -2
  4. package/esm/CircularView/components/Controls.js +3 -3
  5. package/esm/CircularView/components/ExportSvgDialog.d.ts +1 -1
  6. package/esm/CircularView/components/ImportForm.d.ts +2 -2
  7. package/esm/CircularView/components/ImportForm.js +4 -4
  8. package/esm/CircularView/components/Ruler.d.ts +2 -2
  9. package/esm/CircularView/components/Ruler.js +7 -7
  10. package/esm/CircularView/index.js +2 -2
  11. package/esm/CircularView/model.d.ts +73 -34
  12. package/esm/CircularView/model.js +146 -54
  13. package/esm/CircularView/slices.js +9 -1
  14. package/esm/CircularView/svgcomponents/SVGCircularView.d.ts +1 -1
  15. package/esm/CircularView/svgcomponents/SVGCircularView.js +3 -4
  16. package/esm/LaunchCircularView/index.js +6 -12
  17. package/esm/index.d.ts +1 -2
  18. package/esm/index.js +4 -7
  19. package/package.json +26 -32
  20. package/dist/BaseChordDisplay/components/BaseChordDisplay.d.ts +0 -11
  21. package/dist/BaseChordDisplay/components/BaseChordDisplay.js +0 -21
  22. package/dist/BaseChordDisplay/components/DisplayError.d.ts +0 -9
  23. package/dist/BaseChordDisplay/components/DisplayError.js +0 -9
  24. package/dist/BaseChordDisplay/components/Loading.d.ts +0 -8
  25. package/dist/BaseChordDisplay/components/Loading.js +0 -62
  26. package/dist/BaseChordDisplay/configSchema.d.ts +0 -9
  27. package/dist/BaseChordDisplay/configSchema.js +0 -16
  28. package/dist/BaseChordDisplay/index.d.ts +0 -3
  29. package/dist/BaseChordDisplay/index.js +0 -12
  30. package/dist/BaseChordDisplay/model.d.ts +0 -109
  31. package/dist/BaseChordDisplay/model.js +0 -166
  32. package/dist/BaseChordDisplay/renderReaction.d.ts +0 -27
  33. package/dist/BaseChordDisplay/renderReaction.js +0 -50
  34. package/dist/CircularView/components/CircularView.d.ts +0 -5
  35. package/dist/CircularView/components/CircularView.js +0 -60
  36. package/dist/CircularView/components/Controls.d.ts +0 -5
  37. package/dist/CircularView/components/Controls.js +0 -57
  38. package/dist/CircularView/components/ExportSvgDialog.d.ts +0 -7
  39. package/dist/CircularView/components/ExportSvgDialog.js +0 -53
  40. package/dist/CircularView/components/ImportForm.d.ts +0 -5
  41. package/dist/CircularView/components/ImportForm.js +0 -35
  42. package/dist/CircularView/components/Ruler.d.ts +0 -7
  43. package/dist/CircularView/components/Ruler.js +0 -106
  44. package/dist/CircularView/index.d.ts +0 -2
  45. package/dist/CircularView/index.js +0 -50
  46. package/dist/CircularView/model.d.ts +0 -107
  47. package/dist/CircularView/model.js +0 -376
  48. package/dist/CircularView/slices.d.ts +0 -45
  49. package/dist/CircularView/slices.js +0 -57
  50. package/dist/CircularView/svgcomponents/SVGBackground.d.ts +0 -5
  51. package/dist/CircularView/svgcomponents/SVGBackground.js +0 -10
  52. package/dist/CircularView/svgcomponents/SVGCircularView.d.ts +0 -4
  53. package/dist/CircularView/svgcomponents/SVGCircularView.js +0 -31
  54. package/dist/CircularView/viewportVisibleRegion.d.ts +0 -6
  55. package/dist/CircularView/viewportVisibleRegion.js +0 -153
  56. package/dist/LaunchCircularView/index.d.ts +0 -2
  57. package/dist/LaunchCircularView/index.js +0 -22
  58. package/dist/index.d.ts +0 -9
  59. package/dist/index.js +0 -37
  60. package/esm/BaseChordDisplay/components/BaseChordDisplay.d.ts +0 -11
  61. package/esm/BaseChordDisplay/components/BaseChordDisplay.js +0 -16
  62. package/esm/BaseChordDisplay/components/DisplayError.d.ts +0 -9
  63. package/esm/BaseChordDisplay/components/DisplayError.js +0 -7
  64. package/esm/BaseChordDisplay/components/Loading.d.ts +0 -8
  65. package/esm/BaseChordDisplay/components/Loading.js +0 -60
  66. package/esm/BaseChordDisplay/configSchema.d.ts +0 -9
  67. package/esm/BaseChordDisplay/configSchema.js +0 -13
  68. package/esm/BaseChordDisplay/index.d.ts +0 -3
  69. package/esm/BaseChordDisplay/index.js +0 -3
  70. package/esm/BaseChordDisplay/model.d.ts +0 -109
  71. package/esm/BaseChordDisplay/model.js +0 -163
  72. package/esm/BaseChordDisplay/renderReaction.d.ts +0 -27
  73. package/esm/BaseChordDisplay/renderReaction.js +0 -46
@@ -1,5 +1,5 @@
1
- import type { CircularViewModel } from '../model';
2
- declare const CircularView: ({ model }: {
1
+ import type { CircularViewModel } from '../model.ts';
2
+ declare const CircularView: ({ model, }: {
3
3
  model: CircularViewModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element | null;
5
5
  export default CircularView;
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ResizeHandle } from '@jbrowse/core/ui';
2
+ import { LoadingEllipses, ResizeHandle } from '@jbrowse/core/ui';
3
3
  import { assembleLocString } from '@jbrowse/core/util';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import { observer } from 'mobx-react';
5
- import { makeStyles } from 'tss-react/mui';
6
- import Controls from './Controls';
7
- import ImportForm from './ImportForm';
8
- import Ruler from './Ruler';
6
+ import Controls from "./Controls.js";
7
+ import ImportForm from "./ImportForm.js";
8
+ import Ruler from "./Ruler.js";
9
9
  const dragHandleHeight = 3;
10
10
  const useStyles = makeStyles()(theme => ({
11
11
  root: {
@@ -17,22 +17,28 @@ const useStyles = makeStyles()(theme => ({
17
17
  overflow: 'auto',
18
18
  },
19
19
  }));
20
- const Slices = observer(({ model }) => {
20
+ const Slices = observer(function Slices({ model, }) {
21
21
  return (_jsxs(_Fragment, { children: [model.staticSlices.map(slice => (_jsx(Ruler, { model: model, slice: slice }, assembleLocString(slice.region.elided ? slice.region.regions[0] : slice.region)))), model.tracks.map(track => {
22
22
  const display = track.displays[0];
23
23
  return (_jsx(display.RenderingComponent, { display: display, view: model }, display.id));
24
24
  })] }));
25
25
  });
26
- const CircularView = observer(({ model }) => {
27
- const initialized = !!model.displayedRegions.length &&
28
- !!model.figureWidth &&
29
- !!model.figureHeight &&
30
- model.initialized;
31
- const showImportForm = !initialized && !model.disableImportForm;
32
- const showFigure = initialized && !showImportForm;
33
- return showImportForm || model.error ? (_jsx(ImportForm, { model: model })) : showFigure ? (_jsx(CircularViewLoaded, { model: model })) : null;
26
+ const CircularView = observer(function CircularView({ model, }) {
27
+ const { showLoading, showView, showImportForm, loadingMessage } = model;
28
+ if (showLoading) {
29
+ return _jsx(LoadingEllipses, { variant: "h6", message: loadingMessage });
30
+ }
31
+ else if (showImportForm) {
32
+ return _jsx(ImportForm, { model: model });
33
+ }
34
+ else if (showView) {
35
+ return _jsx(CircularViewLoaded, { model: model });
36
+ }
37
+ else {
38
+ return null;
39
+ }
34
40
  });
35
- const CircularViewLoaded = observer(function ({ model, }) {
41
+ const CircularViewLoaded = observer(function CircularViewLoaded({ model, }) {
36
42
  const { width, height, id, offsetRadians, centerXY, figureWidth, figureHeight, hideVerticalResizeHandle, } = model;
37
43
  const { classes } = useStyles();
38
44
  return (_jsxs("div", { className: classes.root, style: { width, height }, "data-testid": id, children: [_jsx("div", { className: classes.scroller, style: { width, height }, children: _jsx("svg", { style: {
@@ -1,5 +1,5 @@
1
- import type { CircularViewModel } from '../model';
2
- declare const Controls: ({ model }: {
1
+ import type { CircularViewModel } from '../model.ts';
2
+ declare const Controls: ({ model, }: {
3
3
  model: CircularViewModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export default Controls;
@@ -3,6 +3,7 @@ import { useState } from 'react';
3
3
  import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
4
4
  import JBrowseMenu from '@jbrowse/core/ui/Menu';
5
5
  import { getSession } from '@jbrowse/core/util';
6
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
6
7
  import LockIcon from '@mui/icons-material/Lock';
7
8
  import LockOpenIcon from '@mui/icons-material/LockOpen';
8
9
  import MoreVert from '@mui/icons-material/MoreVert';
@@ -13,8 +14,7 @@ import ZoomInIcon from '@mui/icons-material/ZoomIn';
13
14
  import ZoomOutIcon from '@mui/icons-material/ZoomOut';
14
15
  import { IconButton } from '@mui/material';
15
16
  import { observer } from 'mobx-react';
16
- import { makeStyles } from 'tss-react/mui';
17
- import ExportSvgDialog from './ExportSvgDialog';
17
+ import ExportSvgDialog from "./ExportSvgDialog.js";
18
18
  const useStyles = makeStyles()(theme => ({
19
19
  controls: {
20
20
  position: 'absolute',
@@ -24,7 +24,7 @@ const useStyles = makeStyles()(theme => ({
24
24
  top: 0,
25
25
  },
26
26
  }));
27
- const Controls = observer(function ({ model }) {
27
+ const Controls = observer(function Controls({ model, }) {
28
28
  const { classes } = useStyles();
29
29
  const [anchorEl, setAnchorEl] = useState(null);
30
30
  return (_jsxs("div", { className: classes.controls, children: [_jsx(IconButton, { onClick: model.zoomOutButton, title: model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out', disabled: model.atMaxBpPerPx || model.lockedFitToWindow, children: _jsx(ZoomOutIcon, {}) }), _jsx(IconButton, { onClick: model.zoomInButton, disabled: model.atMinBpPerPx, title: "zoom in", children: _jsx(ZoomInIcon, {}) }), _jsx(IconButton, { onClick: model.rotateCounterClockwiseButton, title: "rotate counter-clockwise", children: _jsx(RotateLeftIcon, {}) }), _jsx(IconButton, { onClick: model.rotateClockwiseButton, title: "rotate clockwise", children: _jsx(RotateRightIcon, {}) }), _jsx(IconButton, { onClick: model.toggleFitToWindowLock, title: model.lockedFitToWindow
@@ -1,4 +1,4 @@
1
- import type { ExportSvgOptions } from '../model';
1
+ import type { ExportSvgOptions } from '../model.ts';
2
2
  export default function ExportSvgDialog({ model, handleClose, }: {
3
3
  model: {
4
4
  exportSvg(opts: ExportSvgOptions): Promise<void>;
@@ -1,5 +1,5 @@
1
- import type { CircularViewModel } from '../model';
2
- declare const ImportForm: ({ model }: {
1
+ import type { CircularViewModel } from '../model.ts';
2
+ declare const ImportForm: ({ model, }: {
3
3
  model: CircularViewModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export default ImportForm;
@@ -2,15 +2,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { AssemblySelector, ErrorMessage } from '@jbrowse/core/ui';
4
4
  import { getSession } from '@jbrowse/core/util';
5
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
5
6
  import { Button, Container, Grid } from '@mui/material';
6
7
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  importFormContainer: {
10
10
  padding: theme.spacing(6),
11
11
  },
12
12
  }));
13
- const ImportForm = observer(function ({ model }) {
13
+ const ImportForm = observer(function ImportForm({ model, }) {
14
14
  const { classes } = useStyles();
15
15
  const session = getSession(model);
16
16
  const { error } = model;
@@ -18,9 +18,9 @@ const ImportForm = observer(function ({ model }) {
18
18
  const [selectedAsm, setSelectedAsm] = useState(assemblyNames[0]);
19
19
  const assembly = assemblyManager.get(selectedAsm);
20
20
  const assemblyError = assemblyNames.length
21
- ? assembly === null || assembly === void 0 ? void 0 : assembly.error
21
+ ? assembly?.error
22
22
  : 'No configured assemblies';
23
- const regions = (assembly === null || assembly === void 0 ? void 0 : assembly.regions) || [];
23
+ const regions = assembly?.regions || [];
24
24
  const err = assemblyError || error;
25
25
  return (_jsxs(Container, { className: classes.importFormContainer, children: [err ? (_jsx(Grid, { container: true, spacing: 1, justifyContent: "center", alignItems: "center", children: _jsx(ErrorMessage, { error: err }) })) : null, _jsxs(Grid, { container: true, spacing: 1, justifyContent: "center", alignItems: "center", children: [_jsx(AssemblySelector, { onChange: val => {
26
26
  model.setError(undefined);
@@ -1,5 +1,5 @@
1
- import type { CircularViewModel } from '../model';
2
- import type { Slice } from '../slices';
1
+ import type { CircularViewModel } from '../model.ts';
2
+ import type { Slice } from '../slices.ts';
3
3
  declare const Ruler: ({ model, slice, }: {
4
4
  model: CircularViewModel;
5
5
  slice: Slice;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { assembleLocString, getFillProps, getSession, getStrokeProps, polarToCartesian, radToDeg, } from '@jbrowse/core/util';
2
+ import { assembleLocString, getFillProps, getSession, getStrokeProps, polarToCartesian, radToDeg, toLocale, } from '@jbrowse/core/util';
3
3
  import { makeContrasting } from '@jbrowse/core/util/color';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import { useTheme } from '@mui/material/styles';
5
6
  import { observer } from 'mobx-react';
6
- import { makeStyles } from 'tss-react/mui';
7
7
  const useStyles = makeStyles()({
8
8
  rulerLabel: {
9
9
  fontSize: '0.8rem',
@@ -33,7 +33,7 @@ function sliceArcPath(slice, radiusPx, startBase, endBase) {
33
33
  ...endXY,
34
34
  ].join(' ');
35
35
  }
36
- const ElisionRulerArc = observer(function ({ model, slice, region, }) {
36
+ const ElisionRulerArc = observer(function ElisionRulerArc({ model, slice, region, }) {
37
37
  const theme = useTheme();
38
38
  const { radiusPx: modelRadiusPx } = model;
39
39
  const radiusPx = modelRadiusPx + 1;
@@ -43,7 +43,7 @@ const ElisionRulerArc = observer(function ({ model, slice, region, }) {
43
43
  const widthPx = (endRadians - startRadians) * radiusPx;
44
44
  const largeArc = endRadians - startRadians > Math.PI ? '1' : '0';
45
45
  const centerRadians = (endRadians + startRadians) / 2;
46
- const regionCount = `[${region.regions.length.toLocaleString()}]`;
46
+ const regionCount = `[${toLocale(region.regions.length)}]`;
47
47
  return (_jsxs(_Fragment, { children: [_jsx(RulerLabel, { text: regionCount, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, title: `${regionCount} more regions`, color: theme.palette.text.primary }), _jsx("path", { d: [
48
48
  'M',
49
49
  ...startXY,
@@ -56,7 +56,7 @@ const ElisionRulerArc = observer(function ({ model, slice, region, }) {
56
56
  ...endXY,
57
57
  ].join(' '), ...getStrokeProps(theme.palette.text.secondary), strokeWidth: 2, strokeDasharray: "2,2", fill: "none" })] }));
58
58
  });
59
- const RulerLabel = observer(function ({ view, text, maxWidthPx, radians, radiusPx, title, color, }) {
59
+ const RulerLabel = observer(function RulerLabel({ view, text, maxWidthPx, radians, radiusPx, title, color, }) {
60
60
  const { classes } = useStyles();
61
61
  const textXY = polarToCartesian(radiusPx + 5, radians);
62
62
  if (!text) {
@@ -76,7 +76,7 @@ const RulerLabel = observer(function ({ view, text, maxWidthPx, radians, radiusP
76
76
  return null;
77
77
  }
78
78
  });
79
- const RegionRulerArc = observer(function ({ model, slice, region, }) {
79
+ const RegionRulerArc = observer(function RegionRulerArc({ model, slice, region, }) {
80
80
  const theme = useTheme();
81
81
  const { radiusPx } = model;
82
82
  const { endRadians, startRadians } = slice;
@@ -98,7 +98,7 @@ const RegionRulerArc = observer(function ({ model, slice, region, }) {
98
98
  }
99
99
  return (_jsxs(_Fragment, { children: [_jsx(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }), _jsx("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })] }));
100
100
  });
101
- const Ruler = observer(function ({ model, slice, }) {
101
+ const Ruler = observer(function Ruler({ model, slice, }) {
102
102
  return slice.region.elided ? (_jsx(ElisionRulerArc, { model: model, region: slice.region, slice: slice }, assembleLocString(slice.region.regions[0]))) : (_jsx(RegionRulerArc, { region: slice.region, model: model, slice: slice }, assembleLocString(slice.region)));
103
103
  });
104
104
  export default Ruler;
@@ -1,9 +1,9 @@
1
1
  import { lazy } from 'react';
2
2
  import ViewType from '@jbrowse/core/pluggableElementTypes/ViewType';
3
- import stateModelFactory from './model';
3
+ import stateModelFactory from "./model.js";
4
4
  export default function CircularViewF(pluginManager) {
5
5
  pluginManager.addViewType(() => new ViewType({
6
- ReactComponent: lazy(() => import('./components/CircularView')),
6
+ ReactComponent: lazy(() => import("./components/CircularView.js")),
7
7
  stateModel: stateModelFactory(pluginManager),
8
8
  name: 'CircularView',
9
9
  displayName: 'Circular view',
@@ -1,11 +1,14 @@
1
1
  import type React from 'react';
2
- import type { SliceRegion } from './slices';
2
+ import type { SliceRegion } from './slices.ts';
3
3
  import type PluginManager from '@jbrowse/core/PluginManager';
4
4
  import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
5
5
  import type { MenuItem } from '@jbrowse/core/ui';
6
- import type { Region as IRegion } from '@jbrowse/core/util/types';
7
- import type { Region } from '@jbrowse/core/util/types/mst';
8
- import type { Instance, SnapshotOrInstance } from 'mobx-state-tree';
6
+ import type { Region } from '@jbrowse/core/util/types';
7
+ import type { Instance } from '@jbrowse/mobx-state-tree';
8
+ export interface CircularViewInit {
9
+ assembly: string;
10
+ tracks?: string[];
11
+ }
9
12
  export interface ExportSvgOptions {
10
13
  rasterizeLayers?: boolean;
11
14
  filename?: string;
@@ -14,30 +17,31 @@ export interface ExportSvgOptions {
14
17
  }>;
15
18
  themeName?: string;
16
19
  }
17
- declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
18
- id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
19
- displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
20
- minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
20
+ declare function stateModelFactory(pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{
21
+ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
22
+ displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
23
+ minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
21
24
  } & {
22
- type: import("mobx-state-tree").ISimpleType<"CircularView">;
23
- offsetRadians: import("mobx-state-tree").IType<number | undefined, number, number>;
24
- bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
25
- tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
26
- hideVerticalResizeHandle: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
27
- hideTrackSelectorButton: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
28
- lockedFitToWindow: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
29
- disableImportForm: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
30
- height: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<number>, [undefined]>;
31
- displayedRegions: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<IRegion[], IRegion[], IRegion[]>, [undefined]>;
32
- scrollX: import("mobx-state-tree").IType<number | undefined, number, number>;
33
- scrollY: import("mobx-state-tree").IType<number | undefined, number, number>;
34
- minimumRadiusPx: import("mobx-state-tree").IType<number | undefined, number, number>;
35
- spacingPx: import("mobx-state-tree").IType<number | undefined, number, number>;
36
- paddingPx: import("mobx-state-tree").IType<number | undefined, number, number>;
37
- lockedPaddingPx: import("mobx-state-tree").IType<number | undefined, number, number>;
38
- minVisibleWidth: import("mobx-state-tree").IType<number | undefined, number, number>;
39
- minimumBlockWidth: import("mobx-state-tree").IType<number | undefined, number, number>;
40
- trackSelectorType: import("mobx-state-tree").IType<string | undefined, string, string>;
25
+ type: import("@jbrowse/mobx-state-tree").ISimpleType<"CircularView">;
26
+ offsetRadians: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
27
+ bpPerPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
28
+ tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>;
29
+ hideVerticalResizeHandle: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
30
+ hideTrackSelectorButton: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
31
+ lockedFitToWindow: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
32
+ disableImportForm: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
33
+ height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
34
+ displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
35
+ scrollX: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
36
+ scrollY: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
37
+ minimumRadiusPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
38
+ spacingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
39
+ paddingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
40
+ lockedPaddingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
41
+ minVisibleWidth: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
42
+ minimumBlockWidth: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
43
+ trackSelectorType: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
44
+ init: import("@jbrowse/mobx-state-tree").IType<CircularViewInit | undefined, CircularViewInit | undefined, CircularViewInit | undefined>;
41
45
  }, {
42
46
  width: number;
43
47
  } & {
@@ -48,7 +52,7 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
48
52
  setMinimized(flag: boolean): void;
49
53
  } & {
50
54
  volatileWidth: number | undefined;
51
- error: unknown;
55
+ volatileError: unknown;
52
56
  } & {
53
57
  readonly width: number;
54
58
  readonly visibleSection: {
@@ -73,10 +77,17 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
73
77
  readonly elidedRegions: SliceRegion[];
74
78
  readonly assemblyNames: string[];
75
79
  readonly initialized: boolean;
80
+ readonly assemblyErrors: string;
81
+ readonly error: unknown;
82
+ readonly loadingMessage: "Loading" | undefined;
83
+ readonly hasSomethingToShow: boolean;
84
+ readonly showLoading: boolean;
85
+ readonly showView: boolean;
86
+ readonly showImportForm: boolean;
76
87
  } & {
77
- readonly staticSlices: import("./slices").Slice[];
88
+ readonly staticSlices: import("./slices.ts").Slice[];
78
89
  } & {
79
- readonly visibleStaticSlices: import("./slices").Slice[];
90
+ readonly visibleStaticSlices: import("./slices.ts").Slice[];
80
91
  } & {
81
92
  setWidth(newWidth: number): number;
82
93
  setHeight(newHeight: number): number;
@@ -90,18 +101,46 @@ declare function stateModelFactory(pluginManager: PluginManager): import("mobx-s
90
101
  zoomOutButton(): void;
91
102
  setBpPerPx(newVal: number): void;
92
103
  setModelViewWhenAdjust(secondCondition: boolean): void;
93
- setDisplayedRegions(regions: SnapshotOrInstance<typeof Region>[]): void;
104
+ setDisplayedRegions(regions: Region[]): void;
94
105
  activateTrackSelector(): import("@jbrowse/core/util").Widget;
95
- toggleTrack(trackId: string): boolean;
106
+ toggleTrack(trackId: string): void;
96
107
  setError(error: unknown): void;
108
+ setInit(init?: CircularViewInit): void;
97
109
  showTrack(trackId: string, initialSnapshot?: {}): void;
98
110
  addTrackConf(configuration: AnyConfigurationModel, initialSnapshot?: {}): void;
99
- hideTrack(trackId: string): number;
111
+ hideTrack(trackId: string): void;
100
112
  toggleFitToWindowLock(): boolean;
101
113
  exportSvg(opts?: ExportSvgOptions): Promise<void>;
114
+ } & {
115
+ afterAttach(): void;
102
116
  } & {
103
117
  menuItems(): MenuItem[];
104
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
118
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
119
+ id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
120
+ displayName: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
121
+ minimized: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
122
+ } & {
123
+ type: import("@jbrowse/mobx-state-tree").ISimpleType<"CircularView">;
124
+ offsetRadians: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
125
+ bpPerPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
126
+ tracks: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyType>;
127
+ hideVerticalResizeHandle: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
128
+ hideTrackSelectorButton: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
129
+ lockedFitToWindow: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
130
+ disableImportForm: import("@jbrowse/mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
131
+ height: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<number>, [undefined]>;
132
+ displayedRegions: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<Region[], Region[], Region[]>, [undefined]>;
133
+ scrollX: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
134
+ scrollY: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
135
+ minimumRadiusPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
136
+ spacingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
137
+ paddingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
138
+ lockedPaddingPx: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
139
+ minVisibleWidth: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
140
+ minimumBlockWidth: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
141
+ trackSelectorType: import("@jbrowse/mobx-state-tree").IType<string | undefined, string, string>;
142
+ init: import("@jbrowse/mobx-state-tree").IType<CircularViewInit | undefined, CircularViewInit | undefined, CircularViewInit | undefined>;
143
+ }>>;
105
144
  export type CircularViewStateModel = ReturnType<typeof stateModelFactory>;
106
145
  export type CircularViewModel = Instance<CircularViewStateModel>;
107
146
  export default stateModelFactory;