@hitachivantara/uikit-react-viz 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/Chart/Chart.js +2 -1
  2. package/dist/Chart/Chart.js.map +1 -1
  3. package/dist/Chart/Plot/Plot.js +1 -1
  4. package/dist/Chart/Plot/Plot.js.map +1 -1
  5. package/dist/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  6. package/dist/ConfusionMatrix/ConfusionMatrix.js +102 -0
  7. package/dist/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  8. package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js +47 -0
  9. package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  10. package/dist/ConfusionMatrix/CustomTooltip/index.js +14 -0
  11. package/dist/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  12. package/dist/ConfusionMatrix/CustomTooltip/styles.js +26 -0
  13. package/dist/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  14. package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +189 -0
  15. package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  16. package/dist/ConfusionMatrix/index.d.ts +2 -0
  17. package/dist/ConfusionMatrix/index.js +14 -0
  18. package/dist/ConfusionMatrix/index.js.map +1 -0
  19. package/dist/ConfusionMatrix/styles.js +10 -0
  20. package/dist/ConfusionMatrix/styles.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.js +7 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/legacy/Chart/Chart.js +2 -1
  25. package/dist/legacy/Chart/Chart.js.map +1 -1
  26. package/dist/legacy/Chart/Plot/Plot.js +1 -1
  27. package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
  28. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  29. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js +87 -0
  30. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  31. package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js +39 -0
  32. package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  33. package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js +2 -0
  34. package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  35. package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js +19 -0
  36. package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  37. package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +181 -0
  38. package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  39. package/dist/legacy/ConfusionMatrix/index.d.ts +2 -0
  40. package/dist/legacy/ConfusionMatrix/index.js +2 -0
  41. package/dist/legacy/ConfusionMatrix/index.js.map +1 -0
  42. package/dist/legacy/ConfusionMatrix/styles.js +3 -0
  43. package/dist/legacy/ConfusionMatrix/styles.js.map +1 -0
  44. package/dist/legacy/index.d.ts +3 -0
  45. package/dist/legacy/index.js +1 -0
  46. package/dist/legacy/index.js.map +1 -1
  47. package/dist/modern/Chart/Chart.js +2 -1
  48. package/dist/modern/Chart/Chart.js.map +1 -1
  49. package/dist/modern/Chart/Plot/Plot.js +1 -1
  50. package/dist/modern/Chart/Plot/Plot.js.map +1 -1
  51. package/dist/modern/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  52. package/dist/modern/ConfusionMatrix/ConfusionMatrix.js +76 -0
  53. package/dist/modern/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  54. package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js +37 -0
  55. package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  56. package/dist/modern/ConfusionMatrix/CustomTooltip/index.js +2 -0
  57. package/dist/modern/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  58. package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js +17 -0
  59. package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  60. package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +154 -0
  61. package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  62. package/dist/modern/ConfusionMatrix/index.d.ts +2 -0
  63. package/dist/modern/ConfusionMatrix/index.js +2 -0
  64. package/dist/modern/ConfusionMatrix/index.js.map +1 -0
  65. package/dist/modern/ConfusionMatrix/styles.js +3 -0
  66. package/dist/modern/ConfusionMatrix/styles.js.map +1 -0
  67. package/dist/modern/index.d.ts +3 -0
  68. package/dist/modern/index.js +1 -0
  69. package/dist/modern/index.js.map +1 -1
  70. package/package.json +4 -4
@@ -88,7 +88,8 @@ var Chart = function Chart(_ref) {
88
88
  dataFromPoints.elements.push({
89
89
  color: ((_fData$marker = fData.marker) === null || _fData$marker === void 0 ? void 0 : _fData$marker.color) || ((_fData$line = fData.line) === null || _fData$line === void 0 ? void 0 : _fData$line.color) || p.color,
90
90
  name: ((_fData$labels = fData.labels) === null || _fData$labels === void 0 ? void 0 : _fData$labels[pNumber]) || fData.name,
91
- value: isHorizontal ? p.x : p.y || p.value
91
+ value: isHorizontal ? p.x : p.y || p.value,
92
+ zValue: p.z
92
93
  });
93
94
  });
94
95
  setDataTooltip(dataFromPoints);
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","x","y","coordinates","setCoordinates","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Custom tooltip element to be displayed\n */\n tooltip: PropTypes.func,\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","x","y","coordinates","setCoordinates","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","zValue","z","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n zValue: p.z,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Custom tooltip element to be displayed\n */\n tooltip: PropTypes.func,\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
12
12
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
13
  import React, { useLayoutEffect, useRef, useCallback } from "react";
14
14
  import PropTypes from "prop-types";
15
- import Plotly from "plotly.js-basic-dist";
15
+ import Plotly from "plotly.js-dist-min";
16
16
  import createPlotlyComponent from "react-plotly.js/factory";
17
17
  import { withStyles } from "@mui/styles";
18
18
  import styles from "./styles";
@@ -1 +1 @@
1
- {"version":3,"file":"Plot.js","names":["React","useLayoutEffect","useRef","useCallback","PropTypes","Plotly","createPlotlyComponent","withStyles","styles","PlotGraph","plotGraphStyle","position","Plot","data","layout","config","revision","onHover","onUnHover","afterPlot","others","ref","afterPlotInternal","propTypes","arrayOf","instanceOf","Object","isRequired","func","number","name"],"sources":["../../../../src/Chart/Plot/Plot.js"],"sourcesContent":["import React, { useLayoutEffect, useRef, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Plotly from \"plotly.js-basic-dist\";\nimport createPlotlyComponent from \"react-plotly.js/factory\";\nimport { withStyles } from \"@mui/styles\";\nimport styles from \"./styles\";\n\nconst PlotGraph = createPlotlyComponent(Plotly);\n\nconst plotGraphStyle = { position: \"relative\" };\n\nconst Plot = ({ data, layout, config, revision = 0, onHover, onUnHover, afterPlot, ...others }) => {\n const ref = useRef(null);\n\n /* Callbacks */\n\n const afterPlotInternal = useCallback(() => {\n afterPlot?.(ref);\n }, [afterPlot]);\n\n /* Effects */\n\n /**\n * Call in the first render because react-plotly.js won't do so.\n * (https://github.com/plotly/react-plotly.js/blob/bd15ca98be12b159633fb57c4ea762cb7a64c3a7/src/factory.js#L88)\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(afterPlotInternal, []);\n\n return (\n <PlotGraph\n ref={ref}\n data={data}\n layout={layout}\n config={config}\n revision={revision}\n onHover={onHover}\n onUnhover={onUnHover}\n onAfterPlot={afterPlot != null ? afterPlotInternal : null}\n style={plotGraphStyle}\n {...others}\n />\n );\n};\n\nPlot.propTypes = {\n /**\n * Plotly data object.\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object.\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object.\n */\n config: PropTypes.instanceOf(Object).isRequired,\n /**\n * OnHover function.\n */\n onHover: PropTypes.func,\n /**\n * OnUnHover function.\n */\n onUnHover: PropTypes.func,\n /**\n * Function to be call after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Plot revision.\n */\n revision: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvChartPlot\" })(Plot);\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AACnE,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,sBAAsB;AACzC,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,UAAU,QAAQ,aAAa;AACxC,OAAOC,MAAM,MAAM,UAAU;AAAC;AAE9B,IAAMC,SAAS,GAAGH,qBAAqB,CAACD,MAAM,CAAC;AAE/C,IAAMK,cAAc,GAAG;EAAEC,QAAQ,EAAE;AAAW,CAAC;AAE/C,IAAMC,IAAI,GAAG,SAAPA,IAAI,OAAyF;EAAA,IAAnFC,IAAI,QAAJA,IAAI;IAAEC,MAAM,QAANA,MAAM;IAAEC,MAAM,QAANA,MAAM;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,CAAC;IAAEC,OAAO,QAAPA,OAAO;IAAEC,SAAS,QAATA,SAAS;IAAEC,SAAS,QAATA,SAAS;IAAKC,MAAM;EAC1F,IAAMC,GAAG,GAAGnB,MAAM,CAAC,IAAI,CAAC;;EAExB;;EAEA,IAAMoB,iBAAiB,GAAGnB,WAAW,CAAC,YAAM;IAC1CgB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGE,GAAG,CAAC;EAClB,CAAC,EAAE,CAACF,SAAS,CAAC,CAAC;;EAEf;;EAEA;AACF;AACA;AACA;EACE;EACAlB,eAAe,CAACqB,iBAAiB,EAAE,EAAE,CAAC;EAEtC,oBACE,KAAC,SAAS;IACR,GAAG,EAAED,GAAI;IACT,IAAI,EAAER,IAAK;IACX,MAAM,EAAEC,MAAO;IACf,MAAM,EAAEC,MAAO;IACf,QAAQ,EAAEC,QAAS;IACnB,OAAO,EAAEC,OAAQ;IACjB,SAAS,EAAEC,SAAU;IACrB,WAAW,EAAEC,SAAS,IAAI,IAAI,GAAGG,iBAAiB,GAAG,IAAK;IAC1D,KAAK,EAAEZ;EAAe,GAClBU,MAAM,EACV;AAEN,CAAC;AAED,wCAAAR,IAAI,CAACW,SAAS,GAAG;EACf;AACF;AACA;EACEV,IAAI,EAAET,SAAS,CAACoB,OAAO,CAACpB,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAAC,CAACC,UAAU;EAChE;AACF;AACA;EACEb,MAAM,EAAEV,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAACC,UAAU;EAC/C;AACF;AACA;EACEZ,MAAM,EAAEX,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAACC,UAAU;EAC/C;AACF;AACA;EACEV,OAAO,EAAEb,SAAS,CAACwB,IAAI;EACvB;AACF;AACA;EACEV,SAAS,EAAEd,SAAS,CAACwB,IAAI;EACzB;AACF;AACA;EACET,SAAS,EAAEf,SAAS,CAACwB,IAAI;EACzB;AACF;AACA;EACEZ,QAAQ,EAAEZ,SAAS,CAACyB;AACtB,CAAC;AAED,eAAetB,UAAU,CAACC,MAAM,EAAE;EAAEsB,IAAI,EAAE;AAAc,CAAC,CAAC,CAAClB,IAAI,CAAC"}
1
+ {"version":3,"file":"Plot.js","names":["React","useLayoutEffect","useRef","useCallback","PropTypes","Plotly","createPlotlyComponent","withStyles","styles","PlotGraph","plotGraphStyle","position","Plot","data","layout","config","revision","onHover","onUnHover","afterPlot","others","ref","afterPlotInternal","propTypes","arrayOf","instanceOf","Object","isRequired","func","number","name"],"sources":["../../../../src/Chart/Plot/Plot.js"],"sourcesContent":["import React, { useLayoutEffect, useRef, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Plotly from \"plotly.js-dist-min\";\nimport createPlotlyComponent from \"react-plotly.js/factory\";\nimport { withStyles } from \"@mui/styles\";\nimport styles from \"./styles\";\n\nconst PlotGraph = createPlotlyComponent(Plotly);\n\nconst plotGraphStyle = { position: \"relative\" };\n\nconst Plot = ({ data, layout, config, revision = 0, onHover, onUnHover, afterPlot, ...others }) => {\n const ref = useRef(null);\n\n /* Callbacks */\n\n const afterPlotInternal = useCallback(() => {\n afterPlot?.(ref);\n }, [afterPlot]);\n\n /* Effects */\n\n /**\n * Call in the first render because react-plotly.js won't do so.\n * (https://github.com/plotly/react-plotly.js/blob/bd15ca98be12b159633fb57c4ea762cb7a64c3a7/src/factory.js#L88)\n */\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(afterPlotInternal, []);\n\n return (\n <PlotGraph\n ref={ref}\n data={data}\n layout={layout}\n config={config}\n revision={revision}\n onHover={onHover}\n onUnhover={onUnHover}\n onAfterPlot={afterPlot != null ? afterPlotInternal : null}\n style={plotGraphStyle}\n {...others}\n />\n );\n};\n\nPlot.propTypes = {\n /**\n * Plotly data object.\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object.\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object.\n */\n config: PropTypes.instanceOf(Object).isRequired,\n /**\n * OnHover function.\n */\n onHover: PropTypes.func,\n /**\n * OnUnHover function.\n */\n onUnHover: PropTypes.func,\n /**\n * Function to be call after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Plot revision.\n */\n revision: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvChartPlot\" })(Plot);\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,MAAM,EAAEC,WAAW,QAAQ,OAAO;AACnE,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,oBAAoB;AACvC,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,UAAU,QAAQ,aAAa;AACxC,OAAOC,MAAM,MAAM,UAAU;AAAC;AAE9B,IAAMC,SAAS,GAAGH,qBAAqB,CAACD,MAAM,CAAC;AAE/C,IAAMK,cAAc,GAAG;EAAEC,QAAQ,EAAE;AAAW,CAAC;AAE/C,IAAMC,IAAI,GAAG,SAAPA,IAAI,OAAyF;EAAA,IAAnFC,IAAI,QAAJA,IAAI;IAAEC,MAAM,QAANA,MAAM;IAAEC,MAAM,QAANA,MAAM;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,CAAC;IAAEC,OAAO,QAAPA,OAAO;IAAEC,SAAS,QAATA,SAAS;IAAEC,SAAS,QAATA,SAAS;IAAKC,MAAM;EAC1F,IAAMC,GAAG,GAAGnB,MAAM,CAAC,IAAI,CAAC;;EAExB;;EAEA,IAAMoB,iBAAiB,GAAGnB,WAAW,CAAC,YAAM;IAC1CgB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGE,GAAG,CAAC;EAClB,CAAC,EAAE,CAACF,SAAS,CAAC,CAAC;;EAEf;;EAEA;AACF;AACA;AACA;EACE;EACAlB,eAAe,CAACqB,iBAAiB,EAAE,EAAE,CAAC;EAEtC,oBACE,KAAC,SAAS;IACR,GAAG,EAAED,GAAI;IACT,IAAI,EAAER,IAAK;IACX,MAAM,EAAEC,MAAO;IACf,MAAM,EAAEC,MAAO;IACf,QAAQ,EAAEC,QAAS;IACnB,OAAO,EAAEC,OAAQ;IACjB,SAAS,EAAEC,SAAU;IACrB,WAAW,EAAEC,SAAS,IAAI,IAAI,GAAGG,iBAAiB,GAAG,IAAK;IAC1D,KAAK,EAAEZ;EAAe,GAClBU,MAAM,EACV;AAEN,CAAC;AAED,wCAAAR,IAAI,CAACW,SAAS,GAAG;EACf;AACF;AACA;EACEV,IAAI,EAAET,SAAS,CAACoB,OAAO,CAACpB,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAAC,CAACC,UAAU;EAChE;AACF;AACA;EACEb,MAAM,EAAEV,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAACC,UAAU;EAC/C;AACF;AACA;EACEZ,MAAM,EAAEX,SAAS,CAACqB,UAAU,CAACC,MAAM,CAAC,CAACC,UAAU;EAC/C;AACF;AACA;EACEV,OAAO,EAAEb,SAAS,CAACwB,IAAI;EACvB;AACF;AACA;EACEV,SAAS,EAAEd,SAAS,CAACwB,IAAI;EACzB;AACF;AACA;EACET,SAAS,EAAEf,SAAS,CAACwB,IAAI;EACzB;AACF;AACA;EACEZ,QAAQ,EAAEZ,SAAS,CAACyB;AACtB,CAAC;AAED,eAAetB,UAAU,CAACC,MAAM,EAAE;EAAEsB,IAAI,EAAE;AAAc,CAAC,CAAC,CAAClB,IAAI,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { HvChartProps } from "../Chart";
2
+
3
+ export interface HvConfusionMatrixProps extends HvChartProps {
4
+ /**
5
+ *
6
+ */
7
+ deltaMatrix?: number[][];
8
+ }
9
+
10
+ export default function HvConfusionMatrixProps(props: HvConfusionMatrixProps): JSX.Element | null;
@@ -0,0 +1,87 @@
1
+ import "core-js/modules/es.object.keys.js";
2
+ import "core-js/modules/es.symbol.js";
3
+ import "core-js/modules/es.array.filter.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
6
+ import "core-js/modules/web.dom-collections.for-each.js";
7
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
8
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
10
+ var _excluded = ["id", "classes", "data", "layout", "config", "tooltip", "deltaMatrix"];
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
+ import React, { useMemo } from "react";
14
+ import PropTypes from "prop-types";
15
+ import { withStyles } from "@mui/styles";
16
+ import { useTheme } from "@mui/material/styles";
17
+ import Chart from "../Chart";
18
+ import CustomTooltip from "./CustomTooltip";
19
+ import { applyDataDefaults, applyLayoutDefaults } from "./confusionMatrixPlotlyOverrides";
20
+ import styles from "./styles";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ var ConfusionMatrix = function ConfusionMatrix(_ref) {
23
+ var id = _ref.id,
24
+ classes = _ref.classes,
25
+ data = _ref.data,
26
+ layout = _ref.layout,
27
+ config = _ref.config,
28
+ tooltip = _ref.tooltip,
29
+ deltaMatrix = _ref.deltaMatrix,
30
+ others = _objectWithoutProperties(_ref, _excluded);
31
+ var theme = useTheme();
32
+ var dataWithDefaults = useMemo(function () {
33
+ return applyDataDefaults(data, theme, deltaMatrix);
34
+ }, [data, theme, deltaMatrix]);
35
+ var layoutWithDefaults = useMemo(function () {
36
+ return applyLayoutDefaults(layout, theme, dataWithDefaults, deltaMatrix);
37
+ }, [layout, theme, dataWithDefaults, deltaMatrix]);
38
+ return /*#__PURE__*/_jsx(Chart, _objectSpread({
39
+ id: id,
40
+ classes: classes,
41
+ data: dataWithDefaults,
42
+ layout: layoutWithDefaults,
43
+ config: config,
44
+ tooltip: tooltip !== null && tooltip !== void 0 ? tooltip : function (tooltipData) {
45
+ return /*#__PURE__*/_jsx(CustomTooltip, {
46
+ data: tooltipData,
47
+ deltaMatrix: !!deltaMatrix
48
+ });
49
+ }
50
+ }, others));
51
+ };
52
+ process.env.NODE_ENV !== "production" ? ConfusionMatrix.propTypes = {
53
+ /**
54
+ *
55
+ */
56
+ id: PropTypes.string,
57
+ /**
58
+ *
59
+ */
60
+ classes: PropTypes.shape({
61
+ root: PropTypes.string
62
+ }),
63
+ /**
64
+ *
65
+ */
66
+ data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
67
+ /**
68
+ *
69
+ */
70
+ layout: PropTypes.instanceOf(Object),
71
+ /**
72
+ *
73
+ */
74
+ config: PropTypes.instanceOf(Object),
75
+ /**
76
+ *
77
+ */
78
+ tooltip: PropTypes.func,
79
+ /**
80
+ *
81
+ */
82
+ deltaMatrix: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number))
83
+ } : void 0;
84
+ export default withStyles(styles, {
85
+ name: "HvConfusionMatrix"
86
+ })(ConfusionMatrix);
87
+ //# sourceMappingURL=ConfusionMatrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfusionMatrix.js","names":["React","useMemo","PropTypes","withStyles","useTheme","Chart","CustomTooltip","applyDataDefaults","applyLayoutDefaults","styles","ConfusionMatrix","id","classes","data","layout","config","tooltip","deltaMatrix","others","theme","dataWithDefaults","layoutWithDefaults","tooltipData","propTypes","string","shape","root","arrayOf","instanceOf","Object","isRequired","func","number","name"],"sources":["../../../src/ConfusionMatrix/ConfusionMatrix.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { useTheme } from \"@mui/material/styles\";\nimport Chart from \"../Chart\";\nimport CustomTooltip from \"./CustomTooltip\";\nimport { applyDataDefaults, applyLayoutDefaults } from \"./confusionMatrixPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst ConfusionMatrix = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltip,\n deltaMatrix,\n ...others\n}) => {\n const theme = useTheme();\n const dataWithDefaults = useMemo(\n () => applyDataDefaults(data, theme, deltaMatrix),\n [data, theme, deltaMatrix]\n );\n const layoutWithDefaults = useMemo(\n () => applyLayoutDefaults(layout, theme, dataWithDefaults, deltaMatrix),\n [layout, theme, dataWithDefaults, deltaMatrix]\n );\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={dataWithDefaults}\n layout={layoutWithDefaults}\n config={config}\n tooltip={\n tooltip ??\n ((tooltipData) => <CustomTooltip data={tooltipData} deltaMatrix={!!deltaMatrix} />)\n }\n {...others}\n />\n );\n};\n\nConfusionMatrix.propTypes = {\n /**\n *\n */\n id: PropTypes.string,\n /**\n *\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n /**\n *\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n *\n */\n layout: PropTypes.instanceOf(Object),\n /**\n *\n */\n config: PropTypes.instanceOf(Object),\n /**\n *\n */\n tooltip: PropTypes.func,\n /**\n *\n */\n deltaMatrix: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n};\n\nexport default withStyles(styles, { name: \"HvConfusionMatrix\" })(ConfusionMatrix);\n"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,iBAAiB,EAAEC,mBAAmB,QAAQ,kCAAkC;AACzF,OAAOC,MAAM,MAAM,UAAU;AAAC;AAE9B,IAAMC,eAAe,GAAG,SAAlBA,eAAe,OASf;EAAA,IARJC,EAAE,QAAFA,EAAE;IACFC,OAAO,QAAPA,OAAO;IACPC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,MAAM,QAANA,MAAM;IACNC,OAAO,QAAPA,OAAO;IACPC,WAAW,QAAXA,WAAW;IACRC,MAAM;EAET,IAAMC,KAAK,GAAGf,QAAQ,EAAE;EACxB,IAAMgB,gBAAgB,GAAGnB,OAAO,CAC9B;IAAA,OAAMM,iBAAiB,CAACM,IAAI,EAAEM,KAAK,EAAEF,WAAW,CAAC;EAAA,GACjD,CAACJ,IAAI,EAAEM,KAAK,EAAEF,WAAW,CAAC,CAC3B;EACD,IAAMI,kBAAkB,GAAGpB,OAAO,CAChC;IAAA,OAAMO,mBAAmB,CAACM,MAAM,EAAEK,KAAK,EAAEC,gBAAgB,EAAEH,WAAW,CAAC;EAAA,GACvE,CAACH,MAAM,EAAEK,KAAK,EAAEC,gBAAgB,EAAEH,WAAW,CAAC,CAC/C;EAED,oBACE,KAAC,KAAK;IACJ,EAAE,EAAEN,EAAG;IACP,OAAO,EAAEC,OAAQ;IACjB,IAAI,EAAEQ,gBAAiB;IACvB,MAAM,EAAEC,kBAAmB;IAC3B,MAAM,EAAEN,MAAO;IACf,OAAO,EACLC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GACN,UAACM,WAAW;MAAA,oBAAK,KAAC,aAAa;QAAC,IAAI,EAAEA,WAAY;QAAC,WAAW,EAAE,CAAC,CAACL;MAAY,EAAG;IAAA;EACnF,GACGC,MAAM,EACV;AAEN,CAAC;AAED,wCAAAR,eAAe,CAACa,SAAS,GAAG;EAC1B;AACF;AACA;EACEZ,EAAE,EAAET,SAAS,CAACsB,MAAM;EACpB;AACF;AACA;EACEZ,OAAO,EAAEV,SAAS,CAACuB,KAAK,CAAC;IACvBC,IAAI,EAAExB,SAAS,CAACsB;EAClB,CAAC,CAAC;EACF;AACF;AACA;EACEX,IAAI,EAAEX,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC0B,UAAU,CAACC,MAAM,CAAC,CAAC,CAACC,UAAU;EAChE;AACF;AACA;EACEhB,MAAM,EAAEZ,SAAS,CAAC0B,UAAU,CAACC,MAAM,CAAC;EACpC;AACF;AACA;EACEd,MAAM,EAAEb,SAAS,CAAC0B,UAAU,CAACC,MAAM,CAAC;EACpC;AACF;AACA;EACEb,OAAO,EAAEd,SAAS,CAAC6B,IAAI;EACvB;AACF;AACA;EACEd,WAAW,EAAEf,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAAC8B,MAAM,CAAC;AACpE,CAAC;AAED,eAAe7B,UAAU,CAACM,MAAM,EAAE;EAAEwB,IAAI,EAAE;AAAoB,CAAC,CAAC,CAACvB,eAAe,CAAC"}
@@ -0,0 +1,39 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import "core-js/modules/es.array.concat.js";
3
+ import React from "react";
4
+ import PropTypes from "prop-types";
5
+ import { HvTypography } from "@hitachivantara/uikit-react-core";
6
+ import useStyles from "./styles";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var CustomTooltip = function CustomTooltip(_ref) {
9
+ var data = _ref.data,
10
+ deltaMatrix = _ref.deltaMatrix;
11
+ var classes = useStyles();
12
+ var _data$elements = _slicedToArray(data.elements, 1),
13
+ element = _data$elements[0];
14
+ var value = deltaMatrix && data.title !== element.value ? 0 - element.zValue : element.zValue;
15
+ var oneLiner = "".concat(data.title, " - ").concat(element.value, ": ").concat(value);
16
+ return /*#__PURE__*/_jsx("div", {
17
+ className: classes.root,
18
+ children: /*#__PURE__*/_jsx("div", {
19
+ className: classes.container,
20
+ children: /*#__PURE__*/_jsx("div", {
21
+ children: /*#__PURE__*/_jsx(HvTypography, {
22
+ children: oneLiner
23
+ })
24
+ })
25
+ })
26
+ });
27
+ };
28
+ process.env.NODE_ENV !== "production" ? CustomTooltip.propTypes = {
29
+ data: PropTypes.shape({
30
+ title: PropTypes.string,
31
+ elements: PropTypes.arrayOf(PropTypes.shape({
32
+ value: PropTypes.string,
33
+ zValue: PropTypes.number
34
+ }))
35
+ }),
36
+ deltaMatrix: PropTypes.bool
37
+ } : void 0;
38
+ export default CustomTooltip;
39
+ //# sourceMappingURL=CustomTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTooltip.js","names":["React","PropTypes","HvTypography","useStyles","CustomTooltip","data","deltaMatrix","classes","elements","element","value","title","zValue","oneLiner","root","container","propTypes","shape","string","arrayOf","number","bool"],"sources":["../../../../src/ConfusionMatrix/CustomTooltip/CustomTooltip.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\n\nimport useStyles from \"./styles\";\n\nconst CustomTooltip = ({ data, deltaMatrix }) => {\n const classes = useStyles();\n const [element] = data.elements;\n const value = deltaMatrix && data.title !== element.value ? 0 - element.zValue : element.zValue;\n const oneLiner = `${data.title} - ${element.value}: ${value}`;\n return (\n <div className={classes.root}>\n <div className={classes.container}>\n <div>\n <HvTypography>{oneLiner}</HvTypography>\n </div>\n </div>\n </div>\n );\n};\n\nCustomTooltip.propTypes = {\n data: PropTypes.shape({\n title: PropTypes.string,\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n zValue: PropTypes.number,\n })\n ),\n }),\n deltaMatrix: PropTypes.bool,\n};\n\nexport default CustomTooltip;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,kCAAkC;AAE/D,OAAOC,SAAS,MAAM,UAAU;AAAC;AAEjC,IAAMC,aAAa,GAAG,SAAhBA,aAAa,OAA8B;EAAA,IAAxBC,IAAI,QAAJA,IAAI;IAAEC,WAAW,QAAXA,WAAW;EACxC,IAAMC,OAAO,GAAGJ,SAAS,EAAE;EAC3B,oCAAkBE,IAAI,CAACG,QAAQ;IAAxBC,OAAO;EACd,IAAMC,KAAK,GAAGJ,WAAW,IAAID,IAAI,CAACM,KAAK,KAAKF,OAAO,CAACC,KAAK,GAAG,CAAC,GAAGD,OAAO,CAACG,MAAM,GAAGH,OAAO,CAACG,MAAM;EAC/F,IAAMC,QAAQ,aAAMR,IAAI,CAACM,KAAK,gBAAMF,OAAO,CAACC,KAAK,eAAKA,KAAK,CAAE;EAC7D,oBACE;IAAK,SAAS,EAAEH,OAAO,CAACO,IAAK;IAAA,uBAC3B;MAAK,SAAS,EAAEP,OAAO,CAACQ,SAAU;MAAA,uBAChC;QAAA,uBACE,KAAC,YAAY;UAAA,UAAEF;QAAQ;MAAgB;IACnC;EACF,EACF;AAEV,CAAC;AAED,wCAAAT,aAAa,CAACY,SAAS,GAAG;EACxBX,IAAI,EAAEJ,SAAS,CAACgB,KAAK,CAAC;IACpBN,KAAK,EAAEV,SAAS,CAACiB,MAAM;IACvBV,QAAQ,EAAEP,SAAS,CAACkB,OAAO,CACzBlB,SAAS,CAACgB,KAAK,CAAC;MACdP,KAAK,EAAET,SAAS,CAACiB,MAAM;MACvBN,MAAM,EAAEX,SAAS,CAACmB;IACpB,CAAC,CAAC;EAEN,CAAC,CAAC;EACFd,WAAW,EAAEL,SAAS,CAACoB;AACzB,CAAC;AAED,eAAejB,aAAa"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./CustomTooltip";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../src/ConfusionMatrix/CustomTooltip/index.js"],"sourcesContent":["export { default } from \"./CustomTooltip\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAiB"}
@@ -0,0 +1,19 @@
1
+ import { makeStyles } from "@mui/styles";
2
+ var useStyles = makeStyles(function (theme) {
3
+ return {
4
+ root: {
5
+ backgroundColor: theme.hv.palette.atmosphere.atmo1,
6
+ width: "fit-content",
7
+ minWidth: 150,
8
+ boxShadow: theme.hv.shadows[1],
9
+ zIndex: 1000
10
+ },
11
+ container: {
12
+ padding: theme.hvSpacing("15px", "sm"),
13
+ display: "flex",
14
+ flexDirection: "column"
15
+ }
16
+ };
17
+ });
18
+ export default useStyles;
19
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","names":["makeStyles","useStyles","theme","root","backgroundColor","hv","palette","atmosphere","atmo1","width","minWidth","boxShadow","shadows","zIndex","container","padding","hvSpacing","display","flexDirection"],"sources":["../../../../src/ConfusionMatrix/CustomTooltip/styles.js"],"sourcesContent":["import { makeStyles } from \"@mui/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n width: \"fit-content\",\n minWidth: 150,\n boxShadow: theme.hv.shadows[1],\n zIndex: 1000,\n },\n container: {\n padding: theme.hvSpacing(\"15px\", \"sm\"),\n display: \"flex\",\n flexDirection: \"column\",\n },\n}));\n\nexport default useStyles;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,aAAa;AAExC,IAAMC,SAAS,GAAGD,UAAU,CAAC,UAACE,KAAK;EAAA,OAAM;IACvCC,IAAI,EAAE;MACJC,eAAe,EAAEF,KAAK,CAACG,EAAE,CAACC,OAAO,CAACC,UAAU,CAACC,KAAK;MAClDC,KAAK,EAAE,aAAa;MACpBC,QAAQ,EAAE,GAAG;MACbC,SAAS,EAAET,KAAK,CAACG,EAAE,CAACO,OAAO,CAAC,CAAC,CAAC;MAC9BC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACTC,OAAO,EAAEb,KAAK,CAACc,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;MACtCC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE;IACjB;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,eAAejB,SAAS"}
@@ -0,0 +1,181 @@
1
+ import "core-js/modules/es.object.keys.js";
2
+ import "core-js/modules/es.symbol.js";
3
+ import "core-js/modules/es.array.filter.js";
4
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
5
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
6
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
+ import "core-js/modules/es.object.to-string.js";
10
+ import "core-js/modules/es.array.concat.js";
11
+ import "core-js/modules/web.dom-collections.for-each.js";
12
+ import "core-js/modules/es.array.flat.js";
13
+ import "core-js/modules/es.array.unscopables.flat.js";
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+ /* eslint-disable no-param-reassign */
17
+ import clone from "lodash/cloneDeep";
18
+ var HEX_ALPHA_50 = "80";
19
+ var HEIGHT_PER_CATEGORY = 45;
20
+ var WIDTH_PER_CATEGORY = 55;
21
+ var setterIfNil = function setterIfNil(object, property, value) {
22
+ var _object$property;
23
+ object[property] = (_object$property = object[property]) !== null && _object$property !== void 0 ? _object$property : value;
24
+ };
25
+ var buildAnnotations = function buildAnnotations(trace, customAnnotations) {
26
+ var deltaMatrix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
27
+ var _trace$x = trace.x,
28
+ x = _trace$x === void 0 ? [] : _trace$x,
29
+ _trace$y = trace.y,
30
+ y = _trace$y === void 0 ? [] : _trace$y,
31
+ _trace$z = trace.z,
32
+ z = _trace$z === void 0 ? [] : _trace$z;
33
+ var annotations = [];
34
+ for (var i = 0; i < y.length; i += 1) {
35
+ for (var j = 0; j < x.length; j += 1) {
36
+ var _customAnnotations$te, _customAnnotations$te2, _customAnnotations$si;
37
+ var currentValue = z[i][j];
38
+ var textValue = void 0;
39
+ var size = 12;
40
+ if (currentValue > 999) {
41
+ textValue = currentValue.toExponential(1);
42
+ } else {
43
+ textValue = currentValue;
44
+ }
45
+ if (deltaMatrix) {
46
+ if (i !== j) {
47
+ textValue = 0 - textValue;
48
+ } else {
49
+ textValue = "<span style=\"font-weight: 600;\">".concat(textValue, "</span>");
50
+ size = 14;
51
+ }
52
+ }
53
+ var result = {
54
+ xref: "x1",
55
+ yref: "y1",
56
+ x: x[j],
57
+ y: y[i],
58
+ text: (_customAnnotations$te = customAnnotations === null || customAnnotations === void 0 ? void 0 : (_customAnnotations$te2 = customAnnotations.text) === null || _customAnnotations$te2 === void 0 ? void 0 : _customAnnotations$te2.call(customAnnotations, currentValue)) !== null && _customAnnotations$te !== void 0 ? _customAnnotations$te : textValue,
59
+ font: {
60
+ family: "Open Sans",
61
+ size: (_customAnnotations$si = customAnnotations === null || customAnnotations === void 0 ? void 0 : customAnnotations.size) !== null && _customAnnotations$si !== void 0 ? _customAnnotations$si : size,
62
+ color: customAnnotations === null || customAnnotations === void 0 ? void 0 : customAnnotations.textColor
63
+ },
64
+ showarrow: false
65
+ };
66
+ annotations.push(result);
67
+ }
68
+ }
69
+ return annotations;
70
+ };
71
+
72
+ /**
73
+ * Auxiliary functions to set the layout in order to follow the DS guideline.
74
+ */
75
+ export var applyLayoutDefaults = function applyLayoutDefaults() {
76
+ var _theme$hv, _theme$hv$palette, _theme$hv$palette$acc, _theme$hv2, _theme$hv2$palette, _theme$hv2$palette$at;
77
+ var inputLayout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
+ var theme = arguments.length > 1 ? arguments[1] : undefined;
79
+ var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [{}];
80
+ var deltaMatrix = arguments.length > 3 ? arguments[3] : undefined;
81
+ var layout = clone(inputLayout);
82
+ setterIfNil(layout, "hovermode", "closest");
83
+ var _data = _slicedToArray(data, 1),
84
+ trace = _data[0];
85
+ var categories = (trace === null || trace === void 0 ? void 0 : trace.x) || [];
86
+ var squareWidth = categories.length * WIDTH_PER_CATEGORY;
87
+ var squareHeight = categories.length * HEIGHT_PER_CATEGORY;
88
+ var chartWidth = Math.max(squareWidth, WIDTH_PER_CATEGORY * 10);
89
+ var chartHeight = Math.max(squareHeight, WIDTH_PER_CATEGORY * 10);
90
+ setterIfNil(layout, "width", chartWidth);
91
+ setterIfNil(layout, "height", chartHeight);
92
+ setterIfNil(layout, "margin", {
93
+ t: 130,
94
+ b: 40,
95
+ pad: 10
96
+ });
97
+ var textColor = (theme === null || theme === void 0 ? void 0 : (_theme$hv = theme.hv) === null || _theme$hv === void 0 ? void 0 : (_theme$hv$palette = _theme$hv.palette) === null || _theme$hv$palette === void 0 ? void 0 : (_theme$hv$palette$acc = _theme$hv$palette.accent) === null || _theme$hv$palette$acc === void 0 ? void 0 : _theme$hv$palette$acc.acce1) || "black";
98
+ var getAxisLayout = function getAxisLayout(text, standoff) {
99
+ return {
100
+ color: textColor,
101
+ showline: false,
102
+ showgrid: false,
103
+ tickfont: {
104
+ family: "Open Sans",
105
+ size: 12
106
+ },
107
+ ticks: "",
108
+ title: {
109
+ text: text,
110
+ standoff: standoff,
111
+ font: {
112
+ family: "Open Sans",
113
+ size: 12
114
+ }
115
+ }
116
+ };
117
+ };
118
+ setterIfNil(layout, "yaxis", _objectSpread(_objectSpread({}, getAxisLayout("True Label", 50)), {}, {
119
+ autorange: "reversed"
120
+ }));
121
+ setterIfNil(layout, "xaxis", _objectSpread(_objectSpread({}, getAxisLayout("Predicted Label", 15)), {}, {
122
+ side: "top",
123
+ tickangle: "-45"
124
+ }));
125
+ var backgroundColor = (theme === null || theme === void 0 ? void 0 : (_theme$hv2 = theme.hv) === null || _theme$hv2 === void 0 ? void 0 : (_theme$hv2$palette = _theme$hv2.palette) === null || _theme$hv2$palette === void 0 ? void 0 : (_theme$hv2$palette$at = _theme$hv2$palette.atmosphere) === null || _theme$hv2$palette$at === void 0 ? void 0 : _theme$hv2$palette$at.atmo1) || "white";
126
+ setterIfNil(layout, "paper_bgcolor", backgroundColor);
127
+ setterIfNil(layout, "plot_bgcolor", backgroundColor);
128
+ setterIfNil(layout, "annotations", buildAnnotations(trace, _objectSpread({
129
+ textColor: textColor
130
+ }, layout.customAnnotations || {}), deltaMatrix));
131
+ return layout;
132
+ };
133
+ var calculateDeltaMatrix = function calculateDeltaMatrix(matrix1, matrix2) {
134
+ var deltaMin = 0;
135
+ var matrixData = matrix1.reduce(function (lineAcc, classLine, lineIndex) {
136
+ var lineValues = classLine.reduce(function (columnAcc, columnValue, columnIndex) {
137
+ var value = columnValue - matrix2[lineIndex][columnIndex];
138
+ deltaMin = Math.min(deltaMin, value);
139
+ if (lineIndex !== columnIndex) {
140
+ value = 0 - value;
141
+ }
142
+ return [].concat(_toConsumableArray(columnAcc), [value]);
143
+ }, []);
144
+ return [].concat(_toConsumableArray(lineAcc), [lineValues]);
145
+ }, []);
146
+ return [matrixData, deltaMin];
147
+ };
148
+ export var applyDataDefaults = function applyDataDefaults() {
149
+ var _theme$hv3, _theme$hv3$palette, _theme$hv3$palette$at, _theme$hv4, _theme$hv4$viz, _theme$hv4$viz$palett, _theme$hv4$viz$palett2, _theme$hv5, _theme$hv5$viz, _theme$hv5$viz$palett, _theme$hv5$viz$palett2;
150
+ var inputData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [{}];
151
+ var theme = arguments.length > 1 ? arguments[1] : undefined;
152
+ var deltaMatrix = arguments.length > 2 ? arguments[2] : undefined;
153
+ var data = clone(inputData);
154
+ var backgroundColor = (theme === null || theme === void 0 ? void 0 : (_theme$hv3 = theme.hv) === null || _theme$hv3 === void 0 ? void 0 : (_theme$hv3$palette = _theme$hv3.palette) === null || _theme$hv3$palette === void 0 ? void 0 : (_theme$hv3$palette$at = _theme$hv3$palette.atmosphere) === null || _theme$hv3$palette$at === void 0 ? void 0 : _theme$hv3$palette$at.atmo1) || "white";
155
+ var greenColor = (theme === null || theme === void 0 ? void 0 : (_theme$hv4 = theme.hv) === null || _theme$hv4 === void 0 ? void 0 : (_theme$hv4$viz = _theme$hv4.viz) === null || _theme$hv4$viz === void 0 ? void 0 : (_theme$hv4$viz$palett = _theme$hv4$viz.palette) === null || _theme$hv4$viz$palett === void 0 ? void 0 : (_theme$hv4$viz$palett2 = _theme$hv4$viz$palett.polarized) === null || _theme$hv4$viz$palett2 === void 0 ? void 0 : _theme$hv4$viz$palett2.cviz21) || "#008000";
156
+ var redColor = (theme === null || theme === void 0 ? void 0 : (_theme$hv5 = theme.hv) === null || _theme$hv5 === void 0 ? void 0 : (_theme$hv5$viz = _theme$hv5.viz) === null || _theme$hv5$viz === void 0 ? void 0 : (_theme$hv5$viz$palett = _theme$hv5$viz.palette) === null || _theme$hv5$viz$palett === void 0 ? void 0 : (_theme$hv5$viz$palett2 = _theme$hv5$viz$palett.polarized) === null || _theme$hv5$viz$palett2 === void 0 ? void 0 : _theme$hv5$viz$palett2.cviz26) || "#FF0000";
157
+ data.forEach(function (trace) {
158
+ setterIfNil(trace, "type", "heatmap");
159
+ setterIfNil(trace, "hoverinfo", "none");
160
+ var colorscale = [[0, backgroundColor], [1, "".concat(greenColor).concat(HEX_ALPHA_50)]];
161
+ var deltaColorscale = [[0, "".concat(redColor).concat(HEX_ALPHA_50)], [0.5, backgroundColor], [1, "".concat(greenColor).concat(HEX_ALPHA_50)]];
162
+ setterIfNil(trace, "colorscale", deltaMatrix ? deltaColorscale : colorscale);
163
+ setterIfNil(trace, "showscale", false);
164
+ var _ref = deltaMatrix ? calculateDeltaMatrix(trace.z, deltaMatrix) : [trace.z],
165
+ _ref2 = _slicedToArray(_ref, 2),
166
+ matrixData = _ref2[0],
167
+ deltaMin = _ref2[1];
168
+ trace.z = matrixData;
169
+ if (deltaMatrix) {
170
+ var getMax = function getMax(matrix) {
171
+ var max = Math.max.apply(Math, _toConsumableArray(matrix.flat()));
172
+ return max < 0 ? Math.abs(deltaMin) : max;
173
+ };
174
+ setterIfNil(trace, "zmin", deltaMin);
175
+ setterIfNil(trace, "zmid", 0);
176
+ setterIfNil(trace, "zmax", getMax(matrixData));
177
+ }
178
+ });
179
+ return data;
180
+ };
181
+ //# sourceMappingURL=confusionMatrixPlotlyOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confusionMatrixPlotlyOverrides.js","names":["clone","HEX_ALPHA_50","HEIGHT_PER_CATEGORY","WIDTH_PER_CATEGORY","setterIfNil","object","property","value","buildAnnotations","trace","customAnnotations","deltaMatrix","x","y","z","annotations","i","length","j","currentValue","textValue","size","toExponential","result","xref","yref","text","font","family","color","textColor","showarrow","push","applyLayoutDefaults","inputLayout","theme","data","layout","categories","squareWidth","squareHeight","chartWidth","Math","max","chartHeight","t","b","pad","hv","palette","accent","acce1","getAxisLayout","standoff","showline","showgrid","tickfont","ticks","title","autorange","side","tickangle","backgroundColor","atmosphere","atmo1","calculateDeltaMatrix","matrix1","matrix2","deltaMin","matrixData","reduce","lineAcc","classLine","lineIndex","lineValues","columnAcc","columnValue","columnIndex","min","applyDataDefaults","inputData","greenColor","viz","polarized","cviz21","redColor","cviz26","forEach","colorscale","deltaColorscale","getMax","matrix","flat","abs"],"sources":["../../../src/ConfusionMatrix/confusionMatrixPlotlyOverrides.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport clone from \"lodash/cloneDeep\";\n\nconst HEX_ALPHA_50 = \"80\";\nconst HEIGHT_PER_CATEGORY = 45;\nconst WIDTH_PER_CATEGORY = 55;\n\nconst setterIfNil = (object, property, value) => {\n object[property] = object[property] ?? value;\n};\n\nconst buildAnnotations = (trace, customAnnotations, deltaMatrix = false) => {\n const { x = [], y = [], z = [] } = trace;\n const annotations = [];\n for (let i = 0; i < y.length; i += 1) {\n for (let j = 0; j < x.length; j += 1) {\n const currentValue = z[i][j];\n let textValue;\n let size = 12;\n if (currentValue > 999) {\n textValue = currentValue.toExponential(1);\n } else {\n textValue = currentValue;\n }\n\n if (deltaMatrix) {\n if (i !== j) {\n textValue = 0 - textValue;\n } else {\n textValue = `<span style=\"font-weight: 600;\">${textValue}</span>`;\n size = 14;\n }\n }\n\n const result = {\n xref: \"x1\",\n yref: \"y1\",\n x: x[j],\n y: y[i],\n text: customAnnotations?.text?.(currentValue) ?? textValue,\n font: {\n family: \"Open Sans\",\n size: customAnnotations?.size ?? size,\n color: customAnnotations?.textColor,\n },\n showarrow: false,\n };\n annotations.push(result);\n }\n }\n\n return annotations;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout = {}, theme, data = [{}], deltaMatrix) => {\n const layout = clone(inputLayout);\n setterIfNil(layout, \"hovermode\", \"closest\");\n const [trace] = data;\n\n const categories = trace?.x || [];\n const squareWidth = categories.length * WIDTH_PER_CATEGORY;\n const squareHeight = categories.length * HEIGHT_PER_CATEGORY;\n const chartWidth = Math.max(squareWidth, WIDTH_PER_CATEGORY * 10);\n const chartHeight = Math.max(squareHeight, WIDTH_PER_CATEGORY * 10);\n setterIfNil(layout, \"width\", chartWidth);\n setterIfNil(layout, \"height\", chartHeight);\n setterIfNil(layout, \"margin\", {\n t: 130,\n b: 40,\n pad: 10,\n });\n\n const textColor = theme?.hv?.palette?.accent?.acce1 || \"black\";\n\n const getAxisLayout = (text, standoff) => ({\n color: textColor,\n showline: false,\n showgrid: false,\n tickfont: {\n family: \"Open Sans\",\n size: 12,\n },\n ticks: \"\",\n title: {\n text,\n standoff,\n font: {\n family: \"Open Sans\",\n size: 12,\n },\n },\n });\n setterIfNil(layout, \"yaxis\", {\n ...getAxisLayout(\"True Label\", 50),\n autorange: \"reversed\",\n });\n setterIfNil(layout, \"xaxis\", {\n ...getAxisLayout(\"Predicted Label\", 15),\n side: \"top\",\n tickangle: \"-45\",\n });\n\n const backgroundColor = theme?.hv?.palette?.atmosphere?.atmo1 || \"white\";\n setterIfNil(layout, \"paper_bgcolor\", backgroundColor);\n setterIfNil(layout, \"plot_bgcolor\", backgroundColor);\n\n setterIfNil(\n layout,\n \"annotations\",\n buildAnnotations(trace, { textColor, ...(layout.customAnnotations || {}) }, deltaMatrix)\n );\n\n return layout;\n};\n\nconst calculateDeltaMatrix = (matrix1, matrix2) => {\n let deltaMin = 0;\n const matrixData = matrix1.reduce((lineAcc, classLine, lineIndex) => {\n const lineValues = classLine.reduce((columnAcc, columnValue, columnIndex) => {\n let value = columnValue - matrix2[lineIndex][columnIndex];\n deltaMin = Math.min(deltaMin, value);\n if (lineIndex !== columnIndex) {\n value = 0 - value;\n }\n return [...columnAcc, value];\n }, []);\n return [...lineAcc, lineValues];\n }, []);\n\n return [matrixData, deltaMin];\n};\n\nexport const applyDataDefaults = (inputData = [{}], theme, deltaMatrix) => {\n const data = clone(inputData);\n const backgroundColor = theme?.hv?.palette?.atmosphere?.atmo1 || \"white\";\n const greenColor = theme?.hv?.viz?.palette?.polarized?.cviz21 || \"#008000\";\n const redColor = theme?.hv?.viz?.palette?.polarized?.cviz26 || \"#FF0000\";\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"heatmap\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n\n const colorscale = [\n [0, backgroundColor],\n [1, `${greenColor}${HEX_ALPHA_50}`],\n ];\n const deltaColorscale = [\n [0, `${redColor}${HEX_ALPHA_50}`],\n [0.5, backgroundColor],\n [1, `${greenColor}${HEX_ALPHA_50}`],\n ];\n\n setterIfNil(trace, \"colorscale\", deltaMatrix ? deltaColorscale : colorscale);\n setterIfNil(trace, \"showscale\", false);\n\n const [matrixData, deltaMin] = deltaMatrix\n ? calculateDeltaMatrix(trace.z, deltaMatrix)\n : [trace.z];\n trace.z = matrixData;\n\n if (deltaMatrix) {\n const getMax = (matrix) => {\n const max = Math.max(...matrix.flat());\n return max < 0 ? Math.abs(deltaMin) : max;\n };\n\n setterIfNil(trace, \"zmin\", deltaMin);\n setterIfNil(trace, \"zmid\", 0);\n setterIfNil(trace, \"zmax\", getMax(matrixData));\n }\n });\n\n return data;\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA,OAAOA,KAAK,MAAM,kBAAkB;AAEpC,IAAMC,YAAY,GAAG,IAAI;AACzB,IAAMC,mBAAmB,GAAG,EAAE;AAC9B,IAAMC,kBAAkB,GAAG,EAAE;AAE7B,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAIC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAK;EAAA;EAC/CF,MAAM,CAACC,QAAQ,CAAC,uBAAGD,MAAM,CAACC,QAAQ,CAAC,+DAAIC,KAAK;AAC9C,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,KAAK,EAAEC,iBAAiB,EAA0B;EAAA,IAAxBC,WAAW,uEAAG,KAAK;EACrE,eAAmCF,KAAK,CAAhCG,CAAC;IAADA,CAAC,yBAAG,EAAE;IAAA,WAAqBH,KAAK,CAAxBI,CAAC;IAADA,CAAC,yBAAG,EAAE;IAAA,WAAaJ,KAAK,CAAhBK,CAAC;IAADA,CAAC,yBAAG,EAAE;EAC9B,IAAMC,WAAW,GAAG,EAAE;EACtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,CAAC,CAACI,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACpC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,CAAC,CAACK,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;MAAA;MACpC,IAAMC,YAAY,GAAGL,CAAC,CAACE,CAAC,CAAC,CAACE,CAAC,CAAC;MAC5B,IAAIE,SAAS;MACb,IAAIC,IAAI,GAAG,EAAE;MACb,IAAIF,YAAY,GAAG,GAAG,EAAE;QACtBC,SAAS,GAAGD,YAAY,CAACG,aAAa,CAAC,CAAC,CAAC;MAC3C,CAAC,MAAM;QACLF,SAAS,GAAGD,YAAY;MAC1B;MAEA,IAAIR,WAAW,EAAE;QACf,IAAIK,CAAC,KAAKE,CAAC,EAAE;UACXE,SAAS,GAAG,CAAC,GAAGA,SAAS;QAC3B,CAAC,MAAM;UACLA,SAAS,+CAAsCA,SAAS,YAAS;UACjEC,IAAI,GAAG,EAAE;QACX;MACF;MAEA,IAAME,MAAM,GAAG;QACbC,IAAI,EAAE,IAAI;QACVC,IAAI,EAAE,IAAI;QACVb,CAAC,EAAEA,CAAC,CAACM,CAAC,CAAC;QACPL,CAAC,EAAEA,CAAC,CAACG,CAAC,CAAC;QACPU,IAAI,2BAAEhB,iBAAiB,aAAjBA,iBAAiB,iDAAjBA,iBAAiB,CAAEgB,IAAI,2DAAvB,4BAAAhB,iBAAiB,EAASS,YAAY,CAAC,yEAAIC,SAAS;QAC1DO,IAAI,EAAE;UACJC,MAAM,EAAE,WAAW;UACnBP,IAAI,2BAAEX,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEW,IAAI,yEAAIA,IAAI;UACrCQ,KAAK,EAAEnB,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEoB;QAC5B,CAAC;QACDC,SAAS,EAAE;MACb,CAAC;MACDhB,WAAW,CAACiB,IAAI,CAACT,MAAM,CAAC;IAC1B;EACF;EAEA,OAAOR,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AACA,OAAO,IAAMkB,mBAAmB,GAAG,SAAtBA,mBAAmB,GAA0D;EAAA;EAAA,IAAtDC,WAAW,uEAAG,CAAC,CAAC;EAAA,IAAEC,KAAK;EAAA,IAAEC,IAAI,uEAAG,CAAC,CAAC,CAAC,CAAC;EAAA,IAAEzB,WAAW;EACnF,IAAM0B,MAAM,GAAGrC,KAAK,CAACkC,WAAW,CAAC;EACjC9B,WAAW,CAACiC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;EAC3C,2BAAgBD,IAAI;IAAb3B,KAAK;EAEZ,IAAM6B,UAAU,GAAG,CAAA7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,CAAC,KAAI,EAAE;EACjC,IAAM2B,WAAW,GAAGD,UAAU,CAACrB,MAAM,GAAGd,kBAAkB;EAC1D,IAAMqC,YAAY,GAAGF,UAAU,CAACrB,MAAM,GAAGf,mBAAmB;EAC5D,IAAMuC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,WAAW,EAAEpC,kBAAkB,GAAG,EAAE,CAAC;EACjE,IAAMyC,WAAW,GAAGF,IAAI,CAACC,GAAG,CAACH,YAAY,EAAErC,kBAAkB,GAAG,EAAE,CAAC;EACnEC,WAAW,CAACiC,MAAM,EAAE,OAAO,EAAEI,UAAU,CAAC;EACxCrC,WAAW,CAACiC,MAAM,EAAE,QAAQ,EAAEO,WAAW,CAAC;EAC1CxC,WAAW,CAACiC,MAAM,EAAE,QAAQ,EAAE;IAC5BQ,CAAC,EAAE,GAAG;IACNC,CAAC,EAAE,EAAE;IACLC,GAAG,EAAE;EACP,CAAC,CAAC;EAEF,IAAMjB,SAAS,GAAG,CAAAK,KAAK,aAALA,KAAK,oCAALA,KAAK,CAAEa,EAAE,mEAAT,UAAWC,OAAO,+EAAlB,kBAAoBC,MAAM,0DAA1B,sBAA4BC,KAAK,KAAI,OAAO;EAE9D,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAI1B,IAAI,EAAE2B,QAAQ;IAAA,OAAM;MACzCxB,KAAK,EAAEC,SAAS;MAChBwB,QAAQ,EAAE,KAAK;MACfC,QAAQ,EAAE,KAAK;MACfC,QAAQ,EAAE;QACR5B,MAAM,EAAE,WAAW;QACnBP,IAAI,EAAE;MACR,CAAC;MACDoC,KAAK,EAAE,EAAE;MACTC,KAAK,EAAE;QACLhC,IAAI,EAAJA,IAAI;QACJ2B,QAAQ,EAARA,QAAQ;QACR1B,IAAI,EAAE;UACJC,MAAM,EAAE,WAAW;UACnBP,IAAI,EAAE;QACR;MACF;IACF,CAAC;EAAA,CAAC;EACFjB,WAAW,CAACiC,MAAM,EAAE,OAAO,kCACtBe,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC;IAClCO,SAAS,EAAE;EAAU,GACrB;EACFvD,WAAW,CAACiC,MAAM,EAAE,OAAO,kCACtBe,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC;IACvCQ,IAAI,EAAE,KAAK;IACXC,SAAS,EAAE;EAAK,GAChB;EAEF,IAAMC,eAAe,GAAG,CAAA3B,KAAK,aAALA,KAAK,qCAALA,KAAK,CAAEa,EAAE,qEAAT,WAAWC,OAAO,gFAAlB,mBAAoBc,UAAU,0DAA9B,sBAAgCC,KAAK,KAAI,OAAO;EACxE5D,WAAW,CAACiC,MAAM,EAAE,eAAe,EAAEyB,eAAe,CAAC;EACrD1D,WAAW,CAACiC,MAAM,EAAE,cAAc,EAAEyB,eAAe,CAAC;EAEpD1D,WAAW,CACTiC,MAAM,EACN,aAAa,EACb7B,gBAAgB,CAACC,KAAK;IAAIqB,SAAS,EAATA;EAAS,GAAMO,MAAM,CAAC3B,iBAAiB,IAAI,CAAC,CAAC,GAAKC,WAAW,CAAC,CACzF;EAED,OAAO0B,MAAM;AACf,CAAC;AAED,IAAM4B,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIC,OAAO,EAAEC,OAAO,EAAK;EACjD,IAAIC,QAAQ,GAAG,CAAC;EAChB,IAAMC,UAAU,GAAGH,OAAO,CAACI,MAAM,CAAC,UAACC,OAAO,EAAEC,SAAS,EAAEC,SAAS,EAAK;IACnE,IAAMC,UAAU,GAAGF,SAAS,CAACF,MAAM,CAAC,UAACK,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAK;MAC3E,IAAItE,KAAK,GAAGqE,WAAW,GAAGT,OAAO,CAACM,SAAS,CAAC,CAACI,WAAW,CAAC;MACzDT,QAAQ,GAAG1B,IAAI,CAACoC,GAAG,CAACV,QAAQ,EAAE7D,KAAK,CAAC;MACpC,IAAIkE,SAAS,KAAKI,WAAW,EAAE;QAC7BtE,KAAK,GAAG,CAAC,GAAGA,KAAK;MACnB;MACA,oCAAWoE,SAAS,IAAEpE,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,oCAAWgE,OAAO,IAAEG,UAAU;EAChC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAACL,UAAU,EAAED,QAAQ,CAAC;AAC/B,CAAC;AAED,OAAO,IAAMW,iBAAiB,GAAG,SAApBA,iBAAiB,GAA6C;EAAA;EAAA,IAAzCC,SAAS,uEAAG,CAAC,CAAC,CAAC,CAAC;EAAA,IAAE7C,KAAK;EAAA,IAAExB,WAAW;EACpE,IAAMyB,IAAI,GAAGpC,KAAK,CAACgF,SAAS,CAAC;EAC7B,IAAMlB,eAAe,GAAG,CAAA3B,KAAK,aAALA,KAAK,qCAALA,KAAK,CAAEa,EAAE,qEAAT,WAAWC,OAAO,gFAAlB,mBAAoBc,UAAU,0DAA9B,sBAAgCC,KAAK,KAAI,OAAO;EACxE,IAAMiB,UAAU,GAAG,CAAA9C,KAAK,aAALA,KAAK,qCAALA,KAAK,CAAEa,EAAE,iEAAT,WAAWkC,GAAG,4EAAd,eAAgBjC,OAAO,oFAAvB,sBAAyBkC,SAAS,2DAAlC,uBAAoCC,MAAM,KAAI,SAAS;EAC1E,IAAMC,QAAQ,GAAG,CAAAlD,KAAK,aAALA,KAAK,qCAALA,KAAK,CAAEa,EAAE,iEAAT,WAAWkC,GAAG,4EAAd,eAAgBjC,OAAO,oFAAvB,sBAAyBkC,SAAS,2DAAlC,uBAAoCG,MAAM,KAAI,SAAS;EAExElD,IAAI,CAACmD,OAAO,CAAC,UAAC9E,KAAK,EAAK;IACtBL,WAAW,CAACK,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;IACrCL,WAAW,CAACK,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IAEvC,IAAM+E,UAAU,GAAG,CACjB,CAAC,CAAC,EAAE1B,eAAe,CAAC,EACpB,CAAC,CAAC,YAAKmB,UAAU,SAAGhF,YAAY,EAAG,CACpC;IACD,IAAMwF,eAAe,GAAG,CACtB,CAAC,CAAC,YAAKJ,QAAQ,SAAGpF,YAAY,EAAG,EACjC,CAAC,GAAG,EAAE6D,eAAe,CAAC,EACtB,CAAC,CAAC,YAAKmB,UAAU,SAAGhF,YAAY,EAAG,CACpC;IAEDG,WAAW,CAACK,KAAK,EAAE,YAAY,EAAEE,WAAW,GAAG8E,eAAe,GAAGD,UAAU,CAAC;IAC5EpF,WAAW,CAACK,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC;IAEtC,WAA+BE,WAAW,GACtCsD,oBAAoB,CAACxD,KAAK,CAACK,CAAC,EAAEH,WAAW,CAAC,GAC1C,CAACF,KAAK,CAACK,CAAC,CAAC;MAAA;MAFNuD,UAAU;MAAED,QAAQ;IAG3B3D,KAAK,CAACK,CAAC,GAAGuD,UAAU;IAEpB,IAAI1D,WAAW,EAAE;MACf,IAAM+E,MAAM,GAAG,SAATA,MAAM,CAAIC,MAAM,EAAK;QACzB,IAAMhD,GAAG,GAAGD,IAAI,CAACC,GAAG,OAARD,IAAI,qBAAQiD,MAAM,CAACC,IAAI,EAAE,EAAC;QACtC,OAAOjD,GAAG,GAAG,CAAC,GAAGD,IAAI,CAACmD,GAAG,CAACzB,QAAQ,CAAC,GAAGzB,GAAG;MAC3C,CAAC;MAEDvC,WAAW,CAACK,KAAK,EAAE,MAAM,EAAE2D,QAAQ,CAAC;MACpChE,WAAW,CAACK,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;MAC7BL,WAAW,CAACK,KAAK,EAAE,MAAM,EAAEiF,MAAM,CAACrB,UAAU,CAAC,CAAC;IAChD;EACF,CAAC,CAAC;EAEF,OAAOjC,IAAI;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./ConfusionMatrix";
2
+ export * from "./ConfusionMatrix";
@@ -0,0 +1,2 @@
1
+ export { default } from "./ConfusionMatrix";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../src/ConfusionMatrix/index.js"],"sourcesContent":["export { default } from \"./ConfusionMatrix\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mBAAmB"}
@@ -0,0 +1,3 @@
1
+ var styles = {};
2
+ export default styles;
3
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","names":["styles"],"sources":["../../../src/ConfusionMatrix/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,CAAC,CAAC;AAEjB,eAAeA,MAAM"}
@@ -6,3 +6,6 @@ export * from "./Donutchart";
6
6
 
7
7
  export { default as HvLinechart } from "./Linechart";
8
8
  export * from "./Linechart";
9
+
10
+ export { default as HvConfusionMatrix} from "./ConfusionMatrix";
11
+ export * from "./ConfusionMatrix";
@@ -2,4 +2,5 @@
2
2
  export { default as HvBarchart } from "./Barchart";
3
3
  export { default as HvDonutchart } from "./Donutchart";
4
4
  export { default as HvLinechart } from "./Linechart";
5
+ export { default as HvConfusionMatrix } from "./ConfusionMatrix";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","HvBarchart","HvDonutchart","HvLinechart"],"sources":["../../src/index.js"],"sourcesContent":["// components\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvLinechart } from \"./Linechart\";\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,UAAU,QAAQ,YAAY;AAClD,SAASD,OAAO,IAAIE,YAAY,QAAQ,cAAc;AACtD,SAASF,OAAO,IAAIG,WAAW,QAAQ,aAAa"}
1
+ {"version":3,"file":"index.js","names":["default","HvBarchart","HvDonutchart","HvLinechart","HvConfusionMatrix"],"sources":["../../src/index.js"],"sourcesContent":["// components\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvLinechart } from \"./Linechart\";\nexport { default as HvConfusionMatrix } from \"./ConfusionMatrix\";\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,UAAU,QAAQ,YAAY;AAClD,SAASD,OAAO,IAAIE,YAAY,QAAQ,cAAc;AACtD,SAASF,OAAO,IAAIG,WAAW,QAAQ,aAAa;AACpD,SAASH,OAAO,IAAII,iBAAiB,QAAQ,mBAAmB"}
@@ -69,7 +69,8 @@ const Chart = _ref => {
69
69
  dataFromPoints.elements.push({
70
70
  color: ((_fData$marker = fData.marker) === null || _fData$marker === void 0 ? void 0 : _fData$marker.color) || ((_fData$line = fData.line) === null || _fData$line === void 0 ? void 0 : _fData$line.color) || p.color,
71
71
  name: ((_fData$labels = fData.labels) === null || _fData$labels === void 0 ? void 0 : _fData$labels[pNumber]) || fData.name,
72
- value: isHorizontal ? p.x : p.y || p.value
72
+ value: isHorizontal ? p.x : p.y || p.value,
73
+ zValue: p.z
73
74
  });
74
75
  });
75
76
  setDataTooltip(dataFromPoints);
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","coordinates","setCoordinates","x","y","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Custom tooltip element to be displayed\n */\n tooltip: PropTypes.func,\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","coordinates","setCoordinates","x","y","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","zValue","z","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n zValue: p.z,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object).isRequired,\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Custom tooltip element to be displayed\n */\n tooltip: PropTypes.func,\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n};\n\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"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"}