@pie-lib/graphing 2.4.3-next.276 → 2.4.3-next.306

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 (58) hide show
  1. package/lib/axis/arrow.js.map +1 -1
  2. package/lib/axis/axes.js.map +1 -1
  3. package/lib/axis/index.js.map +1 -1
  4. package/lib/bg.js.map +1 -1
  5. package/lib/container/actions.js.map +1 -1
  6. package/lib/container/index.js.map +1 -1
  7. package/lib/container/marks.js.map +1 -1
  8. package/lib/container/reducer.js.map +1 -1
  9. package/lib/coordinates-label.js.map +1 -1
  10. package/lib/graph-with-controls.js.map +1 -1
  11. package/lib/graph.js.map +1 -1
  12. package/lib/grid-setup.js +376 -0
  13. package/lib/grid-setup.js.map +1 -0
  14. package/lib/grid.js.map +1 -1
  15. package/lib/index.js +8 -0
  16. package/lib/index.js.map +1 -1
  17. package/lib/labels.js.map +1 -1
  18. package/lib/mark-label.js.map +1 -1
  19. package/lib/toggle-bar.js.map +1 -1
  20. package/lib/tool-menu.js.map +1 -1
  21. package/lib/tools/circle/bg-circle.js.map +1 -1
  22. package/lib/tools/circle/component.js.map +1 -1
  23. package/lib/tools/circle/index.js.map +1 -1
  24. package/lib/tools/index.js.map +1 -1
  25. package/lib/tools/line/component.js.map +1 -1
  26. package/lib/tools/line/index.js.map +1 -1
  27. package/lib/tools/parabola/component.js.map +1 -1
  28. package/lib/tools/parabola/index.js.map +1 -1
  29. package/lib/tools/point/component.js.map +1 -1
  30. package/lib/tools/point/index.js.map +1 -1
  31. package/lib/tools/polygon/component.js.map +1 -1
  32. package/lib/tools/polygon/index.js.map +1 -1
  33. package/lib/tools/polygon/line.js.map +1 -1
  34. package/lib/tools/polygon/polygon.js.map +1 -1
  35. package/lib/tools/ray/component.js.map +1 -1
  36. package/lib/tools/ray/index.js.map +1 -1
  37. package/lib/tools/segment/component.js.map +1 -1
  38. package/lib/tools/segment/index.js.map +1 -1
  39. package/lib/tools/shared/arrow-head.js.map +1 -1
  40. package/lib/tools/shared/line/index.js.map +1 -1
  41. package/lib/tools/shared/line/line-path.js.map +1 -1
  42. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  43. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  44. package/lib/tools/shared/point/arrow.js.map +1 -1
  45. package/lib/tools/shared/point/base-point.js.map +1 -1
  46. package/lib/tools/shared/point/index.js.map +1 -1
  47. package/lib/tools/shared/styles.js.map +1 -1
  48. package/lib/tools/shared/types.js.map +1 -1
  49. package/lib/tools/sine/component.js.map +1 -1
  50. package/lib/tools/sine/index.js.map +1 -1
  51. package/lib/tools/vector/component.js.map +1 -1
  52. package/lib/tools/vector/index.js.map +1 -1
  53. package/lib/undo-redo.js.map +1 -1
  54. package/lib/use-debounce.js.map +1 -1
  55. package/lib/utils.js.map +1 -1
  56. package/package.json +4 -4
  57. package/src/grid-setup.jsx +340 -0
  58. package/src/index.js +2 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tool-menu.jsx"],"names":["ToolMenu","props","className","currentToolType","disabled","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","showLabel","some","t","filter","tT","React","Component","PropTypes","string","bool","func","arrayOf"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;WAeX,kBAAS;AACP,wBAOI,KAAKC,KAPT;AAAA,UACEC,SADF,eACEA,SADF;AAAA,UAEEC,eAFF,eAEEA,eAFF;AAAA,UAGEC,QAHF,eAGEA,QAHF;AAAA,UAIEC,gBAJF,eAIEA,gBAJF;AAAA,UAKEC,iBALF,eAKEA,iBALF;AAAA,UAMEC,QANF,eAMEA,QANF;AAQA,UAAMC,YAAN,GAAuB,KAAKP,KAA5B,CAAMO,YAAN;AAEA,UAAMC,SAAS,GAAGD,YAAY,IAAIA,YAAY,CAACE,IAAb,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,OAAV;AAAA,OAAnB,CAAlC;AAEAH,MAAAA,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBI,MAArB,CAA4B,UAAAC,EAAE;AAAA,eAAIA,EAAE,KAAK,OAAX;AAAA,OAA9B,CAAf;AAEA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWX,SAAX;AAAhB,sBACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEE,QADZ;AAEE,QAAA,OAAO,EAAEI,YAFX;AAGE,QAAA,gBAAgB,EAAEL,eAHpB;AAIE,QAAA,QAAQ,EAAEI;AAJZ,QADF,EAQGE,SAAS,iBACR,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEL,QADZ;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAEE,iBAHX;AAIE,QAAA,QAAQ,EAAED;AAJZ,QATJ,CADF;AAmBD;;;;EAjD2BS,kBAAMC,S;;;;gBAAvBf,Q,eACQ;AACjBE,EAAAA,SAAS,EAAEc,sBAAUC,MADJ;AAEjBd,EAAAA,eAAe,EAAEa,sBAAUC,MAFV;AAGjBb,EAAAA,QAAQ,EAAEY,sBAAUE,IAHH;AAIjBb,EAAAA,gBAAgB,EAAEW,sBAAUE,IAJX;AAKjBX,EAAAA,QAAQ,EAAES,sBAAUG,IALH;AAMjBb,EAAAA,iBAAiB,EAAEU,sBAAUG,IANZ;AAOjBX,EAAAA,YAAY,EAAEQ,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B;AAPG,C;;gBADRjB,Q,kBAWW;AACpBQ,EAAAA,YAAY,EAAE;AADM,C;;eAyCTR,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}
1
+ {"version":3,"file":"tool-menu.js","names":["ToolMenu","props","className","currentToolType","disabled","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","showLabel","some","t","filter","tT","classNames","React","Component","PropTypes","string","bool","func","arrayOf"],"sources":["../src/tool-menu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;WAeX,kBAAS;MACP,kBAOI,KAAKC,KAPT;MAAA,IACEC,SADF,eACEA,SADF;MAAA,IAEEC,eAFF,eAEEA,eAFF;MAAA,IAGEC,QAHF,eAGEA,QAHF;MAAA,IAIEC,gBAJF,eAIEA,gBAJF;MAAA,IAKEC,iBALF,eAKEA,iBALF;MAAA,IAMEC,QANF,eAMEA,QANF;MAQA,IAAMC,YAAN,GAAuB,KAAKP,KAA5B,CAAMO,YAAN;MAEA,IAAMC,SAAS,GAAGD,YAAY,IAAIA,YAAY,CAACE,IAAb,CAAkB,UAAAC,CAAC;QAAA,OAAIA,CAAC,KAAK,OAAV;MAAA,CAAnB,CAAlC;MAEAH,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBI,MAArB,CAA4B,UAAAC,EAAE;QAAA,OAAIA,EAAE,KAAK,OAAX;MAAA,CAA9B,CAAf;MAEA,oBACE;QAAK,SAAS,EAAE,IAAAC,sBAAA,EAAWZ,SAAX;MAAhB,gBACE,gCAAC,qBAAD;QACE,QAAQ,EAAEE,QADZ;QAEE,OAAO,EAAEI,YAFX;QAGE,gBAAgB,EAAEL,eAHpB;QAIE,QAAQ,EAAEI;MAJZ,EADF,EAQGE,SAAS,iBACR,gCAAC,qBAAD;QACE,QAAQ,EAAEL,QADZ;QAEE,KAAK,EAAE,OAFT;QAGE,OAAO,EAAEE,iBAHX;QAIE,QAAQ,EAAED;MAJZ,EATJ,CADF;IAmBD;;;;EAjD2BU,iBAAA,CAAMC,S;;;;gBAAvBhB,Q,eACQ;EACjBE,SAAS,EAAEe,qBAAA,CAAUC,MADJ;EAEjBf,eAAe,EAAEc,qBAAA,CAAUC,MAFV;EAGjBd,QAAQ,EAAEa,qBAAA,CAAUE,IAHH;EAIjBd,gBAAgB,EAAEY,qBAAA,CAAUE,IAJX;EAKjBZ,QAAQ,EAAEU,qBAAA,CAAUG,IALH;EAMjBd,iBAAiB,EAAEW,qBAAA,CAAUG,IANZ;EAOjBZ,YAAY,EAAES,qBAAA,CAAUI,OAAV,CAAkBJ,qBAAA,CAAUC,MAA5B;AAPG,C;;gBADRlB,Q,kBAWW;EACpBQ,YAAY,EAAE;AADM,C;;eAyCTR,Q"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/circle/bg-circle.jsx"],"names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"file":"bg-circle.js"}
1
+ {"version":3,"file":"bg-circle.js","names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","classNames","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","withStyles","gridDraggable","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"sources":["../../../src/tools/circle/bg-circle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/circle/component.jsx"],"names":["opacityPulsate","opacity","getRadius","from","outer","c","dist","RawBaseCircle","point","props","middle","onChange","to","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","input","focus","disabled","classes","coordinatesOnHover","building","onDragStart","onDragStop","onClick","correctness","graphProps","labelNode","labelModeEnabled","common","radius","fromLabelNode","toLabelNode","circleLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","bgCircleBuilding","x","y","dragCircle","clickPoint","dragTo","dragFrom","React","Component","PropTypes","bool","object","isRequired","className","string","types","PointType","func","GraphPropsType","BaseCircle","theme","outerLine","fill","stroke","color","primaryLight","strokeWidth","primaryDark","root","secondaryLight","animation","animationIterationCount"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst opacityPulsate = opacity => ({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' }\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n static defaultProps = {\n onClick: () => ({})\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 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 });\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, to: draggedTo });\n }\n };\n\n dragCircle = draggedFrom => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) {\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 this.setState(\n {\n draggedroot: undefined,\n draggedOuter: undefined,\n isCircleDrag: false\n },\n () => {\n onChange(updated);\n }\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) => {\n const { changeMarkProps, from, to } = this.props;\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 let {\n from,\n to,\n middle,\n disabled,\n classes,\n coordinatesOnHover,\n building,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { onDragStart, onDragStop, graphProps, onClick };\n\n to = to || from;\n\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from && 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 circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n <BgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && classes.bgCircleBuilding)}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className={classes.from}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\nexport const BaseCircle = withStyles(theme => ({\n outerLine: {\n fill: 'rgb(0,0,0,0)', // TODO hardcoded color\n stroke: color.primaryLight(),\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.secondaryLight(),\n animation: 'opacityPulse 2s ease-out',\n animationIterationCount: 'infinite',\n opacity: 1\n },\n '@keyframes opacityPulse': opacityPulsate('0.3')\n}))(RawBaseCircle);\n\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["opacityPulsate","opacity","getRadius","from","outer","c","point","dist","RawBaseCircle","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","input","focus","disabled","classes","coordinatesOnHover","building","onDragStart","onDragStop","onClick","correctness","graphProps","labelNode","labelModeEnabled","common","radius","fromLabelNode","toLabelNode","circleLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","classNames","bgCircleBuilding","x","y","dragCircle","clickPoint","dragTo","dragFrom","React","Component","PropTypes","bool","object","isRequired","className","string","types","PointType","func","GraphPropsType","BaseCircle","withStyles","theme","outerLine","fill","stroke","color","primaryLight","strokeWidth","primaryDark","root","secondaryLight","animation","animationIterationCount","rootEdgeComponent"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst opacityPulsate = opacity => ({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' }\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n static defaultProps = {\n onClick: () => ({})\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 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 });\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, to: draggedTo });\n }\n };\n\n dragCircle = draggedFrom => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) {\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 this.setState(\n {\n draggedroot: undefined,\n draggedOuter: undefined,\n isCircleDrag: false\n },\n () => {\n onChange(updated);\n }\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) => {\n const { changeMarkProps, from, to } = this.props;\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 let {\n from,\n to,\n middle,\n disabled,\n classes,\n coordinatesOnHover,\n building,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { onDragStart, onDragStop, graphProps, onClick };\n\n to = to || from;\n\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from && 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 circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n <BgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && classes.bgCircleBuilding)}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className={classes.from}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\nexport const BaseCircle = withStyles(theme => ({\n outerLine: {\n fill: 'rgb(0,0,0,0)', // TODO hardcoded color\n stroke: color.primaryLight(),\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.secondaryLight(),\n animation: 'opacityPulse 2s ease-out',\n animationIterationCount: 'infinite',\n opacity: 1\n },\n '@keyframes opacityPulse': opacityPulsate('0.3')\n}))(RawBaseCircle);\n\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,OAAO;EAAA,OAAK;IACjC,MAAM;MAAEA,OAAO,EAAE;IAAX,CAD2B;IAEjC,OAAO;MAAEA,OAAO,EAAPA;IAAF,CAF0B;IAGjC,QAAQ;MAAEA,OAAO,EAAE;IAAX;EAHyB,CAAL;AAAA,CAA9B;;AAMA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAOC,KAAP,EAAiB;EACjC,IAAMC,CAAC,GAAG,IAAAC,YAAA,EAAMH,IAAN,CAAV;EACA,OAAOE,CAAC,CAACE,IAAF,CAAO,IAAAD,YAAA,EAAMF,KAAN,CAAP,CAAP;AACD,CAHD;;IAKaI,a;;;;;;;;;;;;;;;;oEAyBK,UAAAF,KAAK,EAAI;MACvB,kBAA6B,MAAKG,KAAlC;MAAA,IAAQC,MAAR,eAAQA,MAAR;MAAA,IAAgBC,QAAhB,eAAgBA,QAAhB;MACA,IAAQR,IAAR,GAAqBG,KAArB,CAAQH,IAAR;MAAA,IAAcS,EAAd,GAAqBN,KAArB,CAAcM,EAAd,CAFuB,CAIvB;;MACA,IAAI,CAAC,IAAAC,kBAAA,EAAYV,IAAZ,EAAkBS,EAAlB,CAAL,EAA4B;QAC1B,IAAIF,MAAJ,EAAY;UACVJ,KAAK,CAACI,MAAN,mCAAoBA,MAApB,GAA+B,IAAAI,2BAAA,EAAqBX,IAArB,EAA2BS,EAA3B,CAA/B;QACD;;QAEDD,QAAQ,CAACL,KAAD,CAAR;MACD;IACF,C;;+DAEU,UAAAS,WAAW,EAAI;MACxB,mBAAqB,MAAKN,KAA1B;MAAA,IAAQN,IAAR,gBAAQA,IAAR;MAAA,IAAcS,EAAd,gBAAcA,EAAd;;MAEA,IAAIT,IAAI,CAACa,KAAT,EAAgB;QACdD,WAAW,CAACC,KAAZ,GAAoBb,IAAI,CAACa,KAAzB;MACD;;MAED,IAAI,CAAC,IAAAH,kBAAA,EAAYE,WAAZ,EAAyBH,EAAzB,CAAL,EAAmC;QACjC,MAAKK,aAAL,CAAmB;UAAEd,IAAI,EAAEY,WAAR;UAAqBH,EAAE,EAAFA;QAArB,CAAnB;MACD;IACF,C;;6DAEQ,UAAAM,SAAS,EAAI;MACpB,mBAAqB,MAAKT,KAA1B;MAAA,IAAQN,IAAR,gBAAQA,IAAR;MAAA,IAAcS,EAAd,gBAAcA,EAAd;;MAEA,IAAIA,EAAE,CAACI,KAAP,EAAc;QACZE,SAAS,CAACF,KAAV,GAAkBJ,EAAE,CAACI,KAArB;MACD;;MAED,IAAI,CAAC,IAAAH,kBAAA,EAAYV,IAAZ,EAAkBe,SAAlB,CAAL,EAAmC;QACjC,MAAKD,aAAL,CAAmB;UAAEd,IAAI,EAAJA,IAAF;UAAQS,EAAE,EAAEM;QAAZ,CAAnB;MACD;IACF,C;;iEAEY,UAAAH,WAAW,EAAI;MAC1B,mBAAuC,MAAKN,KAA5C;MAAA,IAAQN,IAAR,gBAAQA,IAAR;MAAA,IAAcS,EAAd,gBAAcA,EAAd;MAAA,IAAkBD,QAAlB,gBAAkBA,QAAlB;MAAA,IAA4BD,MAA5B,gBAA4BA,MAA5B;MACA,IAAMS,IAAI,GAAG,IAAAb,YAAA,EAAMH,IAAN,EAAYiB,GAAZ,CAAgB,IAAAd,YAAA,EAAMS,WAAN,CAAhB,CAAb;MACA,IAAMG,SAAS,GAAG,IAAAZ,YAAA,EAAMM,EAAN,EAAUQ,GAAV,CAAcD,IAAd,CAAlB;;MAEA,IAAIhB,IAAI,CAACa,KAAT,EAAgB;QACdD,WAAW,CAACC,KAAZ,GAAoBb,IAAI,CAACa,KAAzB;MACD;;MAED,IAAIJ,EAAE,CAACI,KAAP,EAAc;QACZE,SAAS,CAACF,KAAV,GAAkBJ,EAAE,CAACI,KAArB;MACD;;MAED,IAAMK,OAAO,GAAG;QAAElB,IAAI,EAAEY,WAAR;QAAqBH,EAAE,EAAEM;MAAzB,CAAhB;;MAEA,IAAIR,MAAJ,EAAY;QACVW,OAAO,CAACX,MAAR,mCAAsBA,MAAtB,GAAiC,IAAAI,2BAAA,EAAqBC,WAArB,EAAkCG,SAAlC,CAAjC;MACD;;MAED,MAAKI,QAAL,CACE;QACEC,WAAW,EAAEC,SADf;QAEEC,YAAY,EAAED,SAFhB;QAGEE,YAAY,EAAE;MAHhB,CADF,EAME,YAAM;QACJf,QAAQ,CAACU,OAAD,CAAR;MACD,CARH;IAUD,C;;kEAEa,UAACf,KAAD,EAAQqB,IAAR,EAAiB;MAC7B,IAAQC,eAAR,GAA4B,MAAKnB,KAAjC,CAAQmB,eAAR;;MACA,IAAMC,MAAM,qBAAQvB,KAAR,CAAZ;;MAEA,IAAI,CAACA,KAAK,CAACU,KAAP,IAAgB,IAAAc,mBAAA,EAAQxB,KAAK,CAACU,KAAd,CAApB,EAA0C;QACxC,OAAOa,MAAM,CAACb,KAAd;MACD;;MAEDY,eAAe,qBAAID,IAAJ,EAAWE,MAAX,EAAf;IACD,C;;iEAEY,UAACvB,KAAD,EAAQqB,IAAR,EAAiB;MAC5B,mBAAsC,MAAKlB,KAA3C;MAAA,IAAQmB,eAAR,gBAAQA,eAAR;MAAA,IAAyBzB,IAAzB,gBAAyBA,IAAzB;MAAA,IAA+BS,EAA/B,gBAA+BA,EAA/B;;MAEA,IAAIe,IAAI,KAAK,QAAT,IAAqB,CAACrB,KAAtB,IAA+BH,IAA/B,IAAuCS,EAA3C,EAA+C;QAC7CN,KAAK,mCAAQA,KAAR,GAAkB,IAAAQ,2BAAA,EAAqBX,IAArB,EAA2BS,EAA3B,CAAlB,CAAL;MACD;;MAEDgB,eAAe;QAAGzB,IAAI,EAAJA,IAAH;QAASS,EAAE,EAAFA;MAAT,GAAce,IAAd;QAAuBX,KAAK,EAAE;MAA9B,GAAqCV,KAArC,GAAf;;MAEA,IAAI,MAAKyB,KAAL,CAAWJ,IAAX,CAAJ,EAAsB;QACpB,MAAKI,KAAL,CAAWJ,IAAX,EAAiBK,KAAjB;MACD;IACF,C;;4DAGO,E;;;;;;;WAER,kBAAS;MAAA;;MACP,mBAeI,KAAKvB,KAfT;MAAA,IACEN,IADF,gBACEA,IADF;MAAA,IAEES,EAFF,gBAEEA,EAFF;MAAA,IAGEF,MAHF,gBAGEA,MAHF;MAAA,IAIEuB,QAJF,gBAIEA,QAJF;MAAA,IAKEC,OALF,gBAKEA,OALF;MAAA,IAMEC,kBANF,gBAMEA,kBANF;MAAA,IAOEC,QAPF,gBAOEA,QAPF;MAAA,IAQEC,WARF,gBAQEA,WARF;MAAA,IASEC,UATF,gBASEA,UATF;MAAA,IAUEC,OAVF,gBAUEA,OAVF;MAAA,IAWEC,WAXF,gBAWEA,WAXF;MAAA,IAYEC,UAZF,gBAYEA,UAZF;MAAA,IAaEC,SAbF,gBAaEA,SAbF;MAAA,IAcEC,gBAdF,gBAcEA,gBAdF;MAgBA,IAAMC,MAAM,GAAG;QAAEP,WAAW,EAAXA,WAAF;QAAeC,UAAU,EAAVA,UAAf;QAA2BG,UAAU,EAAVA,UAA3B;QAAuCF,OAAO,EAAPA;MAAvC,CAAf;MAEA3B,EAAE,GAAGA,EAAE,IAAIT,IAAX;MAEA,IAAM0C,MAAM,GAAG3C,SAAS,CAACC,IAAD,EAAOS,EAAP,CAAxB;MAEA,IAAIkC,aAAa,GAAG,IAApB;MACA,IAAIC,WAAW,GAAG,IAAlB;MACA,IAAIC,eAAe,GAAG,IAAtB;;MAEA,IAAIN,SAAJ,EAAe;QACb,IAAIvC,IAAI,IAAIA,IAAI,CAAC8C,cAAL,CAAoB,OAApB,CAAZ,EAA0C;UACxCH,aAAa,gBAAGI,oBAAA,CAASC,YAAT,eACd,gCAAC,qBAAD;YACE,QAAQ,EAAE,kBAAAC,CAAC;cAAA,OAAK,MAAI,CAACrB,KAAL,CAAW5B,IAAX,GAAkBiD,CAAvB;YAAA,CADb;YAEE,QAAQ,EAAE,CAACT,gBAFb;YAGE,IAAI,EAAExC,IAHR;YAIE,UAAU,EAAEsC,UAJd;YAKE,QAAQ,EAAE,kBAAAzB,KAAK;cAAA,OAAI,MAAI,CAACqC,WAAL,iCAAsBlD,IAAtB;gBAA4Ba,KAAK,EAALA;cAA5B,IAAqC,MAArC,CAAJ;YAAA;UALjB,EADc,EAQd0B,SARc,CAAhB;QAUD;;QAED,IAAI9B,EAAE,IAAIA,EAAE,CAACqC,cAAH,CAAkB,OAAlB,CAAV,EAAsC;UACpCF,WAAW,gBAAGG,oBAAA,CAASC,YAAT,eACZ,gCAAC,qBAAD;YACE,QAAQ,EAAE,kBAAAC,CAAC;cAAA,OAAK,MAAI,CAACrB,KAAL,CAAWnB,EAAX,GAAgBwC,CAArB;YAAA,CADb;YAEE,QAAQ,EAAE,CAACT,gBAFb;YAGE,IAAI,EAAE/B,EAHR;YAIE,UAAU,EAAE6B,UAJd;YAKE,QAAQ,EAAE,kBAAAzB,KAAK;cAAA,OAAI,MAAI,CAACqC,WAAL,iCAAsBzC,EAAtB;gBAA0BI,KAAK,EAALA;cAA1B,IAAmC,IAAnC,CAAJ;YAAA;UALjB,EADY,EAQZ0B,SARY,CAAd;QAUD;;QAED,IAAIhC,MAAM,IAAIA,MAAM,CAACuC,cAAP,CAAsB,OAAtB,CAAd,EAA8C;UAC5CD,eAAe,gBAAGE,oBAAA,CAASC,YAAT,eAChB,gCAAC,qBAAD;YACE,QAAQ,EAAE,kBAAAC,CAAC;cAAA,OAAK,MAAI,CAACrB,KAAL,CAAWrB,MAAX,GAAoB0C,CAAzB;YAAA,CADb;YAEE,QAAQ,EAAE,CAACT,gBAFb;YAGE,IAAI,EAAEjC,MAHR;YAIE,UAAU,EAAE+B,UAJd;YAKE,QAAQ,EAAE,kBAAAzB,KAAK;cAAA,OAAI,MAAI,CAACqC,WAAL,iCAAsB3C,MAAtB;gBAA8BM,KAAK,EAALA;cAA9B,IAAuC,QAAvC,CAAJ;YAAA;UALjB,EADgB,EAQhB0B,SARgB,CAAlB;QAUD;MACF;;MAED,oBACE,wDACE,gCAAC,oBAAD;QACE,QAAQ,EAAEN,QAAQ,IAAIH,QADxB;QAEE,WAAW,EAAEO,WAFf;QAGE,SAAS,EAAE,IAAAc,sBAAA,EAAWlB,QAAQ,IAAIF,OAAO,CAACqB,gBAA/B,CAHb;QAIE,CAAC,EAAEpD,IAAI,CAACqD,CAJV;QAKE,CAAC,EAAErD,IAAI,CAACsD,CALV;QAME,MAAM,EAAEZ,MANV;QAOE,MAAM,EAAE,KAAKa;MAPf,GAQMd,MARN;QASE,OAAO,EAAED,gBAAgB,GAAG;UAAA,OAAM,MAAI,CAACgB,UAAL,CAAgBjD,MAAhB,EAAwB,QAAxB,CAAN;QAAA,CAAH,GAA6CkC,MAAM,CAACL;MAT/E,GADF,EAYGS,eAZH,eAcE,gCAAC,gBAAD;QACE,QAAQ,EAAEZ,QAAQ,IAAIH,QADxB;QAEE,kBAAkB,EAAEE,kBAFtB;QAGE,WAAW,EAAEK,WAHf;QAIE,SAAS,EAAEE,SAJb;QAKE,CAAC,EAAE9B,EAAE,CAAC4C,CALR;QAME,CAAC,EAAE5C,EAAE,CAAC6C,CANR;QAOE,MAAM,EAAE,KAAKG;MAPf,GAQMhB,MARN;QASE,OAAO,EAAED,gBAAgB,GAAG;UAAA,OAAM,MAAI,CAACgB,UAAL,CAAgB/C,EAAhB,EAAoB,IAApB,CAAN;QAAA,CAAH,GAAqCgC,MAAM,CAACL;MATvE,GAdF,EAyBGQ,WAzBH,eA2BE,gCAAC,gBAAD;QACE,QAAQ,EAAEX,QAAQ,IAAIH,QADxB;QAEE,kBAAkB,EAAEE,kBAFtB;QAGE,WAAW,EAAEK,WAHf;QAIE,SAAS,EAAEE,SAJb;QAKE,CAAC,EAAEvC,IAAI,CAACqD,CALV;QAME,CAAC,EAAErD,IAAI,CAACsD,CANV;QAOE,SAAS,EAAEvB,OAAO,CAAC/B,IAPrB;QAQE,MAAM,EAAE,KAAK0D;MARf,GASMjB,MATN;QAUE,OAAO,EAAED,gBAAgB,GAAG;UAAA,OAAM,MAAI,CAACgB,UAAL,CAAgBxD,IAAhB,EAAsB,MAAtB,CAAN;QAAA,CAAH,GAAyCyC,MAAM,CAACL;MAV3E,GA3BF,EAuCGO,aAvCH,CADF;IA2CD;;;;EAzOgCgB,iBAAA,CAAMC,S;;;;gBAA5BvD,a,eACQ;EACjB4B,QAAQ,EAAE4B,qBAAA,CAAUC,IADH;EAEjB/B,OAAO,EAAE8B,qBAAA,CAAUE,MAAV,CAAiBC,UAFT;EAGjBC,SAAS,EAAEJ,qBAAA,CAAUK,MAHJ;EAIjBlC,kBAAkB,EAAE6B,qBAAA,CAAUC,IAJb;EAKjBzB,WAAW,EAAEwB,qBAAA,CAAUK,MALN;EAMjBlE,IAAI,EAAEmE,WAAA,CAAMC,SANK;EAOjBtC,QAAQ,EAAE+B,qBAAA,CAAUC,IAPH;EAQjBrD,EAAE,EAAE0D,WAAA,CAAMC,SARO;EASjB7D,MAAM,EAAE4D,WAAA,CAAMC,SATG;EAUjB5D,QAAQ,EAAEqD,qBAAA,CAAUQ,IAAV,CAAeL,UAVR;EAWjB9B,WAAW,EAAE2B,qBAAA,CAAUQ,IAXN;EAYjBlC,UAAU,EAAE0B,qBAAA,CAAUQ,IAZL;EAajB/B,UAAU,EAAE6B,WAAA,CAAMG,cAAN,CAAqBN,UAbhB;EAcjB5B,OAAO,EAAEyB,qBAAA,CAAUQ,IAdF;EAejB9B,SAAS,EAAEsB,qBAAA,CAAUE,MAfJ;EAgBjBvB,gBAAgB,EAAEqB,qBAAA,CAAUC,IAhBX;EAiBjBrC,eAAe,EAAEoC,qBAAA,CAAUQ;AAjBV,C;;gBADRhE,a,kBAqBW;EACpB+B,OAAO,EAAE;IAAA,OAAO,EAAP;EAAA;AADW,C;;AAuNjB,IAAMmC,UAAU,GAAG,IAAAC,kBAAA,EAAW,UAAAC,KAAK;EAAA,OAAK;IAC7CC,SAAS,EAAE;MACTC,IAAI,EAAE,cADG;MACa;MACtBC,MAAM,EAAEC,eAAA,CAAMC,YAAN,EAFC;MAGTC,WAAW,EAAE,CAHJ;MAIT,WAAW;QACTA,WAAW,EAAE,CADJ;QAETH,MAAM,EAAEC,eAAA,CAAMG,WAAN;MAFC;IAJF,CADkC;IAU7CC,IAAI,EAAE,EAVuC;IAW7C7B,gBAAgB,EAAE;MAChBwB,MAAM,EAAEC,eAAA,CAAMK,cAAN,EADQ;MAEhBC,SAAS,EAAE,0BAFK;MAGhBC,uBAAuB,EAAE,UAHT;MAIhBtF,OAAO,EAAE;IAJO,CAX2B;IAiB7C,2BAA2BD,cAAc,CAAC,KAAD;EAjBI,CAAL;AAAA,CAAhB,EAkBtBQ,aAlBsB,CAAnB;;AAoBP,IAAMuD,SAAS,GAAG,IAAAyB,+BAAA,EAAkBd,UAAlB,CAAlB;eACeX,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/circle/index.js"],"names":["tool","type","Component","Circle","hover","point","mark","edge","addPoint","root","building"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,QADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,KAAK,EAAE,eAACC,KAAD,EAAQC,IAAR,EAAiB;AACtB,6CAAYA,IAAZ;AAAkBC,QAAAA,IAAI,EAAEF;AAAxB;AACD,KALwB;AAMzBG,IAAAA,QAAQ,EAAE,kBAACH,KAAD,EAAQC,IAAR,EAAiB;AACzB,UAAIA,IAAI,IAAI,wBAAYA,IAAI,CAACG,IAAjB,EAAuBJ,KAAvB,CAAZ,EAA2C;AACzC,eAAOC,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,QADD;AAELQ,UAAAA,IAAI,EAAEJ,KAFD;AAGLK,UAAAA,QAAQ,EAAE;AAHL,SAAP;AAKD,OAND,MAMO;AACL,+CAAYJ,IAAZ;AAAkBC,UAAAA,IAAI,EAAEF,KAAxB;AAA+BK,UAAAA,QAAQ,EAAE;AAAzC;AACD;AACF;AApBwB,GAAP;AAAA,CAAb","sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n }\n});\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["tool","type","Component","Circle","hover","point","mark","edge","addPoint","equalPoints","root","building"],"sources":["../../../src/tools/circle/index.js"],"sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n }\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,QADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,KAAK,EAAE,eAACC,KAAD,EAAQC,IAAR,EAAiB;MACtB,uCAAYA,IAAZ;QAAkBC,IAAI,EAAEF;MAAxB;IACD,CALwB;IAMzBG,QAAQ,EAAE,kBAACH,KAAD,EAAQC,IAAR,EAAiB;MACzB,IAAIA,IAAI,IAAI,IAAAG,kBAAA,EAAYH,IAAI,CAACI,IAAjB,EAAuBL,KAAvB,CAAZ,EAA2C;QACzC,OAAOC,IAAP;MACD;;MAED,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,QADD;UAELS,IAAI,EAAEL,KAFD;UAGLM,QAAQ,EAAE;QAHL,CAAP;MAKD,CAND,MAMO;QACL,uCAAYL,IAAZ;UAAkBC,IAAI,EAAEF,KAAxB;UAA+BM,QAAQ,EAAE;QAAzC;MACD;IACF;EApBwB,CAAP;AAAA,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tools/index.js"],"names":["allTools","toolsArr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,mBADe,EAEf,iBAFe,EAGf,mBAHe,EAIf,kBAJe,EAKf,oBALe,EAMf,gBANe,EAOf,oBAPe,EAQf,kBARe,EASf,mBATe,CAAjB","sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine/index';\nimport { tool as parabola } from './parabola/index';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\n\nconst allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["allTools","toolsArr","circle","line","parabola","point","polygon","ray","segment","sine","vector"],"sources":["../../src/tools/index.js"],"sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine/index';\nimport { tool as parabola } from './parabola/index';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\n\nconst allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,IAAAC,YAAA,GADe,EAEf,IAAAC,UAAA,GAFe,EAGf,IAAAC,YAAA,GAHe,EAIf,IAAAC,WAAA,GAJe,EAKf,IAAAC,aAAA,GALe,EAMf,IAAAC,SAAA,GANe,EAOf,IAAAC,aAAA,GAPe,EAQf,IAAAC,WAAA,GARe,EASf,IAAAC,YAAA,GATe,CAAjB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/line/component.jsx"],"names":["markerId","lineStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","ArrowedLine","props","className","classes","correctness","graphProps","from","to","rest","scale","domain","range","trig","edges","eFrom","eTo","suffix","x","y","propTypes","PropTypes","string","object","bool","types","GraphPropsType","PointType","StyledArrowedLine","Line","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { trig, types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const ArrowedLine = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [eFrom, eTo] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(eFrom.x)}\n y1={scale.y(eFrom.y)}\n x2={scale.x(eTo.x)}\n y2={scale.y(eTo.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n markerStart={`url(#${props.markerId || markerId}-${suffix})`}\n {...rest}\n />\n </g>\n );\n};\n\nArrowedLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledArrowedLine = withStyles(lineStyles)(ArrowedLine);\n\nconst Line = lineBase(StyledArrowedLine);\nconst Component = lineToolComponent(Line);\n\nexport default Component;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["markerId","genUid","lineStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","ArrowedLine","props","className","classes","correctness","graphProps","from","to","rest","scale","getAdjustedGraphLimits","domain","range","trig","edges","eFrom","eTo","suffix","thinnerShapesNeeded","classNames","x","y","propTypes","PropTypes","string","object","bool","types","GraphPropsType","PointType","StyledArrowedLine","withStyles","Line","lineBase","Component","lineToolComponent"],"sources":["../../../src/tools/line/component.jsx"],"sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { trig, types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const ArrowedLine = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [eFrom, eTo] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(eFrom.x)}\n y1={scale.y(eFrom.y)}\n x2={scale.x(eTo.x)}\n y2={scale.y(eTo.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n markerStart={`url(#${props.markerId || markerId}-${suffix})`}\n {...rest}\n />\n </g>\n );\n};\n\nArrowedLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledArrowedLine = withStyles(lineStyles)(ArrowedLine);\n\nconst Line = lineBase(StyledArrowedLine);\nconst Component = lineToolComponent(Line);\n\nexport default Component;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/line/index.js"],"names":["tool","Line"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,oBAAS,MAAT,EAAiBC,qBAAjB,CAAb","sourcesContent":["import Line from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('line', Line);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["tool","lineTool","Line"],"sources":["../../../src/tools/line/index.js"],"sourcesContent":["import Line from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('line', Line);\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,IAAAC,cAAA,EAAS,MAAT,EAAiBC,qBAAjB,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/parabola/component.jsx"],"names":["log","Parabola","props","domain","graphProps","root","edge","interval","dataPoints","x","min","max","step","Component"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;AAEA,IAAMC,QAAQ,GAAG,gCAAa,UAAAC,KAAK,EAAI;AACrC,MAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;AAEA,MAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;AAAA,MAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;AACA,MAAMC,QAAQ,GAAG,CAAjB;AAEA,MAAMC,UAAU,GACdF,IAAI,IAAIA,IAAI,CAACG,CAAL,KAAWJ,IAAI,CAACI,CAAxB,GACI,EADJ,GAEI,oCACEN,MAAM,CAACO,GADT,EAEEP,MAAM,CAACQ,GAFT,EAGEN,IAHF,EAIEC,IAJF,EAKEH,MAAM,CAACS,IAAP,IAAeL,QALjB,EAME,0CAAsBF,IAAtB,EAA4BC,IAA5B,CANF,CAHN;AAWAN,EAAAA,GAAG,CAAC,aAAD,EAAgBQ,UAAhB,CAAH;AACA,SAAO;AAAEH,IAAAA,IAAI,EAAEH,KAAK,CAACG,IAAd;AAAoBC,IAAAA,IAAI,EAAEJ,KAAK,CAACI,IAAhC;AAAsCE,IAAAA,UAAU,EAAVA;AAAtC,GAAP;AACD,CAnBgB,CAAjB;AAqBA,IAAMK,SAAS,GAAG,qCAAkBZ,QAAlB,CAAlB;eACeY,S","sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, parabolaFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Parabola = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const interval = 1;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n domain.step || interval,\n parabolaFromTwoPoints(root, edge)\n );\n log('dataPoints:', dataPoints);\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Parabola);\nexport default Component;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["log","debug","Parabola","withRootEdge","props","domain","graphProps","root","edge","interval","dataPoints","x","buildDataPoints","min","max","step","parabolaFromTwoPoints","Component","rootEdgeComponent"],"sources":["../../../src/tools/parabola/component.jsx"],"sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, parabolaFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Parabola = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const interval = 1;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n domain.step || interval,\n parabolaFromTwoPoints(root, edge)\n );\n log('dataPoints:', dataPoints);\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Parabola);\nexport default Component;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,uBAAN,CAAZ;AAEA,IAAMC,QAAQ,GAAG,IAAAC,0BAAA,EAAa,UAAAC,KAAK,EAAI;EACrC,IAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;EAEA,IAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;EAAA,IAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;EACA,IAAMC,QAAQ,GAAG,CAAjB;EAEA,IAAMC,UAAU,GACdF,IAAI,IAAIA,IAAI,CAACG,CAAL,KAAWJ,IAAI,CAACI,CAAxB,GACI,EADJ,GAEI,IAAAC,8BAAA,EACEP,MAAM,CAACQ,GADT,EAEER,MAAM,CAACS,GAFT,EAGEP,IAHF,EAIEC,IAJF,EAKEH,MAAM,CAACU,IAAP,IAAeN,QALjB,EAME,IAAAO,oCAAA,EAAsBT,IAAtB,EAA4BC,IAA5B,CANF,CAHN;EAWAR,GAAG,CAAC,aAAD,EAAgBU,UAAhB,CAAH;EACA,OAAO;IAAEH,IAAI,EAAEH,KAAK,CAACG,IAAd;IAAoBC,IAAI,EAAEJ,KAAK,CAACI,IAAhC;IAAsCE,UAAU,EAAVA;EAAtC,CAAP;AACD,CAnBgB,CAAjB;AAqBA,IAAMO,SAAS,GAAG,IAAAC,+BAAA,EAAkBhB,QAAlB,CAAlB;eACee,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/parabola/index.js"],"names":["log","tool","type","Component","Parabola","complete","data","mark","building","closed","addPoint","point","root","edge","undefined","Error"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,UADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP;AAAA,6CAAsBA,IAAtB;AAA4BC,QAAAA,QAAQ,EAAE,KAAtC;AAA6CC,QAAAA,MAAM,EAAE;AAArD;AAAA,KAHe;AAIzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;AACzBP,MAAAA,GAAG,CAAC,+BAAD,EAAkCW,KAAlC,EAAyC,QAAzC,EAAmDJ,IAAnD,CAAH;;AACA,UAAIA,IAAI,KAAK,wBAAYA,IAAI,CAACK,IAAjB,EAAuBD,KAAvB,KAAiC,qBAASJ,IAAI,CAACK,IAAd,EAAoBD,KAApB,CAAtC,CAAR,EAA2E;AACzE,eAAOJ,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,UADD;AAELU,UAAAA,IAAI,EAAED,KAFD;AAGLE,UAAAA,IAAI,EAAEC,SAHD;AAILL,UAAAA,MAAM,EAAE,KAJH;AAKLD,UAAAA,QAAQ,EAAE;AALL,SAAP;AAOD,OARD,MAQO,IAAID,IAAI,IAAI,CAACA,IAAI,CAACK,IAAlB,EAAwB;AAC7B,cAAM,IAAIG,KAAJ,CAAU,+BAAV,CAAN;AACD,OAFM,MAEA;AACL,+CAAYR,IAAZ;AAAkBM,UAAAA,IAAI,EAAEF,KAAxB;AAA+BF,UAAAA,MAAM,EAAE,IAAvC;AAA6CD,UAAAA,QAAQ,EAAE;AAAvD;AACD;AACF;AAvBwB,GAAP;AAAA,CAAb","sourcesContent":["import Parabola from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:parabola');\n\nexport const tool = () => ({\n type: 'parabola',\n Component: Parabola,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to parabola model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'parabola',\n root: point,\n edge: undefined,\n closed: false,\n building: true\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n }\n});\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["log","debug","tool","type","Component","Parabola","complete","data","mark","building","closed","addPoint","point","equalPoints","root","sameAxes","edge","undefined","Error"],"sources":["../../../src/tools/parabola/index.js"],"sourcesContent":["import Parabola from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:parabola');\n\nexport const tool = () => ({\n type: 'parabola',\n Component: Parabola,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to parabola model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'parabola',\n root: point,\n edge: undefined,\n closed: false,\n building: true\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n }\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,2BAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,UADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP;MAAA,uCAAsBA,IAAtB;QAA4BC,QAAQ,EAAE,KAAtC;QAA6CC,MAAM,EAAE;MAArD;IAAA,CAHe;IAIzBC,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;MACzBR,GAAG,CAAC,+BAAD,EAAkCY,KAAlC,EAAyC,QAAzC,EAAmDJ,IAAnD,CAAH;;MACA,IAAIA,IAAI,KAAK,IAAAK,kBAAA,EAAYL,IAAI,CAACM,IAAjB,EAAuBF,KAAvB,KAAiC,IAAAG,eAAA,EAASP,IAAI,CAACM,IAAd,EAAoBF,KAApB,CAAtC,CAAR,EAA2E;QACzE,OAAOJ,IAAP;MACD;;MAED,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,UADD;UAELW,IAAI,EAAEF,KAFD;UAGLI,IAAI,EAAEC,SAHD;UAILP,MAAM,EAAE,KAJH;UAKLD,QAAQ,EAAE;QALL,CAAP;MAOD,CARD,MAQO,IAAID,IAAI,IAAI,CAACA,IAAI,CAACM,IAAlB,EAAwB;QAC7B,MAAM,IAAII,KAAJ,CAAU,+BAAV,CAAN;MACD,CAFM,MAEA;QACL,uCAAYV,IAAZ;UAAkBQ,IAAI,EAAEJ,KAAxB;UAA+BF,MAAM,EAAE,IAAvC;UAA6CD,QAAQ,EAAE;QAAvD;MACD;IACF;EAvBwB,CAAP;AAAA,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/point/component.jsx"],"names":["Point","props","p","mark","state","setState","update","label","onChange","undefined","labelModeEnabled","onClick","input","focus","coordinatesOnHover","graphProps","labelNode","move","startDrag","stopDrag","clickPoint","hasOwnProperty","ReactDOM","createPortal","r","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = p => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = label => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (labelModeEnabled) {\n onChange(mark, { label: '', ...mark });\n if (this.input) {\n this.input.focus();\n }\n } else {\n onClick(mark);\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n />\n {labelNode &&\n mark.hasOwnProperty('label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["Point","props","p","mark","state","setState","update","label","onChange","undefined","isEqual","isEmpty","labelModeEnabled","onClick","input","focus","coordinatesOnHover","graphProps","labelNode","move","startDrag","stopDrag","clickPoint","hasOwnProperty","ReactDOM","createPortal","r","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields"],"sources":["../../../src/tools/point/component.jsx"],"sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = p => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = label => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (labelModeEnabled) {\n onChange(mark, { label: '', ...mark });\n if (this.input) {\n this.input.focus();\n }\n } else {\n onClick(mark);\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n />\n {labelNode &&\n mark.hasOwnProperty('label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/point/index.js"],"names":["tool","label","type","Component","Point","addPoint","point"],"mappings":";;;;;;;AAAA;;;;;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,KAAK,EAAE,OADkB;AAEzBC,IAAAA,IAAI,EAAE,OAFmB;AAGzBC,IAAAA,SAAS,EAAEC,qBAHc;AAIzBC,IAAAA,QAAQ,EAAE,kBAAAC,KAAK;AAAA;AACbJ,QAAAA,IAAI,EAAE;AADO,SAEVI,KAFU;AAAA;AAJU,GAAP;AAAA,CAAb","sourcesContent":["import Point from './component';\n\nexport const tool = () => ({\n label: 'Point',\n type: 'point',\n Component: Point,\n addPoint: point => ({\n type: 'point',\n ...point\n })\n});\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["tool","label","type","Component","Point","addPoint","point"],"sources":["../../../src/tools/point/index.js"],"sourcesContent":["import Point from './component';\n\nexport const tool = () => ({\n label: 'Point',\n type: 'point',\n Component: Point,\n addPoint: point => ({\n type: 'point',\n ...point\n })\n});\n"],"mappings":";;;;;;;AAAA;;;;;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,KAAK,EAAE,OADkB;IAEzBC,IAAI,EAAE,OAFmB;IAGzBC,SAAS,EAAEC,qBAHc;IAIzBC,QAAQ,EAAE,kBAAAC,KAAK;MAAA;QACbJ,IAAI,EAAE;MADO,GAEVI,KAFU;IAAA;EAJU,CAAP;AAAA,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/polygon/component.jsx"],"names":["log","buildLines","points","closed","expanded","reduce","acc","p","index","push","isLast","length","next","all","map","from","to","swap","arr","rest","pairs","pr","e","replacement","Number","isFinite","splice","RawBaseComponent","props","onChange","update","overlapPoint","find","label","existing","forEach","point","onClosePolygon","onChangeProps","updatedPoint","data","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","a","b","middle","input","focus","close","coordinatesOnHover","correctness","disabled","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","hasOwnProperty","ReactDOM","createPortal","r","dragPoly","bind","clickPoint","l","dragLine","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","mark","state","setState","onComplete","m","undefined","nextProps","nextState","nextGraphProps","utils","isDomainRangeEqual","stateMark","change","changeLabelProps","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types, utils } 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 const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n acc.push({ ...points[next], index: next });\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 return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n invariant(Number.isFinite(e.index), 'Index must be defined');\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n if (index >= 0) {\n acc.splice(index, 1, replacement);\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 labelNode: PropTypes.object,\n labelModeEnabled: 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 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 onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points\n } = this.props;\n\n if (labelModeEnabled) {\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 } else {\n if (isToolActive && !closed && index === 0) {\n this.close();\n } else {\n onClick(data);\n }\n }\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 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={() => {}}\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 onClick={this.clickPoint.bind(this, p, index)}\n {...common}\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 = withStyles(() => ({}))(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 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 this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n shouldComponentUpdate = (nextProps, nextState) => {\n const { coordinatesOnHover, graphProps, mark } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return (\n !utils.isDomainRangeEqual(graphProps, nextGraphProps) ||\n !isEqual(mark, nextProps.mark) ||\n !isEqual(this.state.mark, nextState.mark) ||\n coordinatesOnHover !== nextProps.coordinatesOnHover\n );\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled\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 />\n );\n }\n}\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["log","debug","buildLines","points","closed","expanded","reduce","acc","p","index","push","isLast","length","next","all","chunk","map","from","to","initial","swap","arr","rest","pairs","pr","e","replacement","invariant","Number","isFinite","splice","RawBaseComponent","props","onChange","update","overlapPoint","find","equalPoints","label","existing","forEach","point","onClosePolygon","onChangeProps","updatedPoint","isEmpty","data","onClick","isToolActive","labelModeEnabled","onChangeLabelProps","getRightestPoints","a","b","middle","getMiddleOfTwoPoints","input","focus","close","coordinatesOnHover","correctness","disabled","graphProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","hasOwnProperty","ReactDOM","createPortal","r","dragPoly","bind","clickPoint","l","dragLine","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","withStyles","mark","state","setState","onComplete","m","undefined","nextProps","nextState","nextGraphProps","utils","isDomainRangeEqual","isEqual","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 { withStyles } from '@material-ui/core/styles';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport chunk from 'lodash/chunk';\nimport initial from 'lodash/initial';\nimport isEqual from 'lodash/isEqual';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types, utils } 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 const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n acc.push({ ...points[next], index: next });\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 return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n invariant(Number.isFinite(e.index), 'Index must be defined');\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n if (index >= 0) {\n acc.splice(index, 1, replacement);\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 labelNode: PropTypes.object,\n labelModeEnabled: 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 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 onClick,\n isToolActive,\n labelModeEnabled,\n onChangeProps,\n onChangeLabelProps,\n points\n } = this.props;\n\n if (labelModeEnabled) {\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 } else {\n if (isToolActive && !closed && index === 0) {\n this.close();\n } else {\n onClick(data);\n }\n }\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 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={() => {}}\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 onClick={this.clickPoint.bind(this, p, index)}\n {...common}\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 = withStyles(() => ({}))(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 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 this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n shouldComponentUpdate = (nextProps, nextState) => {\n const { coordinatesOnHover, graphProps, mark } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return (\n !utils.isDomainRangeEqual(graphProps, nextGraphProps) ||\n !isEqual(mark, nextProps.mark) ||\n !isEqual(this.state.mark, nextState.mark) ||\n coordinatesOnHover !== nextProps.coordinatesOnHover\n );\n };\n\n render() {\n const {\n coordinatesOnHover,\n mark,\n graphProps,\n onClick,\n isToolActive,\n labelNode,\n labelModeEnabled\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 />\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/polygon/index.js"],"names":["addPointToArray","point","arr","length","points","closed","hasPoint","find","p","tool","type","Component","Polygon","complete","data","mark","building","addPoint"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,GAAR,EAAgB;AAC7CA,EAAAA,GAAG,GAAGA,GAAG,IAAI,EAAb;;AAEA,MAAIA,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;AACpB,WAAO;AAAEC,MAAAA,MAAM,EAAE,CAACH,KAAD,CAAV;AAAmBI,MAAAA,MAAM,EAAE;AAA3B,KAAP;AACD,GAFD,MAEO,IAAIH,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;AAC3B,QAAI,wBAAYF,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAJ,EAAgC;AAC9B,aAAO;AAAEE,QAAAA,MAAM,EAAEF,GAAV;AAAeG,QAAAA,MAAM,EAAE;AAAvB,OAAP;AACD,KAFD,MAEO;AACL,aAAO;AAAED,QAAAA,MAAM,+BAAMF,GAAN,IAAWD,KAAX,EAAR;AAA2BI,QAAAA,MAAM,EAAE;AAAnC,OAAP;AACD;AACF,GANM,MAMA,IAAIH,GAAG,CAACC,MAAJ,IAAc,CAAlB,EAAqB;AAC1B,QAAME,MAAM,GAAG,wBAAYJ,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAf;;AAEA,QAAIG,MAAJ,EAAY;AACV,aAAO;AAAED,QAAAA,MAAM,EAAEF,GAAV;AAAeG,QAAAA,MAAM,EAANA;AAAf,OAAP;AACD,KAFD,MAEO;AACL,UAAMC,QAAQ,GAAG,CAAC,CAACJ,GAAG,CAACK,IAAJ,CAAS,UAAAC,CAAC;AAAA,eAAI,wBAAYA,CAAZ,EAAeP,KAAf,CAAJ;AAAA,OAAV,CAAnB;;AAEA,UAAIK,QAAJ,EAAc;AACZ,eAAO;AAAEF,UAAAA,MAAM,EAAEF,GAAV;AAAeG,UAAAA,MAAM,EAAE;AAAvB,SAAP;AACD,OAFD,MAEO;AACL,eAAO;AAAED,UAAAA,MAAM,+BAAMF,GAAN,IAAWD,KAAX,EAAR;AAA2BI,UAAAA,MAAM,EAAE;AAAnC,SAAP;AACD;AACF;AACF;AACF,CA1BM;;;;AA4BA,IAAMI,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,SADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;AACxB,6CAAYA,IAAZ;AAAkBC,QAAAA,QAAQ,EAAE,KAA5B;AAAmCX,QAAAA,MAAM,EAAE;AAA3C;AACD,KALwB;AAMzBY,IAAAA,QAAQ,EAAE,kBAAChB,KAAD,EAAQc,IAAR,EAAiB;AACzB,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,SADD;AAELN,UAAAA,MAAM,EAAE,CAACH,KAAD,CAFH;AAGLI,UAAAA,MAAM,EAAE,KAHH;AAILW,UAAAA,QAAQ,EAAE;AAJL,SAAP;AAMD,OAPD,MAOO;AACL,+BAA2BhB,eAAe,CAACC,KAAD,EAAQc,IAAI,CAACX,MAAb,CAA1C;AAAA,YAAQC,MAAR,oBAAQA,MAAR;AAAA,YAAgBD,MAAhB,oBAAgBA,MAAhB;;AAEA,+CAAYW,IAAZ;AAAkBV,UAAAA,MAAM,EAANA,MAAlB;AAA0BD,UAAAA,MAAM,EAANA,MAA1B;AAAkCY,UAAAA,QAAQ,EAAE,CAACX;AAA7C;AACD;AACF;AAnBwB,GAAP;AAAA,CAAb","sourcesContent":["import Polygon from './component';\nimport { equalPoints } from '../../utils';\n\nexport const addPointToArray = (point, arr) => {\n arr = arr || [];\n\n if (arr.length === 0) {\n return { points: [point], closed: false };\n } else if (arr.length === 1) {\n if (equalPoints(point, arr[0])) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n } else if (arr.length >= 2) {\n const closed = equalPoints(point, arr[0]);\n\n if (closed) {\n return { points: arr, closed };\n } else {\n const hasPoint = !!arr.find(p => equalPoints(p, point));\n\n if (hasPoint) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n }\n }\n};\n\nexport const tool = () => ({\n type: 'polygon',\n Component: Polygon,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n if (!mark) {\n return {\n type: 'polygon',\n points: [point],\n closed: false,\n building: true\n };\n } else {\n const { closed, points } = addPointToArray(point, mark.points);\n\n return { ...mark, closed, points, building: !closed };\n }\n }\n});\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["addPointToArray","point","arr","length","points","closed","equalPoints","hasPoint","find","p","tool","type","Component","Polygon","complete","data","mark","building","addPoint"],"sources":["../../../src/tools/polygon/index.js"],"sourcesContent":["import Polygon from './component';\nimport { equalPoints } from '../../utils';\n\nexport const addPointToArray = (point, arr) => {\n arr = arr || [];\n\n if (arr.length === 0) {\n return { points: [point], closed: false };\n } else if (arr.length === 1) {\n if (equalPoints(point, arr[0])) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n } else if (arr.length >= 2) {\n const closed = equalPoints(point, arr[0]);\n\n if (closed) {\n return { points: arr, closed };\n } else {\n const hasPoint = !!arr.find(p => equalPoints(p, point));\n\n if (hasPoint) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n }\n }\n};\n\nexport const tool = () => ({\n type: 'polygon',\n Component: Polygon,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n if (!mark) {\n return {\n type: 'polygon',\n points: [point],\n closed: false,\n building: true\n };\n } else {\n const { closed, points } = addPointToArray(point, mark.points);\n\n return { ...mark, closed, points, building: !closed };\n }\n }\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,GAAR,EAAgB;EAC7CA,GAAG,GAAGA,GAAG,IAAI,EAAb;;EAEA,IAAIA,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;IACpB,OAAO;MAAEC,MAAM,EAAE,CAACH,KAAD,CAAV;MAAmBI,MAAM,EAAE;IAA3B,CAAP;EACD,CAFD,MAEO,IAAIH,GAAG,CAACC,MAAJ,KAAe,CAAnB,EAAsB;IAC3B,IAAI,IAAAG,kBAAA,EAAYL,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAJ,EAAgC;MAC9B,OAAO;QAAEE,MAAM,EAAEF,GAAV;QAAeG,MAAM,EAAE;MAAvB,CAAP;IACD,CAFD,MAEO;MACL,OAAO;QAAED,MAAM,+BAAMF,GAAN,IAAWD,KAAX,EAAR;QAA2BI,MAAM,EAAE;MAAnC,CAAP;IACD;EACF,CANM,MAMA,IAAIH,GAAG,CAACC,MAAJ,IAAc,CAAlB,EAAqB;IAC1B,IAAME,MAAM,GAAG,IAAAC,kBAAA,EAAYL,KAAZ,EAAmBC,GAAG,CAAC,CAAD,CAAtB,CAAf;;IAEA,IAAIG,MAAJ,EAAY;MACV,OAAO;QAAED,MAAM,EAAEF,GAAV;QAAeG,MAAM,EAANA;MAAf,CAAP;IACD,CAFD,MAEO;MACL,IAAME,QAAQ,GAAG,CAAC,CAACL,GAAG,CAACM,IAAJ,CAAS,UAAAC,CAAC;QAAA,OAAI,IAAAH,kBAAA,EAAYG,CAAZ,EAAeR,KAAf,CAAJ;MAAA,CAAV,CAAnB;;MAEA,IAAIM,QAAJ,EAAc;QACZ,OAAO;UAAEH,MAAM,EAAEF,GAAV;UAAeG,MAAM,EAAE;QAAvB,CAAP;MACD,CAFD,MAEO;QACL,OAAO;UAAED,MAAM,+BAAMF,GAAN,IAAWD,KAAX,EAAR;UAA2BI,MAAM,EAAE;QAAnC,CAAP;MACD;IACF;EACF;AACF,CA1BM;;;;AA4BA,IAAMK,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,SADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;MACxB,uCAAYA,IAAZ;QAAkBC,QAAQ,EAAE,KAA5B;QAAmCZ,MAAM,EAAE;MAA3C;IACD,CALwB;IAMzBa,QAAQ,EAAE,kBAACjB,KAAD,EAAQe,IAAR,EAAiB;MACzB,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,SADD;UAELP,MAAM,EAAE,CAACH,KAAD,CAFH;UAGLI,MAAM,EAAE,KAHH;UAILY,QAAQ,EAAE;QAJL,CAAP;MAMD,CAPD,MAOO;QACL,uBAA2BjB,eAAe,CAACC,KAAD,EAAQe,IAAI,CAACZ,MAAb,CAA1C;QAAA,IAAQC,MAAR,oBAAQA,MAAR;QAAA,IAAgBD,MAAhB,oBAAgBA,MAAhB;;QAEA,uCAAYY,IAAZ;UAAkBX,MAAM,EAANA,MAAlB;UAA0BD,MAAM,EAANA,MAA1B;UAAkCa,QAAQ,EAAE,CAACZ;QAA7C;MACD;IACF;EAnBwB,CAAP;AAAA,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/polygon/line.jsx"],"names":["RawLine","props","graphProps","classes","from","to","className","disabled","correctness","rest","scale","x","y","line","React","Component","PropTypes","string","object","types","PointType","GraphPropsType","isRequired","bool","Line","strokeWidth","transition","stroke","color","secondary","correct","incorrect","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\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, classes, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <line\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={classNames(\n classes.line,\n disabled && classes.disabled,\n className,\n classes[correctness]\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = withStyles(() => ({\n line: {\n strokeWidth: 6,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 7,\n stroke: color.secondary()\n }\n },\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2\n },\n correct: correct('stoke'),\n incorrect: incorrect('stroke')\n}))(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"],"file":"line.js"}
1
+ {"version":3,"file":"line.js","names":["RawLine","props","graphProps","classes","from","to","className","disabled","correctness","rest","scale","x","y","classNames","line","React","Component","PropTypes","string","object","types","PointType","GraphPropsType","isRequired","bool","Line","withStyles","strokeWidth","transition","stroke","color","secondary","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/line.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nclass RawLine extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\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, classes, from, to, className, disabled, correctness, ...rest } = this.props;\n const { scale } = graphProps;\n return (\n <line\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={classNames(\n classes.line,\n disabled && classes.disabled,\n className,\n classes[correctness]\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Line = withStyles(() => ({\n line: {\n strokeWidth: 6,\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': {\n strokeWidth: 7,\n stroke: color.secondary()\n }\n },\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2\n },\n correct: correct('stoke'),\n incorrect: incorrect('stroke')\n}))(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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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/polygon/polygon.jsx"],"names":["getPointString","points","scale","map","p","scaledPoint","x","y","join","RawPolygon","props","classes","className","disabled","correctness","graphProps","closed","rest","pointString","Tag","open","React","Component","PropTypes","object","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","theme","fill","palette","primary","light","strokeWidth","stroke","color","secondaryLight","pointerEvents","correct","incorrect","bounds","domain","range","area","utils","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { fade } from '@material-ui/core/styles/colorManipulator';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map(p => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y)\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n points: []\n };\n\n render() {\n const {\n points,\n classes,\n className,\n disabled,\n correctness,\n graphProps,\n closed,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n const Tag = closed ? 'polygon' : 'polyline';\n return (\n <Tag\n points={pointString}\n className={classNames(\n closed && classes.closed,\n !closed && classes.open,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Polygon = withStyles(theme => ({\n closed: {\n fill: fade(theme.palette.primary.light, 0.2), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight()\n },\n open: {\n fill: fade(theme.palette.primary.light, 0.0), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight(),\n pointerEvents: 'none'\n },\n disabled: {\n ...disabled('stroke')\n },\n correct: {\n ...correct('stroke')\n },\n incorrect: {\n ...incorrect('stroke')\n }\n}))(RawPolygon);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map(p => utils.point(p).add(utils.point(delta)));\n }\n})(Polygon);\n"],"file":"polygon.js"}
1
+ {"version":3,"file":"polygon.js","names":["getPointString","points","scale","map","p","scaledPoint","x","y","join","RawPolygon","props","classes","className","disabled","correctness","graphProps","closed","rest","pointString","Tag","classNames","open","React","Component","PropTypes","object","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","withStyles","theme","fill","fade","palette","primary","light","strokeWidth","stroke","color","secondaryLight","pointerEvents","correct","incorrect","gridDraggable","bounds","domain","range","area","utils","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport * as utils from '../../utils';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\nimport { fade } from '@material-ui/core/styles/colorManipulator';\nimport { correct, disabled, incorrect } from '../shared/styles';\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map(p => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y)\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string\n };\n\n static defaultProps = {\n points: []\n };\n\n render() {\n const {\n points,\n classes,\n className,\n disabled,\n correctness,\n graphProps,\n closed,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n const Tag = closed ? 'polygon' : 'polyline';\n return (\n <Tag\n points={pointString}\n className={classNames(\n closed && classes.closed,\n !closed && classes.open,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n }\n}\n\nexport const Polygon = withStyles(theme => ({\n closed: {\n fill: fade(theme.palette.primary.light, 0.2), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight()\n },\n open: {\n fill: fade(theme.palette.primary.light, 0.0), // TODO hardcoded color\n strokeWidth: 2,\n stroke: color.secondaryLight(),\n pointerEvents: 'none'\n },\n disabled: {\n ...disabled('stroke')\n },\n correct: {\n ...correct('stroke')\n },\n incorrect: {\n ...incorrect('stroke')\n }\n}))(RawPolygon);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map(p => utils.point(p).add(utils.point(delta)));\n }\n})(Polygon);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/ray/component.jsx"],"names":["markerId","rayStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","RayLine","props","graphProps","from","to","classes","correctness","className","rest","scale","domain","range","trig","edges","aToB","suffix","x","y","propTypes","PropTypes","object","string","bool","any","types","PointType","StyledRay","Ray","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { trig, types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst rayStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const RayLine = props => {\n const { graphProps, from, to, classes, disabled, correctness, className, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [aToB] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(aToB.x)}\n y2={scale.y(aToB.y)}\n {...rest}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n />\n </g>\n );\n};\n\nRayLine.propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledRay = withStyles(rayStyles)(RayLine);\n\nconst Ray = lineBase(StyledRay);\nconst Component = lineToolComponent(Ray);\n\nexport default Component;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["markerId","genUid","rayStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","RayLine","props","graphProps","from","to","classes","correctness","className","rest","scale","getAdjustedGraphLimits","domain","range","trig","edges","aToB","suffix","thinnerShapesNeeded","classNames","x","y","propTypes","PropTypes","object","string","bool","any","types","PointType","StyledRay","withStyles","Ray","lineBase","Component","lineToolComponent"],"sources":["../../../src/tools/ray/component.jsx"],"sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { trig, types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst rayStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const RayLine = props => {\n const { graphProps, from, to, classes, disabled, correctness, className, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [aToB] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(from.x)}\n y1={scale.y(from.y)}\n x2={scale.x(aToB.x)}\n y2={scale.y(aToB.y)}\n {...rest}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n />\n </g>\n );\n};\n\nRayLine.propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledRay = withStyles(rayStyles)(RayLine);\n\nconst Ray = lineBase(StyledRay);\nconst Component = lineToolComponent(Ray);\n\nexport default Component;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/ray/index.js"],"names":["tool","Ray"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,oBAAS,KAAT,EAAgBC,qBAAhB,CAAb","sourcesContent":["import Ray from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('ray', Ray);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["tool","lineTool","Ray"],"sources":["../../../src/tools/ray/index.js"],"sourcesContent":["import Ray from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('ray', Ray);\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,IAAAC,cAAA,EAAS,KAAT,EAAgBC,qBAAhB,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/segment/component.jsx"],"names":["lineStyles","theme","line","styles","disabled","correct","incorrect","Line","props","className","classes","correctness","graphProps","from","to","rest","scale","x","y","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","Segment","Component"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;AAAA,SAAK;AAC3BC,IAAAA,IAAI,EAAEC,aAAOD,IAAP,CAAYD,KAAZ,CADqB;AAE3BG,IAAAA,QAAQ,EAAED,aAAOC,QAAP,CAAgBH,KAAhB,CAFiB;AAG3BI,IAAAA,OAAO,EAAEF,aAAOE,OAAP,CAAeJ,KAAf,EAAsB,QAAtB,CAHkB;AAI3BK,IAAAA,SAAS,EAAEH,aAAOG,SAAP,CAAiBL,KAAjB,EAAwB,QAAxB;AAJgB,GAAL;AAAA,CAAxB;;AAMO,IAAMM,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;AAC3B,MAAQC,SAAR,GAAqFD,KAArF,CAAQC,SAAR;AAAA,MAAmBC,OAAnB,GAAqFF,KAArF,CAAmBE,OAAnB;AAAA,MAA4BC,WAA5B,GAAqFH,KAArF,CAA4BG,WAA5B;AAAA,MAAyCP,QAAzC,GAAqFI,KAArF,CAAyCJ,QAAzC;AAAA,MAAmDQ,UAAnD,GAAqFJ,KAArF,CAAmDI,UAAnD;AAAA,MAA+DC,IAA/D,GAAqFL,KAArF,CAA+DK,IAA/D;AAAA,MAAqEC,EAArE,GAAqFN,KAArF,CAAqEM,EAArE;AAAA,MAA4EC,IAA5E,4BAAqFP,KAArF;;AACA,MAAQQ,KAAR,GAAkBJ,UAAlB,CAAQI,KAAR;AAEA,sBACE;AACE,IAAA,MAAM,EAAC,OADT;AAEE,IAAA,WAAW,EAAC,GAFd;AAGE,IAAA,EAAE,EAAEA,KAAK,CAACC,CAAN,CAAQJ,IAAI,CAACI,CAAb,CAHN;AAIE,IAAA,EAAE,EAAED,KAAK,CAACE,CAAN,CAAQL,IAAI,CAACK,CAAb,CAJN;AAKE,IAAA,EAAE,EAAEF,KAAK,CAACC,CAAN,CAAQH,EAAE,CAACG,CAAX,CALN;AAME,IAAA,EAAE,EAAED,KAAK,CAACE,CAAN,CAAQJ,EAAE,CAACI,CAAX,CANN;AAOE,IAAA,SAAS,EAAE,4BACTR,OAAO,CAACR,IADC,EAETE,QAAQ,IAAIM,OAAO,CAACN,QAFX,EAGTM,OAAO,CAACC,WAAD,CAHE,EAITF,SAJS;AAPb,KAaMM,IAbN,EADF;AAiBD,CArBM;;;AAuBPR,IAAI,CAACY,SAAL,GAAiB;AACfV,EAAAA,SAAS,EAAEW,sBAAUC,MADN;AAEfX,EAAAA,OAAO,EAAEU,sBAAUE,MAFJ;AAGfX,EAAAA,WAAW,EAAES,sBAAUC,MAHR;AAIfjB,EAAAA,QAAQ,EAAEgB,sBAAUG,IAJL;AAKfX,EAAAA,UAAU,EAAEQ,sBAAUI,GALP;AAMfX,EAAAA,IAAI,EAAEY,YAAMC,SANG;AAOfZ,EAAAA,EAAE,EAAEW,YAAMC;AAPK,CAAjB;AAUA,IAAMC,UAAU,GAAG,wBAAW3B,UAAX,EAAuBO,IAAvB,CAAnB;AACA,IAAMqB,OAAO,GAAG,oBAASD,UAAT,CAAhB;AACA,IAAME,SAAS,GAAG,6BAAkBD,OAAlB,CAAlB;eAEeC,S","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke')\n});\nexport const Line = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n\n return (\n <line\n stroke=\"green\"\n strokeWidth=\"6\"\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={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Segment = lineBase(StyledLine);\nconst Component = lineToolComponent(Segment);\n\nexport default Component;\n"],"file":"component.js"}
1
+ {"version":3,"file":"component.js","names":["lineStyles","theme","line","styles","disabled","correct","incorrect","Line","props","className","classes","correctness","graphProps","from","to","rest","scale","x","y","classNames","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","withStyles","Segment","lineBase","Component","lineToolComponent"],"sources":["../../../src/tools/segment/component.jsx"],"sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { types } from '@pie-lib/plot';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke')\n});\nexport const Line = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n\n return (\n <line\n stroke=\"green\"\n strokeWidth=\"6\"\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={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Segment = lineBase(StyledLine);\nconst Component = lineToolComponent(Segment);\n\nexport default Component;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;EAAA,OAAK;IAC3BC,IAAI,EAAEC,YAAA,CAAOD,IAAP,CAAYD,KAAZ,CADqB;IAE3BG,QAAQ,EAAED,YAAA,CAAOC,QAAP,CAAgBH,KAAhB,CAFiB;IAG3BI,OAAO,EAAEF,YAAA,CAAOE,OAAP,CAAeJ,KAAf,EAAsB,QAAtB,CAHkB;IAI3BK,SAAS,EAAEH,YAAA,CAAOG,SAAP,CAAiBL,KAAjB,EAAwB,QAAxB;EAJgB,CAAL;AAAA,CAAxB;;AAMO,IAAMM,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;EAC3B,IAAQC,SAAR,GAAqFD,KAArF,CAAQC,SAAR;EAAA,IAAmBC,OAAnB,GAAqFF,KAArF,CAAmBE,OAAnB;EAAA,IAA4BC,WAA5B,GAAqFH,KAArF,CAA4BG,WAA5B;EAAA,IAAyCP,QAAzC,GAAqFI,KAArF,CAAyCJ,QAAzC;EAAA,IAAmDQ,UAAnD,GAAqFJ,KAArF,CAAmDI,UAAnD;EAAA,IAA+DC,IAA/D,GAAqFL,KAArF,CAA+DK,IAA/D;EAAA,IAAqEC,EAArE,GAAqFN,KAArF,CAAqEM,EAArE;EAAA,IAA4EC,IAA5E,4BAAqFP,KAArF;;EACA,IAAQQ,KAAR,GAAkBJ,UAAlB,CAAQI,KAAR;EAEA,oBACE;IACE,MAAM,EAAC,OADT;IAEE,WAAW,EAAC,GAFd;IAGE,EAAE,EAAEA,KAAK,CAACC,CAAN,CAAQJ,IAAI,CAACI,CAAb,CAHN;IAIE,EAAE,EAAED,KAAK,CAACE,CAAN,CAAQL,IAAI,CAACK,CAAb,CAJN;IAKE,EAAE,EAAEF,KAAK,CAACC,CAAN,CAAQH,EAAE,CAACG,CAAX,CALN;IAME,EAAE,EAAED,KAAK,CAACE,CAAN,CAAQJ,EAAE,CAACI,CAAX,CANN;IAOE,SAAS,EAAE,IAAAC,sBAAA,EACTT,OAAO,CAACR,IADC,EAETE,QAAQ,IAAIM,OAAO,CAACN,QAFX,EAGTM,OAAO,CAACC,WAAD,CAHE,EAITF,SAJS;EAPb,GAaMM,IAbN,EADF;AAiBD,CArBM;;;AAuBPR,IAAI,CAACa,SAAL,GAAiB;EACfX,SAAS,EAAEY,qBAAA,CAAUC,MADN;EAEfZ,OAAO,EAAEW,qBAAA,CAAUE,MAFJ;EAGfZ,WAAW,EAAEU,qBAAA,CAAUC,MAHR;EAIflB,QAAQ,EAAEiB,qBAAA,CAAUG,IAJL;EAKfZ,UAAU,EAAES,qBAAA,CAAUI,GALP;EAMfZ,IAAI,EAAEa,WAAA,CAAMC,SANG;EAOfb,EAAE,EAAEY,WAAA,CAAMC;AAPK,CAAjB;AAUA,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAW7B,UAAX,EAAuBO,IAAvB,CAAnB;AACA,IAAMuB,OAAO,GAAG,IAAAC,cAAA,EAASH,UAAT,CAAhB;AACA,IAAMI,SAAS,GAAG,IAAAC,uBAAA,EAAkBH,OAAlB,CAAlB;eAEeE,S"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/segment/index.js"],"names":["tool","Segment"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,oBAAS,SAAT,EAAoBC,qBAApB,CAAb","sourcesContent":["import Segment from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('segment', Segment);\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["tool","lineTool","Segment"],"sources":["../../../src/tools/segment/index.js"],"sourcesContent":["import Segment from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('segment', Segment);\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,IAAI,GAAG,IAAAC,cAAA,EAAS,SAAT,EAAoBC,qBAApB,CAAb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/tools/shared/arrow-head.jsx"],"names":["ArrowHead","size","transform","points","propTypes","PropTypes","string","number","defaultProps","genUid","v","Math","random","toFixed","ArrowMarker","id","className"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,MAAGC,IAAH,QAAGA,IAAH;AAAA,MAASC,SAAT,QAASA,SAAT;AAAA,MAAoBC,MAApB,QAAoBA,MAApB;AAAA,sBACvB;AAAS,IAAA,MAAM,EAAEA,MAAM,kBAAWF,IAAX,cAAmBA,IAAI,GAAG,CAA1B,gBAAiCA,IAAjC,CAAvB;AAAgE,IAAA,SAAS,EAAEC;AAA3E,IADuB;AAAA,CAAlB;;;AAGPF,SAAS,CAACI,SAAV,GAAsB;AACpBD,EAAAA,MAAM,EAAEE,sBAAUC,MADE;AAEpBL,EAAAA,IAAI,EAAEI,sBAAUE,MAFI;AAGpBL,EAAAA,SAAS,EAAEG,sBAAUC;AAHD,CAAtB;AAKAN,SAAS,CAACQ,YAAV,GAAyB;AACvBL,EAAAA,MAAM,EAAE,EADe;AAEvBF,EAAAA,IAAI,EAAE,EAFiB;AAGvBC,EAAAA,SAAS,EAAE;AAHY,CAAzB;;AAKO,IAAMO,MAAM,GAAG,SAATA,MAAS,GAAM;AAC1B,MAAMC,CAAC,GAAG,CAACC,IAAI,CAACC,MAAL,KAAgB,IAAjB,EAAuBC,OAAvB,CAA+B,CAA/B,CAAV;AACA,yBAAgBH,CAAhB;AACD,CAHM;;;;AAIA,IAAMI,WAAW,GAAG,SAAdA,WAAc,QAA6B;AAAA,MAA1BC,EAA0B,SAA1BA,EAA0B;AAAA,MAAtBd,IAAsB,SAAtBA,IAAsB;AAAA,MAAhBe,SAAgB,SAAhBA,SAAgB;AACtD,sBACE;AACE,IAAA,EAAE,EAAED,EADN;AAEE,IAAA,OAAO,gBAASd,IAAT,cAAiBA,IAAjB,CAFT;AAGE,IAAA,IAAI,EAAEA,IAAI,GAAG,CAHf;AAIE,IAAA,IAAI,EAAEA,IAAI,GAAG,CAJf;AAKE,IAAA,WAAW,EAAEA,IALf;AAME,IAAA,YAAY,EAAEA,IANhB;AAOE,IAAA,MAAM,EAAC,oBAPT;AAQE,IAAA,SAAS,EAAEe;AARb,kBAUE,gCAAC,SAAD;AAAW,IAAA,IAAI,EAAEf;AAAjB,IAVF,CADF;AAcD,CAfM;;;AAgBPa,WAAW,CAACV,SAAZ,GAAwB;AACtBW,EAAAA,EAAE,EAAEV,sBAAUC,MADQ;AAEtBL,EAAAA,IAAI,EAAEI,sBAAUE,MAFM;AAGtBS,EAAAA,SAAS,EAAEX,sBAAUC;AAHC,CAAxB;AAKAQ,WAAW,CAACN,YAAZ,GAA2B;AACzBP,EAAAA,IAAI,EAAE;AADmB,CAA3B","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const ArrowHead = ({ size, transform, points }) => (\n <polygon points={points || `0,0 ${size},${size / 2} 0,${size}`} transform={transform} />\n);\nArrowHead.propTypes = {\n points: PropTypes.string,\n size: PropTypes.number,\n transform: PropTypes.string\n};\nArrowHead.defaultProps = {\n points: '',\n size: 10,\n transform: ''\n};\nexport const genUid = () => {\n const v = (Math.random() * 1000).toFixed(0);\n return `arrow-${v}`;\n};\nexport const ArrowMarker = ({ id, size, className }) => {\n return (\n <marker\n id={id}\n viewBox={`0 0 ${size} ${size}`}\n refX={size / 2}\n refY={size / 2}\n markerWidth={size}\n markerHeight={size}\n orient=\"auto-start-reverse\"\n className={className}\n >\n <ArrowHead size={size} />\n </marker>\n );\n};\nArrowMarker.propTypes = {\n id: PropTypes.string,\n size: PropTypes.number,\n className: PropTypes.string\n};\nArrowMarker.defaultProps = {\n size: 5\n};\n"],"file":"arrow-head.js"}
1
+ {"version":3,"file":"arrow-head.js","names":["ArrowHead","size","transform","points","propTypes","PropTypes","string","number","defaultProps","genUid","v","Math","random","toFixed","ArrowMarker","id","className"],"sources":["../../../src/tools/shared/arrow-head.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const ArrowHead = ({ size, transform, points }) => (\n <polygon points={points || `0,0 ${size},${size / 2} 0,${size}`} transform={transform} />\n);\nArrowHead.propTypes = {\n points: PropTypes.string,\n size: PropTypes.number,\n transform: PropTypes.string\n};\nArrowHead.defaultProps = {\n points: '',\n size: 10,\n transform: ''\n};\nexport const genUid = () => {\n const v = (Math.random() * 1000).toFixed(0);\n return `arrow-${v}`;\n};\nexport const ArrowMarker = ({ id, size, className }) => {\n return (\n <marker\n id={id}\n viewBox={`0 0 ${size} ${size}`}\n refX={size / 2}\n refY={size / 2}\n markerWidth={size}\n markerHeight={size}\n orient=\"auto-start-reverse\"\n className={className}\n >\n <ArrowHead size={size} />\n </marker>\n );\n};\nArrowMarker.propTypes = {\n id: PropTypes.string,\n size: PropTypes.number,\n className: PropTypes.string\n};\nArrowMarker.defaultProps = {\n size: 5\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEO,IAAMA,SAAS,GAAG,SAAZA,SAAY;EAAA,IAAGC,IAAH,QAAGA,IAAH;EAAA,IAASC,SAAT,QAASA,SAAT;EAAA,IAAoBC,MAApB,QAAoBA,MAApB;EAAA,oBACvB;IAAS,MAAM,EAAEA,MAAM,kBAAWF,IAAX,cAAmBA,IAAI,GAAG,CAA1B,gBAAiCA,IAAjC,CAAvB;IAAgE,SAAS,EAAEC;EAA3E,EADuB;AAAA,CAAlB;;;AAGPF,SAAS,CAACI,SAAV,GAAsB;EACpBD,MAAM,EAAEE,qBAAA,CAAUC,MADE;EAEpBL,IAAI,EAAEI,qBAAA,CAAUE,MAFI;EAGpBL,SAAS,EAAEG,qBAAA,CAAUC;AAHD,CAAtB;AAKAN,SAAS,CAACQ,YAAV,GAAyB;EACvBL,MAAM,EAAE,EADe;EAEvBF,IAAI,EAAE,EAFiB;EAGvBC,SAAS,EAAE;AAHY,CAAzB;;AAKO,IAAMO,MAAM,GAAG,SAATA,MAAS,GAAM;EAC1B,IAAMC,CAAC,GAAG,CAACC,IAAI,CAACC,MAAL,KAAgB,IAAjB,EAAuBC,OAAvB,CAA+B,CAA/B,CAAV;EACA,uBAAgBH,CAAhB;AACD,CAHM;;;;AAIA,IAAMI,WAAW,GAAG,SAAdA,WAAc,QAA6B;EAAA,IAA1BC,EAA0B,SAA1BA,EAA0B;EAAA,IAAtBd,IAAsB,SAAtBA,IAAsB;EAAA,IAAhBe,SAAgB,SAAhBA,SAAgB;EACtD,oBACE;IACE,EAAE,EAAED,EADN;IAEE,OAAO,gBAASd,IAAT,cAAiBA,IAAjB,CAFT;IAGE,IAAI,EAAEA,IAAI,GAAG,CAHf;IAIE,IAAI,EAAEA,IAAI,GAAG,CAJf;IAKE,WAAW,EAAEA,IALf;IAME,YAAY,EAAEA,IANhB;IAOE,MAAM,EAAC,oBAPT;IAQE,SAAS,EAAEe;EARb,gBAUE,gCAAC,SAAD;IAAW,IAAI,EAAEf;EAAjB,EAVF,CADF;AAcD,CAfM;;;AAgBPa,WAAW,CAACV,SAAZ,GAAwB;EACtBW,EAAE,EAAEV,qBAAA,CAAUC,MADQ;EAEtBL,IAAI,EAAEI,qBAAA,CAAUE,MAFM;EAGtBS,SAAS,EAAEX,qBAAA,CAAUC;AAHC,CAAxB;AAKAQ,WAAW,CAACN,YAAZ,GAA2B;EACzBP,IAAI,EAAE;AADmB,CAA3B"}