@rfkit/charts 1.2.28 → 1.3.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.
- package/components/AxisY/occupancy/index.d.ts +1 -0
- package/components/AxisY/occupancy/type/Default/index.d.ts +4 -1
- package/components/AxisY/spectrum/useRanging/tools.d.ts +27 -11
- package/components/AxisY/tools.d.ts +2 -0
- package/components/Blaze/tools.d.ts +2 -1
- package/components/Cursor/tools.d.ts +1 -1
- package/components/Dashed/index.d.ts +1 -0
- package/components/DeltaMeasurement/Switch.d.ts +3 -0
- package/components/DeltaMeasurement/index.d.ts +3 -0
- package/components/DragSelectBox/index.d.ts +28 -0
- package/components/Dropdown/index.d.ts +1 -0
- package/components/EventBus/tools.d.ts +2 -2
- package/components/Markers/hooks/useMarkerEvents.d.ts +1 -0
- package/components/Markers/hooks/useMarkers.d.ts +2 -0
- package/components/Markers/tools.d.ts +15 -0
- package/components/Zoom/ZoomOffsetContainer/index.d.ts +1 -0
- package/config/constants.d.ts +12 -4
- package/config/setting.d.ts +9 -0
- package/hooks/data/index.d.ts +6 -0
- package/hooks/{useSegments.d.ts → data/useSegments.d.ts} +1 -1
- package/hooks/index.d.ts +12 -0
- package/hooks/publish/index.d.ts +6 -0
- package/hooks/{useMarkerPublish.d.ts → publish/useMarkerPublish.d.ts} +1 -1
- package/hooks/{usePublish.d.ts → publish/usePublish.d.ts} +2 -2
- package/hooks/{useSafePublish.d.ts → publish/useSafePublish.d.ts} +3 -3
- package/hooks/spectrum/index.d.ts +6 -0
- package/hooks/{useSpectrumChartType.d.ts → spectrum/useSpectrumChartType.d.ts} +1 -1
- package/hooks/{useSpectrumRule.d.ts → spectrum/useSpectrumRule.d.ts} +2 -2
- package/hooks/useChart/index.d.ts +14 -5
- package/hooks/useDragSelect.d.ts +32 -0
- package/hooks/useModuleSubscription.d.ts +66 -0
- package/hooks/useSeriesManager/index.d.ts +1 -1
- package/hooks/useSeriesManager/useFilteredSeries.d.ts +1 -1
- package/hooks/useSeriesManager/useSeriesManager.d.ts +0 -8
- package/index.d.ts +4 -2
- package/index.js +10953 -11488
- package/lib/Spectrum/Chart.d.ts +4 -3
- package/modules/Dial/render.d.ts +13 -8
- package/modules/Fluorescence/render.d.ts +13 -33
- package/modules/Gauge/render.d.ts +30 -9
- package/modules/Heatmap/render.d.ts +21 -21
- package/modules/IQEye/index.d.ts +6 -1
- package/modules/IQPlanisphere/index.d.ts +6 -1
- package/modules/IQStream/index.d.ts +5 -1
- package/modules/Occupancy/render.d.ts +14 -8
- package/modules/OccupancyPortal/index.d.ts +5 -2
- package/modules/SpatialSpectrum/render.d.ts +13 -8
- package/modules/Spectrum/render.d.ts +3 -2
- package/modules/base/BaseRenderer.d.ts +83 -0
- package/modules/base/CircularRenderer.d.ts +59 -0
- package/modules/base/GradientRenderer.d.ts +42 -0
- package/modules/base/IQRenderer.d.ts +41 -0
- package/modules/base/index.d.ts +7 -0
- package/modules/tools.d.ts +2 -1
- package/package.json +1 -1
- package/store/reducer.d.ts +2 -0
- package/types/common.d.ts +14 -12
- package/types/publish.d.ts +4 -1
- package/types/store/axis.d.ts +29 -0
- package/types/store/frequency.d.ts +19 -0
- package/types/store/heatmap.d.ts +53 -0
- package/types/store/index.d.ts +95 -0
- package/types/store/marker.d.ts +39 -0
- package/types/store/series.d.ts +16 -0
- package/types/store/signal.d.ts +27 -0
- package/types/store/ui.d.ts +98 -0
- package/types/store.d.ts +13 -328
- package/utils/array.d.ts +40 -0
- package/utils/frequency.d.ts +72 -0
- package/utils/index.d.ts +12 -114
- package/utils/object.d.ts +11 -0
- package/utils/series/events.d.ts +1 -1
- package/utils/series/index.d.ts +1 -1
- package/utils/series/modes.d.ts +1 -1
- package/utils/subscription.d.ts +20 -2
- package/utils/theme.d.ts +18 -0
- package/utils/throttle.d.ts +52 -0
- package/utils/time.d.ts +27 -0
- package/engine/ColorInterpolator.d.ts +0 -49
- package/engine/dial.d.ts +0 -13
- package/engine/engine.d.ts +0 -10
- package/engine/fillImageData.d.ts +0 -34
- package/engine/fluorescence.d.ts +0 -37
- package/engine/gauge.d.ts +0 -16
- package/engine/heatmap.d.ts +0 -13
- package/engine/index.d.ts +0 -11
- package/engine/iq.d.ts +0 -12
- package/engine/iqEye.d.ts +0 -17
- package/engine/radar.d.ts +0 -11
- package/engine/series.d.ts +0 -12
- package/engine/tools.d.ts +0 -30
- package/engine/type.d.ts +0 -32
- package/engine/utils.d.ts +0 -2
- package/engine/webglEngine.d.ts +0 -23
- package/engine/webglExample.d.ts +0 -21
- package/engine/webglSeries.d.ts +0 -21
- package/hooks/useHeatmapHeight.d.ts +0 -7
- package/hooks/useRuleUpdate.d.ts +0 -4
- package/hooks/useZoomMinSimulateWave.d.ts +0 -7
- package/modules/IQEye/render.d.ts +0 -12
- package/modules/IQPlanisphere/render.d.ts +0 -12
- package/modules/IQStream/render.d.ts +0 -12
- /package/hooks/{useChannel.d.ts → data/useChannel.d.ts} +0 -0
- /package/hooks/{usePoints.d.ts → data/usePoints.d.ts} +0 -0
- /package/hooks/{uselevelStreamAnalyzer.d.ts → useLevelStreamAnalyzer.d.ts} +0 -0
package/utils/array.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数组操作工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 查找数组最大值及索引
|
|
6
|
+
*/
|
|
7
|
+
export declare function arrayFindMax(arr: Array<number>): {
|
|
8
|
+
max?: undefined;
|
|
9
|
+
maxIndex?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
max: number;
|
|
12
|
+
maxIndex: number;
|
|
13
|
+
};
|
|
14
|
+
interface MinResult {
|
|
15
|
+
min: number;
|
|
16
|
+
minIndex: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 查找数组最小值及索引
|
|
20
|
+
*/
|
|
21
|
+
export declare function arrayFindMin(arr: Array<number>): MinResult | 0;
|
|
22
|
+
/**
|
|
23
|
+
* 是否为有效数字
|
|
24
|
+
*/
|
|
25
|
+
export declare const isNumberAlias: (n: unknown) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 获取平均值、最大值、最小值
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDimInfo(d: Array<number>): {
|
|
30
|
+
min?: number;
|
|
31
|
+
minIndex?: number;
|
|
32
|
+
max?: number;
|
|
33
|
+
maxIndex?: number;
|
|
34
|
+
avg?: number;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* 获取中间索引
|
|
38
|
+
*/
|
|
39
|
+
export declare function getMidIndex(indexStart: number, indexEnd: number): number;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 频率计算工具函数
|
|
3
|
+
*/
|
|
4
|
+
import { FrequencyUnit } from '../config/constants';
|
|
5
|
+
import type { RecursiveObject, SegmentsOriginal, SegmentsType } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* 格式化频率为固定小数位字符串
|
|
8
|
+
*/
|
|
9
|
+
export declare const getFrequencyToFixed: (frequency: number, fixedNum?: number) => string;
|
|
10
|
+
/**
|
|
11
|
+
* 是否是 dBm 单位
|
|
12
|
+
*/
|
|
13
|
+
export declare function isdBm(unit: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 通过 left segments 格式化 frequency 频谱信息
|
|
16
|
+
*/
|
|
17
|
+
export declare const leftSegments2frequency: (segments: SegmentsType) => (left: number) => string;
|
|
18
|
+
/**
|
|
19
|
+
* 点信息转换成频率
|
|
20
|
+
*/
|
|
21
|
+
export declare function leftPoints2frequency<T>(points: Array<T>): (left: number) => T | undefined;
|
|
22
|
+
interface ScopeInfo {
|
|
23
|
+
segments: SegmentsType;
|
|
24
|
+
startLeft: number;
|
|
25
|
+
endLeft: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 通过范围框中信息的 left segments 转换成 bandwidth
|
|
29
|
+
*/
|
|
30
|
+
export declare const scopeLeftSegments2bandwidth: (e: ScopeInfo | null | undefined) => number;
|
|
31
|
+
/**
|
|
32
|
+
* 生成频率段
|
|
33
|
+
*/
|
|
34
|
+
export declare const generateFrequencySegments: (e: RecursiveObject) => SegmentsType;
|
|
35
|
+
/**
|
|
36
|
+
* 为无频率规则的模式生成默认 segments(如 LiteNormalized)
|
|
37
|
+
*/
|
|
38
|
+
export declare const generateNormalizedSegments: (totalPoints: number) => SegmentsType;
|
|
39
|
+
/**
|
|
40
|
+
* 生成大段频率数据
|
|
41
|
+
*/
|
|
42
|
+
export declare const generateGreatSegments: (prevSegments: SegmentsOriginal[]) => SegmentsType;
|
|
43
|
+
/**
|
|
44
|
+
* 频率单位自适应结果
|
|
45
|
+
*/
|
|
46
|
+
export interface FrequencyUnitResult {
|
|
47
|
+
value: number;
|
|
48
|
+
unit: FrequencyUnit;
|
|
49
|
+
formatted: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 频率单位自适应转换(基于 kHz)
|
|
53
|
+
* @param frequencyKHz 频率(单位:kHz)
|
|
54
|
+
* @param precision 小数位数,默认 2
|
|
55
|
+
* @returns 转换后的频率值、单位和格式化字符串
|
|
56
|
+
*/
|
|
57
|
+
export declare const formatFrequencyUnit: (frequencyKHz: number, precision?: number) => FrequencyUnitResult;
|
|
58
|
+
/**
|
|
59
|
+
* 频率单位自适应转换(基于 MHz)
|
|
60
|
+
* @param frequencyMHz 频率(单位:MHz)
|
|
61
|
+
* @param precision 小数位数,默认 2
|
|
62
|
+
* @returns 转换后的频率值、单位和格式化字符串
|
|
63
|
+
*/
|
|
64
|
+
export declare const formatFrequencyUnitFromMHz: (frequencyMHz: number, precision?: number) => FrequencyUnitResult;
|
|
65
|
+
/**
|
|
66
|
+
* 频率单位自适应转换(基于 Hz)
|
|
67
|
+
* @param frequencyHz 频率(单位:Hz)
|
|
68
|
+
* @param precision 小数位数,默认 2
|
|
69
|
+
* @returns 转换后的频率值、单位和格式化字符串
|
|
70
|
+
*/
|
|
71
|
+
export declare const formatFrequencyUnitFromHz: (frequencyHz: number, precision?: number) => FrequencyUnitResult;
|
|
72
|
+
export {};
|
package/utils/index.d.ts
CHANGED
|
@@ -1,121 +1,19 @@
|
|
|
1
|
-
import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
|
|
2
|
-
import type { ModuleType } from '../config';
|
|
3
|
-
import type { RecursiveObject, SegmentsOriginal, SegmentsType } from '../types';
|
|
4
|
-
/**
|
|
5
|
-
* GUID
|
|
6
|
-
* @returns {string}
|
|
7
|
-
*/
|
|
8
|
-
export declare const createGUID: () => string;
|
|
9
|
-
export interface TimestampFormatOptions {
|
|
10
|
-
dateSeparator?: string;
|
|
11
|
-
timeSeparator?: string;
|
|
12
|
-
timeOnly?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare const formatTimestamp: (input?: number | Date, options?: TimestampFormatOptions) => string;
|
|
15
|
-
export declare const dateTimeToTimestamp: (dateTimeStr: unknown, // 改为 unknown 类型,强制运行时检查
|
|
16
|
-
sep1?: string, sep2?: string, isTimeOnly?: boolean) => number;
|
|
17
|
-
/**
|
|
18
|
-
* 节流
|
|
19
|
-
*/
|
|
20
|
-
export declare function throttle(func?: (...arg: any[]) => void, wait?: number): (...arg: any[]) => void;
|
|
21
|
-
export declare function throttleRequestAnimationFrame(func?: (e?: any) => void): (e?: any) => void;
|
|
22
|
-
export declare function throttleTimer(func?: (e: any) => void, wait?: number): (e?: any) => void;
|
|
23
|
-
/**
|
|
24
|
-
* 通过left segments格式化frequency频谱信息
|
|
25
|
-
*/
|
|
26
|
-
export declare const leftSegments2frequency: (segments: SegmentsType) => (left: number) => string;
|
|
27
|
-
export declare const leftSegmentsFindStep: (segments: any) => (left: number) => number;
|
|
28
|
-
/**
|
|
29
|
-
* 点信息转换成频率
|
|
30
|
-
*/
|
|
31
|
-
export declare function leftPoints2frequency(points: Array<any>): (left: number) => any;
|
|
32
|
-
/**
|
|
33
|
-
* 通过范围框中信息的left segments转换成bandwidth
|
|
34
|
-
*/
|
|
35
|
-
export declare const scopeLeftSegments2bandwidth: (e: any) => number;
|
|
36
|
-
/**
|
|
37
|
-
* 是否是dBm
|
|
38
|
-
*/
|
|
39
|
-
export declare function isdBm(unit: string): boolean;
|
|
40
1
|
/**
|
|
41
|
-
*
|
|
2
|
+
* 工具函数统一导出
|
|
42
3
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export
|
|
51
|
-
min: number;
|
|
52
|
-
minIndex: number;
|
|
53
|
-
};
|
|
54
|
-
export declare const generateFrequencySegments: (e: RecursiveObject) => SegmentsType;
|
|
55
|
-
/**
|
|
56
|
-
* 为无频率规则的模式生成默认 segments(如 LiteNormalized)
|
|
57
|
-
* @param totalPoints 数据点数
|
|
58
|
-
* @returns SegmentsType
|
|
59
|
-
*/
|
|
60
|
-
export declare const generateNormalizedSegments: (totalPoints: number) => SegmentsType;
|
|
61
|
-
export declare const generateGreatSegments: (prevSegments: SegmentsOriginal[]) => SegmentsType;
|
|
62
|
-
/**
|
|
63
|
-
* 获取平均值、最大值、最小值
|
|
64
|
-
*/
|
|
65
|
-
export declare function getDimInfo(d: Array<number>): {
|
|
66
|
-
min?: number;
|
|
67
|
-
minIndex?: number;
|
|
68
|
-
max?: number;
|
|
69
|
-
maxIndex?: number;
|
|
70
|
-
avg?: number;
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* 是否为刻度值
|
|
74
|
-
*/
|
|
75
|
-
export declare const isNumberAlias: (n: any) => boolean;
|
|
76
|
-
export declare const weakenArray: (data: Array<number>, interval: number, factor: Array<number> | undefined) => Array<number | undefined>;
|
|
77
|
-
export declare const getRowCol: (unknownArray: Array<any>) => {
|
|
78
|
-
row: number;
|
|
79
|
-
col: number;
|
|
80
|
-
};
|
|
81
|
-
export declare function expandArray(arr: Array<number>): number[];
|
|
82
|
-
export declare function getThemeFillStyle(): {
|
|
83
|
-
fillStyle: string;
|
|
84
|
-
fillStylePrimary: string;
|
|
85
|
-
fillStyleTransparentBase: string;
|
|
86
|
-
};
|
|
4
|
+
import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
|
|
5
|
+
export * from './array';
|
|
6
|
+
export * from './frequency';
|
|
7
|
+
export * from './frequencyCalculation';
|
|
8
|
+
export * from './object';
|
|
9
|
+
export * from './theme';
|
|
10
|
+
export * from './throttle';
|
|
11
|
+
export * from './time';
|
|
87
12
|
/**
|
|
88
|
-
*
|
|
89
|
-
* @param source 源对象
|
|
90
|
-
* @param params 要混合的参数
|
|
91
|
-
* @returns 混合后的对象
|
|
13
|
+
* GUID 生成
|
|
92
14
|
*/
|
|
93
|
-
export declare const
|
|
94
|
-
export declare function getMidIndex(indexStart: number, indexEnd: number): number;
|
|
95
|
-
export declare const getFrequencyToFixed: (frequency: number, fixedNum?: number) => string;
|
|
96
|
-
export declare const createChartRenderID: ({ moduleType, globalID }: {
|
|
97
|
-
moduleType?: ModuleType;
|
|
98
|
-
globalID?: string;
|
|
99
|
-
}) => string;
|
|
15
|
+
export declare const createGUID: () => string;
|
|
100
16
|
/**
|
|
101
|
-
* 将原始数据转换为带时间戳的Float32Array数组
|
|
102
|
-
* @param data 原始数据数组
|
|
103
|
-
* @param timestamps 可选的时间戳数组
|
|
104
|
-
* @returns 转换后的TimestampedFloat32Array数组
|
|
17
|
+
* 将原始数据转换为带时间戳的 Float32Array 数组
|
|
105
18
|
*/
|
|
106
19
|
export declare const convertToTimestampedArrays: (data: number[][], timestamps?: Array<string>) => TimestampedFloat32Array[];
|
|
107
|
-
/**
|
|
108
|
-
* 防抖函数
|
|
109
|
-
* @param fn 需要防抖的函数
|
|
110
|
-
* @param delay 延迟时间(毫秒)
|
|
111
|
-
* @returns 带有cancel方法的防抖函数
|
|
112
|
-
*/
|
|
113
|
-
export declare const debounce: <T extends (...args: unknown[]) => unknown>(fn: T, delay?: number) => ((...args: Parameters<T>) => void) & {
|
|
114
|
-
cancel: () => void;
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* 基于 requestAnimationFrame 的节流函数,适合视觉更新相关操作
|
|
118
|
-
*/
|
|
119
|
-
export declare function debounceRequestAnimationFrame<T extends unknown[]>(func?: (...args: T) => void): (...args: T) => void;
|
|
120
|
-
export declare const getThemeColor: (property: string, opacity?: number) => string;
|
|
121
|
-
export * from './frequencyCalculation';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 对象操作工具函数
|
|
3
|
+
*/
|
|
4
|
+
import type { RecursiveObject } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* 混合对象 - 将参数对象合并到源对象中
|
|
7
|
+
* @param source 源对象
|
|
8
|
+
* @param params 要混合的参数
|
|
9
|
+
* @returns 混合后的对象
|
|
10
|
+
*/
|
|
11
|
+
export declare const mergeObjects: <T extends RecursiveObject>(source: T, params: RecursiveObject) => T;
|
package/utils/series/events.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Series 事件系统
|
|
3
3
|
* 提供通用的发布-订阅机制,支持 React 组件和普通 JS 模块
|
|
4
4
|
*/
|
|
5
|
-
import type { GraphicType } from '
|
|
5
|
+
import type { GraphicType } from '@rfkit/renderer';
|
|
6
6
|
import type { SeriesConfig } from './index';
|
|
7
7
|
import type { ModeConfig, SeriesMode } from './modes';
|
|
8
8
|
/**
|
package/utils/series/index.d.ts
CHANGED
package/utils/series/modes.d.ts
CHANGED
package/utils/subscription.d.ts
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import type { SpectrumAnalyzer, SpectrumData } from '@rfkit/spectrum-analyzer';
|
|
2
2
|
import type { RecursiveFunction } from '../types';
|
|
3
|
-
|
|
3
|
+
interface ChartsGlobal {
|
|
4
|
+
datas: Record<string, unknown>;
|
|
5
|
+
subscriptions: ChartSubscriptions;
|
|
6
|
+
}
|
|
7
|
+
declare global {
|
|
8
|
+
interface Window {
|
|
9
|
+
charts?: ChartsGlobal;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export declare function openData<T = unknown>(globalID: string, data: T | undefined, defaultData: T): T;
|
|
4
13
|
/**
|
|
5
14
|
* 共享订阅
|
|
15
|
+
* Note: Using any[] for callback args since this is a generic pub/sub system
|
|
16
|
+
* that can be called with various argument types across the codebase.
|
|
6
17
|
*/
|
|
7
18
|
export type CSMCallback = (...args: any[]) => void;
|
|
19
|
+
interface Subscription {
|
|
20
|
+
[key: string]: CSMCallback;
|
|
21
|
+
}
|
|
22
|
+
interface ChartSubscriptions {
|
|
23
|
+
[id: string]: Subscription;
|
|
24
|
+
}
|
|
8
25
|
export declare function createSubscriptionManager(id: string, name?: string, func?: CSMCallback): (...args: any[]) => void;
|
|
9
26
|
export interface rawData {
|
|
10
27
|
getAllRawData: () => SpectrumData;
|
|
11
28
|
}
|
|
12
29
|
export declare const getDefaultData: () => rawData;
|
|
13
|
-
export default function withDatabase(globalID: string, data?:
|
|
30
|
+
export default function withDatabase(globalID: string, data?: rawData): rawData;
|
|
14
31
|
export declare const withUpdateData: (id?: string, name?: string, func?: RecursiveFunction) => (...args: any[]) => void;
|
|
15
32
|
export declare const setScanDF360Prob: (id?: string, func?: RecursiveFunction) => (...args: any[]) => void;
|
|
16
33
|
export declare function withSpectrumAnalyzerSYNC(globalID: string, analyzer?: SpectrumAnalyzer): SpectrumAnalyzer;
|
|
34
|
+
export {};
|
package/utils/theme.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主题相关工具函数
|
|
3
|
+
*/
|
|
4
|
+
export interface ThemeFillStyle {
|
|
5
|
+
fillStyle: string;
|
|
6
|
+
fillStylePrimary: string;
|
|
7
|
+
fillStyleTransparentBase: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 获取主题填充样式
|
|
11
|
+
*/
|
|
12
|
+
export declare function getThemeFillStyle(): ThemeFillStyle;
|
|
13
|
+
/**
|
|
14
|
+
* 获取主题颜色,支持透明度改变
|
|
15
|
+
* @param property CSS 变量名
|
|
16
|
+
* @param opacity 可选的透明度 (0-1)
|
|
17
|
+
*/
|
|
18
|
+
export declare const getThemeColor: (property: string, opacity?: number) => string;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 节流与防抖工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 节流函数
|
|
6
|
+
* @param func 需要节流的函数
|
|
7
|
+
* @param wait 等待时间(毫秒),默认 1000/30
|
|
8
|
+
*/
|
|
9
|
+
export declare function throttle<T extends unknown[]>(func?: (...arg: T) => void, wait?: number): (...arg: T) => void;
|
|
10
|
+
interface EventSnapshot {
|
|
11
|
+
currentTarget: EventTarget | null;
|
|
12
|
+
target: EventTarget | null;
|
|
13
|
+
clientX?: number;
|
|
14
|
+
clientY?: number;
|
|
15
|
+
buttons?: number;
|
|
16
|
+
nativeEvent?: Event;
|
|
17
|
+
_originalEvent?: unknown;
|
|
18
|
+
}
|
|
19
|
+
interface ReactLikeEvent {
|
|
20
|
+
nativeEvent?: Event;
|
|
21
|
+
persist?: () => void;
|
|
22
|
+
currentTarget?: EventTarget | null;
|
|
23
|
+
target?: EventTarget | null;
|
|
24
|
+
clientX?: number;
|
|
25
|
+
clientY?: number;
|
|
26
|
+
buttons?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 基于 requestAnimationFrame 的节流函数
|
|
30
|
+
* @param func 需要节流的函数
|
|
31
|
+
*/
|
|
32
|
+
export declare function throttleRequestAnimationFrame<T = unknown>(func?: (e?: T | EventSnapshot) => void): (e?: T | ReactLikeEvent) => void;
|
|
33
|
+
/**
|
|
34
|
+
* 基于定时器的节流函数
|
|
35
|
+
* @param func 需要节流的函数
|
|
36
|
+
* @param wait 等待时间(毫秒)
|
|
37
|
+
*/
|
|
38
|
+
export declare function throttleTimer<T = unknown>(func?: (e?: T) => void, wait?: number): (e?: T) => void;
|
|
39
|
+
/**
|
|
40
|
+
* 防抖函数
|
|
41
|
+
* @param fn 需要防抖的函数
|
|
42
|
+
* @param delay 延迟时间(毫秒)
|
|
43
|
+
* @returns 带有 cancel 方法的防抖函数
|
|
44
|
+
*/
|
|
45
|
+
export declare const debounce: <T extends (...args: unknown[]) => unknown>(fn: T, delay?: number) => ((...args: Parameters<T>) => void) & {
|
|
46
|
+
cancel: () => void;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 基于 requestAnimationFrame 的防抖函数,适合视觉更新相关操作
|
|
50
|
+
*/
|
|
51
|
+
export declare function debounceRequestAnimationFrame<T extends unknown[]>(func?: (...args: T) => void): (...args: T) => void;
|
|
52
|
+
export {};
|
package/utils/time.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 时间处理工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 时间戳格式化选项
|
|
6
|
+
*/
|
|
7
|
+
export interface TimestampFormatOptions {
|
|
8
|
+
dateSeparator?: string;
|
|
9
|
+
timeSeparator?: string;
|
|
10
|
+
timeOnly?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 格式化时间戳为字符串
|
|
14
|
+
* @param input 时间戳或 Date 对象
|
|
15
|
+
* @param options 格式化选项
|
|
16
|
+
* @returns 格式化后的时间字符串
|
|
17
|
+
*/
|
|
18
|
+
export declare const formatTimestamp: (input?: number | Date, options?: TimestampFormatOptions) => string;
|
|
19
|
+
/**
|
|
20
|
+
* 将日期时间字符串转换为时间戳
|
|
21
|
+
* @param dateTimeStr 日期时间字符串
|
|
22
|
+
* @param sep1 日期分隔符
|
|
23
|
+
* @param sep2 时间分隔符
|
|
24
|
+
* @param isTimeOnly 是否仅为时间字符串
|
|
25
|
+
* @returns 时间戳(毫秒)
|
|
26
|
+
*/
|
|
27
|
+
export declare const dateTimeToTimestamp: (dateTimeStr: unknown, sep1?: string, sep2?: string, isTimeOnly?: boolean) => number;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color 类型定义,用于表示 RGBA 颜色。
|
|
3
|
-
*/
|
|
4
|
-
interface Color {
|
|
5
|
-
r: number;
|
|
6
|
-
g: number;
|
|
7
|
-
b: number;
|
|
8
|
-
a: number;
|
|
9
|
-
hax?: string;
|
|
10
|
-
}
|
|
11
|
-
type Colors = Color[];
|
|
12
|
-
/**
|
|
13
|
-
* 颜色插值器类,用于在设定范围内插值颜色。
|
|
14
|
-
*/
|
|
15
|
-
export default class ColorInterpolator {
|
|
16
|
-
private colorsPresetList;
|
|
17
|
-
private range;
|
|
18
|
-
private readonly transparent;
|
|
19
|
-
/**
|
|
20
|
-
* 构造函数,接收颜色数组和范围信息,生成插值颜色列表。
|
|
21
|
-
* @param colors 颜色数组,用于插值
|
|
22
|
-
* @param rangeMin 插值范围的最小值
|
|
23
|
-
* @param rangeMax 插值范围的最大值
|
|
24
|
-
* @param stepSize 插值步长,默认为0.1
|
|
25
|
-
*/
|
|
26
|
-
constructor(colors: Colors, rangeMin: number, rangeMax: number, stepSize?: number);
|
|
27
|
-
/**
|
|
28
|
-
* 设置颜色数组并生成插值颜色列表。
|
|
29
|
-
* @param colors 颜色数组,用于插值
|
|
30
|
-
* @param rangeMin 插值范围最小值
|
|
31
|
-
* @param rangeMax 插值范围最大值
|
|
32
|
-
* @param stepSize 插值步长
|
|
33
|
-
*/
|
|
34
|
-
setColors(colors: Colors, rangeMin: number, rangeMax: number, stepSize: number): void;
|
|
35
|
-
/**
|
|
36
|
-
* 根据位置值在颜色数组之间进行插值计算。
|
|
37
|
-
* @param colors 颜色数组,用于插值
|
|
38
|
-
* @param position 归一化的位置值 (0 - 1)
|
|
39
|
-
* @returns 插值后的颜色
|
|
40
|
-
*/
|
|
41
|
-
private interpolateColor;
|
|
42
|
-
/**
|
|
43
|
-
* 根据给定值获取插值后的颜色。
|
|
44
|
-
* @param value 输入的数值,应该在设定的范围内
|
|
45
|
-
* @returns 插值后的颜色对象
|
|
46
|
-
*/
|
|
47
|
-
getColor(value: number): Color;
|
|
48
|
-
}
|
|
49
|
-
export {};
|
package/engine/dial.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { StateProps } from './type';
|
|
3
|
-
export default class Dial extends Engine {
|
|
4
|
-
init(props: StateProps): void;
|
|
5
|
-
clear(): void;
|
|
6
|
-
resize(): void;
|
|
7
|
-
render(data: {
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
}): void;
|
|
10
|
-
drawTicks(): void;
|
|
11
|
-
drawBackground(): void;
|
|
12
|
-
draw(): void;
|
|
13
|
-
}
|
package/engine/engine.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { StateProps } from './type';
|
|
2
|
-
export default class Engine {
|
|
3
|
-
state: StateProps;
|
|
4
|
-
constructor(props: StateProps);
|
|
5
|
-
updateProps(e: Partial<StateProps>): void;
|
|
6
|
-
init(p: StateProps): void;
|
|
7
|
-
clearRect(): void;
|
|
8
|
-
resize(draw?: boolean): void;
|
|
9
|
-
draw(): void;
|
|
10
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
interface Color {
|
|
2
|
-
r: number;
|
|
3
|
-
g: number;
|
|
4
|
-
b: number;
|
|
5
|
-
a: number;
|
|
6
|
-
}
|
|
7
|
-
type Colors = Color[];
|
|
8
|
-
/**
|
|
9
|
-
* 设置颜色数组,并计算插值颜色列表。
|
|
10
|
-
* @param colors 颜色数组,用于插值
|
|
11
|
-
* @param rangeMin 插值范围最小值
|
|
12
|
-
* @param rangeMax 插值范围最大值
|
|
13
|
-
* @param stepSize 插值步长,默认为0.1
|
|
14
|
-
*/
|
|
15
|
-
export declare const setColors: (colors: Colors, rangeMin: number, rangeMax: number, stepSize?: number) => void;
|
|
16
|
-
/**
|
|
17
|
-
* 根据给定值获取插值后的颜色。
|
|
18
|
-
* @param value 给定的值,在设定的范围内
|
|
19
|
-
* @returns 插值后的颜色对象
|
|
20
|
-
*/
|
|
21
|
-
export declare const getColor: (value: number) => Color;
|
|
22
|
-
/**
|
|
23
|
-
* 根据给定的数据数组填充图像数据
|
|
24
|
-
* @param rangeMin 最小范围值
|
|
25
|
-
* @param rangeMax 最大范围值
|
|
26
|
-
* @param colors 颜色数组
|
|
27
|
-
* @param canvasWidth 画布宽度
|
|
28
|
-
* @param canvasHeight 画布高度
|
|
29
|
-
* @param data 数据数组
|
|
30
|
-
* @param imageData 图像数据对象
|
|
31
|
-
* @returns 填充后的图像数据对象
|
|
32
|
-
*/
|
|
33
|
-
export declare const fillImageData: (canvasWidth: number, canvasHeight: number, data: number[][], imageData: ImageData["data"]) => void;
|
|
34
|
-
export {};
|
package/engine/fluorescence.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { AxisYRange, StateProps } from './type';
|
|
3
|
-
export default class Fluorescence extends Engine {
|
|
4
|
-
init(props: StateProps): void;
|
|
5
|
-
updateProps(e: Partial<StateProps>): void;
|
|
6
|
-
clearImageData(): void;
|
|
7
|
-
clearRect(): void;
|
|
8
|
-
clear(): void;
|
|
9
|
-
dispose(): void;
|
|
10
|
-
private drawBlocks;
|
|
11
|
-
resize(): void;
|
|
12
|
-
setRange(range: AxisYRange): void;
|
|
13
|
-
render(data: {
|
|
14
|
-
fluorescenceData: Map<number, number>[];
|
|
15
|
-
fluorescenceMaxCount: number;
|
|
16
|
-
}): void;
|
|
17
|
-
interpolateColor(colors: any[], ratio: number): {
|
|
18
|
-
r: number;
|
|
19
|
-
g: number;
|
|
20
|
-
b: number;
|
|
21
|
-
a: number;
|
|
22
|
-
};
|
|
23
|
-
private colorCache;
|
|
24
|
-
hexToRgb(hex: string): {
|
|
25
|
-
r: number;
|
|
26
|
-
g: number;
|
|
27
|
-
b: number;
|
|
28
|
-
};
|
|
29
|
-
private lastRenderParams;
|
|
30
|
-
private intensityMatrixCache;
|
|
31
|
-
private gridCentersCache;
|
|
32
|
-
private weightLookupCache;
|
|
33
|
-
private colorLookupCache;
|
|
34
|
-
private blockPositionsCache;
|
|
35
|
-
private lastBlockRenderParams;
|
|
36
|
-
draw(): void;
|
|
37
|
-
}
|
package/engine/gauge.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { StateProps } from './type';
|
|
3
|
-
interface Data {
|
|
4
|
-
value: number;
|
|
5
|
-
limit: number;
|
|
6
|
-
}
|
|
7
|
-
export default class Gauge extends Engine {
|
|
8
|
-
init(props: StateProps): void;
|
|
9
|
-
clear(): void;
|
|
10
|
-
resize(): void;
|
|
11
|
-
render(data: Data): void;
|
|
12
|
-
draw(): void;
|
|
13
|
-
drawLimit(): void;
|
|
14
|
-
drawBackground(): void;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
package/engine/heatmap.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { AxisYRange, StateProps } from './type';
|
|
3
|
-
export default class Heatmap extends Engine {
|
|
4
|
-
init(props: StateProps): void;
|
|
5
|
-
updateProps(e: Partial<StateProps>): void;
|
|
6
|
-
clearImageData(): void;
|
|
7
|
-
clearRect(): void;
|
|
8
|
-
clear(): void;
|
|
9
|
-
resize(): void;
|
|
10
|
-
setRange(range: AxisYRange): void;
|
|
11
|
-
render(data: number[][]): void;
|
|
12
|
-
draw(): void;
|
|
13
|
-
}
|
package/engine/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Dial from './dial';
|
|
2
|
-
import Fluorescence from './fluorescence';
|
|
3
|
-
import Gauge from './gauge';
|
|
4
|
-
import Heatmap from './heatmap';
|
|
5
|
-
import IQ from './iq';
|
|
6
|
-
import IQEye from './iqEye';
|
|
7
|
-
import Radar from './radar';
|
|
8
|
-
import Series from './series';
|
|
9
|
-
import { type AxisYRange, GraphicType, OrientationType, type SeriesConfig, type StateProps } from './type';
|
|
10
|
-
export { Dial, Fluorescence, Gauge, GraphicType, Heatmap, IQ, IQEye, OrientationType, Radar, Series };
|
|
11
|
-
export type { AxisYRange, SeriesConfig, StateProps };
|
package/engine/iq.d.ts
DELETED
package/engine/iqEye.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
interface Data {
|
|
3
|
-
IData: number[];
|
|
4
|
-
QData: number[];
|
|
5
|
-
}
|
|
6
|
-
export default class IQ extends Engine {
|
|
7
|
-
init(props: any): void;
|
|
8
|
-
clear(): void;
|
|
9
|
-
render(data: Data): void;
|
|
10
|
-
draw(): void;
|
|
11
|
-
private drawAllSegments;
|
|
12
|
-
private applyColorGradient;
|
|
13
|
-
private parseColor;
|
|
14
|
-
private drawSegmentedData;
|
|
15
|
-
private drawLine;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
package/engine/radar.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { StateProps } from './type';
|
|
3
|
-
export default class Dial extends Engine {
|
|
4
|
-
init(props: StateProps): void;
|
|
5
|
-
clear(): void;
|
|
6
|
-
resize(): void;
|
|
7
|
-
render(data: any): void;
|
|
8
|
-
drawTicks(): void;
|
|
9
|
-
drawBackground(): void;
|
|
10
|
-
draw(): void;
|
|
11
|
-
}
|
package/engine/series.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import Engine from './engine';
|
|
2
|
-
import type { AxisYRange, SeriesConfig, StateProps } from './type';
|
|
3
|
-
export default class Series extends Engine {
|
|
4
|
-
init(props: StateProps): void;
|
|
5
|
-
updateProps(e: Partial<StateProps>): void;
|
|
6
|
-
clear(): void;
|
|
7
|
-
setRange(range: AxisYRange): void;
|
|
8
|
-
setIntervel(interval: number): void;
|
|
9
|
-
setSeries(e: SeriesConfig): void;
|
|
10
|
-
render(e: SeriesConfig): void;
|
|
11
|
-
draw(): void;
|
|
12
|
-
}
|