@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.
- package/dist/Chart/Chart.js +2 -1
- package/dist/Chart/Chart.js.map +1 -1
- package/dist/Chart/Plot/Plot.js +1 -1
- package/dist/Chart/Plot/Plot.js.map +1 -1
- package/dist/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/ConfusionMatrix/ConfusionMatrix.js +102 -0
- package/dist/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js +47 -0
- package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/index.js +14 -0
- package/dist/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/styles.js +26 -0
- package/dist/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +189 -0
- package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/ConfusionMatrix/index.d.ts +2 -0
- package/dist/ConfusionMatrix/index.js +14 -0
- package/dist/ConfusionMatrix/index.js.map +1 -0
- package/dist/ConfusionMatrix/styles.js +10 -0
- package/dist/ConfusionMatrix/styles.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/Chart/Chart.js +2 -1
- package/dist/legacy/Chart/Chart.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.js +1 -1
- package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
- package/dist/legacy/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js +87 -0
- package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js +39 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js +2 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js +19 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +181 -0
- package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/index.d.ts +2 -0
- package/dist/legacy/ConfusionMatrix/index.js +2 -0
- package/dist/legacy/ConfusionMatrix/index.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/styles.js +3 -0
- package/dist/legacy/ConfusionMatrix/styles.js.map +1 -0
- package/dist/legacy/index.d.ts +3 -0
- package/dist/legacy/index.js +1 -0
- package/dist/legacy/index.js.map +1 -1
- package/dist/modern/Chart/Chart.js +2 -1
- package/dist/modern/Chart/Chart.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.js +1 -1
- package/dist/modern/Chart/Plot/Plot.js.map +1 -1
- package/dist/modern/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/modern/ConfusionMatrix/ConfusionMatrix.js +76 -0
- package/dist/modern/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js +37 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/index.js +2 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js +17 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +154 -0
- package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/modern/ConfusionMatrix/index.d.ts +2 -0
- package/dist/modern/ConfusionMatrix/index.js +2 -0
- package/dist/modern/ConfusionMatrix/index.js.map +1 -0
- package/dist/modern/ConfusionMatrix/styles.js +3 -0
- package/dist/modern/ConfusionMatrix/styles.js.map +1 -0
- package/dist/modern/index.d.ts +3 -0
- package/dist/modern/index.js +1 -0
- package/dist/modern/index.js.map +1 -1
- 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":";;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AAC7D,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,cAAc;AAChC,SAASC,UAAU,EAAEC,QAAQ,QAAQ,aAAa;AAElD,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,wBAAwB;AAEjF,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,MAAM,MAAM,UAAU;AAAC;AAAA;AAAA;AAE9B,IAAMC,KAAK,GAAG,SAARA,KAAK,OAYL;EAAA,IAXJC,EAAE,QAAFA,EAAE;IACFC,OAAO,QAAPA,OAAO;IACPC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,MAAM,QAANA,MAAM;IAAA,wBACNC,WAAW;IAAXA,WAAW,iCAAG,UAAU;IACxBC,OAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACTC,UAAU,QAAVA,UAAU;IACVC,UAAU,QAAVA,UAAU;IACPC,MAAM;EAET,IAAMC,KAAK,GAAGlB,QAAQ,EAAE;;EAExB;;EAEA;EACA,IAAMmB,YAAY,GAAGxB,OAAO,CAC1B;IAAA;IAAA,OAAO,CAACG,KAAK,WAACW,IAAI,CAAC,CAAC,CAAC,2CAAP,OAASW,WAAW,CAAC,GAAGX,IAAI,CAAC,CAAC,CAAC,CAACW,WAAW,CAACC,WAAW,EAAE,KAAK,GAAG,GAAG,KAAK;EAAA,CAAC,EACxF,CAACZ,IAAI,CAAC,CACP;EAED,IAAMa,WAAW,GAAG3B,OAAO,CACzB;IAAA,OAAMO,mBAAmB,CAACQ,MAAM,EAAEQ,KAAK,EAAEC,YAAY,EAAEJ,UAAU,EAAEC,UAAU,CAAC;EAAA,GAC9E,CAACG,YAAY,EAAET,MAAM,EAAEQ,KAAK,EAAEH,UAAU,EAAEC,UAAU,CAAC,CACtD;EAED,IAAMO,WAAW,GAAG5B,OAAO,CAAC;IAAA,OAAMQ,mBAAmB,CAACQ,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAExE,IAAMa,SAAS,GAAGZ,WAAW,KAAK,QAAQ;;EAE1C;;EAEA,gBAA8BlB,QAAQ,CAAC,KAAK,CAAC;IAAA;IAAtC+B,OAAO;IAAEC,UAAU;EAC1B,iBAAsChC,QAAQ,CAAC;MAAEiC,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE;IAAE,CAAC,CAAC;IAAA;IAAvDC,WAAW;IAAEC,cAAc;EAClC,iBAAsCpC,QAAQ,EAAE;IAAA;IAAzCqC,WAAW;IAAEC,cAAc;;EAElC;;EAEA;EACA,IAAMC,OAAO,GAAGrC,WAAW,CACzB,UAACsC,KAAK,EAAK;IACT,IAAQC,MAAM,GAAKD,KAAK,CAAhBC,MAAM;IAEd,IAAMC,cAAc,GAAG;MACrBC,KAAK,EAAE,EAAE;MACTC,QAAQ,EAAE;IACZ,CAAC;IAEDH,MAAM,CAACI,OAAO,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAK;MAAA;MACvB,IAAMC,KAAK,GAAGF,CAAC,CAACG,QAAQ;MACxB,IAAMC,OAAO,GAAGJ,CAAC,CAACK,WAAW;MAE7B,IAAIJ,CAAC,KAAK,CAAC,EAAEL,cAAc,CAACC,KAAK,GAAGlB,YAAY,GAAGqB,CAAC,CAACZ,CAAC,GAAGY,CAAC,CAACb,CAAC,IAAIe,KAAK,CAACI,IAAI;MAE1EV,cAAc,CAACE,QAAQ,CAACS,IAAI,CAAC;QAC3BC,KAAK,EAAE,kBAAAN,KAAK,CAACO,MAAM,kDAAZ,cAAcD,KAAK,qBAAIN,KAAK,CAACQ,IAAI,gDAAV,YAAYF,KAAK,KAAIR,CAAC,CAACQ,KAAK;QAC1DF,IAAI,EAAE,kBAAAJ,KAAK,CAACS,MAAM,kDAAZ,cAAeP,OAAO,CAAC,KAAIF,KAAK,CAACI,IAAI;QAC3CM,KAAK,EAAEjC,YAAY,GAAGqB,CAAC,CAACb,CAAC,GAAGa,CAAC,CAACZ,CAAC,IAAIY,CAAC,CAACY;
|
|
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-
|
|
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-
|
|
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,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 @@
|
|
|
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":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|
package/dist/legacy/index.d.ts
CHANGED
package/dist/legacy/index.js
CHANGED
package/dist/legacy/index.js.map
CHANGED
|
@@ -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":";;;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AAC7D,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,cAAc;AAChC,SAASC,UAAU,EAAEC,QAAQ,QAAQ,aAAa;AAElD,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,wBAAwB;AAEjF,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,MAAM,MAAM,UAAU;AAAC;AAAA;AAAA;AAE9B,MAAMC,KAAK,GAAG,QAYR;EAAA,IAZS;MACbC,EAAE;MACFC,OAAO;MACPC,IAAI;MACJC,MAAM;MACNC,MAAM;MACNC,WAAW,GAAG,UAAU;MACxBC,OAAO;MACPC,SAAS;MACTC,UAAU;MACVC;IAEF,CAAC;IADIC,MAAM;EAET,MAAMC,KAAK,GAAGlB,QAAQ,EAAE;;EAExB;;EAEA;EACA,MAAMmB,YAAY,GAAGxB,OAAO,CAC1B;IAAA;IAAA,OAAO,CAACG,KAAK,WAACW,IAAI,CAAC,CAAC,CAAC,2CAAP,OAASW,WAAW,CAAC,GAAGX,IAAI,CAAC,CAAC,CAAC,CAACW,WAAW,CAACC,WAAW,EAAE,KAAK,GAAG,GAAG,KAAK;EAAA,CAAC,EACxF,CAACZ,IAAI,CAAC,CACP;EAED,MAAMa,WAAW,GAAG3B,OAAO,CACzB,MAAMO,mBAAmB,CAACQ,MAAM,EAAEQ,KAAK,EAAEC,YAAY,EAAEJ,UAAU,EAAEC,UAAU,CAAC,EAC9E,CAACG,YAAY,EAAET,MAAM,EAAEQ,KAAK,EAAEH,UAAU,EAAEC,UAAU,CAAC,CACtD;EAED,MAAMO,WAAW,GAAG5B,OAAO,CAAC,MAAMQ,mBAAmB,CAACQ,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAExE,MAAMa,SAAS,GAAGZ,WAAW,KAAK,QAAQ;;EAE1C;;EAEA,MAAM,CAACa,OAAO,EAAEC,UAAU,CAAC,GAAGhC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACiC,WAAW,EAAEC,cAAc,CAAC,GAAGlC,QAAQ,CAAC;IAAEmC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;EAC9D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGtC,QAAQ,EAAE;;EAEhD;;EAEA;EACA,MAAMuC,OAAO,GAAGrC,WAAW,CACxBsC,KAAK,IAAK;IACT,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK;IAExB,MAAME,cAAc,GAAG;MACrBC,KAAK,EAAE,EAAE;MACTC,QAAQ,EAAE;IACZ,CAAC;IAEDH,MAAM,CAACI,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MAAA;MACvB,MAAMC,KAAK,GAAGF,CAAC,CAACG,QAAQ;MACxB,MAAMC,OAAO,GAAGJ,CAAC,CAACK,WAAW;MAE7B,IAAIJ,CAAC,KAAK,CAAC,EAAEL,cAAc,CAACC,KAAK,GAAGlB,YAAY,GAAGqB,CAAC,CAACV,CAAC,GAAGU,CAAC,CAACX,CAAC,IAAIa,KAAK,CAACI,IAAI;MAE1EV,cAAc,CAACE,QAAQ,CAACS,IAAI,CAAC;QAC3BC,KAAK,EAAE,kBAAAN,KAAK,CAACO,MAAM,kDAAZ,cAAcD,KAAK,qBAAIN,KAAK,CAACQ,IAAI,gDAAV,YAAYF,KAAK,KAAIR,CAAC,CAACQ,KAAK;QAC1DF,IAAI,EAAE,kBAAAJ,KAAK,CAACS,MAAM,kDAAZ,cAAeP,OAAO,CAAC,KAAIF,KAAK,CAACI,IAAI;QAC3CM,KAAK,EAAEjC,YAAY,GAAGqB,CAAC,CAACX,CAAC,GAAGW,CAAC,CAACV,CAAC,IAAIU,CAAC,CAACY,KAAK;QAC1CC,MAAM,EAAEb,CAAC,CAACc;MACZ,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFtB,cAAc,CAACI,cAAc,CAAC;IAC9BV,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EACD,CAACP,YAAY,CAAC,CACf;EAED,MAAMoC,SAAS,GAAG3D,WAAW,CAAC,MAAM;IAClC8B,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM8B,WAAW,GAAG5D,WAAW,CAAEsC,KAAK,IAAK;IACzCN,cAAc,CAAC;MACbC,CAAC,EAAEK,KAAK,CAACuB,OAAO;MAChB3B,CAAC,EAAEI,KAAK,CAACwB;IACX,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IAAA,WACGjC,OAAO,iBACN,KAAC,OAAO;MACN,WAAW,EAAEE,WAAY;MACzB,IAAI,EAAEI,WAAY;MAClB,SAAS,EAAEP,SAAU;MACrB,OAAO,EAAEX;IAAQ,EAEpB,eACD;MAAK,EAAE,EAAEN,EAAG;MAAC,SAAS,EAAEC,OAAO,CAACmD,IAAK;MAAA,uBACnC;QAAK,WAAW,EAAEH,WAAY;QAAA,uBAC5B,KAAC,IAAI;UACH,IAAI,EAAE/C,IAAK;UACX,MAAM,EAAEa,WAAY;UACpB,MAAM,EAAEC,WAAY;UACpB,OAAO,EAAEU,OAAQ;UACjB,SAAS,EAAEsB,SAAU;UACrB,SAAS,EAAEzC;QAAU,GACjBG,MAAM;MACV;IACE,EACF;EAAA,EACL;AAEP,CAAC;AAED,wCAAAX,KAAK,CAACsD,SAAS,GAAG;EAChB;AACF;AACA;EACErD,EAAE,EAAEV,SAAS,CAACgE,MAAM;EACpB;AACF;AACA;EACErD,OAAO,EAAEX,SAAS,CAACiE,KAAK,CAAC;IACvBH,IAAI,EAAE9D,SAAS,CAACgE;EAClB,CAAC,CAAC;EAEF;AACF;AACA;EACEpD,IAAI,EAAEZ,SAAS,CAACkE,OAAO,CAAClE,SAAS,CAACmE,UAAU,CAACC,MAAM,CAAC,CAAC,CAACC,UAAU;EAChE;AACF;AACA;EACExD,MAAM,EAAEb,SAAS,CAACmE,UAAU,CAACC,MAAM,CAAC,CAACC,UAAU;EAC/C;AACF;AACA;EACEvD,MAAM,EAAEd,SAAS,CAACmE,UAAU,CAACC,MAAM,CAAC;EACpC;AACF;AACA;EACErD,WAAW,EAAEf,SAAS,CAACsE,KAAK,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;EACpD;AACF;AACA;EACEtD,OAAO,EAAEhB,SAAS,CAACuE,IAAI;EACvB;AACF;AACA;EACEtD,SAAS,EAAEjB,SAAS,CAACuE,IAAI;EACzB;AACF;AACA;EACErD,UAAU,EAAElB,SAAS,CAACgE,MAAM;EAC5B;AACF;AACA;EACE7C,UAAU,EAAEnB,SAAS,CAACgE,MAAM;EAC5B;AACF;AACA;EACEQ,QAAQ,EAAExE,SAAS,CAACgE;AACtB,CAAC;AAED,eAAe9D,UAAU,CAACM,MAAM,EAAE;EAAEyC,IAAI,EAAE;AAAU,CAAC,CAAC,CAACxC,KAAK,CAAC"}
|