katucharts.js 0.2.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 (200) hide show
  1. package/LICENSE +106 -0
  2. package/README.md +1100 -0
  3. package/dist/__vite-optional-peer-dep_jspdf_katucharts-BDMct_Gn.js +4 -0
  4. package/dist/accessibility/A11yModule.d.ts +26 -0
  5. package/dist/axis/Axis.d.ts +140 -0
  6. package/dist/axis/AxisCoordinator.d.ts +38 -0
  7. package/dist/bio.d.ts +22 -0
  8. package/dist/components/Credits.d.ts +38 -0
  9. package/dist/components/Crosshair.d.ts +15 -0
  10. package/dist/components/DataLabels.d.ts +7 -0
  11. package/dist/components/ExportButton.d.ts +27 -0
  12. package/dist/components/Legend.d.ts +53 -0
  13. package/dist/components/TitleRenderer.d.ts +19 -0
  14. package/dist/components/Tooltip.d.ts +61 -0
  15. package/dist/core/Chart.d.ts +156 -0
  16. package/dist/core/EventBus.d.ts +14 -0
  17. package/dist/core/InteractionController.d.ts +62 -0
  18. package/dist/core/OptionsParser.d.ts +61 -0
  19. package/dist/core/Registry.d.ts +27 -0
  20. package/dist/core/SVGRenderer.d.ts +48 -0
  21. package/dist/core/ScrollablePlotOverlay.d.ts +31 -0
  22. package/dist/core/StackComputer.d.ts +25 -0
  23. package/dist/core/StateManager.d.ts +21 -0
  24. package/dist/core/UpdateScheduler.d.ts +28 -0
  25. package/dist/core/animationConstants.d.ts +20 -0
  26. package/dist/core/chartTypes.d.ts +46 -0
  27. package/dist/core/registerAll.d.ts +4 -0
  28. package/dist/core/registerBio.d.ts +4 -0
  29. package/dist/core/registerCore.d.ts +4 -0
  30. package/dist/core/registerFinance.d.ts +4 -0
  31. package/dist/core/registerFinancial.d.ts +4 -0
  32. package/dist/core/registerFlow.d.ts +4 -0
  33. package/dist/core/registerGeneral.d.ts +4 -0
  34. package/dist/datatable/DataTable.d.ts +162 -0
  35. package/dist/datatable/DataTableDefaults.d.ts +7 -0
  36. package/dist/datatable/api/TableApi.d.ts +35 -0
  37. package/dist/datatable/columns/ColumnDef.d.ts +16 -0
  38. package/dist/datatable/columns/ColumnManager.d.ts +31 -0
  39. package/dist/datatable/data/DataProcessor.d.ts +46 -0
  40. package/dist/datatable/data/DataSource.d.ts +26 -0
  41. package/dist/datatable/editing/CellEditor.d.ts +29 -0
  42. package/dist/datatable/export/TableExport.d.ts +23 -0
  43. package/dist/datatable/locales/en.d.ts +9 -0
  44. package/dist/datatable/locales/es.d.ts +6 -0
  45. package/dist/datatable/locales/index.d.ts +22 -0
  46. package/dist/datatable/locales/pt-BR.d.ts +6 -0
  47. package/dist/datatable/locales/resolveLocale.d.ts +16 -0
  48. package/dist/datatable/locales/zh.d.ts +6 -0
  49. package/dist/datatable/render/CellRenderer.d.ts +24 -0
  50. package/dist/datatable/render/HeaderRenderer.d.ts +51 -0
  51. package/dist/datatable/render/PaginationRenderer.d.ts +26 -0
  52. package/dist/datatable/render/SearchRenderer.d.ts +21 -0
  53. package/dist/datatable/render/TableRenderer.d.ts +81 -0
  54. package/dist/datatable/render/ToolbarRenderer.d.ts +34 -0
  55. package/dist/datatable/render/icons.d.ts +24 -0
  56. package/dist/datatable/render/popover.d.ts +15 -0
  57. package/dist/datatable/selection/SelectionManager.d.ts +29 -0
  58. package/dist/datatable/themes/TableTheme.d.ts +36 -0
  59. package/dist/datatable/themes/styleSheet.d.ts +16 -0
  60. package/dist/datatable.d.ts +19 -0
  61. package/dist/export/ChartExporter.d.ts +50 -0
  62. package/dist/export/Export.d.ts +76 -0
  63. package/dist/finance.d.ts +49 -0
  64. package/dist/index.d.ts +67 -0
  65. package/dist/indicators/Indicator.d.ts +23 -0
  66. package/dist/indicators/expandIndicators.d.ts +18 -0
  67. package/dist/indicators/moving-averages/DEMA.d.ts +10 -0
  68. package/dist/indicators/moving-averages/EMA.d.ts +12 -0
  69. package/dist/indicators/moving-averages/SMA.d.ts +11 -0
  70. package/dist/indicators/moving-averages/TEMA.d.ts +10 -0
  71. package/dist/indicators/moving-averages/WMA.d.ts +12 -0
  72. package/dist/indicators/oscillators/CCI.d.ts +11 -0
  73. package/dist/indicators/oscillators/MACD.d.ts +20 -0
  74. package/dist/indicators/oscillators/Momentum.d.ts +10 -0
  75. package/dist/indicators/oscillators/ROC.d.ts +10 -0
  76. package/dist/indicators/oscillators/RSI.d.ts +11 -0
  77. package/dist/indicators/oscillators/Stochastic.d.ts +20 -0
  78. package/dist/indicators/registry.d.ts +9 -0
  79. package/dist/indicators/trend/ADX.d.ts +11 -0
  80. package/dist/indicators/trend/IchimokuCloud.d.ts +14 -0
  81. package/dist/indicators/trend/PSAR.d.ts +11 -0
  82. package/dist/indicators/util.d.ts +8 -0
  83. package/dist/indicators/volatility/ATR.d.ts +11 -0
  84. package/dist/indicators/volatility/BollingerBands.d.ts +11 -0
  85. package/dist/indicators/volume/OBV.d.ts +11 -0
  86. package/dist/indicators/volume/VBP.d.ts +12 -0
  87. package/dist/indicators/volume/VWAP.d.ts +12 -0
  88. package/dist/interaction/Drilldown.d.ts +29 -0
  89. package/dist/interaction/HoverManager.d.ts +47 -0
  90. package/dist/interaction/Zoom.d.ts +68 -0
  91. package/dist/katucharts-bio.es.js +5861 -0
  92. package/dist/katucharts-bio.umd.js +1 -0
  93. package/dist/katucharts-datatable.es.js +3363 -0
  94. package/dist/katucharts-datatable.umd.js +296 -0
  95. package/dist/katucharts-finance.es.js +4364 -0
  96. package/dist/katucharts-finance.umd.js +1 -0
  97. package/dist/katucharts-react.es.js +35 -0
  98. package/dist/katucharts-react.umd.js +1 -0
  99. package/dist/katucharts.es.js +20531 -0
  100. package/dist/katucharts.umd.js +9 -0
  101. package/dist/layout/LayoutEngine.d.ts +44 -0
  102. package/dist/license/LicenseManager.d.ts +63 -0
  103. package/dist/options/defaults.d.ts +5 -0
  104. package/dist/react/KatuChartsReact.d.ts +16 -0
  105. package/dist/react.d.ts +2 -0
  106. package/dist/responsive/ResponsiveEngine.d.ts +15 -0
  107. package/dist/series/BaseSeries.d.ts +186 -0
  108. package/dist/series/bioinformatics/CircosChart.d.ts +4 -0
  109. package/dist/series/bioinformatics/ClusteredHeatmapChart.d.ts +22 -0
  110. package/dist/series/bioinformatics/ForestPlotChart.d.ts +21 -0
  111. package/dist/series/bioinformatics/KaplanMeierChart.d.ts +22 -0
  112. package/dist/series/bioinformatics/ManhattanChart.d.ts +34 -0
  113. package/dist/series/bioinformatics/PCoAChart.d.ts +22 -0
  114. package/dist/series/bioinformatics/PhyloTreeChart.d.ts +27 -0
  115. package/dist/series/bioinformatics/SequenceLogoChart.d.ts +21 -0
  116. package/dist/series/bioinformatics/ViolinChart.d.ts +23 -0
  117. package/dist/series/bioinformatics/VolcanoChart.d.ts +28 -0
  118. package/dist/series/bioinformatics/circos/CircosChart.d.ts +20 -0
  119. package/dist/series/bioinformatics/circos/CircosColorScales.d.ts +6 -0
  120. package/dist/series/bioinformatics/circos/CircosComparativeChart.d.ts +41 -0
  121. package/dist/series/bioinformatics/circos/CircosHeatmapChart.d.ts +31 -0
  122. package/dist/series/bioinformatics/circos/CircosLayoutEngine.d.ts +37 -0
  123. package/dist/series/bioinformatics/circos/CircosRules.d.ts +6 -0
  124. package/dist/series/bioinformatics/circos/CircosSpiralChart.d.ts +39 -0
  125. package/dist/series/bioinformatics/circos/CircosTypes.d.ts +131 -0
  126. package/dist/series/bioinformatics/circos/tracks/AreaTrackRenderer.d.ts +7 -0
  127. package/dist/series/bioinformatics/circos/tracks/ConnectorTrackRenderer.d.ts +7 -0
  128. package/dist/series/bioinformatics/circos/tracks/GlyphTrackRenderer.d.ts +7 -0
  129. package/dist/series/bioinformatics/circos/tracks/HeatmapTrackRenderer.d.ts +7 -0
  130. package/dist/series/bioinformatics/circos/tracks/HighlightTrackRenderer.d.ts +6 -0
  131. package/dist/series/bioinformatics/circos/tracks/HistogramTrackRenderer.d.ts +7 -0
  132. package/dist/series/bioinformatics/circos/tracks/LineTrackRenderer.d.ts +7 -0
  133. package/dist/series/bioinformatics/circos/tracks/LinkTrackRenderer.d.ts +8 -0
  134. package/dist/series/bioinformatics/circos/tracks/LollipopTrackRenderer.d.ts +9 -0
  135. package/dist/series/bioinformatics/circos/tracks/RibbonTrackRenderer.d.ts +9 -0
  136. package/dist/series/bioinformatics/circos/tracks/ScatterTrackRenderer.d.ts +7 -0
  137. package/dist/series/bioinformatics/circos/tracks/StackTrackRenderer.d.ts +7 -0
  138. package/dist/series/bioinformatics/circos/tracks/TextTrackRenderer.d.ts +8 -0
  139. package/dist/series/bioinformatics/circos/tracks/TileTrackRenderer.d.ts +7 -0
  140. package/dist/series/bioinformatics/circos/tracks/TrackAxesRenderer.d.ts +6 -0
  141. package/dist/series/bioinformatics/circos/tracks/TrackBackgroundRenderer.d.ts +5 -0
  142. package/dist/series/cartesian/AreaChart.d.ts +33 -0
  143. package/dist/series/cartesian/BoxPlotChart.d.ts +24 -0
  144. package/dist/series/cartesian/BubbleChart.d.ts +34 -0
  145. package/dist/series/cartesian/ColumnChart.d.ts +37 -0
  146. package/dist/series/cartesian/LineChart.d.ts +28 -0
  147. package/dist/series/cartesian/ScatterChart.d.ts +20 -0
  148. package/dist/series/cartesian/SplineChart.d.ts +9 -0
  149. package/dist/series/cartesian/WaterfallChart.d.ts +25 -0
  150. package/dist/series/financial/AreaRangeChart.d.ts +24 -0
  151. package/dist/series/financial/BaselineChart.d.ts +20 -0
  152. package/dist/series/financial/CandlestickChart.d.ts +55 -0
  153. package/dist/series/financial/ColumnRangeChart.d.ts +16 -0
  154. package/dist/series/financial/FlagsChart.d.ts +34 -0
  155. package/dist/series/financial/HeikinAshiChart.d.ts +11 -0
  156. package/dist/series/financial/HollowCandlestickChart.d.ts +17 -0
  157. package/dist/series/financial/KagiChart.d.ts +23 -0
  158. package/dist/series/financial/LineBreakChart.d.ts +23 -0
  159. package/dist/series/financial/PointAndFigureChart.d.ts +24 -0
  160. package/dist/series/financial/RenkoChart.d.ts +22 -0
  161. package/dist/series/financial/VBPChart.d.ts +18 -0
  162. package/dist/series/financial/VolumeChart.d.ts +15 -0
  163. package/dist/series/flow/DependencyWheelChart.d.ts +23 -0
  164. package/dist/series/flow/NetworkGraphChart.d.ts +18 -0
  165. package/dist/series/flow/SankeyChart.d.ts +24 -0
  166. package/dist/series/gauge/GaugeChart.d.ts +40 -0
  167. package/dist/series/heatmap/HeatmapChart.d.ts +18 -0
  168. package/dist/series/hierarchical/SunburstChart.d.ts +44 -0
  169. package/dist/series/hierarchical/TreegraphChart.d.ts +19 -0
  170. package/dist/series/hierarchical/TreemapChart.d.ts +20 -0
  171. package/dist/series/hierarchical/WordcloudChart.d.ts +19 -0
  172. package/dist/series/index.d.ts +45 -0
  173. package/dist/series/map/FlowmapChart.d.ts +33 -0
  174. package/dist/series/map/MapChart.d.ts +53 -0
  175. package/dist/series/map/MapPointChart.d.ts +26 -0
  176. package/dist/series/map/mapProjection.d.ts +46 -0
  177. package/dist/series/pie/PieChart.d.ts +53 -0
  178. package/dist/series/polar/PolarChart.d.ts +18 -0
  179. package/dist/series/race/BarRaceChart.d.ts +44 -0
  180. package/dist/series/timeline/TimelineChart.d.ts +23 -0
  181. package/dist/series/venn/VennChart.d.ts +28 -0
  182. package/dist/stock/DataGrouping.d.ts +21 -0
  183. package/dist/stock/Navigator.d.ts +25 -0
  184. package/dist/stock/RangeSelector.d.ts +9 -0
  185. package/dist/stock/StockController.d.ts +47 -0
  186. package/dist/stockcharts.d.ts +8 -0
  187. package/dist/streaming/StreamAdapter.d.ts +36 -0
  188. package/dist/types/datatable-options.d.ts +633 -0
  189. package/dist/types/options.d.ts +1333 -0
  190. package/dist/utils/CircularBuffer.d.ts +24 -0
  191. package/dist/utils/chartText.d.ts +18 -0
  192. package/dist/utils/color.d.ts +23 -0
  193. package/dist/utils/decimation.d.ts +19 -0
  194. package/dist/utils/deepMerge.d.ts +5 -0
  195. package/dist/utils/dom.d.ts +10 -0
  196. package/dist/utils/format.d.ts +42 -0
  197. package/dist/utils/index.d.ts +7 -0
  198. package/dist/utils/math.d.ts +6 -0
  199. package/dist/utils/throttle.d.ts +2 -0
  200. package/package.json +95 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Circular Heatmap following circlize convention:
3
+ * rows distribute in the CIRCULAR direction (angular sectors),
4
+ * columns distribute in the RADIAL direction (concentric sub-rings).
5
+ * Each cell is an arc at (row's angular sector, column's radial band).
6
+ */
7
+ import 'd3-transition';
8
+ import { BaseSeries } from '../../BaseSeries';
9
+ import type { InternalSeriesConfig } from '../../../types/options';
10
+ export declare class CircosHeatmapChart extends BaseSeries {
11
+ constructor(config: InternalSeriesConfig);
12
+ render(): void;
13
+ /**
14
+ * Row labels around the outer edge (circular direction),
15
+ * rotated like chromosome labels in standard circos.
16
+ */
17
+ private renderRowLabels;
18
+ /**
19
+ * Column labels as small text at the innermost ring edge,
20
+ * positioned radially to indicate which radial band = which column.
21
+ */
22
+ private renderColumnLabels;
23
+ private attachCellEvents;
24
+ private resolvePercent;
25
+ getDataExtents(): {
26
+ xMin: number;
27
+ xMax: number;
28
+ yMin: number;
29
+ yMax: number;
30
+ };
31
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared circular coordinate system and ideogram rendering engine.
3
+ * Used by all circos series variants. Handles chromosome arc computation,
4
+ * angle↔position mapping, polar↔cartesian conversion, and ideogram rendering.
5
+ */
6
+ import 'd3-transition';
7
+ import type { ChromosomeDef, ChromosomeArc, CircosLayoutConfig } from './CircosTypes';
8
+ export declare class CircosLayoutEngine {
9
+ chrArcs: ChromosomeArc[];
10
+ chrArcMap: Map<string, ChromosomeArc>;
11
+ outerR: number;
12
+ innerR: number;
13
+ cx: number;
14
+ cy: number;
15
+ private chromosomes;
16
+ constructor(chromosomes: ChromosomeDef[], plotWidth: number, plotHeight: number, config: Partial<CircosLayoutConfig>);
17
+ private computeChromosomeArcs;
18
+ getAngleForPosition(chr: string, pos: number): number;
19
+ getAngleRange(chr: string, start: number, end: number): {
20
+ startAngle: number;
21
+ endAngle: number;
22
+ };
23
+ polarToCartesian(angle: number, r: number): {
24
+ x: number;
25
+ y: number;
26
+ };
27
+ createRadialScale(values: number[], innerR: number, outerR: number, useLog?: boolean): (v: number) => number;
28
+ renderIdeogram(group: any, innerR: number, outerR: number, animate: boolean, duration: number, events?: any, seriesRef?: any, separatorColor?: string): void;
29
+ renderIdeogramBands(group: any, innerR: number, outerR: number, animate: boolean, duration: number): void;
30
+ renderChromosomeLabels(group: any, radius: number, fontSize?: number, animate?: boolean, duration?: number, delay?: number, labelColor?: string): void;
31
+ }
32
+ export declare function parseRadius(val: any, minDim: number): number | undefined;
33
+ export declare function safeMinMax(values: number[]): {
34
+ min: number;
35
+ max: number;
36
+ };
37
+ export declare function parseColor(c: string): [number, number, number, number];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Conditional formatting engine for circos tracks.
3
+ * Processes rule arrays against data points, returning resolved visual styles.
4
+ */
5
+ import type { CircosRule, CircosDataPoint, ResolvedStyle } from './CircosTypes';
6
+ export declare function applyRules(point: CircosDataPoint, index: number, rules: CircosRule[] | undefined, defaults: ResolvedStyle): ResolvedStyle;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Spiral Plot — data rendered along an Archimedean spiral path.
3
+ * Each revolution represents one period (day, week, month, year, or custom
4
+ * length). Data values are shown as colored segments whose intensity follows
5
+ * a configurable color scale.
6
+ */
7
+ import 'd3-transition';
8
+ import { BaseSeries } from '../../BaseSeries';
9
+ import type { InternalSeriesConfig } from '../../../types/options';
10
+ export declare class CircosSpiralChart extends BaseSeries {
11
+ constructor(config: InternalSeriesConfig);
12
+ render(): void;
13
+ getDataExtents(): {
14
+ xMin: number;
15
+ xMax: number;
16
+ yMin: number;
17
+ yMax: number;
18
+ };
19
+ private getSpiralData;
20
+ private normalizeValues;
21
+ /**
22
+ * Compute segment positions along the Archimedean spiral r = a + b*theta.
23
+ * Each segment spans one angular slice of 2pi/periodLength.
24
+ */
25
+ private computeSegments;
26
+ private renderSegments;
27
+ /**
28
+ * Build an arc-like SVG path for a single spiral segment.
29
+ * Track width derived from spiral b parameter: each revolution adds 2πb of
30
+ * radial distance, so track width = 2πb * fillFraction (default 0.95).
31
+ */
32
+ private buildSegmentPath;
33
+ /**
34
+ * Render period labels at the 12 o'clock position for each revolution.
35
+ * Each revolution is at a different radius, so labels naturally separate.
36
+ * If data has date fields, use the first date of each revolution.
37
+ */
38
+ private renderRevolutionLabels;
39
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Shared type definitions for the entire Circos visualization system.
3
+ * Used by CircosSeries, all track renderers, and all variant series.
4
+ */
5
+ export type CircosTrackType = 'scatter' | 'line' | 'histogram' | 'heatmap' | 'link' | 'highlight' | 'stack' | 'text' | 'tile' | 'ribbon' | 'connector' | 'area' | 'glyph' | 'lollipop';
6
+ export type CircosColorScaleName = 'YlOrRd' | 'Blues' | 'Greens' | 'Reds' | 'Purples' | 'Oranges' | 'Greys' | 'RdBu' | 'RdYlGn' | 'RdYlBu' | 'Spectral' | 'PiYG' | 'BrBG' | 'PuOr' | 'PRGn' | 'Viridis' | 'Plasma' | 'Inferno' | 'Magma' | 'Cividis' | 'Turbo' | 'Warm' | 'Cool' | 'CubehelixDefault';
7
+ export type GlyphSymbol = 'circle' | 'triangle-up' | 'triangle-down' | 'diamond' | 'square' | 'cross' | 'star';
8
+ export type ConnectorType = 'straight' | 'elbow' | 'bezier';
9
+ export type BandType = 'gneg' | 'gpos25' | 'gpos50' | 'gpos75' | 'gpos100' | 'acen' | 'gvar' | 'stalk';
10
+ export interface CircosRule {
11
+ condition: (d: CircosDataPoint, index: number) => boolean;
12
+ style: {
13
+ color?: string;
14
+ opacity?: number;
15
+ size?: number;
16
+ show?: boolean;
17
+ symbol?: GlyphSymbol;
18
+ strokeWidth?: number;
19
+ strokeColor?: string;
20
+ };
21
+ flow?: 'stop' | 'continue';
22
+ }
23
+ export interface CircosTrackAxes {
24
+ show?: boolean;
25
+ count?: number;
26
+ color?: string;
27
+ opacity?: number;
28
+ strokeWidth?: number;
29
+ showValues?: boolean;
30
+ valueFormat?: string;
31
+ }
32
+ export interface CircosTrackBackground {
33
+ color?: string;
34
+ opacity?: number;
35
+ border?: {
36
+ color?: string;
37
+ width?: number;
38
+ };
39
+ }
40
+ export interface IdeogramBand {
41
+ chr: string;
42
+ start: number;
43
+ end: number;
44
+ type: BandType;
45
+ name?: string;
46
+ }
47
+ export interface ChromosomeDef {
48
+ id: string;
49
+ length: number;
50
+ color?: string;
51
+ bands?: IdeogramBand[];
52
+ gap?: number;
53
+ }
54
+ export interface ChromosomeArc {
55
+ id: string;
56
+ startAngle: number;
57
+ endAngle: number;
58
+ length: number;
59
+ color: string;
60
+ }
61
+ export interface CircosDataPoint {
62
+ chr: string;
63
+ start: number;
64
+ end?: number;
65
+ value?: number;
66
+ sourceChr?: string;
67
+ sourceStart?: number;
68
+ sourceEnd?: number;
69
+ targetChr?: string;
70
+ targetStart?: number;
71
+ targetEnd?: number;
72
+ color?: string;
73
+ opacity?: number;
74
+ label?: string;
75
+ symbol?: GlyphSymbol;
76
+ category?: string;
77
+ layer?: number;
78
+ data?: Record<string, any>;
79
+ }
80
+ export interface CircosTrack {
81
+ type: CircosTrackType;
82
+ data: CircosDataPoint[];
83
+ innerRadius?: number;
84
+ outerRadius?: number;
85
+ color?: string;
86
+ opacity?: number;
87
+ options?: Record<string, any>;
88
+ rules?: CircosRule[];
89
+ axes?: CircosTrackAxes;
90
+ background?: CircosTrackBackground;
91
+ colorScale?: CircosColorScaleName;
92
+ logScale?: boolean;
93
+ tooltip?: {
94
+ formatter?: (d: CircosDataPoint) => string;
95
+ enabled?: boolean;
96
+ };
97
+ }
98
+ export interface CircosLayoutConfig {
99
+ gap: number;
100
+ outerRadius: number;
101
+ innerRadius: number;
102
+ trackGap: number;
103
+ showLabels: boolean;
104
+ labelFontSize: number;
105
+ showBands: boolean;
106
+ }
107
+ export interface TrackRenderOptions {
108
+ animate: boolean;
109
+ duration: number;
110
+ /** Absolute delay (ms) before this track's animation begins — set by the orchestrator. */
111
+ baseDelay?: number;
112
+ cx: number;
113
+ cy: number;
114
+ canvasThreshold: number;
115
+ events?: any;
116
+ seriesRef?: any;
117
+ /** Separator/border color for track elements — matches the chart background. */
118
+ separatorColor?: string;
119
+ }
120
+ export interface ResolvedStyle {
121
+ color: string;
122
+ opacity: number;
123
+ size: number;
124
+ show: boolean;
125
+ symbol?: GlyphSymbol;
126
+ strokeWidth?: number;
127
+ strokeColor?: string;
128
+ }
129
+ export declare const DEFAULT_CHR_COLORS: string[];
130
+ export declare const BAND_COLORS: Record<BandType, string>;
131
+ export declare const DEFAULT_CANVAS_THRESHOLD = 5000;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Area track renderer — filled region between line trace and baseline.
3
+ * Like line track but with fill between the trace and innerR/outerR.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderAreaTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Connector track renderer — simple connecting lines between positions.
3
+ * Types: straight, elbow (radial→angular), bezier.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderConnectorTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Glyph track renderer — custom d3-shape symbols at angular+radial positions.
3
+ * Supports: circle, triangle-up/down, diamond, square, cross, star.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderGlyphTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Heatmap track renderer — arc segments colored by value intensity.
3
+ * SVG for small datasets, Canvas for large.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderHeatmapTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Highlight track renderer — semi-transparent arc regions for marking areas.
3
+ */
4
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
5
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
6
+ export declare function renderHighlightTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Histogram track renderer — radial arc bars scaled by value.
3
+ * SVG for small datasets, Canvas for large.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderHistogramTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Line track renderer — continuous radial path connecting data points.
3
+ * Animated via stroke-dasharray reveal.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderLineTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Link track renderer — thin bezier curves between genomic positions.
3
+ * Batches by color for large link sets (>500).
4
+ */
5
+ import 'd3-transition';
6
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
7
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
8
+ export declare function renderLinkTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Lollipop track renderer — radial stems with dots at endpoints.
3
+ * Standard in genomics for showing mutation/variant positions and their
4
+ * significance (NG-Circos LOLLIPOP module equivalent).
5
+ * Each point: thin radial line from baseline to value radius + circle dot.
6
+ */
7
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
8
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
9
+ export declare function renderLollipopTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Ribbon track renderer — variable-width filled links.
3
+ * Width proportional to source/target span. Supports twist detection.
4
+ * Path: source arc → bezier to target → target arc → bezier back.
5
+ */
6
+ import 'd3-transition';
7
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
8
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
9
+ export declare function renderRibbonTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Scatter track renderer — points at (angle, radius) by chr+position and value.
3
+ * Supports both SVG (small) and Canvas (large dataset) rendering.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderScatterTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Stack track renderer — stacked categorical arc segments at each bin position.
3
+ * Groups data by position, stacks categories radially outward.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderStackTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Text track renderer — rotated text labels at genomic positions.
3
+ * Anti-overlap via sweep-line: sort by angle, push outward if collision.
4
+ * Optional leader lines connecting label to original position.
5
+ */
6
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
7
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
8
+ export declare function renderTextTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Tile track renderer — region span annotations as small arcs with auto-layering.
3
+ * Greedy layer assignment to avoid overlap within each chromosome.
4
+ */
5
+ import type { CircosTrack, TrackRenderOptions } from '../CircosTypes';
6
+ import type { CircosLayoutEngine } from '../CircosLayoutEngine';
7
+ export declare function renderTileTrack(engine: CircosLayoutEngine, group: any, track: CircosTrack, innerR: number, outerR: number, opts: TrackRenderOptions): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Track axes renderer — concentric grid lines within track bands.
3
+ * Optional value labels at 12 o'clock position.
4
+ */
5
+ import type { CircosTrackAxes } from '../CircosTypes';
6
+ export declare function renderTrackAxes(group: any, axes: CircosTrackAxes, innerR: number, outerR: number, labelColor?: string): void;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Track background renderer — filled arc ring behind track data.
3
+ */
4
+ import type { CircosTrackBackground } from '../CircosTypes';
5
+ export declare function renderTrackBackground(group: any, bg: CircosTrackBackground, innerR: number, outerR: number): void;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Area and AreaSpline series with features:
3
+ * stacking (normal/percent), negativeFillColor, zones, markers,
4
+ * trackByArea, connectNulls, dashStyle, data labels, and animated updates.
5
+ */
6
+ import 'd3-transition';
7
+ import { BaseSeries } from '../BaseSeries';
8
+ import type { InternalSeriesConfig, PointOptions } from '../../types/options';
9
+ export declare class AreaChart extends BaseSeries {
10
+ protected isSpline: boolean;
11
+ private areaPath;
12
+ private linePath;
13
+ private negAreaPath;
14
+ constructor(config: InternalSeriesConfig);
15
+ render(): void;
16
+ private renderMainArea;
17
+ private renderWithNegativeColor;
18
+ private renderZones;
19
+ protected getCurve(): import("d3-shape").CurveFactory;
20
+ private getFilteredData;
21
+ private buildGenerators;
22
+ animateUpdate(duration: number): void;
23
+ private animateLineEntry;
24
+ protected renderMarkers(data: PointOptions[], color: string, animate: boolean): void;
25
+ /**
26
+ * Track hover by area fill region, not just individual points.
27
+ */
28
+ private renderAreaHoverTargets;
29
+ private renderHoverTargets;
30
+ }
31
+ export declare class AreaSplineChart extends AreaChart {
32
+ protected isSpline: boolean;
33
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * BoxPlot series with features: medianColor, medianWidth,
3
+ * medianDashStyle, stemColor, stemWidth, stemDashStyle, whiskerColor, whiskerWidth,
4
+ * whiskerLength, whiskerDashStyle, boxDashStyle, fillColor, colorByPoint,
5
+ * grouping/groupPadding/pointPadding, data labels, and animated updates.
6
+ */
7
+ import 'd3-transition';
8
+ import { BaseSeries } from '../BaseSeries';
9
+ import type { InternalSeriesConfig } from '../../types/options';
10
+ export declare class BoxPlotChart extends BaseSeries {
11
+ constructor(config: InternalSeriesConfig);
12
+ render(): void;
13
+ animateUpdate(duration: number): void;
14
+ private computeBoxGeometry;
15
+ private getPointColor;
16
+ private parseWhiskerLength;
17
+ private attachBoxPointEvents;
18
+ getDataExtents(): {
19
+ xMin: number;
20
+ xMax: number;
21
+ yMin: number;
22
+ yMax: number;
23
+ };
24
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Bubble series with features: displayNegative, zThreshold,
3
+ * sizeBy (area/width), sizeByAbsoluteValue, zMin/zMax overrides, jitter,
4
+ * negativeColor, data labels, and animated updates.
5
+ */
6
+ import 'd3-transition';
7
+ import { BaseSeries } from '../BaseSeries';
8
+ import type { InternalSeriesConfig } from '../../types/options';
9
+ export declare class BubbleChart extends BaseSeries {
10
+ private sizeScale;
11
+ constructor(config: InternalSeriesConfig);
12
+ render(): void;
13
+ animateUpdate(duration: number): void;
14
+ private filterByZThreshold;
15
+ private getZValue;
16
+ private buildSizeScale;
17
+ private parseSize;
18
+ private getBubbleFill;
19
+ private attachBubbleEvents;
20
+ getBubbleLegendInfo(): {
21
+ sizeBy: "area" | "width";
22
+ color: string;
23
+ ranges: {
24
+ value: number;
25
+ radius: number;
26
+ }[];
27
+ } | null;
28
+ getDataExtents(): {
29
+ xMin: number;
30
+ xMax: number;
31
+ yMin: number;
32
+ yMax: number;
33
+ };
34
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Column and Bar series with features: grouping,
3
+ * stacking (normal/percent), negativeColor, maxPointWidth, minPointLength,
4
+ * pointWidth, crisp pixel snapping, data labels, shadow, and animated updates.
5
+ */
6
+ import 'd3-transition';
7
+ import { BaseSeries } from '../BaseSeries';
8
+ import type { InternalSeriesConfig } from '../../types/options';
9
+ export declare class ColumnChart extends BaseSeries {
10
+ protected isHorizontal: boolean;
11
+ constructor(config: InternalSeriesConfig);
12
+ private getEntryDuration;
13
+ render(): void;
14
+ private renderVerticalBars;
15
+ private renderHorizontalBars;
16
+ private renderStackedBars;
17
+ private getBarY;
18
+ private getBarHeight;
19
+ private crispCoord;
20
+ private computeStackedRectParams;
21
+ private computeStackedStartParams;
22
+ private rectParamsToPath;
23
+ animateUpdate(duration: number): void;
24
+ private updateStackedBars;
25
+ protected computeBarGeometry(): {
26
+ barWidth: number;
27
+ barOffset: number;
28
+ baseline: number;
29
+ groupWidth: number;
30
+ };
31
+ private getPointColor;
32
+ private renderColumnDataLabels;
33
+ private attachHoverEffects;
34
+ }
35
+ export declare class BarChart extends ColumnChart {
36
+ protected isHorizontal: boolean;
37
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Line series with features: negativeColor,
3
+ * zones, markers, dashStyle, linecap, step, connectNulls,
4
+ * data labels, point selection, and animated updates.
5
+ */
6
+ import { Selection } from 'd3-selection';
7
+ import 'd3-transition';
8
+ import { BaseSeries } from '../BaseSeries';
9
+ import type { InternalSeriesConfig, PointOptions } from '../../types/options';
10
+ export declare class LineChart extends BaseSeries {
11
+ protected pathSelection: Selection<SVGPathElement, any, any, any> | null;
12
+ constructor(config: InternalSeriesConfig);
13
+ render(): void;
14
+ private renderMainLine;
15
+ /**
16
+ * Split line into positive/negative segments using threshold and negativeColor.
17
+ */
18
+ private renderNegativeColor;
19
+ protected renderZones(data: PointOptions[], baseColor: string): void;
20
+ animateUpdate(duration: number): void;
21
+ protected buildLineGenerator(): import("d3-shape").Line<PointOptions>;
22
+ protected getFilteredData(): PointOptions[];
23
+ protected getCurve(): import("d3-shape").CurveFactory;
24
+ protected animateLineEntry(path: Selection<SVGPathElement, any, any, any>): void;
25
+ protected renderMarkers(data: PointOptions[], color: string, animate: boolean): void;
26
+ private getMarkerFill;
27
+ protected renderHoverTargets(data: PointOptions[], color: string): void;
28
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Scatter series with features: jitter, marker symbols,
3
+ * data labels, point selection, animated updates, and negativeColor.
4
+ */
5
+ import 'd3-transition';
6
+ import { BaseSeries } from '../BaseSeries';
7
+ import type { InternalSeriesConfig } from '../../types/options';
8
+ export declare class ScatterChart extends BaseSeries {
9
+ private cachedPositions;
10
+ constructor(config: InternalSeriesConfig);
11
+ private resolveMarkerSymbol;
12
+ getLegendSymbolShape(): string | null;
13
+ render(): void;
14
+ animateUpdate(duration: number): void;
15
+ private getPointFill;
16
+ private getEntryDuration;
17
+ private renderCircles;
18
+ private renderSymbols;
19
+ private attachScatterEvents;
20
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Spline series: smooth catmull-rom curve variant of LineChart.
3
+ */
4
+ import { LineChart } from './LineChart';
5
+ import type { InternalSeriesConfig } from '../../types/options';
6
+ export declare class SplineChart extends LineChart {
7
+ constructor(config: InternalSeriesConfig);
8
+ protected getCurve(): import("d3-shape").CurveCatmullRomFactory;
9
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Waterfall series with features: upColor, negativeColor,
3
+ * borderRadius, lineColor/dashStyle for connectors, isSum/isIntermediateSum,
4
+ * data labels, grouping, and animated updates.
5
+ */
6
+ import 'd3-transition';
7
+ import { BaseSeries } from '../BaseSeries';
8
+ import type { InternalSeriesConfig } from '../../types/options';
9
+ export declare class WaterfallChart extends BaseSeries {
10
+ private processed;
11
+ constructor(config: InternalSeriesConfig);
12
+ render(): void;
13
+ animateUpdate(duration: number): void;
14
+ private processWaterfallData;
15
+ private getBarColor;
16
+ private computeBarGeometry;
17
+ private renderConnectors;
18
+ private attachBarEvents;
19
+ getDataExtents(): {
20
+ xMin: number;
21
+ xMax: number;
22
+ yMin: number;
23
+ yMax: number;
24
+ };
25
+ }
@@ -0,0 +1,24 @@
1
+ import { BaseSeries } from '../BaseSeries';
2
+ import { type CurveFactory } from 'd3-shape';
3
+ import type { InternalSeriesConfig } from '../../types/options';
4
+ export declare class AreaRangeChart extends BaseSeries {
5
+ constructor(config: InternalSeriesConfig);
6
+ /** Curve used for the band edges. Overridden by areasplinerange for smoothing. */
7
+ protected getCurve(): CurveFactory;
8
+ render(): void;
9
+ /**
10
+ * Computes extents using low/high values for the y-axis range.
11
+ */
12
+ getDataExtents(): {
13
+ xMin: number;
14
+ xMax: number;
15
+ yMin: number;
16
+ yMax: number;
17
+ };
18
+ }
19
+ /**
20
+ * Area range with smoothed (Catmull-Rom) band edges.
21
+ */
22
+ export declare class AreaSplineRangeChart extends AreaRangeChart {
23
+ protected getCurve(): CurveFactory;
24
+ }