@tranding-custom-chart/react 0.0.0-stage → 2.1.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.
Files changed (116) hide show
  1. package/README.md +351 -2
  2. package/dist/AccessibleChartTable.d.ts +12 -0
  3. package/dist/AccessibleChartTable.d.ts.map +1 -0
  4. package/dist/AccessibleChartTable.js +19 -0
  5. package/dist/BaselineSeries.d.ts +13 -0
  6. package/dist/BaselineSeries.d.ts.map +1 -0
  7. package/dist/BaselineSeries.js +32 -0
  8. package/dist/BoxPlotSeries.d.ts +11 -0
  9. package/dist/BoxPlotSeries.d.ts.map +1 -0
  10. package/dist/BoxPlotSeries.js +37 -0
  11. package/dist/BubbleSeries.d.ts +11 -0
  12. package/dist/BubbleSeries.d.ts.map +1 -0
  13. package/dist/BubbleSeries.js +37 -0
  14. package/dist/CandlestickSeries.d.ts +13 -0
  15. package/dist/CandlestickSeries.d.ts.map +1 -0
  16. package/dist/CandlestickSeries.js +54 -0
  17. package/dist/ChartContainer.d.ts +73 -0
  18. package/dist/ChartContainer.d.ts.map +1 -0
  19. package/dist/ChartContainer.js +631 -0
  20. package/dist/ChartContext.d.ts +36 -0
  21. package/dist/ChartContext.d.ts.map +1 -0
  22. package/dist/ChartContext.js +13 -0
  23. package/dist/ChartSyncGroup.d.ts +14 -0
  24. package/dist/ChartSyncGroup.d.ts.map +1 -0
  25. package/dist/ChartSyncGroup.js +18 -0
  26. package/dist/ColumnsSeries.d.ts +13 -0
  27. package/dist/ColumnsSeries.d.ts.map +1 -0
  28. package/dist/ColumnsSeries.js +54 -0
  29. package/dist/CrosshairOverlay.d.ts +10 -0
  30. package/dist/CrosshairOverlay.d.ts.map +1 -0
  31. package/dist/CrosshairOverlay.js +65 -0
  32. package/dist/DrawingOverlay.d.ts +16 -0
  33. package/dist/DrawingOverlay.d.ts.map +1 -0
  34. package/dist/DrawingOverlay.js +50 -0
  35. package/dist/GridAxes.d.ts +19 -0
  36. package/dist/GridAxes.d.ts.map +1 -0
  37. package/dist/GridAxes.js +50 -0
  38. package/dist/HeatmapSeries.d.ts +11 -0
  39. package/dist/HeatmapSeries.d.ts.map +1 -0
  40. package/dist/HeatmapSeries.js +74 -0
  41. package/dist/HighLowSeries.d.ts +12 -0
  42. package/dist/HighLowSeries.d.ts.map +1 -0
  43. package/dist/HighLowSeries.js +29 -0
  44. package/dist/HlcAreaSeries.d.ts +13 -0
  45. package/dist/HlcAreaSeries.d.ts.map +1 -0
  46. package/dist/HlcAreaSeries.js +28 -0
  47. package/dist/HollowCandlestickSeries.d.ts +13 -0
  48. package/dist/HollowCandlestickSeries.d.ts.map +1 -0
  49. package/dist/HollowCandlestickSeries.js +30 -0
  50. package/dist/HorizontalBarSeries.d.ts +15 -0
  51. package/dist/HorizontalBarSeries.d.ts.map +1 -0
  52. package/dist/HorizontalBarSeries.js +42 -0
  53. package/dist/InteractiveLegend.d.ts +19 -0
  54. package/dist/InteractiveLegend.d.ts.map +1 -0
  55. package/dist/InteractiveLegend.js +39 -0
  56. package/dist/LastPriceLine.d.ts +11 -0
  57. package/dist/LastPriceLine.d.ts.map +1 -0
  58. package/dist/LastPriceLine.js +29 -0
  59. package/dist/LineSeries.d.ts +20 -0
  60. package/dist/LineSeries.d.ts.map +1 -0
  61. package/dist/LineSeries.js +74 -0
  62. package/dist/LineWithMarkersSeries.d.ts +13 -0
  63. package/dist/LineWithMarkersSeries.d.ts.map +1 -0
  64. package/dist/LineWithMarkersSeries.js +30 -0
  65. package/dist/MixedChartSeries.d.ts +14 -0
  66. package/dist/MixedChartSeries.d.ts.map +1 -0
  67. package/dist/MixedChartSeries.js +30 -0
  68. package/dist/OhlcBarSeries.d.ts +14 -0
  69. package/dist/OhlcBarSeries.d.ts.map +1 -0
  70. package/dist/OhlcBarSeries.js +31 -0
  71. package/dist/PieSeries.d.ts +18 -0
  72. package/dist/PieSeries.d.ts.map +1 -0
  73. package/dist/PieSeries.js +85 -0
  74. package/dist/PluginLayer.d.ts +11 -0
  75. package/dist/PluginLayer.d.ts.map +1 -0
  76. package/dist/PluginLayer.js +14 -0
  77. package/dist/PolarAreaSeries.d.ts +11 -0
  78. package/dist/PolarAreaSeries.d.ts.map +1 -0
  79. package/dist/PolarAreaSeries.js +35 -0
  80. package/dist/RadarSeries.d.ts +16 -0
  81. package/dist/RadarSeries.d.ts.map +1 -0
  82. package/dist/RadarSeries.js +47 -0
  83. package/dist/ScatterSeries.d.ts +11 -0
  84. package/dist/ScatterSeries.d.ts.map +1 -0
  85. package/dist/ScatterSeries.js +60 -0
  86. package/dist/SeriesMarkersOverlay.d.ts +10 -0
  87. package/dist/SeriesMarkersOverlay.d.ts.map +1 -0
  88. package/dist/SeriesMarkersOverlay.js +28 -0
  89. package/dist/StackedBarSeries.d.ts +13 -0
  90. package/dist/StackedBarSeries.d.ts.map +1 -0
  91. package/dist/StackedBarSeries.js +26 -0
  92. package/dist/StepLineSeries.d.ts +15 -0
  93. package/dist/StepLineSeries.d.ts.map +1 -0
  94. package/dist/StepLineSeries.js +28 -0
  95. package/dist/SupertrendSeries.d.ts +16 -0
  96. package/dist/SupertrendSeries.d.ts.map +1 -0
  97. package/dist/SupertrendSeries.js +40 -0
  98. package/dist/UniversalSeries.d.ts +21 -0
  99. package/dist/UniversalSeries.d.ts.map +1 -0
  100. package/dist/UniversalSeries.js +222 -0
  101. package/dist/VolumeProfileSeries.d.ts +21 -0
  102. package/dist/VolumeProfileSeries.d.ts.map +1 -0
  103. package/dist/VolumeProfileSeries.js +57 -0
  104. package/dist/VolumeSeries.d.ts +14 -0
  105. package/dist/VolumeSeries.d.ts.map +1 -0
  106. package/dist/VolumeSeries.js +33 -0
  107. package/dist/WatermarkOverlay.d.ts +11 -0
  108. package/dist/WatermarkOverlay.d.ts.map +1 -0
  109. package/dist/WatermarkOverlay.js +27 -0
  110. package/dist/index.d.ts +42 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +41 -0
  113. package/dist/useChart.d.ts +16 -0
  114. package/dist/useChart.d.ts.map +1 -0
  115. package/dist/useChart.js +34 -0
  116. package/package.json +93 -4
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @file packages/chart-react/src/WatermarkOverlay.tsx
3
+ * Declarative background watermark component.
4
+ */
5
+ export interface WatermarkOverlayProps {
6
+ readonly text: string;
7
+ readonly subText?: string | undefined;
8
+ readonly color?: string | undefined;
9
+ }
10
+ export declare function WatermarkOverlay({ text, subText, color, }: WatermarkOverlayProps): null;
11
+ //# sourceMappingURL=WatermarkOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WatermarkOverlay.d.ts","sourceRoot":"","sources":["../src/WatermarkOverlay.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,KAAK,GACN,EAAE,qBAAqB,GAAG,IAAI,CAsB9B"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @file packages/chart-react/src/WatermarkOverlay.tsx
3
+ * Declarative background watermark component.
4
+ */
5
+ import React, { useEffect, useId } from 'react';
6
+ import { renderWatermark } from '@tranding-custom-chart/renderer-canvas';
7
+ import { useChartContext } from './ChartContext.js';
8
+ export function WatermarkOverlay({ text, subText, color, }) {
9
+ const { registerDataLayer, bounds, padding } = useChartContext();
10
+ const id = useId();
11
+ useEffect(() => {
12
+ if (!text)
13
+ return;
14
+ const unregister = registerDataLayer(id, (ctx) => {
15
+ renderWatermark({
16
+ ctx,
17
+ bounds,
18
+ padding,
19
+ text,
20
+ subText,
21
+ color,
22
+ });
23
+ });
24
+ return unregister;
25
+ }, [registerDataLayer, id, bounds, padding, text, subText, color]);
26
+ return null;
27
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @file packages/chart-react/src/index.ts
3
+ * Main entry point for @tranding-custom-chart/react.
4
+ */
5
+ export * from './ChartContext.js';
6
+ export * from './ChartContainer.js';
7
+ export * from './CandlestickSeries.js';
8
+ export * from './HollowCandlestickSeries.js';
9
+ export * from './OhlcBarSeries.js';
10
+ export * from './BaselineSeries.js';
11
+ export * from './StepLineSeries.js';
12
+ export * from './HighLowSeries.js';
13
+ export * from './LineSeries.js';
14
+ export * from './VolumeSeries.js';
15
+ export * from './GridAxes.js';
16
+ export * from './CrosshairOverlay.js';
17
+ export * from './ColumnsSeries.js';
18
+ export * from './LineWithMarkersSeries.js';
19
+ export * from './HlcAreaSeries.js';
20
+ export * from './WatermarkOverlay.js';
21
+ export * from './LastPriceLine.js';
22
+ export * from './DrawingOverlay.js';
23
+ export * from './UniversalSeries.js';
24
+ export * from './AccessibleChartTable.js';
25
+ export * from './ChartSyncGroup.js';
26
+ export * from './PieSeries.js';
27
+ export * from './HorizontalBarSeries.js';
28
+ export * from './StackedBarSeries.js';
29
+ export * from './RadarSeries.js';
30
+ export * from './VolumeProfileSeries.js';
31
+ export * from './SupertrendSeries.js';
32
+ export * from './ScatterSeries.js';
33
+ export * from './BubbleSeries.js';
34
+ export * from './PolarAreaSeries.js';
35
+ export * from './BoxPlotSeries.js';
36
+ export * from './HeatmapSeries.js';
37
+ export * from './MixedChartSeries.js';
38
+ export * from './PluginLayer.js';
39
+ export * from './SeriesMarkersOverlay.js';
40
+ export * from './InteractiveLegend.js';
41
+ export * from './useChart.js';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @file packages/chart-react/src/index.ts
3
+ * Main entry point for @tranding-custom-chart/react.
4
+ */
5
+ export * from './ChartContext.js';
6
+ export * from './ChartContainer.js';
7
+ export * from './CandlestickSeries.js';
8
+ export * from './HollowCandlestickSeries.js';
9
+ export * from './OhlcBarSeries.js';
10
+ export * from './BaselineSeries.js';
11
+ export * from './StepLineSeries.js';
12
+ export * from './HighLowSeries.js';
13
+ export * from './LineSeries.js';
14
+ export * from './VolumeSeries.js';
15
+ export * from './GridAxes.js';
16
+ export * from './CrosshairOverlay.js';
17
+ export * from './ColumnsSeries.js';
18
+ export * from './LineWithMarkersSeries.js';
19
+ export * from './HlcAreaSeries.js';
20
+ export * from './WatermarkOverlay.js';
21
+ export * from './LastPriceLine.js';
22
+ export * from './DrawingOverlay.js';
23
+ export * from './UniversalSeries.js';
24
+ export * from './AccessibleChartTable.js';
25
+ export * from './ChartSyncGroup.js';
26
+ export * from './PieSeries.js';
27
+ export * from './HorizontalBarSeries.js';
28
+ export * from './StackedBarSeries.js';
29
+ export * from './RadarSeries.js';
30
+ export * from './VolumeProfileSeries.js';
31
+ export * from './SupertrendSeries.js';
32
+ export * from './ScatterSeries.js';
33
+ export * from './BubbleSeries.js';
34
+ export * from './PolarAreaSeries.js';
35
+ export * from './BoxPlotSeries.js';
36
+ export * from './HeatmapSeries.js';
37
+ export * from './MixedChartSeries.js';
38
+ export * from './PluginLayer.js';
39
+ export * from './SeriesMarkersOverlay.js';
40
+ export * from './InteractiveLegend.js';
41
+ export * from './useChart.js';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @file packages/chart-react/src/useChart.ts
3
+ * Convenience hooks to access chart engine, context, synchronization, and responsive dimensions.
4
+ */
5
+ export { useChartContext, useChartContext as useChart } from './ChartContext.js';
6
+ export { useChartSync } from './ChartSyncGroup.js';
7
+ /**
8
+ * Hook to measure and track the container's rendered width and height responsively.
9
+ * Handles resize events smoothly and prevents infinite observer loops.
10
+ */
11
+ export declare function useResponsiveDimensions(defaultHeight?: number, minWidth?: number): {
12
+ containerRef: import("react").RefObject<HTMLDivElement | null>;
13
+ width: number;
14
+ height: number;
15
+ };
16
+ //# sourceMappingURL=useChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChart.d.ts","sourceRoot":"","sources":["../src/useChart.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,SAAM,EAAE,QAAQ,SAAM;;;;EAwB1E"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @file packages/chart-react/src/useChart.ts
3
+ * Convenience hooks to access chart engine, context, synchronization, and responsive dimensions.
4
+ */
5
+ import { useEffect, useRef, useState } from 'react';
6
+ export { useChartContext, useChartContext as useChart } from './ChartContext.js';
7
+ export { useChartSync } from './ChartSyncGroup.js';
8
+ /**
9
+ * Hook to measure and track the container's rendered width and height responsively.
10
+ * Handles resize events smoothly and prevents infinite observer loops.
11
+ */
12
+ export function useResponsiveDimensions(defaultHeight = 450, minWidth = 280) {
13
+ const containerRef = useRef(null);
14
+ const [dimensions, setDimensions] = useState({
15
+ width: 0,
16
+ height: defaultHeight,
17
+ });
18
+ useEffect(() => {
19
+ const el = containerRef.current;
20
+ if (!el || typeof ResizeObserver === 'undefined')
21
+ return;
22
+ const observer = new ResizeObserver((entries) => {
23
+ const entry = entries[0];
24
+ if (!entry)
25
+ return;
26
+ const w = Math.max(minWidth, Math.floor(entry.contentRect.width));
27
+ const h = entry.contentRect.height > 0 ? Math.floor(entry.contentRect.height) : defaultHeight;
28
+ setDimensions((prev) => (prev.width === w && prev.height === h ? prev : { width: w, height: h }));
29
+ });
30
+ observer.observe(el);
31
+ return () => observer.disconnect();
32
+ }, [defaultHeight, minWidth]);
33
+ return { containerRef, width: dimensions.width, height: dimensions.height };
34
+ }
package/package.json CHANGED
@@ -1,6 +1,95 @@
1
1
  {
2
2
  "name": "@tranding-custom-chart/react",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "2.1.0",
4
+ "description": "Declarative React components for interactive financial and analytical Canvas 2D charts — 30+ series types (candlestick, OHLC, line, area, pie, radar, heatmap, volume profile, supertrend), WCAG 2.2 AA accessibility, drawing tools, multi-chart sync, and dynamic theming.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "The Creator Studio <thecreatorstudio97@gmail.com>",
8
+ "homepage": "https://www.npmjs.com/package/@tranding-custom-chart/react",
9
+ "keywords": [
10
+ "react",
11
+ "react-chart",
12
+ "react-charts",
13
+ "react-component",
14
+ "chart",
15
+ "charts",
16
+ "charting",
17
+ "canvas",
18
+ "canvas-2d",
19
+ "financial",
20
+ "financial-chart",
21
+ "trading",
22
+ "trading-chart",
23
+ "stock",
24
+ "stock-chart",
25
+ "crypto",
26
+ "forex",
27
+ "candlestick",
28
+ "candlestick-chart",
29
+ "ohlc",
30
+ "line-chart",
31
+ "area-chart",
32
+ "bar-chart",
33
+ "pie-chart",
34
+ "doughnut",
35
+ "radar-chart",
36
+ "heatmap",
37
+ "scatter-plot",
38
+ "bubble-chart",
39
+ "box-plot",
40
+ "volume-profile",
41
+ "supertrend",
42
+ "crosshair",
43
+ "drawing-tools",
44
+ "trendline",
45
+ "fibonacci",
46
+ "visualization",
47
+ "data-visualization",
48
+ "dataviz",
49
+ "interactive",
50
+ "composable",
51
+ "jsx",
52
+ "components",
53
+ "accessible",
54
+ "wcag",
55
+ "a11y",
56
+ "accessibility",
57
+ "typescript",
58
+ "tradingview-alternative",
59
+ "lightweight-charts-alternative"
60
+ ],
61
+ "repository": {
62
+ "type": "git",
63
+ "url": "git+https://github.com/thecreatorstudio97/trend-chart.git",
64
+ "directory": "packages/chart-react"
65
+ },
66
+ "main": "./dist/index.js",
67
+ "types": "./dist/index.d.ts",
68
+ "exports": {
69
+ ".": {
70
+ "types": "./dist/index.d.ts",
71
+ "import": "./dist/index.js"
72
+ }
73
+ },
74
+ "peerDependencies": {
75
+ "react": ">=18.0.0",
76
+ "react-dom": ">=18.0.0"
77
+ },
78
+ "dependencies": {
79
+ "@tranding-custom-chart/core": "^2.1.0",
80
+ "@tranding-custom-chart/renderer-canvas": "^2.1.0",
81
+ "@tranding-custom-chart/financial": "^2.1.0"
82
+ },
83
+ "files": [
84
+ "dist",
85
+ "README.md"
86
+ ],
87
+ "publishConfig": {
88
+ "access": "public"
89
+ },
90
+ "scripts": {
91
+ "build": "tsc -p tsconfig.build.json",
92
+ "typecheck": "tsc --noEmit -p tsconfig.json",
93
+ "test": "vitest run --config vitest.config.ts"
94
+ }
95
+ }