@jbrowse/plugin-circular-view 2.6.3 → 2.7.1

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.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const _default: ({ display, }: {
2
+ declare const BaseChordDisplay: ({ display, }: {
3
3
  display: {
4
4
  filled: boolean;
5
5
  error: unknown;
@@ -9,4 +9,4 @@ declare const _default: ({ display, }: {
9
9
  };
10
10
  };
11
11
  }) => React.JSX.Element;
12
- export default _default;
12
+ export default BaseChordDisplay;
@@ -8,7 +8,7 @@ const mobx_react_1 = require("mobx-react");
8
8
  // locals
9
9
  const Loading_1 = __importDefault(require("./Loading"));
10
10
  const DisplayError_1 = __importDefault(require("./DisplayError"));
11
- exports.default = (0, mobx_react_1.observer)(function BaseChordDisplay({ display, }) {
11
+ const BaseChordDisplay = (0, mobx_react_1.observer)(function ({ display, }) {
12
12
  if (display.error) {
13
13
  return react_1.default.createElement(DisplayError_1.default, { model: display });
14
14
  }
@@ -17,3 +17,4 @@ exports.default = (0, mobx_react_1.observer)(function BaseChordDisplay({ display
17
17
  }
18
18
  return display.reactElement;
19
19
  });
20
+ exports.default = BaseChordDisplay;
@@ -3,10 +3,28 @@ export declare function renderReactionData(self: any): {
3
3
  rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
4
4
  renderProps: any;
5
5
  renderArgs: {
6
- assemblyName: any;
6
+ assemblyName: string;
7
7
  adapterConfig: any;
8
8
  rendererType: any;
9
- regions: any;
9
+ regions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
10
+ refName: import("mobx-state-tree").ISimpleType<string>;
11
+ start: import("mobx-state-tree").ISimpleType<number>;
12
+ end: import("mobx-state-tree").ISimpleType<number>;
13
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
14
+ } & {
15
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
16
+ }, {
17
+ setRefName(newRefName: string): void;
18
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
19
+ refName: import("mobx-state-tree").ISimpleType<string>;
20
+ start: import("mobx-state-tree").ISimpleType<number>;
21
+ end: import("mobx-state-tree").ISimpleType<number>;
22
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
23
+ } & {
24
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
25
+ }, {
26
+ setRefName(newRefName: string): void;
27
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
10
28
  blockDefinitions: any;
11
29
  sessionId: string;
12
30
  timeout: number;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CircularViewModel } from '../models/CircularView';
3
- declare const _default: ({ model }: {
3
+ declare const Controls: ({ model }: {
4
4
  model: CircularViewModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default Controls;
@@ -52,7 +52,7 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
52
52
  top: 0,
53
53
  },
54
54
  }));
55
- exports.default = (0, mobx_react_1.observer)(function ({ model }) {
55
+ const Controls = (0, mobx_react_1.observer)(function ({ model }) {
56
56
  const { classes } = useStyles();
57
57
  const [anchorEl, setAnchorEl] = (0, react_1.useState)(null);
58
58
  return (react_1.default.createElement("div", { className: classes.controls },
@@ -87,3 +87,4 @@ exports.default = (0, mobx_react_1.observer)(function ({ model }) {
87
87
  setAnchorEl(null);
88
88
  }, open: Boolean(anchorEl), onClose: () => setAnchorEl(null) })) : null));
89
89
  });
90
+ exports.default = Controls;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Slice } from '../models/slices';
3
3
  import { CircularViewModel } from '../models/CircularView';
4
- declare const _default: ({ model, slice, }: {
4
+ declare const Ruler: ({ model, slice, }: {
5
5
  model: CircularViewModel;
6
6
  slice: Slice;
7
7
  }) => React.JSX.Element;
8
- export default _default;
8
+ export default Ruler;
@@ -120,9 +120,10 @@ const RegionRulerArc = (0, mobx_react_1.observer)(function ({ model, slice, regi
120
120
  react_1.default.createElement(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }),
121
121
  react_1.default.createElement("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })));
122
122
  });
123
- exports.default = (0, mobx_react_1.observer)(function ({ model, slice, }) {
123
+ const Ruler = (0, mobx_react_1.observer)(function ({ model, slice, }) {
124
124
  if (slice.region.elided) {
125
125
  return (react_1.default.createElement(ElisionRulerArc, { key: (0, util_1.assembleLocString)(slice.region.regions[0]), model: model, region: slice.region, slice: slice }));
126
126
  }
127
127
  return (react_1.default.createElement(RegionRulerArc, { key: (0, util_1.assembleLocString)(slice.region), region: slice.region, model: model, slice: slice }));
128
128
  });
129
+ exports.default = Ruler;
@@ -1,17 +1,17 @@
1
1
  import { Region } from '@jbrowse/core/util';
2
- export type SliceElidedRegion = {
2
+ export interface SliceElidedRegion {
3
3
  elided: true;
4
4
  widthBp: number;
5
5
  regions: Region[];
6
- };
7
- export type SliceNonElidedRegion = {
6
+ }
7
+ export interface SliceNonElidedRegion {
8
8
  elided: false;
9
9
  widthBp: number;
10
10
  start: number;
11
11
  end: number;
12
12
  refName: string;
13
13
  assemblyName: string;
14
- };
14
+ }
15
15
  export type SliceRegion = SliceNonElidedRegion | SliceElidedRegion;
16
16
  export declare class Slice {
17
17
  region: SliceRegion;
@@ -86,8 +86,7 @@ function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
86
86
  [viewR, viewB],
87
87
  ];
88
88
  let maxRho = -Infinity;
89
- for (let i = 0; i < vertices.length; i += 1) {
90
- const [x, y] = vertices[i];
89
+ for (const [x, y] of vertices) {
91
90
  const rho = Math.sqrt(x * x + y * y);
92
91
  if (rho > maxRho) {
93
92
  maxRho = rho;
@@ -187,9 +186,8 @@ function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
187
186
  let rhoMax = -Infinity;
188
187
  let thetaMin = Infinity;
189
188
  let thetaMax = -Infinity;
190
- for (let i = 0; i < vertices.length; i += 1) {
189
+ for (const [vx, vy] of vertices) {
191
190
  // ignore vertex if outside the viewport
192
- const [vx, vy] = vertices[i];
193
191
  if (vx >= viewL && vx <= viewR && vy >= viewT && vy <= viewB) {
194
192
  const [rho, theta] = cartesianToPolar(vx * reflect, vy * reflect);
195
193
  // ignore vertex if outside the circle
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const material_1 = require("@mui/material");
8
- const color_1 = __importDefault(require("color"));
8
+ const util_1 = require("@jbrowse/core/util");
9
9
  function SVGBackground({ width, height, shift, }) {
10
10
  const theme = (0, material_1.useTheme)();
11
- return (react_1.default.createElement("rect", { width: width + shift * 2, height: height, fill: (0, color_1.default)(theme.palette.background.default).hex() }));
11
+ return (react_1.default.createElement("rect", { width: width + shift * 2, height: height, fill: (0, util_1.stripAlpha)(theme.palette.background.default) }));
12
12
  }
13
13
  exports.default = SVGBackground;
@@ -4,7 +4,7 @@ const mobx_1 = require("mobx");
4
4
  exports.default = (pluginManager) => {
5
5
  pluginManager.addToExtensionPoint('LaunchView-CircularView',
6
6
  // @ts-expect-error
7
- async ({ session, assembly, loc, tracks = [], }) => {
7
+ async ({ session, assembly, tracks = [], }) => {
8
8
  const { assemblyManager } = session;
9
9
  const view = session.addView('CircularView', {});
10
10
  await (0, mobx_1.when)(() => view.initialized);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const _default: ({ display, }: {
2
+ declare const BaseChordDisplay: ({ display, }: {
3
3
  display: {
4
4
  filled: boolean;
5
5
  error: unknown;
@@ -9,4 +9,4 @@ declare const _default: ({ display, }: {
9
9
  };
10
10
  };
11
11
  }) => React.JSX.Element;
12
- export default _default;
12
+ export default BaseChordDisplay;
@@ -3,7 +3,7 @@ import { observer } from 'mobx-react';
3
3
  // locals
4
4
  import Loading from './Loading';
5
5
  import DisplayError from './DisplayError';
6
- export default observer(function BaseChordDisplay({ display, }) {
6
+ const BaseChordDisplay = observer(function ({ display, }) {
7
7
  if (display.error) {
8
8
  return React.createElement(DisplayError, { model: display });
9
9
  }
@@ -12,3 +12,4 @@ export default observer(function BaseChordDisplay({ display, }) {
12
12
  }
13
13
  return display.reactElement;
14
14
  });
15
+ export default BaseChordDisplay;
@@ -3,10 +3,28 @@ export declare function renderReactionData(self: any): {
3
3
  rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
4
4
  renderProps: any;
5
5
  renderArgs: {
6
- assemblyName: any;
6
+ assemblyName: string;
7
7
  adapterConfig: any;
8
8
  rendererType: any;
9
- regions: any;
9
+ regions: import("mobx-state-tree").IMSTArray<import("mobx-state-tree").IModelType<{
10
+ refName: import("mobx-state-tree").ISimpleType<string>;
11
+ start: import("mobx-state-tree").ISimpleType<number>;
12
+ end: import("mobx-state-tree").ISimpleType<number>;
13
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
14
+ } & {
15
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
16
+ }, {
17
+ setRefName(newRefName: string): void;
18
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
19
+ refName: import("mobx-state-tree").ISimpleType<string>;
20
+ start: import("mobx-state-tree").ISimpleType<number>;
21
+ end: import("mobx-state-tree").ISimpleType<number>;
22
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
23
+ } & {
24
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
25
+ }, {
26
+ setRefName(newRefName: string): void;
27
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>>;
10
28
  blockDefinitions: any;
11
29
  sessionId: string;
12
30
  timeout: number;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CircularViewModel } from '../models/CircularView';
3
- declare const _default: ({ model }: {
3
+ declare const Controls: ({ model }: {
4
4
  model: CircularViewModel;
5
5
  }) => React.JSX.Element;
6
- export default _default;
6
+ export default Controls;
@@ -24,7 +24,7 @@ const useStyles = makeStyles()(theme => ({
24
24
  top: 0,
25
25
  },
26
26
  }));
27
- export default observer(function ({ model }) {
27
+ const Controls = observer(function ({ model }) {
28
28
  const { classes } = useStyles();
29
29
  const [anchorEl, setAnchorEl] = useState(null);
30
30
  return (React.createElement("div", { className: classes.controls },
@@ -59,3 +59,4 @@ export default observer(function ({ model }) {
59
59
  setAnchorEl(null);
60
60
  }, open: Boolean(anchorEl), onClose: () => setAnchorEl(null) })) : null));
61
61
  });
62
+ export default Controls;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Slice } from '../models/slices';
3
3
  import { CircularViewModel } from '../models/CircularView';
4
- declare const _default: ({ model, slice, }: {
4
+ declare const Ruler: ({ model, slice, }: {
5
5
  model: CircularViewModel;
6
6
  slice: Slice;
7
7
  }) => React.JSX.Element;
8
- export default _default;
8
+ export default Ruler;
@@ -115,9 +115,10 @@ const RegionRulerArc = observer(function ({ model, slice, region, }) {
115
115
  React.createElement(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }),
116
116
  React.createElement("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })));
117
117
  });
118
- export default observer(function ({ model, slice, }) {
118
+ const Ruler = observer(function ({ model, slice, }) {
119
119
  if (slice.region.elided) {
120
120
  return (React.createElement(ElisionRulerArc, { key: assembleLocString(slice.region.regions[0]), model: model, region: slice.region, slice: slice }));
121
121
  }
122
122
  return (React.createElement(RegionRulerArc, { key: assembleLocString(slice.region), region: slice.region, model: model, slice: slice }));
123
123
  });
124
+ export default Ruler;
@@ -1,17 +1,17 @@
1
1
  import { Region } from '@jbrowse/core/util';
2
- export type SliceElidedRegion = {
2
+ export interface SliceElidedRegion {
3
3
  elided: true;
4
4
  widthBp: number;
5
5
  regions: Region[];
6
- };
7
- export type SliceNonElidedRegion = {
6
+ }
7
+ export interface SliceNonElidedRegion {
8
8
  elided: false;
9
9
  widthBp: number;
10
10
  start: number;
11
11
  end: number;
12
12
  refName: string;
13
13
  assemblyName: string;
14
- };
14
+ }
15
15
  export type SliceRegion = SliceNonElidedRegion | SliceElidedRegion;
16
16
  export declare class Slice {
17
17
  region: SliceRegion;
@@ -81,8 +81,7 @@ export function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
81
81
  [viewR, viewB],
82
82
  ];
83
83
  let maxRho = -Infinity;
84
- for (let i = 0; i < vertices.length; i += 1) {
85
- const [x, y] = vertices[i];
84
+ for (const [x, y] of vertices) {
86
85
  const rho = Math.sqrt(x * x + y * y);
87
86
  if (rho > maxRho) {
88
87
  maxRho = rho;
@@ -182,9 +181,8 @@ export function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
182
181
  let rhoMax = -Infinity;
183
182
  let thetaMin = Infinity;
184
183
  let thetaMax = -Infinity;
185
- for (let i = 0; i < vertices.length; i += 1) {
184
+ for (const [vx, vy] of vertices) {
186
185
  // ignore vertex if outside the viewport
187
- const [vx, vy] = vertices[i];
188
186
  if (vx >= viewL && vx <= viewR && vy >= viewT && vy <= viewB) {
189
187
  const [rho, theta] = cartesianToPolar(vx * reflect, vy * reflect);
190
188
  // ignore vertex if outside the circle
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useTheme } from '@mui/material';
3
- import Color from 'color';
3
+ import { stripAlpha } from '@jbrowse/core/util';
4
4
  export default function SVGBackground({ width, height, shift, }) {
5
5
  const theme = useTheme();
6
- return (React.createElement("rect", { width: width + shift * 2, height: height, fill: Color(theme.palette.background.default).hex() }));
6
+ return (React.createElement("rect", { width: width + shift * 2, height: height, fill: stripAlpha(theme.palette.background.default) }));
7
7
  }
@@ -2,7 +2,7 @@ import { when } from 'mobx';
2
2
  export default (pluginManager) => {
3
3
  pluginManager.addToExtensionPoint('LaunchView-CircularView',
4
4
  // @ts-expect-error
5
- async ({ session, assembly, loc, tracks = [], }) => {
5
+ async ({ session, assembly, tracks = [], }) => {
6
6
  const { assemblyManager } = session;
7
7
  const view = session.addView('CircularView', {});
8
8
  await when(() => view.initialized);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/plugin-circular-view",
3
- "version": "2.6.3",
3
+ "version": "2.7.1",
4
4
  "description": "JBrowse 2 circular view",
5
5
  "keywords": [
6
6
  "jbrowse",
@@ -39,14 +39,13 @@
39
39
  "@mui/icons-material": "^5.0.1",
40
40
  "@types/file-saver": "^2.0.0",
41
41
  "clone": "^2.1.2",
42
- "color": "^3.1.3",
43
42
  "file-saver": "^2.0.0"
44
43
  },
45
44
  "peerDependencies": {
46
45
  "@jbrowse/core": "^2.0.0",
47
46
  "@mui/material": "^5.0.0",
48
47
  "mobx": "^6.0.0",
49
- "mobx-react": "^7.0.0",
48
+ "mobx-react": "^9.0.0",
50
49
  "mobx-state-tree": "^5.0.0",
51
50
  "react": ">=16.8.0",
52
51
  "react-dom": ">=16.8.0",
@@ -58,5 +57,5 @@
58
57
  "distModule": "esm/index.js",
59
58
  "srcModule": "src/index.ts",
60
59
  "module": "esm/index.js",
61
- "gitHead": "ed402c87efb0904858d602c363bd1757d5742129"
60
+ "gitHead": "2cda1611eebd12517f2a3cfc1b612face27005d4"
62
61
  }