@pie-lib/graphing-solution-set 2.32.0 → 2.34.0-mui-update.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/lib/axis/arrow.js +19 -55
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +101 -184
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +1 -6
  7. package/lib/axis/index.js.map +1 -1
  8. package/lib/bg.js +21 -49
  9. package/lib/bg.js.map +1 -1
  10. package/lib/container/actions.js +2 -8
  11. package/lib/container/actions.js.map +1 -1
  12. package/lib/container/index.js +14 -60
  13. package/lib/container/index.js.map +1 -1
  14. package/lib/container/marks.js +1 -6
  15. package/lib/container/marks.js.map +1 -1
  16. package/lib/container/middleware.js +2 -8
  17. package/lib/container/middleware.js.map +1 -1
  18. package/lib/container/reducer.js +1 -8
  19. package/lib/container/reducer.js.map +1 -1
  20. package/lib/coordinates-label.js +23 -55
  21. package/lib/coordinates-label.js.map +1 -1
  22. package/lib/graph-with-controls.js +132 -203
  23. package/lib/graph-with-controls.js.map +1 -1
  24. package/lib/graph.js +61 -126
  25. package/lib/graph.js.map +1 -1
  26. package/lib/grid-setup.js +161 -223
  27. package/lib/grid-setup.js.map +1 -1
  28. package/lib/grid.js +28 -73
  29. package/lib/grid.js.map +1 -1
  30. package/lib/index.js +1 -12
  31. package/lib/index.js.map +1 -1
  32. package/lib/labels.js +84 -184
  33. package/lib/labels.js.map +1 -1
  34. package/lib/mark-label.js +40 -88
  35. package/lib/mark-label.js.map +1 -1
  36. package/lib/toggle-bar.js +158 -242
  37. package/lib/toggle-bar.js.map +1 -1
  38. package/lib/tool-menu.js +93 -200
  39. package/lib/tool-menu.js.map +1 -1
  40. package/lib/tools/index.js +2 -7
  41. package/lib/tools/index.js.map +1 -1
  42. package/lib/tools/line/component.js +48 -62
  43. package/lib/tools/line/component.js.map +1 -1
  44. package/lib/tools/line/index.js +1 -6
  45. package/lib/tools/line/index.js.map +1 -1
  46. package/lib/tools/polygon/component.js +75 -172
  47. package/lib/tools/polygon/component.js.map +1 -1
  48. package/lib/tools/polygon/index.js +6 -23
  49. package/lib/tools/polygon/index.js.map +1 -1
  50. package/lib/tools/polygon/line.js +48 -85
  51. package/lib/tools/polygon/line.js.map +1 -1
  52. package/lib/tools/polygon/polygon.js +64 -102
  53. package/lib/tools/polygon/polygon.js.map +1 -1
  54. package/lib/tools/shared/arrow-head.js +7 -20
  55. package/lib/tools/shared/arrow-head.js.map +1 -1
  56. package/lib/tools/shared/line/index.js +86 -182
  57. package/lib/tools/shared/line/index.js.map +1 -1
  58. package/lib/tools/shared/line/line-path.js +70 -94
  59. package/lib/tools/shared/line/line-path.js.map +1 -1
  60. package/lib/tools/shared/line/with-root-edge.js +21 -55
  61. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  62. package/lib/tools/shared/point/arrow-point.js +18 -45
  63. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  64. package/lib/tools/shared/point/arrow.js +16 -42
  65. package/lib/tools/shared/point/arrow.js.map +1 -1
  66. package/lib/tools/shared/point/base-point.js +22 -52
  67. package/lib/tools/shared/point/base-point.js.map +1 -1
  68. package/lib/tools/shared/point/index.js +30 -52
  69. package/lib/tools/shared/point/index.js.map +1 -1
  70. package/lib/tools/shared/styles.js +8 -31
  71. package/lib/tools/shared/styles.js.map +1 -1
  72. package/lib/tools/shared/types.js +1 -5
  73. package/lib/tools/shared/types.js.map +1 -1
  74. package/lib/undo-redo.js +27 -67
  75. package/lib/undo-redo.js.map +1 -1
  76. package/lib/use-debounce.js +4 -11
  77. package/lib/use-debounce.js.map +1 -1
  78. package/lib/utils.js +56 -131
  79. package/lib/utils.js.map +1 -1
  80. package/package.json +16 -14
  81. package/src/axis/arrow.jsx +7 -12
  82. package/src/axis/axes.jsx +32 -37
  83. package/src/coordinates-label.jsx +13 -18
  84. package/src/graph-with-controls.jsx +90 -93
  85. package/src/grid-setup.jsx +204 -206
  86. package/src/grid.jsx +1 -3
  87. package/src/labels.jsx +83 -124
  88. package/src/mark-label.jsx +14 -25
  89. package/src/toggle-bar.jsx +155 -166
  90. package/src/tool-menu.jsx +136 -195
  91. package/src/tools/line/component.jsx +29 -29
  92. package/src/tools/polygon/component.jsx +1 -3
  93. package/src/tools/polygon/line.jsx +26 -24
  94. package/src/tools/polygon/polygon.jsx +34 -39
  95. package/src/tools/shared/line/line-path.jsx +50 -47
  96. package/src/tools/shared/point/index.jsx +22 -34
  97. package/src/undo-redo.jsx +16 -24
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,34 @@ 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,
107
+ theme = props.theme;
145
108
  var _useState3 = (0, _react.useState)(mark.label),
146
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
147
- label = _useState4[0],
148
- setLabel = _useState4[1];
149
-
109
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
110
+ label = _useState4[0],
111
+ setLabel = _useState4[1];
150
112
  var onChange = function onChange(e) {
151
113
  return setLabel(e.target.value);
152
114
  };
115
+ var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200);
153
116
 
154
- var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200); // useState only sets the value once, to synch props to state need useEffect
155
-
117
+ // useState only sets the value once, to synch props to state need useEffect
156
118
  (0, _react.useEffect)(function () {
157
119
  setLabel(mark.label);
158
- }, [mark.label]); // pick up the change to debouncedLabel and save it
120
+ }, [mark.label]);
159
121
 
122
+ // pick up the change to debouncedLabel and save it
160
123
  (0, _react.useEffect)(function () {
161
124
  if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {
162
125
  props.onChange(debouncedLabel);
@@ -168,41 +131,30 @@ var MarkLabel = function MarkLabel(props) {
168
131
  };
169
132
  var pos = position(graphProps, mark, rect);
170
133
  var leftTop = coordinates(graphProps, mark, rect, pos);
171
-
172
134
  var style = _objectSpread({
173
135
  position: 'fixed',
174
136
  pointerEvents: 'auto'
175
137
  }, leftTop);
176
-
177
138
  var disabledInput = disabled || mark.disabled;
178
- return /*#__PURE__*/_react["default"].createElement(_reactInputAutosize["default"], {
139
+ return /*#__PURE__*/_react["default"].createElement(StyledAutosizeInput, {
179
140
  inputRef: function inputRef(r) {
180
141
  _ref(r);
181
-
182
142
  externalInputRef(r);
183
143
  },
184
144
  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)),
145
+ markDisabled: mark.disabled,
186
146
  value: label,
187
147
  style: style,
188
148
  onChange: onChange
189
149
  });
190
150
  };
191
-
192
- exports.MarkLabel = MarkLabel;
193
151
  MarkLabel.propTypes = {
194
152
  disabled: _propTypes["default"].bool,
195
153
  onChange: _propTypes["default"].func,
196
154
  graphProps: _plot.types.GraphPropsType,
197
- classes: _propTypes["default"].object,
198
155
  inputRef: _propTypes["default"].func,
199
156
  mark: _propTypes["default"].object,
200
157
  theme: _propTypes["default"].object
201
158
  };
202
-
203
- var _default = (0, _styles.withStyles)(styles, {
204
- withTheme: true
205
- })(MarkLabel);
206
-
207
- exports["default"] = _default;
159
+ var _default = exports["default"] = MarkLabel;
208
160
  //# 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, 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 <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":[]}