@pie-lib/graphing 2.46.0-mui-update.0 → 3.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -97
- package/lib/axis/axes.js +7 -13
- package/lib/axis/axes.js.map +1 -1
- package/lib/coordinates-label.js +2 -0
- package/lib/coordinates-label.js.map +1 -1
- package/lib/grid-setup.js +30 -36
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +1 -1
- package/lib/grid.js.map +1 -1
- package/lib/key-legend.js +6 -7
- package/lib/key-legend.js.map +1 -1
- package/lib/labels.js +4 -2
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +16 -9
- package/lib/mark-label.js.map +1 -1
- package/lib/toggle-bar.js +12 -16
- package/lib/toggle-bar.js.map +1 -1
- package/lib/tool-menu.js +1 -3
- package/lib/tool-menu.js.map +1 -1
- package/lib/tools/circle/component.js +1 -2
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/point/component.js +1 -1
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/polygon/component.js +2 -2
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/polygon/line.js +2 -2
- package/lib/tools/polygon/line.js.map +1 -1
- package/lib/tools/shared/icons/CorrectSVG.js +9 -0
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
- package/lib/tools/shared/icons/IncorrectSVG.js +9 -0
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
- package/lib/tools/shared/icons/MissingSVG.js +9 -0
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
- package/lib/tools/shared/line/index.js +14 -6
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/line/line-path.js +2 -3
- package/lib/tools/shared/line/line-path.js.map +1 -1
- package/lib/tools/shared/line/with-root-edge.js +1 -1
- package/lib/tools/shared/line/with-root-edge.js.map +1 -1
- package/lib/tools/shared/point/arrow-point.js +1 -3
- package/lib/tools/shared/point/arrow-point.js.map +1 -1
- package/lib/tools/shared/point/arrow.js +1 -2
- package/lib/tools/shared/point/arrow.js.map +1 -1
- package/package.json +25 -16
- package/src/__tests__/graph-with-controls.test.jsx +28 -11
- package/src/__tests__/graph.test.jsx +104 -168
- package/src/__tests__/grid.test.jsx +8 -6
- package/src/__tests__/labels.test.jsx +25 -8
- package/src/__tests__/mark-label.test.jsx +12 -17
- package/src/__tests__/toggle-bar.test.jsx +92 -17
- package/src/__tests__/tool-menu.test.jsx +61 -12
- package/src/__tests__/undo-redo.test.jsx +7 -8
- package/src/__tests__/utils.js +3 -0
- package/src/axis/__tests__/arrow.test.jsx +16 -17
- package/src/axis/__tests__/axes.test.jsx +118 -122
- package/src/axis/axes.jsx +7 -12
- package/src/coordinates-label.jsx +1 -0
- package/src/grid-setup.jsx +6 -6
- package/src/grid.jsx +1 -1
- package/src/key-legend.jsx +1 -1
- package/src/labels.jsx +2 -0
- package/src/mark-label.jsx +10 -1
- package/src/toggle-bar.jsx +7 -25
- package/src/tool-menu.jsx +1 -1
- package/src/tools/circle/__tests__/bg-circle.test.jsx +7 -9
- package/src/tools/circle/__tests__/component.test.jsx +17 -189
- package/src/tools/circle/component.jsx +1 -1
- package/src/tools/line/__tests__/component.test.jsx +7 -7
- package/src/tools/point/__tests__/component.test.jsx +18 -43
- package/src/tools/point/component.jsx +1 -1
- package/src/tools/polygon/__tests__/component.test.jsx +18 -162
- package/src/tools/polygon/__tests__/line.test.jsx +7 -10
- package/src/tools/polygon/__tests__/polygon.test.jsx +7 -8
- package/src/tools/polygon/component.jsx +2 -2
- package/src/tools/polygon/line.jsx +3 -2
- package/src/tools/ray/__tests__/component.test.jsx +7 -8
- package/src/tools/segment/__tests__/component.test.jsx +7 -8
- package/src/tools/shared/__tests__/arrow-head.test.jsx +14 -17
- package/src/tools/shared/icons/CorrectSVG.jsx +10 -0
- package/src/tools/shared/icons/IncorrectSVG.jsx +10 -0
- package/src/tools/shared/icons/MissingSVG.jsx +10 -0
- package/src/tools/shared/line/__tests__/index.test.jsx +19 -165
- package/src/tools/shared/line/__tests__/line-path.test.jsx +8 -8
- package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +22 -22
- package/src/tools/shared/line/index.jsx +13 -5
- package/src/tools/shared/line/line-path.jsx +2 -2
- package/src/tools/shared/line/with-root-edge.jsx +1 -1
- package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
- package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
- package/src/tools/shared/point/arrow-point.jsx +1 -1
- package/src/tools/shared/point/arrow.jsx +1 -1
- package/src/tools/vector/__tests__/component.test.jsx +7 -8
- package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -237
- package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -211
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
- package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -45
- package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
- package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -13
- package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -14
- package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
- package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
- package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +0 -46
- package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +0 -293
- package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
- package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +0 -40
- package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -415
- package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -45
- package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -52
- package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +0 -23
- package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +0 -14
- package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -27
- package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
- package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -58
- package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
- package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -56
- package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -44
- package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +0 -12
package/lib/mark-label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInputAutosize","_useDebounce","_plot","_renderUi","_labelSvgIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledInputCorrect","styled","_ref2","theme","padding","spacing","borderRadius","fontSize","backgroundColor","color","defaults","WHITE","CORRECT_WITH_ICON","border","concat","StyledInputIncorrect","_ref3","INCORRECT_WITH_ICON","StyledInputMissing","_ref4","MISSING_WITH_ICON","fontWeight","StyledIncorrect","_ref5","getInputStyles","disabled","markDisabled","fontFamily","typography","PRIMARY_DARK","SECONDARY","WebkitOpacity","undefined","WebkitTextFillColor","getStudentInputStyles","position","exports","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","LabelInput","_ref6","_ref","externalInputRef","label","inputStyle","onChange","createElement","inputRef","value","MarkLabel","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","useCallback","node","useTheme","_useState3","_useState4","setLabel","correctness","correctnesslabel","correctlabel","target","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","display","alignItems","gap","secondLabelStyle","disabledInput","renderInput","labelValue","studentInputStyle","type","Fragment","marginLeft","propTypes","PropTypes","bool","func","types","GraphPropsType","object","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled, useTheme } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport SvgIcon from './label-svg-icon';\n\nconst StyledInputCorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.CORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.CORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputIncorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.INCORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputMissing = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.MISSING_WITH_ICON,\n border: `solid 1px ${color.defaults.MISSING_WITH_ICON}`,\n fontWeight: 'bold',\n}));\n\nconst StyledIncorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: 0,\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n fontWeight: 'bold',\n}));\n\nconst getInputStyles = (theme, disabled, markDisabled) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n fontFamily: theme.typography.fontFamily,\n fontSize: '10px',\n border: disabled \n ? `solid 1px ${color.defaults.PRIMARY_DARK}`\n : markDisabled \n ? `solid 1px ${color.disabled()}`\n : `solid 1px ${color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: markDisabled ? color.disabled() : color.defaults.PRIMARY_DARK,\n backgroundColor: color.defaults.WHITE,\n WebkitOpacity: disabled ? '1' : undefined,\n WebkitTextFillColor: markDisabled ? color.disabled() : undefined,\n});\n\nconst getStudentInputStyles = () => ({\n padding: '0',\n border: 'none',\n color: 'inherit',\n fontWeight: 'bold',\n});\n\nexport const position = (graphProps, mark, rect = { width: 0, height: 0 }) => {\n const { scale, domain, range } = graphProps;\n const shift = 5;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect = { width: 0, height: 0 }, position) => {\n const { scale } = graphProps;\n const shift = 5;\n\n switch (position) {\n case 'bottom-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n case 'bottom-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n case 'top-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) - shift - rect.height };\n case 'top-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) - shift - rect.height };\n default:\n return {};\n }\n};\n\nconst LabelInput = ({ _ref, externalInputRef, label, disabled, inputStyle, onChange }) => (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputStyle={inputStyle}\n value={label}\n onChange={onChange}\n />\n);\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n const theme = useTheme();\n\n const { mark, graphProps, disabled, inputRef: externalInputRef } = props;\n\n const [label, setLabel] = useState(mark.label);\n const { correctness, correctnesslabel, correctlabel } = mark;\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\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 // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n display: 'flex',\n alignItems: 'center',\n gap: '3px',\n ...leftTop,\n };\n\n const secondLabelStyle = {\n ...style,\n top: leftTop.top + 25,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n const renderInput = (inputStyle, labelValue) => (\n <LabelInput\n _ref={_ref}\n externalInputRef={externalInputRef}\n label={labelValue}\n disabled={disabledInput}\n inputStyle={inputStyle}\n onChange={onChange}\n />\n );\n\n const studentInputStyle = getStudentInputStyles();\n\n if (correctness === 'correct' && correctnesslabel === 'correct' && correctlabel) {\n return (\n <StyledInputCorrect style={style}>\n <SvgIcon type=\"correct\" />\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputCorrect>\n );\n }\n\n // avoid rendering empty label when a correct point without label was provided\n if (correctness === 'correct' && correctnesslabel === 'correct' && !correctlabel) {\n return null;\n }\n\n if (correctness === 'correct' && correctnesslabel === 'incorrect') {\n return (\n <>\n <StyledInputIncorrect style={style}>\n <SvgIcon type=\"incorrect\" />\n {label === '' ? (\n <SvgIcon type=\"empty\" style={{ marginLeft: '3px' }} />\n ) : (\n renderInput(studentInputStyle, label)\n )}\n </StyledInputIncorrect>\n <StyledInputMissing style={secondLabelStyle}>\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputMissing>\n </>\n );\n }\n\n if (correctness === 'missing') {\n return (\n <StyledInputMissing style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledInputMissing>\n );\n }\n\n if (correctness === 'incorrect') {\n return (\n <StyledIncorrect style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledIncorrect>\n );\n }\n\n return (\n <div style={style}>\n {renderInput(\n getInputStyles(theme, disabled, mark.disabled),\n label,\n )}\n </div>\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInputAutosize","_useDebounce","_plot","_renderUi","_labelSvgIcon","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledInputCorrect","styled","_ref2","theme","padding","spacing","borderRadius","fontSize","backgroundColor","color","defaults","WHITE","CORRECT_WITH_ICON","border","concat","StyledInputIncorrect","_ref3","INCORRECT_WITH_ICON","StyledInputMissing","_ref4","MISSING_WITH_ICON","fontWeight","StyledIncorrect","getInputStyles","disabled","markDisabled","fontFamily","typography","PRIMARY_DARK","SECONDARY","WebkitOpacity","undefined","WebkitTextFillColor","getStudentInputStyles","position","exports","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","LabelInput","_ref5","_ref","externalInputRef","label","inputStyle","onChange","createElement","inputRef","value","propTypes","PropTypes","func","string","bool","object","MarkLabel","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","useCallback","node","useTheme","_useState3","_useState4","setLabel","correctness","correctnesslabel","correctlabel","target","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","display","alignItems","gap","secondLabelStyle","disabledInput","renderInput","labelValue","studentInputStyle","type","Fragment","marginLeft","types","GraphPropsType","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled, useTheme } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport SvgIcon from './label-svg-icon';\n\nconst StyledInputCorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.CORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.CORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputIncorrect = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n border: `solid 1px ${color.defaults.INCORRECT_WITH_ICON}`,\n}));\n\nconst StyledInputMissing = styled('div')(({ theme }) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.MISSING_WITH_ICON,\n border: `solid 1px ${color.defaults.MISSING_WITH_ICON}`,\n fontWeight: 'bold',\n}));\n\nconst StyledIncorrect = styled('div')(() => ({\n float: 'right',\n padding: 0,\n borderRadius: '4px',\n fontSize: '10px',\n backgroundColor: color.defaults.WHITE,\n color: color.defaults.INCORRECT_WITH_ICON,\n fontWeight: 'bold',\n}));\n\nconst getInputStyles = (theme, disabled, markDisabled) => ({\n float: 'right',\n padding: theme.spacing(0.5),\n fontFamily: theme.typography.fontFamily,\n fontSize: '10px',\n border: disabled \n ? `solid 1px ${color.defaults.PRIMARY_DARK}`\n : markDisabled \n ? `solid 1px ${color.disabled()}`\n : `solid 1px ${color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: markDisabled ? color.disabled() : color.defaults.PRIMARY_DARK,\n backgroundColor: color.defaults.WHITE,\n WebkitOpacity: disabled ? '1' : undefined,\n WebkitTextFillColor: markDisabled ? color.disabled() : undefined,\n});\n\nconst getStudentInputStyles = () => ({\n padding: '0',\n border: 'none',\n color: 'inherit',\n fontWeight: 'bold',\n});\n\nexport const position = (graphProps, mark, rect = { width: 0, height: 0 }) => {\n const { scale, domain, range } = graphProps;\n const shift = 5;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect = { width: 0, height: 0 }, position) => {\n const { scale } = graphProps;\n const shift = 5;\n\n switch (position) {\n case 'bottom-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n case 'bottom-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n case 'top-left':\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) - shift - rect.height };\n case 'top-right':\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) - shift - rect.height };\n default:\n return {};\n }\n};\n\nconst LabelInput = ({ _ref, externalInputRef, label, disabled, inputStyle, onChange }) => (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabled}\n inputStyle={inputStyle}\n value={label}\n onChange={onChange}\n />\n);\n\nLabelInput.propTypes = {\n _ref: PropTypes.func,\n externalInputRef: PropTypes.func,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n inputStyle: PropTypes.object,\n onChange: PropTypes.func,\n};\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n const theme = useTheme();\n\n const { mark, graphProps, disabled, inputRef: externalInputRef } = props;\n\n const [label, setLabel] = useState(mark.label);\n const { correctness, correctnesslabel, correctlabel } = mark;\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\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 // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n display: 'flex',\n alignItems: 'center',\n gap: '3px',\n ...leftTop,\n };\n\n const secondLabelStyle = {\n ...style,\n top: leftTop.top + 25,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n const renderInput = (inputStyle, labelValue) => (\n <LabelInput\n _ref={_ref}\n externalInputRef={externalInputRef}\n label={labelValue}\n disabled={disabledInput}\n inputStyle={inputStyle}\n onChange={onChange}\n />\n );\n\n const studentInputStyle = getStudentInputStyles();\n\n if (correctness === 'correct' && correctnesslabel === 'correct' && correctlabel) {\n return (\n <StyledInputCorrect style={style}>\n <SvgIcon type=\"correct\" />\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputCorrect>\n );\n }\n\n // avoid rendering empty label when a correct point without label was provided\n if (correctness === 'correct' && correctnesslabel === 'correct' && !correctlabel) {\n return null;\n }\n\n if (correctness === 'correct' && correctnesslabel === 'incorrect') {\n return (\n <>\n <StyledInputIncorrect style={style}>\n <SvgIcon type=\"incorrect\" />\n {label === '' ? (\n <SvgIcon type=\"empty\" style={{ marginLeft: '3px' }} />\n ) : (\n renderInput(studentInputStyle, label)\n )}\n </StyledInputIncorrect>\n <StyledInputMissing style={secondLabelStyle}>\n {renderInput(studentInputStyle, correctlabel)}\n </StyledInputMissing>\n </>\n );\n }\n\n if (correctness === 'missing') {\n return (\n <StyledInputMissing style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledInputMissing>\n );\n }\n\n if (correctness === 'incorrect') {\n return (\n <StyledIncorrect style={style}>\n {renderInput(studentInputStyle, label)}\n </StyledIncorrect>\n );\n }\n\n return (\n <div style={style}>\n {renderInput(\n getInputStyles(theme, disabled, mark.disabled),\n label,\n )}\n </div>\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/toggle-bar.js
CHANGED
|
@@ -82,17 +82,17 @@ MiniButton.propTypes = {
|
|
|
82
82
|
disabledClassName: _propTypes["default"].string,
|
|
83
83
|
selected: _propTypes["default"].bool,
|
|
84
84
|
value: _propTypes["default"].string,
|
|
85
|
-
onClick: _propTypes["default"].func
|
|
85
|
+
onClick: _propTypes["default"].func,
|
|
86
|
+
language: _propTypes["default"].string
|
|
86
87
|
};
|
|
87
|
-
var StyledToolsContainer = (0, _styles.styled)('div')(function (
|
|
88
|
-
var theme = _ref2.theme;
|
|
88
|
+
var StyledToolsContainer = (0, _styles.styled)('div')(function () {
|
|
89
89
|
return {
|
|
90
90
|
display: 'flex',
|
|
91
91
|
flexWrap: 'wrap'
|
|
92
92
|
};
|
|
93
93
|
});
|
|
94
|
-
var StyledButton = (0, _styles.styled)(MiniButton)(function (
|
|
95
|
-
var theme =
|
|
94
|
+
var StyledButton = (0, _styles.styled)(MiniButton)(function (_ref2) {
|
|
95
|
+
var theme = _ref2.theme;
|
|
96
96
|
return {
|
|
97
97
|
marginRight: theme.spacing(0.5),
|
|
98
98
|
marginBottom: theme.spacing(0.5),
|
|
@@ -118,13 +118,11 @@ var ToggleBar = exports.ToggleBar = /*#__PURE__*/function (_React$Component) {
|
|
|
118
118
|
options = _this$props.options,
|
|
119
119
|
onChangeToolsOrder = _this$props.onChangeToolsOrder;
|
|
120
120
|
var newOptions = (0, _sortable.arrayMove)(options, dragIndex, hoverIndex);
|
|
121
|
-
console.log('New Options Order:', newOptions);
|
|
122
121
|
onChangeToolsOrder(newOptions);
|
|
123
122
|
});
|
|
124
123
|
(0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
|
|
125
124
|
var active = event.active,
|
|
126
125
|
over = event.over;
|
|
127
|
-
console.log('Drag End Event:', event);
|
|
128
126
|
if (!over || !active) return;
|
|
129
127
|
var activeData = active.data.current;
|
|
130
128
|
var overData = over.data.current;
|
|
@@ -189,13 +187,12 @@ var ToggleBar = exports.ToggleBar = /*#__PURE__*/function (_React$Component) {
|
|
|
189
187
|
language: _propTypes["default"].string
|
|
190
188
|
});
|
|
191
189
|
(0, _defineProperty2["default"])(ToggleBar, "defaultProps", {});
|
|
192
|
-
function DragTool(
|
|
193
|
-
var children =
|
|
194
|
-
index =
|
|
195
|
-
draggable =
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
value = _ref4.value;
|
|
190
|
+
function DragTool(_ref3) {
|
|
191
|
+
var children = _ref3.children,
|
|
192
|
+
index = _ref3.index,
|
|
193
|
+
draggable = _ref3.draggable,
|
|
194
|
+
toolRef = _ref3.toolRef,
|
|
195
|
+
value = _ref3.value;
|
|
199
196
|
var _useDraggable = (0, _core.useDraggable)({
|
|
200
197
|
id: "tool-".concat(value, "-").concat(index),
|
|
201
198
|
disabled: !draggable,
|
|
@@ -219,8 +216,7 @@ function DragTool(_ref4) {
|
|
|
219
216
|
accepts: ['tool']
|
|
220
217
|
}
|
|
221
218
|
}),
|
|
222
|
-
setDropNodeRef = _useDroppable.setNodeRef
|
|
223
|
-
isOver = _useDroppable.isOver;
|
|
219
|
+
setDropNodeRef = _useDroppable.setNodeRef;
|
|
224
220
|
|
|
225
221
|
// Combine refs
|
|
226
222
|
var setNodeRef = function setNodeRef(node) {
|
package/lib/toggle-bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-bar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_renderUi","_tools","_drag","_core","_utilities","_sortable","_translator","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","translator","Translator","StyledMiniButton","styled","Button","shouldForwardProp","prop","includes","_ref","selected","disabled","color","text","backgroundColor","background","border","concat","secondary","primary","MiniButton","exports","props","className","value","onClick","language","translatorKey","toLowerCase","createElement","size","key","variant","buttonValue","lng","propTypes","PropTypes","bool","string","disabledClassName","func","StyledToolsContainer","_ref2","theme","display","flexWrap","StyledButton","_ref3","marginRight","spacing","marginBottom","StyledWrapper","position","ToggleBar","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","onChange","target","textContent","dragIndex","hoverIndex","_this$props","options","onChangeToolsOrder","newOptions","arrayMove","console","log","event","active","over","activeData","data","current","overData","type","index","moveTool","_inherits2","_createClass2","render","_this2","_this$props2","selectedToolType","draggableTools","DragProvider","onDragEnd","handleDragEnd","map","option","allTools","isSelected","toolRef","React","createRef","DragTool","draggable","disableRipple","select","Component","arrayOf","_ref4","children","_useDraggable","useDraggable","id","attributes","listeners","setDragNodeRef","setNodeRef","transform","transition","isDragging","_useDroppable","useDroppable","accepts","setDropNodeRef","isOver","node","style","CSS","Transform","toString","opacity","ref","_extends2","number","object","_default"],"sources":["../src/toggle-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools';\nimport { DragProvider } from '@pie-lib/drag';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst StyledMiniButton = styled(Button, {\n shouldForwardProp: (prop) => !['selected'].includes(prop),\n})(({ selected, disabled }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n ...(selected && {\n border: `1px solid ${color.secondary()}`,\n }),\n ...(!selected && {\n '& span': {\n color: color.primary(),\n },\n }),\n ...(disabled && {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n }),\n}));\n\nexport const MiniButton = (props) => {\n const { disabled, className, selected, value, onClick, language } = props;\n const translatorKey = value.toLowerCase();\n\n return (\n <StyledMiniButton\n size=\"small\"\n disabled={disabled}\n className={className}\n selected={selected}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={(e) => onClick({ ...e, buttonValue: value })}\n >\n {translator.t(`graphing.${translatorKey}`, { lng: language })}\n </StyledMiniButton>\n );\n};\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nconst StyledToolsContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n}));\n\nconst StyledButton = styled(MiniButton)(({ theme }) => ({\n marginRight: theme.spacing(0.5),\n marginBottom: theme.spacing(0.5),\n color: color.text(),\n}));\n\nconst StyledWrapper = styled('div')({\n position: 'relative',\n});\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n select = (e) => this.props.onChange(e.buttonValue || e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const newOptions = arrayMove(options, dragIndex, hoverIndex);\n console.log('New Options Order:', newOptions);\n onChangeToolsOrder(newOptions);\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n \n console.log('Drag End Event:', event);\n if (!over || !active) return;\n\n const activeData = active.data.current;\n const overData = over.data.current;\n\n if (activeData?.type === 'tool' && overData?.type === 'tool') {\n const dragIndex = activeData.index;\n const hoverIndex = overData.index;\n \n if (dragIndex !== hoverIndex) {\n this.moveTool(dragIndex, hoverIndex);\n }\n }\n };\n\n render() {\n const { className, disabled, options, selectedToolType, draggableTools, language } = this.props;\n\n return (\n <DragProvider onDragEnd={this.handleDragEnd}>\n <StyledToolsContainer className={className}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n value={option}\n draggable={draggableTools}\n moveTool={this.moveTool}\n toolRef={toolRef}\n >\n <StyledButton\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n language={language}\n />\n </DragTool>\n );\n }\n })}\n </StyledToolsContainer>\n </DragProvider>\n );\n }\n}\n\n// DragTool functional component using @dnd-kit hooks\nfunction DragTool({ \n children, \n index, \n draggable, \n moveTool, \n toolRef, \n value \n}) {\n const {\n attributes,\n listeners,\n setNodeRef: setDragNodeRef,\n transform,\n transition,\n isDragging,\n } = useDraggable({\n id: `tool-${value}-${index}`,\n disabled: !draggable,\n data: {\n type: 'tool',\n index,\n value,\n },\n });\n\n const {\n setNodeRef: setDropNodeRef,\n isOver,\n } = useDroppable({\n id: `drop-tool-${value}-${index}`,\n data: {\n type: 'tool',\n index,\n accepts: ['tool'],\n },\n });\n\n // Combine refs\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n if (toolRef?.current) {\n toolRef.current = node;\n }\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n return (\n <StyledWrapper ref={setNodeRef} style={style}>\n <div {...attributes} {...listeners}>\n {children}\n </div>\n </StyledWrapper>\n );\n}\n\nDragTool.propTypes = {\n children: PropTypes.node,\n index: PropTypes.number,\n draggable: PropTypes.bool,\n moveTool: PropTypes.func,\n toolRef: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ToggleBar;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"toggle-bar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_renderUi","_tools","_drag","_core","_utilities","_sortable","_translator","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","translator","Translator","StyledMiniButton","styled","Button","shouldForwardProp","prop","includes","_ref","selected","disabled","color","text","backgroundColor","background","border","concat","secondary","primary","MiniButton","exports","props","className","value","onClick","language","translatorKey","toLowerCase","createElement","size","key","variant","buttonValue","lng","propTypes","PropTypes","bool","string","disabledClassName","func","StyledToolsContainer","display","flexWrap","StyledButton","_ref2","theme","marginRight","spacing","marginBottom","StyledWrapper","position","ToggleBar","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","onChange","target","textContent","dragIndex","hoverIndex","_this$props","options","onChangeToolsOrder","newOptions","arrayMove","event","active","over","activeData","data","current","overData","type","index","moveTool","_inherits2","_createClass2","render","_this2","_this$props2","selectedToolType","draggableTools","DragProvider","onDragEnd","handleDragEnd","map","option","allTools","isSelected","toolRef","React","createRef","DragTool","draggable","disableRipple","select","Component","arrayOf","_ref3","children","_useDraggable","useDraggable","id","attributes","listeners","setDragNodeRef","setNodeRef","transform","transition","isDragging","_useDroppable","useDroppable","accepts","setDropNodeRef","node","style","CSS","Transform","toString","opacity","ref","_extends2","number","object","_default"],"sources":["../src/toggle-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools';\nimport { DragProvider } from '@pie-lib/drag';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst StyledMiniButton = styled(Button, {\n shouldForwardProp: (prop) => !['selected'].includes(prop),\n})(({ selected, disabled }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n ...(selected && {\n border: `1px solid ${color.secondary()}`,\n }),\n ...(!selected && {\n '& span': {\n color: color.primary(),\n },\n }),\n ...(disabled && {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n }),\n}));\n\nexport const MiniButton = (props) => {\n const { disabled, className, selected, value, onClick, language } = props;\n const translatorKey = value.toLowerCase();\n\n return (\n <StyledMiniButton\n size=\"small\"\n disabled={disabled}\n className={className}\n selected={selected}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={(e) => onClick({ ...e, buttonValue: value })}\n >\n {translator.t(`graphing.${translatorKey}`, { lng: language })}\n </StyledMiniButton>\n );\n};\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n language: PropTypes.string,\n};\n\nconst StyledToolsContainer = styled('div')(() => ({\n display: 'flex',\n flexWrap: 'wrap',\n}));\n\nconst StyledButton = styled(MiniButton)(({ theme }) => ({\n marginRight: theme.spacing(0.5),\n marginBottom: theme.spacing(0.5),\n color: color.text(),\n}));\n\nconst StyledWrapper = styled('div')({\n position: 'relative',\n});\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n select = (e) => this.props.onChange(e.buttonValue || e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const newOptions = arrayMove(options, dragIndex, hoverIndex);\n onChangeToolsOrder(newOptions);\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n\n if (!over || !active) return;\n\n const activeData = active.data.current;\n const overData = over.data.current;\n\n if (activeData?.type === 'tool' && overData?.type === 'tool') {\n const dragIndex = activeData.index;\n const hoverIndex = overData.index;\n\n if (dragIndex !== hoverIndex) {\n this.moveTool(dragIndex, hoverIndex);\n }\n }\n };\n\n render() {\n const { className, disabled, options, selectedToolType, draggableTools, language } = this.props;\n\n return (\n <DragProvider onDragEnd={this.handleDragEnd}>\n <StyledToolsContainer className={className}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n value={option}\n draggable={draggableTools}\n moveTool={this.moveTool}\n toolRef={toolRef}\n >\n <StyledButton\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n language={language}\n />\n </DragTool>\n );\n }\n })}\n </StyledToolsContainer>\n </DragProvider>\n );\n }\n}\n\n// DragTool functional component using @dnd-kit hooks\nfunction DragTool({ children, index, draggable, toolRef, value }) {\n const { attributes, listeners, setNodeRef: setDragNodeRef, transform, transition, isDragging } = useDraggable({\n id: `tool-${value}-${index}`,\n disabled: !draggable,\n data: {\n type: 'tool',\n index,\n value,\n },\n });\n\n const { setNodeRef: setDropNodeRef } = useDroppable({\n id: `drop-tool-${value}-${index}`,\n data: {\n type: 'tool',\n index,\n accepts: ['tool'],\n },\n });\n\n // Combine refs\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n if (toolRef?.current) {\n toolRef.current = node;\n }\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n return (\n <StyledWrapper ref={setNodeRef} style={style}>\n <div {...attributes} {...listeners}>\n {children}\n </div>\n </StyledWrapper>\n );\n}\n\nDragTool.propTypes = {\n children: PropTypes.node,\n index: PropTypes.number,\n draggable: PropTypes.bool,\n moveTool: PropTypes.func,\n toolRef: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ToggleBar;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/tool-menu.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -15,8 +14,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
14
|
var _react = _interopRequireDefault(require("react"));
|
|
16
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
18
|
-
var _toggleBar =
|
|
19
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
17
|
+
var _toggleBar = _interopRequireDefault(require("./toggle-bar"));
|
|
20
18
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
21
19
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
20
|
var ToolMenu = exports.ToolMenu = /*#__PURE__*/function (_React$Component) {
|
package/lib/tool-menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-menu.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_toggleBar","
|
|
1
|
+
{"version":3,"file":"tool-menu.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_toggleBar","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ToolMenu","exports","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","tools","onChangeTools","props","_inherits2","_createClass2","key","value","render","_this2","_this$props","className","currentToolType","disabled","draggableTools","onChange","language","toolbarTools","createElement","classNames","options","selectedToolType","onChangeToolsOrder","updateToolsOrder","React","Component","PropTypes","string","bool","labelModeEnabled","func","arrayOf","_default"],"sources":["../src/tool-menu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeTools: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n language: PropTypes.string,\n };\n\n static defaultProps = {\n toolbarTools: [],\n };\n\n updateToolsOrder = (tools) => {\n const { onChangeTools } = this.props;\n onChangeTools(tools);\n };\n\n render() {\n const { className, currentToolType, disabled, draggableTools, onChange, language } = this.props;\n let { toolbarTools } = this.props;\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n draggableTools={draggableTools}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n onChangeToolsOrder={(tools) => this.updateToolsOrder(tools)}\n language={language}\n />\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -295,8 +295,7 @@ var RawBaseCircle = exports.RawBaseCircle = /*#__PURE__*/function (_React$Compon
|
|
|
295
295
|
return {};
|
|
296
296
|
}
|
|
297
297
|
});
|
|
298
|
-
var StyledBgCircle = (0, _styles.styled)(_bgCircle["default"])(function (
|
|
299
|
-
var theme = _ref.theme;
|
|
298
|
+
var StyledBgCircle = (0, _styles.styled)(_bgCircle["default"])(function () {
|
|
300
299
|
return {
|
|
301
300
|
'&.outerLine': {
|
|
302
301
|
fill: 'rgba(0,0,0,0)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_isEmpty","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","mark","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","_ref","theme","fill","stroke","color","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { styled, keyframes } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) => keyframes({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n limitLabeling: PropTypes.bool,\n };\n\n static defaultProps = {\n onClick: () => ({}),\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) draggedTo.label = to.label;\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n { draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false },\n () => onChange(updated),\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled || limitLabeling) return;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from?.label !== undefined) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to?.label !== undefined) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle?.label !== undefined) {\n circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <g>\n <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(({ theme }) => ({\n '&.outerLine': {\n fill: 'rgba(0,0,0,0)',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAAyD,SAAAa,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,WAAAlB,CAAA,EAAAI,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAApB,CAAA,EAAAqB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAAnB,CAAA,EAAAwB,WAAA,IAAApB,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAF,CAAA;AAAA,SAAAuB,0BAAA,cAAArB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAqB,yBAAA,YAAAA,0BAAA,aAAArB,CAAA;AAEzD,IAAM6B,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,OAAO;EAAA,OAAK,IAAAC,iBAAS,EAAC;IAC5C,IAAI,EAAE;MAAED,OAAO,EAAE;IAAM,CAAC;IACxB,KAAK,EAAE;MAAEA,OAAO,EAAPA;IAAQ,CAAC;IAClB,MAAM,EAAE;MAAEA,OAAO,EAAE;IAAM;EAC3B,CAAC,CAAC;AAAA;AAEF,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAI,EAAEC,KAAK,EAAK;EACjC,IAAMC,CAAC,GAAG,IAAAC,YAAK,EAACH,IAAI,CAAC;EACrB,OAAOE,CAAC,CAACE,IAAI,CAAC,IAAAD,YAAK,EAACF,KAAK,CAAC,CAAC;AAC7B,CAAC;AAAC,IAEWI,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAAE,gBAAA;EAAA,SAAAF,cAAA;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,aAAA;IAAA,SAAAK,IAAA,GAAAhC,SAAA,CAAAC,MAAA,EAAAgC,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAnC,SAAA,CAAAmC,IAAA;IAAA;IAAAL,KAAA,GAAAvB,UAAA,OAAAoB,aAAA,KAAAS,MAAA,CAAAH,IAAA;IAAA,IAAA9B,gBAAA,aAAA2B,KAAA,mBAyBR,UAACL,KAAK,EAAK;MACzB,IAAAY,WAAA,GAA6BP,KAAA,CAAKQ,KAAK;QAA/BC,MAAM,GAAAF,WAAA,CAANE,MAAM;QAAEC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;MACxB,IAAQlB,IAAI,GAASG,KAAK,CAAlBH,IAAI;QAAEmB,EAAE,GAAKhB,KAAK,CAAZgB,EAAE;MAEhB,IAAI,CAAC,IAAAC,kBAAW,EAACpB,IAAI,EAAEmB,EAAE,CAAC,EAAE;QAC1B,IAAIF,MAAM,EAAE;UACVd,KAAK,CAACc,MAAM,GAAAxC,aAAA,CAAAA,aAAA,KAAQwC,MAAM,GAAK,IAAAI,2BAAoB,EAACrB,IAAI,EAAEmB,EAAE,CAAC,CAAE;QACjE;QACAD,QAAQ,CAACf,KAAK,CAAC;MACjB;IACF,CAAC;IAAA,IAAAtB,gBAAA,aAAA2B,KAAA,cAEU,UAACc,WAAW,EAAK;MAC1B,IAAAC,YAAA,GAAqBf,KAAA,CAAKQ,KAAK;QAAvBhB,IAAI,GAAAuB,YAAA,CAAJvB,IAAI;QAAEmB,EAAE,GAAAI,YAAA,CAAFJ,EAAE;MAEhB,IAAInB,IAAI,CAACwB,KAAK,EAAEF,WAAW,CAACE,KAAK,GAAGxB,IAAI,CAACwB,KAAK;MAC9C,IAAI,CAAC,IAAAJ,kBAAW,EAACE,WAAW,EAAEH,EAAE,CAAC,EAAE;QACjCX,KAAA,CAAKiB,aAAa,CAAC;UAAEzB,IAAI,EAAEsB,WAAW;UAAEH,EAAE,EAAFA;QAAG,CAAC,CAAC;MAC/C;IACF,CAAC;IAAA,IAAAtC,gBAAA,aAAA2B,KAAA,YAEQ,UAACkB,SAAS,EAAK;MACtB,IAAAC,YAAA,GAAqBnB,KAAA,CAAKQ,KAAK;QAAvBhB,IAAI,GAAA2B,YAAA,CAAJ3B,IAAI;QAAEmB,EAAE,GAAAQ,YAAA,CAAFR,EAAE;MAEhB,IAAIA,EAAE,CAACK,KAAK,EAAEE,SAAS,CAACF,KAAK,GAAGL,EAAE,CAACK,KAAK;MACxC,IAAI,CAAC,IAAAJ,kBAAW,EAACpB,IAAI,EAAE0B,SAAS,CAAC,EAAE;QACjClB,KAAA,CAAKiB,aAAa,CAAC;UAAEzB,IAAI,EAAJA,IAAI;UAAEmB,EAAE,EAAEO;QAAU,CAAC,CAAC;MAC7C;IACF,CAAC;IAAA,IAAA7C,gBAAA,aAAA2B,KAAA,gBAEY,UAACc,WAAW,EAAK;MAC5B,IAAAM,YAAA,GAAuCpB,KAAA,CAAKQ,KAAK;QAAzChB,IAAI,GAAA4B,YAAA,CAAJ5B,IAAI;QAAEmB,EAAE,GAAAS,YAAA,CAAFT,EAAE;QAAED,QAAQ,GAAAU,YAAA,CAARV,QAAQ;QAAED,MAAM,GAAAW,YAAA,CAANX,MAAM;MAClC,IAAMY,IAAI,GAAG,IAAA1B,YAAK,EAACH,IAAI,CAAC,CAAC8B,GAAG,CAAC,IAAA3B,YAAK,EAACmB,WAAW,CAAC,CAAC;MAChD,IAAMI,SAAS,GAAG,IAAAvB,YAAK,EAACgB,EAAE,CAAC,CAACW,GAAG,CAACD,IAAI,CAAC;MAErC,IAAI7B,IAAI,CAACwB,KAAK,EAAEF,WAAW,CAACE,KAAK,GAAGxB,IAAI,CAACwB,KAAK;MAC9C,IAAIL,EAAE,CAACK,KAAK,EAAEE,SAAS,CAACF,KAAK,GAAGL,EAAE,CAACK,KAAK;MAExC,IAAMO,OAAO,GAAG;QAAE/B,IAAI,EAAEsB,WAAW;QAAEH,EAAE,EAAEO;MAAU,CAAC;MACpD,IAAIT,MAAM,EAAE;QACVc,OAAO,CAACd,MAAM,GAAAxC,aAAA,CAAAA,aAAA,KAAQwC,MAAM,GAAK,IAAAI,2BAAoB,EAACC,WAAW,EAAEI,SAAS,CAAC,CAAE;MACjF;MAEAlB,KAAA,CAAKwB,QAAQ,CACX;QAAEC,WAAW,EAAEC,SAAS;QAAEC,YAAY,EAAED,SAAS;QAAEE,YAAY,EAAE;MAAM,CAAC,EACxE;QAAA,OAAMlB,QAAQ,CAACa,OAAO,CAAC;MAAA,CACzB,CAAC;IACH,CAAC;IAAA,IAAAlD,gBAAA,aAAA2B,KAAA,iBAEa,UAACL,KAAK,EAAEkC,IAAI,EAAK;MAC7B,IAAQC,eAAe,GAAK9B,KAAA,CAAKQ,KAAK,CAA9BsB,eAAe;MACvB,IAAMC,MAAM,GAAA9D,aAAA,KAAQ0B,KAAK,CAAE;MAC3B,IAAI,CAACA,KAAK,CAACqB,KAAK,IAAI,IAAAgB,mBAAO,EAACrC,KAAK,CAACqB,KAAK,CAAC,EAAE,OAAOe,MAAM,CAACf,KAAK;MAC7Dc,eAAe,KAAAzD,gBAAA,iBAAIwD,IAAI,EAAGE,MAAM,CAAE,CAAC;IACrC,CAAC;IAAA,IAAA1D,gBAAA,aAAA2B,KAAA,gBAEY,UAACL,KAAK,EAAEkC,IAAI,EAAEI,IAAI,EAAK;MAClC,IAAAC,YAAA,GAA0FlC,KAAA,CAAKQ,KAAK;QAA5FsB,eAAe,GAAAI,YAAA,CAAfJ,eAAe;QAAEK,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QAAE3C,IAAI,GAAA0C,YAAA,CAAJ1C,IAAI;QAAEmB,EAAE,GAAAuB,YAAA,CAAFvB,EAAE;QAAEyB,gBAAgB,GAAAF,YAAA,CAAhBE,gBAAgB;QAAEC,aAAa,GAAAH,YAAA,CAAbG,aAAa;QAAEC,OAAO,GAAAJ,YAAA,CAAPI,OAAO;MAErF,IAAI,CAACF,gBAAgB,EAAE;QACrBE,OAAO,CAAC3C,KAAK,IAAIsC,IAAI,CAAC;QACtB;MACF;MAEA,IAAIE,QAAQ,IAAIE,aAAa,EAAE;MAE/B,IAAIR,IAAI,KAAK,QAAQ,IAAI,CAAClC,KAAK,IAAIH,IAAI,IAAImB,EAAE,EAAE;QAC7ChB,KAAK,GAAA1B,aAAA,CAAAA,aAAA,KAAQ0B,KAAK,GAAK,IAAAkB,2BAAoB,EAACrB,IAAI,EAAEmB,EAAE,CAAC,CAAE;MACzD;MAEAmB,eAAe,KAAAzD,gBAAA;QAAGmB,IAAI,EAAJA,IAAI;QAAEmB,EAAE,EAAFA;MAAE,GAAGkB,IAAI,EAAA5D,aAAA;QAAK+C,KAAK,EAAE;MAAE,GAAKrB,KAAK,EAAI,CAAC;MAE9D,IAAIK,KAAA,CAAKuC,KAAK,CAACV,IAAI,CAAC,EAAE;QACpB7B,KAAA,CAAKuC,KAAK,CAACV,IAAI,CAAC,CAACW,KAAK,CAAC,CAAC;MAC1B;IACF,CAAC;IAAA,IAAAnE,gBAAA,aAAA2B,KAAA,WAEO,CAAC,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAyC,UAAA,aAAA5C,aAAA,EAAAE,gBAAA;EAAA,WAAA2C,aAAA,aAAA7C,aAAA;IAAA8C,GAAA;IAAAC,KAAA,EAEV,SAAAC,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAcI,IAAI,CAACvC,KAAK;QAbZhB,IAAI,GAAAuD,YAAA,CAAJvD,IAAI;QACJmB,EAAE,GAAAoC,YAAA,CAAFpC,EAAE;QACFF,MAAM,GAAAsC,YAAA,CAANtC,MAAM;QACN0B,QAAQ,GAAAY,YAAA,CAARZ,QAAQ;QACRa,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QACRC,kBAAkB,GAAAF,YAAA,CAAlBE,kBAAkB;QAClBC,WAAW,GAAAH,YAAA,CAAXG,WAAW;QACXC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;QACVb,OAAO,GAAAS,YAAA,CAAPT,OAAO;QACPc,WAAW,GAAAL,YAAA,CAAXK,WAAW;QACXC,UAAU,GAAAN,YAAA,CAAVM,UAAU;QACVC,SAAS,GAAAP,YAAA,CAATO,SAAS;QACTlB,gBAAgB,GAAAW,YAAA,CAAhBX,gBAAgB;MAGlB,IAAMmB,MAAM,GAAG;QAAEL,WAAW,EAAXA,WAAW;QAAEC,UAAU,EAAVA,UAAU;QAAEE,UAAU,EAAVA,UAAU;QAAEf,OAAO,EAAPA;MAAQ,CAAC;MAC/D3B,EAAE,GAAGA,EAAE,IAAInB,IAAI;MACf,IAAMgE,MAAM,GAAGjE,SAAS,CAACC,IAAI,EAAEmB,EAAE,CAAC;MAElC,IAAI8C,aAAa,GAAG,IAAI;MACxB,IAAIC,WAAW,GAAG,IAAI;MACtB,IAAIC,eAAe,GAAG,IAAI;MAE1B,IAAIL,SAAS,EAAE;QAAA,IAAAM,GAAA;QACb,IAAI,CAAApE,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwB,KAAK,MAAKU,SAAS,EAAE;UAC7B+B,aAAa,gBAAGI,oBAAQ,CAACC,YAAY,cACnCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC/C,IAAI,GAAGlC,CAAC;YAAA,CAAE;YACvC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAEzE,IAAK;YACX6D,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAMuB,IAAI;gBAAEwB,KAAK,EAALA;cAAK,IAAI,MAAM,CAAC;YAAA;UAAC,CACnE,CAAC,EACFsC,SACF,CAAC;QACH;QAEA,IAAI,EAAAM,GAAA,GAAAjD,EAAE,cAAAiD,GAAA,uBAAFA,GAAA,CAAI5C,KAAK,MAAKU,SAAS,EAAE;UAC3BgC,WAAW,gBAAGG,oBAAQ,CAACC,YAAY,cACjCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC5B,EAAE,GAAGrD,CAAC;YAAA,CAAE;YACrC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAEtD,EAAG;YACT0C,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAM0C,EAAE;gBAAEK,KAAK,EAALA;cAAK,IAAI,IAAI,CAAC;YAAA;UAAC,CAC/D,CAAC,EACFsC,SACF,CAAC;QACH;QAEA,IAAI,CAAA7C,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,KAAK,MAAKU,SAAS,EAAE;UAC/BiC,eAAe,gBAAGE,oBAAQ,CAACC,YAAY,cACrCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC9B,MAAM,GAAGnD,CAAC;YAAA,CAAE;YACzC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAExD,MAAO;YACb4C,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAMwC,MAAM;gBAAEO,KAAK,EAALA;cAAK,IAAI,QAAQ,CAAC;YAAA;UAAC,CACvE,CAAC,EACFsC,SACF,CAAC;QACH;MACF;MAEA,oBACEjH,MAAA,YAAA0H,aAAA,yBACE1H,MAAA,YAAA0H,aAAA,CAACI,cAAc,MAAAC,SAAA;QACbjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/BiB,WAAW,EAAEA,WAAY;QACzBiB,SAAS,EAAE,IAAAC,sBAAU,EAACtB,QAAQ,IAAI,kBAAkB,CAAE;QACtDuB,CAAC,EAAE/E,IAAI,CAAC+E,CAAE;QACVC,CAAC,EAAEhF,IAAI,CAACgF,CAAE;QACVhB,MAAM,EAAEA,MAAO;QACfiB,MAAM,EAAE,IAAI,CAACC;MAAW,GACpBnB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAAClE,MAAM,EAAE,QAAQ,EAAEwB,IAAI,CAAC;QAAA;MAAC,EAC5D,CAAC,EACD0B,eAAe,eAEhBtH,MAAA,YAAA0H,aAAA,CAACrH,MAAA,CAAAkI,SAAS,MAAAR,SAAA;QACRjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/Bc,kBAAkB,EAAEA,kBAAmB;QACvCG,WAAW,EAAEA,WAAY;QACzBE,SAAS,EAAEA,SAAU;QACrBiB,CAAC,EAAE5D,EAAE,CAAC4D,CAAE;QACRC,CAAC,EAAE7D,EAAE,CAAC6D,CAAE;QACRC,MAAM,EAAE,IAAI,CAACI;MAAO,GAChBtB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAAChE,EAAE,EAAE,IAAI,EAAEsB,IAAI,CAAC;QAAA;MAAC,EACpD,CAAC,EACDyB,WAAW,eAEZrH,MAAA,YAAA0H,aAAA,CAACrH,MAAA,CAAAkI,SAAS,MAAAR,SAAA;QACRjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/Bc,kBAAkB,EAAEA,kBAAmB;QACvCG,WAAW,EAAEA,WAAY;QACzBE,SAAS,EAAEA,SAAU;QACrBiB,CAAC,EAAE/E,IAAI,CAAC+E,CAAE;QACVC,CAAC,EAAEhF,IAAI,CAACgF,CAAE;QACVH,SAAS,EAAC,MAAM;QAChBI,MAAM,EAAE,IAAI,CAACK;MAAS,GAClBvB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAACnF,IAAI,EAAE,MAAM,EAAEyC,IAAI,CAAC;QAAA;MAAC,EACxD,CAAC,EACDwB,aACA,CAAC;IAER;EAAC;AAAA,EArNgCsB,iBAAK,CAACC,SAAS,GAwNlD;AAAA,IAAA3G,gBAAA,aAxNawB,aAAa,eACL;EACjBmD,QAAQ,EAAEiC,qBAAS,CAACC,IAAI;EACxBb,SAAS,EAAEY,qBAAS,CAACE,MAAM;EAC3BlC,kBAAkB,EAAEgC,qBAAS,CAACC,IAAI;EAClC9B,WAAW,EAAE6B,qBAAS,CAACE,MAAM;EAC7B3F,IAAI,EAAE4F,WAAK,CAACC,SAAS;EACrBlD,QAAQ,EAAE8C,qBAAS,CAACC,IAAI;EACxBvE,EAAE,EAAEyE,WAAK,CAACC,SAAS;EACnB5E,MAAM,EAAE2E,WAAK,CAACC,SAAS;EACvB3E,QAAQ,EAAEuE,qBAAS,CAACK,IAAI,CAACC,UAAU;EACnCrC,WAAW,EAAE+B,qBAAS,CAACK,IAAI;EAC3BnC,UAAU,EAAE8B,qBAAS,CAACK,IAAI;EAC1BjC,UAAU,EAAE+B,WAAK,CAACI,cAAc,CAACD,UAAU;EAC3CjD,OAAO,EAAE2C,qBAAS,CAACK,IAAI;EACvBhC,SAAS,EAAE2B,qBAAS,CAACQ,MAAM;EAC3BrD,gBAAgB,EAAE6C,qBAAS,CAACC,IAAI;EAChCpD,eAAe,EAAEmD,qBAAS,CAACK,IAAI;EAC/BjD,aAAa,EAAE4C,qBAAS,CAACC;AAC3B,CAAC;AAAA,IAAA7G,gBAAA,aAnBUwB,aAAa,kBAqBF;EACpByC,OAAO,EAAE,SAATA,OAAOA,CAAA;IAAA,OAAS,CAAC,CAAC;EAAA;AACpB,CAAC;AAkMH,IAAM6B,cAAc,GAAG,IAAAuB,cAAM,EAACC,oBAAQ,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACtD,aAAa,EAAE;MACbC,IAAI,EAAE,eAAe;MACrBC,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BC,WAAW,EAAE,CAAC;MACd,SAAS,EAAE;QACTA,WAAW,EAAE,CAAC;QACdJ,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACG;MACzB;IACF,CAAC;IACD,oBAAoB,EAAE;MACpBL,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BG,SAAS,KAAA/F,MAAA,CAAKlB,cAAc,CAAC,KAAK,CAAC,0BAAuB;MAC1DC,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC,CAAC;AAEI,IAAMiH,UAAU,GAAAxG,OAAA,CAAAwG,UAAA,GAAGzG,aAAa;AACvC,IAAMmF,SAAS,GAAG,IAAAuB,+BAAiB,EAACD,UAAU,CAAC;AAAC,IAAAE,QAAA,GAAA1G,OAAA,cACjCkF,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_point","_bgCircle","_utils","_plot","_withRootEdge","_reactDom","_markLabel","_isEmpty","_renderUi","_styles","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","opacityPulsate","opacity","keyframes","getRadius","from","outer","c","point","dist","RawBaseCircle","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","_this$props","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","_this$props2","label","onChangePoint","draggedTo","_this$props3","_this$props4","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","data","_this$props5","disabled","labelModeEnabled","limitLabeling","onClick","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props6","building","coordinatesOnHover","onDragStart","onDragStop","correctness","graphProps","labelNode","common","radius","fromLabelNode","toLabelNode","circleLabelNode","_to","ReactDOM","createPortal","createElement","inputRef","mark","labelChange","StyledBgCircle","_extends2","className","classNames","x","y","onDrag","dragCircle","clickPoint","BasePoint","dragTo","dragFrom","React","Component","PropTypes","bool","string","types","PointType","func","isRequired","GraphPropsType","object","styled","BgCircle","fill","stroke","color","defaults","BLACK","strokeWidth","PRIMARY_DARK","animation","BaseCircle","rootEdgeComponent","_default"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { styled, keyframes } from '@mui/material/styles';\n\nconst opacityPulsate = (opacity) => keyframes({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' },\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n limitLabeling: PropTypes.bool,\n };\n\n static defaultProps = {\n onClick: () => ({}),\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n onChange(point);\n }\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) draggedFrom.label = from.label;\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) draggedTo.label = to.label;\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = (draggedFrom) => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) draggedFrom.label = from.label;\n if (to.label) draggedTo.label = to.label;\n\n const updated = { from: draggedFrom, to: draggedTo };\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n { draggedroot: undefined, draggedOuter: undefined, isCircleDrag: false },\n () => onChange(updated),\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n if (!point.label || isEmpty(point.label)) delete update.label;\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled || limitLabeling) return;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n building,\n coordinatesOnHover,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled,\n } = this.props;\n\n const common = { onDragStart, onDragStop, graphProps, onClick };\n to = to || from;\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from?.label !== undefined) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to?.label !== undefined) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle?.label !== undefined) {\n circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <g>\n <StyledBgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && 'bgCircleBuilding')}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className=\"from\"\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\n// MUI v5 styled() replaces withStyles\nconst StyledBgCircle = styled(BgCircle)(() => ({\n '&.outerLine': {\n fill: 'rgba(0,0,0,0)',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n '&.bgCircleBuilding': {\n stroke: color.defaults.BLACK,\n animation: `${opacityPulsate('0.3')} 2s ease-out infinite`,\n opacity: 1,\n },\n}));\n\nexport const BaseCircle = RawBaseCircle;\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAAyD,SAAAa,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAoB,WAAAlB,CAAA,EAAAI,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAApB,CAAA,EAAAqB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAAnB,CAAA,EAAAwB,WAAA,IAAApB,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAF,CAAA;AAAA,SAAAuB,0BAAA,cAAArB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,OAAA,CAAAC,SAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAqB,yBAAA,YAAAA,0BAAA,aAAArB,CAAA;AAEzD,IAAM6B,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,OAAO;EAAA,OAAK,IAAAC,iBAAS,EAAC;IAC5C,IAAI,EAAE;MAAED,OAAO,EAAE;IAAM,CAAC;IACxB,KAAK,EAAE;MAAEA,OAAO,EAAPA;IAAQ,CAAC;IAClB,MAAM,EAAE;MAAEA,OAAO,EAAE;IAAM;EAC3B,CAAC,CAAC;AAAA;AAEF,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAIC,IAAI,EAAEC,KAAK,EAAK;EACjC,IAAMC,CAAC,GAAG,IAAAC,YAAK,EAACH,IAAI,CAAC;EACrB,OAAOE,CAAC,CAACE,IAAI,CAAC,IAAAD,YAAK,EAACF,KAAK,CAAC,CAAC;AAC7B,CAAC;AAAC,IAEWI,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAAE,gBAAA;EAAA,SAAAF,cAAA;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,aAAA;IAAA,SAAAK,IAAA,GAAAhC,SAAA,CAAAC,MAAA,EAAAgC,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAnC,SAAA,CAAAmC,IAAA;IAAA;IAAAL,KAAA,GAAAvB,UAAA,OAAAoB,aAAA,KAAAS,MAAA,CAAAH,IAAA;IAAA,IAAA9B,gBAAA,aAAA2B,KAAA,mBAyBR,UAACL,KAAK,EAAK;MACzB,IAAAY,WAAA,GAA6BP,KAAA,CAAKQ,KAAK;QAA/BC,MAAM,GAAAF,WAAA,CAANE,MAAM;QAAEC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;MACxB,IAAQlB,IAAI,GAASG,KAAK,CAAlBH,IAAI;QAAEmB,EAAE,GAAKhB,KAAK,CAAZgB,EAAE;MAEhB,IAAI,CAAC,IAAAC,kBAAW,EAACpB,IAAI,EAAEmB,EAAE,CAAC,EAAE;QAC1B,IAAIF,MAAM,EAAE;UACVd,KAAK,CAACc,MAAM,GAAAxC,aAAA,CAAAA,aAAA,KAAQwC,MAAM,GAAK,IAAAI,2BAAoB,EAACrB,IAAI,EAAEmB,EAAE,CAAC,CAAE;QACjE;QACAD,QAAQ,CAACf,KAAK,CAAC;MACjB;IACF,CAAC;IAAA,IAAAtB,gBAAA,aAAA2B,KAAA,cAEU,UAACc,WAAW,EAAK;MAC1B,IAAAC,YAAA,GAAqBf,KAAA,CAAKQ,KAAK;QAAvBhB,IAAI,GAAAuB,YAAA,CAAJvB,IAAI;QAAEmB,EAAE,GAAAI,YAAA,CAAFJ,EAAE;MAEhB,IAAInB,IAAI,CAACwB,KAAK,EAAEF,WAAW,CAACE,KAAK,GAAGxB,IAAI,CAACwB,KAAK;MAC9C,IAAI,CAAC,IAAAJ,kBAAW,EAACE,WAAW,EAAEH,EAAE,CAAC,EAAE;QACjCX,KAAA,CAAKiB,aAAa,CAAC;UAAEzB,IAAI,EAAEsB,WAAW;UAAEH,EAAE,EAAFA;QAAG,CAAC,CAAC;MAC/C;IACF,CAAC;IAAA,IAAAtC,gBAAA,aAAA2B,KAAA,YAEQ,UAACkB,SAAS,EAAK;MACtB,IAAAC,YAAA,GAAqBnB,KAAA,CAAKQ,KAAK;QAAvBhB,IAAI,GAAA2B,YAAA,CAAJ3B,IAAI;QAAEmB,EAAE,GAAAQ,YAAA,CAAFR,EAAE;MAEhB,IAAIA,EAAE,CAACK,KAAK,EAAEE,SAAS,CAACF,KAAK,GAAGL,EAAE,CAACK,KAAK;MACxC,IAAI,CAAC,IAAAJ,kBAAW,EAACpB,IAAI,EAAE0B,SAAS,CAAC,EAAE;QACjClB,KAAA,CAAKiB,aAAa,CAAC;UAAEzB,IAAI,EAAJA,IAAI;UAAEmB,EAAE,EAAEO;QAAU,CAAC,CAAC;MAC7C;IACF,CAAC;IAAA,IAAA7C,gBAAA,aAAA2B,KAAA,gBAEY,UAACc,WAAW,EAAK;MAC5B,IAAAM,YAAA,GAAuCpB,KAAA,CAAKQ,KAAK;QAAzChB,IAAI,GAAA4B,YAAA,CAAJ5B,IAAI;QAAEmB,EAAE,GAAAS,YAAA,CAAFT,EAAE;QAAED,QAAQ,GAAAU,YAAA,CAARV,QAAQ;QAAED,MAAM,GAAAW,YAAA,CAANX,MAAM;MAClC,IAAMY,IAAI,GAAG,IAAA1B,YAAK,EAACH,IAAI,CAAC,CAAC8B,GAAG,CAAC,IAAA3B,YAAK,EAACmB,WAAW,CAAC,CAAC;MAChD,IAAMI,SAAS,GAAG,IAAAvB,YAAK,EAACgB,EAAE,CAAC,CAACW,GAAG,CAACD,IAAI,CAAC;MAErC,IAAI7B,IAAI,CAACwB,KAAK,EAAEF,WAAW,CAACE,KAAK,GAAGxB,IAAI,CAACwB,KAAK;MAC9C,IAAIL,EAAE,CAACK,KAAK,EAAEE,SAAS,CAACF,KAAK,GAAGL,EAAE,CAACK,KAAK;MAExC,IAAMO,OAAO,GAAG;QAAE/B,IAAI,EAAEsB,WAAW;QAAEH,EAAE,EAAEO;MAAU,CAAC;MACpD,IAAIT,MAAM,EAAE;QACVc,OAAO,CAACd,MAAM,GAAAxC,aAAA,CAAAA,aAAA,KAAQwC,MAAM,GAAK,IAAAI,2BAAoB,EAACC,WAAW,EAAEI,SAAS,CAAC,CAAE;MACjF;MAEAlB,KAAA,CAAKwB,QAAQ,CACX;QAAEC,WAAW,EAAEC,SAAS;QAAEC,YAAY,EAAED,SAAS;QAAEE,YAAY,EAAE;MAAM,CAAC,EACxE;QAAA,OAAMlB,QAAQ,CAACa,OAAO,CAAC;MAAA,CACzB,CAAC;IACH,CAAC;IAAA,IAAAlD,gBAAA,aAAA2B,KAAA,iBAEa,UAACL,KAAK,EAAEkC,IAAI,EAAK;MAC7B,IAAQC,eAAe,GAAK9B,KAAA,CAAKQ,KAAK,CAA9BsB,eAAe;MACvB,IAAMC,MAAM,GAAA9D,aAAA,KAAQ0B,KAAK,CAAE;MAC3B,IAAI,CAACA,KAAK,CAACqB,KAAK,IAAI,IAAAgB,mBAAO,EAACrC,KAAK,CAACqB,KAAK,CAAC,EAAE,OAAOe,MAAM,CAACf,KAAK;MAC7Dc,eAAe,KAAAzD,gBAAA,iBAAIwD,IAAI,EAAGE,MAAM,CAAE,CAAC;IACrC,CAAC;IAAA,IAAA1D,gBAAA,aAAA2B,KAAA,gBAEY,UAACL,KAAK,EAAEkC,IAAI,EAAEI,IAAI,EAAK;MAClC,IAAAC,YAAA,GAA0FlC,KAAA,CAAKQ,KAAK;QAA5FsB,eAAe,GAAAI,YAAA,CAAfJ,eAAe;QAAEK,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QAAE3C,IAAI,GAAA0C,YAAA,CAAJ1C,IAAI;QAAEmB,EAAE,GAAAuB,YAAA,CAAFvB,EAAE;QAAEyB,gBAAgB,GAAAF,YAAA,CAAhBE,gBAAgB;QAAEC,aAAa,GAAAH,YAAA,CAAbG,aAAa;QAAEC,OAAO,GAAAJ,YAAA,CAAPI,OAAO;MAErF,IAAI,CAACF,gBAAgB,EAAE;QACrBE,OAAO,CAAC3C,KAAK,IAAIsC,IAAI,CAAC;QACtB;MACF;MAEA,IAAIE,QAAQ,IAAIE,aAAa,EAAE;MAE/B,IAAIR,IAAI,KAAK,QAAQ,IAAI,CAAClC,KAAK,IAAIH,IAAI,IAAImB,EAAE,EAAE;QAC7ChB,KAAK,GAAA1B,aAAA,CAAAA,aAAA,KAAQ0B,KAAK,GAAK,IAAAkB,2BAAoB,EAACrB,IAAI,EAAEmB,EAAE,CAAC,CAAE;MACzD;MAEAmB,eAAe,KAAAzD,gBAAA;QAAGmB,IAAI,EAAJA,IAAI;QAAEmB,EAAE,EAAFA;MAAE,GAAGkB,IAAI,EAAA5D,aAAA;QAAK+C,KAAK,EAAE;MAAE,GAAKrB,KAAK,EAAI,CAAC;MAE9D,IAAIK,KAAA,CAAKuC,KAAK,CAACV,IAAI,CAAC,EAAE;QACpB7B,KAAA,CAAKuC,KAAK,CAACV,IAAI,CAAC,CAACW,KAAK,CAAC,CAAC;MAC1B;IACF,CAAC;IAAA,IAAAnE,gBAAA,aAAA2B,KAAA,WAEO,CAAC,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAyC,UAAA,aAAA5C,aAAA,EAAAE,gBAAA;EAAA,WAAA2C,aAAA,aAAA7C,aAAA;IAAA8C,GAAA;IAAAC,KAAA,EAEV,SAAAC,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAcI,IAAI,CAACvC,KAAK;QAbZhB,IAAI,GAAAuD,YAAA,CAAJvD,IAAI;QACJmB,EAAE,GAAAoC,YAAA,CAAFpC,EAAE;QACFF,MAAM,GAAAsC,YAAA,CAANtC,MAAM;QACN0B,QAAQ,GAAAY,YAAA,CAARZ,QAAQ;QACRa,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QACRC,kBAAkB,GAAAF,YAAA,CAAlBE,kBAAkB;QAClBC,WAAW,GAAAH,YAAA,CAAXG,WAAW;QACXC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;QACVb,OAAO,GAAAS,YAAA,CAAPT,OAAO;QACPc,WAAW,GAAAL,YAAA,CAAXK,WAAW;QACXC,UAAU,GAAAN,YAAA,CAAVM,UAAU;QACVC,SAAS,GAAAP,YAAA,CAATO,SAAS;QACTlB,gBAAgB,GAAAW,YAAA,CAAhBX,gBAAgB;MAGlB,IAAMmB,MAAM,GAAG;QAAEL,WAAW,EAAXA,WAAW;QAAEC,UAAU,EAAVA,UAAU;QAAEE,UAAU,EAAVA,UAAU;QAAEf,OAAO,EAAPA;MAAQ,CAAC;MAC/D3B,EAAE,GAAGA,EAAE,IAAInB,IAAI;MACf,IAAMgE,MAAM,GAAGjE,SAAS,CAACC,IAAI,EAAEmB,EAAE,CAAC;MAElC,IAAI8C,aAAa,GAAG,IAAI;MACxB,IAAIC,WAAW,GAAG,IAAI;MACtB,IAAIC,eAAe,GAAG,IAAI;MAE1B,IAAIL,SAAS,EAAE;QAAA,IAAAM,GAAA;QACb,IAAI,CAAApE,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEwB,KAAK,MAAKU,SAAS,EAAE;UAC7B+B,aAAa,gBAAGI,oBAAQ,CAACC,YAAY,cACnCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC/C,IAAI,GAAGlC,CAAC;YAAA,CAAE;YACvC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAEzE,IAAK;YACX6D,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAMuB,IAAI;gBAAEwB,KAAK,EAALA;cAAK,IAAI,MAAM,CAAC;YAAA;UAAC,CACnE,CAAC,EACFsC,SACF,CAAC;QACH;QAEA,IAAI,EAAAM,GAAA,GAAAjD,EAAE,cAAAiD,GAAA,uBAAFA,GAAA,CAAI5C,KAAK,MAAKU,SAAS,EAAE;UAC3BgC,WAAW,gBAAGG,oBAAQ,CAACC,YAAY,cACjCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC5B,EAAE,GAAGrD,CAAC;YAAA,CAAE;YACrC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAEtD,EAAG;YACT0C,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAM0C,EAAE;gBAAEK,KAAK,EAALA;cAAK,IAAI,IAAI,CAAC;YAAA;UAAC,CAC/D,CAAC,EACFsC,SACF,CAAC;QACH;QAEA,IAAI,CAAA7C,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,KAAK,MAAKU,SAAS,EAAE;UAC/BiC,eAAe,gBAAGE,oBAAQ,CAACC,YAAY,cACrCzH,MAAA,YAAA0H,aAAA,CAAC/G,UAAA,WAAS;YACRgH,QAAQ,EAAE,SAAVA,QAAQA,CAAG1G,CAAC;cAAA,OAAMwF,MAAI,CAACP,KAAK,CAAC9B,MAAM,GAAGnD,CAAC;YAAA,CAAE;YACzC6E,QAAQ,EAAE,CAACC,gBAAiB;YAC5B6B,IAAI,EAAExD,MAAO;YACb4C,UAAU,EAAEA,UAAW;YACvB3C,QAAQ,EAAE,SAAVA,QAAQA,CAAGM,KAAK;cAAA,OAAK8B,MAAI,CAACoB,WAAW,CAAAjG,aAAA,CAAAA,aAAA,KAAMwC,MAAM;gBAAEO,KAAK,EAALA;cAAK,IAAI,QAAQ,CAAC;YAAA;UAAC,CACvE,CAAC,EACFsC,SACF,CAAC;QACH;MACF;MAEA,oBACEjH,MAAA,YAAA0H,aAAA,yBACE1H,MAAA,YAAA0H,aAAA,CAACI,cAAc,MAAAC,SAAA;QACbjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/BiB,WAAW,EAAEA,WAAY;QACzBiB,SAAS,EAAE,IAAAC,sBAAU,EAACtB,QAAQ,IAAI,kBAAkB,CAAE;QACtDuB,CAAC,EAAE/E,IAAI,CAAC+E,CAAE;QACVC,CAAC,EAAEhF,IAAI,CAACgF,CAAE;QACVhB,MAAM,EAAEA,MAAO;QACfiB,MAAM,EAAE,IAAI,CAACC;MAAW,GACpBnB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAAClE,MAAM,EAAE,QAAQ,EAAEwB,IAAI,CAAC;QAAA;MAAC,EAC5D,CAAC,EACD0B,eAAe,eAEhBtH,MAAA,YAAA0H,aAAA,CAACrH,MAAA,CAAAkI,SAAS,MAAAR,SAAA;QACRjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/Bc,kBAAkB,EAAEA,kBAAmB;QACvCG,WAAW,EAAEA,WAAY;QACzBE,SAAS,EAAEA,SAAU;QACrBiB,CAAC,EAAE5D,EAAE,CAAC4D,CAAE;QACRC,CAAC,EAAE7D,EAAE,CAAC6D,CAAE;QACRC,MAAM,EAAE,IAAI,CAACI;MAAO,GAChBtB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAAChE,EAAE,EAAE,IAAI,EAAEsB,IAAI,CAAC;QAAA;MAAC,EACpD,CAAC,EACDyB,WAAW,eAEZrH,MAAA,YAAA0H,aAAA,CAACrH,MAAA,CAAAkI,SAAS,MAAAR,SAAA;QACRjC,QAAQ,EAAEa,QAAQ,IAAIb,QAAS;QAC/Bc,kBAAkB,EAAEA,kBAAmB;QACvCG,WAAW,EAAEA,WAAY;QACzBE,SAAS,EAAEA,SAAU;QACrBiB,CAAC,EAAE/E,IAAI,CAAC+E,CAAE;QACVC,CAAC,EAAEhF,IAAI,CAACgF,CAAE;QACVH,SAAS,EAAC,MAAM;QAChBI,MAAM,EAAE,IAAI,CAACK;MAAS,GAClBvB,MAAM;QACVjB,OAAO,EAAE,SAATA,OAAOA,CAAGL,IAAI;UAAA,OAAKa,MAAI,CAAC6B,UAAU,CAACnF,IAAI,EAAE,MAAM,EAAEyC,IAAI,CAAC;QAAA;MAAC,EACxD,CAAC,EACDwB,aACA,CAAC;IAER;EAAC;AAAA,EArNgCsB,iBAAK,CAACC,SAAS,GAwNlD;AAAA,IAAA3G,gBAAA,aAxNawB,aAAa,eACL;EACjBmD,QAAQ,EAAEiC,qBAAS,CAACC,IAAI;EACxBb,SAAS,EAAEY,qBAAS,CAACE,MAAM;EAC3BlC,kBAAkB,EAAEgC,qBAAS,CAACC,IAAI;EAClC9B,WAAW,EAAE6B,qBAAS,CAACE,MAAM;EAC7B3F,IAAI,EAAE4F,WAAK,CAACC,SAAS;EACrBlD,QAAQ,EAAE8C,qBAAS,CAACC,IAAI;EACxBvE,EAAE,EAAEyE,WAAK,CAACC,SAAS;EACnB5E,MAAM,EAAE2E,WAAK,CAACC,SAAS;EACvB3E,QAAQ,EAAEuE,qBAAS,CAACK,IAAI,CAACC,UAAU;EACnCrC,WAAW,EAAE+B,qBAAS,CAACK,IAAI;EAC3BnC,UAAU,EAAE8B,qBAAS,CAACK,IAAI;EAC1BjC,UAAU,EAAE+B,WAAK,CAACI,cAAc,CAACD,UAAU;EAC3CjD,OAAO,EAAE2C,qBAAS,CAACK,IAAI;EACvBhC,SAAS,EAAE2B,qBAAS,CAACQ,MAAM;EAC3BrD,gBAAgB,EAAE6C,qBAAS,CAACC,IAAI;EAChCpD,eAAe,EAAEmD,qBAAS,CAACK,IAAI;EAC/BjD,aAAa,EAAE4C,qBAAS,CAACC;AAC3B,CAAC;AAAA,IAAA7G,gBAAA,aAnBUwB,aAAa,kBAqBF;EACpByC,OAAO,EAAE,SAATA,OAAOA,CAAA;IAAA,OAAS,CAAC,CAAC;EAAA;AACpB,CAAC;AAkMH,IAAM6B,cAAc,GAAG,IAAAuB,cAAM,EAACC,oBAAQ,CAAC,CAAC;EAAA,OAAO;IAC7C,aAAa,EAAE;MACbC,IAAI,EAAE,eAAe;MACrBC,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BC,WAAW,EAAE,CAAC;MACd,SAAS,EAAE;QACTA,WAAW,EAAE,CAAC;QACdJ,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACG;MACzB;IACF,CAAC;IACD,oBAAoB,EAAE;MACpBL,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BG,SAAS,KAAA7F,MAAA,CAAKlB,cAAc,CAAC,KAAK,CAAC,0BAAuB;MAC1DC,OAAO,EAAE;IACX;EACF,CAAC;AAAA,CAAC,CAAC;AAEI,IAAM+G,UAAU,GAAAtG,OAAA,CAAAsG,UAAA,GAAGvG,aAAa;AACvC,IAAMmF,SAAS,GAAG,IAAAqB,+BAAiB,EAACD,UAAU,CAAC;AAAC,IAAAE,QAAA,GAAAxG,OAAA,cACjCkF,SAAS","ignoreList":[]}
|
|
@@ -119,7 +119,7 @@ var Point = exports.Point = /*#__PURE__*/function (_React$Component) {
|
|
|
119
119
|
e.stopPropagation();
|
|
120
120
|
_this2.clickPoint();
|
|
121
121
|
}
|
|
122
|
-
})), labelNode &&
|
|
122
|
+
})), labelNode && Object.prototype.hasOwnProperty.call(mark, 'label') && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
123
123
|
inputRef: function inputRef(r) {
|
|
124
124
|
return _this2.input = r;
|
|
125
125
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_point","_types","_plot","_reactDom","_markLabel","_isEqual","_isEmpty","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Point","exports","_React$Component","props","_this","_classCallCheck2","p","mark","state","setState","update","label","onChange","undefined","isEqual","isEmpty","_this$props","labelModeEnabled","onClick","disabled","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props2","coordinatesOnHover","graphProps","labelNode","createElement","Fragment","BasePoint","_extends2","onDrag","move","onDragStart","startDrag","onDragStop","stopDrag","clickPoint","onTouchStart","stopPropagation","onTouchEnd","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields","_default"],"sources":["../../../src/tools/point/component.jsx"],"sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = (p) => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = (label) => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (!labelModeEnabled) {\n onClick(mark);\n return;\n }\n\n if (mark.disabled) {\n return;\n }\n\n onChange(mark, { label: '', ...mark });\n\n if (this.input) {\n this.input.focus();\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n onTouchStart={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n onTouchEnd={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n />\n {labelNode &&\n
|
|
1
|
+
{"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_point","_types","_plot","_reactDom","_markLabel","_isEqual","_isEmpty","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","Point","exports","_React$Component","props","_this","_classCallCheck2","p","mark","state","setState","update","label","onChange","undefined","isEqual","isEmpty","_this$props","labelModeEnabled","onClick","disabled","input","focus","_inherits2","_createClass2","key","value","render","_this2","_this$props2","coordinatesOnHover","graphProps","labelNode","createElement","Fragment","BasePoint","_extends2","onDrag","move","onDragStart","startDrag","onDragStop","stopDrag","clickPoint","onTouchStart","stopPropagation","onTouchEnd","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields","_default"],"sources":["../../../src/tools/point/component.jsx"],"sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = (p) => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = (label) => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (!labelModeEnabled) {\n onClick(mark);\n return;\n }\n\n if (mark.disabled) {\n return;\n }\n\n onChange(mark, { label: '', ...mark });\n\n if (this.input) {\n this.input.focus();\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n onTouchStart={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n onTouchEnd={(e) => {\n e.stopPropagation();\n this.clickPoint();\n }}\n />\n {labelNode &&\n Object.prototype.hasOwnProperty.call(mark, 'label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode,\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -229,7 +229,7 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
229
229
|
};
|
|
230
230
|
var polygonLabelIndex = points && points.length || 0;
|
|
231
231
|
var polygonLabelNode = null;
|
|
232
|
-
if (labelNode && middle &&
|
|
232
|
+
if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
|
|
233
233
|
polygonLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
234
234
|
inputRef: function inputRef(r) {
|
|
235
235
|
return _this2.input[polygonLabelIndex] = r;
|
|
@@ -273,7 +273,7 @@ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$
|
|
|
273
273
|
onDrag: _this2.dragPoint.bind(_this2, index, p)
|
|
274
274
|
}, common, {
|
|
275
275
|
onClick: _this2.clickPoint.bind(_this2, p, index)
|
|
276
|
-
})), labelNode &&
|
|
276
|
+
})), labelNode && Object.prototype.hasOwnProperty.call(p, 'label') ? /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
277
277
|
inputRef: function inputRef(r) {
|
|
278
278
|
return _this2.input[index] = r;
|
|
279
279
|
},
|