@jbrowse/core 2.17.0 → 2.18.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 (308) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +1 -2
  2. package/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +4 -8
  3. package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +1 -1
  4. package/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +1 -2
  5. package/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +2 -3
  6. package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +1 -1
  7. package/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +2 -3
  8. package/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +22 -25
  9. package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.d.ts +2 -2
  10. package/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +6 -8
  11. package/BaseFeatureWidget/BaseFeatureDetail/Position.d.ts +1 -1
  12. package/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +1 -1
  13. package/BaseFeatureWidget/BaseFeatureDetail/UriField.js +1 -1
  14. package/BaseFeatureWidget/BaseFeatureDetail/index.d.ts +1 -1
  15. package/BaseFeatureWidget/BaseFeatureDetail/index.js +1 -7
  16. package/BaseFeatureWidget/BaseFeatureDetail/util.js +0 -5
  17. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +2 -2
  18. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +0 -7
  19. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.d.ts +2 -2
  20. package/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +1 -7
  21. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.d.ts +3 -3
  22. package/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +24 -33
  23. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +1 -2
  24. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +2 -2
  25. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +3 -4
  26. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.d.ts +2 -2
  27. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceFeatureMenu.js +3 -6
  28. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -1
  29. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.d.ts +1 -1
  30. package/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SettingsDialog.js +2 -2
  31. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.d.ts +2 -2
  32. package/BaseFeatureWidget/SequenceFeatureDetails/hooks.js +1 -2
  33. package/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +2 -56
  34. package/BaseFeatureWidget/SequenceFeatureDetails/model.js +1 -56
  35. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.d.ts +3 -3
  36. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.d.ts +2 -2
  37. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDSSequence.js +5 -6
  38. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.d.ts +2 -2
  39. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/GenomicSequence.js +0 -1
  40. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.d.ts +2 -2
  41. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/ProteinSequence.js +0 -2
  42. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.d.ts +1 -1
  43. package/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +1 -3
  44. package/BaseFeatureWidget/SequenceFeatureDetails/util.js +1 -5
  45. package/BaseFeatureWidget/stateModelFactory.d.ts +2 -93
  46. package/BaseFeatureWidget/stateModelFactory.js +3 -73
  47. package/BaseFeatureWidget/types.d.ts +3 -3
  48. package/BaseFeatureWidget/util.js +0 -4
  49. package/CorePlugin.d.ts +1 -1
  50. package/CorePlugin.js +2 -5
  51. package/Plugin.d.ts +2 -5
  52. package/Plugin.js +0 -3
  53. package/PluginLoader.d.ts +1 -1
  54. package/PluginLoader.js +2 -19
  55. package/PluginManager.d.ts +15 -31
  56. package/PluginManager.js +11 -39
  57. package/ReExports/DataGrid.js +0 -1
  58. package/ReExports/list.d.ts +0 -5
  59. package/ReExports/list.js +0 -5
  60. package/ReExports/modules.d.ts +22 -20
  61. package/ReExports/modules.js +16 -25
  62. package/TextSearch/BaseResults.d.ts +3 -3
  63. package/TextSearch/TextSearchManager.d.ts +4 -16
  64. package/TextSearch/TextSearchManager.js +1 -13
  65. package/assemblyManager/assembly.d.ts +5 -100
  66. package/assemblyManager/assembly.js +27 -143
  67. package/assemblyManager/assemblyConfigSchema.d.ts +1 -34
  68. package/assemblyManager/assemblyConfigSchema.js +12 -46
  69. package/assemblyManager/assemblyManager.d.ts +7 -57
  70. package/assemblyManager/assemblyManager.js +2 -57
  71. package/configuration/configurationSchema.d.ts +4 -4
  72. package/configuration/configurationSchema.js +2 -14
  73. package/configuration/configurationSlot.d.ts +1 -12
  74. package/configuration/configurationSlot.js +2 -32
  75. package/configuration/index.d.ts +2 -2
  76. package/configuration/index.js +2 -2
  77. package/configuration/types.d.ts +2 -3
  78. package/configuration/util.d.ts +1 -25
  79. package/configuration/util.js +19 -56
  80. package/data_adapters/BaseAdapter/BaseAdapter.d.ts +4 -14
  81. package/data_adapters/BaseAdapter/BaseAdapter.js +1 -10
  82. package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +5 -114
  83. package/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +3 -79
  84. package/data_adapters/BaseAdapter/BaseOptions.d.ts +2 -2
  85. package/data_adapters/BaseAdapter/BaseRefNameAliasAdapter.d.ts +2 -2
  86. package/data_adapters/BaseAdapter/BaseSequenceAdapter.d.ts +3 -6
  87. package/data_adapters/BaseAdapter/BaseTextSearchAdapter.d.ts +3 -3
  88. package/data_adapters/BaseAdapter/RegionsAdapter.d.ts +3 -3
  89. package/data_adapters/BaseAdapter/index.d.ts +4 -4
  90. package/data_adapters/BaseAdapter/types.d.ts +2 -2
  91. package/data_adapters/BaseAdapter/util.d.ts +6 -6
  92. package/data_adapters/CytobandAdapter/CytobandAdapter.d.ts +1 -1
  93. package/data_adapters/CytobandAdapter/CytobandAdapter.js +1 -2
  94. package/data_adapters/CytobandAdapter/configSchema.d.ts +0 -3
  95. package/data_adapters/CytobandAdapter/configSchema.js +1 -7
  96. package/data_adapters/CytobandAdapter/index.d.ts +1 -1
  97. package/data_adapters/CytobandAdapter/index.js +1 -1
  98. package/data_adapters/dataAdapterCache.d.ts +4 -21
  99. package/data_adapters/dataAdapterCache.js +0 -19
  100. package/package.json +3 -4
  101. package/pluggableElementTypes/AdapterType.d.ts +2 -2
  102. package/pluggableElementTypes/AddTrackWorkflowType.d.ts +2 -2
  103. package/pluggableElementTypes/ConnectionType.d.ts +3 -3
  104. package/pluggableElementTypes/DisplayType.d.ts +3 -9
  105. package/pluggableElementTypes/InternetAccountType.d.ts +2 -2
  106. package/pluggableElementTypes/PluggableElementBase.d.ts +1 -1
  107. package/pluggableElementTypes/PluggableElementBase.js +2 -2
  108. package/pluggableElementTypes/RpcMethodType.d.ts +5 -11
  109. package/pluggableElementTypes/RpcMethodType.js +7 -19
  110. package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.d.ts +9 -0
  111. package/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions.js +35 -0
  112. package/pluggableElementTypes/TextSearchAdapterType.d.ts +2 -2
  113. package/pluggableElementTypes/TrackType.d.ts +3 -3
  114. package/pluggableElementTypes/ViewType.d.ts +3 -3
  115. package/pluggableElementTypes/WidgetType.d.ts +4 -3
  116. package/pluggableElementTypes/index.d.ts +11 -11
  117. package/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -29
  118. package/pluggableElementTypes/models/BaseConnectionModelFactory.js +1 -28
  119. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +3 -83
  120. package/pluggableElementTypes/models/BaseDisplayModel.js +2 -69
  121. package/pluggableElementTypes/models/BaseTrackModel.d.ts +4 -46
  122. package/pluggableElementTypes/models/BaseTrackModel.js +0 -58
  123. package/pluggableElementTypes/models/BaseViewModel.d.ts +2 -42
  124. package/pluggableElementTypes/models/BaseViewModel.js +2 -38
  125. package/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -119
  126. package/pluggableElementTypes/models/InternetAccountModel.js +3 -123
  127. package/pluggableElementTypes/models/baseConnectionConfig.d.ts +0 -6
  128. package/pluggableElementTypes/models/baseConnectionConfig.js +1 -13
  129. package/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +0 -15
  130. package/pluggableElementTypes/models/baseInternetAccountConfig.js +1 -23
  131. package/pluggableElementTypes/models/baseTrackConfig.d.ts +2 -53
  132. package/pluggableElementTypes/models/baseTrackConfig.js +1 -58
  133. package/pluggableElementTypes/renderers/BoxRendererType.d.ts +7 -15
  134. package/pluggableElementTypes/renderers/BoxRendererType.js +3 -14
  135. package/pluggableElementTypes/renderers/CircularChordRendererType.d.ts +3 -2
  136. package/pluggableElementTypes/renderers/CircularChordRendererType.js +1 -6
  137. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.d.ts +6 -21
  138. package/pluggableElementTypes/renderers/ComparativeServerSideRendererType.js +2 -25
  139. package/pluggableElementTypes/renderers/FeatureRendererType.d.ts +5 -47
  140. package/pluggableElementTypes/renderers/FeatureRendererType.js +15 -68
  141. package/pluggableElementTypes/renderers/RendererType.d.ts +4 -8
  142. package/pluggableElementTypes/renderers/RendererType.js +1 -5
  143. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.d.ts +2 -2
  144. package/pluggableElementTypes/renderers/RpcRenderedSvgGroup.js +3 -12
  145. package/pluggableElementTypes/renderers/ServerSideRenderedContent.d.ts +1 -1
  146. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +6 -14
  147. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +9 -49
  148. package/pluggableElementTypes/renderers/ServerSideRendererType.js +7 -57
  149. package/pluggableElementTypes/renderers/index.d.ts +1 -1
  150. package/pluggableElementTypes/renderers/util/serializableFilterChain.js +1 -3
  151. package/rpc/BaseRpcDriver.d.ts +3 -4
  152. package/rpc/BaseRpcDriver.js +20 -80
  153. package/rpc/MainThreadRpcDriver.d.ts +3 -7
  154. package/rpc/MainThreadRpcDriver.js +0 -5
  155. package/rpc/RpcManager.d.ts +3 -3
  156. package/rpc/RpcManager.js +2 -4
  157. package/rpc/WebWorkerRpcDriver.d.ts +3 -2
  158. package/rpc/WebWorkerRpcDriver.js +2 -13
  159. package/rpc/baseRpcConfig.d.ts +0 -3
  160. package/rpc/baseRpcConfig.js +1 -7
  161. package/rpc/configSchema.d.ts +0 -6
  162. package/rpc/configSchema.js +2 -11
  163. package/rpc/mainThreadRpcConfig.js +1 -7
  164. package/rpc/methods/CoreFreeResources.d.ts +0 -6
  165. package/rpc/methods/CoreFreeResources.js +2 -9
  166. package/rpc/methods/CoreGetFeatureDensityStats.d.ts +4 -5
  167. package/rpc/methods/CoreGetFeatureDensityStats.js +1 -1
  168. package/rpc/methods/CoreGetFeatureDetails.d.ts +2 -7
  169. package/rpc/methods/CoreGetFeatureDetails.js +0 -5
  170. package/rpc/methods/CoreGetFeatures.d.ts +5 -5
  171. package/rpc/methods/CoreGetFeatures.js +4 -5
  172. package/rpc/methods/CoreGetFileInfo.d.ts +1 -2
  173. package/rpc/methods/CoreGetFileInfo.js +1 -1
  174. package/rpc/methods/CoreGetMetadata.d.ts +1 -2
  175. package/rpc/methods/CoreGetMetadata.js +1 -1
  176. package/rpc/methods/CoreGetRefNames.d.ts +1 -2
  177. package/rpc/methods/CoreGetRefNames.js +1 -1
  178. package/rpc/methods/CoreRender.d.ts +2 -6
  179. package/rpc/methods/CoreRender.js +5 -7
  180. package/rpc/methods/util.d.ts +3 -3
  181. package/rpc/methods/util.js +0 -1
  182. package/rpc/webWorkerRpcConfig.js +1 -7
  183. package/stories/JBrowseCore.stories.d.ts +1 -1
  184. package/stories/JBrowseCore.stories.js +3 -3
  185. package/stories/examples/WithSequencePanel.d.ts +1 -1
  186. package/stories/examples/WithSequencePanel.js +3 -3
  187. package/tsconfig.build.tsbuildinfo +1 -1
  188. package/ui/AppLogo.d.ts +1 -1
  189. package/ui/AppLogo.js +0 -2
  190. package/ui/AssemblySelector.d.ts +2 -2
  191. package/ui/AssemblySelector.js +0 -3
  192. package/ui/BaseTooltip.js +2 -6
  193. package/ui/CascadingMenu.d.ts +2 -2
  194. package/ui/CascadingMenu.js +3 -4
  195. package/ui/CascadingMenuButton.d.ts +1 -1
  196. package/ui/CascadingMenuButton.js +1 -1
  197. package/ui/ColorPicker.js +1 -7
  198. package/ui/Dialog.d.ts +1 -1
  199. package/ui/Dialog.js +2 -6
  200. package/ui/DropDownMenu.d.ts +1 -1
  201. package/ui/DropDownMenu.js +2 -2
  202. package/ui/EditableTypography.d.ts +1 -1
  203. package/ui/EditableTypography.js +1 -5
  204. package/ui/ErrorBoundary.d.ts +2 -1
  205. package/ui/ErrorMessage.js +2 -9
  206. package/ui/ErrorMessageStackTraceDialog.js +2 -10
  207. package/ui/FactoryResetDialog.js +1 -1
  208. package/ui/FatalErrorDialog.js +1 -1
  209. package/ui/FileSelector/FileSelector.d.ts +4 -3
  210. package/ui/FileSelector/FileSelector.js +40 -40
  211. package/ui/FileSelector/LocalFileChooser.d.ts +1 -1
  212. package/ui/FileSelector/LocalFileChooser.js +0 -1
  213. package/ui/FileSelector/UrlChooser.d.ts +4 -3
  214. package/ui/FileSelector/UrlChooser.js +5 -3
  215. package/ui/Icons.d.ts +1 -1
  216. package/ui/Icons.js +1 -7
  217. package/ui/LoadingEllipses.d.ts +1 -1
  218. package/ui/LoadingEllipses.js +3 -3
  219. package/ui/Menu.d.ts +1 -1
  220. package/ui/Menu.js +3 -10
  221. package/ui/MenuButton.d.ts +1 -1
  222. package/ui/ResizeHandle.js +2 -2
  223. package/ui/ReturnToImportFormDialog.js +1 -1
  224. package/ui/SanitizedHTML.js +1 -21
  225. package/ui/Snackbar.d.ts +2 -2
  226. package/ui/Snackbar.js +1 -2
  227. package/ui/SnackbarModel.d.ts +1 -26
  228. package/ui/SnackbarModel.js +2 -30
  229. package/ui/colors.d.ts +1 -1
  230. package/ui/colors.js +1 -1
  231. package/ui/react-colorful.js +0 -3
  232. package/ui/theme.d.ts +1 -1
  233. package/ui/theme.js +0 -40
  234. package/util/Base1DUtils.d.ts +1 -1
  235. package/util/Base1DUtils.js +0 -12
  236. package/util/Base1DViewModel.d.ts +4 -81
  237. package/util/Base1DViewModel.js +4 -108
  238. package/util/QuickLRU.js +0 -9
  239. package/util/TimeTraveller.js +0 -4
  240. package/util/aborting.d.ts +0 -20
  241. package/util/aborting.js +0 -31
  242. package/util/analytics.js +1 -12
  243. package/util/blockTypes.d.ts +0 -11
  244. package/util/blockTypes.js +0 -13
  245. package/util/calculateDynamicBlocks.d.ts +1 -20
  246. package/util/calculateDynamicBlocks.js +1 -22
  247. package/util/calculateStaticBlocks.d.ts +2 -2
  248. package/util/calculateStaticBlocks.js +0 -2
  249. package/util/color/cssColorsLevel4.js +0 -1
  250. package/util/color/index.d.ts +0 -19
  251. package/util/color/index.js +0 -30
  252. package/util/compositeMap.js +0 -2
  253. package/util/dedupe.js +0 -1
  254. package/util/formatFastaStrings.d.ts +0 -13
  255. package/util/formatFastaStrings.js +0 -13
  256. package/util/idMaker.d.ts +1 -1
  257. package/util/idMaker.js +16 -12
  258. package/util/index.d.ts +16 -164
  259. package/util/index.js +22 -282
  260. package/util/io/RemoteFileWithRangeCache.d.ts +3 -2
  261. package/util/io/RemoteFileWithRangeCache.js +6 -10
  262. package/util/io/index.d.ts +3 -4
  263. package/util/io/index.js +3 -17
  264. package/util/jexl.js +3 -13
  265. package/util/jexlStrings.d.ts +0 -6
  266. package/util/jexlStrings.js +0 -8
  267. package/util/layouts/BaseLayout.d.ts +1 -1
  268. package/util/layouts/GranularRectLayout.d.ts +1 -17
  269. package/util/layouts/GranularRectLayout.js +4 -81
  270. package/util/layouts/MultiLayout.d.ts +1 -6
  271. package/util/layouts/MultiLayout.js +0 -6
  272. package/util/layouts/PrecomputedLayout.d.ts +1 -4
  273. package/util/layouts/PrecomputedLayout.js +0 -5
  274. package/util/layouts/PrecomputedMultiLayout.js +0 -2
  275. package/util/layouts/SceneGraph.d.ts +0 -12
  276. package/util/layouts/SceneGraph.js +0 -13
  277. package/util/makeAbortableReaction.d.ts +2 -0
  278. package/util/makeAbortableReaction.js +50 -0
  279. package/util/map-obj.js +0 -4
  280. package/util/mst-reflection.d.ts +1 -14
  281. package/util/mst-reflection.js +1 -28
  282. package/util/nanoid.js +0 -31
  283. package/util/nextTick.d.ts +1 -0
  284. package/util/nextTick.js +6 -0
  285. package/util/offscreenCanvasPonyfill.d.ts +0 -1
  286. package/util/offscreenCanvasPonyfill.js +1 -9
  287. package/util/offscreenCanvasUtils.js +1 -8
  288. package/util/range.d.ts +0 -25
  289. package/util/range.js +0 -34
  290. package/util/rxjs.d.ts +3 -7
  291. package/util/rxjs.js +2 -9
  292. package/util/simpleFeature.d.ts +0 -50
  293. package/util/simpleFeature.js +0 -35
  294. package/util/stats.d.ts +3 -26
  295. package/util/stats.js +0 -25
  296. package/util/stopToken.d.ts +3 -0
  297. package/util/stopToken.js +29 -0
  298. package/util/tracks.d.ts +3 -25
  299. package/util/tracks.js +0 -30
  300. package/util/types/index.d.ts +14 -30
  301. package/util/types/index.js +5 -14
  302. package/util/types/mst.js +0 -9
  303. package/util/types/util.d.ts +2 -9
  304. package/util/useMeasure.js +0 -1
  305. package/util/when.d.ts +1 -15
  306. package/util/when.js +3 -70
  307. package/rpc/remoteAbortSignals.d.ts +0 -36
  308. package/rpc/remoteAbortSignals.js +0 -79
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useFeatureSequence = useFeatureSequence;
4
4
  const react_1 = require("react");
5
- const util_1 = require("../../util");
6
5
  const configuration_1 = require("../../configuration");
6
+ const util_1 = require("../../util");
7
7
  const BPLIMIT = 500000;
8
8
  function useFeatureSequence(model, feature, upDownBp, forceLoad) {
9
9
  const [sequence, setSequence] = (0, react_1.useState)();
@@ -36,7 +36,6 @@ function useFeatureSequence(model, feature, upDownBp, forceLoad) {
36
36
  const [feat] = feats;
37
37
  return (feat === null || feat === void 0 ? void 0 : feat.get('seq')) || '';
38
38
  }
39
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
40
39
  ;
41
40
  (async () => {
42
41
  try {
@@ -1,79 +1,25 @@
1
- import { Instance } from 'mobx-state-tree';
2
- import { SimpleFeatureSerialized } from '../../util';
1
+ import type { SimpleFeatureSerialized } from '../../util';
2
+ import type { Instance } from 'mobx-state-tree';
3
3
  export declare function SequenceFeatureDetailsF(): import("mobx-state-tree").IModelType<{}, {
4
- /**
5
- * #volatile
6
- */
7
4
  showCoordinatesSetting: string;
8
- /**
9
- * #volatile
10
- */
11
5
  intronBp: number;
12
- /**
13
- * #volatile
14
- */
15
6
  upDownBp: number;
16
- /**
17
- * #volatile
18
- */
19
7
  upperCaseCDS: boolean;
20
- /**
21
- * #volatile
22
- */
23
8
  charactersPerRow: number;
24
- /**
25
- * #volatile
26
- */
27
9
  feature: SimpleFeatureSerialized | undefined;
28
- /**
29
- * #volatile
30
- */
31
10
  mode: string;
32
11
  } & {
33
- /**
34
- * #action
35
- */
36
12
  setFeature(f: SimpleFeatureSerialized): void;
37
- /**
38
- * #action
39
- */
40
13
  setUpDownBp(f: number): void;
41
- /**
42
- * #action
43
- */
44
14
  setIntronBp(f: number): void;
45
- /**
46
- * #action
47
- */
48
15
  setUpperCaseCDS(f: boolean): void;
49
- /**
50
- * #action
51
- */
52
16
  setShowCoordinates(f: "none" | "relative" | "genomic"): void;
53
- /**
54
- * #action
55
- */
56
17
  setMode(mode: string): void;
57
18
  } & {
58
- /**
59
- * #getter
60
- */
61
19
  readonly showCoordinates: boolean;
62
- /**
63
- * #getter
64
- */
65
20
  readonly showGenomicCoordsOption: boolean;
66
- /**
67
- * #getter
68
- */
69
21
  readonly hasCDS: boolean | undefined;
70
- /**
71
- * #getter
72
- */
73
22
  readonly hasExon: boolean | undefined;
74
- /**
75
- * #getter
76
- */
77
23
  readonly hasExonOrCDS: boolean | undefined;
78
24
  } & {
79
25
  afterAttach(): void;
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SequenceFeatureDetailsF = SequenceFeatureDetailsF;
4
- const mobx_state_tree_1 = require("mobx-state-tree");
5
4
  const mobx_1 = require("mobx");
6
- // locals
5
+ const mobx_state_tree_1 = require("mobx-state-tree");
7
6
  const util_1 = require("../../util");
8
7
  function localStorageGetNumber(key, defaultVal) {
9
8
  var _a;
@@ -23,106 +22,52 @@ function SequenceFeatureDetailsF() {
23
22
  return mobx_state_tree_1.types
24
23
  .model('SequenceFeatureDetails')
25
24
  .volatile(() => ({
26
- /**
27
- * #volatile
28
- */
29
25
  showCoordinatesSetting: (0, util_1.localStorageGetItem)(`${p}-showCoordinatesSetting`) || 'none',
30
- /**
31
- * #volatile
32
- */
33
26
  intronBp: localStorageGetNumber(`${p}-intronBp`, 10),
34
- /**
35
- * #volatile
36
- */
37
27
  upDownBp: localStorageGetNumber(`${p}-upDownBp`, 100),
38
- /**
39
- * #volatile
40
- */
41
28
  upperCaseCDS: localStorageGetBoolean(`${p}-upperCaseCDS`, true),
42
- /**
43
- * #volatile
44
- */
45
29
  charactersPerRow: 100,
46
- /**
47
- * #volatile
48
- */
49
30
  feature: undefined,
50
- /**
51
- * #volatile
52
- */
53
31
  mode: '',
54
32
  }))
55
33
  .actions(self => ({
56
- /**
57
- * #action
58
- */
59
34
  setFeature(f) {
60
35
  self.feature = f;
61
36
  },
62
- /**
63
- * #action
64
- */
65
37
  setUpDownBp(f) {
66
38
  self.upDownBp = f;
67
39
  },
68
- /**
69
- * #action
70
- */
71
40
  setIntronBp(f) {
72
41
  self.intronBp = f;
73
42
  },
74
- /**
75
- * #action
76
- */
77
43
  setUpperCaseCDS(f) {
78
44
  self.upperCaseCDS = f;
79
45
  },
80
- /**
81
- * #action
82
- */
83
46
  setShowCoordinates(f) {
84
47
  self.showCoordinatesSetting = f;
85
48
  },
86
- /**
87
- * #action
88
- */
89
49
  setMode(mode) {
90
50
  self.mode = mode;
91
51
  },
92
52
  }))
93
53
  .views(self => ({
94
- /**
95
- * #getter
96
- */
97
54
  get showCoordinates() {
98
55
  return self.showCoordinatesSetting !== 'none';
99
56
  },
100
- /**
101
- * #getter
102
- */
103
57
  get showGenomicCoordsOption() {
104
58
  return (self.mode === 'gene' ||
105
59
  self.mode === 'gene_updownstream' ||
106
60
  self.mode === 'genomic' ||
107
61
  self.mode === 'genomic_sequence_updownstream');
108
62
  },
109
- /**
110
- * #getter
111
- */
112
63
  get hasCDS() {
113
64
  var _a, _b;
114
65
  return (_b = (_a = self.feature) === null || _a === void 0 ? void 0 : _a.subfeatures) === null || _b === void 0 ? void 0 : _b.some(sub => sub.type === 'CDS');
115
66
  },
116
- /**
117
- * #getter
118
- */
119
67
  get hasExon() {
120
68
  var _a, _b;
121
69
  return (_b = (_a = self.feature) === null || _a === void 0 ? void 0 : _a.subfeatures) === null || _b === void 0 ? void 0 : _b.some(sub => sub.type === 'exon');
122
70
  },
123
- /**
124
- * #getter
125
- */
126
71
  get hasExonOrCDS() {
127
72
  return this.hasExon || this.hasCDS;
128
73
  },
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { Feat } from '../../util';
3
- import { SequenceFeatureDetailsModel } from '../model';
4
- import { SimpleFeatureSerialized } from '../../../util';
2
+ import type { SimpleFeatureSerialized } from '../../../util';
3
+ import type { Feat } from '../../util';
4
+ import type { SequenceFeatureDetailsModel } from '../model';
5
5
  declare const CDNASequence: ({ utr, cds, exons, sequence, upstream, downstream, feature, includeIntrons, collapseIntron, model, }: {
6
6
  utr: Feat[];
7
7
  cds: Feat[];
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Feat } from '../../util';
3
- import { SequenceFeatureDetailsModel } from '../model';
2
+ import type { Feat } from '../../util';
3
+ import type { SequenceFeatureDetailsModel } from '../model';
4
4
  declare const CDSSequence: ({ cds, sequence, model, }: {
5
5
  cds: Feat[];
6
6
  sequence: string;
@@ -5,17 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const mobx_react_1 = require("mobx-react");
8
- // locals
9
- const util_1 = require("../util");
10
- const util_2 = require("../../util");
8
+ const util_1 = require("../../util");
9
+ const util_2 = require("../util");
11
10
  const SequenceDisplay_1 = __importDefault(require("./SequenceDisplay"));
12
11
  const CDSSequence = (0, mobx_react_1.observer)(function ({ cds, sequence, model, }) {
13
12
  const { charactersPerRow, showCoordinates } = model;
14
- const { segments } = (0, util_1.splitString)({
15
- str: (0, util_2.stitch)(cds, sequence),
13
+ const { segments } = (0, util_2.splitString)({
14
+ str: (0, util_1.stitch)(cds, sequence),
16
15
  charactersPerRow,
17
16
  showCoordinates,
18
17
  });
19
- return (react_1.default.createElement(SequenceDisplay_1.default, { model: model, color: util_1.cdsColor, chunks: segments, start: 0 }));
18
+ return (react_1.default.createElement(SequenceDisplay_1.default, { model: model, color: util_2.cdsColor, chunks: segments, start: 0 }));
20
19
  });
21
20
  exports.default = CDSSequence;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SequenceFeatureDetailsModel } from '../model';
3
- import { SimpleFeatureSerialized } from '../../../util';
2
+ import type { SimpleFeatureSerialized } from '../../../util';
3
+ import type { SequenceFeatureDetailsModel } from '../model';
4
4
  declare const GenomicSequence: ({ sequence, upstream, feature, downstream, model, }: {
5
5
  sequence: string;
6
6
  feature: SimpleFeatureSerialized;
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const mobx_react_1 = require("mobx-react");
8
- // locals
9
8
  const util_1 = require("../util");
10
9
  const SequenceDisplay_1 = __importDefault(require("./SequenceDisplay"));
11
10
  const GenomicSequence = (0, mobx_react_1.observer)(function ({ sequence, upstream, feature, downstream, model, }) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Feat } from '../../util';
3
- import { SequenceFeatureDetailsModel } from '../model';
2
+ import type { Feat } from '../../util';
3
+ import type { SequenceFeatureDetailsModel } from '../model';
4
4
  declare const ProteinSequence: ({ cds, sequence, codonTable, model, }: {
5
5
  cds: Feat[];
6
6
  sequence: string;
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const mobx_react_1 = require("mobx-react");
8
- // locals
9
8
  const util_1 = require("../../util");
10
9
  const util_2 = require("../util");
11
10
  const SequenceDisplay_1 = __importDefault(require("./SequenceDisplay"));
@@ -14,7 +13,6 @@ const ProteinSequence = (0, mobx_react_1.observer)(function ({ cds, sequence, co
14
13
  const str = (0, util_1.stitch)(cds, sequence);
15
14
  let protein = '';
16
15
  for (let i = 0; i < str.length; i += 3) {
17
- // use & symbol for undefined codon, or partial slice
18
16
  protein += codonTable[str.slice(i, i + 3)] || '&';
19
17
  }
20
18
  const { segments } = (0, util_2.splitString)({
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { SequenceFeatureDetailsModel } from '../model';
2
+ import type { SequenceFeatureDetailsModel } from '../model';
3
3
  declare const SequenceDisplay: ({ chunks, start, color, strand, coordStart, model, }: {
4
4
  chunks: string[];
5
5
  start: number;
@@ -21,9 +21,7 @@ const SequenceDisplay = (0, mobx_react_1.observer)(function ({ chunks, start, co
21
21
  : showCoordinates
22
22
  ? ' \n'
23
23
  : '';
24
- return (
25
- /* biome-ignore lint/suspicious/noArrayIndexKey: */
26
- react_1.default.createElement(react_1.default.Fragment, { key: `${chunk}-${idx}` },
24
+ return (react_1.default.createElement(react_1.default.Fragment, { key: `${chunk}-${idx}` },
27
25
  showCoordinates ? prefix : null,
28
26
  react_1.default.createElement("span", { style: { background: color } }, chunk),
29
27
  postfix));
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.genomeColor = exports.updownstreamColor = exports.cdsColor = exports.proteinColor = exports.utrColor = exports.intronColor = void 0;
4
4
  exports.splitString = splitString;
5
- // note that these are currently put into the style section instead of being
6
- // defined in classes to aid copy and paste to an external document e.g. word
7
5
  exports.intronColor = undefined;
8
6
  exports.utrColor = 'rgb(200,240,240)';
9
7
  exports.proteinColor = 'rgb(220,160,220)';
@@ -26,8 +24,6 @@ function splitString({ str, charactersPerRow, showCoordinates, currRemainder = 0
26
24
  if (showCoordinates) {
27
25
  let res = '';
28
26
  for (let i = 0, j = splitStart; i < r.length; i++, j++) {
29
- // note: this adds a space at the start but it causes trouble to try to
30
- // say e.g. j%splitSize==0 && j to try to only add non-zero spaces
31
27
  if (j % splitSize === 0) {
32
28
  res += ' ';
33
29
  j = 0;
@@ -41,7 +37,7 @@ function splitString({ str, charactersPerRow, showCoordinates, currRemainder = 0
41
37
  else {
42
38
  chunks[iter] = r;
43
39
  }
44
- splitStart = 0; // after newline, reset
40
+ splitStart = 0;
45
41
  offset += inc;
46
42
  }
47
43
  return {
@@ -1,56 +1,16 @@
1
- import { Instance } from 'mobx-state-tree';
2
- import PluginManager from '../PluginManager';
3
- /**
4
- * #stateModel BaseFeatureWidget
5
- * displays data about features, allowing configuration callbacks to modify the
6
- * contents of what is displayed
7
- *
8
- * see: formatDetails-\>feature,formatDetails-\>subfeatures
9
- */
1
+ import type PluginManager from '../PluginManager';
2
+ import type { Instance } from 'mobx-state-tree';
10
3
  export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
11
- /**
12
- * #property
13
- */
14
4
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
15
- /**
16
- * #property
17
- */
18
5
  type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
19
- /**
20
- * #property
21
- */
22
6
  featureData: import("mobx-state-tree").IType<any, any, any>;
23
- /**
24
- * #property
25
- */
26
7
  formattedFields: import("mobx-state-tree").IType<any, any, any>;
27
- /**
28
- * #property
29
- */
30
8
  unformattedFeatureData: import("mobx-state-tree").IType<any, any, any>;
31
- /**
32
- * #property
33
- */
34
9
  view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
35
- /**
36
- * #property
37
- */
38
10
  track: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
39
- /**
40
- * #property
41
- */
42
11
  trackId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
43
- /**
44
- * #property
45
- */
46
12
  trackType: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
47
- /**
48
- * #property
49
- */
50
13
  maxDepth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
51
- /**
52
- * #property
53
- */
54
14
  sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
55
15
  showCoordinatesSetting: string;
56
16
  intronBp: number;
@@ -76,77 +36,26 @@ export declare function stateModelFactory(pluginManager: PluginManager): import(
76
36
  afterAttach(): void;
77
37
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>, [undefined]>;
78
38
  }, {
79
- /**
80
- * #volatile
81
- */
82
39
  error: unknown;
83
40
  } & {
84
- /**
85
- * #action
86
- */
87
41
  setFeatureData(featureData: Record<string, unknown>): void;
88
- /**
89
- * #action
90
- */
91
42
  clearFeatureData(): void;
92
- /**
93
- * #action
94
- */
95
43
  setFormattedData(feat: Record<string, unknown>): void;
96
- /**
97
- * #action
98
- */
99
44
  setExtra(type?: string, trackId?: string, maxDepth?: number): void;
100
- /**
101
- * #action
102
- */
103
45
  setError(e: unknown): void;
104
46
  } & {
105
47
  afterCreate(): void;
106
48
  }, import("mobx-state-tree").ModelCreationType<import("mobx-state-tree/dist/internal").ExtractCFromProps<{
107
- /**
108
- * #property
109
- */
110
49
  id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
111
- /**
112
- * #property
113
- */
114
50
  type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
115
- /**
116
- * #property
117
- */
118
51
  featureData: import("mobx-state-tree").IType<any, any, any>;
119
- /**
120
- * #property
121
- */
122
52
  formattedFields: import("mobx-state-tree").IType<any, any, any>;
123
- /**
124
- * #property
125
- */
126
53
  unformattedFeatureData: import("mobx-state-tree").IType<any, any, any>;
127
- /**
128
- * #property
129
- */
130
54
  view: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
131
- /**
132
- * #property
133
- */
134
55
  track: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IReferenceType<import("mobx-state-tree").IAnyType>>;
135
- /**
136
- * #property
137
- */
138
56
  trackId: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
139
- /**
140
- * #property
141
- */
142
57
  trackType: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
143
- /**
144
- * #property
145
- */
146
58
  maxDepth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
147
- /**
148
- * #property
149
- */
150
59
  sequenceFeatureDetails: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IModelType<{}, {
151
60
  showCoordinatesSetting: string;
152
61
  intronBp: number;
@@ -1,17 +1,13 @@
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.stateModelFactory = stateModelFactory;
7
- const mobx_state_tree_1 = require("mobx-state-tree");
8
4
  const mobx_1 = require("mobx");
9
- const clone_1 = __importDefault(require("clone"));
5
+ const mobx_state_tree_1 = require("mobx-state-tree");
10
6
  const configuration_1 = require("../configuration");
11
7
  const util_1 = require("../util");
12
- const mst_1 = require("../util/types/mst");
13
8
  const model_1 = require("./SequenceFeatureDetails/model");
14
9
  const util_2 = require("./util");
10
+ const mst_1 = require("../util/types/mst");
15
11
  function formatSubfeatures(obj, depth, parse, currentDepth = 0, returnObj = {}) {
16
12
  var _a;
17
13
  if (depth <= currentDepth) {
@@ -22,97 +18,39 @@ function formatSubfeatures(obj, depth, parse, currentDepth = 0, returnObj = {})
22
18
  parse(sub);
23
19
  });
24
20
  }
25
- /**
26
- * #stateModel BaseFeatureWidget
27
- * displays data about features, allowing configuration callbacks to modify the
28
- * contents of what is displayed
29
- *
30
- * see: formatDetails-\>feature,formatDetails-\>subfeatures
31
- */
32
21
  function stateModelFactory(pluginManager) {
33
22
  return mobx_state_tree_1.types
34
23
  .model('BaseFeatureWidget', {
35
- /**
36
- * #property
37
- */
38
24
  id: mst_1.ElementId,
39
- /**
40
- * #property
41
- */
42
25
  type: mobx_state_tree_1.types.literal('BaseFeatureWidget'),
43
- /**
44
- * #property
45
- */
46
26
  featureData: mobx_state_tree_1.types.frozen(),
47
- /**
48
- * #property
49
- */
50
27
  formattedFields: mobx_state_tree_1.types.frozen(),
51
- /**
52
- * #property
53
- */
54
28
  unformattedFeatureData: mobx_state_tree_1.types.frozen(),
55
- /**
56
- * #property
57
- */
58
29
  view: mobx_state_tree_1.types.safeReference(pluginManager.pluggableMstType('view', 'stateModel')),
59
- /**
60
- * #property
61
- */
62
30
  track: mobx_state_tree_1.types.safeReference(pluginManager.pluggableMstType('track', 'stateModel')),
63
- /**
64
- * #property
65
- */
66
31
  trackId: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
67
- /**
68
- * #property
69
- */
70
32
  trackType: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.string),
71
- /**
72
- * #property
73
- */
74
33
  maxDepth: mobx_state_tree_1.types.maybe(mobx_state_tree_1.types.number),
75
- /**
76
- * #property
77
- */
78
34
  sequenceFeatureDetails: mobx_state_tree_1.types.optional((0, model_1.SequenceFeatureDetailsF)(), {}),
79
35
  })
80
36
  .volatile(() => ({
81
- /**
82
- * #volatile
83
- */
84
37
  error: undefined,
85
38
  }))
86
39
  .actions(self => ({
87
- /**
88
- * #action
89
- */
90
40
  setFeatureData(featureData) {
91
41
  self.unformattedFeatureData = featureData;
92
42
  },
93
- /**
94
- * #action
95
- */
96
43
  clearFeatureData() {
97
44
  self.featureData = undefined;
98
45
  },
99
- /**
100
- * #action
101
- */
102
46
  setFormattedData(feat) {
103
47
  self.featureData = feat;
104
48
  },
105
- /**
106
- * #action
107
- */
108
49
  setExtra(type, trackId, maxDepth) {
109
50
  self.trackId = trackId;
110
51
  self.trackType = type;
111
52
  self.maxDepth = maxDepth;
112
53
  },
113
- /**
114
- * #action
115
- */
116
54
  setError(e) {
117
55
  self.error = e;
118
56
  },
@@ -127,7 +65,7 @@ function stateModelFactory(pluginManager) {
127
65
  self.setExtra(track.type, track.configuration.trackId, (0, configuration_1.getConf)(track, ['formatDetails', 'maxDepth']));
128
66
  }
129
67
  if (unformattedFeatureData) {
130
- const feature = (0, clone_1.default)(unformattedFeatureData);
68
+ const feature = structuredClone(unformattedFeatureData);
131
69
  const combine = (arg2, feature) => ({
132
70
  ...(0, configuration_1.getConf)(session, ['formatDetails', arg2], { feature }),
133
71
  ...(0, configuration_1.getConf)(track, ['formatDetails', arg2], { feature }),
@@ -149,7 +87,6 @@ function stateModelFactory(pluginManager) {
149
87
  },
150
88
  }))
151
89
  .preProcessSnapshot(snap => {
152
- // @ts-expect-error
153
90
  const { featureData, finalizedFeatureData, ...rest } = snap;
154
91
  return {
155
92
  unformattedFeatureData: featureData,
@@ -158,15 +95,8 @@ function stateModelFactory(pluginManager) {
158
95
  };
159
96
  })
160
97
  .postProcessSnapshot(snap => {
161
- // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
162
98
  const { unformattedFeatureData, featureData, ...rest } = snap;
163
- // finalizedFeatureData avoids running formatter twice if loading from
164
- // snapshot
165
99
  return {
166
- // replacing undefined with null helps with allowing fields to be
167
- // hidden, setting null is not allowed by jexl so we set it to
168
- // undefined to hide. see config guide. this replacement happens both
169
- // here and when displaying the featureData in base feature widget
170
100
  finalizedFeatureData: (0, util_2.replaceUndefinedWithNull)(featureData),
171
101
  ...rest,
172
102
  };
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
- import { SimpleFeatureSerialized } from '../util/simpleFeature';
3
- import { BaseFeatureWidgetModel } from './stateModelFactory';
1
+ import type React from 'react';
2
+ import type { BaseFeatureWidgetModel } from './stateModelFactory';
3
+ import type { SimpleFeatureSerialized } from '../util/simpleFeature';
4
4
  export interface BaseProps extends BaseCardProps {
5
5
  feature: SimpleFeatureSerialized;
6
6
  formatter?: (val: unknown, key: string) => React.ReactNode;