@pie-lib/graphing-solution-set 2.34.3-next.0 → 2.34.3-next.155

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 (142) hide show
  1. package/CHANGELOG.md +7 -78
  2. package/esm/package.json +3 -0
  3. package/lib/axis/arrow.js +19 -55
  4. package/lib/axis/arrow.js.map +1 -1
  5. package/lib/axis/axes.js +103 -193
  6. package/lib/axis/axes.js.map +1 -1
  7. package/lib/axis/index.js +1 -6
  8. package/lib/axis/index.js.map +1 -1
  9. package/lib/bg.js +21 -49
  10. package/lib/bg.js.map +1 -1
  11. package/lib/container/actions.js +2 -8
  12. package/lib/container/actions.js.map +1 -1
  13. package/lib/container/index.js +14 -60
  14. package/lib/container/index.js.map +1 -1
  15. package/lib/container/marks.js +1 -6
  16. package/lib/container/marks.js.map +1 -1
  17. package/lib/container/middleware.js +2 -8
  18. package/lib/container/middleware.js.map +1 -1
  19. package/lib/container/reducer.js +1 -8
  20. package/lib/container/reducer.js.map +1 -1
  21. package/lib/coordinates-label.js +23 -55
  22. package/lib/coordinates-label.js.map +1 -1
  23. package/lib/graph-with-controls.js +129 -203
  24. package/lib/graph-with-controls.js.map +1 -1
  25. package/lib/graph.js +61 -126
  26. package/lib/graph.js.map +1 -1
  27. package/lib/grid-setup.js +168 -224
  28. package/lib/grid-setup.js.map +1 -1
  29. package/lib/grid.js +29 -74
  30. package/lib/grid.js.map +1 -1
  31. package/lib/index.js +1 -12
  32. package/lib/index.js.map +1 -1
  33. package/lib/labels.js +84 -184
  34. package/lib/labels.js.map +1 -1
  35. package/lib/mark-label.js +39 -88
  36. package/lib/mark-label.js.map +1 -1
  37. package/lib/toggle-bar.js +155 -243
  38. package/lib/toggle-bar.js.map +1 -1
  39. package/lib/tool-menu.js +93 -200
  40. package/lib/tool-menu.js.map +1 -1
  41. package/lib/tools/index.js +2 -7
  42. package/lib/tools/index.js.map +1 -1
  43. package/lib/tools/line/component.js +48 -62
  44. package/lib/tools/line/component.js.map +1 -1
  45. package/lib/tools/line/index.js +1 -6
  46. package/lib/tools/line/index.js.map +1 -1
  47. package/lib/tools/polygon/component.js +76 -173
  48. package/lib/tools/polygon/component.js.map +1 -1
  49. package/lib/tools/polygon/index.js +6 -23
  50. package/lib/tools/polygon/index.js.map +1 -1
  51. package/lib/tools/polygon/line.js +48 -85
  52. package/lib/tools/polygon/line.js.map +1 -1
  53. package/lib/tools/polygon/polygon.js +62 -102
  54. package/lib/tools/polygon/polygon.js.map +1 -1
  55. package/lib/tools/shared/arrow-head.js +7 -20
  56. package/lib/tools/shared/arrow-head.js.map +1 -1
  57. package/lib/tools/shared/line/index.js +89 -185
  58. package/lib/tools/shared/line/index.js.map +1 -1
  59. package/lib/tools/shared/line/line-path.js +71 -95
  60. package/lib/tools/shared/line/line-path.js.map +1 -1
  61. package/lib/tools/shared/line/with-root-edge.js +22 -56
  62. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  63. package/lib/tools/shared/point/arrow-point.js +18 -45
  64. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  65. package/lib/tools/shared/point/arrow.js +16 -42
  66. package/lib/tools/shared/point/arrow.js.map +1 -1
  67. package/lib/tools/shared/point/base-point.js +44 -58
  68. package/lib/tools/shared/point/base-point.js.map +1 -1
  69. package/lib/tools/shared/point/index.js +38 -52
  70. package/lib/tools/shared/point/index.js.map +1 -1
  71. package/lib/tools/shared/styles.js +8 -31
  72. package/lib/tools/shared/styles.js.map +1 -1
  73. package/lib/tools/shared/types.js +1 -5
  74. package/lib/tools/shared/types.js.map +1 -1
  75. package/lib/undo-redo.js +27 -67
  76. package/lib/undo-redo.js.map +1 -1
  77. package/lib/use-debounce.js +4 -11
  78. package/lib/use-debounce.js.map +1 -1
  79. package/lib/utils.js +56 -131
  80. package/lib/utils.js.map +1 -1
  81. package/package.json +34 -23
  82. package/src/__tests__/graph-with-controls.test.jsx +23 -10
  83. package/src/__tests__/graph.test.jsx +36 -171
  84. package/src/__tests__/grid.test.jsx +9 -6
  85. package/src/__tests__/labels.test.jsx +11 -8
  86. package/src/__tests__/mark-label.test.jsx +15 -17
  87. package/src/__tests__/toggle-bar.test.jsx +46 -17
  88. package/src/__tests__/tool-menu.test.jsx +12 -8
  89. package/src/__tests__/undo-redo.test.jsx +9 -8
  90. package/src/__tests__/utils.js +3 -0
  91. package/src/axis/__tests__/arrow.test.jsx +21 -17
  92. package/src/axis/__tests__/axes.test.jsx +117 -155
  93. package/src/axis/arrow.jsx +7 -12
  94. package/src/axis/axes.jsx +41 -51
  95. package/src/coordinates-label.jsx +13 -18
  96. package/src/graph-with-controls.jsx +90 -93
  97. package/src/grid-setup.jsx +210 -206
  98. package/src/grid.jsx +2 -4
  99. package/src/labels.jsx +83 -124
  100. package/src/mark-label.jsx +14 -25
  101. package/src/toggle-bar.jsx +135 -163
  102. package/src/tool-menu.jsx +136 -195
  103. package/src/tools/line/__tests__/component.test.jsx +7 -7
  104. package/src/tools/line/component.jsx +29 -29
  105. package/src/tools/polygon/__tests__/component.test.jsx +13 -152
  106. package/src/tools/polygon/__tests__/line.test.jsx +7 -9
  107. package/src/tools/polygon/__tests__/polygon.test.jsx +8 -8
  108. package/src/tools/polygon/component.jsx +2 -4
  109. package/src/tools/polygon/line.jsx +26 -24
  110. package/src/tools/polygon/polygon.jsx +35 -40
  111. package/src/tools/shared/__tests__/arrow-head.test.jsx +16 -17
  112. package/src/tools/shared/line/__tests__/index.test.jsx +26 -163
  113. package/src/tools/shared/line/__tests__/line-path.test.jsx +9 -9
  114. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +14 -24
  115. package/src/tools/shared/line/index.jsx +3 -3
  116. package/src/tools/shared/line/line-path.jsx +51 -48
  117. package/src/tools/shared/line/with-root-edge.jsx +1 -1
  118. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
  119. package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
  120. package/src/tools/shared/point/base-point.jsx +33 -6
  121. package/src/tools/shared/point/index.jsx +30 -32
  122. package/src/undo-redo.jsx +16 -24
  123. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -114
  124. package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -213
  125. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
  126. package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
  127. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -37
  128. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
  129. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -35
  130. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -15
  131. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
  132. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
  133. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
  134. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -94
  135. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -44
  136. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -53
  137. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -32
  138. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
  139. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -57
  140. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
  141. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -55
  142. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -43
package/lib/mark-label.js CHANGED
@@ -1,73 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.position = exports["default"] = exports.coordinates = exports.MarkLabel = void 0;
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _classnames = _interopRequireDefault(require("classnames"));
19
-
20
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
-
22
- var _styles = require("@material-ui/core/styles");
23
-
13
+ var _styles = require("@mui/material/styles");
24
14
  var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
25
-
26
15
  var _useDebounce = require("./use-debounce");
27
-
28
16
  var _plot = require("@pie-lib/plot");
29
-
30
17
  var _renderUi = require("@pie-lib/render-ui");
31
-
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
-
38
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
-
40
- var styles = function styles(theme) {
18
+ 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); }
19
+ 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; }
20
+ 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; }
21
+ var StyledAutosizeInput = (0, _styles.styled)(_reactInputAutosize["default"], {
22
+ shouldForwardProp: function shouldForwardProp(prop) {
23
+ return !['disabled', 'markDisabled'].includes(prop);
24
+ }
25
+ })(function (_ref2) {
26
+ var theme = _ref2.theme,
27
+ disabled = _ref2.disabled,
28
+ markDisabled = _ref2.markDisabled;
41
29
  return {
42
- input: {
30
+ '& input': {
43
31
  "float": 'right',
44
- padding: theme.spacing.unit * 0.5,
32
+ padding: theme.spacing(0.5),
45
33
  fontFamily: theme.typography.fontFamily,
46
34
  fontSize: theme.typography.fontSize,
47
- border: "solid 1px ".concat(_renderUi.color.defaults.SECONDARY),
35
+ border: "solid 1px ".concat(disabled ? _renderUi.color.defaults.PRIMARY_DARK : markDisabled ? _renderUi.color.disabled() : _renderUi.color.defaults.SECONDARY),
48
36
  borderRadius: '3px',
49
- color: _renderUi.color.defaults.PRIMARY_DARK
50
- },
51
- disabled: {
52
- border: "solid 1px ".concat(_renderUi.color.defaults.PRIMARY_DARK),
53
- background: theme.palette.background.paper
54
- },
55
- disabledMark: {
56
- border: "solid 1px ".concat(_renderUi.color.disabled()),
57
- background: theme.palette.background.paper,
58
- color: _renderUi.color.disabled()
37
+ color: markDisabled ? _renderUi.color.disabled() : _renderUi.color.defaults.PRIMARY_DARK,
38
+ background: disabled || markDisabled ? theme.palette.background.paper : 'transparent'
59
39
  }
60
40
  };
61
- };
62
-
63
- var position = function position(graphProps, mark, rect) {
41
+ });
42
+ var position = exports.position = function position(graphProps, mark, rect) {
64
43
  rect = rect || {
65
44
  width: 0,
66
45
  height: 0
67
46
  };
68
47
  var scale = graphProps.scale,
69
- domain = graphProps.domain,
70
- range = graphProps.range;
48
+ domain = graphProps.domain,
49
+ range = graphProps.range;
71
50
  var shift = 10;
72
51
  var rightEdge = scale.x(mark.x) + rect.width + shift;
73
52
  var bottomEdge = scale.y(mark.y) + rect.height + shift;
@@ -75,17 +54,13 @@ var position = function position(graphProps, mark, rect) {
75
54
  var v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';
76
55
  return "".concat(v, "-").concat(h);
77
56
  };
78
-
79
- exports.position = position;
80
-
81
- var coordinates = function coordinates(graphProps, mark, rect, position) {
57
+ var coordinates = exports.coordinates = function coordinates(graphProps, mark, rect, position) {
82
58
  var scale = graphProps.scale;
83
59
  var shift = 10;
84
60
  rect = rect || {
85
61
  width: 0,
86
62
  height: 0
87
63
  };
88
-
89
64
  switch (position) {
90
65
  case 'bottom-right':
91
66
  {
@@ -94,7 +69,6 @@ var coordinates = function coordinates(graphProps, mark, rect, position) {
94
69
  top: scale.y(mark.y) + shift
95
70
  };
96
71
  }
97
-
98
72
  case 'bottom-left':
99
73
  {
100
74
  return {
@@ -102,7 +76,6 @@ var coordinates = function coordinates(graphProps, mark, rect, position) {
102
76
  top: scale.y(mark.y) + shift
103
77
  };
104
78
  }
105
-
106
79
  case 'top-left':
107
80
  {
108
81
  return {
@@ -110,7 +83,6 @@ var coordinates = function coordinates(graphProps, mark, rect, position) {
110
83
  top: scale.y(mark.y) - shift - rect.height
111
84
  };
112
85
  }
113
-
114
86
  case 'top-right':
115
87
  {
116
88
  return {
@@ -120,43 +92,33 @@ var coordinates = function coordinates(graphProps, mark, rect, position) {
120
92
  }
121
93
  }
122
94
  };
123
-
124
- exports.coordinates = coordinates;
125
-
126
- var MarkLabel = function MarkLabel(props) {
127
- var _cn;
128
-
95
+ var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
129
96
  var _useState = (0, _react.useState)(null),
130
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
131
- input = _useState2[0],
132
- setInput = _useState2[1];
133
-
97
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
98
+ input = _useState2[0],
99
+ setInput = _useState2[1];
134
100
  var _ref = (0, _react.useCallback)(function (node) {
135
101
  return setInput(node);
136
102
  });
137
-
138
103
  var mark = props.mark,
139
- graphProps = props.graphProps,
140
- classes = props.classes,
141
- disabled = props.disabled,
142
- externalInputRef = props.inputRef,
143
- theme = props.theme;
144
-
104
+ graphProps = props.graphProps,
105
+ disabled = props.disabled,
106
+ externalInputRef = props.inputRef;
145
107
  var _useState3 = (0, _react.useState)(mark.label),
146
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
147
- label = _useState4[0],
148
- setLabel = _useState4[1];
149
-
108
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
109
+ label = _useState4[0],
110
+ setLabel = _useState4[1];
150
111
  var onChange = function onChange(e) {
151
112
  return setLabel(e.target.value);
152
113
  };
114
+ var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200);
153
115
 
154
- var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200); // useState only sets the value once, to synch props to state need useEffect
155
-
116
+ // useState only sets the value once, to synch props to state need useEffect
156
117
  (0, _react.useEffect)(function () {
157
118
  setLabel(mark.label);
158
- }, [mark.label]); // pick up the change to debouncedLabel and save it
119
+ }, [mark.label]);
159
120
 
121
+ // pick up the change to debouncedLabel and save it
160
122
  (0, _react.useEffect)(function () {
161
123
  if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {
162
124
  props.onChange(debouncedLabel);
@@ -168,41 +130,30 @@ var MarkLabel = function MarkLabel(props) {
168
130
  };
169
131
  var pos = position(graphProps, mark, rect);
170
132
  var leftTop = coordinates(graphProps, mark, rect, pos);
171
-
172
133
  var style = _objectSpread({
173
134
  position: 'fixed',
174
135
  pointerEvents: 'auto'
175
136
  }, leftTop);
176
-
177
137
  var disabledInput = disabled || mark.disabled;
178
- return /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
138
+ return /*#__PURE__*/_react["default"].createElement(StyledAutosizeInput, {
179
139
  inputRef: function inputRef(r) {
180
140
  _ref(r);
181
-
182
141
  externalInputRef(r);
183
142
  },
184
143
  disabled: disabledInput,
185
- inputClassName: (0, _classnames["default"])(classes.input, (_cn = {}, (0, _defineProperty2["default"])(_cn, classes.disabled, disabled), (0, _defineProperty2["default"])(_cn, classes.disabledMark, mark.disabled), _cn)),
144
+ markDisabled: mark.disabled,
186
145
  value: label,
187
146
  style: style,
188
147
  onChange: onChange
189
148
  });
190
149
  };
191
-
192
- exports.MarkLabel = MarkLabel;
193
150
  MarkLabel.propTypes = {
194
151
  disabled: _propTypes["default"].bool,
195
152
  onChange: _propTypes["default"].func,
196
153
  graphProps: _plot.types.GraphPropsType,
197
- classes: _propTypes["default"].object,
198
154
  inputRef: _propTypes["default"].func,
199
155
  mark: _propTypes["default"].object,
200
156
  theme: _propTypes["default"].object
201
157
  };
202
-
203
- var _default = (0, _styles.withStyles)(styles, {
204
- withTheme: true
205
- })(MarkLabel);
206
-
207
- exports["default"] = _default;
158
+ var _default = exports["default"] = MarkLabel;
208
159
  //# sourceMappingURL=mark-label.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","padding","spacing","unit","fontFamily","typography","fontSize","border","color","defaults","SECONDARY","borderRadius","PRIMARY_DARK","disabled","background","palette","paper","disabledMark","position","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","setInput","_ref","node","classes","externalInputRef","inputRef","label","setLabel","onChange","e","target","value","debouncedLabel","getBoundingClientRect","pos","leftTop","style","pointerEvents","disabledInput","r","propTypes","PropTypes","bool","func","types","GraphPropsType","object","withTheme"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = (theme) => ({\n input: {\n float: 'right',\n padding: theme.spacing.unit * 0.5,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: color.defaults.PRIMARY_DARK,\n },\n disabled: {\n border: `solid 1px ${color.defaults.PRIMARY_DARK}`,\n background: theme.palette.background.paper,\n },\n disabledMark: {\n border: `solid 1px ${color.disabled()}`,\n background: theme.palette.background.paper,\n color: color.disabled(),\n },\n});\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n }\n};\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n\n const { mark, graphProps, classes, disabled, inputRef: externalInputRef, theme } = props;\n\n const [label, setLabel] = useState(mark.label);\n\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n ...leftTop,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n return (\n <AutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabledInput}\n inputClassName={cn(classes.input, {\n [classes.disabled]: disabled,\n [classes.disabledMark]: mark.disabled,\n })}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n theme: PropTypes.object,\n};\n\nexport default withStyles(styles, { withTheme: true })(MarkLabel);\n"],"file":"mark-label.js"}
1
+ {"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInputAutosize","_useDebounce","_plot","_renderUi","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","StyledAutosizeInput","styled","AutosizeInput","shouldForwardProp","prop","includes","_ref2","theme","disabled","markDisabled","padding","spacing","fontFamily","typography","fontSize","border","concat","color","defaults","PRIMARY_DARK","SECONDARY","borderRadius","background","palette","paper","position","exports","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","_ref","useCallback","node","externalInputRef","inputRef","_useState3","label","_useState4","setLabel","onChange","target","value","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","disabledInput","createElement","propTypes","PropTypes","bool","func","types","GraphPropsType","object","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledAutosizeInput = styled(AutosizeInput, {\n shouldForwardProp: (prop) => !['disabled', 'markDisabled'].includes(prop),\n})(({ theme, disabled, markDisabled }) => ({\n '& input': {\n float: 'right',\n padding: theme.spacing(0.5),\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${disabled ? color.defaults.PRIMARY_DARK : markDisabled ? color.disabled() : color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: markDisabled ? color.disabled() : color.defaults.PRIMARY_DARK,\n background: (disabled || markDisabled) ? theme.palette.background.paper : 'transparent',\n },\n}));\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n }\n};\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n\n const { mark, graphProps, disabled, inputRef: externalInputRef } = props;\n\n const [label, setLabel] = useState(mark.label);\n\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n ...leftTop,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n return (\n <StyledAutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabledInput}\n markDisabled={mark.disabled}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n theme: PropTypes.object,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}