@jbrowse/plugin-circular-view 2.1.0 → 2.1.3
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/dist/BaseChordDisplay/components/BaseChordDisplay.js +6 -7
- package/dist/BaseChordDisplay/components/BaseChordDisplay.js.map +1 -1
- package/dist/BaseChordDisplay/components/DisplayError.js +6 -7
- package/dist/BaseChordDisplay/components/DisplayError.js.map +1 -1
- package/dist/BaseChordDisplay/components/Loading.js +14 -32
- package/dist/BaseChordDisplay/components/Loading.js.map +1 -1
- package/dist/BaseChordDisplay/components/RpcRenderedSvgGroup.js +14 -26
- package/dist/BaseChordDisplay/components/RpcRenderedSvgGroup.js.map +1 -1
- package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js +59 -105
- package/dist/BaseChordDisplay/models/BaseChordDisplayModel.js.map +1 -1
- package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js +2 -2
- package/dist/BaseChordDisplay/models/baseChordDisplayConfig.js.map +1 -1
- package/dist/BaseChordDisplay/models/renderReaction.js +34 -99
- package/dist/BaseChordDisplay/models/renderReaction.js.map +1 -1
- package/dist/CircularView/components/CircularView.js +34 -37
- package/dist/CircularView/components/CircularView.js.map +1 -1
- package/dist/CircularView/components/ImportForm.js +21 -38
- package/dist/CircularView/components/ImportForm.js.map +1 -1
- package/dist/CircularView/components/Ruler.js +53 -81
- package/dist/CircularView/components/Ruler.js.map +1 -1
- package/dist/CircularView/models/CircularView.js +104 -143
- package/dist/CircularView/models/CircularView.js.map +1 -1
- package/dist/CircularView/models/slices.js +20 -59
- package/dist/CircularView/models/slices.js.map +1 -1
- package/dist/CircularView/models/viewportVisibleRegion.js +25 -41
- package/dist/CircularView/models/viewportVisibleRegion.js.map +1 -1
- package/dist/index.js +35 -106
- package/dist/index.js.map +1 -1
- package/esm/BaseChordDisplay/components/Loading.js +0 -1
- package/esm/BaseChordDisplay/components/Loading.js.map +1 -1
- package/package.json +2 -3
- package/src/BaseChordDisplay/components/Loading.tsx +0 -1
|
@@ -1,48 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
3
|
exports.viewportVisibleSection = exports.thetaRangesOverlap = exports.cartesianToPolar = void 0;
|
|
20
4
|
function findCircleIntersectionX(y, cx, cy, r, resultArray) {
|
|
21
|
-
|
|
5
|
+
const d = Math.abs(y - cy);
|
|
22
6
|
if (d > r) {
|
|
23
7
|
return;
|
|
24
8
|
}
|
|
25
9
|
if (d === r) {
|
|
26
10
|
resultArray.push([cx, y]);
|
|
27
11
|
}
|
|
28
|
-
|
|
12
|
+
const solution = Math.sqrt(r * r - d * d);
|
|
29
13
|
resultArray.push([cx - solution, y]);
|
|
30
14
|
resultArray.push([cx + solution, y]);
|
|
31
15
|
}
|
|
32
16
|
function findCircleIntersectionY(x, cx, cy, r, resultArray) {
|
|
33
|
-
|
|
17
|
+
const d = Math.abs(x - cx);
|
|
34
18
|
if (d > r) {
|
|
35
19
|
return;
|
|
36
20
|
}
|
|
37
21
|
if (d === r) {
|
|
38
22
|
resultArray.push([x, cy]);
|
|
39
23
|
}
|
|
40
|
-
|
|
24
|
+
const solution = Math.sqrt(r * r - d * d);
|
|
41
25
|
resultArray.push([x, cy - solution]);
|
|
42
26
|
resultArray.push([x, cy + solution]);
|
|
43
27
|
}
|
|
44
28
|
function cartesianToTheta(x, y) {
|
|
45
|
-
|
|
29
|
+
let theta = (Math.atan(y / x) + 2 * Math.PI) % (2 * Math.PI);
|
|
46
30
|
if (x < 0) {
|
|
47
31
|
if (y <= 0) {
|
|
48
32
|
theta += Math.PI;
|
|
@@ -54,15 +38,15 @@ function cartesianToTheta(x, y) {
|
|
|
54
38
|
return theta;
|
|
55
39
|
}
|
|
56
40
|
function cartesianToPolar(x, y) {
|
|
57
|
-
|
|
41
|
+
const rho = Math.sqrt(x * x + y * y);
|
|
58
42
|
if (rho === 0) {
|
|
59
43
|
return [0, 0];
|
|
60
44
|
}
|
|
61
|
-
|
|
45
|
+
const theta = cartesianToTheta(x, y);
|
|
62
46
|
return [rho, theta];
|
|
63
47
|
}
|
|
64
48
|
exports.cartesianToPolar = cartesianToPolar;
|
|
65
|
-
|
|
49
|
+
const twoPi = 2 * Math.PI;
|
|
66
50
|
function thetaRangesOverlap(r1start, r1length, r2start, r2length) {
|
|
67
51
|
if (r1length <= 0 || r2length <= 0) {
|
|
68
52
|
return false;
|
|
@@ -88,25 +72,25 @@ function thetaRangesOverlap(r1start, r1length, r2start, r2length) {
|
|
|
88
72
|
exports.thetaRangesOverlap = thetaRangesOverlap;
|
|
89
73
|
// return which arc range has any part of the circle visible in the viewport
|
|
90
74
|
function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
|
|
91
|
-
|
|
92
|
-
|
|
75
|
+
let [viewL, viewR, viewT, viewB] = viewSides;
|
|
76
|
+
const [cx, cy] = circleCenter;
|
|
93
77
|
// transform coordinate system to center of circle
|
|
94
78
|
viewL -= cx;
|
|
95
79
|
viewR -= cx;
|
|
96
80
|
viewT -= cy;
|
|
97
81
|
viewB -= cy;
|
|
98
|
-
|
|
82
|
+
const centerIsInsideViewport = viewL < 0 && viewR > 0 && viewT < 0 && viewB > 0;
|
|
99
83
|
if (centerIsInsideViewport) {
|
|
100
|
-
|
|
84
|
+
const vertices = [
|
|
101
85
|
[viewL, viewT],
|
|
102
86
|
[viewR, viewT],
|
|
103
87
|
[viewL, viewB],
|
|
104
88
|
[viewR, viewB],
|
|
105
89
|
];
|
|
106
|
-
|
|
107
|
-
for (
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
let maxRho = -Infinity;
|
|
91
|
+
for (let i = 0; i < vertices.length; i += 1) {
|
|
92
|
+
const [x, y] = vertices[i];
|
|
93
|
+
const rho = Math.sqrt(x * x + y * y);
|
|
110
94
|
if (rho > maxRho) {
|
|
111
95
|
maxRho = rho;
|
|
112
96
|
}
|
|
@@ -171,7 +155,7 @@ function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
|
|
|
171
155
|
// to determine the range covered by their intersection
|
|
172
156
|
// transform coordinates to have the circle as the origin and find the intersections
|
|
173
157
|
// of the circle and the view rectangle
|
|
174
|
-
|
|
158
|
+
const vertices = [
|
|
175
159
|
[viewL, viewT],
|
|
176
160
|
[viewR, viewT],
|
|
177
161
|
[viewL, viewB],
|
|
@@ -197,19 +181,19 @@ function viewportVisibleSection(viewSides, circleCenter, circleRadius) {
|
|
|
197
181
|
// const verticesOriginal = vertices.map(([x, y]) => [x + cx, y + cy])
|
|
198
182
|
// now convert them all to polar and take the max and min of rho and theta
|
|
199
183
|
// const viewportCenterTheta = cartesianToTheta(viewR + viewL, viewT + viewB)
|
|
200
|
-
|
|
184
|
+
const reflect = viewL >= 0 ? -1 : 1;
|
|
201
185
|
// viewportCenterTheta < Math.PI / 2 || viewportCenterTheta > 1.5 * Math.PI
|
|
202
186
|
// ? -1
|
|
203
187
|
// : 1
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
for (
|
|
188
|
+
let rhoMin = Infinity;
|
|
189
|
+
let rhoMax = -Infinity;
|
|
190
|
+
let thetaMin = Infinity;
|
|
191
|
+
let thetaMax = -Infinity;
|
|
192
|
+
for (let i = 0; i < vertices.length; i += 1) {
|
|
209
193
|
// ignore vertex if outside the viewport
|
|
210
|
-
|
|
194
|
+
const [vx, vy] = vertices[i];
|
|
211
195
|
if (vx >= viewL && vx <= viewR && vy >= viewT && vy <= viewB) {
|
|
212
|
-
|
|
196
|
+
const [rho, theta] = cartesianToPolar(vx * reflect, vy * reflect);
|
|
213
197
|
// ignore vertex if outside the circle
|
|
214
198
|
if (rho <= circleRadius + 0.001) {
|
|
215
199
|
// ignore theta if rho is 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewportVisibleRegion.js","sourceRoot":"","sources":["../../../src/CircularView/models/viewportVisibleRegion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"viewportVisibleRegion.js","sourceRoot":"","sources":["../../../src/CircularView/models/viewportVisibleRegion.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
3
|
if (k2 === undefined) k2 = k;
|
|
19
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -37,114 +22,58 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
22
|
__setModuleDefault(result, mod);
|
|
38
23
|
return result;
|
|
39
24
|
};
|
|
40
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
-
function step(op) {
|
|
54
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
-
while (_) try {
|
|
56
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
57
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
-
switch (op[0]) {
|
|
59
|
-
case 0: case 1: t = op; break;
|
|
60
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
-
default:
|
|
64
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
-
if (t[2]) _.ops.pop();
|
|
69
|
-
_.trys.pop(); continue;
|
|
70
|
-
}
|
|
71
|
-
op = body.call(thisArg, _);
|
|
72
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
77
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
78
27
|
};
|
|
79
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
80
29
|
exports.BaseChordDisplayComponent = exports.baseChordDisplayConfig = exports.BaseChordDisplayModel = void 0;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
_this.name = 'CircularViewPlugin';
|
|
93
|
-
return _this;
|
|
30
|
+
const react_1 = require("react");
|
|
31
|
+
const mobx_1 = require("mobx");
|
|
32
|
+
const util_1 = require("@jbrowse/core/util");
|
|
33
|
+
const Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
|
|
34
|
+
const ViewType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/ViewType"));
|
|
35
|
+
const DataUsage_1 = __importDefault(require("@mui/icons-material/DataUsage"));
|
|
36
|
+
const CircularView_1 = __importDefault(require("./CircularView/models/CircularView"));
|
|
37
|
+
class CircularViewPlugin extends Plugin_1.default {
|
|
38
|
+
constructor() {
|
|
39
|
+
super(...arguments);
|
|
40
|
+
this.name = 'CircularViewPlugin';
|
|
94
41
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
name: 'CircularView',
|
|
102
|
-
});
|
|
103
|
-
});
|
|
42
|
+
install(pluginManager) {
|
|
43
|
+
pluginManager.addViewType(() => new ViewType_1.default({
|
|
44
|
+
ReactComponent: (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./CircularView/components/CircularView')))),
|
|
45
|
+
stateModel: (0, CircularView_1.default)(pluginManager),
|
|
46
|
+
name: 'CircularView',
|
|
47
|
+
}));
|
|
104
48
|
pluginManager.addToExtensionPoint('LaunchView-CircularView',
|
|
105
49
|
// @ts-ignore
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
throw new Error('No assembly provided when launching circular genome view');
|
|
120
|
-
}
|
|
121
|
-
return [4 /*yield*/, assemblyManager.waitForAssembly(assembly)];
|
|
122
|
-
case 2:
|
|
123
|
-
asm = _c.sent();
|
|
124
|
-
if (!asm) {
|
|
125
|
-
throw new Error("Assembly \"".concat(assembly, "\" not found when launching circular genome view"));
|
|
126
|
-
}
|
|
127
|
-
view.setDisplayedRegions(asm.regions || []);
|
|
128
|
-
tracks.forEach(function (track) { return view.showTrack(track); });
|
|
129
|
-
return [2 /*return*/];
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
});
|
|
50
|
+
async ({ session, assembly, loc, tracks = [], }) => {
|
|
51
|
+
const { assemblyManager } = session;
|
|
52
|
+
const view = session.addView('CircularView', {});
|
|
53
|
+
await (0, mobx_1.when)(() => view.initialized);
|
|
54
|
+
if (!assembly) {
|
|
55
|
+
throw new Error('No assembly provided when launching circular genome view');
|
|
56
|
+
}
|
|
57
|
+
const asm = await assemblyManager.waitForAssembly(assembly);
|
|
58
|
+
if (!asm) {
|
|
59
|
+
throw new Error(`Assembly "${assembly}" not found when launching circular genome view`);
|
|
60
|
+
}
|
|
61
|
+
view.setDisplayedRegions(asm.regions || []);
|
|
62
|
+
tracks.forEach(track => view.showTrack(track));
|
|
133
63
|
});
|
|
134
|
-
}
|
|
135
|
-
|
|
64
|
+
}
|
|
65
|
+
configure(pluginManager) {
|
|
136
66
|
if ((0, util_1.isAbstractMenuManager)(pluginManager.rootModel)) {
|
|
137
67
|
pluginManager.rootModel.appendToSubMenu(['Add'], {
|
|
138
68
|
label: 'Circular view',
|
|
139
69
|
icon: DataUsage_1.default,
|
|
140
|
-
onClick:
|
|
70
|
+
onClick: (session) => {
|
|
141
71
|
session.addView('CircularView', {});
|
|
142
72
|
},
|
|
143
73
|
});
|
|
144
74
|
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
}(Plugin_1.default));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
148
77
|
exports.default = CircularViewPlugin;
|
|
149
78
|
var BaseChordDisplay_1 = require("./BaseChordDisplay");
|
|
150
79
|
Object.defineProperty(exports, "BaseChordDisplayModel", { enumerable: true, get: function () { return BaseChordDisplay_1.BaseChordDisplayModel; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4B;AAC5B,+BAA2B;AAC3B,6CAAgF;AAEhF,kEAAyC;AACzC,4FAAmE;AACnE,8EAAyD;AACzD,sFAG2C;AAI3C,MAAqB,kBAAmB,SAAQ,gBAAM;IAAtD;;QACE,SAAI,GAAG,oBAAoB,CAAA;IAgE7B,CAAC;IA9DC,OAAO,CAAC,aAA4B;QAClC,aAAa,CAAC,WAAW,CACvB,GAAG,EAAE,CACH,IAAI,kBAAQ,CAAC;YACX,cAAc,EAAE,IAAA,YAAI,EAClB,GAAG,EAAE,mDAAQ,wCAAwC,GAAC,CACvD;YACD,UAAU,EAAE,IAAA,sBAAiB,EAAC,aAAa,CAAC;YAC5C,IAAI,EAAE,cAAc;SACrB,CAAC,CACL,CAAA;QAED,aAAa,CAAC,mBAAmB,CAC/B,yBAAyB;QACzB,aAAa;QACb,KAAK,EAAE,EACL,OAAO,EACP,QAAQ,EACR,GAAG,EACH,MAAM,GAAG,EAAE,GAMZ,EAAE,EAAE;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;YACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAQ,CAAA;YAEvD,MAAM,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAElC,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;aACF;YAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YAC3D,IAAI,CAAC,GAAG,EAAE;gBACR,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,iDAAiD,CACvE,CAAA;aACF;YAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;YAE3C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CACF,CAAA;IACH,CAAC;IAED,SAAS,CAAC,aAA4B;QACpC,IAAI,IAAA,4BAAqB,EAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAClD,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC/C,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,mBAAa;gBACnB,OAAO,EAAE,CAAC,OAA6B,EAAE,EAAE;oBACzC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;gBACrC,CAAC;aACF,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAjED,qCAiEC;AAED,uDAI2B;AAHzB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AACtB,6HAAA,yBAAyB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/components/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE;IACrC,MAAM,MAAM,GAAG,CAAC,CAAA;IAChB,MAAM,QAAQ,GAAG,GAAG,CAAA;IAEpB,
|
|
1
|
+
{"version":3,"file":"Loading.js","sourceRoot":"","sources":["../../../src/BaseChordDisplay/components/Loading.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-circular-view",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "JBrowse 2 circular view",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -37,7 +37,6 @@
|
|
|
37
37
|
"clean": "rimraf dist esm *.tsbuildinfo"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@babel/runtime": "^7.17.9",
|
|
41
40
|
"@mui/icons-material": "^5.0.1"
|
|
42
41
|
},
|
|
43
42
|
"peerDependencies": {
|
|
@@ -56,5 +55,5 @@
|
|
|
56
55
|
"distModule": "esm/index.js",
|
|
57
56
|
"srcModule": "src/index.ts",
|
|
58
57
|
"module": "esm/index.js",
|
|
59
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "ebd548ceb52adb36cf6ab437082b5b5feac1338e"
|
|
60
59
|
}
|