@jbrowse/plugin-linear-genome-view 2.10.2 → 2.11.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 (75) hide show
  1. package/dist/BaseLinearDisplay/components/BlockMsg.d.ts +2 -4
  2. package/dist/BaseLinearDisplay/components/BlockMsg.js +2 -3
  3. package/dist/BaseLinearDisplay/components/LinearBlocks.js +2 -2
  4. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +10 -2
  5. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +40 -4
  6. package/dist/BaseLinearDisplay/components/TooLargeMessage.js +5 -4
  7. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +18 -4
  8. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +9 -2
  9. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -1
  10. package/dist/LaunchLinearGenomeView/index.js +24 -8
  11. package/dist/LinearBareDisplay/model.d.ts +18 -4
  12. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  13. package/dist/LinearBasicDisplay/model.d.ts +22 -4
  14. package/dist/LinearGenomeView/components/Cytobands.d.ts +1 -125
  15. package/dist/LinearGenomeView/components/ExportSvgDialog.js +9 -5
  16. package/dist/LinearGenomeView/components/Highlight.d.ts +7 -0
  17. package/dist/LinearGenomeView/components/Highlight.js +126 -0
  18. package/dist/LinearGenomeView/components/MiniControls.js +13 -15
  19. package/dist/LinearGenomeView/components/OverviewHighlight.d.ts +9 -0
  20. package/dist/LinearGenomeView/components/OverviewHighlight.js +62 -0
  21. package/dist/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  22. package/dist/LinearGenomeView/components/OverviewScalebar.js +6 -1
  23. package/dist/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +1 -1
  24. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +9 -9
  25. package/dist/LinearGenomeView/components/RefNameAutocomplete/index.js +28 -35
  26. package/dist/LinearGenomeView/components/Rubberband.d.ts +1 -1
  27. package/dist/LinearGenomeView/components/SearchBox.d.ts +1 -1
  28. package/dist/LinearGenomeView/components/SearchResultsTable.js +1 -1
  29. package/dist/LinearGenomeView/components/TrackContainer.js +10 -23
  30. package/dist/LinearGenomeView/components/TrackLabel.js +33 -6
  31. package/dist/LinearGenomeView/components/TracksContainer.js +2 -0
  32. package/dist/LinearGenomeView/components/ZoomControls.js +4 -4
  33. package/dist/LinearGenomeView/model.d.ts +70 -5
  34. package/dist/LinearGenomeView/model.js +111 -14
  35. package/dist/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  36. package/dist/LinearGenomeView/util.d.ts +1 -1
  37. package/dist/index.d.ts +213 -21
  38. package/esm/BaseLinearDisplay/components/BlockMsg.d.ts +2 -4
  39. package/esm/BaseLinearDisplay/components/BlockMsg.js +3 -4
  40. package/esm/BaseLinearDisplay/components/LinearBlocks.js +2 -2
  41. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +10 -2
  42. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +17 -4
  43. package/esm/BaseLinearDisplay/components/TooLargeMessage.js +5 -4
  44. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +18 -4
  45. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +9 -2
  46. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +0 -1
  47. package/esm/LaunchLinearGenomeView/index.js +25 -9
  48. package/esm/LinearBareDisplay/model.d.ts +18 -4
  49. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  50. package/esm/LinearBasicDisplay/model.d.ts +22 -4
  51. package/esm/LinearGenomeView/components/Cytobands.d.ts +1 -125
  52. package/esm/LinearGenomeView/components/ExportSvgDialog.js +9 -5
  53. package/esm/LinearGenomeView/components/Highlight.d.ts +7 -0
  54. package/esm/LinearGenomeView/components/Highlight.js +98 -0
  55. package/esm/LinearGenomeView/components/MiniControls.js +14 -16
  56. package/esm/LinearGenomeView/components/OverviewHighlight.d.ts +9 -0
  57. package/esm/LinearGenomeView/components/OverviewHighlight.js +57 -0
  58. package/esm/LinearGenomeView/components/OverviewRubberband.d.ts +1 -1
  59. package/esm/LinearGenomeView/components/OverviewScalebar.js +7 -2
  60. package/esm/LinearGenomeView/components/OverviewScalebarPolygon.d.ts +1 -1
  61. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.d.ts +9 -9
  62. package/esm/LinearGenomeView/components/RefNameAutocomplete/index.js +28 -35
  63. package/esm/LinearGenomeView/components/Rubberband.d.ts +1 -1
  64. package/esm/LinearGenomeView/components/SearchBox.d.ts +1 -1
  65. package/esm/LinearGenomeView/components/SearchResultsTable.js +1 -1
  66. package/esm/LinearGenomeView/components/TrackContainer.js +10 -23
  67. package/esm/LinearGenomeView/components/TrackLabel.js +33 -6
  68. package/esm/LinearGenomeView/components/TracksContainer.js +2 -0
  69. package/esm/LinearGenomeView/components/ZoomControls.js +4 -4
  70. package/esm/LinearGenomeView/model.d.ts +70 -5
  71. package/esm/LinearGenomeView/model.js +112 -15
  72. package/esm/LinearGenomeView/svgcomponents/SVGLinearGenomeView.js +1 -1
  73. package/esm/LinearGenomeView/util.d.ts +1 -1
  74. package/esm/index.d.ts +213 -21
  75. package/package.json +2 -2
@@ -81,6 +81,8 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
81
81
  showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
82
82
  trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
83
83
  showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
84
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<ParsedLocString>, Required<ParsedLocString>, Required<ParsedLocString>>>, [undefined]>;
85
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
84
86
  }, {
85
87
  width: number;
86
88
  } & {
@@ -223,6 +225,10 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
223
225
  */
224
226
  readonly trackTypeActions: Map<string, MenuItem[]>;
225
227
  } & {
228
+ /**
229
+ * #action
230
+ */
231
+ setColorByCDS(flag: boolean): void;
226
232
  /**
227
233
  * #action
228
234
  */
@@ -251,6 +257,18 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
251
257
  * #action
252
258
  */
253
259
  setShowGridlines(b: boolean): void;
260
+ /**
261
+ * #action
262
+ */
263
+ addToHighlights(highlight: Required<ParsedLocString>): void;
264
+ /**
265
+ * #action
266
+ */
267
+ setHighlight(highlight: Required<ParsedLocString>[] | undefined): void;
268
+ /**
269
+ * #action
270
+ */
271
+ removeHighlight(highlight: Required<ParsedLocString>): void;
254
272
  /**
255
273
  * #action
256
274
  */
@@ -287,6 +305,22 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
287
305
  */
288
306
  hideTrack(trackId: string): number;
289
307
  } & {
308
+ /**
309
+ * #action
310
+ */
311
+ moveTrackDown(id: string): void;
312
+ /**
313
+ * #action
314
+ */
315
+ moveTrackUp(id: string): void;
316
+ /**
317
+ * #action
318
+ */
319
+ moveTrackToTop(id: string): void;
320
+ /**
321
+ * #action
322
+ */
323
+ moveTrackToBottom(id: string): void;
290
324
  /**
291
325
  * #action
292
326
  */
@@ -523,20 +557,21 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
523
557
  bpToPx({ refName, coord, regionNumber, }: {
524
558
  refName: string;
525
559
  coord: number;
526
- regionNumber?: number | undefined;
560
+ regionNumber?: number;
527
561
  }): {
528
562
  index: number;
529
563
  offsetPx: number;
530
564
  } | undefined;
531
565
  /**
532
566
  * #method
533
- * scrolls the view to center on the given bp. if that is not in any
534
- * of the displayed regions, does nothing
567
+ * scrolls the view to center on the given bp. if that is not in any of
568
+ * the displayed regions, does nothing
569
+ *
535
570
  * @param coord - basepair at which you want to center the view
536
571
  * @param refName - refName of the displayedRegion you are centering at
537
572
  * @param regionNumber - index of the displayedRegion
538
573
  */
539
- centerAt(coord: number, refName: string, regionNumber: number): void;
574
+ centerAt(coord: number, refName: string, regionNumber?: number): void;
540
575
  /**
541
576
  * #method
542
577
  */
@@ -567,7 +602,37 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
567
602
  } | undefined;
568
603
  } & {
569
604
  afterCreate(): void;
570
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
605
+ }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
606
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
607
+ displayName: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
608
+ minimized: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
609
+ } & {
610
+ id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
611
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
612
+ offsetPx: import("mobx-state-tree").IType<number | undefined, number, number>;
613
+ bpPerPx: import("mobx-state-tree").IType<number | undefined, number, number>;
614
+ displayedRegions: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
615
+ refName: import("mobx-state-tree").ISimpleType<string>;
616
+ start: import("mobx-state-tree").ISimpleType<number>;
617
+ end: import("mobx-state-tree").ISimpleType<number>;
618
+ reversed: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
619
+ } & {
620
+ assemblyName: import("mobx-state-tree").ISimpleType<string>;
621
+ }, {
622
+ setRefName(newRefName: string): void;
623
+ }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
624
+ tracks: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyType>;
625
+ hideHeader: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
626
+ hideHeaderOverview: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
627
+ hideNoTracksActive: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
628
+ trackSelectorType: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
629
+ showCenterLine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
630
+ showCytobandsSetting: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
631
+ trackLabels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
632
+ showGridlines: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
633
+ highlight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IArrayType<import("mobx-state-tree").IType<Required<ParsedLocString>, Required<ParsedLocString>, Required<ParsedLocString>>>, [undefined]>;
634
+ colorByCDS: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<boolean>, [undefined]>;
635
+ }>>, import("mobx-state-tree")._NotCustomized>;
571
636
  export type LinearGenomeViewStateModel = ReturnType<typeof stateModelFactory>;
572
637
  export type LinearGenomeViewModel = Instance<LinearGenomeViewStateModel>;
573
638
  export { default as ReactComponent, default as LinearGenomeView, } from './components/LinearGenomeView';
@@ -50,6 +50,8 @@ const FolderOpen_1 = __importDefault(require("@mui/icons-material/FolderOpen"));
50
50
  const PhotoCamera_1 = __importDefault(require("@mui/icons-material/PhotoCamera"));
51
51
  const ZoomIn_1 = __importDefault(require("@mui/icons-material/ZoomIn"));
52
52
  const MenuOpen_1 = __importDefault(require("@mui/icons-material/MenuOpen"));
53
+ const Palette_1 = __importDefault(require("@mui/icons-material/Palette"));
54
+ const Search_1 = __importDefault(require("@mui/icons-material/Search"));
53
55
  const MiniControls_1 = __importDefault(require("./components/MiniControls"));
54
56
  const Header_1 = __importDefault(require("./components/Header"));
55
57
  const util_2 = require("./util");
@@ -126,7 +128,6 @@ function stateModelFactory(pluginManager) {
126
128
  tracks: mobx_state_tree_1.types.array(pluginManager.pluggableMstType('track', 'stateModel')),
127
129
  /**
128
130
  * #property
129
- * array of currently displayed tracks state model's
130
131
  */
131
132
  hideHeader: false,
132
133
  /**
@@ -165,6 +166,16 @@ function stateModelFactory(pluginManager) {
165
166
  * show the "gridlines" in the track area
166
167
  */
167
168
  showGridlines: true,
169
+ /**
170
+ * #property
171
+ * highlights on the LGV from the URL parameters
172
+ */
173
+ highlight: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.array(mobx_state_tree_1.types.frozen()), []),
174
+ /**
175
+ * #property
176
+ * color by CDS
177
+ */
178
+ colorByCDS: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.boolean, () => Boolean(JSON.parse((0, util_1.localStorageGetItem)('lgv-colorByCDS') || 'false'))),
168
179
  }))
169
180
  .volatile(() => ({
170
181
  volatileWidth: undefined,
@@ -355,7 +366,7 @@ function stateModelFactory(pluginManager) {
355
366
  return {
356
367
  ...(0, tracks_1.getParentRenderProps)(self),
357
368
  bpPerPx: self.bpPerPx,
358
- highResolutionScaling: (0, configuration_1.getConf)((0, util_1.getSession)(self), 'highResolutionScaling'),
369
+ colorByCDS: self.colorByCDS,
359
370
  };
360
371
  },
361
372
  /**
@@ -426,6 +437,12 @@ function stateModelFactory(pluginManager) {
426
437
  },
427
438
  }))
428
439
  .actions(self => ({
440
+ /**
441
+ * #action
442
+ */
443
+ setColorByCDS(flag) {
444
+ self.colorByCDS = flag;
445
+ },
429
446
  /**
430
447
  * #action
431
448
  */
@@ -468,6 +485,25 @@ function stateModelFactory(pluginManager) {
468
485
  setShowGridlines(b) {
469
486
  self.showGridlines = b;
470
487
  },
488
+ /**
489
+ * #action
490
+ */
491
+ addToHighlights(highlight) {
492
+ var _a;
493
+ (_a = self.highlight) === null || _a === void 0 ? void 0 : _a.push(highlight);
494
+ },
495
+ /**
496
+ * #action
497
+ */
498
+ setHighlight(highlight) {
499
+ self.highlight = (0, mobx_state_tree_1.cast)(highlight);
500
+ },
501
+ /**
502
+ * #action
503
+ */
504
+ removeHighlight(highlight) {
505
+ self.highlight.remove(highlight);
506
+ },
471
507
  /**
472
508
  * #action
473
509
  */
@@ -587,6 +623,47 @@ function stateModelFactory(pluginManager) {
587
623
  },
588
624
  }))
589
625
  .actions(self => ({
626
+ /**
627
+ * #action
628
+ */
629
+ moveTrackDown(id) {
630
+ const idx = self.tracks.findIndex(v => v.id === id);
631
+ if (idx === -1) {
632
+ return;
633
+ }
634
+ if (idx !== -1 && idx < self.tracks.length - 1) {
635
+ self.tracks.splice(idx, 2, self.tracks[idx + 1], self.tracks[idx]);
636
+ }
637
+ },
638
+ /**
639
+ * #action
640
+ */
641
+ moveTrackUp(id) {
642
+ const idx = self.tracks.findIndex(track => track.id === id);
643
+ if (idx > 0) {
644
+ self.tracks.splice(idx - 1, 2, self.tracks[idx], self.tracks[idx - 1]);
645
+ }
646
+ },
647
+ /**
648
+ * #action
649
+ */
650
+ moveTrackToTop(id) {
651
+ const idx = self.tracks.findIndex(track => track.id === id);
652
+ self.tracks = (0, mobx_state_tree_1.cast)([
653
+ self.tracks[idx],
654
+ ...self.tracks.filter(track => track.id !== id),
655
+ ]);
656
+ },
657
+ /**
658
+ * #action
659
+ */
660
+ moveTrackToBottom(id) {
661
+ const idx = self.tracks.findIndex(track => track.id === id);
662
+ self.tracks = (0, mobx_state_tree_1.cast)([
663
+ ...self.tracks.filter(track => track.id !== id),
664
+ self.tracks[idx],
665
+ ]);
666
+ },
590
667
  /**
591
668
  * #action
592
669
  */
@@ -599,9 +676,9 @@ function stateModelFactory(pluginManager) {
599
676
  if (newIndex === -1) {
600
677
  throw new Error(`Track ID ${targetId} not found`);
601
678
  }
602
- const track = (0, mobx_state_tree_1.getSnapshot)(self.tracks[oldIndex]);
603
- self.tracks.splice(oldIndex, 1);
604
- self.tracks.splice(newIndex, 0, track);
679
+ const tracks = self.tracks.filter((_, idx) => idx !== oldIndex);
680
+ tracks.splice(newIndex, 0, self.tracks[oldIndex]);
681
+ self.tracks = (0, mobx_state_tree_1.cast)(tracks);
605
682
  },
606
683
  /**
607
684
  * #action
@@ -792,7 +869,7 @@ function stateModelFactory(pluginManager) {
792
869
  * perform animated slide
793
870
  */
794
871
  function slide(viewWidths) {
795
- const [animate, cancelAnimation] = (0, util_1.springAnimate)(self.offsetPx, self.offsetPx + self.width * viewWidths, self.scrollTo);
872
+ const [animate, cancelAnimation] = (0, util_1.springAnimate)(self.offsetPx, self.offsetPx + self.width * viewWidths, self.scrollTo, undefined, undefined, 200);
796
873
  cancelLastAnimation();
797
874
  cancelLastAnimation = cancelAnimation;
798
875
  animate();
@@ -879,6 +956,7 @@ function stateModelFactory(pluginManager) {
879
956
  ? [
880
957
  {
881
958
  label: 'Sequence search',
959
+ icon: Search_1.default,
882
960
  onClick: () => {
883
961
  (0, util_1.getSession)(self).queueDialog(handleClose => [
884
962
  SequenceSearchDialog,
@@ -908,6 +986,13 @@ function stateModelFactory(pluginManager) {
908
986
  icon: SyncAlt_1.default,
909
987
  onClick: self.horizontallyFlip,
910
988
  },
989
+ {
990
+ label: 'Color by CDS',
991
+ type: 'checkbox',
992
+ checked: self.colorByCDS,
993
+ icon: Palette_1.default,
994
+ onClick: () => self.setColorByCDS(!self.colorByCDS),
995
+ },
911
996
  {
912
997
  label: 'Show...',
913
998
  icon: Visibility_1.default,
@@ -1072,11 +1157,10 @@ function stateModelFactory(pluginManager) {
1072
1157
  }, { delay: 150 }));
1073
1158
  (0, mobx_state_tree_1.addDisposer)(self, (0, mobx_1.autorun)(() => {
1074
1159
  const s = (s) => JSON.stringify(s);
1075
- const { showCytobandsSetting, showCenterLine } = self;
1076
- if (typeof localStorage !== 'undefined') {
1077
- localStorage.setItem('lgv-showCytobands', s(showCytobandsSetting));
1078
- localStorage.setItem('lgv-showCenterLine', s(showCenterLine));
1079
- }
1160
+ const { showCytobandsSetting, showCenterLine, colorByCDS } = self;
1161
+ (0, util_1.localStorageSetItem)('lgv-showCytobands', s(showCytobandsSetting));
1162
+ (0, util_1.localStorageSetItem)('lgv-showCenterLine', s(showCenterLine));
1163
+ (0, util_1.localStorageSetItem)('lgv-colorByCDS', s(colorByCDS));
1080
1164
  }));
1081
1165
  },
1082
1166
  }))
@@ -1260,8 +1344,9 @@ function stateModelFactory(pluginManager) {
1260
1344
  },
1261
1345
  /**
1262
1346
  * #method
1263
- * scrolls the view to center on the given bp. if that is not in any
1264
- * of the displayed regions, does nothing
1347
+ * scrolls the view to center on the given bp. if that is not in any of
1348
+ * the displayed regions, does nothing
1349
+ *
1265
1350
  * @param coord - basepair at which you want to center the view
1266
1351
  * @param refName - refName of the displayedRegion you are centering at
1267
1352
  * @param regionNumber - index of the displayedRegion
@@ -1319,7 +1404,19 @@ function stateModelFactory(pluginManager) {
1319
1404
  document.removeEventListener('keydown', handler);
1320
1405
  });
1321
1406
  },
1322
- }));
1407
+ }))
1408
+ .preProcessSnapshot(snap => {
1409
+ if (!snap) {
1410
+ return snap;
1411
+ }
1412
+ const { highlight, ...rest } = snap;
1413
+ return {
1414
+ highlight: Array.isArray(highlight) || highlight === undefined
1415
+ ? highlight
1416
+ : [highlight],
1417
+ ...rest,
1418
+ };
1419
+ });
1323
1420
  }
1324
1421
  exports.stateModelFactory = stateModelFactory;
1325
1422
  var LinearGenomeView_1 = require("./components/LinearGenomeView");
@@ -19,7 +19,7 @@ const util_2 = require("./util");
19
19
  // render LGV to SVG
20
20
  async function renderToSvg(model, opts) {
21
21
  await (0, mobx_1.when)(() => model.initialized);
22
- const { textHeight = 18, headerHeight = 40, rulerHeight = 50, fontSize = 13, cytobandHeight = 100, trackLabels = 'offset', themeName = 'default', Wrapper = ({ children }) => react_1.default.createElement(react_1.default.Fragment, null, children), } = opts;
22
+ const { textHeight = 18, headerHeight = 40, rulerHeight = 50, fontSize = 13, cytobandHeight = 100, trackLabels = 'offset', themeName = 'default', Wrapper = ({ children }) => children, } = opts;
23
23
  const session = (0, util_1.getSession)(model);
24
24
  const { allThemes } = session;
25
25
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -24,8 +24,8 @@ export declare function generateLocations(regions: ParsedLocString[] | undefined
24
24
  assemblyName: string;
25
25
  parentRegion: import("@jbrowse/core/assemblyManager/assembly").BasicRegion;
26
26
  end?: number | undefined;
27
- reversed?: boolean | undefined;
28
27
  start?: number | undefined;
28
+ reversed?: boolean | undefined;
29
29
  refName: string;
30
30
  }[]>;
31
31
  /**