chartjs-chart-treemap 4.0.0 → 4.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/types.d.ts CHANGED
@@ -1,45 +1,80 @@
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>;
45
80
  borderWidth?: number;
@@ -86,12 +121,14 @@ declare module 'chart.js' {
86
121
  export interface TreemapOptions {
87
122
  backgroundColor: Color;
88
123
  borderColor: Color;
89
- borderWidth: number | {
90
- top?: number;
91
- right?: number;
92
- bottom?: number;
93
- left?: number;
94
- };
124
+ borderRadius: number | Partial<BorderRadius>;
125
+ borderWidth: TreemapBorderWidth;
126
+ captions: TreemapCaptionsOptions;
127
+ displayMode: TreemapDisplayMode;
128
+ dividers: TreemapDividersOptions;
129
+ labels: TreemapLabelsOptions;
130
+ rtl: boolean;
131
+ spacing: number;
95
132
  }
96
133
  export interface TreemapConfig {
97
134
  x: number;
@@ -110,4 +147,3 @@ export type TreemapElementComponent = ChartComponent & {
110
147
  prototype: TreemapElement;
111
148
  new (cfg: TreemapConfig): TreemapElement;
112
149
  };
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.0"
110
110
  }