@carbon/charts 1.9.0-rc.5 → 1.10.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/CHANGELOG.md +31 -0
- package/LICENSE.md +201 -0
- package/README.md +9 -19
- package/dist/_baseEach-603421de.mjs.map +1 -1
- package/dist/_baseEach-cdac417f.js.map +1 -1
- package/dist/angle-utils-6f166b40.js.map +1 -1
- package/dist/angle-utils-8b6ce998.mjs.map +1 -1
- package/dist/axis-chart.d.ts +13 -13
- package/dist/chart.d.ts +18 -18
- package/dist/charts/alluvial.d.ts +10 -10
- package/dist/charts/area-stacked.d.ts +8 -8
- package/dist/charts/area.d.ts +8 -8
- package/dist/charts/bar-grouped.d.ts +8 -8
- package/dist/charts/bar-simple.d.ts +8 -8
- package/dist/charts/bar-stacked.d.ts +8 -8
- package/dist/charts/boxplot.d.ts +10 -10
- package/dist/charts/bubble.d.ts +8 -8
- package/dist/charts/bullet.d.ts +10 -10
- package/dist/charts/choropleth.d.ts +14 -14
- package/dist/charts/circle-pack.d.ts +10 -10
- package/dist/charts/combo.d.ts +9 -9
- package/dist/charts/donut.d.ts +8 -8
- package/dist/charts/gauge.d.ts +10 -10
- package/dist/charts/heatmap.d.ts +14 -14
- package/dist/charts/histogram.d.ts +10 -10
- package/dist/charts/index.d.ts +27 -27
- package/dist/charts/line.d.ts +8 -8
- package/dist/charts/lollipop.d.ts +8 -8
- package/dist/charts/meter.d.ts +10 -10
- package/dist/charts/pie.d.ts +10 -10
- package/dist/charts/radar.d.ts +10 -10
- package/dist/charts/scatter.d.ts +8 -8
- package/dist/charts/tree.d.ts +10 -10
- package/dist/charts/treemap.d.ts +10 -10
- package/dist/charts/wordcloud.d.ts +10 -10
- package/dist/choropleth-4ac6ac20.js.map +1 -1
- package/dist/choropleth-f473ea0d.mjs.map +1 -1
- package/dist/color-scale-utils-5eb3eeaa.mjs.map +1 -1
- package/dist/color-scale-utils-7d463811.js.map +1 -1
- package/dist/components/axes/axis.d.ts +24 -24
- package/dist/components/axes/chart-clip.d.ts +13 -13
- package/dist/components/axes/grid-brush.d.ts +10 -10
- package/dist/components/axes/grid.d.ts +22 -22
- package/dist/components/axes/hover-axis.d.ts +10 -10
- package/dist/components/axes/index.d.ts +12 -12
- package/dist/components/axes/ruler-binned.d.ts +10 -7
- package/dist/components/axes/ruler-stacked.d.ts +4 -4
- package/dist/components/axes/ruler.d.ts +30 -27
- package/dist/components/axes/toolbar.d.ts +40 -40
- package/dist/components/axes/two-dimensional-axes.d.ts +16 -16
- package/dist/components/axes/zero-line.d.ts +7 -7
- package/dist/components/axes/zoom-bar.d.ts +31 -28
- package/dist/components/component.d.ts +30 -30
- package/dist/components/diagrams/buildPaths.d.ts +40 -40
- package/dist/components/diagrams/index.d.ts +2 -2
- package/dist/components/diagrams/markerDefinitions.d.ts +37 -37
- package/dist/components/essentials/canvas-chart-clip.d.ts +6 -6
- package/dist/components/essentials/color-scale-legend.d.ts +20 -20
- package/dist/components/essentials/geo-projection.d.ts +16 -16
- package/dist/components/essentials/highlights.d.ts +13 -13
- package/dist/components/essentials/index.d.ts +11 -11
- package/dist/components/essentials/legend.d.ts +11 -11
- package/dist/components/essentials/modal.d.ts +14 -14
- package/dist/components/essentials/threshold.d.ts +20 -20
- package/dist/components/essentials/title-meter.d.ts +30 -30
- package/dist/components/essentials/title.d.ts +20 -20
- package/dist/components/essentials/tooltip-axis.d.ts +4 -4
- package/dist/components/essentials/tooltip.d.ts +22 -22
- package/dist/components/graphs/alluvial.d.ts +14 -14
- package/dist/components/graphs/area-stacked.d.ts +11 -11
- package/dist/components/graphs/area.d.ts +12 -12
- package/dist/components/graphs/bar-grouped.d.ts +22 -22
- package/dist/components/graphs/bar-simple.d.ts +12 -12
- package/dist/components/graphs/bar-stacked.d.ts +13 -13
- package/dist/components/graphs/bar.d.ts +5 -5
- package/dist/components/graphs/boxplot.d.ts +9 -9
- package/dist/components/graphs/bubble.d.ts +13 -13
- package/dist/components/graphs/bullet.d.ts +12 -12
- package/dist/components/graphs/choropleth.d.ts +6 -6
- package/dist/components/graphs/circle-pack.d.ts +19 -19
- package/dist/components/graphs/donut.d.ts +9 -9
- package/dist/components/graphs/gauge.d.ts +27 -27
- package/dist/components/graphs/heatmap.d.ts +25 -25
- package/dist/components/graphs/histogram.d.ts +12 -12
- package/dist/components/graphs/index.d.ts +28 -28
- package/dist/components/graphs/line.d.ts +11 -11
- package/dist/components/graphs/lollipop.d.ts +14 -14
- package/dist/components/graphs/meter.d.ts +10 -10
- package/dist/components/graphs/pie.d.ts +16 -16
- package/dist/components/graphs/radar.d.ts +25 -25
- package/dist/components/graphs/scatter-stacked.d.ts +8 -8
- package/dist/components/graphs/scatter.d.ts +21 -21
- package/dist/components/graphs/skeleton-lines.d.ts +12 -12
- package/dist/components/graphs/skeleton.d.ts +23 -23
- package/dist/components/graphs/tree.d.ts +9 -9
- package/dist/components/graphs/treemap.d.ts +11 -11
- package/dist/components/graphs/wordcloud.d.ts +12 -12
- package/dist/components/index.d.ts +6 -6
- package/dist/components/layout/index.d.ts +2 -2
- package/dist/components/layout/layout.d.ts +18 -18
- package/dist/components/layout/spacer.d.ts +5 -5
- package/dist/configuration-non-customizable.d.ts +263 -263
- package/dist/configuration.d.ts +48 -48
- package/dist/demo/charts/alluvial.d.ts +109 -109
- package/dist/demo/charts/area.d.ts +224 -224
- package/dist/demo/charts/bar.d.ts +681 -681
- package/dist/demo/charts/boxplot.d.ts +34 -34
- package/dist/demo/charts/bubble.d.ts +141 -141
- package/dist/demo/charts/bullet.d.ts +24 -24
- package/dist/demo/charts/chart-types.d.ts +128 -128
- package/dist/demo/charts/choropleth.d.ts +738 -738
- package/dist/demo/charts/circle-pack.d.ts +91 -91
- package/dist/demo/charts/combo.d.ts +482 -482
- package/dist/demo/charts/donut.d.ts +64 -64
- package/dist/demo/charts/gauge.d.ts +40 -40
- package/dist/demo/charts/heatmap.d.ts +125 -125
- package/dist/demo/charts/hightlight.d.ts +40 -40
- package/dist/demo/charts/histogram.d.ts +63 -63
- package/dist/demo/charts/index.d.ts +55 -62
- package/dist/demo/charts/line.d.ts +361 -361
- package/dist/demo/charts/lollipop.d.ts +39 -39
- package/dist/demo/charts/meter.d.ts +95 -95
- package/dist/demo/charts/pie.d.ts +46 -46
- package/dist/demo/charts/radar.d.ts +63 -63
- package/dist/demo/charts/scatter.d.ts +118 -118
- package/dist/demo/charts/step.d.ts +96 -96
- package/dist/demo/charts/time-series-axis.d.ts +293 -293
- package/dist/demo/charts/toolbar.d.ts +12 -12
- package/dist/demo/charts/topojson-110.d.ts +360 -360
- package/dist/demo/charts/tree.d.ts +30 -30
- package/dist/demo/charts/treemap.d.ts +15 -15
- package/dist/demo/charts/wordcloud.d.ts +14 -14
- package/dist/demo/charts/zoom-bar.d.ts +79 -79
- package/dist/demo/index.d.ts +4 -4
- package/dist/demo/index.js +153 -166
- package/dist/demo/index.js.map +1 -1
- package/dist/demo/index.mjs +1645 -1834
- package/dist/demo/index.mjs.map +1 -1
- package/dist/demo/styles.css +567 -262
- package/dist/demo/styles.css.map +1 -1
- package/dist/demo/utils/index.d.ts +2 -2
- package/dist/demo/utils/sandbox.d.ts +38 -39
- package/dist/demo/utils/story-widgets.d.ts +7 -7
- package/dist/index-a266373c.mjs.map +1 -1
- package/dist/index-becfb567.mjs.map +1 -1
- package/dist/index-d865d500.js.map +1 -1
- package/dist/index-f23685eb.js.map +1 -1
- package/dist/index.d.ts +13 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/a11y.d.ts +12 -12
- package/dist/interfaces/axis-scales.d.ts +201 -201
- package/dist/interfaces/charts.d.ts +520 -517
- package/dist/interfaces/components.d.ts +231 -231
- package/dist/interfaces/enums.d.ts +261 -261
- package/dist/interfaces/events.d.ts +239 -239
- package/dist/interfaces/index.d.ts +12 -11
- package/dist/interfaces/layout.d.ts +21 -21
- package/dist/interfaces/model.d.ts +35 -35
- package/dist/interfaces/services.d.ts +20 -20
- package/dist/interfaces/truncation.d.ts +17 -17
- package/dist/model/alluvial.d.ts +8 -8
- package/dist/model/binned-charts.d.ts +7 -7
- package/dist/model/boxplot.d.ts +14 -14
- package/dist/model/bullet.d.ts +14 -14
- package/dist/model/cartesian-charts.d.ts +24 -24
- package/dist/model/choropleth.d.ts +29 -29
- package/dist/model/circle-pack.d.ts +36 -36
- package/dist/model/gauge.d.ts +9 -9
- package/dist/model/heatmap.d.ts +57 -57
- package/dist/model/index.d.ts +16 -16
- package/dist/model/index.js.map +1 -1
- package/dist/model/index.mjs.map +1 -1
- package/dist/model/meter.d.ts +20 -20
- package/dist/model/model.d.ts +110 -110
- package/dist/model/pie.d.ts +9 -9
- package/dist/model/radar.d.ts +7 -7
- package/dist/model/tree.d.ts +14 -14
- package/dist/model/treemap.d.ts +8 -8
- package/dist/model/wordcloud.d.ts +7 -7
- package/dist/services/angle-utils.d.ts +15 -15
- package/dist/services/canvas-zoom.d.ts +11 -11
- package/dist/services/color-scale-utils.d.ts +2 -2
- package/dist/services/curves.d.ts +24 -24
- package/dist/services/essentials/dom-utils.d.ts +45 -45
- package/dist/services/essentials/events.d.ts +8 -8
- package/dist/services/essentials/files.d.ts +7 -7
- package/dist/services/essentials/gradient-utils.d.ts +6 -6
- package/dist/services/essentials/index.d.ts +5 -5
- package/dist/services/essentials/transitions.d.ts +13 -13
- package/dist/services/index.d.ts +9 -9
- package/dist/services/scales-cartesian.d.ts +89 -89
- package/dist/services/service.d.ts +11 -11
- package/dist/services/time-series.d.ts +13 -13
- package/dist/services/zoom.d.ts +21 -21
- package/dist/styles.css +0 -21919
- package/dist/styles.css.map +1 -1
- package/dist/styles.min.css +1 -1
- package/dist/styles.min.css.map +1 -1
- package/dist/tools.d.ts +150 -144
- package/package.json +48 -33
- package/{dist/styles/colors.scss → scss/_colors.scss} +1 -1
- package/{dist/styles/tokens.scss → scss/_tokens.scss} +6 -15
- package/scss/demos.scss +427 -0
- package/scss/index.scss +31 -0
- package/dist/styles/styles.scss +0 -40
- /package/{dist/styles → scss}/_chart-holder.scss +0 -0
- /package/{dist/styles/color-palatte.scss → scss/_color-palette.scss} +0 -0
- /package/{dist/styles → scss}/_type.scss +0 -0
- /package/{dist/styles → scss}/components/_axis.scss +0 -0
- /package/{dist/styles → scss}/components/_callouts.scss +0 -0
- /package/{dist/styles → scss}/components/_color-legend.scss +0 -0
- /package/{dist/styles → scss}/components/_edge.scss +0 -0
- /package/{dist/styles → scss}/components/_grid-brush.scss +0 -0
- /package/{dist/styles → scss}/components/_grid.scss +0 -0
- /package/{dist/styles → scss}/components/_highlights.scss +0 -0
- /package/{dist/styles → scss}/components/_layout.scss +0 -0
- /package/{dist/styles → scss}/components/_legend.scss +0 -0
- /package/{dist/styles → scss}/components/_marker.scss +0 -0
- /package/{dist/styles → scss}/components/_meter-title.scss +0 -0
- /package/{dist/styles → scss}/components/_modal.scss +0 -0
- /package/{dist/styles → scss}/components/_ruler.scss +0 -0
- /package/{dist/styles → scss}/components/_skeleton-lines.scss +0 -0
- /package/{dist/styles → scss}/components/_skeleton.scss +0 -0
- /package/{dist/styles → scss}/components/_threshold.scss +0 -0
- /package/{dist/styles → scss}/components/_title.scss +0 -0
- /package/{dist/styles → scss}/components/_toolbar.scss +0 -0
- /package/{dist/styles → scss}/components/_tooltip.scss +0 -0
- /package/{dist/styles → scss}/components/_zero-line.scss +0 -0
- /package/{dist/styles → scss}/components/_zoom-bar.scss +0 -0
- /package/{dist/styles → scss}/components/diagrams/_card-node.scss +0 -0
- /package/{dist/styles → scss}/components/diagrams/_edge.scss +0 -0
- /package/{dist/styles → scss}/components/diagrams/_marker.scss +0 -0
- /package/{dist/styles → scss}/components/diagrams/_shape-node.scss +0 -0
- /package/{dist/styles → scss}/components/diagrams/index.scss +0 -0
- /package/{dist/styles → scss}/components/index.scss +0 -0
- /package/{dist/styles → scss}/graphs/_alluvial.scss +0 -0
- /package/{dist/styles → scss}/graphs/_area.scss +0 -0
- /package/{dist/styles → scss}/graphs/_bubble.scss +0 -0
- /package/{dist/styles → scss}/graphs/_bullet.scss +0 -0
- /package/{dist/styles → scss}/graphs/_choropleth.scss +0 -0
- /package/{dist/styles → scss}/graphs/_circle-pack.scss +0 -0
- /package/{dist/styles → scss}/graphs/_donut.scss +0 -0
- /package/{dist/styles → scss}/graphs/_gauge.scss +0 -0
- /package/{dist/styles → scss}/graphs/_heatmap.scss +0 -0
- /package/{dist/styles → scss}/graphs/_line.scss +0 -0
- /package/{dist/styles → scss}/graphs/_lollipop.scss +0 -0
- /package/{dist/styles → scss}/graphs/_meter.scss +0 -0
- /package/{dist/styles → scss}/graphs/_pie.scss +0 -0
- /package/{dist/styles → scss}/graphs/_radar.scss +0 -0
- /package/{dist/styles → scss}/graphs/_scatter-stacked.scss +0 -0
- /package/{dist/styles → scss}/graphs/_scatter.scss +0 -0
- /package/{dist/styles → scss}/graphs/_tree.scss +0 -0
- /package/{dist/styles → scss}/graphs/_treemap.scss +0 -0
- /package/{dist/styles → scss}/graphs/_wordcloud.scss +0 -0
- /package/{dist/styles → scss}/graphs/index.scss +0 -0
|
@@ -1,201 +1,201 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
export interface BasedAxisOptions {
|
|
7
|
-
/**
|
|
8
|
-
* type of the scale used on axis
|
|
9
|
-
*/
|
|
10
|
-
scaleType?: ScaleTypes;
|
|
11
|
-
/**
|
|
12
|
-
* Whether the Axis should use the specified domain
|
|
13
|
-
* instead of it being dynamically generated based on data extents.
|
|
14
|
-
* The type of values should depend on the scale type.
|
|
15
|
-
* Example for continuous axis scale: [-100, 100]
|
|
16
|
-
* Example for discrete axis scale: ['Qty', 'More', 'Sold']
|
|
17
|
-
* No need to define domain for percentage axis scale
|
|
18
|
-
*/
|
|
19
|
-
domain?: AxisDomain[];
|
|
20
|
-
/**
|
|
21
|
-
* an additional key from the charting data that is used to
|
|
22
|
-
* extend the domain of an axis by
|
|
23
|
-
* (e.g. in the bullet graph we need both the marker &
|
|
24
|
-
* the data values to define the domain of the linear scale)
|
|
25
|
-
*/
|
|
26
|
-
extendLinearDomainBy?: string;
|
|
27
|
-
/**
|
|
28
|
-
* Whether the Axis should be forced to include 0 as a starting point
|
|
29
|
-
* (or ending point, in case of all negative axis).
|
|
30
|
-
* Default: true
|
|
31
|
-
*/
|
|
32
|
-
includeZero?: boolean;
|
|
33
|
-
/**
|
|
34
|
-
* identifies what key within the data the axis values would map to
|
|
35
|
-
*/
|
|
36
|
-
mapsTo?: string;
|
|
37
|
-
/**
|
|
38
|
-
* optional title for the scales
|
|
39
|
-
*/
|
|
40
|
-
title?: string;
|
|
41
|
-
/**
|
|
42
|
-
* Override for the orientation of the title (for vertical axes).
|
|
43
|
-
* The title string can be overrided to be rotated left or right.
|
|
44
|
-
*/
|
|
45
|
-
titleOrientation?: AxisTitleOrientations;
|
|
46
|
-
/**
|
|
47
|
-
* thresholds
|
|
48
|
-
* @example
|
|
49
|
-
* [
|
|
50
|
-
* { value: 10000 },
|
|
51
|
-
* { value: 40020, valueFormatter: (x) => x },
|
|
52
|
-
* { value: 55000, label: "Custom label", fillColor: "#03a9f4" },
|
|
53
|
-
* ]
|
|
54
|
-
*/
|
|
55
|
-
thresholds?: ThresholdOptions[];
|
|
56
|
-
/**
|
|
57
|
-
* tick configuration
|
|
58
|
-
*/
|
|
59
|
-
ticks?: {
|
|
60
|
-
/**
|
|
61
|
-
* number of ticks to show
|
|
62
|
-
*/
|
|
63
|
-
number?: number;
|
|
64
|
-
/**
|
|
65
|
-
* minimum tick value
|
|
66
|
-
*/
|
|
67
|
-
min?: number;
|
|
68
|
-
/**
|
|
69
|
-
* maximum tick value
|
|
70
|
-
*/
|
|
71
|
-
max?: number;
|
|
72
|
-
/**
|
|
73
|
-
* minimum width of a tick
|
|
74
|
-
* before getting rotated (in pixels)
|
|
75
|
-
*/
|
|
76
|
-
rotateIfSmallerThan?: number;
|
|
77
|
-
/**
|
|
78
|
-
* when to rotate ticks
|
|
79
|
-
*/
|
|
80
|
-
rotation?: TickRotations;
|
|
81
|
-
/**
|
|
82
|
-
* function to format the ticks
|
|
83
|
-
*/
|
|
84
|
-
formatter?: (tick: number, i: number) => string;
|
|
85
|
-
/**
|
|
86
|
-
* optional custom array of tick values that is within the domain of data
|
|
87
|
-
*/
|
|
88
|
-
values?: any[];
|
|
89
|
-
};
|
|
90
|
-
truncation?: TruncationOptions;
|
|
91
|
-
/**
|
|
92
|
-
* is axis visible or not
|
|
93
|
-
*/
|
|
94
|
-
visible?: boolean;
|
|
95
|
-
/**
|
|
96
|
-
* Bins to display (Histogram)
|
|
97
|
-
* bins: 20
|
|
98
|
-
* bins: [0, 20, 40, 60]
|
|
99
|
-
* bins: [new Date(...), new Date(...), ...]
|
|
100
|
-
*/
|
|
101
|
-
bins?: number | any[];
|
|
102
|
-
/**
|
|
103
|
-
* limit the visible axis domain to only the binned area
|
|
104
|
-
*/
|
|
105
|
-
limitDomainToBins?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* should be set to `true` on the domain
|
|
108
|
-
* axis that's being broken into bins
|
|
109
|
-
*/
|
|
110
|
-
binned?: boolean;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* options to configure a scale. not all options are used by all scales
|
|
114
|
-
*/
|
|
115
|
-
export interface AxisOptions extends BasedAxisOptions {
|
|
116
|
-
/**
|
|
117
|
-
* option for stacked axis
|
|
118
|
-
*/
|
|
119
|
-
stacked?: boolean;
|
|
120
|
-
/**
|
|
121
|
-
* option for percentage axis scale
|
|
122
|
-
*/
|
|
123
|
-
percentage?: boolean;
|
|
124
|
-
}
|
|
125
|
-
export interface ComboChartAxisOptions extends AxisOptions {
|
|
126
|
-
/**
|
|
127
|
-
* should be set to `true` for the
|
|
128
|
-
* left axis to be the primary axis
|
|
129
|
-
*/
|
|
130
|
-
main?: boolean;
|
|
131
|
-
/**
|
|
132
|
-
* used to map data on the secondary axis
|
|
133
|
-
*/
|
|
134
|
-
correspondingDatasets?: Array<string>;
|
|
135
|
-
}
|
|
136
|
-
export interface BinnedAxisOptions {
|
|
137
|
-
/**
|
|
138
|
-
* should be set to `true` on the domain
|
|
139
|
-
* axis that's being broken into bins
|
|
140
|
-
*/
|
|
141
|
-
binned?: boolean;
|
|
142
|
-
/**
|
|
143
|
-
* Bins to display (Histogram)
|
|
144
|
-
* bins: 20
|
|
145
|
-
* bins: [0, 20, 40, 60]
|
|
146
|
-
* bins: [new Date(...), new Date(...), ...]
|
|
147
|
-
*/
|
|
148
|
-
bins?: number | any[];
|
|
149
|
-
/**
|
|
150
|
-
* limit the visible axis domain to only the binned area
|
|
151
|
-
*/
|
|
152
|
-
limitDomainToBins?: boolean;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* customize time series scales
|
|
156
|
-
*/
|
|
157
|
-
export interface TimeScaleOptions {
|
|
158
|
-
addSpaceOnEdges?: number;
|
|
159
|
-
/**
|
|
160
|
-
* if it's true, days are shown as mon-sun,
|
|
161
|
-
* otherwise days are shown as number 1-31
|
|
162
|
-
*/
|
|
163
|
-
showDayName?: boolean;
|
|
164
|
-
/**
|
|
165
|
-
* formats for each time interval
|
|
166
|
-
*/
|
|
167
|
-
timeIntervalFormats?: TimeIntervalFormats;
|
|
168
|
-
/**
|
|
169
|
-
* locale object, for more information see https://date-fns.org/v2.11.0/docs/Locale.
|
|
170
|
-
* example: `import { fr as localeObject } from 'date-fns/locale'`.
|
|
171
|
-
* available locale objects are: https://github.com/date-fns/date-fns/tree/master/src/locale
|
|
172
|
-
*/
|
|
173
|
-
localeObject?: Locale;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* time scales: customize ticks format for different time intervals
|
|
177
|
-
*/
|
|
178
|
-
export interface TickFormats {
|
|
179
|
-
primary?: string;
|
|
180
|
-
secondary?: string;
|
|
181
|
-
}
|
|
182
|
-
export interface TimeIntervalFormats {
|
|
183
|
-
'15seconds'?: TickFormats;
|
|
184
|
-
minute?: TickFormats;
|
|
185
|
-
'30minutes'?: TickFormats;
|
|
186
|
-
hourly?: TickFormats;
|
|
187
|
-
daily?: TickFormats;
|
|
188
|
-
weekly?: TickFormats;
|
|
189
|
-
monthly?: TickFormats;
|
|
190
|
-
quarterly?: TickFormats;
|
|
191
|
-
yearly?: TickFormats;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* customize the axes components
|
|
195
|
-
*/
|
|
196
|
-
export interface AxesOptions<AxesOptionType> {
|
|
197
|
-
left?: AxesOptionType;
|
|
198
|
-
bottom?: AxesOptionType;
|
|
199
|
-
right?: AxesOptionType;
|
|
200
|
-
top?: AxesOptionType;
|
|
201
|
-
}
|
|
1
|
+
import { AxisDomain } from 'd3';
|
|
2
|
+
import { Locale } from 'date-fns';
|
|
3
|
+
import { AxisTitleOrientations, ScaleTypes, TickRotations } from './enums';
|
|
4
|
+
import { ThresholdOptions } from './components';
|
|
5
|
+
import { TruncationOptions } from './truncation';
|
|
6
|
+
export interface BasedAxisOptions {
|
|
7
|
+
/**
|
|
8
|
+
* type of the scale used on axis
|
|
9
|
+
*/
|
|
10
|
+
scaleType?: ScaleTypes;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the Axis should use the specified domain
|
|
13
|
+
* instead of it being dynamically generated based on data extents.
|
|
14
|
+
* The type of values should depend on the scale type.
|
|
15
|
+
* Example for continuous axis scale: [-100, 100]
|
|
16
|
+
* Example for discrete axis scale: ['Qty', 'More', 'Sold']
|
|
17
|
+
* No need to define domain for percentage axis scale
|
|
18
|
+
*/
|
|
19
|
+
domain?: AxisDomain[];
|
|
20
|
+
/**
|
|
21
|
+
* an additional key from the charting data that is used to
|
|
22
|
+
* extend the domain of an axis by
|
|
23
|
+
* (e.g. in the bullet graph we need both the marker &
|
|
24
|
+
* the data values to define the domain of the linear scale)
|
|
25
|
+
*/
|
|
26
|
+
extendLinearDomainBy?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the Axis should be forced to include 0 as a starting point
|
|
29
|
+
* (or ending point, in case of all negative axis).
|
|
30
|
+
* Default: true
|
|
31
|
+
*/
|
|
32
|
+
includeZero?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* identifies what key within the data the axis values would map to
|
|
35
|
+
*/
|
|
36
|
+
mapsTo?: string;
|
|
37
|
+
/**
|
|
38
|
+
* optional title for the scales
|
|
39
|
+
*/
|
|
40
|
+
title?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Override for the orientation of the title (for vertical axes).
|
|
43
|
+
* The title string can be overrided to be rotated left or right.
|
|
44
|
+
*/
|
|
45
|
+
titleOrientation?: AxisTitleOrientations;
|
|
46
|
+
/**
|
|
47
|
+
* thresholds
|
|
48
|
+
* @example
|
|
49
|
+
* [
|
|
50
|
+
* { value: 10000 },
|
|
51
|
+
* { value: 40020, valueFormatter: (x) => x },
|
|
52
|
+
* { value: 55000, label: "Custom label", fillColor: "#03a9f4" },
|
|
53
|
+
* ]
|
|
54
|
+
*/
|
|
55
|
+
thresholds?: ThresholdOptions[];
|
|
56
|
+
/**
|
|
57
|
+
* tick configuration
|
|
58
|
+
*/
|
|
59
|
+
ticks?: {
|
|
60
|
+
/**
|
|
61
|
+
* number of ticks to show
|
|
62
|
+
*/
|
|
63
|
+
number?: number;
|
|
64
|
+
/**
|
|
65
|
+
* minimum tick value
|
|
66
|
+
*/
|
|
67
|
+
min?: number;
|
|
68
|
+
/**
|
|
69
|
+
* maximum tick value
|
|
70
|
+
*/
|
|
71
|
+
max?: number;
|
|
72
|
+
/**
|
|
73
|
+
* minimum width of a tick
|
|
74
|
+
* before getting rotated (in pixels)
|
|
75
|
+
*/
|
|
76
|
+
rotateIfSmallerThan?: number;
|
|
77
|
+
/**
|
|
78
|
+
* when to rotate ticks
|
|
79
|
+
*/
|
|
80
|
+
rotation?: TickRotations;
|
|
81
|
+
/**
|
|
82
|
+
* function to format the ticks
|
|
83
|
+
*/
|
|
84
|
+
formatter?: (tick: number, i: number) => string;
|
|
85
|
+
/**
|
|
86
|
+
* optional custom array of tick values that is within the domain of data
|
|
87
|
+
*/
|
|
88
|
+
values?: any[];
|
|
89
|
+
};
|
|
90
|
+
truncation?: TruncationOptions;
|
|
91
|
+
/**
|
|
92
|
+
* is axis visible or not
|
|
93
|
+
*/
|
|
94
|
+
visible?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Bins to display (Histogram)
|
|
97
|
+
* bins: 20
|
|
98
|
+
* bins: [0, 20, 40, 60]
|
|
99
|
+
* bins: [new Date(...), new Date(...), ...]
|
|
100
|
+
*/
|
|
101
|
+
bins?: number | any[];
|
|
102
|
+
/**
|
|
103
|
+
* limit the visible axis domain to only the binned area
|
|
104
|
+
*/
|
|
105
|
+
limitDomainToBins?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* should be set to `true` on the domain
|
|
108
|
+
* axis that's being broken into bins
|
|
109
|
+
*/
|
|
110
|
+
binned?: boolean;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* options to configure a scale. not all options are used by all scales
|
|
114
|
+
*/
|
|
115
|
+
export interface AxisOptions extends BasedAxisOptions {
|
|
116
|
+
/**
|
|
117
|
+
* option for stacked axis
|
|
118
|
+
*/
|
|
119
|
+
stacked?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* option for percentage axis scale
|
|
122
|
+
*/
|
|
123
|
+
percentage?: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface ComboChartAxisOptions extends AxisOptions {
|
|
126
|
+
/**
|
|
127
|
+
* should be set to `true` for the
|
|
128
|
+
* left axis to be the primary axis
|
|
129
|
+
*/
|
|
130
|
+
main?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* used to map data on the secondary axis
|
|
133
|
+
*/
|
|
134
|
+
correspondingDatasets?: Array<string>;
|
|
135
|
+
}
|
|
136
|
+
export interface BinnedAxisOptions {
|
|
137
|
+
/**
|
|
138
|
+
* should be set to `true` on the domain
|
|
139
|
+
* axis that's being broken into bins
|
|
140
|
+
*/
|
|
141
|
+
binned?: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Bins to display (Histogram)
|
|
144
|
+
* bins: 20
|
|
145
|
+
* bins: [0, 20, 40, 60]
|
|
146
|
+
* bins: [new Date(...), new Date(...), ...]
|
|
147
|
+
*/
|
|
148
|
+
bins?: number | any[];
|
|
149
|
+
/**
|
|
150
|
+
* limit the visible axis domain to only the binned area
|
|
151
|
+
*/
|
|
152
|
+
limitDomainToBins?: boolean;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* customize time series scales
|
|
156
|
+
*/
|
|
157
|
+
export interface TimeScaleOptions {
|
|
158
|
+
addSpaceOnEdges?: number;
|
|
159
|
+
/**
|
|
160
|
+
* if it's true, days are shown as mon-sun,
|
|
161
|
+
* otherwise days are shown as number 1-31
|
|
162
|
+
*/
|
|
163
|
+
showDayName?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* formats for each time interval
|
|
166
|
+
*/
|
|
167
|
+
timeIntervalFormats?: TimeIntervalFormats;
|
|
168
|
+
/**
|
|
169
|
+
* locale object, for more information see https://date-fns.org/v2.11.0/docs/Locale.
|
|
170
|
+
* example: `import { fr as localeObject } from 'date-fns/locale'`.
|
|
171
|
+
* available locale objects are: https://github.com/date-fns/date-fns/tree/master/src/locale
|
|
172
|
+
*/
|
|
173
|
+
localeObject?: Locale;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* time scales: customize ticks format for different time intervals
|
|
177
|
+
*/
|
|
178
|
+
export interface TickFormats {
|
|
179
|
+
primary?: string;
|
|
180
|
+
secondary?: string;
|
|
181
|
+
}
|
|
182
|
+
export interface TimeIntervalFormats {
|
|
183
|
+
'15seconds'?: TickFormats;
|
|
184
|
+
minute?: TickFormats;
|
|
185
|
+
'30minutes'?: TickFormats;
|
|
186
|
+
hourly?: TickFormats;
|
|
187
|
+
daily?: TickFormats;
|
|
188
|
+
weekly?: TickFormats;
|
|
189
|
+
monthly?: TickFormats;
|
|
190
|
+
quarterly?: TickFormats;
|
|
191
|
+
yearly?: TickFormats;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* customize the axes components
|
|
195
|
+
*/
|
|
196
|
+
export interface AxesOptions<AxesOptionType> {
|
|
197
|
+
left?: AxesOptionType;
|
|
198
|
+
bottom?: AxesOptionType;
|
|
199
|
+
right?: AxesOptionType;
|
|
200
|
+
top?: AxesOptionType;
|
|
201
|
+
}
|