@signal-visualization/react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # @signal-visualization/react
2
+
3
+ React lifecycle adapter for `@signal-visualization/core` with discriminated Spectrum, Waterfall, Constellation, and Waveform Props.
4
+
5
+ ```tsx
6
+ import { SignalChart, useSignalChart } from '@signal-visualization/react'
7
+
8
+ <SignalChart option={{ type: 'spectrum' }} data={data} style={{ height: 480 }} />
9
+
10
+ const { chartRef, appendData } = useSignalChart()
11
+ <SignalChart ref={chartRef} option={{ type: 'waterfall' }} style={{ height: 480 }} />
12
+ appendData(frame)
13
+ ```
14
+
15
+ The adapter creates Core only after the container commits, maps `option` and `data` changes without rebuilding the instance, and disposes Core on unmount. Waterfall event streams use the synchronous, non-queuing `appendData()` command rather than React state. Development StrictMode intentionally calls `onReady` for each committed instance. The module is safe to import during SSR; WebGL initialization happens only in the client effect.
16
+
17
+ `option.type` is required and selects the corresponding `data` type. Changing it calls Core `setOption()` and hot-switches the renderer while preserving the React component, Core facade, container, and Canvas.
18
+
19
+ React V1 re-exports `SignalChartLinkGroup`. Join Core instances from `onReady` or through `SignalChartHandle.link()`; Core synchronizes frequency View/Crosshair state without routing pointer updates through React state.
@@ -0,0 +1,3 @@
1
+ import type { SignalChartHandle, SignalChartProps } from './types';
2
+ export declare const SignalChart: import("react").ForwardRefExoticComponent<SignalChartProps & import("react").RefAttributes<SignalChartHandle>>;
3
+ //# sourceMappingURL=SignalChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignalChart.d.ts","sourceRoot":"","sources":["../src/SignalChart.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAYlE,eAAO,MAAM,WAAW,gHAuDvB,CAAA"}
@@ -0,0 +1,7 @@
1
+ export { SignalChart } from './SignalChart';
2
+ export { useSignalChart } from './useSignalChart';
3
+ export { SignalChartLinkGroup } from '@signal-visualization/core';
4
+ export type { ConstellationChartOption, ConstellationChartData, ConstellationChartProps, SignalChartCommonProps, SignalChartHandle, SignalChartOptionFor, SignalChartProps, SignalChartType, SpectrumChartOption, SpectrumChartData, SpectrumChartProps, WaterfallChartOption, WaterfallChartData, WaterfallChartProps, WaveformChartOption, WaveformChartData, WaveformChartProps, } from './types';
5
+ export type { UseSignalChartResult } from './useSignalChart';
6
+ export type { AxisOption, ConstellationData, ConstellationMode, ConstellationStyleOption, GpuResourceStats, InteractionOption, SignalChartOption, SignalData, SignalPerformanceStats, SignalChartLinkOptions, LinkedViewState, SpectrumData, SpectrumStyleOption, WaterfallColorMap, WaterfallDirection, WaterfallFrame, WaterfallStyleOption, WaveformData, WaveformStyleOption, } from '@signal-visualization/core';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { jsx as R } from "react/jsx-runtime";
2
+ import { forwardRef as S, useRef as u, useImperativeHandle as w, useEffect as o, useCallback as k, useMemo as D } from "react";
3
+ import { SignalChart as E } from "@signal-visualization/core";
4
+ import { SignalChartLinkGroup as H } from "@signal-visualization/core";
5
+ function z(n) {
6
+ return n instanceof Error ? n : new Error(String(n));
7
+ }
8
+ function s(n, t) {
9
+ const c = z(n);
10
+ if (t) t(c);
11
+ else throw c;
12
+ }
13
+ const I = S(
14
+ function({ option: t, data: c, className: m, style: g, onReady: l, onError: f }, d) {
15
+ const p = u(null), r = u(null), h = u(l), a = u(f);
16
+ return h.current = l, a.current = f, w(d, () => ({
17
+ getInstance: () => r.current,
18
+ appendData: (e) => r.current?.appendData(e),
19
+ resize: () => r.current?.resize(),
20
+ clear: () => r.current?.clear(),
21
+ resetView: () => r.current?.resetView(),
22
+ link: (e) => r.current?.link(e),
23
+ unlink: () => r.current?.unlink()
24
+ }), []), o(() => {
25
+ const e = p.current;
26
+ if (!e) return;
27
+ let i;
28
+ try {
29
+ i = new E(e, t);
30
+ } catch (C) {
31
+ s(C, a.current);
32
+ return;
33
+ }
34
+ return r.current = i, h.current?.(i), () => {
35
+ r.current?.dispose(), r.current = null;
36
+ };
37
+ }, []), o(() => {
38
+ try {
39
+ r.current?.setOption(t);
40
+ } catch (e) {
41
+ s(e, a.current);
42
+ }
43
+ }, [t]), o(() => {
44
+ try {
45
+ c && r.current?.setData(c);
46
+ } catch (e) {
47
+ s(e, a.current);
48
+ }
49
+ }, [c]), /* @__PURE__ */ R("div", { ref: p, className: m, style: g });
50
+ }
51
+ );
52
+ function V() {
53
+ const n = u(null), t = k((c) => {
54
+ n.current?.appendData(c);
55
+ }, []);
56
+ return D(() => ({ chartRef: n, appendData: t }), [t]);
57
+ }
58
+ export {
59
+ I as SignalChart,
60
+ H as SignalChartLinkGroup,
61
+ V as useSignalChart
62
+ };
63
+ //# sourceMappingURL=signal-visualization-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-visualization-react.js","sources":["../src/SignalChart.tsx","../src/useSignalChart.ts"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n type ReactElement,\n} from 'react'\nimport { SignalChart as CoreSignalChart } from '@signal-visualization/core'\n\nimport type { SignalChartHandle, SignalChartProps } from './types'\n\nfunction normalizeError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error))\n}\n\nfunction reportError(error: unknown, callback: ((error: Error) => void) | undefined): void {\n const normalized = normalizeError(error)\n if (callback) callback(normalized)\n else throw normalized\n}\n\nexport const SignalChart = forwardRef<SignalChartHandle, SignalChartProps>(\n function SignalChart({ option, data, className, style, onReady, onError }, ref): ReactElement {\n const containerRef = useRef<HTMLDivElement>(null)\n const instanceRef = useRef<CoreSignalChart | null>(null)\n const onReadyRef = useRef(onReady)\n const onErrorRef = useRef(onError)\n onReadyRef.current = onReady\n onErrorRef.current = onError\n\n useImperativeHandle(ref, () => ({\n getInstance: () => instanceRef.current,\n appendData: (data) => instanceRef.current?.appendData(data),\n resize: () => instanceRef.current?.resize(),\n clear: () => instanceRef.current?.clear(),\n resetView: () => instanceRef.current?.resetView(),\n link: (group) => instanceRef.current?.link(group),\n unlink: () => instanceRef.current?.unlink(),\n }), [])\n\n useEffect(() => {\n const container = containerRef.current\n if (!container) return\n let instance: CoreSignalChart\n try {\n instance = new CoreSignalChart(container, option)\n } catch (error) {\n reportError(error, onErrorRef.current)\n return\n }\n instanceRef.current = instance\n onReadyRef.current?.(instance)\n return () => {\n instanceRef.current?.dispose()\n instanceRef.current = null\n }\n }, [])\n\n useEffect(() => {\n try {\n instanceRef.current?.setOption(option)\n } catch (error) {\n reportError(error, onErrorRef.current)\n }\n }, [option])\n\n useEffect(() => {\n try {\n if (data) instanceRef.current?.setData(data)\n } catch (error) {\n reportError(error, onErrorRef.current)\n }\n }, [data])\n\n return <div ref={containerRef} className={className} style={style} />\n },\n)\n","import { useCallback, useMemo, useRef, type RefObject } from 'react'\nimport type { SignalData } from '@signal-visualization/core'\n\nimport type { SignalChartHandle } from './types'\n\nexport interface UseSignalChartResult {\n readonly chartRef: RefObject<SignalChartHandle | null>\n readonly appendData: (data: SignalData) => void\n}\n\nexport function useSignalChart(): UseSignalChartResult {\n const chartRef = useRef<SignalChartHandle>(null)\n const appendData = useCallback((data: SignalData): void => {\n chartRef.current?.appendData(data)\n }, [])\n\n return useMemo(() => ({ chartRef, appendData }), [appendData])\n}\n"],"names":["normalizeError","error","reportError","callback","normalized","SignalChart","forwardRef","option","data","className","style","onReady","onError","ref","containerRef","useRef","instanceRef","onReadyRef","onErrorRef","useImperativeHandle","group","useEffect","container","instance","CoreSignalChart","jsx","useSignalChart","chartRef","appendData","useCallback","useMemo"],"mappings":";;;;AAWA,SAASA,EAAeC,GAAuB;AAC7C,SAAOA,aAAiB,QAAQA,IAAQ,IAAI,MAAM,OAAOA,CAAK,CAAC;AACjE;AAEA,SAASC,EAAYD,GAAgBE,GAAsD;AACzF,QAAMC,IAAaJ,EAAeC,CAAK;AACvC,MAAIE,KAAmBC,CAAU;AAAA,MAC5B,OAAMA;AACb;AAEO,MAAMC,IAAcC;AAAA,EACzB,SAAqB,EAAE,QAAAC,GAAQ,MAAAC,GAAM,WAAAC,GAAW,OAAAC,GAAO,SAAAC,GAAS,SAAAC,EAAA,GAAWC,GAAmB;AAC5F,UAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAcD,EAA+B,IAAI,GACjDE,IAAaF,EAAOJ,CAAO,GAC3BO,IAAaH,EAAOH,CAAO;AACjC,WAAAK,EAAW,UAAUN,GACrBO,EAAW,UAAUN,GAErBO,EAAoBN,GAAK,OAAO;AAAA,MAC9B,aAAa,MAAMG,EAAY;AAAA,MAC/B,YAAY,CAACR,MAASQ,EAAY,SAAS,WAAWR,CAAI;AAAA,MAC1D,QAAQ,MAAMQ,EAAY,SAAS,OAAA;AAAA,MACnC,OAAO,MAAMA,EAAY,SAAS,MAAA;AAAA,MAClC,WAAW,MAAMA,EAAY,SAAS,UAAA;AAAA,MACtC,MAAM,CAACI,MAAUJ,EAAY,SAAS,KAAKI,CAAK;AAAA,MAChD,QAAQ,MAAMJ,EAAY,SAAS,OAAA;AAAA,IAAO,IACxC,CAAA,CAAE,GAENK,EAAU,MAAM;AACd,YAAMC,IAAYR,EAAa;AAC/B,UAAI,CAACQ,EAAW;AAChB,UAAIC;AACJ,UAAI;AACF,QAAAA,IAAW,IAAIC,EAAgBF,GAAWf,CAAM;AAAA,MAClD,SAASN,GAAO;AACd,QAAAC,EAAYD,GAAOiB,EAAW,OAAO;AACrC;AAAA,MACF;AACA,aAAAF,EAAY,UAAUO,GACtBN,EAAW,UAAUM,CAAQ,GACtB,MAAM;AACX,QAAAP,EAAY,SAAS,QAAA,GACrBA,EAAY,UAAU;AAAA,MACxB;AAAA,IACF,GAAG,CAAA,CAAE,GAELK,EAAU,MAAM;AACd,UAAI;AACF,QAAAL,EAAY,SAAS,UAAUT,CAAM;AAAA,MACvC,SAASN,GAAO;AACd,QAAAC,EAAYD,GAAOiB,EAAW,OAAO;AAAA,MACvC;AAAA,IACF,GAAG,CAACX,CAAM,CAAC,GAEXc,EAAU,MAAM;AACd,UAAI;AACF,QAAIb,KAAMQ,EAAY,SAAS,QAAQR,CAAI;AAAA,MAC7C,SAASP,GAAO;AACd,QAAAC,EAAYD,GAAOiB,EAAW,OAAO;AAAA,MACvC;AAAA,IACF,GAAG,CAACV,CAAI,CAAC,GAEF,gBAAAiB,EAAC,OAAA,EAAI,KAAKX,GAAc,WAAAL,GAAsB,OAAAC,GAAc;AAAA,EACrE;AACF;AClEO,SAASgB,IAAuC;AACrD,QAAMC,IAAWZ,EAA0B,IAAI,GACzCa,IAAaC,EAAY,CAACrB,MAA2B;AACzD,IAAAmB,EAAS,SAAS,WAAWnB,CAAI;AAAA,EACnC,GAAG,CAAA,CAAE;AAEL,SAAOsB,EAAQ,OAAO,EAAE,UAAAH,GAAU,YAAAC,MAAe,CAACA,CAAU,CAAC;AAC/D;"}
@@ -0,0 +1,68 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { ConstellationData, SignalChart as CoreSignalChart, SignalChartLinkGroup, SignalChartOption, SignalData, SpectrumData, WaterfallFrame, WaveformData } from '@signal-visualization/core';
3
+ export interface SignalChartHandle {
4
+ getInstance(): CoreSignalChart | null;
5
+ appendData(data: SignalData): void;
6
+ resize(): void;
7
+ clear(): void;
8
+ resetView(): void;
9
+ link(group: SignalChartLinkGroup): void;
10
+ unlink(): void;
11
+ }
12
+ export type SignalChartType = NonNullable<SignalChartOption['type']>;
13
+ export type SignalChartOptionFor<TType extends SignalChartType> = Omit<SignalChartOption, 'type'> & {
14
+ type: TType;
15
+ };
16
+ export type SpectrumChartOption = SignalChartOptionFor<'spectrum'>;
17
+ export type WaterfallChartOption = SignalChartOptionFor<'waterfall'>;
18
+ export type ConstellationChartOption = SignalChartOptionFor<'constellation'>;
19
+ export type WaveformChartOption = SignalChartOptionFor<'waveform'>;
20
+ export type SpectrumChartData = SpectrumData & {
21
+ iq?: never;
22
+ sampleRate?: never;
23
+ secondaryValues?: never;
24
+ startTime?: never;
25
+ };
26
+ export type WaterfallChartData = WaterfallFrame & {
27
+ iq?: never;
28
+ sampleRate?: never;
29
+ secondaryValues?: never;
30
+ startTime?: never;
31
+ };
32
+ export type ConstellationChartData = ConstellationData & {
33
+ frequencyStep?: never;
34
+ sampleRate?: never;
35
+ secondaryValues?: never;
36
+ startFrequency?: never;
37
+ startTime?: never;
38
+ values?: never;
39
+ };
40
+ export type WaveformChartData = WaveformData & {
41
+ frequencyStep?: never;
42
+ iq?: never;
43
+ startFrequency?: never;
44
+ };
45
+ export interface SignalChartCommonProps {
46
+ className?: string;
47
+ style?: CSSProperties;
48
+ onReady?: (chart: CoreSignalChart) => void;
49
+ onError?: (error: Error) => void;
50
+ }
51
+ export interface SpectrumChartProps extends SignalChartCommonProps {
52
+ option: SpectrumChartOption;
53
+ data?: SpectrumChartData;
54
+ }
55
+ export interface WaterfallChartProps extends SignalChartCommonProps {
56
+ option: WaterfallChartOption;
57
+ data?: WaterfallChartData;
58
+ }
59
+ export interface ConstellationChartProps extends SignalChartCommonProps {
60
+ option: ConstellationChartOption;
61
+ data?: ConstellationChartData;
62
+ }
63
+ export interface WaveformChartProps extends SignalChartCommonProps {
64
+ option: WaveformChartOption;
65
+ data?: WaveformChartData;
66
+ }
67
+ export type SignalChartProps = SpectrumChartProps | WaterfallChartProps | ConstellationChartProps | WaveformChartProps;
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type RefObject } from 'react';
2
+ import type { SignalData } from '@signal-visualization/core';
3
+ import type { SignalChartHandle } from './types';
4
+ export interface UseSignalChartResult {
5
+ readonly chartRef: RefObject<SignalChartHandle | null>;
6
+ readonly appendData: (data: SignalData) => void;
7
+ }
8
+ export declare function useSignalChart(): UseSignalChartResult;
9
+ //# sourceMappingURL=useSignalChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignalChart.d.ts","sourceRoot":"","sources":["../src/useSignalChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACtD,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;CAChD;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAOrD"}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@signal-visualization/react",
3
+ "version": "1.0.0",
4
+ "description": "React adapter for @signal-visualization/core",
5
+ "type": "module",
6
+ "main": "./dist/signal-visualization-react.js",
7
+ "module": "./dist/signal-visualization-react.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/signal-visualization-react.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "sideEffects": false,
19
+ "peerDependencies": {
20
+ "@signal-visualization/core": ">=1.0.0 <2.0.0",
21
+ "react": ">=18 <20"
22
+ },
23
+ "devDependencies": {
24
+ "@types/react": "^19.2.18",
25
+ "@types/react-dom": "^19.2.4",
26
+ "@vitejs/plugin-react": "^5.2.0",
27
+ "jsdom": "^30.0.1",
28
+ "react": "^19.2.8",
29
+ "react-dom": "^19.2.8",
30
+ "@signal-visualization/core": "^1.0.0"
31
+ },
32
+ "scripts": {
33
+ "build": "vite build && tsc -p tsconfig.build.json",
34
+ "typecheck": "tsc -p tsconfig.json --noEmit"
35
+ }
36
+ }