@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.
- package/CHANGELOG.json +1 -1017
- package/CHANGELOG.md +96 -27
- package/lib/axis/arrow.js +1 -1
- package/lib/axis/arrow.js.map +1 -0
- package/lib/axis/axes.js +7 -7
- package/lib/axis/axes.js.map +1 -0
- package/lib/axis/index.js +1 -1
- package/lib/axis/index.js.map +1 -0
- package/lib/bg.js +1 -1
- package/lib/bg.js.map +1 -0
- package/lib/container/actions.js +1 -1
- package/lib/container/actions.js.map +1 -0
- package/lib/container/index.js +1 -1
- package/lib/container/index.js.map +1 -0
- package/lib/container/marks.js +1 -1
- package/lib/container/marks.js.map +1 -0
- package/lib/container/middleware.js +1 -1
- package/lib/container/middleware.js.map +1 -0
- package/lib/container/reducer.js +1 -1
- package/lib/container/reducer.js.map +1 -0
- package/lib/coordinates-label.js +3 -3
- package/lib/coordinates-label.js.map +1 -0
- package/lib/graph-with-controls.js +5 -5
- package/lib/graph-with-controls.js.map +1 -0
- package/lib/graph.js +1 -1
- package/lib/graph.js.map +1 -0
- package/lib/grid-setup.js +4 -4
- package/lib/grid-setup.js.map +1 -0
- package/lib/grid.js +1 -1
- package/lib/grid.js.map +1 -0
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -0
- package/lib/key-legend.js +3 -3
- package/lib/key-legend.js.map +1 -0
- package/lib/label-svg-icon.js +1 -1
- package/lib/label-svg-icon.js.map +1 -0
- package/lib/labels.js +4 -4
- package/lib/labels.js.map +1 -0
- package/lib/mark-label.js +18 -18
- package/lib/mark-label.js.map +1 -0
- package/lib/shared/index.js +136 -0
- package/lib/toggle-bar.js +10 -10
- package/lib/toggle-bar.js.map +1 -0
- package/lib/tool-menu.js +1 -1
- package/lib/tool-menu.js.map +1 -0
- package/lib/tools/absolute/component.js +1 -1
- package/lib/tools/absolute/component.js.map +1 -0
- package/lib/tools/absolute/index.js +1 -1
- package/lib/tools/absolute/index.js.map +1 -0
- package/lib/tools/circle/bg-circle.js +4 -4
- package/lib/tools/circle/bg-circle.js.map +1 -0
- package/lib/tools/circle/component.js +5 -5
- package/lib/tools/circle/component.js.map +1 -0
- package/lib/tools/circle/index.js +1 -1
- package/lib/tools/circle/index.js.map +1 -0
- package/lib/tools/exponential/component.js +1 -1
- package/lib/tools/exponential/component.js.map +1 -0
- package/lib/tools/exponential/index.js +1 -1
- package/lib/tools/exponential/index.js.map +1 -0
- package/lib/tools/index.js +1 -1
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/line/component.js +1 -1
- package/lib/tools/line/component.js.map +1 -0
- package/lib/tools/line/index.js +1 -1
- package/lib/tools/line/index.js.map +1 -0
- package/lib/tools/parabola/component.js +1 -1
- package/lib/tools/parabola/component.js.map +1 -0
- package/lib/tools/parabola/index.js +1 -1
- package/lib/tools/parabola/index.js.map +1 -0
- package/lib/tools/point/component.js +1 -1
- package/lib/tools/point/component.js.map +1 -0
- package/lib/tools/point/index.js +1 -1
- package/lib/tools/point/index.js.map +1 -0
- package/lib/tools/polygon/component.js +1 -1
- package/lib/tools/polygon/component.js.map +1 -0
- package/lib/tools/polygon/index.js +1 -1
- package/lib/tools/polygon/index.js.map +1 -0
- package/lib/tools/polygon/line.js +3 -3
- package/lib/tools/polygon/line.js.map +1 -0
- package/lib/tools/polygon/polygon.js +4 -4
- package/lib/tools/polygon/polygon.js.map +1 -0
- package/lib/tools/ray/component.js +1 -1
- package/lib/tools/ray/component.js.map +1 -0
- package/lib/tools/ray/index.js +1 -1
- package/lib/tools/ray/index.js.map +1 -0
- package/lib/tools/segment/component.js +1 -1
- package/lib/tools/segment/component.js.map +1 -0
- package/lib/tools/segment/index.js +1 -1
- package/lib/tools/segment/index.js.map +1 -0
- package/lib/tools/shared/arrow-head.js +1 -1
- package/lib/tools/shared/arrow-head.js.map +1 -0
- package/lib/tools/shared/icons/CorrectSVG.js +1 -1
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/MissingSVG.js +1 -1
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
- package/lib/tools/shared/line/index.js +5 -5
- package/lib/tools/shared/line/index.js.map +1 -0
- package/lib/tools/shared/line/line-path.js +4 -4
- package/lib/tools/shared/line/line-path.js.map +1 -0
- package/lib/tools/shared/line/with-root-edge.js +1 -1
- package/lib/tools/shared/line/with-root-edge.js.map +1 -0
- package/lib/tools/shared/point/arrow-point.js +1 -1
- package/lib/tools/shared/point/arrow-point.js.map +1 -0
- package/lib/tools/shared/point/arrow.js +1 -1
- package/lib/tools/shared/point/arrow.js.map +1 -0
- package/lib/tools/shared/point/base-point.js +1 -1
- package/lib/tools/shared/point/base-point.js.map +1 -0
- package/lib/tools/shared/point/index.js +3 -3
- package/lib/tools/shared/point/index.js.map +1 -0
- package/lib/tools/shared/styles.js +7 -7
- package/lib/tools/shared/styles.js.map +1 -0
- package/lib/tools/shared/types.js +1 -1
- package/lib/tools/shared/types.js.map +1 -0
- package/lib/tools/sine/component.js +1 -1
- package/lib/tools/sine/component.js.map +1 -0
- package/lib/tools/sine/index.js +1 -1
- package/lib/tools/sine/index.js.map +1 -0
- package/lib/tools/vector/component.js +1 -1
- package/lib/tools/vector/component.js.map +1 -0
- package/lib/tools/vector/index.js +1 -1
- package/lib/tools/vector/index.js.map +1 -0
- package/lib/undo-redo.js +3 -3
- package/lib/undo-redo.js.map +1 -0
- package/lib/use-debounce.js +1 -1
- package/lib/use-debounce.js.map +1 -0
- package/lib/utils.js +1 -1
- package/lib/utils.js.map +1 -0
- package/package.json +13 -9
- package/src/axis/axes.jsx +1 -1
- package/src/coordinates-label.jsx +1 -1
- package/src/graph-with-controls.jsx +1 -1
- package/src/grid-setup.jsx +7 -10
- package/src/key-legend.jsx +131 -101
- package/src/labels.jsx +1 -1
- package/src/mark-label.jsx +1 -1
- package/src/toggle-bar.jsx +1 -1
- package/src/tools/circle/bg-circle.jsx +1 -1
- package/src/tools/circle/component.jsx +1 -1
- package/src/tools/polygon/line.jsx +1 -1
- package/src/tools/polygon/polygon.jsx +3 -3
- package/src/tools/shared/line/index.jsx +1 -1
- package/src/tools/shared/line/line-path.jsx +1 -1
- package/src/tools/shared/point/index.jsx +1 -1
- package/src/tools/shared/styles.js +1 -1
- package/src/undo-redo.jsx +1 -1
- package/lib/__tests__/graph-with-controls.test.js +0 -215
- package/lib/__tests__/graph.test.js +0 -290
- package/lib/__tests__/grid.test.js +0 -40
- package/lib/__tests__/labels.test.js +0 -59
- package/lib/__tests__/mark-label.test.js +0 -154
- package/lib/__tests__/toggle-bar.test.js +0 -54
- package/lib/__tests__/tool-menu.test.js +0 -43
- package/lib/__tests__/undo-redo.test.js +0 -42
- package/lib/__tests__/use-debounce.test.js +0 -28
- package/lib/__tests__/utils.js +0 -72
- package/lib/__tests__/utils.test.js +0 -133
- package/lib/axis/__tests__/arrow.test.js +0 -68
- package/lib/axis/__tests__/axes.test.js +0 -214
- package/lib/tools/absolute/__tests__/component.test.js +0 -74
- package/lib/tools/circle/__tests__/bg-circle.test.js +0 -46
- package/lib/tools/circle/__tests__/component.test.js +0 -259
- package/lib/tools/exponential/__tests__/component.test.js +0 -73
- package/lib/tools/line/__tests__/component.test.js +0 -56
- package/lib/tools/parabola/__tests__/component.test.js +0 -73
- package/lib/tools/point/__tests__/component.test.js +0 -97
- package/lib/tools/polygon/__tests__/component.test.js +0 -255
- package/lib/tools/polygon/__tests__/index.test.js +0 -95
- package/lib/tools/polygon/__tests__/line.test.js +0 -43
- package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
- package/lib/tools/ray/__tests__/component.test.js +0 -48
- package/lib/tools/segment/__tests__/component.test.js +0 -48
- package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
- package/lib/tools/shared/line/__tests__/index.test.js +0 -301
- package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
- package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
- package/lib/tools/sine/__tests__/component.test.js +0 -81
- package/lib/tools/vector/__tests__/component.test.js +0 -45
|
@@ -43,7 +43,7 @@ var _markLabel = _interopRequireDefault(require("../../../mark-label"));
|
|
|
43
43
|
|
|
44
44
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _index = require("./../../../shared/index");
|
|
47
47
|
|
|
48
48
|
var _utils = require("../../../utils");
|
|
49
49
|
|
|
@@ -555,18 +555,18 @@ var styles = {
|
|
|
555
555
|
line: function line() {
|
|
556
556
|
return {
|
|
557
557
|
fill: 'transparent',
|
|
558
|
-
stroke:
|
|
558
|
+
stroke: _index.color.defaults.BLACK,
|
|
559
559
|
strokeWidth: 3,
|
|
560
560
|
transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
|
|
561
561
|
'&:hover': {
|
|
562
562
|
strokeWidth: 6,
|
|
563
|
-
stroke:
|
|
563
|
+
stroke: _index.color.defaults.PRIMARY_DARK
|
|
564
564
|
}
|
|
565
565
|
};
|
|
566
566
|
},
|
|
567
567
|
arrow: function arrow() {
|
|
568
568
|
return {
|
|
569
|
-
fill:
|
|
569
|
+
fill: _index.color.defaults.BLACK
|
|
570
570
|
};
|
|
571
571
|
},
|
|
572
572
|
disabledArrow: function disabledArrow() {
|
|
@@ -596,4 +596,4 @@ var styles = {
|
|
|
596
596
|
}
|
|
597
597
|
};
|
|
598
598
|
exports.styles = styles;
|
|
599
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9zaGFyZWQvbGluZS9pbmRleC5qc3giXSwibmFtZXMiOlsibGluZVRvb2wiLCJ0eXBlIiwiQ29tcG9uZW50IiwiYWRkUG9pbnQiLCJwb2ludCIsIm1hcmsiLCJyb290IiwiYnVpbGRpbmciLCJmcm9tIiwidG8iLCJsaW5lVG9vbENvbXBvbmVudCIsInByb3BzIiwic2V0U3RhdGUiLCJvbkNoYW5nZSIsInVwZGF0ZSIsInN0YXRlIiwidW5kZWZpbmVkIiwic2hvdWxkTm90Q2hhbmdlIiwieSIsIm1pZGRsZSIsImdyYXBoUHJvcHMiLCJvbkNsaWNrIiwibGFiZWxOb2RlIiwibGFiZWxNb2RlRW5hYmxlZCIsImNvb3JkaW5hdGVzT25Ib3ZlciIsImxpbWl0TGFiZWxpbmciLCJpc0JhY2tncm91bmQiLCJkaXNhYmxlZCIsImNvcnJlY3RuZXNzIiwiY2hhbmdlTWFyayIsImNoYW5nZU1hcmtQcm9wcyIsInN0YXJ0RHJhZyIsInN0b3BEcmFnIiwiUmVhY3QiLCJ0eXBlcyIsIlRvb2xQcm9wVHlwZUZpZWxkcyIsIkdyYXBoUHJvcHNUeXBlIiwiaXNSZXF1aXJlZCIsImRyYWdPcHRzIiwiYm91bmRzIiwiZG9tYWluIiwicmFuZ2UiLCJhcmVhIiwidXRpbHMiLCJsaW5lVG9BcmVhIiwiYW5jaG9yUG9pbnQiLCJmcm9tRGVsdGEiLCJkZWx0YSIsImFkZCIsImxpbmVCYXNlIiwiQ29tcCIsIm9wdHMiLCJEcmFnZ2FibGVDb21wIiwiRnJvbVBvaW50IiwiQmFzZVBvaW50IiwiVG9Qb2ludCIsIkxpbmVCYXNlIiwiZHJhZ2dlZEZyb20iLCJkcmFnZ2VkVG8iLCJsYWJlbCIsInVwZGF0ZWQiLCJvbkNoYW5nZVBvaW50IiwiZGF0YSIsImlucHV0IiwiZm9jdXMiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ1N0b3AiLCJjb21tb24iLCJhbmdsZSIsInRyaWciLCJ0b0RlZ3JlZXMiLCJmcm9tTGFiZWxOb2RlIiwidG9MYWJlbE5vZGUiLCJsaW5lTGFiZWxOb2RlIiwiaGFzT3duUHJvcGVydHkiLCJSZWFjdERPTSIsImNyZWF0ZVBvcnRhbCIsInIiLCJsYWJlbENoYW5nZSIsImRyYWdDb21wIiwiY2xpY2tQb2ludCIsIngiLCJkcmFnRnJvbSIsImRyYWdUbyIsIlByb3BUeXBlcyIsImJvb2wiLCJQb2ludFR5cGUiLCJmdW5jIiwic3RyaW5nIiwib2JqZWN0Iiwic3R5bGVzIiwibGluZSIsImZpbGwiLCJzdHJva2UiLCJjb2xvciIsImRlZmF1bHRzIiwiQkxBQ0siLCJzdHJva2VXaWR0aCIsInRyYW5zaXRpb24iLCJQUklNQVJZX0RBUksiLCJhcnJvdyIsImRpc2FibGVkQXJyb3ciLCJkaXNhYmxlZFNlY29uZGFyeSIsImNvcnJlY3QiLCJ0aGVtZSIsImtleSIsImluY29ycmVjdCIsIm1pc3NpbmciLCJzdHJva2VEYXNoYXJyYXkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVPLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLElBQUQsRUFBT0MsU0FBUDtBQUFBLFNBQXFCO0FBQUEsV0FBTztBQUNsREQsTUFBQUEsSUFBSSxFQUFKQSxJQURrRDtBQUVsREMsTUFBQUEsU0FBUyxFQUFUQSxTQUZrRDtBQUdsREMsTUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxLQUFELEVBQVFDLElBQVIsRUFBaUI7QUFDekIsWUFBSUEsSUFBSSxJQUFJLHdCQUFZQSxJQUFJLENBQUNDLElBQWpCLEVBQXVCRixLQUF2QixDQUFaLEVBQTJDO0FBQ3pDLGlCQUFPQyxJQUFQO0FBQ0Q7O0FBRUQsWUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVCxpQkFBTztBQUNMSixZQUFBQSxJQUFJLEVBQUpBLElBREs7QUFFTE0sWUFBQUEsUUFBUSxFQUFFLElBRkw7QUFHTEMsWUFBQUEsSUFBSSxFQUFFSjtB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dUJBQVVBLEdBQVYsQ0FETTtBQUFBLEdBNUJTO0FBK0JwQkUsRUFBQUEsT0FBTyxFQUFFLGlCQUFDSCxLQUFELEVBQVFDLEdBQVI7QUFBQSwyQ0FDSixxQkFBUUEsR0FBUixDQURJO0FBRVBSLE1BQUFBLFdBQVcsRUFBRSxDQUZOO0FBR1BXLE1BQUFBLGVBQWUsRUFBRTtBQUhWO0FBQUE7QUEvQlcsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi4vcG9pbnQnO1xuaW1wb3J0IHsgdHlwZXMsIHV0aWxzLCBncmlkRHJhZ2dhYmxlLCB0cmlnIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgZGlzYWJsZWQsIGRpc2FibGVkU2Vjb25kYXJ5LCBjb3JyZWN0LCBpbmNvcnJlY3QsIG1pc3NpbmcgfSBmcm9tICcuLi9zdHlsZXMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTWFya0xhYmVsIGZyb20gJy4uLy4uLy4uL21hcmstbGFiZWwnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgZ2V0TWlkZGxlT2ZUd29Qb2ludHMsIGVxdWFsUG9pbnRzLCBzYW1lQXhlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGxpbmVUb29sID0gKHR5cGUsIENvbXBvbmVudCkgPT4gKCkgPT4gKHtcbiAgdHlwZSxcbiAgQ29tcG9uZW50LFxuICBhZGRQb2ludDogKHBvaW50LCBtYXJrKSA9PiB7XG4gICAgaWYgKG1hcmsgJiYgZXF1YWxQb2ludHMobWFyay5yb290LCBwb2ludCkpIHtcbiAgICAgIHJldHVybiBtYXJrO1xuICAgIH1cblxuICAgIGlmICghbWFyaykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICAgIGZyb206IHBvaW50LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoZXF1YWxQb2ludHMocG9pbnQsIG1hcmsuZnJvbSkpIHtcbiAgICAgIHJldHVybiB7IC4uLm1hcmsgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyAuLi5tYXJrLCBidWlsZGluZzogZmFsc2UsIHRvOiBwb2ludCB9O1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBsaW5lVG9vbENvbXBvbmVudCA9IChDb21wb25lbnQpID0+IHtcbiAgcmV0dXJuIGNsYXNzIExpbmVUb29sQ29tcG9uZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgLi4udHlwZXMuVG9vbFByb3BUeXBlRmllbGRzLFxuICAgICAgZ3JhcGhQcm9wczogdHlwZXMuR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuc3RhdGUgPSB7fTtcbiAgICB9XG5cbiAgICBzdGFydERyYWcgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHsgbWFyazogeyAuLi50aGlzLnByb3BzLm1hcmsgfSB9KTtcblxuICAgIHN0b3BEcmFnID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBvbkNoYW5nZSwgbWFyayB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgLi4udGhpcy5zdGF0ZS5tYXJrIH07XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrOiB1bmRlZmluZWQgfSwgKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHR5cGUgfSA9IHVwZGF0ZTtcbiAgICAgICAgbGV0IHNob3VsZE5vdENoYW5nZSA9XG4gICAgICAgICAgdHlwZSAmJlxuICAgICAgICAgICh0eXBlID09PSAncGFyYWJvbGEnIHx8IHR5cGUgPT09ICdzaW5lJyB8fCB0eXBlID09PSAnYWJzb2x1dGUnIHx8IHR5cGUgPT09ICdleHBvbmVudGlhbCcpICYmXG4gICAgICAgICAgc2FtZUF4ZXModXBkYXRlLmZyb20sIHVwZGF0ZS50byk7XG4gICAgICAgIGlmICghc2hvdWxkTm90Q2hhbmdlICYmIHR5cGUgJiYgdHlwZSA9PT0gJ2V4cG9uZW50aWFsJyAmJiB1cGRhdGUuZnJvbSAmJiB1cGRhdGUudG8pIHtcbiAgICAgICAgICBzaG91bGROb3RDaGFuZ2UgPSB1cGRhdGUuZnJvbS55ID09PSAwIHx8IHVwZGF0ZS50by55ID09PSAwIHx8IHVwZGF0ZS5mcm9tLnkgKiB1cGRhdGUudG8ueSA8IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VxdWFsKG1hcmssIHVwZGF0ZSkgJiYgIXNob3VsZE5vdENoYW5nZSkge1xuICAgICAgICAgIG9uQ2hhbmdlKG1hcmssIHVwZGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjaGFuZ2VNYXJrID0gKHsgZnJvbSwgdG8sIG1pZGRsZSB9KSA9PiB7XG4gICAgICBsZXQgbWFyayA9IHsgLi4udGhpcy5zdGF0ZS5tYXJrLCBmcm9tLCB0byB9O1xuXG4gICAgICBpZiAobWlkZGxlKSB7XG4gICAgICAgIG1hcmsgPSB7IC4uLm1hcmssIG1pZGRsZSB9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHsgbWFyayB9KTtcbiAgICB9O1xuXG4gICAgY2hhbmdlTWFya1Byb3BzID0gKHsgZnJvbSwgdG8sIG1pZGRsZSB9KSA9PiB7XG4gICAgICBjb25zdCB7IG9uQ2hhbmdlLCBtYXJrIH0gPSB0aGlzLnByb3BzO1xuICAgICAgbGV0IHVwZGF0ZSA9IHsgLi4ubWFyaywgLi4udGhpcy5zdGF0ZS5tYXJrIH07XG5cbiAgICAgIGlmIChmcm9tKSB7XG4gICAgICAgIHVwZGF0ZSA9IHsgLi4udXBkYXRlLCBmcm9tIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0bykge1xuICAgICAgICB1cGRhdGUgPSB7IC4uLnVwZGF0ZSwgdG8gfTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1pZGRsZSkge1xuICAgICAgICB1cGRhdGUgPSB7IC4uLnVwZGF0ZSwgbWlkZGxlIH07XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFcXVhbChtYXJrLCB1cGRhdGUpKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1hcmssIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcywgb25DbGljaywgbGFiZWxOb2RlLCBsYWJlbE1vZGVFbmFibGVkLCBjb29yZGluYXRlc09uSG92ZXIsIGxpbWl0TGFiZWxpbmcgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtYXJrID0gdGhpcy5zdGF0ZS5tYXJrID8gdGhpcy5zdGF0ZS5tYXJrIDogdGhpcy5wcm9wcy5tYXJrO1xuXG4gICAgICBjb25zdCBmcm9tID0gY2xvbmVEZWVwKG1hcmsuZnJvbSk7XG4gICAgICBjb25zdCB0byA9IGNsb25lRGVlcChtYXJrLnRvKTtcbiAgICAgIGNvbnN0IG1pZGRsZSA9IGNsb25lRGVlcChtYXJrLm1pZGRsZSk7XG5cbiAgICAgIC8vIFNFVCBESVNBQkxFRFxuICAgICAgLy8gaWYgaXQncyBhIGJhY2tncm91bmQgbWFyaywgd2UgbmVlZCB0byBmb3JjZSBkaXNhYmxlIGl0XG4gICAgICBpZiAoZnJvbSAmJiBtYXJrLmlzQmFja2dyb3VuZCkge1xuICAgICAgICBmcm9tLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRvICYmIG1hcmsuaXNCYWNrZ3JvdW5kKSB7XG4gICAgICAgIHRvLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1pZGRsZSAmJiBtYXJrLmlzQmFja2dyb3VuZCkge1xuICAgICAgICBtaWRkbGUuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q29tcG9uZW50XG4gICAgICAgICAgZGlzYWJsZWQ9e21hcmsuZGlzYWJsZWR9XG4gICAgICAgICAgY29vcmRpbmF0ZXNPbkhvdmVyPXtjb29yZGluYXRlc09uSG92ZXJ9XG4gICAgICAgICAgY29ycmVjdG5lc3M9e21hcmsuY29ycmVjdG5lc3N9XG4gICAgICAgICAgZnJvbT17ZnJvbX1cbiAgICAgICAgICB0bz17dG99XG4gICAgICAgICAgbWlkZGxlPXttaWRkbGV9XG4gICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VNYXJrfVxuICAgICAgICAgIGNoYW5nZU1hcmtQcm9wcz17dGhpcy5jaGFuZ2VNYXJrUHJvcHN9XG4gICAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgICBvbkRyYWdTdGFydD17dGhpcy5zdGFydERyYWd9XG4gICAgICAgICAgb25EcmFnU3RvcD17dGhpcy5zdG9wRHJhZ31cbiAgICAgICAgICBsYWJlbE5vZGU9e2xhYmVsTm9kZX1cbiAgICAgICAgICBsYWJlbE1vZGVFbmFibGVkPXtsYWJlbE1vZGVFbmFibGVkfVxuICAgICAgICAgIGxpbWl0TGFiZWxpbmc9e2xpbWl0TGFiZWxpbmd9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IGRyYWdPcHRzID0gKCkgPT4gKHtcbiAgYm91bmRzOiAocHJvcHMsIHsgZG9tYWluLCByYW5nZSB9KSA9PiB7XG4gICAgY29uc3QgYXJlYSA9IHV0aWxzLmxpbmVUb0FyZWEocHJvcHMuZnJvbSwgcHJvcHMudG8pO1xuICAgIHJldHVybiB1dGlscy5ib3VuZHMoYXJlYSwgZG9tYWluLCByYW5nZSk7XG4gIH0sXG4gIGFuY2hvclBvaW50OiAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGZyb20gfSA9IHByb3BzO1xuICAgIHJldHVybiBmcm9tO1xuICB9LFxuICBmcm9tRGVsdGE6IChwcm9wcywgZGVsdGEpID0+IHtcbiAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBwcm9wcztcbiAgICByZXR1cm4ge1xuICAgICAgZnJvbTogdXRpbHMucG9pbnQoZnJvbSkuYWRkKHV0aWxzLnBvaW50KGRlbHRhKSksXG4gICAgICB0bzogdXRpbHMucG9pbnQodG8pLmFkZCh1dGlscy5wb2ludChkZWx0YSkpLFxuICAgIH07XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IGxpbmVCYXNlID0gKENvbXAsIG9wdHMpID0+IHtcbiAgY29uc3QgRHJhZ2dhYmxlQ29tcCA9IGdyaWREcmFnZ2FibGUoZHJhZ09wdHMoKSkoQ29tcCk7XG5cbiAgY29uc3QgRnJvbVBvaW50ID0gb3B0cyAmJiBvcHRzLmZyb20gPyBvcHRzLmZyb20gOiBCYXNlUG9pbnQ7XG4gIGNvbnN0IFRvUG9pbnQgPSBvcHRzICYmIG9wdHMudG8gPyBvcHRzLnRvIDogQmFzZVBvaW50O1xuXG4gIGNsYXNzIExpbmVCYXNlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgY29vcmRpbmF0ZXNPbkhvdmVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLFxuICAgICAgZnJvbTogdHlwZXMuUG9pbnRUeXBlLFxuICAgICAgdG86IHR5cGVzLlBvaW50VHlwZSxcbiAgICAgIG1pZGRsZTogdHlwZXMuUG9pbnRUeXBlLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25EcmFnU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25EcmFnU3RvcDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGNvcnJlY3RuZXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgbGFiZWxOb2RlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgICAgbGFiZWxNb2RlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgICBjaGFuZ2VNYXJrUHJvcHM6IFByb3BUeXBlcy5mdW5jLFxuICAgIH07XG5cbiAgICBvbkNoYW5nZVBvaW50ID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCB7IG1pZGRsZSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB7IGZyb20sIHRvIH0gPSBwb2ludDtcblxuICAgICAgLy8gYmVjYXVzZSBwb2ludC5mcm9tLmxhYmVsIGFuZCBwb2ludC50by5sYWJlbCBjYW4gYmUgZGlmZmVyZW50XG4gICAgICBpZiAoIWVxdWFsUG9pbnRzKGZyb20sIHRvKSkge1xuICAgICAgICBpZiAobWlkZGxlKSB7XG4gICAgICAgICAgcG9pbnQubWlkZGxlID0geyAuLi5taWRkbGUsIC4uLmdldE1pZGRsZU9mVHdvUG9pbnRzKGZyb20sIHRvKSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgb25DaGFuZ2UocG9pbnQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBkcmFnQ29tcCA9ICh7IGZyb206IGRyYWdnZWRGcm9tLCB0bzogZHJhZ2dlZFRvIH0pID0+IHtcbiAgICAgIGNvbnN0IHsgZnJvbSwgdG8sIG9uQ2hhbmdlLCBtaWRkbGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmcm9tLmxhYmVsKSB7XG4gICAgICAgIGRyYWdnZWRGcm9tLmxhYmVsID0gZnJvbS5sYWJlbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRvLmxhYmVsKSB7XG4gICAgICAgIGRyYWdnZWRUby5sYWJlbCA9IHRvLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGRhdGVkID0geyBmcm9tOiBkcmFnZ2VkRnJvbSwgdG86IGRyYWdnZWRUbyB9O1xuXG4gICAgICBpZiAobWlkZGxlKSB7XG4gICAgICAgIHVwZGF0ZWQubWlkZGxlID0geyAuLi5taWRkbGUsIC4uLmdldE1pZGRsZU9mVHdvUG9pbnRzKGRyYWdnZWRGcm9tLCBkcmFnZ2VkVG8pIH07XG4gICAgICB9XG5cbiAgICAgIG9uQ2hhbmdlKHVwZGF0ZWQpO1xuICAgIH07XG5cbiAgICBkcmFnRnJvbSA9IChkcmFnZ2VkRnJvbSkgPT4ge1xuICAgICAgY29uc3QgeyBmcm9tLCB0byB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZyb20ubGFiZWwpIHtcbiAgICAgICAgZHJhZ2dlZEZyb20ubGFiZWwgPSBmcm9tLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWVxdWFsUG9pbnRzKGRyYWdnZWRGcm9tLCB0bykpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVBvaW50KHsgZnJvbTogZHJhZ2dlZEZyb20sIHRvOiB0byB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZHJhZ1RvID0gKGRyYWdnZWRUbykgPT4ge1xuICAgICAgY29uc3QgeyBmcm9tLCB0byB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKHRvLmxhYmVsKSB7XG4gICAgICAgIGRyYWdnZWRUby5sYWJlbCA9IHRvLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWVxdWFsUG9pbnRzKGZyb20sIGRyYWdnZWRUbykpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVBvaW50KHsgZnJvbTogZnJvbSwgdG86IGRyYWdnZWRUbyB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbGFiZWxDaGFuZ2UgPSAocG9pbnQsIHR5cGUpID0+IHtcbiAgICAgIGNvbnN0IHsgY2hhbmdlTWFya1Byb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgdXBkYXRlID0geyAuLi5wb2ludCB9O1xuXG4gICAgICBpZiAoIXBvaW50LmxhYmVsIHx8IGlzRW1wdHkocG9pbnQubGFiZWwpKSB7XG4gICAgICAgIGRlbGV0ZSB1cGRhdGUubGFiZWw7XG4gICAgICB9XG5cbiAgICAgIGNoYW5nZU1hcmtQcm9wcyh7IFt0eXBlXTogdXBkYXRlIH0pO1xuICAgIH07XG5cbiAgICBjbGlja1BvaW50ID0gKHBvaW50LCB0eXBlLCBkYXRhKSA9PiB7XG4gICAgICBjb25zdCB7IGNoYW5nZU1hcmtQcm9wcywgZGlzYWJsZWQsIGZyb20sIHRvLCBsYWJlbE1vZGVFbmFibGVkLCBsaW1pdExhYmVsaW5nLCBvbkNsaWNrIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoIWxhYmVsTW9kZUVuYWJsZWQpIHtcbiAgICAgICAgb25DbGljayhwb2ludCB8fCBkYXRhKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBsaW1pdCBsYWJlbGluZyB0aGUgcG9pbnRzIG9mIHRoZSBsaW5lXG4gICAgICBpZiAobGltaXRMYWJlbGluZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnbWlkZGxlJyAmJiAhcG9pbnQgJiYgZnJvbSAmJiB0bykge1xuICAgICAgICBwb2ludCA9IHsgLi4ucG9pbnQsIC4uLmdldE1pZGRsZU9mVHdvUG9pbnRzKGZyb20sIHRvKSB9O1xuICAgICAgfVxuXG4gICAgICBjaGFuZ2VNYXJrUHJvcHMoeyBmcm9tLCB0bywgW3R5cGVdOiB7IGxhYmVsOiAnJywgLi4ucG9pbnQgfSB9KTtcblxuICAgICAgaWYgKHRoaXMuaW5wdXRbdHlwZV0pIHtcbiAgICAgICAgdGhpcy5pbnB1dFt0eXBlXS5mb2N1cygpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBJTVBPUlRBTlQsIGRvIG5vdCByZW1vdmVcbiAgICBpbnB1dCA9IHt9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjb29yZGluYXRlc09uSG92ZXIsXG4gICAgICAgIGdyYXBoUHJvcHMsXG4gICAgICAgIG9uRHJhZ1N0YXJ0LFxuICAgICAgICBvbkRyYWdTdG9wLFxuICAgICAgICBmcm9tLFxuICAgICAgICB0byxcbiAgICAgICAgbWlkZGxlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgY29ycmVjdG5lc3MsXG4gICAgICAgIG9uQ2xpY2ssXG4gICAgICAgIGxhYmVsTm9kZSxcbiAgICAgICAgbGFiZWxNb2RlRW5hYmxlZCxcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgY29tbW9uID0geyBncmFwaFByb3BzLCBvbkRyYWdTdGFydCwgb25EcmFnU3RvcCwgZGlzYWJsZWQsIGNvcnJlY3RuZXNzLCBvbkNsaWNrIH07XG4gICAgICBjb25zdCBhbmdsZSA9IHRvID8gdHJpZy50b0RlZ3JlZXModHJpZy5hbmdsZShmcm9tLCB0bykpIDogMDtcblxuICAgICAgbGV0IGZyb21MYWJlbE5vZGUgPSBudWxsO1xuICAgICAgbGV0IHRvTGFiZWxOb2RlID0gbnVsbDtcbiAgICAgIGxldCBsaW5lTGFiZWxOb2RlID0gbnVsbDtcblxuICAgICAgaWYgKGxhYmVsTm9kZSkge1xuICAgICAgICBpZiAoZnJvbSAmJiBmcm9tLmhhc093blByb3BlcnR5KCdsYWJlbCcpKSB7XG4gICAgICAgICAgZnJvbUxhYmVsTm9kZSA9IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChcbiAgICAgICAgICAgIDxNYXJrTGFiZWxcbiAgICAgICAgICAgICAgaW5wdXRSZWY9eyhyKSA9PiAodGhpcy5pbnB1dC5mcm9tID0gcil9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshbGFiZWxNb2RlRW5hYmxlZH1cbiAgICAgICAgICAgICAgbWFyaz17ZnJvbX1cbiAgICAgICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhsYWJlbCkgPT4gdGhpcy5sYWJlbENoYW5nZSh7IC4uLmZyb20sIGxhYmVsIH0sICdmcm9tJyl9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIGxhYmVsTm9kZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvICYmIHRvLmhhc093blByb3BlcnR5KCdsYWJlbCcpKSB7XG4gICAgICAgICAgdG9MYWJlbE5vZGUgPSBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8TWFya0xhYmVsXG4gICAgICAgICAgICAgIGlucHV0UmVmPXsocikgPT4gKHRoaXMuaW5wdXQudG8gPSByKX1cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFsYWJlbE1vZGVFbmFibGVkfVxuICAgICAgICAgICAgICBtYXJrPXt0b31cbiAgICAgICAgICAgICAgZ3JhcGhQcm9wcz17Z3JhcGhQcm9wc31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhsYWJlbCkgPT4gdGhpcy5sYWJlbENoYW5nZSh7IC4uLnRvLCBsYWJlbCB9LCAndG8nKX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgbGFiZWxOb2RlLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWlkZGxlICYmIG1pZGRsZS5oYXNPd25Qcm9wZXJ0eSgnbGFiZWwnKSkge1xuICAgICAgICAgIGxpbmVMYWJlbE5vZGUgPSBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8TWFya0xhYmVsXG4gICAgICAgICAgICAgIGlucHV0UmVmPXsocikgPT4gKHRoaXMuaW5wdXQubWlkZGxlID0gcil9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshbGFiZWxNb2RlRW5hYmxlZH1cbiAgICAgICAgICAgICAgbWFyaz17bWlkZGxlfVxuICAgICAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGxhYmVsKSA9PiB0aGlzLmxhYmVsQ2hhbmdlKHsgLi4ubWlkZGxlLCBsYWJlbCB9LCAnbWlkZGxlJyl9XG4gICAgICAgICAgICAvPixcbiAgICAgICAgICAgIGxhYmVsTm9kZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxnPlxuICAgICAgICAgIHt0byAmJiAoXG4gICAgICAgICAgICA8RHJhZ2dhYmxlQ29tcFxuICAgICAgICAgICAgICBmcm9tPXtmcm9tfVxuICAgICAgICAgICAgICB0bz17dG99XG4gICAgICAgICAgICAgIG1pZGRsZT17bWlkZGxlfVxuICAgICAgICAgICAgICBvbkRyYWc9e3RoaXMuZHJhZ0NvbXB9XG4gICAgICAgICAgICAgIHsuLi5jb21tb259XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhkYXRhKSA9PiB0aGlzLmNsaWNrUG9pbnQobWlkZGxlLCAnbWlkZGxlJywgZGF0YSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2xpbmVMYWJlbE5vZGV9XG5cbiAgICAgICAgICA8RnJvbVBvaW50XG4gICAgICAgICAgICB4PXtmcm9tLnh9XG4gICAgICAgICAgICB5PXtmcm9tLnl9XG4gICAgICAgICAgICBsYWJlbE5vZGU9e2xhYmVsTm9kZX1cbiAgICAgICAgICAgIGNvb3JkaW5hdGVzT25Ib3Zlcj17Y29vcmRpbmF0ZXNPbkhvdmVyfVxuICAgICAgICAgICAgb25EcmFnPXt0aGlzLmRyYWdGcm9tfVxuICAgICAgICAgICAgey4uLmNvbW1vbn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eyhkYXRhKSA9PiB0aGlzLmNsaWNrUG9pbnQoZnJvbSwgJ2Zyb20nLCBkYXRhKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtmcm9tTGFiZWxOb2RlfVxuXG4gICAgICAgICAge3RvICYmIChcbiAgICAgICAgICAgIDxUb1BvaW50XG4gICAgICAgICAgICAgIHg9e3RvLnh9XG4gICAgICAgICAgICAgIHk9e3RvLnl9XG4gICAgICAgICAgICAgIGFuZ2xlPXthbmdsZX0gLy9hbmdsZSArIDQ1fVxuICAgICAgICAgICAgICBsYWJlbE5vZGU9e2xhYmVsTm9kZX1cbiAgICAgICAgICAgICAgY29vcmRpbmF0ZXNPbkhvdmVyPXtjb29yZGluYXRlc09uSG92ZXJ9XG4gICAgICAgICAgICAgIG9uRHJhZz17dGhpcy5kcmFnVG99XG4gICAgICAgICAgICAgIHsuLi5jb21tb259XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhkYXRhKSA9PiB0aGlzLmNsaWNrUG9pbnQodG8sICd0bycsIGRhdGEpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHt0b0xhYmVsTm9kZX1cbiAgICAgICAgPC9nPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gTGluZUJhc2U7XG59O1xuXG5leHBvcnQgY29uc3Qgc3R5bGVzID0ge1xuICBsaW5lOiAoKSA9PiAoe1xuICAgIGZpbGw6ICd0cmFuc3BhcmVudCcsXG4gICAgc3Ryb2tlOiBjb2xvci5kZWZhdWx0cy5CTEFDSyxcbiAgICBzdHJva2VXaWR0aDogMyxcbiAgICB0cmFuc2l0aW9uOiAnc3Ryb2tlIDIwMG1zIGVhc2UtaW4sIHN0cm9rZS13aWR0aCAyMDBtcyBlYXNlLWluJyxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIHN0cm9rZVdpZHRoOiA2LFxuICAgICAgc3Ryb2tlOiBjb2xvci5kZWZhdWx0cy5QUklNQVJZX0RBUkssXG4gICAgfSxcbiAgfSksXG4gIGFycm93OiAoKSA9PiAoe1xuICAgIGZpbGw6IGNvbG9yLmRlZmF1bHRzLkJMQUNLLFxuICB9KSxcbiAgZGlzYWJsZWRBcnJvdzogKCkgPT4gKHtcbiAgICAuLi5kaXNhYmxlZFNlY29uZGFyeSgpLFxuICB9KSxcbiAgZGlzYWJsZWRTZWNvbmRhcnk6ICgpID0+ICh7XG4gICAgLi4uZGlzYWJsZWRTZWNvbmRhcnkoJ3N0cm9rZScpLFxuICAgIHN0cm9rZVdpZHRoOiAyLFxuICB9KSxcbiAgZGlzYWJsZWQ6ICgpID0+ICh7XG4gICAgLi4uZGlzYWJsZWQoJ3N0cm9rZScpLFxuICAgIHN0cm9rZVdpZHRoOiAyLFxuICB9KSxcbiAgY29ycmVjdDogKHRoZW1lLCBrZXkpID0+ICh7XG4gICAgLi4uY29ycmVjdChrZXkpLFxuICB9KSxcbiAgaW5jb3JyZWN0OiAodGhlbWUsIGtleSkgPT4gKHtcbiAgICAuLi5pbmNvcnJlY3Qoa2V5KSxcbiAgfSksXG4gIG1pc3Npbmc6ICh0aGVtZSwga2V5KSA9PiAoe1xuICAgIC4uLm1pc3Npbmcoa2V5KSxcbiAgICBzdHJva2VXaWR0aDogMSxcbiAgICBzdHJva2VEYXNoYXJyYXk6ICc0IDMnLFxuICB9KSxcbn07XG4iXX0=
|
|
599
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/line/index.jsx"],"names":["lineTool","type","Component","addPoint","point","mark","root","building","from","to","lineToolComponent","props","setState","onChange","update","state","undefined","shouldNotChange","y","middle","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","isBackground","disabled","correctness","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","dragOpts","bounds","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","FromPoint","BasePoint","ToPoint","LineBase","draggedFrom","draggedTo","label","updated","onChangePoint","data","input","focus","onDragStart","onDragStop","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","dragComp","clickPoint","x","dragFrom","dragTo","PropTypes","bool","PointType","func","string","object","styles","line","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","arrow","disabledArrow","disabledSecondary","correct","theme","key","incorrect","missing","strokeDasharray"],"mappings":"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","sourcesContent":["import React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { BasePoint } from '../point';\nimport { types, utils, gridDraggable, trig } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { disabled, disabledSecondary, correct, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '../../../../../render-ui/src/index';\nimport { getMiddleOfTwoPoints, equalPoints, sameAxes } from '../../../utils';\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to && to.hasOwnProperty('label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle && middle.hasOwnProperty('label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <g>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </g>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"file":"index.js"}
|
|
@@ -39,7 +39,7 @@ var _styles2 = require("../styles");
|
|
|
39
39
|
|
|
40
40
|
var vx = _interopRequireWildcard(require("@vx/shape"));
|
|
41
41
|
|
|
42
|
-
var
|
|
42
|
+
var _index = require("./../../../shared/index");
|
|
43
43
|
|
|
44
44
|
var _excluded = ["data", "classes", "className", "disabled", "correctness", "from", "to", "graphProps", "isDragging"];
|
|
45
45
|
|
|
@@ -114,7 +114,7 @@ exports.RawLinePath = RawLinePath;
|
|
|
114
114
|
var dragging = function dragging() {
|
|
115
115
|
return {
|
|
116
116
|
strokeWidth: 4,
|
|
117
|
-
stroke:
|
|
117
|
+
stroke: _index.color.defaults.BLACK
|
|
118
118
|
};
|
|
119
119
|
};
|
|
120
120
|
|
|
@@ -123,7 +123,7 @@ var LinePath = (0, _styles.withStyles)(function (theme) {
|
|
|
123
123
|
drawLine: {
|
|
124
124
|
fill: 'none',
|
|
125
125
|
strokeWidth: 2,
|
|
126
|
-
stroke:
|
|
126
|
+
stroke: _index.color.black()
|
|
127
127
|
},
|
|
128
128
|
line: {
|
|
129
129
|
strokeWidth: 3,
|
|
@@ -148,4 +148,4 @@ var LinePath = (0, _styles.withStyles)(function (theme) {
|
|
|
148
148
|
};
|
|
149
149
|
})(RawLinePath);
|
|
150
150
|
exports.LinePath = LinePath;
|
|
151
|
-
//# sourceMappingURL=
|
|
151
|
+
//# sourceMappingURL=line-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/line/line-path.jsx"],"names":["RawLinePath","props","data","classes","className","disabled","correctness","from","to","graphProps","isDragging","rest","drawLine","disabledSecondary","line","dragging","React","Component","PropTypes","string","object","arrayOf","number","types","GraphPropsType","isRequired","bool","PointType","strokeWidth","stroke","color","defaults","BLACK","LinePath","theme","fill","black","transition","correct","incorrect","missing","strokeDasharray"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { disabled, correct, incorrect, missing, disabledSecondary } from '../styles';\nimport * as vx from '@vx/shape';\nimport { color } from '../../../../../render-ui/src/index';\n\nexport class RawLinePath extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n data: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),\n graphProps: types.GraphPropsType.isRequired,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n to: types.PointType,\n isDragging: PropTypes.bool,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n /* eslint-disable no-unused-vars */\n const { data, classes, className, disabled, correctness, from, to, graphProps, isDragging, ...rest } = this.props;\n /* eslint-enable */\n\n return (\n <React.Fragment>\n <vx.LinePath\n data={data}\n className={classNames(\n classes.drawLine,\n disabled && classes.disabledSecondary,\n classes[correctness],\n className,\n )}\n {...rest}\n />\n <vx.LinePath\n data={data}\n className={classNames(\n classes.line,\n isDragging && classes.dragging,\n disabled && classes.disabledSecondary,\n classes[correctness],\n className,\n )}\n {...rest}\n />\n </React.Fragment>\n );\n }\n}\n\nconst dragging = () => ({\n strokeWidth: 4,\n stroke: color.defaults.BLACK,\n});\n\nexport const LinePath = withStyles((theme) => ({\n drawLine: {\n fill: 'none',\n strokeWidth: 2,\n stroke: color.black(),\n },\n line: {\n strokeWidth: 3,\n fill: 'none',\n transition: 'stroke-width 200ms ease-in, stroke 200ms ease-in',\n stroke: 'transparent',\n '&:hover': dragging(theme),\n },\n dragging: dragging(theme),\n disabled: {\n ...disabled('stroke'),\n strokeWidth: 2,\n },\n disabledSecondary: {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n correct: {\n ...correct('stroke'),\n },\n incorrect: {\n ...incorrect('stroke'),\n },\n missing: {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n}))(RawLinePath);\n"],"file":"line-path.js"}
|
|
@@ -152,4 +152,4 @@ var withRootEdge = function withRootEdge(getPoints) {
|
|
|
152
152
|
};
|
|
153
153
|
|
|
154
154
|
exports.withRootEdge = withRootEdge;
|
|
155
|
-
//# sourceMappingURL=
|
|
155
|
+
//# sourceMappingURL=with-root-edge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/line/with-root-edge.jsx"],"names":["toRootEdge","m","out","root","from","edge","to","undefined","toFromTo","rootEdgeToFromToWrapper","BaseComp","Wrapper","props","mark","onChange","current","next","propTypes","PropTypes","func","object","rootEdgeComponent","RootEdgeComp","BaseComponent","withPointsGenerationLinePath","getPoints","LinePathComponent","graphProps","onClick","onDragStart","onDragStop","disabled","correctness","rest","dataPoints","enableCurve","raw","map","d","scale","x","y","common","curveMonotoneX","types","GraphPropsType","isRequired","PointType","bool","string","withRootEdge","LinePathComp"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { LinePath } from './line-path';\nimport { curveMonotoneX } from '@vx/curve';\nimport { lineBase, lineToolComponent } from './index';\n\nconst toRootEdge = (m) => {\n const out = { ...m };\n out.root = { ...m.from };\n out.edge = m.to ? { ...m.to } : undefined;\n delete out.from;\n delete out.to;\n return out;\n};\n\nconst toFromTo = (m) => {\n const out = { ...m };\n out.from = { ...m.root };\n out.to = m.edge ? { ...m.edge } : undefined;\n delete out.root;\n delete out.edge;\n return out;\n};\n\nexport const rootEdgeToFromToWrapper = (BaseComp) => {\n const Wrapper = (props) => {\n const m = toFromTo(props.mark);\n\n const onChange = (current, next) => {\n props.onChange(toRootEdge(current), toRootEdge(next));\n };\n\n return <BaseComp {...props} mark={m} onChange={onChange} />;\n };\n\n Wrapper.propTypes = {\n onChange: PropTypes.func,\n mark: PropTypes.object,\n };\n\n return Wrapper;\n};\n\nexport const rootEdgeComponent = (RootEdgeComp) => {\n const BaseComponent = lineToolComponent(RootEdgeComp);\n return rootEdgeToFromToWrapper(BaseComponent);\n};\n\nconst withPointsGenerationLinePath = (getPoints) => {\n const LinePathComponent = (props) => {\n const { graphProps, from, to, onClick, onDragStart, onDragStop, onChange, disabled, correctness, ...rest } = props;\n\n const { dataPoints, enableCurve = true } = getPoints({\n graphProps: props.graphProps,\n root: from,\n edge: to,\n });\n\n const raw = dataPoints.map((d) => [graphProps.scale.x(d.x), graphProps.scale.y(d.y)]);\n\n const common = {\n onClick,\n graphProps,\n onDragStart,\n onDragStop,\n onChange,\n disabled,\n correctness,\n };\n\n if (!enableCurve) {\n return <LinePath data={raw} from={from} to={to} {...common} {...rest} />;\n } else {\n return <LinePath data={raw} from={from} to={to} curve={curveMonotoneX} {...common} {...rest} />;\n }\n };\n\n LinePathComponent.propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n from: types.PointType.isRequired,\n to: types.PointType,\n onClick: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n };\n\n return LinePathComponent;\n};\n\nexport const withRootEdge = (getPoints) => {\n const LinePathComp = withPointsGenerationLinePath(getPoints);\n return lineBase(LinePathComp);\n};\n"],"file":"with-root-edge.js"}
|
|
@@ -110,4 +110,4 @@ exports.RawArrow = RawArrow;
|
|
|
110
110
|
from: {},
|
|
111
111
|
to: {}
|
|
112
112
|
});
|
|
113
|
-
//# sourceMappingURL=
|
|
113
|
+
//# sourceMappingURL=arrow-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/point/arrow-point.jsx"],"names":["RawArrow","props","classes","className","x","y","disabled","correctness","graphProps","from","to","rest","scale","angle","points","arrowDimensions","vector","point","disabledSecondary","React","Component","PropTypes","object","string","bool","number","shape","isRequired","types","GraphPropsType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEaA,Q;;;;;;;;;;;;WAwBX,kBAAS;AACP,wBAA2F,KAAKC,KAAhG;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,CAA5B,eAA4BA,CAA5B;AAAA,UAA+BC,CAA/B,eAA+BA,CAA/B;AAAA,UAAkCC,QAAlC,eAAkCA,QAAlC;AAAA,UAA4CC,WAA5C,eAA4CA,WAA5C;AAAA,UAAyDC,UAAzD,eAAyDA,UAAzD;AAAA,UAAqEC,IAArE,eAAqEA,IAArE;AAAA,UAA2EC,EAA3E,eAA2EA,EAA3E;AAAA,UAAkFC,IAAlF,qEADO,CAEP;AACA;;AAEA,UAAQC,KAAR,GAAkBJ,UAAlB,CAAQI,KAAR;AACA,UAAMC,KAAK,GAAG,wBAAYJ,IAAI,CAACL,CAAjB,EAAoBK,IAAI,CAACJ,CAAzB,EAA4BK,EAAE,CAACN,CAA/B,EAAkCM,EAAE,CAACL,CAArC,CAAd;AAEA,UAAIS,MAAM,GAAG,EAAb;;AAEA,UAAI,yBAAQL,IAAR,EAAcC,EAAd,CAAJ,EAAuB;AACrBI,QAAAA,MAAM,GAAG,aAAT;AACD,OAFD,MAEO;AACLA,QAAAA,MAAM,iBAAUC,uBAAgBC,MAA1B,cAAoCD,uBAAgBC,MAAhB,GAAyB,CAA7D,uBACHD,uBAAgBC,MADb,cACuBD,uBAAgBC,MAAhB,GAAyB,CADhD,CAAN;AAED;;AAED,0BACE;AACE,QAAA,SAAS,EAAE,4BAAWd,OAAO,CAACe,KAAnB,EAA0BX,QAAQ,IAAIJ,OAAO,CAACgB,iBAA9C,EAAiEhB,OAAO,CAACK,WAAD,CAAxE,EAAuFJ,SAAvF;AADb,SAEMQ,IAFN,gBAIE;AACE,QAAA,MAAM,EAAEG,MADV;AAEE,QAAA,SAAS,kCACGF,KAAK,CAACR,CAAN,CAAQA,CAAR,CADH,eACkBQ,KAAK,CAACP,CAAN,CAAQA,CAAR,CADlB,iCAEAQ,KAFA;AAFX,QAJF,CADF;AAaD;;;EAtD2BM,kBAAMC,S;;;iCAAvBpB,Q,eACQ;AACjBE,EAAAA,OAAO,EAAEmB,sBAAUC,MADF;AAEjBnB,EAAAA,SAAS,EAAEkB,sBAAUE,MAFJ;AAGjBhB,EAAAA,WAAW,EAAEc,sBAAUE,MAHN;AAIjBjB,EAAAA,QAAQ,EAAEe,sBAAUG,IAJH;AAKjBpB,EAAAA,CAAC,EAAEiB,sBAAUI,MALI;AAMjBpB,EAAAA,CAAC,EAAEgB,sBAAUI,MANI;AAOjBhB,EAAAA,IAAI,EAAEY,sBAAUK,KAAV,CAAgB;AACpBtB,IAAAA,CAAC,EAAEiB,sBAAUI,MADO;AAEpBpB,IAAAA,CAAC,EAAEgB,sBAAUI;AAFO,GAAhB,EAGHE,UAVc;AAWjBjB,EAAAA,EAAE,EAAEW,sBAAUK,KAAV,CAAgB;AAClBtB,IAAAA,CAAC,EAAEiB,sBAAUI,MADK;AAElBpB,IAAAA,CAAC,EAAEgB,sBAAUI;AAFK,GAAhB,CAXa;AAejBjB,EAAAA,UAAU,EAAEoB,YAAMC,cAAN,CAAqBF;AAfhB,C;iCADR3B,Q,kBAmBW;AACpBS,EAAAA,IAAI,EAAE,EADc;AAEpBC,EAAAA,EAAE,EAAE;AAFgB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport isEqual from 'lodash/isEqual';\nimport { getAngleDeg, arrowDimensions } from '../../../utils';\n\nexport class RawArrow extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number,\n from: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).isRequired,\n to: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {\n from: {},\n to: {},\n };\n\n render() {\n const { classes, className, x, y, disabled, correctness, graphProps, from, to, ...rest } = this.props;\n // x & y are the initial coordinates for the arrow\n // from & to are used only to calculate the angle that the arrow should be rotated with\n\n const { scale } = graphProps;\n const angle = getAngleDeg(from.x, from.y, to.x, to.y);\n\n let points = '';\n\n if (isEqual(from, to)) {\n points = '0,0 0,0 0,0';\n } else {\n points = `0,0 ${arrowDimensions.vector},${arrowDimensions.vector * 2} \n -${arrowDimensions.vector},${arrowDimensions.vector * 2}`;\n }\n\n return (\n <g\n className={classNames(classes.point, disabled && classes.disabledSecondary, classes[correctness], className)}\n {...rest}\n >\n <polygon\n points={points}\n transform={`\n translate(${scale.x(x)}, ${scale.y(y)})\n rotate(${angle} 0 0)`}\n />\n </g>\n );\n }\n}\n"],"file":"arrow-point.js"}
|
|
@@ -93,4 +93,4 @@ exports["default"] = Arrow;
|
|
|
93
93
|
angle: _propTypes["default"].number.isRequired,
|
|
94
94
|
graphProps: _plot.types.GraphPropsType.isRequired
|
|
95
95
|
});
|
|
96
|
-
//# sourceMappingURL=
|
|
96
|
+
//# sourceMappingURL=arrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/point/arrow.jsx"],"names":["Arrow","props","classes","angle","className","x","y","disabled","correctness","graphProps","rest","size","scale","scaledX","scaledY","transform","points","point","disabledSecondary","React","Component","PropTypes","object","string","bool","number","isRequired","types","GraphPropsType"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IAEqBA,K;;;;;;;;;;;;WAYnB,kBAAS;AACP,wBAAwF,KAAKC,KAA7F;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,KAAjB,eAAiBA,KAAjB;AAAA,UAAwBC,SAAxB,eAAwBA,SAAxB;AAAA,UAAmCC,CAAnC,eAAmCA,CAAnC;AAAA,UAAsCC,CAAtC,eAAsCA,CAAtC;AAAA,UAAyCC,QAAzC,eAAyCA,QAAzC;AAAA,UAAmDC,WAAnD,eAAmDA,WAAnD;AAAA,UAAgEC,UAAhE,eAAgEA,UAAhE;AAAA,UAA+EC,IAA/E;AAEA,UAAMC,IAAI,GAAG,gCAAoBF,UAApB,IAAkC,EAAlC,GAAuC,EAApD;AACA,UAAQG,KAAR,GAAkBH,UAAlB,CAAQG,KAAR;AAEA,UAAMC,OAAO,GAAGD,KAAK,CAACP,CAAN,CAAQA,CAAR,CAAhB;AACA,UAAMS,OAAO,GAAGF,KAAK,CAACN,CAAN,CAAQA,CAAR,CAAhB;AAEA,UAAMS,SAAS,oBAAa,CAACZ,KAAd,eAAwBU,OAAxB,cAAmCC,OAAnC,MAAf;AACA,UAAME,MAAM,aAAMH,OAAN,cAAiBC,OAAjB,uBACND,OAAO,GAAGF,IADJ,cACYG,OAAO,GAAGH,IAAI,GAAG,CAD7B,uBAENE,OAAO,GAAGF,IAFJ,eAEaG,OAAO,GAAGH,IAAI,GAAG,CAF9B,CAAZ;AAIA,0BACE;AACE,QAAA,SAAS,EAAE,4BAAWT,OAAO,CAACe,KAAnB,EAA0BV,QAAQ,IAAIL,OAAO,CAACgB,iBAA9C,EAAiEhB,OAAO,CAACM,WAAD,CAAxE,EAAuFJ,SAAvF;AADb,SAEMM,IAFN,gBAIE,gCAAC,oBAAD;AAAW,QAAA,IAAI,EAAEC,IAAjB;AAAuB,QAAA,SAAS,EAAEI,SAAlC;AAA6C,QAAA,MAAM,EAAEC;AAArD,QAJF,CADF;AAQD;;;EAlCgCG,kBAAMC,S;;;iCAApBpB,K,eACA;AACjBE,EAAAA,OAAO,EAAEmB,sBAAUC,MADF;AAEjBlB,EAAAA,SAAS,EAAEiB,sBAAUE,MAFJ;AAGjBf,EAAAA,WAAW,EAAEa,sBAAUE,MAHN;AAIjBhB,EAAAA,QAAQ,EAAEc,sBAAUG,IAJH;AAKjBnB,EAAAA,CAAC,EAAEgB,sBAAUI,MAAV,CAAiBC,UALH;AAMjBpB,EAAAA,CAAC,EAAEe,sBAAUI,MAAV,CAAiBC,UANH;AAOjBvB,EAAAA,KAAK,EAAEkB,sBAAUI,MAAV,CAAiBC,UAPP;AAQjBjB,EAAAA,UAAU,EAAEkB,YAAMC,cAAN,CAAqBF;AARhB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { ArrowHead } from '../arrow-head';\nimport { thinnerShapesNeeded } from '../../../utils';\n\nexport default class Arrow extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n angle: PropTypes.number.isRequired,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const { classes, angle, className, x, y, disabled, correctness, graphProps, ...rest } = this.props;\n\n const size = thinnerShapesNeeded(graphProps) ? 12 : 14;\n const { scale } = graphProps;\n\n const scaledX = scale.x(x);\n const scaledY = scale.y(y);\n\n const transform = `rotate(${-angle}, ${scaledX},${scaledY})`;\n const points = `${scaledX},${scaledY}\n ${scaledX - size},${scaledY - size / 2}\n ${scaledX - size}, ${scaledY + size / 2}`;\n\n return (\n <g\n className={classNames(classes.point, disabled && classes.disabledSecondary, classes[correctness], className)}\n {...rest}\n >\n <ArrowHead size={size} transform={transform} points={points} />\n </g>\n );\n }\n}\n"],"file":"arrow.js"}
|
|
@@ -172,4 +172,4 @@ exports.RawBp = RawBp;
|
|
|
172
172
|
y: _propTypes["default"].number,
|
|
173
173
|
graphProps: _plot.types.GraphPropsType.isRequired
|
|
174
174
|
});
|
|
175
|
-
//# sourceMappingURL=
|
|
175
|
+
//# sourceMappingURL=base-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/point/base-point.jsx"],"names":["RawBp","props","state","showCoordinates","classes","className","coordinatesOnHover","x","y","disabled","correctness","graphProps","labelNode","style","onClick","onTouchStart","onTouchEnd","rest","scale","r","SvgComponent","MissingSVG","CorrectSVG","IncorrectSVG","fill","cursor","pointerEvents","setState","point","disabledSecondary","ReactDOM","createPortal","React","Component","PropTypes","object","string","bool","number","types","GraphPropsType","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport CoordinatesLabel from '../../../coordinates-label';\nimport ReactDOM from 'react-dom';\nimport { thinnerShapesNeeded } from '../../../utils';\nimport MissingSVG from '../icons/MissingSVG';\nimport CorrectSVG from '../icons/CorrectSVG';\nimport IncorrectSVG from '../icons/IncorrectSVG';\n\nexport class RawBp extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n x: PropTypes.number,\n y: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { showCoordinates: false };\n }\n\n render() {\n const {\n classes,\n className,\n coordinatesOnHover,\n x,\n y,\n disabled,\n correctness,\n graphProps,\n labelNode,\n // we need to remove style from props\n // eslint-disable-next-line no-unused-vars,react/prop-types\n style,\n onClick,\n // Refactored RawBp component by isolating onTouchStart and onTouchEnd handlers to the outer circle, resolving erratic touch event behavior.\n // Remaining props are now applied only to the inner circle for improved event handling consistency.\n onTouchStart,\n onTouchEnd,\n ...rest\n } = this.props;\n const { showCoordinates } = this.state;\n const { scale } = graphProps;\n const r = thinnerShapesNeeded(graphProps) ? 5 : 7;\n let SvgComponent;\n switch (correctness) {\n case 'missing':\n SvgComponent = MissingSVG;\n break;\n case 'correct':\n SvgComponent = CorrectSVG;\n break;\n case 'incorrect':\n SvgComponent = IncorrectSVG;\n break;\n default:\n SvgComponent = null;\n break;\n }\n\n return (\n <>\n <circle\n style={{ fill: 'transparent', cursor: 'pointer', pointerEvents: 'all' }}\n r={r * 3}\n cx={scale.x(x)}\n cy={scale.y(y)}\n onMouseEnter={() => this.setState({ showCoordinates: true })}\n onMouseLeave={() => this.setState({ showCoordinates: false })}\n onTouchStart={onTouchStart}\n onTouchEnd={onTouchEnd}\n onClick={onClick}\n />\n <g\n className={classNames(classes.point, disabled && classes.disabledSecondary, classes[correctness], className)}\n onMouseEnter={() => this.setState({ showCoordinates: true })}\n onMouseLeave={() => this.setState({ showCoordinates: false })}\n >\n <circle {...rest} r={r} cx={scale.x(x)} cy={scale.y(y)} />\n {SvgComponent && <SvgComponent scale={scale} x={x} y={y} />}\n {labelNode &&\n coordinatesOnHover &&\n showCoordinates &&\n ReactDOM.createPortal(<CoordinatesLabel graphProps={graphProps} x={x} y={y} />, labelNode)}\n </g>\n </>\n );\n }\n}\n"],"file":"base-point.js"}
|
|
@@ -23,7 +23,7 @@ var _basePoint = require("./base-point");
|
|
|
23
23
|
|
|
24
24
|
var _arrowPoint = require("./arrow-point");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _index2 = require("./../../../shared/index");
|
|
27
27
|
|
|
28
28
|
var _arrow = _interopRequireDefault(require("./arrow"));
|
|
29
29
|
|
|
@@ -67,7 +67,7 @@ var styles = function styles() {
|
|
|
67
67
|
point: {
|
|
68
68
|
'& circle, & polygon': {
|
|
69
69
|
cursor: 'pointer',
|
|
70
|
-
fill:
|
|
70
|
+
fill: _index2.color.defaults.BLACK
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
disabled: {
|
|
@@ -94,4 +94,4 @@ var ArrowPoint = (0, _index.withStyles)(styles)((0, _plot.gridDraggable)(opts)(_
|
|
|
94
94
|
exports.ArrowPoint = ArrowPoint;
|
|
95
95
|
var Arrow = (0, _index.withStyles)(styles)((0, _plot.gridDraggable)(opts)(_arrow["default"]));
|
|
96
96
|
exports.Arrow = Arrow;
|
|
97
|
-
//# sourceMappingURL=
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/tools/shared/point/index.jsx"],"names":["opts","bounds","props","domain","range","x","y","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","point","add","styles","cursor","fill","color","defaults","BLACK","disabled","disabledSecondary","correct","incorrect","missing","BasePoint","RawBp","ArrowPoint","RawArrow","Arrow","BaseArrow"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,IAAI,GAAG;AACXC,EAAAA,MAAM,EAAE,gBAACC,KAAD,QAA8B;AAAA,QAApBC,MAAoB,QAApBA,MAAoB;AAAA,QAAZC,KAAY,QAAZA,KAAY;AACpC,QAAQC,CAAR,GAAiBH,KAAjB,CAAQG,CAAR;AAAA,QAAWC,CAAX,GAAiBJ,KAAjB,CAAWI,CAAX;AACA,QAAMC,IAAI,GAAG;AAAEC,MAAAA,IAAI,EAAEH,CAAR;AAAWI,MAAAA,GAAG,EAAEH,CAAhB;AAAmBI,MAAAA,MAAM,EAAEJ,CAA3B;AAA8BK,MAAAA,KAAK,EAAEN;AAArC,KAAb;AAEA,WAAOO,KAAK,CAACX,MAAN,CAAaM,IAAb,EAAmBJ,MAAnB,EAA2BC,KAA3B,CAAP;AACD,GANU;AAOXS,EAAAA,WAAW,EAAE,qBAACX,KAAD,EAAW;AACtB,QAAQG,CAAR,GAAiBH,KAAjB,CAAQG,CAAR;AAAA,QAAWC,CAAX,GAAiBJ,KAAjB,CAAWI,CAAX;AAEA,WAAO;AAAED,MAAAA,CAAC,EAADA,CAAF;AAAKC,MAAAA,CAAC,EAADA;AAAL,KAAP;AACD,GAXU;AAYXQ,EAAAA,SAAS,EAAE,mBAACZ,KAAD,EAAQa,KAAR,EAAkB;AAC3B,WAAOH,KAAK,CAACI,KAAN,CAAYd,KAAZ,EAAmBe,GAAnB,CAAuBL,KAAK,CAACI,KAAN,CAAYD,KAAZ,CAAvB,CAAP;AACD;AAdU,CAAb;;AAiBA,IAAMG,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,SAAO;AACLF,IAAAA,KAAK,EAAE;AACL,6BAAuB;AACrBG,QAAAA,MAAM,EAAE,SADa;AAErBC,QAAAA,IAAI,EAAEC,cAAMC,QAAN,CAAeC;AAFA;AADlB,KADF;AAOLC,IAAAA,QAAQ,EAAE;AACR,+CACK,uBADL;AADQ,KAPL;AAYLC,IAAAA,iBAAiB,EAAE;AACjB,+CACK,gCADL;AADiB,KAZd;AAiBLC,IAAAA,OAAO,EAAE;AACP,+CACK,sBADL;AADO,KAjBJ;AAsBLC,IAAAA,SAAS,EAAE;AACT,+CACK,wBADL;AADS,KAtBN;AA2BLC,IAAAA,OAAO,EAAE;AACP,+CACK,sBADL;AADO;AA3BJ,GAAP;AAiCD,CAlCD;;AAoCO,IAAMC,SAAS,GAAG,uBAAWX,MAAX,EAAmB,yBAAclB,IAAd,EAAoB8B,gBAApB,CAAnB,CAAlB;;AACA,IAAMC,UAAU,GAAG,uBAAWb,MAAX,EAAmB,yBAAclB,IAAd,EAAoBgC,oBAApB,CAAnB,CAAnB;;AACA,IAAMC,KAAK,GAAG,uBAAWf,MAAX,EAAmB,yBAAclB,IAAd,EAAoBkC,iBAApB,CAAnB,CAAd","sourcesContent":["import { withStyles } from '@material-ui/core/styles/index';\nimport { gridDraggable } from '@pie-lib/plot';\nimport * as utils from '../../../utils';\nimport { disabled, correct, incorrect, missing, disabledSecondary } from '../styles';\nimport { RawBp } from './base-point';\nimport { RawArrow } from './arrow-point';\nimport { color } from '../../../../../render-ui/src/index';\nimport BaseArrow from './arrow';\n\nconst opts = {\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { x, y } = props;\n\n return { x, y };\n },\n fromDelta: (props, delta) => {\n return utils.point(props).add(utils.point(delta));\n },\n};\n\nconst styles = () => {\n return {\n point: {\n '& circle, & polygon': {\n cursor: 'pointer',\n fill: color.defaults.BLACK,\n },\n },\n disabled: {\n '& circle, & polygon': {\n ...disabled(),\n },\n },\n disabledSecondary: {\n '& circle, & polygon': {\n ...disabledSecondary(),\n },\n },\n correct: {\n '& circle, & polygon': {\n ...correct(),\n },\n },\n incorrect: {\n '& circle, & polygon': {\n ...incorrect(),\n },\n },\n missing: {\n '& circle, & polygon': {\n ...missing(),\n },\n },\n };\n};\n\nexport const BasePoint = withStyles(styles)(gridDraggable(opts)(RawBp));\nexport const ArrowPoint = withStyles(styles)(gridDraggable(opts)(RawArrow));\nexport const Arrow = withStyles(styles)(gridDraggable(opts)(BaseArrow));\n"],"file":"index.js"}
|
|
@@ -9,13 +9,13 @@ exports.missing = exports.incorrect = exports.disabledSecondary = exports.disabl
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _index = require("./../../shared/index");
|
|
13
13
|
|
|
14
14
|
var disabled = function disabled() {
|
|
15
15
|
var _ref;
|
|
16
16
|
|
|
17
17
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
|
|
18
|
-
return _ref = {}, (0, _defineProperty2["default"])(_ref, key,
|
|
18
|
+
return _ref = {}, (0, _defineProperty2["default"])(_ref, key, _index.color.disabled()), (0, _defineProperty2["default"])(_ref, "pointerEvents", 'none'), _ref;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
exports.disabled = disabled;
|
|
@@ -24,7 +24,7 @@ var disabledSecondary = function disabledSecondary() {
|
|
|
24
24
|
var _ref2;
|
|
25
25
|
|
|
26
26
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
|
|
27
|
-
return _ref2 = {}, (0, _defineProperty2["default"])(_ref2, key,
|
|
27
|
+
return _ref2 = {}, (0, _defineProperty2["default"])(_ref2, key, _index.color.disabledSecondary()), (0, _defineProperty2["default"])(_ref2, "pointerEvents", 'none'), _ref2;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
exports.disabledSecondary = disabledSecondary;
|
|
@@ -33,7 +33,7 @@ var correct = function correct() {
|
|
|
33
33
|
var _ref3;
|
|
34
34
|
|
|
35
35
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
|
|
36
|
-
return _ref3 = {}, (0, _defineProperty2["default"])(_ref3, key,
|
|
36
|
+
return _ref3 = {}, (0, _defineProperty2["default"])(_ref3, key, _index.color.correctWithIcon()), (0, _defineProperty2["default"])(_ref3, "pointerEvents", 'none'), _ref3;
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
exports.correct = correct;
|
|
@@ -42,7 +42,7 @@ var incorrect = function incorrect() {
|
|
|
42
42
|
var _ref4;
|
|
43
43
|
|
|
44
44
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
|
|
45
|
-
return _ref4 = {}, (0, _defineProperty2["default"])(_ref4, key,
|
|
45
|
+
return _ref4 = {}, (0, _defineProperty2["default"])(_ref4, key, _index.color.incorrectWithIcon()), (0, _defineProperty2["default"])(_ref4, "pointerEvents", 'none'), _ref4;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
exports.incorrect = incorrect;
|
|
@@ -51,8 +51,8 @@ var missing = function missing() {
|
|
|
51
51
|
var _ref5;
|
|
52
52
|
|
|
53
53
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'fill';
|
|
54
|
-
return _ref5 = {}, (0, _defineProperty2["default"])(_ref5, key,
|
|
54
|
+
return _ref5 = {}, (0, _defineProperty2["default"])(_ref5, key, _index.color.missingWithIcon()), (0, _defineProperty2["default"])(_ref5, "pointerEvents", 'none'), _ref5;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
exports.missing = missing;
|
|
58
|
-
//# sourceMappingURL=
|
|
58
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/shared/styles.js"],"names":["disabled","key","color","disabledSecondary","correct","correctWithIcon","incorrect","incorrectWithIcon","missing","missingWithIcon"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW;AAAA;;AAAA,MAACC,GAAD,uEAAO,MAAP;AAAA,2DACrBA,GADqB,EACfC,aAAMF,QAAN,EADe,2DAEP,MAFO;AAAA,CAAjB;;;;AAKA,IAAMG,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA;;AAAA,MAACF,GAAD,uEAAO,MAAP;AAAA,6DAC9BA,GAD8B,EACxBC,aAAMC,iBAAN,EADwB,4DAEhB,MAFgB;AAAA,CAA1B;;;;AAKA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA;;AAAA,MAACH,GAAD,uEAAO,MAAP;AAAA,6DACpBA,GADoB,EACdC,aAAMG,eAAN,EADc,4DAEN,MAFM;AAAA,CAAhB;;;;AAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY;AAAA;;AAAA,MAACL,GAAD,uEAAO,MAAP;AAAA,6DACtBA,GADsB,EAChBC,aAAMK,iBAAN,EADgB,4DAER,MAFQ;AAAA,CAAlB;;;;AAKA,IAAMC,OAAO,GAAG,SAAVA,OAAU;AAAA;;AAAA,MAACP,GAAD,uEAAO,MAAP;AAAA,6DACpBA,GADoB,EACdC,aAAMO,eAAN,EADc,4DAEN,MAFM;AAAA,CAAhB","sourcesContent":["import { color } from '../../../../render-ui/src/index';\n\nexport const disabled = (key = 'fill') => ({\n [key]: color.disabled(),\n pointerEvents: 'none',\n});\n\nexport const disabledSecondary = (key = 'fill') => ({\n [key]: color.disabledSecondary(),\n pointerEvents: 'none',\n});\n\nexport const correct = (key = 'fill') => ({\n [key]: color.correctWithIcon(),\n pointerEvents: 'none',\n});\nexport const incorrect = (key = 'fill') => ({\n [key]: color.incorrectWithIcon(),\n pointerEvents: 'none',\n});\n\nexport const missing = (key = 'fill') => ({\n [key]: color.missingWithIcon(),\n pointerEvents: 'none',\n});\n"],"file":"styles.js"}
|
|
@@ -20,4 +20,4 @@ exports.ToolPropTypeFields = ToolPropTypeFields;
|
|
|
20
20
|
var ToolPropType = _propTypes["default"].shape(ToolPropTypeFields);
|
|
21
21
|
|
|
22
22
|
exports.ToolPropType = ToolPropType;
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/shared/types.js"],"names":["ToolPropTypeFields","mark","PropTypes","any","onChange","func","onDragStart","onDragStop","ToolPropType","shape"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAEC,sBAAUC,GADgB;AAEhCC,EAAAA,QAAQ,EAAEF,sBAAUG,IAFY;AAGhCC,EAAAA,WAAW,EAAEJ,sBAAUG,IAHS;AAIhCE,EAAAA,UAAU,EAAEL,sBAAUG;AAJU,CAA3B;;;AAOA,IAAMG,YAAY,GAAGN,sBAAUO,KAAV,CAAgBT,kBAAhB,CAArB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const ToolPropTypeFields = {\n mark: PropTypes.any,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n};\n\nexport const ToolPropType = PropTypes.shape(ToolPropTypeFields);\n"],"file":"types.js"}
|
|
@@ -48,4 +48,4 @@ var Sine = (0, _withRootEdge.withRootEdge)(function (props) {
|
|
|
48
48
|
var Component = (0, _withRootEdge.rootEdgeComponent)(Sine);
|
|
49
49
|
var _default = Component;
|
|
50
50
|
exports["default"] = _default;
|
|
51
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/sine/component.jsx"],"names":["log","Sine","props","root","edge","graphProps","domain","range","amplitude","freq","interval","FREQ_DIVIDER","dataPoints","x","step","phase","vertical","y","Component"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;AAEA,IAAMC,IAAI,GAAG,gCAAa,UAACC,KAAD,EAAW;AACnC,MAAQC,IAAR,GAAmCD,KAAnC,CAAQC,IAAR;AAAA,MAAcC,IAAd,GAAmCF,KAAnC,CAAcE,IAAd;AAAA,MAAoBC,UAApB,GAAmCH,KAAnC,CAAoBG,UAApB;AACA,MAAQC,MAAR,GAA0BD,UAA1B,CAAQC,MAAR;AAAA,MAAgBC,KAAhB,GAA0BF,UAA1B,CAAgBE,KAAhB;;AAEA,6BAA4B,wCAAoBJ,IAApB,EAA0BC,IAA1B,CAA5B;AAAA,MAAQI,SAAR,wBAAQA,SAAR;AAAA,MAAmBC,IAAnB,wBAAmBA,IAAnB;;AACA,MAAMC,QAAQ,GAAGD,IAAI,GAAGE,2BAAxB;AAEAX,EAAAA,GAAG,CAAC,wBAAD,EAA2BQ,SAA3B,EAAsC,OAAtC,EAA+CC,IAA/C,CAAH;AAEA,MAAMG,UAAU,GACdR,IAAI,IAAIA,IAAI,CAACS,CAAL,KAAWV,IAAI,CAACU,CAAxB,GACI,EADJ,GAEI,oEACOP,MADP;AACeQ,IAAAA,IAAI,EAAEJ;AADrB,MAEEH,KAFF,EAGEJ,IAHF,EAIEC,IAJF,EAKE,yBAAKI,SAAL,EAAgBC,IAAhB,EAAsB;AAAEM,IAAAA,KAAK,EAAEZ,IAAI,CAACU,CAAd;AAAiBG,IAAAA,QAAQ,EAAEb,IAAI,CAACc;AAAhC,GAAtB,CALF,CAHN;AAWA,SAAO;AAAEd,IAAAA,IAAI,EAAED,KAAK,CAACC,IAAd;AAAoBC,IAAAA,IAAI,EAAEF,KAAK,CAACE,IAAhC;AAAsCQ,IAAAA,UAAU,EAAVA;AAAtC,GAAP;AACD,CArBY,CAAb;AAuBA,IAAMM,SAAS,GAAG,qCAAkBjB,IAAlB,CAAlB;eAEeiB,S","sourcesContent":["import debug from 'debug';\nimport { sinY, buildDataPoints, getAmplitudeAndFreq, FREQ_DIVIDER } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Sine = withRootEdge((props) => {\n const { root, edge, graphProps } = props;\n const { domain, range } = graphProps;\n\n const { amplitude, freq } = getAmplitudeAndFreq(root, edge);\n const interval = freq / FREQ_DIVIDER;\n\n log('[getPoints] amplitude:', amplitude, 'freq:', freq);\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n { ...domain, step: interval },\n range,\n root,\n edge,\n sinY(amplitude, freq, { phase: root.x, vertical: root.y }),\n );\n\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Sine);\n\nexport default Component;\n"],"file":"component.js"}
|
package/lib/tools/sine/index.js
CHANGED
|
@@ -60,4 +60,4 @@ var tool = function tool() {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
exports.tool = tool;
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tools/sine/index.js"],"names":["log","tool","type","Component","Sine","complete","data","mark","building","closed","addPoint","point","root","edge","undefined","Error"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,MADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;AACxB,6CAAYA,IAAZ;AAAkBC,QAAAA,QAAQ,EAAE,KAA5B;AAAmCC,QAAAA,MAAM,EAAE;AAA3C;AACD,KALwB;AAMzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;AACzBP,MAAAA,GAAG,CAAC,2BAAD,EAA8BW,KAA9B,EAAqC,QAArC,EAA+CJ,IAA/C,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,MADD;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;AAzBwB,GAAP;AAAA,CAAb","sourcesContent":["import Sine from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:sine');\n\nexport const tool = () => ({\n type: 'sine',\n Component: Sine,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n log('add point to sine 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: 'sine',\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"}
|
|
@@ -85,4 +85,4 @@ var Vector = (0, _line.lineBase)(StyledLine, {
|
|
|
85
85
|
var Component = (0, _line.lineToolComponent)(Vector);
|
|
86
86
|
var _default = Component;
|
|
87
87
|
exports["default"] = _default;
|
|
88
|
-
//# sourceMappingURL=
|
|
88
|
+
//# sourceMappingURL=component.js.map
|