@weng-lab/genomebrowser 1.5.1 → 1.6.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.
package/dist/lib.d.ts CHANGED
@@ -8,9 +8,9 @@ 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 { createBrowserStore, InitialBrowserState, BrowserStoreInstance } from './store/browserStore';
12
- import { createTrackStore, Track, TrackStoreInstance } from './store/trackStore';
13
- import { createDataStore, DataStoreInstance } from './store/dataStore';
11
+ import { createBrowserStore, createBrowserStoreMemo, InitialBrowserState, BrowserStoreInstance } from './store/browserStore';
12
+ import { createTrackStore, createTrackStoreMemo, Track, TrackStoreInstance } from './store/trackStore';
13
+ import { createDataStore, createDataStoreMemo, DataStoreInstance } from './store/dataStore';
14
14
  import { Highlight } from './components/highlight/types';
15
15
  import { DisplayMode, TrackType } from './components/tracks/types';
16
16
  import { Vibrant, Pastels } from './utils/color';
@@ -28,9 +28,9 @@ export type { TranscriptConfig, SquishTranscriptProps, PackTranscriptProps, Tran
28
28
  export type { MethylCConfig, MethylCProps, MethylData };
29
29
  export type { LDTrackConfig, LDProps, SNP };
30
30
  export type { ManhattanTrackConfig, ManhattanPoint };
31
- export { createBrowserStore, type InitialBrowserState, type BrowserStoreInstance };
32
- export { createTrackStore, type Track, type TrackStoreInstance };
33
- export { createDataStore, type DataStoreInstance };
31
+ export { createBrowserStore, createBrowserStoreMemo, type InitialBrowserState, type BrowserStoreInstance };
32
+ export { createTrackStore, createTrackStoreMemo, type Track, type TrackStoreInstance };
33
+ export { createDataStore, createDataStoreMemo, type DataStoreInstance };
34
34
  export type { Highlight };
35
35
  export { DisplayMode, TrackType };
36
36
  export { Vibrant, Pastels };
@@ -34,5 +34,16 @@ export interface BrowserStore {
34
34
  addHighlight: (highlight: Highlight) => void;
35
35
  removeHighlight: (id: string) => void;
36
36
  }
37
- export type BrowserStoreInstance = ReturnType<typeof createBrowserStore>;
38
- export declare function createBrowserStore(initialState: InitialBrowserState): import('zustand').UseBoundStore<import('zustand').StoreApi<BrowserStore>>;
37
+ export type BrowserStoreInstance = ReturnType<typeof createBrowserStoreInternal>;
38
+ /**
39
+ * @deprecated Use createBrowserStoreMemo instead
40
+ */
41
+ export declare const createBrowserStore: typeof createBrowserStoreInternal;
42
+ /**
43
+ * Create a memoized browser store to hold browser configs.
44
+ * @param initialState - The initial state of the browser
45
+ * @param deps - The dependencies to track for memoization
46
+ * @returns The created store
47
+ */
48
+ export declare function createBrowserStoreMemo(initialState: InitialBrowserState, deps?: React.DependencyList): import('zustand').UseBoundStore<import('zustand').StoreApi<BrowserStore>>;
49
+ export declare function createBrowserStoreInternal(initialState: InitialBrowserState): import('zustand').UseBoundStore<import('zustand').StoreApi<BrowserStore>>;
@@ -7,5 +7,16 @@ export interface DataStore {
7
7
  setLoading: (loading: boolean) => void;
8
8
  setFetching: (fetching: boolean) => void;
9
9
  }
10
- export type DataStoreInstance = ReturnType<typeof createDataStore>;
11
- export declare function createDataStore(): import('zustand').UseBoundStore<import('zustand').StoreApi<DataStore>>;
10
+ export type DataStoreInstance = ReturnType<typeof createDataStoreInternal>;
11
+ /**
12
+ * @deprecated Use createDataStoreMemo instead
13
+ */
14
+ export declare const createDataStore: typeof createDataStoreInternal;
15
+ /**
16
+ * Create a memoized data store to hold data.
17
+ * @param deps - The dependencies to track for memoization (typically not required)
18
+ * @returns The created store
19
+ */
20
+ export declare function createDataStoreMemo(deps?: React.DependencyList): import('zustand').UseBoundStore<import('zustand').StoreApi<DataStore>>;
21
+ declare function createDataStoreInternal(): import('zustand').UseBoundStore<import('zustand').StoreApi<DataStore>>;
22
+ export {};
@@ -33,6 +33,17 @@ export interface TrackStore {
33
33
  editTrack: <T extends Track>(id: string, partial: Partial<T>) => void;
34
34
  editAllTracksByType: <T extends Track>(trackType: TrackType, partial: Partial<T>) => void;
35
35
  }
36
- export type TrackStoreInstance = ReturnType<typeof createTrackStore>;
37
- export declare function createTrackStore(tracks?: Track[]): import('zustand').UseBoundStore<import('zustand').StoreApi<TrackStore>>;
36
+ export type TrackStoreInstance = ReturnType<typeof createTrackStoreInternal>;
37
+ /**
38
+ * @deprecated Use createTrackStoreMemo instead
39
+ */
40
+ export declare const createTrackStore: typeof createTrackStoreInternal;
41
+ /**
42
+ * Create a memoized track store to hold track configs.
43
+ * @param tracks - The initial track list
44
+ * @param deps - The dependencies to track for memoization
45
+ * @returns The created store
46
+ */
47
+ export declare function createTrackStoreMemo(tracks: Track[], deps?: React.DependencyList): import('zustand').UseBoundStore<import('zustand').StoreApi<TrackStore>>;
48
+ export declare function createTrackStoreInternal(tracks?: Track[]): import('zustand').UseBoundStore<import('zustand').StoreApi<TrackStore>>;
38
49
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@weng-lab/genomebrowser",
3
3
  "private": false,
4
- "version": "1.5.1",
4
+ "version": "1.6.0",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "files": [