@tranding-custom-chart/react 0.0.0-stage → 2.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.
Files changed (116) hide show
  1. package/README.md +56 -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 +39 -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,41 @@
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.0.0",
4
+ "description": "Declarative React components, interactive hooks, and WCAG 2.2 AA accessibility table for Trend Chart",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/thecreatorstudio97/trend-chart.git",
10
+ "directory": "packages/chart-react"
11
+ },
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js"
18
+ }
19
+ },
20
+ "peerDependencies": {
21
+ "react": ">=18.0.0",
22
+ "react-dom": ">=18.0.0"
23
+ },
24
+ "dependencies": {
25
+ "@tranding-custom-chart/core": "^2.0.0",
26
+ "@tranding-custom-chart/renderer-canvas": "^2.0.0",
27
+ "@tranding-custom-chart/financial": "^2.0.0"
28
+ },
29
+ "files": [
30
+ "dist",
31
+ "README.md"
32
+ ],
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "scripts": {
37
+ "build": "tsc -p tsconfig.build.json",
38
+ "typecheck": "tsc --noEmit -p tsconfig.json",
39
+ "test": "vitest run --config vitest.config.ts"
40
+ }
41
+ }