@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
@@ -7,10 +7,9 @@ exports.default = ArrayValue;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const is_object_1 = __importDefault(require("is-object"));
9
9
  const mui_1 = require("tss-react/mui");
10
- // locals
11
10
  const Attributes_1 = __importDefault(require("./Attributes"));
12
- const FieldName_1 = __importDefault(require("./FieldName"));
13
11
  const BasicValue_1 = __importDefault(require("./BasicValue"));
12
+ const FieldName_1 = __importDefault(require("./FieldName"));
14
13
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
15
14
  field: {
16
15
  display: 'flex',
@@ -6,15 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = Attributes;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const is_object_1 = __importDefault(require("is-object"));
9
- // locals
10
- const util_1 = require("./util");
11
- const util_2 = require("../../util");
12
- const DataGridDetails_1 = __importDefault(require("./DataGridDetails"));
13
9
  const ArrayValue_1 = __importDefault(require("./ArrayValue"));
14
- const UriField_1 = __importDefault(require("./UriField"));
10
+ const DataGridDetails_1 = __importDefault(require("./DataGridDetails"));
15
11
  const SimpleField_1 = __importDefault(require("./SimpleField"));
12
+ const UriField_1 = __importDefault(require("./UriField"));
13
+ const util_1 = require("./util");
14
+ const util_2 = require("../../util");
16
15
  const MAX_FIELD_NAME_WIDTH = 170;
17
- // these are always omitted as too detailed
18
16
  const globalOmit = [
19
17
  '__jbrowsefmt',
20
18
  'length',
@@ -37,8 +35,6 @@ function Attributes(props) {
37
35
  .map(([key, value]) => {
38
36
  const description = (0, util_1.accessNested)([...prefix, key], descriptions);
39
37
  if (Array.isArray(value)) {
40
- // check if it looks like an array of objects, which could be used
41
- // in data grid
42
38
  return value.length > 1 && value.every(val => (0, is_object_1.default)(val)) ? (react_1.default.createElement(DataGridDetails_1.default, { key: key, name: key, prefix: prefix, value: value })) : (react_1.default.createElement(ArrayValue_1.default, { key: key, name: key, value: value, description: description, prefix: prefix }));
43
39
  }
44
40
  else if ((0, is_object_1.default)(value)) {
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { BaseCardProps } from '../types';
2
+ import type { BaseCardProps } from '../types';
3
3
  export default function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): React.JSX.Element;
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = BaseCard;
7
7
  const react_1 = __importDefault(require("react"));
8
+ const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
8
9
  const material_1 = require("@mui/material");
9
10
  const mui_1 = require("tss-react/mui");
10
- // icons
11
- const ExpandMore_1 = __importDefault(require("@mui/icons-material/ExpandMore"));
12
11
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
13
12
  expansionPanelDetails: {
14
13
  display: 'block',
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = BasicValue;
7
7
  const react_1 = __importDefault(require("react"));
8
- const mui_1 = require("tss-react/mui");
9
- const is_object_1 = __importDefault(require("is-object"));
10
8
  const material_1 = require("@mui/material");
11
- // locals
9
+ const is_object_1 = __importDefault(require("is-object"));
10
+ const mui_1 = require("tss-react/mui");
12
11
  const ui_1 = require("../../ui");
13
12
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
14
13
  fieldValue: {
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { BaseProps } from '../types';
2
+ import type { BaseProps } from '../types';
3
3
  export default function CoreDetails(props: BaseProps): React.JSX.Element;
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = CoreDetails;
7
7
  const react_1 = __importDefault(require("react"));
8
- // locals
9
- const util_1 = require("../../util");
10
- const SimpleField_1 = __importDefault(require("./SimpleField"));
11
8
  const Position_1 = __importDefault(require("./Position"));
9
+ const SimpleField_1 = __importDefault(require("./SimpleField"));
10
+ const util_1 = require("../../util");
12
11
  function CoreDetails(props) {
13
12
  const { feature } = props;
14
13
  const obj = feature;
@@ -28,13 +28,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.default = DataGridDetails;
30
30
  const react_1 = __importStar(require("react"));
31
- const mui_1 = require("tss-react/mui");
32
- const x_data_grid_1 = require("@mui/x-data-grid");
33
31
  const material_1 = require("@mui/material");
34
- // locals
35
- const util_1 = require("../../util");
32
+ const x_data_grid_1 = require("@mui/x-data-grid");
33
+ const mui_1 = require("tss-react/mui");
36
34
  const FieldName_1 = __importDefault(require("./FieldName"));
37
35
  const ui_1 = require("../../ui");
36
+ const util_1 = require("../../util");
38
37
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
39
38
  margin: {
40
39
  marginBottom: theme.spacing(4),
@@ -50,12 +49,11 @@ function DataGridDetails({ value, prefix, name, }) {
50
49
  const [checked, setChecked] = (0, react_1.useState)(false);
51
50
  const keys = Object.keys(value[0]).sort();
52
51
  const unionKeys = new Set(keys);
53
- // avoids key 'id' from being used in row data
54
52
  const rows = Object.entries(value).map(([k, val]) => {
55
53
  const { id, ...rest } = val;
56
54
  return {
57
- id: k, // used by material UI
58
- identifier: id, // renamed from id to identifier
55
+ id: k,
56
+ identifier: id,
59
57
  ...rest,
60
58
  };
61
59
  });
@@ -64,8 +62,6 @@ function DataGridDetails({ value, prefix, name, }) {
64
62
  unionKeys.add(k);
65
63
  }
66
64
  }
67
- // avoids key 'id' from being used in column names, and tries
68
- // to make it at the start of the colNames array
69
65
  let colNames;
70
66
  if (unionKeys.has('id')) {
71
67
  unionKeys.delete('id');
@@ -81,23 +77,24 @@ function DataGridDetails({ value, prefix, name, }) {
81
77
  react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { checked: checked, onChange: event => {
82
78
  setChecked(event.target.checked);
83
79
  } }), label: react_1.default.createElement(material_1.Typography, { variant: "body2" }, "Show options") }),
84
- react_1.default.createElement(x_data_grid_1.DataGrid, { autoHeight: true, disableRowSelectionOnClick: true, rows: rows, rowHeight: 20, columnHeaderHeight: 35, hideFooter: rows.length < 25, slots: {
85
- toolbar: checked ? x_data_grid_1.GridToolbar : null,
86
- }, slotProps: {
87
- toolbar: {
88
- printOptions: {
89
- disableToolbarButton: true,
80
+ react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } },
81
+ react_1.default.createElement(x_data_grid_1.DataGrid, { disableRowSelectionOnClick: true, rows: rows, rowHeight: 20, columnHeaderHeight: 35, hideFooter: rows.length < 25, slots: {
82
+ toolbar: checked ? x_data_grid_1.GridToolbar : null,
83
+ }, slotProps: {
84
+ toolbar: {
85
+ printOptions: {
86
+ disableToolbarButton: true,
87
+ },
88
+ },
89
+ }, columns: colNames.map((val, index) => ({
90
+ field: val,
91
+ renderCell: params => {
92
+ const value = params.value;
93
+ return (react_1.default.createElement("div", { className: classes.cell },
94
+ react_1.default.createElement(ui_1.SanitizedHTML, { html: (0, util_1.getStr)(value || '') })));
90
95
  },
91
- },
92
- }, columns: colNames.map((val, index) => ({
93
- field: val,
94
- renderCell: params => {
95
- const value = params.value;
96
- return (react_1.default.createElement("div", { className: classes.cell },
97
- react_1.default.createElement(ui_1.SanitizedHTML, { html: (0, util_1.getStr)(value || '') })));
98
- },
99
- width: widths[index],
100
- })) })));
96
+ width: widths[index],
97
+ })) }))));
101
98
  }
102
99
  return null;
103
100
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { IAnyStateTreeNode } from 'mobx-state-tree';
3
- import { SimpleFeatureSerialized } from '../../util';
2
+ import type { SimpleFeatureSerialized } from '../../util';
3
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
4
4
  export default function FeatureDetails(props: {
5
5
  model: IAnyStateTreeNode;
6
6
  feature: SimpleFeatureSerialized;
@@ -7,15 +7,13 @@ exports.default = FeatureDetails;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const ErrorBoundary_1 = require("@jbrowse/core/ui/ErrorBoundary");
9
9
  const material_1 = require("@mui/material");
10
- // locals
11
- const util_1 = require("../../util");
12
- const ui_1 = require("../../ui");
13
- const util_2 = require("./util");
10
+ const util_1 = require("./util");
14
11
  const SequenceFeatureDetails_1 = __importDefault(require("../SequenceFeatureDetails"));
15
12
  const Attributes_1 = __importDefault(require("./Attributes"));
16
13
  const BaseCard_1 = __importDefault(require("./BaseCard"));
17
14
  const CoreDetails_1 = __importDefault(require("./CoreDetails"));
18
- // coreDetails are omitted in some circumstances
15
+ const ui_1 = require("../../ui");
16
+ const util_2 = require("../../util");
19
17
  const coreDetails = [
20
18
  'name',
21
19
  'start',
@@ -29,15 +27,15 @@ function FeatureDetails(props) {
29
27
  const { omit = [], model, feature, depth = 0 } = props;
30
28
  const { maxDepth } = model;
31
29
  const { mate, name = '', id = '', type = '', subfeatures, uniqueId } = feature;
32
- const pm = (0, util_1.getEnv)(model).pluginManager;
33
- const session = (0, util_1.getSession)(model);
30
+ const pm = (0, util_2.getEnv)(model).pluginManager;
31
+ const session = (0, util_2.getSession)(model);
34
32
  const ExtraPanel = pm.evaluateExtensionPoint('Core-extraFeaturePanel', null, {
35
33
  session,
36
34
  feature,
37
35
  model,
38
36
  });
39
37
  const m = mate;
40
- return (react_1.default.createElement(BaseCard_1.default, { title: (0, util_2.generateTitle)(name, id, type) },
38
+ return (react_1.default.createElement(BaseCard_1.default, { title: (0, util_1.generateTitle)(name, id, type) },
41
39
  react_1.default.createElement(material_1.Typography, null, "Core details"),
42
40
  react_1.default.createElement(CoreDetails_1.default, { ...props }),
43
41
  m ? (react_1.default.createElement(react_1.default.Fragment, null,
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { BaseProps } from '../types';
2
+ import type { BaseProps } from '../types';
3
3
  export default function Position(props: BaseProps): React.JSX.Element;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = SimpleField;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const mui_1 = require("tss-react/mui");
9
- const FieldName_1 = __importDefault(require("./FieldName"));
10
9
  const BasicValue_1 = __importDefault(require("./BasicValue"));
10
+ const FieldName_1 = __importDefault(require("./FieldName"));
11
11
  const useStyles = (0, mui_1.makeStyles)()({
12
12
  field: {
13
13
  display: 'flex',
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = UriField;
7
7
  const react_1 = __importDefault(require("react"));
8
- const FieldName_1 = __importDefault(require("./FieldName"));
9
8
  const mui_1 = require("tss-react/mui");
10
9
  const BasicValue_1 = __importDefault(require("./BasicValue"));
10
+ const FieldName_1 = __importDefault(require("./FieldName"));
11
11
  const useStyles = (0, mui_1.makeStyles)()({
12
12
  field: {
13
13
  display: 'flex',
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { BaseCardProps, BaseProps } from '../types';
2
+ import type { BaseCardProps, BaseProps } from '../types';
3
3
  export declare const BaseCoreDetails: (props: BaseProps) => React.JSX.Element;
4
4
  export declare const BaseAttributes: (props: BaseProps) => React.JSX.Element;
5
5
  export interface BaseInputProps extends BaseCardProps {
@@ -6,15 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FeatureDetails = exports.BaseCard = exports.BaseAttributes = exports.BaseCoreDetails = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const mobx_react_1 = require("mobx-react");
9
- // utils
10
- const ui_1 = require("../../ui");
11
9
  const util_1 = require("./util");
12
10
  const util_2 = require("../util");
13
- // locals
14
11
  const Attributes_1 = __importDefault(require("./Attributes"));
15
12
  const BaseCard_1 = __importDefault(require("./BaseCard"));
16
13
  const CoreDetails_1 = __importDefault(require("./CoreDetails"));
17
14
  const FeatureDetails_1 = __importDefault(require("./FeatureDetails"));
15
+ const ui_1 = require("../../ui");
18
16
  const BaseCoreDetails = (props) => {
19
17
  const { title = 'Primary data' } = props;
20
18
  return (react_1.default.createElement(BaseCard_1.default, { ...props, title: title },
@@ -36,10 +34,6 @@ const BaseFeatureDetail = (0, mobx_react_1.observer)(function ({ model }) {
36
34
  return null;
37
35
  }
38
36
  else {
39
- // replacing undefined with null helps with allowing fields to be hidden,
40
- // setting null is not allowed by jexl so we set it to undefined to hide.
41
- // see config guide. this replacement happens both here and when
42
- // snapshotting the featureData
43
37
  const featureData2 = (0, util_2.replaceUndefinedWithNull)(featureData);
44
38
  return (0, util_1.isEmpty)(featureData2) ? null : (react_1.default.createElement(FeatureDetails_1.default, { model: model, feature: featureData2 }));
45
39
  }
@@ -21,11 +21,6 @@ function generateTitle(name, id, type) {
21
21
  function generateMaxWidth(array, prefix) {
22
22
  return (Math.ceil((0, util_1.max)(array.map(key => (0, util_1.measureText)([...prefix, key[0]].join('.'), 12)))) + 10);
23
23
  }
24
- // pick using a path from an object, similar to _.get from lodash with special
25
- // logic for Descriptions from e.g. VCF headers
26
- //
27
- // @param arr example ['a','b'], obj = {a:{b:'hello}}
28
- // @returns hello (with special addition to grab description also)
29
24
  function accessNested(arr, obj = {}) {
30
25
  let obj2 = obj;
31
26
  arr.forEach(elt => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '../../util';
3
- import { BaseFeatureWidgetModel } from '../stateModelFactory';
2
+ import type { SimpleFeatureSerialized } from '../../util';
3
+ import type { BaseFeatureWidgetModel } from '../stateModelFactory';
4
4
  declare const SequenceFeatureDetails: ({ model, feature, }: {
5
5
  model: BaseFeatureWidgetModel;
6
6
  feature: SimpleFeatureSerialized;
@@ -29,17 +29,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
30
  const material_1 = require("@mui/material");
31
31
  const mobx_react_1 = require("mobx-react");
32
- // locals
33
32
  const hooks_1 = require("./hooks");
34
33
  const ui_1 = require("../../ui");
35
- // icons
36
34
  const SequenceFeatureMenu_1 = __importDefault(require("./dialogs/SequenceFeatureMenu"));
37
35
  const SequenceTypeSelector_1 = __importDefault(require("./dialogs/SequenceTypeSelector"));
38
- // lazies
39
36
  const SequencePanel = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequencePanel'))));
40
37
  const SequenceDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/SequenceDialog'))));
41
- // set the key on this component to feature.id to clear state after new feature
42
- // is selected
43
38
  const SequenceFeatureDetails = (0, mobx_react_1.observer)(function ({ model, feature, }) {
44
39
  const { sequenceFeatureDetails } = model;
45
40
  const { upDownBp } = sequenceFeatureDetails;
@@ -57,8 +52,6 @@ const SequenceFeatureDetails = (0, mobx_react_1.observer)(function ({ model, fea
57
52
  {
58
53
  label: 'Open in dialog',
59
54
  onClick: () => {
60
- // this is given a setTimeout because it allows the menu to
61
- // close before dialog opens
62
55
  setTimeout(() => {
63
56
  setOpenInDialog(true);
64
57
  }, 1);
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { BaseFeatureWidgetModel } from '../stateModelFactory';
3
- import { SimpleFeatureSerialized } from '../../util';
2
+ import type { SimpleFeatureSerialized } from '../../util';
3
+ import type { BaseFeatureWidgetModel } from '../stateModelFactory';
4
4
  declare const SequenceFeaturePanel: ({ model, feature, }: {
5
5
  model: BaseFeatureWidgetModel;
6
6
  feature: SimpleFeatureSerialized;
@@ -27,15 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
+ const Help_1 = __importDefault(require("@mui/icons-material/Help"));
30
31
  const material_1 = require("@mui/material");
31
32
  const mobx_react_1 = require("mobx-react");
32
33
  const mui_1 = require("tss-react/mui");
33
- // locals
34
34
  const ui_1 = require("../../ui");
35
35
  const util_1 = require("../../util");
36
- // icons
37
- const Help_1 = __importDefault(require("@mui/icons-material/Help"));
38
- // lazies
39
36
  const SequenceFeatureDetails = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SequenceFeatureDetails'))));
40
37
  const HelpDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./dialogs/HelpDialog'))));
41
38
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
@@ -47,9 +44,6 @@ const useStyles = (0, mui_1.makeStyles)()(theme => ({
47
44
  marginBottom: theme.spacing(4),
48
45
  },
49
46
  }));
50
- // display the stitched-together sequence of a gene's CDS, cDNA, or protein
51
- // sequence. this is a best effort and weird genomic phenomena could lead these
52
- // to not be 100% accurate
53
47
  const SequenceFeaturePanel = (0, mobx_react_1.observer)(function ({ model, feature, }) {
54
48
  const { classes } = useStyles();
55
49
  const [shown, setShown] = (0, react_1.useState)(false);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '../../util';
3
- import { SeqState } from '../util';
4
- import { SequenceFeatureDetailsModel } from './model';
2
+ import type { SequenceFeatureDetailsModel } from './model';
3
+ import type { SimpleFeatureSerialized } from '../../util';
4
+ import type { SeqState } from '../util';
5
5
  interface SequencePanelProps {
6
6
  sequence: SeqState;
7
7
  feature: SimpleFeatureSerialized;
@@ -5,14 +5,12 @@ 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
- // panel types
12
10
  const CDNASequence_1 = __importDefault(require("./seqtypes/CDNASequence"));
13
- const ProteinSequence_1 = __importDefault(require("./seqtypes/ProteinSequence"));
14
- const GenomicSequence_1 = __importDefault(require("./seqtypes/GenomicSequence"));
15
11
  const CDSSequence_1 = __importDefault(require("./seqtypes/CDSSequence"));
12
+ const GenomicSequence_1 = __importDefault(require("./seqtypes/GenomicSequence"));
13
+ const ProteinSequence_1 = __importDefault(require("./seqtypes/ProteinSequence"));
16
14
  function getStrand(strand) {
17
15
  if (strand === -1) {
18
16
  return '(-)';
@@ -26,7 +24,6 @@ function getStrand(strand) {
26
24
  }
27
25
  function WordWrap({ children }) {
28
26
  return (react_1.default.createElement("pre", { style: {
29
- /* raw styles instead of className so that html copy works */
30
27
  fontFamily: 'monospace',
31
28
  color: 'black',
32
29
  fontSize: 11,
@@ -34,7 +31,6 @@ function WordWrap({ children }) {
34
31
  }
35
32
  function NoWordWrap({ children }) {
36
33
  return (react_1.default.createElement("div", { style: {
37
- /* raw styles instead of className so that html copy works */
38
34
  fontFamily: 'monospace',
39
35
  color: 'black',
40
36
  fontSize: 11,
@@ -44,9 +40,27 @@ function NoWordWrap({ children }) {
44
40
  } }, children));
45
41
  }
46
42
  const SequencePanel = (0, mobx_react_1.observer)(react_1.default.forwardRef(function S(props, ref) {
47
- const { model, feature } = props;
43
+ const { sequence, model, feature } = props;
48
44
  const { showCoordinates, mode } = model;
49
- let { sequence: { seq, upstream = '', downstream = '' }, } = props;
45
+ const Container = showCoordinates ? WordWrap : NoWordWrap;
46
+ return (react_1.default.createElement("div", { "data-testid": "sequence_panel", ref: ref, style: { maxHeight: 300, overflow: 'auto' } },
47
+ react_1.default.createElement(Container, null,
48
+ react_1.default.createElement(SequenceName, { model: model, mode: mode, feature: feature }),
49
+ react_1.default.createElement(SequenceContents, { model: model, mode: mode, feature: feature, sequence: sequence }))));
50
+ }));
51
+ function SequenceName({ mode, model, feature, }) {
52
+ return (react_1.default.createElement("div", { style: { background: 'white' } }, `>${[
53
+ [feature.name || feature.id, mode].filter(f => !!f).join('-'),
54
+ `${feature.refName}:${(0, util_1.toLocale)(feature.start + 1)}-${(0, util_1.toLocale)(feature.end)}${getStrand(feature.strand)}`,
55
+ mode.endsWith('updownstream')
56
+ ? `+/- ${(0, util_1.toLocale)(model.upDownBp)} up/downstream bp`
57
+ : '',
58
+ ]
59
+ .filter(f => !!f)
60
+ .join(' ')}\n`));
61
+ }
62
+ function SequenceContents({ mode, feature, sequence, model, }) {
63
+ let { seq, upstream = '', downstream = '' } = sequence;
50
64
  const { subfeatures = [] } = feature;
51
65
  const children = subfeatures
52
66
  .sort((a, b) => a.start - b.start)
@@ -55,15 +69,6 @@ const SequencePanel = (0, mobx_react_1.observer)(react_1.default.forwardRef(func
55
69
  start: sub.start - feature.start,
56
70
  end: sub.end - feature.start,
57
71
  }));
58
- // we filter duplicate entries in cds and exon lists duplicate entries
59
- // may be rare but was seen in Gencode v36 track NCList, likely a bug
60
- // on GFF3 or probably worth ignoring here (produces broken protein
61
- // translations if included)
62
- //
63
- // position 1:224,800,006..225,203,064 gene ENSG00000185842.15 first
64
- // transcript ENST00000445597.6
65
- //
66
- // http://localhost:3000/?config=test_data%2Fconfig.json&session=share-FUl7G1isvF&password=HXh5Y
67
72
  let cds = (0, util_2.dedupe)(children.filter(sub => sub.type === 'CDS'));
68
73
  let utr = (0, util_2.dedupe)(children.filter(sub => { var _a; return (_a = sub.type) === null || _a === void 0 ? void 0 : _a.match(/utr/i); }));
69
74
  let exons = (0, util_2.dedupe)(children.filter(sub => sub.type === 'exon'));
@@ -78,8 +83,6 @@ const SequencePanel = (0, mobx_react_1.observer)(react_1.default.forwardRef(func
78
83
  });
79
84
  }
80
85
  if (feature.strand === -1) {
81
- // doing this in a single assignment is needed because downstream and
82
- // upstream are swapped so this avoids a temp variable
83
86
  ;
84
87
  [seq, upstream, downstream] = [
85
88
  (0, util_1.revcom)(seq),
@@ -91,18 +94,6 @@ const SequencePanel = (0, mobx_react_1.observer)(react_1.default.forwardRef(func
91
94
  utr = (0, util_2.revlist)(utr, seq.length);
92
95
  }
93
96
  const codonTable = (0, util_1.generateCodonTable)(util_1.defaultCodonTable);
94
- const Container = showCoordinates ? WordWrap : NoWordWrap;
95
- return (react_1.default.createElement("div", { "data-testid": "sequence_panel", ref: ref, style: { maxHeight: 300, overflow: 'auto' } },
96
- react_1.default.createElement(Container, null,
97
- react_1.default.createElement("div", { style: { background: 'white' } }, `>${[
98
- `${feature.name || feature.id}-${mode}`,
99
- `${feature.refName}:${(0, util_1.toLocale)(feature.start + 1)}-${(0, util_1.toLocale)(feature.end)}${getStrand(feature.strand)}`,
100
- mode.endsWith('updownstream')
101
- ? `+/- ${(0, util_1.toLocale)(model.upDownBp)} up/downstream bp`
102
- : '',
103
- ]
104
- .filter(f => !!f)
105
- .join(' ')}\n`),
106
- mode === 'genomic' ? (react_1.default.createElement(GenomicSequence_1.default, { feature: feature, model: model, sequence: seq })) : mode === 'genomic_sequence_updownstream' ? (react_1.default.createElement(GenomicSequence_1.default, { model: model, feature: feature, sequence: seq, upstream: upstream, downstream: downstream })) : mode === 'cds' ? (react_1.default.createElement(CDSSequence_1.default, { model: model, cds: cds, sequence: seq })) : mode === 'cdna' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, utr: utr, sequence: seq })) : mode === 'protein' ? (react_1.default.createElement(ProteinSequence_1.default, { model: model, cds: cds, codonTable: codonTable, sequence: seq })) : mode === 'gene' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, utr: utr, sequence: seq, includeIntrons: true })) : mode === 'gene_collapsed_intron' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, includeIntrons: true, collapseIntron: true })) : mode === 'gene_updownstream' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, upstream: upstream, downstream: downstream, includeIntrons: true })) : mode === 'gene_updownstream_collapsed_intron' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, upstream: upstream, downstream: downstream, includeIntrons: true, collapseIntron: true })) : (react_1.default.createElement("div", null, "Unknown type")))));
107
- }));
97
+ return (react_1.default.createElement(react_1.default.Fragment, null, mode === 'genomic' ? (react_1.default.createElement(GenomicSequence_1.default, { feature: feature, model: model, sequence: seq })) : mode === 'genomic_sequence_updownstream' ? (react_1.default.createElement(GenomicSequence_1.default, { model: model, feature: feature, sequence: seq, upstream: upstream, downstream: downstream })) : mode === 'cds' ? (react_1.default.createElement(CDSSequence_1.default, { model: model, cds: cds, sequence: seq })) : mode === 'cdna' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, utr: utr, sequence: seq })) : mode === 'protein' ? (react_1.default.createElement(ProteinSequence_1.default, { model: model, cds: cds, codonTable: codonTable, sequence: seq })) : mode === 'gene' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, utr: utr, sequence: seq, includeIntrons: true })) : mode === 'gene_collapsed_intron' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, includeIntrons: true, collapseIntron: true })) : mode === 'gene_updownstream' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, upstream: upstream, downstream: downstream, includeIntrons: true })) : mode === 'gene_updownstream_collapsed_intron' ? (react_1.default.createElement(CDNASequence_1.default, { model: model, exons: exons, feature: feature, cds: cds, sequence: seq, utr: utr, upstream: upstream, downstream: downstream, includeIntrons: true, collapseIntron: true })) : (react_1.default.createElement("div", null, "Unknown type"))));
98
+ }
108
99
  exports.default = SequencePanel;
@@ -5,10 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = HelpDialog;
7
7
  const react_1 = __importDefault(require("react"));
8
- const material_1 = require("@mui/material");
9
8
  const ui_1 = require("@jbrowse/core/ui");
10
- // icons
11
9
  const Settings_1 = __importDefault(require("@mui/icons-material/Settings"));
10
+ const material_1 = require("@mui/material");
12
11
  function HelpDialog({ handleClose, }) {
13
12
  return (react_1.default.createElement(ui_1.Dialog, { maxWidth: "xl", open: true, onClose: () => {
14
13
  handleClose();
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SimpleFeatureSerialized } from '../../../util';
3
- import { BaseFeatureWidgetModel } from '../../stateModelFactory';
2
+ import type { SimpleFeatureSerialized } from '../../../util';
3
+ import type { BaseFeatureWidgetModel } from '../../stateModelFactory';
4
4
  declare const SequenceDialog: ({ handleClose, model, feature, }: {
5
5
  handleClose: () => void;
6
6
  feature: SimpleFeatureSerialized;
@@ -27,13 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const material_1 = require("@mui/material");
31
30
  const ui_1 = require("@jbrowse/core/ui");
32
- const mui_1 = require("tss-react/mui");
31
+ const material_1 = require("@mui/material");
33
32
  const mobx_react_1 = require("mobx-react");
34
- // locals
35
- const hooks_1 = require("../hooks");
33
+ const mui_1 = require("tss-react/mui");
36
34
  const SequencePanel_1 = __importDefault(require("../SequencePanel"));
35
+ const hooks_1 = require("../hooks");
37
36
  const SequenceFeatureMenu_1 = __importDefault(require("./SequenceFeatureMenu"));
38
37
  const SequenceTypeSelector_1 = __importDefault(require("./SequenceTypeSelector"));
39
38
  const useStyles = (0, mui_1.makeStyles)()({
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { SequenceFeatureDetailsModel } from '../model';
3
- import { MenuItem } from '../../../ui';
2
+ import type { MenuItem } from '../../../ui';
3
+ import type { SequenceFeatureDetailsModel } from '../model';
4
4
  interface Props {
5
5
  model: SequenceFeatureDetailsModel;
6
6
  extraItems?: MenuItem[];
@@ -27,15 +27,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const react_1 = __importStar(require("react"));
30
- const mobx_react_1 = require("mobx-react");
30
+ const MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
31
+ const Settings_1 = __importDefault(require("@mui/icons-material/Settings"));
31
32
  const copy_to_clipboard_1 = __importDefault(require("copy-to-clipboard"));
32
33
  const file_saver_1 = require("file-saver");
33
- // locals
34
+ const mobx_react_1 = require("mobx-react");
34
35
  const CascadingMenuButton_1 = __importDefault(require("../../../ui/CascadingMenuButton"));
35
- // icons
36
- const MoreVert_1 = __importDefault(require("@mui/icons-material/MoreVert"));
37
- const Settings_1 = __importDefault(require("@mui/icons-material/Settings"));
38
- // lazies
39
36
  const SequenceFeatureSettingsDialog = (0, react_1.lazy)(() => Promise.resolve().then(() => __importStar(require('./SettingsDialog'))));
40
37
  const SequenceFeatureMenu = (0, mobx_react_1.observer)(react_1.default.forwardRef(function SequenceFeatureMenu2({ model, extraItems = [] }, ref) {
41
38
  if (typeof ref === 'function') {
@@ -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 SequenceTypeSelector: ({ model, }: {
4
4
  model: SequenceFeatureDetailsModel;
5
5
  }) => React.JSX.Element;
@@ -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 SequenceFeatureSettingsDialog: ({ handleClose, model, }: {
4
4
  handleClose: () => void;
5
5
  model: SequenceFeatureDetailsModel;
@@ -24,10 +24,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const react_1 = __importStar(require("react"));
27
- const material_1 = require("@mui/material");
28
27
  const ui_1 = require("@jbrowse/core/ui");
29
- const mui_1 = require("tss-react/mui");
28
+ const material_1 = require("@mui/material");
30
29
  const mobx_react_1 = require("mobx-react");
30
+ const mui_1 = require("tss-react/mui");
31
31
  const useStyles = (0, mui_1.makeStyles)()(theme => ({
32
32
  formElt: {
33
33
  margin: theme.spacing(3),
@@ -1,5 +1,5 @@
1
- import { SeqState, ErrorState } from '../util';
2
- import { SimpleFeatureSerialized } from '../../util';
1
+ import type { SimpleFeatureSerialized } from '../../util';
2
+ import type { ErrorState, SeqState } from '../util';
3
3
  export declare function useFeatureSequence(model: {
4
4
  view?: {
5
5
  assemblyNames?: string[];