@pie-lib/graphing 2.48.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 (109) hide show
  1. package/CHANGELOG.md +8 -116
  2. package/lib/coordinates-label.js +2 -0
  3. package/lib/coordinates-label.js.map +1 -1
  4. package/lib/grid-setup.js +30 -36
  5. package/lib/grid-setup.js.map +1 -1
  6. package/lib/key-legend.js +6 -7
  7. package/lib/key-legend.js.map +1 -1
  8. package/lib/labels.js +4 -2
  9. package/lib/labels.js.map +1 -1
  10. package/lib/mark-label.js +16 -9
  11. package/lib/mark-label.js.map +1 -1
  12. package/lib/toggle-bar.js +11 -11
  13. package/lib/toggle-bar.js.map +1 -1
  14. package/lib/tool-menu.js +1 -3
  15. package/lib/tool-menu.js.map +1 -1
  16. package/lib/tools/circle/component.js +1 -2
  17. package/lib/tools/circle/component.js.map +1 -1
  18. package/lib/tools/point/component.js +1 -1
  19. package/lib/tools/point/component.js.map +1 -1
  20. package/lib/tools/polygon/component.js +2 -2
  21. package/lib/tools/polygon/component.js.map +1 -1
  22. package/lib/tools/polygon/line.js +2 -2
  23. package/lib/tools/polygon/line.js.map +1 -1
  24. package/lib/tools/shared/icons/CorrectSVG.js +9 -0
  25. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
  26. package/lib/tools/shared/icons/IncorrectSVG.js +9 -0
  27. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
  28. package/lib/tools/shared/icons/MissingSVG.js +9 -0
  29. package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
  30. package/lib/tools/shared/line/index.js +14 -6
  31. package/lib/tools/shared/line/index.js.map +1 -1
  32. package/lib/tools/shared/line/line-path.js +1 -2
  33. package/lib/tools/shared/line/line-path.js.map +1 -1
  34. package/lib/tools/shared/point/arrow-point.js +1 -3
  35. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  36. package/lib/tools/shared/point/arrow.js +1 -2
  37. package/lib/tools/shared/point/arrow.js.map +1 -1
  38. package/package.json +16 -8
  39. package/src/__tests__/graph-with-controls.test.jsx +28 -11
  40. package/src/__tests__/graph.test.jsx +104 -168
  41. package/src/__tests__/grid.test.jsx +8 -6
  42. package/src/__tests__/labels.test.jsx +25 -8
  43. package/src/__tests__/mark-label.test.jsx +12 -17
  44. package/src/__tests__/toggle-bar.test.jsx +92 -17
  45. package/src/__tests__/tool-menu.test.jsx +61 -12
  46. package/src/__tests__/undo-redo.test.jsx +7 -8
  47. package/src/__tests__/utils.js +3 -0
  48. package/src/axis/__tests__/arrow.test.jsx +16 -17
  49. package/src/axis/__tests__/axes.test.jsx +118 -122
  50. package/src/coordinates-label.jsx +1 -0
  51. package/src/grid-setup.jsx +6 -6
  52. package/src/key-legend.jsx +1 -1
  53. package/src/labels.jsx +2 -0
  54. package/src/mark-label.jsx +10 -1
  55. package/src/toggle-bar.jsx +2 -1
  56. package/src/tool-menu.jsx +1 -1
  57. package/src/tools/circle/__tests__/bg-circle.test.jsx +7 -9
  58. package/src/tools/circle/__tests__/component.test.jsx +17 -189
  59. package/src/tools/circle/component.jsx +1 -1
  60. package/src/tools/line/__tests__/component.test.jsx +7 -7
  61. package/src/tools/point/__tests__/component.test.jsx +18 -43
  62. package/src/tools/point/component.jsx +1 -1
  63. package/src/tools/polygon/__tests__/component.test.jsx +18 -162
  64. package/src/tools/polygon/__tests__/line.test.jsx +7 -10
  65. package/src/tools/polygon/__tests__/polygon.test.jsx +7 -8
  66. package/src/tools/polygon/component.jsx +2 -2
  67. package/src/tools/polygon/line.jsx +3 -2
  68. package/src/tools/ray/__tests__/component.test.jsx +7 -8
  69. package/src/tools/segment/__tests__/component.test.jsx +7 -8
  70. package/src/tools/shared/__tests__/arrow-head.test.jsx +14 -17
  71. package/src/tools/shared/icons/CorrectSVG.jsx +10 -0
  72. package/src/tools/shared/icons/IncorrectSVG.jsx +10 -0
  73. package/src/tools/shared/icons/MissingSVG.jsx +10 -0
  74. package/src/tools/shared/line/__tests__/index.test.jsx +19 -165
  75. package/src/tools/shared/line/__tests__/line-path.test.jsx +8 -8
  76. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +22 -22
  77. package/src/tools/shared/line/index.jsx +13 -5
  78. package/src/tools/shared/line/line-path.jsx +1 -1
  79. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  80. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  81. package/src/tools/shared/point/arrow-point.jsx +1 -1
  82. package/src/tools/shared/point/arrow.jsx +1 -1
  83. package/src/tools/vector/__tests__/component.test.jsx +7 -8
  84. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -237
  85. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -211
  86. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  87. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  88. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -45
  89. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  90. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -13
  91. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -14
  92. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  93. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  94. package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +0 -46
  95. package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +0 -293
  96. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  97. package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +0 -40
  98. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -415
  99. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  100. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -52
  101. package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +0 -23
  102. package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +0 -14
  103. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -27
  104. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  105. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -58
  106. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  107. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -56
  108. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -44
  109. package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +0 -12
@@ -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":[]}
@@ -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',
@@ -1 +1 @@
1
- {"version":3,"file":"line-path.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_styles2","vx","_interopRequireWildcard","_renderUi","_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","dragging","strokeWidth","stroke","color","defaults","BLACK","StyledDrawLine","styled","LinePath","_ref","theme","isDisabled","disabled","correctness","fill","black","disabledSecondary","correct","incorrect","missing","strokeDasharray","StyledLine","_ref2","isDragging","transition","RawLinePath","exports","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","data","className","from","to","graphProps","rest","_objectWithoutProperties2","createElement","Fragment","_extends2","React","Component","PropTypes","string","arrayOf","number","types","GraphPropsType","isRequired","bool","PointType"],"sources":["../../../../src/tools/shared/line/line-path.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { types } from '@pie-lib/plot';\nimport { disabled, correct, incorrect, missing, disabledSecondary } from '../styles';\nimport * as vx from '@visx/shape';\nimport { color } from '@pie-lib/render-ui';\n\nconst dragging = () => ({\n strokeWidth: 4,\n stroke: color.defaults.BLACK,\n});\n\nconst StyledDrawLine = styled(vx.LinePath)(({ theme, disabled: isDisabled, correctness }) => ({\n fill: 'none',\n strokeWidth: 2,\n stroke: color.black(),\n ...(isDisabled && {\n ...disabledSecondary('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\nconst StyledLine = styled(vx.LinePath)(({ theme, disabled: isDisabled, correctness, isDragging }) => ({\n strokeWidth: 3,\n fill: 'none',\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': dragging(theme),\n ...(isDragging && dragging(theme)),\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\nexport class RawLinePath extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n data: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n isDragging: PropTypes.bool,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n const { data, className, disabled, correctness, from, to, graphProps, isDragging, ...rest } = this.props;\n /* eslint-enable */\n\n return (\n <React.Fragment>\n <StyledDrawLine\n data={data}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n <StyledLine\n data={data}\n className={className}\n isDragging={isDragging}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n </React.Fragment>\n );\n }\n}\n\nexport const LinePath = RawLinePath;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"line-path.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_styles2","vx","_interopRequireWildcard","_renderUi","_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","dragging","strokeWidth","stroke","color","defaults","BLACK","StyledDrawLine","styled","LinePath","_ref","isDisabled","disabled","correctness","fill","black","disabledSecondary","correct","incorrect","missing","strokeDasharray","StyledLine","_ref2","theme","isDragging","transition","RawLinePath","exports","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","data","className","from","to","graphProps","rest","_objectWithoutProperties2","createElement","Fragment","_extends2","React","Component","PropTypes","string","arrayOf","number","types","GraphPropsType","isRequired","bool","PointType"],"sources":["../../../../src/tools/shared/line/line-path.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { types } from '@pie-lib/plot';\nimport { disabled, correct, incorrect, missing, disabledSecondary } from '../styles';\nimport * as vx from '@visx/shape';\nimport { color } from '@pie-lib/render-ui';\n\nconst dragging = () => ({\n strokeWidth: 4,\n stroke: color.defaults.BLACK,\n});\n\nconst StyledDrawLine = styled(vx.LinePath)(({ disabled: isDisabled, correctness }) => ({\n fill: 'none',\n strokeWidth: 2,\n stroke: color.black(),\n ...(isDisabled && {\n ...disabledSecondary('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\nconst StyledLine = styled(vx.LinePath)(({ theme, disabled: isDisabled, correctness, isDragging }) => ({\n strokeWidth: 3,\n fill: 'none',\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': dragging(theme),\n ...(isDragging && dragging(theme)),\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\nexport class RawLinePath extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n data: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n isDragging: PropTypes.bool,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n const { data, className, disabled, correctness, from, to, graphProps, isDragging, ...rest } = this.props;\n /* eslint-enable */\n\n return (\n <React.Fragment>\n <StyledDrawLine\n data={data}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n <StyledLine\n data={data}\n className={className}\n isDragging={isDragging}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n </React.Fragment>\n );\n }\n}\n\nexport const LinePath = RawLinePath;\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
17
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
18
18
  var _plot = require("@pie-lib/plot");
19
19
  var _utils = require("../../../utils");
20
- var _excluded = ["className", "x", "y", "disabled", "correctness", "graphProps", "from", "to"];
20
+ var _excluded = ["className", "x", "y", "graphProps", "from", "to"];
21
21
  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)); }
22
22
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
23
  var RawArrow = exports.RawArrow = /*#__PURE__*/function (_React$Component) {
@@ -33,8 +33,6 @@ var RawArrow = exports.RawArrow = /*#__PURE__*/function (_React$Component) {
33
33
  className = _this$props.className,
34
34
  x = _this$props.x,
35
35
  y = _this$props.y,
36
- disabled = _this$props.disabled,
37
- correctness = _this$props.correctness,
38
36
  graphProps = _this$props.graphProps,
39
37
  from = _this$props.from,
40
38
  to = _this$props.to,
@@ -1 +1 @@
1
- {"version":3,"file":"arrow-point.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_utils","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","RawArrow","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","render","_this$props","props","className","x","y","disabled","correctness","graphProps","from","to","rest","_objectWithoutProperties2","scale","angle","getAngleDeg","points","concat","arrowDimensions","vector","createElement","_extends2","transform","React","Component","_defineProperty2","PropTypes","string","bool","number","isRequired","shape","types","GraphPropsType"],"sources":["../../../../src/tools/shared/point/arrow-point.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { getAngleDeg, arrowDimensions } from '../../../utils';\n\nexport class RawArrow extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n from: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).isRequired,\n to: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n const { className, x, y, disabled, correctness, graphProps, from, to, ...rest } = this.props;\n const { scale } = graphProps;\n\n const angle = from && to ? getAngleDeg(from.x, from.y, to.x, to.y) : 0;\n\n const points =\n from && to && (from.x !== to.x || from.y !== to.y)\n ? `0,0 ${arrowDimensions.vector},${arrowDimensions.vector * 2} -${arrowDimensions.vector},${arrowDimensions.vector * 2}`\n : '0,0 0,0 0,0';\n\n return (\n <g className={className} {...rest}>\n <polygon\n points={points}\n transform={`translate(${scale.x(x)}, ${scale.y(y)}) rotate(${angle} 0 0)`}\n />\n </g>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"arrow-point.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_utils","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","RawArrow","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","render","_this$props","props","className","x","y","graphProps","from","to","rest","_objectWithoutProperties2","scale","angle","getAngleDeg","points","concat","arrowDimensions","vector","createElement","_extends2","transform","React","Component","_defineProperty2","PropTypes","string","correctness","disabled","bool","number","isRequired","shape","types","GraphPropsType"],"sources":["../../../../src/tools/shared/point/arrow-point.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { getAngleDeg, arrowDimensions } from '../../../utils';\n\nexport class RawArrow extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n from: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).isRequired,\n to: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n const { className, x, y, graphProps, from, to, ...rest } = this.props;\n const { scale } = graphProps;\n\n const angle = from && to ? getAngleDeg(from.x, from.y, to.x, to.y) : 0;\n\n const points =\n from && to && (from.x !== to.x || from.y !== to.y)\n ? `0,0 ${arrowDimensions.vector},${arrowDimensions.vector * 2} -${arrowDimensions.vector},${arrowDimensions.vector * 2}`\n : '0,0 0,0 0,0';\n\n return (\n <g className={className} {...rest}>\n <polygon\n points={points}\n transform={`translate(${scale.x(x)}, ${scale.y(y)}) rotate(${angle} 0 0)`}\n />\n </g>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
18
18
  var _plot = require("@pie-lib/plot");
19
19
  var _arrowHead = require("../arrow-head");
20
20
  var _utils = require("../../../utils");
21
- var _excluded = ["className", "angle", "x", "y", "disabled", "correctness", "graphProps"];
21
+ var _excluded = ["className", "angle", "x", "y", "correctness", "graphProps"];
22
22
  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)); }
23
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
24
24
  var BaseArrow = exports.BaseArrow = /*#__PURE__*/function (_React$Component) {
@@ -35,7 +35,6 @@ var BaseArrow = exports.BaseArrow = /*#__PURE__*/function (_React$Component) {
35
35
  angle = _this$props.angle,
36
36
  x = _this$props.x,
37
37
  y = _this$props.y,
38
- disabled = _this$props.disabled,
39
38
  correctness = _this$props.correctness,
40
39
  graphProps = _this$props.graphProps,
41
40
  rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
@@ -1 +1 @@
1
- {"version":3,"file":"arrow.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_arrowHead","_utils","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","BaseArrow","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","render","_this$props","props","className","angle","x","y","disabled","correctness","graphProps","rest","_objectWithoutProperties2","size","thinnerShapesNeeded","scale","scaledX","scaledY","transform","concat","points","createElement","_extends2","ArrowHead","React","Component","_defineProperty2","PropTypes","string","bool","number","isRequired","types","GraphPropsType"],"sources":["../../../../src/tools/shared/point/arrow.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { ArrowHead } from '../arrow-head';\nimport { thinnerShapesNeeded } from '../../../utils';\n\nexport class BaseArrow extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n angle: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const { className, angle, x, y, disabled, correctness, graphProps, ...rest } = this.props;\n const size = thinnerShapesNeeded(graphProps) ? 12 : 14;\n const { scale } = graphProps;\n\n const scaledX = scale.x(x);\n const scaledY = scale.y(y);\n\n const transform = `rotate(${-angle}, ${scaledX},${scaledY})`;\n const points = `${scaledX},${scaledY}\n ${scaledX - size},${scaledY - size / 2}\n ${scaledX - size},${scaledY + size / 2}`;\n\n return (\n <g className={className} {...rest}>\n <ArrowHead size={size} transform={transform} points={points} correctness={correctness} />\n </g>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"arrow.js","names":["_react","_interopRequireDefault","require","_propTypes","_plot","_arrowHead","_utils","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","BaseArrow","exports","_React$Component","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","render","_this$props","props","className","angle","x","y","correctness","graphProps","rest","_objectWithoutProperties2","size","thinnerShapesNeeded","scale","scaledX","scaledY","transform","concat","points","createElement","_extends2","ArrowHead","React","Component","_defineProperty2","PropTypes","string","disabled","bool","number","isRequired","types","GraphPropsType"],"sources":["../../../../src/tools/shared/point/arrow.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { ArrowHead } from '../arrow-head';\nimport { thinnerShapesNeeded } from '../../../utils';\n\nexport class BaseArrow extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n angle: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const { className, angle, x, y, correctness, graphProps, ...rest } = this.props;\n const size = thinnerShapesNeeded(graphProps) ? 12 : 14;\n const { scale } = graphProps;\n\n const scaledX = scale.x(x);\n const scaledY = scale.y(y);\n\n const transform = `rotate(${-angle}, ${scaledX},${scaledY})`;\n const points = `${scaledX},${scaledY}\n ${scaledX - size},${scaledY - size / 2}\n ${scaledX - size},${scaledY + size / 2}`;\n\n return (\n <g className={className} {...rest}>\n <ArrowHead size={size} transform={transform} points={points} correctness={correctness} />\n </g>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.48.0-mui-update.0",
6
+ "version": "3.0.0-next.0",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -22,12 +22,12 @@
22
22
  "@mapbox/point-geometry": "^0.1.0",
23
23
  "@mui/icons-material": "^7.3.4",
24
24
  "@mui/material": "^7.3.4",
25
- "@pie-lib/drag": "2.36.0-mui-update.0",
26
- "@pie-lib/editable-html": "11.35.0-mui-update.0",
25
+ "@pie-lib/drag": "2.22.3-next.15",
26
+ "@pie-lib/editable-html": "11.21.3-next.15",
27
27
  "@pie-lib/graphing-utils": "1.35.0-mui-update.0",
28
- "@pie-lib/plot": "2.41.0-mui-update.0",
29
- "@pie-lib/render-ui": "4.49.0-mui-update.0",
30
- "@pie-lib/translator": "2.38.0-mui-update.0",
28
+ "@pie-lib/plot": "2.27.3-next.15",
29
+ "@pie-lib/render-ui": "4.35.3-next.15",
30
+ "@pie-lib/translator": "2.23.2-next.16",
31
31
  "@visx/axis": "^3.0.0",
32
32
  "@visx/clip-path": "^3.0.0",
33
33
  "@visx/curve": "^3.0.0",
@@ -54,6 +54,14 @@
54
54
  "peerDependencies": {
55
55
  "react": "^18.2.0"
56
56
  },
57
- "gitHead": "4987cf54cc4fd60a003b198645907db716253ed0",
58
- "scripts": {}
57
+ "gitHead": "5b3a60c2493a99f03494b0c3ea2d0a3207072b67",
58
+ "scripts": {},
59
+ "exports": {
60
+ ".": {
61
+ "require": "./lib/index.js",
62
+ "import": "./src/index.js",
63
+ "default": "./lib/index.js"
64
+ },
65
+ "./esm": "./esm/index.js"
66
+ }
59
67
  }
@@ -1,8 +1,13 @@
1
- import { shallow } from 'enzyme';
1
+ import { render } from '@pie-lib/test-utils';
2
2
  import React from 'react';
3
3
 
4
4
  import { xy } from './utils';
5
5
 
6
+ // Mock DragProvider to avoid @dnd-kit React version conflicts
7
+ jest.mock('@pie-lib/drag', () => ({
8
+ DragProvider: ({ children }) => <div data-testid="drag-provider">{children}</div>,
9
+ }));
10
+
6
11
  import {
7
12
  GraphWithControls,
8
13
  setToolbarAvailability,
@@ -26,11 +31,10 @@ const line = {
26
31
  from: { x: 0, y: 0 },
27
32
  to: { x: 1, y: 1 },
28
33
  label: 'Line',
29
- building: true,
30
34
  };
31
35
 
32
36
  const circle = {
33
- type: 'line',
37
+ type: 'circle',
34
38
  edge: { x: 0, y: 0 },
35
39
  root: { x: 2, y: 2 },
36
40
  };
@@ -111,13 +115,15 @@ describe('filterByVisibleToolTypes', () => {
111
115
  });
112
116
 
113
117
  describe('GraphWithControls', () => {
114
- let w;
115
118
  let onChangeMarks = jest.fn();
116
119
 
120
+ beforeEach(() => {
121
+ onChangeMarks.mockClear();
122
+ });
123
+
117
124
  const defaultProps = () => ({
118
125
  axesSettings: { includeArrows: true },
119
126
  backgroundMarks: [point, line, circle],
120
- classes: {},
121
127
  className: '',
122
128
  coordinatesOnHover: false,
123
129
  domain: { min: 0, max: 10, step: 1 },
@@ -129,19 +135,30 @@ describe('GraphWithControls', () => {
129
135
  size: { width: 500, height: 500 },
130
136
  title: 'Title',
131
137
  toolbarTools: allTools,
138
+ language: 'en',
132
139
  });
133
140
  const initialProps = defaultProps();
134
141
 
135
- const wrapper = (extras, opts) => {
142
+ const renderComponent = (extras) => {
136
143
  const props = { ...initialProps, ...extras };
137
144
 
138
- return shallow(<GraphWithControls {...props} />, opts);
145
+ return render(<GraphWithControls {...props} />);
139
146
  };
140
147
 
141
- describe('snapshot', () => {
142
- it('renders', () => {
143
- w = wrapper();
144
- expect(w).toMatchSnapshot();
148
+ describe('rendering', () => {
149
+ it('renders without crashing', () => {
150
+ const { container } = renderComponent();
151
+ expect(container.firstChild).toBeInTheDocument();
152
+ });
153
+
154
+ it('renders ToolMenu with toolbar tools', () => {
155
+ const { container } = renderComponent({ toolbarTools: ['point', 'line'] });
156
+ expect(container.firstChild).toBeInTheDocument();
157
+ });
158
+
159
+ it('renders Graph component', () => {
160
+ const { container } = renderComponent();
161
+ expect(container.querySelector('svg')).toBeInTheDocument();
145
162
  });
146
163
  });
147
164
  });