@jbrowse/plugin-linear-genome-view 1.7.9 → 2.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 (272) hide show
  1. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +1 -5
  2. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js +118 -226
  3. package/dist/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  4. package/dist/BaseLinearDisplay/components/Block.js +53 -74
  5. package/dist/BaseLinearDisplay/components/Block.js.map +1 -0
  6. package/dist/BaseLinearDisplay/components/LinearBlocks.d.ts +11 -1
  7. package/dist/BaseLinearDisplay/components/LinearBlocks.js +64 -103
  8. package/dist/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  9. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +145 -175
  10. package/dist/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  11. package/dist/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  12. package/dist/BaseLinearDisplay/components/Tooltip.js +118 -0
  13. package/dist/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  14. package/dist/BaseLinearDisplay/index.js +13 -40
  15. package/dist/BaseLinearDisplay/index.js.map +1 -0
  16. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +20 -15
  17. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js +605 -683
  18. package/dist/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  19. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +15 -22
  20. package/dist/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  21. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +7 -8
  22. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js +266 -312
  23. package/dist/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  24. package/dist/LinearBareDisplay/configSchema.js +11 -17
  25. package/dist/LinearBareDisplay/configSchema.js.map +1 -0
  26. package/dist/LinearBareDisplay/index.js +7 -20
  27. package/dist/LinearBareDisplay/index.js.map +1 -0
  28. package/dist/LinearBareDisplay/model.d.ts +16 -14
  29. package/dist/LinearBareDisplay/model.js +36 -42
  30. package/dist/LinearBareDisplay/model.js.map +1 -0
  31. package/dist/LinearBasicDisplay/components/SetMaxHeight.d.ts +1 -1
  32. package/dist/LinearBasicDisplay/components/SetMaxHeight.js +76 -85
  33. package/dist/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  34. package/dist/LinearBasicDisplay/configSchema.js +15 -23
  35. package/dist/LinearBasicDisplay/configSchema.js.map +1 -0
  36. package/dist/LinearBasicDisplay/index.js +10 -22
  37. package/dist/LinearBasicDisplay/index.js.map +1 -0
  38. package/dist/LinearBasicDisplay/model.d.ts +20 -15
  39. package/dist/LinearBasicDisplay/model.js +180 -159
  40. package/dist/LinearBasicDisplay/model.js.map +1 -0
  41. package/dist/LinearGenomeView/components/CenterLine.d.ts +2 -8
  42. package/dist/LinearGenomeView/components/CenterLine.js +60 -74
  43. package/dist/LinearGenomeView/components/CenterLine.js.map +1 -0
  44. package/dist/LinearGenomeView/components/ExportSvgDialog.js +141 -141
  45. package/dist/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  46. package/dist/LinearGenomeView/components/Header.js +70 -123
  47. package/dist/LinearGenomeView/components/Header.js.map +1 -0
  48. package/dist/LinearGenomeView/components/HelpDialog.d.ts +0 -1
  49. package/dist/LinearGenomeView/components/HelpDialog.js +62 -45
  50. package/dist/LinearGenomeView/components/HelpDialog.js.map +1 -0
  51. package/dist/LinearGenomeView/components/ImportForm.js +223 -320
  52. package/dist/LinearGenomeView/components/ImportForm.js.map +1 -0
  53. package/dist/LinearGenomeView/components/LinearGenomeView.js +64 -120
  54. package/dist/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  55. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js +198 -337
  56. package/dist/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  57. package/dist/LinearGenomeView/components/MiniControls.js +64 -78
  58. package/dist/LinearGenomeView/components/MiniControls.js.map +1 -0
  59. package/dist/LinearGenomeView/components/OverviewRubberBand.js +226 -293
  60. package/dist/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  61. package/dist/LinearGenomeView/components/OverviewScaleBar.d.ts +24 -8
  62. package/dist/LinearGenomeView/components/OverviewScaleBar.js +277 -365
  63. package/dist/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  64. package/dist/LinearGenomeView/components/RefNameAutocomplete.d.ts +1 -1
  65. package/dist/LinearGenomeView/components/RefNameAutocomplete.js +237 -324
  66. package/dist/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  67. package/dist/LinearGenomeView/components/RubberBand.js +229 -296
  68. package/dist/LinearGenomeView/components/RubberBand.js.map +1 -0
  69. package/dist/LinearGenomeView/components/Ruler.js +45 -90
  70. package/dist/LinearGenomeView/components/Ruler.js.map +1 -0
  71. package/dist/LinearGenomeView/components/ScaleBar.d.ts +8 -399
  72. package/dist/LinearGenomeView/components/ScaleBar.js +121 -167
  73. package/dist/LinearGenomeView/components/ScaleBar.js.map +1 -0
  74. package/dist/LinearGenomeView/components/SearchBox.js +158 -205
  75. package/dist/LinearGenomeView/components/SearchBox.js.map +1 -0
  76. package/dist/LinearGenomeView/components/SearchResultsDialog.d.ts +0 -1
  77. package/dist/LinearGenomeView/components/SearchResultsDialog.js +105 -150
  78. package/dist/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  79. package/dist/LinearGenomeView/components/SequenceDialog.js +219 -272
  80. package/dist/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  81. package/dist/LinearGenomeView/components/TrackContainer.js +116 -156
  82. package/dist/LinearGenomeView/components/TrackContainer.js.map +1 -0
  83. package/dist/LinearGenomeView/components/TrackLabel.d.ts +6 -42
  84. package/dist/LinearGenomeView/components/TrackLabel.js +115 -150
  85. package/dist/LinearGenomeView/components/TrackLabel.js.map +1 -0
  86. package/dist/LinearGenomeView/components/TracksContainer.d.ts +1 -1
  87. package/dist/LinearGenomeView/components/TracksContainer.js +172 -199
  88. package/dist/LinearGenomeView/components/TracksContainer.js.map +1 -0
  89. package/dist/LinearGenomeView/components/VerticalGuides.d.ts +2 -3
  90. package/dist/LinearGenomeView/components/VerticalGuides.js +66 -104
  91. package/dist/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  92. package/dist/LinearGenomeView/components/ZoomControls.js +72 -87
  93. package/dist/LinearGenomeView/components/ZoomControls.js.map +1 -0
  94. package/dist/LinearGenomeView/components/util.d.ts +12 -0
  95. package/dist/LinearGenomeView/components/util.js +95 -13
  96. package/dist/LinearGenomeView/components/util.js.map +1 -0
  97. package/dist/LinearGenomeView/index.d.ts +6 -11
  98. package/dist/LinearGenomeView/index.js +1163 -1387
  99. package/dist/LinearGenomeView/index.js.map +1 -0
  100. package/dist/LinearGenomeView/util.js +76 -83
  101. package/dist/LinearGenomeView/util.js.map +1 -0
  102. package/dist/index.d.ts +101 -51
  103. package/dist/index.js +225 -284
  104. package/dist/index.js.map +1 -0
  105. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.d.ts +9 -0
  106. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js +68 -0
  107. package/esm/BaseLinearDisplay/components/BaseLinearDisplay.js.map +1 -0
  108. package/esm/BaseLinearDisplay/components/Block.d.ts +15 -0
  109. package/esm/BaseLinearDisplay/components/Block.js +46 -0
  110. package/esm/BaseLinearDisplay/components/Block.js.map +1 -0
  111. package/esm/BaseLinearDisplay/components/LinearBlocks.d.ts +22 -0
  112. package/esm/BaseLinearDisplay/components/LinearBlocks.js +62 -0
  113. package/esm/BaseLinearDisplay/components/LinearBlocks.js.map +1 -0
  114. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.d.ts +4 -0
  115. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js +113 -0
  116. package/esm/BaseLinearDisplay/components/ServerSideRenderedBlockContent.js.map +1 -0
  117. package/esm/BaseLinearDisplay/components/Tooltip.d.ts +8 -0
  118. package/esm/BaseLinearDisplay/components/Tooltip.js +64 -0
  119. package/esm/BaseLinearDisplay/components/Tooltip.js.map +1 -0
  120. package/esm/BaseLinearDisplay/index.d.ts +5 -0
  121. package/esm/BaseLinearDisplay/index.js +4 -0
  122. package/esm/BaseLinearDisplay/index.js.map +1 -0
  123. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.d.ts +232 -0
  124. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js +541 -0
  125. package/esm/BaseLinearDisplay/models/BaseLinearDisplayModel.js.map +1 -0
  126. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.d.ts +1 -0
  127. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js +14 -0
  128. package/esm/BaseLinearDisplay/models/baseLinearDisplayConfigSchema.js.map +1 -0
  129. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.d.ts +96 -0
  130. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js +225 -0
  131. package/esm/BaseLinearDisplay/models/serverSideRenderedBlock.js.map +1 -0
  132. package/esm/LinearBareDisplay/configSchema.d.ts +2 -0
  133. package/esm/LinearBareDisplay/configSchema.js +9 -0
  134. package/esm/LinearBareDisplay/configSchema.js.map +1 -0
  135. package/esm/LinearBareDisplay/index.d.ts +2 -0
  136. package/esm/LinearBareDisplay/index.js +3 -0
  137. package/esm/LinearBareDisplay/index.js.map +1 -0
  138. package/esm/LinearBareDisplay/model.d.ts +194 -0
  139. package/esm/LinearBareDisplay/model.js +28 -0
  140. package/esm/LinearBareDisplay/model.js.map +1 -0
  141. package/esm/LinearBasicDisplay/components/SetMaxHeight.d.ts +10 -0
  142. package/esm/LinearBasicDisplay/components/SetMaxHeight.js +40 -0
  143. package/esm/LinearBasicDisplay/components/SetMaxHeight.js.map +1 -0
  144. package/esm/LinearBasicDisplay/configSchema.d.ts +2 -0
  145. package/esm/LinearBasicDisplay/configSchema.js +14 -0
  146. package/esm/LinearBasicDisplay/configSchema.js.map +1 -0
  147. package/esm/LinearBasicDisplay/index.d.ts +2 -0
  148. package/esm/LinearBasicDisplay/index.js +3 -0
  149. package/esm/LinearBasicDisplay/index.js.map +1 -0
  150. package/esm/LinearBasicDisplay/model.d.ts +218 -0
  151. package/esm/LinearBasicDisplay/model.js +127 -0
  152. package/esm/LinearBasicDisplay/model.js.map +1 -0
  153. package/esm/LinearGenomeView/components/CenterLine.d.ts +8 -0
  154. package/esm/LinearGenomeView/components/CenterLine.js +40 -0
  155. package/esm/LinearGenomeView/components/CenterLine.js.map +1 -0
  156. package/esm/LinearGenomeView/components/ExportSvgDialog.d.ts +6 -0
  157. package/esm/LinearGenomeView/components/ExportSvgDialog.js +52 -0
  158. package/esm/LinearGenomeView/components/ExportSvgDialog.js.map +1 -0
  159. package/esm/LinearGenomeView/components/Header.d.ts +7 -0
  160. package/esm/LinearGenomeView/components/Header.js +81 -0
  161. package/esm/LinearGenomeView/components/Header.js.map +1 -0
  162. package/esm/LinearGenomeView/components/HelpDialog.d.ts +4 -0
  163. package/esm/LinearGenomeView/components/HelpDialog.js +58 -0
  164. package/esm/LinearGenomeView/components/HelpDialog.js.map +1 -0
  165. package/esm/LinearGenomeView/components/ImportForm.d.ts +7 -0
  166. package/esm/LinearGenomeView/components/ImportForm.js +141 -0
  167. package/esm/LinearGenomeView/components/ImportForm.js.map +1 -0
  168. package/esm/LinearGenomeView/components/LinearGenomeView.d.ts +7 -0
  169. package/esm/LinearGenomeView/components/LinearGenomeView.js +67 -0
  170. package/esm/LinearGenomeView/components/LinearGenomeView.js.map +1 -0
  171. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.d.ts +4 -0
  172. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js +132 -0
  173. package/esm/LinearGenomeView/components/LinearGenomeViewSvg.js.map +1 -0
  174. package/esm/LinearGenomeView/components/MiniControls.d.ts +6 -0
  175. package/esm/LinearGenomeView/components/MiniControls.js +25 -0
  176. package/esm/LinearGenomeView/components/MiniControls.js.map +1 -0
  177. package/esm/LinearGenomeView/components/OverviewRubberBand.d.ts +22 -0
  178. package/esm/LinearGenomeView/components/OverviewRubberBand.js +194 -0
  179. package/esm/LinearGenomeView/components/OverviewRubberBand.js.map +1 -0
  180. package/esm/LinearGenomeView/components/OverviewScaleBar.d.ts +148 -0
  181. package/esm/LinearGenomeView/components/OverviewScaleBar.js +287 -0
  182. package/esm/LinearGenomeView/components/OverviewScaleBar.js.map +1 -0
  183. package/esm/LinearGenomeView/components/RefNameAutocomplete.d.ts +22 -0
  184. package/esm/LinearGenomeView/components/RefNameAutocomplete.js +136 -0
  185. package/esm/LinearGenomeView/components/RefNameAutocomplete.js.map +1 -0
  186. package/esm/LinearGenomeView/components/RubberBand.d.ts +9 -0
  187. package/esm/LinearGenomeView/components/RubberBand.js +198 -0
  188. package/esm/LinearGenomeView/components/RubberBand.js.map +1 -0
  189. package/esm/LinearGenomeView/components/Ruler.d.ts +27 -0
  190. package/esm/LinearGenomeView/components/Ruler.js +50 -0
  191. package/esm/LinearGenomeView/components/Ruler.js.map +1 -0
  192. package/esm/LinearGenomeView/components/ScaleBar.d.ts +10 -0
  193. package/esm/LinearGenomeView/components/ScaleBar.js +112 -0
  194. package/esm/LinearGenomeView/components/ScaleBar.js.map +1 -0
  195. package/esm/LinearGenomeView/components/SearchBox.d.ts +8 -0
  196. package/esm/LinearGenomeView/components/SearchBox.js +94 -0
  197. package/esm/LinearGenomeView/components/SearchBox.js.map +1 -0
  198. package/esm/LinearGenomeView/components/SearchResultsDialog.d.ts +7 -0
  199. package/esm/LinearGenomeView/components/SearchResultsDialog.js +107 -0
  200. package/esm/LinearGenomeView/components/SearchResultsDialog.js.map +1 -0
  201. package/esm/LinearGenomeView/components/SequenceDialog.d.ts +8 -0
  202. package/esm/LinearGenomeView/components/SequenceDialog.js +147 -0
  203. package/esm/LinearGenomeView/components/SequenceDialog.js.map +1 -0
  204. package/esm/LinearGenomeView/components/TrackContainer.d.ts +9 -0
  205. package/esm/LinearGenomeView/components/TrackContainer.js +109 -0
  206. package/esm/LinearGenomeView/components/TrackContainer.js.map +1 -0
  207. package/esm/LinearGenomeView/components/TrackLabel.d.ts +8 -0
  208. package/esm/LinearGenomeView/components/TrackLabel.js +89 -0
  209. package/esm/LinearGenomeView/components/TrackLabel.js.map +1 -0
  210. package/esm/LinearGenomeView/components/TracksContainer.d.ts +10 -0
  211. package/esm/LinearGenomeView/components/TracksContainer.js +142 -0
  212. package/esm/LinearGenomeView/components/TracksContainer.js.map +1 -0
  213. package/esm/LinearGenomeView/components/VerticalGuides.d.ts +8 -0
  214. package/esm/LinearGenomeView/components/VerticalGuides.js +71 -0
  215. package/esm/LinearGenomeView/components/VerticalGuides.js.map +1 -0
  216. package/esm/LinearGenomeView/components/ZoomControls.d.ts +7 -0
  217. package/esm/LinearGenomeView/components/ZoomControls.js +32 -0
  218. package/esm/LinearGenomeView/components/ZoomControls.js.map +1 -0
  219. package/esm/LinearGenomeView/components/util.d.ts +14 -0
  220. package/esm/LinearGenomeView/components/util.js +17 -0
  221. package/esm/LinearGenomeView/components/util.js.map +1 -0
  222. package/esm/LinearGenomeView/index.d.ts +288 -0
  223. package/esm/LinearGenomeView/index.js +1124 -0
  224. package/esm/LinearGenomeView/index.js.map +1 -0
  225. package/esm/LinearGenomeView/util.d.ts +14 -0
  226. package/esm/LinearGenomeView/util.js +62 -0
  227. package/esm/LinearGenomeView/util.js.map +1 -0
  228. package/esm/index.d.ts +615 -0
  229. package/esm/index.js +127 -0
  230. package/esm/index.js.map +1 -0
  231. package/package.json +21 -13
  232. package/src/BaseLinearDisplay/components/BaseLinearDisplay.tsx +6 -90
  233. package/src/BaseLinearDisplay/components/Block.tsx +5 -5
  234. package/src/BaseLinearDisplay/components/LinearBlocks.tsx +4 -4
  235. package/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +7 -8
  236. package/src/BaseLinearDisplay/components/Tooltip.tsx +107 -0
  237. package/src/BaseLinearDisplay/models/BaseLinearDisplayModel.tsx +16 -8
  238. package/src/BaseLinearDisplay/models/serverSideRenderedBlock.ts +1 -1
  239. package/src/LinearBasicDisplay/components/SetMaxHeight.tsx +10 -7
  240. package/src/LinearBasicDisplay/model.ts +21 -15
  241. package/src/LinearGenomeView/components/CenterLine.tsx +6 -11
  242. package/src/LinearGenomeView/components/ExportSvgDialog.tsx +5 -5
  243. package/src/LinearGenomeView/components/Header.tsx +12 -16
  244. package/src/LinearGenomeView/components/HelpDialog.tsx +10 -9
  245. package/src/LinearGenomeView/components/ImportForm.tsx +24 -37
  246. package/src/LinearGenomeView/components/LinearGenomeView.test.js +18 -8
  247. package/src/LinearGenomeView/components/LinearGenomeView.tsx +20 -13
  248. package/src/LinearGenomeView/components/MiniControls.tsx +29 -40
  249. package/src/LinearGenomeView/components/OverviewRubberBand.tsx +6 -10
  250. package/src/LinearGenomeView/components/OverviewScaleBar.tsx +103 -93
  251. package/src/LinearGenomeView/components/RefNameAutocomplete.tsx +13 -44
  252. package/src/LinearGenomeView/components/RubberBand.tsx +12 -17
  253. package/src/LinearGenomeView/components/Ruler.tsx +5 -11
  254. package/src/LinearGenomeView/components/ScaleBar.tsx +27 -34
  255. package/src/LinearGenomeView/components/SearchBox.tsx +22 -32
  256. package/src/LinearGenomeView/components/SearchResultsDialog.tsx +7 -7
  257. package/src/LinearGenomeView/components/SequenceDialog.tsx +9 -9
  258. package/src/LinearGenomeView/components/TrackContainer.tsx +12 -12
  259. package/src/LinearGenomeView/components/TrackLabel.tsx +37 -50
  260. package/src/LinearGenomeView/components/TracksContainer.tsx +8 -13
  261. package/src/LinearGenomeView/components/VerticalGuides.tsx +9 -11
  262. package/src/LinearGenomeView/components/ZoomControls.tsx +12 -13
  263. package/src/LinearGenomeView/components/__snapshots__/LinearGenomeView.test.js.snap +504 -568
  264. package/src/LinearGenomeView/components/util.ts +43 -0
  265. package/src/LinearGenomeView/index.test.ts +21 -5
  266. package/src/LinearGenomeView/index.tsx +101 -88
  267. package/src/index.ts +36 -31
  268. package/dist/LinearBareDisplay/index.test.js +0 -33
  269. package/dist/LinearGenomeView/components/LinearGenomeView.test.js +0 -234
  270. package/dist/LinearGenomeView/components/ScaleBar.test.js +0 -180
  271. package/dist/LinearGenomeView/index.test.js +0 -1170
  272. package/dist/LinearGenomeView/util.test.js +0 -78
@@ -1,403 +1,315 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = exports.Polygon = exports.Cytobands = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _core = require("@material-ui/core");
17
-
18
- var _mobxReact = require("mobx-react");
19
-
20
- var _clsx = _interopRequireDefault(require("clsx"));
21
-
22
- var _Base1DViewModel = _interopRequireDefault(require("@jbrowse/core/util/Base1DViewModel"));
23
-
24
- var _util = require("@jbrowse/core/util");
25
-
26
- var _blockTypes = require("@jbrowse/core/util/blockTypes");
27
-
28
- var _ = require("..");
29
-
30
- var _util2 = require("../util");
31
-
32
- var _OverviewRubberBand = _interopRequireDefault(require("./OverviewRubberBand"));
33
-
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
-
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
-
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.Polygon = exports.Cytobands = void 0;
34
+ var react_1 = __importDefault(require("react"));
35
+ var material_1 = require("@mui/material");
36
+ var mui_1 = require("tss-react/mui");
37
+ var mobx_react_1 = require("mobx-react");
38
+ var Base1DViewModel_1 = __importDefault(require("@jbrowse/core/util/Base1DViewModel"));
39
+ var util_1 = require("@jbrowse/core/util");
40
+ var blockTypes_1 = require("@jbrowse/core/util/blockTypes");
41
+ // locals
42
+ var __1 = require("..");
43
+ var util_2 = require("../util");
44
+ var OverviewRubberBand_1 = __importDefault(require("./OverviewRubberBand"));
38
45
  var wholeSeqSpacer = 2;
39
- var useStyles = (0, _core.makeStyles)(function (theme) {
40
- return {
46
+ var useStyles = (0, mui_1.makeStyles)()(function (theme) { return ({
41
47
  scaleBar: {
42
- height: _.HEADER_OVERVIEW_HEIGHT
48
+ height: __1.HEADER_OVERVIEW_HEIGHT,
43
49
  },
44
50
  scaleBarBorder: {
45
- border: '1px solid'
51
+ border: '1px solid',
46
52
  },
47
53
  scaleBarContig: {
48
- backgroundColor: theme.palette.background.default,
49
- position: 'absolute',
50
- top: 0,
51
- height: _.HEADER_OVERVIEW_HEIGHT
54
+ backgroundColor: theme.palette.background.default,
55
+ position: 'absolute',
56
+ top: 0,
57
+ height: __1.HEADER_OVERVIEW_HEIGHT,
52
58
  },
53
59
  scaleBarContigForward: {
54
- backgroundImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M-.1 0L6 4.5L-.1 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E\")",
55
- backgroundRepeat: 'repeat'
60
+ backgroundImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M-.1 0L6 4.5L-.1 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E\")",
61
+ backgroundRepeat: 'repeat',
56
62
  },
57
63
  scaleBarContigReverse: {
58
- backgroundImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M6 0L0 4.5L6 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E\")",
59
- backgroundRepeat: 'repeat'
64
+ backgroundImage: "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M6 0L0 4.5L6 9' fill='none' stroke='%23ddd'/%3E%3C/svg%3E\")",
65
+ backgroundRepeat: 'repeat',
60
66
  },
61
67
  scaleBarRefName: {
62
- position: 'absolute',
63
- fontWeight: 'bold',
64
- pointerEvents: 'none',
65
- zIndex: 100
68
+ position: 'absolute',
69
+ fontWeight: 'bold',
70
+ pointerEvents: 'none',
71
+ zIndex: 100,
66
72
  },
67
73
  scaleBarLabel: {
68
- height: _.HEADER_OVERVIEW_HEIGHT,
69
- width: 1,
70
- position: 'absolute',
71
- display: 'flex',
72
- justifyContent: 'center',
73
- pointerEvents: 'none'
74
+ height: __1.HEADER_OVERVIEW_HEIGHT,
75
+ position: 'absolute',
76
+ display: 'flex',
77
+ justifyContent: 'center',
78
+ pointerEvents: 'none',
74
79
  },
75
80
  scaleBarVisibleRegion: {
76
- position: 'absolute',
77
- height: _.HEADER_OVERVIEW_HEIGHT,
78
- pointerEvents: 'none',
79
- zIndex: 100,
80
- border: '1px solid'
81
+ position: 'absolute',
82
+ height: __1.HEADER_OVERVIEW_HEIGHT,
83
+ pointerEvents: 'none',
84
+ zIndex: 100,
85
+ border: '1px solid',
81
86
  },
82
87
  overview: {
83
- height: _.HEADER_BAR_HEIGHT,
84
- position: 'relative'
88
+ height: __1.HEADER_BAR_HEIGHT,
89
+ position: 'relative',
85
90
  },
86
91
  overviewSvg: {
87
- width: '100%',
88
- position: 'absolute'
92
+ width: '100%',
93
+ position: 'absolute',
94
+ },
95
+ }); });
96
+ var Polygon = (0, mobx_react_1.observer)(function (_a) {
97
+ var model = _a.model, overview = _a.overview, _b = _a.useOffset, useOffset = _b === void 0 ? true : _b;
98
+ var theme = (0, material_1.useTheme)();
99
+ var multiplier = Number(useOffset);
100
+ var interRegionPaddingWidth = model.interRegionPaddingWidth, offsetPx = model.offsetPx, dynamicBlocks = model.dynamicBlocks, cytobandOffset = model.cytobandOffset;
101
+ var contentBlocks = dynamicBlocks.contentBlocks, totalWidthPxWithoutBorders = dynamicBlocks.totalWidthPxWithoutBorders;
102
+ // @ts-ignore
103
+ var _c = theme.palette, tertiary = _c.tertiary, primary = _c.primary;
104
+ var polygonColor = tertiary ? tertiary.light : primary.light;
105
+ if (!contentBlocks.length) {
106
+ return null;
89
107
  }
90
- };
91
- });
92
- var Polygon = (0, _mobxReact.observer)(function (_ref) {
93
- var model = _ref.model,
94
- overview = _ref.overview,
95
- _ref$useOffset = _ref.useOffset,
96
- useOffset = _ref$useOffset === void 0 ? true : _ref$useOffset;
97
- var theme = (0, _core.useTheme)();
98
- var multiplier = Number(useOffset);
99
- var interRegionPaddingWidth = model.interRegionPaddingWidth,
100
- offsetPx = model.offsetPx,
101
- dynamicBlocks = model.dynamicBlocks,
102
- cytobandOffset = model.cytobandOffset;
103
- var contentBlocks = dynamicBlocks.contentBlocks,
104
- totalWidthPxWithoutBorders = dynamicBlocks.totalWidthPxWithoutBorders;
105
- var _theme$palette = theme.palette,
106
- tertiary = _theme$palette.tertiary,
107
- primary = _theme$palette.primary;
108
- var polygonColor = tertiary ? tertiary.light : primary.light;
109
-
110
- if (!contentBlocks.length) {
111
- return null;
112
- }
113
-
114
- var first = contentBlocks[0];
115
- var last = contentBlocks[contentBlocks.length - 1];
116
- var topLeft = (overview.bpToPx(_objectSpread(_objectSpread({}, first), {}, {
117
- coord: first.reversed ? first.end : first.start
118
- })) || 0) + cytobandOffset * multiplier;
119
- var topRight = (overview.bpToPx(_objectSpread(_objectSpread({}, last), {}, {
120
- coord: last.reversed ? last.start : last.end
121
- })) || 0) + cytobandOffset * multiplier;
122
- var startPx = Math.max(0, -offsetPx);
123
- var endPx = startPx + totalWidthPxWithoutBorders + contentBlocks.length * interRegionPaddingWidth / 2;
124
- var points = [[startPx, _.HEADER_BAR_HEIGHT], [endPx, _.HEADER_BAR_HEIGHT], [topRight, 0], [topLeft, 0]];
125
- return /*#__PURE__*/_react.default.createElement("polygon", {
126
- points: points.toString(),
127
- fill: (0, _core.alpha)(polygonColor, 0.3),
128
- stroke: (0, _core.alpha)(polygonColor, 0.8)
129
- });
108
+ var first = contentBlocks[0];
109
+ var last = contentBlocks[contentBlocks.length - 1];
110
+ var topLeft = (overview.bpToPx(__assign(__assign({}, first), { coord: first.reversed ? first.end : first.start })) || 0) +
111
+ cytobandOffset * multiplier;
112
+ var topRight = (overview.bpToPx(__assign(__assign({}, last), { coord: last.reversed ? last.start : last.end })) || 0) +
113
+ cytobandOffset * multiplier;
114
+ var startPx = Math.max(0, -offsetPx);
115
+ var endPx = startPx +
116
+ totalWidthPxWithoutBorders +
117
+ (contentBlocks.length * interRegionPaddingWidth) / 2;
118
+ var points = [
119
+ [startPx, __1.HEADER_BAR_HEIGHT],
120
+ [endPx, __1.HEADER_BAR_HEIGHT],
121
+ [topRight, 0],
122
+ [topLeft, 0],
123
+ ];
124
+ return (react_1.default.createElement("polygon", { points: points.toString(), fill: (0, material_1.alpha)(polygonColor, 0.3), stroke: (0, material_1.alpha)(polygonColor, 0.8) }));
130
125
  });
131
126
  exports.Polygon = Polygon;
132
-
133
127
  // rounded rect from https://stackoverflow.com/a/45889603/2129219
134
128
  // prettier-ignore
135
129
  function rightRoundedRect(x, y, width, height, radius) {
136
- return "M" + x + "," + y + "h" + (width - radius) + "a" + radius + "," + radius + " 0 0 1 " + radius + "," + radius + "v" + (height - 2 * radius) + "a" + radius + "," + radius + " 0 0 1 " + -radius + "," + radius + "h" + (radius - width) + "z";
137
- } // prettier-ignore
138
-
139
-
130
+ return "M" + x + "," + y
131
+ + "h" + (width - radius)
132
+ + "a" + radius + "," + radius + " 0 0 1 " + radius + "," + radius
133
+ + "v" + (height - 2 * radius)
134
+ + "a" + radius + "," + radius + " 0 0 1 " + -radius + "," + radius
135
+ + "h" + (radius - width)
136
+ + "z";
137
+ }
138
+ // prettier-ignore
140
139
  function leftRoundedRect(x, y, width, height, radius) {
141
- return "M" + (x + radius) + "," + y + "h" + (width - radius) + "v" + height + "h" + (radius - width) + "a" + radius + "," + radius + " 0 0 1 " + -radius + "," + -radius + "v" + (2 * radius - height) + "a" + radius + "," + radius + " 0 0 1 " + radius + "," + -radius + "z";
140
+ return "M" + (x + radius) + "," + y
141
+ + "h" + (width - radius)
142
+ + "v" + height
143
+ + "h" + (radius - width)
144
+ + "a" + radius + "," + radius + " 0 0 1 " + (-radius) + "," + (-radius)
145
+ + "v" + (2 * radius - height)
146
+ + "a" + radius + "," + radius + " 0 0 1 " + radius + "," + (-radius)
147
+ + "z";
142
148
  }
143
-
144
149
  var colorMap = {
145
- gneg: 'rgb(227,227,227)',
146
- gpos25: 'rgb(142,142,142)',
147
- gpos50: 'rgb(85,85,85)',
148
- gpos100: 'rgb(0,0,0)',
149
- gpos75: 'rgb(57,57,57)',
150
- gvar: 'rgb(0,0,0)',
151
- stalk: 'rgb(127,127,127)',
152
- acen: '#800'
150
+ gneg: 'rgb(227,227,227)',
151
+ gpos25: 'rgb(142,142,142)',
152
+ gpos50: 'rgb(85,85,85)',
153
+ gpos100: 'rgb(0,0,0)',
154
+ gpos75: 'rgb(57,57,57)',
155
+ gvar: 'rgb(0,0,0)',
156
+ stalk: 'rgb(127,127,127)',
157
+ acen: '#800',
153
158
  };
154
- var Cytobands = (0, _mobxReact.observer)(function (_ref2) {
155
- var _assembly$cytobands;
156
-
157
- var overview = _ref2.overview,
158
- block = _ref2.block,
159
- assembly = _ref2.assembly;
160
- var offsetPx = block.offsetPx,
161
- reversed = block.reversed;
162
- var cytobands = assembly === null || assembly === void 0 ? void 0 : (_assembly$cytobands = assembly.cytobands) === null || _assembly$cytobands === void 0 ? void 0 : _assembly$cytobands.map(function (f) {
163
- return {
164
- refName: assembly.getCanonicalRefName(f.get('refName')),
165
- start: f.get('start'),
166
- end: f.get('end'),
167
- type: f.get('type')
168
- };
169
- }).filter(function (f) {
170
- return f.refName === block.refName;
171
- }).map(function (f) {
172
- var refName = f.refName,
173
- start = f.start,
174
- end = f.end,
175
- type = f.type;
176
- return [overview.bpToPx({
177
- refName: refName,
178
- coord: start
179
- }), overview.bpToPx({
180
- refName: refName,
181
- coord: end
182
- }), type];
183
- });
184
- var arr = cytobands || [];
185
- var lcap = reversed ? arr.length - 1 : 0;
186
- var rcap = reversed ? 0 : arr.length - 1;
187
- var firstCent = true;
188
- return cytobands ? /*#__PURE__*/_react.default.createElement("g", {
189
- transform: "translate(-".concat(offsetPx, ")")
190
- }, cytobands.map(function (_ref3, index) {
191
- var _ref4 = (0, _slicedToArray2.default)(_ref3, 3),
192
- start = _ref4[0],
193
- end = _ref4[1],
194
- type = _ref4[2];
195
-
196
- var key = "".concat(start, "-").concat(end, "-").concat(type);
197
-
198
- if (type === 'acen' && firstCent) {
199
- firstCent = false;
200
- return /*#__PURE__*/_react.default.createElement("polygon", {
201
- key: key,
202
- points: [[start, 0], [end, _.HEADER_OVERVIEW_HEIGHT / 2], [start, _.HEADER_OVERVIEW_HEIGHT]].toString(),
203
- fill: colorMap[type]
204
- });
205
- }
206
-
207
- if (type === 'acen' && !firstCent) {
208
- return /*#__PURE__*/_react.default.createElement("polygon", {
209
- key: key,
210
- points: [[start, _.HEADER_OVERVIEW_HEIGHT / 2], [end, 0], [end, _.HEADER_OVERVIEW_HEIGHT]].toString(),
211
- fill: colorMap[type]
212
- });
213
- }
214
-
215
- if (lcap === index) {
216
- return /*#__PURE__*/_react.default.createElement("path", {
217
- key: key,
218
- d: leftRoundedRect(Math.min(start, end), 0, Math.abs(end - start), _.HEADER_OVERVIEW_HEIGHT, 8),
219
- fill: colorMap[type]
220
- });
221
- } else if (rcap === index) {
222
- return /*#__PURE__*/_react.default.createElement("path", {
223
- key: key,
224
- d: rightRoundedRect(Math.min(start, end), 0, Math.abs(end - start) - 2, _.HEADER_OVERVIEW_HEIGHT, 8),
225
- fill: colorMap[type]
226
- });
227
- } else {
228
- return /*#__PURE__*/_react.default.createElement("rect", {
229
- key: key,
230
- x: Math.min(start, end),
231
- y: 0,
232
- width: Math.abs(end - start),
233
- height: _.HEADER_OVERVIEW_HEIGHT,
234
- fill: colorMap[type]
235
- });
236
- }
237
- })) : null;
159
+ function getCytobands(assembly, refName) {
160
+ var _a;
161
+ return (((_a = assembly === null || assembly === void 0 ? void 0 : assembly.cytobands) === null || _a === void 0 ? void 0 : _a.map(function (f) { return ({
162
+ refName: assembly.getCanonicalRefName(f.get('refName')),
163
+ start: f.get('start'),
164
+ end: f.get('end'),
165
+ type: f.get('type'),
166
+ }); }).filter(function (f) { return f.refName === refName; })) || []);
167
+ }
168
+ var Cytobands = (0, mobx_react_1.observer)(function (_a) {
169
+ var overview = _a.overview, block = _a.block, assembly = _a.assembly;
170
+ var offsetPx = block.offsetPx, reversed = block.reversed;
171
+ var cytobands = getCytobands(assembly, block.refName);
172
+ var coords = cytobands.map(function (f) {
173
+ var refName = f.refName, start = f.start, end = f.end, type = f.type;
174
+ return [
175
+ overview.bpToPx({
176
+ refName: refName,
177
+ coord: start,
178
+ }),
179
+ overview.bpToPx({
180
+ refName: refName,
181
+ coord: end,
182
+ }),
183
+ type,
184
+ ];
185
+ });
186
+ var arr = cytobands || [];
187
+ var lcap = reversed ? arr.length - 1 : 0;
188
+ var rcap = reversed ? 0 : arr.length - 1;
189
+ var firstCent = true;
190
+ return (react_1.default.createElement("g", { transform: "translate(-".concat(offsetPx, ")") }, coords.map(function (_a, index) {
191
+ var _b = __read(_a, 3), start = _b[0], end = _b[1], type = _b[2];
192
+ var key = "".concat(start, "-").concat(end, "-").concat(type);
193
+ if (type === 'acen' && firstCent) {
194
+ firstCent = false;
195
+ return (react_1.default.createElement("polygon", { key: key, points: [
196
+ [start, 0],
197
+ [end, __1.HEADER_OVERVIEW_HEIGHT / 2],
198
+ [start, __1.HEADER_OVERVIEW_HEIGHT],
199
+ ].toString(), fill: colorMap[type] }));
200
+ }
201
+ if (type === 'acen' && !firstCent) {
202
+ return (react_1.default.createElement("polygon", { key: key, points: [
203
+ [start, __1.HEADER_OVERVIEW_HEIGHT / 2],
204
+ [end, 0],
205
+ [end, __1.HEADER_OVERVIEW_HEIGHT],
206
+ ].toString(), fill: colorMap[type] }));
207
+ }
208
+ if (lcap === index) {
209
+ return (react_1.default.createElement("path", { key: key, d: leftRoundedRect(Math.min(start, end), 0, Math.abs(end - start), __1.HEADER_OVERVIEW_HEIGHT, 8), fill: colorMap[type] }));
210
+ }
211
+ else if (rcap === index) {
212
+ return (react_1.default.createElement("path", { key: key, d: rightRoundedRect(Math.min(start, end), 0, Math.abs(end - start) - 2, __1.HEADER_OVERVIEW_HEIGHT, 8), fill: colorMap[type] }));
213
+ }
214
+ else {
215
+ return (react_1.default.createElement("rect", { key: key, x: Math.min(start, end), y: 0, width: Math.abs(end - start), height: __1.HEADER_OVERVIEW_HEIGHT, fill: colorMap[type] }));
216
+ }
217
+ })));
238
218
  });
239
219
  exports.Cytobands = Cytobands;
240
- var OverviewBox = (0, _mobxReact.observer)(function (_ref5) {
241
- var scale = _ref5.scale,
242
- model = _ref5.model,
243
- block = _ref5.block,
244
- overview = _ref5.overview;
245
- var classes = useStyles();
246
- var cytobandOffset = model.cytobandOffset,
247
- showCytobands = model.showCytobands;
248
- var start = block.start,
249
- end = block.end,
250
- reversed = block.reversed,
251
- refName = block.refName,
252
- assemblyName = block.assemblyName;
253
-
254
- var _chooseGridPitch = (0, _util2.chooseGridPitch)(scale, 120, 15),
255
- majorPitch = _chooseGridPitch.majorPitch;
256
-
257
- var _getSession = (0, _util.getSession)(model),
258
- assemblyManager = _getSession.assemblyManager;
259
-
260
- var assembly = assemblyManager.get(assemblyName);
261
- var refNameColor = assembly === null || assembly === void 0 ? void 0 : assembly.getRefNameColor(refName);
262
- var tickLabels = [];
263
-
264
- for (var i = 0; i < Math.floor((end - start) / majorPitch); i++) {
265
- var offsetLabel = (i + 1) * majorPitch;
266
- tickLabels.push(reversed ? end - offsetLabel : start + offsetLabel);
267
- }
268
-
269
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
270
- style: {
271
- left: block.offsetPx + 3,
272
- color: showCytobands ? 'black' : refNameColor
273
- },
274
- className: classes.scaleBarRefName
275
- }, refName), /*#__PURE__*/_react.default.createElement("div", {
276
- className: (0, _clsx.default)(classes.scaleBarContig, showCytobands ? undefined : reversed ? classes.scaleBarContigReverse : classes.scaleBarContigForward, !showCytobands ? classes.scaleBarBorder : undefined),
277
- style: {
278
- left: block.offsetPx + cytobandOffset,
279
- width: block.widthPx,
280
- borderColor: refNameColor
281
- }
282
- }, !showCytobands ? tickLabels.map(function (tickLabel, labelIdx) {
283
- return /*#__PURE__*/_react.default.createElement(_core.Typography, {
284
- key: "".concat(JSON.stringify(block), "-").concat(tickLabel, "-").concat(labelIdx),
285
- className: classes.scaleBarLabel,
286
- variant: "body2",
287
- style: {
288
- left: (labelIdx + 1) * majorPitch / scale,
289
- pointerEvents: 'none',
290
- color: refNameColor
291
- }
292
- }, tickLabel.toLocaleString('en-US'));
293
- }) : null, showCytobands ? /*#__PURE__*/_react.default.createElement("svg", {
294
- style: {
295
- width: '100%'
220
+ var OverviewBox = (0, mobx_react_1.observer)(function (_a) {
221
+ var scale = _a.scale, model = _a.model, block = _a.block, overview = _a.overview;
222
+ var _b = useStyles(), classes = _b.classes, cx = _b.cx;
223
+ var cytobandOffset = model.cytobandOffset, bpPerPx = model.bpPerPx, showCytobands = model.showCytobands;
224
+ var start = block.start, end = block.end, reversed = block.reversed, refName = block.refName, assemblyName = block.assemblyName;
225
+ var majorPitch = (0, util_2.chooseGridPitch)(scale, 120, 15).majorPitch;
226
+ var assemblyManager = (0, util_1.getSession)(model).assemblyManager;
227
+ var assembly = assemblyManager.get(assemblyName);
228
+ var refNameColor = assembly === null || assembly === void 0 ? void 0 : assembly.getRefNameColor(refName);
229
+ var tickLabels = [];
230
+ for (var i = 0; i < Math.floor((end - start) / majorPitch); i++) {
231
+ var offsetLabel = (i + 1) * majorPitch;
232
+ tickLabels.push(reversed ? end - offsetLabel : start + offsetLabel);
296
233
  }
297
- }, /*#__PURE__*/_react.default.createElement(Cytobands, {
298
- overview: overview,
299
- assembly: assembly,
300
- block: block
301
- })) : null));
234
+ var canDisplayCytobands = showCytobands && getCytobands(assembly, block.refName).length;
235
+ return (react_1.default.createElement("div", null,
236
+ react_1.default.createElement(material_1.Typography, { style: {
237
+ left: block.offsetPx + 3,
238
+ color: canDisplayCytobands ? 'black' : refNameColor,
239
+ }, className: classes.scaleBarRefName }, refName),
240
+ react_1.default.createElement("div", { className: cx(classes.scaleBarContig, canDisplayCytobands
241
+ ? undefined
242
+ : reversed
243
+ ? classes.scaleBarContigReverse
244
+ : classes.scaleBarContigForward, !canDisplayCytobands ? classes.scaleBarBorder : undefined), style: {
245
+ left: block.offsetPx + cytobandOffset,
246
+ width: block.widthPx,
247
+ borderColor: refNameColor,
248
+ } },
249
+ !canDisplayCytobands
250
+ ? tickLabels.map(function (tickLabel, labelIdx) { return (react_1.default.createElement(material_1.Typography, { key: "".concat(JSON.stringify(block), "-").concat(tickLabel, "-").concat(labelIdx), className: classes.scaleBarLabel, variant: "body2", style: {
251
+ left: ((labelIdx + 1) * majorPitch) / scale,
252
+ pointerEvents: 'none',
253
+ color: refNameColor,
254
+ } }, (0, util_1.getTickDisplayStr)(tickLabel, bpPerPx))); })
255
+ : null,
256
+ canDisplayCytobands ? (react_1.default.createElement("svg", { style: { width: '100%' } },
257
+ react_1.default.createElement(Cytobands, { overview: overview, assembly: assembly, block: block }))) : null)));
302
258
  });
303
- var ScaleBar = (0, _mobxReact.observer)(function (_ref6) {
304
- var model = _ref6.model,
305
- scale = _ref6.scale,
306
- overview = _ref6.overview;
307
- var classes = useStyles();
308
- var theme = (0, _core.useTheme)();
309
- var dynamicBlocks = model.dynamicBlocks,
310
- showCytobands = model.showCytobands,
311
- cytobandOffset = model.cytobandOffset;
312
- var visibleRegions = dynamicBlocks.contentBlocks;
313
- var overviewVisibleRegions = overview.dynamicBlocks;
314
- var _theme$palette2 = theme.palette,
315
- tertiary = _theme$palette2.tertiary,
316
- primary = _theme$palette2.primary;
317
- var scaleBarColor = tertiary ? tertiary.light : primary.light;
318
-
319
- if (!visibleRegions.length) {
320
- return null;
321
- }
322
-
323
- var first = visibleRegions[0];
324
- var firstOverviewPx = overview.bpToPx(_objectSpread(_objectSpread({}, first), {}, {
325
- coord: first.reversed ? first.end : first.start
326
- })) || 0;
327
- var last = visibleRegions[visibleRegions.length - 1];
328
- var lastOverviewPx = overview.bpToPx(_objectSpread(_objectSpread({}, last), {}, {
329
- coord: last.reversed ? last.start : last.end
330
- })) || 0;
331
- var color = showCytobands ? '#f00' : scaleBarColor;
332
- var transparency = showCytobands ? 0.1 : 0.3;
333
- return /*#__PURE__*/_react.default.createElement("div", {
334
- className: classes.scaleBar
335
- }, /*#__PURE__*/_react.default.createElement("div", {
336
- className: classes.scaleBarVisibleRegion,
337
- style: {
338
- width: lastOverviewPx - firstOverviewPx,
339
- left: firstOverviewPx + cytobandOffset,
340
- background: (0, _core.alpha)(color, transparency),
341
- borderColor: color
259
+ var ScaleBar = (0, mobx_react_1.observer)(function (_a) {
260
+ var model = _a.model, scale = _a.scale, overview = _a.overview;
261
+ var classes = useStyles().classes;
262
+ var theme = (0, material_1.useTheme)();
263
+ var dynamicBlocks = model.dynamicBlocks, showCytobands = model.showCytobands, cytobandOffset = model.cytobandOffset;
264
+ var visibleRegions = dynamicBlocks.contentBlocks;
265
+ var overviewVisibleRegions = overview.dynamicBlocks;
266
+ // @ts-ignore
267
+ var _b = theme.palette, tertiary = _b.tertiary, primary = _b.primary;
268
+ var scaleBarColor = tertiary ? tertiary.light : primary.light;
269
+ if (!visibleRegions.length) {
270
+ return null;
342
271
  }
343
- }), overviewVisibleRegions.map(function (block, idx) {
344
- return !(block instanceof _blockTypes.ContentBlock) ? /*#__PURE__*/_react.default.createElement("div", {
345
- key: "".concat(JSON.stringify(block), "-").concat(idx),
346
- className: classes.scaleBarContig,
347
- style: {
348
- width: block.widthPx,
349
- left: block.offsetPx,
350
- backgroundColor: '#999',
351
- backgroundImage: 'repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(255,255,255,.5) 1px, rgba(255,255,255,.5) 3px)'
352
- }
353
- }) : /*#__PURE__*/_react.default.createElement(OverviewBox, {
354
- scale: scale,
355
- block: block,
356
- model: model,
357
- overview: overview,
358
- key: "".concat(JSON.stringify(block), "-").concat(idx)
359
- });
360
- }));
272
+ var first = visibleRegions[0];
273
+ var firstOverviewPx = overview.bpToPx(__assign(__assign({}, first), { coord: first.reversed ? first.end : first.start })) || 0;
274
+ var last = visibleRegions[visibleRegions.length - 1];
275
+ var lastOverviewPx = overview.bpToPx(__assign(__assign({}, last), { coord: last.reversed ? last.start : last.end })) || 0;
276
+ var color = showCytobands ? '#f00' : scaleBarColor;
277
+ var transparency = showCytobands ? 0.1 : 0.3;
278
+ return (react_1.default.createElement("div", { className: classes.scaleBar },
279
+ react_1.default.createElement("div", { className: classes.scaleBarVisibleRegion, style: {
280
+ width: lastOverviewPx - firstOverviewPx,
281
+ left: firstOverviewPx + cytobandOffset,
282
+ background: (0, material_1.alpha)(color, transparency),
283
+ borderColor: color,
284
+ } }),
285
+ overviewVisibleRegions.map(function (block, idx) {
286
+ return !(block instanceof blockTypes_1.ContentBlock) ? (react_1.default.createElement("div", { key: "".concat(JSON.stringify(block), "-").concat(idx), className: classes.scaleBarContig, style: {
287
+ width: block.widthPx,
288
+ left: block.offsetPx,
289
+ backgroundColor: '#999',
290
+ backgroundImage: 'repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(255,255,255,.5) 1px, rgba(255,255,255,.5) 3px)',
291
+ } })) : (react_1.default.createElement(OverviewBox, { scale: scale, block: block, model: model, overview: overview, key: "".concat(JSON.stringify(block), "-").concat(idx) }));
292
+ })));
361
293
  });
362
-
363
- function OverviewScaleBar(_ref7) {
364
- var model = _ref7.model,
365
- children = _ref7.children;
366
- var classes = useStyles();
367
- var totalBp = model.totalBp,
368
- width = model.width,
369
- cytobandOffset = model.cytobandOffset,
370
- displayedRegions = model.displayedRegions;
371
-
372
- var overview = _Base1DViewModel.default.create({
373
- displayedRegions: JSON.parse(JSON.stringify(displayedRegions)),
374
- interRegionPaddingWidth: 0,
375
- minimumBlockWidth: model.minimumBlockWidth
376
- });
377
-
378
- var modWidth = width - cytobandOffset;
379
- overview.setVolatileWidth(modWidth);
380
- overview.showAllRegions();
381
- var scale = totalBp / (modWidth - (displayedRegions.length - 1) * wholeSeqSpacer);
382
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_OverviewRubberBand.default, {
383
- model: model,
384
- overview: overview,
385
- ControlComponent: /*#__PURE__*/_react.default.createElement(ScaleBar, {
386
- model: model,
387
- overview: overview,
388
- scale: scale
389
- })
390
- }), /*#__PURE__*/_react.default.createElement("div", {
391
- className: classes.overview
392
- }, /*#__PURE__*/_react.default.createElement("svg", {
393
- height: _.HEADER_BAR_HEIGHT,
394
- className: classes.overviewSvg
395
- }, /*#__PURE__*/_react.default.createElement(Polygon, {
396
- model: model,
397
- overview: overview
398
- })), children));
294
+ function OverviewScaleBar(_a) {
295
+ var model = _a.model, children = _a.children;
296
+ var classes = useStyles().classes;
297
+ var totalBp = model.totalBp, width = model.width, cytobandOffset = model.cytobandOffset, displayedRegions = model.displayedRegions;
298
+ var overview = Base1DViewModel_1.default.create({
299
+ displayedRegions: JSON.parse(JSON.stringify(displayedRegions)),
300
+ interRegionPaddingWidth: 0,
301
+ minimumBlockWidth: model.minimumBlockWidth,
302
+ });
303
+ var modWidth = width - cytobandOffset;
304
+ overview.setVolatileWidth(modWidth);
305
+ overview.showAllRegions();
306
+ var scale = totalBp / (modWidth - (displayedRegions.length - 1) * wholeSeqSpacer);
307
+ return (react_1.default.createElement("div", null,
308
+ react_1.default.createElement(OverviewRubberBand_1.default, { model: model, overview: overview, ControlComponent: react_1.default.createElement(ScaleBar, { model: model, overview: overview, scale: scale }) }),
309
+ react_1.default.createElement("div", { className: classes.overview },
310
+ react_1.default.createElement("svg", { height: __1.HEADER_BAR_HEIGHT, className: classes.overviewSvg },
311
+ react_1.default.createElement(Polygon, { model: model, overview: overview })),
312
+ children)));
399
313
  }
400
-
401
- var _default = (0, _mobxReact.observer)(OverviewScaleBar);
402
-
403
- exports.default = _default;
314
+ exports.default = (0, mobx_react_1.observer)(OverviewScaleBar);
315
+ //# sourceMappingURL=OverviewScaleBar.js.map