@canplot/react 0.1.0 → 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.
Files changed (54) hide show
  1. package/README.md +37 -5
  2. package/dist/CanPlot.d.ts +9 -0
  3. package/dist/CanPlot.d.ts.map +1 -0
  4. package/dist/axes.d.ts +18 -0
  5. package/dist/axes.d.ts.map +1 -0
  6. package/dist/canplot.cjs +4 -4
  7. package/dist/canplot.cjs.map +1 -1
  8. package/dist/canplot.mjs +47 -47
  9. package/dist/canplot.mjs.map +1 -1
  10. package/dist/defaults.d.ts +12 -0
  11. package/dist/defaults.d.ts.map +1 -0
  12. package/dist/frameContext.d.ts +18 -0
  13. package/dist/frameContext.d.ts.map +1 -0
  14. package/dist/helpers.d.ts +14 -0
  15. package/dist/helpers.d.ts.map +1 -0
  16. package/dist/index.d.ts +15 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/interactions/AxisOverlay.d.ts +5 -0
  19. package/dist/interactions/AxisOverlay.d.ts.map +1 -0
  20. package/dist/interactions/ChartAreaInteractions.d.ts +22 -0
  21. package/dist/interactions/ChartAreaInteractions.d.ts.map +1 -0
  22. package/dist/interactions/CrossHair.d.ts +9 -0
  23. package/dist/interactions/CrossHair.d.ts.map +1 -0
  24. package/dist/interactions/SelectBox.d.ts +7 -0
  25. package/dist/interactions/SelectBox.d.ts.map +1 -0
  26. package/dist/interactions/TooltipsX.d.ts +23 -0
  27. package/dist/interactions/TooltipsX.d.ts.map +1 -0
  28. package/dist/interactions/TooltipsXY.d.ts +23 -0
  29. package/dist/interactions/TooltipsXY.d.ts.map +1 -0
  30. package/dist/interactions/interactionsBus.d.ts +73 -0
  31. package/dist/interactions/interactionsBus.d.ts.map +1 -0
  32. package/dist/interactions/positioning.d.ts +14 -0
  33. package/dist/interactions/positioning.d.ts.map +1 -0
  34. package/dist/interactions/types.d.ts +118 -0
  35. package/dist/interactions/types.d.ts.map +1 -0
  36. package/dist/plot/AnnotationX.d.ts +6 -0
  37. package/dist/plot/AnnotationX.d.ts.map +1 -0
  38. package/dist/plot/AreaPlot.d.ts +13 -0
  39. package/dist/plot/AreaPlot.d.ts.map +1 -0
  40. package/dist/plot/BarPlot.d.ts +16 -0
  41. package/dist/plot/BarPlot.d.ts.map +1 -0
  42. package/dist/plot/LinePlot.d.ts +13 -0
  43. package/dist/plot/LinePlot.d.ts.map +1 -0
  44. package/dist/plot/ScatterPlot.d.ts +14 -0
  45. package/dist/plot/ScatterPlot.d.ts.map +1 -0
  46. package/dist/plot/SparklinePlot.d.ts +14 -0
  47. package/dist/plot/SparklinePlot.d.ts.map +1 -0
  48. package/dist/time.d.ts +14 -0
  49. package/dist/time.d.ts.map +1 -0
  50. package/dist/types.d.ts +86 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/utils.d.ts +7 -0
  53. package/dist/utils.d.ts.map +1 -0
  54. package/package.json +3 -2
@@ -0,0 +1,86 @@
1
+ export type PlotConfiguration = {
2
+ padding: PlotPadding;
3
+ scales: PlotScaleConfig[];
4
+ };
5
+ export type PlotDrawFrame = {
6
+ ctx: CanvasRenderingContext2D;
7
+ dpr: number;
8
+ chartAreaCanvasPX: {
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ };
14
+ chartAreaCSS: {
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ };
20
+ padding: PlotPadding;
21
+ scales: PlotDrawScaleConfig[];
22
+ };
23
+ export type PlotPadding = {
24
+ top: number;
25
+ bottom: number;
26
+ left: number;
27
+ right: number;
28
+ };
29
+ export type PlotScaleLinearConfig = {
30
+ type: "linear";
31
+ id: string;
32
+ min: number;
33
+ max: number;
34
+ origin: "x" | "y";
35
+ axis: null | PlotAxisLinear;
36
+ };
37
+ export type PlotScaleTimeConfig = {
38
+ type: "time";
39
+ id: string;
40
+ min: number;
41
+ max: number;
42
+ origin: "x" | "y";
43
+ axis: null | PlotAxisTime;
44
+ timeZone: string;
45
+ locale?: string;
46
+ };
47
+ export type PlotScaleConfig = PlotScaleLinearConfig | PlotScaleTimeConfig;
48
+ export type Rect = {
49
+ x: number;
50
+ y: number;
51
+ width: number;
52
+ height: number;
53
+ };
54
+ export type PlotDrawScaleLinearConfig = PlotScaleLinearConfig & {
55
+ axis: null | (PlotAxisLinear & {
56
+ cssRect: Rect;
57
+ canvasRect: Rect;
58
+ });
59
+ };
60
+ export type PlotDrawScaleTimeConfig = PlotScaleTimeConfig & {
61
+ axis: null | (PlotAxisTime & {
62
+ cssRect: Rect;
63
+ canvasRect: Rect;
64
+ });
65
+ };
66
+ export type PlotDrawScaleConfig = PlotDrawScaleLinearConfig | PlotDrawScaleTimeConfig;
67
+ export type PlotAxisLinear = {
68
+ position: "left" | "right" | "top" | "bottom";
69
+ size: number;
70
+ tickSpace?: number;
71
+ };
72
+ export type PlotAxisTime = {
73
+ position: "left" | "right" | "top" | "bottom";
74
+ size: number;
75
+ tickSpace?: number;
76
+ showTimezone?: boolean;
77
+ };
78
+ export type PlotSize = {
79
+ width: number;
80
+ height: number;
81
+ };
82
+ export type Style = {
83
+ fillStyle?: CanvasFillStrokeStyles["fillStyle"];
84
+ strokeStyle?: CanvasFillStrokeStyles["strokeStyle"];
85
+ } & Partial<Pick<CanvasPathDrawingStyles, "lineCap" | "lineDashOffset" | "lineJoin" | "lineWidth" | "miterLimit">> & Partial<CanvasTextDrawingStyles>;
86
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAClB,IAAI,EAAE,IAAI,GAAG,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAClB,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG;IAC9D,IAAI,EAAE,IAAI,GAAG,CAAC,cAAc,GAAG;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC1D,IAAI,EAAE,IAAI,GAAG,CAAC,YAAY,GAAG;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,yBAAyB,GACzB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;CACrD,GAAG,OAAO,CACT,IAAI,CACF,uBAAuB,EACvB,SAAS,GAAG,gBAAgB,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CACvE,CACF,GACC,OAAO,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const clamp: (val: number, min: number, max: number) => number;
2
+ export type DeepPartial<T> = {
3
+ [P in keyof T]?: T[P] extends (infer U)[] ? DeepPartial<U>[] : T[P] extends Readonly<infer U>[] ? Readonly<DeepPartial<U>>[] : DeepPartial<T[P]>;
4
+ };
5
+ export declare const sum: (input: (number | undefined)[]) => number;
6
+ export declare const findClosestIndex: (arr: number[], val: number) => number;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAE1D,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACrC,WAAW,CAAC,CAAC,CAAC,EAAE,GAChB,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,GAChC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAC1B,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,KAAG,MAEnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,WAS1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canplot/react",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "A high-performance React charting library built on Canvas",
5
5
  "author": "jedzej",
6
6
  "license": "MIT",
@@ -58,7 +58,8 @@
58
58
  "react-dom": "^18.0.0 || ^19.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "zustand": "^5.0.8"
61
+ "zustand": "^5.0.8",
62
+ "react-merge-refs": "^3.0.2"
62
63
  },
63
64
  "devDependencies": {
64
65
  "@chromatic-com/storybook": "^4.1.2",