@jbrowse/plugin-data-management 3.7.0 → 4.0.1

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 (300) hide show
  1. package/esm/AddConnectionWidget/components/AddConnectionWidget.d.ts +1 -1
  2. package/esm/AddConnectionWidget/components/AddConnectionWidget.js +5 -5
  3. package/esm/AddConnectionWidget/components/ConfigureConnection.js +1 -1
  4. package/esm/AddConnectionWidget/index.js +2 -2
  5. package/esm/AddConnectionWidget/model.d.ts +4 -4
  6. package/esm/AddConnectionWidget/model.js +1 -1
  7. package/esm/AddTrackWidget/components/AddTrackStatusMessage.js +2 -2
  8. package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +1 -1
  9. package/esm/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +2 -2
  10. package/esm/AddTrackWidget/components/AddTrackWidget.d.ts +1 -1
  11. package/esm/AddTrackWidget/components/AddTrackWidget.js +3 -3
  12. package/esm/AddTrackWidget/components/ConfirmTrack.d.ts +1 -1
  13. package/esm/AddTrackWidget/components/ConfirmTrack.js +10 -10
  14. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +1 -1
  15. package/esm/AddTrackWidget/components/DefaultAddTrackWorkflow.js +6 -9
  16. package/esm/AddTrackWidget/components/PasteConfigWorkflow.d.ts +2 -2
  17. package/esm/AddTrackWidget/components/PasteConfigWorkflow.js +2 -2
  18. package/esm/AddTrackWidget/components/TextIndexingConfig.d.ts +1 -1
  19. package/esm/AddTrackWidget/components/TextIndexingConfig.js +2 -2
  20. package/esm/AddTrackWidget/components/TrackAdapterSelector.d.ts +2 -2
  21. package/esm/AddTrackWidget/components/TrackAdapterSelector.js +4 -4
  22. package/esm/AddTrackWidget/components/TrackSourceSelect.d.ts +1 -1
  23. package/esm/AddTrackWidget/components/TrackSourceSelect.js +3 -3
  24. package/esm/AddTrackWidget/components/TrackTypeSelector.d.ts +1 -1
  25. package/esm/AddTrackWidget/components/TrackTypeSelector.js +1 -1
  26. package/esm/AddTrackWidget/components/Unsupported.js +1 -1
  27. package/esm/AddTrackWidget/components/doSubmit.d.ts +1 -1
  28. package/esm/AddTrackWidget/components/doSubmit.js +2 -3
  29. package/esm/AddTrackWidget/components/util.js +1 -2
  30. package/esm/AddTrackWidget/index.js +2 -2
  31. package/esm/AddTrackWidget/model.d.ts +8 -11
  32. package/esm/AddTrackWidget/model.js +10 -25
  33. package/esm/AssemblyManager/AssemblyAddForm.js +6 -6
  34. package/esm/AssemblyManager/AssemblyEditor.js +2 -2
  35. package/esm/AssemblyManager/AssemblyManager.js +4 -4
  36. package/esm/AssemblyManager/AssemblyTable.js +1 -1
  37. package/esm/AssemblyManager/index.d.ts +1 -1
  38. package/esm/AssemblyManager/index.js +1 -1
  39. package/esm/HierarchicalTrackSelectorWidget/components/AutoSizer.d.ts +8 -0
  40. package/esm/HierarchicalTrackSelectorWidget/components/AutoSizer.js +24 -0
  41. package/esm/HierarchicalTrackSelectorWidget/components/ClearableSearchField.d.ts +6 -0
  42. package/esm/HierarchicalTrackSelectorWidget/components/ClearableSearchField.js +27 -0
  43. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +1 -1
  44. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +2 -2
  45. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +1 -1
  46. package/esm/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +9 -9
  47. package/esm/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +4 -5
  48. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +1 -1
  49. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +1 -2
  50. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +3 -3
  51. package/esm/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +4 -5
  52. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +1 -1
  53. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +2 -2
  54. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +2 -2
  55. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +5 -6
  56. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +1 -1
  57. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +39 -58
  58. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +1 -1
  59. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +2 -2
  60. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +1 -1
  61. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +6 -12
  62. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +1 -1
  63. package/esm/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +7 -7
  64. package/esm/HierarchicalTrackSelectorWidget/components/faceted/computeInitialWidths.d.ts +6 -0
  65. package/esm/HierarchicalTrackSelectorWidget/components/faceted/computeInitialWidths.js +18 -0
  66. package/esm/HierarchicalTrackSelectorWidget/components/faceted/util.js +1 -2
  67. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +1 -1
  68. package/esm/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +3 -3
  69. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +1 -1
  70. package/esm/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +13 -32
  71. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +1 -1
  72. package/esm/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +7 -8
  73. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +1 -1
  74. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +11 -22
  75. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +2 -4
  76. package/esm/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +42 -59
  77. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +1 -1
  78. package/esm/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +13 -29
  79. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +7 -6
  80. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +86 -92
  81. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +8 -4
  82. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +28 -15
  83. package/{dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts → esm/HierarchicalTrackSelectorWidget/components/tree/TrackSelectorTrackMenu.d.ts} +3 -4
  84. package/esm/HierarchicalTrackSelectorWidget/components/tree/{TrackLabelMenu.js → TrackSelectorTrackMenu.js} +13 -7
  85. package/esm/HierarchicalTrackSelectorWidget/components/tree/TreeItem.d.ts +9 -0
  86. package/esm/HierarchicalTrackSelectorWidget/components/tree/TreeItem.js +49 -0
  87. package/esm/HierarchicalTrackSelectorWidget/components/tree/trackListStyles.d.ts +21 -0
  88. package/esm/HierarchicalTrackSelectorWidget/components/tree/trackListStyles.js +29 -0
  89. package/esm/HierarchicalTrackSelectorWidget/components/util.d.ts +1 -20
  90. package/esm/HierarchicalTrackSelectorWidget/components/util.js +1 -10
  91. package/esm/HierarchicalTrackSelectorWidget/configSchema.d.ts +1 -1
  92. package/esm/HierarchicalTrackSelectorWidget/facetedModel.d.ts +24 -30
  93. package/esm/HierarchicalTrackSelectorWidget/facetedModel.js +34 -23
  94. package/esm/HierarchicalTrackSelectorWidget/facetedUtil.js +2 -2
  95. package/esm/HierarchicalTrackSelectorWidget/filterTracks.d.ts +3 -7
  96. package/esm/HierarchicalTrackSelectorWidget/filterTracks.js +13 -11
  97. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +2 -28
  98. package/esm/HierarchicalTrackSelectorWidget/generateHierarchy.js +34 -59
  99. package/esm/HierarchicalTrackSelectorWidget/index.d.ts +2 -2
  100. package/esm/HierarchicalTrackSelectorWidget/index.js +5 -5
  101. package/esm/HierarchicalTrackSelectorWidget/model.d.ts +67 -87
  102. package/esm/HierarchicalTrackSelectorWidget/model.js +90 -23
  103. package/esm/HierarchicalTrackSelectorWidget/sortUtils.d.ts +2 -0
  104. package/esm/HierarchicalTrackSelectorWidget/sortUtils.js +28 -0
  105. package/esm/HierarchicalTrackSelectorWidget/types.d.ts +23 -0
  106. package/esm/HierarchicalTrackSelectorWidget/types.js +1 -0
  107. package/esm/HierarchicalTrackSelectorWidget/util.js +1 -1
  108. package/esm/JB2TrackHubConnection/configSchema.d.ts +3 -3
  109. package/esm/JB2TrackHubConnection/doConnect.js +3 -4
  110. package/esm/JB2TrackHubConnection/index.js +2 -2
  111. package/esm/JB2TrackHubConnection/model.d.ts +18 -26
  112. package/esm/JB2TrackHubConnection/model.js +3 -3
  113. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +1 -1
  114. package/esm/PluginStoreWidget/components/AddCustomPluginDialog.js +3 -3
  115. package/esm/PluginStoreWidget/components/InstalledPlugin.d.ts +1 -1
  116. package/esm/PluginStoreWidget/components/InstalledPlugin.js +5 -5
  117. package/esm/PluginStoreWidget/components/InstalledPluginsList.d.ts +1 -1
  118. package/esm/PluginStoreWidget/components/InstalledPluginsList.js +2 -2
  119. package/esm/PluginStoreWidget/components/PluginCard.d.ts +1 -1
  120. package/esm/PluginStoreWidget/components/PluginCard.js +1 -5
  121. package/esm/PluginStoreWidget/components/PluginStoreWidget.d.ts +1 -1
  122. package/esm/PluginStoreWidget/components/PluginStoreWidget.js +22 -10
  123. package/esm/PluginStoreWidget/components/util.js +1 -1
  124. package/esm/PluginStoreWidget/index.js +2 -2
  125. package/esm/PluginStoreWidget/model.d.ts +7 -7
  126. package/esm/PluginStoreWidget/model.js +1 -1
  127. package/esm/UCSCTrackHubConnection/configSchema.d.ts +3 -3
  128. package/esm/UCSCTrackHubConnection/doConnect.js +3 -9
  129. package/esm/UCSCTrackHubConnection/index.js +2 -2
  130. package/esm/UCSCTrackHubConnection/model.d.ts +18 -26
  131. package/esm/UCSCTrackHubConnection/model.js +3 -3
  132. package/esm/UCSCTrackHubConnection/ucscTrackHub.d.ts +1 -8
  133. package/esm/UCSCTrackHubConnection/ucscTrackHub.js +6 -10
  134. package/esm/index.d.ts +2 -2
  135. package/esm/index.js +11 -14
  136. package/package.json +28 -37
  137. package/dist/AddConnectionWidget/components/AddConnectionWidget.d.ts +0 -4
  138. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +0 -66
  139. package/dist/AddConnectionWidget/components/ConfigureConnection.d.ts +0 -9
  140. package/dist/AddConnectionWidget/components/ConfigureConnection.js +0 -12
  141. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.d.ts +0 -7
  142. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +0 -19
  143. package/dist/AddConnectionWidget/index.d.ts +0 -2
  144. package/dist/AddConnectionWidget/index.js +0 -55
  145. package/dist/AddConnectionWidget/model.d.ts +0 -5
  146. package/dist/AddConnectionWidget/model.js +0 -8
  147. package/dist/AddTrackWidget/components/AddTrackStatusMessage.d.ts +0 -9
  148. package/dist/AddTrackWidget/components/AddTrackStatusMessage.js +0 -16
  149. package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.d.ts +0 -4
  150. package/dist/AddTrackWidget/components/AddTrackUnknownAdapterPrompt.js +0 -20
  151. package/dist/AddTrackWidget/components/AddTrackWidget.d.ts +0 -5
  152. package/dist/AddTrackWidget/components/AddTrackWidget.js +0 -28
  153. package/dist/AddTrackWidget/components/ConfirmTrack.d.ts +0 -5
  154. package/dist/AddTrackWidget/components/ConfirmTrack.js +0 -73
  155. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.d.ts +0 -5
  156. package/dist/AddTrackWidget/components/DefaultAddTrackWorkflow.js +0 -74
  157. package/dist/AddTrackWidget/components/PasteConfigWorkflow.d.ts +0 -5
  158. package/dist/AddTrackWidget/components/PasteConfigWorkflow.js +0 -53
  159. package/dist/AddTrackWidget/components/TextIndexingConfig.d.ts +0 -5
  160. package/dist/AddTrackWidget/components/TextIndexingConfig.js +0 -76
  161. package/dist/AddTrackWidget/components/TrackAdapterSelector.d.ts +0 -5
  162. package/dist/AddTrackWidget/components/TrackAdapterSelector.js +0 -26
  163. package/dist/AddTrackWidget/components/TrackSourceSelect.d.ts +0 -5
  164. package/dist/AddTrackWidget/components/TrackSourceSelect.js +0 -22
  165. package/dist/AddTrackWidget/components/TrackTypeSelector.d.ts +0 -5
  166. package/dist/AddTrackWidget/components/TrackTypeSelector.js +0 -21
  167. package/dist/AddTrackWidget/components/Unsupported.d.ts +0 -1
  168. package/dist/AddTrackWidget/components/Unsupported.js +0 -16
  169. package/dist/AddTrackWidget/components/doSubmit.d.ts +0 -4
  170. package/dist/AddTrackWidget/components/doSubmit.js +0 -55
  171. package/dist/AddTrackWidget/components/util.d.ts +0 -2
  172. package/dist/AddTrackWidget/components/util.js +0 -15
  173. package/dist/AddTrackWidget/index.d.ts +0 -2
  174. package/dist/AddTrackWidget/index.js +0 -55
  175. package/dist/AddTrackWidget/model.d.ts +0 -64
  176. package/dist/AddTrackWidget/model.js +0 -190
  177. package/dist/AssemblyManager/AssemblyAddForm.d.ts +0 -6
  178. package/dist/AssemblyManager/AssemblyAddForm.js +0 -94
  179. package/dist/AssemblyManager/AssemblyEditor.d.ts +0 -6
  180. package/dist/AssemblyManager/AssemblyEditor.js +0 -20
  181. package/dist/AssemblyManager/AssemblyManager.d.ts +0 -6
  182. package/dist/AssemblyManager/AssemblyManager.js +0 -30
  183. package/dist/AssemblyManager/AssemblyTable.d.ts +0 -9
  184. package/dist/AssemblyManager/AssemblyTable.js +0 -53
  185. package/dist/AssemblyManager/index.d.ts +0 -1
  186. package/dist/AssemblyManager/index.js +0 -8
  187. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.d.ts +0 -5
  188. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalFab.js +0 -47
  189. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.d.ts +0 -10
  190. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +0 -26
  191. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.d.ts +0 -8
  192. package/dist/HierarchicalTrackSelectorWidget/components/ShoppingCart.js +0 -52
  193. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.d.ts +0 -9
  194. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/CloseConnectionDialog.js +0 -16
  195. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.d.ts +0 -11
  196. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/DeleteConnectionDialog.js +0 -17
  197. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.d.ts +0 -8
  198. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ManageConnectionsDialog.js +0 -34
  199. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.d.ts +0 -8
  200. package/dist/HierarchicalTrackSelectorWidget/components/dialogs/ToggleConnectionsDialog.js +0 -47
  201. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.d.ts +0 -9
  202. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilter.js +0 -52
  203. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.d.ts +0 -10
  204. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetFilters.js +0 -51
  205. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.d.ts +0 -9
  206. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDataGrid.js +0 -75
  207. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.d.ts +0 -6
  208. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedDialog.js +0 -15
  209. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.d.ts +0 -4
  210. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedHeader.js +0 -67
  211. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.d.ts +0 -11
  212. package/dist/HierarchicalTrackSelectorWidget/components/faceted/FacetedSelector.js +0 -75
  213. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.d.ts +0 -6
  214. package/dist/HierarchicalTrackSelectorWidget/components/faceted/util.js +0 -9
  215. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.d.ts +0 -11
  216. package/dist/HierarchicalTrackSelectorWidget/components/tree/DropdownTrackSelector.js +0 -34
  217. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.d.ts +0 -5
  218. package/dist/HierarchicalTrackSelectorWidget/components/tree/FavoriteTracks.js +0 -45
  219. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.d.ts +0 -5
  220. package/dist/HierarchicalTrackSelectorWidget/components/tree/HamburgerMenu.js +0 -196
  221. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.d.ts +0 -6
  222. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalHeader.js +0 -38
  223. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.d.ts +0 -8
  224. package/dist/HierarchicalTrackSelectorWidget/components/tree/HierarchicalTree.js +0 -68
  225. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.d.ts +0 -5
  226. package/dist/HierarchicalTrackSelectorWidget/components/tree/RecentlyUsedTracks.js +0 -42
  227. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.d.ts +0 -6
  228. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackCategory.js +0 -117
  229. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.d.ts +0 -10
  230. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabel.js +0 -49
  231. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.js +0 -56
  232. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +0 -9
  233. package/dist/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -42
  234. package/dist/HierarchicalTrackSelectorWidget/components/util.d.ts +0 -23
  235. package/dist/HierarchicalTrackSelectorWidget/components/util.js +0 -22
  236. package/dist/HierarchicalTrackSelectorWidget/configSchema.d.ts +0 -2
  237. package/dist/HierarchicalTrackSelectorWidget/configSchema.js +0 -5
  238. package/dist/HierarchicalTrackSelectorWidget/facetedModel.d.ts +0 -82
  239. package/dist/HierarchicalTrackSelectorWidget/facetedModel.js +0 -114
  240. package/dist/HierarchicalTrackSelectorWidget/facetedUtil.d.ts +0 -2
  241. package/dist/HierarchicalTrackSelectorWidget/facetedUtil.js +0 -12
  242. package/dist/HierarchicalTrackSelectorWidget/filterTracks.d.ts +0 -18
  243. package/dist/HierarchicalTrackSelectorWidget/filterTracks.js +0 -31
  244. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.d.ts +0 -36
  245. package/dist/HierarchicalTrackSelectorWidget/generateHierarchy.js +0 -90
  246. package/dist/HierarchicalTrackSelectorWidget/index.d.ts +0 -4
  247. package/dist/HierarchicalTrackSelectorWidget/index.js +0 -59
  248. package/dist/HierarchicalTrackSelectorWidget/model.d.ts +0 -244
  249. package/dist/HierarchicalTrackSelectorWidget/model.js +0 -339
  250. package/dist/HierarchicalTrackSelectorWidget/util.d.ts +0 -12
  251. package/dist/HierarchicalTrackSelectorWidget/util.js +0 -50
  252. package/dist/JB2TrackHubConnection/addRelativeUris.d.ts +0 -1
  253. package/dist/JB2TrackHubConnection/addRelativeUris.js +0 -15
  254. package/dist/JB2TrackHubConnection/configSchema.d.ts +0 -27
  255. package/dist/JB2TrackHubConnection/configSchema.js +0 -34
  256. package/dist/JB2TrackHubConnection/doConnect.d.ts +0 -5
  257. package/dist/JB2TrackHubConnection/doConnect.js +0 -34
  258. package/dist/JB2TrackHubConnection/index.d.ts +0 -2
  259. package/dist/JB2TrackHubConnection/index.js +0 -21
  260. package/dist/JB2TrackHubConnection/model.d.ts +0 -75
  261. package/dist/JB2TrackHubConnection/model.js +0 -56
  262. package/dist/JB2TrackHubConnection/util.d.ts +0 -22
  263. package/dist/JB2TrackHubConnection/util.js +0 -41
  264. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.d.ts +0 -6
  265. package/dist/PluginStoreWidget/components/AddCustomPluginDialog.js +0 -65
  266. package/dist/PluginStoreWidget/components/DeletePluginDialog.d.ts +0 -4
  267. package/dist/PluginStoreWidget/components/DeletePluginDialog.js +0 -17
  268. package/dist/PluginStoreWidget/components/InstalledPlugin.d.ts +0 -7
  269. package/dist/PluginStoreWidget/components/InstalledPlugin.js +0 -92
  270. package/dist/PluginStoreWidget/components/InstalledPluginsList.d.ts +0 -7
  271. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +0 -18
  272. package/dist/PluginStoreWidget/components/PluginCard.d.ts +0 -7
  273. package/dist/PluginStoreWidget/components/PluginCard.js +0 -58
  274. package/dist/PluginStoreWidget/components/PluginStoreWidget.d.ts +0 -5
  275. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +0 -104
  276. package/dist/PluginStoreWidget/components/util.d.ts +0 -6
  277. package/dist/PluginStoreWidget/components/util.js +0 -35
  278. package/dist/PluginStoreWidget/index.d.ts +0 -2
  279. package/dist/PluginStoreWidget/index.js +0 -55
  280. package/dist/PluginStoreWidget/model.d.ts +0 -13
  281. package/dist/PluginStoreWidget/model.js +0 -22
  282. package/dist/UCSCTrackHubConnection/configSchema.d.ts +0 -27
  283. package/dist/UCSCTrackHubConnection/configSchema.js +0 -34
  284. package/dist/UCSCTrackHubConnection/doConnect.d.ts +0 -5
  285. package/dist/UCSCTrackHubConnection/doConnect.js +0 -152
  286. package/dist/UCSCTrackHubConnection/index.d.ts +0 -2
  287. package/dist/UCSCTrackHubConnection/index.js +0 -21
  288. package/dist/UCSCTrackHubConnection/model.d.ts +0 -75
  289. package/dist/UCSCTrackHubConnection/model.js +0 -56
  290. package/dist/UCSCTrackHubConnection/ucscAssemblies.d.ts +0 -2
  291. package/dist/UCSCTrackHubConnection/ucscAssemblies.js +0 -199
  292. package/dist/UCSCTrackHubConnection/ucscTrackHub.d.ts +0 -182
  293. package/dist/UCSCTrackHubConnection/ucscTrackHub.js +0 -162
  294. package/dist/UCSCTrackHubConnection/util.d.ts +0 -22
  295. package/dist/UCSCTrackHubConnection/util.js +0 -41
  296. package/dist/index.d.ts +0 -20
  297. package/dist/index.js +0 -68
  298. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackLabelMenu.d.ts +0 -11
  299. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.d.ts +0 -9
  300. package/esm/HierarchicalTrackSelectorWidget/components/tree/TrackListNode.js +0 -36
@@ -3,21 +3,21 @@ import { useState } from 'react';
3
3
  import { FileSelector } from '@jbrowse/core/ui';
4
4
  import { Alert, Button, DialogActions, DialogContent, MenuItem, TextField, } from '@mui/material';
5
5
  import { observer } from 'mobx-react';
6
- const AdapterSelector = observer(function ({ adapterSelection, setAdapterSelection, adapterTypes, }) {
6
+ const AdapterSelector = observer(function AdapterSelector({ adapterSelection, setAdapterSelection, adapterTypes, }) {
7
7
  return (_jsx(TextField, { value: adapterSelection, variant: "outlined", select: true, helperText: "Type of adapter to use", fullWidth: true, onChange: event => {
8
8
  setAdapterSelection(event.target.value);
9
9
  }, children: adapterTypes.map(str => (_jsx(MenuItem, { value: str, children: str }, str))) }));
10
10
  });
11
- const UnindexedFastaAdapterInput = observer(function ({ fastaLocation, setFastaLocation, }) {
11
+ const UnindexedFastaAdapterInput = observer(function UnindexedFastaAdapterInput({ fastaLocation, setFastaLocation, }) {
12
12
  return (_jsxs(_Fragment, { children: [_jsx(Alert, { severity: "warning", style: { margin: 8 }, children: "Note: a FASTA index will be generated on submit, might take a couple minutes and if the file is remote, it will be downloaded in full" }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file", location: fastaLocation, setLocation: setFastaLocation }) })] }));
13
13
  });
14
- const IndexedFastaAdapterInput = observer(function ({ fastaLocation, faiLocation, setFaiLocation, setFastaLocation, }) {
14
+ const IndexedFastaAdapterInput = observer(function IndexedFastaAdapterInput({ fastaLocation, faiLocation, setFaiLocation, setFastaLocation, }) {
15
15
  return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file", location: fastaLocation, setLocation: setFastaLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA index (.fai) file", location: faiLocation, setLocation: setFaiLocation }) })] }));
16
16
  });
17
- const BgzipFastaAdapterInput = observer(function ({ fastaLocation, faiLocation, gziLocation, setFaiLocation, setGziLocation, setFastaLocation, }) {
17
+ const BgzipFastaAdapterInput = observer(function BgzipFastaAdapterInput({ fastaLocation, faiLocation, gziLocation, setFaiLocation, setGziLocation, setFastaLocation, }) {
18
18
  return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA file (.fa.gz)", location: fastaLocation, setLocation: setFastaLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA index (.fai) file", location: faiLocation, setLocation: setFaiLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: "FASTA gzip index (.gzi) file", location: gziLocation, setLocation: setGziLocation }) })] }));
19
19
  });
20
- const TwoBitAdapterInput = observer(function ({ twoBitLocation, chromSizesLocation, setTwoBitLocation, setChromSizesLocation, }) {
20
+ const TwoBitAdapterInput = observer(function TwoBitAdapterInput({ twoBitLocation, chromSizesLocation, setTwoBitLocation, setChromSizesLocation, }) {
21
21
  return (_jsxs(_Fragment, { children: [_jsx("div", { children: _jsx(FileSelector, { inline: true, name: "2bit file", location: twoBitLocation, setLocation: setTwoBitLocation }) }), _jsx("div", { children: _jsx(FileSelector, { inline: true, name: ".chrom.sizes (optional, can speed up loading 2bit files with many contigs)", location: chromSizesLocation, setLocation: setChromSizesLocation }) })] }));
22
22
  });
23
23
  const blank = { uri: '' };
@@ -27,7 +27,7 @@ const adapterTypes = [
27
27
  'UnindexedFastaAdapter',
28
28
  'TwoBitAdapter',
29
29
  ];
30
- const AssemblyAddForm = observer(function ({ session, onClose, }) {
30
+ const AssemblyAddForm = observer(function AssemblyAddForm({ session, onClose, }) {
31
31
  const [assemblyName, setAssemblyName] = useState('');
32
32
  const [assemblyDisplayName, setAssemblyDisplayName] = useState('');
33
33
  const [adapterSelection, setAdapterSelection] = useState(adapterTypes[0]);
@@ -1,15 +1,15 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
2
3
  import { ConfigurationEditor } from '@jbrowse/plugin-config';
3
4
  import { Button, DialogActions, DialogContent } from '@mui/material';
4
5
  import { observer } from 'mobx-react';
5
- import { makeStyles } from 'tss-react/mui';
6
6
  const useStyles = makeStyles()({
7
7
  container: {
8
8
  overflow: 'auto',
9
9
  maxHeight: 600,
10
10
  },
11
11
  });
12
- const AssemblyEditor = observer(function ({ assembly, onClose, }) {
12
+ const AssemblyEditor = observer(function AssemblyEditor({ assembly, onClose, }) {
13
13
  const { classes } = useStyles();
14
14
  return (_jsxs(_Fragment, { children: [_jsx(DialogContent, { children: _jsx("div", { className: classes.container, children: assembly ? (_jsx(ConfigurationEditor, { model: { target: assembly } })) : (_jsx("div", { children: "No assembly" })) }) }), _jsx(DialogActions, { children: _jsx(Button, { variant: "contained", onClick: () => {
15
15
  onClose();
@@ -2,10 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { Dialog } from '@jbrowse/core/ui';
4
4
  import { observer } from 'mobx-react';
5
- import AssemblyAddForm from './AssemblyAddForm';
6
- import AssemblyEditor from './AssemblyEditor';
7
- import AssemblyTable from './AssemblyTable';
8
- const AssemblyManager = observer(function ({ session, onClose, }) {
5
+ import AssemblyAddForm from "./AssemblyAddForm.js";
6
+ import AssemblyEditor from "./AssemblyEditor.js";
7
+ import AssemblyTable from "./AssemblyTable.js";
8
+ const AssemblyManager = observer(function AssemblyManager({ session, onClose, }) {
9
9
  const [isFormOpen, setFormOpen] = useState(false);
10
10
  const [editingAssembly, setEditingAssembly] = useState();
11
11
  return (_jsx(Dialog, { open: true, title: "Assembly manager", onClose: () => {
@@ -7,7 +7,7 @@ import DeleteIcon from '@mui/icons-material/Delete';
7
7
  import { Button, DialogActions, DialogContent, IconButton } from '@mui/material';
8
8
  import { DataGrid } from '@mui/x-data-grid';
9
9
  import { observer } from 'mobx-react';
10
- const AssemblyTable = observer(function ({ onEditAssembly, onAddAssembly, onClose, session, }) {
10
+ const AssemblyTable = observer(function AssemblyTable({ onEditAssembly, onAddAssembly, onClose, session, }) {
11
11
  return (_jsxs(_Fragment, { children: [_jsx(DialogContent, { children: _jsx(DataGridFlexContainer, { children: _jsx(DataGrid, { rowHeight: 25, columnHeaderHeight: 35, hideFooter: session.assemblies.length < 25, rows: session.assemblies.map(assembly => ({
12
12
  id: readConfObject(assembly, 'name'),
13
13
  name: readConfObject(assembly, 'name'),
@@ -1 +1 @@
1
- export { default } from './AssemblyManager';
1
+ export { default } from './AssemblyManager.tsx';
@@ -1 +1 @@
1
- export { default } from './AssemblyManager';
1
+ export { default } from "./AssemblyManager.js";
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from 'react';
2
+ export default function AutoSizer({ children, disableWidth, }: {
3
+ children: (size: {
4
+ height: number;
5
+ width: number;
6
+ }) => ReactNode;
7
+ disableWidth?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ export default function AutoSizer({ children, disableWidth, }) {
4
+ const ref = useRef(null);
5
+ const [height, setHeight] = useState(0);
6
+ useEffect(() => {
7
+ const parent = ref.current?.parentElement;
8
+ if (!parent) {
9
+ return;
10
+ }
11
+ const observer = new ResizeObserver(() => {
12
+ const style = window.getComputedStyle(parent);
13
+ const rect = parent.getBoundingClientRect();
14
+ setHeight(rect.height -
15
+ parseFloat(style.paddingTop) -
16
+ parseFloat(style.paddingBottom));
17
+ });
18
+ observer.observe(parent);
19
+ return () => {
20
+ observer.disconnect();
21
+ };
22
+ }, []);
23
+ return (_jsx("div", { ref: ref, style: { height: disableWidth ? 0 : undefined, overflow: 'visible' }, children: height > 0 ? children({ height, width: 0 }) : null }));
24
+ }
@@ -0,0 +1,6 @@
1
+ export default function ClearableSearchField({ value, onChange, label, className, }: {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ label: string;
5
+ className?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState, useTransition } from 'react';
3
+ import ClearIcon from '@mui/icons-material/Clear';
4
+ import { IconButton, InputAdornment, TextField } from '@mui/material';
5
+ export default function ClearableSearchField({ value, onChange, label, className, }) {
6
+ const [localValue, setLocalValue] = useState(value);
7
+ const [, startTransition] = useTransition();
8
+ useEffect(() => {
9
+ if (value === '') {
10
+ setLocalValue('');
11
+ }
12
+ }, [value]);
13
+ return (_jsx(TextField, { className: className, label: label, value: localValue, onChange: event => {
14
+ const newValue = event.target.value;
15
+ setLocalValue(newValue);
16
+ startTransition(() => {
17
+ onChange(newValue);
18
+ });
19
+ }, fullWidth: true, slotProps: {
20
+ input: {
21
+ endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
22
+ setLocalValue('');
23
+ onChange('');
24
+ }, children: _jsx(ClearIcon, {}) }) })),
25
+ },
26
+ } }));
27
+ }
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../model.ts';
2
2
  declare const HierarchicalFab: ({ model, }: {
3
3
  model: HierarchicalTrackSelectorModel;
4
4
  }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { getSession, isSessionModelWithConnections, isSessionModelWithWidgets, isSessionWithAddTracks, } from '@jbrowse/core/util';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import AddIcon from '@mui/icons-material/Add';
5
6
  import { Fab, Menu, MenuItem } from '@mui/material';
6
7
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  fab: {
10
10
  position: 'absolute',
@@ -12,7 +12,7 @@ const useStyles = makeStyles()(theme => ({
12
12
  right: theme.spacing(6),
13
13
  },
14
14
  }));
15
- const HierarchicalFab = observer(function ({ model, }) {
15
+ const HierarchicalFab = observer(function HierarchicalFab({ model, }) {
16
16
  const { classes } = useStyles();
17
17
  const session = getSession(model);
18
18
  const [anchorEl, setAnchorEl] = useState(null);
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../model.ts';
2
2
  declare const HierarchicalTrackSelectorContainer: ({ model, toolbarHeight, overrideDimensions, }: {
3
3
  model: HierarchicalTrackSelectorModel;
4
4
  toolbarHeight: number;
@@ -1,21 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { observer } from 'mobx-react';
4
- import AutoSizer from 'react-virtualized-auto-sizer';
5
- import HierarchicalFab from './HierarchicalFab';
6
- import HierarchicalHeader from './tree/HierarchicalHeader';
7
- import HierarchicalTree from './tree/HierarchicalTree';
8
- const AutoSizedHierarchicalTree = ({ tree, model, offset, }) => {
9
- return typeof jest === 'undefined' ? (_jsx(AutoSizer, { disableWidth: true, children: args => (_jsx(HierarchicalTree, { height: (args.height || offset) - offset, model: model, tree: tree })) })) : (_jsx(HierarchicalTree, { height: 9000, model: model, tree: tree }));
4
+ import AutoSizer from "./AutoSizer.js";
5
+ import HierarchicalFab from "./HierarchicalFab.js";
6
+ import HierarchicalHeader from "./tree/HierarchicalHeader.js";
7
+ import HierarchicalTree from "./tree/HierarchicalTree.js";
8
+ const AutoSizedHierarchicalTree = ({ model, offset, }) => {
9
+ return typeof jest === 'undefined' ? (_jsx(AutoSizer, { disableWidth: true, children: args => (_jsx(HierarchicalTree, { height: (args.height || offset) - offset, model: model })) })) : (_jsx(HierarchicalTree, { height: 9000, model: model }));
10
10
  };
11
11
  const Wrapper = ({ overrideDimensions, children, }) => {
12
12
  return overrideDimensions ? (_jsx("div", { style: { ...overrideDimensions }, children: children })) : (children);
13
13
  };
14
- const HierarchicalTrackSelectorContainer = observer(function ({ model, toolbarHeight, overrideDimensions, }) {
14
+ const HierarchicalTrackSelectorContainer = observer(function HierarchicalTrackSelectorContainer({ model, toolbarHeight, overrideDimensions, }) {
15
15
  return (_jsxs(Wrapper, { overrideDimensions: overrideDimensions, children: [_jsx(HierarchicalTrackSelector, { model: model, toolbarHeight: toolbarHeight }), _jsx(HierarchicalFab, { model: model })] }));
16
16
  });
17
- const HierarchicalTrackSelector = observer(function ({ model, toolbarHeight = 0, }) {
17
+ const HierarchicalTrackSelector = observer(function HierarchicalTrackSelector({ model, toolbarHeight = 0, }) {
18
18
  const [headerHeight, setHeaderHeight] = useState(0);
19
- return (_jsxs(_Fragment, { children: [_jsx(HierarchicalHeader, { model: model, setHeaderHeight: setHeaderHeight }), _jsx(AutoSizedHierarchicalTree, { tree: model.hierarchy, model: model, offset: toolbarHeight + headerHeight })] }));
19
+ return (_jsxs(_Fragment, { children: [_jsx(HierarchicalHeader, { model: model, setHeaderHeight: setHeaderHeight }), _jsx(AutoSizedHierarchicalTree, { model: model, offset: toolbarHeight + headerHeight })] }));
20
20
  });
21
21
  export default HierarchicalTrackSelectorContainer;
@@ -4,12 +4,12 @@ import { getEnv, getSession } from '@jbrowse/core/util';
4
4
  import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
5
5
  import { Badge } from '@mui/material';
6
6
  import { observer } from 'mobx-react';
7
- const ShoppingCart = observer(function ({ model, }) {
7
+ const ShoppingCart = observer(function ShoppingCart({ model, }) {
8
8
  const session = getSession(model);
9
9
  const { selection } = model;
10
10
  const { pluginManager } = getEnv(model);
11
11
  const { adminMode, sessionTracks } = session;
12
- const s = new Set(sessionTracks === null || sessionTracks === void 0 ? void 0 : sessionTracks.map(t => t.trackId));
12
+ const s = new Set(sessionTracks?.map(t => t.trackId));
13
13
  const canEdit = (t) => adminMode || s.has(t);
14
14
  const items = pluginManager.evaluateExtensionPoint('TrackSelector-multiTrackMenuItems', [], { session });
15
15
  return selection.length ? (_jsx(CascadingMenuButton, { menuItems: [
@@ -24,9 +24,8 @@ const ShoppingCart = observer(function ({ model, }) {
24
24
  {
25
25
  label: 'Delete tracks',
26
26
  onClick: () => {
27
- var _a;
28
- for (const s of selection) {
29
- (_a = session.deleteTrackConf) === null || _a === void 0 ? void 0 : _a.call(session, s);
27
+ for (const track of selection) {
28
+ session.deleteTrackConf?.(track);
30
29
  }
31
30
  },
32
31
  },
@@ -7,7 +7,7 @@ const CloseConnectionDialog = observer(function CloseConnectionDialog({ modalInf
7
7
  return (_jsxs(Dialog, { open: true, maxWidth: "lg", title: `Close connection "${name}"`, onClose: onClose, children: [_jsxs(DialogContent, { children: [dereferenceTypeCount ? (_jsxs(_Fragment, { children: [_jsx(DialogContentText, { children: "Closing this connection will close:" }), _jsx(List, { children: Object.entries(dereferenceTypeCount).map(([key, value]) => (_jsx(ListItem, { children: `${value} ${key}` }, key))) })] })) : null, _jsx(DialogContentText, { children: "Are you sure you want to close this connection?" })] }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: () => {
8
8
  onClose();
9
9
  }, color: "primary", children: "Cancel" }), _jsx(Button, { variant: "contained", onClick: () => {
10
- safelyBreakConnection === null || safelyBreakConnection === void 0 ? void 0 : safelyBreakConnection();
10
+ safelyBreakConnection?.();
11
11
  onClose();
12
12
  }, color: "primary", children: "OK" })] })] }));
13
13
  });
@@ -7,8 +7,7 @@ const DeleteConnectionDialog = observer(function DeleteConnectionDialog({ delete
7
7
  return (_jsxs(Dialog, { open: true, title: `Delete connection "${name}"`, onClose: handleClose, children: [_jsx(DialogContent, { children: _jsx(DialogContentText, { children: "Are you sure you want to delete this connection?" }) }), _jsxs(DialogActions, { children: [_jsx(Button, { onClick: () => {
8
8
  handleClose();
9
9
  }, color: "primary", children: "Cancel" }), _jsx(Button, { variant: "contained", color: "primary", onClick: () => {
10
- var _a;
11
- (_a = session.deleteConnection) === null || _a === void 0 ? void 0 : _a.call(session, connectionConf);
10
+ session.deleteConnection?.(connectionConf);
12
11
  handleClose();
13
12
  }, children: "OK" })] })] }));
14
13
  });
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { readConfObject } from '@jbrowse/core/configuration';
3
3
  import { Dialog } from '@jbrowse/core/ui';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import CloseIcon from '@mui/icons-material/Close';
5
6
  import { Button, DialogActions, DialogContent, IconButton, Tooltip, Typography, } from '@mui/material';
6
7
  import { observer } from 'mobx-react';
7
- import { makeStyles } from 'tss-react/mui';
8
8
  const useStyles = makeStyles()(theme => ({
9
9
  connectionContainer: {
10
10
  margin: theme.spacing(4),
@@ -14,12 +14,12 @@ const useStyles = makeStyles()(theme => ({
14
14
  function DisabledButton() {
15
15
  return (_jsx(Tooltip, { title: "Unable to delete connection in config file as non-admin user", children: _jsx(IconButton, { children: _jsx(CloseIcon, { color: "disabled" }) }) }));
16
16
  }
17
- const ManageConnectionsDialog = observer(function ({ session, handleClose, breakConnection, }) {
17
+ const ManageConnectionsDialog = observer(function ManageConnectionsDialog({ session, handleClose, breakConnection, }) {
18
18
  const { classes } = useStyles();
19
19
  const { adminMode, connections, sessionConnections } = session;
20
20
  return (_jsxs(Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Delete connections", children: [_jsxs(DialogContent, { children: [_jsx(Typography, { children: "Click the X icon to delete the connection from your config completely" }), _jsxs("div", { className: classes.connectionContainer, children: [connections.map(conf => {
21
21
  const name = readConfObject(conf, 'name');
22
- return (_jsxs(Typography, { children: [adminMode || (sessionConnections === null || sessionConnections === void 0 ? void 0 : sessionConnections.includes(conf)) ? (_jsx(IconButton, { onClick: () => {
22
+ return (_jsxs(Typography, { children: [adminMode || sessionConnections?.includes(conf) ? (_jsx(IconButton, { onClick: () => {
23
23
  breakConnection(conf, true);
24
24
  }, children: _jsx(CloseIcon, { color: "error" }) })) : (_jsx(DisabledButton, {})), name] }, `conn-${name}`));
25
25
  }), !connections.length ? (_jsx(Typography, { children: "No connections found" })) : null] })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: () => {
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { readConfObject } from '@jbrowse/core/configuration';
3
3
  import { Dialog } from '@jbrowse/core/ui';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import { Button, Checkbox, DialogActions, DialogContent, FormControlLabel, Typography, } from '@mui/material';
5
6
  import { observer } from 'mobx-react';
6
- import { makeStyles } from 'tss-react/mui';
7
7
  function ellipses(slug) {
8
8
  return slug.length > 20 ? `${slug.slice(0, 20)}...` : slug;
9
9
  }
@@ -19,25 +19,24 @@ const ConnectionRow = observer(function ConnectionRow({ conf, session, breakConn
19
19
  const assemblyNames = readConfObject(conf, 'assemblyNames');
20
20
  const found = instances.find(conn => name === conn.name);
21
21
  return (_jsx(FormControlLabel, { control: _jsx(Checkbox, { checked: !!found, onChange: () => {
22
- var _a;
23
22
  if (found) {
24
23
  breakConnection(conf);
25
24
  }
26
25
  else {
27
- (_a = session.makeConnection) === null || _a === void 0 ? void 0 : _a.call(session, conf);
26
+ session.makeConnection?.(conf);
28
27
  }
29
28
  }, color: "primary" }), label: [
30
29
  name,
31
30
  assemblyNames.length ? `(${ellipses(assemblyNames.join(','))})` : '',
32
31
  ]
33
- .filter(f => !!f)
32
+ .filter(Boolean)
34
33
  .join(' ') }, conf.connectionId));
35
34
  });
36
35
  const ConnectionList = observer(function ConnectionsList({ session, breakConnection, }) {
37
36
  const { classes } = useStyles();
38
37
  return (_jsx("div", { className: classes.connectionContainer, children: !session.connections.length ? (_jsx(Typography, { children: "No connections found" })) : (session.connections.map((conf, idx) => (_jsx("div", { children: _jsx(ConnectionRow, { conf: conf, session: session, breakConnection: breakConnection }) }, `${conf.name}_${idx}`)))) }));
39
38
  });
40
- const ToggleConnectionDialog = observer(function ({ session, handleClose, breakConnection, }) {
39
+ const ToggleConnectionDialog = observer(function ToggleConnectionDialog({ session, handleClose, breakConnection, }) {
41
40
  return (_jsxs(Dialog, { open: true, onClose: handleClose, maxWidth: "lg", title: "Turn on/off connections", children: [_jsxs(DialogContent, { children: [_jsx(Typography, { children: "Use the checkbox to turn on/off connections" }), _jsx(ConnectionList, { session: session, breakConnection: breakConnection })] }), _jsx(DialogActions, { children: _jsx(Button, { onClick: () => {
42
41
  handleClose();
43
42
  }, variant: "contained", color: "primary", children: "Close" }) })] }));
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
2
2
  declare const FacetFilter: ({ column, vals, model, }: {
3
3
  column: {
4
4
  field: string;
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { coarseStripHTML } from '@jbrowse/core/util';
4
+ import { makeStyles } from '@jbrowse/core/util/tss-react';
4
5
  import AddIcon from '@mui/icons-material/Add';
5
6
  import ClearIcon from '@mui/icons-material/Clear';
6
7
  import MinimizeIcon from '@mui/icons-material/Minimize';
7
8
  import { FormControl, IconButton, Select, Tooltip, Typography, } from '@mui/material';
8
9
  import { observer } from 'mobx-react';
9
- import { makeStyles } from 'tss-react/mui';
10
10
  const useStyles = makeStyles()(theme => ({
11
11
  facet: {
12
12
  margin: 0,
@@ -26,7 +26,7 @@ function ExpandButton({ visible, onClick, }) {
26
26
  onClick();
27
27
  }, size: "small", children: visible ? _jsx(MinimizeIcon, {}) : _jsx(AddIcon, {}) }) }));
28
28
  }
29
- const FacetFilter = observer(function ({ column, vals, model, }) {
29
+ const FacetFilter = observer(function FacetFilter({ column, vals, model, }) {
30
30
  const { classes } = useStyles();
31
31
  const [visible, setVisible] = useState(true);
32
32
  const { faceted } = model;
@@ -1,5 +1,5 @@
1
- import type { Row } from './util';
2
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { Row } from './util.ts';
2
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
3
3
  declare const FacetFilters: ({ rows, columns, model, }: {
4
4
  rows: Row[];
5
5
  columns: {
@@ -1,9 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { observer } from 'mobx-react';
3
- import FacetFilter from './FacetFilter';
4
- import { getRowStr } from './util';
5
- const FacetFilters = observer(function ({ rows, columns, model, }) {
6
- var _a, _b;
3
+ import FacetFilter from "./FacetFilter.js";
4
+ import { getRowStr } from "./util.js";
5
+ const FacetFilters = observer(function FacetFilters({ rows, columns, model, }) {
7
6
  const { faceted } = model;
8
7
  const { filters } = faceted;
9
8
  const facets = columns.slice(1);
@@ -12,7 +11,7 @@ const FacetFilters = observer(function ({ rows, columns, model, }) {
12
11
  const facetKeys = facets.map(f => f.field);
13
12
  const facetKeysPrioritizingUserSelections = new Set();
14
13
  for (const entry of filterKeys) {
15
- if ((_a = filters.get(entry)) === null || _a === void 0 ? void 0 : _a.length) {
14
+ if (filters.get(entry)?.length) {
16
15
  facetKeysPrioritizingUserSelections.add(entry);
17
16
  }
18
17
  }
@@ -36,7 +35,7 @@ const FacetFilters = observer(function ({ rows, columns, model, }) {
36
35
  }
37
36
  }
38
37
  }
39
- const filter = ((_b = filters.get(facetKey)) === null || _b === void 0 ? void 0 : _b.length)
38
+ const filter = filters.get(facetKey)?.length
40
39
  ? new Set(filters.get(facetKey))
41
40
  : undefined;
42
41
  currentRows = currentRows.filter(row => filter !== undefined ? filter.has(getRowStr(facetKey, row)) : true);
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
2
2
  import type { GridColDef, GridRowId } from '@mui/x-data-grid';
3
3
  declare const FacetedDataGrid: ({ model, columns, shownTrackIds, selection, }: {
4
4
  model: HierarchicalTrackSelectorModel;
@@ -1,73 +1,54 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { getEnv, measureGridWidth } from '@jbrowse/core/util';
2
+ import { useMemo, useState, useTransition } from 'react';
3
+ import { getEnv } from '@jbrowse/core/util';
4
+ import { getRoot, resolveIdentifier } from '@jbrowse/mobx-state-tree';
4
5
  import { DataGrid } from '@mui/x-data-grid';
5
6
  import { transaction } from 'mobx';
6
7
  import { observer } from 'mobx-react';
7
- import { getRoot, resolveIdentifier } from 'mobx-state-tree';
8
- const FacetedDataGrid = observer(function ({ model, columns, shownTrackIds, selection, }) {
8
+ import { computeInitialWidths } from "./computeInitialWidths.js";
9
+ const FacetedDataGrid = observer(function FacetedDataGrid({ model, columns, shownTrackIds, selection, }) {
9
10
  const { pluginManager } = getEnv(model);
10
11
  const { view, faceted } = model;
11
12
  const { rows, useShoppingCart, showOptions, filteredRows, filteredNonMetadataKeys, filteredMetadataKeys, visible, } = faceted;
12
- const [widths, setWidths] = useState({
13
- name: measureGridWidth(rows.map(r => r.name), {
14
- maxWidth: 500,
15
- stripHTML: true,
16
- }) + 15,
17
- ...Object.fromEntries(filteredNonMetadataKeys
18
- .filter(f => visible[f])
19
- .map(e => [
20
- e,
21
- measureGridWidth(rows.map(r => r[e]), {
22
- maxWidth: 400,
23
- stripHTML: true,
24
- }),
25
- ])),
26
- ...Object.fromEntries(filteredMetadataKeys
27
- .filter(f => visible[`metadata.${f}`])
28
- .map(e => {
29
- return [
30
- `metadata.${e}`,
31
- measureGridWidth(rows.map(r => r.metadata[e]), {
32
- maxWidth: 400,
33
- stripHTML: true,
34
- }),
35
- ];
36
- })),
37
- });
13
+ const [, startTransition] = useTransition();
14
+ const [widths, setWidths] = useState(() => computeInitialWidths(rows, filteredNonMetadataKeys, filteredMetadataKeys, visible));
15
+ const rowSelectionModel = useMemo(() => ({
16
+ type: 'include',
17
+ ids: new Set(useShoppingCart ? selection.map(s => s.trackId) : [...shownTrackIds]),
18
+ }), [useShoppingCart, selection, shownTrackIds]);
19
+ const columnsWithWidths = useMemo(() => columns.map(r => ({
20
+ ...r,
21
+ width: widths[r.field],
22
+ })), [columns, widths]);
38
23
  return (_jsx(DataGrid, { rowHeight: 25, columnHeaderHeight: 35, checkboxSelection: true, disableRowSelectionOnClick: true, keepNonExistentRowsSelected: true, rows: filteredRows, columnVisibilityModel: visible, showToolbar: showOptions, onColumnWidthChange: arg => {
39
- setWidths({
40
- ...widths,
24
+ setWidths(prev => ({
25
+ ...prev,
41
26
  [arg.colDef.field]: arg.width,
42
- });
27
+ }));
43
28
  }, onColumnVisibilityModelChange: n => {
44
29
  model.faceted.setVisible(n);
45
30
  }, onRowSelectionModelChange: userSelectedIds => {
46
- if (!useShoppingCart) {
47
- const a1 = shownTrackIds;
48
- const a2 = userSelectedIds.ids;
49
- transaction(() => {
50
- ;
51
- [...a1].filter(x => !a2.has(x)).map(t => view.hideTrack(t));
52
- [...a2]
53
- .filter(x => !a1.has(x))
54
- .map(t => {
55
- view.showTrack(t);
56
- model.addToRecentlyUsed(t);
31
+ startTransition(() => {
32
+ if (!useShoppingCart) {
33
+ const a1 = shownTrackIds;
34
+ const a2 = userSelectedIds.ids;
35
+ transaction(() => {
36
+ ;
37
+ [...a1].filter(x => !a2.has(x)).map(t => view.hideTrack(t));
38
+ [...a2]
39
+ .filter(x => !a1.has(x))
40
+ .map(t => {
41
+ view.showTrack(t);
42
+ model.addToRecentlyUsed(t);
43
+ });
57
44
  });
58
- });
59
- }
60
- else {
61
- const root = getRoot(model);
62
- const schema = pluginManager.pluggableConfigSchemaType('track');
63
- model.setSelection([...userSelectedIds.ids].map(id => resolveIdentifier(schema, root, id)));
64
- }
65
- }, rowSelectionModel: {
66
- type: 'include',
67
- ids: new Set(useShoppingCart ? selection.map(s => s.trackId) : [...shownTrackIds]),
68
- }, columns: columns.map(r => ({
69
- ...r,
70
- width: widths[r.field],
71
- })) }));
45
+ }
46
+ else {
47
+ const root = getRoot(model);
48
+ const schema = pluginManager.pluggableConfigSchemaType('track');
49
+ model.setSelection([...userSelectedIds.ids].map(id => resolveIdentifier(schema, root, id)));
50
+ }
51
+ });
52
+ }, rowSelectionModel: rowSelectionModel, columns: columnsWithWidths }));
72
53
  });
73
54
  export default FacetedDataGrid;
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
2
2
  declare const FacetedTrackSelectorDialog: (props: {
3
3
  handleClose: () => void;
4
4
  model: HierarchicalTrackSelectorModel;
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Dialog } from '@jbrowse/core/ui';
3
3
  import { DialogContent } from '@mui/material';
4
4
  import { observer } from 'mobx-react';
5
- import FacetedSelector from './FacetedSelector';
6
- const FacetedTrackSelectorDialog = observer(function (props) {
5
+ import FacetedSelector from "./FacetedSelector.js";
6
+ const FacetedTrackSelectorDialog = observer(function FacetedTrackSelectorDialog(props) {
7
7
  const { handleClose } = props;
8
8
  return (_jsx(Dialog, { open: true, onClose: handleClose, maxWidth: "xl", title: "Faceted track selector", children: _jsx(DialogContent, { children: _jsx(FacetedSelector, { ...props }) }) }));
9
9
  });
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
2
2
  export default function FacetedHeader({ model, }: {
3
3
  model: HierarchicalTrackSelectorModel;
4
4
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,22 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { Menu } from '@jbrowse/core/ui';
4
- import ClearIcon from '@mui/icons-material/Clear';
5
4
  import MoreVert from '@mui/icons-material/MoreVert';
6
- import { Grid, IconButton, InputAdornment, TextField } from '@mui/material';
7
- import ShoppingCart from '../ShoppingCart';
5
+ import { Grid, IconButton } from '@mui/material';
6
+ import ClearableSearchField from "../ClearableSearchField.js";
7
+ import ShoppingCart from "../ShoppingCart.js";
8
8
  export default function FacetedHeader({ model, }) {
9
9
  const { faceted } = model;
10
+ const { filterText, showOptions, showFilters, showSparse, useShoppingCart } = faceted;
10
11
  const [anchorEl, setAnchorEl] = useState(null);
11
- const { showOptions, showFilters, showSparse, useShoppingCart } = faceted;
12
- return (_jsxs(_Fragment, { children: [_jsxs(Grid, { container: true, spacing: 4, alignItems: "center", children: [_jsx(TextField, { label: "Search...", value: faceted.filterText, onChange: event => {
13
- faceted.setFilterText(event.target.value);
14
- }, slotProps: {
15
- input: {
16
- endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(IconButton, { onClick: () => {
17
- faceted.setFilterText('');
18
- }, children: _jsx(ClearIcon, {}) }) })),
19
- },
12
+ return (_jsxs(_Fragment, { children: [_jsxs(Grid, { container: true, spacing: 4, alignItems: "center", children: [_jsx(ClearableSearchField, { label: "Search...", value: filterText, onChange: value => {
13
+ faceted.setFilterText(value);
20
14
  } }), _jsx(IconButton, { onClick: event => {
21
15
  setAnchorEl(event.currentTarget);
22
16
  }, children: _jsx(MoreVert, {}) }), _jsx(ShoppingCart, { model: model })] }), _jsx(Menu, { anchorEl: anchorEl, open: !!anchorEl, onClose: () => {
@@ -1,4 +1,4 @@
1
- import type { HierarchicalTrackSelectorModel } from '../../model';
1
+ import type { HierarchicalTrackSelectorModel } from '../../model.ts';
2
2
  import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
3
  export interface InfoArgs {
4
4
  target: HTMLElement;