@elliemae/ds-dataviz-pie 3.12.0-rc.2 → 3.12.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Pie.js CHANGED
@@ -36,14 +36,9 @@ var import_usePie = require("./config/usePie");
36
36
  var import_ColorLegend = require("./parts/ColorLegend");
37
37
  const PieChart = (props) => {
38
38
  const ctx = (0, import_usePie.usePie)(props);
39
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PieContext.PieContext.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_Pie.Pie, {})
45
- ]
46
- })
47
- });
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PieContext.PieContext.Provider, { value: ctx, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ChartContainer.ChartContainer, { children: [
40
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ColorLegend.ColorLegend, {}),
41
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Pie.Pie, {})
42
+ ] }) });
48
43
  };
49
44
  //# sourceMappingURL=Pie.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/Pie.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React from 'react';\nimport { ChartContainer } from './parts/ChartContainer';\nimport { Pie } from './parts/Pie';\nimport { PieContext } from './PieContext';\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 <PieContext.Provider value={ctx}>\n <ChartContainer>\n <ColorLegend />\n <Pie />\n </ChartContainer>\n </PieContext.Provider>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADWjB;AAVN,4BAA+B;AAC/B,iBAAoB;AACpB,wBAA2B;AAC3B,oBAAuB;AAEvB,yBAA4B;AACrB,MAAM,WAA8C,CAAC,UAAU;AACpE,QAAM,UAAM,sBAAO,KAAK;AACxB,SACE,4CAAC,6BAAW,UAAX;AAAA,IAAoB,OAAO;AAAA,IAC1B,uDAAC;AAAA,MACC;AAAA,oDAAC,kCAAY;AAAA,QACb,4CAAC,kBAAI;AAAA;AAAA,KACP;AAAA,GACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADWjB;AAVN,4BAA+B;AAC/B,iBAAoB;AACpB,wBAA2B;AAC3B,oBAAuB;AAEvB,yBAA4B;AACrB,MAAM,WAA8C,CAAC,UAAU;AACpE,QAAM,UAAM,sBAAO,KAAK;AACxB,SACE,4CAAC,6BAAW,UAAX,EAAoB,OAAO,KAC1B,uDAAC,wCACC;AAAA,gDAAC,kCAAY;AAAA,IACb,4CAAC,kBAAI;AAAA,KACP,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -57,32 +57,31 @@ const ChartContainer = ({ children }) => {
57
57
  return radius * 0.1;
58
58
  });
59
59
  const { onInputKeyDown, handleOnBlur, handleOnFocus } = (0, import_useKeyboardNavigation.useKeyboardNavigation)();
60
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledSVGWrapper, {
61
- ref: containerRef,
62
- onKeyDown: onInputKeyDown,
63
- tabIndex: activeSerie ? -1 : 0,
64
- onBlur: handleOnBlur,
65
- onFocus: handleOnFocus,
66
- onMouseDown: (e) => e.preventDefault(),
67
- style: { width: `${width}px`, height: `${height}px` },
68
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
69
- ...dimensions,
70
- children: [
71
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", {
72
- className: "container",
73
- transform: `translate(${margin.left + marginRadius},${margin.top + marginRadius})`,
74
- children
75
- }),
76
- hasBaseline ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("line", {
77
- x1: 0,
78
- x2: width,
79
- y1: innerHeight + marginRadius,
80
- y2: innerHeight + marginRadius,
81
- stroke: "grey",
82
- strokeWidth: "2"
83
- }) : null
84
- ]
85
- })
86
- });
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
+ import_styles.StyledSVGWrapper,
62
+ {
63
+ ref: containerRef,
64
+ onKeyDown: onInputKeyDown,
65
+ tabIndex: activeSerie ? -1 : 0,
66
+ onBlur: handleOnBlur,
67
+ onFocus: handleOnFocus,
68
+ onMouseDown: (e) => e.preventDefault(),
69
+ style: { width: `${width}px`, height: `${height}px` },
70
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { ...dimensions, children: [
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("g", { className: "container", transform: `translate(${margin.left + marginRadius},${margin.top + marginRadius})`, children }),
72
+ hasBaseline ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
73
+ "line",
74
+ {
75
+ x1: 0,
76
+ x2: width,
77
+ y1: innerHeight + marginRadius,
78
+ y2: innerHeight + marginRadius,
79
+ stroke: "grey",
80
+ strokeWidth: "2"
81
+ }
82
+ ) : null
83
+ ] })
84
+ }
85
+ );
87
86
  };
88
87
  //# sourceMappingURL=ChartContainer.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/ChartContainer.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
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, hasBaseline, isHalfPie },\n containerRef,\n innerHeight,\n radius,\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\n const marginRadius = useMemo(() => {\n if (isHalfPie) {\n return radius * 0.1;\n }\n return radius * 0.1;\n });\n const { onInputKeyDown, handleOnBlur, handleOnFocus } = useKeyboardNavigation();\n\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 style={{ width: `${width}px`, height: `${height}px` }}\n >\n <svg {...dimensions}>\n <g className=\"container\" transform={`translate(${margin.left + marginRadius},${margin.top + marginRadius})`}>\n {children}\n </g>\n {hasBaseline ? (\n <line\n x1={0}\n x2={width}\n y1={innerHeight + marginRadius}\n y2={innerHeight + marginRadius}\n stroke=\"grey\"\n strokeWidth=\"2\"\n />\n ) : null}\n </svg>\n </StyledSVGWrapper>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiDjB;AAjDN,mBAA2C;AAC3C,oBAAiC;AACjC,mCAAsC;AACtC,wBAA2B;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,YAAY,aAAa,UAAU;AAAA,IACnE;AAAA,IACA;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,QAAM,mBAAe,sBAAQ,MAAM;AACjC,QAAI,WAAW;AACb,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS;AAAA,EAClB,CAAC;AACD,QAAM,EAAE,gBAAgB,cAAc,cAAc,QAAI,oDAAsB;AAE9E,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,IACrC,OAAO,EAAE,OAAO,GAAG,WAAW,QAAQ,GAAG,WAAW;AAAA,IAEpD,uDAAC;AAAA,MAAK,GAAG;AAAA,MACP;AAAA,oDAAC;AAAA,UAAE,WAAU;AAAA,UAAY,WAAW,aAAa,OAAO,OAAO,gBAAgB,OAAO,MAAM;AAAA,UACzF;AAAA,SACH;AAAA,QACC,cACC,4CAAC;AAAA,UACC,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI,cAAc;AAAA,UAClB,IAAI,cAAc;AAAA,UAClB,QAAO;AAAA,UACP,aAAY;AAAA,SACd,IACE;AAAA;AAAA,KACN;AAAA,GACF;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiDjB;AAjDN,mBAA2C;AAC3C,oBAAiC;AACjC,mCAAsC;AACtC,wBAA2B;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,YAAY,aAAa,UAAU;AAAA,IACnE;AAAA,IACA;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,QAAM,mBAAe,sBAAQ,MAAM;AACjC,QAAI,WAAW;AACb,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS;AAAA,EAClB,CAAC;AACD,QAAM,EAAE,gBAAgB,cAAc,cAAc,QAAI,oDAAsB;AAE9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW;AAAA,MAEX,UAAU,cAAc,KAAK;AAAA,MAC7B,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,MACrC,OAAO,EAAE,OAAO,GAAG,WAAW,QAAQ,GAAG,WAAW;AAAA,MAEpD,uDAAC,SAAK,GAAG,YACP;AAAA,oDAAC,OAAE,WAAU,aAAY,WAAW,aAAa,OAAO,OAAO,gBAAgB,OAAO,MAAM,iBACzF,UACH;AAAA,QACC,cACC;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI,cAAc;AAAA,YAClB,IAAI,cAAc;AAAA,YAClB,QAAO;AAAA,YACP,aAAY;AAAA;AAAA,QACd,IACE;AAAA,SACN;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -39,32 +39,12 @@ const ColorLegend = ({ tickSpacing = 20, tickSize = 10, tickTextOffset = 20 }) =
39
39
  } = (0, import_react.useContext)(import_PieContext.PieContext);
40
40
  if (!colorLegend)
41
41
  return null;
42
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", {
43
- transform: `translate(${innerWidth + 30},30)`,
44
- children: [
45
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", {
46
- x: 35,
47
- y: -25,
48
- className: "axis-label",
49
- textAnchor: "middle",
50
- children: colorLegend.label
51
- }),
52
- colorScale.domain().map((domainValue, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", {
53
- className: "tick",
54
- transform: `translate(0,${i * tickSpacing})`,
55
- children: [
56
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", {
57
- fill: colorScale(domainValue),
58
- r: circleRadius ?? tickSize
59
- }),
60
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", {
61
- x: tickTextOffset,
62
- dy: ".32em",
63
- children: domainValue
64
- })
65
- ]
66
- }))
67
- ]
68
- });
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { transform: `translate(${innerWidth + 30},30)`, children: [
43
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { x: 35, y: -25, className: "axis-label", textAnchor: "middle", children: colorLegend.label }),
44
+ colorScale.domain().map((domainValue, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { className: "tick", transform: `translate(0,${i * tickSpacing})`, children: [
45
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { fill: colorScale(domainValue), r: circleRadius ?? tickSize }),
46
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { x: tickTextOffset, dy: ".32em", children: domainValue })
47
+ ] }))
48
+ ] });
69
49
  };
70
50
  //# sourceMappingURL=ColorLegend.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/ColorLegend.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useContext } from 'react';\nimport { PieContext } from '../PieContext';\n\nexport const ColorLegend = ({ tickSpacing = 20, tickSize = 10, tickTextOffset = 20 }) => {\n const {\n colorScale,\n innerWidth,\n props: { colorLegend, circleRadius },\n } = useContext(PieContext);\n\n if (!colorLegend) return null;\n return (\n <g transform={`translate(${innerWidth + 30},30)`}>\n <text x={35} y={-25} className=\"axis-label\" textAnchor=\"middle\">\n {colorLegend.label}\n </text>\n {colorScale.domain().map((domainValue, i) => (\n <g className=\"tick\" transform={`translate(0,${i * tickSpacing})`}>\n <circle fill={colorScale(domainValue)} r={circleRadius ?? tickSize} />\n <text x={tickTextOffset} dy=\".32em\">\n {domainValue}\n </text>\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;ADajB;AAbN,mBAAkC;AAClC,wBAA2B;AAEpB,MAAM,cAAc,CAAC,EAAE,cAAc,IAAI,WAAW,IAAI,iBAAiB,GAAG,MAAM;AACvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,aAAa,aAAa;AAAA,EACrC,QAAI,yBAAW,4BAAU;AAEzB,MAAI,CAAC;AAAa,WAAO;AACzB,SACE,6CAAC;AAAA,IAAE,WAAW,aAAa,aAAa;AAAA,IACtC;AAAA,kDAAC;AAAA,QAAK,GAAG;AAAA,QAAI,GAAG;AAAA,QAAK,WAAU;AAAA,QAAa,YAAW;AAAA,QACpD,sBAAY;AAAA,OACf;AAAA,MACC,WAAW,OAAO,EAAE,IAAI,CAAC,aAAa,MACrC,6CAAC;AAAA,QAAE,WAAU;AAAA,QAAO,WAAW,eAAe,IAAI;AAAA,QAChD;AAAA,sDAAC;AAAA,YAAO,MAAM,WAAW,WAAW;AAAA,YAAG,GAAG,gBAAgB;AAAA,WAAU;AAAA,UACpE,4CAAC;AAAA,YAAK,GAAG;AAAA,YAAgB,IAAG;AAAA,YACzB;AAAA,WACH;AAAA;AAAA,OACF,CACD;AAAA;AAAA,GACH;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADajB;AAbN,mBAAkC;AAClC,wBAA2B;AAEpB,MAAM,cAAc,CAAC,EAAE,cAAc,IAAI,WAAW,IAAI,iBAAiB,GAAG,MAAM;AACvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,aAAa,aAAa;AAAA,EACrC,QAAI,yBAAW,4BAAU;AAEzB,MAAI,CAAC;AAAa,WAAO;AACzB,SACE,6CAAC,OAAE,WAAW,aAAa,aAAa,UACtC;AAAA,gDAAC,UAAK,GAAG,IAAI,GAAG,KAAK,WAAU,cAAa,YAAW,UACpD,sBAAY,OACf;AAAA,IACC,WAAW,OAAO,EAAE,IAAI,CAAC,aAAa,MACrC,6CAAC,OAAE,WAAU,QAAO,WAAW,eAAe,IAAI,gBAChD;AAAA,kDAAC,YAAO,MAAM,WAAW,WAAW,GAAG,GAAG,gBAAgB,UAAU;AAAA,MACpE,4CAAC,UAAK,GAAG,gBAAgB,IAAG,SACzB,uBACH;AAAA,OACF,CACD;AAAA,KACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -42,27 +42,10 @@ const Pie = () => {
42
42
  } = (0, import_react.useContext)(import_PieContext.PieContext);
43
43
  const radius = Math.min(innerWidth, innerHeight) / 2;
44
44
  const currentInnerHeight = isHalfPie ? innerHeight : innerHeight / 2;
45
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", {
46
- transform: `translate(${innerWidth / 2},${currentInnerHeight})`,
47
- children: [
48
- pieData.map((slice) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Slice.Slice, {
49
- data: slice
50
- }, slice.index)),
51
- !isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, {
52
- x: 0,
53
- y: 0,
54
- textAnchor: "middle",
55
- alignmentBaseline: "middle",
56
- children: label
57
- }) : null,
58
- isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, {
59
- x: 0,
60
- y: -innerRadius / 4,
61
- textAnchor: "middle",
62
- alignmentBaseline: "middle",
63
- children: label
64
- }) : null
65
- ]
66
- });
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { transform: `translate(${innerWidth / 2},${currentInnerHeight})`, children: [
46
+ pieData.map((slice) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Slice.Slice, { data: slice }, slice.index)),
47
+ !isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, { x: 0, y: 0, textAnchor: "middle", alignmentBaseline: "middle", children: label }) : null,
48
+ isHalfPie && label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledInnerText, { x: 0, y: -innerRadius / 4, textAnchor: "middle", alignmentBaseline: "middle", children: label }) : null
49
+ ] });
67
50
  };
68
51
  //# sourceMappingURL=Pie.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/Pie.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
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;ADiBnB;AAjBJ,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;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiBnB;AAjBJ,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,OAAE,WAAW,aAAa,aAAa,KAAK,uBAC1C;AAAA,YAAQ,IAAI,CAAC,UACZ,4CAAC,sBAAwB,MAAM,SAAnB,MAAM,KAAoB,CACvC;AAAA,IACA,CAAC,aAAa,QACb,4CAAC,iCAAgB,GAAG,GAAG,GAAG,GAAG,YAAW,UAAS,mBAAkB,UAChE,iBACH,IACE;AAAA,IACH,aAAa,QACZ,4CAAC,iCAAgB,GAAG,GAAG,GAAG,CAAC,cAAc,GAAG,YAAW,UAAS,mBAAkB,UAC/E,iBACH,IACE;AAAA,KACN;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -79,37 +79,12 @@ const Slice = ({ data }) => {
79
79
  if (name)
80
80
  setActiveSerie("");
81
81
  }, [name, setActiveSerie]);
82
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", {
83
- onMouseEnter: handleMouseEnter,
84
- onMouseLeave: handleOnMouseLeave,
85
- transform: isHalfPie ? "rotate(-90)" : "",
86
- children: [
87
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
88
- ref: arcRef,
89
- fill: import_colorPallet.COLOR_PALLET[color] ?? color,
90
- stroke: "white"
91
- }),
92
- name && TooltipRenderer && isFocus && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("foreignObject", {
93
- x,
94
- y,
95
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
96
- ref: setReferenceElement,
97
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_popperjs.DSPopperJS, {
98
- referenceElement,
99
- showPopover: true,
100
- zIndex: 3e3,
101
- children: [
102
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledTooltipContainer, {
103
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipRenderer, {
104
- data: serieData
105
- })
106
- }),
107
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledMouseOverDetectionBox, {})
108
- ]
109
- })
110
- })
111
- })
112
- ]
113
- });
82
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("g", { onMouseEnter: handleMouseEnter, onMouseLeave: handleOnMouseLeave, transform: isHalfPie ? "rotate(-90)" : "", children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { ref: arcRef, fill: import_colorPallet.COLOR_PALLET[color] ?? color, stroke: "white" }),
84
+ name && TooltipRenderer && isFocus && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("foreignObject", { x, y, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: setReferenceElement, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_popperjs.DSPopperJS, { referenceElement, showPopover: true, zIndex: 3e3, children: [
85
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledTooltipContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipRenderer, { data: serieData }) }),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledMouseOverDetectionBox, {})
87
+ ] }) }) })
88
+ ] });
114
89
  };
115
90
  //# sourceMappingURL=Slice.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/parts/Slice.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
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\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 || { name: undefined, color: 'grey' };\n\n const sliceData = useMemo(\n () =>\n arc()\n .innerRadius(innerRadius ? radius * 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 ? radius * innerRadius : 0)\n .outerRadius(radius + radius * 0.1)\n .startAngle(currentStartAngle)\n .endAngle(currentEndAngle),\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 useEffect(() => {\n if (arcRef.current) {\n if (isFocus) select(arcRef.current).transition().attr('d', sliceOver).duration(300);\n else select(arcRef.current).transition().attr('d', sliceData).duration(300);\n }\n }, [sliceData, isFocus, sliceOver]);\n\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>();\n\n const handleMouseEnter = useCallback(() => {\n if (name) setActiveSerie(`${name}-${index}`);\n }, [index, name, setActiveSerie]);\n\n const handleOnMouseLeave = useCallback(() => {\n if (name) setActiveSerie('');\n }, [name, setActiveSerie]);\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\n {name && 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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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsEjB;AApEN,mBAAqF;AACrF,gBAA4B;AAC5B,yBAA2B;AAC3B,wBAA2B;AAC3B,yBAA6B;AAC7B,oBAAoE;AAC7D,MAAM,QAAQ,CAAC,EAAE,KAAK,MAAM;AACjC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ,aAAa,WAAW,gBAAgB;AAAA,EAC3D,QAAI,yBAAW,4BAAU;AAEzB,QAAM,aAAS,qBAAO,IAAI;AAE1B,QAAM,SAAS,YAAY,KAAK,IAAI,YAAY,WAAW,IAAI,KAAK,IAAI,YAAY,WAAW,IAAI;AACnG,QAAM,EAAE,YAAY,UAAU,MAAM,IAAI;AACxC,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,aAAa,EAAE,MAAM,QAAW,OAAO,OAAO;AAEtE,QAAM,gBAAY;AAAA,IAChB,UACE,eAAI,EACD,YAAY,cAAc,SAAS,cAAc,CAAC,EAClD,YAAY,MAAM,EAClB,WAAW,iBAAiB,EAC5B,SAAS,eAAe,EAAE;AAAA,IAC/B,CAAC,iBAAiB,mBAAmB,aAAa,MAAM;AAAA,EAC1D;AAEA,QAAM,gBAAY;AAAA,IAChB,UACE,eAAI,EACD,YAAY,cAAc,SAAS,cAAc,CAAC,EAClD,YAAY,SAAS,SAAS,GAAG,EACjC,WAAW,iBAAiB,EAC5B,SAAS,eAAe;AAAA,IAC7B,CAAC,iBAAiB,mBAAmB,aAAa,MAAM;AAAA,EAC1D;AAEA,QAAM,aAAa,qBAAqB,kBAAkB,qBAAqB;AAC/E,QAAM,IAAI,SAAS,KAAK,IAAI,UAAU;AACtC,QAAM,IAAI,CAAC,SAAS,KAAK,IAAI,UAAU;AAEvC,QAAM,cAAU,sBAAQ,MAAM,gBAAgB,GAAG,QAAQ,SAAS,CAAC,aAAa,OAAO,IAAI,CAAC;AAC5F,8BAAU,MAAM;AACd,QAAI,OAAO,SAAS;AAClB,UAAI;AAAS,8BAAO,OAAO,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,SAAS,EAAE,SAAS,GAAG;AAAA;AAC7E,8BAAO,OAAO,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,SAAS,EAAE,SAAS,GAAG;AAAA,IAC5E;AAAA,EACF,GAAG,CAAC,WAAW,SAAS,SAAS,CAAC;AAElC,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAiC;AAEjF,QAAM,uBAAmB,0BAAY,MAAM;AACzC,QAAI;AAAM,qBAAe,GAAG,QAAQ,OAAO;AAAA,EAC7C,GAAG,CAAC,OAAO,MAAM,cAAc,CAAC;AAEhC,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,QAAI;AAAM,qBAAe,EAAE;AAAA,EAC7B,GAAG,CAAC,MAAM,cAAc,CAAC;AACzB,SACE,6CAAC,OAAE,cAAc,kBAAkB,cAAc,oBAAoB,WAAW,YAAY,gBAAgB,IAC1G;AAAA,gDAAC,UAAK,KAAK,QAAQ,MAAM,gCAAa,UAAU,OAAO,QAAO,SAAQ;AAAA,IAErE,QAAQ,mBAAmB,WAC1B,4CAAC,mBAAc,GAAM,GACnB,sDAAC,SAAI,KAAK,qBACR,uDAAC,iCAAW,kBAAoC,aAAW,MAAC,QAAQ,KAClE;AAAA,kDAAC,wCACC,sDAAC,mBAAgB,MAAM,WAAW,GACpC;AAAA,MACA,4CAAC,6CAA4B;AAAA,OAC/B,GACF,GACF;AAAA,KAEJ;AAEJ;",
6
6
  "names": []
7
7
  }
package/dist/esm/Pie.js CHANGED
@@ -7,15 +7,10 @@ import { usePie } from "./config/usePie";
7
7
  import { ColorLegend } from "./parts/ColorLegend";
8
8
  const PieChart = (props) => {
9
9
  const ctx = usePie(props);
10
- return /* @__PURE__ */ jsx(PieContext.Provider, {
11
- value: ctx,
12
- children: /* @__PURE__ */ jsxs(ChartContainer, {
13
- children: [
14
- /* @__PURE__ */ jsx(ColorLegend, {}),
15
- /* @__PURE__ */ jsx(Pie, {})
16
- ]
17
- })
18
- });
10
+ return /* @__PURE__ */ jsx(PieContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxs(ChartContainer, { children: [
11
+ /* @__PURE__ */ jsx(ColorLegend, {}),
12
+ /* @__PURE__ */ jsx(Pie, {})
13
+ ] }) });
19
14
  };
20
15
  export {
21
16
  PieChart
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/Pie.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { ChartContainer } from './parts/ChartContainer';\nimport { Pie } from './parts/Pie';\nimport { PieContext } from './PieContext';\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 <PieContext.Provider value={ctx}>\n <ChartContainer>\n <ColorLegend />\n <Pie />\n </ChartContainer>\n </PieContext.Provider>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACWjB,SACE,KADF;AAVN,SAAS,sBAAsB;AAC/B,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AACrB,MAAM,WAA8C,CAAC,UAAU;AACpE,QAAM,MAAM,OAAO,KAAK;AACxB,SACE,oBAAC,WAAW,UAAX;AAAA,IAAoB,OAAO;AAAA,IAC1B,+BAAC;AAAA,MACC;AAAA,4BAAC,eAAY;AAAA,QACb,oBAAC,OAAI;AAAA;AAAA,KACP;AAAA,GACF;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACWjB,SACE,KADF;AAVN,SAAS,sBAAsB;AAC/B,SAAS,WAAW;AACpB,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AACrB,MAAM,WAA8C,CAAC,UAAU;AACpE,QAAM,MAAM,OAAO,KAAK;AACxB,SACE,oBAAC,WAAW,UAAX,EAAoB,OAAO,KAC1B,+BAAC,kBACC;AAAA,wBAAC,eAAY;AAAA,IACb,oBAAC,OAAI;AAAA,KACP,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -28,33 +28,32 @@ const ChartContainer = ({ children }) => {
28
28
  return radius * 0.1;
29
29
  });
30
30
  const { onInputKeyDown, handleOnBlur, handleOnFocus } = useKeyboardNavigation();
31
- return /* @__PURE__ */ jsx(StyledSVGWrapper, {
32
- ref: containerRef,
33
- onKeyDown: onInputKeyDown,
34
- tabIndex: activeSerie ? -1 : 0,
35
- onBlur: handleOnBlur,
36
- onFocus: handleOnFocus,
37
- onMouseDown: (e) => e.preventDefault(),
38
- style: { width: `${width}px`, height: `${height}px` },
39
- children: /* @__PURE__ */ jsxs("svg", {
40
- ...dimensions,
41
- children: [
42
- /* @__PURE__ */ jsx("g", {
43
- className: "container",
44
- transform: `translate(${margin.left + marginRadius},${margin.top + marginRadius})`,
45
- children
46
- }),
47
- hasBaseline ? /* @__PURE__ */ jsx("line", {
48
- x1: 0,
49
- x2: width,
50
- y1: innerHeight + marginRadius,
51
- y2: innerHeight + marginRadius,
52
- stroke: "grey",
53
- strokeWidth: "2"
54
- }) : null
55
- ]
56
- })
57
- });
31
+ return /* @__PURE__ */ jsx(
32
+ StyledSVGWrapper,
33
+ {
34
+ ref: containerRef,
35
+ onKeyDown: onInputKeyDown,
36
+ tabIndex: activeSerie ? -1 : 0,
37
+ onBlur: handleOnBlur,
38
+ onFocus: handleOnFocus,
39
+ onMouseDown: (e) => e.preventDefault(),
40
+ style: { width: `${width}px`, height: `${height}px` },
41
+ children: /* @__PURE__ */ jsxs("svg", { ...dimensions, children: [
42
+ /* @__PURE__ */ jsx("g", { className: "container", transform: `translate(${margin.left + marginRadius},${margin.top + marginRadius})`, children }),
43
+ hasBaseline ? /* @__PURE__ */ jsx(
44
+ "line",
45
+ {
46
+ x1: 0,
47
+ x2: width,
48
+ y1: innerHeight + marginRadius,
49
+ y2: innerHeight + marginRadius,
50
+ stroke: "grey",
51
+ strokeWidth: "2"
52
+ }
53
+ ) : null
54
+ ] })
55
+ }
56
+ );
58
57
  };
59
58
  export {
60
59
  ChartContainer
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/ChartContainer.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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, hasBaseline, isHalfPie },\n containerRef,\n innerHeight,\n radius,\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\n const marginRadius = useMemo(() => {\n if (isHalfPie) {\n return radius * 0.1;\n }\n return radius * 0.1;\n });\n const { onInputKeyDown, handleOnBlur, handleOnFocus } = useKeyboardNavigation();\n\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 style={{ width: `${width}px`, height: `${height}px` }}\n >\n <svg {...dimensions}>\n <g className=\"container\" transform={`translate(${margin.left + marginRadius},${margin.top + marginRadius})`}>\n {children}\n </g>\n {hasBaseline ? (\n <line\n x1={0}\n x2={width}\n y1={innerHeight + marginRadius}\n y2={innerHeight + marginRadius}\n stroke=\"grey\"\n strokeWidth=\"2\"\n />\n ) : null}\n </svg>\n </StyledSVGWrapper>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACiDjB,SACE,KADF;AAjDN,SAAgB,YAAY,eAAe;AAC3C,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,YAAY,aAAa,UAAU;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,UAAU;AAEzB,QAAM,aAAa;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,QAAM,eAAe,QAAQ,MAAM;AACjC,QAAI,WAAW;AACb,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS;AAAA,EAClB,CAAC;AACD,QAAM,EAAE,gBAAgB,cAAc,cAAc,IAAI,sBAAsB;AAE9E,SACE,oBAAC;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,IACrC,OAAO,EAAE,OAAO,GAAG,WAAW,QAAQ,GAAG,WAAW;AAAA,IAEpD,+BAAC;AAAA,MAAK,GAAG;AAAA,MACP;AAAA,4BAAC;AAAA,UAAE,WAAU;AAAA,UAAY,WAAW,aAAa,OAAO,OAAO,gBAAgB,OAAO,MAAM;AAAA,UACzF;AAAA,SACH;AAAA,QACC,cACC,oBAAC;AAAA,UACC,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI,cAAc;AAAA,UAClB,IAAI,cAAc;AAAA,UAClB,QAAO;AAAA,UACP,aAAY;AAAA,SACd,IACE;AAAA;AAAA,KACN;AAAA,GACF;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACiDjB,SACE,KADF;AAjDN,SAAgB,YAAY,eAAe;AAC3C,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,kBAAkB;AAKpB,MAAM,iBAAuD,CAAC,EAAE,SAAS,MAAM;AACpF,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,QAAQ,QAAQ,YAAY,aAAa,UAAU;AAAA,IACnE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,UAAU;AAEzB,QAAM,aAAa;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,QAAM,eAAe,QAAQ,MAAM;AACjC,QAAI,WAAW;AACb,aAAO,SAAS;AAAA,IAClB;AACA,WAAO,SAAS;AAAA,EAClB,CAAC;AACD,QAAM,EAAE,gBAAgB,cAAc,cAAc,IAAI,sBAAsB;AAE9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW;AAAA,MAEX,UAAU,cAAc,KAAK;AAAA,MAC7B,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,MACrC,OAAO,EAAE,OAAO,GAAG,WAAW,QAAQ,GAAG,WAAW;AAAA,MAEpD,+BAAC,SAAK,GAAG,YACP;AAAA,4BAAC,OAAE,WAAU,aAAY,WAAW,aAAa,OAAO,OAAO,gBAAgB,OAAO,MAAM,iBACzF,UACH;AAAA,QACC,cACC;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI,cAAc;AAAA,YAClB,IAAI,cAAc;AAAA,YAClB,QAAO;AAAA,YACP,aAAY;AAAA;AAAA,QACd,IACE;AAAA,SACN;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -10,33 +10,13 @@ const ColorLegend = ({ tickSpacing = 20, tickSize = 10, tickTextOffset = 20 }) =
10
10
  } = useContext(PieContext);
11
11
  if (!colorLegend)
12
12
  return null;
13
- return /* @__PURE__ */ jsxs("g", {
14
- transform: `translate(${innerWidth + 30},30)`,
15
- children: [
16
- /* @__PURE__ */ jsx("text", {
17
- x: 35,
18
- y: -25,
19
- className: "axis-label",
20
- textAnchor: "middle",
21
- children: colorLegend.label
22
- }),
23
- colorScale.domain().map((domainValue, i) => /* @__PURE__ */ jsxs("g", {
24
- className: "tick",
25
- transform: `translate(0,${i * tickSpacing})`,
26
- children: [
27
- /* @__PURE__ */ jsx("circle", {
28
- fill: colorScale(domainValue),
29
- r: circleRadius ?? tickSize
30
- }),
31
- /* @__PURE__ */ jsx("text", {
32
- x: tickTextOffset,
33
- dy: ".32em",
34
- children: domainValue
35
- })
36
- ]
37
- }))
38
- ]
39
- });
13
+ return /* @__PURE__ */ jsxs("g", { transform: `translate(${innerWidth + 30},30)`, children: [
14
+ /* @__PURE__ */ jsx("text", { x: 35, y: -25, className: "axis-label", textAnchor: "middle", children: colorLegend.label }),
15
+ colorScale.domain().map((domainValue, i) => /* @__PURE__ */ jsxs("g", { className: "tick", transform: `translate(0,${i * tickSpacing})`, children: [
16
+ /* @__PURE__ */ jsx("circle", { fill: colorScale(domainValue), r: circleRadius ?? tickSize }),
17
+ /* @__PURE__ */ jsx("text", { x: tickTextOffset, dy: ".32em", children: domainValue })
18
+ ] }))
19
+ ] });
40
20
  };
41
21
  export {
42
22
  ColorLegend
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/ColorLegend.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { PieContext } from '../PieContext';\n\nexport const ColorLegend = ({ tickSpacing = 20, tickSize = 10, tickTextOffset = 20 }) => {\n const {\n colorScale,\n innerWidth,\n props: { colorLegend, circleRadius },\n } = useContext(PieContext);\n\n if (!colorLegend) return null;\n return (\n <g transform={`translate(${innerWidth + 30},30)`}>\n <text x={35} y={-25} className=\"axis-label\" textAnchor=\"middle\">\n {colorLegend.label}\n </text>\n {colorScale.domain().map((domainValue, i) => (\n <g className=\"tick\" transform={`translate(0,${i * tickSpacing})`}>\n <circle fill={colorScale(domainValue)} r={circleRadius ?? tickSize} />\n <text x={tickTextOffset} dy=\".32em\">\n {domainValue}\n </text>\n </g>\n ))}\n </g>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACajB,cAIE,YAJF;AAbN,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAEpB,MAAM,cAAc,CAAC,EAAE,cAAc,IAAI,WAAW,IAAI,iBAAiB,GAAG,MAAM;AACvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,aAAa,aAAa;AAAA,EACrC,IAAI,WAAW,UAAU;AAEzB,MAAI,CAAC;AAAa,WAAO;AACzB,SACE,qBAAC;AAAA,IAAE,WAAW,aAAa,aAAa;AAAA,IACtC;AAAA,0BAAC;AAAA,QAAK,GAAG;AAAA,QAAI,GAAG;AAAA,QAAK,WAAU;AAAA,QAAa,YAAW;AAAA,QACpD,sBAAY;AAAA,OACf;AAAA,MACC,WAAW,OAAO,EAAE,IAAI,CAAC,aAAa,MACrC,qBAAC;AAAA,QAAE,WAAU;AAAA,QAAO,WAAW,eAAe,IAAI;AAAA,QAChD;AAAA,8BAAC;AAAA,YAAO,MAAM,WAAW,WAAW;AAAA,YAAG,GAAG,gBAAgB;AAAA,WAAU;AAAA,UACpE,oBAAC;AAAA,YAAK,GAAG;AAAA,YAAgB,IAAG;AAAA,YACzB;AAAA,WACH;AAAA;AAAA,OACF,CACD;AAAA;AAAA,GACH;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACajB,cAIE,YAJF;AAbN,SAAgB,kBAAkB;AAClC,SAAS,kBAAkB;AAEpB,MAAM,cAAc,CAAC,EAAE,cAAc,IAAI,WAAW,IAAI,iBAAiB,GAAG,MAAM;AACvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO,EAAE,aAAa,aAAa;AAAA,EACrC,IAAI,WAAW,UAAU;AAEzB,MAAI,CAAC;AAAa,WAAO;AACzB,SACE,qBAAC,OAAE,WAAW,aAAa,aAAa,UACtC;AAAA,wBAAC,UAAK,GAAG,IAAI,GAAG,KAAK,WAAU,cAAa,YAAW,UACpD,sBAAY,OACf;AAAA,IACC,WAAW,OAAO,EAAE,IAAI,CAAC,aAAa,MACrC,qBAAC,OAAE,WAAU,QAAO,WAAW,eAAe,IAAI,gBAChD;AAAA,0BAAC,YAAO,MAAM,WAAW,WAAW,GAAG,GAAG,gBAAgB,UAAU;AAAA,MACpE,oBAAC,UAAK,GAAG,gBAAgB,IAAG,SACzB,uBACH;AAAA,OACF,CACD;AAAA,KACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -13,28 +13,11 @@ const Pie = () => {
13
13
  } = useContext(PieContext);
14
14
  const radius = Math.min(innerWidth, innerHeight) / 2;
15
15
  const currentInnerHeight = isHalfPie ? innerHeight : innerHeight / 2;
16
- return /* @__PURE__ */ jsxs("g", {
17
- transform: `translate(${innerWidth / 2},${currentInnerHeight})`,
18
- children: [
19
- pieData.map((slice) => /* @__PURE__ */ jsx(Slice, {
20
- data: slice
21
- }, slice.index)),
22
- !isHalfPie && label ? /* @__PURE__ */ jsx(StyledInnerText, {
23
- x: 0,
24
- y: 0,
25
- textAnchor: "middle",
26
- alignmentBaseline: "middle",
27
- children: label
28
- }) : null,
29
- isHalfPie && label ? /* @__PURE__ */ jsx(StyledInnerText, {
30
- x: 0,
31
- y: -innerRadius / 4,
32
- textAnchor: "middle",
33
- alignmentBaseline: "middle",
34
- children: label
35
- }) : null
36
- ]
37
- });
16
+ return /* @__PURE__ */ jsxs("g", { transform: `translate(${innerWidth / 2},${currentInnerHeight})`, children: [
17
+ pieData.map((slice) => /* @__PURE__ */ jsx(Slice, { data: slice }, slice.index)),
18
+ !isHalfPie && label ? /* @__PURE__ */ jsx(StyledInnerText, { x: 0, y: 0, textAnchor: "middle", alignmentBaseline: "middle", children: label }) : null,
19
+ isHalfPie && label ? /* @__PURE__ */ jsx(StyledInnerText, { x: 0, y: -innerRadius / 4, textAnchor: "middle", alignmentBaseline: "middle", children: label }) : null
20
+ ] });
38
21
  };
39
22
  export {
40
23
  Pie
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Pie.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "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"],
5
- "mappings": "AAAA,YAAY,WAAW;ACiBnB,SAEI,KAFJ;AAjBJ,SAAgB,kBAAkB;AAClC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AACzB,MAAM,MAAM,MAAM;AACvB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IAEA,OAAO,EAAE,WAAW,OAAO,YAAY;AAAA,EACzC,IAAI,WAAW,UAAU;AAEzB,QAAM,SAAS,KAAK,IAAI,YAAY,WAAW,IAAI;AAEnD,QAAM,qBAAqB,YAAY,cAAc,cAAc;AACnE,SACE,qBAAC;AAAA,IAAE,WAAW,aAAa,aAAa,KAAK;AAAA,IAC1C;AAAA,cAAQ,IAAI,CAAC,UACZ,oBAAC;AAAA,QAAwB,MAAM;AAAA,SAAnB,MAAM,KAAoB,CACvC;AAAA,MACA,CAAC,aAAa,QACb,oBAAC;AAAA,QAAgB,GAAG;AAAA,QAAG,GAAG;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QAChE;AAAA,OACH,IACE;AAAA,MACH,aAAa,QACZ,oBAAC;AAAA,QAAgB,GAAG;AAAA,QAAG,GAAG,CAAC,cAAc;AAAA,QAAG,YAAW;AAAA,QAAS,mBAAkB;AAAA,QAC/E;AAAA,OACH,IACE;AAAA;AAAA,GACN;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACiBnB,SAEI,KAFJ;AAjBJ,SAAgB,kBAAkB;AAClC,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AACzB,MAAM,MAAM,MAAM;AACvB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IAEA,OAAO,EAAE,WAAW,OAAO,YAAY;AAAA,EACzC,IAAI,WAAW,UAAU;AAEzB,QAAM,SAAS,KAAK,IAAI,YAAY,WAAW,IAAI;AAEnD,QAAM,qBAAqB,YAAY,cAAc,cAAc;AACnE,SACE,qBAAC,OAAE,WAAW,aAAa,aAAa,KAAK,uBAC1C;AAAA,YAAQ,IAAI,CAAC,UACZ,oBAAC,SAAwB,MAAM,SAAnB,MAAM,KAAoB,CACvC;AAAA,IACA,CAAC,aAAa,QACb,oBAAC,mBAAgB,GAAG,GAAG,GAAG,GAAG,YAAW,UAAS,mBAAkB,UAChE,iBACH,IACE;AAAA,IACH,aAAa,QACZ,oBAAC,mBAAgB,GAAG,GAAG,GAAG,CAAC,cAAc,GAAG,YAAW,UAAS,mBAAkB,UAC/E,iBACH,IACE;AAAA,KACN;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -50,38 +50,13 @@ const Slice = ({ data }) => {
50
50
  if (name)
51
51
  setActiveSerie("");
52
52
  }, [name, setActiveSerie]);
53
- return /* @__PURE__ */ jsxs("g", {
54
- onMouseEnter: handleMouseEnter,
55
- onMouseLeave: handleOnMouseLeave,
56
- transform: isHalfPie ? "rotate(-90)" : "",
57
- children: [
58
- /* @__PURE__ */ jsx("path", {
59
- ref: arcRef,
60
- fill: COLOR_PALLET[color] ?? color,
61
- stroke: "white"
62
- }),
63
- name && TooltipRenderer && isFocus && /* @__PURE__ */ jsx("foreignObject", {
64
- x,
65
- y,
66
- children: /* @__PURE__ */ jsx("div", {
67
- ref: setReferenceElement,
68
- children: /* @__PURE__ */ jsxs(DSPopperJS, {
69
- referenceElement,
70
- showPopover: true,
71
- zIndex: 3e3,
72
- children: [
73
- /* @__PURE__ */ jsx(StyledTooltipContainer, {
74
- children: /* @__PURE__ */ jsx(TooltipRenderer, {
75
- data: serieData
76
- })
77
- }),
78
- /* @__PURE__ */ jsx(StyledMouseOverDetectionBox, {})
79
- ]
80
- })
81
- })
82
- })
83
- ]
84
- });
53
+ return /* @__PURE__ */ jsxs("g", { onMouseEnter: handleMouseEnter, onMouseLeave: handleOnMouseLeave, transform: isHalfPie ? "rotate(-90)" : "", children: [
54
+ /* @__PURE__ */ jsx("path", { ref: arcRef, fill: COLOR_PALLET[color] ?? color, stroke: "white" }),
55
+ name && TooltipRenderer && isFocus && /* @__PURE__ */ jsx("foreignObject", { x, y, children: /* @__PURE__ */ jsx("div", { ref: setReferenceElement, children: /* @__PURE__ */ jsxs(DSPopperJS, { referenceElement, showPopover: true, zIndex: 3e3, children: [
56
+ /* @__PURE__ */ jsx(StyledTooltipContainer, { children: /* @__PURE__ */ jsx(TooltipRenderer, { data: serieData }) }),
57
+ /* @__PURE__ */ jsx(StyledMouseOverDetectionBox, {})
58
+ ] }) }) })
59
+ ] });
85
60
  };
86
61
  export {
87
62
  Slice
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Slice.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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\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 || { name: undefined, color: 'grey' };\n\n const sliceData = useMemo(\n () =>\n arc()\n .innerRadius(innerRadius ? radius * 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 ? radius * innerRadius : 0)\n .outerRadius(radius + radius * 0.1)\n .startAngle(currentStartAngle)\n .endAngle(currentEndAngle),\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 useEffect(() => {\n if (arcRef.current) {\n if (isFocus) select(arcRef.current).transition().attr('d', sliceOver).duration(300);\n else select(arcRef.current).transition().attr('d', sliceData).duration(300);\n }\n }, [sliceData, isFocus, sliceOver]);\n\n const [referenceElement, setReferenceElement] = useState<HTMLSpanElement | null>();\n\n const handleMouseEnter = useCallback(() => {\n if (name) setActiveSerie(`${name}-${index}`);\n }, [index, name, setActiveSerie]);\n\n const handleOnMouseLeave = useCallback(() => {\n if (name) setActiveSerie('');\n }, [name, setActiveSerie]);\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\n {name && 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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-dataviz-pie",
3
- "version": "3.12.0-rc.2",
3
+ "version": "3.12.0-rc.4",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - DataViz",
6
6
  "files": [
@@ -35,9 +35,9 @@
35
35
  "indent": 4
36
36
  },
37
37
  "dependencies": {
38
- "@elliemae/ds-popperjs": "3.12.0-rc.2",
39
- "@elliemae/ds-system": "3.12.0-rc.2",
40
- "@elliemae/ds-utilities": "3.12.0-rc.2",
38
+ "@elliemae/ds-popperjs": "3.12.0-rc.4",
39
+ "@elliemae/ds-system": "3.12.0-rc.4",
40
+ "@elliemae/ds-utilities": "3.12.0-rc.4",
41
41
  "d3": "~7.6.1",
42
42
  "d3-shape": "^3.1.0"
43
43
  },