@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.
Files changed (118) hide show
  1. package/CHANGELOG.md +8 -97
  2. package/lib/axis/axes.js +7 -13
  3. package/lib/axis/axes.js.map +1 -1
  4. package/lib/coordinates-label.js +2 -0
  5. package/lib/coordinates-label.js.map +1 -1
  6. package/lib/grid-setup.js +30 -36
  7. package/lib/grid-setup.js.map +1 -1
  8. package/lib/grid.js +1 -1
  9. package/lib/grid.js.map +1 -1
  10. package/lib/key-legend.js +6 -7
  11. package/lib/key-legend.js.map +1 -1
  12. package/lib/labels.js +4 -2
  13. package/lib/labels.js.map +1 -1
  14. package/lib/mark-label.js +16 -9
  15. package/lib/mark-label.js.map +1 -1
  16. package/lib/toggle-bar.js +12 -16
  17. package/lib/toggle-bar.js.map +1 -1
  18. package/lib/tool-menu.js +1 -3
  19. package/lib/tool-menu.js.map +1 -1
  20. package/lib/tools/circle/component.js +1 -2
  21. package/lib/tools/circle/component.js.map +1 -1
  22. package/lib/tools/point/component.js +1 -1
  23. package/lib/tools/point/component.js.map +1 -1
  24. package/lib/tools/polygon/component.js +2 -2
  25. package/lib/tools/polygon/component.js.map +1 -1
  26. package/lib/tools/polygon/line.js +2 -2
  27. package/lib/tools/polygon/line.js.map +1 -1
  28. package/lib/tools/shared/icons/CorrectSVG.js +9 -0
  29. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
  30. package/lib/tools/shared/icons/IncorrectSVG.js +9 -0
  31. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
  32. package/lib/tools/shared/icons/MissingSVG.js +9 -0
  33. package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
  34. package/lib/tools/shared/line/index.js +14 -6
  35. package/lib/tools/shared/line/index.js.map +1 -1
  36. package/lib/tools/shared/line/line-path.js +2 -3
  37. package/lib/tools/shared/line/line-path.js.map +1 -1
  38. package/lib/tools/shared/line/with-root-edge.js +1 -1
  39. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  40. package/lib/tools/shared/point/arrow-point.js +1 -3
  41. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  42. package/lib/tools/shared/point/arrow.js +1 -2
  43. package/lib/tools/shared/point/arrow.js.map +1 -1
  44. package/package.json +25 -16
  45. package/src/__tests__/graph-with-controls.test.jsx +28 -11
  46. package/src/__tests__/graph.test.jsx +104 -168
  47. package/src/__tests__/grid.test.jsx +8 -6
  48. package/src/__tests__/labels.test.jsx +25 -8
  49. package/src/__tests__/mark-label.test.jsx +12 -17
  50. package/src/__tests__/toggle-bar.test.jsx +92 -17
  51. package/src/__tests__/tool-menu.test.jsx +61 -12
  52. package/src/__tests__/undo-redo.test.jsx +7 -8
  53. package/src/__tests__/utils.js +3 -0
  54. package/src/axis/__tests__/arrow.test.jsx +16 -17
  55. package/src/axis/__tests__/axes.test.jsx +118 -122
  56. package/src/axis/axes.jsx +7 -12
  57. package/src/coordinates-label.jsx +1 -0
  58. package/src/grid-setup.jsx +6 -6
  59. package/src/grid.jsx +1 -1
  60. package/src/key-legend.jsx +1 -1
  61. package/src/labels.jsx +2 -0
  62. package/src/mark-label.jsx +10 -1
  63. package/src/toggle-bar.jsx +7 -25
  64. package/src/tool-menu.jsx +1 -1
  65. package/src/tools/circle/__tests__/bg-circle.test.jsx +7 -9
  66. package/src/tools/circle/__tests__/component.test.jsx +17 -189
  67. package/src/tools/circle/component.jsx +1 -1
  68. package/src/tools/line/__tests__/component.test.jsx +7 -7
  69. package/src/tools/point/__tests__/component.test.jsx +18 -43
  70. package/src/tools/point/component.jsx +1 -1
  71. package/src/tools/polygon/__tests__/component.test.jsx +18 -162
  72. package/src/tools/polygon/__tests__/line.test.jsx +7 -10
  73. package/src/tools/polygon/__tests__/polygon.test.jsx +7 -8
  74. package/src/tools/polygon/component.jsx +2 -2
  75. package/src/tools/polygon/line.jsx +3 -2
  76. package/src/tools/ray/__tests__/component.test.jsx +7 -8
  77. package/src/tools/segment/__tests__/component.test.jsx +7 -8
  78. package/src/tools/shared/__tests__/arrow-head.test.jsx +14 -17
  79. package/src/tools/shared/icons/CorrectSVG.jsx +10 -0
  80. package/src/tools/shared/icons/IncorrectSVG.jsx +10 -0
  81. package/src/tools/shared/icons/MissingSVG.jsx +10 -0
  82. package/src/tools/shared/line/__tests__/index.test.jsx +19 -165
  83. package/src/tools/shared/line/__tests__/line-path.test.jsx +8 -8
  84. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +22 -22
  85. package/src/tools/shared/line/index.jsx +13 -5
  86. package/src/tools/shared/line/line-path.jsx +2 -2
  87. package/src/tools/shared/line/with-root-edge.jsx +1 -1
  88. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  89. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  90. package/src/tools/shared/point/arrow-point.jsx +1 -1
  91. package/src/tools/shared/point/arrow.jsx +1 -1
  92. package/src/tools/vector/__tests__/component.test.jsx +7 -8
  93. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -237
  94. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -211
  95. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  96. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  97. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -45
  98. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  99. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -13
  100. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -14
  101. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  102. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  103. package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +0 -46
  104. package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +0 -293
  105. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  106. package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +0 -40
  107. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -415
  108. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  109. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -52
  110. package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +0 -23
  111. package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +0 -14
  112. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -27
  113. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  114. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -58
  115. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  116. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -56
  117. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -44
  118. package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_point","_chunk","_initial","_debug","_line","_polygon","_interopRequireWildcard","_plot","_invariant","_reactDom","_markLabel","_isEmpty","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","buildLines","exports","points","closed","expanded","reduce","acc","p","index","isLast","next","all","chunk","map","_ref","_ref2","_slicedToArray2","from","to","initial","swap","arr","_len","rest","Array","_key","pairs","pr","_pr","replacement","invariant","Number","isFinite","splice","_toConsumableArray2","RawBaseComponent","_React$Component","_this","_classCallCheck2","_len2","args","_key2","concat","_this$props","props","onChange","update","overlapPoint","find","equalPoints","label","existing","point","_this$props2","onClosePolygon","_this$props3","onChangeProps","updatedPoint","isEmpty","data","_this$props4","disabled","onClick","isToolActive","labelModeEnabled","limitLabeling","onChangeLabelProps","_getRightestPoints","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","_inherits2","_createClass2","key","value","render","_this2","_this$props5","coordinatesOnHover","correctness","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","ReactDOM","createPortal","createElement","inputRef","mark","Fragment","_extends2","onDrag","dragPoly","bind","clickPoint","Polygon","l","dragLine","BasePoint","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","_React$Component2","_this3","state","_getRightestPoints2","setState","_this3$props","_this3$props2","onComplete","m","undefined","_this$props6","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing:polygon');\n\nexport const buildLines = (points, closed) => {\n const expanded = points.reduce((acc, p, index) => {\n acc.push({ ...p, index });\n\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n\n acc.push({ ...points[next], index: next });\n\n return acc;\n }, []);\n\n const all = chunk(expanded, 2).map(([from, to]) => {\n return { from, to };\n });\n\n return closed ? all : initial(all);\n};\n\nexport const swap = (arr, ...rest) => {\n const pairs = chunk(rest, 2);\n\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n\n invariant(Number.isFinite(e.index), 'Index must be defined');\n\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n\n return acc;\n } else {\n return acc;\n }\n } else {\n return acc;\n }\n },\n [...arr],\n );\n};\n\nexport class RawBaseComponent extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClosePolygon: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n isToolActive: PropTypes.bool,\n middle: PropTypes.object,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find((p) => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n\n if (points.length >= 3) {\n onClosePolygon();\n } else {\n log('[close] - nope');\n }\n };\n\n labelChange = (point, index) => {\n const { points, onChangeProps } = this.props;\n const updatedPoint = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete updatedPoint.label;\n }\n\n const update = [...points];\n\n update.splice(index, 1, updatedPoint);\n onChangeProps(update);\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n disabled,\n onClick,\n isToolActive,\n labelModeEnabled,\n limitLabeling,\n onChangeProps,\n onChangeLabelProps,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n // limit labeling the points of the polygon\n if (disabled || limitLabeling) {\n return;\n }\n\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n\n return;\n }\n\n if (isToolActive && !closed && index === 0) {\n this.close();\n return;\n }\n\n onClick(point || data);\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n closed,\n coordinatesOnHover,\n correctness,\n disabled,\n graphProps,\n onChangeLabelProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const lines = buildLines(points, closed);\n const common = { onDragStart, onDragStop, graphProps, disabled, correctness };\n const polygonLabelIndex = (points && points.length) || 0;\n let polygonLabelNode = null;\n\n if (labelNode && middle && middle.hasOwnProperty('label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\n />,\n labelNode,\n );\n }\n\n return (\n <g>\n {closed ? (\n <React.Fragment>\n <DraggablePolygon\n points={points}\n onDrag={this.dragPoly.bind(this, points)}\n closed={closed}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n {polygonLabelNode}\n </React.Fragment>\n ) : (\n <Polygon points={points} graphProps={graphProps} closed={closed} />\n )}\n {(lines || []).map((l, index) => (\n <Line\n key={`line-${index}`}\n from={l.from}\n to={l.to}\n onDrag={this.dragLine.bind(this, l)}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n ))}\n\n {(points || []).map((p, index) => {\n return [\n <BasePoint\n key={`point-${index}`}\n coordinatesOnHover={coordinatesOnHover}\n labelNode={labelNode}\n x={p.x}\n y={p.y}\n onDrag={this.dragPoint.bind(this, index, p)}\n {...common}\n onClick={this.clickPoint.bind(this, p, index)}\n />,\n labelNode && p.hasOwnProperty('label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[index] = r)}\n disabled={!labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...p, label }, index)}\n />,\n labelNode,\n )\n : null,\n ];\n })}\n </g>\n );\n }\n}\n\nexport const BaseComponent = RawBaseComponent;\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = (points) => {\n const {\n mark: { middle },\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = (points) => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = (point) => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled,\n limitLabeling,\n } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_point","_chunk","_initial","_debug","_line","_polygon","_interopRequireWildcard","_plot","_invariant","_reactDom","_markLabel","_isEmpty","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","buildLines","exports","points","closed","expanded","reduce","acc","p","index","isLast","next","all","chunk","map","_ref","_ref2","_slicedToArray2","from","to","initial","swap","arr","_len","rest","Array","_key","pairs","pr","_pr","replacement","invariant","Number","isFinite","splice","_toConsumableArray2","RawBaseComponent","_React$Component","_this","_classCallCheck2","_len2","args","_key2","concat","_this$props","props","onChange","update","overlapPoint","find","equalPoints","label","existing","point","_this$props2","onClosePolygon","_this$props3","onChangeProps","updatedPoint","isEmpty","data","_this$props4","disabled","onClick","isToolActive","labelModeEnabled","limitLabeling","onChangeLabelProps","_getRightestPoints","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","_inherits2","_createClass2","key","value","render","_this2","_this$props5","coordinatesOnHover","correctness","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","ReactDOM","createPortal","createElement","inputRef","mark","Fragment","_extends2","onDrag","dragPoly","bind","clickPoint","Polygon","l","dragLine","BasePoint","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","_React$Component2","_this3","state","_getRightestPoints2","setState","_this3$props","_this3$props2","onComplete","m","undefined","_this$props6","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { getMiddleOfTwoPoints, getRightestPoints, equalPoints } from '../../utils';\n\nconst log = debug('pie-lib:graphing:polygon');\n\nexport const buildLines = (points, closed) => {\n const expanded = points.reduce((acc, p, index) => {\n acc.push({ ...p, index });\n\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n\n acc.push({ ...points[next], index: next });\n\n return acc;\n }, []);\n\n const all = chunk(expanded, 2).map(([from, to]) => {\n return { from, to };\n });\n\n return closed ? all : initial(all);\n};\n\nexport const swap = (arr, ...rest) => {\n const pairs = chunk(rest, 2);\n\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n\n invariant(Number.isFinite(e.index), 'Index must be defined');\n\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n\n return acc;\n } else {\n return acc;\n }\n } else {\n return acc;\n }\n },\n [...arr],\n );\n};\n\nexport class RawBaseComponent extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClosePolygon: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n isToolActive: PropTypes.bool,\n middle: PropTypes.object,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find((p) => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n\n if (points.length >= 3) {\n onClosePolygon();\n } else {\n log('[close] - nope');\n }\n };\n\n labelChange = (point, index) => {\n const { points, onChangeProps } = this.props;\n const updatedPoint = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete updatedPoint.label;\n }\n\n const update = [...points];\n\n update.splice(index, 1, updatedPoint);\n onChangeProps(update);\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n disabled,\n onClick,\n isToolActive,\n labelModeEnabled,\n limitLabeling,\n onChangeProps,\n onChangeLabelProps,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n // limit labeling the points of the polygon\n if (disabled || limitLabeling) {\n return;\n }\n\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onChangeLabelProps(middle);\n } else {\n const update = [...points];\n\n update.splice(index, 1, { label: '', ...point });\n onChangeProps(update);\n }\n\n if (this.input[index]) {\n this.input[index].focus();\n }\n\n return;\n }\n\n if (isToolActive && !closed && index === 0) {\n this.close();\n return;\n }\n\n onClick(point || data);\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n closed,\n coordinatesOnHover,\n correctness,\n disabled,\n graphProps,\n onChangeLabelProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const lines = buildLines(points, closed);\n const common = { onDragStart, onDragStop, graphProps, disabled, correctness };\n const polygonLabelIndex = (points && points.length) || 0;\n let polygonLabelNode = null;\n\n if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\n />,\n labelNode,\n );\n }\n\n return (\n <g>\n {closed ? (\n <React.Fragment>\n <DraggablePolygon\n points={points}\n onDrag={this.dragPoly.bind(this, points)}\n closed={closed}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n {polygonLabelNode}\n </React.Fragment>\n ) : (\n <Polygon points={points} graphProps={graphProps} closed={closed} />\n )}\n {(lines || []).map((l, index) => (\n <Line\n key={`line-${index}`}\n from={l.from}\n to={l.to}\n onDrag={this.dragLine.bind(this, l)}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n ))}\n\n {(points || []).map((p, index) => {\n return [\n <BasePoint\n key={`point-${index}`}\n coordinatesOnHover={coordinatesOnHover}\n labelNode={labelNode}\n x={p.x}\n y={p.y}\n onDrag={this.dragPoint.bind(this, index, p)}\n {...common}\n onClick={this.clickPoint.bind(this, p, index)}\n />,\n labelNode && Object.prototype.hasOwnProperty.call(p, 'label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[index] = r)}\n disabled={!labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...p, label }, index)}\n />,\n labelNode,\n )\n : null,\n ];\n })}\n </g>\n );\n }\n}\n\nexport const BaseComponent = RawBaseComponent;\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = (points) => {\n const {\n mark: { middle },\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = (points) => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = (point) => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n onChange(mark, { ...mark, middle });\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled,\n limitLabeling,\n } = this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,8 +28,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
28
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
29
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
30
  var StyledLine = (0, _styles.styled)('line')(function (_ref) {
31
- var theme = _ref.theme,
32
- isDisabled = _ref.disabled,
31
+ var isDisabled = _ref.disabled,
33
32
  correctness = _ref.correctness;
34
33
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
35
34
  strokeWidth: 3,
@@ -55,6 +54,7 @@ var RawLine = /*#__PURE__*/function (_React$Component) {
55
54
  return (0, _createClass2["default"])(RawLine, [{
56
55
  key: "render",
57
56
  value: function render() {
57
+ // eslint-disable-next-line no-unused-vars
58
58
  var _this$props = this.props,
59
59
  graphProps = _this$props.graphProps,
60
60
  from = _this$props.from,
@@ -1 +1 @@
1
- {"version":3,"file":"line.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","utils","_interopRequireWildcard","_styles2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledLine","styled","_ref","theme","isDisabled","disabled","correctness","strokeWidth","transition","stroke","color","defaults","BLACK","correct","incorrect","missing","strokeDasharray","RawLine","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","graphProps","from","to","className","rest","_objectWithoutProperties2","scale","createElement","_extends2","x1","x","y1","y","x2","y2","React","Component","PropTypes","string","types","PointType","GraphPropsType","isRequired","bool","Line","exports","_default","gridDraggable","bounds","_ref2","domain","range","area","lineToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/line.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { correct, disabled, disabledSecondary, incorrect, missing } from '../shared/styles';\n\nconst StyledLine = styled('line')(({ theme, disabled: isDisabled, correctness }) => ({\n strokeWidth: 3,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 4,\n stroke: color.defaults.BLACK,\n },\n ...(isDisabled && {\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n}));\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n const { graphProps, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <StyledLine\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(to.x)}\n y2={scale.y(to.y)}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = RawLine;\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { from, to } = props;\n const area = utils.lineToArea(from, to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n})(Line);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"line.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","utils","_interopRequireWildcard","_styles2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledLine","styled","_ref","isDisabled","disabled","correctness","strokeWidth","transition","stroke","color","defaults","BLACK","correct","incorrect","missing","strokeDasharray","RawLine","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","graphProps","from","to","className","rest","_objectWithoutProperties2","scale","createElement","_extends2","x1","x","y1","y","x2","y2","React","Component","PropTypes","string","types","PointType","GraphPropsType","isRequired","bool","Line","exports","_default","gridDraggable","bounds","_ref2","domain","range","area","lineToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/line.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { correct, disabled, incorrect, missing } from '../shared/styles';\n\nconst StyledLine = styled('line')(({ disabled: isDisabled, correctness }) => ({\n strokeWidth: 3,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 4,\n stroke: color.defaults.BLACK,\n },\n ...(isDisabled && {\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n}));\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { graphProps, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <StyledLine\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(to.x)}\n y2={scale.y(to.y)}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = RawLine;\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { from, to } = props;\n const area = utils.lineToArea(from, to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n})(Line);\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var CorrectSVG = function CorrectSVG(_ref) {
10
11
  var scale = _ref.scale,
11
12
  x = _ref.x,
@@ -27,5 +28,13 @@ var CorrectSVG = function CorrectSVG(_ref) {
27
28
  fill: "white"
28
29
  }));
29
30
  };
31
+ CorrectSVG.propTypes = {
32
+ scale: _propTypes["default"].shape({
33
+ x: _propTypes["default"].func,
34
+ y: _propTypes["default"].func
35
+ }),
36
+ x: _propTypes["default"].number,
37
+ y: _propTypes["default"].number
38
+ };
30
39
  var _default = exports["default"] = CorrectSVG;
31
40
  //# sourceMappingURL=CorrectSVG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CorrectSVG.js","names":["_react","_interopRequireDefault","require","CorrectSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","stroke","style","pointerEvents","xmlns","d","_default","exports"],"sources":["../../../../src/tools/shared/icons/CorrectSVG.jsx"],"sourcesContent":["import React from 'react';\n\nconst CorrectSVG = ({ scale, x, y }) => (\n <svg\n width=\"11\"\n height=\"13\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n stroke=\"#ffffff\"\n x={scale.x(x) - 5}\n y={scale.y(y) - 6}\n style={{ pointerEvents: 'none' }}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.1953 2.46875C10.3125 2.35156 10.5 2.35156 10.5938 2.46875L11.2734 3.125C11.3672 3.24219 11.3672 3.42969 11.2734 3.52344L4.24219 10.5547C4.125 10.6719 3.96094 10.6719 3.84375 10.5547L0.703125 7.4375C0.609375 7.32031 0.609375 7.13281 0.703125 7.03906L1.38281 6.35938C1.47656 6.26562 1.66406 6.26562 1.78125 6.35938L4.03125 8.63281L10.1953 2.46875Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nexport default CorrectSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBAC/BP,MAAA,YAAAQ,aAAA;IACEC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,SAAS;IAChBP,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBO,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO,CAAE;IACjCC,KAAK,EAAC;EAA4B,gBAElChB,MAAA,YAAAQ,aAAA;IACES,CAAC,EAAC,+VAA+V;IACjWL,IAAI,EAAC;EAAO,CACb,CACE,CAAC;AAAA,CACP;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEahB,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"CorrectSVG.js","names":["_react","_interopRequireDefault","require","_propTypes","CorrectSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","stroke","style","pointerEvents","xmlns","d","propTypes","PropTypes","shape","func","number","_default","exports"],"sources":["../../../../src/tools/shared/icons/CorrectSVG.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst CorrectSVG = ({ scale, x, y }) => (\n <svg\n width=\"11\"\n height=\"13\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n stroke=\"#ffffff\"\n x={scale.x(x) - 5}\n y={scale.y(y) - 6}\n style={{ pointerEvents: 'none' }}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M10.1953 2.46875C10.3125 2.35156 10.5 2.35156 10.5938 2.46875L11.2734 3.125C11.3672 3.24219 11.3672 3.42969 11.2734 3.52344L4.24219 10.5547C4.125 10.6719 3.96094 10.6719 3.84375 10.5547L0.703125 7.4375C0.609375 7.32031 0.609375 7.13281 0.703125 7.03906L1.38281 6.35938C1.47656 6.26562 1.66406 6.26562 1.78125 6.35938L4.03125 8.63281L10.1953 2.46875Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nCorrectSVG.propTypes = {\n scale: PropTypes.shape({\n x: PropTypes.func,\n y: PropTypes.func,\n }),\n x: PropTypes.number,\n y: PropTypes.number,\n};\n\nexport default CorrectSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBAC/BR,MAAA,YAAAS,aAAA;IACEC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,SAAS;IAChBP,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBO,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO,CAAE;IACjCC,KAAK,EAAC;EAA4B,gBAElCjB,MAAA,YAAAS,aAAA;IACES,CAAC,EAAC,+VAA+V;IACjWL,IAAI,EAAC;EAAO,CACb,CACE,CAAC;AAAA,CACP;AAEDT,UAAU,CAACe,SAAS,GAAG;EACrBb,KAAK,EAAEc,qBAAS,CAACC,KAAK,CAAC;IACrBd,CAAC,EAAEa,qBAAS,CAACE,IAAI;IACjBd,CAAC,EAAEY,qBAAS,CAACE;EACf,CAAC,CAAC;EACFf,CAAC,EAAEa,qBAAS,CAACG,MAAM;EACnBf,CAAC,EAAEY,qBAAS,CAACG;AACf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEarB,UAAU","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var IncorrectSVG = function IncorrectSVG(_ref) {
10
11
  var scale = _ref.scale,
11
12
  x = _ref.x,
@@ -27,5 +28,13 @@ var IncorrectSVG = function IncorrectSVG(_ref) {
27
28
  d: "M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z"
28
29
  }));
29
30
  };
31
+ IncorrectSVG.propTypes = {
32
+ scale: _propTypes["default"].shape({
33
+ x: _propTypes["default"].func,
34
+ y: _propTypes["default"].func
35
+ }),
36
+ x: _propTypes["default"].number,
37
+ y: _propTypes["default"].number
38
+ };
30
39
  var _default = exports["default"] = IncorrectSVG;
31
40
  //# sourceMappingURL=IncorrectSVG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IncorrectSVG.js","names":["_react","_interopRequireDefault","require","IncorrectSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","stroke","strokeWidth","style","pointerEvents","xmlns","d","_default","exports"],"sources":["../../../../src/tools/shared/icons/IncorrectSVG.jsx"],"sourcesContent":["import React from 'react';\n\nconst IncorrectSVG = ({ scale, x, y }) => (\n <svg\n width=\"14px\"\n height=\"14px\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#ffffff\"\n strokeWidth=\"2\"\n x={scale.x(x) - 7}\n y={scale.y(y) - 7}\n style={{ pointerEvents: 'none' }}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z\"></path>\n </svg>\n);\n\nexport default IncorrectSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBACjCP,MAAA,YAAAQ,aAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAC,GAAG;IACfR,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBQ,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO,CAAE;IACjCC,KAAK,EAAC;EAA4B,gBAElCjB,MAAA,YAAAQ,aAAA;IAAMU,CAAC,EAAC;EAA+I,CAAO,CAC3J,CAAC;AAAA,CACP;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEajB,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"IncorrectSVG.js","names":["_react","_interopRequireDefault","require","_propTypes","IncorrectSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","stroke","strokeWidth","style","pointerEvents","xmlns","d","propTypes","PropTypes","shape","func","number","_default","exports"],"sources":["../../../../src/tools/shared/icons/IncorrectSVG.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst IncorrectSVG = ({ scale, x, y }) => (\n <svg\n width=\"14px\"\n height=\"14px\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#ffffff\"\n strokeWidth=\"2\"\n x={scale.x(x) - 7}\n y={scale.y(y) - 7}\n style={{ pointerEvents: 'none' }}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M17.705 7.705l-1.41-1.41L12 10.59 7.705 6.295l-1.41 1.41L10.59 12l-4.295 4.295 1.41 1.41L12 13.41l4.295 4.295 1.41-1.41L13.41 12l4.295-4.295z\"></path>\n </svg>\n);\n\nIncorrectSVG.propTypes = {\n scale: PropTypes.shape({\n x: PropTypes.func,\n y: PropTypes.func,\n }),\n x: PropTypes.number,\n y: PropTypes.number,\n};\n\nexport default IncorrectSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBACjCR,MAAA,YAAAS,aAAA;IACEC,KAAK,EAAC,MAAM;IACZC,MAAM,EAAC,MAAM;IACbC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAC,GAAG;IACfR,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBQ,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO,CAAE;IACjCC,KAAK,EAAC;EAA4B,gBAElClB,MAAA,YAAAS,aAAA;IAAMU,CAAC,EAAC;EAA+I,CAAO,CAC3J,CAAC;AAAA,CACP;AAEDf,YAAY,CAACgB,SAAS,GAAG;EACvBd,KAAK,EAAEe,qBAAS,CAACC,KAAK,CAAC;IACrBf,CAAC,EAAEc,qBAAS,CAACE,IAAI;IACjBf,CAAC,EAAEa,qBAAS,CAACE;EACf,CAAC,CAAC;EACFhB,CAAC,EAAEc,qBAAS,CAACG,MAAM;EACnBhB,CAAC,EAAEa,qBAAS,CAACG;AACf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEatB,YAAY","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var MissingSVG = function MissingSVG(_ref) {
10
11
  var scale = _ref.scale,
11
12
  x = _ref.x,
@@ -26,5 +27,13 @@ var MissingSVG = function MissingSVG(_ref) {
26
27
  fill: "white"
27
28
  }));
28
29
  };
30
+ MissingSVG.propTypes = {
31
+ scale: _propTypes["default"].shape({
32
+ x: _propTypes["default"].func,
33
+ y: _propTypes["default"].func
34
+ }),
35
+ x: _propTypes["default"].number,
36
+ y: _propTypes["default"].number
37
+ };
29
38
  var _default = exports["default"] = MissingSVG;
30
39
  //# sourceMappingURL=MissingSVG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MissingSVG.js","names":["_react","_interopRequireDefault","require","MissingSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","xmlns","style","pointerEvents","d","_default","exports"],"sources":["../../../../src/tools/shared/icons/MissingSVG.jsx"],"sourcesContent":["import React from 'react';\n\nconst MissingSVG = ({ scale, x, y }) => (\n <svg\n width=\"9\"\n height=\"10\"\n viewBox=\"0 0 9 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n x={scale.x(x) - 4.5}\n y={scale.y(y) - 5}\n style={{ pointerEvents: 'none' }}\n >\n <path\n d=\"M0.125 3.76562V1.34375C0.125 1.08984 0.320312 0.875 0.59375 0.875H3.01562C3.13281 0.875 3.25 0.992188 3.25 1.10938V1.89062C3.25 2.02734 3.13281 2.125 3.01562 2.125H1.375V3.76562C1.375 3.90234 1.25781 4 1.14062 4H0.359375C0.222656 4 0.125 3.90234 0.125 3.76562ZM5.75 1.10938C5.75 0.992188 5.84766 0.875 5.98438 0.875H8.40625C8.66016 0.875 8.875 1.08984 8.875 1.34375V3.76562C8.875 3.90234 8.75781 4 8.64062 4H7.85938C7.72266 4 7.625 3.90234 7.625 3.76562V2.125H5.98438C5.84766 2.125 5.75 2.02734 5.75 1.89062V1.10938ZM8.64062 6.5C8.75781 6.5 8.875 6.61719 8.875 6.73438V9.15625C8.875 9.42969 8.66016 9.625 8.40625 9.625H5.98438C5.84766 9.625 5.75 9.52734 5.75 9.39062V8.60938C5.75 8.49219 5.84766 8.375 5.98438 8.375H7.625V6.73438C7.625 6.61719 7.72266 6.5 7.85938 6.5H8.64062ZM3.25 9.39062C3.25 9.52734 3.13281 9.625 3.01562 9.625H0.59375C0.320312 9.625 0.125 9.42969 0.125 9.15625V6.73438C0.125 6.61719 0.222656 6.5 0.359375 6.5H1.14062C1.25781 6.5 1.375 6.61719 1.375 6.73438V8.375H3.01562C3.13281 8.375 3.25 8.49219 3.25 8.60938V9.39062Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nexport default MissingSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBAC/BP,MAAA,YAAAQ,aAAA;IACEC,KAAK,EAAC,GAAG;IACTC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC,4BAA4B;IAClCP,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,GAAI;IACpBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBO,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;EAAE,gBAEjCf,MAAA,YAAAQ,aAAA;IACEQ,CAAC,EAAC,khCAAkhC;IACphCJ,IAAI,EAAC;EAAO,CACb,CACE,CAAC;AAAA,CACP;AAAC,IAAAK,QAAA,GAAAC,OAAA,cAEaf,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"MissingSVG.js","names":["_react","_interopRequireDefault","require","_propTypes","MissingSVG","_ref","scale","x","y","createElement","width","height","viewBox","fill","xmlns","style","pointerEvents","d","propTypes","PropTypes","shape","func","number","_default","exports"],"sources":["../../../../src/tools/shared/icons/MissingSVG.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst MissingSVG = ({ scale, x, y }) => (\n <svg\n width=\"9\"\n height=\"10\"\n viewBox=\"0 0 9 10\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n x={scale.x(x) - 4.5}\n y={scale.y(y) - 5}\n style={{ pointerEvents: 'none' }}\n >\n <path\n d=\"M0.125 3.76562V1.34375C0.125 1.08984 0.320312 0.875 0.59375 0.875H3.01562C3.13281 0.875 3.25 0.992188 3.25 1.10938V1.89062C3.25 2.02734 3.13281 2.125 3.01562 2.125H1.375V3.76562C1.375 3.90234 1.25781 4 1.14062 4H0.359375C0.222656 4 0.125 3.90234 0.125 3.76562ZM5.75 1.10938C5.75 0.992188 5.84766 0.875 5.98438 0.875H8.40625C8.66016 0.875 8.875 1.08984 8.875 1.34375V3.76562C8.875 3.90234 8.75781 4 8.64062 4H7.85938C7.72266 4 7.625 3.90234 7.625 3.76562V2.125H5.98438C5.84766 2.125 5.75 2.02734 5.75 1.89062V1.10938ZM8.64062 6.5C8.75781 6.5 8.875 6.61719 8.875 6.73438V9.15625C8.875 9.42969 8.66016 9.625 8.40625 9.625H5.98438C5.84766 9.625 5.75 9.52734 5.75 9.39062V8.60938C5.75 8.49219 5.84766 8.375 5.98438 8.375H7.625V6.73438C7.625 6.61719 7.72266 6.5 7.85938 6.5H8.64062ZM3.25 9.39062C3.25 9.52734 3.13281 9.625 3.01562 9.625H0.59375C0.320312 9.625 0.125 9.42969 0.125 9.15625V6.73438C0.125 6.61719 0.222656 6.5 0.359375 6.5H1.14062C1.25781 6.5 1.375 6.61719 1.375 6.73438V8.375H3.01562C3.13281 8.375 3.25 8.49219 3.25 8.60938V9.39062Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nMissingSVG.propTypes = {\n scale: PropTypes.shape({\n x: PropTypes.func,\n y: PropTypes.func,\n }),\n x: PropTypes.number,\n y: PropTypes.number,\n};\n\nexport default MissingSVG;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,CAAC,GAAAF,IAAA,CAADE,CAAC;IAAEC,CAAC,GAAAH,IAAA,CAADG,CAAC;EAAA,oBAC/BR,MAAA,YAAAS,aAAA;IACEC,KAAK,EAAC,GAAG;IACTC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,UAAU;IAClBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC,4BAA4B;IAClCP,CAAC,EAAED,KAAK,CAACC,CAAC,CAACA,CAAC,CAAC,GAAG,GAAI;IACpBC,CAAC,EAAEF,KAAK,CAACE,CAAC,CAACA,CAAC,CAAC,GAAG,CAAE;IAClBO,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;EAAE,gBAEjChB,MAAA,YAAAS,aAAA;IACEQ,CAAC,EAAC,khCAAkhC;IACphCJ,IAAI,EAAC;EAAO,CACb,CACE,CAAC;AAAA,CACP;AAEDT,UAAU,CAACc,SAAS,GAAG;EACrBZ,KAAK,EAAEa,qBAAS,CAACC,KAAK,CAAC;IACrBb,CAAC,EAAEY,qBAAS,CAACE,IAAI;IACjBb,CAAC,EAAEW,qBAAS,CAACE;EACf,CAAC,CAAC;EACFd,CAAC,EAAEY,qBAAS,CAACG,MAAM;EACnBd,CAAC,EAAEW,qBAAS,CAACG;AACf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEapB,UAAU","ignoreList":[]}
@@ -209,7 +209,14 @@ var lineToolComponent = exports.lineToolComponent = function lineToolComponent(C
209
209
  }
210
210
  }]);
211
211
  }(_react["default"].Component), (0, _defineProperty2["default"])(_LineToolComponent, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
212
- graphProps: _plot.types.GraphPropsType.isRequired
212
+ graphProps: _plot.types.GraphPropsType.isRequired,
213
+ limitLabeling: _propTypes["default"].bool,
214
+ changeMarkProps: _propTypes["default"].func,
215
+ disabled: _propTypes["default"].bool,
216
+ from: _plot.types.PointType,
217
+ to: _plot.types.PointType,
218
+ labelModeEnabled: _propTypes["default"].bool,
219
+ onClick: _propTypes["default"].func
213
220
  })), _LineToolComponent;
214
221
  };
215
222
  var dragOpts = function dragOpts() {
@@ -389,7 +396,7 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
389
396
  var toLabelNode = null;
390
397
  var lineLabelNode = null;
391
398
  if (labelNode) {
392
- if (from && from.hasOwnProperty('label')) {
399
+ if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {
393
400
  fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
394
401
  inputRef: function inputRef(r) {
395
402
  return _this3.input.from = r;
@@ -404,7 +411,7 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
404
411
  }
405
412
  }), labelNode);
406
413
  }
407
- if (to && to.hasOwnProperty('label')) {
414
+ if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {
408
415
  toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
409
416
  inputRef: function inputRef(r) {
410
417
  return _this3.input.to = r;
@@ -419,7 +426,7 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
419
426
  }
420
427
  }), labelNode);
421
428
  }
422
- if (middle && middle.hasOwnProperty('label')) {
429
+ if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
423
430
  lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
424
431
  inputRef: function inputRef(r) {
425
432
  return _this3.input.middle = r;
@@ -485,9 +492,10 @@ var lineBase = exports.lineBase = function lineBase(Comp, opts) {
485
492
  onClick: _propTypes["default"].func,
486
493
  correctness: _propTypes["default"].string,
487
494
  disabled: _propTypes["default"].bool,
488
- labelNode: _propTypes["default"].object,
495
+ limitLabeling: _propTypes["default"].bool,
496
+ changeMarkProps: _propTypes["default"].func,
489
497
  labelModeEnabled: _propTypes["default"].bool,
490
- changeMarkProps: _propTypes["default"].func
498
+ labelNode: _propTypes["default"].object
491
499
  });
492
500
  return LineBase;
493
501
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_isEqual","_cloneDeep","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_isEmpty","_renderUi","_utils","_styles2","_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","StyledLineGroup","styled","_ref","disabled","correctness","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","strokeDasharray","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","setState","_this$props","onChange","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref2","middle","_ref3","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","cloneDeep","isBackground","createElement","changeMark","changeMarkProps","onDragStart","startDrag","onDragStop","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","dragOpts","bounds","_ref4","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","_this2$props","getMiddleOfTwoPoints","_ref5","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","input","focus","_this3","_this$props4","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","_extends2","onDrag","dragComp","clickPoint","x","dragFrom","dragTo","PropTypes","bool","PointType","func","string","object","styles","line","arrow","disabledArrow","theme"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { BasePoint } from '../point';\nimport { types, utils, gridDraggable, trig } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { disabled, disabledSecondary, correct, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { getMiddleOfTwoPoints, equalPoints, sameAxes } from '../../../utils';\nimport { styled } from '@mui/material/styles';\n\nconst StyledLineGroup = styled('g')(({ disabled, correctness }) => ({\n '& line': {\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n ...(disabled && {\n '& line': {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n }),\n ...(correctness === 'correct' && {\n '& line': {\n ...correct('stroke'),\n },\n }),\n ...(correctness === 'incorrect' && {\n '& line': {\n ...incorrect('stroke'),\n },\n }),\n ...(correctness === 'missing' && {\n '& line': {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n }),\n}));\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\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) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\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 // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\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 && to.hasOwnProperty('label')) {\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 && middle.hasOwnProperty('label')) {\n lineLabelNode = 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 <StyledLineGroup disabled={disabled} correctness={correctness}>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </StyledLineGroup>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_isEqual","_cloneDeep","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_isEmpty","_renderUi","_utils","_styles2","_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","StyledLineGroup","styled","_ref","disabled","correctness","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","strokeDasharray","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","setState","_this$props","onChange","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref2","middle","_ref3","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","cloneDeep","isBackground","createElement","changeMark","changeMarkProps","onDragStart","startDrag","onDragStop","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","PropTypes","bool","func","PointType","dragOpts","bounds","_ref4","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","_this2$props","getMiddleOfTwoPoints","_ref5","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","input","focus","_this3","_this$props4","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","_extends2","onDrag","dragComp","clickPoint","x","dragFrom","dragTo","string","object","styles","line","arrow","disabledArrow","theme"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { BasePoint } from '../point';\nimport { types, utils, gridDraggable, trig } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { disabled, disabledSecondary, correct, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\nimport { getMiddleOfTwoPoints, equalPoints, sameAxes } from '../../../utils';\nimport { styled } from '@mui/material/styles';\n\nconst StyledLineGroup = styled('g')(({ disabled, correctness }) => ({\n '& line': {\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n ...(disabled && {\n '& line': {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n }),\n ...(correctness === 'correct' && {\n '& line': {\n ...correct('stroke'),\n },\n }),\n ...(correctness === 'incorrect' && {\n '& line': {\n ...incorrect('stroke'),\n },\n }),\n ...(correctness === 'missing' && {\n '& line': {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n }),\n}));\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n disabled: PropTypes.bool,\n from: types.PointType,\n to: types.PointType,\n labelModeEnabled: PropTypes.bool,\n onClick: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n labelModeEnabled: PropTypes.bool,\n labelNode: PropTypes.object,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\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) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\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 // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {\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 && Object.prototype.hasOwnProperty.call(to, 'label')) {\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 && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n lineLabelNode = 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 <StyledLineGroup disabled={disabled} correctness={correctness}>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </StyledLineGroup>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
  var _styles = require("@mui/material/styles");
20
20
  var _plot = require("@pie-lib/plot");
21
21
  var _styles2 = require("../styles");
22
- var vx = _interopRequireWildcard(require("@vx/shape"));
22
+ var vx = _interopRequireWildcard(require("@visx/shape"));
23
23
  var _renderUi = require("@pie-lib/render-ui");
24
24
  var _excluded = ["data", "className", "disabled", "correctness", "from", "to", "graphProps", "isDragging"];
25
25
  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); }
@@ -34,8 +34,7 @@ var dragging = function dragging() {
34
34
  };
35
35
  };
36
36
  var StyledDrawLine = (0, _styles.styled)(vx.LinePath)(function (_ref) {
37
- var theme = _ref.theme,
38
- isDisabled = _ref.disabled,
37
+ var isDisabled = _ref.disabled,
39
38
  correctness = _ref.correctness;
40
39
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
41
40
  fill: 'none',