@elliemae/ds-dataviz-pie 3.9.0-next.3 → 3.9.0-next.5

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 (40) hide show
  1. package/dist/cjs/PieContext.js +1 -11
  2. package/dist/cjs/PieContext.js.map +2 -2
  3. package/dist/cjs/config/useKeyboardNavigation.js +13 -57
  4. package/dist/cjs/config/useKeyboardNavigation.js.map +2 -2
  5. package/dist/cjs/config/usePie.js +11 -5
  6. package/dist/cjs/config/usePie.js.map +2 -2
  7. package/dist/cjs/{parts/Tooltip.js → helpers/colorPallet.js} +24 -28
  8. package/dist/cjs/helpers/colorPallet.js.map +7 -0
  9. package/dist/cjs/index.js +2 -0
  10. package/dist/cjs/index.js.map +2 -2
  11. package/dist/cjs/parts/ChartContainer.js +8 -3
  12. package/dist/cjs/parts/ChartContainer.js.map +2 -2
  13. package/dist/cjs/parts/Pie.js +3 -2
  14. package/dist/cjs/parts/Pie.js.map +2 -2
  15. package/dist/cjs/parts/Slice.js +49 -34
  16. package/dist/cjs/parts/Slice.js.map +2 -2
  17. package/dist/cjs/styles.js +17 -57
  18. package/dist/cjs/styles.js.map +2 -2
  19. package/dist/esm/PieContext.js +2 -12
  20. package/dist/esm/PieContext.js.map +2 -2
  21. package/dist/esm/config/useKeyboardNavigation.js +14 -58
  22. package/dist/esm/config/useKeyboardNavigation.js.map +2 -2
  23. package/dist/esm/config/usePie.js +11 -5
  24. package/dist/esm/config/usePie.js.map +2 -2
  25. package/dist/esm/helpers/colorPallet.js +25 -0
  26. package/dist/esm/helpers/colorPallet.js.map +7 -0
  27. package/dist/esm/index.js +2 -0
  28. package/dist/esm/index.js.map +2 -2
  29. package/dist/esm/parts/ChartContainer.js +8 -3
  30. package/dist/esm/parts/ChartContainer.js.map +2 -2
  31. package/dist/esm/parts/Pie.js +3 -2
  32. package/dist/esm/parts/Pie.js.map +2 -2
  33. package/dist/esm/parts/Slice.js +50 -35
  34. package/dist/esm/parts/Slice.js.map +2 -2
  35. package/dist/esm/styles.js +18 -58
  36. package/dist/esm/styles.js.map +2 -2
  37. package/package.json +8 -8
  38. package/dist/cjs/parts/Tooltip.js.map +0 -7
  39. package/dist/esm/parts/Tooltip.js +0 -29
  40. package/dist/esm/parts/Tooltip.js.map +0 -7
@@ -29,16 +29,6 @@ __export(PieContext_exports, {
29
29
  module.exports = __toCommonJS(PieContext_exports);
30
30
  var React = __toESM(require("react"));
31
31
  var import_react = require("react");
32
- var import_d3 = require("d3");
33
- const pieChartdefaultContext = {
34
- innerHeight: 0,
35
- innerWidth: 0,
36
- activeSerie: "",
37
- setActiveSerie: () => {
38
- },
39
- containerRef: (0, import_react.createRef)(),
40
- groups: [],
41
- colorScale: (0, import_d3.scaleOrdinal)()
42
- };
32
+ const pieChartdefaultContext = {};
43
33
  const PieContext = (0, import_react.createContext)(pieChartdefaultContext);
44
34
  //# sourceMappingURL=PieContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/PieContext.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { createContext, createRef } from 'react';\nimport { scaleOrdinal, ScaleOrdinal } from 'd3';\nimport { DSPieT } from './react-desc-prop-types';\n\ninterface PieChartContextT {\n props: Partial<DSPieT.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 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 PieContext = createContext(pieChartdefaultContext);\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AACzC,gBAA2C;AAc3C,MAAM,yBAA2C;AAAA,EAE/C,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,iBAAa,4BAAc,sBAAsB;",
4
+ "sourcesContent": ["import { createContext, createRef } from 'react';\nimport { scaleOrdinal, ScaleOrdinal } from 'd3';\nimport { DSPieT } from './react-desc-prop-types';\n\ninterface PieChartContextT {\n props: Partial<DSPieT.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 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 PieContext = createContext(pieChartdefaultContext);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAyC;AAezC,MAAM,yBAA2C,CASjD;AAEO,MAAM,iBAAa,4BAAc,sBAAsB;",
6
6
  "names": []
7
7
  }
@@ -39,62 +39,27 @@ const findInCircularList = (list, from, step = 1) => {
39
39
  return from;
40
40
  };
41
41
  const useKeyboardNavigation = () => {
42
- const {
43
- activePoint,
44
- setActivePoint,
45
- containerRef,
46
- groups,
47
- yScale,
48
- props: { data }
49
- } = (0, import_react.useContext)(import_PieContext.PieContext);
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
- console.log("focus");
59
- if (containerRef?.current === e.target) {
60
- setActivePoint(currentGroup.data[0].key);
61
- }
62
- },
63
- [containerRef, currentGroup, setActivePoint]
64
- );
42
+ const { activeSerie, setActiveSerie, containerRef, currentData } = (0, import_react.useContext)(import_PieContext.PieContext);
43
+ const handleOnFocus = (0, import_react.useCallback)(() => {
44
+ setActiveSerie(currentData[0].key);
45
+ }, [currentData, setActiveSerie]);
65
46
  const handleOnBlur = (0, import_react.useCallback)(() => {
66
47
  setTimeout(() => {
67
48
  if (!containerRef?.current?.contains(document.activeElement) || containerRef?.current === document.activeElement) {
68
- console.log("blur");
69
- setActivePoint("");
49
+ setActiveSerie("");
70
50
  }
71
51
  });
72
- }, [containerRef, setActivePoint]);
52
+ }, [containerRef, setActiveSerie]);
73
53
  const navigateSerie = (0, import_react.useCallback)(
74
54
  (step) => {
75
- const newValue = findInCircularList(
76
- currentGroup.data.map((d) => d.value),
77
- currentItemIndex,
55
+ const newFocusedSliceIndex = findInCircularList(
56
+ currentData,
57
+ currentData.findIndex((serie) => serie.key === activeSerie),
78
58
  step
79
59
  );
80
- setActivePoint(currentGroup.data[newValue].key);
60
+ setActiveSerie(currentData[newFocusedSliceIndex].key);
81
61
  },
82
- [currentGroup.data, currentItemIndex, setActivePoint]
83
- );
84
- const changeSerie = (0, import_react.useCallback)(
85
- (step) => {
86
- setCurrentFocusedDataset((prev) => {
87
- const nextGroup = findInCircularList(
88
- groups,
89
- groups.findIndex((item) => item === prev),
90
- step
91
- );
92
- const nextGroupData = data.find((d) => d.name === groups[nextGroup]);
93
- setActivePoint(nextGroupData.data[currentItemIndex].key);
94
- return groups[nextGroup];
95
- });
96
- },
97
- [currentItemIndex, data, setActivePoint, groups]
62
+ [activeSerie, currentData, setActiveSerie]
98
63
  );
99
64
  const onInputKeyDown = (0, import_react.useCallback)(
100
65
  (e) => {
@@ -102,19 +67,10 @@ const useKeyboardNavigation = () => {
102
67
  e.preventDefault();
103
68
  }
104
69
  if (["ArrowLeft", "ArrowRight"].includes(e.code)) {
105
- if (yScale.bandwidth)
106
- changeSerie(e.code === "ArrowLeft" ? -1 : 1);
107
- else
108
- navigateSerie(e.code === "ArrowLeft" ? -1 : 1);
109
- }
110
- if (["ArrowDown", "ArrowUp"].includes(e.code)) {
111
- if (yScale.bandwidth)
112
- navigateSerie(e.code === "ArrowDown" ? -1 : 1);
113
- else
114
- changeSerie(e.code === "ArrowDown" ? -1 : 1);
70
+ navigateSerie(e.code === "ArrowLeft" ? -1 : 1);
115
71
  }
116
72
  },
117
- [changeSerie, navigateSerie, yScale.bandwidth]
73
+ [navigateSerie]
118
74
  );
119
75
  return { onInputKeyDown, handleOnBlur, handleOnFocus };
120
76
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/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 { PieContext } from '../PieContext';\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(PieContext);\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 console.log('focus');\n\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 console.log('blur');\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),\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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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext } from 'react';\nimport { PieContext } from '../PieContext';\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 { activeSerie, setActiveSerie, containerRef, currentData } = useContext(PieContext);\n\n // const currentGroup = useMemo(() => data.find((d) => d.name === currentFocusedDataset), [currentFocusedDataset, data]);\n\n const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = useCallback(() => {\n setActiveSerie(currentData[0].key);\n }, [currentData, setActiveSerie]);\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 setActiveSerie('');\n }\n });\n }, [containerRef, setActiveSerie]);\n\n const navigateSerie = useCallback(\n (step: number) => {\n const newFocusedSliceIndex = findInCircularList(\n currentData,\n currentData.findIndex((serie) => serie.key === activeSerie),\n step,\n );\n setActiveSerie(currentData[newFocusedSliceIndex].key);\n },\n [activeSerie, currentData, setActiveSerie],\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 navigateSerie(e.code === 'ArrowLeft' ? -1 : 1);\n }\n },\n [navigateSerie],\n );\n\n return { onInputKeyDown, handleOnBlur, handleOnFocus };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAwC;AACxC,wBAA2B;AAEpB,MAAM,qBAAqB,CAChC,MACA,MAEA,OAAO,MAEI;AACX,WACM,KAAK,OAAO,OAAO,KAAK,UAAU,KAAK,QAC3C,MAAM,QAAQ,OAAO,IACrB,KAAK,IAAI,OAAO,KAAK,UAAU,KAAK,QACpC;AACA,QAAI,KAAK;AAAI,aAAO;AAAA,EACtB;AACA,SAAO;AACT;AAEO,MAAM,wBAAwB,MAAM;AACzC,QAAM,EAAE,aAAa,gBAAgB,cAAc,YAAY,QAAI,yBAAW,4BAAU;AAIxF,QAAM,oBAAyD,0BAAY,MAAM;AAC/E,mBAAe,YAAY,GAAG,GAAG;AAAA,EACnC,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,QAAM,mBAA0D,0BAAY,MAAM;AAChF,eAAW,MAAM;AACf,UACE,CAAC,cAAc,SAAS,SAAS,SAAS,aAAa,KACvD,cAAc,YAAY,SAAS,eACnC;AACA,uBAAe,EAAE;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,cAAc,cAAc,CAAC;AAEjC,QAAM,oBAAgB;AAAA,IACpB,CAAC,SAAiB;AAChB,YAAM,uBAAuB;AAAA,QAC3B;AAAA,QACA,YAAY,UAAU,CAAC,UAAU,MAAM,QAAQ,WAAW;AAAA,QAC1D;AAAA,MACF;AACA,qBAAe,YAAY,sBAAsB,GAAG;AAAA,IACtD;AAAA,IACA,CAAC,aAAa,aAAa,cAAc;AAAA,EAC3C;AAEA,QAAM,qBAA+D;AAAA,IACnE,CAAC,MAAM;AACL,UAAI,EAAE,SAAS,OAAO;AACpB,UAAE,eAAe;AAAA,MACnB;AACA,UAAI,CAAC,aAAa,YAAY,EAAE,SAAS,EAAE,IAAI,GAAG;AAChD,sBAAc,EAAE,SAAS,cAAc,KAAK,CAAC;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,EAAE,gBAAgB,cAAc,cAAc;AACvD;",
6
6
  "names": []
7
7
  }
@@ -38,10 +38,15 @@ const usePie = (props) => {
38
38
  const innerHeight = height - margin.top - margin.bottom;
39
39
  const innerWidth = width - margin.left - margin.right;
40
40
  const groups = series.map((serie) => serie.name);
41
+ const currentData = (0, import_react.useMemo)(
42
+ () => series.map((serie, i) => ({
43
+ ...serie,
44
+ key: `${serie.name}-${i}`
45
+ })),
46
+ [series]
47
+ );
41
48
  const data = series.reduce((acc, curr) => ({ ...acc, [curr.name]: curr.data }), {});
42
- const pieGenerator = (0, import_d3.pie)().value(function(d) {
43
- return d[1];
44
- }).sort(null).padAngle(0.02);
49
+ const pieGenerator = (0, import_d3.pie)().value((d) => d[1]).sort(null).padAngle(0.02);
45
50
  const pieData = pieGenerator(Object.entries(data));
46
51
  return (0, import_react.useMemo)(
47
52
  () => ({
@@ -53,9 +58,10 @@ const usePie = (props) => {
53
58
  containerRef,
54
59
  activeSerie,
55
60
  pieData,
56
- setActiveSerie
61
+ setActiveSerie,
62
+ currentData
57
63
  }),
58
- [props, pieData, innerHeight, innerWidth, groups, activeSerie]
64
+ [props, innerHeight, innerWidth, groups, activeSerie, pieData, currentData]
59
65
  );
60
66
  };
61
67
  //# sourceMappingURL=usePie.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/config/usePie.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useMemo, useState, useRef } from 'react';\nimport { pie } from 'd3';\n// import { useValidateTypescriptPropTypes } from '@elliemae/ds-utilities';\nimport type { DSPieT } from '../react-desc-prop-types';\n\nexport const usePie = (props: DSPieT.Props) => {\n // useValidateTypescriptPropTypes(props, propTypes);\n\n const { series, width, height, margin } = props;\n\n const containerRef = useRef(null);\n const svgRef = useRef(null);\n\n const [activeSerie, setActiveSerie] = 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 data = series.reduce((acc, curr) => ({ ...acc, [curr.name]: curr.data }), {});\n const pieGenerator = pie()\n .value(function (d) {\n return d[1];\n })\n .sort(null)\n .padAngle(0.02);\n const pieData = pieGenerator(Object.entries(data));\n\n return useMemo(\n () => ({\n props,\n innerHeight,\n innerWidth,\n groups,\n svgRef,\n containerRef,\n activeSerie,\n pieData,\n setActiveSerie,\n }),\n [props, pieData, innerHeight, innerWidth, groups, activeSerie],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0C;AAC1C,gBAAoB;AAIb,MAAM,SAAS,CAAC,UAAwB;AAG7C,QAAM,EAAE,QAAQ,OAAO,QAAQ,OAAO,IAAI;AAE1C,QAAM,mBAAe,qBAAO,IAAI;AAChC,QAAM,aAAS,qBAAO,IAAI;AAE1B,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AAEjD,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,OAAO,OAAO,OAAO,CAAC,KAAK,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAClF,QAAM,mBAAe,eAAI,EACtB,MAAM,SAAU,GAAG;AAClB,WAAO,EAAE;AAAA,EACX,CAAC,EACA,KAAK,IAAI,EACT,SAAS,IAAI;AAChB,QAAM,UAAU,aAAa,OAAO,QAAQ,IAAI,CAAC;AAEjD,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,OAAO,SAAS,aAAa,YAAY,QAAQ,WAAW;AAAA,EAC/D;AACF;",
4
+ "sourcesContent": ["import { useMemo, useState, useRef } from 'react';\nimport { pie } from 'd3';\n// import { useValidateTypescriptPropTypes } from '@elliemae/ds-utilities';\nimport type { DSPieT } from '../react-desc-prop-types';\n\nexport const usePie = (props: DSPieT.Props) => {\n // useValidateTypescriptPropTypes(props, propTypes);\n\n const { series, width, height, margin } = props;\n\n const containerRef = useRef(null);\n const svgRef = useRef(null);\n\n const [activeSerie, setActiveSerie] = 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 currentData = useMemo(\n () =>\n series.map((serie, i) => ({\n ...serie,\n key: `${serie.name}-${i}`,\n })),\n [series],\n );\n const data = series.reduce((acc, curr) => ({ ...acc, [curr.name]: curr.data }), {});\n const pieGenerator = pie()\n .value((d) => d[1])\n .sort(null)\n .padAngle(0.02);\n const pieData = pieGenerator(Object.entries(data));\n\n return useMemo(\n () => ({\n props,\n innerHeight,\n innerWidth,\n groups,\n svgRef,\n containerRef,\n activeSerie,\n pieData,\n setActiveSerie,\n currentData,\n }),\n [props, innerHeight, innerWidth, groups, activeSerie, pieData, currentData],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA0C;AAC1C,gBAAoB;AAIb,MAAM,SAAS,CAAC,UAAwB;AAG7C,QAAM,EAAE,QAAQ,OAAO,QAAQ,OAAO,IAAI;AAE1C,QAAM,mBAAe,qBAAO,IAAI;AAChC,QAAM,aAAS,qBAAO,IAAI;AAE1B,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AAEjD,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;AAAA,IAClB,MACE,OAAO,IAAI,CAAC,OAAO,OAAO;AAAA,MACxB,GAAG;AAAA,MACH,KAAK,GAAG,MAAM,QAAQ;AAAA,IACxB,EAAE;AAAA,IACJ,CAAC,MAAM;AAAA,EACT;AACA,QAAM,OAAO,OAAO,OAAO,CAAC,KAAK,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAClF,QAAM,mBAAe,eAAI,EACtB,MAAM,CAAC,MAAM,EAAE,EAAE,EACjB,KAAK,IAAI,EACT,SAAS,IAAI;AAChB,QAAM,UAAU,aAAa,OAAO,QAAQ,IAAI,CAAC;AAEjD,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,OAAO,aAAa,YAAY,QAAQ,aAAa,SAAS,WAAW;AAAA,EAC5E;AACF;",
6
6
  "names": []
7
7
  }
@@ -22,34 +22,30 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
- var Tooltip_exports = {};
26
- __export(Tooltip_exports, {
27
- Tooltip: () => Tooltip
25
+ var colorPallet_exports = {};
26
+ __export(colorPallet_exports, {
27
+ COLOR_PALLET: () => COLOR_PALLET
28
28
  });
29
- module.exports = __toCommonJS(Tooltip_exports);
29
+ module.exports = __toCommonJS(colorPallet_exports);
30
30
  var React = __toESM(require("react"));
31
- var import_jsx_runtime = require("react/jsx-runtime");
32
- var import_react = require("react");
33
- var import_ds_popperjs = require("@elliemae/ds-popperjs");
34
- const Tooltip = (props) => {
35
- const { children, innerRef, isTooltipShown, onFocus, onBlur, ...extraPopperJsProps } = props;
36
- const [referenceElement, setReferenceElement] = (0, import_react.useState)();
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
38
- onFocus,
39
- onBlur,
40
- tabIndex: 0,
41
- ref: setReferenceElement,
42
- className: "myclass",
43
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_popperjs.DSPopperJS, {
44
- referenceElement,
45
- showPopover: isTooltipShown,
46
- zIndex: 3e3,
47
- ...extraPopperJsProps,
48
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
49
- style: { backgroundColor: "white" },
50
- children
51
- })
52
- })
53
- });
31
+ const COLOR_PALLET = {
32
+ "blue-100": "#1E79C2",
33
+ "blue-200": "#165A91",
34
+ "blue-400": "#10426A",
35
+ "magenta-100": "#CA3981",
36
+ "magenta-200": "#832553",
37
+ "magenta-400": "#6E1F46",
38
+ "orange-100": "#B25119",
39
+ "orange-200": "#853C12",
40
+ "orange-400": "#612C0D",
41
+ "purple-100": "#8E49B2",
42
+ "purple-200": "#61327A",
43
+ "purple-400": "#4D2861",
44
+ "green-100": "#007A78",
45
+ "green-200": "#005B59",
46
+ "green-400": "#004241",
47
+ "grey-100": "#697489",
48
+ "grey-200": "#4E5666",
49
+ "grey-400": "#323842"
54
50
  };
55
- //# sourceMappingURL=Tooltip.js.map
51
+ //# sourceMappingURL=colorPallet.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/colorPallet.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export const COLOR_PALLET = {\n 'blue-100': '#1E79C2',\n 'blue-200': '#165A91',\n 'blue-400': '#10426A',\n 'magenta-100': '#CA3981',\n 'magenta-200': '#832553',\n 'magenta-400': '#6E1F46',\n 'orange-100': '#B25119',\n 'orange-200': '#853C12',\n 'orange-400': '#612C0D',\n 'purple-100': '#8E49B2',\n 'purple-200': '#61327A',\n 'purple-400': '#4D2861',\n 'green-100': '#007A78',\n 'green-200': '#005B59',\n 'green-400': '#004241',\n 'grey-100': '#697489',\n 'grey-200': '#4E5666',\n 'grey-400': '#323842',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,eAAe;AAAA,EAC1B,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AACd;",
6
+ "names": []
7
+ }
package/dist/cjs/index.js CHANGED
@@ -24,9 +24,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var src_exports = {};
26
26
  __export(src_exports, {
27
+ COLOR_PALLET: () => import_colorPallet.COLOR_PALLET,
27
28
  PieChart: () => import_Pie.PieChart
28
29
  });
29
30
  module.exports = __toCommonJS(src_exports);
30
31
  var React = __toESM(require("react"));
31
32
  var import_Pie = require("./Pie");
33
+ var import_colorPallet = require("./helpers/colorPallet");
32
34
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { PieChart } from './Pie';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iBAAyB;",
4
+ "sourcesContent": ["export { PieChart } from './Pie';\nexport { COLOR_PALLET } from './helpers/colorPallet';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iBAAyB;AACzB,yBAA6B;",
6
6
  "names": []
7
7
  }
@@ -31,13 +31,13 @@ var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var import_react = require("react");
33
33
  var import_styles = require("../styles");
34
+ var import_useKeyboardNavigation = require("../config/useKeyboardNavigation");
34
35
  var import_PieContext = require("../PieContext");
35
36
  const ChartContainer = ({ children }) => {
36
37
  const {
37
38
  props: { width, height, margin, responsive },
38
39
  containerRef,
39
- activeSerie,
40
- svgRef
40
+ activeSerie
41
41
  } = (0, import_react.useContext)(import_PieContext.PieContext);
42
42
  const dimensions = (0, import_react.useMemo)(
43
43
  () => responsive ? {
@@ -48,10 +48,15 @@ const ChartContainer = ({ children }) => {
48
48
  },
49
49
  [height, responsive, width]
50
50
  );
51
+ const { onInputKeyDown, handleOnBlur, handleOnFocus } = (0, import_useKeyboardNavigation.useKeyboardNavigation)();
51
52
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledSVGWrapper, {
52
53
  ref: containerRef,
54
+ onKeyDown: onInputKeyDown,
55
+ tabIndex: activeSerie ? -1 : 0,
56
+ onBlur: handleOnBlur,
57
+ onFocus: handleOnFocus,
58
+ onMouseDown: (e) => e.preventDefault(),
53
59
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
54
- ref: svgRef,
55
60
  ...dimensions,
56
61
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", {
57
62
  className: "container",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/ChartContainer.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { StyledSVGWrapper } from '../styles';\n\nimport { PieContext } from '../PieContext';\n// import { useKeyboardNavigation } from '../config/useKeyboardNavigation';\ninterface ChartContainerT {\n children: JSX.Element | JSX.Element[] | string | string[];\n}\nexport const ChartContainer: React.ComponentType<ChartContainerT> = ({ children }) => {\n const {\n props: { width, height, margin, responsive },\n containerRef,\n activeSerie,\n svgRef,\n } = useContext(PieContext);\n\n const dimensions = useMemo(\n () =>\n responsive\n ? {\n viewBox: `0 0 ${width} ${height}`,\n }\n : {\n width,\n height,\n },\n [height, responsive, width],\n );\n // const { onInputKeyDown, handleOnBlur, handleOnFocus } = useKeyboardNavigation();\n return (\n <StyledSVGWrapper\n ref={containerRef}\n // onKeyDown={onInputKeyDown}\n // aria-hidden=\"true\"\n // tabIndex={activeSerie ? -1 : 0}\n // onBlur={handleOnBlur}\n // onFocus={handleOnFocus}\n // onMouseDown={(e) => e.preventDefault()}\n >\n <svg ref={svgRef} {...dimensions}>\n <g className=\"container\" transform={`translate(${margin.left},${margin.top})`}>\n {children}\n </g>\n </svg>\n </StyledSVGWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA2C;AAC3C,oBAAiC;AAEjC,wBAA2B;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,WAAW;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,4BAAU;AAEzB,QAAM,iBAAa;AAAA,IACjB,MACE,aACI;AAAA,MACE,SAAS,OAAO,SAAS;AAAA,IAC3B,IACA;AAAA,MACE;AAAA,MACA;AAAA,IACF;AAAA,IACN,CAAC,QAAQ,YAAY,KAAK;AAAA,EAC5B;AAEA,SACE,4CAAC;AAAA,IACC,KAAK;AAAA,IAQL,sDAAC;AAAA,MAAI,KAAK;AAAA,MAAS,GAAG;AAAA,MACpB,sDAAC;AAAA,QAAE,WAAU;AAAA,QAAY,WAAW,aAAa,OAAO,QAAQ,OAAO;AAAA,QACpE;AAAA,OACH;AAAA,KACF;AAAA,GACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useContext, useMemo } from 'react';\nimport { StyledSVGWrapper } from '../styles';\nimport { useKeyboardNavigation } from '../config/useKeyboardNavigation';\nimport { PieContext } from '../PieContext';\n// import { useKeyboardNavigation } from '../config/useKeyboardNavigation';\ninterface ChartContainerT {\n children: JSX.Element | JSX.Element[] | string | string[];\n}\nexport const ChartContainer: React.ComponentType<ChartContainerT> = ({ children }) => {\n const {\n props: { width, height, margin, responsive },\n containerRef,\n activeSerie,\n } = useContext(PieContext);\n\n const dimensions = useMemo(\n () =>\n responsive\n ? {\n viewBox: `0 0 ${width} ${height}`,\n }\n : {\n width,\n height,\n },\n [height, responsive, width],\n );\n const { onInputKeyDown, handleOnBlur, handleOnFocus } = useKeyboardNavigation();\n return (\n <StyledSVGWrapper\n ref={containerRef}\n onKeyDown={onInputKeyDown}\n // aria-hidden=\"true\"\n tabIndex={activeSerie ? -1 : 0}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n onMouseDown={(e) => e.preventDefault()}\n >\n <svg {...dimensions}>\n <g className=\"container\" transform={`translate(${margin.left},${margin.top})`}>\n {children}\n </g>\n </svg>\n </StyledSVGWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAA2C;AAC3C,oBAAiC;AACjC,mCAAsC;AACtC,wBAA2B;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,WAAW;AAAA,IAC3C;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,4BAAU;AAEzB,QAAM,iBAAa;AAAA,IACjB,MACE,aACI;AAAA,MACE,SAAS,OAAO,SAAS;AAAA,IAC3B,IACA;AAAA,MACE;AAAA,MACA;AAAA,IACF;AAAA,IACN,CAAC,QAAQ,YAAY,KAAK;AAAA,EAC5B;AACA,QAAM,EAAE,gBAAgB,cAAc,cAAc,QAAI,oDAAsB;AAC9E,SACE,4CAAC;AAAA,IACC,KAAK;AAAA,IACL,WAAW;AAAA,IAEX,UAAU,cAAc,KAAK;AAAA,IAC7B,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,IAErC,sDAAC;AAAA,MAAK,GAAG;AAAA,MACP,sDAAC;AAAA,QAAE,WAAU;AAAA,QAAY,WAAW,aAAa,OAAO,QAAQ,OAAO;AAAA,QACpE;AAAA,OACH;AAAA,KACF;AAAA,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -32,6 +32,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var import_react = require("react");
33
33
  var import_Slice = require("./Slice");
34
34
  var import_PieContext = require("../PieContext");
35
+ var import_styles = require("../styles");
35
36
  const Pie = () => {
36
37
  const {
37
38
  innerHeight,
@@ -47,14 +48,14 @@ const Pie = () => {
47
48
  pieData.map((slice) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Slice.Slice, {
48
49
  data: slice
49
50
  }, slice.index)),
50
- !isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", {
51
+ !isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, {
51
52
  x: 0,
52
53
  y: 0,
53
54
  textAnchor: "middle",
54
55
  alignmentBaseline: "middle",
55
56
  children: label
56
57
  }) : null,
57
- isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", {
58
+ isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, {
58
59
  x: 0,
59
60
  y: -innerRadius / 4,
60
61
  textAnchor: "middle",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/Pie.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { Slice } from './Slice';\nimport { PieContext } from '../PieContext';\n\nexport const Pie = () => {\n const {\n innerHeight,\n innerWidth,\n pieData,\n\n props: { isHalfPie, label, innerRadius },\n } = useContext(PieContext);\n\n const radius = Math.min(innerWidth, innerHeight) / 2;\n\n const currentInnerHeight = isHalfPie ? innerHeight : innerHeight / 2;\n return (\n <g transform={`translate(${innerWidth / 2},${currentInnerHeight})`}>\n {pieData.map((slice) => (\n <Slice key={slice.index} data={slice} />\n ))}\n {!isHalfPie && label ? (\n <text x={0} y={0} textAnchor=\"middle\" alignmentBaseline=\"middle\">\n {label}\n </text>\n ) : null}\n {isHalfPie && label ? (\n <text x={0} y={-innerRadius / 4} textAnchor=\"middle\" alignmentBaseline=\"middle\">\n {label}\n </text>\n ) : null}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAkC;AAClC,mBAAsB;AACtB,wBAA2B;AAEpB,MAAM,MAAM,MAAM;AACvB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IAEA,OAAO,EAAE,WAAW,OAAO,YAAY;AAAA,EACzC,QAAI,yBAAW,4BAAU;AAEzB,QAAM,SAAS,KAAK,IAAI,YAAY,WAAW,IAAI;AAEnD,QAAM,qBAAqB,YAAY,cAAc,cAAc;AACnE,SACE,6CAAC;AAAA,IAAE,WAAW,aAAa,aAAa,KAAK;AAAA,IAC1C;AAAA,cAAQ,IAAI,CAAC,UACZ,4CAAC;AAAA,QAAwB,MAAM;AAAA,SAAnB,MAAM,KAAoB,CACvC;AAAA,MACA,CAAC,aAAa,QACb,4CAAC;AAAA,QAAK,GAAG;AAAA,QAAG,GAAG;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QACrD;AAAA,OACH,IACE;AAAA,MACH,aAAa,QACZ,4CAAC;AAAA,QAAK,GAAG;AAAA,QAAG,GAAG,CAAC,cAAc;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QACpE;AAAA,OACH,IACE;AAAA;AAAA,GACN;AAEJ;",
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { Slice } from './Slice';\nimport { PieContext } from '../PieContext';\nimport { StyledInnerText } from '../styles';\nexport const Pie = () => {\n const {\n innerHeight,\n innerWidth,\n pieData,\n\n props: { isHalfPie, label, innerRadius },\n } = useContext(PieContext);\n\n const radius = Math.min(innerWidth, innerHeight) / 2;\n\n const currentInnerHeight = isHalfPie ? innerHeight : innerHeight / 2;\n return (\n <g transform={`translate(${innerWidth / 2},${currentInnerHeight})`}>\n {pieData.map((slice) => (\n <Slice key={slice.index} data={slice} />\n ))}\n {!isHalfPie && label ? (\n <StyledInnerText x={0} y={0} textAnchor=\"middle\" alignmentBaseline=\"middle\">\n {label}\n </StyledInnerText>\n ) : null}\n {isHalfPie && label ? (\n <StyledInnerText x={0} y={-innerRadius / 4} textAnchor=\"middle\" alignmentBaseline=\"middle\">\n {label}\n </StyledInnerText>\n ) : null}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAkC;AAClC,mBAAsB;AACtB,wBAA2B;AAC3B,oBAAgC;AACzB,MAAM,MAAM,MAAM;AACvB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IAEA,OAAO,EAAE,WAAW,OAAO,YAAY;AAAA,EACzC,QAAI,yBAAW,4BAAU;AAEzB,QAAM,SAAS,KAAK,IAAI,YAAY,WAAW,IAAI;AAEnD,QAAM,qBAAqB,YAAY,cAAc,cAAc;AACnE,SACE,6CAAC;AAAA,IAAE,WAAW,aAAa,aAAa,KAAK;AAAA,IAC1C;AAAA,cAAQ,IAAI,CAAC,UACZ,4CAAC;AAAA,QAAwB,MAAM;AAAA,SAAnB,MAAM,KAAoB,CACvC;AAAA,MACA,CAAC,aAAa,QACb,4CAAC;AAAA,QAAgB,GAAG;AAAA,QAAG,GAAG;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QAChE;AAAA,OACH,IACE;AAAA,MACH,aAAa,QACZ,4CAAC;AAAA,QAAgB,GAAG;AAAA,QAAG,GAAG,CAAC,cAAc;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QAC/E;AAAA,OACH,IACE;AAAA;AAAA,GACN;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -31,69 +31,84 @@ var React = __toESM(require("react"));
31
31
  var import_jsx_runtime = require("react/jsx-runtime");
32
32
  var import_react = require("react");
33
33
  var import_d3 = require("d3");
34
+ var import_ds_popperjs = require("@elliemae/ds-popperjs");
34
35
  var import_PieContext = require("../PieContext");
35
- var import_Tooltip = require("./Tooltip");
36
+ var import_colorPallet = require("../helpers/colorPallet");
37
+ var import_styles = require("../styles");
36
38
  const Slice = ({ data }) => {
37
39
  const {
38
40
  innerHeight,
39
41
  innerWidth,
40
42
  activeSerie,
41
43
  setActiveSerie,
42
- props: { series, innerRadius: innerRadiusProp, isHalfPie, TooltipRenderer }
44
+ props: { series, innerRadius, isHalfPie, TooltipRenderer }
43
45
  } = (0, import_react.useContext)(import_PieContext.PieContext);
44
- const [isTooltipShown, setIsTooltipShown] = (0, import_react.useState)(false);
45
- const innerRadius = innerRadiusProp ?? 0;
46
- const tooltipRef = (0, import_react.useRef)(null);
47
46
  const arcRef = (0, import_react.useRef)(null);
47
+ const arcFocusedRef = (0, import_react.useRef)(null);
48
48
  const radius = isHalfPie ? Math.min(innerWidth, innerHeight) : Math.min(innerWidth, innerHeight) / 2;
49
- const { startAngle, endAngle, index, value } = data;
49
+ const { startAngle, endAngle, index } = data;
50
50
  const currentStartAngle = isHalfPie ? startAngle / 2 : startAngle;
51
51
  const currentEndAngle = isHalfPie ? endAngle / 2 : endAngle;
52
52
  const serieData = series?.find((serie) => serie.name === data.data[0]);
53
53
  const { color, name } = serieData;
54
- const sliceData = (0, import_d3.arc)().innerRadius(innerRadius).outerRadius(radius).startAngle(currentStartAngle).endAngle(currentEndAngle);
54
+ const sliceData = (0, import_react.useMemo)(
55
+ () => (0, import_d3.arc)().innerRadius(innerRadius ?? 0).outerRadius(radius).startAngle(currentStartAngle).endAngle(currentEndAngle)(),
56
+ [currentEndAngle, currentStartAngle, innerRadius, radius]
57
+ );
58
+ const sliceOver = (0, import_react.useMemo)(
59
+ () => (0, import_d3.arc)().innerRadius(innerRadius ?? 0).outerRadius(radius + 5).startAngle(currentStartAngle).endAngle(currentEndAngle),
60
+ [currentEndAngle, currentStartAngle, innerRadius, radius]
61
+ );
55
62
  const deltaAngle = currentStartAngle + (currentEndAngle - currentStartAngle) / 2;
56
63
  const x = radius * Math.sin(deltaAngle);
57
64
  const y = -radius * Math.cos(deltaAngle);
58
- const isOpen = (0, import_react.useMemo)(
59
- () => activeSerie === "" && isTooltipShown || activeSerie === `${name}-${index}` && !isTooltipShown,
60
- [activeSerie, index, isTooltipShown, name]
61
- );
65
+ const isFocus = (0, import_react.useMemo)(() => activeSerie === `${name}-${index}`, [activeSerie, index, name]);
66
+ const [isHover, setIsHover] = (0, import_react.useState)(false);
62
67
  (0, import_react.useEffect)(() => {
63
68
  if (arcRef.current) {
64
- (0, import_d3.select)(arcRef.current).attr("d", sliceData());
69
+ (0, import_d3.select)(arcRef.current).attr("d", sliceData);
65
70
  }
66
- }, [sliceData]);
71
+ }, [sliceData, sliceOver]);
72
+ const [referenceElement, setReferenceElement] = (0, import_react.useState)();
73
+ const handleMouseEnter = (0, import_react.useCallback)(() => {
74
+ setActiveSerie(`${name}-${index}`);
75
+ setIsHover(true);
76
+ if (!isHalfPie)
77
+ (0, import_d3.select)(arcRef.current).transition().attr("d", sliceOver).duration(300);
78
+ }, [index, isHalfPie, name, setActiveSerie, sliceOver]);
79
+ const handleOnMouseLeave = (0, import_react.useCallback)(() => {
80
+ setActiveSerie("");
81
+ setIsHover(false);
82
+ if (!isHalfPie)
83
+ (0, import_d3.select)(arcRef.current).transition().attr("d", sliceData).duration(300);
84
+ }, [isHalfPie, setActiveSerie, sliceData]);
67
85
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", {
68
- onMouseEnter: () => {
69
- setActiveSerie("");
70
- setIsTooltipShown(true);
71
- },
72
- onMouseLeave: (e) => {
73
- setIsTooltipShown(false);
74
- },
86
+ onMouseEnter: handleMouseEnter,
87
+ onMouseLeave: handleOnMouseLeave,
75
88
  transform: isHalfPie ? "rotate(-90)" : "",
76
89
  children: [
77
90
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
78
91
  ref: arcRef,
79
- fill: color,
92
+ fill: import_colorPallet.COLOR_PALLET[color] ?? color,
80
93
  stroke: "white"
81
94
  }),
82
- name !== "no-data" && TooltipRenderer && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("foreignObject", {
95
+ name !== "no-data" && TooltipRenderer && isFocus && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("foreignObject", {
83
96
  x,
84
97
  y,
85
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Tooltip.Tooltip, {
86
- isTooltipShown: isOpen,
87
- withoutAnimation: true,
88
- onFocus: () => {
89
- setActiveSerie(`${name}-${index}`);
90
- },
91
- onBlur: () => {
92
- setActiveSerie("");
93
- },
94
- startPlacementPreference: "bottom",
95
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipRenderer, {
96
- data: serieData
98
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
99
+ ref: setReferenceElement,
100
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_popperjs.DSPopperJS, {
101
+ referenceElement,
102
+ showPopover: true,
103
+ zIndex: 3e3,
104
+ children: [
105
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledTooltipContainer, {
106
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipRenderer, {
107
+ data: serieData
108
+ })
109
+ }),
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledMouseOverDetectionBox, {})
111
+ ]
97
112
  })
98
113
  })
99
114
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/Slice.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useState, useEffect, useMemo, useRef, useContext } from 'react';\nimport { arc, select } from 'd3';\nimport { PieContext } from '../PieContext';\nimport { Tooltip } from './Tooltip';\nexport const Slice = ({ data }) => {\n const {\n innerHeight,\n innerWidth,\n activeSerie,\n setActiveSerie,\n props: { series, innerRadius: innerRadiusProp, isHalfPie, TooltipRenderer },\n } = useContext(PieContext);\n\n const [isTooltipShown, setIsTooltipShown] = useState(false);\n\n const innerRadius = innerRadiusProp ?? 0;\n const tooltipRef = useRef(null);\n const arcRef = useRef(null);\n\n const radius = isHalfPie ? Math.min(innerWidth, innerHeight) : Math.min(innerWidth, innerHeight) / 2;\n const { startAngle, endAngle, index, value } = data;\n const currentStartAngle = isHalfPie ? startAngle / 2 : startAngle;\n const currentEndAngle = isHalfPie ? endAngle / 2 : endAngle;\n\n const serieData = series?.find((serie) => serie.name === data.data[0]);\n const { color, name } = serieData;\n\n const sliceData = arc()\n .innerRadius(innerRadius)\n .outerRadius(radius)\n .startAngle(currentStartAngle)\n .endAngle(currentEndAngle);\n const deltaAngle = currentStartAngle + (currentEndAngle - currentStartAngle) / 2;\n const x = radius * Math.sin(deltaAngle);\n const y = -radius * Math.cos(deltaAngle);\n\n const isOpen = useMemo(\n () => (activeSerie === '' && isTooltipShown) || (activeSerie === `${name}-${index}` && !isTooltipShown),\n [activeSerie, index, isTooltipShown, name],\n );\n\n useEffect(() => {\n if (arcRef.current) {\n select(arcRef.current).attr('d', sliceData());\n }\n }, [sliceData]);\n\n return (\n <g\n onMouseEnter={() => {\n setActiveSerie('');\n setIsTooltipShown(true);\n }}\n onMouseLeave={(e) => {\n setIsTooltipShown(false);\n }}\n transform={isHalfPie ? 'rotate(-90)' : ''}\n >\n <path ref={arcRef} fill={color} stroke=\"white\"></path>\n {name !== 'no-data' && TooltipRenderer && (\n <foreignObject x={x} y={y}>\n <Tooltip\n isTooltipShown={isOpen}\n withoutAnimation\n onFocus={() => {\n setActiveSerie(`${name}-${index}`);\n }}\n onBlur={() => {\n setActiveSerie('');\n }}\n startPlacementPreference=\"bottom\"\n >\n <TooltipRenderer data={serieData} />\n </Tooltip>\n </foreignObject>\n )}\n\n {/* {isOpen && (\n <g>\n <circle r=\"5\" fill={color} cx={x} cy={y} stroke=\"black\" />\n </g>\n )} */}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB;AAAA,mBAAwE;AACxE,gBAA4B;AAC5B,wBAA2B;AAC3B,qBAAwB;AACjB,MAAM,QAAQ,CAAC,EAAE,KAAK,MAAM;AACjC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ,aAAa,iBAAiB,WAAW,gBAAgB;AAAA,EAC5E,QAAI,yBAAW,4BAAU;AAEzB,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAS,KAAK;AAE1D,QAAM,cAAc,mBAAmB;AACvC,QAAM,iBAAa,qBAAO,IAAI;AAC9B,QAAM,aAAS,qBAAO,IAAI;AAE1B,QAAM,SAAS,YAAY,KAAK,IAAI,YAAY,WAAW,IAAI,KAAK,IAAI,YAAY,WAAW,IAAI;AACnG,QAAM,EAAE,YAAY,UAAU,OAAO,MAAM,IAAI;AAC/C,QAAM,oBAAoB,YAAY,aAAa,IAAI;AACvD,QAAM,kBAAkB,YAAY,WAAW,IAAI;AAEnD,QAAM,YAAY,QAAQ,KAAK,CAAC,UAAU,MAAM,SAAS,KAAK,KAAK,EAAE;AACrE,QAAM,EAAE,OAAO,KAAK,IAAI;AAExB,QAAM,gBAAY,eAAI,EACnB,YAAY,WAAW,EACvB,YAAY,MAAM,EAClB,WAAW,iBAAiB,EAC5B,SAAS,eAAe;AAC3B,QAAM,aAAa,qBAAqB,kBAAkB,qBAAqB;AAC/E,QAAM,IAAI,SAAS,KAAK,IAAI,UAAU;AACtC,QAAM,IAAI,CAAC,SAAS,KAAK,IAAI,UAAU;AAEvC,QAAM,aAAS;AAAA,IACb,MAAO,gBAAgB,MAAM,kBAAoB,gBAAgB,GAAG,QAAQ,WAAW,CAAC;AAAA,IACxF,CAAC,aAAa,OAAO,gBAAgB,IAAI;AAAA,EAC3C;AAEA,8BAAU,MAAM;AACd,QAAI,OAAO,SAAS;AAClB,4BAAO,OAAO,OAAO,EAAE,KAAK,KAAK,UAAU,CAAC;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,SACE,6CAAC;AAAA,IACC,cAAc,MAAM;AAClB,qBAAe,EAAE;AACjB,wBAAkB,IAAI;AAAA,IACxB;AAAA,IACA,cAAc,CAAC,MAAM;AACnB,wBAAkB,KAAK;AAAA,IACzB;AAAA,IACA,WAAW,YAAY,gBAAgB;AAAA,IAEvC;AAAA,kDAAC;AAAA,QAAK,KAAK;AAAA,QAAQ,MAAM;AAAA,QAAO,QAAO;AAAA,OAAQ;AAAA,MAC9C,SAAS,aAAa,mBACrB,4CAAC;AAAA,QAAc;AAAA,QAAM;AAAA,QACnB,sDAAC;AAAA,UACC,gBAAgB;AAAA,UAChB,kBAAgB;AAAA,UAChB,SAAS,MAAM;AACb,2BAAe,GAAG,QAAQ,OAAO;AAAA,UACnC;AAAA,UACA,QAAQ,MAAM;AACZ,2BAAe,EAAE;AAAA,UACnB;AAAA,UACA,0BAAyB;AAAA,UAEzB,sDAAC;AAAA,YAAgB,MAAM;AAAA,WAAW;AAAA,SACpC;AAAA,OACF;AAAA;AAAA,GAQJ;AAEJ;",
4
+ "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport React, { useState, useEffect, useCallback, useMemo, useRef, useContext } from 'react';\nimport { arc, select } from 'd3';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { PieContext } from '../PieContext';\nimport { COLOR_PALLET } from '../helpers/colorPallet';\nimport { StyledTooltipContainer, StyledMouseOverDetectionBox } from '../styles';\nexport const Slice = ({ data }) => {\n const {\n innerHeight,\n innerWidth,\n activeSerie,\n setActiveSerie,\n props: { series, innerRadius, isHalfPie, TooltipRenderer },\n } = useContext(PieContext);\n\n const arcRef = useRef(null);\n const arcFocusedRef = useRef(null);\n\n const radius = isHalfPie ? Math.min(innerWidth, innerHeight) : Math.min(innerWidth, innerHeight) / 2;\n const { startAngle, endAngle, index } = data;\n const currentStartAngle = isHalfPie ? startAngle / 2 : startAngle;\n const currentEndAngle = isHalfPie ? endAngle / 2 : endAngle;\n\n const serieData = series?.find((serie) => serie.name === data.data[0]);\n const { color, name } = serieData;\n\n const sliceData = useMemo(\n () =>\n arc()\n .innerRadius(innerRadius ?? 0)\n .outerRadius(radius)\n .startAngle(currentStartAngle)\n .endAngle(currentEndAngle)(),\n [currentEndAngle, currentStartAngle, innerRadius, radius],\n );\n\n const sliceOver = useMemo(\n () =>\n arc()\n .innerRadius(innerRadius ?? 0)\n .outerRadius(radius + 5)\n .startAngle(currentStartAngle)\n .endAngle(currentEndAngle),\n [currentEndAngle, currentStartAngle, innerRadius, radius],\n );\n\n // const sliceFocus = useMemo(\n // () =>\n // arc()\n // .innerRadius(innerRadius ?? 0)\n // .outerRadius(radius + 5)\n // .startAngle(currentStartAngle + 5)\n // .endAngle(currentEndAngle + 5),\n // [currentEndAngle, currentStartAngle, innerRadius, radius],\n // );\n\n const deltaAngle = currentStartAngle + (currentEndAngle - currentStartAngle) / 2;\n const x = radius * Math.sin(deltaAngle);\n const y = -radius * Math.cos(deltaAngle);\n\n const isFocus = useMemo(() => activeSerie === `${name}-${index}`, [activeSerie, index, name]);\n const [isHover, setIsHover] = useState(false);\n useEffect(() => {\n if (arcRef.current) {\n select(arcRef.current).attr('d', sliceData);\n }\n // if (arcFocusedRef.current) {\n // select(arcFocusedRef.current).attr('d', sliceFocus);\n // }\n }, [sliceData, sliceOver]);\n\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>();\n\n const handleMouseEnter = useCallback(() => {\n setActiveSerie(`${name}-${index}`);\n setIsHover(true);\n if (!isHalfPie) select(arcRef.current).transition().attr('d', sliceOver).duration(300);\n }, [index, isHalfPie, name, setActiveSerie, sliceOver]);\n\n const handleOnMouseLeave = useCallback(() => {\n setActiveSerie('');\n setIsHover(false);\n if (!isHalfPie) select(arcRef.current).transition().attr('d', sliceData).duration(300);\n }, [isHalfPie, setActiveSerie, sliceData]);\n return (\n <g onMouseEnter={handleMouseEnter} onMouseLeave={handleOnMouseLeave} transform={isHalfPie ? 'rotate(-90)' : ''}>\n <path ref={arcRef} fill={COLOR_PALLET[color] ?? color} stroke=\"white\"></path>\n {/* <path\n ref={arcFocusedRef}\n fill=\"none\"\n stroke=\"#335cad\"\n stoke-width={2}\n style={{ visibility: isFocus && !isHover ? 'visible' : 'hidden' }}\n ></path> */}\n\n {name !== 'no-data' && TooltipRenderer && isFocus && (\n <foreignObject x={x} y={y}>\n <div ref={setReferenceElement}>\n <DSPopperJS referenceElement={referenceElement} showPopover zIndex={3000}>\n <StyledTooltipContainer>\n <TooltipRenderer data={serieData} />\n </StyledTooltipContainer>\n <StyledMouseOverDetectionBox />\n </DSPopperJS>\n </div>\n </foreignObject>\n )}\n </g>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }