chartjs-chart-treemap 4.0.0 → 4.1.1

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/types.d.ts CHANGED
@@ -1,47 +1,83 @@
1
- import type { Chart, ChartComponent, Color, CoreChartOptions, DatasetController, Element, FontSpec, Scriptable, ScriptableContext, VisualElement } from 'chart.js';
1
+ import type { BorderRadius, Chart, ChartComponent, Color, CoreChartOptions, DatasetController, Element, FontSpec, Scriptable, ScriptableContext, VisualElement } from 'chart.js';
2
2
  export type AnyObject = Record<string, unknown>;
3
3
  export type LabelPosition = 'top' | 'middle' | 'bottom';
4
4
  export type LabelAlign = 'left' | 'center' | 'right';
5
5
  export type LabelOverflow = 'cut' | 'hidden' | 'fit';
6
- type TreemapScriptableContext = ScriptableContext<'treemap'> & {
6
+ export type TreemapDisplayMode = 'containerBoxes' | 'headerBoxes';
7
+ export type TreemapBorderWidth = number | Partial<Record<'bottom' | 'left' | 'right' | 'top', number>>;
8
+ export type TreemapBorderRadius = Required<BorderRadius>;
9
+ export type TreemapFontSpec = Partial<FontSpec>;
10
+ export type TreemapScriptableContext = ScriptableContext<'treemap'> & {
7
11
  raw: TreemapDataPoint;
8
12
  };
9
- type TreemapControllerDatasetCaptionsOptions = {
13
+ export type TreemapFormatter<T> = T | ((context: TreemapScriptableContext) => T);
14
+ export type TreemapControllerDatasetCaptionsOptions = {
10
15
  align?: Scriptable<LabelAlign, TreemapScriptableContext>;
11
16
  color?: Scriptable<Color, TreemapScriptableContext>;
12
17
  display?: boolean;
13
- formatter?: Scriptable<string, TreemapScriptableContext>;
14
- font?: FontSpec;
18
+ formatter?: TreemapFormatter<string>;
19
+ font?: TreemapFontSpec;
15
20
  hoverColor?: Scriptable<Color, TreemapScriptableContext>;
16
- hoverFont?: FontSpec;
21
+ hoverFont?: TreemapFontSpec;
17
22
  padding?: number;
18
23
  };
19
- type TreemapControllerDatasetLabelsOptions = {
24
+ export type TreemapControllerDatasetLabelsOptions = {
20
25
  align?: Scriptable<LabelAlign, TreemapScriptableContext>;
21
26
  color?: Scriptable<Color | Color[], TreemapScriptableContext>;
22
27
  display?: boolean;
23
- formatter?: Scriptable<string | Array<string>, TreemapScriptableContext>;
24
- font?: Scriptable<FontSpec | FontSpec[], TreemapScriptableContext>;
28
+ formatter?: TreemapFormatter<string | string[]>;
29
+ font?: Scriptable<TreemapFontSpec | TreemapFontSpec[], TreemapScriptableContext>;
25
30
  hoverColor?: Scriptable<Color | Color[], TreemapScriptableContext>;
26
- hoverFont?: Scriptable<FontSpec | FontSpec[], TreemapScriptableContext>;
31
+ hoverFont?: Scriptable<TreemapFontSpec | TreemapFontSpec[], TreemapScriptableContext>;
27
32
  overflow?: Scriptable<LabelOverflow, TreemapScriptableContext>;
28
33
  padding?: number;
29
34
  position?: Scriptable<LabelPosition, TreemapScriptableContext>;
30
35
  };
31
- type TreemapControllerDatasetDividersOptions = {
36
+ export type TreemapControllerDatasetDividersOptions = {
32
37
  display?: boolean;
33
- lineCapStyle?: string;
34
- lineColor?: string;
38
+ lineCapStyle?: CanvasLineCap;
39
+ lineColor?: Color;
35
40
  lineDash?: number[];
36
41
  lineDashOffset?: number;
37
42
  lineWidth?: number;
38
43
  };
44
+ export type TreemapCaptionsOptions = {
45
+ align?: LabelAlign;
46
+ color: Color;
47
+ display?: boolean;
48
+ font: TreemapFontSpec;
49
+ formatter?: TreemapFormatter<string>;
50
+ hoverColor?: Color;
51
+ hoverFont?: TreemapFontSpec;
52
+ padding: number;
53
+ };
54
+ export type TreemapLabelsOptions = {
55
+ align: LabelAlign;
56
+ color: Color | Color[];
57
+ display?: boolean;
58
+ font: TreemapFontSpec | TreemapFontSpec[];
59
+ formatter?: TreemapFormatter<string | string[]>;
60
+ hoverColor?: Color | Color[];
61
+ hoverFont?: TreemapFontSpec | TreemapFontSpec[];
62
+ overflow: LabelOverflow;
63
+ padding: number;
64
+ position: LabelPosition;
65
+ };
66
+ export type TreemapDividersOptions = {
67
+ display?: boolean;
68
+ lineCapStyle: CanvasLineCap;
69
+ lineColor: Color;
70
+ lineDash: number[];
71
+ lineDashOffset: number;
72
+ lineWidth: number;
73
+ };
39
74
  export interface TreemapControllerDatasetOptions<DType> {
40
75
  spacing?: number;
41
76
  rtl?: boolean;
42
- displayType?: 'containerBoxes' | 'headerBoxes';
77
+ displayType?: TreemapDisplayMode;
43
78
  backgroundColor?: Scriptable<Color, TreemapScriptableContext>;
44
79
  borderColor?: Scriptable<Color, TreemapScriptableContext>;
80
+ borderRadius?: Scriptable<number | Partial<BorderRadius>, TreemapScriptableContext>;
45
81
  borderWidth?: number;
46
82
  hoverBackgroundColor?: Scriptable<Color, TreemapScriptableContext>;
47
83
  hoverBorderColor?: Scriptable<Color, TreemapScriptableContext>;
@@ -86,12 +122,14 @@ declare module 'chart.js' {
86
122
  export interface TreemapOptions {
87
123
  backgroundColor: Color;
88
124
  borderColor: Color;
89
- borderWidth: number | {
90
- top?: number;
91
- right?: number;
92
- bottom?: number;
93
- left?: number;
94
- };
125
+ borderRadius: number | Partial<BorderRadius>;
126
+ borderWidth: TreemapBorderWidth;
127
+ captions: TreemapCaptionsOptions;
128
+ displayMode: TreemapDisplayMode;
129
+ dividers: TreemapDividersOptions;
130
+ labels: TreemapLabelsOptions;
131
+ rtl: boolean;
132
+ spacing: number;
95
133
  }
96
134
  export interface TreemapConfig {
97
135
  x: number;
@@ -110,4 +148,3 @@ export type TreemapElementComponent = ChartComponent & {
110
148
  prototype: TreemapElement;
111
149
  new (cfg: TreemapConfig): TreemapElement;
112
150
  };
113
- export {};
package/dist/utils.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export declare const getGroupKey: (lvl: unknown) => string;
2
2
  export declare function normalizeTreeToArray(keys: string[], treeLeafKey: string, obj: Record<string, any>): Record<string, any>[];
3
3
  export declare function flatten(input: any[]): any[];
4
- export declare function group(values: Record<string, any>[], grp: string, keys: string[], treeLeafKey: string, mainGrp?: string, mainValue?: any, groups?: string[]): Record<string, any>[];
4
+ export declare function group(values: Record<string, any>[], grp: string, keys: string[], treeLeafKey: string, mainGrp?: string, mainValue?: any, groups?: string[], allGroups?: string[], groupIndex?: number): Record<string, any>[];
5
5
  export declare function index(values: any[], key: string): string;
6
6
  export declare function sort(values: any[], key?: string): void;
7
7
  export declare function sum(values: any[], key?: string): number;
package/package.json CHANGED
@@ -106,5 +106,5 @@
106
106
  "type": "module",
107
107
  "types": "dist/index.esm.d.ts",
108
108
  "unpkg": "dist/chartjs-chart-treemap.min.js",
109
- "version": "4.0.0"
109
+ "version": "4.1.1"
110
110
  }