@datagrok-libraries/bio 5.53.2 → 5.53.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # bio changelog
2
2
 
3
+ ## 5.53.3 (2025-06-02)
4
+
5
+ * MSA header tracks
6
+ * Faster methods for getting regions from ISeqSplitted
7
+
3
8
  ## 5.52.0 (2025-05-12)
4
9
 
5
10
  Sequence rendering with shift configuration. MSA improvements
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.53.2",
11
+ "version": "5.53.3",
12
12
  "description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
13
13
  "dependencies": {
14
14
  "@datagrok-libraries/chem-meta": "^1.2.7",
@@ -9,6 +9,11 @@ export interface ISeqSplitted {
9
9
  /** For fasta and Helm must not be enclosed to square brackets [meA].*/
10
10
  getOriginal(posIdx: number): string;
11
11
  length: number;
12
+ /** Returns list of canonical monomers in the region specified */
13
+ getCanonicalRegion(start: number, end: number): string[];
14
+ /** Returns the list of original monomers in the region specified */
15
+ getOriginalRegion(start: number, end: number): string[];
16
+ get gapOriginal(): string;
12
17
  }
13
18
  export interface INotationProvider {
14
19
  get defaultGapOriginal(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B,MAAM;IACN,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAErC,uEAAuE;IACvE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAKpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,kBAAkB,IAAI,MAAM,CAAC;IAEjC,wGAAwG;IACxG,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,IAAI,QAAQ,IAAI,YAAY,CAAC;IAE7B,0DAA0D;IAC1D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC;IAE3C,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;CAClH;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnD,8BAA8B;AAC9B,qBAAa,aAAa;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM;CAKhE;AAED,yCAAyC;AACzC,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;gBAEP,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM;CAK7E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B,MAAM;IACN,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAErC,uEAAuE;IACvE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAKpC,MAAM,EAAE,MAAM,CAAC;IAEf,iEAAiE;IACjE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzD,oEAAoE;IACpE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExD,IAAI,WAAW,IAAI,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,kBAAkB,IAAI,MAAM,CAAC;IAEjC,wGAAwG;IACxG,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,IAAI,QAAQ,IAAI,YAAY,CAAC;IAE7B,0DAA0D;IAC1D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC;IAE3C,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;CAClH;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnD,8BAA8B;AAC9B,qBAAa,aAAa;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM;CAKhE;AAED,yCAAyC;AACzC,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;gBAEP,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM;CAK7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AA0CA,8BAA8B;AAC9B,MAAM,OAAO,aAAa;IAKxB,YAAY,IAAY,EAAE,QAAqB,EAAE,MAAc;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IAKjD,YAAY,SAAwB,EAAE,IAAkB,EAAE,UAAkB;QAC1E,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAkDA,8BAA8B;AAC9B,MAAM,OAAO,aAAa;IAKxB,YAAY,IAAY,EAAE,QAAqB,EAAE,MAAc;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IAKjD,YAAY,SAAwB,EAAE,IAAkB,EAAE,UAAkB;QAC1E,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -11,6 +11,9 @@ export declare class StringListSeqSplitted implements ISeqSplitted {
11
11
  /** @param {number} posIdx monomer position 0-based index */
12
12
  getCanonical(posIdx: number): string;
13
13
  getOriginal(posIdx: number): string;
14
+ getCanonicalRegion(start: number, end: number): string[];
15
+ getOriginalRegion(start: number, end: number): string[];
16
+ get gapOriginal(): string;
14
17
  constructor(mList: SeqSplittedBase, gapOriginalMonomer: string);
15
18
  }
16
19
  export declare class FastaSimpleSeqSplitted implements ISeqSplitted {
@@ -19,6 +22,9 @@ export declare class FastaSimpleSeqSplitted implements ISeqSplitted {
19
22
  isGap(posIdx: number): boolean;
20
23
  getCanonical(posIdx: number): string;
21
24
  getOriginal(posIdx: number): string;
25
+ getCanonicalRegion(start: number, end: number): string[];
26
+ getOriginalRegion(start: number, end: number): string[];
27
+ get gapOriginal(): string;
22
28
  constructor(seqS: string);
23
29
  }
24
30
  /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,22 @@ export class StringListSeqSplitted {
26
26
  throw new Error('Index out of bounds');
27
27
  return this.mList[posIdx];
28
28
  }
29
+ getCanonicalRegion(start, end) {
30
+ const actStart = Math.max(0, start);
31
+ const actEnd = Math.min(this.length, end);
32
+ const len = actEnd - actStart;
33
+ const gap = this.gapOriginalMonomer;
34
+ return new Array(len).fill(null).map((_, i) => { const om = this.mList[i + actStart]; return om === gap ? GAP_SYMBOL : om; });
35
+ }
36
+ getOriginalRegion(start, end) {
37
+ const actStart = Math.max(0, start);
38
+ const actEnd = Math.min(this.length, end);
39
+ const len = actEnd - actStart;
40
+ return new Array(len).fill(null).map((_, i) => this.mList[i + actStart]);
41
+ }
42
+ get gapOriginal() {
43
+ return this.gapOriginalMonomer;
44
+ }
29
45
  constructor(mList, gapOriginalMonomer) {
30
46
  this.mList = mList;
31
47
  this.gapOriginalMonomer = gapOriginalMonomer;
@@ -48,6 +64,24 @@ export class FastaSimpleSeqSplitted {
48
64
  throw new Error('Index out of bounds');
49
65
  return this.seqS[posIdx];
50
66
  }
67
+ getCanonicalRegion(start, end) {
68
+ const actStart = Math.max(0, start);
69
+ const actEnd = Math.min(this.length, end);
70
+ const len = actEnd - actStart;
71
+ const gap = GapOriginals[NOTATION.FASTA];
72
+ return new Array(len).fill(null).map((_, i) => {
73
+ const om = this.seqS[i + actStart];
74
+ return om === gap ? GAP_SYMBOL : om;
75
+ });
76
+ }
77
+ getOriginalRegion(start, end) {
78
+ const actStart = Math.max(0, start);
79
+ const actEnd = Math.min(this.length, end);
80
+ return this.seqS.slice(actStart, actEnd); // hacky way but quite effective
81
+ }
82
+ get gapOriginal() {
83
+ return GapOriginals[NOTATION.FASTA];
84
+ }
51
85
  constructor(seqS) {
52
86
  this.seqS = seqS;
53
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * This module provides functionality for an interactive MSA (Multiple Sequence Alignment) header
4
4
  * with position markers, slider navigation, and position selection.
5
5
  */
6
+ import * as DG from 'datagrok-api/dg';
6
7
  interface WindowRange {
7
8
  start: number;
8
9
  end: number;
@@ -22,27 +23,142 @@ interface MSAHeaderOptions {
22
23
  width?: number;
23
24
  height?: number;
24
25
  onPositionChange?: (position: number, range: WindowRange) => void;
26
+ onHeaderHeightChange?: (height: number) => void;
25
27
  }
26
28
  interface Preventable {
27
29
  preventDefault: () => void;
28
30
  }
31
+ /**
32
+ * Base class for all MSA header tracks
33
+ */
34
+ export declare abstract class MSAHeaderTrack {
35
+ protected ctx: CanvasRenderingContext2D | null;
36
+ protected visible: boolean;
37
+ protected height: number;
38
+ protected minHeight: number;
39
+ protected defaultHeight: number;
40
+ protected title: string;
41
+ protected tooltipEnabled: boolean;
42
+ protected tooltipContent: ((position: number, data: any) => HTMLElement) | null;
43
+ constructor(height?: number, minHeight?: number, title?: string);
44
+ /**
45
+ * Initialize the track with a canvas context
46
+ */
47
+ init(ctx: CanvasRenderingContext2D): void;
48
+ getMonomerAt(x: number, y: number, position: number): string | null;
49
+ enableTooltip(enabled: boolean): void;
50
+ setTooltipContentGenerator(contentGenerator: (position: number, data: any) => HTMLElement): void;
51
+ getTooltipContent(position: number): HTMLElement | null;
52
+ /**
53
+ * Get data for a specific position (to be implemented by subclasses)
54
+ */
55
+ protected getPositionData(position: number): any;
56
+ setVisible(visible: boolean): void;
57
+ getHeight(): number;
58
+ getDefaultHeight(): number;
59
+ getMinHeight(): number;
60
+ setHeight(height: number): void;
61
+ resetHeight(): void;
62
+ isVisible(): boolean;
63
+ setTitle(title: string): void;
64
+ getTitle(): string;
65
+ /**
66
+ * Draw the track at the specified position
67
+ */
68
+ abstract draw(x: number, y: number, width: number, height: number, windowStart: number, positionWidth: number, totalPositions: number, currentPosition: number): void;
69
+ }
70
+ export declare class WebLogoTrack extends MSAHeaderTrack {
71
+ private data;
72
+ private monomerLib;
73
+ private biotype;
74
+ private hoveredPosition;
75
+ private hoveredMonomer;
76
+ constructor(data?: Map<number, Map<string, number>>, height?: number, _colorScheme?: string, title?: string);
77
+ setHovered(position: number, monomer: string | null): void;
78
+ protected getPositionData(position: number): Map<string, number> | null;
79
+ setupDefaultTooltip(): void;
80
+ private createFrequencyTable;
81
+ private createTooltipContent;
82
+ setMonomerLib(monomerLib: any): void;
83
+ setBiotype(biotype: string): void;
84
+ /**
85
+ * Calculate which monomer is at the specified coordinates within a WebLogo column
86
+ */
87
+ getMonomerAt(x: number, y: number, position: number): string | null;
88
+ updateData(data: Map<number, Map<string, number>>): void;
89
+ /**
90
+ * Draw the WebLogo track
91
+ */
92
+ draw(x: number, y: number, width: number, height: number, windowStart: number, positionWidth: number, totalPositions: number, currentPosition: number): void;
93
+ private drawWebLogoColumn;
94
+ private drawLettersInColumn;
95
+ private drawColumnBorder;
96
+ private drawLetter;
97
+ private drawLetterSeparators;
98
+ private drawLetterText;
99
+ private getMonomerBackgroundColor;
100
+ private getMonomerTextColor;
101
+ }
102
+ /**
103
+ * Track for displaying conservation bars
104
+ */
105
+ export declare class ConservationTrack extends MSAHeaderTrack {
106
+ private data;
107
+ private colorScheme;
108
+ constructor(data: number[], height?: number, colorScheme?: 'default' | 'rainbow' | 'heatmap', title?: string);
109
+ updateData(data: number[]): void;
110
+ /**
111
+ * Draw the conservation track
112
+ */
113
+ draw(x: number, y: number, width: number, height: number, windowStart: number, positionWidth: number, totalPositions: number, currentPosition: number): void;
114
+ private drawConservationBar;
115
+ }
29
116
  export declare class MSAScrollingHeader {
30
117
  private config;
31
118
  private state;
32
119
  private canvas;
33
120
  private ctx;
34
121
  private eventElement;
122
+ private tracks;
123
+ private currentHoverPosition;
124
+ private currentHoverTrack;
125
+ private previousHoverPosition;
126
+ private previousHoverTrack;
127
+ private previousHoverMonomer;
128
+ private dataFrame;
129
+ private seqHandler;
130
+ private seqColumn;
131
+ private onSelectionCallback;
132
+ private trackButtons;
133
+ private userSelectedTracks;
134
+ constructor(options: MSAHeaderOptions);
135
+ private determineVisibleTracks;
136
+ private drawTrackButtons;
137
+ private drawTrackButton;
138
+ private handleTrackButtonClick;
139
+ private snapToTrackHeight;
140
+ private resetToAutoMode;
35
141
  /**
36
- * Constructor for the MSA Header
37
- * @param {MSAHeaderOptions} options - Configuration options
142
+ * Draw the column title (shown when above threshold)
38
143
  */
39
- constructor(options: MSAHeaderOptions);
144
+ private drawColumnTitle;
145
+ private clearHoverStates;
146
+ private redraw;
147
+ setSelectionData(dataFrame: DG.DataFrame, seqColumn: DG.Column<string>, seqHandler: any, callback?: (position: number, monomer: string) => void): void;
148
+ setupTooltipHandling(): void;
149
+ private handleTooltipMouseMove;
150
+ private handleTooltipMouseLeave;
151
+ private hideTooltip;
152
+ draw(x: number, y: number, w: number, h: number, currentPos: number, scrollerStart: number, preventable: Preventable, columnName?: string): void;
40
153
  /**
41
- * Initialize the component
154
+ * Draw the dotted cells area with position markers
42
155
  */
43
- private init;
44
- get isValid(): boolean;
45
- draw(x: number, y: number, w: number, h: number, currentPos: number, scrollerStart: number, preventable: Preventable): void;
156
+ private drawDottedCells;
157
+ /**
158
+ * Draw the position slider
159
+ */
160
+ private drawSlider;
161
+ private setupEventElement;
46
162
  getCoords(e: MouseEvent): {
47
163
  x: number;
48
164
  y: number;
@@ -53,57 +169,37 @@ export declare class MSAScrollingHeader {
53
169
  isInSliderArea(e: MouseEvent): boolean;
54
170
  get sliderWidth(): number;
55
171
  isInSliderDraggableArea(e: MouseEvent): boolean;
56
- /**
57
- * Handle mouse down (start dragging)
58
- * @param {MouseEvent} e - Mouse event
59
- */
172
+ private setupEventListeners;
173
+ private handleSelectionClick;
174
+ private selectRowsWithMonomerAtPosition;
175
+ private init;
176
+ addTrack(id: string, track: MSAHeaderTrack): void;
177
+ removeTrack(id: string): void;
178
+ getTrack<T extends MSAHeaderTrack>(id: string): T | undefined;
179
+ updateTrack<T extends MSAHeaderTrack>(id: string, updater: (track: T) => void): void;
180
+ get isValid(): boolean;
60
181
  private handleMouseDown;
61
182
  private handleMouseWheel;
62
- /**
63
- * Handle mouse move (dragging)
64
- * @param {MouseEvent} e - Mouse event
65
- */
66
183
  private handleMouseMove;
67
184
  private handleKeyDown;
68
- /**
69
- * Handle mouse up (end dragging)
70
- */
71
185
  private handleMouseUp;
72
- /**
73
- * Handle slider drag
74
- * @param {number} x - X position of mouse
75
- */
76
186
  private handleSliderDrag;
77
187
  get headerHeight(): number;
78
- /** Soft setting of header hight, without redrawing or update event
79
- * @param {number} value - New header height
80
- */
81
188
  set headerHeight(value: number);
82
- /**
83
- * Handle click on positions
84
- * @param {MouseEvent} e - Mouse event
85
- */
86
189
  private handleClick;
87
- /**
88
- * Get the current window range
89
- * @return {WindowRange} Object with start and end properties
90
- */
91
190
  getWindowRange(): WindowRange;
92
- /**
93
- * Update configuration
94
- * @param {MSAHeaderOptions} newConfig - New configuration options
95
- */
96
191
  updateConfig(newConfig: Partial<MSAHeaderOptions>): void;
97
- /**
98
- * Get current position
99
- * @return {number} Current position
100
- */
101
192
  getCurrentPosition(): number;
193
+ setCurrentPosition(position: number): void;
102
194
  /**
103
- * Set current position
104
- * @param {number} position - New position
195
+ * ADDED: Public methods for external control
105
196
  */
106
- setCurrentPosition(position: number): void;
197
+ getHeightThresholds(): {
198
+ BASE: number;
199
+ WITH_TITLE: number;
200
+ WITH_WEBLOGO: number;
201
+ WITH_BOTH: number;
202
+ };
107
203
  }
108
204
  export {};
109
205
  //# sourceMappingURL=sequence-position-scroller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sequence-position-scroller.d.ts","sourceRoot":"","sources":["sequence-position-scroller.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAOH,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACnE;AAED,UAAU,WAAW;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAQD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,YAAY,CAAiB;IAErC;;;OAGG;gBACS,OAAO,EAAE,gBAAgB;IA+BrC;;OAEG;IACH,OAAO,CAAC,IAAI;IAyBZ,IAAW,OAAO,YAEjB;IAEM,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IA0HlI,SAAS,CAAC,CAAC,EAAE,UAAU;;;;IAOvB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAKtC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IAED,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAMtC,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED,uBAAuB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAc/C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;IA0BxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAsCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA2BxB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IA4BnB;;;OAGG;IACI,cAAc,IAAI,WAAW;IAOpC;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAY/D;;;OAGG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;IACI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAQlD"}
1
+ {"version":3,"file":"sequence-position-scroller.d.ts","sourceRoot":"","sources":["sequence-position-scroller.ts"],"names":[],"mappings":"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"}