@toptal/picasso-charts 47.2.0 → 47.3.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/BarChart/BarChart.d.ts +3 -1
- package/BarChart/BarChart.js +4 -4
- package/BarChart/BarChart.js.map +1 -1
- package/BarChart/utils/define-stack-id/define-stack-id.d.ts +2 -0
- package/BarChart/utils/define-stack-id/define-stack-id.js +9 -0
- package/BarChart/utils/define-stack-id/define-stack-id.js.map +1 -0
- package/BarChart/utils/define-stack-id/index.d.ts +1 -0
- package/BarChart/utils/define-stack-id/index.js +2 -0
- package/BarChart/utils/define-stack-id/index.js.map +1 -0
- package/BarChart/utils/find-top-domain/find-top-domain.d.ts +5 -1
- package/BarChart/utils/find-top-domain/find-top-domain.js +13 -2
- package/BarChart/utils/find-top-domain/find-top-domain.js.map +1 -1
- package/BarChart/utils/index.d.ts +1 -0
- package/BarChart/utils/index.js +1 -0
- package/BarChart/utils/index.js.map +1 -1
- package/package.json +1 -1
package/BarChart/BarChart.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export interface Props<K extends string | number | symbol> extends BaseChartProp
|
|
|
38
38
|
showBarLabel?: boolean;
|
|
39
39
|
/** If set false, animation of bar will be disabled */
|
|
40
40
|
isAnimationActive?: boolean;
|
|
41
|
+
/** List of bar groups to be stacked. i.e.: [ ['a', 'b'], ['c', 'd'] ] */
|
|
42
|
+
stackedBars?: string[][];
|
|
41
43
|
/** Makes X-axis show only every Nth tick. `0` hides all ticks, `1` shows all ticks (default behavior), `2` shows every 2nd tick, and so on */
|
|
42
44
|
showEveryNthTickOnXAxis?: ShowEverytNthTickValue;
|
|
43
45
|
/** Makes Y-axis show only every Nth tick. `0` hides all ticks, `1` shows all ticks (default behavior), `2` shows every 2nd tick, and so on */
|
|
@@ -50,7 +52,7 @@ export interface Props<K extends string | number | symbol> extends BaseChartProp
|
|
|
50
52
|
export declare const formatData: <T extends string>(data: BarChartDataItem<T>[]) => ({ [key in T]: number; } & BarChartDataItem<T>)[];
|
|
51
53
|
export declare const extractValues: <T extends string>(data: BarChartDataItem<T>[]) => { [key in T]: number; }[];
|
|
52
54
|
declare const BarChart: {
|
|
53
|
-
<T extends string>({ data, className, height, width, tooltip, customTooltip, allowTooltipEscapeViewBox, getBarColor, labelKey, getBarLabelColor, testIds, showBarLabel, isAnimationActive, layout, showEveryNthTickOnXAxis, showEveryNthTickOnYAxis, autoSize, maxBarSize, ...rest }: Props<T>): JSX.Element;
|
|
55
|
+
<T extends string>({ data, className, height, width, tooltip, customTooltip, allowTooltipEscapeViewBox, getBarColor, labelKey, getBarLabelColor, testIds, showBarLabel, isAnimationActive, layout, stackedBars, showEveryNthTickOnXAxis, showEveryNthTickOnYAxis, autoSize, maxBarSize, ...rest }: Props<T>): JSX.Element;
|
|
54
56
|
defaultProps: {
|
|
55
57
|
height: number;
|
|
56
58
|
width: string;
|
package/BarChart/BarChart.js
CHANGED
|
@@ -14,7 +14,7 @@ import { palette } from '@toptal/picasso/utils';
|
|
|
14
14
|
import { BarChart as RechartsBarChart, CartesianGrid, XAxis, Tooltip, Bar, YAxis, ResponsiveContainer, Cell, } from 'recharts';
|
|
15
15
|
import { ticks as getD3Ticks } from 'd3-array';
|
|
16
16
|
import BarChartLabel from '../BarChartLabel';
|
|
17
|
-
import { findTopDomain } from './utils';
|
|
17
|
+
import { defineStackId, findTopDomain } from './utils';
|
|
18
18
|
import CHART_CONSTANTS, { chartMargins } from '../utils/constants';
|
|
19
19
|
const { TICK_MARGIN, MIN_TICK_GAP, TICK_LINE, AXIS_LINE, Y_AXIS_WIDTH, BOTTOM_DOMAIN, NUMBER_OF_TICKS, TICK_WIDTH, TICK_HEIGHT, } = CHART_CONSTANTS;
|
|
20
20
|
const TOOLTIP_WRAPPER_STYLE = { outline: 'none' };
|
|
@@ -34,12 +34,12 @@ const DEFAULT_BAR_CATEGORY_GAP = 50;
|
|
|
34
34
|
const DEFAULT_BAR_SIZE = 32;
|
|
35
35
|
const DEFAULT_BAR_GAP = 2;
|
|
36
36
|
const BarChart = (_a) => {
|
|
37
|
-
var { data, className, height, width, tooltip, customTooltip, allowTooltipEscapeViewBox, getBarColor = defaultGetBarColor, labelKey, getBarLabelColor = defaultGetBarLabelColor, testIds, showBarLabel, isAnimationActive, layout, showEveryNthTickOnXAxis = 1, showEveryNthTickOnYAxis = 1, autoSize, maxBarSize } = _a, rest = __rest(_a, ["data", "className", "height", "width", "tooltip", "customTooltip", "allowTooltipEscapeViewBox", "getBarColor", "labelKey", "getBarLabelColor", "testIds", "showBarLabel", "isAnimationActive", "layout", "showEveryNthTickOnXAxis", "showEveryNthTickOnYAxis", "autoSize", "maxBarSize"]);
|
|
37
|
+
var { data, className, height, width, tooltip, customTooltip, allowTooltipEscapeViewBox, getBarColor = defaultGetBarColor, labelKey, getBarLabelColor = defaultGetBarLabelColor, testIds, showBarLabel, isAnimationActive, layout, stackedBars, showEveryNthTickOnXAxis = 1, showEveryNthTickOnYAxis = 1, autoSize, maxBarSize } = _a, rest = __rest(_a, ["data", "className", "height", "width", "tooltip", "customTooltip", "allowTooltipEscapeViewBox", "getBarColor", "labelKey", "getBarLabelColor", "testIds", "showBarLabel", "isAnimationActive", "layout", "stackedBars", "showEveryNthTickOnXAxis", "showEveryNthTickOnYAxis", "autoSize", "maxBarSize"]);
|
|
38
38
|
const horizontal = layout === 'horizontal';
|
|
39
39
|
const dataKeys = Object.keys(data[0].value);
|
|
40
40
|
const formattedData = formatData(data);
|
|
41
41
|
const tooltipElement = useMemo(() => tooltip ? (React.createElement(Tooltip, { wrapperStyle: TOOLTIP_WRAPPER_STYLE, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.tooltip, allowEscapeViewBox: allowTooltipEscapeViewBox ? { x: true, y: true } : undefined, content: customTooltip, cursor: false })) : undefined, [tooltip, customTooltip, allowTooltipEscapeViewBox, testIds === null || testIds === void 0 ? void 0 : testIds.tooltip]);
|
|
42
|
-
const topDomain = findTopDomain(extractValues(data));
|
|
42
|
+
const topDomain = findTopDomain(extractValues(data), stackedBars);
|
|
43
43
|
const ticks = getD3Ticks(BOTTOM_DOMAIN, topDomain, NUMBER_OF_TICKS);
|
|
44
44
|
const categoryAxisProps = {
|
|
45
45
|
dataKey: labelKey || 'name',
|
|
@@ -62,7 +62,7 @@ const BarChart = (_a) => {
|
|
|
62
62
|
React.createElement(XAxis, Object.assign({}, xAxisProps, { type: horizontal ? 'category' : 'number', tickLine: TICK_LINE, axisLine: AXIS_LINE, minTickGap: MIN_TICK_GAP, tickMargin: TICK_MARGIN, interval: showEveryNthTickOnXAxis - 1 })),
|
|
63
63
|
React.createElement(YAxis, Object.assign({}, yAxisProps, { type: horizontal ? 'number' : 'category', tickLine: TICK_LINE, axisLine: AXIS_LINE, minTickGap: MIN_TICK_GAP, tickMargin: TICK_MARGIN, interval: showEveryNthTickOnYAxis - 1 })),
|
|
64
64
|
tooltipElement,
|
|
65
|
-
dataKeys.map(dataKey => (React.createElement(Bar, { key: dataKey, dataKey: dataKey, label: showBarLabel ? (React.createElement(BarChartLabel, { dataKey: dataKey, getBarLabelColor: getBarLabelColor })) : undefined, isAnimationActive: isAnimationActive }, data.map((entry, index) => {
|
|
65
|
+
dataKeys.map(dataKey => (React.createElement(Bar, { key: dataKey, dataKey: dataKey, label: showBarLabel ? (React.createElement(BarChartLabel, { dataKey: dataKey, getBarLabelColor: getBarLabelColor })) : undefined, isAnimationActive: isAnimationActive, stackId: stackedBars && defineStackId(dataKey, stackedBars) }, data.map((entry, index) => {
|
|
66
66
|
const fill = getBarColor === null || getBarColor === void 0 ? void 0 : getBarColor({ dataKey, entry, index });
|
|
67
67
|
return (React.createElement(Cell, { key: `${entry.value}-${entry.name}-${String(index)}`, fill: fill }));
|
|
68
68
|
}))))))));
|
package/BarChart/BarChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../../src/BarChart/BarChart.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EACL,QAAQ,IAAI,gBAAgB,EAC5B,aAAa,EACb,KAAK,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,mBAAmB,EACnB,IAAI,GACL,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../../src/BarChart/BarChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const defineStackId = (dataKey, stackedBars) => {
|
|
2
|
+
const stackIndex = stackedBars === null || stackedBars === void 0 ? void 0 : stackedBars.find(barsList => barsList.includes(dataKey));
|
|
3
|
+
if (stackIndex) {
|
|
4
|
+
return `stack${stackIndex}`;
|
|
5
|
+
}
|
|
6
|
+
return undefined;
|
|
7
|
+
};
|
|
8
|
+
export default defineStackId;
|
|
9
|
+
//# sourceMappingURL=define-stack-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-stack-id.js","sourceRoot":"","sources":["../../../../src/BarChart/utils/define-stack-id/define-stack-id.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,WAAuB,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAE5E,IAAI,UAAU,EAAE;QACd,OAAO,QAAQ,UAAU,EAAE,CAAA;KAC5B;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './define-stack-id';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/BarChart/utils/define-stack-id/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
declare type DataItem = {
|
|
2
2
|
[key: string]: number;
|
|
3
3
|
};
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Determines the absolute maximum value of the data set (does not necessary match the highest value).
|
|
6
|
+
* This is later used as the upper boundary of the range for which the ticks are calculated.
|
|
7
|
+
*/
|
|
8
|
+
declare const findTopDomain: (data: DataItem[], stackedBars?: string[][]) => number;
|
|
5
9
|
export default findTopDomain;
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
const getDataItemMaxValue = (dataItem) => Math.max(...Object.values(dataItem));
|
|
2
2
|
const getDataMaxValue = (data) => data.reduce((acc, dataItem) => Math.max(acc, getDataItemMaxValue(dataItem)), 0);
|
|
3
|
-
const
|
|
4
|
-
|
|
3
|
+
const aggregateStackedBarsWithData = (data, stackedBars) => {
|
|
4
|
+
return data.map((dataItem) => {
|
|
5
|
+
const stackedBarValues = stackedBars.map(bars => bars.reduce((acc, dataKey) => acc + dataItem[dataKey], 0));
|
|
6
|
+
const stackedBarMap = new Map(stackedBarValues.map((value, index) => [`stack${index}`, value]));
|
|
7
|
+
return Object.assign(Object.assign({}, dataItem), Object.fromEntries(stackedBarMap));
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Determines the absolute maximum value of the data set (does not necessary match the highest value).
|
|
12
|
+
* This is later used as the upper boundary of the range for which the ticks are calculated.
|
|
13
|
+
*/
|
|
14
|
+
const findTopDomain = (data, stackedBars) => {
|
|
15
|
+
const maxValue = getDataMaxValue(stackedBars ? aggregateStackedBarsWithData(data, stackedBars) : data);
|
|
5
16
|
const base10 = Math.floor(Math.log10(maxValue));
|
|
6
17
|
const roundedMaxValue = Math.pow(10, base10);
|
|
7
18
|
const topDomain = roundedMaxValue * Math.ceil(maxValue / roundedMaxValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-top-domain.js","sourceRoot":"","sources":["../../../../src/BarChart/utils/find-top-domain/find-top-domain.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,CAAC,QAAkB,EAAE,EAAE,CACjD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEtC,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,EAAE,CAC3C,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAC/D,CAAC,CACF,CAAA;AAEH,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"find-top-domain.js","sourceRoot":"","sources":["../../../../src/BarChart/utils/find-top-domain/find-top-domain.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,CAAC,QAAkB,EAAE,EAAE,CACjD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEtC,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,EAAE,CAC3C,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAC/D,CAAC,CACF,CAAA;AAEH,MAAM,4BAA4B,GAAG,CACnC,IAAgB,EAChB,WAAuB,EACvB,EAAE;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE;QACrC,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CACjE,CAAA;QAED,uCACK,QAAQ,GACR,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EACrC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,IAAgB,EAAE,WAAwB,EAAE,EAAE;IACnE,MAAM,QAAQ,GAAG,eAAe,CAC9B,WAAW,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CACrE,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAA;IAEzE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;AAChC,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
package/BarChart/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/BarChart/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/BarChart/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
|