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

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 (128) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/axis/arrow.js +79 -0
  3. package/lib/axis/arrow.js.map +1 -0
  4. package/lib/axis/axes.js +327 -0
  5. package/lib/axis/axes.js.map +1 -0
  6. package/lib/axis/index.js +21 -0
  7. package/lib/axis/index.js.map +1 -0
  8. package/lib/bg.js +111 -0
  9. package/lib/bg.js.map +1 -0
  10. package/lib/container/actions.js +18 -0
  11. package/lib/container/actions.js.map +1 -0
  12. package/lib/container/index.js +118 -0
  13. package/lib/container/index.js.map +1 -0
  14. package/lib/container/marks.js +22 -0
  15. package/lib/container/marks.js.map +1 -0
  16. package/lib/container/middleware.js +19 -0
  17. package/lib/container/middleware.js.map +1 -0
  18. package/lib/container/reducer.js +18 -0
  19. package/lib/container/reducer.js.map +1 -0
  20. package/lib/coordinates-label.js +79 -0
  21. package/lib/coordinates-label.js.map +1 -0
  22. package/lib/graph-with-controls.js +295 -0
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +314 -0
  25. package/lib/graph.js.map +1 -0
  26. package/lib/grid-setup.js +406 -0
  27. package/lib/grid-setup.js.map +1 -0
  28. package/lib/grid.js +131 -0
  29. package/lib/grid.js.map +1 -0
  30. package/lib/index.js +47 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/key-legend.js +201 -0
  33. package/lib/key-legend.js.map +1 -0
  34. package/lib/label-svg-icon.js +50 -0
  35. package/lib/label-svg-icon.js.map +1 -0
  36. package/lib/labels.js +243 -0
  37. package/lib/labels.js.map +1 -0
  38. package/lib/mark-label.js +278 -0
  39. package/lib/mark-label.js.map +1 -0
  40. package/lib/toggle-bar.js +248 -0
  41. package/lib/toggle-bar.js.map +1 -0
  42. package/lib/tool-menu.js +78 -0
  43. package/lib/tool-menu.js.map +1 -0
  44. package/lib/tools/absolute/component.js +29 -0
  45. package/lib/tools/absolute/component.js.map +1 -0
  46. package/lib/tools/absolute/index.js +50 -0
  47. package/lib/tools/absolute/index.js.map +1 -0
  48. package/lib/tools/circle/bg-circle.js +123 -0
  49. package/lib/tools/circle/bg-circle.js.map +1 -0
  50. package/lib/tools/circle/component.js +319 -0
  51. package/lib/tools/circle/component.js.map +1 -0
  52. package/lib/tools/circle/index.js +41 -0
  53. package/lib/tools/circle/index.js.map +1 -0
  54. package/lib/tools/exponential/component.js +28 -0
  55. package/lib/tools/exponential/component.js.map +1 -0
  56. package/lib/tools/exponential/index.js +56 -0
  57. package/lib/tools/exponential/index.js.map +1 -0
  58. package/lib/tools/index.js +86 -0
  59. package/lib/tools/index.js.map +1 -0
  60. package/lib/tools/line/component.js +82 -0
  61. package/lib/tools/line/component.js.map +1 -0
  62. package/lib/tools/line/index.js +11 -0
  63. package/lib/tools/line/index.js.map +1 -0
  64. package/lib/tools/parabola/component.js +28 -0
  65. package/lib/tools/parabola/component.js.map +1 -0
  66. package/lib/tools/parabola/index.js +50 -0
  67. package/lib/tools/parabola/index.js.map +1 -0
  68. package/lib/tools/point/component.js +139 -0
  69. package/lib/tools/point/component.js.map +1 -0
  70. package/lib/tools/point/index.js +24 -0
  71. package/lib/tools/point/index.js.map +1 -0
  72. package/lib/tools/polygon/component.js +417 -0
  73. package/lib/tools/polygon/component.js.map +1 -0
  74. package/lib/tools/polygon/index.js +89 -0
  75. package/lib/tools/polygon/index.js.map +1 -0
  76. package/lib/tools/polygon/line.js +114 -0
  77. package/lib/tools/polygon/line.js.map +1 -0
  78. package/lib/tools/polygon/polygon.js +132 -0
  79. package/lib/tools/polygon/polygon.js.map +1 -0
  80. package/lib/tools/ray/component.js +83 -0
  81. package/lib/tools/ray/component.js.map +1 -0
  82. package/lib/tools/ray/index.js +11 -0
  83. package/lib/tools/ray/index.js.map +1 -0
  84. package/lib/tools/segment/component.js +57 -0
  85. package/lib/tools/segment/component.js.map +1 -0
  86. package/lib/tools/segment/index.js +11 -0
  87. package/lib/tools/segment/index.js.map +1 -0
  88. package/lib/tools/shared/arrow-head.js +111 -0
  89. package/lib/tools/shared/arrow-head.js.map +1 -0
  90. package/lib/tools/shared/icons/CorrectSVG.js +40 -0
  91. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  92. package/lib/tools/shared/icons/IncorrectSVG.js +40 -0
  93. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/MissingSVG.js +39 -0
  95. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  96. package/lib/tools/shared/line/index.js +546 -0
  97. package/lib/tools/shared/line/index.js.map +1 -0
  98. package/lib/tools/shared/line/line-path.js +120 -0
  99. package/lib/tools/shared/line/line-path.js.map +1 -0
  100. package/lib/tools/shared/line/with-root-edge.js +121 -0
  101. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  102. package/lib/tools/shared/point/arrow-point.js +72 -0
  103. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  104. package/lib/tools/shared/point/arrow.js +67 -0
  105. package/lib/tools/shared/point/arrow.js.map +1 -0
  106. package/lib/tools/shared/point/base-point.js +157 -0
  107. package/lib/tools/shared/point/base-point.js.map +1 -0
  108. package/lib/tools/shared/point/index.js +62 -0
  109. package/lib/tools/shared/point/index.js.map +1 -0
  110. package/lib/tools/shared/styles.js +30 -0
  111. package/lib/tools/shared/styles.js.map +1 -0
  112. package/lib/tools/shared/types.js +16 -0
  113. package/lib/tools/shared/types.js.map +1 -0
  114. package/lib/tools/sine/component.js +40 -0
  115. package/lib/tools/sine/component.js.map +1 -0
  116. package/lib/tools/sine/index.js +50 -0
  117. package/lib/tools/sine/index.js.map +1 -0
  118. package/lib/tools/vector/component.js +68 -0
  119. package/lib/tools/vector/component.js.map +1 -0
  120. package/lib/tools/vector/index.js +11 -0
  121. package/lib/tools/vector/index.js.map +1 -0
  122. package/lib/undo-redo.js +83 -0
  123. package/lib/undo-redo.js.map +1 -0
  124. package/lib/use-debounce.js +25 -0
  125. package/lib/use-debounce.js.map +1 -0
  126. package/lib/utils.js +230 -0
  127. package/lib/utils.js.map +1 -0
  128. package/package.json +8 -8
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.ToggleBar = exports.MiniButton = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _styles = require("@mui/material/styles");
18
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
19
+ var _renderUi = require("@pie-lib/render-ui");
20
+ var _tools = require("./tools");
21
+ var _drag = require("@pie-lib/drag");
22
+ var _core = require("@dnd-kit/core");
23
+ var _utilities = require("@dnd-kit/utilities");
24
+ var _sortable = require("@dnd-kit/sortable");
25
+ var _translator = _interopRequireDefault(require("@pie-lib/translator"));
26
+ 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)); }
27
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
28
+ 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; }
29
+ 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; }
30
+ var translator = _translator["default"].translator;
31
+ var StyledMiniButton = (0, _styles.styled)(_Button["default"], {
32
+ shouldForwardProp: function shouldForwardProp(prop) {
33
+ return !['selected'].includes(prop);
34
+ }
35
+ })(function (_ref) {
36
+ var selected = _ref.selected,
37
+ disabled = _ref.disabled;
38
+ return _objectSpread(_objectSpread(_objectSpread({
39
+ color: _renderUi.color.text(),
40
+ backgroundColor: _renderUi.color.background()
41
+ }, selected && {
42
+ border: "1px solid ".concat(_renderUi.color.secondary())
43
+ }), !selected && {
44
+ '& span': {
45
+ color: _renderUi.color.primary()
46
+ }
47
+ }), disabled && {
48
+ '& span': {
49
+ color: _renderUi.color.primary()
50
+ },
51
+ backgroundColor: _renderUi.color.disabled()
52
+ });
53
+ });
54
+ var MiniButton = exports.MiniButton = function MiniButton(props) {
55
+ var disabled = props.disabled,
56
+ className = props.className,
57
+ selected = props.selected,
58
+ value = props.value,
59
+ _onClick = props.onClick,
60
+ language = props.language;
61
+ var translatorKey = value.toLowerCase();
62
+ return /*#__PURE__*/_react["default"].createElement(StyledMiniButton, {
63
+ size: "small",
64
+ disabled: disabled,
65
+ className: className,
66
+ selected: selected,
67
+ value: value,
68
+ key: value,
69
+ variant: "outlined",
70
+ onClick: function onClick(e) {
71
+ return _onClick(_objectSpread(_objectSpread({}, e), {}, {
72
+ buttonValue: value
73
+ }));
74
+ }
75
+ }, translator.t("graphing.".concat(translatorKey), {
76
+ lng: language
77
+ }));
78
+ };
79
+ MiniButton.propTypes = {
80
+ disabled: _propTypes["default"].bool,
81
+ className: _propTypes["default"].string,
82
+ disabledClassName: _propTypes["default"].string,
83
+ selected: _propTypes["default"].bool,
84
+ value: _propTypes["default"].string,
85
+ onClick: _propTypes["default"].func,
86
+ language: _propTypes["default"].string
87
+ };
88
+ var StyledToolsContainer = (0, _styles.styled)('div')(function () {
89
+ return {
90
+ display: 'flex',
91
+ flexWrap: 'wrap'
92
+ };
93
+ });
94
+ var StyledButton = (0, _styles.styled)(MiniButton)(function (_ref2) {
95
+ var theme = _ref2.theme;
96
+ return {
97
+ marginRight: theme.spacing(0.5),
98
+ marginBottom: theme.spacing(0.5),
99
+ color: _renderUi.color.text()
100
+ };
101
+ });
102
+ var StyledWrapper = (0, _styles.styled)('div')({
103
+ position: 'relative'
104
+ });
105
+ var ToggleBar = exports.ToggleBar = /*#__PURE__*/function (_React$Component) {
106
+ function ToggleBar() {
107
+ var _this;
108
+ (0, _classCallCheck2["default"])(this, ToggleBar);
109
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
110
+ args[_key] = arguments[_key];
111
+ }
112
+ _this = _callSuper(this, ToggleBar, [].concat(args));
113
+ (0, _defineProperty2["default"])(_this, "select", function (e) {
114
+ return _this.props.onChange(e.buttonValue || e.target.textContent);
115
+ });
116
+ (0, _defineProperty2["default"])(_this, "moveTool", function (dragIndex, hoverIndex) {
117
+ var _this$props = _this.props,
118
+ options = _this$props.options,
119
+ onChangeToolsOrder = _this$props.onChangeToolsOrder;
120
+ var newOptions = (0, _sortable.arrayMove)(options, dragIndex, hoverIndex);
121
+ onChangeToolsOrder(newOptions);
122
+ });
123
+ (0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
124
+ var active = event.active,
125
+ over = event.over;
126
+ if (!over || !active) return;
127
+ var activeData = active.data.current;
128
+ var overData = over.data.current;
129
+ if ((activeData === null || activeData === void 0 ? void 0 : activeData.type) === 'tool' && (overData === null || overData === void 0 ? void 0 : overData.type) === 'tool') {
130
+ var dragIndex = activeData.index;
131
+ var hoverIndex = overData.index;
132
+ if (dragIndex !== hoverIndex) {
133
+ _this.moveTool(dragIndex, hoverIndex);
134
+ }
135
+ }
136
+ });
137
+ return _this;
138
+ }
139
+ (0, _inherits2["default"])(ToggleBar, _React$Component);
140
+ return (0, _createClass2["default"])(ToggleBar, [{
141
+ key: "render",
142
+ value: function render() {
143
+ var _this2 = this;
144
+ var _this$props2 = this.props,
145
+ className = _this$props2.className,
146
+ disabled = _this$props2.disabled,
147
+ options = _this$props2.options,
148
+ selectedToolType = _this$props2.selectedToolType,
149
+ draggableTools = _this$props2.draggableTools,
150
+ language = _this$props2.language;
151
+ return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
152
+ onDragEnd: this.handleDragEnd
153
+ }, /*#__PURE__*/_react["default"].createElement(StyledToolsContainer, {
154
+ className: className
155
+ }, (options || []).map(function (option, index) {
156
+ if ((_tools.allTools || []).includes(option)) {
157
+ var isSelected = option === selectedToolType;
158
+ var toolRef = /*#__PURE__*/_react["default"].createRef();
159
+ return /*#__PURE__*/_react["default"].createElement(DragTool, {
160
+ key: option,
161
+ index: index,
162
+ value: option,
163
+ draggable: draggableTools,
164
+ moveTool: _this2.moveTool,
165
+ toolRef: toolRef
166
+ }, /*#__PURE__*/_react["default"].createElement(StyledButton, {
167
+ disabled: disabled,
168
+ disableRipple: true,
169
+ onClick: _this2.select,
170
+ value: option,
171
+ selected: isSelected,
172
+ language: language
173
+ }));
174
+ }
175
+ })));
176
+ }
177
+ }]);
178
+ }(_react["default"].Component); // DragTool functional component using @dnd-kit hooks
179
+ (0, _defineProperty2["default"])(ToggleBar, "propTypes", {
180
+ className: _propTypes["default"].string,
181
+ options: _propTypes["default"].arrayOf(_propTypes["default"].string),
182
+ selectedToolType: _propTypes["default"].string,
183
+ disabled: _propTypes["default"].bool,
184
+ draggableTools: _propTypes["default"].bool,
185
+ onChange: _propTypes["default"].func,
186
+ onChangeToolsOrder: _propTypes["default"].func,
187
+ language: _propTypes["default"].string
188
+ });
189
+ (0, _defineProperty2["default"])(ToggleBar, "defaultProps", {});
190
+ function DragTool(_ref3) {
191
+ var children = _ref3.children,
192
+ index = _ref3.index,
193
+ draggable = _ref3.draggable,
194
+ toolRef = _ref3.toolRef,
195
+ value = _ref3.value;
196
+ var _useDraggable = (0, _core.useDraggable)({
197
+ id: "tool-".concat(value, "-").concat(index),
198
+ disabled: !draggable,
199
+ data: {
200
+ type: 'tool',
201
+ index: index,
202
+ value: value
203
+ }
204
+ }),
205
+ attributes = _useDraggable.attributes,
206
+ listeners = _useDraggable.listeners,
207
+ setDragNodeRef = _useDraggable.setNodeRef,
208
+ transform = _useDraggable.transform,
209
+ transition = _useDraggable.transition,
210
+ isDragging = _useDraggable.isDragging;
211
+ var _useDroppable = (0, _core.useDroppable)({
212
+ id: "drop-tool-".concat(value, "-").concat(index),
213
+ data: {
214
+ type: 'tool',
215
+ index: index,
216
+ accepts: ['tool']
217
+ }
218
+ }),
219
+ setDropNodeRef = _useDroppable.setNodeRef;
220
+
221
+ // Combine refs
222
+ var setNodeRef = function setNodeRef(node) {
223
+ setDragNodeRef(node);
224
+ setDropNodeRef(node);
225
+ if (toolRef !== null && toolRef !== void 0 && toolRef.current) {
226
+ toolRef.current = node;
227
+ }
228
+ };
229
+ var style = {
230
+ transform: _utilities.CSS.Transform.toString(transform),
231
+ transition: transition,
232
+ opacity: isDragging ? 0.5 : 1
233
+ };
234
+ return /*#__PURE__*/_react["default"].createElement(StyledWrapper, {
235
+ ref: setNodeRef,
236
+ style: style
237
+ }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, attributes, listeners), children));
238
+ }
239
+ DragTool.propTypes = {
240
+ children: _propTypes["default"].node,
241
+ index: _propTypes["default"].number,
242
+ draggable: _propTypes["default"].bool,
243
+ moveTool: _propTypes["default"].func,
244
+ toolRef: _propTypes["default"].object,
245
+ value: _propTypes["default"].string
246
+ };
247
+ var _default = exports["default"] = ToggleBar;
248
+ //# 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":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAX,sBAAA,CAAAC,OAAA;AAA6C,SAAAW,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,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAE7C,IAAQ6B,UAAU,GAAKC,sBAAU,CAAzBD,UAAU;AAElB,IAAME,gBAAgB,GAAG,IAAAC,cAAM,EAACC,kBAAM,EAAE;EACtCC,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGC,IAAI;IAAA,OAAK,CAAC,CAAC,UAAU,CAAC,CAACC,QAAQ,CAACD,IAAI,CAAC;EAAA;AAC3D,CAAC,CAAC,CAAC,UAAAE,IAAA;EAAA,IAAGC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EAAA,OAAAlB,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACtBmB,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;IACnBC,eAAe,EAAEF,eAAK,CAACG,UAAU,CAAC;EAAC,GAC/BL,QAAQ,IAAI;IACdM,MAAM,eAAAC,MAAA,CAAeL,eAAK,CAACM,SAAS,CAAC,CAAC;EACxC,CAAC,GACG,CAACR,QAAQ,IAAI;IACf,QAAQ,EAAE;MACRE,KAAK,EAAEA,eAAK,CAACO,OAAO,CAAC;IACvB;EACF,CAAC,GACGR,QAAQ,IAAI;IACd,QAAQ,EAAE;MACRC,KAAK,EAAEA,eAAK,CAACO,OAAO,CAAC;IACvB,CAAC;IACDL,eAAe,EAAEF,eAAK,CAACD,QAAQ,CAAC;EAClC,CAAC;AAAA,CACD,CAAC;AAEI,IAAMS,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAIE,KAAK,EAAK;EACnC,IAAQX,QAAQ,GAAoDW,KAAK,CAAjEX,QAAQ;IAAEY,SAAS,GAAyCD,KAAK,CAAvDC,SAAS;IAAEb,QAAQ,GAA+BY,KAAK,CAA5CZ,QAAQ;IAAEc,KAAK,GAAwBF,KAAK,CAAlCE,KAAK;IAAEC,QAAO,GAAeH,KAAK,CAA3BG,OAAO;IAAEC,QAAQ,GAAKJ,KAAK,CAAlBI,QAAQ;EAC/D,IAAMC,aAAa,GAAGH,KAAK,CAACI,WAAW,CAAC,CAAC;EAEzC,oBACExE,MAAA,YAAAyE,aAAA,CAAC1B,gBAAgB;IACf2B,IAAI,EAAC,OAAO;IACZnB,QAAQ,EAAEA,QAAS;IACnBY,SAAS,EAAEA,SAAU;IACrBb,QAAQ,EAAEA,QAAS;IACnBc,KAAK,EAAEA,KAAM;IACbO,GAAG,EAAEP,KAAM;IACXQ,OAAO,EAAC,UAAU;IAClBP,OAAO,EAAE,SAATA,OAAOA,CAAGrD,CAAC;MAAA,OAAKqD,QAAO,CAAAhC,aAAA,CAAAA,aAAA,KAAMrB,CAAC;QAAE6D,WAAW,EAAET;MAAK,EAAE,CAAC;IAAA;EAAC,GAErDvB,UAAU,CAAC/B,CAAC,aAAA+C,MAAA,CAAaU,aAAa,GAAI;IAAEO,GAAG,EAAER;EAAS,CAAC,CAC5C,CAAC;AAEvB,CAAC;AAEDN,UAAU,CAACe,SAAS,GAAG;EACrBxB,QAAQ,EAAEyB,qBAAS,CAACC,IAAI;EACxBd,SAAS,EAAEa,qBAAS,CAACE,MAAM;EAC3BC,iBAAiB,EAAEH,qBAAS,CAACE,MAAM;EACnC5B,QAAQ,EAAE0B,qBAAS,CAACC,IAAI;EACxBb,KAAK,EAAEY,qBAAS,CAACE,MAAM;EACvBb,OAAO,EAAEW,qBAAS,CAACI,IAAI;EACvBd,QAAQ,EAAEU,qBAAS,CAACE;AACtB,CAAC;AAED,IAAMG,oBAAoB,GAAG,IAAArC,cAAM,EAAC,KAAK,CAAC,CAAC;EAAA,OAAO;IAChDsC,OAAO,EAAE,MAAM;IACfC,QAAQ,EAAE;EACZ,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,YAAY,GAAG,IAAAxC,cAAM,EAACgB,UAAU,CAAC,CAAC,UAAAyB,KAAA;EAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;EAAA,OAAQ;IACtDC,WAAW,EAAED,KAAK,CAACE,OAAO,CAAC,GAAG,CAAC;IAC/BC,YAAY,EAAEH,KAAK,CAACE,OAAO,CAAC,GAAG,CAAC;IAChCpC,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC;EACpB,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMqC,aAAa,GAAG,IAAA9C,cAAM,EAAC,KAAK,CAAC,CAAC;EAClC+C,QAAQ,EAAE;AACZ,CAAC,CAAC;AAAC,IAEUC,SAAS,GAAA/B,OAAA,CAAA+B,SAAA,0BAAAC,gBAAA;EAAA,SAAAD,UAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,SAAA;IAAA,SAAAI,IAAA,GAAA9D,SAAA,CAAAC,MAAA,EAAA8D,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAjE,SAAA,CAAAiE,IAAA;IAAA;IAAAL,KAAA,GAAArF,UAAA,OAAAmF,SAAA,KAAAnC,MAAA,CAAAwC,IAAA;IAAA,IAAA5D,gBAAA,aAAAyD,KAAA,YAcX,UAAClF,CAAC;MAAA,OAAKkF,KAAA,CAAKhC,KAAK,CAACsC,QAAQ,CAACxF,CAAC,CAAC6D,WAAW,IAAI7D,CAAC,CAACyF,MAAM,CAACC,WAAW,CAAC;IAAA;IAAA,IAAAjE,gBAAA,aAAAyD,KAAA,cAE/D,UAACS,SAAS,EAAEC,UAAU,EAAK;MACpC,IAAAC,WAAA,GAAwCX,KAAA,CAAKhC,KAAK;QAA1C4C,OAAO,GAAAD,WAAA,CAAPC,OAAO;QAAEC,kBAAkB,GAAAF,WAAA,CAAlBE,kBAAkB;MACnC,IAAMC,UAAU,GAAG,IAAAC,mBAAS,EAACH,OAAO,EAAEH,SAAS,EAAEC,UAAU,CAAC;MAC5DG,kBAAkB,CAACC,UAAU,CAAC;IAChC,CAAC;IAAA,IAAAvE,gBAAA,aAAAyD,KAAA,mBAEe,UAACgB,KAAK,EAAK;MACzB,IAAQC,MAAM,GAAWD,KAAK,CAAtBC,MAAM;QAAEC,IAAI,GAAKF,KAAK,CAAdE,IAAI;MAEpB,IAAI,CAACA,IAAI,IAAI,CAACD,MAAM,EAAE;MAEtB,IAAME,UAAU,GAAGF,MAAM,CAACG,IAAI,CAACC,OAAO;MACtC,IAAMC,QAAQ,GAAGJ,IAAI,CAACE,IAAI,CAACC,OAAO;MAElC,IAAI,CAAAF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEI,IAAI,MAAK,MAAM,IAAI,CAAAD,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,IAAI,MAAK,MAAM,EAAE;QAC5D,IAAMd,SAAS,GAAGU,UAAU,CAACK,KAAK;QAClC,IAAMd,UAAU,GAAGY,QAAQ,CAACE,KAAK;QAEjC,IAAIf,SAAS,KAAKC,UAAU,EAAE;UAC5BV,KAAA,CAAKyB,QAAQ,CAAChB,SAAS,EAAEC,UAAU,CAAC;QACtC;MACF;IACF,CAAC;IAAA,OAAAV,KAAA;EAAA;EAAA,IAAA0B,UAAA,aAAA5B,SAAA,EAAAC,gBAAA;EAAA,WAAA4B,aAAA,aAAA7B,SAAA;IAAArB,GAAA;IAAAP,KAAA,EAED,SAAA0D,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAAqF,IAAI,CAAC9D,KAAK;QAAvFC,SAAS,GAAA6D,YAAA,CAAT7D,SAAS;QAAEZ,QAAQ,GAAAyE,YAAA,CAARzE,QAAQ;QAAEuD,OAAO,GAAAkB,YAAA,CAAPlB,OAAO;QAAEmB,gBAAgB,GAAAD,YAAA,CAAhBC,gBAAgB;QAAEC,cAAc,GAAAF,YAAA,CAAdE,cAAc;QAAE5D,QAAQ,GAAA0D,YAAA,CAAR1D,QAAQ;MAEhF,oBACEtE,MAAA,YAAAyE,aAAA,CAACjE,KAAA,CAAA2H,YAAY;QAACC,SAAS,EAAE,IAAI,CAACC;MAAc,gBAC1CrI,MAAA,YAAAyE,aAAA,CAACY,oBAAoB;QAAClB,SAAS,EAAEA;MAAU,GACxC,CAAC2C,OAAO,IAAI,EAAE,EAAEwB,GAAG,CAAC,UAACC,MAAM,EAAEb,KAAK,EAAK;QACtC,IAAI,CAACc,eAAQ,IAAI,EAAE,EAAEpF,QAAQ,CAACmF,MAAM,CAAC,EAAE;UACrC,IAAME,UAAU,GAAGF,MAAM,KAAKN,gBAAgB;UAC9C,IAAMS,OAAO,gBAAGC,iBAAK,CAACC,SAAS,CAAC,CAAC;UAEjC,oBACE5I,MAAA,YAAAyE,aAAA,CAACoE,QAAQ;YACPlE,GAAG,EAAE4D,MAAO;YACZb,KAAK,EAAEA,KAAM;YACbtD,KAAK,EAAEmE,MAAO;YACdO,SAAS,EAAEZ,cAAe;YAC1BP,QAAQ,EAAEI,MAAI,CAACJ,QAAS;YACxBe,OAAO,EAAEA;UAAQ,gBAEjB1I,MAAA,YAAAyE,aAAA,CAACe,YAAY;YACXjC,QAAQ,EAAEA,QAAS;YACnBwF,aAAa,EAAE,IAAK;YACpB1E,OAAO,EAAE0D,MAAI,CAACiB,MAAO;YACrB5E,KAAK,EAAEmE,MAAO;YACdjF,QAAQ,EAAEmF,UAAW;YACrBnE,QAAQ,EAAEA;UAAS,CACpB,CACO,CAAC;QAEf;MACF,CAAC,CACmB,CACV,CAAC;IAEnB;EAAC;AAAA,EA3E4BqE,iBAAK,CAACM,SAAS,GA8E9C;AAAA,IAAAxG,gBAAA,aA9EauD,SAAS,eACD;EACjB7B,SAAS,EAAEa,qBAAS,CAACE,MAAM;EAC3B4B,OAAO,EAAE9B,qBAAS,CAACkE,OAAO,CAAClE,qBAAS,CAACE,MAAM,CAAC;EAC5C+C,gBAAgB,EAAEjD,qBAAS,CAACE,MAAM;EAClC3B,QAAQ,EAAEyB,qBAAS,CAACC,IAAI;EACxBiD,cAAc,EAAElD,qBAAS,CAACC,IAAI;EAC9BuB,QAAQ,EAAExB,qBAAS,CAACI,IAAI;EACxB2B,kBAAkB,EAAE/B,qBAAS,CAACI,IAAI;EAClCd,QAAQ,EAAEU,qBAAS,CAACE;AACtB,CAAC;AAAA,IAAAzC,gBAAA,aAVUuD,SAAS,kBAYE,CAAC,CAAC;AAmE1B,SAAS6C,QAAQA,CAAAM,KAAA,EAAiD;EAAA,IAA9CC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAE1B,KAAK,GAAAyB,KAAA,CAALzB,KAAK;IAAEoB,SAAS,GAAAK,KAAA,CAATL,SAAS;IAAEJ,OAAO,GAAAS,KAAA,CAAPT,OAAO;IAAEtE,KAAK,GAAA+E,KAAA,CAAL/E,KAAK;EAC5D,IAAAiF,aAAA,GAAiG,IAAAC,kBAAY,EAAC;MAC5GC,EAAE,UAAA1F,MAAA,CAAUO,KAAK,OAAAP,MAAA,CAAI6D,KAAK,CAAE;MAC5BnE,QAAQ,EAAE,CAACuF,SAAS;MACpBxB,IAAI,EAAE;QACJG,IAAI,EAAE,MAAM;QACZC,KAAK,EAALA,KAAK;QACLtD,KAAK,EAALA;MACF;IACF,CAAC,CAAC;IARMoF,UAAU,GAAAH,aAAA,CAAVG,UAAU;IAAEC,SAAS,GAAAJ,aAAA,CAATI,SAAS;IAAcC,cAAc,GAAAL,aAAA,CAA1BM,UAAU;IAAkBC,SAAS,GAAAP,aAAA,CAATO,SAAS;IAAEC,UAAU,GAAAR,aAAA,CAAVQ,UAAU;IAAEC,UAAU,GAAAT,aAAA,CAAVS,UAAU;EAU5F,IAAAC,aAAA,GAAuC,IAAAC,kBAAY,EAAC;MAClDT,EAAE,eAAA1F,MAAA,CAAeO,KAAK,OAAAP,MAAA,CAAI6D,KAAK,CAAE;MACjCJ,IAAI,EAAE;QACJG,IAAI,EAAE,MAAM;QACZC,KAAK,EAALA,KAAK;QACLuC,OAAO,EAAE,CAAC,MAAM;MAClB;IACF,CAAC,CAAC;IAPkBC,cAAc,GAAAH,aAAA,CAA1BJ,UAAU;;EASlB;EACA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAIQ,IAAI,EAAK;IAC3BT,cAAc,CAACS,IAAI,CAAC;IACpBD,cAAc,CAACC,IAAI,CAAC;IACpB,IAAIzB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEnB,OAAO,EAAE;MACpBmB,OAAO,CAACnB,OAAO,GAAG4C,IAAI;IACxB;EACF,CAAC;EAED,IAAMC,KAAK,GAAG;IACZR,SAAS,EAAES,cAAG,CAACC,SAAS,CAACC,QAAQ,CAACX,SAAS,CAAC;IAC5CC,UAAU,EAAVA,UAAU;IACVW,OAAO,EAAEV,UAAU,GAAG,GAAG,GAAG;EAC9B,CAAC;EAED,oBACE9J,MAAA,YAAAyE,aAAA,CAACqB,aAAa;IAAC2E,GAAG,EAAEd,UAAW;IAACS,KAAK,EAAEA;EAAM,gBAC3CpK,MAAA,YAAAyE,aAAA,YAAAiG,SAAA,iBAASlB,UAAU,EAAMC,SAAS,GAC/BL,QACE,CACQ,CAAC;AAEpB;AAEAP,QAAQ,CAAC9D,SAAS,GAAG;EACnBqE,QAAQ,EAAEpE,qBAAS,CAACmF,IAAI;EACxBzC,KAAK,EAAE1C,qBAAS,CAAC2F,MAAM;EACvB7B,SAAS,EAAE9D,qBAAS,CAACC,IAAI;EACzB0C,QAAQ,EAAE3C,qBAAS,CAACI,IAAI;EACxBsD,OAAO,EAAE1D,qBAAS,CAAC4F,MAAM;EACzBxG,KAAK,EAAEY,qBAAS,CAACE;AACnB,CAAC;AAAC,IAAA2F,QAAA,GAAA5G,OAAA,cAEa+B,SAAS","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.ToolMenu = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+ var _toggleBar = _interopRequireDefault(require("./toggle-bar"));
18
+ 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)); }
19
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
+ var ToolMenu = exports.ToolMenu = /*#__PURE__*/function (_React$Component) {
21
+ function ToolMenu() {
22
+ var _this;
23
+ (0, _classCallCheck2["default"])(this, ToolMenu);
24
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25
+ args[_key] = arguments[_key];
26
+ }
27
+ _this = _callSuper(this, ToolMenu, [].concat(args));
28
+ (0, _defineProperty2["default"])(_this, "updateToolsOrder", function (tools) {
29
+ var onChangeTools = _this.props.onChangeTools;
30
+ onChangeTools(tools);
31
+ });
32
+ return _this;
33
+ }
34
+ (0, _inherits2["default"])(ToolMenu, _React$Component);
35
+ return (0, _createClass2["default"])(ToolMenu, [{
36
+ key: "render",
37
+ value: function render() {
38
+ var _this2 = this;
39
+ var _this$props = this.props,
40
+ className = _this$props.className,
41
+ currentToolType = _this$props.currentToolType,
42
+ disabled = _this$props.disabled,
43
+ draggableTools = _this$props.draggableTools,
44
+ onChange = _this$props.onChange,
45
+ language = _this$props.language;
46
+ var toolbarTools = this.props.toolbarTools;
47
+ return /*#__PURE__*/_react["default"].createElement("div", {
48
+ className: (0, _classnames["default"])(className)
49
+ }, /*#__PURE__*/_react["default"].createElement(_toggleBar["default"], {
50
+ disabled: disabled,
51
+ draggableTools: draggableTools,
52
+ options: toolbarTools,
53
+ selectedToolType: currentToolType,
54
+ onChange: onChange,
55
+ onChangeToolsOrder: function onChangeToolsOrder(tools) {
56
+ return _this2.updateToolsOrder(tools);
57
+ },
58
+ language: language
59
+ }));
60
+ }
61
+ }]);
62
+ }(_react["default"].Component);
63
+ (0, _defineProperty2["default"])(ToolMenu, "propTypes", {
64
+ className: _propTypes["default"].string,
65
+ currentToolType: _propTypes["default"].string,
66
+ disabled: _propTypes["default"].bool,
67
+ draggableTools: _propTypes["default"].bool,
68
+ labelModeEnabled: _propTypes["default"].bool,
69
+ onChange: _propTypes["default"].func,
70
+ onChangeTools: _propTypes["default"].func,
71
+ toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].string),
72
+ language: _propTypes["default"].string
73
+ });
74
+ (0, _defineProperty2["default"])(ToolMenu, "defaultProps", {
75
+ toolbarTools: []
76
+ });
77
+ var _default = exports["default"] = ToolMenu;
78
+ //# 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":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _debug = _interopRequireDefault(require("debug"));
9
+ var _graphingUtils = require("@pie-lib/graphing-utils");
10
+ var _withRootEdge = require("../shared/line/with-root-edge");
11
+ var log = (0, _debug["default"])('pie-lib:graphing:absolute');
12
+ var Absolute = (0, _withRootEdge.withRootEdge)(function (props) {
13
+ var root = props.root,
14
+ edge = props.edge,
15
+ graphProps = props.graphProps;
16
+ var domain = graphProps.domain,
17
+ range = graphProps.range;
18
+ var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain, range, root, edge, (0, _graphingUtils.absoluteFromTwoPoints)(root, edge), true);
19
+ log('dataPoints:', dataPoints);
20
+ return {
21
+ root: props.root,
22
+ edge: props.edge,
23
+ dataPoints: dataPoints,
24
+ enableCurve: false
25
+ };
26
+ });
27
+ var Component = (0, _withRootEdge.rootEdgeComponent)(Absolute);
28
+ var _default = exports["default"] = Component;
29
+ //# 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,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.tool = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _component = _interopRequireDefault(require("./component"));
10
+ var _debug = _interopRequireDefault(require("debug"));
11
+ var _utils = require("../../utils");
12
+ 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; }
13
+ 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; }
14
+ var log = (0, _debug["default"])('pie-lib:graphing:absolute');
15
+ var tool = exports.tool = function tool() {
16
+ return {
17
+ type: 'absolute',
18
+ Component: _component["default"],
19
+ complete: function complete(data, mark) {
20
+ return _objectSpread(_objectSpread({}, mark), {}, {
21
+ building: false,
22
+ closed: true
23
+ });
24
+ },
25
+ addPoint: function addPoint(point, mark) {
26
+ log('add point to absolute model: ', point, 'mark: ', mark);
27
+ if (mark && ((0, _utils.equalPoints)(mark.root, point) || (0, _utils.sameAxes)(mark.root, point))) {
28
+ return mark;
29
+ }
30
+ if (!mark) {
31
+ return {
32
+ type: 'absolute',
33
+ root: point,
34
+ edge: undefined,
35
+ closed: false,
36
+ building: true
37
+ };
38
+ } else if (mark && !mark.root) {
39
+ throw new Error('no root - should never happen');
40
+ } else {
41
+ return _objectSpread(_objectSpread({}, mark), {}, {
42
+ edge: point,
43
+ closed: true,
44
+ building: false
45
+ });
46
+ }
47
+ }
48
+ };
49
+ };
50
+ //# 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,123 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.BgCircle = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
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 _plot = require("@pie-lib/plot");
21
+ var _renderUi = require("@pie-lib/render-ui");
22
+ var utils = _interopRequireWildcard(require("../../utils"));
23
+ var _styles = require("../shared/styles");
24
+ var _styles2 = require("@mui/material/styles");
25
+ var _excluded = ["disabled", "className", "correctness", "x", "y", "radius", "graphProps"];
26
+ 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); }
27
+ 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; }
28
+ 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; }
29
+ 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)); }
30
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
+ var RawCircle = /*#__PURE__*/function (_React$Component) {
32
+ function RawCircle() {
33
+ (0, _classCallCheck2["default"])(this, RawCircle);
34
+ return _callSuper(this, RawCircle, arguments);
35
+ }
36
+ (0, _inherits2["default"])(RawCircle, _React$Component);
37
+ return (0, _createClass2["default"])(RawCircle, [{
38
+ key: "render",
39
+ value: function render() {
40
+ var _this$props = this.props,
41
+ disabled = _this$props.disabled,
42
+ className = _this$props.className,
43
+ correctness = _this$props.correctness,
44
+ x = _this$props.x,
45
+ y = _this$props.y,
46
+ radius = _this$props.radius,
47
+ graphProps = _this$props.graphProps,
48
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
49
+ var scale = graphProps.scale;
50
+ var rx = Math.abs(scale.x(x + radius) - scale.x(x));
51
+ var ry = Math.abs(scale.y(y + radius) - scale.y(y));
52
+ return /*#__PURE__*/_react["default"].createElement(StyledEllipse, (0, _extends2["default"])({
53
+ className: (0, _classnames["default"])(className, disabled && 'disabledSecondary', correctness),
54
+ cx: scale.x(x),
55
+ cy: scale.y(y),
56
+ rx: rx,
57
+ ry: ry
58
+ }, rest));
59
+ }
60
+ }]);
61
+ }(_react["default"].Component); // helper to convert old style functions
62
+ (0, _defineProperty2["default"])(RawCircle, "propTypes", {
63
+ className: _propTypes["default"].string,
64
+ correctness: _propTypes["default"].string,
65
+ disabled: _propTypes["default"].bool,
66
+ x: _propTypes["default"].number.isRequired,
67
+ y: _propTypes["default"].number.isRequired,
68
+ radius: _propTypes["default"].number,
69
+ graphProps: _plot.types.GraphPropsType.isRequired
70
+ });
71
+ var applyStyle = function applyStyle(fn) {
72
+ return _objectSpread(_objectSpread({}, fn('stroke')), {}, {
73
+ '&:hover': _objectSpread({
74
+ strokeWidth: 3
75
+ }, fn('stroke'))
76
+ });
77
+ };
78
+ var StyledEllipse = (0, _styles2.styled)('ellipse')(function () {
79
+ return {
80
+ fill: 'transparent',
81
+ stroke: _renderUi.color.defaults.BLACK,
82
+ strokeWidth: 3,
83
+ transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
84
+ '&:hover': {
85
+ strokeWidth: 6,
86
+ stroke: _renderUi.color.defaults.PRIMARY_DARK
87
+ },
88
+ '&.disabled': applyStyle(_styles.disabled),
89
+ '&.disabledSecondary': applyStyle(_styles.disabledSecondary),
90
+ '&.correct': applyStyle(_styles.correct),
91
+ '&.incorrect': applyStyle(_styles.incorrect),
92
+ '&.missing': applyStyle(_styles.missing)
93
+ };
94
+ });
95
+ var BgCircle = exports.BgCircle = RawCircle;
96
+ var _default = exports["default"] = (0, _plot.gridDraggable)({
97
+ bounds: function bounds(props, _ref) {
98
+ var domain = _ref.domain,
99
+ range = _ref.range;
100
+ var x = props.x,
101
+ y = props.y;
102
+ var area = {
103
+ left: x,
104
+ top: y,
105
+ bottom: y,
106
+ right: x
107
+ };
108
+ return utils.bounds(area, domain, range);
109
+ },
110
+ anchorPoint: function anchorPoint(props) {
111
+ var x = props.x,
112
+ y = props.y;
113
+ return {
114
+ x: x,
115
+ y: y
116
+ };
117
+ },
118
+ fromDelta: function fromDelta(props, delta) {
119
+ var newPoint = utils.point(props).add(utils.point(delta));
120
+ return newPoint;
121
+ }
122
+ })(BgCircle);
123
+ //# sourceMappingURL=bg-circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bg-circle.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_plot","_renderUi","utils","_interopRequireWildcard","_styles","_styles2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","RawCircle","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","disabled","className","correctness","x","y","radius","graphProps","rest","_objectWithoutProperties2","scale","rx","Math","abs","ry","createElement","StyledEllipse","_extends2","classNames","cx","cy","React","Component","PropTypes","string","bool","number","isRequired","types","GraphPropsType","applyStyle","fn","strokeWidth","styled","fill","stroke","color","defaults","BLACK","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","BgCircle","exports","_default","gridDraggable","bounds","_ref","domain","range","area","left","top","bottom","right","anchorPoint","fromDelta","delta","newPoint","point","add"],"sources":["../../../src/tools/circle/bg-circle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, disabledSecondary, correct, incorrect, missing } from '../shared/styles';\nimport { styled } from '@mui/material/styles';\n\nclass RawCircle extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n render() {\n const { disabled, className, correctness, x, y, radius, graphProps, ...rest } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <StyledEllipse\n className={classNames(className, disabled && 'disabledSecondary', correctness)}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\n// helper to convert old style functions\nconst applyStyle = (fn) => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke'),\n },\n});\n\nconst StyledEllipse = styled('ellipse')(() => ({\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 '&.disabled': applyStyle(disabled),\n '&.disabledSecondary': applyStyle(disabledSecondary),\n '&.correct': applyStyle(correct),\n '&.incorrect': applyStyle(incorrect),\n '&.missing': applyStyle(missing),\n}));\n\nexport const BgCircle = RawCircle;\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n },\n})(BgCircle);\n"],"mappings":"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","ignoreList":[]}