@weng-lab/genomebrowser 1.7.12 → 1.8.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 (107) hide show
  1. package/dist/genomebrowser.es.js +9669 -8807
  2. package/dist/genomebrowser.es.js.map +1 -1
  3. package/dist/{api → src/api}/fetchers.d.ts +5 -0
  4. package/dist/src/components/tracks/custom/types.d.ts +15 -0
  5. package/dist/{components → src/components}/tracks/methylC/helpers.d.ts +1 -1
  6. package/dist/{components → src/components}/tracks/types.d.ts +2 -1
  7. package/dist/{lib.d.ts → src/lib.d.ts} +26 -2
  8. package/dist/{store → src/store}/trackStore.d.ts +2 -1
  9. package/package.json +1 -1
  10. /package/dist/{api → src/api}/getBigWigData.d.ts +0 -0
  11. /package/dist/{api → src/api}/queries.d.ts +0 -0
  12. /package/dist/{components → src/components}/browser/GQLWrapper.d.ts +0 -0
  13. /package/dist/{components → src/components}/browser/browser.d.ts +0 -0
  14. /package/dist/{components → src/components}/browser/svgWrapper.d.ts +0 -0
  15. /package/dist/{components → src/components}/contextMenu/contextMenu.d.ts +0 -0
  16. /package/dist/{components → src/components}/cytoband/centromere.d.ts +0 -0
  17. /package/dist/{components → src/components}/cytoband/cytoband.d.ts +0 -0
  18. /package/dist/{components → src/components}/cytoband/cytobands.d.ts +0 -0
  19. /package/dist/{components → src/components}/cytoband/highlight.d.ts +0 -0
  20. /package/dist/{components → src/components}/cytoband/types.d.ts +0 -0
  21. /package/dist/{components → src/components}/highlight/highlights.d.ts +0 -0
  22. /package/dist/{components → src/components}/highlight/types.d.ts +0 -0
  23. /package/dist/{components → src/components}/modal/bigWig/range.d.ts +0 -0
  24. /package/dist/{components → src/components}/modal/bulkbed/datasetList.d.ts +0 -0
  25. /package/dist/{components → src/components}/modal/bulkbed/gap.d.ts +0 -0
  26. /package/dist/{components → src/components}/modal/helpers.d.ts +0 -0
  27. /package/dist/{components → src/components}/modal/modal.d.ts +0 -0
  28. /package/dist/{components → src/components}/modal/shared/base.d.ts +0 -0
  29. /package/dist/{components → src/components}/modal/shared/display.d.ts +0 -0
  30. /package/dist/{components → src/components}/modal/shared/download.d.ts +0 -0
  31. /package/dist/{components → src/components}/modal/shared/form.d.ts +0 -0
  32. /package/dist/{components → src/components}/modal/shared/height.d.ts +0 -0
  33. /package/dist/{components → src/components}/modal/shared/value.d.ts +0 -0
  34. /package/dist/{components → src/components}/modal/transcript/geneName.d.ts +0 -0
  35. /package/dist/{components → src/components}/modal/transcript/version.d.ts +0 -0
  36. /package/dist/{components → src/components}/svg/clipPath.d.ts +0 -0
  37. /package/dist/{components → src/components}/tooltip/defaultTooltip.d.ts +0 -0
  38. /package/dist/{components → src/components}/tooltip/tooltip.d.ts +0 -0
  39. /package/dist/{components → src/components}/tracks/bigbed/dense.d.ts +0 -0
  40. /package/dist/{components → src/components}/tracks/bigbed/helpers.d.ts +0 -0
  41. /package/dist/{components → src/components}/tracks/bigbed/squish.d.ts +0 -0
  42. /package/dist/{components → src/components}/tracks/bigbed/types.d.ts +0 -0
  43. /package/dist/{components → src/components}/tracks/bigwig/dense.d.ts +0 -0
  44. /package/dist/{components → src/components}/tracks/bigwig/full.d.ts +0 -0
  45. /package/dist/{components → src/components}/tracks/bigwig/helpers.d.ts +0 -0
  46. /package/dist/{components → src/components}/tracks/bigwig/rework.d.ts +0 -0
  47. /package/dist/{components → src/components}/tracks/bigwig/types.d.ts +0 -0
  48. /package/dist/{components → src/components}/tracks/bulkbed/bulkbed.d.ts +0 -0
  49. /package/dist/{components → src/components}/tracks/bulkbed/types.d.ts +0 -0
  50. /package/dist/{components → src/components}/tracks/displayTrack.d.ts +0 -0
  51. /package/dist/{components → src/components}/tracks/importance/helpers.d.ts +0 -0
  52. /package/dist/{components → src/components}/tracks/importance/importance.d.ts +0 -0
  53. /package/dist/{components → src/components}/tracks/importance/letter.d.ts +0 -0
  54. /package/dist/{components → src/components}/tracks/importance/types.d.ts +0 -0
  55. /package/dist/{components → src/components}/tracks/ldtrack/genericld.d.ts +0 -0
  56. /package/dist/{components → src/components}/tracks/ldtrack/helpers.d.ts +0 -0
  57. /package/dist/{components → src/components}/tracks/ldtrack/ldblock.d.ts +0 -0
  58. /package/dist/{components → src/components}/tracks/ldtrack/types.d.ts +0 -0
  59. /package/dist/{components → src/components}/tracks/manhattan/scatter.d.ts +0 -0
  60. /package/dist/{components → src/components}/tracks/manhattan/types.d.ts +0 -0
  61. /package/dist/{components → src/components}/tracks/methylC/combined.d.ts +0 -0
  62. /package/dist/{components → src/components}/tracks/methylC/defaultMethylCTooltip.d.ts +0 -0
  63. /package/dist/{components → src/components}/tracks/methylC/split.d.ts +0 -0
  64. /package/dist/{components → src/components}/tracks/methylC/types.d.ts +0 -0
  65. /package/dist/{components → src/components}/tracks/motif/defaultMotifTooltip.d.ts +0 -0
  66. /package/dist/{components → src/components}/tracks/motif/dense.d.ts +0 -0
  67. /package/dist/{components → src/components}/tracks/motif/helpers.d.ts +0 -0
  68. /package/dist/{components → src/components}/tracks/motif/squish.d.ts +0 -0
  69. /package/dist/{components → src/components}/tracks/motif/types.d.ts +0 -0
  70. /package/dist/{components → src/components}/tracks/ruler/ruler.d.ts +0 -0
  71. /package/dist/{components → src/components}/tracks/ruler/selectRegion.d.ts +0 -0
  72. /package/dist/{components → src/components}/tracks/transcript/helper.d.ts +0 -0
  73. /package/dist/{components → src/components}/tracks/transcript/pack.d.ts +0 -0
  74. /package/dist/{components → src/components}/tracks/transcript/squish.d.ts +0 -0
  75. /package/dist/{components → src/components}/tracks/transcript/types.d.ts +0 -0
  76. /package/dist/{components → src/components}/tracks/wrapper/dragTrack.d.ts +0 -0
  77. /package/dist/{components → src/components}/tracks/wrapper/margin.d.ts +0 -0
  78. /package/dist/{components → src/components}/tracks/wrapper/swapTrack.d.ts +0 -0
  79. /package/dist/{components → src/components}/tracks/wrapper/wrapper.d.ts +0 -0
  80. /package/dist/{hooks → src/hooks}/useBrowserScale.d.ts +0 -0
  81. /package/dist/{hooks → src/hooks}/useCustomData.d.ts +0 -0
  82. /package/dist/{hooks → src/hooks}/useDataFetcher.d.ts +0 -0
  83. /package/dist/{hooks → src/hooks}/useDebounce.d.ts +0 -0
  84. /package/dist/{hooks → src/hooks}/useInteraction.d.ts +0 -0
  85. /package/dist/{hooks → src/hooks}/useMousePosition.d.ts +0 -0
  86. /package/dist/{hooks → src/hooks}/useRowHeight.d.ts +0 -0
  87. /package/dist/{hooks → src/hooks}/useTrackLayout.d.ts +0 -0
  88. /package/dist/{hooks → src/hooks}/useXTransform.d.ts +0 -0
  89. /package/dist/{icons → src/icons}/bottomIcon.d.ts +0 -0
  90. /package/dist/{icons → src/icons}/errorIcon.d.ts +0 -0
  91. /package/dist/{icons → src/icons}/loadingSpinner.d.ts +0 -0
  92. /package/dist/{icons → src/icons}/refresh.d.ts +0 -0
  93. /package/dist/{icons → src/icons}/settingsIcon.d.ts +0 -0
  94. /package/dist/{icons → src/icons}/topIcon.d.ts +0 -0
  95. /package/dist/{store → src/store}/BrowserContext.d.ts +0 -0
  96. /package/dist/{store → src/store}/browserStore.d.ts +0 -0
  97. /package/dist/{store → src/store}/contextMenuStore.d.ts +0 -0
  98. /package/dist/{store → src/store}/dataStore.d.ts +0 -0
  99. /package/dist/{store → src/store}/modalStore.d.ts +0 -0
  100. /package/dist/{store → src/store}/themeStore.d.ts +0 -0
  101. /package/dist/{store → src/store}/tooltipStore.d.ts +0 -0
  102. /package/dist/{ui.d.ts → src/ui.d.ts} +0 -0
  103. /package/dist/{utils → src/utils}/color.d.ts +0 -0
  104. /package/dist/{utils → src/utils}/coordinates.d.ts +0 -0
  105. /package/dist/{utils → src/utils}/download.d.ts +0 -0
  106. /package/dist/{utils → src/utils}/svg.d.ts +0 -0
  107. /package/dist/{utils → src/utils}/types.d.ts +0 -0
@@ -18,6 +18,11 @@ export type FetcherContext<T extends Track = Track> = {
18
18
  };
19
19
  export type FetchFunction = (ctx: FetcherContext) => Promise<TrackDataState>;
20
20
  export declare function getBigDataRace(url: string, expandedDomain: Domain, preRenderedWidth: number, queries: QueryHooks): Promise<TrackDataState>;
21
+ /**
22
+ * Fetch a BigBed/BigWig URL using the fetcher context.
23
+ * Useful for custom track fetchers that need to load .bb/.bw files.
24
+ */
25
+ export declare function fetchBigBedUrl(url: string, ctx: FetcherContext): Promise<TrackDataState>;
21
26
  /**
22
27
  * Registry of fetcher functions by track type
23
28
  */
@@ -0,0 +1,15 @@
1
+ import { FetcherContext } from '../../../api/fetchers';
2
+ import { TrackDataState } from '../../../store/dataStore';
3
+ import { Config, DisplayMode, TrackDimensions, TrackType } from '../types';
4
+ export interface CustomTrackConfig<Item = any> extends Config<Item> {
5
+ trackType: TrackType.Custom;
6
+ renderers: Partial<Record<DisplayMode, React.ComponentType<any>>>;
7
+ fetcher: (ctx: FetcherContext) => Promise<TrackDataState>;
8
+ settingsPanel?: React.ComponentType<{
9
+ id: string;
10
+ }>;
11
+ }
12
+ export interface CustomTrackProps<Data = any, Item = any> extends Config<Item> {
13
+ data: Data;
14
+ dimensions: TrackDimensions;
15
+ }
@@ -1,5 +1,5 @@
1
1
  import { ValuedPoint, YRange } from '../bigwig/types';
2
- export declare function generateSignal2(data: ValuedPoint[], height: number, color: string, inverted?: boolean, range?: YRange): {
2
+ export declare function generateSignal2(data: ValuedPoint[], height: number, color: string, inverted?: boolean, customRange?: YRange): {
3
3
  indicator: import("react/jsx-runtime").JSX.Element;
4
4
  values: import("react/jsx-runtime").JSX.Element;
5
5
  } | null;
@@ -7,7 +7,8 @@ export declare enum TrackType {
7
7
  LDTrack = "ldtrack",
8
8
  BulkBed = "bulkbed",
9
9
  MethylC = "methylc",
10
- Manhattan = "manhattan"
10
+ Manhattan = "manhattan",
11
+ Custom = "custom"
11
12
  }
12
13
  export declare enum DisplayMode {
13
14
  Full = "full",
@@ -8,16 +8,26 @@ import { TranscriptConfig, SquishTranscriptProps, PackTranscriptProps, Transcrip
8
8
  import { MethylCConfig, MethylCProps, MethylData } from './components/tracks/methylC/types';
9
9
  import { LDTrackConfig, LDProps, SNP } from './components/tracks/ldtrack/types';
10
10
  import { ManhattanTrackConfig, ManhattanPoint } from './components/tracks/manhattan/types';
11
+ import { CustomTrackConfig, CustomTrackProps } from './components/tracks/custom/types';
11
12
  import { createBrowserStore, createBrowserStoreMemo, InitialBrowserState, BrowserStoreInstance } from './store/browserStore';
12
13
  import { createTrackStore, createTrackStoreMemo, Track, TrackStoreInstance } from './store/trackStore';
13
- import { createDataStore, createDataStoreMemo, DataStoreInstance } from './store/dataStore';
14
+ import { createDataStore, createDataStoreMemo, DataStoreInstance, TrackDataState } from './store/dataStore';
14
15
  import { Highlight } from './components/highlight/types';
15
- import { DisplayMode, TrackType } from './components/tracks/types';
16
+ import { DisplayMode, TrackType, Config, TrackDimensions, InteractionConfig, DisplayConfig } from './components/tracks/types';
16
17
  import { Vibrant, Pastels } from './utils/color';
17
18
  import { Domain, Chromosome } from './utils/types';
18
19
  import { default as GQLWrapper } from './components/browser/GQLWrapper';
19
20
  import { default as Cytobands } from './components/cytoband/cytobands';
20
21
  import { default as useCustomData } from './hooks/useCustomData';
22
+ import { getBigDataRace, fetchBigBedUrl, FetcherContext, FetchFunction } from './api/fetchers';
23
+ import { useXTransform } from './hooks/useXTransform';
24
+ import { default as useInteraction } from './hooks/useInteraction';
25
+ import { useMouseToIndex } from './hooks/useMousePosition';
26
+ import { default as useBrowserScale } from './hooks/useBrowserScale';
27
+ import { useRowHeight } from './hooks/useRowHeight';
28
+ import { default as ClipPath } from './components/svg/clipPath';
29
+ import { renderSquishBigBedData, renderDenseBigBedData } from './components/tracks/bigbed/helpers';
30
+ import { useBrowserStore, useTrackStore } from './store/BrowserContext';
21
31
  export { Browser };
22
32
  export type { BigBedConfig, SquishBigBedProps, DenseBigBedProps, Rect };
23
33
  export type { BulkBedConfig, BulkBedProps, BulkBedDataset, BulkBedRect };
@@ -28,13 +38,27 @@ export type { TranscriptConfig, SquishTranscriptProps, PackTranscriptProps, Tran
28
38
  export type { MethylCConfig, MethylCProps, MethylData };
29
39
  export type { LDTrackConfig, LDProps, SNP };
30
40
  export type { ManhattanTrackConfig, ManhattanPoint };
41
+ export type { CustomTrackConfig, CustomTrackProps };
31
42
  export { createBrowserStore, createBrowserStoreMemo, type InitialBrowserState, type BrowserStoreInstance };
32
43
  export { createTrackStore, createTrackStoreMemo, type Track, type TrackStoreInstance };
33
44
  export { createDataStore, createDataStoreMemo, type DataStoreInstance };
34
45
  export type { Highlight };
35
46
  export { DisplayMode, TrackType };
47
+ export type { Config, TrackDimensions, InteractionConfig, DisplayConfig };
36
48
  export { Vibrant, Pastels };
37
49
  export type { Domain, Chromosome };
38
50
  export { GQLWrapper };
39
51
  export { Cytobands };
40
52
  export { useCustomData };
53
+ export { getBigDataRace, fetchBigBedUrl };
54
+ export type { FetcherContext, FetchFunction };
55
+ export type { TrackDataState };
56
+ export { useXTransform };
57
+ export { useInteraction };
58
+ export { useMouseToIndex };
59
+ export { useBrowserScale };
60
+ export { useRowHeight };
61
+ export { ClipPath };
62
+ export { renderSquishBigBedData, renderDenseBigBedData };
63
+ export { useBrowserStore, useTrackStore };
64
+ export { tfPeaksTrack } from '../custom/tfmotif/TfPeaks';
@@ -8,13 +8,14 @@ import { LDTrackConfig } from '../components/tracks/ldtrack/types';
8
8
  import { MethylCConfig } from '../components/tracks/methylC/types';
9
9
  import { TrackType } from '../components/tracks/types';
10
10
  import { ManhattanTrackConfig } from '../components/tracks/manhattan/types';
11
+ import { CustomTrackConfig } from '../components/tracks/custom/types';
11
12
  type WrapperDimensions = {
12
13
  trackMargin: number;
13
14
  titleSize: number;
14
15
  totalVerticalMargin: number;
15
16
  wrapperHeight: number;
16
17
  };
17
- export type Track = BigWigConfig | BigBedConfig | BulkBedConfig | TranscriptConfig | MotifConfig | ImportanceConfig | LDTrackConfig | MethylCConfig | ManhattanTrackConfig;
18
+ export type Track = BigWigConfig | BigBedConfig | BulkBedConfig | TranscriptConfig | MotifConfig | ImportanceConfig | LDTrackConfig | MethylCConfig | ManhattanTrackConfig | CustomTrackConfig;
18
19
  export interface TrackStore {
19
20
  tracks: Track[];
20
21
  ids: string[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@weng-lab/genomebrowser",
3
3
  "private": false,
4
- "version": "1.7.12",
4
+ "version": "1.8.1",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "files": [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes