@pie-lib/graphing 2.16.0-beta.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.json +1 -1017
  2. package/CHANGELOG.md +96 -27
  3. package/lib/axis/arrow.js +1 -1
  4. package/lib/axis/arrow.js.map +1 -0
  5. package/lib/axis/axes.js +7 -7
  6. package/lib/axis/axes.js.map +1 -0
  7. package/lib/axis/index.js +1 -1
  8. package/lib/axis/index.js.map +1 -0
  9. package/lib/bg.js +1 -1
  10. package/lib/bg.js.map +1 -0
  11. package/lib/container/actions.js +1 -1
  12. package/lib/container/actions.js.map +1 -0
  13. package/lib/container/index.js +1 -1
  14. package/lib/container/index.js.map +1 -0
  15. package/lib/container/marks.js +1 -1
  16. package/lib/container/marks.js.map +1 -0
  17. package/lib/container/middleware.js +1 -1
  18. package/lib/container/middleware.js.map +1 -0
  19. package/lib/container/reducer.js +1 -1
  20. package/lib/container/reducer.js.map +1 -0
  21. package/lib/coordinates-label.js +3 -3
  22. package/lib/coordinates-label.js.map +1 -0
  23. package/lib/graph-with-controls.js +5 -5
  24. package/lib/graph-with-controls.js.map +1 -0
  25. package/lib/graph.js +1 -1
  26. package/lib/graph.js.map +1 -0
  27. package/lib/grid-setup.js +4 -4
  28. package/lib/grid-setup.js.map +1 -0
  29. package/lib/grid.js +1 -1
  30. package/lib/grid.js.map +1 -0
  31. package/lib/index.js +1 -1
  32. package/lib/index.js.map +1 -0
  33. package/lib/key-legend.js +3 -3
  34. package/lib/key-legend.js.map +1 -0
  35. package/lib/label-svg-icon.js +1 -1
  36. package/lib/label-svg-icon.js.map +1 -0
  37. package/lib/labels.js +4 -4
  38. package/lib/labels.js.map +1 -0
  39. package/lib/mark-label.js +18 -18
  40. package/lib/mark-label.js.map +1 -0
  41. package/lib/shared/index.js +136 -0
  42. package/lib/toggle-bar.js +10 -10
  43. package/lib/toggle-bar.js.map +1 -0
  44. package/lib/tool-menu.js +1 -1
  45. package/lib/tool-menu.js.map +1 -0
  46. package/lib/tools/absolute/component.js +1 -1
  47. package/lib/tools/absolute/component.js.map +1 -0
  48. package/lib/tools/absolute/index.js +1 -1
  49. package/lib/tools/absolute/index.js.map +1 -0
  50. package/lib/tools/circle/bg-circle.js +4 -4
  51. package/lib/tools/circle/bg-circle.js.map +1 -0
  52. package/lib/tools/circle/component.js +5 -5
  53. package/lib/tools/circle/component.js.map +1 -0
  54. package/lib/tools/circle/index.js +1 -1
  55. package/lib/tools/circle/index.js.map +1 -0
  56. package/lib/tools/exponential/component.js +1 -1
  57. package/lib/tools/exponential/component.js.map +1 -0
  58. package/lib/tools/exponential/index.js +1 -1
  59. package/lib/tools/exponential/index.js.map +1 -0
  60. package/lib/tools/index.js +1 -1
  61. package/lib/tools/index.js.map +1 -0
  62. package/lib/tools/line/component.js +1 -1
  63. package/lib/tools/line/component.js.map +1 -0
  64. package/lib/tools/line/index.js +1 -1
  65. package/lib/tools/line/index.js.map +1 -0
  66. package/lib/tools/parabola/component.js +1 -1
  67. package/lib/tools/parabola/component.js.map +1 -0
  68. package/lib/tools/parabola/index.js +1 -1
  69. package/lib/tools/parabola/index.js.map +1 -0
  70. package/lib/tools/point/component.js +1 -1
  71. package/lib/tools/point/component.js.map +1 -0
  72. package/lib/tools/point/index.js +1 -1
  73. package/lib/tools/point/index.js.map +1 -0
  74. package/lib/tools/polygon/component.js +1 -1
  75. package/lib/tools/polygon/component.js.map +1 -0
  76. package/lib/tools/polygon/index.js +1 -1
  77. package/lib/tools/polygon/index.js.map +1 -0
  78. package/lib/tools/polygon/line.js +3 -3
  79. package/lib/tools/polygon/line.js.map +1 -0
  80. package/lib/tools/polygon/polygon.js +4 -4
  81. package/lib/tools/polygon/polygon.js.map +1 -0
  82. package/lib/tools/ray/component.js +1 -1
  83. package/lib/tools/ray/component.js.map +1 -0
  84. package/lib/tools/ray/index.js +1 -1
  85. package/lib/tools/ray/index.js.map +1 -0
  86. package/lib/tools/segment/component.js +1 -1
  87. package/lib/tools/segment/component.js.map +1 -0
  88. package/lib/tools/segment/index.js +1 -1
  89. package/lib/tools/segment/index.js.map +1 -0
  90. package/lib/tools/shared/arrow-head.js +1 -1
  91. package/lib/tools/shared/arrow-head.js.map +1 -0
  92. package/lib/tools/shared/icons/CorrectSVG.js +1 -1
  93. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
  95. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  96. package/lib/tools/shared/icons/MissingSVG.js +1 -1
  97. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  98. package/lib/tools/shared/line/index.js +5 -5
  99. package/lib/tools/shared/line/index.js.map +1 -0
  100. package/lib/tools/shared/line/line-path.js +4 -4
  101. package/lib/tools/shared/line/line-path.js.map +1 -0
  102. package/lib/tools/shared/line/with-root-edge.js +1 -1
  103. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  104. package/lib/tools/shared/point/arrow-point.js +1 -1
  105. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  106. package/lib/tools/shared/point/arrow.js +1 -1
  107. package/lib/tools/shared/point/arrow.js.map +1 -0
  108. package/lib/tools/shared/point/base-point.js +1 -1
  109. package/lib/tools/shared/point/base-point.js.map +1 -0
  110. package/lib/tools/shared/point/index.js +3 -3
  111. package/lib/tools/shared/point/index.js.map +1 -0
  112. package/lib/tools/shared/styles.js +7 -7
  113. package/lib/tools/shared/styles.js.map +1 -0
  114. package/lib/tools/shared/types.js +1 -1
  115. package/lib/tools/shared/types.js.map +1 -0
  116. package/lib/tools/sine/component.js +1 -1
  117. package/lib/tools/sine/component.js.map +1 -0
  118. package/lib/tools/sine/index.js +1 -1
  119. package/lib/tools/sine/index.js.map +1 -0
  120. package/lib/tools/vector/component.js +1 -1
  121. package/lib/tools/vector/component.js.map +1 -0
  122. package/lib/tools/vector/index.js +1 -1
  123. package/lib/tools/vector/index.js.map +1 -0
  124. package/lib/undo-redo.js +3 -3
  125. package/lib/undo-redo.js.map +1 -0
  126. package/lib/use-debounce.js +1 -1
  127. package/lib/use-debounce.js.map +1 -0
  128. package/lib/utils.js +1 -1
  129. package/lib/utils.js.map +1 -0
  130. package/package.json +13 -9
  131. package/src/axis/axes.jsx +1 -1
  132. package/src/coordinates-label.jsx +1 -1
  133. package/src/graph-with-controls.jsx +1 -1
  134. package/src/grid-setup.jsx +7 -10
  135. package/src/key-legend.jsx +131 -101
  136. package/src/labels.jsx +1 -1
  137. package/src/mark-label.jsx +1 -1
  138. package/src/toggle-bar.jsx +1 -1
  139. package/src/tools/circle/bg-circle.jsx +1 -1
  140. package/src/tools/circle/component.jsx +1 -1
  141. package/src/tools/polygon/line.jsx +1 -1
  142. package/src/tools/polygon/polygon.jsx +3 -3
  143. package/src/tools/shared/line/index.jsx +1 -1
  144. package/src/tools/shared/line/line-path.jsx +1 -1
  145. package/src/tools/shared/point/index.jsx +1 -1
  146. package/src/tools/shared/styles.js +1 -1
  147. package/src/undo-redo.jsx +1 -1
  148. package/lib/__tests__/graph-with-controls.test.js +0 -215
  149. package/lib/__tests__/graph.test.js +0 -290
  150. package/lib/__tests__/grid.test.js +0 -40
  151. package/lib/__tests__/labels.test.js +0 -59
  152. package/lib/__tests__/mark-label.test.js +0 -154
  153. package/lib/__tests__/toggle-bar.test.js +0 -54
  154. package/lib/__tests__/tool-menu.test.js +0 -43
  155. package/lib/__tests__/undo-redo.test.js +0 -42
  156. package/lib/__tests__/use-debounce.test.js +0 -28
  157. package/lib/__tests__/utils.js +0 -72
  158. package/lib/__tests__/utils.test.js +0 -133
  159. package/lib/axis/__tests__/arrow.test.js +0 -68
  160. package/lib/axis/__tests__/axes.test.js +0 -214
  161. package/lib/tools/absolute/__tests__/component.test.js +0 -74
  162. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -46
  163. package/lib/tools/circle/__tests__/component.test.js +0 -259
  164. package/lib/tools/exponential/__tests__/component.test.js +0 -73
  165. package/lib/tools/line/__tests__/component.test.js +0 -56
  166. package/lib/tools/parabola/__tests__/component.test.js +0 -73
  167. package/lib/tools/point/__tests__/component.test.js +0 -97
  168. package/lib/tools/polygon/__tests__/component.test.js +0 -255
  169. package/lib/tools/polygon/__tests__/index.test.js +0 -95
  170. package/lib/tools/polygon/__tests__/line.test.js +0 -43
  171. package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
  172. package/lib/tools/ray/__tests__/component.test.js +0 -48
  173. package/lib/tools/segment/__tests__/component.test.js +0 -48
  174. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
  175. package/lib/tools/shared/line/__tests__/index.test.js +0 -301
  176. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
  177. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
  178. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
  179. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
  180. package/lib/tools/sine/__tests__/component.test.js +0 -81
  181. package/lib/tools/vector/__tests__/component.test.js +0 -45
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/vector/component.jsx"],"names":["lineStyles","theme","line","styles","disabled","disabledSecondary","correct","incorrect","missing","Line","props","className","classes","correctness","scale","graphProps","from","to","rest","startPoint","x","y","endPoint","length","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","Vector","Arrow","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport { Arrow } from '../shared/point';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getDistanceBetweenTwoPoints } from '../../utils';\n\nconst lineStyles = (theme) => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n disabledSecondary: styles.disabledSecondary(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke'),\n missing: styles.missing(theme, 'stroke'),\n});\n\nexport const Line = (props) => {\n const {\n className,\n classes,\n disabled,\n correctness,\n graphProps: { scale },\n from,\n to,\n ...rest\n } = props;\n const startPoint = { x: scale.x(from.x), y: scale.y(from.y) };\n const endPoint = { x: scale.x(to.x), y: scale.y(to.y) };\n const length = getDistanceBetweenTwoPoints(startPoint, endPoint);\n\n return (\n <line\n className={classNames(classes.line, disabled && classes.disabledSecondary, classes[correctness], className)}\n x1={startPoint.x}\n y1={startPoint.y}\n x2={endPoint.x}\n y2={endPoint.y}\n strokeDasharray={length - 7}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType,\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Vector = lineBase(StyledLine, { to: Arrow });\nconst Component = lineToolComponent(Vector);\n\nexport default Component;\n"],"file":"component.js"}
@@ -13,4 +13,4 @@ var _line = require("../shared/line");
13
13
 
14
14
  var tool = (0, _line.lineTool)('vector', _component["default"]);
15
15
  exports.tool = tool;
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy92ZWN0b3IvaW5kZXguanMiXSwibmFtZXMiOlsidG9vbCIsIlZlY3RvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRU8sSUFBTUEsSUFBSSxHQUFHLG9CQUFTLFFBQVQsRUFBbUJDLHFCQUFuQixDQUFiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFZlY3RvciBmcm9tICcuL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBsaW5lVG9vbCB9IGZyb20gJy4uL3NoYXJlZC9saW5lJztcblxuZXhwb3J0IGNvbnN0IHRvb2wgPSBsaW5lVG9vbCgndmVjdG9yJywgVmVjdG9yKTtcbiJdfQ==
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tools/vector/index.js"],"names":["tool","Vector"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,oBAAS,QAAT,EAAmBC,qBAAnB,CAAb","sourcesContent":["import Vector from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('vector', Vector);\n"],"file":"index.js"}
package/lib/undo-redo.js CHANGED
@@ -29,7 +29,7 @@ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
29
29
 
30
30
  var _core = require("@material-ui/core");
31
31
 
32
- var _renderUi = require("@pie-lib/render-ui");
32
+ var _index = require("./shared/index");
33
33
 
34
34
  var _translator = _interopRequireDefault(require("@pie-lib/translator"));
35
35
 
@@ -108,7 +108,7 @@ exports.UndoRedo = UndoRedo;
108
108
  var styles = function styles(theme) {
109
109
  return {
110
110
  button: {
111
- color: _renderUi.color.text(),
111
+ color: _index.color.text(),
112
112
  marginBottom: theme.spacing.unit / 2,
113
113
  '&:not(:last-of-type)': {
114
114
  marginRight: theme.spacing.unit / 2
@@ -120,4 +120,4 @@ var styles = function styles(theme) {
120
120
  var _default = (0, _core.withStyles)(styles)(UndoRedo);
121
121
 
122
122
  exports["default"] = _default;
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91bmRvLXJlZG8uanN4Il0sIm5hbWVzIjpbInRyYW5zbGF0b3IiLCJUcmFuc2xhdG9yIiwiVW5kb1JlZG8iLCJwcm9wcyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJvblVuZG8iLCJvblJlZG8iLCJvblJlc2V0IiwibGFuZ3VhZ2UiLCJyb290IiwiYnV0dG9uIiwidCIsImxuZyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwib2JqZWN0Iiwic3RyaW5nIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJzdHlsZXMiLCJ0aGVtZSIsImNvbG9yIiwidGV4dCIsIm1hcmdpbkJvdHRvbSIsInNwYWNpbmciLCJ1bml0IiwibWFyZ2luUmlnaHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFRQSxVQUFSLEdBQXVCQyxzQkFBdkIsQ0FBUUQsVUFBUjs7SUFFYUUsUTs7Ozs7Ozs7Ozs7O1dBV1gsa0JBQVM7QUFDUCx3QkFBa0UsS0FBS0MsS0FBdkU7QUFBQSxVQUFRQyxPQUFSLGVBQVFBLE9BQVI7QUFBQSxVQUFpQkMsU0FBakIsZUFBaUJBLFNBQWpCO0FBQUEsVUFBNEJDLE1BQTVCLGVBQTRCQSxNQUE1QjtBQUFBLFVBQW9DQyxNQUFwQyxlQUFvQ0EsTUFBcEM7QUFBQSxVQUE0Q0MsT0FBNUMsZUFBNENBLE9BQTVDO0FBQUEsVUFBcURDLFFBQXJELGVBQXFEQSxRQUFyRDtBQUNBLDBCQUNFO0FBQUssUUFBQSxTQUFTLEVBQUUsNEJBQVdKLFNBQVg7QUFBaEIsc0JBQ0UsZ0NBQUMsa0JBQUQ7QUFBUSxRQUFBLE9BQU8sRUFBRTtBQUFFSyxVQUFBQSxJQUFJLEVBQUVOLE9BQU8sQ0FBQ087QUFBaEIsU0FBakI7QUFBMkMsUUFBQSxPQUFPLEVBQUU7QUFBQSxpQkFBTUwsTUFBTSxDQUFDLElBQUQsQ0FBWjtBQUFBO0FBQXBELFNBQ0dOLFVBQVUsQ0FBQ1ksQ0FBWCxDQUFhLGFBQWIsRUFBNEI7QUFBRUMsUUFBQUEsR0FBRyxFQUFFSjtBQUFQLE9BQTVCLENBREgsQ0FERixlQUlFLGdDQUFDLGtCQUFEO0FBQVEsUUFBQSxPQUFPLEVBQUU7QUFBRUMsVUFBQUEsSUFBSSxFQUFFTixPQUFPLENBQUNPO0FBQWhCLFNBQWpCO0FBQTJDLFFBQUEsT0FBTyxFQUFFO0FBQUEsaUJBQU1KLE1BQU0sQ0FBQyxJQUFELENBQVo7QUFBQTtBQUFwRCxTQUNHUCxVQUFVLENBQUNZLENBQVgsQ0FBYSxlQUFiLEVBQThCO0FBQUVDLFFBQUFBLEdBQUcsRUFBRUo7QUFBUCxPQUE5QixDQURILENBSkYsZUFPRSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsT0FBTyxFQUFFO0FBQUVDLFVBQUFBLElBQUksRUFBRU4sT0FBTyxDQUFDTztBQUFoQixTQUFqQjtBQUEyQyxRQUFBLE9BQU8sRUFBRTtBQUFBLGlCQUFNSCxPQUFPLEVBQWI7QUFBQTtBQUFwRCxTQUNHUixVQUFVLENBQUNZLENBQVgsQ0FBYSxnQkFBYixFQUErQjtBQUFFQyxRQUFBQSxHQUFHLEVBQUVKO0FBQVAsT0FBL0IsQ0FESCxDQVBGLENBREY7QUFhRDs7O0VBMUIyQkssa0JBQU1DLFM7OztpQ0FBdkJiLFEsZUFDUTtBQUNqQkUsRUFBQUEsT0FBTyxFQUFFWSxzQkFBVUMsTUFERjtBQUVqQlosRUFBQUEsU0FBUyxFQUFFVyxzQkFBVUUsTUFGSjtBQUdqQlosRUFBQUEsTUFBTSxFQUFFVSxzQkFBVUcsSUFBVixDQUFlQyxVQUhOO0FBSWpCYixFQUFBQSxNQUFNLEVBQUVTLHNCQUFVRyxJQUFWLENBQWVDLFVBSk47QUFLakJaLEVBQUFBLE9BQU8sRUFBRVEsc0JBQVVHLElBQVYsQ0FBZUMsVUFMUDtBQU1qQlgsRUFBQUEsUUFBUSxFQUFFTyxzQkFBVUU7QUFOSCxDO2lDQURSaEIsUSxrQkFTVyxFOztBQW9CeEIsSUFBTW1CLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCWCxJQUFBQSxNQUFNLEVBQUU7QUFDTlksTUFBQUEsS0FBSyxFQUFFQSxnQkFBTUMsSUFBTixFQUREO0FBRU5DLE1BQUFBLFlBQVksRUFBRUgsS0FBSyxDQUFDSSxPQUFOLENBQWNDLElBQWQsR0FBcUIsQ0FGN0I7QUFHTiw4QkFBd0I7QUFDdEJDLFFBQUFBLFdBQVcsRUFBRU4sS0FBSyxDQUFDSSxPQUFOLENBQWNDLElBQWQsR0FBcUI7QUFEWjtBQUhsQjtBQURpQixHQUFaO0FBQUEsQ0FBZjs7ZUFVZSxzQkFBV04sTUFBWCxFQUFtQm5CLFFBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9CdXR0b24nO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmV4cG9ydCBjbGFzcyBVbmRvUmVkbyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25VbmRvOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVkbzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblJlc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxhbmd1YWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY2xhc3NOYW1lLCBvblVuZG8sIG9uUmVkbywgb25SZXNldCwgbGFuZ3VhZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSl9PlxuICAgICAgICA8QnV0dG9uIGNsYXNzZXM9e3sgcm9vdDogY2xhc3Nlcy5idXR0b24gfX0gb25DbGljaz17KCkgPT4gb25VbmRvKHRydWUpfT5cbiAgICAgICAgICB7dHJhbnNsYXRvci50KCdjb21tb246dW5kbycsIHsgbG5nOiBsYW5ndWFnZSB9KX1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDxCdXR0b24gY2xhc3Nlcz17eyByb290OiBjbGFzc2VzLmJ1dHRvbiB9fSBvbkNsaWNrPXsoKSA9PiBvblJlZG8odHJ1ZSl9PlxuICAgICAgICAgIHt0cmFuc2xhdG9yLnQoJ2dyYXBoaW5nLnJlZG8nLCB7IGxuZzogbGFuZ3VhZ2UgfSl9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8QnV0dG9uIGNsYXNzZXM9e3sgcm9vdDogY2xhc3Nlcy5idXR0b24gfX0gb25DbGljaz17KCkgPT4gb25SZXNldCgpfT5cbiAgICAgICAgICB7dHJhbnNsYXRvci50KCdncmFwaGluZy5yZXNldCcsIHsgbG5nOiBsYW5ndWFnZSB9KX1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgYnV0dG9uOiB7XG4gICAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcudW5pdCAvIDIsXG4gICAgJyY6bm90KDpsYXN0LW9mLXR5cGUpJzoge1xuICAgICAgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNpbmcudW5pdCAvIDIsXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoVW5kb1JlZG8pO1xuIl19
123
+ //# sourceMappingURL=undo-redo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/undo-redo.jsx"],"names":["translator","Translator","UndoRedo","props","classes","className","onUndo","onRedo","onReset","language","root","button","t","lng","React","Component","PropTypes","object","string","func","isRequired","styles","theme","color","text","marginBottom","spacing","unit","marginRight"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAQA,UAAR,GAAuBC,sBAAvB,CAAQD,UAAR;;IAEaE,Q;;;;;;;;;;;;WAWX,kBAAS;AACP,wBAAkE,KAAKC,KAAvE;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,MAA5B,eAA4BA,MAA5B;AAAA,UAAoCC,MAApC,eAAoCA,MAApC;AAAA,UAA4CC,OAA5C,eAA4CA,OAA5C;AAAA,UAAqDC,QAArD,eAAqDA,QAArD;AACA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWJ,SAAX;AAAhB,sBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEK,UAAAA,IAAI,EAAEN,OAAO,CAACO;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAE;AAAA,iBAAML,MAAM,CAAC,IAAD,CAAZ;AAAA;AAApD,SACGN,UAAU,CAACY,CAAX,CAAa,aAAb,EAA4B;AAAEC,QAAAA,GAAG,EAAEJ;AAAP,OAA5B,CADH,CADF,eAIE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEC,UAAAA,IAAI,EAAEN,OAAO,CAACO;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAE;AAAA,iBAAMJ,MAAM,CAAC,IAAD,CAAZ;AAAA;AAApD,SACGP,UAAU,CAACY,CAAX,CAAa,eAAb,EAA8B;AAAEC,QAAAA,GAAG,EAAEJ;AAAP,OAA9B,CADH,CAJF,eAOE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEC,UAAAA,IAAI,EAAEN,OAAO,CAACO;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAE;AAAA,iBAAMH,OAAO,EAAb;AAAA;AAApD,SACGR,UAAU,CAACY,CAAX,CAAa,gBAAb,EAA+B;AAAEC,QAAAA,GAAG,EAAEJ;AAAP,OAA/B,CADH,CAPF,CADF;AAaD;;;EA1B2BK,kBAAMC,S;;;iCAAvBb,Q,eACQ;AACjBE,EAAAA,OAAO,EAAEY,sBAAUC,MADF;AAEjBZ,EAAAA,SAAS,EAAEW,sBAAUE,MAFJ;AAGjBZ,EAAAA,MAAM,EAAEU,sBAAUG,IAAV,CAAeC,UAHN;AAIjBb,EAAAA,MAAM,EAAES,sBAAUG,IAAV,CAAeC,UAJN;AAKjBZ,EAAAA,OAAO,EAAEQ,sBAAUG,IAAV,CAAeC,UALP;AAMjBX,EAAAA,QAAQ,EAAEO,sBAAUE;AANH,C;iCADRhB,Q,kBASW,E;;AAoBxB,IAAMmB,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBX,IAAAA,MAAM,EAAE;AACNY,MAAAA,KAAK,EAAEA,aAAMC,IAAN,EADD;AAENC,MAAAA,YAAY,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAF7B;AAGN,8BAAwB;AACtBC,QAAAA,WAAW,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AADZ;AAHlB;AADiB,GAAZ;AAAA,CAAf;;eAUe,sBAAWN,MAAX,EAAmBnB,QAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core';\nimport { color } from '../../render-ui/src/index';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nexport class UndoRedo extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n onUndo: PropTypes.func.isRequired,\n onRedo: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n language: PropTypes.string,\n };\n static defaultProps = {};\n\n render() {\n const { classes, className, onUndo, onRedo, onReset, language } = this.props;\n return (\n <div className={classNames(className)}>\n <Button classes={{ root: classes.button }} onClick={() => onUndo(true)}>\n {translator.t('common:undo', { lng: language })}\n </Button>\n <Button classes={{ root: classes.button }} onClick={() => onRedo(true)}>\n {translator.t('graphing.redo', { lng: language })}\n </Button>\n <Button classes={{ root: classes.button }} onClick={() => onReset()}>\n {translator.t('graphing.reset', { lng: language })}\n </Button>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n button: {\n color: color.text(),\n marginBottom: theme.spacing.unit / 2,\n '&:not(:last-of-type)': {\n marginRight: theme.spacing.unit / 2,\n },\n },\n});\n\nexport default withStyles(styles)(UndoRedo);\n"],"file":"undo-redo.js"}
@@ -29,4 +29,4 @@ var useDebounce = function useDebounce(value, delay) {
29
29
  };
30
30
 
31
31
  exports.useDebounce = useDebounce;
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtZGVib3VuY2UuanMiXSwibmFtZXMiOlsidXNlRGVib3VuY2UiLCJ2YWx1ZSIsImRlbGF5IiwiZGVib3VuY2VkVmFsdWUiLCJzZXREZWJvdW5jZWRWYWx1ZSIsImhhbmRsZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVPLElBQU1BLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNDLEtBQUQsRUFBUUMsS0FBUixFQUFrQjtBQUMzQyxrQkFBNEMscUJBQVNELEtBQVQsQ0FBNUM7QUFBQTtBQUFBLE1BQU9FLGNBQVA7QUFBQSxNQUF1QkMsaUJBQXZCOztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFNQyxPQUFPLEdBQUdDLFVBQVUsQ0FBQyxZQUFNO0FBQy9CRixNQUFBQSxpQkFBaUIsQ0FBQ0gsS0FBRCxDQUFqQjtBQUNELEtBRnlCLEVBRXZCQyxLQUZ1QixDQUExQjtBQUdBLFdBQU87QUFBQSxhQUFNSyxZQUFZLENBQUNGLE9BQUQsQ0FBbEI7QUFBQSxLQUFQO0FBQ0QsR0FMRCxFQUtHLENBQUNKLEtBQUQsQ0FMSDtBQU1BLFNBQU9FLGNBQVA7QUFDRCxDQVZNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IHVzZURlYm91bmNlID0gKHZhbHVlLCBkZWxheSkgPT4ge1xuICBjb25zdCBbZGVib3VuY2VkVmFsdWUsIHNldERlYm91bmNlZFZhbHVlXSA9IHVzZVN0YXRlKHZhbHVlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldERlYm91bmNlZFZhbHVlKHZhbHVlKTtcbiAgICB9LCBkZWxheSk7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dChoYW5kbGVyKTtcbiAgfSwgW3ZhbHVlXSk7XG4gIHJldHVybiBkZWJvdW5jZWRWYWx1ZTtcbn07XG4iXX0=
32
+ //# sourceMappingURL=use-debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-debounce.js"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,KAAR,EAAkB;AAC3C,kBAA4C,qBAASD,KAAT,CAA5C;AAAA;AAAA,MAAOE,cAAP;AAAA,MAAuBC,iBAAvB;;AAEA,wBAAU,YAAM;AACd,QAAMC,OAAO,GAAGC,UAAU,CAAC,YAAM;AAC/BF,MAAAA,iBAAiB,CAACH,KAAD,CAAjB;AACD,KAFyB,EAEvBC,KAFuB,CAA1B;AAGA,WAAO;AAAA,aAAMK,YAAY,CAACF,OAAD,CAAlB;AAAA,KAAP;AACD,GALD,EAKG,CAACJ,KAAD,CALH;AAMA,SAAOE,cAAP;AACD,CAVM","sourcesContent":["import { useState, useEffect } from 'react';\n\nexport const useDebounce = (value, delay) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => clearTimeout(handler);\n }, [value]);\n return debouncedValue;\n};\n"],"file":"use-debounce.js"}
package/lib/utils.js CHANGED
@@ -304,4 +304,4 @@ var isDuplicatedMark = function isDuplicatedMark(mark, marks, oldMark) {
304
304
  };
305
305
 
306
306
  exports.isDuplicatedMark = isDuplicatedMark;
307
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJ0aWNrQ291bnQiLCJ1dGlscyIsImJvdW5kcyIsInBvaW50IiwiZ2V0QW5nbGVEZWciLCJhcnJvd0RpbWVuc2lvbnMiLCJnZXRUaWNrVmFsdWVzIiwicHJvcCIsInRpY2tWYWx1ZXMiLCJ0aWNrVmFsIiwibWluIiwiaW5kZXhPZiIsInB1c2giLCJNYXRoIiwicm91bmQiLCJzdGVwIiwibWF4IiwiZmlsdGVyIiwidFYiLCJjb3VudFdvcmRzIiwibGFiZWwiLCJ3b3JkcyIsInNwbGl0IiwibGVuZ3RoIiwiZmluZExvbmdlc3RXb3JkIiwibG9uZ2VzdFdvcmQiLCJyZXBsYWNlIiwic29ydCIsImEiLCJiIiwiYW1vdW50VG9JbmNyZWFzZVdpZHRoIiwicG9seWdvblRvQXJlYSIsInBvaW50cyIsImgiLCJhcmVhIiwibGVmdCIsIngiLCJ0b3AiLCJ5IiwiYm90dG9tIiwicmlnaHQiLCJyZWR1Y2UiLCJwIiwibGluZVRvQXJlYSIsImZyb20iLCJ0byIsInBvaW50c1RvQXJlYSIsImlzRG9tYWluUmFuZ2VFcXVhbCIsImdyYXBoUHJvcHMiLCJuZXh0R3JhcGhQcm9wcyIsImRvbWFpbiIsInJhbmdlIiwiZ2V0UmlnaHRlc3RQb2ludHMiLCJzb3J0ZWRQb2ludHMiLCJnZXRNaWRkbGVPZlR3b1BvaW50cyIsInJvdW5kTnVtYmVyIiwibnVtYmVyIiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJzYW1lQXhlcyIsInAxIiwicDIiLCJlcXVhbFBvaW50cyIsImdldERpc3RhbmNlQmV0d2VlblRpY2tzIiwiYXhpcyIsInNpemUiLCJuYk9mVGlja3MiLCJ0aGlubmVyU2hhcGVzTmVlZGVkIiwid2lkdGgiLCJoZWlnaHQiLCJnZXRBZGp1c3RlZEdyYXBoTGltaXRzIiwiZG9tYWluVGlja3NEaXN0YW5jZSIsInJhbmdlVGlja3NEaXN0YW5jZSIsImRvbWFpblBhZGRpbmciLCJyYW5nZVBhZGRpbmciLCJnZXREaXN0YW5jZUJldHdlZW5Ud29Qb2ludHMiLCJzcXJ0Iiwic29ydFBvaW50cyIsImFycmF5IiwiY2hlY2tDb2xsaW5lYXJpdHkiLCJjIiwiaXNTYW1lTGluZSIsIm1hcmtBIiwibWFya0IiLCJpc1NhbWVDaXJjbGUiLCJyb290IiwiZWRnZSIsImlzRHVwbGljYXRlZE1hcmsiLCJtYXJrIiwibWFya3MiLCJvbGRNYXJrIiwidHlwZSIsImJ1aWxkaW5nIiwiZmlsdGVyZWRNYXJrcyIsIm0iLCJpbmRleCIsImZpbmRJbmRleCIsInNwbGljZSIsImR1cGxpY2F0ZWQiLCJmaW5kIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFTyxJQUFNQSxTQUFTLEdBQUdDLFlBQU1ELFNBQXhCOztBQUNBLElBQU1FLE1BQU0sR0FBR0QsWUFBTUMsTUFBckI7O0FBQ0EsSUFBTUMsS0FBSyxHQUFHRixZQUFNRSxLQUFwQixDLENBRVA7Ozs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYztBQUFBLFNBQU0sQ0FBTjtBQUFBLENBQXBCLEMsQ0FDUDs7Ozs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCO0FBQUEsU0FBTSxDQUFOO0FBQUEsQ0FBeEI7Ozs7QUFFQSxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLElBQUQsRUFBVTtBQUNyQyxNQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFDQSxNQUFJQyxPQUFPLEdBQUcsQ0FBZDs7QUFFQSxTQUFPQSxPQUFPLElBQUlGLElBQUksQ0FBQ0csR0FBaEIsSUFBdUJGLFVBQVUsQ0FBQ0csT0FBWCxDQUFtQkYsT0FBbkIsSUFBOEIsQ0FBNUQsRUFBK0Q7QUFDN0RELElBQUFBLFVBQVUsQ0FBQ0ksSUFBWCxDQUFnQkgsT0FBaEI7QUFDQUEsSUFBQUEsT0FBTyxHQUFHSSxJQUFJLENBQUNDLEtBQUwsQ0FBVyxDQUFDTCxPQUFPLEdBQUdGLElBQUksQ0FBQ1EsSUFBaEIsSUFBd0IsS0FBbkMsSUFBNEMs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RUFBSU4sSUFBSixDQUFyRztBQUNELEtBSkQsTUFJTyxJQUFJRyxJQUFJLEtBQUssTUFBVCxJQUFtQkEsSUFBSSxLQUFLLEtBQTVCLElBQXFDQSxJQUFJLEtBQUssU0FBOUMsSUFBMkRBLElBQUksS0FBSyxRQUF4RSxFQUFrRjtBQUN2RixVQUFRL0MsSUFBUixHQUFxQjRDLElBQXJCLENBQVE1QyxJQUFSO0FBQUEsVUFBY0MsRUFBZCxHQUFxQjJDLElBQXJCLENBQWMzQyxFQUFkO0FBRUEsYUFDR2lCLFdBQVcsQ0FBQ2xCLElBQUQsRUFBT2tELENBQUMsQ0FBQ2xELElBQVQsQ0FBWCxJQUE2QmtCLFdBQVcsQ0FBQ2pCLEVBQUQsRUFBS2lELENBQUMsQ0FBQ2pELEVBQVAsQ0FBekMsSUFDQ2lCLFdBQVcsQ0FBQ2xCLElBQUQsRUFBT2tELENBQUMsQ0FBQ2pELEVBQVQsQ0FBWCxJQUEyQmlCLFdBQVcsQ0FBQ2pCLEVBQUQsRUFBS2lELENBQUMsQ0FBQ2xELElBQVAsQ0FEdkMsSUFFQytDLElBQUksS0FBSyxNQUFULElBQW1CVixVQUFVLENBQUNhLENBQUQsRUFBSU4sSUFBSixDQUhoQztBQUtELEtBUk0sTUFRQSxJQUFJRyxJQUFJLEtBQUssU0FBYixFQUF3QjtBQUM3QixhQUFPLHlCQUFRZCxVQUFVLENBQUMsMkJBQVVXLElBQUksQ0FBQ3hELE1BQWYsQ0FBRCxDQUFsQixFQUE0QzZDLFVBQVUsQ0FBQywyQkFBVWlCLENBQUMsQ0FBQzlELE1BQVosQ0FBRCxDQUF0RCxDQUFQO0FBQ0QsS0FGTSxNQUVBLElBQUkyRCxJQUFJLEtBQUssT0FBYixFQUFzQjtBQUMzQixhQUFPN0IsV0FBVyxDQUFDZ0MsQ0FBRCxFQUFJTixJQUFKLENBQWxCO0FBQ0Q7QUFDRixHQWxCa0IsQ0FBbkI7QUFvQkEsU0FBTyxDQUFDLENBQUNVLFVBQVQ7QUFDRCxDQW5DTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBoZWFkIGZyb20gJ2xvZGFzaC9oZWFkJztcbmltcG9ydCB0YWlsIGZyb20gJ2xvZGFzaC90YWlsJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuXG5leHBvcnQgY29uc3QgdGlja0NvdW50ID0gdXRpbHMudGlja0NvdW50O1xuZXhwb3J0IGNvbnN0IGJvdW5kcyA9IHV0aWxzLmJvdW5kcztcbmV4cG9ydCBjb25zdCBwb2ludCA9IHV0aWxzLnBvaW50O1xuXG4vL1RPRE86IFRoaXMgY2FuIGJlIHJlbW92ZWQ/XG5leHBvcnQgY29uc3QgZ2V0QW5nbGVEZWcgPSAoKSA9PiAwO1xuLy9UT0RPOiBUaGlzIGNhbiBiZSByZW1vdmVkP1xuZXhwb3J0IGNvbnN0IGFycm93RGltZW5zaW9ucyA9ICgpID0+IDA7XG5cbmV4cG9ydCBjb25zdCBnZXRUaWNrVmFsdWVzID0gKHByb3ApID0+IHtcbiAgY29uc3QgdGlja1ZhbHVlcyA9IFtdO1xuICBsZXQgdGlja1ZhbCA9IDA7XG5cbiAgd2hpbGUgKHRpY2tWYWwgPj0gcHJvcC5taW4gJiYgdGlja1ZhbHVlcy5pbmRleE9mKHRpY2tWYWwpIDwgMCkge1xuICAgIHRpY2tWYWx1ZXMucHVzaCh0aWNrVmFsKTtcbiAgICB0aWNrVmFsID0gTWF0aC5yb3VuZCgodGlja1ZhbCAtIHByb3Auc3RlcCkgKiAxMDAwMCkgLyAxMDAwMDtcbiAgfVxuXG4gIHRpY2tWYWwgPSBNYXRoLnJvdW5kKHByb3Auc3RlcCAqIDEwMDAwKSAvIDEwMDAwO1xuXG4gIHdoaWxlICh0aWNrVmFsIDw9IHByb3AubWF4ICYmIHRpY2tWYWx1ZXMuaW5kZXhPZih0aWNrVmFsKSA8IDApIHtcbiAgICB0aWNrVmFsdWVzLnB1c2godGlja1ZhbCk7XG4gICAgdGlja1ZhbCA9IE1hdGgucm91bmQoKHRpY2tWYWwgKyBwcm9wLnN0ZXApICogMTAwMDApIC8gMTAwMDA7XG4gIH1cblxuICAvLyByZXR1cm4gb25seSB0aWNrcyB0aGF0IGFyZSBpbnNpZGUgdGhlIG1pbi1tYXggaW50ZXJ2YWxcbiAgaWYgKHRpY2tWYWx1ZXMpIHtcbiAgICByZXR1cm4gdGlja1ZhbHVlcy5maWx0ZXIoKHRWKSA9PiB0ViA+PSBwcm9wLm1pbiAmJiB0ViA8PSBwcm9wLm1heCk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuXG5leHBvcnQgY29uc3QgY291bnRXb3JkcyA9IChsYWJlbCkgPT4ge1xuICBpZiAobGFiZWwgPT0gbnVsbCB8fCBpc0VtcHR5KGxhYmVsKSkge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgY29uc3Qgd29yZHMgPSBsYWJlbC5zcGxpdCgnICcpO1xuICByZXR1cm4gd29yZHMubGVuZ3RoO1xufTtcblxuLy8gZmluZExvbmdlc3RXb3JkIGlzIGFsc28gdXNlZCBpbiBwbG90XG5leHBvcnQgY29uc3QgZmluZExvbmdlc3RXb3JkID0gKGxhYmVsKSA9PiB7XG4gIGxldCBsb25nZXN0V29yZCA9IChsYWJlbCB8fCAnJylcbiAgICAucmVwbGFjZSgvPFtePl0rPi9nLCAnJylcbiAgICAuc3BsaXQoJyAnKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKTtcblxuICByZXR1cm4gbG9uZ2VzdFdvcmRbMF0ubGVuZ3RoO1xufTtcblxuLy8gYW1vdW50VG9JbmNyZWFzZVdpZHRoIGlzIGFsc28gdXNlZCBpbiBwbG90XG5leHBvcnQgY29uc3QgYW1vdW50VG9JbmNyZWFzZVdpZHRoID0gKGxvbmdlc3RXb3JkKSA9PiB7XG4gIGlmICghbG9uZ2VzdFdvcmQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiBsb25nZXN0V29yZCAqIDEwO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvbHlnb25Ub0FyZWEgPSAocG9pbnRzKSA9PiB7XG4gIGNvbnN0IGggPSBoZWFkKHBvaW50cyk7XG4gIGNvbnN0IGFyZWEgPSB7XG4gICAgbGVmdDogaC54LFxuICAgIHRvcDogaC55LFxuICAgIGJvdHRvbTogaC55LFxuICAgIHJpZ2h0OiBoLngsXG4gIH07XG4gIHJldHVybiB0YWlsKHBvaW50cykucmVkdWNlKChhLCBwKSA9PiB7XG4gICAgYS5sZWZ0ID0gTWF0aC5taW4oYS5sZWZ0LCBwLngpO1xuICAgIGEudG9wID0gTWF0aC5tYXgoYS50b3AsIHAueSk7XG4gICAgYS5ib3R0b20gPSBNYXRoLm1pbihhLmJvdHRvbSwgcC55KTtcbiAgICBhLnJpZ2h0ID0gTWF0aC5tYXgoYS5yaWdodCwgcC54KTtcbiAgICByZXR1cm4gYTtcbiAgfSwgYXJlYSk7XG59O1xuXG5leHBvcnQgY29uc3QgbGluZVRvQXJlYSA9IChmcm9tLCB0bykgPT4gcG9pbnRzVG9BcmVhKGZyb20sIHRvKTtcblxuZXhwb3J0IGNvbnN0IHBvaW50c1RvQXJlYSA9IChhLCBiKSA9PiB7XG4gIGludmFyaWFudCghIWEgJiYgISFiLCAnYSBvciBiIGlzIHVuZGVmaW5lZCcpO1xuICBjb25zdCBsZWZ0ID0gTWF0aC5taW4oYS54LCBiLngpO1xuICBjb25zdCB0b3AgPSBNYXRoLm1heChhLnksIGIueSk7XG4gIGNvbnN0IGJvdHRvbSA9IE1hdGgubWluKGEueSwgYi55KTtcbiAgY29uc3QgcmlnaHQgPSBNYXRoLm1heChhLngsIGIueCk7XG4gIHJldHVybiB7IGxlZnQsIHRvcCwgYm90dG9tLCByaWdodCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRG9tYWluUmFuZ2VFcXVhbCA9IChncmFwaFByb3BzLCBuZXh0R3JhcGhQcm9wcykgPT4ge1xuICByZXR1cm4gaXNFcXVhbChncmFwaFByb3BzLmRvbWFpbiwgbmV4dEdyYXBoUHJvcHMuZG9tYWluKSAmJiBpc0VxdWFsKGdyYXBoUHJvcHMucmFuZ2UsIG5leHRHcmFwaFByb3BzLnJhbmdlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSaWdodGVzdFBvaW50cyA9IChwb2ludHMpID0+IHtcbiAgY29uc3Qgc29ydGVkUG9pbnRzID0gY2xvbmVEZWVwKHBvaW50cyk7XG4gIHNvcnRlZFBvaW50cy5zb3J0KChhLCBiKSA9PiBiLnggLSBhLngpO1xuXG4gIHJldHVybiB7IGE6IHNvcnRlZFBvaW50c1swXSwgYjogc29ydGVkUG9pbnRzWzFdIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWlkZGxlT2ZUd29Qb2ludHMgPSAoYSwgYikgPT4gKHtcbiAgeDogKGEueCArIGIueCkgLyAyLFxuICB5OiAoYS55ICsgYi55KSAvIDIsXG59KTtcblxuZXhwb3J0IGNvbnN0IHJvdW5kTnVtYmVyID0gKG51bWJlcikgPT4gcGFyc2VGbG9hdChudW1iZXIudG9GaXhlZCg0KSk7XG5cbmV4cG9ydCBjb25zdCBzYW1lQXhlcyA9IChwMSwgcDIpID0+XG4gIHAxICYmIHAyICYmIChyb3VuZE51bWJlcihwMS54KSA9PT0gcm91bmROdW1iZXIocDIueCkgfHwgcm91bmROdW1iZXIocDEueSkgPT09IHJvdW5kTnVtYmVyKHAyLnkpKTtcblxuZXhwb3J0IGNvbnN0IGVxdWFsUG9pbnRzID0gKHAxLCBwMikgPT5cbiAgcDEgJiZcbiAgcDIgJiZcbiAgaXNFcXVhbChcbiAgICB7XG4gICAgICB4OiByb3VuZE51bWJlcihwMS54KSxcbiAgICAgIHk6IHJvdW5kTnVtYmVyKHAxLnkpLFxuICAgIH0sXG4gICAge1xuICAgICAgeDogcm91bmROdW1iZXIocDIueCksXG4gICAgICB5OiByb3VuZE51bWJlcihwMi55KSxcbiAgICB9LFxuICApO1xuXG5jb25zdCBnZXREaXN0YW5jZUJldHdlZW5UaWNrcyA9IChheGlzLCBzaXplKSA9PiB7XG4gIGNvbnN0IHsgbWluLCBtYXgsIHN0ZXAgfSA9IGF4aXM7XG4gIGNvbnN0IG5iT2ZUaWNrcyA9IChtYXggLSBtaW4pIC8gc3RlcDtcblxuICByZXR1cm4gc2l6ZSAvIG5iT2ZUaWNrcztcbn07XG5cbmV4cG9ydCBjb25zdCB0aGlubmVyU2hhcGVzTmVlZGVkID0gKGdyYXBoUHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGRvbWFpbixcbiAgICByYW5nZSxcbiAgICBzaXplOiB7IHdpZHRoLCBoZWlnaHQgfSxcbiAgfSA9IGdyYXBoUHJvcHM7XG5cbiAgLy8gMTQgaXMgdGhlIGRlZmF1bHQgd2lkdGggb2YgYSBwb2ludFxuICByZXR1cm4gZ2V0RGlzdGFuY2VCZXR3ZWVuVGlja3MoZG9tYWluLCB3aWR0aCkgPCAxNCB8fCBnZXREaXN0YW5jZUJldHdlZW5UaWNrcyhyYW5nZSwgaGVpZ2h0KSA8IDE0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFkanVzdGVkR3JhcGhMaW1pdHMgPSAoZ3JhcGhQcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZG9tYWluLFxuICAgIHJhbmdlLFxuICAgIHNpemU6IHsgd2lkdGgsIGhlaWdodCB9LFxuICB9ID0gZ3JhcGhQcm9wcztcbiAgY29uc3QgZG9tYWluVGlja3NEaXN0YW5jZSA9IGdldERpc3RhbmNlQmV0d2VlblRpY2tzKGRvbWFpbiwgd2lkdGgpO1xuICBjb25zdCByYW5nZVRpY2tzRGlzdGFuY2UgPSBnZXREaXN0YW5jZUJldHdlZW5UaWNrcyhyYW5nZSwgaGVpZ2h0KTtcblxuICAvLyAxNSBpcyB0aGUgZGlzdGFuY2UgcmVxdWlyZWQgZm9yIHRoZSBhcnJvdyB0byBleHRlbmQgdGhlIGdyYXBoXG4gIGNvbnN0IGRvbWFpblBhZGRpbmcgPSBkb21haW4uc3RlcCAvIChkb21haW5UaWNrc0Rpc3RhbmNlIC8gMTUpO1xuICBjb25zdCByYW5nZVBhZGRpbmcgPSByYW5nZS5zdGVwIC8gKHJhbmdlVGlja3NEaXN0YW5jZSAvIDE1KTtcblxuICByZXR1cm4ge1xuICAgIGRvbWFpbjoge1xuICAgICAgbWluOiBkb21haW4ubWluIC0gZG9tYWluUGFkZGluZyxcbiAgICAgIG1heDogZG9tYWluLm1heCArIGRvbWFpblBhZGRpbmcsXG4gICAgfSxcbiAgICByYW5nZToge1xuICAgICAgbWluOiByYW5nZS5taW4gLSByYW5nZVBhZGRpbmcsXG4gICAgICBtYXg6IHJhbmdlLm1heCArIHJhbmdlUGFkZGluZyxcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERpc3RhbmNlQmV0d2VlblR3b1BvaW50cyA9IChhLCBiKSA9PiBNYXRoLnNxcnQoKGIueCAtIGEueCkgKiAoYi54IC0gYS54KSArIChiLnkgLSBhLnkpICogKGIueSAtIGEueSkpO1xuXG5jb25zdCBzb3J0UG9pbnRzID0gKGFycmF5KSA9PiAoYXJyYXkgfHwgW10pLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCB8fCBhLnkgLSBiLnkpO1xuXG4vLyBjaGVjayBjb2xsaW5pYXJpdHkgb2YgMyBwb2ludHMgKHNvdXJjZTogaHR0cHM6Ly93d3cuZ2Vla3Nmb3JnZWVrcy5vcmcvcHJvZ3JhbS1jaGVjay10aHJlZS1wb2ludHMtY29sbGluZWFyLylcbmNvbnN0IGNoZWNrQ29sbGluZWFyaXR5ID0gKGEsIGIsIGMpID0+IChhLnggLSBiLngpICogKGMueSAtIGIueSkgPT09IChjLnggLSBiLngpICogKGEueSAtIGIueSk7XG5cbi8vIDIgbGluZXMgYXJlIG92ZXJsYXBwaW5nIGlmIGFsbCA0IHBvaW50cyBhcmUgY29sbGluZWFyXG5jb25zdCBpc1NhbWVMaW5lID0gKG1hcmtBLCBtYXJrQikgPT5cbiAgY2hlY2tDb2xsaW5lYXJpdHkobWFya0EuZnJvbSwgbWFya0IuZnJvbSwgbWFya0IudG8pICYmIGNoZWNrQ29sbGluZWFyaXR5KG1hcmtBLnRvLCBtYXJrQi5mcm9tLCBtYXJrQi50byk7XG5cbmNvbnN0IGlzU2FtZUNpcmNsZSA9IChtYXJrQSwgbWFya0IpID0+XG4gIGVxdWFsUG9pbnRzKG1hcmtBLnJvb3QsIG1hcmtCLnJvb3QpICYmXG4gIGdldERpc3RhbmNlQmV0d2VlblR3b1BvaW50cyhtYXJrQi5yb290LCBtYXJrQi5lZGdlKSA9PT0gZ2V0RGlzdGFuY2VCZXR3ZWVuVHdvUG9pbnRzKG1hcmtBLnJvb3QsIG1hcmtBLmVkZ2UpO1xuXG5leHBvcnQgY29uc3QgaXNEdXBsaWNhdGVkTWFyayA9IChtYXJrLCBtYXJrcywgb2xkTWFyaykgPT4ge1xuICBjb25zdCB7IHR5cGUsIGJ1aWxkaW5nIH0gPSBtYXJrO1xuXG4gIGlmIChidWlsZGluZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmVkTWFya3MgPSAobWFya3MgfHwgW10pLmZpbHRlcigobSkgPT4gbS50eXBlID09PSB0eXBlICYmICFtLmJ1aWxkaW5nKTtcbiAgY29uc3QgaW5kZXggPSBmaWx0ZXJlZE1hcmtzLmZpbmRJbmRleCgobSkgPT4gaXNFcXVhbChtLCBvbGRNYXJrKSk7XG5cbiAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgIGZpbHRlcmVkTWFya3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZWQgPSBmaWx0ZXJlZE1hcmtzLmZpbmQoKG0pID0+IHtcbiAgICBpZiAodHlwZSA9PT0gJ2NpcmNsZScgfHwgdHlwZSA9PT0gJ3BhcmFib2xhJyB8fCB0eXBlID09PSAnc2luZScgfHwgdHlwZSA9PT0gJ2Fic29sdXRlJyB8fCB0eXBlID09PSAnZXhwb25lbnRpYWwnKSB7XG4gICAgICBjb25zdCB7IHJvb3QsIGVkZ2UgfSA9IG1hcms7XG5cbiAgICAgIHJldHVybiAoZXF1YWxQb2ludHMocm9vdCwgbS5yb290KSAmJiBlcXVhbFBvaW50cyhlZGdlLCBtLmVkZ2UpKSB8fCAodHlwZSA9PT0gJ2NpcmNsZScgJiYgaXNTYW1lQ2lyY2xlKG0sIG1hcmspKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdsaW5lJyB8fCB0eXBlID09PSAncmF5JyB8fCB0eXBlID09PSAnc2VnbWVudCcgfHwgdHlwZSA9PT0gJ3ZlY3RvcicpIHtcbiAgICAgIGNvbnN0IHsgZnJvbSwgdG8gfSA9IG1hcms7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIChlcXVhbFBvaW50cyhmcm9tLCBtLmZyb20pICYmIGVxdWFsUG9pbnRzKHRvLCBtLnRvKSkgfHxcbiAgICAgICAgKGVxdWFsUG9pbnRzKGZyb20sIG0udG8pICYmIGVxdWFsUG9pbnRzKHRvLCBtLmZyb20pKSB8fFxuICAgICAgICAodHlwZSA9PT0gJ2xpbmUnICYmIGlzU2FtZUxpbmUobSwgbWFyaykpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3BvbHlnb24nKSB7XG4gICAgICByZXR1cm4gaXNFcXVhbChzb3J0UG9pbnRzKGNsb25lRGVlcChtYXJrLnBvaW50cykpLCBzb3J0UG9pbnRzKGNsb25lRGVlcChtLnBvaW50cykpKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdwb2ludCcpIHtcbiAgICAgIHJldHVybiBlcXVhbFBvaW50cyhtLCBtYXJrKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiAhIWR1cGxpY2F0ZWQ7XG59O1xuIl19
307
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["tickCount","utils","bounds","point","getAngleDeg","arrowDimensions","getTickValues","prop","tickValues","tickVal","min","indexOf","push","Math","round","step","max","filter","tV","countWords","label","words","split","length","findLongestWord","longestWord","replace","sort","a","b","amountToIncreaseWidth","polygonToArea","points","h","area","left","x","top","y","bottom","right","reduce","p","lineToArea","from","to","pointsToArea","isDomainRangeEqual","graphProps","nextGraphProps","domain","range","getRightestPoints","sortedPoints","getMiddleOfTwoPoints","roundNumber","number","parseFloat","toFixed","sameAxes","p1","p2","equalPoints","getDistanceBetweenTicks","axis","size","nbOfTicks","thinnerShapesNeeded","width","height","getAdjustedGraphLimits","domainTicksDistance","rangeTicksDistance","domainPadding","rangePadding","getDistanceBetweenTwoPoints","sqrt","sortPoints","array","checkCollinearity","c","isSameLine","markA","markB","isSameCircle","root","edge","isDuplicatedMark","mark","marks","oldMark","type","building","filteredMarks","m","index","findIndex","splice","duplicated","find"],"mappings":"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","sourcesContent":["import head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport { utils } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\n//TODO: This can be removed?\nexport const getAngleDeg = () => 0;\n//TODO: This can be removed?\nexport const arrowDimensions = () => 0;\n\nexport const getTickValues = (prop) => {\n const tickValues = [];\n let tickVal = 0;\n\n while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;\n }\n\n tickVal = Math.round(prop.step * 10000) / 10000;\n\n while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n // return only ticks that are inside the min-max interval\n if (tickValues) {\n return tickValues.filter((tV) => tV >= prop.min && tV <= prop.max);\n }\n\n return [];\n};\n\nexport const countWords = (label) => {\n if (label == null || isEmpty(label)) {\n return 1;\n }\n\n const words = label.split(' ');\n return words.length;\n};\n\n// findLongestWord is also used in plot\nexport const findLongestWord = (label) => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in plot\nexport const amountToIncreaseWidth = (longestWord) => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 10;\n};\n\nexport const polygonToArea = (points) => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x,\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => pointsToArea(from, to);\n\nexport const pointsToArea = (a, b) => {\n invariant(!!a && !!b, 'a or b is undefined');\n const left = Math.min(a.x, b.x);\n const top = Math.max(a.y, b.y);\n const bottom = Math.min(a.y, b.y);\n const right = Math.max(a.x, b.x);\n return { left, top, bottom, right };\n};\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return isEqual(graphProps.domain, nextGraphProps.domain) && isEqual(graphProps.range, nextGraphProps.range);\n};\n\nexport const getRightestPoints = (points) => {\n const sortedPoints = cloneDeep(points);\n sortedPoints.sort((a, b) => b.x - a.x);\n\n return { a: sortedPoints[0], b: sortedPoints[1] };\n};\n\nexport const getMiddleOfTwoPoints = (a, b) => ({\n x: (a.x + b.x) / 2,\n y: (a.y + b.y) / 2,\n});\n\nexport const roundNumber = (number) => parseFloat(number.toFixed(4));\n\nexport const sameAxes = (p1, p2) =>\n p1 && p2 && (roundNumber(p1.x) === roundNumber(p2.x) || roundNumber(p1.y) === roundNumber(p2.y));\n\nexport const equalPoints = (p1, p2) =>\n p1 &&\n p2 &&\n isEqual(\n {\n x: roundNumber(p1.x),\n y: roundNumber(p1.y),\n },\n {\n x: roundNumber(p2.x),\n y: roundNumber(p2.y),\n },\n );\n\nconst getDistanceBetweenTicks = (axis, size) => {\n const { min, max, step } = axis;\n const nbOfTicks = (max - min) / step;\n\n return size / nbOfTicks;\n};\n\nexport const thinnerShapesNeeded = (graphProps) => {\n const {\n domain,\n range,\n size: { width, height },\n } = graphProps;\n\n // 14 is the default width of a point\n return getDistanceBetweenTicks(domain, width) < 14 || getDistanceBetweenTicks(range, height) < 14;\n};\n\nexport const getAdjustedGraphLimits = (graphProps) => {\n const {\n domain,\n range,\n size: { width, height },\n } = graphProps;\n const domainTicksDistance = getDistanceBetweenTicks(domain, width);\n const rangeTicksDistance = getDistanceBetweenTicks(range, height);\n\n // 15 is the distance required for the arrow to extend the graph\n const domainPadding = domain.step / (domainTicksDistance / 15);\n const rangePadding = range.step / (rangeTicksDistance / 15);\n\n return {\n domain: {\n min: domain.min - domainPadding,\n max: domain.max + domainPadding,\n },\n range: {\n min: range.min - rangePadding,\n max: range.max + rangePadding,\n },\n };\n};\n\nexport const getDistanceBetweenTwoPoints = (a, b) => Math.sqrt((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));\n\nconst sortPoints = (array) => (array || []).sort((a, b) => a.x - b.x || a.y - b.y);\n\n// check colliniarity of 3 points (source: https://www.geeksforgeeks.org/program-check-three-points-collinear/)\nconst checkCollinearity = (a, b, c) => (a.x - b.x) * (c.y - b.y) === (c.x - b.x) * (a.y - b.y);\n\n// 2 lines are overlapping if all 4 points are collinear\nconst isSameLine = (markA, markB) =>\n checkCollinearity(markA.from, markB.from, markB.to) && checkCollinearity(markA.to, markB.from, markB.to);\n\nconst isSameCircle = (markA, markB) =>\n equalPoints(markA.root, markB.root) &&\n getDistanceBetweenTwoPoints(markB.root, markB.edge) === getDistanceBetweenTwoPoints(markA.root, markA.edge);\n\nexport const isDuplicatedMark = (mark, marks, oldMark) => {\n const { type, building } = mark;\n\n if (building) {\n return false;\n }\n\n const filteredMarks = (marks || []).filter((m) => m.type === type && !m.building);\n const index = filteredMarks.findIndex((m) => isEqual(m, oldMark));\n\n if (index !== -1) {\n filteredMarks.splice(index, 1);\n }\n\n const duplicated = filteredMarks.find((m) => {\n if (type === 'circle' || type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') {\n const { root, edge } = mark;\n\n return (equalPoints(root, m.root) && equalPoints(edge, m.edge)) || (type === 'circle' && isSameCircle(m, mark));\n } else if (type === 'line' || type === 'ray' || type === 'segment' || type === 'vector') {\n const { from, to } = mark;\n\n return (\n (equalPoints(from, m.from) && equalPoints(to, m.to)) ||\n (equalPoints(from, m.to) && equalPoints(to, m.from)) ||\n (type === 'line' && isSameLine(m, mark))\n );\n } else if (type === 'polygon') {\n return isEqual(sortPoints(cloneDeep(mark.points)), sortPoints(cloneDeep(m.points)));\n } else if (type === 'point') {\n return equalPoints(m, mark);\n }\n });\n\n return !!duplicated;\n};\n"],"file":"utils.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.16.0-beta.0",
6
+ "version": "2.17.0",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -18,15 +18,18 @@
18
18
  "dependencies": {
19
19
  "@mapbox/point-geometry": "^0.1.0",
20
20
  "@material-ui/core": "^3.8.3",
21
- "@pie-lib/drag": "^2.4.0-beta.0",
22
- "@pie-lib/graphing-utils": "^1.3.0-beta.0",
23
- "@pie-lib/plot": "^2.9.0-beta.0",
24
- "@pie-lib/render-ui": "^4.17.0-beta.0",
25
- "@pie-lib/translator": "^2.5.0-beta.0",
21
+ "@material-ui/icons": "^3.0.2",
22
+ "@pie-lib/drag": "beta",
23
+ "@pie-lib/editable-html": "beta",
24
+ "@pie-lib/graphing-utils": "beta",
25
+ "@pie-lib/plot": "beta",
26
+ "@pie-lib/tools": "beta",
27
+ "@pie-lib/translator": "beta",
26
28
  "@vx/axis": "^0.0.189",
27
29
  "@vx/clip-path": "^0.0.189",
28
30
  "@vx/event": "^0.0.189",
29
31
  "@vx/grid": "^0.0.189",
32
+ "@vx/group": "^0.0.183",
30
33
  "@vx/point": "^0.0.189",
31
34
  "@vx/shape": "^0.0.189",
32
35
  "classnames": "^2.2.6",
@@ -35,16 +38,17 @@
35
38
  "debug": "^4.1.1",
36
39
  "invariant": "^2.2.4",
37
40
  "lodash": "^4.17.11",
41
+ "prop-types": "^15.7.2",
38
42
  "react": "^16.8.1",
43
+ "react-dom": "^16.9.0",
39
44
  "react-draggable": "^3.3.0",
40
45
  "react-input-autosize": "^2.2.1",
41
46
  "react-redux": "^6.0.0",
42
- "redux": "^4.0.1",
43
- "redux-undo": "beta"
47
+ "redux": "^4.0.1"
44
48
  },
45
49
  "peerDependencies": {
46
50
  "react": "^16.8.1"
47
51
  },
48
- "gitHead": "3818c24530f62b5bb9be7a2c6aa5428f13a17e0a",
52
+ "gitHead": "ecb1ca31aa1c24d23af00d5ad04ce73ed8871057",
49
53
  "scripts": {}
50
54
  }
package/src/axis/axes.jsx CHANGED
@@ -5,7 +5,7 @@ import PropTypes from 'prop-types';
5
5
  import Arrow from './arrow';
6
6
  import { withStyles } from '@material-ui/core';
7
7
  import { countWords, findLongestWord, amountToIncreaseWidth, getTickValues } from '../utils';
8
- import { color, Readable } from '@pie-lib/render-ui';
8
+ import { color, Readable } from '../../../render-ui/src/index';
9
9
 
10
10
  export const AxisPropTypes = {
11
11
  includeArrows: PropTypes.object,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { types } from '@pie-lib/plot';
4
- import { color } from '@pie-lib/render-ui';
4
+ import { color } from '../../render-ui/src/index';
5
5
  import { withStyles } from '@material-ui/core/styles';
6
6
  import InputBase from '@material-ui/core/InputBase';
7
7
  import { roundNumber } from './utils';
@@ -4,7 +4,7 @@ import { withStyles } from '@material-ui/core/styles';
4
4
  import classNames from 'classnames';
5
5
  import uniq from 'lodash/uniq';
6
6
  import isString from 'lodash/isString';
7
- import { color } from '@pie-lib/render-ui';
7
+ import { color } from '../../render-ui/src/index';
8
8
 
9
9
  import ToolMenu from './tool-menu';
10
10
  import Graph, { graphPropTypes } from './graph';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { color, InputContainer } from '@pie-lib/render-ui';
3
+ import { color, InputContainer } from '../../render-ui/src/index';
4
4
  import { withStyles } from '@material-ui/core/styles';
5
5
  import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';
6
6
  import Typography from '@material-ui/core/Typography';
@@ -310,17 +310,14 @@ const GridSetup = (props) => {
310
310
  <ExpansionPanelDetails>
311
311
  <div className={classes.content}>
312
312
  {includeAxesEnabled && (
313
- <Toggle
314
- label="Include axes and labels?"
315
- toggle={onIncludeAxes}
316
- checked={includeAxes} />
313
+ <Toggle label="Include axes and labels?" toggle={onIncludeAxes} checked={includeAxes} />
317
314
  )}
318
315
  {standardGridEnabled && (
319
- <Toggle
320
- label="Constrain to standard coordinate grid?"
321
- toggle={onStandardGridChanged}
322
- checked={standardGrid}
323
- />
316
+ <Toggle
317
+ label="Constrain to standard coordinate grid?"
318
+ toggle={onStandardGridChanged}
319
+ checked={standardGrid}
320
+ />
324
321
  )}
325
322
  {includeAxes ? axesConfig : gridlinesConfig}
326
323
  {dimensionsEnabled && (