@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.
Files changed (129) hide show
  1. package/dist/cjs/graphs/Chart/Chart.js +61 -0
  2. package/dist/cjs/graphs/Chart/Chart.js.map +7 -0
  3. package/dist/cjs/graphs/Chart/ChartContext.js +67 -0
  4. package/dist/cjs/graphs/Chart/ChartContext.js.map +7 -0
  5. package/dist/cjs/graphs/Chart/Pie.js +49 -0
  6. package/dist/cjs/graphs/Chart/Pie.js.map +7 -0
  7. package/dist/cjs/graphs/Chart/config/useChart.js +109 -0
  8. package/dist/cjs/graphs/Chart/config/useChart.js.map +7 -0
  9. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +119 -0
  10. package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +7 -0
  11. package/dist/cjs/graphs/Chart/config/useScales.js +107 -0
  12. package/dist/cjs/graphs/Chart/config/useScales.js.map +7 -0
  13. package/dist/cjs/graphs/Chart/helpers/index.js +83 -0
  14. package/dist/cjs/graphs/Chart/helpers/index.js.map +7 -0
  15. package/dist/cjs/graphs/Chart/index.js +26 -0
  16. package/dist/cjs/graphs/Chart/index.js.map +7 -0
  17. package/dist/cjs/graphs/Chart/parts/ActivePoint.js +83 -0
  18. package/dist/cjs/graphs/Chart/parts/ActivePoint.js.map +7 -0
  19. package/dist/cjs/graphs/Chart/parts/AxisBottom.js +86 -0
  20. package/dist/cjs/graphs/Chart/parts/AxisBottom.js.map +7 -0
  21. package/dist/cjs/graphs/Chart/parts/AxisLeft.js +79 -0
  22. package/dist/cjs/graphs/Chart/parts/AxisLeft.js.map +7 -0
  23. package/dist/cjs/graphs/Chart/parts/AxisRight.js +63 -0
  24. package/dist/cjs/graphs/Chart/parts/AxisRight.js.map +7 -0
  25. package/dist/cjs/graphs/Chart/parts/ChartContainer.js +78 -0
  26. package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +7 -0
  27. package/dist/cjs/graphs/Chart/parts/ColorLegend.js +70 -0
  28. package/dist/cjs/graphs/Chart/parts/ColorLegend.js.map +7 -0
  29. package/dist/cjs/graphs/Chart/parts/FocusableRegion.js +116 -0
  30. package/dist/cjs/graphs/Chart/parts/FocusableRegion.js.map +7 -0
  31. package/dist/cjs/graphs/Chart/parts/Scrapper.js +130 -0
  32. package/dist/cjs/graphs/Chart/parts/Scrapper.js.map +7 -0
  33. package/dist/cjs/graphs/Chart/parts/SeriesFactory.js +82 -0
  34. package/dist/cjs/graphs/Chart/parts/SeriesFactory.js.map +7 -0
  35. package/dist/cjs/graphs/Chart/parts/VerticalScrapper.js +138 -0
  36. package/dist/cjs/graphs/Chart/parts/VerticalScrapper.js.map +7 -0
  37. package/dist/cjs/graphs/Chart/react-desc-prop-types.js +57 -0
  38. package/dist/cjs/graphs/Chart/react-desc-prop-types.js.map +7 -0
  39. package/dist/cjs/graphs/Chart/series/Area.js +73 -0
  40. package/dist/cjs/graphs/Chart/series/Area.js.map +7 -0
  41. package/dist/cjs/graphs/Chart/series/Bars.js +68 -0
  42. package/dist/cjs/graphs/Chart/series/Bars.js.map +7 -0
  43. package/dist/cjs/graphs/Chart/series/Line.js +70 -0
  44. package/dist/cjs/graphs/Chart/series/Line.js.map +7 -0
  45. package/dist/cjs/graphs/Chart/series/Pie.js +46 -0
  46. package/dist/cjs/graphs/Chart/series/Pie.js.map +7 -0
  47. package/dist/cjs/graphs/Chart/series/Point.js +67 -0
  48. package/dist/cjs/graphs/Chart/series/Point.js.map +7 -0
  49. package/dist/cjs/graphs/Chart/series/Points.js +84 -0
  50. package/dist/cjs/graphs/Chart/series/Points.js.map +7 -0
  51. package/dist/cjs/graphs/Chart/series/Rect.js +78 -0
  52. package/dist/cjs/graphs/Chart/series/Rect.js.map +7 -0
  53. package/dist/cjs/graphs/Chart/series/StackedBar.js +66 -0
  54. package/dist/cjs/graphs/Chart/series/StackedBar.js.map +7 -0
  55. package/dist/cjs/graphs/Chart/series/index.js +32 -0
  56. package/dist/cjs/graphs/Chart/series/index.js.map +7 -0
  57. package/dist/cjs/graphs/Chart/styles.js +123 -0
  58. package/dist/cjs/graphs/Chart/styles.js.map +7 -0
  59. package/dist/cjs/graphs/constants.js +37 -0
  60. package/dist/cjs/graphs/constants.js.map +7 -0
  61. package/dist/cjs/graphs/index.js +27 -0
  62. package/dist/cjs/graphs/index.js.map +7 -0
  63. package/dist/cjs/index.js +33 -0
  64. package/dist/cjs/index.js.map +7 -0
  65. package/dist/esm/graphs/Chart/Chart.js +35 -0
  66. package/dist/esm/graphs/Chart/Chart.js.map +7 -0
  67. package/dist/esm/graphs/Chart/ChartContext.js +41 -0
  68. package/dist/esm/graphs/Chart/ChartContext.js.map +7 -0
  69. package/dist/esm/graphs/Chart/Pie.js +23 -0
  70. package/dist/esm/graphs/Chart/Pie.js.map +7 -0
  71. package/dist/esm/graphs/Chart/config/useChart.js +83 -0
  72. package/dist/esm/graphs/Chart/config/useChart.js.map +7 -0
  73. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +93 -0
  74. package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +7 -0
  75. package/dist/esm/graphs/Chart/config/useScales.js +81 -0
  76. package/dist/esm/graphs/Chart/config/useScales.js.map +7 -0
  77. package/dist/esm/graphs/Chart/helpers/index.js +57 -0
  78. package/dist/esm/graphs/Chart/helpers/index.js.map +7 -0
  79. package/dist/esm/graphs/Chart/index.js +3 -0
  80. package/dist/esm/graphs/Chart/index.js.map +7 -0
  81. package/dist/esm/graphs/Chart/parts/ActivePoint.js +57 -0
  82. package/dist/esm/graphs/Chart/parts/ActivePoint.js.map +7 -0
  83. package/dist/esm/graphs/Chart/parts/AxisBottom.js +60 -0
  84. package/dist/esm/graphs/Chart/parts/AxisBottom.js.map +7 -0
  85. package/dist/esm/graphs/Chart/parts/AxisLeft.js +53 -0
  86. package/dist/esm/graphs/Chart/parts/AxisLeft.js.map +7 -0
  87. package/dist/esm/graphs/Chart/parts/AxisRight.js +37 -0
  88. package/dist/esm/graphs/Chart/parts/AxisRight.js.map +7 -0
  89. package/dist/esm/graphs/Chart/parts/ChartContainer.js +52 -0
  90. package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +7 -0
  91. package/dist/esm/graphs/Chart/parts/ColorLegend.js +44 -0
  92. package/dist/esm/graphs/Chart/parts/ColorLegend.js.map +7 -0
  93. package/dist/esm/graphs/Chart/parts/FocusableRegion.js +90 -0
  94. package/dist/esm/graphs/Chart/parts/FocusableRegion.js.map +7 -0
  95. package/dist/esm/graphs/Chart/parts/Scrapper.js +104 -0
  96. package/dist/esm/graphs/Chart/parts/Scrapper.js.map +7 -0
  97. package/dist/esm/graphs/Chart/parts/SeriesFactory.js +56 -0
  98. package/dist/esm/graphs/Chart/parts/SeriesFactory.js.map +7 -0
  99. package/dist/esm/graphs/Chart/parts/VerticalScrapper.js +112 -0
  100. package/dist/esm/graphs/Chart/parts/VerticalScrapper.js.map +7 -0
  101. package/dist/esm/graphs/Chart/react-desc-prop-types.js +31 -0
  102. package/dist/esm/graphs/Chart/react-desc-prop-types.js.map +7 -0
  103. package/dist/esm/graphs/Chart/series/Area.js +47 -0
  104. package/dist/esm/graphs/Chart/series/Area.js.map +7 -0
  105. package/dist/esm/graphs/Chart/series/Bars.js +42 -0
  106. package/dist/esm/graphs/Chart/series/Bars.js.map +7 -0
  107. package/dist/esm/graphs/Chart/series/Line.js +44 -0
  108. package/dist/esm/graphs/Chart/series/Line.js.map +7 -0
  109. package/dist/esm/graphs/Chart/series/Pie.js +20 -0
  110. package/dist/esm/graphs/Chart/series/Pie.js.map +7 -0
  111. package/dist/esm/graphs/Chart/series/Point.js +41 -0
  112. package/dist/esm/graphs/Chart/series/Point.js.map +7 -0
  113. package/dist/esm/graphs/Chart/series/Points.js +58 -0
  114. package/dist/esm/graphs/Chart/series/Points.js.map +7 -0
  115. package/dist/esm/graphs/Chart/series/Rect.js +52 -0
  116. package/dist/esm/graphs/Chart/series/Rect.js.map +7 -0
  117. package/dist/esm/graphs/Chart/series/StackedBar.js +40 -0
  118. package/dist/esm/graphs/Chart/series/StackedBar.js.map +7 -0
  119. package/dist/esm/graphs/Chart/series/index.js +9 -0
  120. package/dist/esm/graphs/Chart/series/index.js.map +7 -0
  121. package/dist/esm/graphs/Chart/styles.js +97 -0
  122. package/dist/esm/graphs/Chart/styles.js.map +7 -0
  123. package/dist/esm/graphs/constants.js +11 -0
  124. package/dist/esm/graphs/constants.js.map +7 -0
  125. package/dist/esm/graphs/index.js +4 -0
  126. package/dist/esm/graphs/index.js.map +7 -0
  127. package/dist/esm/index.js +7 -0
  128. package/dist/esm/index.js.map +7 -0
  129. 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
+ }