@jbrowse/plugin-circular-view 2.18.0 → 3.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 (45) hide show
  1. package/dist/BaseChordDisplay/components/BaseChordDisplay.d.ts +1 -2
  2. package/dist/BaseChordDisplay/components/BaseChordDisplay.js +3 -3
  3. package/dist/BaseChordDisplay/components/DisplayError.d.ts +1 -2
  4. package/dist/BaseChordDisplay/components/DisplayError.js +2 -11
  5. package/dist/BaseChordDisplay/components/Loading.d.ts +1 -2
  6. package/dist/BaseChordDisplay/components/Loading.js +3 -32
  7. package/dist/BaseChordDisplay/model.d.ts +1 -2
  8. package/dist/BaseChordDisplay/model.js +2 -5
  9. package/dist/CircularView/components/CircularView.d.ts +1 -2
  10. package/dist/CircularView/components/CircularView.js +20 -28
  11. package/dist/CircularView/components/Controls.d.ts +1 -2
  12. package/dist/CircularView/components/Controls.js +22 -58
  13. package/dist/CircularView/components/ExportSvgDialog.d.ts +1 -2
  14. package/dist/CircularView/components/ExportSvgDialog.js +31 -64
  15. package/dist/CircularView/components/ImportForm.d.ts +1 -2
  16. package/dist/CircularView/components/ImportForm.js +9 -39
  17. package/dist/CircularView/components/Ruler.d.ts +1 -2
  18. package/dist/CircularView/components/Ruler.js +17 -30
  19. package/dist/CircularView/index.js +17 -7
  20. package/dist/CircularView/model.js +17 -7
  21. package/dist/CircularView/svgcomponents/SVGBackground.d.ts +1 -2
  22. package/dist/CircularView/svgcomponents/SVGBackground.js +2 -5
  23. package/dist/CircularView/svgcomponents/SVGCircularView.js +3 -10
  24. package/esm/BaseChordDisplay/components/BaseChordDisplay.d.ts +1 -2
  25. package/esm/BaseChordDisplay/components/BaseChordDisplay.js +3 -3
  26. package/esm/BaseChordDisplay/components/DisplayError.d.ts +1 -2
  27. package/esm/BaseChordDisplay/components/DisplayError.js +2 -8
  28. package/esm/BaseChordDisplay/components/Loading.d.ts +1 -2
  29. package/esm/BaseChordDisplay/components/Loading.js +3 -9
  30. package/esm/BaseChordDisplay/model.d.ts +1 -2
  31. package/esm/BaseChordDisplay/model.js +2 -2
  32. package/esm/CircularView/components/CircularView.d.ts +1 -2
  33. package/esm/CircularView/components/CircularView.js +20 -28
  34. package/esm/CircularView/components/Controls.d.ts +1 -2
  35. package/esm/CircularView/components/Controls.js +22 -35
  36. package/esm/CircularView/components/ExportSvgDialog.d.ts +1 -2
  37. package/esm/CircularView/components/ExportSvgDialog.js +31 -41
  38. package/esm/CircularView/components/ImportForm.d.ts +1 -2
  39. package/esm/CircularView/components/ImportForm.js +9 -16
  40. package/esm/CircularView/components/Ruler.d.ts +1 -2
  41. package/esm/CircularView/components/Ruler.js +17 -27
  42. package/esm/CircularView/svgcomponents/SVGBackground.d.ts +1 -2
  43. package/esm/CircularView/svgcomponents/SVGBackground.js +2 -2
  44. package/esm/CircularView/svgcomponents/SVGCircularView.js +3 -10
  45. package/package.json +2 -2
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
4
  const util_1 = require("@jbrowse/core/util");
8
5
  const color_1 = require("@jbrowse/core/util/color");
9
6
  const styles_1 = require("@mui/material/styles");
@@ -49,19 +46,17 @@ const ElisionRulerArc = (0, mobx_react_1.observer)(function ({ model, slice, reg
49
46
  const largeArc = endRadians - startRadians > Math.PI ? '1' : '0';
50
47
  const centerRadians = (endRadians + startRadians) / 2;
51
48
  const regionCount = `[${Number(region.regions.length).toLocaleString()}]`;
52
- return (react_1.default.createElement(react_1.default.Fragment, null,
53
- react_1.default.createElement(RulerLabel, { text: regionCount, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, title: `${regionCount} more regions`, color: theme.palette.text.primary }),
54
- react_1.default.createElement("path", { d: [
55
- 'M',
56
- ...startXY,
57
- 'A',
58
- radiusPx,
59
- radiusPx,
60
- '0',
61
- largeArc,
62
- '1',
63
- ...endXY,
64
- ].join(' '), ...(0, util_1.getStrokeProps)(theme.palette.text.secondary), strokeWidth: 2, strokeDasharray: "2,2", fill: "none" })));
49
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(RulerLabel, { text: regionCount, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, title: `${regionCount} more regions`, color: theme.palette.text.primary }), (0, jsx_runtime_1.jsx)("path", { d: [
50
+ 'M',
51
+ ...startXY,
52
+ 'A',
53
+ radiusPx,
54
+ radiusPx,
55
+ '0',
56
+ largeArc,
57
+ '1',
58
+ ...endXY,
59
+ ].join(' '), ...(0, util_1.getStrokeProps)(theme.palette.text.secondary), strokeWidth: 2, strokeDasharray: "2,2", fill: "none" })] }));
65
60
  });
66
61
  const RulerLabel = (0, mobx_react_1.observer)(function ({ view, text, maxWidthPx, radians, radiusPx, title, color, }) {
67
62
  const { classes } = useStyles();
@@ -70,20 +65,14 @@ const RulerLabel = (0, mobx_react_1.observer)(function ({ view, text, maxWidthPx
70
65
  return null;
71
66
  }
72
67
  if (text.length * 6.5 < maxWidthPx) {
73
- return (react_1.default.createElement("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "middle", dominantBaseline: "baseline", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians) + 90})`, ...(0, util_1.getFillProps)(color) },
74
- text,
75
- react_1.default.createElement("title", null, title || text)));
68
+ return ((0, jsx_runtime_1.jsxs)("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "middle", dominantBaseline: "baseline", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians) + 90})`, ...(0, util_1.getFillProps)(color), children: [text, (0, jsx_runtime_1.jsx)("title", { children: title || text })] }));
76
69
  }
77
70
  if (maxWidthPx > 4) {
78
71
  const overallRotation = (0, util_1.radToDeg)(radians + view.offsetRadians - Math.PI / 2);
79
72
  if (overallRotation >= 180) {
80
- return (react_1.default.createElement("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "start", dominantBaseline: "middle", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians)})`, fill: color },
81
- text,
82
- react_1.default.createElement("title", null, title || text)));
73
+ return ((0, jsx_runtime_1.jsxs)("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "start", dominantBaseline: "middle", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians)})`, fill: color, children: [text, (0, jsx_runtime_1.jsx)("title", { children: title || text })] }));
83
74
  }
84
- return (react_1.default.createElement("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "end", dominantBaseline: "middle", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians) + 180})`, fill: color },
85
- text,
86
- react_1.default.createElement("title", null, title || text)));
75
+ return ((0, jsx_runtime_1.jsxs)("text", { x: 0, y: 0, className: classes.rulerLabel, textAnchor: "end", dominantBaseline: "middle", transform: `translate(${textXY}) rotate(${(0, util_1.radToDeg)(radians) + 180})`, fill: color, children: [text, (0, jsx_runtime_1.jsx)("title", { children: title || text })] }));
87
76
  }
88
77
  return null;
89
78
  });
@@ -107,11 +96,9 @@ const RegionRulerArc = (0, mobx_react_1.observer)(function ({ model, slice, regi
107
96
  else {
108
97
  color = theme.palette.text.primary;
109
98
  }
110
- return (react_1.default.createElement(react_1.default.Fragment, null,
111
- react_1.default.createElement(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }),
112
- react_1.default.createElement("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })));
99
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(RulerLabel, { text: region.refName, view: model, maxWidthPx: widthPx, radians: centerRadians, radiusPx: radiusPx, color: color }), (0, jsx_runtime_1.jsx)("path", { d: sliceArcPath(slice, radiusPx + 1, region.start, region.end), stroke: color, strokeWidth: 2, fill: "none" })] }));
113
100
  });
114
101
  const Ruler = (0, mobx_react_1.observer)(function ({ model, slice, }) {
115
- return slice.region.elided ? (react_1.default.createElement(ElisionRulerArc, { key: (0, util_1.assembleLocString)(slice.region.regions[0]), model: model, region: slice.region, slice: slice })) : (react_1.default.createElement(RegionRulerArc, { key: (0, util_1.assembleLocString)(slice.region), region: slice.region, model: model, slice: slice }));
102
+ return slice.region.elided ? ((0, jsx_runtime_1.jsx)(ElisionRulerArc, { model: model, region: slice.region, slice: slice }, (0, util_1.assembleLocString)(slice.region.regions[0]))) : ((0, jsx_runtime_1.jsx)(RegionRulerArc, { region: slice.region, model: model, slice: slice }, (0, util_1.assembleLocString)(slice.region)));
116
103
  });
117
104
  exports.default = Ruler;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  export default function SVGBackground({ width, height, shift, }: {
3
2
  width: number;
4
3
  height: number;
5
4
  shift: number;
6
- }): React.JSX.Element;
5
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.default = SVGBackground;
7
- const react_1 = __importDefault(require("react"));
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
5
  const util_1 = require("@jbrowse/core/util");
9
6
  const material_1 = require("@mui/material");
10
7
  function SVGBackground({ width, height, shift, }) {
11
8
  const theme = (0, material_1.useTheme)();
12
- return (react_1.default.createElement("rect", { width: width + shift * 2, height: height, fill: (0, util_1.stripAlpha)(theme.palette.background.default) }));
9
+ return ((0, jsx_runtime_1.jsx)("rect", { width: width + shift * 2, height: height, fill: (0, util_1.stripAlpha)(theme.palette.background.default) }));
13
10
  }
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.renderToSvg = renderToSvg;
7
- const react_1 = __importDefault(require("react"));
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
8
9
  const ui_1 = require("@jbrowse/core/ui");
9
10
  const util_1 = require("@jbrowse/core/util");
10
11
  const material_1 = require("@mui/material");
11
12
  const mobx_1 = require("mobx");
12
- const mobx_state_tree_1 = require("mobx-state-tree");
13
13
  const SVGBackground_1 = __importDefault(require("./SVGBackground"));
14
14
  const Ruler_1 = __importDefault(require("../components/Ruler"));
15
15
  async function renderToSvg(model, opts) {
@@ -18,7 +18,6 @@ async function renderToSvg(model, opts) {
18
18
  const { themeName = 'default', Wrapper = ({ children }) => children } = opts;
19
19
  const session = (0, util_1.getSession)(model);
20
20
  const theme = (_a = session.allThemes) === null || _a === void 0 ? void 0 : _a.call(session)[themeName];
21
- const { createRootFn } = (0, mobx_state_tree_1.getRoot)(model);
22
21
  const { width, tracks, height } = model;
23
22
  const shift = 50;
24
23
  const displayResults = await Promise.all(tracks.map(async (track) => {
@@ -28,11 +27,5 @@ async function renderToSvg(model, opts) {
28
27
  }));
29
28
  const { staticSlices, offsetRadians, centerXY } = model;
30
29
  const deg = (0, util_1.radToDeg)(offsetRadians);
31
- return (0, util_1.renderToStaticMarkup)(react_1.default.createElement(material_1.ThemeProvider, { theme: (0, ui_1.createJBrowseTheme)(theme) },
32
- react_1.default.createElement(Wrapper, null,
33
- react_1.default.createElement("svg", { width: width, height: height, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, width + shift * 2, height].toString() },
34
- react_1.default.createElement(SVGBackground_1.default, { width: width, height: height, shift: shift }),
35
- react_1.default.createElement("g", { transform: `translate(${centerXY}) rotate(${deg})` },
36
- staticSlices.map((slice, i) => (react_1.default.createElement(Ruler_1.default, { key: i, model: model, slice: slice }))),
37
- displayResults.map(({ result }, i) => (react_1.default.createElement(react_1.default.Fragment, { key: i }, result))))))), createRootFn);
30
+ return (0, util_1.renderToStaticMarkup)((0, jsx_runtime_1.jsx)(material_1.ThemeProvider, { theme: (0, ui_1.createJBrowseTheme)(theme), children: (0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsxs)("svg", { width: width, height: height, xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: [0, 0, width + shift * 2, height].toString(), children: [(0, jsx_runtime_1.jsx)(SVGBackground_1.default, { width: width, height: height, shift: shift }), (0, jsx_runtime_1.jsxs)("g", { transform: `translate(${centerXY}) rotate(${deg})`, children: [staticSlices.map((slice, i) => ((0, jsx_runtime_1.jsx)(Ruler_1.default, { model: model, slice: slice }, i))), displayResults.map(({ result }, i) => ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: result }, i)))] })] }) }) }));
38
31
  }
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  declare const BaseChordDisplay: ({ display, }: {
3
2
  display: {
4
3
  filled: boolean;
@@ -8,5 +7,5 @@ declare const BaseChordDisplay: ({ display, }: {
8
7
  radius: number;
9
8
  };
10
9
  };
11
- }) => React.JSX.Element;
10
+ }) => import("react/jsx-runtime").JSX.Element;
12
11
  export default BaseChordDisplay;
@@ -1,13 +1,13 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { observer } from 'mobx-react';
3
3
  import DisplayError from './DisplayError';
4
4
  import Loading from './Loading';
5
5
  const BaseChordDisplay = observer(function ({ display, }) {
6
6
  if (display.error) {
7
- return React.createElement(DisplayError, { model: display });
7
+ return _jsx(DisplayError, { model: display });
8
8
  }
9
9
  else if (!display.filled) {
10
- return React.createElement(Loading, { model: display });
10
+ return _jsx(Loading, { model: display });
11
11
  }
12
12
  else {
13
13
  return display.reactElement;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  declare const DisplayError: ({ model, }: {
3
2
  model: {
4
3
  renderProps: {
@@ -6,5 +5,5 @@ declare const DisplayError: ({ model, }: {
6
5
  };
7
6
  error: unknown;
8
7
  };
9
- }) => React.JSX.Element;
8
+ }) => import("react/jsx-runtime").JSX.Element;
10
9
  export default DisplayError;
@@ -1,13 +1,7 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { observer } from 'mobx-react';
3
3
  const DisplayError = observer(function ({ model, }) {
4
4
  const { renderProps: { radius }, error, } = model;
5
- return (React.createElement("g", null,
6
- React.createElement("defs", null,
7
- React.createElement("pattern", { id: "diagonalHatch", width: "10", height: "10", patternTransform: "rotate(45 0 0)", patternUnits: "userSpaceOnUse" },
8
- React.createElement("line", { x1: "0", y1: "0", x2: "0", y2: "10", style: { stroke: 'rgba(255,0,0,0.5)', strokeWidth: 10 } }))),
9
- React.createElement("circle", { cx: "0", cy: "0", r: radius, fill: "#ffb4b4" }),
10
- React.createElement("circle", { cx: "0", cy: "0", r: radius, fill: "url(#diagonalHatch)" }),
11
- React.createElement("text", { x: "0", y: "0", transform: "rotate(90 0 0)", dominantBaseline: "middle", textAnchor: "middle" }, String(error))));
5
+ return (_jsxs("g", { children: [_jsx("defs", { children: _jsx("pattern", { id: "diagonalHatch", width: "10", height: "10", patternTransform: "rotate(45 0 0)", patternUnits: "userSpaceOnUse", children: _jsx("line", { x1: "0", y1: "0", x2: "0", y2: "10", style: { stroke: 'rgba(255,0,0,0.5)', strokeWidth: 10 } }) }) }), _jsx("circle", { cx: "0", cy: "0", r: radius, fill: "#ffb4b4" }), _jsx("circle", { cx: "0", cy: "0", r: radius, fill: "url(#diagonalHatch)" }), _jsx("text", { x: "0", y: "0", transform: "rotate(90 0 0)", dominantBaseline: "middle", textAnchor: "middle", children: String(error) })] }));
12
6
  });
13
7
  export default DisplayError;
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  declare const Loading: ({ model: { renderProps: { radius }, }, }: {
3
2
  model: {
4
3
  renderProps: {
5
4
  radius: number;
6
5
  };
7
6
  };
8
- }) => React.JSX.Element | null;
7
+ }) => import("react/jsx-runtime").JSX.Element | null;
9
8
  export default Loading;
@@ -1,4 +1,5 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
2
3
  import { observer } from 'mobx-react';
3
4
  import { makeStyles } from 'tss-react/mui';
4
5
  const useStyles = makeStyles()(theme => {
@@ -54,13 +55,6 @@ const Loading = observer(function ({ model: { renderProps: { radius }, }, }) {
54
55
  clearTimeout(timeout);
55
56
  };
56
57
  });
57
- return !shown ? null : (React.createElement("g", null,
58
- React.createElement("defs", null,
59
- React.createElement("pattern", { id: "diagonalHatch", width: "10", height: "10", patternTransform: "rotate(45 0 0)", patternUnits: "userSpaceOnUse" },
60
- React.createElement("line", { x1: "0", y1: "0", x2: "0", y2: "10", style: { stroke: 'rgba(255,255,255,0.5)', strokeWidth: 10 } }))),
61
- React.createElement("circle", { cx: "0", cy: "0", r: radius, fill: "#f1f1f1" }),
62
- React.createElement("circle", { cx: "0", cy: "0", r: radius, fill: "url(#diagonalHatch)" }),
63
- React.createElement("text", { x: "0", y: "0", transform: "rotate(90 0 0)", dominantBaseline: "middle", textAnchor: "middle" }, "Loading\u2026"),
64
- React.createElement("circle", { className: classes.path, fill: "none", strokeWidth: "4", strokeLinecap: "round", cx: "0", cy: "0", r: "60" })));
58
+ return !shown ? null : (_jsxs("g", { children: [_jsx("defs", { children: _jsx("pattern", { id: "diagonalHatch", width: "10", height: "10", patternTransform: "rotate(45 0 0)", patternUnits: "userSpaceOnUse", children: _jsx("line", { x1: "0", y1: "0", x2: "0", y2: "10", style: { stroke: 'rgba(255,255,255,0.5)', strokeWidth: 10 } }) }) }), _jsx("circle", { cx: "0", cy: "0", r: radius, fill: "#f1f1f1" }), _jsx("circle", { cx: "0", cy: "0", r: radius, fill: "url(#diagonalHatch)" }), _jsx("text", { x: "0", y: "0", transform: "rotate(90 0 0)", dominantBaseline: "middle", textAnchor: "middle", children: "Loading\u2026" }), _jsx("circle", { className: classes.path, fill: "none", strokeWidth: "4", strokeLinecap: "round", cx: "0", cy: "0", r: "60" })] }));
65
59
  });
66
60
  export default Loading;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { ExportSvgOptions } from '../CircularView/model';
3
2
  import type { AnyReactComponentType, Feature } from '@jbrowse/core/util';
4
3
  import type { ThemeOptions } from '@mui/material';
@@ -106,5 +105,5 @@ export declare const BaseChordDisplayModel: import("mobx-state-tree").IModelType
106
105
  } & {
107
106
  renderSvg(opts: ExportSvgOptions & {
108
107
  theme?: ThemeOptions;
109
- }): Promise<React.JSX.Element>;
108
+ }): Promise<import("react/jsx-runtime").JSX.Element>;
110
109
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ConfigurationReference, getConf } from '@jbrowse/core/configuration';
3
3
  import { BaseDisplay } from '@jbrowse/core/pluggableElementTypes/models';
4
4
  import { ReactRendering, getContainingView, getEnv, getSession, isFeature, makeAbortableReaction, } from '@jbrowse/core/util';
@@ -158,6 +158,6 @@ export const BaseChordDisplayModel = types
158
158
  exportSVG: opts,
159
159
  theme: opts.theme || data.renderProps.theme,
160
160
  });
161
- return React.createElement(ReactRendering, { rendering: rendering });
161
+ return _jsx(ReactRendering, { rendering: rendering });
162
162
  },
163
163
  }));
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { CircularViewModel } from '../model';
3
2
  declare const CircularView: ({ model }: {
4
3
  model: CircularViewModel;
5
- }) => React.JSX.Element | null;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
6
5
  export default CircularView;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ResizeHandle } from '@jbrowse/core/ui';
3
3
  import { assembleLocString } from '@jbrowse/core/util';
4
4
  import { observer } from 'mobx-react';
@@ -18,12 +18,10 @@ const useStyles = makeStyles()(theme => ({
18
18
  },
19
19
  }));
20
20
  const Slices = observer(({ model }) => {
21
- return (React.createElement(React.Fragment, null,
22
- model.staticSlices.map(slice => (React.createElement(Ruler, { key: assembleLocString(slice.region.elided ? slice.region.regions[0] : slice.region), model: model, slice: slice }))),
23
- model.tracks.map(track => {
24
- const display = track.displays[0];
25
- return (React.createElement(display.RenderingComponent, { key: display.id, display: display, view: model }));
26
- })));
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
+ const display = track.displays[0];
23
+ return (_jsx(display.RenderingComponent, { display: display, view: model }, display.id));
24
+ })] }));
27
25
  });
28
26
  const CircularView = observer(({ model }) => {
29
27
  const initialized = !!model.displayedRegions.length &&
@@ -32,32 +30,26 @@ const CircularView = observer(({ model }) => {
32
30
  model.initialized;
33
31
  const showImportForm = !initialized && !model.disableImportForm;
34
32
  const showFigure = initialized && !showImportForm;
35
- return showImportForm || model.error ? (React.createElement(ImportForm, { model: model })) : showFigure ? (React.createElement(CircularViewLoaded, { model: model })) : null;
33
+ return showImportForm || model.error ? (_jsx(ImportForm, { model: model })) : showFigure ? (_jsx(CircularViewLoaded, { model: model })) : null;
36
34
  });
37
35
  const CircularViewLoaded = observer(function ({ model, }) {
38
36
  const { width, height, id, offsetRadians, centerXY, figureWidth, figureHeight, hideVerticalResizeHandle, } = model;
39
37
  const { classes } = useStyles();
40
- return (React.createElement("div", { className: classes.root, style: { width, height }, "data-testid": id },
41
- React.createElement("div", { className: classes.scroller, style: { width, height } },
42
- React.createElement("svg", { style: {
43
- transform: `rotate(${offsetRadians}rad)`,
44
- transition: 'transform 0.5s',
45
- transformOrigin: centerXY.map(x => `${x}px`).join(' '),
38
+ 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: {
39
+ transform: `rotate(${offsetRadians}rad)`,
40
+ transition: 'transform 0.5s',
41
+ transformOrigin: centerXY.map(x => `${x}px`).join(' '),
42
+ position: 'absolute',
43
+ left: 0,
44
+ top: 0,
45
+ }, width: figureWidth, height: figureHeight, children: _jsx("g", { transform: `translate(${centerXY})`, children: _jsx(Slices, { model: model }) }) }) }), _jsx(Controls, { model: model }), hideVerticalResizeHandle ? null : (_jsx(ResizeHandle, { onDrag: model.resizeHeight, style: {
46
+ height: dragHandleHeight,
46
47
  position: 'absolute',
48
+ bottom: 0,
47
49
  left: 0,
48
- top: 0,
49
- }, width: figureWidth, height: figureHeight },
50
- React.createElement("g", { transform: `translate(${centerXY})` },
51
- React.createElement(Slices, { model: model })))),
52
- React.createElement(Controls, { model: model }),
53
- hideVerticalResizeHandle ? null : (React.createElement(ResizeHandle, { onDrag: model.resizeHeight, style: {
54
- height: dragHandleHeight,
55
- position: 'absolute',
56
- bottom: 0,
57
- left: 0,
58
- background: '#ccc',
59
- boxSizing: 'border-box',
60
- borderTop: '1px solid #fafafa',
61
- } }))));
50
+ background: '#ccc',
51
+ boxSizing: 'border-box',
52
+ borderTop: '1px solid #fafafa',
53
+ } }))] }));
62
54
  });
63
55
  export default CircularView;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { CircularViewModel } from '../model';
3
2
  declare const Controls: ({ model }: {
4
3
  model: CircularViewModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default Controls;
@@ -1,4 +1,5 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { TrackSelector as TrackSelectorIcon } from '@jbrowse/core/ui/Icons';
3
4
  import JBrowseMenu from '@jbrowse/core/ui/Menu';
4
5
  import { getSession } from '@jbrowse/core/util';
@@ -26,40 +27,26 @@ const useStyles = makeStyles()(theme => ({
26
27
  const Controls = observer(function ({ model }) {
27
28
  const { classes } = useStyles();
28
29
  const [anchorEl, setAnchorEl] = useState(null);
29
- return (React.createElement("div", { className: classes.controls },
30
- React.createElement(IconButton, { onClick: model.zoomOutButton, title: model.lockedFitToWindow ? 'unlock to zoom out' : 'zoom out', disabled: model.atMaxBpPerPx || model.lockedFitToWindow },
31
- React.createElement(ZoomOutIcon, null)),
32
- React.createElement(IconButton, { onClick: model.zoomInButton, disabled: model.atMinBpPerPx, title: "zoom in" },
33
- React.createElement(ZoomInIcon, null)),
34
- React.createElement(IconButton, { onClick: model.rotateCounterClockwiseButton, title: "rotate counter-clockwise" },
35
- React.createElement(RotateLeftIcon, null)),
36
- React.createElement(IconButton, { onClick: model.rotateClockwiseButton, title: "rotate clockwise" },
37
- React.createElement(RotateRightIcon, null)),
38
- React.createElement(IconButton, { onClick: model.toggleFitToWindowLock, title: model.lockedFitToWindow
39
- ? 'locked model to window size'
40
- : 'unlocked model to zoom further', disabled: model.tooSmallToLock }, model.lockedFitToWindow ? React.createElement(LockIcon, null) : React.createElement(LockOpenIcon, null)),
41
- React.createElement(IconButton, { onClick: event => {
42
- setAnchorEl(event.currentTarget);
43
- } },
44
- React.createElement(MoreVert, null)),
45
- model.hideTrackSelectorButton ? null : (React.createElement(IconButton, { onClick: model.activateTrackSelector, title: "Open track selector", "data-testid": "circular_track_select" },
46
- React.createElement(TrackSelectorIcon, null))),
47
- anchorEl ? (React.createElement(JBrowseMenu, { anchorEl: anchorEl, menuItems: [
48
- {
49
- label: 'Export SVG',
50
- icon: PhotoCamera,
51
- onClick: () => {
52
- getSession(model).queueDialog(handleClose => [
53
- ExportSvgDialog,
54
- { model, handleClose },
55
- ]);
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
31
+ ? 'locked model to window size'
32
+ : 'unlocked model to zoom further', disabled: model.tooSmallToLock, children: model.lockedFitToWindow ? _jsx(LockIcon, {}) : _jsx(LockOpenIcon, {}) }), _jsx(IconButton, { onClick: event => {
33
+ setAnchorEl(event.currentTarget);
34
+ }, children: _jsx(MoreVert, {}) }), model.hideTrackSelectorButton ? null : (_jsx(IconButton, { onClick: model.activateTrackSelector, title: "Open track selector", "data-testid": "circular_track_select", children: _jsx(TrackSelectorIcon, {}) })), anchorEl ? (_jsx(JBrowseMenu, { anchorEl: anchorEl, menuItems: [
35
+ {
36
+ label: 'Export SVG',
37
+ icon: PhotoCamera,
38
+ onClick: () => {
39
+ getSession(model).queueDialog(handleClose => [
40
+ ExportSvgDialog,
41
+ { model, handleClose },
42
+ ]);
43
+ },
56
44
  },
57
- },
58
- ], onMenuItemClick: (_event, callback) => {
59
- callback();
60
- setAnchorEl(null);
61
- }, open: Boolean(anchorEl), onClose: () => {
62
- setAnchorEl(null);
63
- } })) : null));
45
+ ], onMenuItemClick: (_event, callback) => {
46
+ callback();
47
+ setAnchorEl(null);
48
+ }, open: Boolean(anchorEl), onClose: () => {
49
+ setAnchorEl(null);
50
+ } })) : null] }));
64
51
  });
65
52
  export default Controls;
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import type { ExportSvgOptions } from '../model';
3
2
  export default function ExportSvgDialog({ model, handleClose, }: {
4
3
  model: {
5
4
  exportSvg(opts: ExportSvgOptions): Promise<void>;
6
5
  };
7
6
  handleClose: () => void;
8
- }): React.JSX.Element;
7
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,13 @@
1
- import React, { useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { Dialog, ErrorMessage } from '@jbrowse/core/ui';
3
4
  import { getSession, useLocalStorage } from '@jbrowse/core/util';
4
5
  import { Button, Checkbox, CircularProgress, DialogActions, DialogContent, FormControlLabel, MenuItem, TextField, Typography, } from '@mui/material';
5
6
  function LoadingMessage() {
6
- return (React.createElement("div", null,
7
- React.createElement(CircularProgress, { size: 20, style: { marginRight: 20 } }),
8
- React.createElement(Typography, { display: "inline" }, "Creating SVG")));
7
+ return (_jsxs("div", { children: [_jsx(CircularProgress, { size: 20, style: { marginRight: 20 } }), _jsx(Typography, { display: "inline", children: "Creating SVG" })] }));
9
8
  }
10
9
  function TextField2({ children, ...rest }) {
11
- return (React.createElement("div", null,
12
- React.createElement(TextField, { ...rest }, children)));
10
+ return (_jsx("div", { children: _jsx(TextField, { ...rest, children: children }) }));
13
11
  }
14
12
  function useSvgLocal(key, val) {
15
13
  return useLocalStorage(`svg-${key}`, val);
@@ -22,39 +20,31 @@ export default function ExportSvgDialog({ model, handleClose, }) {
22
20
  const [error, setError] = useState();
23
21
  const [filename, setFilename] = useSvgLocal('file', 'jbrowse.svg');
24
22
  const [themeName, setThemeName] = useSvgLocal('theme', session.themeName || 'default');
25
- return (React.createElement(Dialog, { open: true, onClose: handleClose, title: "Export SVG" },
26
- React.createElement(DialogContent, null,
27
- error ? (React.createElement(ErrorMessage, { error: error })) : loading ? (React.createElement(LoadingMessage, null)) : null,
28
- React.createElement(TextField2, { helperText: "filename", value: filename, onChange: event => {
29
- setFilename(event.target.value);
30
- } }),
31
- session.allThemes ? (React.createElement(TextField2, { select: true, label: "Theme", value: themeName, onChange: event => {
32
- setThemeName(event.target.value);
33
- } }, Object.entries(session.allThemes()).map(([key, val]) => (React.createElement(MenuItem, { key: key, value: key }, val.name || '(Unknown name)'))))) : null,
34
- offscreenCanvas ? (React.createElement(FormControlLabel, { control: React.createElement(Checkbox, { checked: rasterizeLayers, onChange: () => {
35
- setRasterizeLayers(val => !val);
36
- } }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : (React.createElement(Typography, null, "Note: rasterizing layers not yet supported in this browser, so SVG size may be large"))),
37
- React.createElement(DialogActions, null,
38
- React.createElement(Button, { variant: "contained", color: "secondary", onClick: () => {
39
- handleClose();
40
- } }, "Cancel"),
41
- React.createElement(Button, { variant: "contained", color: "primary", type: "submit", onClick: async () => {
42
- setLoading(true);
43
- setError(undefined);
44
- try {
45
- await model.exportSvg({
46
- rasterizeLayers,
47
- filename,
48
- themeName,
49
- });
50
- handleClose();
51
- }
52
- catch (e) {
53
- console.error(e);
54
- setError(e);
55
- }
56
- finally {
57
- setLoading(false);
58
- }
59
- } }, "Submit"))));
23
+ return (_jsxs(Dialog, { open: true, onClose: handleClose, title: "Export SVG", children: [_jsxs(DialogContent, { children: [error ? (_jsx(ErrorMessage, { error: error })) : loading ? (_jsx(LoadingMessage, {})) : null, _jsx(TextField2, { helperText: "filename", value: filename, onChange: event => {
24
+ setFilename(event.target.value);
25
+ } }), session.allThemes ? (_jsx(TextField2, { select: true, label: "Theme", value: themeName, onChange: event => {
26
+ setThemeName(event.target.value);
27
+ }, children: Object.entries(session.allThemes()).map(([key, val]) => (_jsx(MenuItem, { value: key, children: val.name || '(Unknown name)' }, key))) })) : null, offscreenCanvas ? (_jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: rasterizeLayers, onChange: () => {
28
+ setRasterizeLayers(val => !val);
29
+ } }), label: "Rasterize canvas based tracks? File may be much larger if this is turned off" })) : (_jsx(Typography, { children: "Note: rasterizing layers not yet supported in this browser, so SVG size may be large" }))] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "contained", color: "secondary", onClick: () => {
30
+ handleClose();
31
+ }, children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", type: "submit", onClick: async () => {
32
+ setLoading(true);
33
+ setError(undefined);
34
+ try {
35
+ await model.exportSvg({
36
+ rasterizeLayers,
37
+ filename,
38
+ themeName,
39
+ });
40
+ handleClose();
41
+ }
42
+ catch (e) {
43
+ console.error(e);
44
+ setError(e);
45
+ }
46
+ finally {
47
+ setLoading(false);
48
+ }
49
+ }, children: "Submit" })] })] }));
60
50
  }
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import type { CircularViewModel } from '../model';
3
2
  declare const ImportForm: ({ model }: {
4
3
  model: CircularViewModel;
5
- }) => React.JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
6
5
  export default ImportForm;