@jbrowse/app-core 4.3.0 → 5.0.0-beta.10

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 (165) hide show
  1. package/esm/AppSession/AppRootModel.d.ts +30 -0
  2. package/esm/AppSession/AppRootModel.js +1 -0
  3. package/esm/AppSession/AppSessionMixin.d.ts +1324 -0
  4. package/esm/AppSession/AppSessionMixin.js +62 -0
  5. package/esm/AppSession/index.d.ts +2 -0
  6. package/esm/AppSession/index.js +1 -0
  7. package/esm/Assemblies/AssembliesMixin.d.ts +294 -0
  8. package/esm/Assemblies/AssembliesMixin.js +154 -0
  9. package/esm/Assemblies/index.d.ts +1 -2
  10. package/esm/Assemblies/index.js +1 -2
  11. package/esm/HistoryManagement/index.d.ts +11 -0
  12. package/esm/HistoryManagement/index.js +43 -10
  13. package/esm/JBrowseConfig/RootConfiguration.d.ts +123 -78
  14. package/esm/JBrowseConfig/RootConfiguration.js +79 -7
  15. package/esm/JBrowseConfig/defaultShareUrl.d.ts +1 -0
  16. package/esm/JBrowseConfig/defaultShareUrl.js +5 -0
  17. package/esm/JBrowseConfig/index.d.ts +175 -84
  18. package/esm/JBrowseConfig/index.js +64 -2
  19. package/esm/JBrowseModel/index.d.ts +175 -97
  20. package/esm/JBrowseModel/index.js +132 -31
  21. package/esm/JbApi/index.d.ts +2 -0
  22. package/esm/JbApi/index.js +1 -0
  23. package/esm/JbApi/jbApi.d.ts +2767 -0
  24. package/esm/JbApi/jbApi.js +1383 -0
  25. package/esm/RootMenu/index.d.ts +69 -3
  26. package/esm/RootMenu/index.js +96 -61
  27. package/esm/SessionSpec/index.d.ts +6 -0
  28. package/esm/SessionSpec/index.js +3 -0
  29. package/esm/SessionSpec/lgvUrlInit.d.ts +79 -0
  30. package/esm/SessionSpec/lgvUrlInit.js +161 -0
  31. package/esm/SessionSpec/loadSessionSpec.d.ts +75 -0
  32. package/esm/SessionSpec/loadSessionSpec.js +473 -0
  33. package/esm/SessionSpec/parseSessionSpecUrl.d.ts +7 -0
  34. package/esm/SessionSpec/parseSessionSpecUrl.js +181 -0
  35. package/esm/SessionSpec/types.d.ts +37 -0
  36. package/esm/SessionSpec/types.js +1 -0
  37. package/esm/WorkspaceLayout/LayoutRenderer.d.ts +24 -0
  38. package/esm/WorkspaceLayout/LayoutRenderer.js +185 -0
  39. package/esm/WorkspaceLayout/PanelView.d.ts +13 -0
  40. package/esm/WorkspaceLayout/PanelView.js +99 -0
  41. package/esm/WorkspaceLayout/TabStrip.d.ts +14 -0
  42. package/esm/WorkspaceLayout/TabStrip.js +226 -0
  43. package/esm/WorkspaceLayout/WorkspaceContainer.d.ts +16 -0
  44. package/esm/WorkspaceLayout/WorkspaceContainer.js +107 -0
  45. package/esm/WorkspaceLayout/WorkspacePanelActions.d.ts +24 -0
  46. package/esm/WorkspaceLayout/WorkspacePanelActions.js +120 -0
  47. package/esm/WorkspaceLayout/WorkspaceTab.d.ts +27 -0
  48. package/esm/WorkspaceLayout/WorkspaceTab.js +105 -0
  49. package/esm/WorkspaceLayout/dockviewTheme.d.ts +69 -0
  50. package/esm/WorkspaceLayout/dockviewTheme.js +82 -0
  51. package/esm/WorkspaceLayout/dropZone.d.ts +105 -0
  52. package/esm/WorkspaceLayout/dropZone.js +113 -0
  53. package/esm/WorkspaceLayout/index.d.ts +8 -0
  54. package/esm/WorkspaceLayout/index.js +4 -0
  55. package/esm/WorkspaceLayout/model.d.ts +260 -0
  56. package/esm/WorkspaceLayout/model.js +586 -0
  57. package/esm/WorkspaceLayout/panelChrome.d.ts +19 -0
  58. package/esm/WorkspaceLayout/panelChrome.js +4 -0
  59. package/esm/WorkspaceLayout/spec.d.ts +88 -0
  60. package/esm/WorkspaceLayout/spec.js +226 -0
  61. package/esm/WorkspaceLayout/splitter.d.ts +25 -0
  62. package/esm/WorkspaceLayout/splitter.js +37 -0
  63. package/esm/WorkspaceLayout/tree.d.ts +158 -0
  64. package/esm/WorkspaceLayout/tree.js +379 -0
  65. package/esm/WorkspaceLayout/useLayoutDrag.d.ts +34 -0
  66. package/esm/WorkspaceLayout/useLayoutDrag.js +232 -0
  67. package/esm/index.d.ts +18 -9
  68. package/esm/index.js +16 -9
  69. package/esm/menus.d.ts +55 -68
  70. package/esm/menus.js +117 -86
  71. package/esm/queryParams.d.ts +9 -0
  72. package/esm/queryParams.js +93 -0
  73. package/esm/sessionModelFactory.d.ts +18 -0
  74. package/esm/sessionModelFactory.js +1 -0
  75. package/esm/ui/App/App.d.ts +3 -14
  76. package/esm/ui/App/App.js +39 -19
  77. package/esm/ui/App/AppFab.d.ts +12 -3
  78. package/esm/ui/App/AppFab.js +15 -8
  79. package/esm/ui/App/AppToolbar.d.ts +2 -14
  80. package/esm/ui/App/AppToolbar.js +45 -31
  81. package/esm/ui/App/ClassicViewsContainer.d.ts +4 -10
  82. package/esm/ui/App/ClassicViewsContainer.js +9 -8
  83. package/esm/ui/App/DialogQueue.d.ts +17 -1
  84. package/esm/ui/App/DialogQueue.js +30 -1
  85. package/esm/ui/App/Drawer.d.ts +1 -1
  86. package/esm/ui/App/Drawer.js +10 -39
  87. package/esm/ui/App/DrawerHeader.d.ts +2 -3
  88. package/esm/ui/App/DrawerHeader.js +24 -11
  89. package/esm/ui/App/DrawerHeaderHelpButton.d.ts +1 -1
  90. package/esm/ui/App/DrawerHeaderHelpButton.js +3 -3
  91. package/esm/ui/App/DrawerHeaderHelpDialog.d.ts +2 -2
  92. package/esm/ui/App/DrawerHeaderHelpDialog.js +3 -4
  93. package/esm/ui/App/DrawerWidget.d.ts +1 -1
  94. package/esm/ui/App/DrawerWidget.js +9 -21
  95. package/esm/ui/App/JBrowseTabMenu.d.ts +2 -3
  96. package/esm/ui/App/JBrowseTabMenu.js +24 -5
  97. package/esm/ui/App/ThemeModeButton.d.ts +12 -0
  98. package/esm/ui/App/ThemeModeButton.js +34 -0
  99. package/esm/ui/App/ViewButtons.d.ts +2 -4
  100. package/esm/ui/App/ViewButtons.js +15 -3
  101. package/esm/ui/App/ViewContainer.d.ts +3 -2
  102. package/esm/ui/App/ViewContainer.js +128 -24
  103. package/esm/ui/App/ViewContainerTitle.d.ts +1 -1
  104. package/esm/ui/App/ViewContainerTitle.js +21 -11
  105. package/esm/ui/App/ViewErrorFallback.d.ts +18 -0
  106. package/esm/ui/App/ViewErrorFallback.js +42 -0
  107. package/esm/ui/App/ViewHeader.d.ts +3 -4
  108. package/esm/ui/App/ViewHeader.js +28 -17
  109. package/esm/ui/App/ViewLauncher.d.ts +2 -8
  110. package/esm/ui/App/ViewLauncher.js +7 -5
  111. package/esm/ui/App/ViewMenu.d.ts +3 -5
  112. package/esm/ui/App/ViewMenu.js +87 -92
  113. package/esm/ui/App/ViewStack.d.ts +7 -0
  114. package/esm/ui/App/ViewStack.js +48 -0
  115. package/esm/ui/App/ViewWrapper.d.ts +15 -1
  116. package/esm/ui/App/ViewWrapper.js +26 -10
  117. package/esm/ui/App/ViewsContainer.d.ts +4 -11
  118. package/esm/ui/App/ViewsContainer.js +6 -9
  119. package/esm/ui/App/index.d.ts +2 -1
  120. package/esm/ui/App/index.js +3 -2
  121. package/esm/ui/App/lazyChunk.d.ts +13 -0
  122. package/esm/ui/App/lazyChunk.js +91 -0
  123. package/esm/ui/App/lazyParts.d.ts +32 -0
  124. package/esm/ui/App/lazyParts.js +8 -0
  125. package/esm/ui/App/preloadAppShell.d.ts +14 -0
  126. package/esm/ui/App/preloadAppShell.js +41 -0
  127. package/esm/ui/App/types.d.ts +17 -3
  128. package/esm/ui/App/types.js +1 -1
  129. package/esm/ui/App/useViewVisibility.d.ts +35 -0
  130. package/esm/ui/App/useViewVisibility.js +88 -0
  131. package/esm/ui/App/viewTitle.d.ts +12 -0
  132. package/esm/ui/App/viewTitle.js +17 -0
  133. package/esm/ui/index.d.ts +1 -1
  134. package/esm/ui/index.js +1 -1
  135. package/package.json +12 -17
  136. package/esm/AppFocus/index.d.ts +0 -5
  137. package/esm/AppFocus/index.js +0 -12
  138. package/esm/Assemblies/SessionAssembliesMixin.d.ts +0 -92
  139. package/esm/Assemblies/SessionAssembliesMixin.js +0 -53
  140. package/esm/Assemblies/TemporaryAssembliesMixin.d.ts +0 -10
  141. package/esm/Assemblies/TemporaryAssembliesMixin.js +0 -37
  142. package/esm/DockviewLayout/index.d.ts +0 -35
  143. package/esm/DockviewLayout/index.js +0 -111
  144. package/esm/ui/App/DockviewContext.d.ts +0 -22
  145. package/esm/ui/App/DockviewContext.js +0 -29
  146. package/esm/ui/App/DockviewLeftHeaderActions.d.ts +0 -2
  147. package/esm/ui/App/DockviewLeftHeaderActions.js +0 -58
  148. package/esm/ui/App/DockviewRightHeaderActions.d.ts +0 -2
  149. package/esm/ui/App/DockviewRightHeaderActions.js +0 -100
  150. package/esm/ui/App/DrawerControls.d.ts +0 -5
  151. package/esm/ui/App/DrawerControls.js +0 -25
  152. package/esm/ui/App/DrawerWidgetSelector.d.ts +0 -5
  153. package/esm/ui/App/DrawerWidgetSelector.js +0 -47
  154. package/esm/ui/App/JBrowseViewPanel.d.ts +0 -8
  155. package/esm/ui/App/JBrowseViewPanel.js +0 -40
  156. package/esm/ui/App/JBrowseViewTab.d.ts +0 -8
  157. package/esm/ui/App/JBrowseViewTab.js +0 -97
  158. package/esm/ui/App/ModalWidget.d.ts +0 -6
  159. package/esm/ui/App/ModalWidget.js +0 -48
  160. package/esm/ui/App/TiledViewsContainer.d.ts +0 -6
  161. package/esm/ui/App/TiledViewsContainer.js +0 -366
  162. package/esm/ui/App/copyView.d.ts +0 -1
  163. package/esm/ui/App/copyView.js +0 -29
  164. package/esm/ui/App/dockviewUtils.d.ts +0 -46
  165. package/esm/ui/App/dockviewUtils.js +0 -55
@@ -1,117 +1,183 @@
1
- import type { PluginDefinition } from '@jbrowse/core/PluginLoader';
2
1
  import type PluginManager from '@jbrowse/core/PluginManager';
3
- import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
4
- export declare function JBrowseConfigF({ pluginManager, assemblyConfigSchema, }: {
2
+ import type { AnyConfigurationSchemaType, ConfigurationSchemaDefinition } from '@jbrowse/core/configuration';
3
+ import type { PluginDefinition } from '@jbrowse/core/pluginDefinitions';
4
+ export { DEFAULT_SHARE_URL } from './defaultShareUrl.ts';
5
+ /**
6
+ * #config JBrowseRootConfig
7
+ * #category root
8
+ *
9
+ * this is a config model representing a config.json (for jbrowse-web) or
10
+ * somefile.jbrowse (for jbrowse-desktop, where configs have the .jbrowse
11
+ * extension)
12
+ *
13
+ * also includes any pluginManager.pluginConfigurationSchemas(), so plugins
14
+ * that have a configurationSchema field on their class are mixed into this
15
+ * object
16
+ */
17
+ export declare function JBrowseConfigF({ pluginManager, assemblyConfigSchema, extraConfigSlots, }: {
5
18
  pluginManager: PluginManager;
6
19
  assemblyConfigSchema: AnyConfigurationSchemaType;
7
- adminMode?: boolean;
20
+ extraConfigSlots?: ConfigurationSchemaDefinition;
8
21
  }): import("@jbrowse/mobx-state-tree").IModelType<{
9
22
  configuration: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
10
- rpc: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
11
- defaultDriver: {
12
- type: string;
13
- description: string;
23
+ readonly rpc: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
24
+ readonly defaultDriver: {
25
+ type: "string";
26
+ } & {
14
27
  defaultValue: string;
15
28
  };
16
- drivers: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IMapType<import("@jbrowse/mobx-state-tree").ITypeUnion<import("@jbrowse/mobx-state-tree").ModelCreationType<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> | undefined, import("@jbrowse/mobx-state-tree").ModelSnapshotType<Record<string, any>>, ({} & Partial<import("@jbrowse/mobx-state-tree/dist/internal").ExtractCFromProps<Record<string, any>>> & import("@jbrowse/mobx-state-tree/dist/internal").NonEmptyObject) | undefined>>, [undefined]>;
17
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
18
- highResolutionScaling: {
19
- type: string;
20
- defaultValue: number;
21
- };
22
- formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
23
- feature: {
24
- type: string;
25
- description: string;
26
- defaultValue: {};
27
- contextVariable: string[];
29
+ readonly workerCount: {
30
+ type: "number";
31
+ } & {
32
+ defaultValue: number;
28
33
  };
29
- subfeatures: {
30
- type: string;
31
- description: string;
32
- defaultValue: {};
33
- contextVariable: string[];
34
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
35
+ readonly formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
36
+ readonly feature: {
37
+ type: "frozen";
38
+ } & {
39
+ defaultValue: unknown;
34
40
  };
35
- depth: {
36
- type: string;
37
- defaultValue: number;
38
- description: string;
41
+ readonly subfeatures: {
42
+ type: "frozen";
43
+ } & {
44
+ defaultValue: unknown;
39
45
  };
40
- maxDepth: {
41
- type: string;
42
- defaultValue: number;
43
- description: string;
46
+ readonly depth: {
47
+ type: "maybeNumber";
44
48
  };
45
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
46
- formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
47
- config: {
48
- type: string;
49
- description: string;
50
- defaultValue: {};
51
- contextVariable: string[];
49
+ readonly maxDepth: {
50
+ type: "maybeNumber";
52
51
  };
53
- hideUris: {
54
- type: string;
52
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
53
+ readonly formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
54
+ readonly config: {
55
+ type: "frozen";
56
+ } & {
57
+ defaultValue: unknown;
58
+ };
59
+ readonly hideUris: {
60
+ type: "boolean";
61
+ } & {
55
62
  defaultValue: boolean;
56
63
  };
57
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
58
- shareURL: {
59
- type: string;
64
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
65
+ readonly shareURL: {
66
+ type: "string";
67
+ } & {
60
68
  defaultValue: string;
61
69
  };
62
- disableAnalytics: {
63
- type: string;
70
+ readonly disableAnalytics: {
71
+ type: "boolean";
72
+ } & {
64
73
  defaultValue: boolean;
65
74
  };
66
- hierarchical: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
67
- sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
68
- trackNames: {
69
- type: string;
75
+ readonly hierarchical: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
76
+ readonly sort: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
77
+ readonly trackNames: {
78
+ type: "boolean";
79
+ } & {
70
80
  defaultValue: boolean;
71
81
  };
72
- categories: {
73
- type: string;
82
+ readonly categories: {
83
+ type: "boolean";
84
+ } & {
74
85
  defaultValue: boolean;
75
86
  };
76
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
77
- defaultFolderCategories: {
78
- type: string;
79
- description: string;
80
- defaultValue: never[];
87
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
88
+ readonly defaultFolderCategories: {
89
+ type: "stringArray";
90
+ } & {
91
+ defaultValue: unknown;
81
92
  };
82
- defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
83
- categoryNames: {
84
- type: string;
85
- defaultValue: never[];
93
+ readonly defaultCollapsed: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
94
+ readonly categoryNames: {
95
+ type: "stringArray";
96
+ } & {
97
+ defaultValue: unknown;
86
98
  };
87
- topLevelCategories: {
88
- type: string;
99
+ readonly topLevelCategories: {
100
+ type: "boolean";
101
+ } & {
89
102
  defaultValue: boolean;
90
103
  };
91
- subCategories: {
92
- type: string;
104
+ readonly subCategories: {
105
+ type: "boolean";
106
+ } & {
93
107
  defaultValue: boolean;
94
108
  };
95
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
96
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
97
- theme: {
98
- type: string;
99
- defaultValue: {};
109
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
110
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
111
+ readonly preferences: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
112
+ readonly animationMode: {
113
+ type: "stringEnum";
114
+ } & {
115
+ model: import("@jbrowse/mobx-state-tree").ISimpleType<"disabled" | "enabled" | "system">;
116
+ } & {
117
+ defaultValue: string;
118
+ };
119
+ readonly scrollZoom: {
120
+ type: "boolean";
121
+ } & {
122
+ defaultValue: boolean;
123
+ };
124
+ readonly numberGrouping: {
125
+ type: "boolean";
126
+ } & {
127
+ defaultValue: boolean;
128
+ };
129
+ readonly useWorkspaces: {
130
+ type: "boolean";
131
+ } & {
132
+ defaultValue: boolean;
133
+ };
134
+ readonly developerMode: {
135
+ type: "boolean";
136
+ } & {
137
+ defaultValue: boolean;
138
+ };
139
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
140
+ readonly theme: {
141
+ type: "frozen";
142
+ } & {
143
+ defaultValue: unknown;
100
144
  };
101
- extraThemes: {
102
- type: string;
103
- defaultValue: {};
145
+ readonly extraThemes: {
146
+ type: "frozen";
147
+ } & {
148
+ defaultValue: unknown;
104
149
  };
105
- logoPath: {
106
- type: string;
107
- defaultValue: {
108
- uri: string;
109
- locationType: string;
110
- };
150
+ readonly logoPath: {
151
+ type: "fileLocation";
152
+ } & {
153
+ defaultValue: unknown;
111
154
  };
112
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
155
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined, undefined, import("@jbrowse/core/configuration").ConfigurationSchemaRequirement<Partial<Record<string, string[]>>, string>, any>>;
156
+ /**
157
+ * #slot
158
+ * defines plugins of the format
159
+ * ```typescript
160
+ * type PluginDefinition=
161
+ * { umdUrl: string, name:string } |
162
+ * { url: string, name: string } |
163
+ * { esmUrl: string } |
164
+ * { umdLoc: { uri: string } } |
165
+ * { esmLoc: { uri: string } } |
166
+ * { storePlugin: string }
167
+ * ```
168
+ */
113
169
  plugins: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<PluginDefinition, PluginDefinition, PluginDefinition>>;
170
+ /**
171
+ * #slot
172
+ * configuration of the assemblies in the instance, see BaseAssembly
173
+ */
114
174
  assemblies: import("@jbrowse/mobx-state-tree").IArrayType<AnyConfigurationSchemaType>;
175
+ /**
176
+ * #slot
177
+ * track configuration is an array of track config schemas. multiple
178
+ * instances of a track can exist that use the same configuration.
179
+ * Always uses frozen for performance - editing creates temporary MST models.
180
+ */
115
181
  tracks: import("@jbrowse/mobx-state-tree").IType<{
116
182
  [key: string]: unknown;
117
183
  trackId: string;
@@ -122,9 +188,34 @@ export declare function JBrowseConfigF({ pluginManager, assemblyConfigSchema, }:
122
188
  [key: string]: unknown;
123
189
  trackId: string;
124
190
  }[]>;
125
- internetAccounts: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyModelType>;
126
- aggregateTextSearchAdapters: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyModelType>;
127
- connections: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IAnyModelType>;
191
+ /**
192
+ * #slot
193
+ * configuration for internet accounts, see InternetAccounts
194
+ */
195
+ internetAccounts: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
196
+ /**
197
+ * #slot
198
+ * search indexes covering whole assemblies, as `jbrowse text-index` writes
199
+ * them or any pluggable text search adapter. A trix index can be just its
200
+ * `.ix` (`["trix/hg38.ix"]`), which takes the config's assembly when it
201
+ * has one; with several, write `{ uri, assemblyNames }`.
202
+ */
203
+ aggregateTextSearchAdapters: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
204
+ /**
205
+ * #slot
206
+ * configuration for connections
207
+ */
208
+ connections: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/core/PluginManager").PluggableConfigSchemaType>;
209
+ /**
210
+ * #slot
211
+ * the session loaded when no session is otherwise specified, e.g. the
212
+ * initial view shown on first load
213
+ */
128
214
  defaultSession: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<any, any, any>, [undefined]>;
215
+ /**
216
+ * #slot
217
+ * named sessions bundled with the config that a user can open from the
218
+ * session selector
219
+ */
129
220
  preConfiguredSessions: import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<any, any, any>>;
130
221
  }, {}, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
@@ -1,19 +1,81 @@
1
1
  import { types } from '@jbrowse/mobx-state-tree';
2
- import RootConfiguration from "./RootConfiguration.js";
3
- export function JBrowseConfigF({ pluginManager, assemblyConfigSchema, }) {
2
+ import RootConfiguration from './RootConfiguration.js';
3
+ export { DEFAULT_SHARE_URL } from './defaultShareUrl.js';
4
+ /**
5
+ * #config JBrowseRootConfig
6
+ * #category root
7
+ *
8
+ * this is a config model representing a config.json (for jbrowse-web) or
9
+ * somefile.jbrowse (for jbrowse-desktop, where configs have the .jbrowse
10
+ * extension)
11
+ *
12
+ * also includes any pluginManager.pluginConfigurationSchemas(), so plugins
13
+ * that have a configurationSchema field on their class are mixed into this
14
+ * object
15
+ */
16
+ export function JBrowseConfigF({ pluginManager, assemblyConfigSchema, extraConfigSlots, }) {
4
17
  return types.model('JBrowseConfig', {
5
18
  configuration: RootConfiguration({
6
19
  pluginManager,
20
+ extraConfigSlots,
7
21
  }),
22
+ /**
23
+ * #slot
24
+ * defines plugins of the format
25
+ * ```typescript
26
+ * type PluginDefinition=
27
+ * { umdUrl: string, name:string } |
28
+ * { url: string, name: string } |
29
+ * { esmUrl: string } |
30
+ * { umdLoc: { uri: string } } |
31
+ * { esmLoc: { uri: string } } |
32
+ * { storePlugin: string }
33
+ * ```
34
+ */
8
35
  plugins: types.array(types.frozen()),
36
+ /**
37
+ * #slot
38
+ * configuration of the assemblies in the instance, see BaseAssembly
39
+ */
9
40
  assemblies: types.array(assemblyConfigSchema),
41
+ /**
42
+ * #slot
43
+ * track configuration is an array of track config schemas. multiple
44
+ * instances of a track can exist that use the same configuration.
45
+ * Always uses frozen for performance - editing creates temporary MST models.
46
+ */
10
47
  tracks: types.frozen([]),
48
+ /**
49
+ * #slot
50
+ * configuration for internet accounts, see InternetAccounts
51
+ */
11
52
  internetAccounts: types.array(pluginManager.pluggableConfigSchemaType('internet account')),
53
+ /**
54
+ * #slot
55
+ * search indexes covering whole assemblies, as `jbrowse text-index` writes
56
+ * them or any pluggable text search adapter. A trix index can be just its
57
+ * `.ix` (`["trix/hg38.ix"]`), which takes the config's assembly when it
58
+ * has one; with several, write `{ uri, assemblyNames }`.
59
+ */
12
60
  aggregateTextSearchAdapters: types.array(pluginManager.pluggableConfigSchemaType('text search adapter')),
61
+ /**
62
+ * #slot
63
+ * configuration for connections
64
+ */
13
65
  connections: types.array(pluginManager.pluggableConfigSchemaType('connection')),
66
+ /**
67
+ * #slot
68
+ * the session loaded when no session is otherwise specified, e.g. the
69
+ * initial view shown on first load
70
+ */
14
71
  defaultSession: types.optional(types.frozen(), {
15
72
  name: 'New Session',
16
73
  }),
74
+ /**
75
+ * #slot
76
+ * named sessions bundled with the config that a user can open from the
77
+ * session selector
78
+ */
17
79
  preConfiguredSessions: types.array(types.frozen()),
18
80
  ...pluginManager.pluginConfigurationRootSchemas(),
19
81
  });