loom-browser 0.0.3 → 0.0.4

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 (38) hide show
  1. package/README.md +28 -3
  2. package/dist/loom-react.esm.js +13290 -0
  3. package/dist/loom-react.esm.min.js +2 -0
  4. package/dist/loom-react.esm.min.js.map +1 -0
  5. package/dist/loom.esm.js +166 -147
  6. package/dist/loom.esm.min.js +1 -1
  7. package/dist/loom.esm.min.js.map +1 -1
  8. package/dist/loom.js +165 -148
  9. package/dist/loom.min.js +1 -1
  10. package/dist/loom.min.js.map +1 -1
  11. package/dist/tsconfig.src.tsbuildinfo +1 -0
  12. package/dist/types/headlessGenomeBrowser.d.ts +8 -1
  13. package/dist/types/index.d.ts +0 -1
  14. package/dist/types/react/GenomeBrowserContext.d.ts +6 -0
  15. package/dist/types/react/LoomBrowser.d.ts +86 -0
  16. package/dist/types/react/hooks/index.d.ts +3 -0
  17. package/dist/types/react/hooks/useBrowserEvent.d.ts +7 -0
  18. package/dist/types/react/hooks/useGenomeBrowser.d.ts +7 -0
  19. package/dist/types/react/hooks/useLocus.d.ts +11 -0
  20. package/dist/types/react/hooks/useTrackManager.d.ts +11 -0
  21. package/dist/types/react/index.d.ts +7 -0
  22. package/dist/types/react/tracks/BedTrack.d.ts +14 -0
  23. package/dist/types/react/tracks/GeneTrack.d.ts +14 -0
  24. package/dist/types/react/tracks/GtxTrack.d.ts +13 -0
  25. package/dist/types/react/tracks/InteractionTrack.d.ts +12 -0
  26. package/dist/types/react/tracks/RulerTrack.d.ts +6 -0
  27. package/dist/types/react/tracks/SequenceTrack.d.ts +6 -0
  28. package/dist/types/react/tracks/WigTrack.d.ts +12 -0
  29. package/dist/types/react/tracks/index.d.ts +14 -0
  30. package/dist/types/tracks/annotation/annotationTrackCanvas.d.ts +1 -0
  31. package/dist/types/tracks/baseTrackCanvas.d.ts +2 -0
  32. package/dist/types/tracks/interaction/interactionTrackCanvas.d.ts +1 -0
  33. package/dist/types/tracks/ruler/rulerTrackCanvas.d.ts +1 -0
  34. package/dist/types/tracks/sequence/sequenceTrackCanvas.d.ts +1 -0
  35. package/dist/types/tracks/wig/wigTrackCanvas.d.ts +1 -0
  36. package/dist/types/types.d.ts +2 -0
  37. package/dist/types/ui/components/LoomBrowserShell.d.ts +9 -1
  38. package/package.json +20 -1
package/README.md CHANGED
@@ -66,13 +66,14 @@ Drop in a full browser shell with navbar, locus search, zoom controls, and expor
66
66
  ```ts
67
67
  import { createShell } from 'loom-browser'
68
68
 
69
+ // 5 lines to a fully working genome browser with ruler + gene tracks
69
70
  const shell = createShell(document.getElementById('container')!, {
70
71
  locus: { chr: 'chr17', start: 7_668_000, end: 7_688_000 },
71
- shellTheme: 'modern', // 'classic' | 'modern' | 'dark'
72
+ shellTheme: 'dark', // 'classic' | 'modern' | 'dark' — auto-maps render theme
72
73
  })
73
74
 
74
- shell.browser.addRuler()
75
- shell.browser.addGeneTrack()
75
+ // Add more tracks as needed
76
+ shell.browser.addWigTrack('https://example.com/signal.bigWig')
76
77
  ```
77
78
 
78
79
  Or use the custom element directly:
@@ -81,6 +82,30 @@ Or use the custom element directly:
81
82
  <loom-browser theme="modern" id="my-browser"></loom-browser>
82
83
  ```
83
84
 
85
+ ### React
86
+
87
+ Declarative React bindings are available via `loom-browser/react`. Tracks are JSX children that auto-add on mount and auto-remove on unmount. React 18+ is required but optional — if you don't import from `loom-browser/react`, no React code is included.
88
+
89
+ ```tsx
90
+ import { LoomBrowser, RulerTrack, WigTrack, GeneTrack } from 'loom-browser/react'
91
+ import { modernRenderTheme } from 'loom-browser'
92
+
93
+ function App() {
94
+ const [locus, setLocus] = useState({ chr: 'chr17', start: 7_668_000, end: 7_688_000 })
95
+
96
+ return (
97
+ <LoomBrowser locus={locus} onLocusChange={setLocus} theme={modernRenderTheme}
98
+ style={{ height: 400 }}>
99
+ <RulerTrack />
100
+ <WigTrack url="https://example.com/signal.bw" config={{ color: '#4A90D9' }} />
101
+ <GeneTrack />
102
+ </LoomBrowser>
103
+ )
104
+ }
105
+ ```
106
+
107
+ Hooks: `useGenomeBrowser()`, `useBrowserEvent(event, handler)`, `useLocus()`.
108
+
84
109
  ## Track Types
85
110
 
86
111
  | Type | Method | Formats | Description |