@hitachivantara/uikit-react-viz 4.0.3 → 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 (195) hide show
  1. package/dist/Barchart/Barchart.js +45 -72
  2. package/dist/Barchart/Barchart.js.map +1 -1
  3. package/dist/Barchart/barchartPlotlyOverrides.js +1 -13
  4. package/dist/Barchart/barchartPlotlyOverrides.js.map +1 -1
  5. package/dist/Barchart/index.js +0 -2
  6. package/dist/Barchart/index.js.map +1 -1
  7. package/dist/Barchart/styles.js.map +1 -1
  8. package/dist/Chart/Chart.js +30 -76
  9. package/dist/Chart/Chart.js.map +1 -1
  10. package/dist/Chart/Plot/Plot.js +11 -48
  11. package/dist/Chart/Plot/Plot.js.map +1 -1
  12. package/dist/Chart/Plot/index.js +0 -2
  13. package/dist/Chart/Plot/index.js.map +1 -1
  14. package/dist/Chart/Plot/styles.js.map +1 -1
  15. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +1 -36
  16. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  17. package/dist/Chart/Tooltip/MultiTooltip/index.js +0 -2
  18. package/dist/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
  19. package/dist/Chart/Tooltip/MultiTooltip/styles.js +0 -2
  20. package/dist/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
  21. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -26
  22. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  23. package/dist/Chart/Tooltip/SingleTooltip/index.js +0 -2
  24. package/dist/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
  25. package/dist/Chart/Tooltip/SingleTooltip/styles.js +0 -2
  26. package/dist/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
  27. package/dist/Chart/Tooltip/Tooltip.js +16 -51
  28. package/dist/Chart/Tooltip/Tooltip.js.map +1 -1
  29. package/dist/Chart/Tooltip/index.js +0 -2
  30. package/dist/Chart/Tooltip/index.js.map +1 -1
  31. package/dist/Chart/Tooltip/styles.js.map +1 -1
  32. package/dist/Chart/chartPlotlyOverrides.js +9 -33
  33. package/dist/Chart/chartPlotlyOverrides.js.map +1 -1
  34. package/dist/Chart/index.js +0 -2
  35. package/dist/Chart/index.js.map +1 -1
  36. package/dist/Chart/styles.js +0 -13
  37. package/dist/Chart/styles.js.map +1 -1
  38. package/dist/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  39. package/dist/ConfusionMatrix/ConfusionMatrix.js +102 -0
  40. package/dist/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  41. package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js +47 -0
  42. package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  43. package/dist/ConfusionMatrix/CustomTooltip/index.js +14 -0
  44. package/dist/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  45. package/dist/ConfusionMatrix/CustomTooltip/styles.js +26 -0
  46. package/dist/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  47. package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +189 -0
  48. package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  49. package/dist/ConfusionMatrix/index.d.ts +2 -0
  50. package/dist/ConfusionMatrix/index.js +14 -0
  51. package/dist/ConfusionMatrix/index.js.map +1 -0
  52. package/dist/ConfusionMatrix/styles.js +10 -0
  53. package/dist/ConfusionMatrix/styles.js.map +1 -0
  54. package/dist/Donutchart/Donutchart.js +10 -47
  55. package/dist/Donutchart/Donutchart.js.map +1 -1
  56. package/dist/Donutchart/donutchartPlotlyOverrides.js +1 -13
  57. package/dist/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
  58. package/dist/Donutchart/index.js +0 -2
  59. package/dist/Donutchart/index.js.map +1 -1
  60. package/dist/Donutchart/styles.js.map +1 -1
  61. package/dist/Linechart/Linechart.js +12 -50
  62. package/dist/Linechart/Linechart.js.map +1 -1
  63. package/dist/Linechart/index.js +0 -2
  64. package/dist/Linechart/index.js.map +1 -1
  65. package/dist/Linechart/lineChartPlotlyOverrides.js +1 -17
  66. package/dist/Linechart/lineChartPlotlyOverrides.js.map +1 -1
  67. package/dist/Linechart/styles.js.map +1 -1
  68. package/dist/index.d.ts +3 -0
  69. package/dist/index.js +7 -4
  70. package/dist/index.js.map +1 -1
  71. package/dist/legacy/Barchart/Barchart.js +45 -43
  72. package/dist/legacy/Barchart/Barchart.js.map +1 -1
  73. package/dist/legacy/Barchart/barchartPlotlyOverrides.js +1 -6
  74. package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +1 -1
  75. package/dist/legacy/Barchart/index.js.map +1 -1
  76. package/dist/legacy/Barchart/styles.js.map +1 -1
  77. package/dist/legacy/Chart/Chart.js +30 -47
  78. package/dist/legacy/Chart/Chart.js.map +1 -1
  79. package/dist/legacy/Chart/Plot/Plot.js +11 -22
  80. package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
  81. package/dist/legacy/Chart/Plot/index.js.map +1 -1
  82. package/dist/legacy/Chart/Plot/styles.js.map +1 -1
  83. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +1 -17
  84. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  85. package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
  86. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js +0 -1
  87. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
  88. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -9
  89. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  90. package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
  91. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js +0 -1
  92. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
  93. package/dist/legacy/Chart/Tooltip/Tooltip.js +16 -30
  94. package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -1
  95. package/dist/legacy/Chart/Tooltip/index.js.map +1 -1
  96. package/dist/legacy/Chart/Tooltip/styles.js.map +1 -1
  97. package/dist/legacy/Chart/chartPlotlyOverrides.js +9 -20
  98. package/dist/legacy/Chart/chartPlotlyOverrides.js.map +1 -1
  99. package/dist/legacy/Chart/index.js.map +1 -1
  100. package/dist/legacy/Chart/styles.js +0 -4
  101. package/dist/legacy/Chart/styles.js.map +1 -1
  102. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  103. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js +87 -0
  104. package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  105. package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js +39 -0
  106. package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  107. package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js +2 -0
  108. package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  109. package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js +19 -0
  110. package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  111. package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +181 -0
  112. package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  113. package/dist/legacy/ConfusionMatrix/index.d.ts +2 -0
  114. package/dist/legacy/ConfusionMatrix/index.js +2 -0
  115. package/dist/legacy/ConfusionMatrix/index.js.map +1 -0
  116. package/dist/legacy/ConfusionMatrix/styles.js +3 -0
  117. package/dist/legacy/ConfusionMatrix/styles.js.map +1 -0
  118. package/dist/legacy/Donutchart/Donutchart.js +11 -22
  119. package/dist/legacy/Donutchart/Donutchart.js.map +1 -1
  120. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js +1 -6
  121. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
  122. package/dist/legacy/Donutchart/index.js.map +1 -1
  123. package/dist/legacy/Donutchart/styles.js.map +1 -1
  124. package/dist/legacy/Linechart/Linechart.js +13 -25
  125. package/dist/legacy/Linechart/Linechart.js.map +1 -1
  126. package/dist/legacy/Linechart/index.js.map +1 -1
  127. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js +1 -10
  128. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js.map +1 -1
  129. package/dist/legacy/Linechart/styles.js.map +1 -1
  130. package/dist/legacy/index.d.ts +3 -0
  131. package/dist/legacy/index.js +1 -0
  132. package/dist/legacy/index.js.map +1 -1
  133. package/dist/modern/Barchart/Barchart.js +38 -31
  134. package/dist/modern/Barchart/Barchart.js.map +1 -1
  135. package/dist/modern/Barchart/barchartPlotlyOverrides.js +1 -6
  136. package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +1 -1
  137. package/dist/modern/Barchart/index.js.map +1 -1
  138. package/dist/modern/Barchart/styles.js.map +1 -1
  139. package/dist/modern/Chart/Chart.js +19 -34
  140. package/dist/modern/Chart/Chart.js.map +1 -1
  141. package/dist/modern/Chart/Plot/Plot.js +12 -23
  142. package/dist/modern/Chart/Plot/Plot.js.map +1 -1
  143. package/dist/modern/Chart/Plot/index.js.map +1 -1
  144. package/dist/modern/Chart/Plot/styles.js.map +1 -1
  145. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -17
  146. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  147. package/dist/modern/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
  148. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js +0 -1
  149. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
  150. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -7
  151. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  152. package/dist/modern/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
  153. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js +0 -1
  154. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
  155. package/dist/modern/Chart/Tooltip/Tooltip.js +2 -13
  156. package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -1
  157. package/dist/modern/Chart/Tooltip/index.js.map +1 -1
  158. package/dist/modern/Chart/Tooltip/styles.js.map +1 -1
  159. package/dist/modern/Chart/chartPlotlyOverrides.js +9 -20
  160. package/dist/modern/Chart/chartPlotlyOverrides.js.map +1 -1
  161. package/dist/modern/Chart/index.js.map +1 -1
  162. package/dist/modern/Chart/styles.js +0 -4
  163. package/dist/modern/Chart/styles.js.map +1 -1
  164. package/dist/modern/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
  165. package/dist/modern/ConfusionMatrix/ConfusionMatrix.js +76 -0
  166. package/dist/modern/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
  167. package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js +37 -0
  168. package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
  169. package/dist/modern/ConfusionMatrix/CustomTooltip/index.js +2 -0
  170. package/dist/modern/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
  171. package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js +17 -0
  172. package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
  173. package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +154 -0
  174. package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
  175. package/dist/modern/ConfusionMatrix/index.d.ts +2 -0
  176. package/dist/modern/ConfusionMatrix/index.js +2 -0
  177. package/dist/modern/ConfusionMatrix/index.js.map +1 -0
  178. package/dist/modern/ConfusionMatrix/styles.js +3 -0
  179. package/dist/modern/ConfusionMatrix/styles.js.map +1 -0
  180. package/dist/modern/Donutchart/Donutchart.js +11 -22
  181. package/dist/modern/Donutchart/Donutchart.js.map +1 -1
  182. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js +1 -6
  183. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
  184. package/dist/modern/Donutchart/index.js.map +1 -1
  185. package/dist/modern/Donutchart/styles.js.map +1 -1
  186. package/dist/modern/Linechart/Linechart.js +12 -24
  187. package/dist/modern/Linechart/Linechart.js.map +1 -1
  188. package/dist/modern/Linechart/index.js.map +1 -1
  189. package/dist/modern/Linechart/lineChartPlotlyOverrides.js +1 -10
  190. package/dist/modern/Linechart/lineChartPlotlyOverrides.js.map +1 -1
  191. package/dist/modern/Linechart/styles.js.map +1 -1
  192. package/dist/modern/index.d.ts +3 -0
  193. package/dist/modern/index.js +1 -0
  194. package/dist/modern/index.js.map +1 -1
  195. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Barchart.js","names":["React","useMemo","useEffect","useState","useCallback","useRef","PropTypes","withStyles","Chart","applyLayoutDefaults","applyDataDefaults","styles","MARGIN","MAX_BAR_WIDTH","MIN_BAR_WIDTH","MIN_WIDTH","Barchart","id","classes","data","layout","config","tooltipType","stack","horizontal","others","dataWithDefaults","chartLayout","chartData","setChartData","firstRender","current","recalculateBarWidth","ref","plotData","props","plotLayout","length","barmode","bargap","bargroupgap","isStack","numberOfBarsByGroup","numberOfGroup","x","width","boundingRect","el","getBoundingClientRect","plotWidth","groupWidth","colWidth","calculatedBarWidth","greaterThan90","lessThan3","isAlreadyGreaterThan90","undefined","newWidth","newData","map","subData","propTypes","string","instanceOf","Object","arrayOf","isRequired","oneOf","bool","name"],"sources":["../../../src/Barchart/Barchart.js"],"sourcesContent":["import React, { useMemo, useEffect, useState, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport Chart from \"../Chart\";\nimport { applyLayoutDefaults, applyDataDefaults } from \"./barchartPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst MARGIN = 50;\nconst MAX_BAR_WIDTH = 90;\nconst MIN_BAR_WIDTH = 3;\nconst MIN_WIDTH = 75;\n\n/**\n * A Bar chart is a chart or graph that presents categorical data with rectangular bars.\n *\n * Our implementation leverages the Plotly charting library. If you have a specific case\n * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.\n */\nconst Barchart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n stack = false,\n horizontal = false,\n ...others\n}) => {\n /* Values derived from props */\n\n const dataWithDefaults = useMemo(() => applyDataDefaults(data, horizontal), [data, horizontal]);\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, stack, horizontal),\n [layout, stack, horizontal]\n );\n\n /* State */\n\n const [chartData, setChartData] = useState(dataWithDefaults);\n\n /* Effects */\n\n const firstRender = useRef(true);\n useEffect(() => {\n // only setChartData when prop value changes\n // not needed on first render because the\n // initial state is already properly set\n if (!firstRender.current) {\n setChartData(dataWithDefaults);\n }\n\n firstRender.current = false;\n }, [dataWithDefaults]);\n\n /**\n * Used to force the max width of each bar with 90px.\n *\n * (this is effectively more an effect than a callback)\n */\n const recalculateBarWidth = useCallback((ref) => {\n // use the data and layout info directly from the plotly ref\n // as it's always the most uptodate version.\n const plotData = ref.current.props.data;\n const plotLayout = ref.current.props.layout;\n\n if (plotData.length > 0) {\n const { barmode, bargap, bargroupgap } = plotLayout;\n\n const isStack = barmode === \"stack\";\n const numberOfBarsByGroup = isStack ? 1 : plotData.length;\n const numberOfGroup = plotData[0].x.length;\n\n const { width: boundingRect } = ref.current.el.getBoundingClientRect();\n const width = boundingRect < MIN_WIDTH ? MIN_WIDTH : boundingRect;\n const plotWidth = width - MARGIN;\n const groupWidth = plotWidth / numberOfGroup;\n const colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;\n\n const calculatedBarWidth = colWidth / numberOfBarsByGroup;\n const greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;\n const lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;\n const isAlreadyGreaterThan90 = plotData[0].width !== undefined;\n\n if (greaterThan90 && !isAlreadyGreaterThan90) {\n const newWidth = (MAX_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (lessThan3 && !isAlreadyGreaterThan90) {\n const newWidth = (MIN_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (!greaterThan90 && isAlreadyGreaterThan90) {\n const newData = plotData.map((subData) => {\n return { ...subData, width: undefined };\n });\n\n setChartData(newData);\n }\n }\n }, []);\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={chartData}\n layout={chartLayout}\n config={config}\n tooltipType={tooltipType}\n afterPlot={recalculateBarWidth}\n {...others}\n />\n );\n};\nBarchart.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.instanceOf(Object),\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),\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 * Sets is the chart is stack.\n */\n stack: PropTypes.bool,\n /**\n * Sets is the chart is horizontal.\n */\n horizontal: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvBarchart\" })(Barchart);\n"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,SAAzB,EAAoCC,QAApC,EAA8CC,WAA9C,EAA2DC,MAA3D,QAAyE,OAAzE;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,aAA3B;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,SAASC,mBAAT,EAA8BC,iBAA9B,QAAuD,2BAAvD;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAMC,aAAa,GAAG,CAAtB;AACA,MAAMC,SAAS,GAAG,EAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,QAUX;EAAA,IAVY;IAChBC,EADgB;IAEhBC,OAFgB;IAGhBC,IAHgB;IAIhBC,MAJgB;IAKhBC,MALgB;IAMhBC,WAAW,GAAG,UANE;IAOhBC,KAAK,GAAG,KAPQ;IAQhBC,UAAU,GAAG;EARG,CAUZ;EAAA,IADDC,MACC;;EACJ;EAEA,MAAMC,gBAAgB,GAAGzB,OAAO,CAAC,MAAMS,iBAAiB,CAACS,IAAD,EAAOK,UAAP,CAAxB,EAA4C,CAACL,IAAD,EAAOK,UAAP,CAA5C,CAAhC;EACA,MAAMG,WAAW,GAAG1B,OAAO,CACzB,MAAMQ,mBAAmB,CAACW,MAAD,EAASG,KAAT,EAAgBC,UAAhB,CADA,EAEzB,CAACJ,MAAD,EAASG,KAAT,EAAgBC,UAAhB,CAFyB,CAA3B;EAKA;;EAEA,MAAM,CAACI,SAAD,EAAYC,YAAZ,IAA4B1B,QAAQ,CAACuB,gBAAD,CAA1C;EAEA;;EAEA,MAAMI,WAAW,GAAGzB,MAAM,CAAC,IAAD,CAA1B;EACAH,SAAS,CAAC,MAAM;IACd;IACA;IACA;IACA,IAAI,CAAC4B,WAAW,CAACC,OAAjB,EAA0B;MACxBF,YAAY,CAACH,gBAAD,CAAZ;IACD;;IAEDI,WAAW,CAACC,OAAZ,GAAsB,KAAtB;EACD,CATQ,EASN,CAACL,gBAAD,CATM,CAAT;EAWA;AACF;AACA;AACA;AACA;;EACE,MAAMM,mBAAmB,GAAG5B,WAAW,CAAE6B,GAAD,IAAS;IAC/C;IACA;IACA,MAAMC,QAAQ,GAAGD,GAAG,CAACF,OAAJ,CAAYI,KAAZ,CAAkBhB,IAAnC;IACA,MAAMiB,UAAU,GAAGH,GAAG,CAACF,OAAJ,CAAYI,KAAZ,CAAkBf,MAArC;;IAEA,IAAIc,QAAQ,CAACG,MAAT,GAAkB,CAAtB,EAAyB;MACvB,MAAM;QAAEC,OAAF;QAAWC,MAAX;QAAmBC;MAAnB,IAAmCJ,UAAzC;MAEA,MAAMK,OAAO,GAAGH,OAAO,KAAK,OAA5B;MACA,MAAMI,mBAAmB,GAAGD,OAAO,GAAG,CAAH,GAAOP,QAAQ,CAACG,MAAnD;MACA,MAAMM,aAAa,GAAGT,QAAQ,CAAC,CAAD,CAAR,CAAYU,CAAZ,CAAcP,MAApC;MAEA,MAAM;QAAEQ,KAAK,EAAEC;MAAT,IAA0Bb,GAAG,CAACF,OAAJ,CAAYgB,EAAZ,CAAeC,qBAAf,EAAhC;MACA,MAAMH,KAAK,GAAGC,YAAY,GAAG/B,SAAf,GAA2BA,SAA3B,GAAuC+B,YAArD;MACA,MAAMG,SAAS,GAAGJ,KAAK,GAAGjC,MAA1B;MACA,MAAMsC,UAAU,GAAGD,SAAS,GAAGN,aAA/B;MACA,MAAMQ,QAAQ,GAAGD,UAAU,IAAI,IAAIX,MAAR,CAAV,GAA4BW,UAAU,IAAI,IAAIX,MAAR,CAAV,GAA4BC,WAAzE;MAEA,MAAMY,kBAAkB,GAAGD,QAAQ,GAAGT,mBAAtC;MACA,MAAMW,aAAa,GAAGD,kBAAkB,GAAGvC,aAA3C;MACA,MAAMyC,SAAS,GAAGF,kBAAkB,GAAGtC,aAAvC;MACA,MAAMyC,sBAAsB,GAAGrB,QAAQ,CAAC,CAAD,CAAR,CAAYW,KAAZ,KAAsBW,SAArD;;MAEA,IAAIH,aAAa,IAAI,CAACE,sBAAtB,EAA8C;QAC5C,MAAME,QAAQ,GAAI5C,aAAa,GAAGoC,SAAjB,GAA8BN,aAA/C;QAEA,MAAMe,OAAO,GAAGxB,QAAQ,CAACyB,GAAT,CAAcC,OAAD,IAAa;UACxC,uCAAYA,OAAZ;YAAqBf,KAAK,EAAEY;UAA5B;QACD,CAFe,CAAhB;QAIA5B,YAAY,CAAC6B,OAAD,CAAZ;MACD;;MAED,IAAIJ,SAAS,IAAI,CAACC,sBAAlB,EAA0C;QACxC,MAAME,QAAQ,GAAI3C,aAAa,GAAGmC,SAAjB,GAA8BN,aAA/C;QAEA,MAAMe,OAAO,GAAGxB,QAAQ,CAACyB,GAAT,CAAcC,OAAD,IAAa;UACxC,uCAAYA,OAAZ;YAAqBf,KAAK,EAAEY;UAA5B;QACD,CAFe,CAAhB;QAIA5B,YAAY,CAAC6B,OAAD,CAAZ;MACD;;MAED,IAAI,CAACL,aAAD,IAAkBE,sBAAtB,EAA8C;QAC5C,MAAMG,OAAO,GAAGxB,QAAQ,CAACyB,GAAT,CAAcC,OAAD,IAAa;UACxC,uCAAYA,OAAZ;YAAqBf,KAAK,EAAEW;UAA5B;QACD,CAFe,CAAhB;QAIA3B,YAAY,CAAC6B,OAAD,CAAZ;MACD;IACF;EACF,CApDsC,EAoDpC,EApDoC,CAAvC;EAsDA,oBACE,KAAC,KAAD;IACE,EAAE,EAAEzC,EADN;IAEE,OAAO,EAAEC,OAFX;IAGE,IAAI,EAAEU,SAHR;IAIE,MAAM,EAAED,WAJV;IAKE,MAAM,EAAEN,MALV;IAME,WAAW,EAAEC,WANf;IAOE,SAAS,EAAEU;EAPb,GAQMP,MARN,EADF;AAYD,CA5GD;;AA6GA,wCAAAT,QAAQ,CAAC6C,SAAT,GAAqB;EACnB;AACF;AACA;EACE5C,EAAE,EAAEX,SAAS,CAACwD,MAJK;;EAKnB;AACF;AACA;EACE5C,OAAO,EAAEZ,SAAS,CAACyD,UAAV,CAAqBC,MAArB,CARU;;EASnB;AACF;AACA;EACE7C,IAAI,EAAEb,SAAS,CAAC2D,OAAV,CAAkB3D,SAAS,CAACyD,UAAV,CAAqBC,MAArB,CAAlB,EAAgDE,UAZnC;;EAanB;AACF;AACA;EACE9C,MAAM,EAAEd,SAAS,CAACyD,UAAV,CAAqBC,MAArB,CAhBW;;EAiBnB;AACF;AACA;EACE3C,MAAM,EAAEf,SAAS,CAACyD,UAAV,CAAqBC,MAArB,CApBW;;EAqBnB;AACF;AACA;EACE1C,WAAW,EAAEhB,SAAS,CAAC6D,KAAV,CAAgB,CAAC,QAAD,EAAW,UAAX,CAAhB,CAxBM;;EAyBnB;AACF;AACA;EACE5C,KAAK,EAAEjB,SAAS,CAAC8D,IA5BE;;EA6BnB;AACF;AACA;EACE5C,UAAU,EAAElB,SAAS,CAAC8D;AAhCH,CAArB;AAmCA,eAAe7D,UAAU,CAACI,MAAD,EAAS;EAAE0D,IAAI,EAAE;AAAR,CAAT,CAAV,CAA2CrD,QAA3C,CAAf"}
1
+ {"version":3,"file":"Barchart.js","names":["React","useMemo","useEffect","useState","useCallback","useRef","PropTypes","withStyles","Chart","applyLayoutDefaults","applyDataDefaults","styles","MARGIN","MAX_BAR_WIDTH","MIN_BAR_WIDTH","MIN_WIDTH","Barchart","id","classes","data","layout","config","tooltipType","stack","horizontal","others","dataWithDefaults","chartLayout","chartData","setChartData","firstRender","current","recalculateBarWidth","ref","plotData","props","plotLayout","length","barmode","bargap","bargroupgap","isStack","numberOfBarsByGroup","numberOfGroup","x","width","boundingRect","el","getBoundingClientRect","plotWidth","groupWidth","colWidth","calculatedBarWidth","greaterThan90","lessThan3","isAlreadyGreaterThan90","undefined","newWidth","newData","map","subData","propTypes","string","shape","root","arrayOf","instanceOf","Object","isRequired","oneOf","tooltip","func","afterPlot","xAxisTitle","yAxisTitle","subtitle","bool","name"],"sources":["../../../src/Barchart/Barchart.js"],"sourcesContent":["import React, { useMemo, useEffect, useState, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport Chart from \"../Chart\";\nimport { applyLayoutDefaults, applyDataDefaults } from \"./barchartPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst MARGIN = 50;\nconst MAX_BAR_WIDTH = 90;\nconst MIN_BAR_WIDTH = 3;\nconst MIN_WIDTH = 75;\n\n/**\n * A Bar chart is a chart or graph that presents categorical data with rectangular bars.\n *\n * Our implementation leverages the Plotly charting library. If you have a specific case\n * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.\n */\nconst Barchart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n stack = false,\n horizontal = false,\n ...others\n}) => {\n /* Values derived from props */\n\n const dataWithDefaults = useMemo(() => applyDataDefaults(data, horizontal), [data, horizontal]);\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, stack, horizontal),\n [layout, stack, horizontal]\n );\n\n /* State */\n\n const [chartData, setChartData] = useState(dataWithDefaults);\n\n /* Effects */\n\n const firstRender = useRef(true);\n useEffect(() => {\n // only setChartData when prop value changes\n // not needed on first render because the\n // initial state is already properly set\n if (!firstRender.current) {\n setChartData(dataWithDefaults);\n }\n\n firstRender.current = false;\n }, [dataWithDefaults]);\n\n /**\n * Used to force the max width of each bar with 90px.\n *\n * (this is effectively more an effect than a callback)\n */\n const recalculateBarWidth = useCallback((ref) => {\n // use the data and layout info directly from the plotly ref\n // as it's always the most uptodate version.\n const plotData = ref.current.props.data;\n const plotLayout = ref.current.props.layout;\n\n if (plotData.length > 0) {\n const { barmode, bargap, bargroupgap } = plotLayout;\n\n const isStack = barmode === \"stack\";\n const numberOfBarsByGroup = isStack ? 1 : plotData.length;\n const numberOfGroup = plotData[0].x.length;\n\n const { width: boundingRect } = ref.current.el.getBoundingClientRect();\n const width = boundingRect < MIN_WIDTH ? MIN_WIDTH : boundingRect;\n const plotWidth = width - MARGIN;\n const groupWidth = plotWidth / numberOfGroup;\n const colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;\n\n const calculatedBarWidth = colWidth / numberOfBarsByGroup;\n const greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;\n const lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;\n const isAlreadyGreaterThan90 = plotData[0].width !== undefined;\n\n if (greaterThan90 && !isAlreadyGreaterThan90) {\n const newWidth = (MAX_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (lessThan3 && !isAlreadyGreaterThan90) {\n const newWidth = (MIN_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (!greaterThan90 && isAlreadyGreaterThan90) {\n const newData = plotData.map((subData) => {\n return { ...subData, width: undefined };\n });\n\n setChartData(newData);\n }\n }\n }, []);\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={chartData}\n layout={chartLayout}\n config={config}\n tooltipType={tooltipType}\n afterPlot={recalculateBarWidth}\n {...others}\n />\n );\n};\nBarchart.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 * 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),\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 * Sets is the chart is stack.\n */\n stack: PropTypes.bool,\n /**\n * Sets is the chart is horizontal.\n */\n horizontal: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvBarchart\" })(Barchart);\n"],"mappings":"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"}
@@ -1,16 +1,13 @@
1
1
  import clone from "lodash/cloneDeep";
2
-
3
2
  const setterIfNil = (object, property, value) => {
4
3
  var _object$property;
5
-
6
4
  // eslint-disable-next-line no-param-reassign
7
5
  object[property] = (_object$property = object[property]) !== null && _object$property !== void 0 ? _object$property : value;
8
6
  };
7
+
9
8
  /**
10
9
  * Auxiliary functions to set the layout in order to follow the DS guideline.
11
10
  */
12
-
13
-
14
11
  export const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {
15
12
  const layout = inputLayout === undefined ? {} : clone(inputLayout);
16
13
  setterIfNil(layout, "bargap", 0.25);
@@ -19,14 +16,12 @@ export const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {
19
16
  if (stack) setterIfNil(layout, "barmode", "stack");
20
17
  setterIfNil(layout, "yaxis", {});
21
18
  setterIfNil(layout, "xaxis", {});
22
-
23
19
  if (isHorizontal) {
24
20
  setterIfNil(layout.yaxis, "showline", true);
25
21
  setterIfNil(layout.xaxis, "showline", false);
26
22
  } else {
27
23
  setterIfNil(layout.yaxis, "showline", false);
28
24
  }
29
-
30
25
  return layout;
31
26
  };
32
27
  export const applyDataDefaults = (inputData, isHorizontal) => {
@@ -1 +1 @@
1
- {"version":3,"file":"barchartPlotlyOverrides.js","names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,kBAAlB;;AAEA,MAAMC,WAAW,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,KAAnB,KAA6B;EAAA;;EAC/C;EACAF,MAAM,CAACC,QAAD,CAAN,uBAAmBD,MAAM,CAACC,QAAD,CAAzB,+DAAuCC,KAAvC;AACD,CAHD;AAKA;AACA;AACA;;;AACA,OAAO,MAAMC,mBAAmB,GAAG,CAACC,WAAD,EAAcC,KAAd,EAAqBC,YAArB,KAAsC;EACvE,MAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAhB,GAA4B,EAA5B,GAAiCV,KAAK,CAACM,WAAD,CAArD;EACAL,WAAW,CAACQ,MAAD,EAAS,QAAT,EAAmB,IAAnB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,aAAT,EAAwB,IAAxB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,WAAT,EAAsB,SAAtB,CAAX;EACA,IAAIF,KAAJ,EAAWN,WAAW,CAACQ,MAAD,EAAS,SAAT,EAAoB,OAApB,CAAX;EAEXR,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;EACAR,WAAW,CAACQ,MAAD,EAAS,OAAT,EAAkB,EAAlB,CAAX;;EAEA,IAAID,YAAJ,EAAkB;IAChBP,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,IAA3B,CAAX;IACAV,WAAW,CAACQ,MAAM,CAACG,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;EACD,CAHD,MAGO;IACLX,WAAW,CAACQ,MAAM,CAACE,KAAR,EAAe,UAAf,EAA2B,KAA3B,CAAX;EACD;;EAED,OAAOF,MAAP;AACD,CAlBM;AAoBP,OAAO,MAAMI,iBAAiB,GAAG,CAACC,SAAD,EAAYN,YAAZ,KAA6B;EAC5D,MAAMO,IAAI,GAAGD,SAAb;EAEAC,IAAI,CAACC,OAAL,CAAcC,KAAD,IAAW;IACtBhB,WAAW,CAACgB,KAAD,EAAQ,MAAR,EAAgB,KAAhB,CAAX;IACAhB,WAAW,CAACgB,KAAD,EAAQ,WAAR,EAAqB,MAArB,CAAX;IACA,IAAIT,YAAJ,EAAkBP,WAAW,CAACgB,KAAD,EAAQ,aAAR,EAAuB,GAAvB,CAAX;EACnB,CAJD;EAMA,OAAOF,IAAP;AACD,CAVM"}
1
+ {"version":3,"file":"barchartPlotlyOverrides.js","names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,kBAAkB;AAEpC,MAAMC,WAAW,GAAG,CAACC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,KAAK;EAAA;EAC/C;EACAF,MAAM,CAACC,QAAQ,CAAC,uBAAGD,MAAM,CAACC,QAAQ,CAAC,+DAAIC,KAAK;AAC9C,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG,CAACC,WAAW,EAAEC,KAAK,EAAEC,YAAY,KAAK;EACvE,MAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAS,GAAG,CAAC,CAAC,GAAGV,KAAK,CAACM,WAAW,CAAC;EAClEL,WAAW,CAACQ,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;EACnCR,WAAW,CAACQ,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC;EACxCR,WAAW,CAACQ,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;EAC3C,IAAIF,KAAK,EAAEN,WAAW,CAACQ,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;EAElDR,WAAW,CAACQ,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAChCR,WAAW,CAACQ,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAEhC,IAAID,YAAY,EAAE;IAChBP,WAAW,CAACQ,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;IAC3CV,WAAW,CAACQ,MAAM,CAACG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;EAC9C,CAAC,MAAM;IACLX,WAAW,CAACQ,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;EAC9C;EAEA,OAAOF,MAAM;AACf,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAG,CAACC,SAAS,EAAEN,YAAY,KAAK;EAC5D,MAAMO,IAAI,GAAGD,SAAS;EAEtBC,IAAI,CAACC,OAAO,CAAEC,KAAK,IAAK;IACtBhB,WAAW,CAACgB,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACjChB,WAAW,CAACgB,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IACvC,IAAIT,YAAY,EAAEP,WAAW,CAACgB,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAOF,IAAI;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../../src/Barchart/index.js"],"sourcesContent":["export { default } from \"./Barchart\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,YAAxB"}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../src/Barchart/index.js"],"sourcesContent":["export { default } from \"./Barchart\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles"],"sources":["../../../src/Barchart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,EAAf;AAEA,eAAeA,MAAf"}
1
+ {"version":3,"file":"styles.js","names":["styles"],"sources":["../../../src/Barchart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,CAAC,CAAC;AAEjB,eAAeA,MAAM"}
@@ -1,12 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  const _excluded = ["id", "classes", "data", "layout", "config", "tooltipType", "tooltip", "afterPlot", "xAxisTitle", "yAxisTitle"];
4
-
5
4
  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; }
6
-
7
5
  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; }
8
-
9
- import "core-js/modules/web.dom-collections.iterator.js";
10
6
  import React, { useState, useMemo, useCallback } from "react";
11
7
  import PropTypes from "prop-types";
12
8
  import isNil from "lodash/isNil";
@@ -18,34 +14,33 @@ import styles from "./styles";
18
14
  import { jsx as _jsx } from "react/jsx-runtime";
19
15
  import { Fragment as _Fragment } from "react/jsx-runtime";
20
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
-
22
17
  const Chart = _ref => {
23
18
  let {
24
- id,
25
- classes,
26
- data,
27
- layout,
28
- config,
29
- tooltipType = "multiple",
30
- tooltip,
31
- afterPlot,
32
- xAxisTitle,
33
- yAxisTitle
34
- } = _ref,
35
- others = _objectWithoutProperties(_ref, _excluded);
36
-
19
+ id,
20
+ classes,
21
+ data,
22
+ layout,
23
+ config,
24
+ tooltipType = "multiple",
25
+ tooltip,
26
+ afterPlot,
27
+ xAxisTitle,
28
+ yAxisTitle
29
+ } = _ref,
30
+ others = _objectWithoutProperties(_ref, _excluded);
37
31
  const theme = useTheme();
32
+
38
33
  /* Values derived from props */
39
- // Check if the barchart is horizontal or vertical.
40
34
 
35
+ // Check if the barchart is horizontal or vertical.
41
36
  const isHorizontal = useMemo(() => {
42
37
  var _data$;
43
-
44
38
  return !isNil((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.orientation) ? data[0].orientation.toUpperCase() === "H" : false;
45
39
  }, [data]);
46
40
  const chartLayout = useMemo(() => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle), [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]);
47
41
  const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);
48
42
  const useSingle = tooltipType === "single";
43
+
49
44
  /* State */
50
45
 
51
46
  const [isHover, setIsHover] = useState(false);
@@ -54,9 +49,10 @@ const Chart = _ref => {
54
49
  y: 0
55
50
  });
56
51
  const [dataTooltip, setDataTooltip] = useState();
52
+
57
53
  /* Callbacks */
58
- // Extract data from the plotly onHover event to be used to create the tooltip.
59
54
 
55
+ // Extract data from the plotly onHover event to be used to create the tooltip.
60
56
  const onHover = useCallback(event => {
61
57
  const {
62
58
  points
@@ -67,14 +63,14 @@ const Chart = _ref => {
67
63
  };
68
64
  points.forEach((p, i) => {
69
65
  var _fData$marker, _fData$line, _fData$labels;
70
-
71
66
  const fData = p.fullData;
72
67
  const pNumber = p.pointNumber;
73
68
  if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;
74
69
  dataFromPoints.elements.push({
75
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,
76
71
  name: ((_fData$labels = fData.labels) === null || _fData$labels === void 0 ? void 0 : _fData$labels[pNumber]) || fData.name,
77
- value: isHorizontal ? p.x : p.y || p.value
72
+ value: isHorizontal ? p.x : p.y || p.value,
73
+ zValue: p.z
78
74
  });
79
75
  });
80
76
  setDataTooltip(dataFromPoints);
@@ -112,60 +108,49 @@ const Chart = _ref => {
112
108
  })]
113
109
  });
114
110
  };
115
-
116
111
  process.env.NODE_ENV !== "production" ? Chart.propTypes = {
117
112
  /**
118
113
  * An Id passed on to the component
119
114
  */
120
115
  id: PropTypes.string,
121
-
122
116
  /**
123
117
  * A Jss Object used to override or extend the styles applied.
124
118
  */
125
119
  classes: PropTypes.shape({
126
120
  root: PropTypes.string
127
121
  }),
128
-
129
122
  /**
130
123
  * Plotly data object (see https://plot.ly/javascript/reference/).
131
124
  */
132
125
  data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
133
-
134
126
  /**
135
127
  * Plotly layout object (see https://plot.ly/javascript/reference/#layout).
136
128
  */
137
129
  layout: PropTypes.instanceOf(Object).isRequired,
138
-
139
130
  /**
140
131
  * Plotly config object (see https://plot.ly/javascript/configuration-options/).
141
132
  */
142
133
  config: PropTypes.instanceOf(Object),
143
-
144
134
  /**
145
135
  * Defines if should use a single or multiline tooltip.
146
136
  */
147
137
  tooltipType: PropTypes.oneOf(["single", "multiple"]),
148
-
149
138
  /**
150
139
  * Custom tooltip element to be displayed
151
140
  */
152
141
  tooltip: PropTypes.func,
153
-
154
142
  /**
155
143
  * Function to be called after plot render.
156
144
  */
157
145
  afterPlot: PropTypes.func,
158
-
159
146
  /**
160
147
  * Defines the X axis title.
161
148
  */
162
149
  xAxisTitle: PropTypes.string,
163
-
164
150
  /**
165
151
  * Defines the Y axis title.
166
152
  */
167
153
  yAxisTitle: PropTypes.string,
168
-
169
154
  /**
170
155
  * Defines the chart subtitle.
171
156
  */
@@ -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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"}
@@ -1,14 +1,11 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  const _excluded = ["data", "layout", "config", "revision", "onHover", "onUnHover", "afterPlot"];
4
-
5
4
  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; }
6
-
7
5
  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; }
8
-
9
6
  import React, { useLayoutEffect, useRef, useCallback } from "react";
10
7
  import PropTypes from "prop-types";
11
- import Plotly from "plotly.js-basic-dist";
8
+ import Plotly from "plotly.js-dist-min";
12
9
  import createPlotlyComponent from "react-plotly.js/factory";
13
10
  import { withStyles } from "@mui/styles";
14
11
  import styles from "./styles";
@@ -17,25 +14,25 @@ const PlotGraph = createPlotlyComponent(Plotly);
17
14
  const plotGraphStyle = {
18
15
  position: "relative"
19
16
  };
20
-
21
17
  const Plot = _ref => {
22
18
  let {
23
- data,
24
- layout,
25
- config,
26
- revision = 0,
27
- onHover,
28
- onUnHover,
29
- afterPlot
30
- } = _ref,
31
- others = _objectWithoutProperties(_ref, _excluded);
32
-
19
+ data,
20
+ layout,
21
+ config,
22
+ revision = 0,
23
+ onHover,
24
+ onUnHover,
25
+ afterPlot
26
+ } = _ref,
27
+ others = _objectWithoutProperties(_ref, _excluded);
33
28
  const ref = useRef(null);
29
+
34
30
  /* Callbacks */
35
31
 
36
32
  const afterPlotInternal = useCallback(() => {
37
33
  afterPlot === null || afterPlot === void 0 ? void 0 : afterPlot(ref);
38
34
  }, [afterPlot]);
35
+
39
36
  /* Effects */
40
37
 
41
38
  /**
@@ -43,7 +40,6 @@ const Plot = _ref => {
43
40
  * (https://github.com/plotly/react-plotly.js/blob/bd15ca98be12b159633fb57c4ea762cb7a64c3a7/src/factory.js#L88)
44
41
  */
45
42
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
-
47
43
  useLayoutEffect(afterPlotInternal, []);
48
44
  return /*#__PURE__*/_jsx(PlotGraph, _objectSpread({
49
45
  ref: ref,
@@ -57,38 +53,31 @@ const Plot = _ref => {
57
53
  style: plotGraphStyle
58
54
  }, others));
59
55
  };
60
-
61
56
  process.env.NODE_ENV !== "production" ? Plot.propTypes = {
62
57
  /**
63
58
  * Plotly data object.
64
59
  */
65
60
  data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
66
-
67
61
  /**
68
62
  * Plotly layout object.
69
63
  */
70
64
  layout: PropTypes.instanceOf(Object).isRequired,
71
-
72
65
  /**
73
66
  * Plotly config object.
74
67
  */
75
68
  config: PropTypes.instanceOf(Object).isRequired,
76
-
77
69
  /**
78
70
  * OnHover function.
79
71
  */
80
72
  onHover: PropTypes.func,
81
-
82
73
  /**
83
74
  * OnUnHover function.
84
75
  */
85
76
  onUnHover: PropTypes.func,
86
-
87
77
  /**
88
78
  * Function to be call after plot render.
89
79
  */
90
80
  afterPlot: PropTypes.func,
91
-
92
81
  /**
93
82
  * Plot revision.
94
83
  */
@@ -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,KAAP,IAAgBC,eAAhB,EAAiCC,MAAjC,EAAyCC,WAAzC,QAA4D,OAA5D;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,qBAAP,MAAkC,yBAAlC;AACA,SAASC,UAAT,QAA2B,aAA3B;AACA,OAAOC,MAAP,MAAmB,UAAnB;;AAEA,MAAMC,SAAS,GAAGH,qBAAqB,CAACD,MAAD,CAAvC;AAEA,MAAMK,cAAc,GAAG;EAAEC,QAAQ,EAAE;AAAZ,CAAvB;;AAEA,MAAMC,IAAI,GAAG,QAAsF;EAAA,IAArF;IAAEC,IAAF;IAAQC,MAAR;IAAgBC,MAAhB;IAAwBC,QAAQ,GAAG,CAAnC;IAAsCC,OAAtC;IAA+CC,SAA/C;IAA0DC;EAA1D,CAAqF;EAAA,IAAbC,MAAa;;EACjG,MAAMC,GAAG,GAAGnB,MAAM,CAAC,IAAD,CAAlB;EAEA;;EAEA,MAAMoB,iBAAiB,GAAGnB,WAAW,CAAC,MAAM;IAC1CgB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAGE,GAAH,CAAT;EACD,CAFoC,EAElC,CAACF,SAAD,CAFkC,CAArC;EAIA;;EAEA;AACF;AACA;AACA;EACE;;EACAlB,eAAe,CAACqB,iBAAD,EAAoB,EAApB,CAAf;EAEA,oBACE,KAAC,SAAD;IACE,GAAG,EAAED,GADP;IAEE,IAAI,EAAER,IAFR;IAGE,MAAM,EAAEC,MAHV;IAIE,MAAM,EAAEC,MAJV;IAKE,QAAQ,EAAEC,QALZ;IAME,OAAO,EAAEC,OANX;IAOE,SAAS,EAAEC,SAPb;IAQE,WAAW,EAAEC,SAAS,IAAI,IAAb,GAAoBG,iBAApB,GAAwC,IARvD;IASE,KAAK,EAAEZ;EATT,GAUMU,MAVN,EADF;AAcD,CAhCD;;AAkCA,wCAAAR,IAAI,CAACW,SAAL,GAAiB;EACf;AACF;AACA;EACEV,IAAI,EAAET,SAAS,CAACoB,OAAV,CAAkBpB,SAAS,CAACqB,UAAV,CAAqBC,MAArB,CAAlB,EAAgDC,UAJvC;;EAKf;AACF;AACA;EACEb,MAAM,EAAEV,SAAS,CAACqB,UAAV,CAAqBC,MAArB,EAA6BC,UARtB;;EASf;AACF;AACA;EACEZ,MAAM,EAAEX,SAAS,CAACqB,UAAV,CAAqBC,MAArB,EAA6BC,UAZtB;;EAaf;AACF;AACA;EACEV,OAAO,EAAEb,SAAS,CAACwB,IAhBJ;;EAiBf;AACF;AACA;EACEV,SAAS,EAAEd,SAAS,CAACwB,IApBN;;EAqBf;AACF;AACA;EACET,SAAS,EAAEf,SAAS,CAACwB,IAxBN;;EAyBf;AACF;AACA;EACEZ,QAAQ,EAAEZ,SAAS,CAACyB;AA5BL,CAAjB;AA+BA,eAAetB,UAAU,CAACC,MAAD,EAAS;EAAEsB,IAAI,EAAE;AAAR,CAAT,CAAV,CAA4ClB,IAA5C,CAAf"}
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,MAAMC,SAAS,GAAGH,qBAAqB,CAACD,MAAM,CAAC;AAE/C,MAAMK,cAAc,GAAG;EAAEC,QAAQ,EAAE;AAAW,CAAC;AAE/C,MAAMC,IAAI,GAAG,QAAsF;EAAA,IAArF;MAAEC,IAAI;MAAEC,MAAM;MAAEC,MAAM;MAAEC,QAAQ,GAAG,CAAC;MAAEC,OAAO;MAAEC,SAAS;MAAEC;IAAqB,CAAC;IAARC,MAAM;EAC1F,MAAMC,GAAG,GAAGnB,MAAM,CAAC,IAAI,CAAC;;EAExB;;EAEA,MAAMoB,iBAAiB,GAAGnB,WAAW,CAAC,MAAM;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 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../../../src/Chart/Plot/index.js"],"sourcesContent":["export { default } from \"./Plot\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB"}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../src/Chart/Plot/index.js"],"sourcesContent":["export { default } from \"./Plot\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles"],"sources":["../../../../src/Chart/Plot/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,EAAf;AAEA,eAAeA,MAAf"}
1
+ {"version":3,"file":"styles.js","names":["styles"],"sources":["../../../../src/Chart/Plot/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,CAAC,CAAC;AAEjB,eAAeA,MAAM"}
@@ -1,4 +1,3 @@
1
- import "core-js/modules/web.dom-collections.iterator.js";
2
1
  import React, { memo } from "react";
3
2
  import PropTypes from "prop-types";
4
3
  import { withStyles } from "@mui/styles";
@@ -6,13 +5,11 @@ import { HvTypography } from "@hitachivantara/uikit-react-core";
6
5
  import styles from "./styles";
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
8
7
  import { jsxs as _jsxs } from "react/jsx-runtime";
9
-
10
8
  const MultiTooltip = ({
11
9
  classes,
12
10
  data
13
11
  }) => {
14
12
  var _data$elements;
15
-
16
13
  return /*#__PURE__*/_jsxs("div", {
17
14
  className: classes.root,
18
15
  children: [/*#__PURE__*/_jsx("div", {
@@ -53,7 +50,6 @@ const MultiTooltip = ({
53
50
  })]
54
51
  });
55
52
  };
56
-
57
53
  process.env.NODE_ENV !== "production" ? MultiTooltip.propTypes = {
58
54
  /**
59
55
  * A Jss Object used to override or extend the styles applied.
@@ -63,43 +59,35 @@ process.env.NODE_ENV !== "production" ? MultiTooltip.propTypes = {
63
59
  * Styles applied to the root.
64
60
  */
65
61
  root: PropTypes.string,
66
-
67
62
  /**
68
63
  * Styles applied to the title.
69
64
  */
70
65
  title: PropTypes.string,
71
-
72
66
  /**
73
67
  * Styles applied to the values container.
74
68
  */
75
69
  valuesContainer: PropTypes.string,
76
-
77
70
  /**
78
71
  * Styling applied to the elements describing a data.
79
72
  */
80
73
  valueNameWrapper: PropTypes.string,
81
-
82
74
  /**
83
75
  * Styles applied to the values.
84
76
  */
85
77
  values: PropTypes.string,
86
-
87
78
  /**
88
79
  * Styles applied to the color.
89
80
  */
90
81
  color: PropTypes.string,
91
-
92
82
  /**
93
83
  * Styles applied to the separator between color and title.
94
84
  */
95
85
  separatorColor: PropTypes.string,
96
-
97
86
  /**
98
87
  * Styles applied to the separator.
99
88
  */
100
89
  separator: PropTypes.string
101
90
  }).isRequired,
102
-
103
91
  /**
104
92
  * Data of the tooltip.
105
93
  */
@@ -108,7 +96,6 @@ process.env.NODE_ENV !== "production" ? MultiTooltip.propTypes = {
108
96
  * Styles applied to the barchart root class.
109
97
  */
110
98
  title: PropTypes.string,
111
-
112
99
  /**
113
100
  * Values of tooltip
114
101
  */
@@ -117,12 +104,10 @@ process.env.NODE_ENV !== "production" ? MultiTooltip.propTypes = {
117
104
  * Color (in hex).
118
105
  */
119
106
  color: PropTypes.string,
120
-
121
107
  /**
122
108
  * Name.
123
109
  */
124
110
  name: PropTypes.string,
125
-
126
111
  /**
127
112
  * Value.
128
113
  */
@@ -130,9 +115,7 @@ process.env.NODE_ENV !== "production" ? MultiTooltip.propTypes = {
130
115
  }))
131
116
  }).isRequired
132
117
  } : void 0;
133
-
134
118
  const arePropsEqual = (prevProps, nextProps) => prevProps.data === nextProps.data;
135
-
136
119
  export default withStyles(styles, {
137
120
  name: "HvChartMultiTooltip"
138
121
  })( /*#__PURE__*/memo(MultiTooltip, arePropsEqual));
@@ -1 +1 @@
1
- {"version":3,"file":"MultiTooltip.js","names":["React","memo","PropTypes","withStyles","HvTypography","styles","MultiTooltip","classes","data","root","title","valuesContainer","elements","map","element","values","valueNameWrapper","color","backgroundColor","separatorColor","name","separator","value","propTypes","shape","string","isRequired","arrayOf","number","arePropsEqual","prevProps","nextProps"],"sources":["../../../../../src/Chart/Tooltip/MultiTooltip/MultiTooltip.js"],"sourcesContent":["import React, { memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport styles from \"./styles\";\n\nconst MultiTooltip = ({ classes, data }) => (\n <div className={classes.root}>\n <div className={classes.title}>\n <div>\n <HvTypography variant=\"highlightText\">{data.title}</HvTypography>\n </div>\n </div>\n <div className={classes.valuesContainer}>\n {data?.elements?.map((element) => (\n <div key={element.name} className={classes.values}>\n <div className={classes.valueNameWrapper}>\n <div className={classes.color} style={{ backgroundColor: element.color }} />\n <div className={classes.separatorColor} />\n <div>\n <HvTypography variant=\"highlightText\">{element.name}</HvTypography>\n </div>\n <div className={classes.separator} />\n </div>\n <div>\n <HvTypography>{element.value}</HvTypography>\n </div>\n </div>\n ))}\n </div>\n </div>\n);\n\nMultiTooltip.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the title.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the values container.\n */\n valuesContainer: PropTypes.string,\n /**\n * Styling applied to the elements describing a data.\n */\n valueNameWrapper: PropTypes.string,\n /**\n * Styles applied to the values.\n */\n values: PropTypes.string,\n /**\n * Styles applied to the color.\n */\n color: PropTypes.string,\n /**\n * Styles applied to the separator between color and title.\n */\n separatorColor: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n }).isRequired,\n /**\n * Data of the tooltip.\n */\n data: PropTypes.shape({\n /**\n * Styles applied to the barchart root class.\n */\n title: PropTypes.string,\n /**\n * Values of tooltip\n */\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Color (in hex).\n */\n color: PropTypes.string,\n /**\n * Name.\n */\n name: PropTypes.string,\n /**\n * Value.\n */\n value: PropTypes.number,\n })\n ),\n }).isRequired,\n};\n\nconst arePropsEqual = (prevProps, nextProps) => prevProps.data === nextProps.data;\n\nexport default withStyles(styles, { name: \"HvChartMultiTooltip\" })(\n memo(MultiTooltip, arePropsEqual)\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiTooltip.js","names":["React","memo","PropTypes","withStyles","HvTypography","styles","MultiTooltip","classes","data","root","title","valuesContainer","elements","map","element","values","valueNameWrapper","color","backgroundColor","separatorColor","name","separator","value","propTypes","shape","string","isRequired","arrayOf","number","arePropsEqual","prevProps","nextProps"],"sources":["../../../../../src/Chart/Tooltip/MultiTooltip/MultiTooltip.js"],"sourcesContent":["import React, { memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { HvTypography } from \"@hitachivantara/uikit-react-core\";\nimport styles from \"./styles\";\n\nconst MultiTooltip = ({ classes, data }) => (\n <div className={classes.root}>\n <div className={classes.title}>\n <div>\n <HvTypography variant=\"highlightText\">{data.title}</HvTypography>\n </div>\n </div>\n <div className={classes.valuesContainer}>\n {data?.elements?.map((element) => (\n <div key={element.name} className={classes.values}>\n <div className={classes.valueNameWrapper}>\n <div className={classes.color} style={{ backgroundColor: element.color }} />\n <div className={classes.separatorColor} />\n <div>\n <HvTypography variant=\"highlightText\">{element.name}</HvTypography>\n </div>\n <div className={classes.separator} />\n </div>\n <div>\n <HvTypography>{element.value}</HvTypography>\n </div>\n </div>\n ))}\n </div>\n </div>\n);\n\nMultiTooltip.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the title.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the values container.\n */\n valuesContainer: PropTypes.string,\n /**\n * Styling applied to the elements describing a data.\n */\n valueNameWrapper: PropTypes.string,\n /**\n * Styles applied to the values.\n */\n values: PropTypes.string,\n /**\n * Styles applied to the color.\n */\n color: PropTypes.string,\n /**\n * Styles applied to the separator between color and title.\n */\n separatorColor: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n }).isRequired,\n /**\n * Data of the tooltip.\n */\n data: PropTypes.shape({\n /**\n * Styles applied to the barchart root class.\n */\n title: PropTypes.string,\n /**\n * Values of tooltip\n */\n elements: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Color (in hex).\n */\n color: PropTypes.string,\n /**\n * Name.\n */\n name: PropTypes.string,\n /**\n * Value.\n */\n value: PropTypes.number,\n })\n ),\n }).isRequired,\n};\n\nconst arePropsEqual = (prevProps, nextProps) => prevProps.data === nextProps.data;\n\nexport default withStyles(styles, { name: \"HvChartMultiTooltip\" })(\n memo(MultiTooltip, arePropsEqual)\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../src/Chart/Tooltip/MultiTooltip/index.js"],"sourcesContent":["export { default } from \"./MultiTooltip\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,gBAAxB"}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../src/Chart/Tooltip/MultiTooltip/index.js"],"sourcesContent":["export { default } from \"./MultiTooltip\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB"}
@@ -36,6 +36,5 @@ const styles = theme => ({
36
36
  width: "5px"
37
37
  }
38
38
  });
39
-
40
39
  export default styles;
41
40
  //# sourceMappingURL=styles.js.map