@elliemae/ds-dataviz 3.6.0-next.3
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/graphs/Chart/Chart.js +61 -0
- package/dist/cjs/graphs/Chart/Chart.js.map +7 -0
- package/dist/cjs/graphs/Chart/ChartContext.js +67 -0
- package/dist/cjs/graphs/Chart/ChartContext.js.map +7 -0
- package/dist/cjs/graphs/Chart/Pie.js +49 -0
- package/dist/cjs/graphs/Chart/Pie.js.map +7 -0
- package/dist/cjs/graphs/Chart/config/useChart.js +109 -0
- package/dist/cjs/graphs/Chart/config/useChart.js.map +7 -0
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +119 -0
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +7 -0
- package/dist/cjs/graphs/Chart/config/useScales.js +107 -0
- package/dist/cjs/graphs/Chart/config/useScales.js.map +7 -0
- package/dist/cjs/graphs/Chart/helpers/index.js +83 -0
- package/dist/cjs/graphs/Chart/helpers/index.js.map +7 -0
- package/dist/cjs/graphs/Chart/index.js +26 -0
- package/dist/cjs/graphs/Chart/index.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/ActivePoint.js +83 -0
- package/dist/cjs/graphs/Chart/parts/ActivePoint.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/AxisBottom.js +86 -0
- package/dist/cjs/graphs/Chart/parts/AxisBottom.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/AxisLeft.js +79 -0
- package/dist/cjs/graphs/Chart/parts/AxisLeft.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/AxisRight.js +63 -0
- package/dist/cjs/graphs/Chart/parts/AxisRight.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js +78 -0
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/ColorLegend.js +70 -0
- package/dist/cjs/graphs/Chart/parts/ColorLegend.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/FocusableRegion.js +116 -0
- package/dist/cjs/graphs/Chart/parts/FocusableRegion.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/Scrapper.js +130 -0
- package/dist/cjs/graphs/Chart/parts/Scrapper.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/SeriesFactory.js +82 -0
- package/dist/cjs/graphs/Chart/parts/SeriesFactory.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/VerticalScrapper.js +138 -0
- package/dist/cjs/graphs/Chart/parts/VerticalScrapper.js.map +7 -0
- package/dist/cjs/graphs/Chart/react-desc-prop-types.js +57 -0
- package/dist/cjs/graphs/Chart/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Area.js +73 -0
- package/dist/cjs/graphs/Chart/series/Area.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Bars.js +68 -0
- package/dist/cjs/graphs/Chart/series/Bars.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Line.js +70 -0
- package/dist/cjs/graphs/Chart/series/Line.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Pie.js +46 -0
- package/dist/cjs/graphs/Chart/series/Pie.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Point.js +67 -0
- package/dist/cjs/graphs/Chart/series/Point.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Points.js +84 -0
- package/dist/cjs/graphs/Chart/series/Points.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/Rect.js +78 -0
- package/dist/cjs/graphs/Chart/series/Rect.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/StackedBar.js +66 -0
- package/dist/cjs/graphs/Chart/series/StackedBar.js.map +7 -0
- package/dist/cjs/graphs/Chart/series/index.js +32 -0
- package/dist/cjs/graphs/Chart/series/index.js.map +7 -0
- package/dist/cjs/graphs/Chart/styles.js +123 -0
- package/dist/cjs/graphs/Chart/styles.js.map +7 -0
- package/dist/cjs/graphs/constants.js +37 -0
- package/dist/cjs/graphs/constants.js.map +7 -0
- package/dist/cjs/graphs/index.js +27 -0
- package/dist/cjs/graphs/index.js.map +7 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/esm/graphs/Chart/Chart.js +35 -0
- package/dist/esm/graphs/Chart/Chart.js.map +7 -0
- package/dist/esm/graphs/Chart/ChartContext.js +41 -0
- package/dist/esm/graphs/Chart/ChartContext.js.map +7 -0
- package/dist/esm/graphs/Chart/Pie.js +23 -0
- package/dist/esm/graphs/Chart/Pie.js.map +7 -0
- package/dist/esm/graphs/Chart/config/useChart.js +83 -0
- package/dist/esm/graphs/Chart/config/useChart.js.map +7 -0
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +93 -0
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +7 -0
- package/dist/esm/graphs/Chart/config/useScales.js +81 -0
- package/dist/esm/graphs/Chart/config/useScales.js.map +7 -0
- package/dist/esm/graphs/Chart/helpers/index.js +57 -0
- package/dist/esm/graphs/Chart/helpers/index.js.map +7 -0
- package/dist/esm/graphs/Chart/index.js +3 -0
- package/dist/esm/graphs/Chart/index.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/ActivePoint.js +57 -0
- package/dist/esm/graphs/Chart/parts/ActivePoint.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/AxisBottom.js +60 -0
- package/dist/esm/graphs/Chart/parts/AxisBottom.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/AxisLeft.js +53 -0
- package/dist/esm/graphs/Chart/parts/AxisLeft.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/AxisRight.js +37 -0
- package/dist/esm/graphs/Chart/parts/AxisRight.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/ChartContainer.js +52 -0
- package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/ColorLegend.js +44 -0
- package/dist/esm/graphs/Chart/parts/ColorLegend.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/FocusableRegion.js +90 -0
- package/dist/esm/graphs/Chart/parts/FocusableRegion.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/Scrapper.js +104 -0
- package/dist/esm/graphs/Chart/parts/Scrapper.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/SeriesFactory.js +56 -0
- package/dist/esm/graphs/Chart/parts/SeriesFactory.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/VerticalScrapper.js +112 -0
- package/dist/esm/graphs/Chart/parts/VerticalScrapper.js.map +7 -0
- package/dist/esm/graphs/Chart/react-desc-prop-types.js +31 -0
- package/dist/esm/graphs/Chart/react-desc-prop-types.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Area.js +47 -0
- package/dist/esm/graphs/Chart/series/Area.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Bars.js +42 -0
- package/dist/esm/graphs/Chart/series/Bars.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Line.js +44 -0
- package/dist/esm/graphs/Chart/series/Line.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Pie.js +20 -0
- package/dist/esm/graphs/Chart/series/Pie.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Point.js +41 -0
- package/dist/esm/graphs/Chart/series/Point.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Points.js +58 -0
- package/dist/esm/graphs/Chart/series/Points.js.map +7 -0
- package/dist/esm/graphs/Chart/series/Rect.js +52 -0
- package/dist/esm/graphs/Chart/series/Rect.js.map +7 -0
- package/dist/esm/graphs/Chart/series/StackedBar.js +40 -0
- package/dist/esm/graphs/Chart/series/StackedBar.js.map +7 -0
- package/dist/esm/graphs/Chart/series/index.js +9 -0
- package/dist/esm/graphs/Chart/series/index.js.map +7 -0
- package/dist/esm/graphs/Chart/styles.js +97 -0
- package/dist/esm/graphs/Chart/styles.js.map +7 -0
- package/dist/esm/graphs/constants.js +11 -0
- package/dist/esm/graphs/constants.js.map +7 -0
- package/dist/esm/graphs/index.js +4 -0
- package/dist/esm/graphs/index.js.map +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +7 -0
- package/package.json +76 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var Chart_exports = {};
|
|
26
|
+
__export(Chart_exports, {
|
|
27
|
+
Chart: () => Chart
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(Chart_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_AxisBottom = require("./parts/AxisBottom");
|
|
33
|
+
var import_AxisLeft = require("./parts/AxisLeft");
|
|
34
|
+
var import_AxisRight = require("./parts/AxisRight");
|
|
35
|
+
var import_ChartContainer = require("./parts/ChartContainer");
|
|
36
|
+
var import_SeriesFactory = require("./parts/SeriesFactory");
|
|
37
|
+
var import_ActivePoint = require("./parts/ActivePoint");
|
|
38
|
+
var import_ChartContext = require("./ChartContext");
|
|
39
|
+
var import_useChart = require("./config/useChart");
|
|
40
|
+
var import_ColorLegend = require("./parts/ColorLegend");
|
|
41
|
+
var import_Scrapper = require("./parts/Scrapper");
|
|
42
|
+
var import_VerticalScrapper = require("./parts/VerticalScrapper");
|
|
43
|
+
const Chart = (props) => {
|
|
44
|
+
const ctx = (0, import_useChart.useChart)(props);
|
|
45
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ChartContext.ChartContext.Provider, {
|
|
46
|
+
value: ctx,
|
|
47
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ChartContainer.ChartContainer, {
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AxisBottom.AxisBottom, {}),
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AxisLeft.AxisLeft, {}),
|
|
51
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AxisRight.AxisRight, {}),
|
|
52
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ColorLegend.ColorLegend, {}),
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SeriesFactory.SeriesFactory, {}),
|
|
54
|
+
props.scrapper?.type === "horizontal" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Scrapper.Scrapper, {}) : null,
|
|
55
|
+
props.scrapper?.type === "vertical" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_VerticalScrapper.VerticalScrapper, {}) : null,
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ActivePoint.ActivePoint, {})
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=Chart.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/graphs/Chart/Chart.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { AxisBottom } from './parts/AxisBottom';\nimport { AxisLeft } from './parts/AxisLeft';\nimport { AxisRight } from './parts/AxisRight';\n\nimport { ChartContainer } from './parts/ChartContainer';\nimport { SeriesFactory } from './parts/SeriesFactory';\nimport { ActivePoint } from './parts/ActivePoint';\n\nimport { ChartContext } from './ChartContext';\nimport { useChart } from './config/useChart';\nimport type { DSChartT } from './react-desc-prop-types';\nimport { ColorLegend } from './parts/ColorLegend';\nimport { Scrapper } from './parts/Scrapper';\nimport { VerticalScrapper } from './parts/VerticalScrapper';\nexport const Chart: React.ComponentType<DSChartT.Props> = (props) => {\n const ctx = useChart(props);\n return (\n <ChartContext.Provider value={ctx}>\n <ChartContainer>\n <AxisBottom />\n <AxisLeft />\n <AxisRight />\n <ColorLegend />\n <SeriesFactory />\n {props.scrapper?.type === 'horizontal' ? <Scrapper /> : null}\n {props.scrapper?.type === 'vertical' ? <VerticalScrapper /> : null}\n <ActivePoint />\n </ChartContainer>\n </ChartContext.Provider>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,wBAA2B;AAC3B,sBAAyB;AACzB,uBAA0B;AAE1B,4BAA+B;AAC/B,2BAA8B;AAC9B,yBAA4B;AAE5B,0BAA6B;AAC7B,sBAAyB;AAEzB,yBAA4B;AAC5B,sBAAyB;AACzB,8BAAiC;AAC1B,MAAM,QAA6C,CAAC,UAAU;AACnE,QAAM,UAAM,0BAAS,KAAK;AAC1B,SACE,4CAAC,iCAAa,UAAb;AAAA,IAAsB,OAAO;AAAA,IAC5B,uDAAC;AAAA,MACC;AAAA,oDAAC,gCAAW;AAAA,QACZ,4CAAC,4BAAS;AAAA,QACV,4CAAC,8BAAU;AAAA,QACX,4CAAC,kCAAY;AAAA,QACb,4CAAC,sCAAc;AAAA,QACd,MAAM,UAAU,SAAS,eAAe,4CAAC,4BAAS,IAAK;AAAA,QACvD,MAAM,UAAU,SAAS,aAAa,4CAAC,4CAAiB,IAAK;AAAA,QAC9D,4CAAC,kCAAY;AAAA;AAAA,KACf;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var ChartContext_exports = {};
|
|
26
|
+
__export(ChartContext_exports, {
|
|
27
|
+
ChartContext: () => ChartContext,
|
|
28
|
+
PieChartContext: () => PieChartContext
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(ChartContext_exports);
|
|
31
|
+
var React = __toESM(require("react"));
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
var import_d3 = require("d3");
|
|
34
|
+
var import_react_desc_prop_types = require("./react-desc-prop-types");
|
|
35
|
+
const defaultContext = {
|
|
36
|
+
props: import_react_desc_prop_types.defaultProps,
|
|
37
|
+
xScale: (0, import_d3.scaleBand)(),
|
|
38
|
+
yScale: (0, import_d3.scaleLinear)(),
|
|
39
|
+
innerHeight: 0,
|
|
40
|
+
innerWidth: 0,
|
|
41
|
+
activePoint: "",
|
|
42
|
+
setActivePoint: () => {
|
|
43
|
+
},
|
|
44
|
+
activeSerie: "",
|
|
45
|
+
setActiveSerie: () => {
|
|
46
|
+
},
|
|
47
|
+
scrapperPosY: "",
|
|
48
|
+
setScrapperPosY: () => {
|
|
49
|
+
},
|
|
50
|
+
containerRef: (0, import_react.createRef)(),
|
|
51
|
+
groups: [],
|
|
52
|
+
colorScale: (0, import_d3.scaleOrdinal)()
|
|
53
|
+
};
|
|
54
|
+
const pieChartdefaultContext = {
|
|
55
|
+
props: import_react_desc_prop_types.defaultProps,
|
|
56
|
+
innerHeight: 0,
|
|
57
|
+
innerWidth: 0,
|
|
58
|
+
activeSerie: "",
|
|
59
|
+
setActiveSerie: () => {
|
|
60
|
+
},
|
|
61
|
+
containerRef: (0, import_react.createRef)(),
|
|
62
|
+
groups: [],
|
|
63
|
+
colorScale: (0, import_d3.scaleOrdinal)()
|
|
64
|
+
};
|
|
65
|
+
const ChartContext = (0, import_react.createContext)(defaultContext);
|
|
66
|
+
const PieChartContext = (0, import_react.createContext)(pieChartdefaultContext);
|
|
67
|
+
//# sourceMappingURL=ChartContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/graphs/Chart/ChartContext.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { createContext, createRef } from 'react';\nimport { ScaleLinear, ScaleBand, scaleLinear, scaleBand, scaleOrdinal, ScaleOrdinal } from 'd3';\nimport { defaultProps, DSChartT } from './react-desc-prop-types';\n\ninterface ContextT {\n props: Partial<DSChartT.Props>;\n xScale: ScaleLinear<number, number, never> | ScaleBand<string>;\n yScale: ScaleLinear<number, number, never> | ScaleBand<string>;\n innerHeight: number;\n innerWidth: number;\n activePoint: string;\n setActivePoint: React.Dispatch<React.SetStateAction<string>>;\n activeSerie: string;\n setActiveSerie: React.Dispatch<React.SetStateAction<string>>;\n containerRef: React.RefObject<HTMLDivElement>;\n groups: string[];\n subGroupScale?: ScaleBand<string> | null;\n colorScale: ScaleOrdinal<string, unknown, never>;\n}\n\ninterface PieChartContextT {\n props: Partial<DSChartT.Props>;\n innerHeight: number;\n innerWidth: number;\n activeSerie: string;\n setActiveSerie: React.Dispatch<React.SetStateAction<string>>;\n containerRef: React.RefObject<HTMLDivElement>;\n groups: string[];\n colorScale: ScaleOrdinal<string, unknown, never>;\n}\n\nconst defaultContext: ContextT = {\n props: defaultProps,\n xScale: scaleBand(),\n yScale: scaleLinear(),\n innerHeight: 0,\n innerWidth: 0,\n activePoint: '',\n setActivePoint: () => {},\n activeSerie: '',\n setActiveSerie: () => {},\n scrapperPosY: '',\n setScrapperPosY: () => {},\n containerRef: createRef<HTMLDivElement>(),\n groups: [],\n colorScale: scaleOrdinal(),\n};\n\nconst pieChartdefaultContext: PieChartContextT = {\n props: defaultProps,\n innerHeight: 0,\n innerWidth: 0,\n activeSerie: '',\n setActiveSerie: () => {},\n containerRef: createRef<HTMLDivElement>(),\n groups: [],\n colorScale: scaleOrdinal(),\n};\n\nexport const ChartContext = createContext(defaultContext);\nexport const PieChartContext = createContext(pieChartdefaultContext);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AACzC,gBAA2F;AAC3F,mCAAuC;AA6BvC,MAAM,iBAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,YAAQ,qBAAU;AAAA,EAClB,YAAQ,uBAAY;AAAA,EACpB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,cAAc;AAAA,EACd,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,kBAAc,wBAA0B;AAAA,EACxC,QAAQ,CAAC;AAAA,EACT,gBAAY,wBAAa;AAC3B;AAEA,MAAM,yBAA2C;AAAA,EAC/C,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,kBAAc,wBAA0B;AAAA,EACxC,QAAQ,CAAC;AAAA,EACT,gBAAY,wBAAa;AAC3B;AAEO,MAAM,mBAAe,4BAAc,cAAc;AACjD,MAAM,sBAAkB,4BAAc,sBAAsB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var Pie_exports = {};
|
|
26
|
+
__export(Pie_exports, {
|
|
27
|
+
PieChart: () => PieChart
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(Pie_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_ChartContainer = require("./parts/ChartContainer");
|
|
33
|
+
var import_series = require("./series");
|
|
34
|
+
var import_ChartContext = require("./ChartContext");
|
|
35
|
+
var import_usePie = require("./config/usePie");
|
|
36
|
+
var import_ColorLegend = require("./parts/ColorLegend");
|
|
37
|
+
const PieChart = (props) => {
|
|
38
|
+
const ctx = (0, import_usePie.usePie)(props);
|
|
39
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ChartContext.PieChartContext.Provider, {
|
|
40
|
+
value: ctx,
|
|
41
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ChartContainer.ChartContainer, {
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ColorLegend.ColorLegend, {}),
|
|
44
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_series.Pie, {})
|
|
45
|
+
]
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=Pie.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/graphs/Chart/Pie.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { ChartContainer } from './parts/ChartContainer';\nimport { Pie } from './series';\nimport { PieChartContext } from './ChartContext';\nimport { usePie } from './config/usePie';\nimport type { DSPieT } from './react-desc-prop-types';\nimport { ColorLegend } from './parts/ColorLegend';\nexport const PieChart: React.ComponentType<DSPieT.Props> = (props) => {\n const ctx = usePie(props);\n return (\n <PieChartContext.Provider value={ctx}>\n <ChartContainer>\n <ColorLegend />\n <Pie />\n </ChartContainer>\n </PieChartContext.Provider>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AACA,4BAA+B;AAC/B,oBAAoB;AACpB,0BAAgC;AAChC,oBAAuB;AAEvB,yBAA4B;AACrB,MAAM,WAA8C,CAAC,UAAU;AACpE,QAAM,UAAM,sBAAO,KAAK;AACxB,SACE,4CAAC,oCAAgB,UAAhB;AAAA,IAAyB,OAAO;AAAA,IAC/B,uDAAC;AAAA,MACC;AAAA,oDAAC,kCAAY;AAAA,QACb,4CAAC,qBAAI;AAAA;AAAA,KACP;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var useChart_exports = {};
|
|
26
|
+
__export(useChart_exports, {
|
|
27
|
+
useChart: () => useChart
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useChart_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var import_useScales = require("./useScales");
|
|
33
|
+
var import_helpers = require("../helpers");
|
|
34
|
+
const useChart = (props) => {
|
|
35
|
+
const { series, width, height, margin, groups: groupsStacked } = props;
|
|
36
|
+
const containerRef = (0, import_react.useRef)(null);
|
|
37
|
+
const svgRef = (0, import_react.useRef)(null);
|
|
38
|
+
const [activePoint, setActivePoint] = (0, import_react.useState)("");
|
|
39
|
+
const [activeSerie, setActiveSerie] = (0, import_react.useState)("");
|
|
40
|
+
const [scrapperPosY, setScrapperPosY] = (0, import_react.useState)("");
|
|
41
|
+
const [scrapperPosX, setScrapperPosX] = (0, import_react.useState)("");
|
|
42
|
+
const innerHeight = height - margin.top - margin.bottom;
|
|
43
|
+
const innerWidth = width - margin.left - margin.right;
|
|
44
|
+
const groups = series.map((serie) => serie.name);
|
|
45
|
+
const stackedData = (0, import_react.useMemo)(() => (0, import_helpers.stackData)(groupsStacked, series), [groupsStacked, series]);
|
|
46
|
+
const currentData = series.map((d, i) => ({
|
|
47
|
+
...d,
|
|
48
|
+
originalData: d,
|
|
49
|
+
key: `${d.name}-${i}`,
|
|
50
|
+
data: d.data.map((value, index) => ({
|
|
51
|
+
key: `${d.name}-${i}-${index}`,
|
|
52
|
+
value,
|
|
53
|
+
position: index
|
|
54
|
+
}))
|
|
55
|
+
}));
|
|
56
|
+
const { xScale, yScale, y2Scale, subGroupScale, colorScale, getBandwidth } = (0, import_useScales.useScales)({
|
|
57
|
+
props,
|
|
58
|
+
innerHeight,
|
|
59
|
+
innerWidth,
|
|
60
|
+
groups,
|
|
61
|
+
stackedData,
|
|
62
|
+
currentData
|
|
63
|
+
});
|
|
64
|
+
return (0, import_react.useMemo)(
|
|
65
|
+
() => ({
|
|
66
|
+
props: { ...props, data: currentData },
|
|
67
|
+
innerHeight,
|
|
68
|
+
innerWidth,
|
|
69
|
+
groups,
|
|
70
|
+
colorScale,
|
|
71
|
+
stackedData,
|
|
72
|
+
subGroupScale,
|
|
73
|
+
svgRef,
|
|
74
|
+
xScale,
|
|
75
|
+
yScale,
|
|
76
|
+
y2Scale,
|
|
77
|
+
containerRef,
|
|
78
|
+
getBandwidth,
|
|
79
|
+
scrapperPosY,
|
|
80
|
+
setScrapperPosY,
|
|
81
|
+
scrapperPosX,
|
|
82
|
+
setScrapperPosX,
|
|
83
|
+
activePoint,
|
|
84
|
+
setActivePoint,
|
|
85
|
+
activeSerie,
|
|
86
|
+
setActiveSerie
|
|
87
|
+
}),
|
|
88
|
+
[
|
|
89
|
+
props,
|
|
90
|
+
currentData,
|
|
91
|
+
innerHeight,
|
|
92
|
+
innerWidth,
|
|
93
|
+
groups,
|
|
94
|
+
colorScale,
|
|
95
|
+
stackedData,
|
|
96
|
+
subGroupScale,
|
|
97
|
+
scrapperPosX,
|
|
98
|
+
setScrapperPosX,
|
|
99
|
+
xScale,
|
|
100
|
+
yScale,
|
|
101
|
+
y2Scale,
|
|
102
|
+
getBandwidth,
|
|
103
|
+
scrapperPosY,
|
|
104
|
+
activePoint,
|
|
105
|
+
activeSerie
|
|
106
|
+
]
|
|
107
|
+
);
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=useChart.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/graphs/Chart/config/useChart.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-nested-callbacks */\n/* eslint-disable max-statements */\n/* eslint-disable indent */\nimport { useMemo, useState, useRef } from 'react';\n// import { useValidateTypescriptPropTypes } from '@elliemae/ds-utilities';\nimport type { DSChartT } from '../react-desc-prop-types';\n// import { propTypes } from '../react-desc-prop-types';\nimport { useScales } from './useScales';\nimport { stackData } from '../helpers';\nexport const useChart = (props: DSChartT.Props) => {\n // useValidateTypescriptPropTypes(props, propTypes);\n\n const { series, width, height, margin, groups: groupsStacked } = props;\n\n const containerRef = useRef(null);\n const svgRef = useRef(null);\n\n const [activePoint, setActivePoint] = useState('');\n const [activeSerie, setActiveSerie] = useState('');\n const [scrapperPosY, setScrapperPosY] = useState('');\n const [scrapperPosX, setScrapperPosX] = useState('');\n\n const innerHeight = height - margin.top - margin.bottom;\n const innerWidth = width - margin.left - margin.right;\n\n const groups = series.map((serie) => serie.name);\n\n const stackedData = useMemo(() => stackData(groupsStacked, series), [groupsStacked, series]);\n\n const currentData = series.map((d, i) => ({\n ...d,\n originalData: d,\n key: `${d.name}-${i}`,\n data: d.data.map((value, index) => ({\n key: `${d.name}-${i}-${index}`,\n value,\n position: index,\n })),\n }));\n\n const { xScale, yScale, y2Scale, subGroupScale, colorScale, getBandwidth } = useScales({\n props,\n innerHeight,\n innerWidth,\n groups,\n stackedData,\n currentData,\n });\n\n return useMemo(\n () => ({\n props: { ...props, data: currentData },\n innerHeight,\n innerWidth,\n groups,\n colorScale,\n stackedData,\n subGroupScale,\n svgRef,\n xScale,\n yScale,\n y2Scale,\n containerRef,\n getBandwidth,\n scrapperPosY,\n setScrapperPosY,\n scrapperPosX,\n setScrapperPosX,\n activePoint,\n setActivePoint,\n activeSerie,\n setActiveSerie,\n }),\n [\n props,\n currentData,\n innerHeight,\n innerWidth,\n groups,\n colorScale,\n stackedData,\n subGroupScale,\n scrapperPosX,\n setScrapperPosX,\n xScale,\n yScale,\n y2Scale,\n getBandwidth,\n scrapperPosY,\n activePoint,\n activeSerie,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAA0C;AAI1C,uBAA0B;AAC1B,qBAA0B;AACnB,MAAM,WAAW,CAAC,UAA0B;AAGjD,QAAM,EAAE,QAAQ,OAAO,QAAQ,QAAQ,QAAQ,cAAc,IAAI;AAEjE,QAAM,mBAAe,qBAAO,IAAI;AAChC,QAAM,aAAS,qBAAO,IAAI;AAE1B,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AACjD,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AACjD,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAS,EAAE;AACnD,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAS,EAAE;AAEnD,QAAM,cAAc,SAAS,OAAO,MAAM,OAAO;AACjD,QAAM,aAAa,QAAQ,OAAO,OAAO,OAAO;AAEhD,QAAM,SAAS,OAAO,IAAI,CAAC,UAAU,MAAM,IAAI;AAE/C,QAAM,kBAAc,sBAAQ,UAAM,0BAAU,eAAe,MAAM,GAAG,CAAC,eAAe,MAAM,CAAC;AAE3F,QAAM,cAAc,OAAO,IAAI,CAAC,GAAG,OAAO;AAAA,IACxC,GAAG;AAAA,IACH,cAAc;AAAA,IACd,KAAK,GAAG,EAAE,QAAQ;AAAA,IAClB,MAAM,EAAE,KAAK,IAAI,CAAC,OAAO,WAAW;AAAA,MAClC,KAAK,GAAG,EAAE,QAAQ,KAAK;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,IACZ,EAAE;AAAA,EACJ,EAAE;AAEF,QAAM,EAAE,QAAQ,QAAQ,SAAS,eAAe,YAAY,aAAa,QAAI,4BAAU;AAAA,IACrF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,aAAO;AAAA,IACL,OAAO;AAAA,MACL,OAAO,EAAE,GAAG,OAAO,MAAM,YAAY;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var useKeyboardNavigation_exports = {};
|
|
26
|
+
__export(useKeyboardNavigation_exports, {
|
|
27
|
+
findInCircularList: () => findInCircularList,
|
|
28
|
+
useKeyboardNavigation: () => useKeyboardNavigation
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(useKeyboardNavigation_exports);
|
|
31
|
+
var React = __toESM(require("react"));
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
var import_ChartContext = require("../ChartContext");
|
|
34
|
+
const findInCircularList = (list, from, step = 1) => {
|
|
35
|
+
for (let i = (from + step + list.length) % list.length; i !== from && from > -1; i = (i + step + list.length) % list.length) {
|
|
36
|
+
if (list[i])
|
|
37
|
+
return i;
|
|
38
|
+
}
|
|
39
|
+
return from;
|
|
40
|
+
};
|
|
41
|
+
const useKeyboardNavigation = () => {
|
|
42
|
+
const {
|
|
43
|
+
activePoint,
|
|
44
|
+
setActivePoint,
|
|
45
|
+
containerRef,
|
|
46
|
+
groups,
|
|
47
|
+
yScale,
|
|
48
|
+
props: { data }
|
|
49
|
+
} = (0, import_react.useContext)(import_ChartContext.ChartContext);
|
|
50
|
+
const [currentFocusedDataset, setCurrentFocusedDataset] = (0, import_react.useState)(groups[0]);
|
|
51
|
+
const currentGroup = (0, import_react.useMemo)(() => data.find((d) => d.name === currentFocusedDataset), [currentFocusedDataset, data]);
|
|
52
|
+
const currentItemIndex = (0, import_react.useMemo)(
|
|
53
|
+
() => currentGroup.data.findIndex((opt) => opt.key === activePoint),
|
|
54
|
+
[activePoint, currentGroup]
|
|
55
|
+
);
|
|
56
|
+
const handleOnFocus = (0, import_react.useCallback)(
|
|
57
|
+
(e) => {
|
|
58
|
+
if (containerRef?.current === e.target) {
|
|
59
|
+
setActivePoint(currentGroup.data[0].key);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
[containerRef, currentGroup, setActivePoint]
|
|
63
|
+
);
|
|
64
|
+
const handleOnBlur = (0, import_react.useCallback)(() => {
|
|
65
|
+
setTimeout(() => {
|
|
66
|
+
if (!containerRef?.current?.contains(document.activeElement) || containerRef?.current === document.activeElement) {
|
|
67
|
+
setActivePoint("");
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}, [containerRef, setActivePoint]);
|
|
71
|
+
const navigateSerie = (0, import_react.useCallback)(
|
|
72
|
+
(step) => {
|
|
73
|
+
const newValue = findInCircularList(
|
|
74
|
+
currentGroup.data.map((d) => d.value.toString()),
|
|
75
|
+
currentItemIndex,
|
|
76
|
+
step
|
|
77
|
+
);
|
|
78
|
+
setActivePoint(currentGroup.data[newValue].key);
|
|
79
|
+
},
|
|
80
|
+
[currentGroup.data, currentItemIndex, setActivePoint]
|
|
81
|
+
);
|
|
82
|
+
const changeSerie = (0, import_react.useCallback)(
|
|
83
|
+
(step) => {
|
|
84
|
+
setCurrentFocusedDataset((prev) => {
|
|
85
|
+
const nextGroup = findInCircularList(
|
|
86
|
+
groups,
|
|
87
|
+
groups.findIndex((item) => item === prev),
|
|
88
|
+
step
|
|
89
|
+
);
|
|
90
|
+
const nextGroupData = data.find((d) => d.name === groups[nextGroup]);
|
|
91
|
+
setActivePoint(nextGroupData.data[currentItemIndex].key);
|
|
92
|
+
return groups[nextGroup];
|
|
93
|
+
});
|
|
94
|
+
},
|
|
95
|
+
[currentItemIndex, data, setActivePoint, groups]
|
|
96
|
+
);
|
|
97
|
+
const onInputKeyDown = (0, import_react.useCallback)(
|
|
98
|
+
(e) => {
|
|
99
|
+
if (e.code !== "Tab") {
|
|
100
|
+
e.preventDefault();
|
|
101
|
+
}
|
|
102
|
+
if (["ArrowLeft", "ArrowRight"].includes(e.code)) {
|
|
103
|
+
if (yScale.bandwidth)
|
|
104
|
+
changeSerie(e.code === "ArrowLeft" ? -1 : 1);
|
|
105
|
+
else
|
|
106
|
+
navigateSerie(e.code === "ArrowLeft" ? -1 : 1);
|
|
107
|
+
}
|
|
108
|
+
if (["ArrowDown", "ArrowUp"].includes(e.code)) {
|
|
109
|
+
if (yScale.bandwidth)
|
|
110
|
+
navigateSerie(e.code === "ArrowDown" ? -1 : 1);
|
|
111
|
+
else
|
|
112
|
+
changeSerie(e.code === "ArrowDown" ? -1 : 1);
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
[changeSerie, navigateSerie, yScale.bandwidth]
|
|
116
|
+
);
|
|
117
|
+
return { onInputKeyDown, handleOnBlur, handleOnFocus };
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=useKeyboardNavigation.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/graphs/Chart/config/useKeyboardNavigation.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext, useMemo, useState } from 'react';\nimport { ChartContext } from '../ChartContext';\n\nexport const findInCircularList = (\n list,\n from: number,\n //criteria: (item) => boolean,\n step = 1,\n // eslint-disable-next-line max-params\n): number => {\n for (\n let i = (from + step + list.length) % list.length;\n i !== from && from > -1;\n i = (i + step + list.length) % list.length\n ) {\n if (list[i]) return i;\n }\n return from; // return same item\n};\n\nexport const useKeyboardNavigation = () => {\n const {\n activePoint,\n setActivePoint,\n containerRef,\n groups,\n yScale,\n props: { data },\n } = useContext(ChartContext);\n\n const [currentFocusedDataset, setCurrentFocusedDataset] = useState(groups[0]);\n\n const currentGroup = useMemo(() => data.find((d) => d.name === currentFocusedDataset), [currentFocusedDataset, data]);\n\n const currentItemIndex = useMemo(\n () => currentGroup.data.findIndex((opt) => opt.key === activePoint),\n [activePoint, currentGroup],\n );\n\n const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = useCallback(\n (e) => {\n if (containerRef?.current === e.target) {\n setActivePoint(currentGroup.data[0].key);\n }\n },\n [containerRef, currentGroup, setActivePoint],\n );\n\n const handleOnBlur: React.FocusEventHandler<HTMLInputElement> = useCallback(() => {\n setTimeout(() => {\n if (\n !containerRef?.current?.contains(document.activeElement) ||\n containerRef?.current === document.activeElement\n ) {\n setActivePoint('');\n }\n });\n }, [containerRef, setActivePoint]);\n\n const navigateSerie = useCallback(\n (step: number) => {\n const newValue = findInCircularList(\n currentGroup.data.map((d) => d.value.toString()),\n currentItemIndex,\n step,\n );\n setActivePoint(currentGroup.data[newValue].key);\n },\n [currentGroup.data, currentItemIndex, setActivePoint],\n );\n\n const changeSerie = useCallback(\n (step: number) => {\n setCurrentFocusedDataset((prev) => {\n const nextGroup = findInCircularList(\n groups,\n groups.findIndex((item) => item === prev),\n step,\n );\n const nextGroupData = data.find((d) => d.name === groups[nextGroup]);\n setActivePoint(nextGroupData.data[currentItemIndex].key);\n return groups[nextGroup];\n });\n },\n [currentItemIndex, data, setActivePoint, groups],\n );\n\n const onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n if (e.code !== 'Tab') {\n e.preventDefault();\n }\n if (['ArrowLeft', 'ArrowRight'].includes(e.code)) {\n if (yScale.bandwidth) changeSerie(e.code === 'ArrowLeft' ? -1 : 1);\n else navigateSerie(e.code === 'ArrowLeft' ? -1 : 1);\n }\n\n if (['ArrowDown', 'ArrowUp'].includes(e.code)) {\n if (yScale.bandwidth) navigateSerie(e.code === 'ArrowDown' ? -1 : 1);\n else changeSerie(e.code === 'ArrowDown' ? -1 : 1);\n }\n },\n [changeSerie, navigateSerie, yScale.bandwidth],\n );\n\n return { onInputKeyDown, handleOnBlur, handleOnFocus };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var useScales_exports = {};
|
|
26
|
+
__export(useScales_exports, {
|
|
27
|
+
useScales: () => useScales
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useScales_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var import_d3 = require("d3");
|
|
33
|
+
var import_helpers = require("../helpers");
|
|
34
|
+
const useScales = ({ props, innerHeight, innerWidth, stackedData, currentData, groups }) => {
|
|
35
|
+
const { series, xAxis, yAxis, y2Axis, groups: stackedSeries, types } = props;
|
|
36
|
+
const getBandDomain = (0, import_react.useCallback)((axis) => axis.cols ?? [...series[0].data.keys()], [series]);
|
|
37
|
+
const getLinearDomain = (0, import_react.useCallback)(
|
|
38
|
+
(axis, axisString, withStackData = true) => {
|
|
39
|
+
const begin = axis?.beginAtZero ? 0 : void 0;
|
|
40
|
+
const data = series.filter((serie) => {
|
|
41
|
+
if (serie.scale === "y2") {
|
|
42
|
+
return serie.scale === axisString;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}).map(
|
|
46
|
+
(serie) => typeof serie.data[0] === "number" ? serie.data : serie.data.map((coord) => coord[axisString])
|
|
47
|
+
);
|
|
48
|
+
const stack = withStackData && [
|
|
49
|
+
(0, import_d3.min)(stackedData.flat(), (layer) => (0, import_d3.min)(layer, (sequence) => sequence[1])),
|
|
50
|
+
(0, import_d3.max)(stackedData.flat(), (layer) => (0, import_d3.max)(layer, (sequence) => sequence[1]))
|
|
51
|
+
];
|
|
52
|
+
const minRange = (0, import_d3.min)([begin, (0, import_d3.min)(data.flat()), stack[0]]);
|
|
53
|
+
const maxRange = (0, import_d3.max)([(0, import_d3.max)(data.flat()), stack[1]]);
|
|
54
|
+
return [
|
|
55
|
+
minRange - (axisString === "x" ? (maxRange - minRange) * 0.05 : 0),
|
|
56
|
+
maxRange + (axisString === "x" ? (maxRange - minRange) * 0.05 : 0)
|
|
57
|
+
];
|
|
58
|
+
},
|
|
59
|
+
[series, stackedData]
|
|
60
|
+
);
|
|
61
|
+
const getScaleTime = (domain, range) => (0, import_d3.scaleTime)().domain([(0, import_d3.min)(domain) ?? 0, (0, import_d3.max)(domain) ?? 0]).range(range).nice();
|
|
62
|
+
const getScaleBand = (domain, range, padding = 0.2) => (0, import_d3.scaleBand)().domain(domain).range(range).padding(padding);
|
|
63
|
+
const getScaleLinear = (domain, range) => (0, import_d3.scaleLinear)().domain(domain).range(range);
|
|
64
|
+
const getScaleLog = (domain, range) => (0, import_d3.scaleLog)().domain(domain).range(range);
|
|
65
|
+
const xScale = (0, import_react.useMemo)(() => {
|
|
66
|
+
if (xAxis?.type === "time")
|
|
67
|
+
return getScaleTime(xAxis.cols, [0, innerWidth]);
|
|
68
|
+
if (xAxis?.type === "linear" || yAxis?.type === "band") {
|
|
69
|
+
const withStackData = yAxis?.type === "band";
|
|
70
|
+
return getScaleLinear(getLinearDomain(xAxis, "x", withStackData), [0, innerWidth]);
|
|
71
|
+
}
|
|
72
|
+
return getScaleBand(getBandDomain(xAxis), [0, innerWidth], xAxis.padding);
|
|
73
|
+
}, [getBandDomain, getLinearDomain, innerWidth, xAxis, yAxis?.type]);
|
|
74
|
+
const yScale = (0, import_react.useMemo)(() => {
|
|
75
|
+
if (yAxis?.type === "band")
|
|
76
|
+
return getScaleBand(getBandDomain(yAxis), [innerHeight, 0], yAxis.padding);
|
|
77
|
+
if (yAxis?.type === "log")
|
|
78
|
+
return getScaleLog(getLinearDomain(yAxis, "y"), [innerHeight, 0]);
|
|
79
|
+
return getScaleLinear(getLinearDomain(yAxis, "y"), [innerHeight, 0]);
|
|
80
|
+
}, [getBandDomain, getLinearDomain, innerHeight, yAxis]);
|
|
81
|
+
const y2Scale = (0, import_react.useMemo)(() => {
|
|
82
|
+
if (!y2Axis)
|
|
83
|
+
return null;
|
|
84
|
+
if (y2Axis?.type === "band")
|
|
85
|
+
return getScaleBand(getBandDomain(y2Axis), [innerHeight, 0], y2Scale.padding);
|
|
86
|
+
if (y2Axis?.type === "log")
|
|
87
|
+
return getScaleLog(getLinearDomain(y2Axis, "y2"), [innerHeight, 0]);
|
|
88
|
+
return getScaleLinear(getLinearDomain(y2Axis, "y2"), [innerHeight, 0]);
|
|
89
|
+
}, [getBandDomain, getLinearDomain, innerHeight, y2Axis]);
|
|
90
|
+
const colorScale = (0, import_d3.scaleOrdinal)().domain(groups).range(currentData.map((d) => d.color));
|
|
91
|
+
const subgroupsWithBars = currentData.filter(
|
|
92
|
+
(serie) => serie.type === "bar" && !(stackedSeries?.length && (0, import_helpers.getStackedIndex)(stackedSeries, serie.name) > -1)
|
|
93
|
+
).map((serie) => serie.name);
|
|
94
|
+
const getBandwidth = (0, import_react.useCallback)(() => {
|
|
95
|
+
if (xScale.bandwidth)
|
|
96
|
+
return xScale.bandwidth();
|
|
97
|
+
if (yScale.bandwidth)
|
|
98
|
+
return yScale.bandwidth();
|
|
99
|
+
return innerWidth / xScale.ticks().length / 2;
|
|
100
|
+
}, [innerWidth, xScale, yScale]);
|
|
101
|
+
if (stackedSeries?.length) {
|
|
102
|
+
stackedSeries.forEach((_, i) => subgroupsWithBars.push(`stacked-data-${i}`));
|
|
103
|
+
}
|
|
104
|
+
const subGroupScale = getBandwidth() ? (0, import_d3.scaleBand)().domain(subgroupsWithBars).range([0, getBandwidth() ?? 0]).padding(0.05) : null;
|
|
105
|
+
return { xScale, y2Scale, yScale, subGroupScale, colorScale, getBandwidth };
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=useScales.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/graphs/Chart/config/useScales.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable indent */\nimport { useMemo, useCallback } from 'react';\nimport { max, min, scaleLinear, scaleBand, scaleTime, scaleOrdinal, scaleLog, Series, ScaleBand } from 'd3';\nimport { DSChartT } from '../react-desc-prop-types';\nimport { getStackedIndex } from '../helpers';\n\ninterface UseScales {\n props: DSChartT.Props;\n innerHeight: number;\n innerWidth: number;\n stackedData: Series<\n {\n [key: string]: number;\n },\n string\n >[][];\n currentData: {\n key: string;\n group: string;\n type: DSChartT.SerieTypeT;\n scale?: string;\n color: string;\n data: {\n key: string;\n value: number | { x: number; y: number };\n position: number;\n }[];\n }[];\n groups: string[];\n}\nexport const useScales = ({ props, innerHeight, innerWidth, stackedData, currentData, groups }: UseScales) => {\n const { series, xAxis, yAxis, y2Axis, groups: stackedSeries, types } = props;\n\n const getBandDomain = useCallback((axis: DSChartT.AxisT) => axis.cols ?? [...series[0].data.keys()], [series]);\n\n const getLinearDomain = useCallback(\n (axis?: DSChartT.AxisT, axisString?: string, withStackData = true) => {\n // const data2 = data ? extent(data) : [];\n const begin = axis?.beginAtZero ? 0 : undefined;\n const data = series\n .filter((serie) => {\n if (serie.scale === 'y2') {\n return serie.scale === axisString;\n }\n return true;\n })\n .map((serie) =>\n typeof serie.data[0] === 'number' ? serie.data : serie.data.map((coord) => coord[axisString]),\n );\n\n const stack = withStackData && [\n min(stackedData.flat(), (layer) => min(layer, (sequence) => sequence[1])),\n max(stackedData.flat(), (layer) => max(layer, (sequence) => sequence[1])),\n ];\n const minRange = min([begin, min(data.flat()), stack[0]]);\n const maxRange = max([max(data.flat()), stack[1]]);\n // we set a pad on the x axis, we can create a prop to set this constant\n return [\n minRange - (axisString === 'x' ? (maxRange - minRange) * 0.05 : 0),\n maxRange + (axisString === 'x' ? (maxRange - minRange) * 0.05 : 0),\n ];\n },\n [series, stackedData],\n );\n\n const getScaleTime = (domain: Date[], range: number[]) =>\n scaleTime()\n .domain([min(domain) ?? 0, max(domain) ?? 0])\n .range(range)\n .nice();\n const getScaleBand = (domain: string[], range: number[], padding = 0.2) =>\n scaleBand().domain(domain).range(range).padding(padding);\n const getScaleLinear = (domain: number[], range: number[]) => scaleLinear().domain(domain).range(range);\n const getScaleLog = (domain: number[], range: number[]) => scaleLog().domain(domain).range(range);\n\n const xScale = useMemo(() => {\n if (xAxis?.type === 'time') return getScaleTime(xAxis.cols as Date[], [0, innerWidth]);\n if (xAxis?.type === 'linear' || yAxis?.type === 'band') {\n const withStackData = yAxis?.type === 'band';\n return getScaleLinear(getLinearDomain(xAxis, 'x', withStackData) as number[], [0, innerWidth]);\n }\n\n return getScaleBand(getBandDomain(xAxis) as string[], [0, innerWidth], xAxis.padding);\n }, [getBandDomain, getLinearDomain, innerWidth, xAxis, yAxis?.type]);\n\n const yScale = useMemo(() => {\n if (yAxis?.type === 'band') return getScaleBand(getBandDomain(yAxis), [innerHeight, 0], yAxis.padding);\n if (yAxis?.type === 'log') return getScaleLog(getLinearDomain(yAxis, 'y'), [innerHeight, 0]);\n return getScaleLinear(getLinearDomain(yAxis, 'y'), [innerHeight, 0]);\n }, [getBandDomain, getLinearDomain, innerHeight, yAxis]);\n\n const y2Scale = useMemo(() => {\n if (!y2Axis) return null;\n if (y2Axis?.type === 'band') return getScaleBand(getBandDomain(y2Axis), [innerHeight, 0], y2Scale.padding);\n if (y2Axis?.type === 'log') return getScaleLog(getLinearDomain(y2Axis, 'y2'), [innerHeight, 0]);\n return getScaleLinear(getLinearDomain(y2Axis, 'y2'), [innerHeight, 0]);\n }, [getBandDomain, getLinearDomain, innerHeight, y2Axis]);\n\n const colorScale = scaleOrdinal()\n .domain(groups)\n .range(currentData.map((d) => d.color));\n // get only groups bars to calculate the subgroup scale\n\n const subgroupsWithBars = currentData\n .filter(\n (serie) => serie.type === 'bar' && !(stackedSeries?.length && getStackedIndex(stackedSeries, serie.name) > -1),\n )\n .map((serie) => serie.name);\n\n const getBandwidth = useCallback(() => {\n if ((xScale as ScaleBand<string>).bandwidth) return (xScale as ScaleBand<string>).bandwidth();\n if ((yScale as ScaleBand<string>).bandwidth) return (yScale as ScaleBand<string>).bandwidth();\n return innerWidth / xScale.ticks().length / 2;\n }, [innerWidth, xScale, yScale]);\n\n if (stackedSeries?.length) {\n stackedSeries.forEach((_, i) => subgroupsWithBars.push(`stacked-data-${i}`));\n }\n\n const subGroupScale = getBandwidth()\n ? scaleBand()\n .domain(subgroupsWithBars)\n .range([0, getBandwidth() ?? 0])\n .padding(0.05)\n : null;\n\n return { xScale, y2Scale, yScale, subGroupScale, colorScale, getBandwidth };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|