@pie-lib/charting 5.31.1-next.0 → 5.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.js +3714 -0
- package/esm/index.js.map +1 -0
- package/package.json +12 -5
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/grid.jsx","../src/common/correctness-indicators.jsx","../src/utils.js","../src/common/styles.js","../src/mark-label.jsx","../src/axes.jsx","../src/common/drag-icon.jsx","../src/common/drag-handle.jsx","../src/bars/common/correct-check-icon.jsx","../src/bars/common/bars.jsx","../src/bars/bar.js","../src/bars/histogram.js","../src/line/common/drag-handle.jsx","../src/line/common/line.jsx","../src/line/line-dot.js","../src/line/line-cross.js","../src/plot/common/plot.jsx","../src/plot/dot.js","../src/plot/line.js","../src/chart-types.js","../src/actions-button.jsx","../src/chart.jsx","../src/chart-type.js","../src/chart-setup.jsx","../src/key-legend.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { GridRows, GridColumns } from '@vx/grid';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nexport class Grid extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n columnTickValues: PropTypes.array,\n rowTickValues: PropTypes.array,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, graphProps, xBand, rowTickValues, columnTickValues } = this.props;\n const { scale = {}, size = {}, range = {} } = graphProps || {};\n const { step = 0, labelStep = 0 } = range;\n const highlightNonLabel = step && labelStep && step < labelStep;\n // if highlightNonLabel is true, we need to separate the unlabled lines in order to render them in a different color\n const { unlabeledLines, labeledLines } = (rowTickValues || []).reduce(\n (acc, value) => {\n if (highlightNonLabel && value % labelStep !== 0) {\n acc.unlabeledLines.push(value);\n } else {\n acc.labeledLines.push(value);\n }\n return acc;\n },\n { unlabeledLines: [], labeledLines: [] },\n );\n\n return (\n <g className={classNames(classes.grid, className)}>\n <GridRows\n scale={scale.y}\n width={size.width}\n tickValues={unlabeledLines}\n lineStyle={{\n stroke: color.fadedPrimary(),\n strokeWidth: 1,\n }}\n />\n <GridRows\n scale={scale.y}\n width={size.width}\n tickValues={labeledLines}\n lineStyle={{\n stroke: color.visualElementsColors.GRIDLINES_COLOR,\n strokeWidth: 1,\n }}\n />\n <GridColumns scale={xBand} height={size.height} offset={xBand.bandwidth() / 2} tickValues={columnTickValues} />\n </g>\n );\n }\n}\n\nconst styles = () => ({\n grid: {\n stroke: color.primaryLight(),\n },\n});\n\nexport default withStyles(styles)(Grid);\n","import React from 'react';\nimport classNames from 'classnames';\nimport Check from '@material-ui/icons/Check';\nimport Close from '@material-ui/icons/Close';\n\nexport const CorrectnessIndicator = ({ scale, x, y, classes, r, correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n const cx = scale ? scale.x(x) : x;\n const cy = scale ? scale.y(y) : y;\n const isCorrect = correctness.value === 'correct';\n const iconClass = isCorrect ? classes.correctIcon : classes.incorrectIcon;\n\n // the icon is 16px + 2px padding + 1px border, so total size is 22px\n return (\n <foreignObject x={cx - 11} y={cy - 11} width={22} height={22}>\n {isCorrect ? (\n <Check className={classNames(classes.correctnessIcon, iconClass)} title={correctness.label} />\n ) : (\n <Close className={classNames(classes.correctnessIcon, iconClass)} title={correctness.label} />\n )}\n </foreignObject>\n );\n};\n\nexport const SmallCorrectPointIndicator = ({ scale, x, r, correctness, classes, correctData, label }) => {\n if (correctness && correctness.value === 'incorrect') {\n const correctVal = parseFloat(correctData.find((d) => d.label === label)?.value);\n if (isNaN(correctVal)) return null;\n const correctPxY = scale.y(correctVal);\n const yToRender = correctPxY - 7.5;\n const xToRender = scale.x(x) - 7.5;\n\n // small circle has 10px font + 2px padding + 1px border, so total size is 15px\n return (\n <foreignObject x={xToRender} y={yToRender} width={15} height={15}>\n <Check\n className={classNames(classes.correctnessIcon, classes.correctIcon, classes.smallIcon)}\n title={correctness.label}\n />\n </foreignObject>\n );\n }\n\n return null;\n};\n\nexport const TickCorrectnessIndicator = ({ classes, correctness, interactive }) => {\n if (!correctness || !interactive) return null;\n\n return correctness.value === 'correct' ? (\n <Check className={classNames(classes.correctnessIcon, classes.correctIcon)} title={correctness.label} />\n ) : (\n <Close className={classNames(classes.correctnessIcon, classes.incorrectIcon)} title={correctness.label} />\n );\n};\n","import { scaleBand, scalePoint } from '@vx/scale';\nimport { utils } from '@pie-lib/plot';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const dataToXBand = (scaleX, data, width, type) => {\n switch (type) {\n case 'bar':\n case 'dotPlot':\n case 'linePlot':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0.2,\n });\n\n case 'histogram':\n return scaleBand({\n rangeRound: [0, width],\n domain: data && data.map(bandKey),\n padding: 0,\n });\n\n case 'lineCross':\n case 'lineDot':\n return scalePoint({\n domain: data && data.map(bandKey),\n rangeRound: [0, width],\n });\n\n default:\n return scaleBand({\n range: [0, width],\n domain: data && data.map(bandKey),\n padding: 0,\n });\n }\n};\n\nexport const getTickValues = (prop = {}) => {\n const tickValues = [];\n let tickVal = prop.min;\n\n while (tickVal <= prop.max) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n return tickValues;\n};\n\nexport const getDomainAndRangeByChartType = (domain, range, chartType) => {\n let { step, labelStep, min, max } = range || {};\n\n if (!min) {\n min = 0;\n }\n\n if (!max || max < 0) {\n max = range.min + 1;\n }\n\n if (!step) {\n step = labelStep || 1;\n }\n if (!labelStep || (isNaN(labelStep) && step)) {\n labelStep = step || 1;\n }\n\n range.max = max;\n\n switch (chartType) {\n // if chart is dot plot or line plot, we should ignore step and make sure that min & max are integer values\n case 'dotPlot':\n case 'linePlot': {\n const intMin = Math.round(min);\n const intMax = Math.round(max);\n\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1,\n },\n range: {\n ...range,\n min: intMin,\n max: intMin === intMax ? intMin + 1 : intMax,\n labelStep,\n step: 1,\n },\n };\n }\n\n default:\n return {\n domain: {\n ...domain,\n step: 1,\n labelStep: 1,\n min: 0,\n max: 1,\n },\n range: {\n ...range,\n labelStep,\n step,\n },\n };\n }\n};\n\nexport const getGridLinesAndAxisByChartType = (range, chartType) => {\n switch (chartType) {\n case 'lineDot':\n case 'lineCross':\n return {\n verticalLines: undefined,\n horizontalLines: getTickValues(range),\n leftAxis: true,\n };\n\n case 'dotPlot':\n case 'linePlot':\n return {\n verticalLines: [],\n horizontalLines: [],\n leftAxis: false,\n };\n\n default:\n return {\n verticalLines: [],\n horizontalLines: getTickValues(range),\n leftAxis: true,\n };\n }\n};\n\nexport const getRotateAngle = (fontSize, height) => {\n if (height >= fontSize * 2) {\n return 25;\n }\n\n return 0;\n};\n\nexport const getTopPadding = (barWidth) => {\n if (barWidth < 30) {\n return 50;\n }\n\n if (barWidth < 40) {\n return 30;\n }\n\n if (barWidth < 60) {\n return 15;\n }\n\n return 0;\n};\n\n// This function calculates the transformation scale for SVG and the icon's vertical distance from its category\nexport const getScale = (width) => {\n let scale, deltay;\n\n if (width > 91) {\n scale = 1.3;\n deltay = -55;\n } else if (width > 45) {\n scale = 1.1;\n deltay = -45;\n } else if (width > 40) {\n scale = 0.5 + (width - 34) * 0.02;\n deltay = -25;\n } else if (width > 30) {\n scale = 0.5 + (width - 34) * 0.02;\n deltay = -20;\n } else {\n scale = 0.5 * Math.pow(0.98, 34 - width); // 0.98 is the reduction factor. Adjust to control scaling.\n deltay = -15;\n }\n\n return { scale, deltay };\n};\n\nexport const getAdjustedX = (width, scaleValue) => {\n const innerWidthOriginal = 57;\n const effectiveInnerWidth = innerWidthOriginal * scaleValue;\n return (width - effectiveInnerWidth) / 2;\n};\n","import { color } from '@pie-lib/render-ui';\n\nexport const disabled = (key = 'fill') => ({\n [key]: `var(--graph-disabled, ${color.disabled()})`,\n pointerEvents: 'none',\n border: 'none',\n});\n\nexport const correct = (key = 'fill') => ({\n [key]: color.correct(),\n pointerEvents: 'none',\n border: `solid 1px ${color.correct()}`,\n});\n\nexport const incorrect = (key = 'fill') => ({\n [key]: color.incorrect(),\n pointerEvents: 'none',\n border: `solid 1px ${color.incorrect()}`,\n});\n","import React, { useState, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { correct, incorrect, disabled } from './common/styles';\nimport { color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst styles = (theme) => ({\n input: {\n float: 'right',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: 'none',\n '&.correct': correct('color'),\n '&.incorrect': incorrect('color'),\n '&.disabled': {\n backgroundColor: 'transparent !important',\n },\n '&.error': { border: `2px solid ${theme.palette.error.main}` },\n },\n mathInput: {\n pointerEvents: 'auto',\n textAlign: 'center',\n fontSize: theme.typography.fontSize + 2,\n fontFamily: theme.typography.fontFamily,\n color: color.primaryDark(),\n paddingTop: theme.typography.fontSize / 2,\n },\n disabled: {\n ...disabled('color'),\n backgroundColor: 'transparent !important',\n },\n error: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n correct: {\n ...correct('color'),\n },\n incorrect: {\n ...incorrect('color'),\n },\n flexContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n});\n\nfunction isFractionFormat(label) {\n const trimmedLabel = label?.trim() || '';\n const fracRegex = new RegExp(/^[1-9]*[0-9]*\\s?[1-9][0-9]*\\/[1-9][0-9]*$/);\n return fracRegex.test(trimmedLabel);\n}\n\nfunction getLabelMathFormat(label) {\n const trimmedLabel = label?.trim() || '';\n let fraction;\n let mixedNr = '';\n let improperFraction = trimmedLabel.split(' ');\n if (improperFraction[1] && improperFraction[1].includes('/')) {\n fraction = improperFraction[1].split('/') || '';\n } else {\n fraction = trimmedLabel?.split('/') || '';\n }\n\n let formattedLLabel;\n if (isFractionFormat(label)) {\n if (improperFraction[0] && improperFraction[1]) {\n mixedNr = improperFraction[0];\n }\n formattedLLabel = `\\\\(${mixedNr}\\\\frac{${fraction[0]}}{${fraction[1]}}\\\\)`;\n return formattedLLabel;\n }\n return undefined;\n}\n\nexport const MarkLabel = (props) => {\n // eslint-disable-next-line no-unused-vars\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node), null);\n\n const {\n mark,\n classes,\n disabled,\n inputRef: externalInputRef,\n barWidth,\n rotate,\n correctness,\n autoFocus,\n error,\n isHiddenLabel,\n limitCharacters,\n correctnessIndicator,\n } = props;\n\n const [label, setLabel] = useState(mark.label);\n const [mathLabel, setMathLabel] = useState(getLabelMathFormat(mark.label));\n const [isEditing, setIsEditing] = useState(false);\n let root = useRef(null);\n\n const onChange = (e) => {\n if (limitCharacters && e.target.value && e.target.value.length > 20) {\n return;\n }\n\n setLabel(e.target.value);\n };\n\n const isMathRendering = () => {\n return isEditing === false && mathLabel !== undefined;\n };\n\n const onChangeProp = (e) => {\n setMathLabel(getLabelMathFormat(mark.label));\n setIsEditing(false);\n props.onChange(e.target.value);\n };\n let extraStyle = {};\n\n if (rotate) {\n extraStyle = {\n width: 'unset',\n textAlign: 'left',\n };\n }\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n useEffect(() => {\n renderMath(root);\n }, []);\n\n return (\n <div className={classes.flexContainer}>\n {correctnessIndicator}\n {isMathRendering() ? (\n <div\n ref={(r) => {\n root = r;\n externalInputRef(r);\n }}\n dangerouslySetInnerHTML={{ __html: getLabelMathFormat(label) }}\n className={classNames(classes.mathInput, {\n [classes.disabled]: disabled,\n [classes.error]: error,\n [classes.correct]: mark.editable && correctness?.label === 'correct',\n [classes.incorrect]: mark.editable && correctness?.label === 'incorrect',\n })}\n onClick={() => setIsEditing(true)}\n style={{\n minWidth: barWidth,\n position: 'fixed',\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n ></div>\n ) : (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n autoFocus={isEditing || autoFocus}\n disabled={disabled}\n inputClassName={classNames(\n classes.input,\n correctness && mark.editable ? correctness.label : null,\n disabled && 'disabled',\n error && 'error',\n )}\n inputStyle={{\n minWidth: barWidth,\n textAlign: 'center',\n background: 'transparent',\n boxSizing: 'border-box',\n paddingLeft: 0,\n paddingRight: 0,\n ...extraStyle,\n }}\n value={label}\n style={{\n position: 'fixed',\n pointerEvents: 'auto',\n top: 0,\n left: 0,\n minWidth: barWidth,\n transformOrigin: 'left',\n transform: `rotate(${rotate}deg)`,\n visibility: isHiddenLabel ? 'hidden' : 'unset',\n marginTop: correctnessIndicator ? '24px' : '0',\n }}\n onChange={onChange}\n onBlur={onChangeProp}\n />\n )}\n </div>\n );\n};\n\nMarkLabel.propTypes = {\n autoFocus: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.any,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n barWidth: PropTypes.number,\n rotate: PropTypes.number,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n isHiddenLabel: PropTypes.bool,\n limitCharacters: PropTypes.bool,\n correctnessIndicator: PropTypes.node,\n};\n\nexport default withStyles(styles)(MarkLabel);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { AxisLeft, AxisBottom } from '@vx/axis';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { TickCorrectnessIndicator } from './common/correctness-indicators';\nimport { bandKey, getTickValues, getRotateAngle } from './utils';\nimport MarkLabel from './mark-label';\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 classes,\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 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 <text className={classes.error} y={y + 23} height={6} textAnchor=\"start\">\n {distinctMessages}\n </text>\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 <Checkbox\n className={classes.customColor}\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 <Checkbox\n className={classes.customColor}\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 classes: PropTypes.object,\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 classes: PropTypes.object.isRequired,\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 this.setState({\n height: Math.floor(boundingClientRect.height),\n width: Math.floor(boundingClientRect.width),\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 classes,\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 { axis, axisLine, tick } = classes;\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 classes,\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 <React.Fragment>\n {leftAxis && (\n <AxisLeft\n scale={scale.y}\n className={axis}\n axisLineClassName={axisLine}\n tickLength={10}\n tickClassName={tick}\n tickFormat={(value) => value}\n tickValues={rowTickValues}\n tickLabelProps={getTickLabelProps}\n />\n )}\n <AxisBottom\n axisLineClassName={axisLine}\n tickClassName={tick}\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 </React.Fragment>\n );\n }\n}\n\nconst ChartAxes = withStyles(\n (theme) => ({\n axis: {\n stroke: color.primaryDark(),\n strokeWidth: 2,\n },\n axisLine: {\n stroke: color.visualElementsColors.AXIS_LINE_COLOR,\n strokeWidth: 2,\n },\n tick: {\n '& > line': {\n stroke: color.primaryDark(),\n strokeWidth: 2,\n },\n fontFamily: theme.typography.body1.fontFamily,\n fontSize: theme.typography.fontSize,\n textAnchor: 'middle',\n },\n dottedLine: {\n stroke: color.primaryLight(),\n opacity: 0.2,\n },\n error: {\n fontSize: theme.typography.fontSize - 2,\n fill: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n correctnessIcon: {\n borderRadius: theme.spacing.unit * 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 incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n tickContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n }),\n { withTheme: true },\n)(RawChartAxes);\n\nexport default ChartAxes;\n","import React from 'react';\nimport { getAdjustedX, getScale } from '../utils';\n\nconst DragIcon = ({ width, scaleValue, color, classes }) => (\n <svg\n x={getAdjustedX(width, scaleValue)}\n y={getScale(width)?.deltay}\n color={color}\n width={width}\n height={width}\n overflow=\"visible\"\n viewBox={`0 0 ${width} ${width}`}\n className={classes.svgOverflowVisible}\n >\n <g xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" stroke=\"currentColor\" transform={`scale(${scaleValue})`}>\n <circle cx=\"28.5\" cy=\"23.5\" r=\"22\" fill=\"white\" stroke=\"currentColor\" />\n <path\n d=\"M33.5 21.25H23.4609C22.7578 21.25 22.4062 20.4297 22.9141 19.9219L27.9141 14.9219C28.2266 14.6094 28.7344 14.6094 29.0469 14.9219L34.0469 19.9219C34.5547 20.4297 34.2031 21.25 33.5 21.25Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M23.5 25.75L33.5391 25.75C34.2422 25.75 34.5938 26.5703 34.0859 27.0781L29.0859 32.0781C28.7734 32.3906 28.2656 32.3906 27.9531 32.0781L22.9531 27.0781C22.4453 26.5703 22.7969 25.75 23.5 25.75Z\"\n fill=\"currentColor\"\n />\n </g>\n </svg>\n);\n\nexport default DragIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport Check from '@material-ui/icons/Check';\nimport Close from '@material-ui/icons/Close';\n\nimport { gridDraggable, utils, types } from '@pie-lib/plot';\nimport { color as enumColor } from '@pie-lib/render-ui';\nimport { correct, incorrect, disabled } from './styles';\nimport { getScale } from '../utils';\nimport DragIcon from './drag-icon';\n\nconst RawDragHandle = ({\n x,\n y,\n width,\n graphProps,\n classes,\n className,\n interactive,\n defineChart,\n isHovered,\n correctness,\n color,\n isPlot,\n ...rest\n}) => {\n const { scale } = graphProps;\n const scaleValue = getScale(width)?.scale;\n\n return (\n <svg x={x} y={scale.y(y) - 10} width={width} overflow=\"visible\" className={classes.svgOverflowVisible}>\n {isHovered && !correctness && interactive && (\n <DragIcon width={width} scaleValue={scaleValue} color={enumColor.defaults.BORDER_GRAY} classes={classes} />\n )}\n {interactive && !correctness && (\n <ellipse\n cx={width / 2}\n cy={10}\n rx={width / 2}\n // the drag icon has a 22px fixed r value, so the ry value is 3 times that in order to cover all the area\n ry={66}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n )}\n\n <defs>\n <filter id=\"bottomShadow\" x=\"0\" y=\"0\" width=\"140%\" height=\"140%\">\n <feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"3\" />\n <feOffset dx=\"0\" dy=\"5\" result=\"offsetblur\" />\n <feFlood floodColor=\"#00000033\" />\n <feComposite in2=\"offsetblur\" operator=\"in\" />\n <feMerge>\n <feMergeNode />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>\n </defs>\n\n {correctness && interactive && !isPlot && (\n <foreignObject x={width / 2 - 14} y={0} width={40} height={40}>\n {correctness.value === 'correct' ? (\n <Check className={classNames(classes.correctnessIcon, classes.correctIcon)} title={correctness.label} />\n ) : (\n <Close className={classNames(classes.correctnessIcon, classes.incorrectIcon)} title={correctness.label} />\n )}\n </foreignObject>\n )}\n </svg>\n );\n};\n\nRawDragHandle.propTypes = {\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n width: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n interactive: PropTypes.bool,\n isHovered: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n color: PropTypes.string,\n};\n\nexport const DragHandle = withStyles((theme) => ({\n handle: {\n height: '10px',\n fill: 'transparent',\n transition: 'fill 200ms linear, height 200ms linear',\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n '&.non-interactive': disabled('fill'),\n },\n transparentHandle: {\n fill: 'transparent',\n clipPath: 'polygon(50% 0%, 100% 0%, 100% 50%, 0% 50%, 0% 0%)',\n },\n handleContainer: {\n height: 30,\n '&:hover': {\n '& .handle': {\n fill: enumColor.secondaryDark(),\n height: '16px',\n },\n },\n '&.non-interactive': disabled('fill'),\n '&.incorrect': incorrect('fill'),\n '&.correct': correct('fill'),\n },\n svgOverflowVisible: {\n overflow: 'visible !important',\n },\n correctIcon: {\n backgroundColor: enumColor.correct(),\n },\n incorrectIcon: {\n backgroundColor: enumColor.incorrectWithIcon(),\n },\n correctnessIcon: {\n borderRadius: theme.spacing.unit * 2,\n color: enumColor.defaults.WHITE,\n fontSize: '16px',\n padding: '2px',\n border: `4px solid ${enumColor.defaults.WHITE}`,\n width: '16px',\n height: '16px',\n boxSizing: 'unset', // to override the default border-box in IBX\n },\n}))(RawDragHandle);\n\nexport const D = gridDraggable({\n axis: 'y',\n fromDelta: (props, delta) => {\n //TODO: should be in grid-draggable, if axis is y delta.x should always be 0.\n delta.x = 0;\n const newPoint = utils.point(props).add(utils.point(delta));\n\n return newPoint.y;\n },\n bounds: (props, { domain, range }) => {\n const area = { left: 0, top: props.y, bottom: props.y, right: 0 };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n return { x: props.x, y: props.y };\n },\n})(DragHandle);\n\nexport default D;\n","import React from 'react';\n\nexport const CorrectCheckIcon = ({ dashColor }) => (\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"white\" stroke={dashColor || '#7E8494'} strokeWidth=\"2\" strokeDasharray=\"5 5\" />\n <mask id=\"path-2-outside-1_3089_3799\" maskUnits=\"userSpaceOnUse\" x=\"2\" y=\"3\" width=\"19\" height=\"18\" fill=\"black\">\n <rect fill=\"white\" x=\"2\" y=\"3\" width=\"19\" height=\"18\" />\n <path d=\"M12 20C9.125 20 6.5 18.5 5.0625 16C3.625 13.5312 3.625 10.5 5.0625 8C6.5 5.53125 9.125 4 12 4C14.8438 4 17.4688 5.53125 18.9062 8C20.3438 10.5 20.3438 13.5312 18.9062 16C17.4688 18.5 14.8438 20 12 20ZM15.5312 10.5312H15.5C15.8125 10.25 15.8125 9.78125 15.5 9.46875C15.2188 9.1875 14.75 9.1875 14.4688 9.46875L11 12.9688L9.53125 11.5C9.21875 11.1875 8.75 11.1875 8.46875 11.5C8.15625 11.7812 8.15625 12.25 8.46875 12.5312L10.4688 14.5312C10.75 14.8438 11.2188 14.8438 11.5312 14.5312L15.5312 10.5312Z\" />\n </mask>\n <path\n d=\"M12 20C9.125 20 6.5 18.5 5.0625 16C3.625 13.5312 3.625 10.5 5.0625 8C6.5 5.53125 9.125 4 12 4C14.8438 4 17.4688 5.53125 18.9062 8C20.3438 10.5 20.3438 13.5312 18.9062 16C17.4688 18.5 14.8438 20 12 20ZM15.5312 10.5312H15.5C15.8125 10.25 15.8125 9.78125 15.5 9.46875C15.2188 9.1875 14.75 9.1875 14.4688 9.46875L11 12.9688L9.53125 11.5C9.21875 11.1875 8.75 11.1875 8.46875 11.5C8.15625 11.7812 8.15625 12.25 8.46875 12.5312L10.4688 14.5312C10.75 14.8438 11.2188 14.8438 11.5312 14.5312L15.5312 10.5312Z\"\n fill=\"#0EA449\"\n />\n <path\n d=\"M5.0625 16L5.92942 15.5015L5.92668 15.4968L5.0625 16ZM5.0625 8L4.19831 7.4968L4.19559 7.50153L5.0625 8ZM18.9062 8L19.7732 7.50152L19.7704 7.49681L18.9062 8ZM18.9062 16L18.0421 15.4968L18.0393 15.5015L18.9062 16ZM15.5312 10.5312L16.2384 11.2384L17.9455 9.53125H15.5312V10.5312ZM15.5 10.5312L14.831 9.78796L12.894 11.5312H15.5V10.5312ZM14.4688 9.46875L13.7616 8.76164L13.7585 8.76482L14.4688 9.46875ZM11 12.9688L10.2929 13.6759L11.0032 14.3861L11.7103 13.6727L11 12.9688ZM8.46875 11.5L9.13771 12.2433L9.17684 12.2081L9.21204 12.169L8.46875 11.5ZM8.46875 12.5312L9.17586 11.8241L9.15726 11.8055L9.13771 11.788L8.46875 12.5312ZM10.4688 14.5312L11.212 13.8623L11.1945 13.8427L11.1759 13.8241L10.4688 14.5312ZM12 20V19C9.479 19 7.18657 17.6879 5.92941 15.5015L5.0625 16L4.19559 16.4985C5.81343 19.3121 8.771 21 12 21V20ZM5.0625 16L5.92668 15.4968C4.6714 13.341 4.66824 10.6918 5.92941 8.49847L5.0625 8L4.19559 7.50153C2.58176 10.3082 2.5786 13.7215 4.19832 16.5032L5.0625 16ZM5.0625 8L5.92668 8.50319C7.18712 6.33851 9.48502 5 12 5V4V3C8.76498 3 5.81288 4.72399 4.19832 7.49681L5.0625 8ZM12 4V5C14.4816 5 16.7805 6.33661 18.0421 8.50319L18.9062 8L19.7704 7.49681C18.157 4.72589 15.2059 3 12 3V4ZM18.9062 8L18.0393 8.49847C19.3005 10.6918 19.2973 13.341 18.0421 15.4968L18.9062 16L19.7704 16.5032C21.3902 13.7215 21.387 10.3082 19.7732 7.50153L18.9062 8ZM18.9062 16L18.0393 15.5015C16.7811 17.6898 14.4876 19 12 19V20V21C15.1999 21 18.1564 19.3102 19.7732 16.4985L18.9062 16ZM15.5312 10.5312V9.53125H15.5V10.5312V11.5312H15.5312V10.5312ZM15.5 10.5312L16.169 11.2745C16.9447 10.5764 16.8883 9.44281 16.2071 8.76164L15.5 9.46875L14.7929 10.1759C14.7696 10.1525 14.7344 10.0966 14.7344 10.0117C14.7344 9.92377 14.7735 9.83972 14.831 9.78796L15.5 10.5312ZM15.5 9.46875L16.2071 8.76164C15.5353 8.08987 14.4334 8.08987 13.7616 8.76164L14.4688 9.46875L15.1759 10.1759C15.1167 10.235 15.0442 10.2578 14.9844 10.2578C14.9245 10.2578 14.8521 10.235 14.7929 10.1759L15.5 9.46875ZM14.4688 9.46875L13.7585 8.76482L10.2897 12.2648L11 12.9688L11.7103 13.6727L15.179 10.1727L14.4688 9.46875ZM11 12.9688L11.7071 12.2616L10.2384 10.7929L9.53125 11.5L8.82414 12.2071L10.2929 13.6759L11 12.9688ZM9.53125 11.5L10.2384 10.7929C9.55719 10.1117 8.42362 10.0553 7.72546 10.831L8.46875 11.5L9.21204 12.169C9.16028 12.2265 9.07623 12.2656 8.98828 12.2656C8.90344 12.2656 8.84748 12.2304 8.82414 12.2071L9.53125 11.5ZM8.46875 11.5L7.79979 10.7567C7.04591 11.4352 7.04591 12.5961 7.79979 13.2745L8.46875 12.5312L9.13771 11.788C9.19301 11.8377 9.23438 11.9208 9.23438 12.0156C9.23438 12.1105 9.19301 12.1935 9.13771 12.2433L8.46875 11.5ZM8.46875 12.5312L7.76164 13.2384L9.76164 15.2384L10.4688 14.5312L11.1759 13.8241L9.17586 11.8241L8.46875 12.5312ZM10.4688 14.5312L9.72546 15.2002C10.4236 15.976 11.5572 15.9195 12.2384 15.2384L11.5312 14.5312L10.8241 13.8241C10.8475 13.8008 10.9034 13.7656 10.9883 13.7656C11.0762 13.7656 11.1603 13.8048 11.212 13.8623L10.4688 14.5312ZM11.5312 14.5312L12.2384 15.2384L16.2384 11.2384L15.5312 10.5312L14.8241 9.82414L10.8241 13.8241L11.5312 14.5312Z\"\n fill=\"white\"\n mask=\"url(#path-2-outside-1_3089_3799)\"\n />\n </svg>\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Group } from '@vx/group';\nimport { Bar as VxBar } from '@vx/shape';\nimport { withStyles } from '@material-ui/core/styles/index';\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\nexport class RawBar extends React.Component {\n static propTypes = {\n barColor: PropTypes.string,\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\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 classes,\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 <VxBar\n x={barX}\n y={scale.y(yy)}\n width={barWidth}\n height={barHeight}\n className={classes.bar}\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 <VxBar\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 className={classes.bar}\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 = withStyles((theme) => ({\n bar: {\n fill: color.defaults.TERTIARY,\n },\n correctIcon: {\n backgroundColor: color.correct(),\n borderRadius: theme.spacing.unit * 2,\n color: color.defaults.WHITE,\n fontSize: '10px',\n width: '10px',\n height: '10px',\n padding: '2px',\n border: `1px solid ${color.defaults.WHITE}`,\n boxSizing: 'unset', // to override the default border-box in IBX\n },\n}))(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","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Bars from './common/bars';\n\nexport class Bar extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'bar');\n\n return <Bars {...props} xBand={xBand} />;\n }\n}\n\nexport default () => ({\n type: 'bar',\n Component: Bar,\n name: 'Bar',\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Bars from './common/bars';\n\nexport class Histogram extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'histogram');\n\n return <Bars {...props} xBand={xBand} histogram={true} />;\n }\n}\n\nexport default () => ({\n type: 'histogram',\n Component: Histogram,\n name: 'Histogram',\n});\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles/index';\n\nimport { gridDraggable, utils, types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { disabled } from '../../common/styles';\n\nclass RawDragHandle extends React.Component {\n static propTypes = {\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n width: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n interactive: PropTypes.bool,\n CustomDraggableComponent: PropTypes.func,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n };\n\n render() {\n const {\n x,\n y,\n graphProps,\n classes,\n className,\n interactive,\n CustomDraggableComponent,\n correctness,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n\n return (\n <CustomDraggableComponent\n scale={scale}\n x={x}\n y={y}\n classes={classes}\n className={classNames(className, !interactive && 'non-interactive')}\n correctness={correctness}\n interactive={interactive}\n {...rest}\n />\n );\n }\n}\n\nexport const DragHandle = withStyles((theme) => ({\n handle: {\n transition: 'fill 200ms linear, height 200ms linear',\n '&.non-interactive': disabled('fill'),\n },\n transparentHandle: {\n height: '20px',\n fill: 'transparent',\n stroke: 'transparent',\n },\n line: {\n stroke: color.defaults.TEXT,\n transition: 'fill 200ms linear, height 200ms linear',\n '&.non-interactive': disabled('stroke'),\n },\n disabledPoint: {\n fill: color.defaults.BLACK + ' !important',\n stroke: color.defaults.BLACK + ' !important',\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n correctnessIcon: {\n borderRadius: theme.spacing.unit * 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 stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n },\n smallIcon: {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}))(RawDragHandle);\n\nconst DraggableHandle = gridDraggable({\n axis: 'y',\n fromDelta: (props, delta) => {\n //TODO: should be in grid-draggable, if axis is y delta.x should always be 0.\n delta.x = 0;\n const newPoint = utils.point(props).add(utils.point(delta));\n\n return newPoint.y;\n },\n bounds: (props, { domain, range }) => {\n const area = { left: 0, top: props.y, bottom: props.y, right: 0 };\n\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n return { x: props.x, y: props.y };\n },\n})(DragHandle);\n\nexport default DraggableHandle;\n","import React from 'react';\nimport { Group } from '@vx/group';\nimport { LinePath } from '@vx/shape';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport DraggableHandle, { DragHandle } from './drag-handle';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport isEqual from 'lodash/isEqual';\nimport { color } from '@pie-lib/render-ui';\n\nconst getData = (data, domain) => {\n const { max } = domain || {};\n const length = data.length;\n\n if (!max || !length) {\n return [];\n }\n\n return data.map((el, i) => ({\n ...el,\n x: length > 1 ? i * (max / (length - 1)) : 0.5,\n y: el.value,\n }));\n};\n\nexport class RawLine extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n }),\n ),\n CustomDraggableComponent: PropTypes.func,\n };\n\n static defaultProps = {\n index: 0,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n line: getData(props.data, props.graphProps.domain),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!isEqual(this.props.data, nextProps.data)) {\n this.setState({\n line: getData(nextProps.data, nextProps.graphProps.domain),\n });\n }\n }\n\n setDragValue = (line) => this.setState({ line });\n\n dragStop = (index) => {\n const { onChange } = this.props;\n this.setState({ dragging: false }, () => {\n onChange(index, this.state.line[index]);\n });\n };\n\n dragValue = (index, existing, next) => {\n const newLine = [...this.state.line];\n newLine[index].dragValue = next;\n this.setDragValue(newLine);\n };\n\n render() {\n const { graphProps, data, classes, CustomDraggableComponent, defineChart, correctData } = this.props;\n const { line: lineState, dragging } = this.state;\n const { scale } = graphProps;\n const lineToUse = dragging ? lineState : getData(data, graphProps.domain);\n\n return (\n <React.Fragment>\n <LinePath\n data={lineToUse}\n x={(d) => scale.x(d.x)}\n y={(d) => scale.y(d.dragValue !== undefined ? d.dragValue : d.y)}\n className={classes.line}\n />\n {lineToUse &&\n lineToUse.map((point, i) => {\n const r = 6;\n const enableDraggable = defineChart || point.interactive;\n const Component = enableDraggable ? DraggableHandle : DragHandle;\n\n return (\n <Component\n key={`point-${point.x}-${i}`}\n x={point.x}\n y={point.dragValue !== undefined ? point.dragValue : point.y}\n interactive={enableDraggable}\n r={r}\n onDragStart={() => this.setState({ dragging: true })}\n onDrag={(v) => this.dragValue(i, point.dragValue !== undefined ? point.dragValue : point.y, v)}\n onDragStop={() => this.dragStop(i)}\n graphProps={graphProps}\n CustomDraggableComponent={CustomDraggableComponent}\n correctness={point.correctness}\n correctData={correctData}\n label={point.label}\n />\n );\n })}\n </React.Fragment>\n );\n }\n}\n\nconst StyledLine = withStyles(() => ({\n line: {\n fill: 'transparent',\n stroke: color.defaults.TERTIARY,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n },\n}))(RawLine);\n\nexport class Line extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n changeLine = (index, category) => {\n const { onChange } = this.props;\n const newLine = [...this.props.data];\n const { dragValue, value } = category;\n\n newLine[index].value = dragValue >= 0 ? dragValue : value;\n\n onChange(newLine);\n };\n\n render() {\n const props = this.props;\n\n return (\n <Group>\n <StyledLine {...props} onChange={this.changeLine} />\n </Group>\n );\n }\n}\n\nexport default Line;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { dataToXBand } from '../utils';\nimport RawLine from './common/line';\nimport { CorrectnessIndicator, SmallCorrectPointIndicator } from '../common/correctness-indicators';\n\nconst DraggableComponent = ({\n scale,\n x,\n y,\n className,\n classes,\n r,\n correctness,\n interactive,\n correctData,\n label,\n ...rest\n}) => {\n const [isHovered, setIsHovered] = React.useState(false);\n const allowRolloverEvent = !correctness && interactive;\n\n return (\n <g onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)}>\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r * 3}\n className={classNames(classes.transparentHandle, className)}\n pointerEvents={correctness ? 'none' : ''}\n {...rest}\n />\n <circle\n cx={scale.x(x)}\n cy={scale.y(y)}\n r={r}\n className={classNames(className, classes.handle, correctness && !interactive && classes.disabledPoint)}\n {...rest}\n />\n {/* show correctness indicators */}\n <CorrectnessIndicator\n scale={scale}\n x={x}\n y={y}\n classes={classes}\n r={r}\n correctness={correctness}\n interactive={interactive}\n />\n\n {/* show correct point if answer was incorrect */}\n <SmallCorrectPointIndicator\n scale={scale}\n x={x}\n r={r}\n correctness={correctness}\n classes={classes}\n correctData={correctData}\n label={label}\n />\n\n {/* show rollover rectangle */}\n {isHovered && allowRolloverEvent && (\n <rect\n x={scale.x(x) - r * 2}\n y={scale.y(y) - r * 2}\n width={r * 4}\n height={r * 4}\n stroke={color.defaults.BORDER_GRAY}\n strokeWidth=\"1\"\n fill=\"none\"\n />\n )}\n </g>\n );\n};\n\nDraggableComponent.propTypes = {\n scale: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n};\n\nexport class LineDot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'lineDot');\n\n return <RawLine {...props} xBand={xBand} CustomDraggableComponent={DraggableComponent} />;\n }\n}\n\nexport default () => ({\n type: 'lineDot',\n Component: LineDot,\n name: 'Line Dot',\n});\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\nimport classNames from 'classnames';\n\nimport { color } from '@pie-lib/render-ui';\nimport { dataToXBand } from '../utils';\nimport { types } from '@pie-lib/plot';\nimport RawLine from './common/line';\nimport { CorrectnessIndicator, SmallCorrectPointIndicator } from '../common/correctness-indicators';\n\nconst DraggableComponent = (props) => {\n const { classes = {}, className, scale, x, y, r, correctness, interactive, correctData, label, ...rest } = props;\n const [hover, setHover] = useState(false);\n\n const squareSize = r * 4;\n const squareHalf = squareSize / 2;\n const cx = scale.x(x);\n const cy = scale.y(y);\n\n return (\n <Group className={classNames(className, classes.line, correctness && !interactive && classes.disabledPoint)}>\n <LinePath\n data={[\n { x: scale.x(x) - r, y: scale.y(y) + r },\n { x: scale.x(x) + r, y: scale.y(y) - r },\n ]}\n key={`point-${x}-${y}-1`}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={5}\n style={{ pointerEvents: 'none' }}\n />\n <LinePath\n data={[\n { x: scale.x(x) - r, y: scale.y(y) - r },\n { x: scale.x(x) + r, y: scale.y(y) + r },\n ]}\n key={`point-${x}-${y}-2`}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={5}\n style={{ pointerEvents: 'none' }}\n />\n {hover && (\n <rect\n x={cx - squareHalf}\n y={cy - squareHalf}\n width={squareSize}\n height={squareSize}\n stroke={color.defaults.BORDER_GRAY}\n fill=\"none\"\n strokeWidth={2}\n pointerEvents=\"none\"\n />\n )}\n <circle\n cx={cx}\n cy={cy}\n r={r * 2}\n className={classNames(classes.transparentHandle)}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n {...rest}\n />\n {/* show correctness indicators */}\n <CorrectnessIndicator\n scale={scale}\n x={x}\n y={y}\n classes={classes}\n r={r}\n correctness={correctness}\n interactive={interactive}\n />\n {/* show correct point if answer was incorrect */}\n <SmallCorrectPointIndicator\n scale={scale}\n x={x}\n r={r}\n correctness={correctness}\n classes={classes}\n correctData={correctData}\n label={label}\n />\n </Group>\n );\n};\n\nDraggableComponent.propTypes = {\n scale: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n};\n\nexport class LineCross extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'lineCross');\n\n return <RawLine {...props} xBand={xBand} CustomDraggableComponent={DraggableComponent} />;\n }\n}\n\nexport default () => ({\n type: 'lineCross',\n Component: LineCross,\n name: 'Line Cross',\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Check from '@material-ui/icons/Check';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport { Group } from '@vx/group';\nimport debug from 'debug';\n\nimport { types } from '@pie-lib/plot';\nimport DraggableHandle, { DragHandle } from '../../common/drag-handle';\nimport { color } from '@pie-lib/render-ui';\nimport { bandKey } from '../../utils';\nimport { correct, incorrect } from '../../common/styles';\n\nconst log = debug('pie-lib:chart:bars');\nconst ICON_SIZE = 16; // 10px icon + 2px padding on all sides + 1px border\n\nexport class RawPlot extends React.Component {\n static propTypes = {\n onChangeCategory: PropTypes.func,\n value: PropTypes.number,\n classes: PropTypes.object,\n label: PropTypes.string,\n xBand: PropTypes.func,\n index: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n CustomBarElement: PropTypes.func,\n interactive: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dragValue: undefined,\n isHovered: false,\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 renderCorrectnessIcon = (barX, barWidth, correctVal, correctness, classes, scale) => (\n <foreignObject\n x={barX + barWidth / 2 - ICON_SIZE / 2}\n y={scale.y(correctVal) + ICON_SIZE}\n width={ICON_SIZE}\n height={ICON_SIZE}\n >\n <Check\n className={classNames(classes.correctnessIcon, classes.correctIcon, classes.smallIcon)}\n title={correctness.label}\n />\n </foreignObject>\n );\n\n render() {\n const {\n graphProps,\n value,\n label,\n classes,\n xBand,\n index,\n CustomBarElement,\n interactive,\n correctness,\n defineChart,\n correctData,\n } = this.props;\n\n const { scale, range, size } = graphProps;\n const { max } = range || {};\n const { dragValue, isHovered } = this.state;\n\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\n log('label:', label, 'barX:', barX, 'v: ', v, 'barHeight:', barHeight, 'barWidth: ', barWidth);\n\n const values = [];\n\n for (let i = 0; i < v; i++) {\n values.push(i);\n }\n\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n const Component = interactive ? DraggableHandle : DragHandle;\n const allowRolloverEvent = interactive && !correctness;\n\n return (\n <React.Fragment>\n <g\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onTouchStart={this.handleMouseEnter}\n onTouchEnd={this.handleMouseLeave}\n >\n {isHovered && allowRolloverEvent && (\n <rect\n x={barX}\n y={scale.y(v)}\n width={barWidth}\n height={values?.length ? pointHeight * values.length : 0}\n stroke={color.defaults.BORDER_GRAY}\n strokeWidth={'4px'}\n fill={'transparent'}\n />\n )}\n {values.map((index) =>\n CustomBarElement({\n index,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n }),\n )}\n {correctness &&\n correctness.value === 'incorrect' &&\n (() => {\n const correctVal = parseFloat(correctData[index] && correctData[index].value);\n if (isNaN(correctVal)) return null;\n const selectedVal = v;\n if (selectedVal > correctVal) {\n // selected is higher than correct: overlay the correct last segment\n const overlayValues = [];\n for (let i = 0; i < correctVal; i++) {\n overlayValues.push(i);\n }\n const lastIndexOfOverlay = overlayValues.length - 1;\n const lastOverlayValue = overlayValues[lastIndexOfOverlay];\n const barX = xBand(bandKey({ label }, index));\n const barWidth = xBand.bandwidth();\n const pointHeight = size.height / max;\n const pointDiameter = (pointHeight > barWidth ? barWidth : pointHeight) * 0.8;\n return (\n <>\n <CustomBarElement\n index={lastOverlayValue}\n pointDiameter={pointDiameter + 10} // increase point diameter for dotted line\n barX={barX}\n barWidth={barWidth}\n pointHeight={pointHeight}\n label={label}\n value={value}\n classes={classes}\n scale={scale}\n dottedOverline={true}\n />\n {this.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, classes, scale)}\n </>\n );\n }\n // selected is lower than correct, render missing segment below the correct bar\n const valuesToRender = [];\n for (let i = selectedVal; i < correctVal; i++) {\n valuesToRender.push(i);\n }\n return (\n <>\n {valuesToRender.map((idx) =>\n CustomBarElement({\n index: idx,\n pointDiameter,\n barX,\n barWidth,\n pointHeight,\n label,\n value,\n classes,\n scale,\n dottedOverline: true,\n }),\n )}\n {this.renderCorrectnessIcon(barX, barWidth, correctVal, correctness, classes, scale)}\n </>\n );\n })()}\n <Component\n x={barX}\n y={v}\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 defineChart={defineChart}\n color={color.primaryDark()}\n isPlot\n />\n </g>\n </React.Fragment>\n );\n }\n}\n\nconst Bar = withStyles((theme) => ({\n dot: {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n dotColor: {\n fill: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n },\n line: {\n stroke: color.visualElementsColors.PLOT_FILL_COLOR,\n '&.correct': correct('stroke'),\n '&.incorrect': incorrect('stroke'),\n },\n correctIcon: {\n backgroundColor: color.correct(),\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n },\n correctnessIcon: {\n borderRadius: theme.spacing.unit * 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 stroke: 'initial',\n boxSizing: 'unset', // to override the default border-box in IBX\n },\n smallIcon: {\n fontSize: '10px',\n width: '10px',\n height: '10px',\n },\n}))(RawPlot);\n\nexport class Plot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChangeCategory: PropTypes.func,\n xBand: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n defineChart: PropTypes.bool,\n CustomBarElement: PropTypes.func,\n };\n\n render() {\n const { data, graphProps, xBand, CustomBarElement, onChangeCategory, defineChart, correctData } = this.props;\n\n return (\n <Group>\n {(data || []).map((d, index) => (\n <Bar\n value={d.value}\n label={d.label}\n interactive={defineChart || d.interactive}\n defineChart={defineChart}\n xBand={xBand}\n index={index}\n key={`bar-${d.label}-${d.value}-${index}`}\n onChangeCategory={(category) => onChangeCategory(index, category)}\n graphProps={graphProps}\n CustomBarElement={CustomBarElement}\n correctness={d.correctness}\n correctData={correctData}\n />\n ))}\n </Group>\n );\n }\n}\n\nexport default Plot;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Circle } from '@vx/shape';\n\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport Plot from './common/plot';\nimport { color } from '@pie-lib/render-ui';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale, dottedOverline } = props;\n\n const r = pointDiameter / 2;\n const cx = barX + (barWidth - pointDiameter) / 2 + r;\n const cy = scale.y(index) - (pointHeight - pointDiameter) / 2 - r;\n const EXTRA_PADDING = 2;\n\n return dottedOverline ? (\n <Circle\n key={`point-${label}-${value}-${index}`}\n cx={cx}\n cy={cy}\n r={r + EXTRA_PADDING}\n strokeDasharray=\"4,4\"\n stroke={color.defaults.BORDER_GRAY}\n fill=\"none\"\n />\n ) : (\n <Circle key={`point-${label}-${value}-${index}`} className={classes.dot} cx={cx} cy={cy} r={r} />\n );\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n dottedOverline: PropTypes.bool,\n};\n\nexport class DotPlot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'dotPlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'dotPlot',\n Component: DotPlot,\n name: 'Dot Plot',\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { LinePath } from '@vx/shape';\nimport { Group } from '@vx/group';\n\nimport { types } from '@pie-lib/plot';\nimport { dataToXBand } from '../utils';\nimport { color } from '@pie-lib/render-ui';\nimport Plot from './common/plot';\n\nconst CustomBarElement = (props) => {\n const { index, pointDiameter, barX, barWidth, pointHeight, label, value, classes, scale, dottedOverline } = props;\n\n const x = barX + (barWidth - pointDiameter) / 2;\n const y = scale.y(index) - (pointHeight - pointDiameter) / 2;\n const EXTRA_PADDING = 2;\n\n return dottedOverline ? (\n <rect\n key={`point-${label}-${value}-${index}`}\n x={x - EXTRA_PADDING}\n y={y - pointDiameter - EXTRA_PADDING}\n width={pointDiameter + EXTRA_PADDING * 2}\n height={pointDiameter + EXTRA_PADDING * 2}\n strokeDasharray=\"4,4\"\n stroke={color.defaults.BORDER_GRAY}\n fill=\"none\"\n />\n ) : (\n <Group>\n <LinePath\n data={[\n { x, y },\n { x: x + pointDiameter, y: y - pointDiameter },\n ]}\n key={`point-${label}-${value}-${index}-1`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n <LinePath\n data={[\n { x, y: y - pointDiameter },\n { x: x + pointDiameter, y },\n ]}\n key={`point-${label}-${value}-${index}-2`}\n className={classes.line}\n x={(d) => d.x}\n y={(d) => d.y}\n strokeWidth={pointDiameter / 5}\n />\n </Group>\n );\n};\n\nCustomBarElement.propTypes = {\n index: PropTypes.number,\n pointDiameter: PropTypes.number,\n barX: PropTypes.number,\n barWidth: PropTypes.number,\n pointHeight: PropTypes.number,\n value: PropTypes.number,\n label: PropTypes.string,\n classes: PropTypes.object,\n scale: PropTypes.object,\n};\n\nexport class LinePlot extends React.Component {\n static propTypes = {\n data: PropTypes.array,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const props = this.props;\n const { data, graphProps } = props;\n const { scale = {}, size = {} } = graphProps || {};\n const xBand = dataToXBand(scale.x, data, size.width, 'linePlot');\n\n return <Plot {...props} xBand={xBand} CustomBarElement={CustomBarElement} />;\n }\n}\n\nexport default () => ({\n type: 'linePlot',\n Component: LinePlot,\n name: 'Line Plot',\n});\n","import Bar from './bars/bar';\nimport Histogram from './bars/histogram';\nimport LineDot from './line/line-dot';\nimport LineCross from './line/line-cross';\nimport DotPlot from './plot/dot';\nimport LinePlot from './plot/line';\n\nexport default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Popover from '@material-ui/core/Popover';\nimport Paper from '@material-ui/core/Paper';\n\nimport { color } from '@pie-lib/render-ui';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nexport class ActionsButton extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n actionsAnchorEl: null,\n };\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n addCategory: PropTypes.func.isRequired,\n deleteCategory: PropTypes.func.isRequired,\n language: PropTypes.string,\n categories: PropTypes.array,\n };\n\n handleActionsClick = (event) => {\n this.setState({ actionsAnchorEl: event.currentTarget });\n };\n\n handleActionsClose = () => {\n this.setState({ actionsAnchorEl: null });\n };\n\n handleAddCategory = () => {\n const { addCategory } = this.props;\n addCategory();\n this.handleActionsClose();\n };\n\n handleDeleteCategory = (index) => {\n const { deleteCategory } = this.props;\n deleteCategory(index);\n this.handleActionsClose();\n };\n\n render() {\n const { classes, categories, language } = this.props;\n\n return (\n <div className={classes.actions}>\n <div role=\"button\" tabIndex={0} className={classes.trigger} onClick={this.handleActionsClick}>\n Actions\n </div>\n <Popover\n open={Boolean(this.state.actionsAnchorEl)}\n anchorEl={this.state.actionsAnchorEl}\n onClose={this.handleActionsClose}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n >\n <Paper className={classes.actionsPaper}>\n <Button onClick={() => this.handleAddCategory()}>\n + {translator.t('charting.add', { lng: language })}\n </Button>\n {categories.length > 0 &&\n categories.map(\n (category, index) =>\n category.deletable &&\n !category.correctness && (\n <Button key={index} onClick={() => this.handleDeleteCategory(index)}>\n {`${translator.t('charting.delete', { lng: language })} <${category.label ||\n translator.t('charting.newLabel', { lng: language })}>`}\n </Button>\n ),\n )}\n </Paper>\n </Popover>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n alignSelf: 'flex-end',\n },\n trigger: {\n cursor: 'pointer',\n fontSize: theme.typography.fontSize,\n color: color.tertiary(),\n padding: theme.spacing.unit,\n },\n actionsPaper: {\n padding: theme.spacing.unit,\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing.unit,\n '& button': {\n textTransform: 'none',\n fontSize: theme.typography.fontSize,\n color: color.text(),\n justifyContent: 'flex-start',\n },\n },\n});\n\nexport default withStyles(styles)(ActionsButton);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { Root, createGraphProps } from '@pie-lib/plot';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport ChartGrid from './grid';\nimport ChartAxes from './axes';\nimport { dataToXBand, getDomainAndRangeByChartType, getGridLinesAndAxisByChartType, getTopPadding } from './utils';\nimport chartTypes from './chart-types';\nimport ActionsButton from './actions-button';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst log = debug('pie-lib:charts:chart');\n\nexport class Chart extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n actionsAnchorEl: null,\n };\n this.maskUid = this.generateMaskId();\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n chartType: PropTypes.string.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n domain: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n axisLabel: PropTypes.string,\n }),\n data: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.number })),\n range: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n labelStep: PropTypes.number,\n axisLabel: PropTypes.string,\n }),\n charts: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n title: PropTypes.string,\n titlePlaceholder: PropTypes.string,\n onDataChange: PropTypes.func,\n onChangeLabels: PropTypes.func,\n onChangeTitle: PropTypes.func,\n error: PropTypes.any,\n addCategoryEnabled: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n categoryDefaultLabel: PropTypes.string,\n categoryDefaults: PropTypes.object,\n defineChart: PropTypes.bool,\n theme: PropTypes.object,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n language: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n correctData: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n }),\n ),\n };\n\n static defaultProps = {\n size: {\n width: 480,\n height: 480,\n },\n };\n\n state = {\n charts: [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ],\n autoFocus: false,\n };\n\n generateMaskId() {\n return 'chart-' + (Math.random() * 10000).toFixed();\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n getChart = () => {\n const charts = this.props.charts || this.state.charts;\n let { chartType } = this.props;\n let ChartComponent = null;\n let chart = null;\n\n if (chartType) {\n chart = charts && charts.find((chart) => chart.type === chartType);\n ChartComponent = chart && chart.Component;\n } else {\n chart = charts && charts[0];\n ChartComponent = chart && chart.Component;\n chartType = chart && chart.type;\n }\n\n return {\n type: chartType,\n ChartComponent,\n };\n };\n\n changeData = (data) => {\n const { onDataChange } = this.props;\n\n onDataChange(data);\n };\n\n changeCategory = (index, newCategory) => {\n const integerIndex = parseInt(index, 10);\n\n if (integerIndex >= 0) {\n const { data, onDataChange } = this.props;\n data[integerIndex] = {\n ...data[integerIndex],\n ...newCategory,\n };\n\n onDataChange(data);\n }\n };\n\n addCategory = () => {\n const { onDataChange, data, categoryDefaultLabel, defineChart, categoryDefaults, language } = this.props;\n\n if ((data || []).length > 19) {\n this.setState({\n dialog: {\n open: true,\n title: translator.t('common:warning', { lng: language }),\n text: translator.t('charting.reachedLimit_other', { count: 20, lng: language }),\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.setState({ autoFocus: true });\n onDataChange([\n ...data,\n {\n inDefineChart: defineChart,\n label: categoryDefaultLabel || translator.t('charting.newLabel', { lng: language }),\n value: 0,\n deletable: true,\n editable: categoryDefaults ? categoryDefaults?.editable : true,\n interactive: categoryDefaults ? categoryDefaults?.interactive : true,\n },\n ]);\n }\n };\n\n deleteCategory = (index) => {\n const { data, onDataChange } = this.props;\n\n if (typeof index !== 'number' || index < 0) {\n return;\n }\n\n if (data && data.length > 0) {\n onDataChange(data.filter((_, i) => i !== index));\n }\n };\n\n getFilteredCategories = () => {\n const { data, defineChart } = this.props;\n\n return data\n ? data.map((d) => ({\n ...d,\n deletable: defineChart || d.deletable,\n }))\n : [];\n };\n\n resetAutoFocus = () => {\n this.setState({ autoFocus: false });\n };\n\n render() {\n const {\n classes,\n className,\n domain = {},\n range = {},\n chartingOptions,\n size,\n title,\n onChangeTitle,\n onChangeLabels,\n labelsPlaceholders,\n titlePlaceholder,\n addCategoryEnabled,\n changeInteractiveEnabled,\n changeEditableEnabled,\n showPixelGuides,\n error,\n mathMlOptions = {},\n language,\n labelsCharactersLimit,\n correctData,\n } = this.props;\n let { chartType } = this.props;\n\n const { dialog } = this.state;\n const defineChart = this.props.defineChart || false;\n\n const { width, height } = size || {};\n const labels = { left: range?.label || '', bottom: domain?.label || '' };\n\n const { ChartComponent } = this.getChart();\n const categories = this.getFilteredCategories();\n\n const correctValues = getDomainAndRangeByChartType(domain, range, chartType);\n\n const { verticalLines, horizontalLines, leftAxis } = getGridLinesAndAxisByChartType(correctValues.range, chartType);\n const common = {\n graphProps: createGraphProps(correctValues.domain, correctValues.range, size, () => this.rootNode),\n };\n\n log('[render] common:', common);\n\n const maskSize = { x: -10, y: -75, width: width + 20, height: height + 130 };\n const { scale } = common.graphProps;\n const xBand = dataToXBand(scale.x, categories, width, chartType);\n\n if (!ChartComponent) {\n return null;\n }\n\n const bandWidth = xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || scale.x(correctValues.domain.max) / categories.length;\n const increaseHeight = defineChart ? 160 : 60;\n\n // if there are many categories, we have to rotate their names in order to fit\n // and we have to add extra value on top of some items\n const top = getTopPadding(barWidth);\n const rootCommon = cloneDeep(common);\n rootCommon.graphProps.size.height += top + increaseHeight;\n\n return (\n <div className={classNames(classes.chart, classes.chartBox, className)}>\n <Root\n title={title}\n onChangeTitle={onChangeTitle}\n disabledTitle={!defineChart}\n showTitle={true}\n showLabels={true}\n labels={labels}\n onChangeLabels={onChangeLabels}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder}\n defineChart={defineChart}\n disabledLabels={!defineChart}\n isChart={true}\n showPixelGuides={showPixelGuides}\n rootRef={(r) => (this.rootNode = r)}\n mathMlOptions={mathMlOptions}\n labelsCharactersLimit={labelsCharactersLimit}\n {...rootCommon}\n >\n <ChartGrid {...common} xBand={xBand} rowTickValues={horizontalLines} columnTickValues={verticalLines} />\n <ChartAxes\n autoFocus={this.state.autoFocus}\n onAutoFocusUsed={this.resetAutoFocus}\n {...common}\n defineChart={defineChart}\n categories={categories}\n xBand={xBand}\n leftAxis={leftAxis}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n chartingOptions={chartingOptions}\n changeInteractiveEnabled={changeInteractiveEnabled}\n changeEditableEnabled={changeEditableEnabled}\n top={top}\n error={error}\n showCorrectness={chartType === 'linePlot' || chartType === 'dotPlot'}\n />\n {addCategoryEnabled ? (\n <foreignObject x={width} y={height - 16} width={width} height={height}>\n <div xmlns=\"http://www.w3.org/1999/xhtml\" style={{ display: 'flex', justifyContent: 'flex-start' }}>\n <ActionsButton\n categories={categories}\n addCategory={this.addCategory}\n deleteCategory={this.deleteCategory}\n language={language}\n />\n </div>\n </foreignObject>\n ) : null}\n <mask id={`${this.maskUid}`}>\n <rect {...maskSize} fill=\"white\" />\n </mask>\n <g id=\"marks\" mask={`url('#${this.maskUid}')`}>\n <ChartComponent\n {...common}\n data={categories}\n height={rootCommon.graphProps.size.height}\n defineChart={defineChart}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n correctData={correctData}\n />\n </g>\n </Root>\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n graphBox: {\n transform: 'translate(60px, 35px)',\n },\n svg: {\n overflow: 'visible',\n },\n\n chartBox: {\n width: 'min-content',\n },\n});\n\nexport default withStyles(styles, { withTheme: true })(Chart);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(() => ({\n chartType: {\n width: '160px',\n },\n chartTypeLabel: {\n backgroundColor: 'transparent',\n },\n}))(({ onChange, value, classes, availableChartTypes, chartTypeLabel }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel id=\"type-helper-label\" className={classes.chartTypeLabel}>\n {chartTypeLabel}\n </InputLabel>\n <Select\n labelId=\"type-helper-label\"\n value={value}\n onChange={onChange}\n input={<OutlinedInput labelWidth={75} name=\"type\" />}\n >\n {availableChartTypes?.histogram && <MenuItem value={'histogram'}>{availableChartTypes.histogram}</MenuItem>}\n {availableChartTypes?.bar && <MenuItem value={'bar'}>{availableChartTypes.bar}</MenuItem>}\n {availableChartTypes?.lineDot && <MenuItem value={'lineDot'}>{availableChartTypes.lineDot}</MenuItem>}\n {availableChartTypes?.lineCross && <MenuItem value={'lineCross'}>{availableChartTypes.lineCross}</MenuItem>}\n {availableChartTypes?.dotPlot && <MenuItem value={'dotPlot'}>{availableChartTypes.dotPlot}</MenuItem>}\n {availableChartTypes?.linePlot && <MenuItem value={'linePlot'}>{availableChartTypes.linePlot}</MenuItem>}\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/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 ConfigureChartPanel = (props) => {\n const {\n classes,\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 <div className={classes.rowView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </div>\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 <div className={classes.wrapper}>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <div className={classes.content}>\n <div className={classes.rowView}>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\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 </div>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\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 <Typography className={classes.disabled}>Min 50, Max 700</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\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 <Typography className={classes.disabled}>Min 400, Max 700</Typography>\n </div>\n </div>\n )}\n </div>\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 </div>\n );\n};\n\nConfigureChartPanel.propTypes = {\n classes: PropTypes.object,\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\nconst styles = (theme) => ({\n wrapper: {\n width: '450px',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing.unit * 3,\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`,\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing.unit * 3}px 0`,\n },\n disabled: {\n color: color.disabled(),\n },\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Check from '@material-ui/icons/Check';\nimport Close from '@material-ui/icons/Close';\nimport { color } from '@pie-lib/render-ui';\nimport Translator from '@pie-lib/translator';\n\nconst styles = (theme) => ({\n container: {\n backgroundColor: color.defaults.WHITE,\n padding: theme.spacing.unit * 2,\n width: '355px',\n boxShadow: 'inset 0px 1px 5px 0px #9297A6',\n display: 'flex',\n flexDirection: 'column',\n gap: '16px',\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n },\n title: {\n fontSize: theme.typography.h6.fontSize,\n fontWeight: '700',\n },\n smallText: {\n marginLeft: '2px',\n },\n correctIcon: {\n backgroundColor: color.correct(),\n borderRadius: theme.spacing.unit * 2,\n color: color.defaults.WHITE,\n },\n incorrectIcon: {\n backgroundColor: color.incorrectWithIcon(),\n borderRadius: theme.spacing.unit * 2,\n color: color.defaults.WHITE,\n },\n\n lastRow: {\n marginLeft: '3px',\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n },\n});\n\nconst { translator } = Translator;\n\nconst KeyLegend = ({ classes, language }) => (\n <div className={classes.container}>\n <div className={classes.title}>Key</div>\n <div className={classes.row}>\n <Close className={classes.incorrectIcon} />\n <div className={classes.text}>{translator.t('charting.keyLegend.incorrectAnswer', { lng: language })}</div>\n </div>\n <div className={classes.row}>\n <Check className={classes.correctIcon} />\n <div className={classes.text}>{translator.t('charting.keyLegend.correctAnswer', { lng: language })}</div>\n </div>\n <div className={classes.lastRow}>\n <Check className={classes.correctIcon} fontSize={'small'} />\n <div className={classes.smallText}>{translator.t('charting.keyLegend.correctKeyAnswer', { lng: language })}</div>\n </div>\n </div>\n);\n\nKeyLegend.propTypes = {\n classes: PropTypes.object.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(KeyLegend);\n"],"names":["Grid","React","Component","render","classes","className","graphProps","xBand","rowTickValues","columnTickValues","props","scale","size","range","step","labelStep","highlightNonLabel","unlabeledLines","labeledLines","reduce","acc","value","push","classNames","grid","y","width","stroke","color","fadedPrimary","strokeWidth","visualElementsColors","GRIDLINES_COLOR","height","bandwidth","propTypes","PropTypes","object","isRequired","string","types","GraphPropsType","func","array","defaultProps","styles","primaryLight","withStyles","CorrectnessIndicator","x","r","correctness","interactive","cx","cy","isCorrect","iconClass","correctIcon","incorrectIcon","correctnessIcon","label","SmallCorrectPointIndicator","correctData","correctVal","parseFloat","find","d","isNaN","correctPxY","yToRender","xToRender","smallIcon","TickCorrectnessIndicator","utils","tickCount","bounds","point","bandKey","index","dataToXBand","scaleX","data","type","scaleBand","rangeRound","domain","map","padding","scalePoint","getTickValues","prop","tickValues","tickVal","min","max","Math","round","getDomainAndRangeByChartType","chartType","intMin","intMax","getGridLinesAndAxisByChartType","verticalLines","undefined","horizontalLines","leftAxis","getRotateAngle","fontSize","getTopPadding","barWidth","getScale","deltay","pow","getAdjustedX","scaleValue","innerWidthOriginal","effectiveInnerWidth","disabled","key","pointerEvents","border","correct","incorrect","theme","input","float","fontFamily","typography","backgroundColor","palette","error","main","mathInput","textAlign","primaryDark","paddingTop","flexContainer","display","flexDirection","alignItems","isFractionFormat","trimmedLabel","trim","fracRegex","RegExp","test","getLabelMathFormat","fraction","mixedNr","improperFraction","split","includes","formattedLLabel","MarkLabel","setInput","useState","_ref","useCallback","node","mark","inputRef","externalInputRef","rotate","autoFocus","isHiddenLabel","limitCharacters","correctnessIndicator","setLabel","mathLabel","setMathLabel","isEditing","setIsEditing","root","useRef","onChange","e","target","length","isMathRendering","onChangeProp","extraStyle","useEffect","renderMath","__html","editable","minWidth","position","transformOrigin","transform","visibility","marginTop","background","boxSizing","paddingLeft","paddingRight","top","left","bool","any","number","shape","TickComponent","constructor","handleAlertDialog","open","callback","setState","dialog","changeCategory","newLabel","categories","onChangeCategory","category","changeInteractive","title","text","onConfirm","onClose","changeEditable","splitText","maxChar","chunks","indexToSplit","lastIndexOf","substring","state","componentDidUpdate","prevProps","onAutoFocusUsed","bandWidth","defineChart","chartingOptions","formattedValue","changeInteractiveEnabled","changeEditableEnabled","hiddenLabelRef","showCorrectness","parseInt","barX","longestCategory","a","b","lengthA","lengthB","distinctMessages","Set","Object","values","join","overflow","wordBreak","maxWidth","authoringLabel","word","customColor","checked","RawChartAxes","componentDidMount","boundingClientRect","getBoundingClientRect","floor","prevState","snapshot","axis","axisLine","tick","bottomScale","rotateBecauseOfHeight","rotateBecauseOfWidth","getTickLabelProps","dy","dx","toLocaleString","getTickComponent","properties","ref","textAnchor","count","ChartAxes","AXIS_LINE_COLOR","body1","dottedLine","opacity","fill","tertiary","borderRadius","spacing","unit","defaults","WHITE","incorrectWithIcon","tickContainer","withTheme","DragIcon","svgOverflowVisible","RawDragHandle","isHovered","isPlot","rest","_excluded","enumColor","BORDER_GRAY","transparentHandle","DragHandle","handle","transition","clipPath","handleContainer","secondaryDark","D","gridDraggable","fromDelta","delta","newPoint","add","area","bottom","right","anchorPoint","CorrectCheckIcon","dashColor","log","debug","histogramColors","hoverHistogramColors","calculateFillColor","barColor","allowRolloverEvent","ROLLOVER_FILL_BAR_COLOR","RawBar","handleMouseMove","mouseX","clientX","mouseY","clientY","isMouseInside","isMouseInsideSvgElement","gBoundingBox","gRef","handleMouseEnter","handleMouseLeave","setDragValue","dragValue","dragStop","existing","next","window","addEventListener","componentWillUnmount","removeEventListener","fillColor","v","Number","isFinite","barHeight","rawY","yy","correctValue","DraggableHandle","isHistogram","VxBar","bar","correctPxHeight","actualPxHeight","diffPx","abs","yDiff","indicatorBarColor","borderGray","strokeDasharray","Bar","TERTIARY","Bars","histogram","name","Histogram","CustomDraggableComponent","line","TEXT","disabledPoint","BLACK","getData","el","i","RawLine","dragging","newLine","UNSAFE_componentWillReceiveProps","nextProps","isEqual","lineState","lineToUse","enableDraggable","arrayOf","StyledLine","Line","changeLine","DraggableComponent","setIsHovered","LineDot","hover","setHover","squareSize","squareHalf","LineCross","ICON_SIZE","RawPlot","renderCorrectnessIcon","CustomBarElement","pointHeight","pointDiameter","selectedVal","overlayValues","lastIndexOfOverlay","lastOverlayValue","valuesToRender","idx","dottedOverline","dot","PLOT_FILL_COLOR","dotColor","Plot","EXTRA_PADDING","DotPlot","LinePlot","translator","Translator","ActionsButton","handleActionsClick","event","actionsAnchorEl","currentTarget","handleActionsClose","handleAddCategory","addCategory","handleDeleteCategory","deleteCategory","language","actions","trigger","Boolean","vertical","horizontal","actionsPaper","t","lng","deletable","alignSelf","cursor","gap","textTransform","justifyContent","Chart","charts","chartTypes","getChart","ChartComponent","chart","changeData","onDataChange","newCategory","integerIndex","categoryDefaultLabel","categoryDefaults","inDefineChart","filter","_","getFilteredCategories","resetAutoFocus","maskUid","generateMaskId","random","toFixed","onChangeTitle","onChangeLabels","labelsPlaceholders","titlePlaceholder","addCategoryEnabled","showPixelGuides","mathMlOptions","labelsCharactersLimit","labels","correctValues","common","createGraphProps","rootNode","maskSize","increaseHeight","rootCommon","cloneDeep","chartBox","axisLabel","graphBox","svg","ChartType","chartTypeLabel","availableChartTypes","lineDot","lineCross","dotPlot","linePlot","resetValues","updateModel","model","forEach","d_value_scaled","range_step_scaled","remainder_scaled","remainder","ConfigureChartPanel","chartDimensions","gridValues","labelValues","studentNewCategoryDefaultLabel","alertDialog","setAlertDialog","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","correctAnswer","graph","showInConfigPanel","widthConstraints","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","onRangeChanged","openStatus","setPropertiesToFalse","property","obj","hasOwnProperty","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","rangeProps","onSizeChanged","isOutOfRange","outOfRange","JSON","stringify","isValidPlot","getPlotConfiguration","onChartTypeChange","wrapper","content","dimensions","columnView","textField","chartDimension","margin","largeTextField","fontStyle","container","boxShadow","row","h6","fontWeight","smallText","marginLeft","lastRow","KeyLegend"],"mappings":"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"}
|