@jbrowse/react-linear-genome-view2 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +72 -0
  3. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.d.ts +5 -0
  4. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.js +19 -0
  5. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.test.d.ts +1 -0
  6. package/dist/JBrowseLinearGenomeView/JBrowseLinearGenomeView.test.js +77 -0
  7. package/dist/JBrowseLinearGenomeView/index.d.ts +1 -0
  8. package/dist/JBrowseLinearGenomeView/index.js +8 -0
  9. package/dist/corePlugins.d.ts +3 -0
  10. package/dist/corePlugins.js +38 -0
  11. package/dist/createModel/AboutDialog.d.ts +1 -0
  12. package/dist/createModel/AboutDialog.js +5 -0
  13. package/dist/createModel/createConfigModel.d.ts +94 -0
  14. package/dist/createModel/createConfigModel.js +43 -0
  15. package/dist/createModel/createModel.d.ts +3165 -0
  16. package/dist/createModel/createModel.js +118 -0
  17. package/dist/createModel/createSessionModel.d.ts +1170 -0
  18. package/dist/createModel/createSessionModel.js +118 -0
  19. package/dist/createModel/index.d.ts +3 -0
  20. package/dist/createModel/index.js +12 -0
  21. package/dist/createViewState.d.ts +8683 -0
  22. package/dist/createViewState.js +79 -0
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.js +14 -0
  25. package/dist/loadPlugins.d.ts +13 -0
  26. package/dist/loadPlugins.js +12 -0
  27. package/dist/react-linear-genome-view.umd.production.min.js +185 -0
  28. package/dist/react-linear-genome-view.umd.production.min.js.LICENSE.txt +198 -0
  29. package/dist/react-linear-genome-view.umd.production.min.js.map +1 -0
  30. package/dist/rpcWorker.d.ts +2 -0
  31. package/dist/rpcWorker.js +49 -0
  32. package/dist/types.d.ts +5 -0
  33. package/dist/types.js +2 -0
  34. package/dist/version.d.ts +1 -0
  35. package/dist/version.js +4 -0
  36. package/dist/webpack.d.ts +8 -0
  37. package/dist/webpack.js +53 -0
  38. package/dist/workerPolyfill.d.ts +0 -0
  39. package/dist/workerPolyfill.js +32 -0
  40. package/docs/example.md +91 -0
  41. package/docs/img/exampleView.png +0 -0
  42. package/esm/JBrowseLinearGenomeView/JBrowseLinearGenomeView.d.ts +5 -0
  43. package/esm/JBrowseLinearGenomeView/JBrowseLinearGenomeView.js +17 -0
  44. package/esm/JBrowseLinearGenomeView/index.d.ts +1 -0
  45. package/esm/JBrowseLinearGenomeView/index.js +1 -0
  46. package/esm/corePlugins.d.ts +3 -0
  47. package/esm/corePlugins.js +33 -0
  48. package/esm/createModel/AboutDialog.d.ts +1 -0
  49. package/esm/createModel/AboutDialog.js +1 -0
  50. package/esm/createModel/createConfigModel.d.ts +94 -0
  51. package/esm/createModel/createConfigModel.js +37 -0
  52. package/esm/createModel/createModel.d.ts +3165 -0
  53. package/esm/createModel/createModel.js +79 -0
  54. package/esm/createModel/createSessionModel.d.ts +1170 -0
  55. package/esm/createModel/createSessionModel.js +79 -0
  56. package/esm/createModel/index.d.ts +3 -0
  57. package/esm/createModel/index.js +3 -0
  58. package/esm/createViewState.d.ts +8683 -0
  59. package/esm/createViewState.js +73 -0
  60. package/esm/index.d.ts +5 -0
  61. package/esm/index.js +4 -0
  62. package/esm/loadPlugins.d.ts +13 -0
  63. package/esm/loadPlugins.js +6 -0
  64. package/esm/makeWorkerInstance.d.ts +1 -0
  65. package/esm/makeWorkerInstance.js +3 -0
  66. package/esm/rpcWorker.d.ts +2 -0
  67. package/esm/rpcWorker.js +10 -0
  68. package/esm/types.d.ts +5 -0
  69. package/esm/types.js +1 -0
  70. package/esm/version.d.ts +1 -0
  71. package/esm/version.js +1 -0
  72. package/esm/webpack.d.ts +8 -0
  73. package/esm/webpack.js +7 -0
  74. package/esm/workerPolyfill.d.ts +0 -0
  75. package/esm/workerPolyfill.js +32 -0
  76. package/package.json +84 -0
@@ -0,0 +1,73 @@
1
+ import { assembleLocString, parseLocString } from '@jbrowse/core/util';
2
+ import { onPatch } from 'mobx-state-tree';
3
+ import createModel from './createModel';
4
+ export default function createViewState(opts) {
5
+ const { assembly, tracks, internetAccounts, configuration, aggregateTextSearchAdapters, plugins, location, highlight, onChange, disableAddTracks = false, makeWorkerInstance, } = opts;
6
+ const { model, pluginManager } = createModel(plugins || [], makeWorkerInstance);
7
+ let { defaultSession } = opts;
8
+ if (!defaultSession) {
9
+ defaultSession = {
10
+ name: 'this session',
11
+ view: {
12
+ id: 'linearGenomeView',
13
+ type: 'LinearGenomeView',
14
+ },
15
+ };
16
+ }
17
+ const stateTree = model.create({
18
+ config: {
19
+ configuration,
20
+ assembly,
21
+ tracks,
22
+ internetAccounts,
23
+ aggregateTextSearchAdapters,
24
+ },
25
+ disableAddTracks,
26
+ session: defaultSession,
27
+ }, { pluginManager });
28
+ for (const account of stateTree.config.internetAccounts) {
29
+ const internetAccountType = pluginManager.getInternetAccountType(account.type);
30
+ if (!internetAccountType) {
31
+ throw new Error(`unknown internet account type ${account.type}`);
32
+ }
33
+ stateTree.addInternetAccount({
34
+ type: account.type,
35
+ configuration: account,
36
+ });
37
+ }
38
+ pluginManager.setRootModel(stateTree);
39
+ pluginManager.configure();
40
+ if (location) {
41
+ ;
42
+ (async () => {
43
+ const { session } = stateTree;
44
+ const { isValidRefName } = session.assemblyManager;
45
+ try {
46
+ await session.view.navToLocString(typeof location === 'string' ? location : assembleLocString(location), assembly.name);
47
+ if (highlight) {
48
+ for (const h of highlight) {
49
+ if (h) {
50
+ const p = parseLocString(h, refName => isValidRefName(refName, assembly.name));
51
+ const { start, end } = p;
52
+ if (start !== undefined && end !== undefined) {
53
+ session.view.addToHighlights({
54
+ ...p,
55
+ start,
56
+ end,
57
+ assemblyName: assembly,
58
+ });
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ catch (e) {
65
+ session.notifyError(`${e}`, e);
66
+ }
67
+ })();
68
+ }
69
+ if (onChange) {
70
+ onPatch(stateTree, onChange);
71
+ }
72
+ return stateTree;
73
+ }
package/esm/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export { default as JBrowseLinearGenomeView } from './JBrowseLinearGenomeView';
2
+ export { default as createModel } from './createModel';
3
+ export { default as createViewState } from './createViewState';
4
+ export { default as loadPlugins } from './loadPlugins';
5
+ export type { ViewModel } from './createModel/createModel';
package/esm/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { default as JBrowseLinearGenomeView } from './JBrowseLinearGenomeView';
2
+ export { default as createModel } from './createModel';
3
+ export { default as createViewState } from './createViewState';
4
+ export { default as loadPlugins } from './loadPlugins';
@@ -0,0 +1,13 @@
1
+ import type { LoadedPlugin } from '@jbrowse/core/PluginLoader';
2
+ interface PluginDefinition {
3
+ name: string;
4
+ url: string;
5
+ }
6
+ export default function loadPlugins(pluginDefinitions: PluginDefinition[], args?: {
7
+ fetchESM?: (url: string) => Promise<LoadedPlugin>;
8
+ baseUrl?: string;
9
+ }): Promise<{
10
+ plugin: import("@jbrowse/core/Plugin").PluginConstructor;
11
+ definition: import("@jbrowse/core/PluginLoader").PluginDefinition;
12
+ }[]>;
13
+ export {};
@@ -0,0 +1,6 @@
1
+ import PluginLoader from '@jbrowse/core/PluginLoader';
2
+ export default async function loadPlugins(pluginDefinitions, args) {
3
+ const pluginLoader = new PluginLoader(pluginDefinitions, args);
4
+ pluginLoader.installGlobalReExports(window);
5
+ return pluginLoader.load(args === null || args === void 0 ? void 0 : args.baseUrl);
6
+ }
@@ -0,0 +1 @@
1
+ export default function makeWorkerInstance(): Worker;
@@ -0,0 +1,3 @@
1
+ export default function makeWorkerInstance() {
2
+ return new Worker(new URL('./rpcWorker', import.meta.url));
3
+ }
@@ -0,0 +1,2 @@
1
+ import './workerPolyfill';
2
+ export default function doNothing(): void;
@@ -0,0 +1,10 @@
1
+ import './workerPolyfill';
2
+ import { initializeWorker } from '@jbrowse/product-core';
3
+ import { enableStaticRendering } from 'mobx-react';
4
+ import corePlugins from './corePlugins';
5
+ enableStaticRendering(true);
6
+ initializeWorker(corePlugins, {
7
+ fetchESM: url => import(url),
8
+ });
9
+ export default function doNothing() {
10
+ }
package/esm/types.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import type { IAnyStateTreeNode } from 'mobx-state-tree';
2
+ export interface ReferringNode {
3
+ node: IAnyStateTreeNode;
4
+ key: string;
5
+ }
package/esm/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export const version: "3.2.0";
package/esm/version.js ADDED
@@ -0,0 +1 @@
1
+ export const version = '3.2.0';
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export { default as JBrowseLinearGenomeView } from './JBrowseLinearGenomeView';
3
+ export { default as createModel } from './createModel';
4
+ export { default as createViewState } from './createViewState';
5
+ export { default as loadPlugins } from './loadPlugins';
6
+ export type { ViewModel } from './createModel/createModel';
7
+ export * from 'react-dom/client';
8
+ export { React };
package/esm/webpack.js ADDED
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ export { default as JBrowseLinearGenomeView } from './JBrowseLinearGenomeView';
3
+ export { default as createModel } from './createModel';
4
+ export { default as createViewState } from './createViewState';
5
+ export { default as loadPlugins } from './loadPlugins';
6
+ export * from 'react-dom/client';
7
+ export { React };
File without changes
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ self.window = {
3
+ addEventListener() { },
4
+ fetch: self.fetch.bind(self),
5
+ location: self.location,
6
+ Date: self.Date,
7
+ requestIdleCallback: cb => {
8
+ cb();
9
+ },
10
+ cancelIdleCallback: () => { },
11
+ requestAnimationFrame: cb => {
12
+ cb();
13
+ },
14
+ cancelAnimationFrame: () => { },
15
+ navigator: {},
16
+ };
17
+ self.document = {
18
+ createTextNode() { },
19
+ querySelector() {
20
+ return { appendChild() { } };
21
+ },
22
+ documentElement: {},
23
+ querySelectorAll: () => [],
24
+ createElement() {
25
+ return {
26
+ style: {},
27
+ setAttribute() { },
28
+ removeAttribute() { },
29
+ appendChild() { },
30
+ };
31
+ },
32
+ };
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@jbrowse/react-linear-genome-view2",
3
+ "version": "3.2.0",
4
+ "description": "JBrowse 2 linear genome view React component",
5
+ "keywords": [
6
+ "jbrowse",
7
+ "jbrowse2"
8
+ ],
9
+ "license": "MIT",
10
+ "homepage": "https://jbrowse.org",
11
+ "bugs": "https://github.com/GMOD/jbrowse-components/issues",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/GMOD/jbrowse-components.git",
15
+ "directory": "products/jbrowse-react-linear-genome-view"
16
+ },
17
+ "author": "JBrowse Team",
18
+ "distMain": "dist/index.js",
19
+ "srcMain": "src/index.ts",
20
+ "distModule": "esm/index.js",
21
+ "srcModule": "src/index.ts",
22
+ "module": "esm/index.js",
23
+ "main": "dist/index.js",
24
+ "files": [
25
+ "dist",
26
+ "esm",
27
+ "docs"
28
+ ],
29
+ "scripts": {
30
+ "build": "npm-run-all build:*",
31
+ "prepublishOnly": "node output-version.js > src/version.js && git add -A src && git commit -m '[skip ci] Bump version.js'",
32
+ "build:esm": "tsc --build tsconfig.build.esm.json",
33
+ "build:commonjs": "tsc --build tsconfig.build.commonjs.json",
34
+ "build:webpack": "webpack",
35
+ "clean": "rimraf dist esm *.tsbuildinfo",
36
+ "storybook": "storybook dev --port 6006",
37
+ "storybook:build": "storybook build",
38
+ "prebuild": "yarn clean",
39
+ "prepack": "yarn build && yarn useDist",
40
+ "postpack": "yarn useSrc",
41
+ "useDist": "node ../../scripts/useDist.js",
42
+ "useSrc": "node ../../scripts/useSrc.js"
43
+ },
44
+ "dependencies": {
45
+ "@babel/runtime": "^7.17.9",
46
+ "@emotion/cache": "^11.7.1",
47
+ "@emotion/react": "^11.9.0",
48
+ "@emotion/styled": "^11.8.1",
49
+ "@jbrowse/core": "^3.2.0",
50
+ "@jbrowse/embedded-core": "^3.2.0",
51
+ "@jbrowse/plugin-alignments": "^3.2.0",
52
+ "@jbrowse/plugin-arc": "^3.2.0",
53
+ "@jbrowse/plugin-authentication": "^3.2.0",
54
+ "@jbrowse/plugin-bed": "^3.2.0",
55
+ "@jbrowse/plugin-circular-view": "^3.2.0",
56
+ "@jbrowse/plugin-config": "^3.2.0",
57
+ "@jbrowse/plugin-data-management": "^3.2.0",
58
+ "@jbrowse/plugin-gccontent": "^3.2.0",
59
+ "@jbrowse/plugin-gff3": "^3.2.0",
60
+ "@jbrowse/plugin-legacy-jbrowse": "^3.2.0",
61
+ "@jbrowse/plugin-linear-genome-view": "^3.2.0",
62
+ "@jbrowse/plugin-sequence": "^3.2.0",
63
+ "@jbrowse/plugin-svg": "^3.2.0",
64
+ "@jbrowse/plugin-trix": "^3.2.0",
65
+ "@jbrowse/plugin-variants": "^3.2.0",
66
+ "@jbrowse/plugin-wiggle": "^3.2.0",
67
+ "@jbrowse/product-core": "^3.2.0",
68
+ "@mui/icons-material": "^6.0.0",
69
+ "@mui/material": "^6.0.0",
70
+ "deepmerge": "^4.3.1",
71
+ "mobx": "^6.6.0",
72
+ "mobx-react": "^9.0.0",
73
+ "mobx-state-tree": "^5.0.0",
74
+ "rxjs": "^7.0.0",
75
+ "tss-react": "^4.4.1"
76
+ },
77
+ "peerDependencies": {
78
+ "react": ">=18.0.0"
79
+ },
80
+ "publishConfig": {
81
+ "access": "public"
82
+ },
83
+ "gitHead": "c750e3f56706a490c19ba75abd807fec5e38aebf"
84
+ }