@rm-graph/core 0.1.1 → 0.1.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.
@@ -202,38 +202,6 @@ interface ChartInstance {
202
202
  /** Remove event listener */
203
203
  off<K extends keyof ChartEventMap>(event: K, handler: (e: ChartEventMap[K]) => void): void;
204
204
  }
205
- interface LineChartConfig extends ChartConfig {
206
- /** X-axis configuration */
207
- xAxis?: XAxisConfig;
208
- /** Y-axis configuration */
209
- yAxis?: YAxisConfig;
210
- /** Line thickness */
211
- lineWidth?: number;
212
- /** Show data points */
213
- showPoints?: boolean;
214
- /** Point size */
215
- pointSize?: number;
216
- /** Enable smooth curves (spline) */
217
- smooth?: boolean;
218
- /** Series data */
219
- series: SeriesData[];
220
- }
221
- interface BarChartConfig extends ChartConfig {
222
- /** X-axis configuration */
223
- xAxis?: XAxisConfig;
224
- /** Y-axis configuration */
225
- yAxis?: YAxisConfig;
226
- /** Bar orientation */
227
- orientation?: "vertical" | "horizontal";
228
- /** Bar width (0-1 as percentage) */
229
- barWidth?: number;
230
- /** Stack bars */
231
- stacked?: boolean;
232
- /** Border radius for bars */
233
- borderRadius?: number;
234
- /** Series data */
235
- series: SeriesData[];
236
- }
237
205
  interface PieChartConfig extends ChartConfig {
238
206
  /** Inner radius for donut (0 for pie) */
239
207
  innerRadius?: number;
@@ -248,12 +216,6 @@ interface PieChartConfig extends ChartConfig {
248
216
  /** Series data (single series) */
249
217
  series: SeriesData;
250
218
  }
251
- interface AreaChartConfig extends LineChartConfig {
252
- /** Fill opacity (0-1) */
253
- fillOpacity?: number;
254
- /** Stack areas */
255
- stacked?: boolean;
256
- }
257
219
  interface ScatterChartConfig extends ChartConfig {
258
220
  /** X-axis configuration */
259
221
  xAxis?: XAxisConfig;
@@ -266,33 +228,6 @@ interface ScatterChartConfig extends ChartConfig {
266
228
  /** Series data */
267
229
  series: SeriesData[];
268
230
  }
269
- interface HeatmapChartConfig extends ChartConfig {
270
- /** X-axis configuration */
271
- xAxis?: XAxisConfig;
272
- /** Y-axis configuration */
273
- yAxis?: YAxisConfig;
274
- /** 2D array of z-values for the heatmap */
275
- zValues: number[][];
276
- /** X start position */
277
- xStart?: number;
278
- /** X step size */
279
- xStep?: number;
280
- /** Y start position */
281
- yStart?: number;
282
- /** Y step size */
283
- yStep?: number;
284
- /** Minimum value for color mapping */
285
- colorMin?: number;
286
- /** Maximum value for color mapping */
287
- colorMax?: number;
288
- /** Color gradient stops */
289
- colorStops?: Array<{
290
- offset: number;
291
- color: string;
292
- }>;
293
- /** Show color legend */
294
- showLegend?: boolean;
295
- }
296
231
  interface Surface3DChartConfig extends ChartConfig {
297
232
  /** X size of the grid */
298
233
  xSize?: number;
@@ -328,6 +263,73 @@ interface Surface3DChartConfig extends ChartConfig {
328
263
  z: number;
329
264
  };
330
265
  }
266
+ /** PRPD data point: [phaseAngle, amplitude, count] */
267
+ type PRPDDataPoint = [number, number, number];
268
+ /** Resolution mode for PRPD chart */
269
+ type PRPDResolutionMode = "UNI" | "BI";
270
+ /** Resolution quality for PRPD chart */
271
+ type PRPDResolutionQuality = "HI" | "LO";
272
+ /** PRPD Resolution label configuration */
273
+ interface PRPDResolutionLabel {
274
+ /** Unipolar/Bipolar mode */
275
+ UniBi: PRPDResolutionMode;
276
+ /** High/Low resolution quality */
277
+ HiLo: PRPDResolutionQuality;
278
+ }
279
+ /** Windowing region for PRPD chart */
280
+ interface PRPDWindowingRegion {
281
+ /** Minimum phase angle (degrees) */
282
+ minPhase: number;
283
+ /** Maximum phase angle (degrees) */
284
+ maxPhase: number;
285
+ /** Minimum amplitude */
286
+ minAmp: number;
287
+ /** Maximum amplitude */
288
+ maxAmp: number;
289
+ }
290
+ /** PRPD chart configuration */
291
+ interface PRPDChartConfig extends ChartConfig {
292
+ /** Raw PRPD data: array of [phaseAngle, amplitude, count] */
293
+ data: PRPDDataPoint[];
294
+ /** Scaling factor to apply to amplitude values */
295
+ scalingFactor?: number;
296
+ /** Unit of measurement for amplitude (e.g., "mVp") */
297
+ unitOfMeasurement?: string;
298
+ /** Maximum peak amplitude */
299
+ maxPeak?: number;
300
+ /** Minimum peak amplitude */
301
+ minPeak?: number;
302
+ /** Maximum phase angle (default: 360) */
303
+ maxPhaseAngle?: number;
304
+ /** Resolution label configuration */
305
+ resolutionLabel?: PRPDResolutionLabel;
306
+ /** Windowing regions to exclude from display */
307
+ windowingData?: PRPDWindowingRegion[];
308
+ /** Y-axis range for display */
309
+ yAxisRange?: number;
310
+ /** Whether this is low resolution data (128 phase angles) */
311
+ isLowResolution?: boolean;
312
+ /** Show color palette legend */
313
+ showColorPalette?: boolean;
314
+ /** Show sine wave overlay */
315
+ showSineWave?: boolean;
316
+ /** Color gradient stops for heatmap */
317
+ colorStops?: Array<{
318
+ offset: number;
319
+ color: string;
320
+ }>;
321
+ /** Minimum value for color mapping */
322
+ colorMin?: number;
323
+ /** Maximum value for color mapping */
324
+ colorMax?: number;
325
+ }
326
+ /** PRPD chart computed statistics */
327
+ interface PRPDChartStats {
328
+ /** Peak amplitude value */
329
+ peakValue: number;
330
+ /** Total pulse count */
331
+ totalCount: number;
332
+ }
331
333
 
332
334
  /**
333
335
  * Default light theme - clean white background with subtle grid
@@ -401,4 +403,4 @@ declare class ThemeManager {
401
403
  }
402
404
  declare const getThemeManager: () => ThemeManager;
403
405
 
404
- export { type AreaChartConfig as A, type BarChartConfig as B, type ChartConfig as C, type DataPoint as D, type GridLineConfig as G, type HeatmapChartConfig as H, type LineChartConfig as L, type PieChartConfig as P, type RenderedEvent as R, type SeriesData as S, type ThemeConfig as T, type XAxisConfig as X, type YAxisConfig as Y, type ZoomEvent as Z, type ChartInstance as a, type ChartEventMap as b, type Surface3DChartConfig as c, type ScatterChartConfig as d, type AnimationConfig as e, type TooltipConfig as f, type TooltipData as g, type LegendConfig as h, type TitleConfig as i, type AxisConfig as j, type ChartType as k, type ChartClickEvent as l, type ChartHoverEvent as m, type LegendClickEvent as n, type PanEvent as o, lightTheme as p, darkTheme as q, modernTheme as r, midnightTheme as s, ThemeManager as t, getThemeManager as u };
406
+ export { type AnimationConfig as A, type ChartConfig as C, type DataPoint as D, type GridLineConfig as G, type LegendConfig as L, type PRPDChartConfig as P, type RenderedEvent as R, type SeriesData as S, type ThemeConfig as T, type XAxisConfig as X, type YAxisConfig as Y, type ZoomEvent as Z, type ChartInstance as a, type ChartEventMap as b, type Surface3DChartConfig as c, type PRPDDataPoint as d, type PRPDResolutionLabel as e, type PRPDWindowingRegion as f, type PRPDChartStats as g, type PieChartConfig as h, type ScatterChartConfig as i, type TooltipConfig as j, type TooltipData as k, type TitleConfig as l, type AxisConfig as m, type ChartType as n, type PRPDResolutionMode as o, type PRPDResolutionQuality as p, type ChartClickEvent as q, type ChartHoverEvent as r, type LegendClickEvent as s, type PanEvent as t, lightTheme as u, darkTheme as v, modernTheme as w, midnightTheme as x, ThemeManager as y, getThemeManager as z };
@@ -202,38 +202,6 @@ interface ChartInstance {
202
202
  /** Remove event listener */
203
203
  off<K extends keyof ChartEventMap>(event: K, handler: (e: ChartEventMap[K]) => void): void;
204
204
  }
205
- interface LineChartConfig extends ChartConfig {
206
- /** X-axis configuration */
207
- xAxis?: XAxisConfig;
208
- /** Y-axis configuration */
209
- yAxis?: YAxisConfig;
210
- /** Line thickness */
211
- lineWidth?: number;
212
- /** Show data points */
213
- showPoints?: boolean;
214
- /** Point size */
215
- pointSize?: number;
216
- /** Enable smooth curves (spline) */
217
- smooth?: boolean;
218
- /** Series data */
219
- series: SeriesData[];
220
- }
221
- interface BarChartConfig extends ChartConfig {
222
- /** X-axis configuration */
223
- xAxis?: XAxisConfig;
224
- /** Y-axis configuration */
225
- yAxis?: YAxisConfig;
226
- /** Bar orientation */
227
- orientation?: "vertical" | "horizontal";
228
- /** Bar width (0-1 as percentage) */
229
- barWidth?: number;
230
- /** Stack bars */
231
- stacked?: boolean;
232
- /** Border radius for bars */
233
- borderRadius?: number;
234
- /** Series data */
235
- series: SeriesData[];
236
- }
237
205
  interface PieChartConfig extends ChartConfig {
238
206
  /** Inner radius for donut (0 for pie) */
239
207
  innerRadius?: number;
@@ -248,12 +216,6 @@ interface PieChartConfig extends ChartConfig {
248
216
  /** Series data (single series) */
249
217
  series: SeriesData;
250
218
  }
251
- interface AreaChartConfig extends LineChartConfig {
252
- /** Fill opacity (0-1) */
253
- fillOpacity?: number;
254
- /** Stack areas */
255
- stacked?: boolean;
256
- }
257
219
  interface ScatterChartConfig extends ChartConfig {
258
220
  /** X-axis configuration */
259
221
  xAxis?: XAxisConfig;
@@ -266,33 +228,6 @@ interface ScatterChartConfig extends ChartConfig {
266
228
  /** Series data */
267
229
  series: SeriesData[];
268
230
  }
269
- interface HeatmapChartConfig extends ChartConfig {
270
- /** X-axis configuration */
271
- xAxis?: XAxisConfig;
272
- /** Y-axis configuration */
273
- yAxis?: YAxisConfig;
274
- /** 2D array of z-values for the heatmap */
275
- zValues: number[][];
276
- /** X start position */
277
- xStart?: number;
278
- /** X step size */
279
- xStep?: number;
280
- /** Y start position */
281
- yStart?: number;
282
- /** Y step size */
283
- yStep?: number;
284
- /** Minimum value for color mapping */
285
- colorMin?: number;
286
- /** Maximum value for color mapping */
287
- colorMax?: number;
288
- /** Color gradient stops */
289
- colorStops?: Array<{
290
- offset: number;
291
- color: string;
292
- }>;
293
- /** Show color legend */
294
- showLegend?: boolean;
295
- }
296
231
  interface Surface3DChartConfig extends ChartConfig {
297
232
  /** X size of the grid */
298
233
  xSize?: number;
@@ -328,6 +263,73 @@ interface Surface3DChartConfig extends ChartConfig {
328
263
  z: number;
329
264
  };
330
265
  }
266
+ /** PRPD data point: [phaseAngle, amplitude, count] */
267
+ type PRPDDataPoint = [number, number, number];
268
+ /** Resolution mode for PRPD chart */
269
+ type PRPDResolutionMode = "UNI" | "BI";
270
+ /** Resolution quality for PRPD chart */
271
+ type PRPDResolutionQuality = "HI" | "LO";
272
+ /** PRPD Resolution label configuration */
273
+ interface PRPDResolutionLabel {
274
+ /** Unipolar/Bipolar mode */
275
+ UniBi: PRPDResolutionMode;
276
+ /** High/Low resolution quality */
277
+ HiLo: PRPDResolutionQuality;
278
+ }
279
+ /** Windowing region for PRPD chart */
280
+ interface PRPDWindowingRegion {
281
+ /** Minimum phase angle (degrees) */
282
+ minPhase: number;
283
+ /** Maximum phase angle (degrees) */
284
+ maxPhase: number;
285
+ /** Minimum amplitude */
286
+ minAmp: number;
287
+ /** Maximum amplitude */
288
+ maxAmp: number;
289
+ }
290
+ /** PRPD chart configuration */
291
+ interface PRPDChartConfig extends ChartConfig {
292
+ /** Raw PRPD data: array of [phaseAngle, amplitude, count] */
293
+ data: PRPDDataPoint[];
294
+ /** Scaling factor to apply to amplitude values */
295
+ scalingFactor?: number;
296
+ /** Unit of measurement for amplitude (e.g., "mVp") */
297
+ unitOfMeasurement?: string;
298
+ /** Maximum peak amplitude */
299
+ maxPeak?: number;
300
+ /** Minimum peak amplitude */
301
+ minPeak?: number;
302
+ /** Maximum phase angle (default: 360) */
303
+ maxPhaseAngle?: number;
304
+ /** Resolution label configuration */
305
+ resolutionLabel?: PRPDResolutionLabel;
306
+ /** Windowing regions to exclude from display */
307
+ windowingData?: PRPDWindowingRegion[];
308
+ /** Y-axis range for display */
309
+ yAxisRange?: number;
310
+ /** Whether this is low resolution data (128 phase angles) */
311
+ isLowResolution?: boolean;
312
+ /** Show color palette legend */
313
+ showColorPalette?: boolean;
314
+ /** Show sine wave overlay */
315
+ showSineWave?: boolean;
316
+ /** Color gradient stops for heatmap */
317
+ colorStops?: Array<{
318
+ offset: number;
319
+ color: string;
320
+ }>;
321
+ /** Minimum value for color mapping */
322
+ colorMin?: number;
323
+ /** Maximum value for color mapping */
324
+ colorMax?: number;
325
+ }
326
+ /** PRPD chart computed statistics */
327
+ interface PRPDChartStats {
328
+ /** Peak amplitude value */
329
+ peakValue: number;
330
+ /** Total pulse count */
331
+ totalCount: number;
332
+ }
331
333
 
332
334
  /**
333
335
  * Default light theme - clean white background with subtle grid
@@ -401,4 +403,4 @@ declare class ThemeManager {
401
403
  }
402
404
  declare const getThemeManager: () => ThemeManager;
403
405
 
404
- export { type AreaChartConfig as A, type BarChartConfig as B, type ChartConfig as C, type DataPoint as D, type GridLineConfig as G, type HeatmapChartConfig as H, type LineChartConfig as L, type PieChartConfig as P, type RenderedEvent as R, type SeriesData as S, type ThemeConfig as T, type XAxisConfig as X, type YAxisConfig as Y, type ZoomEvent as Z, type ChartInstance as a, type ChartEventMap as b, type Surface3DChartConfig as c, type ScatterChartConfig as d, type AnimationConfig as e, type TooltipConfig as f, type TooltipData as g, type LegendConfig as h, type TitleConfig as i, type AxisConfig as j, type ChartType as k, type ChartClickEvent as l, type ChartHoverEvent as m, type LegendClickEvent as n, type PanEvent as o, lightTheme as p, darkTheme as q, modernTheme as r, midnightTheme as s, ThemeManager as t, getThemeManager as u };
406
+ export { type AnimationConfig as A, type ChartConfig as C, type DataPoint as D, type GridLineConfig as G, type LegendConfig as L, type PRPDChartConfig as P, type RenderedEvent as R, type SeriesData as S, type ThemeConfig as T, type XAxisConfig as X, type YAxisConfig as Y, type ZoomEvent as Z, type ChartInstance as a, type ChartEventMap as b, type Surface3DChartConfig as c, type PRPDDataPoint as d, type PRPDResolutionLabel as e, type PRPDWindowingRegion as f, type PRPDChartStats as g, type PieChartConfig as h, type ScatterChartConfig as i, type TooltipConfig as j, type TooltipData as k, type TitleConfig as l, type AxisConfig as m, type ChartType as n, type PRPDResolutionMode as o, type PRPDResolutionQuality as p, type ChartClickEvent as q, type ChartHoverEvent as r, type LegendClickEvent as s, type PanEvent as t, lightTheme as u, darkTheme as v, modernTheme as w, midnightTheme as x, ThemeManager as y, getThemeManager as z };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { C as ChartConfig, a as ChartInstance, T as ThemeConfig, S as SeriesData, b as ChartEventMap, L as LineChartConfig, D as DataPoint, B as BarChartConfig, A as AreaChartConfig, H as HeatmapChartConfig, c as Surface3DChartConfig } from './index-DWzDIVQ9.mjs';
2
- export { e as AnimationConfig, j as AxisConfig, l as ChartClickEvent, m as ChartHoverEvent, k as ChartType, G as GridLineConfig, n as LegendClickEvent, h as LegendConfig, o as PanEvent, P as PieChartConfig, R as RenderedEvent, d as ScatterChartConfig, t as ThemeManager, i as TitleConfig, f as TooltipConfig, g as TooltipData, X as XAxisConfig, Y as YAxisConfig, Z as ZoomEvent, q as darkTheme, u as getThemeManager, p as lightTheme, s as midnightTheme, r as modernTheme } from './index-DWzDIVQ9.mjs';
1
+ import { C as ChartConfig, a as ChartInstance, T as ThemeConfig, S as SeriesData, b as ChartEventMap, c as Surface3DChartConfig, P as PRPDChartConfig, d as PRPDDataPoint, e as PRPDResolutionLabel, f as PRPDWindowingRegion, g as PRPDChartStats, D as DataPoint } from './index-QzUVGlSo.mjs';
2
+ export { A as AnimationConfig, m as AxisConfig, q as ChartClickEvent, r as ChartHoverEvent, n as ChartType, G as GridLineConfig, s as LegendClickEvent, L as LegendConfig, o as PRPDResolutionMode, p as PRPDResolutionQuality, t as PanEvent, h as PieChartConfig, R as RenderedEvent, i as ScatterChartConfig, y as ThemeManager, l as TitleConfig, j as TooltipConfig, k as TooltipData, X as XAxisConfig, Y as YAxisConfig, Z as ZoomEvent, v as darkTheme, z as getThemeManager, u as lightTheme, x as midnightTheme, w as modernTheme } from './index-QzUVGlSo.mjs';
3
3
  import { SciChartSurface, SciChart3DSurface } from 'scichart';
4
4
  export { SciChartSurface } from 'scichart';
5
5
 
@@ -64,6 +64,11 @@ declare abstract class BaseChart<TConfig extends ChartConfig> implements ChartIn
64
64
  * Manually resize the chart
65
65
  */
66
66
  resize(width?: number, height?: number): void;
67
+ /**
68
+ * Reset zoom to fit all data (zoom extents)
69
+ * Note: not part of the ChartInstance interface, but available on concrete chart classes.
70
+ */
71
+ resetZoom(): void;
67
72
  /**
68
73
  * Export chart as image
69
74
  */
@@ -98,186 +103,6 @@ declare abstract class BaseChart<TConfig extends ChartConfig> implements ChartIn
98
103
  isReady(): boolean;
99
104
  }
100
105
 
101
- /**
102
- * Line Chart implementation using SciChart
103
- */
104
- declare class LineChart extends BaseChart<LineChartConfig> {
105
- private dataSeries;
106
- private renderableSeries;
107
- private wasmContext;
108
- constructor(config: LineChartConfig);
109
- /**
110
- * Create the SciChart surface for line chart
111
- */
112
- protected createSurface(): Promise<void>;
113
- /**
114
- * Add series to the chart
115
- */
116
- private addSeries;
117
- /**
118
- * Set new data for the chart
119
- */
120
- setData(data: SeriesData[]): void;
121
- /**
122
- * Update specific series data
123
- */
124
- updateSeriesData(seriesName: string, data: DataPoint[] | number[]): void;
125
- /**
126
- * Append data to a series
127
- */
128
- appendData(seriesName: string, data: DataPoint | DataPoint[]): void;
129
- /**
130
- * Clear all series
131
- */
132
- private clearSeries;
133
- /**
134
- * Update chart
135
- */
136
- protected update(): void;
137
- /**
138
- * Apply theme to line chart
139
- */
140
- protected applyTheme(): void;
141
- /**
142
- * Destroy and clean up
143
- */
144
- destroy(): void;
145
- }
146
- /**
147
- * Factory function to create a line chart
148
- */
149
- declare function createLineChart(container: HTMLElement | string, config: LineChartConfig): Promise<LineChart>;
150
-
151
- /**
152
- * Bar/Column Chart implementation using SciChart
153
- */
154
- declare class BarChart extends BaseChart<BarChartConfig> {
155
- private dataSeries;
156
- private renderableSeries;
157
- private wasmContext;
158
- constructor(config: BarChartConfig);
159
- /**
160
- * Create the SciChart surface for bar chart
161
- */
162
- protected createSurface(): Promise<void>;
163
- /**
164
- * Add series to the chart
165
- */
166
- private addSeries;
167
- /**
168
- * Set new data for the chart
169
- */
170
- setData(data: SeriesData[]): void;
171
- /**
172
- * Update specific series data
173
- */
174
- updateSeriesData(seriesName: string, data: DataPoint[] | number[]): void;
175
- /**
176
- * Clear all series
177
- */
178
- private clearSeries;
179
- /**
180
- * Update chart
181
- */
182
- protected update(): void;
183
- /**
184
- * Destroy and clean up
185
- */
186
- destroy(): void;
187
- }
188
- /**
189
- * Factory function to create a bar chart
190
- */
191
- declare function createBarChart(container: HTMLElement | string, config: BarChartConfig): Promise<BarChart>;
192
-
193
- /**
194
- * Area Chart implementation using SciChart
195
- */
196
- declare class AreaChart extends BaseChart<AreaChartConfig> {
197
- private dataSeries;
198
- private renderableSeries;
199
- private wasmContext;
200
- constructor(config: AreaChartConfig);
201
- /**
202
- * Create the SciChart surface for area chart
203
- */
204
- protected createSurface(): Promise<void>;
205
- /**
206
- * Add series to the chart
207
- */
208
- private addSeries;
209
- /**
210
- * Set new data for the chart
211
- */
212
- setData(data: SeriesData[]): void;
213
- /**
214
- * Update specific series data
215
- */
216
- updateSeriesData(seriesName: string, data: DataPoint[] | number[]): void;
217
- /**
218
- * Clear all series
219
- */
220
- private clearSeries;
221
- /**
222
- * Update chart
223
- */
224
- protected update(): void;
225
- /**
226
- * Destroy and clean up
227
- */
228
- destroy(): void;
229
- }
230
- /**
231
- * Factory function to create an area chart
232
- */
233
- declare function createAreaChart(container: HTMLElement | string, config: AreaChartConfig): Promise<AreaChart>;
234
-
235
- /**
236
- * Heatmap Chart implementation using SciChart
237
- */
238
- declare class HeatmapChart extends BaseChart<HeatmapChartConfig> {
239
- private heatmapDataSeries;
240
- private heatmapSeries;
241
- private wasmContext;
242
- constructor(config: HeatmapChartConfig);
243
- /**
244
- * Create the SciChart surface for heatmap chart
245
- */
246
- protected createSurface(): Promise<void>;
247
- /**
248
- * Add heatmap data to the chart
249
- */
250
- private addHeatmapData;
251
- /**
252
- * Set new data for the chart (for heatmap, this updates zValues)
253
- */
254
- setData(_data: SeriesData[]): void;
255
- /**
256
- * Set new z-values for the heatmap
257
- */
258
- setZValues(zValues: number[][]): void;
259
- /**
260
- * Update specific cell values
261
- */
262
- updateCell(x: number, y: number, value: number): void;
263
- /**
264
- * Clear heatmap data
265
- */
266
- private clearHeatmap;
267
- /**
268
- * Update chart
269
- */
270
- protected update(): void;
271
- /**
272
- * Destroy and clean up
273
- */
274
- destroy(): void;
275
- }
276
- /**
277
- * Factory function to create a heatmap chart
278
- */
279
- declare function createHeatmapChart(container: HTMLElement | string, config: HeatmapChartConfig): Promise<HeatmapChart>;
280
-
281
106
  /**
282
107
  * 3D Surface Chart implementation using SciChart
283
108
  */
@@ -468,6 +293,107 @@ declare class Column3DChart {
468
293
  */
469
294
  declare function createColumn3DChart(container: HTMLElement | string, config: Column3DChartConfig): Promise<Column3DChart>;
470
295
 
296
+ /**
297
+ * PRPD (Phase Resolved Partial Discharge) Chart implementation using SciChart
298
+ *
299
+ * This chart displays partial discharge data as a heatmap with:
300
+ * - X-axis: Phase angle (0-360°)
301
+ * - Y-axis: Amplitude (mVp or other unit)
302
+ * - Color intensity: Pulse count at each phase/amplitude bin
303
+ * - Optional sine wave overlay
304
+ * - Resolution modes (UNI/BI, HI/LO)
305
+ * - Windowing support for filtering regions
306
+ */
307
+ declare class PRPDChart {
308
+ readonly id: string;
309
+ private container;
310
+ private chartHost;
311
+ private surface;
312
+ private wasmContext;
313
+ private config;
314
+ private isDestroyed;
315
+ private heatmapDataSeries;
316
+ private heatmapSeries;
317
+ private heatmapColorMap;
318
+ private heatmapLegend;
319
+ private heatmapLegendDiv;
320
+ private sineDataSeries;
321
+ private sineLineSeries;
322
+ private xAxis;
323
+ private yAxis;
324
+ private stats;
325
+ private onStatsChange?;
326
+ constructor(config: PRPDChartConfig);
327
+ /**
328
+ * Initialize the chart in the given container
329
+ */
330
+ init(container: HTMLElement | string): Promise<void>;
331
+ /**
332
+ * Create the SciChart surface
333
+ */
334
+ private createSurface;
335
+ private createHeatmap;
336
+ private createSineWave;
337
+ private createHeatmapLegend;
338
+ private clearHeatmapLegend;
339
+ /**
340
+ * Update chart with new data
341
+ */
342
+ updateData(data: PRPDDataPoint[]): void;
343
+ /**
344
+ * Update resolution label (UNI/BI, HI/LO)
345
+ */
346
+ setResolutionLabel(label: PRPDResolutionLabel): void;
347
+ /**
348
+ * Update windowing data
349
+ */
350
+ setWindowingData(windowingData: PRPDWindowingRegion[]): void;
351
+ /**
352
+ * Update Y-axis range
353
+ */
354
+ setYAxisRange(range: number): void;
355
+ /**
356
+ * Set stats change callback
357
+ */
358
+ onStats(callback: (stats: PRPDChartStats) => void): void;
359
+ /**
360
+ * Get current statistics
361
+ */
362
+ getStats(): PRPDChartStats;
363
+ /**
364
+ * Refresh the chart with current configuration
365
+ */
366
+ refresh(): void;
367
+ /**
368
+ * Set chart options
369
+ */
370
+ setOptions(options: Partial<PRPDChartConfig>): void;
371
+ /**
372
+ * Reset zoom to full extent
373
+ */
374
+ resetZoom(): void;
375
+ /**
376
+ * Export chart as image
377
+ */
378
+ exportImage(format?: "png" | "jpeg"): Promise<string>;
379
+ /**
380
+ * Get current configuration
381
+ */
382
+ getConfig(): PRPDChartConfig;
383
+ /**
384
+ * Check if chart is ready
385
+ */
386
+ isReady(): boolean;
387
+ /**
388
+ * Destroy and clean up
389
+ */
390
+ destroy(): void;
391
+ }
392
+ /**
393
+ * Factory function to create a PRPD chart
394
+ */
395
+ declare function createPRPDChart(container: HTMLElement | string, config: PRPDChartConfig): Promise<PRPDChart>;
396
+
471
397
  /**
472
398
  * Generate a unique ID
473
399
  */
@@ -545,14 +471,12 @@ declare const VERSION = "0.1.1";
545
471
  *
546
472
  * // Use local WASM files
547
473
  * configureSciChart({
548
- * wasmUrl: '/scichart2d.wasm',
549
- * dataUrl: '/scichart2d.data'
474
+ * wasmUrl: '/scichart2d.wasm'
550
475
  * });
551
476
  * ```
552
477
  */
553
478
  declare function configureSciChart(options: {
554
479
  wasmUrl?: string;
555
- dataUrl?: string;
556
480
  }): void;
557
481
 
558
- export { AreaChart, AreaChartConfig, BarChart, BarChartConfig, BaseChart, ChartConfig, ChartEventMap, ChartInstance, Column3DChart, type Column3DChartConfig, type Column3DDataPoint, DataPoint, HeatmapChart, HeatmapChartConfig, LineChart, LineChartConfig, SeriesData, Surface3DChart, Surface3DChartConfig, ThemeConfig, VERSION, calculateDataRange, clamp, configureSciChart, createAreaChart, createBarChart, createColumn3DChart, createHeatmapChart, createLineChart, createSurface3DChart, debounce, deepMerge, extractXValues, extractYValues, formatNumber, generateId, hexToRgba, lerp, normalizeDataPoints, parseSize, throttle };
482
+ export { BaseChart, ChartConfig, ChartEventMap, ChartInstance, Column3DChart, type Column3DChartConfig, type Column3DDataPoint, DataPoint, PRPDChart, PRPDChartConfig, PRPDChartStats, PRPDDataPoint, PRPDResolutionLabel, PRPDWindowingRegion, SeriesData, Surface3DChart, Surface3DChartConfig, ThemeConfig, VERSION, calculateDataRange, clamp, configureSciChart, createColumn3DChart, createPRPDChart, createSurface3DChart, debounce, deepMerge, extractXValues, extractYValues, formatNumber, generateId, hexToRgba, lerp, normalizeDataPoints, parseSize, throttle };