@meonode/canvas 1.0.0 → 1.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.
package/dist/cjs/index.js CHANGED
@@ -6,6 +6,7 @@ var image_canvas_util = require('./canvas/image.canvas.util.js');
6
6
  var text_canvas_util = require('./canvas/text.canvas.util.js');
7
7
  var root_canvas_util = require('./canvas/root.canvas.util.js');
8
8
  var grid_canvas_util = require('./canvas/grid.canvas.util.js');
9
+ var chart_canvas_util = require('./canvas/chart.canvas.util.js');
9
10
  var YogaTypes = require('yoga-layout');
10
11
 
11
12
 
@@ -22,6 +23,7 @@ exports.Image = image_canvas_util.Image;
22
23
  exports.Text = text_canvas_util.Text;
23
24
  exports.Root = root_canvas_util.Root;
24
25
  exports.Grid = grid_canvas_util.Grid;
26
+ exports.Chart = chart_canvas_util.Chart;
25
27
  Object.keys(YogaTypes).forEach(function (k) {
26
28
  if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
27
29
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -640,7 +640,7 @@ export interface ImageProps extends Omit<BoxProps, 'children'> {
640
640
  */
641
641
  dropShadow?: DropShadowProps;
642
642
  /**
643
- * Alternative text description of the image (used for accessibility or if the image fails).
643
+ * Alternative text description of the image (used for accessibility or if the image fails to load).
644
644
  * Currently not rendered visually, but good practice to include.
645
645
  */
646
646
  alt?: string;
@@ -654,4 +654,104 @@ export interface ImageProps extends Omit<BoxProps, 'children'> {
654
654
  */
655
655
  onError?: (error: Error) => void;
656
656
  }
657
+ export type ChartType = 'pie' | 'doughnut' | 'bar' | 'line';
658
+ /**
659
+ * A single data point for pie or doughnut chart rendering.
660
+ * - `label`: Human-readable label for the data point (shown on axes/legend).
661
+ * - `value`: Numeric value used to determine the visual size/height of the point.
662
+ * - `color`: Optional CSS color string to override the default dataset/series color for this point.
663
+ */
664
+ export interface PieChartDataPoint {
665
+ label: string;
666
+ value: number;
667
+ color?: string;
668
+ }
669
+ /**
670
+ * Represents a single dataset for a cartesian chart (like bar or line).
671
+ * - `label`: The name of the dataset (e.g., "Sales 2023").
672
+ * - `data`: An array of numeric values for this dataset.
673
+ * - `color`: Optional CSS color string for the entire dataset.
674
+ */
675
+ export interface ChartDataset {
676
+ label: string;
677
+ data: number[];
678
+ color?: string;
679
+ }
680
+ /**
681
+ * Defines the data structure for cartesian charts (bar, line).
682
+ * - `labels`: An array of strings for the x-axis categories.
683
+ * - `datasets`: An array of `ChartDataset` objects, each representing a series.
684
+ */
685
+ export interface CartesianChartData {
686
+ labels: string[];
687
+ datasets: ChartDataset[];
688
+ }
689
+ export type LegendItem<T extends ChartType> = T extends 'bar' | 'line' ? ChartDataset : PieChartDataPoint;
690
+ export type LabelItem<T extends ChartType> = T extends 'bar' | 'line' ? string : PieChartDataPoint;
691
+ export interface GridOptions {
692
+ show?: boolean;
693
+ color?: string;
694
+ style?: 'solid' | 'dashed' | 'dotted';
695
+ }
696
+ interface BaseChartOptions<T extends ChartType> {
697
+ showLabels?: boolean;
698
+ showLegend?: boolean;
699
+ labelFontSize?: number;
700
+ labelColor?: string;
701
+ legendPosition?: 'top' | 'bottom' | 'left' | 'right';
702
+ renderLegendItem?: (props: {
703
+ item: LegendItem<T>;
704
+ index: number;
705
+ color: string;
706
+ }) => BoxNode | null | undefined;
707
+ renderLabelItem?: (props: {
708
+ item: LabelItem<T>;
709
+ index: number;
710
+ }) => BoxNode | null | undefined;
711
+ }
712
+ interface CartesianChartSpecificOptions {
713
+ grid?: GridOptions;
714
+ axisColor?: string;
715
+ }
716
+ interface PieChartSpecificOptions {
717
+ /**
718
+ * The radius of the inner circle in a doughnut chart, expressed as a
719
+ * percentage of the outer radius. Should be between 0 and 1.
720
+ * @default 0.6
721
+ */
722
+ innerRadius?: number;
723
+ /**
724
+ * The border radius for the corners of each slice in a pie or doughnut chart.
725
+ * @unit Pixels.
726
+ * @default 0
727
+ */
728
+ sliceBorderRadius?: number;
729
+ }
730
+ export type ChartOptions<T extends ChartType> = T extends 'bar' | 'line' ? BaseChartOptions<T> & CartesianChartSpecificOptions : T extends 'pie' | 'doughnut' ? BaseChartOptions<T> & PieChartSpecificOptions : BaseChartOptions<T>;
731
+ /**
732
+ * Properties for rendering a chart inside a `BoxNode`.
733
+ * Extends `BoxProps` so layout and visual styles can be applied.
734
+ *
735
+ * - `type`: Chart kind to render. Implementation may vary per type.
736
+ * - `data`: Data for the chart. The structure depends on the chart type.
737
+ * - `options`: Optional rendering and styling flags.
738
+ */
739
+ export interface ChartProps<T extends ChartType> extends BoxProps {
740
+ /**
741
+ * Chart type to render.
742
+ * - 'bar' | 'line' | 'pie' | 'doughnut'
743
+ */
744
+ type: T;
745
+ /**
746
+ * Data for the chart.
747
+ * - For 'bar' and 'line' charts, use `CartesianChartData`.
748
+ * - For 'pie' and 'doughnut' charts, use an array of `PieChartDataPoint`.
749
+ */
750
+ data: T extends 'bar' | 'line' ? CartesianChartData : PieChartDataPoint[];
751
+ /**
752
+ * Optional rendering and style options, specific to the chart type.
753
+ */
754
+ options?: ChartOptions<T>;
755
+ }
756
+ export {};
657
757
  //# sourceMappingURL=canvas.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.type.d.ts","sourceRoot":"","sources":["../../../src/canvas/canvas.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.type.d.ts","sourceRoot":"","sources":["../../../src/canvas/canvas.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { BoxNode } from '../canvas/layout.canvas.util.js';
2
+ import type { BaseProps, ChartProps, ChartType } from '../canvas/canvas.type.js';
3
+ import type { CanvasRenderingContext2D } from 'skia-canvas';
4
+ export declare class ChartNode<T extends ChartType> extends BoxNode {
5
+ private chartData;
6
+ private chartType;
7
+ private chartOptions;
8
+ constructor(props: ChartProps<T> & BaseProps);
9
+ private validateProps;
10
+ protected _renderContent(ctx: CanvasRenderingContext2D, x: number, y: number, width: number, height: number): void;
11
+ private getLegendLayout;
12
+ private renderBarChart;
13
+ private renderLineChart;
14
+ private renderPieChart;
15
+ private renderDoughnutChart;
16
+ private renderLegend;
17
+ private generateColor;
18
+ }
19
+ export declare const Chart: <T extends ChartType>(props: ChartProps<T> & BaseProps) => ChartNode<T>;
20
+ //# sourceMappingURL=chart.canvas.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.canvas.util.d.ts","sourceRoot":"","sources":["../../../src/canvas/chart.canvas.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,gCAAgC,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAoC,UAAU,EAAE,SAAS,EAAqB,MAAM,yBAAyB,CAAA;AACpI,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAI3D,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,OAAO;IACzD,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAA0B;gBAElC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;IAyB5C,OAAO,CAAC,aAAa;IAqBrB,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA8B3G,OAAO,CAAC,eAAe;IAqGvB,OAAO,CAAC,cAAc;IAyFtB,OAAO,CAAC,eAAe;IAuGvB,OAAO,CAAC,cAAc;IAsEtB,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,YAAY;IA0HpB,OAAO,CAAC,aAAa;CAItB;AAED,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,SAAS,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,KAAG,SAAS,CAAC,CAAC,CAAyB,CAAA"}