uplot-plus 0.4.0 → 0.5.4

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 (33) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +2034 -1856
  3. package/dist/src/colors.d.ts.map +1 -1
  4. package/dist/src/components/Axis.d.ts.map +1 -1
  5. package/dist/src/components/Band.d.ts.map +1 -1
  6. package/dist/src/components/Chart.d.ts.map +1 -1
  7. package/dist/src/components/FloatingLegend.d.ts.map +1 -1
  8. package/dist/src/components/HoverLabel.d.ts.map +1 -1
  9. package/dist/src/components/Legend.d.ts.map +1 -1
  10. package/dist/src/components/Scale.d.ts.map +1 -1
  11. package/dist/src/components/Series.d.ts.map +1 -1
  12. package/dist/src/components/Tooltip.d.ts.map +1 -1
  13. package/dist/src/components/overlay/SeriesPanel.d.ts +1 -1
  14. package/dist/src/components/overlay/SeriesPanel.d.ts.map +1 -1
  15. package/dist/src/hooks/useChart.d.ts +33 -3
  16. package/dist/src/hooks/useChart.d.ts.map +1 -1
  17. package/dist/src/hooks/useChartStore.d.ts +47 -3
  18. package/dist/src/hooks/useChartStore.d.ts.map +1 -1
  19. package/dist/src/index.d.ts +4 -2
  20. package/dist/src/index.d.ts.map +1 -1
  21. package/dist/src/math/lttb.d.ts +23 -0
  22. package/dist/src/math/lttb.d.ts.map +1 -0
  23. package/dist/src/math/utils.d.ts +2 -0
  24. package/dist/src/math/utils.d.ts.map +1 -1
  25. package/dist/src/paths/lttbLinear.d.ts +12 -0
  26. package/dist/src/paths/lttbLinear.d.ts.map +1 -0
  27. package/dist/src/types/downsample.d.ts +11 -0
  28. package/dist/src/types/downsample.d.ts.map +1 -0
  29. package/dist/src/types/series.d.ts +1 -1
  30. package/dist/src/types/series.d.ts.map +1 -1
  31. package/package.json +3 -1
  32. package/dist/src/hooks/useStreamingData.d.ts +0 -48
  33. package/dist/src/hooks/useStreamingData.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqC9C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,SAAM,EACf,OAAO,SAAM,GACZ,cAAc,CAchB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAK,EAAE,SAAS,SAAK,GAAG,MAAM,EAAE,CAQ5E"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAgE9C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,SAAM,EACf,OAAO,SAAM,GACZ,cAAc,CAchB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAK,EAAE,SAAS,SAAK,GAAG,MAAM,EAAE,CAQ5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../src/components/Axis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAMnE;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAoB3C"}
1
+ {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../src/components/Axis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAMnE;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAW3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Band.d.ts","sourceRoot":"","sources":["../../../src/components/Band.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,CA6BnE"}
1
+ {"version":3,"file":"Band.d.ts","sourceRoot":"","sources":["../../../src/components/Band.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,IAAI,CA+BnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/components/Chart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EACzF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAC/D,aAAa,EAAE,QAAQ,GACxB,EAAE,UAAU,2CAyJZ"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../../src/components/Chart.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,UAAU,CAAC;AASjE;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EACzF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAC/D,aAAa,EAAE,QAAQ,GACxB,EAAE,UAAU,2CAiKZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingLegend.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0F,MAAM,OAAO,CAAC;AAK/G,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAChG,sEAAsE;IACtE,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAkB,EAClB,QAAsB,EACtB,MAA0B,EAC1B,WAAiB,EACjB,IAAW,EACX,SAAS,GACV,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA+IjD"}
1
+ {"version":3,"file":"FloatingLegend.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAKlG,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAChG,sEAAsE;IACtE,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAkB,EAClB,QAAsB,EACtB,MAAuB,EACvB,WAAiB,EACjB,IAAW,EACX,SAAS,GACV,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA8GjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverLabel.d.ts","sourceRoot":"","sources":["../../../src/components/HoverLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAK9F,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAY,EACZ,IAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAkE7C"}
1
+ {"version":3,"file":"HoverLabel.d.ts","sourceRoot":"","sources":["../../../src/components/HoverLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAY,EACZ,IAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA8C7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../src/components/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,UAAU,WAAY,SAAQ,YAAY;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAW,EAAE,QAAmB,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAkE9G"}
1
+ {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../src/components/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,UAAU,WAAY,SAAQ,YAAY;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8DD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAW,EAAE,QAAmB,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAwC9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"Scale.d.ts","sourceRoot":"","sources":["../../../src/components/Scale.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAErC;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAa7C"}
1
+ {"version":3,"file":"Scale.d.ts","sourceRoot":"","sources":["../../../src/components/Scale.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC;AAErC;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAS7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/components/Series.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7C,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA6B7E;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAqB/C"}
1
+ {"version":3,"file":"Series.d.ts","sourceRoot":"","sources":["../../../src/components/Series.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA6B7E;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAY/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,kBAAkB,CAAC;AAY/E;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAW,GACZ,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAgH1C"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,kBAAkB,CAAC;AAQ/E;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAW,EACX,SAAS,EACT,QAAQ,EACR,MAAuB,GACxB,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAiF1C"}
@@ -7,7 +7,7 @@ export interface SeriesRowProps {
7
7
  isHidden?: boolean;
8
8
  onClick?: () => void;
9
9
  }
10
- export declare const SeriesRow: React.NamedExoticComponent<SeriesRowProps>;
10
+ export declare function SeriesRow({ label, color, value, isHidden, onClick, }: SeriesRowProps): React.ReactElement;
11
11
  export interface PanelProps {
12
12
  left: number;
13
13
  top: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SeriesPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/overlay/SeriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAIhD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAY9B,CAAC;AAqBF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,4CAiBpB,CAAC;AAIH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACxC;AAED,eAAO,MAAM,KAAK,mFAgBhB,CAAC;AAIH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,SAAS,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE,CAAA;CAAE,EACxF,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR"}
1
+ {"version":3,"file":"SeriesPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/overlay/SeriesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAY9B,CAAC;AAuCF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GACvC,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAYrC;AAID,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACxC;AAED,eAAO,MAAM,KAAK,mFAgBhB,CAAC;AAIH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,SAAS,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;KAAE,CAAA;CAAE,EACxF,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR"}
@@ -1,5 +1,35 @@
1
- import type { ChartStore } from './useChartStore';
1
+ import type { ChartStore, ChartSnapshot } from './useChartStore';
2
+ import type { SeriesConfig, BBox } from '../types';
3
+ import type { ScaleState } from '../types/scales';
2
4
  export declare const ChartContext: import("react").Context<ChartStore | null>;
3
- /** Access the chart store from within a Chart's children */
4
- export declare function useChart(): ChartStore;
5
+ /** Internal: access raw mutable store. Not part of the public API. */
6
+ export declare function useStore(): ChartStore;
7
+ /**
8
+ * Read-only chart API returned by useChart().
9
+ * Provides reactive snapshot fields, read-only accessors, and controlled mutations.
10
+ */
11
+ export interface ChartAPI extends ChartSnapshot {
12
+ /** Get a scale's current state by id */
13
+ getScale(id: string): ScaleState | undefined;
14
+ /** Get the plot area bounding box */
15
+ getPlotBox(): Readonly<BBox>;
16
+ /** Get all series configurations (read-only) */
17
+ getSeriesConfigs(): ReadonlyArray<Readonly<SeriesConfig>>;
18
+ /** Get x-values for a data group */
19
+ getDataX(group: number): ArrayLike<number>;
20
+ /** Get y-values for a specific series */
21
+ getDataY(group: number, index: number): ArrayLike<number | null>;
22
+ /** Toggle a series' visibility */
23
+ toggleSeries(group: number, index: number): void;
24
+ /** Set or clear the focused series */
25
+ setFocus(seriesIdx: number | null): void;
26
+ }
27
+ /**
28
+ * Unified hook for accessing chart internals.
29
+ * Returns a read-only facade with reactive snapshot fields.
30
+ *
31
+ * @param channel `'cursor'` (default) re-renders on cursor moves and full redraws.
32
+ * `'full'` re-renders only on full redraws.
33
+ */
34
+ export declare function useChart(channel?: 'cursor' | 'full'): ChartAPI;
5
35
  //# sourceMappingURL=useChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChart.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChart.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,YAAY,4CAAyC,CAAC;AAEnE,4DAA4D;AAC5D,wBAAgB,QAAQ,IAAI,UAAU,CAMrC"}
1
+ {"version":3,"file":"useChart.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChart.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,eAAO,MAAM,YAAY,4CAAyC,CAAC;AAEnE,sEAAsE;AACtE,wBAAgB,QAAQ,IAAI,UAAU,CAMrC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,aAAa;IAC7C,wCAAwC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7C,qCAAqC;IACrC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,gDAAgD;IAChD,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1D,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,kCAAkC;IAClC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,QAAQ,GAAG,MAAiB,GAAG,QAAQ,CA8BxE"}
@@ -1,4 +1,4 @@
1
- import type { ScaleConfig, SeriesConfig, BBox } from '../types';
1
+ import type { ScaleConfig, SeriesConfig, BBox, ChartData } from '../types';
2
2
  import type { ActionKey, ReactionValue } from '../types/interaction';
3
3
  import type { AxisConfig, AxisState } from '../types/axes';
4
4
  import type { SelectState } from '../types/cursor';
@@ -8,8 +8,29 @@ import { CursorManager } from '../core/CursorManager';
8
8
  import { RenderScheduler } from '../core/RenderScheduler';
9
9
  import { CanvasRenderer } from '../rendering/CanvasRenderer';
10
10
  import type { BandConfig } from '../types/bands';
11
+ import { Side } from '../types/common';
11
12
  import type { DrawCallback, CursorDrawCallback } from '../types/hooks';
12
13
  import type { EventCallbacks } from '../types/events';
14
+ /**
15
+ * Immutable snapshot of the chart state fields that UI subscribers need.
16
+ * Rebuilt by the store before notifying listeners; the reference only
17
+ * changes when at least one field differs from the previous snapshot.
18
+ */
19
+ export interface ChartSnapshot {
20
+ left: number;
21
+ top: number;
22
+ activeGroup: number;
23
+ activeSeriesIdx: number;
24
+ activeDataIdx: number;
25
+ plotLeft: number;
26
+ plotTop: number;
27
+ plotWidth: number;
28
+ plotHeight: number;
29
+ seriesCount: number;
30
+ revision: number;
31
+ }
32
+ /** Rebuild store.snapshot if any tracked field changed. */
33
+ export declare function rebuildSnapshot(store: ChartStore): void;
13
34
  /**
14
35
  * Mutable chart store — holds all chart state outside of React state.
15
36
  * Canvas operations subscribe to this store and are triggered imperatively,
@@ -48,6 +69,7 @@ export interface ChartStore {
48
69
  xlabel: string | undefined;
49
70
  /** Y-axis label for default axis */
50
71
  ylabel: string | undefined;
72
+ snapshot: ChartSnapshot;
51
73
  revision: number;
52
74
  eventCallbacks: EventCallbacks;
53
75
  _prevScaleRanges: Map<string, {
@@ -68,9 +90,31 @@ export interface ChartStore {
68
90
  /** Pre-built lookup map for series config by "group:index" key */
69
91
  seriesConfigMap: Map<string, SeriesConfig>;
70
92
  redraw: () => void;
93
+ /** Stable snapshot getter for useSyncExternalStore (no useCallback needed) */
94
+ getSnapshot: () => ChartSnapshot;
95
+ /** Synchronous redraw — cancels pending RAF, draws immediately */
96
+ redrawSync: () => void;
97
+ /** Update a scale config in-place (replaces scaleConfigs entry + syncs manager + clears cache) */
98
+ updateScale: (cfg: ScaleConfig) => void;
99
+ /** Update a series config in-place (replaces seriesConfigs entry + rebuilds map + invalidates render) */
100
+ updateSeries: (cfg: SeriesConfig) => void;
101
+ /** Register an axis config (deduplicates by scale+side) */
102
+ registerAxis: (cfg: AxisConfig) => void;
103
+ /** Unregister an axis config by scale+side */
104
+ unregisterAxis: (scale: string, side: Side) => void;
105
+ /** Update an axis config in-place */
106
+ updateAxis: (cfg: AxisConfig) => void;
107
+ /** Register a band config */
108
+ registerBand: (cfg: BandConfig) => void;
109
+ /** Unregister a band config by reference identity */
110
+ unregisterBand: (cfg: BandConfig) => void;
111
+ /** Set chart data (syncs DataStore + clears render cache) */
112
+ setData: (data: ChartData) => void;
113
+ /** Set the canvas element */
114
+ setCanvas: (node: HTMLCanvasElement | null) => void;
115
+ /** Set title and axis labels */
116
+ setLabels: (title?: string, xlabel?: string, ylabel?: string) => void;
71
117
  }
72
- /** Rebuild the series config lookup map from the current seriesConfigs array. */
73
- export declare function rebuildSeriesConfigMap(store: ChartStore): void;
74
118
  /**
75
119
  * Creates a mutable ChartStore. Called once per Chart component instance.
76
120
  * This is NOT React state — it's a plain mutable object to avoid re-renders.
@@ -1 +1 @@
1
- {"version":3,"file":"useChartStore.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChartStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChartStore.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChartStore.ts"],"names":[],"mappings":"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"}
@@ -15,15 +15,17 @@ export { Heatmap } from './components/Heatmap';
15
15
  export { Vector } from './components/Vector';
16
16
  export { HLine, VLine, Region, AnnotationLabel } from './components/annotations';
17
17
  export { useChart } from './hooks/useChart';
18
+ export type { ChartAPI } from './hooks/useChart';
18
19
  export { useDrawHook, useCursorDrawHook } from './hooks/useDrawHook';
19
- export { useStreamingData } from './hooks/useStreamingData';
20
20
  export type { ChartProps, ChartData, XGroup, SeriesRef, DataArray, SimpleGroup, FullGroup, DataInput, ScaleConfig, SeriesConfig, AxisConfig, CursorState, SelectState, GridConfig, TickConfig, BorderConfig, PointsConfig, ActionList, ActionEntry, ActionKey, ReactionValue, ActionContext, DragContinuation, GradientConfig, ColorValue, } from './types';
21
+ export type { ChartSnapshot } from './hooks/useChartStore';
21
22
  export type { BandConfig } from './types/bands';
22
23
  export type { LegendConfig } from './types/legend';
23
24
  export type { TooltipProps, TooltipData, TooltipItem } from './types/tooltip';
24
25
  export type { DrawContext, DrawCallback, CursorDrawCallback } from './types/hooks';
25
26
  export type { ChartEventInfo, NearestPoint, SelectEventInfo, ScaleChangeCallback, SelectCallback, EventCallbacks } from './types/events';
26
27
  export type { AnnotationStyle } from './annotations';
28
+ export type { LttbResult } from './types/downsample';
27
29
  export type { ZoomRangerProps } from './components/ZoomRanger';
28
30
  export type { TimelineProps, TimelineLane, TimelineSegment } from './types/timeline';
29
31
  export type { CandlestickProps } from './components/Candlestick';
@@ -34,7 +36,6 @@ export type { HLineProps, VLineProps, RegionProps, AnnotationLabelProps } from '
34
36
  export type { BoxWhiskerProps } from './components/BoxWhisker';
35
37
  export type { HeatmapProps } from './components/Heatmap';
36
38
  export type { VectorProps } from './components/Vector';
37
- export type { StreamingOptions, StreamingResult } from './hooks/useStreamingData';
38
39
  export { linear } from './paths/linear';
39
40
  export { stepped } from './paths/stepped';
40
41
  export { bars, groupedBars, stackedBars } from './paths/bars';
@@ -44,6 +45,7 @@ export { points } from './paths/points';
44
45
  export { Candlestick } from './components/Candlestick';
45
46
  export { stackGroup } from './math/stack';
46
47
  export { alignData } from './math/align';
48
+ export { lttb, lttbGroup } from './math/lttb';
47
49
  export { drawHLine, drawVLine, drawLabel, drawRegion } from './annotations';
48
50
  export { valToPos, posToVal } from './core/Scale';
49
51
  export { DEFAULT_ACTIONS, focus } from './types/interaction';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { XGroup } from '../types/data';
2
+ import type { LttbResult } from '../types/downsample';
3
+ /**
4
+ * Largest Triangle Three Buckets (LTTB) downsampling.
5
+ *
6
+ * Reduces a dataset to `targetPoints` while preserving visual shape.
7
+ * For each bucket, selects the point forming the largest triangle with
8
+ * the previously selected point and the average of the next bucket.
9
+ * First and last non-null points are always kept.
10
+ *
11
+ * Null values in yData create logical gaps. The data is split into
12
+ * contiguous non-null runs, LTTB is applied to each run with
13
+ * proportional bucket allocation, and results are reassembled with
14
+ * null boundaries preserved.
15
+ */
16
+ export declare function lttb(xData: ArrayLike<number>, yData: ArrayLike<number | null>, targetPoints: number): LttbResult;
17
+ /**
18
+ * Downsample an entire XGroup, applying LTTB to each series against the
19
+ * shared x-axis. Uses the union of selected indices across all series to
20
+ * preserve x-alignment.
21
+ */
22
+ export declare function lttbGroup(group: XGroup, targetPoints: number): XGroup;
23
+ //# sourceMappingURL=lttb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lttb.d.ts","sourceRoot":"","sources":["../../../src/math/lttb.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACxB,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAC/B,YAAY,EAAE,MAAM,GACnB,UAAU,CAyFZ;AAgGD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,MAAM,CA+CR"}
@@ -35,6 +35,8 @@ export declare function incrRound(num: number, incr: number, _fixFloat?: boolean
35
35
  export declare function incrRoundUp(num: number, incr: number, _fixFloat?: boolean): number;
36
36
  /** Round num down to nearest multiple of incr */
37
37
  export declare function incrRoundDn(num: number, incr: number, _fixFloat?: boolean): number;
38
+ /** Generate a pixel-rounding function from a pxAlign value (ported from uPlot) */
39
+ export declare function pxRoundGen(pxAlign: number): (v: number) => number;
38
40
  /** Generate increment values for tick spacing */
39
41
  export declare function genIncrs(base: number, minExp: number, maxExp: number, mults: number[]): number[];
40
42
  /** Clamp a value between min and max */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/math/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/math/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { PathBuilder } from './types';
2
+ export interface LttbLinearOpts {
3
+ /** Target points multiplier relative to pixel width. Default: 1 (one point per pixel) */
4
+ factor?: number;
5
+ }
6
+ /**
7
+ * Linear path builder with LTTB downsampling pre-pass.
8
+ * When the number of visible points exceeds factor * xDim * 2,
9
+ * applies LTTB before delegating to linear().
10
+ */
11
+ export declare function lttbLinear(lttbOpts?: LttbLinearOpts): PathBuilder;
12
+ //# sourceMappingURL=lttbLinear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lttbLinear.d.ts","sourceRoot":"","sources":["../../../src/paths/lttbLinear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAgC,MAAM,SAAS,CAAC;AAMzE,MAAM,WAAW,cAAc;IAC7B,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,WAAW,CAwDjE"}
@@ -0,0 +1,11 @@
1
+ import type { NullableNumArray } from './common';
2
+ /** Result of LTTB downsampling */
3
+ export interface LttbResult {
4
+ /** Selected indices into the original arrays */
5
+ indices: Uint32Array;
6
+ /** Downsampled x values */
7
+ x: Float64Array;
8
+ /** Downsampled y values (null gaps preserved) */
9
+ y: NullableNumArray;
10
+ }
11
+ //# sourceMappingURL=downsample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downsample.d.ts","sourceRoot":"","sources":["../../../src/types/downsample.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,OAAO,EAAE,WAAW,CAAC;IACrB,2BAA2B;IAC3B,CAAC,EAAE,YAAY,CAAC;IAChB,iDAAiD;IACjD,CAAC,EAAE,gBAAgB,CAAC;CACrB"}
@@ -44,7 +44,7 @@ export interface SeriesConfig {
44
44
  cap?: CanvasLineCap;
45
45
  /** Line join */
46
46
  join?: CanvasLineJoin;
47
- /** Pixel alignment: 0=none, 1=round to pixel (default), other=snap to increment */
47
+ /** Pixel alignment: 0=none (default, smooth anti-aliased curves), 1=round to pixel (crisp lines), N=round to increment */
48
48
  pxAlign?: number;
49
49
  /** Fill-to value or function */
50
50
  fillTo?: number | ((min: number, max: number) => number);
@@ -1 +1 @@
1
- {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../../src/types/series.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B;AAED,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,cAAc,CAAC;AAEjD,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe;IACf,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,gBAAgB;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,sCAAsC;IACtC,MAAM,CAAC,EAAE;QACP,mEAAmE;QACnE,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACzG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../../src/types/series.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B;AAED,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,cAAc,CAAC;AAEjD,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe;IACf,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,gBAAgB;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,0HAA0H;IAC1H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,sCAAsC;IACtC,MAAM,CAAC,EAAE;QACP,mEAAmE;QACnE,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACzG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uplot-plus",
3
- "version": "0.4.0",
3
+ "version": "0.5.4",
4
4
  "description": "High-performance React charting library with multi-x-axis support",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -40,6 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@eslint/js": "^9.0.0",
43
+ "@tailwindcss/vite": "^4.2.2",
43
44
  "@types/eslint__js": "^8.42.3",
44
45
  "@types/react": "^18.2.0",
45
46
  "@types/react-dom": "^18.2.0",
@@ -49,6 +50,7 @@
49
50
  "jsdom": "^28.1.0",
50
51
  "react": "^18.2.0",
51
52
  "react-dom": "^18.2.0",
53
+ "tailwindcss": "^4.2.2",
52
54
  "typescript": "^5.4.0",
53
55
  "typescript-eslint": "^8.57.0",
54
56
  "vite": "^5.4.0",
@@ -1,48 +0,0 @@
1
- import type { ChartData, DataInput } from '../types';
2
- export interface StreamingOptions {
3
- /** Maximum number of data points to retain (sliding window size) */
4
- window: number;
5
- /** Number of points to push per tick (default: 1) */
6
- batchSize?: number;
7
- /** Start streaming immediately on mount (default: true) */
8
- autoStart?: boolean;
9
- }
10
- export interface StreamingResult {
11
- /** Current chart data (pass to <Chart data={...}>) */
12
- data: ChartData;
13
- /**
14
- * Push new data points into group 0. Oldest points beyond the window are dropped.
15
- * Multiple calls within the same animation frame are batched into a single React update.
16
- * @param x - new x values
17
- * @param ySeries - one array of new y values per series
18
- */
19
- push: (x: number[], ...ySeries: number[][]) => void;
20
- /**
21
- * Push new data points into a specific group. Oldest points beyond the window are dropped.
22
- * Other groups are preserved unchanged.
23
- * Multiple calls within the same animation frame are batched into a single React update.
24
- * @param group - target group index
25
- * @param x - new x values
26
- * @param ySeries - one array of new y values per series
27
- */
28
- pushGroup: (group: number, x: number[], ...ySeries: number[][]) => void;
29
- /** Start the rAF loop (calls the onTick callback each frame) */
30
- start: () => void;
31
- /** Stop the rAF loop */
32
- stop: () => void;
33
- /** Whether the rAF loop is running */
34
- running: boolean;
35
- /** Frames per second (smoothed) */
36
- fps: number;
37
- }
38
- /**
39
- * Hook for streaming/real-time chart data with a sliding window.
40
- *
41
- * Manages a requestAnimationFrame loop and FPS counter.
42
- * Call `push()` from your own tick callback, or use it standalone.
43
- *
44
- * Multiple push() calls within the same animation frame are batched
45
- * into a single React state update, avoiding redundant re-renders.
46
- */
47
- export declare function useStreamingData(initialData: DataInput, options: StreamingOptions): StreamingResult;
48
- //# sourceMappingURL=useStreamingData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStreamingData.d.ts","sourceRoot":"","sources":["../../../src/hooks/useStreamingData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB;;;;;OAKG;IACH,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;IACpD;;;;;;;OAOG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;IACxE,gEAAgE;IAChE,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wBAAwB;IACxB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;CACb;AAOD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAwIjB"}