@jbrowse/core 5.0.0-beta.13 → 5.0.0-beta.14

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 (391) hide show
  1. package/README.md +365 -69
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +4 -2
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +3 -2
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +4 -2
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -1
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -2
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +2 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +4 -2
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +2 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -2
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +5 -4
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +6 -4
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +2 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +4 -2
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +3 -2
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +4 -2
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +2 -2
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +3 -2
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +4 -2
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +3 -2
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +4 -2
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +3 -2
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +4 -2
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -2
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +4 -2
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +3 -2
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +4 -2
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +4 -2
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +4 -2
  33. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +3 -2
  34. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +4 -2
  35. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +1 -1
  36. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +10 -19
  37. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +3 -2
  38. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +4 -2
  39. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +4 -4
  40. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +3 -2
  41. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -2
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +2 -2
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +15 -36
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +3 -2
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +4 -2
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +2 -1
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +22 -6
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +13 -1
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +28 -1
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +2 -2
  53. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +2 -0
  54. package/esm/PluginManager.d.ts +1 -0
  55. package/esm/PluginManager.js +6 -0
  56. package/esm/ReExports/coreModules.generated.js +538 -524
  57. package/esm/ReExports/coreWorkerModules.generated.js +454 -441
  58. package/esm/ReExports/lazify.js +3 -2
  59. package/esm/ReExports/list.js +15 -6
  60. package/esm/ReExports/names.d.ts +1 -0
  61. package/esm/ReExports/names.generated.d.ts +2 -0
  62. package/esm/ReExports/names.generated.js +566 -0
  63. package/esm/ReExports/names.js +3 -0
  64. package/esm/assemblyManager/assembly.d.ts +9 -0
  65. package/esm/assemblyManager/assembly.js +13 -0
  66. package/esm/assemblyManager/assemblyConfigSchema.d.ts +6 -1
  67. package/esm/assemblyManager/assemblyConfigSchema.js +23 -22
  68. package/esm/assemblyManager/assemblyManager.d.ts +11 -0
  69. package/esm/assemblyManager/assemblyManager.js +2 -0
  70. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +9 -0
  71. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +23 -0
  72. package/esm/checkPlugins.js +10 -4
  73. package/esm/configuration/configurationSchema.d.ts +18 -5
  74. package/esm/configuration/configurationSchema.js +9 -7
  75. package/esm/configuration/configurationSchemaUnion.d.ts +2 -1
  76. package/esm/configuration/configurationSchemaUnion.js +2 -1
  77. package/esm/configuration/configurationSlot.js +4 -4
  78. package/esm/configuration/fillLocations.d.ts +4 -2
  79. package/esm/configuration/fillLocations.js +9 -3
  80. package/esm/configuration/formatAboutConfigSchema.d.ts +2 -2
  81. package/esm/configuration/formatAboutConfigSchema.js +2 -2
  82. package/esm/configuration/formatDetailsConfigSchema.d.ts +2 -2
  83. package/esm/configuration/formatDetailsConfigSchema.js +5 -5
  84. package/esm/configuration/getConf.js +13 -4
  85. package/esm/configuration/index.d.ts +1 -1
  86. package/esm/configuration/index.js +1 -1
  87. package/esm/configuration/plot.d.ts +2 -2
  88. package/esm/configuration/plot.js +32 -18
  89. package/esm/configuration/schemaRegistry.d.ts +0 -2
  90. package/esm/configuration/slotFacade.js +2 -2
  91. package/esm/configuration/snapshotPreprocess.d.ts +42 -18
  92. package/esm/configuration/snapshotPreprocess.js +94 -34
  93. package/esm/configuration/tabixShorthand.js +1 -3
  94. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +7 -0
  95. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +7 -0
  96. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +0 -22
  97. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +0 -55
  98. package/esm/data_adapters/BaseAdapter/index.d.ts +0 -1
  99. package/esm/data_adapters/BaseAdapter/index.js +0 -1
  100. package/esm/data_adapters/BaseAdapter/rowSources.d.ts +2 -2
  101. package/esm/data_adapters/BaseAdapter/types.d.ts +1 -0
  102. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +2 -0
  103. package/esm/data_adapters/CytobandAdapter/configSchema.js +5 -0
  104. package/esm/data_adapters/dataAdapterCache.d.ts +25 -13
  105. package/esm/data_adapters/dataAdapterCache.js +68 -24
  106. package/esm/data_adapters/getFeatureAdapter.d.ts +9 -0
  107. package/esm/data_adapters/getFeatureAdapter.js +17 -0
  108. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -0
  109. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +2 -0
  110. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +40 -6
  111. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +56 -8
  112. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +3 -3
  113. package/esm/pluggableElementTypes/models/BaseTrackModel.js +7 -6
  114. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +2 -0
  115. package/esm/pluggableElementTypes/models/BaseViewModel.js +2 -0
  116. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -0
  117. package/esm/pluggableElementTypes/models/InternetAccountModel.js +3 -0
  118. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +3 -0
  119. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +3 -0
  120. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +3 -1
  121. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +3 -1
  122. package/esm/pluggableElementTypes/models/baseTrackConfig.js +9 -1
  123. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
  124. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +1 -1
  125. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +1 -1
  126. package/esm/pluginDefinitions.d.ts +7 -0
  127. package/esm/pluginDefinitions.js +20 -0
  128. package/esm/rpc/RpcRegistry.d.ts +0 -10
  129. package/esm/rpc/byteBudget.d.ts +8 -0
  130. package/esm/rpc/byteBudget.js +13 -0
  131. package/esm/rpc/configSchema.d.ts +2 -0
  132. package/esm/rpc/configSchema.js +3 -1
  133. package/esm/rpc/coreRpcMethods.d.ts +0 -1
  134. package/esm/rpc/coreRpcMethods.js +0 -1
  135. package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +2 -2
  136. package/esm/rpc/methods/CoreGetEncodedLayers.js +7 -5
  137. package/esm/rpc/methods/layerFeatures.d.ts +9 -6
  138. package/esm/rpc/methods/layerFeatures.js +21 -5
  139. package/esm/ui/ActionLink.d.ts +3 -2
  140. package/esm/ui/ActionLink.js +4 -2
  141. package/esm/ui/AddCustomPluginDialog.d.ts +3 -2
  142. package/esm/ui/AddCustomPluginDialog.js +6 -4
  143. package/esm/ui/BaseTooltip.d.ts +3 -2
  144. package/esm/ui/BaseTooltip.js +4 -2
  145. package/esm/ui/CascadingMenu.js +14 -12
  146. package/esm/ui/CascadingMenuButton.d.ts +2 -2
  147. package/esm/ui/CascadingMenuButton.js +5 -4
  148. package/esm/ui/CascadingMenuHelpDialog.d.ts +3 -2
  149. package/esm/ui/CascadingMenuHelpDialog.js +4 -2
  150. package/esm/ui/CascadingMenuHelpIconButton.d.ts +4 -3
  151. package/esm/ui/CascadingMenuHelpIconButton.js +9 -5
  152. package/esm/ui/ColorPicker.d.ts +5 -4
  153. package/esm/ui/ColorPicker.js +6 -4
  154. package/esm/ui/ContextMenu.d.ts +1 -1
  155. package/esm/ui/ContextMenu.js +1 -1
  156. package/esm/ui/CopyToClipboardButton.d.ts +3 -2
  157. package/esm/ui/CopyToClipboardButton.js +4 -2
  158. package/esm/ui/Crosshairs.js +13 -10
  159. package/esm/ui/DOMPurifySanitizedHTML.d.ts +3 -2
  160. package/esm/ui/DOMPurifySanitizedHTML.js +4 -2
  161. package/esm/ui/DataGridFlexContainer.d.ts +3 -2
  162. package/esm/ui/DataGridFlexContainer.js +4 -2
  163. package/esm/ui/Dialog.d.ts +1 -1
  164. package/esm/ui/Dialog.js +5 -4
  165. package/esm/ui/DropDownMenu.js +2 -2
  166. package/esm/ui/EditableTypography.d.ts +1 -1
  167. package/esm/ui/EditableTypography.js +3 -2
  168. package/esm/ui/ErrorActions.d.ts +3 -2
  169. package/esm/ui/ErrorActions.js +4 -2
  170. package/esm/ui/ErrorBanner.d.ts +2 -2
  171. package/esm/ui/ErrorBanner.js +3 -2
  172. package/esm/ui/ErrorBar.d.ts +3 -2
  173. package/esm/ui/ErrorBar.js +4 -2
  174. package/esm/ui/ErrorMessage.d.ts +3 -2
  175. package/esm/ui/ErrorMessage.js +4 -2
  176. package/esm/ui/ErrorMessageStackTraceContents.d.ts +3 -2
  177. package/esm/ui/ErrorMessageStackTraceContents.js +4 -2
  178. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +3 -2
  179. package/esm/ui/ErrorMessageStackTraceDialog.js +4 -2
  180. package/esm/ui/ErrorOverlay.d.ts +3 -2
  181. package/esm/ui/ErrorOverlay.js +4 -2
  182. package/esm/ui/ExportSvgDialog.d.ts +3 -2
  183. package/esm/ui/ExportSvgDialog.js +4 -2
  184. package/esm/ui/ExternalLink.d.ts +2 -1
  185. package/esm/ui/ExternalLink.js +4 -2
  186. package/esm/ui/FactoryResetDialog.d.ts +3 -2
  187. package/esm/ui/FactoryResetDialog.js +4 -2
  188. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  189. package/esm/ui/FatalErrorDialog.js +6 -4
  190. package/esm/ui/FileDropZone.d.ts +3 -2
  191. package/esm/ui/FileDropZone.js +4 -2
  192. package/esm/ui/FileSelector/LocalFileChooser.js +4 -4
  193. package/esm/ui/FileSelector/LocationInput.d.ts +3 -2
  194. package/esm/ui/FileSelector/LocationInput.js +4 -2
  195. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +3 -2
  196. package/esm/ui/FileSelector/SourceTypeSelector.js +8 -6
  197. package/esm/ui/GpuFallbackButton.d.ts +3 -2
  198. package/esm/ui/GpuFallbackButton.js +4 -2
  199. package/esm/ui/HoverMenu.d.ts +2 -2
  200. package/esm/ui/HoverMenu.js +7 -3
  201. package/esm/ui/HoverTooltip.d.ts +3 -2
  202. package/esm/ui/HoverTooltip.js +4 -2
  203. package/esm/ui/Icons.d.ts +5 -5
  204. package/esm/ui/Icons.js +11 -10
  205. package/esm/ui/InlineMenuControls.d.ts +2 -2
  206. package/esm/ui/InlineMenuControls.js +4 -3
  207. package/esm/ui/JexlFilterRowEditors.d.ts +4 -4
  208. package/esm/ui/JexlFilterRowEditors.js +9 -8
  209. package/esm/ui/LabeledCheckbox.d.ts +3 -2
  210. package/esm/ui/LabeledCheckbox.js +4 -2
  211. package/esm/ui/LazyBaseTooltip.d.ts +12 -3
  212. package/esm/ui/LazyBaseTooltip.js +4 -2
  213. package/esm/ui/LegendSwatchGlyph.js +1 -0
  214. package/esm/ui/LoadingDots.d.ts +2 -1
  215. package/esm/ui/LoadingDots.js +4 -2
  216. package/esm/ui/LoadingEllipses.d.ts +5 -2
  217. package/esm/ui/LoadingEllipses.js +5 -3
  218. package/esm/ui/LoadingOverlay.d.ts +3 -2
  219. package/esm/ui/LoadingOverlay.js +4 -2
  220. package/esm/ui/LoadingProgress.d.ts +3 -2
  221. package/esm/ui/LoadingProgress.js +4 -2
  222. package/esm/ui/Logo.d.ts +2 -2
  223. package/esm/ui/Logo.js +9 -8
  224. package/esm/ui/MenuItemChevron.d.ts +2 -2
  225. package/esm/ui/MenuItemChevron.js +3 -2
  226. package/esm/ui/MenuItemEndDecoration.d.ts +2 -2
  227. package/esm/ui/MenuItemEndDecoration.js +3 -2
  228. package/esm/ui/MenuItemTrailing.d.ts +2 -2
  229. package/esm/ui/MenuItemTrailing.js +7 -6
  230. package/esm/ui/MenuTypes.d.ts +21 -1
  231. package/esm/ui/MenuTypes.js +20 -0
  232. package/esm/ui/MonospaceTextField.d.ts +3 -2
  233. package/esm/ui/MonospaceTextField.js +4 -2
  234. package/esm/ui/NumberTextField.d.ts +2 -2
  235. package/esm/ui/NumberTextField.js +4 -2
  236. package/esm/ui/PaletteContext.d.ts +11 -9
  237. package/esm/ui/PaletteContext.js +33 -18
  238. package/esm/ui/PluginStoreCard.d.ts +3 -2
  239. package/esm/ui/PluginStoreCard.js +4 -2
  240. package/esm/ui/PopoverPicker.d.ts +3 -2
  241. package/esm/ui/PopoverPicker.js +4 -2
  242. package/esm/ui/PrerenderedCanvas.d.ts +2 -2
  243. package/esm/ui/PrerenderedCanvas.js +3 -2
  244. package/esm/ui/RedErrorMessageBox.d.ts +3 -2
  245. package/esm/ui/RedErrorMessageBox.js +4 -2
  246. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +3 -2
  247. package/esm/ui/RefNameAutocomplete/EndAdornment.js +4 -2
  248. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -2
  249. package/esm/ui/RefNameAutocomplete/HelpDialog.js +4 -2
  250. package/esm/ui/ReplaceCurrentViewButton.d.ts +3 -2
  251. package/esm/ui/ReplaceCurrentViewButton.js +4 -2
  252. package/esm/ui/ResizeHandle.d.ts +2 -2
  253. package/esm/ui/ResizeHandle.js +3 -2
  254. package/esm/ui/SanitizedHTML.d.ts +3 -2
  255. package/esm/ui/SanitizedHTML.js +6 -4
  256. package/esm/ui/ScrollChrome.d.ts +3 -2
  257. package/esm/ui/ScrollChrome.js +4 -2
  258. package/esm/ui/ScrollEdgeShadow.d.ts +2 -2
  259. package/esm/ui/ScrollEdgeShadow.js +2 -2
  260. package/esm/ui/SessionJsonPanel.d.ts +3 -2
  261. package/esm/ui/SessionJsonPanel.js +4 -2
  262. package/esm/ui/ShareLinkField.d.ts +3 -2
  263. package/esm/ui/ShareLinkField.js +4 -2
  264. package/esm/ui/SingleSlider.d.ts +2 -2
  265. package/esm/ui/SingleSlider.js +4 -2
  266. package/esm/ui/SliderTooltip.d.ts +2 -1
  267. package/esm/ui/SliderTooltip.js +4 -2
  268. package/esm/ui/SnackbarContents.d.ts +3 -2
  269. package/esm/ui/SnackbarContents.js +4 -2
  270. package/esm/ui/SnackbarModel.d.ts +2 -0
  271. package/esm/ui/SnackbarModel.js +2 -0
  272. package/esm/ui/StackTraceButton.d.ts +3 -2
  273. package/esm/ui/StackTraceButton.js +4 -2
  274. package/esm/ui/StatusProgressBar.d.ts +3 -2
  275. package/esm/ui/StatusProgressBar.js +4 -2
  276. package/esm/ui/SubmitForm.d.ts +2 -1
  277. package/esm/ui/SubmitForm.js +4 -2
  278. package/esm/ui/SvgColorLegend.d.ts +3 -4
  279. package/esm/ui/SvgColorLegend.js +27 -18
  280. package/esm/ui/TagTextField.d.ts +2 -2
  281. package/esm/ui/TagTextField.js +4 -2
  282. package/esm/ui/ViewLoadingScreen.d.ts +3 -2
  283. package/esm/ui/ViewLoadingScreen.js +4 -2
  284. package/esm/ui/colorScale.d.ts +5 -1
  285. package/esm/ui/colorScale.js +12 -10
  286. package/esm/ui/colors.d.ts +3 -3
  287. package/esm/ui/colors.js +7 -7
  288. package/esm/ui/filterMenuItems.d.ts +10 -31
  289. package/esm/ui/filterMenuItems.js +13 -14
  290. package/esm/ui/index.d.ts +1 -1
  291. package/esm/ui/index.js +1 -1
  292. package/esm/ui/launchTargetsMenuItem.js +9 -13
  293. package/esm/ui/legendMenuItem.d.ts +4 -4
  294. package/esm/ui/legendMenuItem.js +4 -4
  295. package/esm/ui/menuItemAdornment.d.ts +1 -1
  296. package/esm/ui/menuItemAdornment.js +1 -1
  297. package/esm/ui/menuItems.d.ts +1 -1
  298. package/esm/ui/menuItems.js +1 -1
  299. package/esm/ui/menuLabels.d.ts +2 -2
  300. package/esm/ui/menuLabels.js +2 -2
  301. package/esm/ui/palette.d.ts +2 -2
  302. package/esm/ui/palette.js +10 -10
  303. package/esm/ui/radioSubMenu.d.ts +5 -3
  304. package/esm/ui/radioSubMenu.js +2 -2
  305. package/esm/ui/rampKey.d.ts +15 -0
  306. package/esm/ui/rampKey.js +17 -0
  307. package/esm/ui/showSubMenu.d.ts +0 -5
  308. package/esm/ui/showSubMenu.js +6 -15
  309. package/esm/ui/theme.d.ts +2 -2
  310. package/esm/ui/theme.js +1 -1
  311. package/esm/ui/useAssemblySelection.d.ts +2 -0
  312. package/esm/ui/useMouseTracking.d.ts +8 -20
  313. package/esm/ui/useMouseTracking.js +23 -62
  314. package/esm/ui/usePlacedMenuFocus.d.ts +19 -0
  315. package/esm/ui/usePlacedMenuFocus.js +28 -0
  316. package/esm/util/Base1DViewModel.d.ts +5 -3
  317. package/esm/util/Base1DViewModel.js +5 -3
  318. package/esm/util/SvgCanvas.js +1 -1
  319. package/esm/util/aggregateFieldName.d.ts +1 -10
  320. package/esm/util/aggregateFieldName.js +1 -8
  321. package/esm/util/analytics.d.ts +4 -6
  322. package/esm/util/analytics.js +143 -12
  323. package/esm/util/bezierConnector.d.ts +20 -0
  324. package/esm/util/bezierConnector.js +34 -100
  325. package/esm/util/cacheBudgets.d.ts +3 -0
  326. package/esm/util/cacheBudgets.js +3 -0
  327. package/esm/util/categoricalField.d.ts +2 -2
  328. package/esm/util/categoricalField.js +3 -3
  329. package/esm/util/color/index.d.ts +1 -1
  330. package/esm/util/color/index.js +2 -2
  331. package/esm/util/color-bits/bit.js +1 -1
  332. package/esm/util/color-bits/parse.js +6 -6
  333. package/esm/util/colorBits.d.ts +15 -4
  334. package/esm/util/colorBits.js +38 -15
  335. package/esm/util/colorRamp.d.ts +3 -3
  336. package/esm/util/colorRamp.js +14 -2
  337. package/esm/util/colorScale.d.ts +114 -20
  338. package/esm/util/colorScale.js +124 -26
  339. package/esm/util/colorSchemes.d.ts +6 -4
  340. package/esm/util/colorSchemes.js +6 -3
  341. package/esm/util/createSvgRasterCanvas.d.ts +14 -1
  342. package/esm/util/createSvgRasterCanvas.js +36 -12
  343. package/esm/util/diagonalizeRegions.js +18 -9
  344. package/esm/util/featureTransforms.d.ts +2 -2
  345. package/esm/util/featureTransforms.js +85 -135
  346. package/esm/util/fileHandleStore.js +5 -0
  347. package/esm/util/groupKeys.d.ts +5 -4
  348. package/esm/util/groupKeys.js +15 -9
  349. package/esm/util/index.js +1 -1
  350. package/esm/util/installFetch.d.ts +2 -2
  351. package/esm/util/installPrerequisiteFetch.d.ts +8 -3
  352. package/esm/util/installPrerequisiteFetch.js +9 -7
  353. package/esm/util/io/RemoteFileWithRangeCache.d.ts +1 -1
  354. package/esm/util/io/RemoteFileWithRangeCache.js +1 -1
  355. package/esm/util/jexl.js +1 -1
  356. package/esm/util/layouts/GranularRectLayout.d.ts +19 -3
  357. package/esm/util/layouts/GranularRectLayout.js +57 -34
  358. package/esm/util/leadingEdgeAutorun.d.ts +9 -1
  359. package/esm/util/leadingEdgeAutorun.js +5 -2
  360. package/esm/util/markEncoding.d.ts +10 -8
  361. package/esm/util/markEncoding.js +50 -12
  362. package/esm/util/markEncodingTypes.d.ts +74 -20
  363. package/esm/util/originCut.d.ts +14 -0
  364. package/esm/util/originCut.js +19 -0
  365. package/esm/util/paintLayer.d.ts +1 -1
  366. package/esm/util/paintLayer.js +4 -3
  367. package/esm/util/pathSeries.d.ts +18 -0
  368. package/esm/util/pathSeries.js +143 -0
  369. package/esm/util/pressOwner.d.ts +20 -0
  370. package/esm/util/pressOwner.js +26 -0
  371. package/esm/util/quantileExtent.d.ts +3 -3
  372. package/esm/util/quantileExtent.js +3 -3
  373. package/esm/util/rowStackGeometry.d.ts +1 -1
  374. package/esm/util/rowStackGeometry.js +1 -1
  375. package/esm/util/sessionActivity.d.ts +36 -0
  376. package/esm/util/sessionActivity.js +88 -0
  377. package/esm/util/stepOutputs.d.ts +165 -0
  378. package/esm/util/stepOutputs.js +201 -0
  379. package/esm/util/stepTables.d.ts +7 -3
  380. package/esm/util/stepTables.js +86 -3
  381. package/esm/util/thresholdScale.d.ts +1 -1
  382. package/esm/util/thresholdScale.js +1 -1
  383. package/esm/util/tracks.js +1 -1
  384. package/esm/util/usePanZoom.js +4 -10
  385. package/esm/util/windowStep.d.ts +6 -0
  386. package/esm/util/windowStep.js +153 -0
  387. package/package.json +23 -15
  388. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +0 -40
  389. package/esm/data_adapters/BaseAdapter/featureDensity.js +0 -31
  390. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +0 -11
  391. package/esm/rpc/methods/CoreGetFeatureDensity.js +0 -22
@@ -1,6 +1,7 @@
1
1
  import type React from 'react';
2
- export declare function CascadingMenuHelpIconSpacer(): React.JSX.Element;
3
- export default function CascadingMenuHelpIconButton({ helpText, label, }: {
2
+ export declare const CascadingMenuHelpIconSpacer: () => React.JSX.Element;
3
+ declare const CascadingMenuHelpIconButton: ({ helpText, label, }: {
4
4
  helpText: string;
5
5
  label?: React.ReactNode;
6
- }): React.JSX.Element;
6
+ }) => React.JSX.Element;
7
+ export default CascadingMenuHelpIconButton;
@@ -2,17 +2,20 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
2
2
  import { useState } from 'react';
3
3
  import HelpOutlined from '@mui/icons-material/HelpOutlined';
4
4
  import { IconButton } from '@mui/material';
5
+ import { observer } from 'mobx-react';
5
6
  import CascadingMenuHelpDialog from './CascadingMenuHelpDialog.js';
6
7
  const buttonStyle = { marginLeft: 4, padding: 4 };
7
8
  // Invisible button that reserves the exact same footprint as the help icon, so
8
9
  // rows without help text keep their end decoration (radio/checkbox) aligned
9
10
  // with rows that have one
10
- export function CascadingMenuHelpIconSpacer() {
11
+ export const CascadingMenuHelpIconSpacer = observer(function CascadingMenuHelpIconSpacer() {
11
12
  return (_jsx(IconButton, { size: "small", disabled: true, style: { ...buttonStyle, visibility: 'hidden' }, children: _jsx(HelpOutlined, { fontSize: "small" }) }));
12
- }
13
- export default function CascadingMenuHelpIconButton({ helpText, label, }) {
13
+ });
14
+ const CascadingMenuHelpIconButton = observer(function CascadingMenuHelpIconButton({ helpText, label, }) {
14
15
  const [helpDialogOpen, setHelpDialogOpen] = useState(false);
15
- return (_jsxs(_Fragment, { children: [_jsx(IconButton, { size: "small", "aria-label": typeof label === 'string' ? `Help for ${label}` : 'Help for this item', onClick: event => {
16
+ return (_jsxs(_Fragment, { children: [_jsx(IconButton, { size: "small", "aria-label": typeof label === 'string'
17
+ ? `Help for ${label}`
18
+ : 'Help for this item', onClick: event => {
16
19
  event.stopPropagation();
17
20
  setHelpDialogOpen(true);
18
21
  }, style: buttonStyle, children: _jsx(HelpOutlined, { fontSize: "small" }) }), helpDialogOpen ? (_jsx(CascadingMenuHelpDialog, { helpText: helpText, label: label,
@@ -21,4 +24,5 @@ export default function CascadingMenuHelpIconButton({ helpText, label, }) {
21
24
  onClose: () => {
22
25
  setHelpDialogOpen(false);
23
26
  } })) : null] }));
24
- }
27
+ });
28
+ export default CascadingMenuHelpIconButton;
@@ -1,12 +1,13 @@
1
- export declare function ColorPopover({ anchorEl, onChange, onClose, color, presetAlpha, }: {
1
+ export declare const ColorPopover: ({ anchorEl, onChange, onClose, color, presetAlpha, }: {
2
2
  color: string;
3
3
  anchorEl: HTMLElement | null;
4
4
  onChange: (val: string) => void;
5
5
  onClose: () => void;
6
6
  presetAlpha?: number;
7
- }): import("react").JSX.Element;
8
- export default function ColorPicker({ onChange, color, presetAlpha, }: {
7
+ }) => import("react").JSX.Element;
8
+ declare const ColorPicker: ({ onChange, color, presetAlpha, }: {
9
9
  color: string;
10
10
  onChange: (val: string) => void;
11
11
  presetAlpha?: number;
12
- }): import("react").JSX.Element;
12
+ }) => import("react").JSX.Element;
13
+ export default ColorPicker;
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { MenuItem, Popover, Select, TextField } from '@mui/material';
4
+ import { observer } from 'mobx-react';
4
5
  import { colord } from '../util/colord.js';
5
6
  import { useDebounce, useLocalStorage } from '../util/hooks.js';
6
7
  import { makeStyles } from '../util/tss-react/index.js';
@@ -30,10 +31,10 @@ const palettes = Object.keys(paletteColors);
30
31
  function isPaletteType(s) {
31
32
  return Object.hasOwn(paletteColors, s);
32
33
  }
33
- export function ColorPopover({ anchorEl, onChange, onClose, color, presetAlpha, }) {
34
+ export const ColorPopover = observer(function ColorPopover({ anchorEl, onChange, onClose, color, presetAlpha, }) {
34
35
  return (_jsx(Popover, { open: !!anchorEl, anchorEl: anchorEl, onClose: onClose, children: _jsx(ColorPicker, { color: color, onChange: onChange, presetAlpha: presetAlpha }) }));
35
- }
36
- export default function ColorPicker({ onChange, color, presetAlpha, }) {
36
+ });
37
+ const ColorPicker = observer(function ColorPicker({ onChange, color, presetAlpha, }) {
37
38
  const { classes } = useStyles();
38
39
  const [storedPalette, setStoredPalette] = useLocalStorage('colorPickerPalette', 'set1');
39
40
  // a stale localStorage value (e.g. a palette since renamed/removed) would
@@ -56,4 +57,5 @@ export default function ColorPicker({ onChange, color, presetAlpha, }) {
56
57
  } }, `${presetColor}-${idx}`))) }), _jsx(TextField, { helperText: 'Manually set color (hex, rgb, or css color name)', value: text, onChange: event => {
57
58
  handleChange(event.target.value);
58
59
  } })] })] }));
59
- }
60
+ });
61
+ export default ColorPicker;
@@ -22,7 +22,7 @@ export interface ContextMenuAnchor {
22
22
  *
23
23
  * Its events do not stop at the portal — React bubbles them through the
24
24
  * component tree to whatever rendered the menu, which on a display is the
25
- * element that hit-tests the pointer. `DisplayStatusChromeBase` is where that
25
+ * element that hit-tests the pointer. `DisplayChromeBase` is where that
26
26
  * element refuses the events that did not happen over it, for every portalled
27
27
  * overlay rather than for menus alone.
28
28
  *
@@ -20,7 +20,7 @@ const DEFAULT_OFFSET = { x: 12, y: 0 };
20
20
  *
21
21
  * Its events do not stop at the portal — React bubbles them through the
22
22
  * component tree to whatever rendered the menu, which on a display is the
23
- * element that hit-tests the pointer. `DisplayStatusChromeBase` is where that
23
+ * element that hit-tests the pointer. `DisplayChromeBase` is where that
24
24
  * element refuses the events that did not happen over it, for every portalled
25
25
  * overlay rather than for menus alone.
26
26
  *
@@ -4,7 +4,8 @@ import type { ButtonProps } from '@mui/material';
4
4
  * `copiedLabel` as feedback. `value` may be a function so callers can defer
5
5
  * computing large strings (e.g. JSON.stringify) until the click happens.
6
6
  */
7
- export default function CopyToClipboardButton({ value, children, copiedLabel, ...rest }: {
7
+ declare const CopyToClipboardButton: ({ value, children, copiedLabel, ...rest }: {
8
8
  value: string | (() => string);
9
9
  copiedLabel?: string;
10
- } & Omit<ButtonProps, 'value'>): import("react").JSX.Element;
10
+ } & Omit<ButtonProps, 'value'>) => import("react").JSX.Element;
11
+ export default CopyToClipboardButton;
@@ -1,14 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Button } from '@mui/material';
3
+ import { observer } from 'mobx-react';
3
4
  import { useCopyToClipboard } from './useCopyToClipboard.js';
4
5
  /**
5
6
  * A Button that copies `value` to the clipboard and briefly swaps its label to
6
7
  * `copiedLabel` as feedback. `value` may be a function so callers can defer
7
8
  * computing large strings (e.g. JSON.stringify) until the click happens.
8
9
  */
9
- export default function CopyToClipboardButton({ value, children, copiedLabel = 'Copied to clipboard!', ...rest }) {
10
+ const CopyToClipboardButton = observer(function CopyToClipboardButton({ value, children, copiedLabel = 'Copied to clipboard!', ...rest }) {
10
11
  const { copied, copy } = useCopyToClipboard();
11
12
  return (_jsx(Button, { ...rest, onClick: () => {
12
13
  void copy(typeof value === 'function' ? value() : value);
13
14
  }, children: copied ? copiedLabel : children }));
14
- }
15
+ });
16
+ export default CopyToClipboardButton;
@@ -1,15 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- const Crosshairs = ({ width, height, mouseX, mouseY, top = 0, zIndex,
2
+ import { observer } from 'mobx-react';
3
+ const Crosshairs = observer(function Crosshairs({ width, height, mouseX, mouseY, top = 0, zIndex,
3
4
  // The vertical (genomic-position) guide is dropped when the cursor is left of
4
5
  // this, e.g. over a tree sidebar where it has no meaning and clutters the
5
6
  // resize handle. The horizontal row guide is kept.
6
- minLeft = 0, }) => (_jsxs("svg", { style: {
7
- position: 'absolute',
8
- top,
9
- left: 0,
10
- width,
11
- height,
12
- pointerEvents: 'none',
13
- zIndex,
14
- }, children: [mouseY === undefined ? null : (_jsx("line", { x1: 0, x2: width, y1: mouseY, y2: mouseY, stroke: "currentColor" })), mouseX >= minLeft ? (_jsx("line", { x1: mouseX, x2: mouseX, y1: 0, y2: height, stroke: "currentColor" })) : null] }));
7
+ minLeft = 0, }) {
8
+ return (_jsxs("svg", { style: {
9
+ position: 'absolute',
10
+ top,
11
+ left: 0,
12
+ width,
13
+ height,
14
+ pointerEvents: 'none',
15
+ zIndex,
16
+ }, children: [mouseY === undefined ? null : (_jsx("line", { x1: 0, x2: width, y1: mouseY, y2: mouseY, stroke: "currentColor" })), mouseX >= minLeft ? (_jsx("line", { x1: mouseX, x2: mouseX, y1: 0, y2: height, stroke: "currentColor" })) : null] }));
17
+ });
15
18
  export default Crosshairs;
@@ -1,4 +1,5 @@
1
- export default function DOMPurifySanitizedHTML({ value, className, }: {
1
+ declare const DOMPurifySanitizedHTML: ({ value, className, }: {
2
2
  value: string;
3
3
  className?: string;
4
- }): import("react").JSX.Element;
4
+ }) => import("react").JSX.Element;
5
+ export default DOMPurifySanitizedHTML;
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useLayoutEffect, useRef } from 'react';
3
3
  import dompurify from 'dompurify';
4
+ import { observer } from 'mobx-react';
4
5
  import { rewriteExternalAnchors } from './rewriteExternalAnchors.js';
5
- export default function DOMPurifySanitizedHTML({ value, className, }) {
6
+ const DOMPurifySanitizedHTML = observer(function DOMPurifySanitizedHTML({ value, className, }) {
6
7
  const spanRef = useRef(null);
7
8
  useLayoutEffect(() => {
8
9
  const el = spanRef.current;
@@ -13,4 +14,5 @@ export default function DOMPurifySanitizedHTML({ value, className, }) {
13
14
  return (_jsx("span", { ref: spanRef, className: className,
14
15
  // eslint-disable-next-line @eslint-react/dom-no-dangerously-set-innerhtml
15
16
  dangerouslySetInnerHTML: { __html: dompurify.sanitize(value) } }));
16
- }
17
+ });
18
+ export default DOMPurifySanitizedHTML;
@@ -1,5 +1,5 @@
1
1
  import type { CSSProperties } from 'react';
2
- export default function DataGridFlexContainer({ children, className, style, }: {
2
+ declare const DataGridFlexContainer: ({ children, className, style, }: {
3
3
  children: React.ReactNode;
4
4
  /**
5
5
  * merged with the flex-column base. A caller that wants the grid to FILL its
@@ -9,4 +9,5 @@ export default function DataGridFlexContainer({ children, className, style, }: {
9
9
  */
10
10
  className?: string;
11
11
  style?: CSSProperties;
12
- }): import("react").JSX.Element;
12
+ }) => import("react").JSX.Element;
13
+ export default DataGridFlexContainer;
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { observer } from 'mobx-react';
2
3
  import { cx, makeStyles } from '../util/tss-react/index.js';
3
4
  const useStyles = makeStyles()({
4
5
  flexContainer: {
@@ -7,7 +8,8 @@ const useStyles = makeStyles()({
7
8
  },
8
9
  });
9
10
  // https://mui.com/x/react-data-grid/layout/#flex-parent-container
10
- export default function DataGridFlexContainer({ children, className, style, }) {
11
+ const DataGridFlexContainer = observer(function DataGridFlexContainer({ children, className, style, }) {
11
12
  const { classes } = useStyles();
12
13
  return (_jsx("div", { className: cx(classes.flexContainer, className), style: style, children: children }));
13
- }
14
+ });
15
+ export default DataGridFlexContainer;
@@ -6,5 +6,5 @@ export interface Props extends Omit<DialogProps, 'onClose'> {
6
6
  bivarianceHack(event: object, reason: 'backdropClick' | 'escapeKeyDown' | 'closeButtonClick'): void;
7
7
  }['bivarianceHack'] | undefined;
8
8
  }
9
- declare function Dialog(props: Props): import("react").JSX.Element;
9
+ declare const Dialog: (props: Props) => import("react").JSX.Element;
10
10
  export default Dialog;
package/esm/ui/Dialog.js CHANGED
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo } from 'react';
3
3
  import CloseIcon from '@mui/icons-material/Close';
4
4
  import { DialogTitle, Divider, IconButton, Dialog as MUIDialog, ScopedCssBaseline, ThemeProvider, createTheme, useTheme, } from '@mui/material';
5
+ import { observer } from 'mobx-react';
5
6
  import { makeStyles } from '../util/tss-react/index.js';
6
7
  import ErrorBanner from './ErrorBanner.js';
7
8
  import { ErrorBoundary } from './ErrorBoundary.js';
@@ -18,11 +19,11 @@ const useStyles = makeStyles()(theme => ({
18
19
  margin: theme.spacing(5),
19
20
  },
20
21
  }));
21
- function DialogError({ error }) {
22
+ const DialogError = observer(function DialogError({ error, }) {
22
23
  const { classes } = useStyles();
23
24
  return (_jsx("div", { className: classes.errorBox, children: _jsx(ErrorBanner, { error: error }) }));
24
- }
25
- function Dialog(props) {
25
+ });
26
+ const Dialog = observer(function Dialog(props) {
26
27
  const { classes } = useStyles();
27
28
  const { titleNode, header, title, ...rest } = props;
28
29
  const { children, onClose } = rest;
@@ -49,5 +50,5 @@ function Dialog(props) {
49
50
  , { "data-testid": "dialog-close", className: classes.closeButton, onClick: event => {
50
51
  onClose(event, 'closeButtonClick');
51
52
  }, children: _jsx(CloseIcon, {}) })) : null] })), _jsx(Divider, {}), _jsx(ErrorBoundary, { FallbackComponent: DialogError, children: _jsx(ThemeProvider, { theme: dialogTheme, children: children }) })] }) }));
52
- }
53
+ });
53
54
  export default Dialog;
@@ -15,10 +15,10 @@ const useStyles = makeStyles()(theme => ({
15
15
  },
16
16
  },
17
17
  }));
18
- function ButtonComponent(props) {
18
+ const ButtonComponent = observer(function ButtonComponent(props) {
19
19
  const { classes } = useStyles();
20
20
  return (_jsx(Button, { ...props, className: classes.buttonRoot, children: props.children }));
21
- }
21
+ });
22
22
  const DropDownMenu = observer(function DropDownMenu({ menuTitle, menuItems, onMenuItemClick, }) {
23
23
  return (_jsxs(CascadingMenuButton, { menuItems: menuItems, onMenuItemClick: onMenuItemClick, color: "inherit", ButtonComponent: ButtonComponent, children: [menuTitle, _jsx(ArrowDropDown, {})] }));
24
24
  });
@@ -9,5 +9,5 @@ interface Props {
9
9
  classes?: Partial<Record<EditableTypographyClassKey, string>>;
10
10
  ref?: Ref<HTMLDivElement>;
11
11
  }
12
- declare function EditableTypography(props: Props): import("react").JSX.Element;
12
+ declare const EditableTypography: (props: Props) => import("react").JSX.Element;
13
13
  export default EditableTypography;
@@ -4,6 +4,7 @@ import { useRef, useState } from 'react';
4
4
  // that exact string. See the note in `util/hooks.ts`.
5
5
  import useMeasure from '@jbrowse/core/util/useMeasure';
6
6
  import { InputBase, Typography, useTheme } from '@mui/material';
7
+ import { observer } from 'mobx-react';
7
8
  import { makeStyles } from '../util/tss-react/index.js';
8
9
  const useStyles = makeStyles()(theme => ({
9
10
  typography: {
@@ -21,7 +22,7 @@ const useStyles = makeStyles()(theme => ({
21
22
  borderWidth: 2,
22
23
  },
23
24
  }));
24
- function EditableTypography(props) {
25
+ const EditableTypography = observer(function EditableTypography(props) {
25
26
  const { value, setValue, variant, ref, classes: overrides, ...other } = props;
26
27
  const [ref2, { width }] = useMeasure('width');
27
28
  const [editedValue, setEditedValue] = useState();
@@ -64,5 +65,5 @@ function EditableTypography(props) {
64
65
  }
65
66
  setEditedValue(undefined);
66
67
  } })] }));
67
- }
68
+ });
68
69
  export default EditableTypography;
@@ -11,7 +11,7 @@ import type { ReactNode } from 'react';
11
11
  * the environment block and the prefilled issue link — the whole of what that
12
12
  * dialog is for — from anyone whose failure arrived as a string.
13
13
  */
14
- export default function ErrorActions({ error, onRetry, extraAction, color, }: {
14
+ declare const ErrorActions: ({ error, onRetry, extraAction, color, }: {
15
15
  error: unknown;
16
16
  /** omitted by a presentation with nothing to retry */
17
17
  onRetry?: () => void;
@@ -21,4 +21,5 @@ export default function ErrorActions({ error, onRetry, extraAction, color, }: {
21
21
  */
22
22
  extraAction?: ReactNode;
23
23
  color?: IconButtonProps['color'];
24
- }): import("react").JSX.Element;
24
+ }) => import("react").JSX.Element;
25
+ export default ErrorActions;
@@ -1,6 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import RefreshIcon from '@mui/icons-material/Refresh';
3
3
  import { IconButton, Tooltip } from '@mui/material';
4
+ import { observer } from 'mobx-react';
4
5
  import StackTraceButton from './StackTraceButton.js';
5
6
  /**
6
7
  * What both error presentations offer, in one order: the remedy specific to
@@ -13,8 +14,9 @@ import StackTraceButton from './StackTraceButton.js';
13
14
  * the environment block and the prefilled issue link — the whole of what that
14
15
  * dialog is for — from anyone whose failure arrived as a string.
15
16
  */
16
- export default function ErrorActions({ error, onRetry, extraAction, color, }) {
17
+ const ErrorActions = observer(function ErrorActions({ error, onRetry, extraAction, color, }) {
17
18
  return (_jsxs(_Fragment, { children: [extraAction, _jsx(StackTraceButton, { error: error, color: color }), onRetry ? (_jsx(Tooltip, { title: "Retry", children: _jsx(IconButton, { "data-testid": "reload_button", onClick: () => {
18
19
  onRetry();
19
20
  }, color: color, children: _jsx(RefreshIcon, {}) }) })) : null] }));
20
- }
21
+ });
22
+ export default ErrorActions;
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
- declare function ErrorBanner({ error, onReset, extraAction, }: {
2
+ declare const ErrorBanner: ({ error, onReset, extraAction, }: {
3
3
  error: unknown;
4
4
  onReset?: () => void;
5
5
  extraAction?: ReactNode;
6
- }): import("react").JSX.Element;
6
+ }) => import("react").JSX.Element;
7
7
  export default ErrorBanner;
@@ -1,4 +1,5 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { observer } from 'mobx-react';
2
3
  import { makeStyles } from '../util/tss-react/index.js';
3
4
  import ErrorActions from './ErrorActions.js';
4
5
  import RedErrorMessageBox from './RedErrorMessageBox.js';
@@ -22,7 +23,7 @@ const useStyles = makeStyles()(theme => ({
22
23
  marginLeft: 100,
23
24
  },
24
25
  }));
25
- function ErrorBanner({ error, onReset, extraAction, }) {
26
+ const ErrorBanner = observer(function ErrorBanner({ error, onReset, extraAction, }) {
26
27
  const { classes } = useStyles();
27
28
  const errorText = `${error}`;
28
29
  // trim "expected an instance of ..." tail — still generated by MST for
@@ -31,5 +32,5 @@ function ErrorBanner({ error, onReset, extraAction, }) {
31
32
  const displayText = instanceIdx === -1 ? errorText : errorText.slice(0, instanceIdx);
32
33
  const { snapshotValue, message } = parseError(errorText);
33
34
  return (_jsxs(RedErrorMessageBox, { children: [displayText.slice(0, 10000), _jsx("div", { className: classes.iconFloat, children: _jsx(ErrorActions, { error: error, onRetry: onReset, extraAction: extraAction, color: "primary" }) }), snapshotValue !== undefined ? (_jsxs(_Fragment, { children: [_jsx("div", { className: classes.message, children: message }), _jsx("pre", { className: classes.bg, children: JSON.stringify(snapshotValue, null, 2) })] })) : null] }));
34
- }
35
+ });
35
36
  export default ErrorBanner;
@@ -1,6 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
- export default function ErrorBar({ error, onRetry, extraAction, }: {
2
+ declare const ErrorBar: ({ error, onRetry, extraAction, }: {
3
3
  error: unknown;
4
4
  onRetry: () => void;
5
5
  extraAction?: ReactNode;
6
- }): import("react").JSX.Element;
6
+ }) => import("react").JSX.Element;
7
+ export default ErrorBar;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Alert, Tooltip } from '@mui/material';
3
+ import { observer } from 'mobx-react';
3
4
  import { makeStyles } from '../util/tss-react/index.js';
4
5
  import ErrorActions from './ErrorActions.js';
5
6
  const useStyles = makeStyles()({
@@ -12,7 +13,7 @@ const useStyles = makeStyles()({
12
13
  userSelect: 'text',
13
14
  },
14
15
  });
15
- export default function ErrorBar({ error, onRetry, extraAction, }) {
16
+ const ErrorBar = observer(function ErrorBar({ error, onRetry, extraAction, }) {
16
17
  const { classes } = useStyles();
17
18
  const message = `${error}`;
18
19
  return (_jsx("div", { style: {
@@ -32,4 +33,5 @@ export default function ErrorBar({ error, onRetry, extraAction, }) {
32
33
  }, onClick: e => {
33
34
  e.stopPropagation();
34
35
  }, children: _jsx(Alert, { severity: "error", action: _jsx(ErrorActions, { error: error, onRetry: onRetry, extraAction: extraAction }), children: _jsx(Tooltip, { title: message, children: _jsx("div", { className: classes.content, children: message }) }) }) }));
35
- }
36
+ });
37
+ export default ErrorBar;
@@ -1,3 +1,4 @@
1
- export default function ErrorMessage({ error }: {
1
+ declare const ErrorMessage: ({ error, }: {
2
2
  error: unknown;
3
- }): import("react").JSX.Element;
3
+ }) => import("react").JSX.Element;
4
+ export default ErrorMessage;
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import RefreshIcon from '@mui/icons-material/Refresh';
3
3
  import { Button } from '@mui/material';
4
+ import { observer } from 'mobx-react';
4
5
  import RedErrorMessageBox from './RedErrorMessageBox.js';
5
6
  // chunk load failures usually mean a stale asset manifest (e.g. server
6
7
  // redeploy) or a network hiccup; a reload fetches the current chunks
@@ -14,8 +15,9 @@ function isChunkLoadError(error) {
14
15
  message.includes('failed to fetch dynamically imported module') ||
15
16
  message.includes('error loading dynamically imported module'));
16
17
  }
17
- export default function ErrorMessage({ error }) {
18
+ const ErrorMessage = observer(function ErrorMessage({ error, }) {
18
19
  return isChunkLoadError(error) ? (_jsxs(RedErrorMessageBox, { children: [_jsx("div", { children: "Failed to load part of the application, likely due to a server update or network error. Refreshing the page usually fixes it." }), _jsx(Button, { variant: "contained", startIcon: _jsx(RefreshIcon, {}), onClick: () => {
19
20
  window.location.reload();
20
21
  }, style: { margin: 4 }, children: "Refresh page" }), _jsx("div", { children: `${error}` })] })) : (_jsx(RedErrorMessageBox, { children: `${error}` }));
21
- }
22
+ });
23
+ export default ErrorMessage;
@@ -1,4 +1,5 @@
1
- export default function ErrorMessageStackTraceContents({ text, extra, }: {
1
+ declare const ErrorMessageStackTraceContents: ({ text, extra, }: {
2
2
  text: string;
3
3
  extra?: unknown;
4
- }): import("react").JSX.Element;
4
+ }) => import("react").JSX.Element;
5
+ export default ErrorMessageStackTraceContents;
@@ -1,5 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Typography } from '@mui/material';
3
+ import { observer } from 'mobx-react';
3
4
  import { makeStyles } from '../util/tss-react/index.js';
4
5
  import ExternalLink from './ExternalLink.js';
5
6
  import { alpha } from './palette.js';
@@ -13,7 +14,7 @@ const useStyles = makeStyles()(theme => ({
13
14
  maxHeight: 300,
14
15
  },
15
16
  }));
16
- export default function ErrorMessageStackTraceContents({ text, extra, }) {
17
+ const ErrorMessageStackTraceContents = observer(function ErrorMessageStackTraceContents({ text, extra, }) {
17
18
  const { classes } = useStyles();
18
19
  const extraStr = extra
19
20
  ? `supporting data: ${JSON.stringify(extra, null, 2)}`
@@ -23,4 +24,5 @@ export default function ErrorMessageStackTraceContents({ text, extra, }) {
23
24
  const githubLink = `https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${issueBody}`;
24
25
  const emailLink = `mailto:${EMAIL}?subject=JBrowse%202%20error&body=${issueBody}`;
25
26
  return (_jsxs(_Fragment, { children: [_jsxs(Typography, { children: ["Post a new issue at", ' ', _jsx(ExternalLink, { href: githubLink, children: "GitHub" }), " or send an email to ", _jsx(ExternalLink, { href: emailLink, children: EMAIL })] }), _jsx("pre", { className: classes.pre, children: displayText })] }));
26
- }
27
+ });
28
+ export default ErrorMessageStackTraceContents;
@@ -1,5 +1,6 @@
1
- export default function ErrorMessageStackTraceDialog({ error, onClose, extra, }: {
1
+ declare const ErrorMessageStackTraceDialog: ({ error, onClose, extra, }: {
2
2
  onClose: () => void;
3
3
  error: unknown;
4
4
  extra?: unknown;
5
- }): import("react").JSX.Element;
5
+ }) => import("react").JSX.Element;
6
+ export default ErrorMessageStackTraceDialog;
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { effectiveRenderer } from '@jbrowse/render-core/graphicsCapabilities';
3
3
  import { useGraphicsCapabilities } from '@jbrowse/render-core/useGraphicsCapabilities';
4
+ import { observer } from 'mobx-react';
4
5
  import { useFetch } from '../util/useFetch.js';
5
6
  import CopyToClipboardButton from './CopyToClipboardButton.js';
6
7
  import ErrorMessageStackTraceContents from './ErrorMessageStackTraceContents.js';
@@ -9,7 +10,7 @@ import LoadingEllipses from './LoadingEllipses.js';
9
10
  import { formatErrorStack } from './formatErrorStack.js';
10
11
  import { mapStackTrace } from './mapStackTrace.js';
11
12
  const MAX_ERR_LEN = 10_000;
12
- export default function ErrorMessageStackTraceDialog({ error, onClose, extra, }) {
13
+ const ErrorMessageStackTraceDialog = observer(function ErrorMessageStackTraceDialog({ error, onClose, extra, }) {
13
14
  const graphicsCapabilities = useGraphicsCapabilities();
14
15
  const errorText = error ? `${error}` : '';
15
16
  const stackTrace = formatErrorStack(error);
@@ -60,4 +61,5 @@ export default function ErrorMessageStackTraceDialog({ error, onClose, extra, })
60
61
  return (_jsx(InfoDialog, { open: true, onClose: () => {
61
62
  onClose();
62
63
  }, maxWidth: "xl", title: "Stack trace", actions: _jsx(CopyToClipboardButton, { variant: "contained", color: "secondary", value: errorBoxText, copiedLabel: "Copied!", children: "Copy stack trace to clipboard" }), children: isLoading ? (_jsx(LoadingEllipses, { variant: "h6" })) : (_jsx(ErrorMessageStackTraceContents, { text: errorBoxText, extra: extra })) }));
63
- }
64
+ });
65
+ export default ErrorMessageStackTraceDialog;
@@ -1,8 +1,9 @@
1
1
  import type { ReactNode } from 'react';
2
- export default function ErrorOverlay({ error, onRetry, width, height, extraAction, }: {
2
+ declare const ErrorOverlay: ({ error, onRetry, width, height, extraAction, }: {
3
3
  error: unknown;
4
4
  onRetry: () => void;
5
5
  width: number | string;
6
6
  height: number | string;
7
7
  extraAction?: ReactNode;
8
- }): import("react").JSX.Element;
8
+ }) => import("react").JSX.Element;
9
+ export default ErrorOverlay;
@@ -1,5 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { observer } from 'mobx-react';
2
3
  import ErrorBar from './ErrorBar.js';
3
- export default function ErrorOverlay({ error, onRetry, width, height, extraAction, }) {
4
+ const ErrorOverlay = observer(function ErrorOverlay({ error, onRetry, width, height, extraAction, }) {
4
5
  return (_jsx("div", { style: { position: 'relative', width, height }, children: _jsx(ErrorBar, { error: error, onRetry: onRetry, extraAction: extraAction }) }));
5
- }
6
+ });
7
+ export default ErrorOverlay;
@@ -1,7 +1,8 @@
1
1
  import type { BaseExportSvgOptions } from './BaseExportSvgDialog.tsx';
2
- export default function ExportSvgDialog({ model, handleClose, }: {
2
+ declare const ExportSvgDialog: ({ model, handleClose, }: {
3
3
  model: {
4
4
  exportSvg(opts: BaseExportSvgOptions): Promise<unknown>;
5
5
  };
6
6
  handleClose: () => void;
7
- }): import("react").JSX.Element;
7
+ }) => import("react").JSX.Element;
8
+ export default ExportSvgDialog;
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { observer } from 'mobx-react';
2
3
  import BaseExportSvgDialog from './BaseExportSvgDialog.js';
3
4
  // The export dialog for a view whose `exportSvg` takes nothing beyond the
4
5
  // shared options: the dotplot and circular views both lazy-import this. A view
5
6
  // with extra controls wraps `BaseExportSvgDialog` itself and threads them
6
7
  // through `exportSvg` (the LGV family's track labels and gridlines).
7
- export default function ExportSvgDialog({ model, handleClose, }) {
8
+ const ExportSvgDialog = observer(function ExportSvgDialog({ model, handleClose, }) {
8
9
  return (_jsx(BaseExportSvgDialog, { model: model, handleClose: handleClose, exportSvg: opts => model.exportSvg(opts) }));
9
- }
10
+ });
11
+ export default ExportSvgDialog;
@@ -1,2 +1,3 @@
1
1
  import type { LinkProps } from '@mui/material';
2
- export default function ExternalLink(props: LinkProps): import("react").JSX.Element;
2
+ declare const ExternalLink: (props: LinkProps) => import("react").JSX.Element;
3
+ export default ExternalLink;
@@ -1,7 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import OpenInNewIcon from '@mui/icons-material/OpenInNew';
3
3
  import { Link } from '@mui/material';
4
- export default function ExternalLink(props) {
4
+ import { observer } from 'mobx-react';
5
+ const ExternalLink = observer(function ExternalLink(props) {
5
6
  const { children, ...rest } = props;
6
7
  return (_jsxs(Link, { ...rest, target: "_blank", rel: "noopener noreferrer", children: [children, " ", _jsx(OpenInNewIcon, { fontSize: "small" })] }));
7
- }
8
+ });
9
+ export default ExternalLink;
@@ -1,5 +1,6 @@
1
- export default function FactoryResetDialog({ onClose, open, onFactoryReset, }: {
1
+ declare const FactoryResetDialog: ({ onClose, open, onFactoryReset, }: {
2
2
  onClose: () => void;
3
3
  open: boolean;
4
4
  onFactoryReset: () => void;
5
- }): import("react").JSX.Element;
5
+ }) => import("react").JSX.Element;
6
+ export default FactoryResetDialog;
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { DialogContentText } from '@mui/material';
3
+ import { observer } from 'mobx-react';
3
4
  import ConfirmDialog from './ConfirmDialog.js';
4
- export default function FactoryResetDialog({ onClose, open, onFactoryReset, }) {
5
+ const FactoryResetDialog = observer(function FactoryResetDialog({ onClose, open, onFactoryReset, }) {
5
6
  return (_jsx(ConfirmDialog, { open: open, title: "Reset", submitText: "Reset", onCancel: onClose, onSubmit: () => {
6
7
  onFactoryReset();
7
8
  onClose();
8
9
  }, children: _jsx(DialogContentText, { children: "Are you sure you want to reset? This will restore the default configuration." }) }));
9
- }
10
+ });
11
+ export default FactoryResetDialog;