@pie-lib/charting 5.48.0-mui-update.0 → 5.50.0-mui-update.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 (44) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/lib/axes.js +1 -1
  3. package/lib/axes.js.map +1 -1
  4. package/lib/bars/common/bars.js +9 -15
  5. package/lib/bars/common/bars.js.map +1 -1
  6. package/lib/chart-setup.js +1 -1
  7. package/lib/chart-setup.js.map +1 -1
  8. package/lib/chart.js +1 -4
  9. package/lib/chart.js.map +1 -1
  10. package/lib/common/drag-handle.js +2 -5
  11. package/lib/common/drag-handle.js.map +1 -1
  12. package/lib/grid.js +2 -5
  13. package/lib/grid.js.map +1 -1
  14. package/lib/line/common/line.js +2 -3
  15. package/lib/line/common/line.js.map +1 -1
  16. package/lib/line/line-cross.js +2 -2
  17. package/lib/line/line-cross.js.map +1 -1
  18. package/lib/line/line-dot.js +1 -5
  19. package/lib/line/line-dot.js.map +1 -1
  20. package/lib/plot/common/plot.js +2 -3
  21. package/lib/plot/common/plot.js.map +1 -1
  22. package/lib/plot/dot.js +1 -1
  23. package/lib/plot/dot.js.map +1 -1
  24. package/lib/plot/line.js +2 -2
  25. package/lib/plot/line.js.map +1 -1
  26. package/lib/tool-menu.js +1 -5
  27. package/lib/tool-menu.js.map +1 -1
  28. package/lib/utils.js +11 -9
  29. package/lib/utils.js.map +1 -1
  30. package/package.json +13 -13
  31. package/src/axes.jsx +1 -1
  32. package/src/bars/common/bars.jsx +36 -49
  33. package/src/chart-setup.jsx +1 -1
  34. package/src/chart.jsx +1 -2
  35. package/src/common/drag-handle.jsx +0 -3
  36. package/src/grid.jsx +3 -3
  37. package/src/line/common/line.jsx +2 -3
  38. package/src/line/line-cross.js +2 -2
  39. package/src/line/line-dot.js +3 -27
  40. package/src/plot/common/plot.jsx +2 -3
  41. package/src/plot/dot.js +1 -1
  42. package/src/plot/line.js +2 -2
  43. package/src/tool-menu.jsx +10 -11
  44. package/src/utils.js +13 -9
package/CHANGELOG.md CHANGED
@@ -3,6 +3,32 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.50.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.49.0-mui-update.0...@pie-lib/charting@5.50.0-mui-update.0) (2025-12-29)
7
+
8
+ **Note:** Version bump only for package @pie-lib/charting
9
+
10
+
11
+
12
+
13
+
14
+ # [5.49.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.48.0-mui-update.0...@pie-lib/charting@5.49.0-mui-update.0) (2025-12-29)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * charting issue after mui update ([19eb377](https://github.com/pie-framework/pie-lib/commit/19eb377ae63624402dce8118857c64e2da07c7ec))
20
+ * charting style ([1e72103](https://github.com/pie-framework/pie-lib/commit/1e7210354c92a4f85da10043f42261e275894b69))
21
+ * publish charting ([df5a64e](https://github.com/pie-framework/pie-lib/commit/df5a64e4287fe71b0da7838c14b19e72286c7e82))
22
+
23
+
24
+ ### Features
25
+
26
+ * migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
27
+
28
+
29
+
30
+
31
+
6
32
  # [5.48.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.47.0-mui-update.0...@pie-lib/charting@5.48.0-mui-update.0) (2025-12-17)
7
33
 
8
34
  **Note:** Version bump only for package @pie-lib/charting
package/lib/axes.js CHANGED
@@ -15,7 +15,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
  var _styles = require("@mui/material/styles");
18
- var _axis = require("@vx/axis");
18
+ var _axis = require("@visx/axis");
19
19
  var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
20
20
  var _plot = require("@pie-lib/plot");
21
21
  var _renderUi = require("@pie-lib/render-ui");
package/lib/axes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"axes.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_axis","_Checkbox","_plot","_renderUi","_configUi","_mathRendering","_correctnessIndicators","_utils","_markLabel","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledErrorText","styled","_ref","theme","fontSize","typography","fill","palette","error","main","StyledCheckbox","Checkbox","color","concat","tertiary","StyledAxesGroup","_ref2","_theme$typography$bod","stroke","visualElementsColors","AXIS_LINE_COLOR","strokeWidth","AXIS_TICK_COLOR","fontFamily","body1","textAnchor","correctnessIconStyles","borderRadius","spacing","defaults","WHITE","width","height","padding","border","boxSizing","incorrectIconStyles","backgroundColor","incorrectWithIcon","correctIconStyles","correct","TickComponent","exports","_React$Component","props","_this","_classCallCheck2","open","callback","setState","dialog","index","newLabel","_this$props","categories","onChangeCategory","category","label","value","_this$props2","title","text","onConfirm","handleAlertDialog","interactive","onClose","_this$props3","editable","maxChar","chunks","indexToSplit","lastIndexOf","substring","trim","state","_inherits2","_createClass2","key","componentDidUpdate","prevProps","autoFocus","onAutoFocusUsed","render","_this2","_this$props4","xBand","bandWidth","barWidth","rotate","top","graphProps","defineChart","chartingOptions","x","y","formattedValue","changeInteractiveEnabled","changeEditableEnabled","hiddenLabelRef","showCorrectness","classes","correctnessIcon","incorrectIcon","correctIcon","_ref3","changeEditable","changeInteractive","parseInt","split","_ref4","correctness","barX","bandKey","longestCategory","reduce","a","b","lengthA","lengthB","distinctMessages","_toConsumableArray2","Set","values","join","createElement","style","pointerEvents","overflow","isHiddenLabel","inputRef","disabled","mark","input","onChange","changeCategory","limitCharacters","correctnessIndicator","TickCorrectnessIndicator","position","wordBreak","maxWidth","display","splitText","authoringLabel","map","word","dy","checked","target","AlertDialog","React","Component","PropTypes","bool","any","propTypes","array","func","number","object","string","RawChartAxes","_React$Component2","_this3","_len","args","Array","_key","componentDidMount","boundingClientRect","getBoundingClientRect","hiddenEl","current","containsLatex","querySelector","hasMathJax","mathHandled","renderMath","Math","floor","prevState","snapshot","_this4","_this$props5","leftAxis","_this$props5$categori","_ref5","_ref5$scale","scale","_ref5$range","range","_ref5$domain","domain","_ref5$size","size","_this$state","bottomScale","rangeRound","bandwidth","max","rowTickValues","getTickValues","step","labelStep","rotateBecauseOfHeight","getRotateAngle","rotateBecauseOfWidth","getTickLabelProps","dx","toLocaleString","getTickComponent","properties","ref","AxisLeft","tickLength","tickFormat","tickValues","tickLabelProps","AxisBottom","labelProps","min","textLabelProps","count","tickComponent","types","GraphPropsType","isRequired","ChartAxes","_ref6","_default"],"sources":["../src/axes.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { AxisLeft, AxisBottom } from '@vx/axis';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport { TickCorrectnessIndicator } from './common/correctness-indicators';\nimport { bandKey, getTickValues, getRotateAngle } from './utils';\nimport MarkLabel from './mark-label';\n\nconst StyledErrorText = styled('text')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n fill: theme.palette.error.main,\n}));\n\nconst StyledCheckbox = styled(Checkbox)(() => ({\n color: `${color.tertiary()} !important`,\n}));\n\nconst StyledAxesGroup = styled('g')(({ theme }) => ({\n '& .vx-axis-line': {\n stroke: color.visualElementsColors.AXIS_LINE_COLOR,\n strokeWidth: 2,\n },\n '& .vx-axis-tick': {\n fill: color.visualElementsColors.AXIS_TICK_COLOR,\n '& line': {\n stroke: color.visualElementsColors.AXIS_TICK_COLOR,\n strokeWidth: 2,\n },\n fontFamily: theme.typography.body1?.fontFamily,\n fontSize: theme.typography.fontSize,\n textAnchor: 'middle',\n },\n}));\n\nconst correctnessIconStyles = (theme) => ({\n borderRadius: theme.spacing(2),\n color: color.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${color.defaults.WHITE}`,\n boxSizing: 'unset', // to override the default border-box in IBX\n});\n\nconst incorrectIconStyles = {\n backgroundColor: color.incorrectWithIcon(),\n};\n\nconst correctIconStyles = {\n backgroundColor: color.correct(),\n};\n\nexport class TickComponent extends React.Component {\n static propTypes = {\n defineChart: PropTypes.bool,\n error: PropTypes.any,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n };\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.autoFocus && !prevProps.autoFocus) {\n this.props.onAutoFocusUsed();\n }\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeCategory = (index, newLabel) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n onChangeCategory(index, { ...category, label: newLabel });\n };\n\n changeInteractive = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove the correct answer value that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(false, onChangeCategory(index, { ...category, interactive: !category.interactive })),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n onChangeCategory(index, { ...category, interactive: !category.interactive });\n }\n };\n\n changeEditable = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove the correct answer category name that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, editable: !category.editable || false }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n onChangeCategory(index, { ...category, editable: !category.editable || false });\n }\n };\n\n splitText = (text, maxChar) => {\n let chunks = [];\n while ((text || '').length > 0) {\n let indexToSplit;\n if (text.length > maxChar) {\n indexToSplit = text.lastIndexOf(' ', maxChar);\n if (indexToSplit === -1) {\n indexToSplit = maxChar;\n }\n } else {\n indexToSplit = text.length;\n }\n chunks.push(text.substring(0, indexToSplit));\n text = text.substring(indexToSplit).trim();\n }\n return chunks;\n };\n\n render() {\n const {\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n graphProps,\n defineChart,\n chartingOptions,\n x,\n y,\n formattedValue,\n changeInteractiveEnabled,\n changeEditableEnabled,\n error,\n autoFocus,\n hiddenLabelRef,\n showCorrectness,\n } = this.props;\n\n if (!formattedValue) {\n return null;\n }\n\n // Create classes object for TickCorrectnessIndicator compatibility\n const classes = {\n correctnessIcon: correctnessIconStyles,\n incorrectIcon: incorrectIconStyles,\n correctIcon: correctIconStyles,\n };\n\n const { dialog } = this.state;\n const { changeEditable, changeInteractive } = chartingOptions || {};\n const index = parseInt(formattedValue.split('-')[0], 10);\n const category = categories[index];\n const { editable, interactive, label, correctness } = category || {};\n const barX = xBand(bandKey({ label }, index));\n const longestCategory = (categories || []).reduce((a, b) => {\n const lengthA = a && a.label ? a.label.length : 0;\n const lengthB = b && b.label ? b.label.length : 0;\n\n return lengthA > lengthB ? a : b;\n });\n const distinctMessages = error ? [...new Set(Object.values(error))].join(' ') : '';\n\n return (\n <g>\n <foreignObject\n x={bandWidth ? barX : x - barWidth / 2}\n y={18}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'none', overflow: 'visible' }}\n >\n {index === 0 && (\n <MarkLabel\n isHiddenLabel={true}\n inputRef={hiddenLabelRef}\n disabled={true}\n mark={longestCategory}\n graphProps={graphProps}\n barWidth={barWidth}\n />\n )}\n\n <MarkLabel\n autoFocus={defineChart && autoFocus}\n inputRef={(r) => (this.input = r)}\n disabled={!defineChart && !editable}\n mark={category}\n graphProps={graphProps}\n onChange={(newLabel) => this.changeCategory(index, newLabel)}\n barWidth={barWidth}\n rotate={rotate}\n correctness={correctness}\n error={error && error[index]}\n limitCharacters\n correctnessIndicator={\n showCorrectness &&\n correctness && (\n <TickCorrectnessIndicator correctness={correctness} interactive={interactive} classes={classes} />\n )\n }\n />\n </foreignObject>\n\n {error && index === 0 && (\n <StyledErrorText y={y + 23} height={6} textAnchor=\"start\">\n {distinctMessages}\n </StyledErrorText>\n )}\n\n {defineChart && index === 0 && (\n <svg\n x={-55}\n style={{\n overflow: 'visible',\n }}\n >\n {changeInteractiveEnabled && (\n <text\n y={y + 90 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n maxWidth: barWidth,\n display: 'inline-block',\n }}\n >\n {this.splitText(changeInteractive?.authoringLabel, 20).map((word, index) => (\n <tspan key={index} x=\"0\" dy={`${index > 0 ? '1.2em' : '.6em'}`}>\n {word}\n </tspan>\n ))}\n </text>\n )}\n\n {changeEditableEnabled && (\n <text\n y={y + 145 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n maxWidth: barWidth,\n display: 'inline-block',\n }}\n >\n {this.splitText(changeEditable?.authoringLabel, 20).map((word, index) => (\n <tspan key={index} x=\"0\" dy={`${index > 0 ? '1.2em' : '.6em'}`}>\n {word}\n </tspan>\n ))}\n </text>\n )}\n </svg>\n )}\n\n {defineChart && changeInteractiveEnabled && (\n <foreignObject\n x={x - 24}\n y={y + 80 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <StyledCheckbox\n style={{ position: 'fixed' }}\n checked={interactive}\n onChange={(e) => this.changeInteractive(index, e.target.checked)}\n />\n </foreignObject>\n )}\n\n {defineChart && changeEditableEnabled && (\n <foreignObject\n x={x - 24}\n y={y + 130 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <StyledCheckbox\n style={{ position: 'fixed' }}\n checked={editable}\n onChange={(e) => this.changeEditable(index, e.target.checked)}\n />\n </foreignObject>\n )}\n\n <foreignObject\n x={x - 24}\n y={y + 100 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </foreignObject>\n </g>\n );\n }\n}\n\nTickComponent.propTypes = {\n categories: PropTypes.array,\n xBand: PropTypes.func,\n bandWidth: PropTypes.number,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n top: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: PropTypes.object,\n formattedValue: PropTypes.string,\n onChangeCategory: PropTypes.func,\n onChange: PropTypes.func,\n error: PropTypes.object,\n defineChart: PropTypes.bool,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n onAutoFocusUsed: PropTypes.func,\n showCorrectness: PropTypes.bool,\n};\n\nexport class RawChartAxes extends React.Component {\n static propTypes = {\n bottomScale: PropTypes.func,\n categories: PropTypes.array,\n defineChart: PropTypes.bool,\n error: PropTypes.any,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n leftAxis: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeCategory: PropTypes.func,\n top: PropTypes.number,\n theme: PropTypes.object,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n onAutoFocusUsed: PropTypes.func,\n showCorrectness: PropTypes.bool,\n };\n\n state = { height: 0, width: 0 };\n\n componentDidMount() {\n if (this.hiddenLabelRef) {\n const boundingClientRect = this.hiddenLabelRef.getBoundingClientRect();\n const hiddenEl = this.hiddenLabelRef.current;\n\n // same logic used in dropdown.jsx for hidden labels width calculation\n if (hiddenEl) {\n const containsLatex = hiddenEl.querySelector('[data-latex], [data-raw]');\n const hasMathJax = hiddenEl.querySelector('mjx-container');\n const mathHandled = hiddenEl.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(this.hiddenLabelRef);\n }\n\n this.setState({\n height: Math.floor(boundingClientRect.height),\n width: Math.floor(boundingClientRect.width),\n });\n }\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.hiddenLabelRef) {\n const width = Math.floor(this.hiddenLabelRef.getBoundingClientRect().width);\n\n if (width !== this.state.width) {\n this.setState({ width });\n }\n }\n }\n\n render() {\n const {\n graphProps,\n xBand,\n leftAxis,\n onChange,\n onChangeCategory,\n categories = [],\n top,\n defineChart,\n chartingOptions,\n changeInteractiveEnabled,\n changeEditableEnabled,\n theme,\n autoFocus,\n onAutoFocusUsed,\n error,\n showCorrectness,\n } = this.props;\n\n const { scale = {}, range = {}, domain = {}, size = {} } = graphProps || {};\n const { height, width } = this.state;\n\n const bottomScale = xBand && typeof xBand.rangeRound === 'function' && xBand.rangeRound([0, size.width]);\n\n const bandWidth = xBand && typeof xBand.bandwidth === 'function' && xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || (scale.x && scale.x(domain.max) / categories.length);\n\n const rowTickValues = getTickValues({ ...range, step: range.labelStep });\n const fontSize = theme && theme.typography ? theme.typography.fontSize : 14;\n // this mostly applies for labels that are not editable\n const rotateBecauseOfHeight = getRotateAngle(fontSize, height);\n // this applies for labels that are editable\n const rotateBecauseOfWidth = width > barWidth ? 25 : 0;\n\n const getTickLabelProps = (value) => ({\n dy: 4,\n dx: -10 - (value.toLocaleString().length || 1) * 5,\n });\n\n const getTickComponent = (props) => {\n const properties = {\n hiddenLabelRef: (ref) => {\n this.hiddenLabelRef = ref;\n },\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate: rotateBecauseOfHeight || rotateBecauseOfWidth,\n top,\n defineChart,\n chartingOptions,\n autoFocus,\n onAutoFocusUsed,\n error,\n onChangeCategory,\n changeInteractiveEnabled,\n changeEditableEnabled,\n onChange,\n graphProps,\n x: props.x,\n y: props.y,\n formattedValue: props.formattedValue,\n showCorrectness,\n };\n\n return <TickComponent {...properties} />;\n };\n\n return (\n <StyledAxesGroup>\n {leftAxis && (\n <AxisLeft\n scale={scale.y}\n tickLength={10}\n tickFormat={(value) => value}\n tickValues={rowTickValues}\n tickLabelProps={getTickLabelProps}\n />\n )}\n <AxisBottom\n scale={bottomScale}\n labelProps={{ y: 60 + top }}\n top={scale.y && scale.y(range.min)}\n textLabelProps={() => ({ textAnchor: 'middle' })}\n tickFormat={(count) => count}\n tickComponent={getTickComponent}\n autoFocus={autoFocus}\n onAutoFocusUsed={onAutoFocusUsed}\n />\n </StyledAxesGroup>\n );\n }\n}\n\nconst ChartAxes = styled(RawChartAxes)(({ theme }) => ({}));\n\nexport default ChartAxes;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAEA,IAAAS,sBAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AAAqC,SAAAY,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,WAAAlB,CAAA,EAAAI,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAApB,CAAA,EAAAqB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAAnB,CAAA,EAAAwB,WAAA,IAAApB,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAF,CAAA;AAAA,SAAAuB,0BAAA,cAAArB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAqB,yBAAA,YAAAA,0BAAA,aAAArB,CAAA;AAErC,IAAM6B,eAAe,GAAG,IAAAC,cAAM,EAAC,MAAM,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACrDC,QAAQ,EAAED,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAG,CAAC;IACvCE,IAAI,EAAEH,KAAK,CAACI,OAAO,CAACC,KAAK,CAACC;EAC5B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,cAAc,GAAG,IAAAT,cAAM,EAACU,oBAAQ,CAAC,CAAC;EAAA,OAAO;IAC7CC,KAAK,KAAAC,MAAA,CAAKD,eAAK,CAACE,QAAQ,CAAC,CAAC;EAC5B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,eAAe,GAAG,IAAAd,cAAM,EAAC,GAAG,CAAC,CAAC,UAAAe,KAAA;EAAA,IAAAC,qBAAA;EAAA,IAAGd,KAAK,GAAAa,KAAA,CAALb,KAAK;EAAA,OAAQ;IAClD,iBAAiB,EAAE;MACjBe,MAAM,EAAEN,eAAK,CAACO,oBAAoB,CAACC,eAAe;MAClDC,WAAW,EAAE;IACf,CAAC;IACD,iBAAiB,EAAE;MACjBf,IAAI,EAAEM,eAAK,CAACO,oBAAoB,CAACG,eAAe;MAChD,QAAQ,EAAE;QACRJ,MAAM,EAAEN,eAAK,CAACO,oBAAoB,CAACG,eAAe;QAClDD,WAAW,EAAE;MACf,CAAC;MACDE,UAAU,GAAAN,qBAAA,GAAEd,KAAK,CAACE,UAAU,CAACmB,KAAK,cAAAP,qBAAA,uBAAtBA,qBAAA,CAAwBM,UAAU;MAC9CnB,QAAQ,EAAED,KAAK,CAACE,UAAU,CAACD,QAAQ;MACnCqB,UAAU,EAAE;IACd;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIvB,KAAK;EAAA,OAAM;IACxCwB,YAAY,EAAExB,KAAK,CAACyB,OAAO,CAAC,CAAC,CAAC;IAC9BhB,KAAK,EAAEA,eAAK,CAACiB,QAAQ,CAACC,KAAK;IAC3B1B,QAAQ,EAAE,MAAM;IAChB2B,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE,KAAK;IACdC,MAAM,eAAArB,MAAA,CAAeD,eAAK,CAACiB,QAAQ,CAACC,KAAK,CAAE;IAC3CK,SAAS,EAAE,OAAO,CAAE;EACtB,CAAC;AAAA,CAAC;AAEF,IAAMC,mBAAmB,GAAG;EAC1BC,eAAe,EAAEzB,eAAK,CAAC0B,iBAAiB,CAAC;AAC3C,CAAC;AAED,IAAMC,iBAAiB,GAAG;EACxBF,eAAe,EAAEzB,eAAK,CAAC4B,OAAO,CAAC;AACjC,CAAC;AAAC,IAEWC,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAAE,gBAAA;EAMxB,SAAAF,cAAYG,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,aAAA;IACjBI,KAAA,GAAAxD,UAAA,OAAAoD,aAAA,GAAMG,KAAK;IAAE,IAAA3D,gBAAA,aAAA4D,KAAA,uBAcK,UAACE,IAAI,EAAEC,QAAQ;MAAA,OACjCH,KAAA,CAAKI,QAAQ,CACX;QACEC,MAAM,EAAE;UAAEH,IAAI,EAAJA;QAAK;MACjB,CAAC,EACDC,QACF,CAAC;IAAA;IAAA,IAAA/D,gBAAA,aAAA4D,KAAA,oBAEc,UAACM,KAAK,EAAEC,QAAQ,EAAK;MACpC,IAAAC,WAAA,GAAyCR,KAAA,CAAKD,KAAK;QAA3CU,UAAU,GAAAD,WAAA,CAAVC,UAAU;QAAEC,gBAAgB,GAAAF,WAAA,CAAhBE,gBAAgB;MACpC,IAAMC,QAAQ,GAAGF,UAAU,CAACH,KAAK,CAAC;MAElCI,gBAAgB,CAACJ,KAAK,EAAAtE,aAAA,CAAAA,aAAA,KAAO2E,QAAQ;QAAEC,KAAK,EAAEL;MAAQ,EAAE,CAAC;IAC3D,CAAC;IAAA,IAAAnE,gBAAA,aAAA4D,KAAA,uBAEmB,UAACM,KAAK,EAAEO,KAAK,EAAK;MACpC,IAAAC,YAAA,GAAyCd,KAAA,CAAKD,KAAK;QAA3CU,UAAU,GAAAK,YAAA,CAAVL,UAAU;QAAEC,gBAAgB,GAAAI,YAAA,CAAhBJ,gBAAgB;MACpC,IAAMC,QAAQ,GAAGF,UAAU,CAACH,KAAK,CAAC;MAElC,IAAI,CAACO,KAAK,EAAE;QACVb,KAAA,CAAKI,QAAQ,CAAC;UACZC,MAAM,EAAE;YACNH,IAAI,EAAE,IAAI;YACVa,KAAK,EAAE,SAAS;YAChBC,IAAI,EAAE,oFAAoF;YAC1FC,SAAS,EAAE,SAAXA,SAASA,CAAA;cAAA,OACPjB,KAAA,CAAKkB,iBAAiB,CAAC,KAAK,EAAER,gBAAgB,CAACJ,KAAK,EAAAtE,aAAA,CAAAA,aAAA,KAAO2E,QAAQ;gBAAEQ,WAAW,EAAE,CAACR,QAAQ,CAACQ;cAAW,EAAE,CAAC,CAAC;YAAA;YAC7GC,OAAO,EAAE,SAATA,OAAOA,CAAA;cAAA,OAAQpB,KAAA,CAAKkB,iBAAiB,CAAC,KAAK,CAAC;YAAA;UAC9C;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACLR,gBAAgB,CAACJ,KAAK,EAAAtE,aAAA,CAAAA,aAAA,KAAO2E,QAAQ;UAAEQ,WAAW,EAAE,CAACR,QAAQ,CAACQ;QAAW,EAAE,CAAC;MAC9E;IACF,CAAC;IAAA,IAAA/E,gBAAA,aAAA4D,KAAA,oBAEgB,UAACM,KAAK,EAAEO,KAAK,EAAK;MACjC,IAAAQ,YAAA,GAAyCrB,KAAA,CAAKD,KAAK;QAA3CU,UAAU,GAAAY,YAAA,CAAVZ,UAAU;QAAEC,gBAAgB,GAAAW,YAAA,CAAhBX,gBAAgB;MACpC,IAAMC,QAAQ,GAAGF,UAAU,CAACH,KAAK,CAAC;MAElC,IAAI,CAACO,KAAK,EAAE;QACVb,KAAA,CAAKI,QAAQ,CAAC;UACZC,MAAM,EAAE;YACNH,IAAI,EAAE,IAAI;YACVa,KAAK,EAAE,SAAS;YAChBC,IAAI,EAAE,4FAA4F;YAClGC,SAAS,EAAE,SAAXA,SAASA,CAAA;cAAA,OACPjB,KAAA,CAAKkB,iBAAiB,CACpB,KAAK,EACLR,gBAAgB,CAACJ,KAAK,EAAAtE,aAAA,CAAAA,aAAA,KAAO2E,QAAQ;gBAAEW,QAAQ,EAAE,CAACX,QAAQ,CAACW,QAAQ,IAAI;cAAK,EAAE,CAChF,CAAC;YAAA;YACHF,OAAO,EAAE,SAATA,OAAOA,CAAA;cAAA,OAAQpB,KAAA,CAAKkB,iBAAiB,CAAC,KAAK,CAAC;YAAA;UAC9C;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACLR,gBAAgB,CAACJ,KAAK,EAAAtE,aAAA,CAAAA,aAAA,KAAO2E,QAAQ;UAAEW,QAAQ,EAAE,CAACX,QAAQ,CAACW,QAAQ,IAAI;QAAK,EAAE,CAAC;MACjF;IACF,CAAC;IAAA,IAAAlF,gBAAA,aAAA4D,KAAA,eAEW,UAACgB,IAAI,EAAEO,OAAO,EAAK;MAC7B,IAAIC,MAAM,GAAG,EAAE;MACf,OAAO,CAACR,IAAI,IAAI,EAAE,EAAE9E,MAAM,GAAG,CAAC,EAAE;QAC9B,IAAIuF,YAAY;QAChB,IAAIT,IAAI,CAAC9E,MAAM,GAAGqF,OAAO,EAAE;UACzBE,YAAY,GAAGT,IAAI,CAACU,WAAW,CAAC,GAAG,EAAEH,OAAO,CAAC;UAC7C,IAAIE,YAAY,KAAK,CAAC,CAAC,EAAE;YACvBA,YAAY,GAAGF,OAAO;UACxB;QACF,CAAC,MAAM;UACLE,YAAY,GAAGT,IAAI,CAAC9E,MAAM;QAC5B;QACAsF,MAAM,CAAC1F,IAAI,CAACkF,IAAI,CAACW,SAAS,CAAC,CAAC,EAAEF,YAAY,CAAC,CAAC;QAC5CT,IAAI,GAAGA,IAAI,CAACW,SAAS,CAACF,YAAY,CAAC,CAACG,IAAI,CAAC,CAAC;MAC5C;MACA,OAAOJ,MAAM;IACf,CAAC;IAvFCxB,KAAA,CAAK6B,KAAK,GAAG;MACXxB,MAAM,EAAE;QACNH,IAAI,EAAE;MACR;IACF,CAAC;IAAC,OAAAF,KAAA;EACJ;EAAC,IAAA8B,UAAA,aAAAlC,aAAA,EAAAE,gBAAA;EAAA,WAAAiC,aAAA,aAAAnC,aAAA;IAAAoC,GAAA;IAAAnB,KAAA,EAED,SAAAoB,kBAAkBA,CAACC,SAAS,EAAE;MAC5B,IAAI,IAAI,CAACnC,KAAK,CAACoC,SAAS,IAAI,CAACD,SAAS,CAACC,SAAS,EAAE;QAChD,IAAI,CAACpC,KAAK,CAACqC,eAAe,CAAC,CAAC;MAC9B;IACF;EAAC;IAAAJ,GAAA;IAAAnB,KAAA,EA8ED,SAAAwB,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAmBI,IAAI,CAACxC,KAAK;QAlBZU,UAAU,GAAA8B,YAAA,CAAV9B,UAAU;QACV+B,KAAK,GAAAD,YAAA,CAALC,KAAK;QACLC,SAAS,GAAAF,YAAA,CAATE,SAAS;QACTC,QAAQ,GAAAH,YAAA,CAARG,QAAQ;QACRC,MAAM,GAAAJ,YAAA,CAANI,MAAM;QACNC,GAAG,GAAAL,YAAA,CAAHK,GAAG;QACHC,UAAU,GAAAN,YAAA,CAAVM,UAAU;QACVC,WAAW,GAAAP,YAAA,CAAXO,WAAW;QACXC,eAAe,GAAAR,YAAA,CAAfQ,eAAe;QACfC,CAAC,GAAAT,YAAA,CAADS,CAAC;QACDC,CAAC,GAAAV,YAAA,CAADU,CAAC;QACDC,cAAc,GAAAX,YAAA,CAAdW,cAAc;QACdC,wBAAwB,GAAAZ,YAAA,CAAxBY,wBAAwB;QACxBC,qBAAqB,GAAAb,YAAA,CAArBa,qBAAqB;QACrBzF,KAAK,GAAA4E,YAAA,CAAL5E,KAAK;QACLwE,SAAS,GAAAI,YAAA,CAATJ,SAAS;QACTkB,cAAc,GAAAd,YAAA,CAAdc,cAAc;QACdC,eAAe,GAAAf,YAAA,CAAfe,eAAe;MAGjB,IAAI,CAACJ,cAAc,EAAE;QACnB,OAAO,IAAI;MACb;;MAEA;MACA,IAAMK,OAAO,GAAG;QACdC,eAAe,EAAE3E,qBAAqB;QACtC4E,aAAa,EAAElE,mBAAmB;QAClCmE,WAAW,EAAEhE;MACf,CAAC;MAED,IAAQW,MAAM,GAAK,IAAI,CAACwB,KAAK,CAArBxB,MAAM;MACd,IAAAsD,KAAA,GAA8CZ,eAAe,IAAI,CAAC,CAAC;QAA3Da,cAAc,GAAAD,KAAA,CAAdC,cAAc;QAAEC,iBAAiB,GAAAF,KAAA,CAAjBE,iBAAiB;MACzC,IAAMvD,KAAK,GAAGwD,QAAQ,CAACZ,cAAc,CAACa,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MACxD,IAAMpD,QAAQ,GAAGF,UAAU,CAACH,KAAK,CAAC;MAClC,IAAA0D,KAAA,GAAsDrD,QAAQ,IAAI,CAAC,CAAC;QAA5DW,QAAQ,GAAA0C,KAAA,CAAR1C,QAAQ;QAAEH,WAAW,GAAA6C,KAAA,CAAX7C,WAAW;QAAEP,KAAK,GAAAoD,KAAA,CAALpD,KAAK;QAAEqD,WAAW,GAAAD,KAAA,CAAXC,WAAW;MACjD,IAAMC,IAAI,GAAG1B,KAAK,CAAC,IAAA2B,cAAO,EAAC;QAAEvD,KAAK,EAALA;MAAM,CAAC,EAAEN,KAAK,CAAC,CAAC;MAC7C,IAAM8D,eAAe,GAAG,CAAC3D,UAAU,IAAI,EAAE,EAAE4D,MAAM,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAK;QAC1D,IAAMC,OAAO,GAAGF,CAAC,IAAIA,CAAC,CAAC1D,KAAK,GAAG0D,CAAC,CAAC1D,KAAK,CAAC1E,MAAM,GAAG,CAAC;QACjD,IAAMuI,OAAO,GAAGF,CAAC,IAAIA,CAAC,CAAC3D,KAAK,GAAG2D,CAAC,CAAC3D,KAAK,CAAC1E,MAAM,GAAG,CAAC;QAEjD,OAAOsI,OAAO,GAAGC,OAAO,GAAGH,CAAC,GAAGC,CAAC;MAClC,CAAC,CAAC;MACF,IAAMG,gBAAgB,GAAG/G,KAAK,GAAG,IAAAgH,mBAAA,aAAI,IAAIC,GAAG,CAACrJ,MAAM,CAACsJ,MAAM,CAAClH,KAAK,CAAC,CAAC,EAAEmH,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;MAElF,oBACEzK,MAAA,YAAA0K,aAAA,yBACE1K,MAAA,YAAA0K,aAAA;QACE/B,CAAC,EAAEP,SAAS,GAAGyB,IAAI,GAAGlB,CAAC,GAAGN,QAAQ,GAAG,CAAE;QACvCO,CAAC,EAAE,EAAG;QACN/D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UAAEC,aAAa,EAAE,MAAM;UAAEC,QAAQ,EAAE;QAAU;MAAE,GAErD5E,KAAK,KAAK,CAAC,iBACVjG,MAAA,YAAA0K,aAAA,CAAC7J,UAAA,WAAS;QACRiK,aAAa,EAAE,IAAK;QACpBC,QAAQ,EAAE/B,cAAe;QACzBgC,QAAQ,EAAE,IAAK;QACfC,IAAI,EAAElB,eAAgB;QACtBvB,UAAU,EAAEA,UAAW;QACvBH,QAAQ,EAAEA;MAAS,CACpB,CACF,eAEDrI,MAAA,YAAA0K,aAAA,CAAC7J,UAAA,WAAS;QACRiH,SAAS,EAAEW,WAAW,IAAIX,SAAU;QACpCiD,QAAQ,EAAE,SAAVA,QAAQA,CAAG/J,CAAC;UAAA,OAAMiH,MAAI,CAACiD,KAAK,GAAGlK,CAAC;QAAA,CAAE;QAClCgK,QAAQ,EAAE,CAACvC,WAAW,IAAI,CAACxB,QAAS;QACpCgE,IAAI,EAAE3E,QAAS;QACfkC,UAAU,EAAEA,UAAW;QACvB2C,QAAQ,EAAE,SAAVA,QAAQA,CAAGjF,QAAQ;UAAA,OAAK+B,MAAI,CAACmD,cAAc,CAACnF,KAAK,EAAEC,QAAQ,CAAC;QAAA,CAAC;QAC7DmC,QAAQ,EAAEA,QAAS;QACnBC,MAAM,EAAEA,MAAO;QACfsB,WAAW,EAAEA,WAAY;QACzBtG,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAAC2C,KAAK,CAAE;QAC7BoF,eAAe;QACfC,oBAAoB,EAClBrC,eAAe,IACfW,WAAW,iBACT5J,MAAA,YAAA0K,aAAA,CAAC/J,sBAAA,CAAA4K,wBAAwB;UAAC3B,WAAW,EAAEA,WAAY;UAAC9C,WAAW,EAAEA,WAAY;UAACoC,OAAO,EAAEA;QAAQ,CAAE;MAEpG,CACF,CACY,CAAC,EAEf5F,KAAK,IAAI2C,KAAK,KAAK,CAAC,iBACnBjG,MAAA,YAAA0K,aAAA,CAAC5H,eAAe;QAAC8F,CAAC,EAAEA,CAAC,GAAG,EAAG;QAAC9D,MAAM,EAAE,CAAE;QAACP,UAAU,EAAC;MAAO,GACtD8F,gBACc,CAClB,EAEA5B,WAAW,IAAIxC,KAAK,KAAK,CAAC,iBACzBjG,MAAA,YAAA0K,aAAA;QACE/B,CAAC,EAAE,CAAC,EAAG;QACPgC,KAAK,EAAE;UACLE,QAAQ,EAAE;QACZ;MAAE,GAED/B,wBAAwB,iBACvB9I,MAAA,YAAA0K,aAAA;QACE9B,CAAC,EAAEA,CAAC,GAAG,EAAE,GAAGL,GAAI;QAChB1D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UACLa,QAAQ,EAAE,UAAU;UACpBZ,aAAa,EAAE,MAAM;UACrBa,SAAS,EAAE,YAAY;UACvBC,QAAQ,EAAErD,QAAQ;UAClBsD,OAAO,EAAE;QACX;MAAE,GAED,IAAI,CAACC,SAAS,CAACpC,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEqC,cAAc,EAAE,EAAE,CAAC,CAACC,GAAG,CAAC,UAACC,IAAI,EAAE9F,KAAK;QAAA,oBACrEjG,MAAA,YAAA0K,aAAA;UAAO/C,GAAG,EAAE1B,KAAM;UAAC0C,CAAC,EAAC,GAAG;UAACqD,EAAE,KAAArI,MAAA,CAAKsC,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM;QAAG,GAC5D8F,IACI,CAAC;MAAA,CACT,CACG,CACP,EAEAhD,qBAAqB,iBACpB/I,MAAA,YAAA0K,aAAA;QACE9B,CAAC,EAAEA,CAAC,GAAG,GAAG,GAAGL,GAAI;QACjB1D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UACLa,QAAQ,EAAE,UAAU;UACpBZ,aAAa,EAAE,MAAM;UACrBa,SAAS,EAAE,YAAY;UACvBC,QAAQ,EAAErD,QAAQ;UAClBsD,OAAO,EAAE;QACX;MAAE,GAED,IAAI,CAACC,SAAS,CAACrC,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEsC,cAAc,EAAE,EAAE,CAAC,CAACC,GAAG,CAAC,UAACC,IAAI,EAAE9F,KAAK;QAAA,oBAClEjG,MAAA,YAAA0K,aAAA;UAAO/C,GAAG,EAAE1B,KAAM;UAAC0C,CAAC,EAAC,GAAG;UAACqD,EAAE,KAAArI,MAAA,CAAKsC,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM;QAAG,GAC5D8F,IACI,CAAC;MAAA,CACT,CACG,CAEL,CACN,EAEAtD,WAAW,IAAIK,wBAAwB,iBACtC9I,MAAA,YAAA0K,aAAA;QACE/B,CAAC,EAAEA,CAAC,GAAG,EAAG;QACVC,CAAC,EAAEA,CAAC,GAAG,EAAE,GAAGL,GAAI;QAChB1D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UAAEC,aAAa,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAU;MAAE,gBAEzD7K,MAAA,YAAA0K,aAAA,CAAClH,cAAc;QACbmH,KAAK,EAAE;UAAEa,QAAQ,EAAE;QAAQ,CAAE;QAC7BS,OAAO,EAAEnF,WAAY;QACrBqE,QAAQ,EAAE,SAAVA,QAAQA,CAAGpK,CAAC;UAAA,OAAKkH,MAAI,CAACuB,iBAAiB,CAACvD,KAAK,EAAElF,CAAC,CAACmL,MAAM,CAACD,OAAO,CAAC;QAAA;MAAC,CAClE,CACY,CAChB,EAEAxD,WAAW,IAAIM,qBAAqB,iBACnC/I,MAAA,YAAA0K,aAAA;QACE/B,CAAC,EAAEA,CAAC,GAAG,EAAG;QACVC,CAAC,EAAEA,CAAC,GAAG,GAAG,GAAGL,GAAI;QACjB1D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UAAEC,aAAa,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAU;MAAE,gBAEzD7K,MAAA,YAAA0K,aAAA,CAAClH,cAAc;QACbmH,KAAK,EAAE;UAAEa,QAAQ,EAAE;QAAQ,CAAE;QAC7BS,OAAO,EAAEhF,QAAS;QAClBkE,QAAQ,EAAE,SAAVA,QAAQA,CAAGpK,CAAC;UAAA,OAAKkH,MAAI,CAACsB,cAAc,CAACtD,KAAK,EAAElF,CAAC,CAACmL,MAAM,CAACD,OAAO,CAAC;QAAA;MAAC,CAC/D,CACY,CAChB,eAEDjM,MAAA,YAAA0K,aAAA;QACE/B,CAAC,EAAEA,CAAC,GAAG,EAAG;QACVC,CAAC,EAAEA,CAAC,GAAG,GAAG,GAAGL,GAAI;QACjB1D,KAAK,EAAEwD,QAAS;QAChBvD,MAAM,EAAE,CAAE;QACV6F,KAAK,EAAE;UAAEC,aAAa,EAAE,SAAS;UAAEC,QAAQ,EAAE;QAAU;MAAE,gBAEzD7K,MAAA,YAAA0K,aAAA,CAACjK,SAAA,CAAA0L,WAAW;QACVtG,IAAI,EAAEG,MAAM,CAACH,IAAK;QAClBa,KAAK,EAAEV,MAAM,CAACU,KAAM;QACpBC,IAAI,EAAEX,MAAM,CAACW,IAAK;QAClBI,OAAO,EAAEf,MAAM,CAACe,OAAQ;QACxBH,SAAS,EAAEZ,MAAM,CAACY;MAAU,CAC7B,CACY,CACd,CAAC;IAER;EAAC;AAAA,EAnSgCwF,iBAAK,CAACC,SAAS;AAAA,IAAAtK,gBAAA,aAArCwD,aAAa,eACL;EACjBkD,WAAW,EAAE6D,qBAAS,CAACC,IAAI;EAC3BjJ,KAAK,EAAEgJ,qBAAS,CAACE;AACnB,CAAC;AAkSHjH,aAAa,CAACkH,SAAS,GAAG;EACxBrG,UAAU,EAAEkG,qBAAS,CAACI,KAAK;EAC3BvE,KAAK,EAAEmE,qBAAS,CAACK,IAAI;EACrBvE,SAAS,EAAEkE,qBAAS,CAACM,MAAM;EAC3BvE,QAAQ,EAAEiE,qBAAS,CAACM,MAAM;EAC1BtE,MAAM,EAAEgE,qBAAS,CAACM,MAAM;EACxBrE,GAAG,EAAE+D,qBAAS,CAACM,MAAM;EACrBjE,CAAC,EAAE2D,qBAAS,CAACM,MAAM;EACnBhE,CAAC,EAAE0D,qBAAS,CAACM,MAAM;EACnBpE,UAAU,EAAE8D,qBAAS,CAACO,MAAM;EAC5BhE,cAAc,EAAEyD,qBAAS,CAACQ,MAAM;EAChCzG,gBAAgB,EAAEiG,qBAAS,CAACK,IAAI;EAChCxB,QAAQ,EAAEmB,qBAAS,CAACK,IAAI;EACxBrJ,KAAK,EAAEgJ,qBAAS,CAACO,MAAM;EACvBpE,WAAW,EAAE6D,qBAAS,CAACC,IAAI;EAC3B7D,eAAe,EAAE4D,qBAAS,CAACO,MAAM;EACjC/D,wBAAwB,EAAEwD,qBAAS,CAACC,IAAI;EACxCxD,qBAAqB,EAAEuD,qBAAS,CAACC,IAAI;EACrCzE,SAAS,EAAEwE,qBAAS,CAACC,IAAI;EACzBxE,eAAe,EAAEuE,qBAAS,CAACK,IAAI;EAC/B1D,eAAe,EAAEqD,qBAAS,CAACC;AAC7B,CAAC;AAAC,IAEWQ,YAAY,GAAAvH,OAAA,CAAAuH,YAAA,0BAAAC,iBAAA;EAAA,SAAAD,aAAA;IAAA,IAAAE,MAAA;IAAA,IAAArH,gBAAA,mBAAAmH,YAAA;IAAA,SAAAG,IAAA,GAAAtL,SAAA,CAAAC,MAAA,EAAAsL,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAzL,SAAA,CAAAyL,IAAA;IAAA;IAAAJ,MAAA,GAAA9K,UAAA,OAAA4K,YAAA,KAAApJ,MAAA,CAAAwJ,IAAA;IAAA,IAAApL,gBAAA,aAAAkL,MAAA,WAqBf;MAAEnI,MAAM,EAAE,CAAC;MAAED,KAAK,EAAE;IAAE,CAAC;IAAA,OAAAoI,MAAA;EAAA;EAAA,IAAAxF,UAAA,aAAAsF,YAAA,EAAAC,iBAAA;EAAA,WAAAtF,aAAA,aAAAqF,YAAA;IAAApF,GAAA;IAAAnB,KAAA,EAE/B,SAAA8G,iBAAiBA,CAAA,EAAG;MAClB,IAAI,IAAI,CAACtE,cAAc,EAAE;QACvB,IAAMuE,kBAAkB,GAAG,IAAI,CAACvE,cAAc,CAACwE,qBAAqB,CAAC,CAAC;QACtE,IAAMC,QAAQ,GAAG,IAAI,CAACzE,cAAc,CAAC0E,OAAO;;QAE5C;QACA,IAAID,QAAQ,EAAE;UACZ,IAAME,aAAa,GAAGF,QAAQ,CAACG,aAAa,CAAC,0BAA0B,CAAC;UACxE,IAAMC,UAAU,GAAGJ,QAAQ,CAACG,aAAa,CAAC,eAAe,CAAC;UAC1D,IAAME,WAAW,GAAGL,QAAQ,CAACG,aAAa,CAAC,4BAA4B,CAAC;UAExE,IAAID,aAAa,KAAK,CAACG,WAAW,IAAI,CAACD,UAAU,CAAC,EAAE;YAClD,IAAAE,yBAAU,EAAC,IAAI,CAAC/E,cAAc,CAAC;UACjC;UAEA,IAAI,CAACjD,QAAQ,CAAC;YACZjB,MAAM,EAAEkJ,IAAI,CAACC,KAAK,CAACV,kBAAkB,CAACzI,MAAM,CAAC;YAC7CD,KAAK,EAAEmJ,IAAI,CAACC,KAAK,CAACV,kBAAkB,CAAC1I,KAAK;UAC5C,CAAC,CAAC;QACJ;MACF;IACF;EAAC;IAAA8C,GAAA;IAAAnB,KAAA,EAED,SAAAoB,kBAAkBA,CAACC,SAAS,EAAEqG,SAAS,EAAEC,QAAQ,EAAE;MACjD,IAAI,IAAI,CAACnF,cAAc,EAAE;QACvB,IAAMnE,KAAK,GAAGmJ,IAAI,CAACC,KAAK,CAAC,IAAI,CAACjF,cAAc,CAACwE,qBAAqB,CAAC,CAAC,CAAC3I,KAAK,CAAC;QAE3E,IAAIA,KAAK,KAAK,IAAI,CAAC2C,KAAK,CAAC3C,KAAK,EAAE;UAC9B,IAAI,CAACkB,QAAQ,CAAC;YAAElB,KAAK,EAALA;UAAM,CAAC,CAAC;QAC1B;MACF;IACF;EAAC;IAAA8C,GAAA;IAAAnB,KAAA,EAED,SAAAwB,MAAMA,CAAA,EAAG;MAAA,IAAAoG,MAAA;MACP,IAAAC,YAAA,GAiBI,IAAI,CAAC3I,KAAK;QAhBZ8C,UAAU,GAAA6F,YAAA,CAAV7F,UAAU;QACVL,KAAK,GAAAkG,YAAA,CAALlG,KAAK;QACLmG,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QACRnD,QAAQ,GAAAkD,YAAA,CAARlD,QAAQ;QACR9E,gBAAgB,GAAAgI,YAAA,CAAhBhI,gBAAgB;QAAAkI,qBAAA,GAAAF,YAAA,CAChBjI,UAAU;QAAVA,UAAU,GAAAmI,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QACfhG,GAAG,GAAA8F,YAAA,CAAH9F,GAAG;QACHE,WAAW,GAAA4F,YAAA,CAAX5F,WAAW;QACXC,eAAe,GAAA2F,YAAA,CAAf3F,eAAe;QACfI,wBAAwB,GAAAuF,YAAA,CAAxBvF,wBAAwB;QACxBC,qBAAqB,GAAAsF,YAAA,CAArBtF,qBAAqB;QACrB9F,KAAK,GAAAoL,YAAA,CAALpL,KAAK;QACL6E,SAAS,GAAAuG,YAAA,CAATvG,SAAS;QACTC,eAAe,GAAAsG,YAAA,CAAftG,eAAe;QACfzE,KAAK,GAAA+K,YAAA,CAAL/K,KAAK;QACL2F,eAAe,GAAAoF,YAAA,CAAfpF,eAAe;MAGjB,IAAAuF,KAAA,GAA2DhG,UAAU,IAAI,CAAC,CAAC;QAAAiG,WAAA,GAAAD,KAAA,CAAnEE,KAAK;QAALA,KAAK,GAAAD,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;QAAAE,WAAA,GAAAH,KAAA,CAAEI,KAAK;QAALA,KAAK,GAAAD,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;QAAAE,YAAA,GAAAL,KAAA,CAAEM,MAAM;QAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;QAAAE,UAAA,GAAAP,KAAA,CAAEQ,IAAI;QAAJA,IAAI,GAAAD,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;MACtD,IAAAE,WAAA,GAA0B,IAAI,CAACzH,KAAK;QAA5B1C,MAAM,GAAAmK,WAAA,CAANnK,MAAM;QAAED,KAAK,GAAAoK,WAAA,CAALpK,KAAK;MAErB,IAAMqK,WAAW,GAAG/G,KAAK,IAAI,OAAOA,KAAK,CAACgH,UAAU,KAAK,UAAU,IAAIhH,KAAK,CAACgH,UAAU,CAAC,CAAC,CAAC,EAAEH,IAAI,CAACnK,KAAK,CAAC,CAAC;MAExG,IAAMuD,SAAS,GAAGD,KAAK,IAAI,OAAOA,KAAK,CAACiH,SAAS,KAAK,UAAU,IAAIjH,KAAK,CAACiH,SAAS,CAAC,CAAC;MACrF;MACA,IAAM/G,QAAQ,GAAGD,SAAS,IAAKsG,KAAK,CAAC/F,CAAC,IAAI+F,KAAK,CAAC/F,CAAC,CAACmG,MAAM,CAACO,GAAG,CAAC,GAAGjJ,UAAU,CAACvE,MAAO;MAElF,IAAMyN,aAAa,GAAG,IAAAC,oBAAa,EAAA5N,aAAA,CAAAA,aAAA,KAAMiN,KAAK;QAAEY,IAAI,EAAEZ,KAAK,CAACa;MAAS,EAAE,CAAC;MACxE,IAAMvM,QAAQ,GAAGD,KAAK,IAAIA,KAAK,CAACE,UAAU,GAAGF,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAG,EAAE;MAC3E;MACA,IAAMwM,qBAAqB,GAAG,IAAAC,qBAAc,EAACzM,QAAQ,EAAE4B,MAAM,CAAC;MAC9D;MACA,IAAM8K,oBAAoB,GAAG/K,KAAK,GAAGwD,QAAQ,GAAG,EAAE,GAAG,CAAC;MAEtD,IAAMwH,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIrJ,KAAK;QAAA,OAAM;UACpCwF,EAAE,EAAE,CAAC;UACL8D,EAAE,EAAE,CAAC,EAAE,GAAG,CAACtJ,KAAK,CAACuJ,cAAc,CAAC,CAAC,CAAClO,MAAM,IAAI,CAAC,IAAI;QACnD,CAAC;MAAA,CAAC;MAEF,IAAMmO,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAItK,KAAK,EAAK;QAClC,IAAMuK,UAAU,GAAG;UACjBjH,cAAc,EAAE,SAAhBA,cAAcA,CAAGkH,GAAG,EAAK;YACvB9B,MAAI,CAACpF,cAAc,GAAGkH,GAAG;UAC3B,CAAC;UACD9J,UAAU,EAAVA,UAAU;UACV+B,KAAK,EAALA,KAAK;UACLC,SAAS,EAATA,SAAS;UACTC,QAAQ,EAARA,QAAQ;UACRC,MAAM,EAAEoH,qBAAqB,IAAIE,oBAAoB;UACrDrH,GAAG,EAAHA,GAAG;UACHE,WAAW,EAAXA,WAAW;UACXC,eAAe,EAAfA,eAAe;UACfZ,SAAS,EAATA,SAAS;UACTC,eAAe,EAAfA,eAAe;UACfzE,KAAK,EAALA,KAAK;UACL+C,gBAAgB,EAAhBA,gBAAgB;UAChByC,wBAAwB,EAAxBA,wBAAwB;UACxBC,qBAAqB,EAArBA,qBAAqB;UACrBoC,QAAQ,EAARA,QAAQ;UACR3C,UAAU,EAAVA,UAAU;UACVG,CAAC,EAAEjD,KAAK,CAACiD,CAAC;UACVC,CAAC,EAAElD,KAAK,CAACkD,CAAC;UACVC,cAAc,EAAEnD,KAAK,CAACmD,cAAc;UACpCI,eAAe,EAAfA;QACF,CAAC;QAED,oBAAOjJ,MAAA,YAAA0K,aAAA,CAACnF,aAAa,EAAK0K,UAAa,CAAC;MAC1C,CAAC;MAED,oBACEjQ,MAAA,YAAA0K,aAAA,CAAC7G,eAAe,QACbyK,QAAQ,iBACPtO,MAAA,YAAA0K,aAAA,CAACrK,KAAA,CAAA8P,QAAQ;QACPzB,KAAK,EAAEA,KAAK,CAAC9F,CAAE;QACfwH,UAAU,EAAE,EAAG;QACfC,UAAU,EAAE,SAAZA,UAAUA,CAAG7J,KAAK;UAAA,OAAKA,KAAK;QAAA,CAAC;QAC7B8J,UAAU,EAAEhB,aAAc;QAC1BiB,cAAc,EAAEV;MAAkB,CACnC,CACF,eACD7P,MAAA,YAAA0K,aAAA,CAACrK,KAAA,CAAAmQ,UAAU;QACT9B,KAAK,EAAEQ,WAAY;QACnBuB,UAAU,EAAE;UAAE7H,CAAC,EAAE,EAAE,GAAGL;QAAI,CAAE;QAC5BA,GAAG,EAAEmG,KAAK,CAAC9F,CAAC,IAAI8F,KAAK,CAAC9F,CAAC,CAACgG,KAAK,CAAC8B,GAAG,CAAE;QACnCC,cAAc,EAAE,SAAhBA,cAAcA,CAAA;UAAA,OAAS;YAAEpM,UAAU,EAAE;UAAS,CAAC;QAAA,CAAE;QACjD8L,UAAU,EAAE,SAAZA,UAAUA,CAAGO,KAAK;UAAA,OAAKA,KAAK;QAAA,CAAC;QAC7BC,aAAa,EAAEb,gBAAiB;QAChClI,SAAS,EAAEA,SAAU;QACrBC,eAAe,EAAEA;MAAgB,CAClC,CACc,CAAC;IAEtB;EAAC;AAAA,EAtJ+BqE,iBAAK,CAACC,SAAS;AAAA,IAAAtK,gBAAA,aAApCgL,YAAY,eACJ;EACjBmC,WAAW,EAAE5C,qBAAS,CAACK,IAAI;EAC3BvG,UAAU,EAAEkG,qBAAS,CAACI,KAAK;EAC3BjE,WAAW,EAAE6D,qBAAS,CAACC,IAAI;EAC3BjJ,KAAK,EAAEgJ,qBAAS,CAACE,GAAG;EACpBhE,UAAU,EAAEsI,WAAK,CAACC,cAAc,CAACC,UAAU;EAC3C7I,KAAK,EAAEmE,qBAAS,CAACK,IAAI;EACrB2B,QAAQ,EAAEhC,qBAAS,CAACC,IAAI;EACxBpB,QAAQ,EAAEmB,qBAAS,CAACK,IAAI;EACxBtG,gBAAgB,EAAEiG,qBAAS,CAACK,IAAI;EAChCpE,GAAG,EAAE+D,qBAAS,CAACM,MAAM;EACrB3J,KAAK,EAAEqJ,qBAAS,CAACO,MAAM;EACvBnE,eAAe,EAAE4D,qBAAS,CAACO,MAAM;EACjC/D,wBAAwB,EAAEwD,qBAAS,CAACC,IAAI;EACxCxD,qBAAqB,EAAEuD,qBAAS,CAACC,IAAI;EACrCzE,SAAS,EAAEwE,qBAAS,CAACC,IAAI;EACzBxE,eAAe,EAAEuE,qBAAS,CAACK,IAAI;EAC/B1D,eAAe,EAAEqD,qBAAS,CAACC;AAC7B,CAAC;AAsIH,IAAM0E,SAAS,GAAG,IAAAlO,cAAM,EAACgK,YAAY,CAAC,CAAC,UAAAmE,KAAA;EAAA,IAAGjO,KAAK,GAAAiO,KAAA,CAALjO,KAAK;EAAA,OAAQ,CAAC,CAAC;AAAA,CAAC,CAAC;AAAC,IAAAkO,QAAA,GAAA3L,OAAA,cAE7CyL,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"axes.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_axis","_Checkbox","_plot","_renderUi","_configUi","_mathRendering","_correctnessIndicators","_utils","_markLabel","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","StyledErrorText","styled","_ref","theme","fontSize","typography","fill","palette","error","main","StyledCheckbox","Checkbox","color","concat","tertiary","StyledAxesGroup","_ref2","_theme$typography$bod","stroke","visualElementsColors","AXIS_LINE_COLOR","strokeWidth","AXIS_TICK_COLOR","fontFamily","body1","textAnchor","correctnessIconStyles","borderRadius","spacing","defaults","WHITE","width","height","padding","border","boxSizing","incorrectIconStyles","backgroundColor","incorrectWithIcon","correctIconStyles","correct","TickComponent","exports","_React$Component","props","_this","_classCallCheck2","open","callback","setState","dialog","index","newLabel","_this$props","categories","onChangeCategory","category","label","value","_this$props2","title","text","onConfirm","handleAlertDialog","interactive","onClose","_this$props3","editable","maxChar","chunks","indexToSplit","lastIndexOf","substring","trim","state","_inherits2","_createClass2","key","componentDidUpdate","prevProps","autoFocus","onAutoFocusUsed","render","_this2","_this$props4","xBand","bandWidth","barWidth","rotate","top","graphProps","defineChart","chartingOptions","x","y","formattedValue","changeInteractiveEnabled","changeEditableEnabled","hiddenLabelRef","showCorrectness","classes","correctnessIcon","incorrectIcon","correctIcon","_ref3","changeEditable","changeInteractive","parseInt","split","_ref4","correctness","barX","bandKey","longestCategory","reduce","a","b","lengthA","lengthB","distinctMessages","_toConsumableArray2","Set","values","join","createElement","style","pointerEvents","overflow","isHiddenLabel","inputRef","disabled","mark","input","onChange","changeCategory","limitCharacters","correctnessIndicator","TickCorrectnessIndicator","position","wordBreak","maxWidth","display","splitText","authoringLabel","map","word","dy","checked","target","AlertDialog","React","Component","PropTypes","bool","any","propTypes","array","func","number","object","string","RawChartAxes","_React$Component2","_this3","_len","args","Array","_key","componentDidMount","boundingClientRect","getBoundingClientRect","hiddenEl","current","containsLatex","querySelector","hasMathJax","mathHandled","renderMath","Math","floor","prevState","snapshot","_this4","_this$props5","leftAxis","_this$props5$categori","_ref5","_ref5$scale","scale","_ref5$range","range","_ref5$domain","domain","_ref5$size","size","_this$state","bottomScale","rangeRound","bandwidth","max","rowTickValues","getTickValues","step","labelStep","rotateBecauseOfHeight","getRotateAngle","rotateBecauseOfWidth","getTickLabelProps","dx","toLocaleString","getTickComponent","properties","ref","AxisLeft","tickLength","tickFormat","tickValues","tickLabelProps","AxisBottom","labelProps","min","textLabelProps","count","tickComponent","types","GraphPropsType","isRequired","ChartAxes","_ref6","_default"],"sources":["../src/axes.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { AxisLeft, AxisBottom } from '@visx/axis';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport { TickCorrectnessIndicator } from './common/correctness-indicators';\nimport { bandKey, getTickValues, getRotateAngle } from './utils';\nimport MarkLabel from './mark-label';\n\nconst StyledErrorText = styled('text')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n fill: theme.palette.error.main,\n}));\n\nconst StyledCheckbox = styled(Checkbox)(() => ({\n color: `${color.tertiary()} !important`,\n}));\n\nconst StyledAxesGroup = styled('g')(({ theme }) => ({\n '& .vx-axis-line': {\n stroke: color.visualElementsColors.AXIS_LINE_COLOR,\n strokeWidth: 2,\n },\n '& .vx-axis-tick': {\n fill: color.visualElementsColors.AXIS_TICK_COLOR,\n '& line': {\n stroke: color.visualElementsColors.AXIS_TICK_COLOR,\n strokeWidth: 2,\n },\n fontFamily: theme.typography.body1?.fontFamily,\n fontSize: theme.typography.fontSize,\n textAnchor: 'middle',\n },\n}));\n\nconst correctnessIconStyles = (theme) => ({\n borderRadius: theme.spacing(2),\n color: color.defaults.WHITE,\n fontSize: '16px',\n width: '16px',\n height: '16px',\n padding: '2px',\n border: `1px solid ${color.defaults.WHITE}`,\n boxSizing: 'unset', // to override the default border-box in IBX\n});\n\nconst incorrectIconStyles = {\n backgroundColor: color.incorrectWithIcon(),\n};\n\nconst correctIconStyles = {\n backgroundColor: color.correct(),\n};\n\nexport class TickComponent extends React.Component {\n static propTypes = {\n defineChart: PropTypes.bool,\n error: PropTypes.any,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n };\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.autoFocus && !prevProps.autoFocus) {\n this.props.onAutoFocusUsed();\n }\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeCategory = (index, newLabel) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n onChangeCategory(index, { ...category, label: newLabel });\n };\n\n changeInteractive = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove the correct answer value that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(false, onChangeCategory(index, { ...category, interactive: !category.interactive })),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n onChangeCategory(index, { ...category, interactive: !category.interactive });\n }\n };\n\n changeEditable = (index, value) => {\n const { categories, onChangeCategory } = this.props;\n const category = categories[index];\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove the correct answer category name that has been defined for this category.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n onChangeCategory(index, { ...category, editable: !category.editable || false }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n onChangeCategory(index, { ...category, editable: !category.editable || false });\n }\n };\n\n splitText = (text, maxChar) => {\n let chunks = [];\n while ((text || '').length > 0) {\n let indexToSplit;\n if (text.length > maxChar) {\n indexToSplit = text.lastIndexOf(' ', maxChar);\n if (indexToSplit === -1) {\n indexToSplit = maxChar;\n }\n } else {\n indexToSplit = text.length;\n }\n chunks.push(text.substring(0, indexToSplit));\n text = text.substring(indexToSplit).trim();\n }\n return chunks;\n };\n\n render() {\n const {\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate,\n top,\n graphProps,\n defineChart,\n chartingOptions,\n x,\n y,\n formattedValue,\n changeInteractiveEnabled,\n changeEditableEnabled,\n error,\n autoFocus,\n hiddenLabelRef,\n showCorrectness,\n } = this.props;\n\n if (!formattedValue) {\n return null;\n }\n\n // Create classes object for TickCorrectnessIndicator compatibility\n const classes = {\n correctnessIcon: correctnessIconStyles,\n incorrectIcon: incorrectIconStyles,\n correctIcon: correctIconStyles,\n };\n\n const { dialog } = this.state;\n const { changeEditable, changeInteractive } = chartingOptions || {};\n const index = parseInt(formattedValue.split('-')[0], 10);\n const category = categories[index];\n const { editable, interactive, label, correctness } = category || {};\n const barX = xBand(bandKey({ label }, index));\n const longestCategory = (categories || []).reduce((a, b) => {\n const lengthA = a && a.label ? a.label.length : 0;\n const lengthB = b && b.label ? b.label.length : 0;\n\n return lengthA > lengthB ? a : b;\n });\n const distinctMessages = error ? [...new Set(Object.values(error))].join(' ') : '';\n\n return (\n <g>\n <foreignObject\n x={bandWidth ? barX : x - barWidth / 2}\n y={18}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'none', overflow: 'visible' }}\n >\n {index === 0 && (\n <MarkLabel\n isHiddenLabel={true}\n inputRef={hiddenLabelRef}\n disabled={true}\n mark={longestCategory}\n graphProps={graphProps}\n barWidth={barWidth}\n />\n )}\n\n <MarkLabel\n autoFocus={defineChart && autoFocus}\n inputRef={(r) => (this.input = r)}\n disabled={!defineChart && !editable}\n mark={category}\n graphProps={graphProps}\n onChange={(newLabel) => this.changeCategory(index, newLabel)}\n barWidth={barWidth}\n rotate={rotate}\n correctness={correctness}\n error={error && error[index]}\n limitCharacters\n correctnessIndicator={\n showCorrectness &&\n correctness && (\n <TickCorrectnessIndicator correctness={correctness} interactive={interactive} classes={classes} />\n )\n }\n />\n </foreignObject>\n\n {error && index === 0 && (\n <StyledErrorText y={y + 23} height={6} textAnchor=\"start\">\n {distinctMessages}\n </StyledErrorText>\n )}\n\n {defineChart && index === 0 && (\n <svg\n x={-55}\n style={{\n overflow: 'visible',\n }}\n >\n {changeInteractiveEnabled && (\n <text\n y={y + 90 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n maxWidth: barWidth,\n display: 'inline-block',\n }}\n >\n {this.splitText(changeInteractive?.authoringLabel, 20).map((word, index) => (\n <tspan key={index} x=\"0\" dy={`${index > 0 ? '1.2em' : '.6em'}`}>\n {word}\n </tspan>\n ))}\n </text>\n )}\n\n {changeEditableEnabled && (\n <text\n y={y + 145 + top}\n width={barWidth}\n height={4}\n style={{\n position: 'absolute',\n pointerEvents: 'none',\n wordBreak: 'break-word',\n maxWidth: barWidth,\n display: 'inline-block',\n }}\n >\n {this.splitText(changeEditable?.authoringLabel, 20).map((word, index) => (\n <tspan key={index} x=\"0\" dy={`${index > 0 ? '1.2em' : '.6em'}`}>\n {word}\n </tspan>\n ))}\n </text>\n )}\n </svg>\n )}\n\n {defineChart && changeInteractiveEnabled && (\n <foreignObject\n x={x - 24}\n y={y + 80 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <StyledCheckbox\n style={{ position: 'fixed' }}\n checked={interactive}\n onChange={(e) => this.changeInteractive(index, e.target.checked)}\n />\n </foreignObject>\n )}\n\n {defineChart && changeEditableEnabled && (\n <foreignObject\n x={x - 24}\n y={y + 130 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <StyledCheckbox\n style={{ position: 'fixed' }}\n checked={editable}\n onChange={(e) => this.changeEditable(index, e.target.checked)}\n />\n </foreignObject>\n )}\n\n <foreignObject\n x={x - 24}\n y={y + 100 + top}\n width={barWidth}\n height={4}\n style={{ pointerEvents: 'visible', overflow: 'visible' }}\n >\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </foreignObject>\n </g>\n );\n }\n}\n\nTickComponent.propTypes = {\n categories: PropTypes.array,\n xBand: PropTypes.func,\n bandWidth: PropTypes.number,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n top: PropTypes.number,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: PropTypes.object,\n formattedValue: PropTypes.string,\n onChangeCategory: PropTypes.func,\n onChange: PropTypes.func,\n error: PropTypes.object,\n defineChart: PropTypes.bool,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n onAutoFocusUsed: PropTypes.func,\n showCorrectness: PropTypes.bool,\n};\n\nexport class RawChartAxes extends React.Component {\n static propTypes = {\n bottomScale: PropTypes.func,\n categories: PropTypes.array,\n defineChart: PropTypes.bool,\n error: PropTypes.any,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n leftAxis: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeCategory: PropTypes.func,\n top: PropTypes.number,\n theme: PropTypes.object,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n onAutoFocusUsed: PropTypes.func,\n showCorrectness: PropTypes.bool,\n };\n\n state = { height: 0, width: 0 };\n\n componentDidMount() {\n if (this.hiddenLabelRef) {\n const boundingClientRect = this.hiddenLabelRef.getBoundingClientRect();\n const hiddenEl = this.hiddenLabelRef.current;\n\n // same logic used in dropdown.jsx for hidden labels width calculation\n if (hiddenEl) {\n const containsLatex = hiddenEl.querySelector('[data-latex], [data-raw]');\n const hasMathJax = hiddenEl.querySelector('mjx-container');\n const mathHandled = hiddenEl.querySelector('[data-math-handled=\"true\"]');\n\n if (containsLatex && (!mathHandled || !hasMathJax)) {\n renderMath(this.hiddenLabelRef);\n }\n\n this.setState({\n height: Math.floor(boundingClientRect.height),\n width: Math.floor(boundingClientRect.width),\n });\n }\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.hiddenLabelRef) {\n const width = Math.floor(this.hiddenLabelRef.getBoundingClientRect().width);\n\n if (width !== this.state.width) {\n this.setState({ width });\n }\n }\n }\n\n render() {\n const {\n graphProps,\n xBand,\n leftAxis,\n onChange,\n onChangeCategory,\n categories = [],\n top,\n defineChart,\n chartingOptions,\n changeInteractiveEnabled,\n changeEditableEnabled,\n theme,\n autoFocus,\n onAutoFocusUsed,\n error,\n showCorrectness,\n } = this.props;\n\n const { scale = {}, range = {}, domain = {}, size = {} } = graphProps || {};\n const { height, width } = this.state;\n\n const bottomScale = xBand && typeof xBand.rangeRound === 'function' && xBand.rangeRound([0, size.width]);\n\n const bandWidth = xBand && typeof xBand.bandwidth === 'function' && xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || (scale.x && scale.x(domain.max) / categories.length);\n\n const rowTickValues = getTickValues({ ...range, step: range.labelStep });\n const fontSize = theme && theme.typography ? theme.typography.fontSize : 14;\n // this mostly applies for labels that are not editable\n const rotateBecauseOfHeight = getRotateAngle(fontSize, height);\n // this applies for labels that are editable\n const rotateBecauseOfWidth = width > barWidth ? 25 : 0;\n\n const getTickLabelProps = (value) => ({\n dy: 4,\n dx: -10 - (value.toLocaleString().length || 1) * 5,\n });\n\n const getTickComponent = (props) => {\n const properties = {\n hiddenLabelRef: (ref) => {\n this.hiddenLabelRef = ref;\n },\n categories,\n xBand,\n bandWidth,\n barWidth,\n rotate: rotateBecauseOfHeight || rotateBecauseOfWidth,\n top,\n defineChart,\n chartingOptions,\n autoFocus,\n onAutoFocusUsed,\n error,\n onChangeCategory,\n changeInteractiveEnabled,\n changeEditableEnabled,\n onChange,\n graphProps,\n x: props.x,\n y: props.y,\n formattedValue: props.formattedValue,\n showCorrectness,\n };\n\n return <TickComponent {...properties} />;\n };\n\n return (\n <StyledAxesGroup>\n {leftAxis && (\n <AxisLeft\n scale={scale.y}\n tickLength={10}\n tickFormat={(value) => value}\n tickValues={rowTickValues}\n tickLabelProps={getTickLabelProps}\n />\n )}\n <AxisBottom\n scale={bottomScale}\n labelProps={{ y: 60 + top }}\n top={scale.y && scale.y(range.min)}\n textLabelProps={() => ({ textAnchor: 'middle' })}\n tickFormat={(count) => count}\n tickComponent={getTickComponent}\n autoFocus={autoFocus}\n onAutoFocusUsed={onAutoFocusUsed}\n />\n </StyledAxesGroup>\n );\n }\n}\n\nconst ChartAxes = styled(RawChartAxes)(({ theme }) => ({}));\n\nexport default ChartAxes;\n"],"mappings":"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","ignoreList":[]}
@@ -14,8 +14,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _react = _interopRequireDefault(require("react"));
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
- var _group = require("@vx/group");
18
- var _shape = require("@vx/shape");
17
+ var _group = require("@visx/group");
18
+ var _shape = require("@visx/shape");
19
19
  var _styles = require("@mui/material/styles");
20
20
  var _debug = _interopRequireDefault(require("debug"));
21
21
  var _renderUi = require("@pie-lib/render-ui");
@@ -38,7 +38,7 @@ var calculateFillColor = function calculateFillColor(isHovered, barColor, index,
38
38
  }
39
39
  return barColor || null;
40
40
  };
41
- var StyledVxBar = (0, _styles.styled)(_shape.Bar)(function () {
41
+ var StyledVisxBar = (0, _styles.styled)(_shape.Bar)(function () {
42
42
  return {
43
43
  fill: _renderUi.color.defaults.TERTIARY
44
44
  };
@@ -49,10 +49,8 @@ var RawBar = exports.RawBar = /*#__PURE__*/function (_React$Component) {
49
49
  (0, _classCallCheck2["default"])(this, RawBar);
50
50
  _this = _callSuper(this, RawBar, [props]);
51
51
  (0, _defineProperty2["default"])(_this, "handleMouseMove", function (e) {
52
- // Update mouse position
53
52
  _this.mouseX = e.clientX;
54
53
  _this.mouseY = e.clientY;
55
- // Check if the mouse is inside the <g> element
56
54
  var isMouseInside = _this.isMouseInsideSvgElement();
57
55
  _this.setState({
58
56
  isHovered: isMouseInside
@@ -60,16 +58,15 @@ var RawBar = exports.RawBar = /*#__PURE__*/function (_React$Component) {
60
58
  });
61
59
  (0, _defineProperty2["default"])(_this, "isMouseInsideSvgElement", function () {
62
60
  var gBoundingBox = _this.gRef.getBoundingClientRect();
63
- // Check if the mouse position is within the bounding box
64
61
  return _this.mouseX >= gBoundingBox.left && _this.mouseX <= gBoundingBox.right && _this.mouseY >= gBoundingBox.top && _this.mouseY <= gBoundingBox.bottom;
65
62
  });
66
63
  (0, _defineProperty2["default"])(_this, "handleMouseEnter", function () {
67
- _this.setState({
64
+ return _this.setState({
68
65
  isHovered: true
69
66
  });
70
67
  });
71
68
  (0, _defineProperty2["default"])(_this, "handleMouseLeave", function () {
72
- _this.setState({
69
+ return _this.setState({
73
70
  isHovered: false
74
71
  });
75
72
  });
@@ -148,7 +145,6 @@ var RawBar = exports.RawBar = /*#__PURE__*/function (_React$Component) {
148
145
  var correctValue = correctData ? correctData.find(function (d) {
149
146
  return d.label === label;
150
147
  }) : null;
151
- log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);
152
148
  var Component = interactive ? _dragHandle["default"] : _dragHandle.DragHandle;
153
149
  var isHistogram = !!barColor;
154
150
  return /*#__PURE__*/_react["default"].createElement("g", {
@@ -159,7 +155,7 @@ var RawBar = exports.RawBar = /*#__PURE__*/function (_React$Component) {
159
155
  onMouseLeave: this.handleMouseLeave,
160
156
  onTouchStart: this.handleMouseEnter,
161
157
  onTouchEnd: this.handleMouseLeave
162
- }, /*#__PURE__*/_react["default"].createElement(StyledVxBar, {
158
+ }, /*#__PURE__*/_react["default"].createElement(StyledVisxBar, {
163
159
  x: barX,
164
160
  y: scale.y(yy),
165
161
  width: barWidth,
@@ -176,12 +172,10 @@ var RawBar = exports.RawBar = /*#__PURE__*/function (_React$Component) {
176
172
  var yDiff = scale.y(correctVal);
177
173
  var indicatorBarColor = correctPxHeight > actualPxHeight ? _renderUi.color.borderGray() : _renderUi.color.defaults.WHITE;
178
174
  var yToRender = correctPxHeight > actualPxHeight ? yDiff : yDiff - diffPx;
179
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledVxBar, {
180
- x: barX + 2 // add 2px for the stroke (the dashed border)
181
- ,
175
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledVisxBar, {
176
+ x: barX + 2,
182
177
  y: yToRender,
183
- width: barWidth - 4 // substract 4px for the total stroke
184
- ,
178
+ width: barWidth - 4,
185
179
  height: diffPx,
186
180
  style: {
187
181
  stroke: indicatorBarColor,
@@ -1 +1 @@
1
- {"version":3,"file":"bars.js","names":["_react","_interopRequireDefault","require","_propTypes","_group","_shape","_styles","_debug","_renderUi","_plot","_utils","_dragHandle","_interopRequireWildcard","_correctCheckIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","histogramColors","hoverHistogramColors","calculateFillColor","isHovered","barColor","index","allowRolloverEvent","length","color","visualElementsColors","ROLLOVER_FILL_BAR_COLOR","StyledVxBar","styled","VxBar","fill","defaults","TERTIARY","RawBar","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","mouseX","clientX","mouseY","clientY","isMouseInside","isMouseInsideSvgElement","setState","gBoundingBox","gRef","getBoundingClientRect","left","right","top","bottom","dragValue","_this$props","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","_inherits2","_createClass2","key","componentDidMount","window","addEventListener","handleMouseMove","componentWillUnmount","removeEventListener","render","_this2","_this$props2","graphProps","xBand","interactive","correctness","defineChart","correctData","scale","range","_this$state","fillColor","v","Number","isFinite","barWidth","bandwidth","barHeight","y","max","barX","bandKey","rawY","yy","correctValue","find","d","Component","DraggableHandle","DragHandle","isHistogram","createElement","ref","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","onTouchStart","onTouchEnd","x","width","height","style","correctVal","parseFloat","isNaN","correctPxHeight","actualPxHeight","diffPx","Math","abs","yDiff","indicatorBarColor","borderGray","WHITE","yToRender","Fragment","stroke","strokeWidth","strokeDasharray","CorrectCheckIcon","dashColor","onDrag","onDragStop","dragStop","React","PropTypes","string","func","number","isRequired","types","GraphPropsType","bool","shape","array","Bar","Bars","_React$Component2","arguments","_this$props3","data","histogram","Group","map","concat","category","_default"],"sources":["../../../src/bars/common/bars.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group } from '@vx/group';\nimport { Bar as VxBar } from '@vx/shape';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\n\nimport { color } from '@pie-lib/render-ui';\nimport { types } from '@pie-lib/plot';\nimport { bandKey } from '../../utils';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport { CorrectCheckIcon } from './correct-check-icon';\n\nconst log = debug('pie-lib:chart:bars');\nconst histogramColors = [\n '#006699',\n '#F59B00',\n '#08916D',\n '#529EE0',\n '#52B7D8',\n '#D9A6C2',\n '#FFB03B',\n '#54A77B',\n '#E16032',\n '#4FD2D2',\n '#F0E442',\n '#E287B2',\n];\nconst hoverHistogramColors = [\n '#003754',\n '#975616',\n '#00503B',\n '#225982',\n '#1F687D',\n '#825E6F',\n '#996428',\n '#255E44',\n '#8A331F',\n '#167A7A',\n '#91862D',\n '#894A65',\n];\n\nconst calculateFillColor = (isHovered, barColor, index, hoverHistogramColors, allowRolloverEvent) => {\n if (isHovered && barColor && allowRolloverEvent) {\n return hoverHistogramColors[index % hoverHistogramColors.length];\n }\n if (isHovered && allowRolloverEvent) {\n return color.visualElementsColors.ROLLOVER_FILL_BAR_COLOR;\n }\n return barColor || null;\n};\n\nconst StyledVxBar = styled(VxBar)(() => ({\n fill: color.defaults.TERTIARY,\n}));\n\nexport class RawBar extends React.Component {\n static propTypes = {\n barColor: PropTypes.string,\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n correctData: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n this.mouseX = 0;\n this.mouseY = 0;\n }\n\n componentDidMount() {\n window.addEventListener('mousemove', this.handleMouseMove);\n }\n\n componentWillUnmount() {\n window.removeEventListener('mousemove', this.handleMouseMove);\n }\n\n handleMouseMove = (e) => {\n // Update mouse position\n this.mouseX = e.clientX;\n this.mouseY = e.clientY;\n // Check if the mouse is inside the <g> element\n const isMouseInside = this.isMouseInsideSvgElement();\n this.setState({ isHovered: isMouseInside });\n };\n\n isMouseInsideSvgElement = () => {\n const gBoundingBox = this.gRef.getBoundingClientRect();\n // Check if the mouse position is within the bounding box\n return (\n this.mouseX >= gBoundingBox.left &&\n this.mouseX <= gBoundingBox.right &&\n this.mouseY >= gBoundingBox.top &&\n this.mouseY <= gBoundingBox.bottom\n );\n };\n\n handleMouseEnter = () => {\n this.setState({ isHovered: true });\n };\n\n handleMouseLeave = () => {\n this.setState({ isHovered: false });\n };\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n xBand,\n index,\n interactive,\n correctness,\n barColor,\n defineChart,\n correctData,\n } = this.props;\n const { scale, range } = graphProps;\n const { dragValue, isHovered } = this.state;\n\n const allowRolloverEvent = interactive && !correctness;\n const fillColor = calculateFillColor(isHovered, barColor, index, hoverHistogramColors, allowRolloverEvent);\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n const rawY = range.max - v;\n const yy = range.max - rawY;\n const correctValue = correctData ? correctData.find((d) => d.label === label) : null;\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const Component = interactive ? DraggableHandle : DragHandle;\n const isHistogram = !!barColor;\n\n return (\n <g\n ref={(ref) => (this.gRef = ref)}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n <StyledVxBar\n x={barX}\n y={scale.y(yy)}\n width={barWidth}\n height={barHeight}\n style={{ fill: fillColor }}\n />\n {correctness &&\n correctness.value === 'incorrect' &&\n (() => {\n const correctVal = parseFloat(correctValue && correctValue.value);\n if (isNaN(correctVal)) return null;\n const correctPxHeight = scale.y(range.max - correctVal);\n const actualPxHeight = barHeight;\n const diffPx = Math.abs(correctPxHeight - actualPxHeight);\n const yDiff = scale.y(correctVal);\n const indicatorBarColor = correctPxHeight > actualPxHeight ? color.borderGray() : color.defaults.WHITE;\n const yToRender = correctPxHeight > actualPxHeight ? yDiff : yDiff - diffPx;\n\n return (\n <>\n <StyledVxBar\n x={barX + 2} // add 2px for the stroke (the dashed border)\n y={yToRender}\n width={barWidth - 4} // substract 4px for the total stroke\n height={diffPx}\n style={{\n stroke: indicatorBarColor,\n strokeWidth: 2,\n strokeDasharray: '5,2',\n fill: 'none',\n }}\n />\n {/* adjust the position based on whether it's a histogram or not, because the histogram does not have space for the icon on the side */}\n <foreignObject x={barX + barWidth - (isHistogram ? 24 : 14)} y={yDiff - 12} width={24} height={24}>\n <CorrectCheckIcon dashColor={indicatorBarColor} />\n </foreignObject>\n </>\n );\n })()}\n <Component\n x={barX}\n y={v}\n defineChart={defineChart}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n color={fillColor}\n />\n </g>\n );\n }\n}\n\nconst Bar = RawBar;\n\nexport class Bars extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n correctData: PropTypes.array,\n onChangeCategory: PropTypes.func,\n defineChart: PropTypes.bool,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n histogram: PropTypes.bool,\n };\n\n render() {\n const { data, graphProps, xBand, onChangeCategory, defineChart, histogram, correctData } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n label={d.label}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n correctness={d.correctness}\n correctData={correctData}\n barColor={\n histogram &&\n (histogramColors[index] ? histogramColors[index] : histogramColors[index % histogramColors.length])\n }\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Bars;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAC,uBAAA,CAAAV,OAAA;AACA,IAAAW,iBAAA,GAAAX,OAAA;AAAwD,SAAAU,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,wBAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,WAAAnB,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAArB,CAAA,EAAAsB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAApB,CAAA,EAAAyB,WAAA,IAAApB,CAAA,CAAAqB,KAAA,CAAA1B,CAAA,EAAAD,CAAA;AAAA,SAAAuB,0BAAA,cAAAtB,CAAA,IAAA2B,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAd,IAAA,CAAAQ,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAA3B,CAAA,aAAAsB,yBAAA,YAAAA,0BAAA,aAAAtB,CAAA;AAExD,IAAM8B,GAAG,GAAG,IAAAC,iBAAK,EAAC,oBAAoB,CAAC;AACvC,IAAMC,eAAe,GAAG,CACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACV;AACD,IAAMC,oBAAoB,GAAG,CAC3B,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,CACV;AAED,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,SAAS,EAAEC,QAAQ,EAAEC,KAAK,EAAEJ,oBAAoB,EAAEK,kBAAkB,EAAK;EACnG,IAAIH,SAAS,IAAIC,QAAQ,IAAIE,kBAAkB,EAAE;IAC/C,OAAOL,oBAAoB,CAACI,KAAK,GAAGJ,oBAAoB,CAACM,MAAM,CAAC;EAClE;EACA,IAAIJ,SAAS,IAAIG,kBAAkB,EAAE;IACnC,OAAOE,eAAK,CAACC,oBAAoB,CAACC,uBAAuB;EAC3D;EACA,OAAON,QAAQ,IAAI,IAAI;AACzB,CAAC;AAED,IAAMO,WAAW,GAAG,IAAAC,cAAM,EAACC,UAAK,CAAC,CAAC;EAAA,OAAO;IACvCC,IAAI,EAAEN,eAAK,CAACO,QAAQ,CAACC;EACvB,CAAC;AAAA,CAAC,CAAC;AAAC,IAESC,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAAAE,gBAAA;EAiBjB,SAAAF,OAAYG,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,MAAA;IACjBI,KAAA,GAAAlC,UAAA,OAAA8B,MAAA,GAAMG,KAAK;IAAE,IAAAG,gBAAA,aAAAF,KAAA,qBAiBG,UAACtD,CAAC,EAAK;MACvB;MACAsD,KAAA,CAAKG,MAAM,GAAGzD,CAAC,CAAC0D,OAAO;MACvBJ,KAAA,CAAKK,MAAM,GAAG3D,CAAC,CAAC4D,OAAO;MACvB;MACA,IAAMC,aAAa,GAAGP,KAAA,CAAKQ,uBAAuB,CAAC,CAAC;MACpDR,KAAA,CAAKS,QAAQ,CAAC;QAAE3B,SAAS,EAAEyB;MAAc,CAAC,CAAC;IAC7C,CAAC;IAAA,IAAAL,gBAAA,aAAAF,KAAA,6BAEyB,YAAM;MAC9B,IAAMU,YAAY,GAAGV,KAAA,CAAKW,IAAI,CAACC,qBAAqB,CAAC,CAAC;MACtD;MACA,OACEZ,KAAA,CAAKG,MAAM,IAAIO,YAAY,CAACG,IAAI,IAChCb,KAAA,CAAKG,MAAM,IAAIO,YAAY,CAACI,KAAK,IACjCd,KAAA,CAAKK,MAAM,IAAIK,YAAY,CAACK,GAAG,IAC/Bf,KAAA,CAAKK,MAAM,IAAIK,YAAY,CAACM,MAAM;IAEtC,CAAC;IAAA,IAAAd,gBAAA,aAAAF,KAAA,sBAEkB,YAAM;MACvBA,KAAA,CAAKS,QAAQ,CAAC;QAAE3B,SAAS,EAAE;MAAK,CAAC,CAAC;IACpC,CAAC;IAAA,IAAAoB,gBAAA,aAAAF,KAAA,sBAEkB,YAAM;MACvBA,KAAA,CAAKS,QAAQ,CAAC;QAAE3B,SAAS,EAAE;MAAM,CAAC,CAAC;IACrC,CAAC;IAAA,IAAAoB,gBAAA,aAAAF,KAAA,kBAEc,UAACiB,SAAS;MAAA,OAAKjB,KAAA,CAAKS,QAAQ,CAAC;QAAEQ,SAAS,EAATA;MAAU,CAAC,CAAC;IAAA;IAAA,IAAAf,gBAAA,aAAAF,KAAA,cAE/C,YAAM;MACf,IAAAkB,WAAA,GAAoClB,KAAA,CAAKD,KAAK;QAAtCoB,KAAK,GAAAD,WAAA,CAALC,KAAK;QAAEC,gBAAgB,GAAAF,WAAA,CAAhBE,gBAAgB;MAC/B,IAAQH,SAAS,GAAKjB,KAAA,CAAKqB,KAAK,CAAxBJ,SAAS;MACjBxC,GAAG,CAAC,YAAY,EAAEwC,SAAS,CAAC;MAE5B,IAAIA,SAAS,KAAKK,SAAS,EAAE;QAC3BF,gBAAgB,CAAC;UAAED,KAAK,EAALA,KAAK;UAAEI,KAAK,EAAEN;QAAU,CAAC,CAAC;MAC/C;MAEAjB,KAAA,CAAKwB,YAAY,CAACF,SAAS,CAAC;IAC9B,CAAC;IAAA,IAAApB,gBAAA,aAAAF,KAAA,eAEW,UAACyB,QAAQ,EAAEC,IAAI,EAAK;MAC9BjD,GAAG,CAAC,mBAAmB,EAAEiD,IAAI,CAAC;MAE9B1B,KAAA,CAAKwB,YAAY,CAACE,IAAI,CAAC;IACzB,CAAC;IA9DC1B,KAAA,CAAKqB,KAAK,GAAG;MACXJ,SAAS,EAAEK,SAAS;MACpBxC,SAAS,EAAE;IACb,CAAC;IACDkB,KAAA,CAAKG,MAAM,GAAG,CAAC;IACfH,KAAA,CAAKK,MAAM,GAAG,CAAC;IAAC,OAAAL,KAAA;EAClB;EAAC,IAAA2B,UAAA,aAAA/B,MAAA,EAAAE,gBAAA;EAAA,WAAA8B,aAAA,aAAAhC,MAAA;IAAAiC,GAAA;IAAAN,KAAA,EAED,SAAAO,iBAAiBA,CAAA,EAAG;MAClBC,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACC,eAAe,CAAC;IAC5D;EAAC;IAAAJ,GAAA;IAAAN,KAAA,EAED,SAAAW,oBAAoBA,CAAA,EAAG;MACrBH,MAAM,CAACI,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACF,eAAe,CAAC;IAC/D;EAAC;IAAAJ,GAAA;IAAAN,KAAA,EAkDD,SAAAa,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAWI,IAAI,CAACvC,KAAK;QAVZwC,UAAU,GAAAD,YAAA,CAAVC,UAAU;QACVhB,KAAK,GAAAe,YAAA,CAALf,KAAK;QACLJ,KAAK,GAAAmB,YAAA,CAALnB,KAAK;QACLqB,KAAK,GAAAF,YAAA,CAALE,KAAK;QACLxD,KAAK,GAAAsD,YAAA,CAALtD,KAAK;QACLyD,WAAW,GAAAH,YAAA,CAAXG,WAAW;QACXC,WAAW,GAAAJ,YAAA,CAAXI,WAAW;QACX3D,QAAQ,GAAAuD,YAAA,CAARvD,QAAQ;QACR4D,WAAW,GAAAL,YAAA,CAAXK,WAAW;QACXC,WAAW,GAAAN,YAAA,CAAXM,WAAW;MAEb,IAAQC,KAAK,GAAYN,UAAU,CAA3BM,KAAK;QAAEC,KAAK,GAAKP,UAAU,CAApBO,KAAK;MACpB,IAAAC,WAAA,GAAiC,IAAI,CAAC1B,KAAK;QAAnCJ,SAAS,GAAA8B,WAAA,CAAT9B,SAAS;QAAEnC,SAAS,GAAAiE,WAAA,CAATjE,SAAS;MAE5B,IAAMG,kBAAkB,GAAGwD,WAAW,IAAI,CAACC,WAAW;MACtD,IAAMM,SAAS,GAAGnE,kBAAkB,CAACC,SAAS,EAAEC,QAAQ,EAAEC,KAAK,EAAEJ,oBAAoB,EAAEK,kBAAkB,CAAC;MAC1G,IAAMgE,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAAClC,SAAS,CAAC,GAAGA,SAAS,GAAGM,KAAK;MACxD,IAAM6B,QAAQ,GAAGZ,KAAK,CAACa,SAAS,CAAC,CAAC;MAClC,IAAMC,SAAS,GAAGT,KAAK,CAACU,CAAC,CAACT,KAAK,CAACU,GAAG,GAAGP,CAAC,CAAC;MACxC,IAAMQ,IAAI,GAAGjB,KAAK,CAAC,IAAAkB,cAAO,EAAC;QAAEvC,KAAK,EAALA;MAAM,CAAC,EAAEnC,KAAK,CAAC,CAAC;MAC7C,IAAM2E,IAAI,GAAGb,KAAK,CAACU,GAAG,GAAGP,CAAC;MAC1B,IAAMW,EAAE,GAAGd,KAAK,CAACU,GAAG,GAAGG,IAAI;MAC3B,IAAME,YAAY,GAAGjB,WAAW,GAAGA,WAAW,CAACkB,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,CAAC5C,KAAK,KAAKA,KAAK;MAAA,EAAC,GAAG,IAAI;MACpF1C,GAAG,CAAC,QAAQ,EAAE0C,KAAK,EAAE,OAAO,EAAEsC,IAAI,EAAE,KAAK,EAAER,CAAC,EAAE,YAAY,EAAEK,SAAS,EAAE,YAAY,EAAEF,QAAQ,CAAC;MAE9F,IAAMY,SAAS,GAAGvB,WAAW,GAAGwB,sBAAe,GAAGC,sBAAU;MAC5D,IAAMC,WAAW,GAAG,CAAC,CAACpF,QAAQ;MAE9B,oBACEnD,MAAA,YAAAwI,aAAA;QACEC,GAAG,EAAE,SAALA,GAAGA,CAAGA,IAAG;UAAA,OAAMhC,MAAI,CAAC1B,IAAI,GAAG0D,IAAG;QAAA,CAAE;QAChCC,YAAY,EAAE,IAAI,CAACC,gBAAiB;QACpCC,YAAY,EAAE,IAAI,CAACC,gBAAiB;QACpCC,YAAY,EAAE,IAAI,CAACH,gBAAiB;QACpCI,UAAU,EAAE,IAAI,CAACF;MAAiB,gBAElC7I,MAAA,YAAAwI,aAAA,CAAC9E,WAAW;QACVsF,CAAC,EAAEnB,IAAK;QACRF,CAAC,EAAEV,KAAK,CAACU,CAAC,CAACK,EAAE,CAAE;QACfiB,KAAK,EAAEzB,QAAS;QAChB0B,MAAM,EAAExB,SAAU;QAClByB,KAAK,EAAE;UAAEtF,IAAI,EAAEuD;QAAU;MAAE,CAC5B,CAAC,EACDN,WAAW,IACVA,WAAW,CAACnB,KAAK,KAAK,WAAW,IAChC,YAAM;QACL,IAAMyD,UAAU,GAAGC,UAAU,CAACpB,YAAY,IAAIA,YAAY,CAACtC,KAAK,CAAC;QACjE,IAAI2D,KAAK,CAACF,UAAU,CAAC,EAAE,OAAO,IAAI;QAClC,IAAMG,eAAe,GAAGtC,KAAK,CAACU,CAAC,CAACT,KAAK,CAACU,GAAG,GAAGwB,UAAU,CAAC;QACvD,IAAMI,cAAc,GAAG9B,SAAS;QAChC,IAAM+B,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACJ,eAAe,GAAGC,cAAc,CAAC;QACzD,IAAMI,KAAK,GAAG3C,KAAK,CAACU,CAAC,CAACyB,UAAU,CAAC;QACjC,IAAMS,iBAAiB,GAAGN,eAAe,GAAGC,cAAc,GAAGjG,eAAK,CAACuG,UAAU,CAAC,CAAC,GAAGvG,eAAK,CAACO,QAAQ,CAACiG,KAAK;QACtG,IAAMC,SAAS,GAAGT,eAAe,GAAGC,cAAc,GAAGI,KAAK,GAAGA,KAAK,GAAGH,MAAM;QAE3E,oBACEzJ,MAAA,YAAAwI,aAAA,CAAAxI,MAAA,YAAAiK,QAAA,qBACEjK,MAAA,YAAAwI,aAAA,CAAC9E,WAAW;UACVsF,CAAC,EAAEnB,IAAI,GAAG,CAAE,CAAC;UAAA;UACbF,CAAC,EAAEqC,SAAU;UACbf,KAAK,EAAEzB,QAAQ,GAAG,CAAE,CAAC;UAAA;UACrB0B,MAAM,EAAEO,MAAO;UACfN,KAAK,EAAE;YACLe,MAAM,EAAEL,iBAAiB;YACzBM,WAAW,EAAE,CAAC;YACdC,eAAe,EAAE,KAAK;YACtBvG,IAAI,EAAE;UACR;QAAE,CACH,CAAC,eAEF7D,MAAA,YAAAwI,aAAA;UAAeQ,CAAC,EAAEnB,IAAI,GAAGL,QAAQ,IAAIe,WAAW,GAAG,EAAE,GAAG,EAAE,CAAE;UAACZ,CAAC,EAAEiC,KAAK,GAAG,EAAG;UAACX,KAAK,EAAE,EAAG;UAACC,MAAM,EAAE;QAAG,gBAChGlJ,MAAA,YAAAwI,aAAA,CAAC3H,iBAAA,CAAAwJ,gBAAgB;UAACC,SAAS,EAAET;QAAkB,CAAE,CACpC,CACf,CAAC;MAEP,CAAC,CAAE,CAAC,eACN7J,MAAA,YAAAwI,aAAA,CAACJ,SAAS;QACRY,CAAC,EAAEnB,IAAK;QACRF,CAAC,EAAEN,CAAE;QACLN,WAAW,EAAEA,WAAY;QACzBF,WAAW,EAAEA,WAAY;QACzBoC,KAAK,EAAEzB,QAAS;QAChB+C,MAAM,EAAE,SAARA,MAAMA,CAAGlD,CAAC;UAAA,OAAKZ,MAAI,CAACpB,SAAS,CAACM,KAAK,EAAE0B,CAAC,CAAC;QAAA,CAAC;QACxCmD,UAAU,EAAE,IAAI,CAACC,QAAS;QAC1B9D,UAAU,EAAEA,UAAW;QACvBG,WAAW,EAAEA,WAAY;QACzB5D,SAAS,EAAEA,SAAU;QACrBK,KAAK,EAAE6D;MAAU,CAClB,CACA,CAAC;IAER;EAAC;AAAA,EAhLyBsD,iBAAK,CAACtC,SAAS;AAAA,IAAA9D,gBAAA,aAA9BN,MAAM,eACE;EACjBb,QAAQ,EAAEwH,qBAAS,CAACC,MAAM;EAC1BpF,gBAAgB,EAAEmF,qBAAS,CAACE,IAAI;EAChClF,KAAK,EAAEgF,qBAAS,CAACG,MAAM;EACvBvF,KAAK,EAAEoF,qBAAS,CAACC,MAAM;EACvBhE,KAAK,EAAE+D,qBAAS,CAACE,IAAI;EACrBzH,KAAK,EAAEuH,qBAAS,CAACG,MAAM,CAACC,UAAU;EAClCpE,UAAU,EAAEqE,WAAK,CAACC,cAAc,CAACF,UAAU;EAC3ClE,WAAW,EAAE8D,qBAAS,CAACO,IAAI;EAC3BpE,WAAW,EAAE6D,qBAAS,CAACQ,KAAK,CAAC;IAC3BxF,KAAK,EAAEgF,qBAAS,CAACC,MAAM;IACvBrF,KAAK,EAAEoF,qBAAS,CAACC;EACnB,CAAC,CAAC;EACF5D,WAAW,EAAE2D,qBAAS,CAACS;AACzB,CAAC;AAoKH,IAAMC,GAAG,GAAGrH,MAAM;AAAC,IAENsH,IAAI,GAAArH,OAAA,CAAAqH,IAAA,0BAAAC,iBAAA;EAAA,SAAAD,KAAA;IAAA,IAAAjH,gBAAA,mBAAAiH,IAAA;IAAA,OAAApJ,UAAA,OAAAoJ,IAAA,EAAAE,SAAA;EAAA;EAAA,IAAAzF,UAAA,aAAAuF,IAAA,EAAAC,iBAAA;EAAA,WAAAvF,aAAA,aAAAsF,IAAA;IAAArF,GAAA;IAAAN,KAAA,EAWf,SAAAa,MAAMA,CAAA,EAAG;MACP,IAAAiF,YAAA,GAA2F,IAAI,CAACtH,KAAK;QAA7FuH,IAAI,GAAAD,YAAA,CAAJC,IAAI;QAAE/E,UAAU,GAAA8E,YAAA,CAAV9E,UAAU;QAAEC,KAAK,GAAA6E,YAAA,CAAL7E,KAAK;QAAEpB,iBAAgB,GAAAiG,YAAA,CAAhBjG,gBAAgB;QAAEuB,WAAW,GAAA0E,YAAA,CAAX1E,WAAW;QAAE4E,SAAS,GAAAF,YAAA,CAATE,SAAS;QAAE3E,WAAW,GAAAyE,YAAA,CAAXzE,WAAW;MAEtF,oBACEhH,MAAA,YAAAwI,aAAA,CAACpI,MAAA,CAAAwL,KAAK,QACH,CAACF,IAAI,IAAI,EAAE,EAAEG,GAAG,CAAC,UAAC1D,CAAC,EAAE/E,KAAK;QAAA,oBACzBpD,MAAA,YAAAwI,aAAA,CAAC6C,GAAG;UACF1F,KAAK,EAAEwC,CAAC,CAACxC,KAAM;UACfkB,WAAW,EAAEE,WAAW,IAAIoB,CAAC,CAACtB,WAAY;UAC1CE,WAAW,EAAEA,WAAY;UACzBxB,KAAK,EAAE4C,CAAC,CAAC5C,KAAM;UACfqB,KAAK,EAAEA,KAAM;UACbxD,KAAK,EAAEA,KAAM;UACb6C,GAAG,SAAA6F,MAAA,CAAS3D,CAAC,CAAC5C,KAAK,OAAAuG,MAAA,CAAI3D,CAAC,CAACxC,KAAK,OAAAmG,MAAA,CAAI1I,KAAK,CAAG;UAC1CoC,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAGuG,QAAQ;YAAA,OAAKvG,iBAAgB,CAACpC,KAAK,EAAE2I,QAAQ,CAAC;UAAA,CAAC;UAClEpF,UAAU,EAAEA,UAAW;UACvBG,WAAW,EAAEqB,CAAC,CAACrB,WAAY;UAC3BE,WAAW,EAAEA,WAAY;UACzB7D,QAAQ,EACNwI,SAAS,KACR5I,eAAe,CAACK,KAAK,CAAC,GAAGL,eAAe,CAACK,KAAK,CAAC,GAAGL,eAAe,CAACK,KAAK,GAAGL,eAAe,CAACO,MAAM,CAAC;QACnG,CACF,CAAC;MAAA,CACH,CACI,CAAC;IAEZ;EAAC;AAAA,EArCuBoH,iBAAK,CAACtC,SAAS;AAAA,IAAA9D,gBAAA,aAA5BgH,IAAI,eACI;EACjBI,IAAI,EAAEf,qBAAS,CAACS,KAAK;EACrBpE,WAAW,EAAE2D,qBAAS,CAACS,KAAK;EAC5B5F,gBAAgB,EAAEmF,qBAAS,CAACE,IAAI;EAChC9D,WAAW,EAAE4D,qBAAS,CAACO,IAAI;EAC3BtE,KAAK,EAAE+D,qBAAS,CAACE,IAAI;EACrBlE,UAAU,EAAEqE,WAAK,CAACC,cAAc,CAACF,UAAU;EAC3CY,SAAS,EAAEhB,qBAAS,CAACO;AACvB,CAAC;AAAA,IAAAc,QAAA,GAAA/H,OAAA,cA+BYqH,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"bars.js","names":["_react","_interopRequireDefault","require","_propTypes","_group","_shape","_styles","_debug","_renderUi","_plot","_utils","_dragHandle","_interopRequireWildcard","_correctCheckIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","histogramColors","hoverHistogramColors","calculateFillColor","isHovered","barColor","index","allowRolloverEvent","length","color","visualElementsColors","ROLLOVER_FILL_BAR_COLOR","StyledVisxBar","styled","VisxBar","fill","defaults","TERTIARY","RawBar","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","mouseX","clientX","mouseY","clientY","isMouseInside","isMouseInsideSvgElement","setState","gBoundingBox","gRef","getBoundingClientRect","left","right","top","bottom","dragValue","_this$props","label","onChangeCategory","state","undefined","value","setDragValue","existing","next","_inherits2","_createClass2","key","componentDidMount","window","addEventListener","handleMouseMove","componentWillUnmount","removeEventListener","render","_this2","_this$props2","graphProps","xBand","interactive","correctness","defineChart","correctData","scale","range","_this$state","fillColor","v","Number","isFinite","barWidth","bandwidth","barHeight","y","max","barX","bandKey","rawY","yy","correctValue","find","d","Component","DraggableHandle","DragHandle","isHistogram","createElement","ref","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","onTouchStart","onTouchEnd","x","width","height","style","correctVal","parseFloat","isNaN","correctPxHeight","actualPxHeight","diffPx","Math","abs","yDiff","indicatorBarColor","borderGray","WHITE","yToRender","Fragment","stroke","strokeWidth","strokeDasharray","CorrectCheckIcon","dashColor","onDrag","onDragStop","dragStop","React","PropTypes","string","func","number","isRequired","types","GraphPropsType","bool","shape","array","Bar","Bars","_React$Component2","arguments","_this$props3","data","histogram","Group","map","concat","category","_default"],"sources":["../../../src/bars/common/bars.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group } from '@visx/group';\nimport { Bar as VisxBar } from '@visx/shape';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\n\nimport { color } from '@pie-lib/render-ui';\nimport { types } from '@pie-lib/plot';\nimport { bandKey } from '../../utils';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport { CorrectCheckIcon } from './correct-check-icon';\n\nconst log = debug('pie-lib:chart:bars');\nconst histogramColors = [\n '#006699',\n '#F59B00',\n '#08916D',\n '#529EE0',\n '#52B7D8',\n '#D9A6C2',\n '#FFB03B',\n '#54A77B',\n '#E16032',\n '#4FD2D2',\n '#F0E442',\n '#E287B2',\n];\nconst hoverHistogramColors = [\n '#003754',\n '#975616',\n '#00503B',\n '#225982',\n '#1F687D',\n '#825E6F',\n '#996428',\n '#255E44',\n '#8A331F',\n '#167A7A',\n '#91862D',\n '#894A65',\n];\n\nconst calculateFillColor = (isHovered, barColor, index, hoverHistogramColors, allowRolloverEvent) => {\n if (isHovered && barColor && allowRolloverEvent) {\n return hoverHistogramColors[index % hoverHistogramColors.length];\n }\n if (isHovered && allowRolloverEvent) {\n return color.visualElementsColors.ROLLOVER_FILL_BAR_COLOR;\n }\n return barColor || null;\n};\n\nconst StyledVisxBar = styled(VisxBar)(() => ({\n fill: color.defaults.TERTIARY,\n}));\n\nexport class RawBar extends React.Component {\n static propTypes = {\n barColor: PropTypes.string,\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n correctData: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\n };\n this.mouseX = 0;\n this.mouseY = 0;\n }\n\n componentDidMount() {\n window.addEventListener('mousemove', this.handleMouseMove);\n }\n\n componentWillUnmount() {\n window.removeEventListener('mousemove', this.handleMouseMove);\n }\n\n handleMouseMove = (e) => {\n this.mouseX = e.clientX;\n this.mouseY = e.clientY;\n const isMouseInside = this.isMouseInsideSvgElement();\n this.setState({ isHovered: isMouseInside });\n };\n\n isMouseInsideSvgElement = () => {\n const gBoundingBox = this.gRef.getBoundingClientRect();\n return (\n this.mouseX >= gBoundingBox.left &&\n this.mouseX <= gBoundingBox.right &&\n this.mouseY >= gBoundingBox.top &&\n this.mouseY <= gBoundingBox.bottom\n );\n };\n\n handleMouseEnter = () => this.setState({ isHovered: true });\n handleMouseLeave = () => this.setState({ isHovered: false });\n\n setDragValue = (dragValue) => this.setState({ dragValue });\n\n dragStop = () => {\n const { label, onChangeCategory } = this.props;\n const { dragValue } = this.state;\n log('[dragStop]', dragValue);\n\n if (dragValue !== undefined) {\n onChangeCategory({ label, value: dragValue });\n }\n\n this.setDragValue(undefined);\n };\n\n dragValue = (existing, next) => {\n log('[dragValue] next:', next);\n\n this.setDragValue(next);\n };\n\n render() {\n const {\n graphProps,\n value,\n label,\n xBand,\n index,\n interactive,\n correctness,\n barColor,\n defineChart,\n correctData,\n } = this.props;\n const { scale, range } = graphProps;\n const { dragValue, isHovered } = this.state;\n\n const allowRolloverEvent = interactive && !correctness;\n const fillColor = calculateFillColor(isHovered, barColor, index, hoverHistogramColors, allowRolloverEvent);\n const v = Number.isFinite(dragValue) ? dragValue : value;\n const barWidth = xBand.bandwidth();\n const barHeight = scale.y(range.max - v);\n const barX = xBand(bandKey({ label }, index));\n const rawY = range.max - v;\n const yy = range.max - rawY;\n const correctValue = correctData ? correctData.find((d) => d.label === label) : null;\n\n const Component = interactive ? DraggableHandle : DragHandle;\n const isHistogram = !!barColor;\n\n return (\n <g\n ref={(ref) => (this.gRef = ref)}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n <StyledVisxBar\n x={barX}\n y={scale.y(yy)}\n width={barWidth}\n height={barHeight}\n style={{ fill: fillColor }}\n />\n {correctness && correctness.value === 'incorrect' && (() => {\n const correctVal = parseFloat(correctValue && correctValue.value);\n if (isNaN(correctVal)) return null;\n const correctPxHeight = scale.y(range.max - correctVal);\n const actualPxHeight = barHeight;\n const diffPx = Math.abs(correctPxHeight - actualPxHeight);\n const yDiff = scale.y(correctVal);\n const indicatorBarColor = correctPxHeight > actualPxHeight ? color.borderGray() : color.defaults.WHITE;\n const yToRender = correctPxHeight > actualPxHeight ? yDiff : yDiff - diffPx;\n\n return (\n <>\n <StyledVisxBar\n x={barX + 2}\n y={yToRender}\n width={barWidth - 4}\n height={diffPx}\n style={{ stroke: indicatorBarColor, strokeWidth: 2, strokeDasharray: '5,2', fill: 'none' }}\n />\n <foreignObject\n x={barX + barWidth - (isHistogram ? 24 : 14)}\n y={yDiff - 12}\n width={24}\n height={24}\n >\n <CorrectCheckIcon dashColor={indicatorBarColor} />\n </foreignObject>\n </>\n );\n })()}\n <Component\n x={barX}\n y={v}\n defineChart={defineChart}\n interactive={interactive}\n width={barWidth}\n onDrag={(v) => this.dragValue(value, v)}\n onDragStop={this.dragStop}\n graphProps={graphProps}\n correctness={correctness}\n isHovered={isHovered}\n color={fillColor}\n />\n </g>\n );\n }\n}\n\nconst Bar = RawBar;\n\nexport class Bars extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n correctData: PropTypes.array,\n onChangeCategory: PropTypes.func,\n defineChart: PropTypes.bool,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n histogram: PropTypes.bool,\n };\n\n render() {\n const { data, graphProps, xBand, onChangeCategory, defineChart, histogram, correctData } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n label={d.label}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n correctness={d.correctness}\n correctData={correctData}\n barColor={\n histogram && (histogramColors[index] ? histogramColors[index] : histogramColors[index % histogramColors.length])\n }\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Bars;\n"],"mappings":"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","ignoreList":[]}
@@ -239,7 +239,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
239
239
  if (key === 'max' || key === 'step') {
240
240
  // check if current chart values are invalid for given range step/max
241
241
  var outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);
242
- if (outOfRange && JSON.stringify(e) !== '{}') {
242
+ if (outOfRange && e !== null && e !== void 0 && e.target) {
243
243
  setOpen(true);
244
244
  } else {
245
245
  onChange(_objectSpread(_objectSpread({}, model), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"chart-setup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_renderUi","_styles","_Typography","_chartType","_configUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","resetValues","exports","data","updateModel","range","onChange","model","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","StyledWrapper","styled","width","StyledContent","_ref","theme","display","flexDirection","marginTop","spacing","StyledColumnView","alignItems","StyledRowView","justifyContent","StyledTextField","NumberTextFieldCustom","_ref2","margin","concat","StyledMediumTextField","_ref3","StyledDimensions","_ref4","StyledDisabled","Typography","color","disabled","ConfigureChartPanel","props","chartDimensions","_props$gridValues","gridValues","_props$labelValues","labelValues","_props$studentNewCate","studentNewCategoryDefaultLabel","_props$availableChart","availableChartTypes","chartTypeLabel","_useState","useState","open","title","text","onClose","onConfirm","_useState2","_slicedToArray2","alertDialog","setAlertDialog","_useState3","_useState4","setOpen","_useState5","_useState6","rangeKey","setRangeKey","_useState7","_useState8","resetValue","setResetValue","_model$range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","_ref5","showInConfigPanel","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","createElement","_extends2","label","variant","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","callback","prevState","setPropertiesToFalse","property","map","obj","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","JSON","stringify","useEffect","isValidPlot","getPlotConfiguration","onChartTypeChange","target","AlertDialog","propTypes","PropTypes","object","domain","func","chartDimension","string","_default"],"sources":["../src/chart-setup.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst StyledWrapper = styled('div')(() => ({\n width: '450px',\n}));\n\nconst StyledContent = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(3),\n}));\n\nconst StyledColumnView = styled('div')(() => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledRowView = styled('div')(() => ({\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n}));\n\nconst StyledTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '130px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledMediumTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '160px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledDimensions = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing(3)} 0`,\n}));\n\nconst StyledDisabled = styled(Typography)(() => ({\n color: color.disabled(),\n}));\n\nconst ConfigureChartPanel = (props) => {\n const {\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <StyledRowView>\n <StyledMediumTextField\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <StyledMediumTextField\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </StyledRowView>\n );\n\n const handleAlertDialog = (openStatus, callback) => {\n setAlertDialog(\n (prevState) => ({\n ...prevState,\n open: openStatus,\n }),\n () => {\n if (callback) {\n callback();\n }\n },\n );\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (obj.hasOwnProperty(property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && JSON.stringify(e) !== '{}') {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <StyledWrapper>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <StyledContent>\n <StyledRowView>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <StyledMediumTextField\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </StyledRowView>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <StyledDimensions>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <StyledColumnView>\n <StyledTextField\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <StyledDisabled>Min 50, Max 700</StyledDisabled>\n </StyledColumnView>\n\n <StyledColumnView>\n <StyledTextField\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <StyledDisabled>Min 400, Max 700</StyledDisabled>\n </StyledColumnView>\n </StyledDimensions>\n )}\n </StyledContent>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </StyledWrapper>\n );\n};\n\nConfigureChartPanel.propTypes = {\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nexport default ConfigureChartPanel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"chart-setup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_renderUi","_styles","_Typography","_chartType","_configUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","resetValues","exports","data","updateModel","range","onChange","model","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","StyledWrapper","styled","width","StyledContent","_ref","theme","display","flexDirection","marginTop","spacing","StyledColumnView","alignItems","StyledRowView","justifyContent","StyledTextField","NumberTextFieldCustom","_ref2","margin","concat","StyledMediumTextField","_ref3","StyledDimensions","_ref4","StyledDisabled","Typography","color","disabled","ConfigureChartPanel","props","chartDimensions","_props$gridValues","gridValues","_props$labelValues","labelValues","_props$studentNewCate","studentNewCategoryDefaultLabel","_props$availableChart","availableChartTypes","chartTypeLabel","_useState","useState","open","title","text","onClose","onConfirm","_useState2","_slicedToArray2","alertDialog","setAlertDialog","_useState3","_useState4","setOpen","_useState5","_useState6","rangeKey","setRangeKey","_useState7","_useState8","resetValue","setResetValue","_model$range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","_ref5","showInConfigPanel","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","createElement","_extends2","label","variant","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","callback","prevState","setPropertiesToFalse","property","map","obj","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","target","useEffect","isValidPlot","getPlotConfiguration","onChartTypeChange","AlertDialog","propTypes","PropTypes","object","domain","func","chartDimension","string","_default"],"sources":["../src/chart-setup.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst StyledWrapper = styled('div')(() => ({\n width: '450px',\n}));\n\nconst StyledContent = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(3),\n}));\n\nconst StyledColumnView = styled('div')(() => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledRowView = styled('div')(() => ({\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n}));\n\nconst StyledTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '130px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledMediumTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '160px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledDimensions = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing(3)} 0`,\n}));\n\nconst StyledDisabled = styled(Typography)(() => ({\n color: color.disabled(),\n}));\n\nconst ConfigureChartPanel = (props) => {\n const {\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <StyledRowView>\n <StyledMediumTextField\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <StyledMediumTextField\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </StyledRowView>\n );\n\n const handleAlertDialog = (openStatus, callback) => {\n setAlertDialog(\n (prevState) => ({\n ...prevState,\n open: openStatus,\n }),\n () => {\n if (callback) {\n callback();\n }\n },\n );\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (obj.hasOwnProperty(property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && e?.target) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <StyledWrapper>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <StyledContent>\n <StyledRowView>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <StyledMediumTextField\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </StyledRowView>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <StyledDimensions>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <StyledColumnView>\n <StyledTextField\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <StyledDisabled>Min 50, Max 700</StyledDisabled>\n </StyledColumnView>\n\n <StyledColumnView>\n <StyledTextField\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <StyledDisabled>Min 400, Max 700</StyledDisabled>\n </StyledColumnView>\n </StyledDimensions>\n )}\n </StyledContent>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </StyledWrapper>\n );\n};\n\nConfigureChartPanel.propTypes = {\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nexport default ConfigureChartPanel;\n"],"mappings":"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","ignoreList":[]}