@pie-lib/graphing 3.1.0-next.2 → 3.1.0-next.26

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 (133) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/NEXT.CHANGELOG.json +16 -1
  3. package/lib/axis/arrow.js +82 -0
  4. package/lib/axis/arrow.js.map +1 -0
  5. package/lib/axis/axes.js +343 -0
  6. package/lib/axis/axes.js.map +1 -0
  7. package/lib/axis/index.js +28 -0
  8. package/lib/axis/index.js.map +1 -0
  9. package/lib/bg.js +120 -0
  10. package/lib/bg.js.map +1 -0
  11. package/lib/container/actions.js +19 -0
  12. package/lib/container/actions.js.map +1 -0
  13. package/lib/container/index.js +122 -0
  14. package/lib/container/index.js.map +1 -0
  15. package/lib/container/marks.js +24 -0
  16. package/lib/container/marks.js.map +1 -0
  17. package/lib/container/middleware.js +20 -0
  18. package/lib/container/middleware.js.map +1 -0
  19. package/lib/container/reducer.js +19 -0
  20. package/lib/container/reducer.js.map +1 -0
  21. package/lib/coordinates-label.js +90 -0
  22. package/lib/coordinates-label.js.map +1 -0
  23. package/lib/graph-with-controls.js +312 -0
  24. package/lib/graph-with-controls.js.map +1 -0
  25. package/lib/graph.js +332 -0
  26. package/lib/graph.js.map +1 -0
  27. package/lib/grid-setup.js +417 -0
  28. package/lib/grid-setup.js.map +1 -0
  29. package/lib/grid.js +153 -0
  30. package/lib/grid.js.map +1 -0
  31. package/lib/index.js +54 -0
  32. package/lib/index.js.map +1 -0
  33. package/lib/key-legend.js +202 -0
  34. package/lib/key-legend.js.map +1 -0
  35. package/lib/label-svg-icon.js +51 -0
  36. package/lib/label-svg-icon.js.map +1 -0
  37. package/lib/labels.js +256 -0
  38. package/lib/labels.js.map +1 -0
  39. package/lib/mark-label.js +293 -0
  40. package/lib/mark-label.js.map +1 -0
  41. package/lib/toggle-bar.js +265 -0
  42. package/lib/toggle-bar.js.map +1 -0
  43. package/lib/tool-menu.js +81 -0
  44. package/lib/tool-menu.js.map +1 -0
  45. package/lib/tools/absolute/component.js +30 -0
  46. package/lib/tools/absolute/component.js.map +1 -0
  47. package/lib/tools/absolute/index.js +60 -0
  48. package/lib/tools/absolute/index.js.map +1 -0
  49. package/lib/tools/circle/bg-circle.js +138 -0
  50. package/lib/tools/circle/bg-circle.js.map +1 -0
  51. package/lib/tools/circle/component.js +332 -0
  52. package/lib/tools/circle/component.js.map +1 -0
  53. package/lib/tools/circle/index.js +51 -0
  54. package/lib/tools/circle/index.js.map +1 -0
  55. package/lib/tools/exponential/component.js +29 -0
  56. package/lib/tools/exponential/component.js.map +1 -0
  57. package/lib/tools/exponential/index.js +66 -0
  58. package/lib/tools/exponential/index.js.map +1 -0
  59. package/lib/tools/index.js +87 -0
  60. package/lib/tools/index.js.map +1 -0
  61. package/lib/tools/line/component.js +84 -0
  62. package/lib/tools/line/component.js.map +1 -0
  63. package/lib/tools/line/index.js +12 -0
  64. package/lib/tools/line/index.js.map +1 -0
  65. package/lib/tools/parabola/component.js +29 -0
  66. package/lib/tools/parabola/component.js.map +1 -0
  67. package/lib/tools/parabola/index.js +60 -0
  68. package/lib/tools/parabola/index.js.map +1 -0
  69. package/lib/tools/point/component.js +150 -0
  70. package/lib/tools/point/component.js.map +1 -0
  71. package/lib/tools/point/index.js +34 -0
  72. package/lib/tools/point/index.js.map +1 -0
  73. package/lib/tools/polygon/component.js +439 -0
  74. package/lib/tools/polygon/component.js.map +1 -0
  75. package/lib/tools/polygon/index.js +101 -0
  76. package/lib/tools/polygon/index.js.map +1 -0
  77. package/lib/tools/polygon/line.js +129 -0
  78. package/lib/tools/polygon/line.js.map +1 -0
  79. package/lib/tools/polygon/polygon.js +150 -0
  80. package/lib/tools/polygon/polygon.js.map +1 -0
  81. package/lib/tools/ray/component.js +94 -0
  82. package/lib/tools/ray/component.js.map +1 -0
  83. package/lib/tools/ray/index.js +12 -0
  84. package/lib/tools/ray/index.js.map +1 -0
  85. package/lib/tools/segment/component.js +67 -0
  86. package/lib/tools/segment/component.js.map +1 -0
  87. package/lib/tools/segment/index.js +12 -0
  88. package/lib/tools/segment/index.js.map +1 -0
  89. package/lib/tools/shared/arrow-head.js +125 -0
  90. package/lib/tools/shared/arrow-head.js.map +1 -0
  91. package/lib/tools/shared/icons/CorrectSVG.js +41 -0
  92. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  93. package/lib/tools/shared/icons/IncorrectSVG.js +41 -0
  94. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  95. package/lib/tools/shared/icons/MissingSVG.js +40 -0
  96. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  97. package/lib/tools/shared/line/index.js +558 -0
  98. package/lib/tools/shared/line/index.js.map +1 -0
  99. package/lib/tools/shared/line/line-path.js +135 -0
  100. package/lib/tools/shared/line/line-path.js.map +1 -0
  101. package/lib/tools/shared/line/with-root-edge.js +132 -0
  102. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  103. package/lib/tools/shared/point/arrow-point.js +75 -0
  104. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  105. package/lib/tools/shared/point/arrow.js +70 -0
  106. package/lib/tools/shared/point/arrow.js.map +1 -0
  107. package/lib/tools/shared/point/base-point.js +173 -0
  108. package/lib/tools/shared/point/base-point.js.map +1 -0
  109. package/lib/tools/shared/point/index.js +69 -0
  110. package/lib/tools/shared/point/index.js.map +1 -0
  111. package/lib/tools/shared/styles.js +31 -0
  112. package/lib/tools/shared/styles.js.map +1 -0
  113. package/lib/tools/shared/types.js +17 -0
  114. package/lib/tools/shared/types.js.map +1 -0
  115. package/lib/tools/sine/component.js +50 -0
  116. package/lib/tools/sine/component.js.map +1 -0
  117. package/lib/tools/sine/index.js +60 -0
  118. package/lib/tools/sine/index.js.map +1 -0
  119. package/lib/tools/vector/component.js +78 -0
  120. package/lib/tools/vector/component.js.map +1 -0
  121. package/lib/tools/vector/index.js +12 -0
  122. package/lib/tools/vector/index.js.map +1 -0
  123. package/lib/undo-redo.js +85 -0
  124. package/lib/undo-redo.js.map +1 -0
  125. package/lib/use-debounce.js +27 -0
  126. package/lib/use-debounce.js.map +1 -0
  127. package/lib/utils.js +243 -0
  128. package/lib/utils.js.map +1 -0
  129. package/package.json +13 -13
  130. package/src/__tests__/graph-with-controls.test.jsx +41 -0
  131. package/src/__tests__/toggle-bar.test.jsx +41 -0
  132. package/src/__tests__/tool-menu.test.jsx +41 -0
  133. package/src/bg.jsx +5 -5
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.keys.js");
11
+ require("core-js/modules/es.reflect.construct.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = exports.ToggleBar = exports.MiniButton = void 0;
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+ require("core-js/modules/es.array.concat.js");
26
+ require("core-js/modules/es.array.includes.js");
27
+ require("core-js/modules/es.array.map.js");
28
+ require("core-js/modules/es.date.to-string.js");
29
+ require("core-js/modules/es.object.to-string.js");
30
+ require("core-js/modules/es.regexp.to-string.js");
31
+ require("core-js/modules/es.string.includes.js");
32
+ var _react = _interopRequireDefault(require("react"));
33
+ var _propTypes = _interopRequireDefault(require("prop-types"));
34
+ var _styles = require("@mui/material/styles");
35
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
36
+ var _renderUi = require("@pie-lib/render-ui");
37
+ var _tools = require("./tools");
38
+ var _drag = require("@pie-lib/drag");
39
+ var _core = require("@dnd-kit/core");
40
+ var _utilities = require("@dnd-kit/utilities");
41
+ var _sortable = require("@dnd-kit/sortable");
42
+ var _translator = _interopRequireDefault(require("@pie-lib/translator"));
43
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
44
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
45
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
+ var translator = _translator["default"].translator;
48
+ var StyledMiniButton = (0, _styles.styled)(_Button["default"], {
49
+ shouldForwardProp: function shouldForwardProp(prop) {
50
+ return !['selected'].includes(prop);
51
+ }
52
+ })(function (_ref) {
53
+ var selected = _ref.selected,
54
+ disabled = _ref.disabled;
55
+ return _objectSpread(_objectSpread(_objectSpread({
56
+ color: _renderUi.color.text(),
57
+ backgroundColor: _renderUi.color.background()
58
+ }, selected && {
59
+ border: "1px solid ".concat(_renderUi.color.secondary())
60
+ }), !selected && {
61
+ '& span': {
62
+ color: _renderUi.color.primary()
63
+ }
64
+ }), disabled && {
65
+ '& span': {
66
+ color: _renderUi.color.primary()
67
+ },
68
+ backgroundColor: _renderUi.color.disabled()
69
+ });
70
+ });
71
+ var MiniButton = exports.MiniButton = function MiniButton(props) {
72
+ var disabled = props.disabled,
73
+ className = props.className,
74
+ selected = props.selected,
75
+ value = props.value,
76
+ _onClick = props.onClick,
77
+ language = props.language;
78
+ var translatorKey = value.toLowerCase();
79
+ return /*#__PURE__*/_react["default"].createElement(StyledMiniButton, {
80
+ size: "small",
81
+ disabled: disabled,
82
+ className: className,
83
+ selected: selected,
84
+ value: value,
85
+ key: value,
86
+ variant: "outlined",
87
+ onClick: function onClick(e) {
88
+ return _onClick(_objectSpread(_objectSpread({}, e), {}, {
89
+ buttonValue: value
90
+ }));
91
+ }
92
+ }, translator.t("graphing.".concat(translatorKey), {
93
+ lng: language
94
+ }));
95
+ };
96
+ MiniButton.propTypes = {
97
+ disabled: _propTypes["default"].bool,
98
+ className: _propTypes["default"].string,
99
+ disabledClassName: _propTypes["default"].string,
100
+ selected: _propTypes["default"].bool,
101
+ value: _propTypes["default"].string,
102
+ onClick: _propTypes["default"].func,
103
+ language: _propTypes["default"].string
104
+ };
105
+ var StyledToolsContainer = (0, _styles.styled)('div')(function () {
106
+ return {
107
+ display: 'flex',
108
+ flexWrap: 'wrap'
109
+ };
110
+ });
111
+ var StyledButton = (0, _styles.styled)(MiniButton)(function (_ref2) {
112
+ var theme = _ref2.theme;
113
+ return {
114
+ marginRight: theme.spacing(0.5),
115
+ marginBottom: theme.spacing(0.5),
116
+ color: _renderUi.color.text()
117
+ };
118
+ });
119
+ var StyledWrapper = (0, _styles.styled)('div')({
120
+ position: 'relative'
121
+ });
122
+ var ToggleBar = exports.ToggleBar = /*#__PURE__*/function (_React$Component) {
123
+ function ToggleBar() {
124
+ var _this;
125
+ (0, _classCallCheck2["default"])(this, ToggleBar);
126
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
127
+ args[_key] = arguments[_key];
128
+ }
129
+ _this = _callSuper(this, ToggleBar, [].concat(args));
130
+ (0, _defineProperty2["default"])(_this, "select", function (e) {
131
+ return _this.props.onChange(e.buttonValue || e.target.textContent);
132
+ });
133
+ (0, _defineProperty2["default"])(_this, "moveTool", function (dragIndex, hoverIndex) {
134
+ var _this$props = _this.props,
135
+ options = _this$props.options,
136
+ onChangeToolsOrder = _this$props.onChangeToolsOrder;
137
+ var newOptions = (0, _sortable.arrayMove)(options, dragIndex, hoverIndex);
138
+ onChangeToolsOrder(newOptions);
139
+ });
140
+ (0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
141
+ var active = event.active,
142
+ over = event.over;
143
+ if (!over || !active) return;
144
+ var activeData = active.data.current;
145
+ var overData = over.data.current;
146
+ if ((activeData === null || activeData === void 0 ? void 0 : activeData.type) === 'tool' && (overData === null || overData === void 0 ? void 0 : overData.type) === 'tool') {
147
+ var dragIndex = activeData.index;
148
+ var hoverIndex = overData.index;
149
+ if (dragIndex !== hoverIndex) {
150
+ _this.moveTool(dragIndex, hoverIndex);
151
+ }
152
+ }
153
+ });
154
+ return _this;
155
+ }
156
+ (0, _inherits2["default"])(ToggleBar, _React$Component);
157
+ return (0, _createClass2["default"])(ToggleBar, [{
158
+ key: "render",
159
+ value: function render() {
160
+ var _this2 = this;
161
+ var _this$props2 = this.props,
162
+ className = _this$props2.className,
163
+ disabled = _this$props2.disabled,
164
+ options = _this$props2.options,
165
+ selectedToolType = _this$props2.selectedToolType,
166
+ draggableTools = _this$props2.draggableTools,
167
+ language = _this$props2.language;
168
+ return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
169
+ onDragEnd: this.handleDragEnd
170
+ }, /*#__PURE__*/_react["default"].createElement(StyledToolsContainer, {
171
+ className: className
172
+ }, (options || []).map(function (option, index) {
173
+ if ((_tools.allTools || []).includes(option)) {
174
+ var isSelected = option === selectedToolType;
175
+ var toolRef = /*#__PURE__*/_react["default"].createRef();
176
+ return /*#__PURE__*/_react["default"].createElement(DragTool, {
177
+ key: option,
178
+ index: index,
179
+ value: option,
180
+ draggable: draggableTools,
181
+ moveTool: _this2.moveTool,
182
+ toolRef: toolRef
183
+ }, /*#__PURE__*/_react["default"].createElement(StyledButton, {
184
+ disabled: disabled,
185
+ disableRipple: true,
186
+ onClick: _this2.select,
187
+ value: option,
188
+ selected: isSelected,
189
+ language: language
190
+ }));
191
+ }
192
+ })));
193
+ }
194
+ }]);
195
+ }(_react["default"].Component); // DragTool functional component using @dnd-kit hooks
196
+ (0, _defineProperty2["default"])(ToggleBar, "propTypes", {
197
+ className: _propTypes["default"].string,
198
+ options: _propTypes["default"].arrayOf(_propTypes["default"].string),
199
+ selectedToolType: _propTypes["default"].string,
200
+ disabled: _propTypes["default"].bool,
201
+ draggableTools: _propTypes["default"].bool,
202
+ onChange: _propTypes["default"].func,
203
+ onChangeToolsOrder: _propTypes["default"].func,
204
+ language: _propTypes["default"].string
205
+ });
206
+ (0, _defineProperty2["default"])(ToggleBar, "defaultProps", {});
207
+ function DragTool(_ref3) {
208
+ var children = _ref3.children,
209
+ index = _ref3.index,
210
+ draggable = _ref3.draggable,
211
+ toolRef = _ref3.toolRef,
212
+ value = _ref3.value;
213
+ var _useDraggable = (0, _core.useDraggable)({
214
+ id: "tool-".concat(value, "-").concat(index),
215
+ disabled: !draggable,
216
+ data: {
217
+ type: 'tool',
218
+ index: index,
219
+ value: value
220
+ }
221
+ }),
222
+ attributes = _useDraggable.attributes,
223
+ listeners = _useDraggable.listeners,
224
+ setDragNodeRef = _useDraggable.setNodeRef,
225
+ transform = _useDraggable.transform,
226
+ transition = _useDraggable.transition,
227
+ isDragging = _useDraggable.isDragging;
228
+ var _useDroppable = (0, _core.useDroppable)({
229
+ id: "drop-tool-".concat(value, "-").concat(index),
230
+ data: {
231
+ type: 'tool',
232
+ index: index,
233
+ accepts: ['tool']
234
+ }
235
+ }),
236
+ setDropNodeRef = _useDroppable.setNodeRef;
237
+
238
+ // Combine refs
239
+ var setNodeRef = function setNodeRef(node) {
240
+ setDragNodeRef(node);
241
+ setDropNodeRef(node);
242
+ if (toolRef !== null && toolRef !== void 0 && toolRef.current) {
243
+ toolRef.current = node;
244
+ }
245
+ };
246
+ var style = {
247
+ transform: _utilities.CSS.Transform.toString(transform),
248
+ transition: transition,
249
+ opacity: isDragging ? 0.5 : 1
250
+ };
251
+ return /*#__PURE__*/_react["default"].createElement(StyledWrapper, {
252
+ ref: setNodeRef,
253
+ style: style
254
+ }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, attributes, listeners), children));
255
+ }
256
+ DragTool.propTypes = {
257
+ children: _propTypes["default"].node,
258
+ index: _propTypes["default"].number,
259
+ draggable: _propTypes["default"].bool,
260
+ moveTool: _propTypes["default"].func,
261
+ toolRef: _propTypes["default"].object,
262
+ value: _propTypes["default"].string
263
+ };
264
+ var _default = exports["default"] = ToggleBar;
265
+ //# sourceMappingURL=toggle-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-bar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_renderUi","_tools","_drag","_core","_utilities","_sortable","_translator","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","translator","Translator","StyledMiniButton","styled","Button","shouldForwardProp","prop","includes","_ref","selected","disabled","color","text","backgroundColor","background","border","concat","secondary","primary","MiniButton","exports","props","className","value","onClick","language","translatorKey","toLowerCase","createElement","size","key","variant","buttonValue","lng","propTypes","PropTypes","bool","string","disabledClassName","func","StyledToolsContainer","display","flexWrap","StyledButton","_ref2","theme","marginRight","spacing","marginBottom","StyledWrapper","position","ToggleBar","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","onChange","target","textContent","dragIndex","hoverIndex","_this$props","options","onChangeToolsOrder","newOptions","arrayMove","event","active","over","activeData","data","current","overData","type","index","moveTool","_inherits2","_createClass2","render","_this2","_this$props2","selectedToolType","draggableTools","DragProvider","onDragEnd","handleDragEnd","map","option","allTools","isSelected","toolRef","React","createRef","DragTool","draggable","disableRipple","select","Component","arrayOf","_ref3","children","_useDraggable","useDraggable","id","attributes","listeners","setDragNodeRef","setNodeRef","transform","transition","isDragging","_useDroppable","useDroppable","accepts","setDropNodeRef","node","style","CSS","Transform","toString","opacity","ref","_extends2","number","object","_default"],"sources":["../src/toggle-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools';\nimport { DragProvider } from '@pie-lib/drag';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst StyledMiniButton = styled(Button, {\n shouldForwardProp: (prop) => !['selected'].includes(prop),\n})(({ selected, disabled }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n ...(selected && {\n border: `1px solid ${color.secondary()}`,\n }),\n ...(!selected && {\n '& span': {\n color: color.primary(),\n },\n }),\n ...(disabled && {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n }),\n}));\n\nexport const MiniButton = (props) => {\n const { disabled, className, selected, value, onClick, language } = props;\n const translatorKey = value.toLowerCase();\n\n return (\n <StyledMiniButton\n size=\"small\"\n disabled={disabled}\n className={className}\n selected={selected}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={(e) => onClick({ ...e, buttonValue: value })}\n >\n {translator.t(`graphing.${translatorKey}`, { lng: language })}\n </StyledMiniButton>\n );\n};\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n language: PropTypes.string,\n};\n\nconst StyledToolsContainer = styled('div')(() => ({\n display: 'flex',\n flexWrap: 'wrap',\n}));\n\nconst StyledButton = styled(MiniButton)(({ theme }) => ({\n marginRight: theme.spacing(0.5),\n marginBottom: theme.spacing(0.5),\n color: color.text(),\n}));\n\nconst StyledWrapper = styled('div')({\n position: 'relative',\n});\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n select = (e) => this.props.onChange(e.buttonValue || e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const newOptions = arrayMove(options, dragIndex, hoverIndex);\n onChangeToolsOrder(newOptions);\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n\n if (!over || !active) return;\n\n const activeData = active.data.current;\n const overData = over.data.current;\n\n if (activeData?.type === 'tool' && overData?.type === 'tool') {\n const dragIndex = activeData.index;\n const hoverIndex = overData.index;\n\n if (dragIndex !== hoverIndex) {\n this.moveTool(dragIndex, hoverIndex);\n }\n }\n };\n\n render() {\n const { className, disabled, options, selectedToolType, draggableTools, language } = this.props;\n\n return (\n <DragProvider onDragEnd={this.handleDragEnd}>\n <StyledToolsContainer className={className}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n value={option}\n draggable={draggableTools}\n moveTool={this.moveTool}\n toolRef={toolRef}\n >\n <StyledButton\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n language={language}\n />\n </DragTool>\n );\n }\n })}\n </StyledToolsContainer>\n </DragProvider>\n );\n }\n}\n\n// DragTool functional component using @dnd-kit hooks\nfunction DragTool({ children, index, draggable, toolRef, value }) {\n const { attributes, listeners, setNodeRef: setDragNodeRef, transform, transition, isDragging } = useDraggable({\n id: `tool-${value}-${index}`,\n disabled: !draggable,\n data: {\n type: 'tool',\n index,\n value,\n },\n });\n\n const { setNodeRef: setDropNodeRef } = useDroppable({\n id: `drop-tool-${value}-${index}`,\n data: {\n type: 'tool',\n index,\n accepts: ['tool'],\n },\n });\n\n // Combine refs\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n if (toolRef?.current) {\n toolRef.current = node;\n }\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n return (\n <StyledWrapper ref={setNodeRef} style={style}>\n <div {...attributes} {...listeners}>\n {children}\n </div>\n </StyledWrapper>\n );\n}\n\nDragTool.propTypes = {\n children: PropTypes.node,\n index: PropTypes.number,\n draggable: PropTypes.bool,\n moveTool: PropTypes.func,\n toolRef: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ToggleBar;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ require("core-js/modules/es.reflect.construct.js");
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports["default"] = exports.ToolMenu = void 0;
10
+ require("core-js/modules/es.array.concat.js");
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _classnames = _interopRequireDefault(require("classnames"));
20
+ var _toggleBar = _interopRequireDefault(require("./toggle-bar"));
21
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
+ var ToolMenu = exports.ToolMenu = /*#__PURE__*/function (_React$Component) {
24
+ function ToolMenu() {
25
+ var _this;
26
+ (0, _classCallCheck2["default"])(this, ToolMenu);
27
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
+ args[_key] = arguments[_key];
29
+ }
30
+ _this = _callSuper(this, ToolMenu, [].concat(args));
31
+ (0, _defineProperty2["default"])(_this, "updateToolsOrder", function (tools) {
32
+ var onChangeTools = _this.props.onChangeTools;
33
+ onChangeTools(tools);
34
+ });
35
+ return _this;
36
+ }
37
+ (0, _inherits2["default"])(ToolMenu, _React$Component);
38
+ return (0, _createClass2["default"])(ToolMenu, [{
39
+ key: "render",
40
+ value: function render() {
41
+ var _this2 = this;
42
+ var _this$props = this.props,
43
+ className = _this$props.className,
44
+ currentToolType = _this$props.currentToolType,
45
+ disabled = _this$props.disabled,
46
+ draggableTools = _this$props.draggableTools,
47
+ onChange = _this$props.onChange,
48
+ language = _this$props.language;
49
+ var toolbarTools = this.props.toolbarTools;
50
+ return /*#__PURE__*/_react["default"].createElement("div", {
51
+ className: (0, _classnames["default"])(className)
52
+ }, /*#__PURE__*/_react["default"].createElement(_toggleBar["default"], {
53
+ disabled: disabled,
54
+ draggableTools: draggableTools,
55
+ options: toolbarTools,
56
+ selectedToolType: currentToolType,
57
+ onChange: onChange,
58
+ onChangeToolsOrder: function onChangeToolsOrder(tools) {
59
+ return _this2.updateToolsOrder(tools);
60
+ },
61
+ language: language
62
+ }));
63
+ }
64
+ }]);
65
+ }(_react["default"].Component);
66
+ (0, _defineProperty2["default"])(ToolMenu, "propTypes", {
67
+ className: _propTypes["default"].string,
68
+ currentToolType: _propTypes["default"].string,
69
+ disabled: _propTypes["default"].bool,
70
+ draggableTools: _propTypes["default"].bool,
71
+ labelModeEnabled: _propTypes["default"].bool,
72
+ onChange: _propTypes["default"].func,
73
+ onChangeTools: _propTypes["default"].func,
74
+ toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string),
75
+ language: _propTypes["default"].string
76
+ });
77
+ (0, _defineProperty2["default"])(ToolMenu, "defaultProps", {
78
+ toolbarTools: []
79
+ });
80
+ var _default = exports["default"] = ToolMenu;
81
+ //# sourceMappingURL=tool-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-menu.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_toggleBar","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ToolMenu","exports","_React$Component","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","tools","onChangeTools","props","_inherits2","_createClass2","key","value","render","_this2","_this$props","className","currentToolType","disabled","draggableTools","onChange","language","toolbarTools","createElement","classNames","options","selectedToolType","onChangeToolsOrder","updateToolsOrder","React","Component","PropTypes","string","bool","labelModeEnabled","func","arrayOf","_default"],"sources":["../src/tool-menu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeTools: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n language: PropTypes.string,\n };\n\n static defaultProps = {\n toolbarTools: [],\n };\n\n updateToolsOrder = (tools) => {\n const { onChangeTools } = this.props;\n onChangeTools(tools);\n };\n\n render() {\n const { className, currentToolType, disabled, draggableTools, onChange, language } = this.props;\n let { toolbarTools } = this.props;\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n draggableTools={draggableTools}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n onChangeToolsOrder={(tools) => this.updateToolsOrder(tools)}\n language={language}\n />\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAqC,SAAAI,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,IAExBc,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAAAE,gBAAA;EAAA,SAAAF,SAAA;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,QAAA;IAAA,SAAAK,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAlB,UAAA,OAAAe,QAAA,KAAAW,MAAA,CAAAH,IAAA;IAAA,IAAAI,gBAAA,aAAAT,KAAA,sBAiBA,UAACU,KAAK,EAAK;MAC5B,IAAQC,aAAa,GAAKX,KAAA,CAAKY,KAAK,CAA5BD,aAAa;MACrBA,aAAa,CAACD,KAAK,CAAC;IACtB,CAAC;IAAA,OAAAV,KAAA;EAAA;EAAA,IAAAa,UAAA,aAAAhB,QAAA,EAAAE,gBAAA;EAAA,WAAAe,aAAA,aAAAjB,QAAA;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAAC,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,WAAA,GAAqF,IAAI,CAACP,KAAK;QAAvFQ,SAAS,GAAAD,WAAA,CAATC,SAAS;QAAEC,eAAe,GAAAF,WAAA,CAAfE,eAAe;QAAEC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QAAEC,cAAc,GAAAJ,WAAA,CAAdI,cAAc;QAAEC,QAAQ,GAAAL,WAAA,CAARK,QAAQ;QAAEC,QAAQ,GAAAN,WAAA,CAARM,QAAQ;MAChF,IAAMC,YAAY,GAAK,IAAI,CAACd,KAAK,CAA3Bc,YAAY;MAElB,oBACElD,MAAA,YAAAmD,aAAA;QAAKP,SAAS,EAAE,IAAAQ,sBAAU,EAACR,SAAS;MAAE,gBACpC5C,MAAA,YAAAmD,aAAA,CAAC9C,UAAA,WAAS;QACRyC,QAAQ,EAAEA,QAAS;QACnBC,cAAc,EAAEA,cAAe;QAC/BM,OAAO,EAAEH,YAAa;QACtBI,gBAAgB,EAAET,eAAgB;QAClCG,QAAQ,EAAEA,QAAS;QACnBO,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGrB,KAAK;UAAA,OAAKQ,MAAI,CAACc,gBAAgB,CAACtB,KAAK,CAAC;QAAA,CAAC;QAC5De,QAAQ,EAAEA;MAAS,CACpB,CACE,CAAC;IAEV;EAAC;AAAA,EAvC2BQ,iBAAK,CAACC,SAAS;AAAA,IAAAzB,gBAAA,aAAhCZ,QAAQ,eACA;EACjBuB,SAAS,EAAEe,qBAAS,CAACC,MAAM;EAC3Bf,eAAe,EAAEc,qBAAS,CAACC,MAAM;EACjCd,QAAQ,EAAEa,qBAAS,CAACE,IAAI;EACxBd,cAAc,EAAEY,qBAAS,CAACE,IAAI;EAC9BC,gBAAgB,EAAEH,qBAAS,CAACE,IAAI;EAChCb,QAAQ,EAAEW,qBAAS,CAACI,IAAI;EACxB5B,aAAa,EAAEwB,qBAAS,CAACI,IAAI;EAC7Bb,YAAY,EAAES,qBAAS,CAACK,OAAO,CAACL,qBAAS,CAACC,MAAM,CAAC;EACjDX,QAAQ,EAAEU,qBAAS,CAACC;AACtB,CAAC;AAAA,IAAA3B,gBAAA,aAXUZ,QAAQ,kBAaG;EACpB6B,YAAY,EAAE;AAChB,CAAC;AAAA,IAAAe,QAAA,GAAA3C,OAAA,cA2BYD,QAAQ","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _debug = _interopRequireDefault(require("debug"));
10
+ var _graphingUtils = require("@pie-lib/graphing-utils");
11
+ var _withRootEdge = require("../shared/line/with-root-edge");
12
+ var log = (0, _debug["default"])('pie-lib:graphing:absolute');
13
+ var Absolute = (0, _withRootEdge.withRootEdge)(function (props) {
14
+ var root = props.root,
15
+ edge = props.edge,
16
+ graphProps = props.graphProps;
17
+ var domain = graphProps.domain,
18
+ range = graphProps.range;
19
+ var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain, range, root, edge, (0, _graphingUtils.absoluteFromTwoPoints)(root, edge), true);
20
+ log('dataPoints:', dataPoints);
21
+ return {
22
+ root: props.root,
23
+ edge: props.edge,
24
+ dataPoints: dataPoints,
25
+ enableCurve: false
26
+ };
27
+ });
28
+ var Component = (0, _withRootEdge.rootEdgeComponent)(Absolute);
29
+ var _default = exports["default"] = Component;
30
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","names":["_debug","_interopRequireDefault","require","_graphingUtils","_withRootEdge","log","debug","Absolute","withRootEdge","props","root","edge","graphProps","domain","range","dataPoints","x","buildDataPoints","absoluteFromTwoPoints","enableCurve","Component","rootEdgeComponent","_default","exports"],"sources":["../../../src/tools/absolute/component.jsx"],"sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, absoluteFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:absolute');\n\nconst Absolute = withRootEdge((props) => {\n const { root, edge, graphProps } = props;\n const { domain, range } = graphProps;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(domain, range, root, edge, absoluteFromTwoPoints(root, edge), true);\n\n log('dataPoints:', dataPoints);\n\n return { root: props.root, edge: props.edge, dataPoints, enableCurve: false };\n});\n\nconst Component = rootEdgeComponent(Absolute);\n\nexport default Component;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AAEA,IAAMG,GAAG,GAAG,IAAAC,iBAAK,EAAC,2BAA2B,CAAC;AAE9C,IAAMC,QAAQ,GAAG,IAAAC,0BAAY,EAAC,UAACC,KAAK,EAAK;EACvC,IAAQC,IAAI,GAAuBD,KAAK,CAAhCC,IAAI;IAAEC,IAAI,GAAiBF,KAAK,CAA1BE,IAAI;IAAEC,UAAU,GAAKH,KAAK,CAApBG,UAAU;EAC9B,IAAQC,MAAM,GAAYD,UAAU,CAA5BC,MAAM;IAAEC,KAAK,GAAKF,UAAU,CAApBE,KAAK;EAErB,IAAMC,UAAU,GACdJ,IAAI,IAAIA,IAAI,CAACK,CAAC,KAAKN,IAAI,CAACM,CAAC,GACrB,EAAE,GACF,IAAAC,8BAAe,EAACJ,MAAM,EAAEC,KAAK,EAAEJ,IAAI,EAAEC,IAAI,EAAE,IAAAO,oCAAqB,EAACR,IAAI,EAAEC,IAAI,CAAC,EAAE,IAAI,CAAC;EAEzFN,GAAG,CAAC,aAAa,EAAEU,UAAU,CAAC;EAE9B,OAAO;IAAEL,IAAI,EAAED,KAAK,CAACC,IAAI;IAAEC,IAAI,EAAEF,KAAK,CAACE,IAAI;IAAEI,UAAU,EAAVA,UAAU;IAAEI,WAAW,EAAE;EAAM,CAAC;AAC/E,CAAC,CAAC;AAEF,IAAMC,SAAS,GAAG,IAAAC,+BAAiB,EAACd,QAAQ,CAAC;AAAC,IAAAe,QAAA,GAAAC,OAAA,cAE/BH,SAAS","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.keys.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.tool = void 0;
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ var _component = _interopRequireDefault(require("./component"));
20
+ var _debug = _interopRequireDefault(require("debug"));
21
+ var _utils = require("../../utils");
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ var log = (0, _debug["default"])('pie-lib:graphing:absolute');
25
+ var tool = exports.tool = function tool() {
26
+ return {
27
+ type: 'absolute',
28
+ Component: _component["default"],
29
+ complete: function complete(data, mark) {
30
+ return _objectSpread(_objectSpread({}, mark), {}, {
31
+ building: false,
32
+ closed: true
33
+ });
34
+ },
35
+ addPoint: function addPoint(point, mark) {
36
+ log('add point to absolute model: ', point, 'mark: ', mark);
37
+ if (mark && ((0, _utils.equalPoints)(mark.root, point) || (0, _utils.sameAxes)(mark.root, point))) {
38
+ return mark;
39
+ }
40
+ if (!mark) {
41
+ return {
42
+ type: 'absolute',
43
+ root: point,
44
+ edge: undefined,
45
+ closed: false,
46
+ building: true
47
+ };
48
+ } else if (mark && !mark.root) {
49
+ throw new Error('no root - should never happen');
50
+ } else {
51
+ return _objectSpread(_objectSpread({}, mark), {}, {
52
+ edge: point,
53
+ closed: true,
54
+ building: false
55
+ });
56
+ }
57
+ }
58
+ };
59
+ };
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_component","_interopRequireDefault","require","_debug","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","tool","exports","type","Component","Absolute","complete","data","mark","building","closed","addPoint","point","equalPoints","root","sameAxes","edge","undefined","Error"],"sources":["../../../src/tools/absolute/index.js"],"sourcesContent":["import Absolute from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:absolute');\n\nexport const tool = () => ({\n type: 'absolute',\n Component: Absolute,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to absolute 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: 'absolute',\n root: point,\n edge: undefined,\n closed: false,\n building: true,\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAoD,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,aAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEpD,IAAMoB,GAAG,GAAG,IAAAC,iBAAK,EAAC,2BAA2B,CAAC;AAEvC,IAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,SAAPA,IAAIA,CAAA;EAAA,OAAU;IACzBE,IAAI,EAAE,UAAU;IAChBC,SAAS,EAAEC,qBAAQ;IACnBC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,IAAI,EAAEC,IAAI;MAAA,OAAAjB,aAAA,CAAAA,aAAA,KAAWiB,IAAI;QAAEC,QAAQ,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAI;IAAA,CAAG;IACtEC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,KAAK,EAAEJ,IAAI,EAAK;MACzBT,GAAG,CAAC,+BAA+B,EAAEa,KAAK,EAAE,QAAQ,EAAEJ,IAAI,CAAC;MAC3D,IAAIA,IAAI,KAAK,IAAAK,kBAAW,EAACL,IAAI,CAACM,IAAI,EAAEF,KAAK,CAAC,IAAI,IAAAG,eAAQ,EAACP,IAAI,CAACM,IAAI,EAAEF,KAAK,CAAC,CAAC,EAAE;QACzE,OAAOJ,IAAI;MACb;MAEA,IAAI,CAACA,IAAI,EAAE;QACT,OAAO;UACLL,IAAI,EAAE,UAAU;UAChBW,IAAI,EAAEF,KAAK;UACXI,IAAI,EAAEC,SAAS;UACfP,MAAM,EAAE,KAAK;UACbD,QAAQ,EAAE;QACZ,CAAC;MACH,CAAC,MAAM,IAAID,IAAI,IAAI,CAACA,IAAI,CAACM,IAAI,EAAE;QAC7B,MAAM,IAAII,KAAK,CAAC,+BAA+B,CAAC;MAClD,CAAC,MAAM;QACL,OAAA3B,aAAA,CAAAA,aAAA,KAAYiB,IAAI;UAAEQ,IAAI,EAAEJ,KAAK;UAAEF,MAAM,EAAE,IAAI;UAAED,QAAQ,EAAE;QAAK;MAC9D;IACF;EACF,CAAC;AAAA,CAAC","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.iterator.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.keys.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/es.reflect.construct.js");
14
+ require("core-js/modules/es.string.iterator.js");
15
+ require("core-js/modules/es.weak-map.js");
16
+ require("core-js/modules/web.dom-collections.for-each.js");
17
+ require("core-js/modules/web.dom-collections.iterator.js");
18
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
19
+ var _typeof = require("@babel/runtime/helpers/typeof");
20
+ Object.defineProperty(exports, "__esModule", {
21
+ value: true
22
+ });
23
+ exports["default"] = exports.BgCircle = void 0;
24
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
26
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
27
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
28
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
29
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
30
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
+ var _react = _interopRequireDefault(require("react"));
33
+ var _propTypes = _interopRequireDefault(require("prop-types"));
34
+ var _classnames = _interopRequireDefault(require("classnames"));
35
+ var _plot = require("@pie-lib/plot");
36
+ var _renderUi = require("@pie-lib/render-ui");
37
+ var utils = _interopRequireWildcard(require("../../utils"));
38
+ var _styles = require("../shared/styles");
39
+ var _styles2 = require("@mui/material/styles");
40
+ var _excluded = ["disabled", "className", "correctness", "x", "y", "radius", "graphProps"];
41
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
42
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
43
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
44
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
45
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
46
+ var RawCircle = /*#__PURE__*/function (_React$Component) {
47
+ function RawCircle() {
48
+ (0, _classCallCheck2["default"])(this, RawCircle);
49
+ return _callSuper(this, RawCircle, arguments);
50
+ }
51
+ (0, _inherits2["default"])(RawCircle, _React$Component);
52
+ return (0, _createClass2["default"])(RawCircle, [{
53
+ key: "render",
54
+ value: function render() {
55
+ var _this$props = this.props,
56
+ disabled = _this$props.disabled,
57
+ className = _this$props.className,
58
+ correctness = _this$props.correctness,
59
+ x = _this$props.x,
60
+ y = _this$props.y,
61
+ radius = _this$props.radius,
62
+ graphProps = _this$props.graphProps,
63
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
64
+ var scale = graphProps.scale;
65
+ var rx = Math.abs(scale.x(x + radius) - scale.x(x));
66
+ var ry = Math.abs(scale.y(y + radius) - scale.y(y));
67
+ return /*#__PURE__*/_react["default"].createElement(StyledEllipse, (0, _extends2["default"])({
68
+ className: (0, _classnames["default"])(className, disabled && 'disabledSecondary', correctness),
69
+ cx: scale.x(x),
70
+ cy: scale.y(y),
71
+ rx: rx,
72
+ ry: ry
73
+ }, rest));
74
+ }
75
+ }]);
76
+ }(_react["default"].Component); // helper to convert old style functions
77
+ (0, _defineProperty2["default"])(RawCircle, "propTypes", {
78
+ className: _propTypes["default"].string,
79
+ correctness: _propTypes["default"].string,
80
+ disabled: _propTypes["default"].bool,
81
+ x: _propTypes["default"].number.isRequired,
82
+ y: _propTypes["default"].number.isRequired,
83
+ radius: _propTypes["default"].number,
84
+ graphProps: _plot.types.GraphPropsType.isRequired
85
+ });
86
+ var applyStyle = function applyStyle(fn) {
87
+ return _objectSpread(_objectSpread({}, fn('stroke')), {}, {
88
+ '&:hover': _objectSpread({
89
+ strokeWidth: 3
90
+ }, fn('stroke'))
91
+ });
92
+ };
93
+ var StyledEllipse = (0, _styles2.styled)('ellipse')(function () {
94
+ return {
95
+ fill: 'transparent',
96
+ stroke: _renderUi.color.defaults.BLACK,
97
+ strokeWidth: 3,
98
+ transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
99
+ '&:hover': {
100
+ strokeWidth: 6,
101
+ stroke: _renderUi.color.defaults.PRIMARY_DARK
102
+ },
103
+ '&.disabled': applyStyle(_styles.disabled),
104
+ '&.disabledSecondary': applyStyle(_styles.disabledSecondary),
105
+ '&.correct': applyStyle(_styles.correct),
106
+ '&.incorrect': applyStyle(_styles.incorrect),
107
+ '&.missing': applyStyle(_styles.missing)
108
+ };
109
+ });
110
+ var BgCircle = exports.BgCircle = RawCircle;
111
+ var _default = exports["default"] = (0, _plot.gridDraggable)({
112
+ bounds: function bounds(props, _ref) {
113
+ var domain = _ref.domain,
114
+ range = _ref.range;
115
+ var x = props.x,
116
+ y = props.y;
117
+ var area = {
118
+ left: x,
119
+ top: y,
120
+ bottom: y,
121
+ right: x
122
+ };
123
+ return utils.bounds(area, domain, range);
124
+ },
125
+ anchorPoint: function anchorPoint(props) {
126
+ var x = props.x,
127
+ y = props.y;
128
+ return {
129
+ x: x,
130
+ y: y
131
+ };
132
+ },
133
+ fromDelta: function fromDelta(props, delta) {
134
+ var newPoint = utils.point(props).add(utils.point(delta));
135
+ return newPoint;
136
+ }
137
+ })(BgCircle);
138
+ //# sourceMappingURL=bg-circle.js.map