@pie-lib/plot 3.2.0-next.0 → 3.2.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,64 +3,79 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [3.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.2...@pie-lib/plot@3.1.0-next.4) (2026-01-27)
6
+ # [3.2.0-next.11](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.9...@pie-lib/plot@3.2.0-next.11) (2026-02-26)
7
7
 
8
8
  **Note:** Version bump only for package @pie-lib/plot
9
9
 
10
-
11
-
12
-
13
-
14
- # [3.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.1...@pie-lib/plot@3.1.0-next.2) (2026-01-26)
10
+ # [3.2.0-next.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.8...@pie-lib/plot@3.2.0-next.9) (2026-02-25)
15
11
 
16
12
  **Note:** Version bump only for package @pie-lib/plot
17
13
 
14
+ # [3.2.0-next.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.7...@pie-lib/plot@3.2.0-next.8) (2026-02-25)
18
15
 
16
+ ### Bug Fixes
19
17
 
18
+ - **deps:** update [@pie-lib](https://github.com/pie-lib) dependencies to published versions ([134fbdc](https://github.com/pie-framework/pie-lib/commit/134fbdc90c6a15f89a736340578d70fb80a983b3))
20
19
 
20
+ # [3.2.0-next.7](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.6...@pie-lib/plot@3.2.0-next.7) (2026-02-25)
21
21
 
22
- # [3.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.2...@pie-lib/plot@3.1.0-next.1) (2026-01-26)
22
+ **Note:** Version bump only for package @pie-lib/plot
23
23
 
24
+ # [3.2.0-next.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.5...@pie-lib/plot@3.2.0-next.6) (2026-02-25)
24
25
 
25
- ### Bug Fixes
26
+ **Note:** Version bump only for package @pie-lib/plot
26
27
 
27
- * remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
28
- * remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
29
- * remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
30
- * updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
31
- * **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
32
- * use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
28
+ # [3.2.0-next.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.4...@pie-lib/plot@3.2.0-next.5) (2026-02-25)
33
29
 
30
+ ### Bug Fixes
34
31
 
35
- ### Features
32
+ - **plot:** add a small buffer to ensure we can reach the boudaries PD-5498 ([e71922d](https://github.com/pie-framework/pie-lib/commit/e71922d80e60dc013ea97c8818ee3458ecf85ba8))
36
33
 
37
- * bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
38
- * migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
39
- * packages/plot mui update PD-5268 ([6456853](https://github.com/pie-framework/pie-lib/commit/645685333cb277208ca197b2853a3780edc92b15))
40
- * sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
34
+ # [3.2.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.3...@pie-lib/plot@3.2.0-next.4) (2026-02-24)
41
35
 
36
+ **Note:** Version bump only for package @pie-lib/plot
42
37
 
38
+ # [3.2.0-next.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.1...@pie-lib/plot@3.2.0-next.3) (2026-02-24)
43
39
 
40
+ ### Bug Fixes
44
41
 
42
+ - made sure placeholder works, math item does not blur editor, table toolbar contains correct extensions [PD-5616] [PD-5584] [PD-5627] ([9bc768f](https://github.com/pie-framework/pie-lib/commit/9bc768f4e4301f91cc768475f0defa545ee7b43d))
45
43
 
46
- # [3.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.3-next.0...@pie-lib/plot@3.0.0-next.0) (2026-01-19)
44
+ # [3.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.2...@pie-lib/plot@3.1.0-next.4) (2026-01-27)
47
45
 
48
46
  **Note:** Version bump only for package @pie-lib/plot
49
47
 
48
+ # [3.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.1...@pie-lib/plot@3.1.0-next.2) (2026-01-26)
50
49
 
50
+ **Note:** Version bump only for package @pie-lib/plot
51
51
 
52
+ # [3.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.2...@pie-lib/plot@3.1.0-next.1) (2026-01-26)
52
53
 
54
+ ### Bug Fixes
53
55
 
54
- ## [2.27.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.41.0-mui-update.0...@pie-lib/plot@2.27.3-next.0) (2026-01-19)
56
+ - remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
57
+ - remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
58
+ - remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
59
+ - updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
60
+ - **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
61
+ - use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
55
62
 
63
+ ### Features
56
64
 
57
- ### Bug Fixes
65
+ - bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
66
+ - migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
67
+ - packages/plot mui update PD-5268 ([6456853](https://github.com/pie-framework/pie-lib/commit/645685333cb277208ca197b2853a3780edc92b15))
68
+ - sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
58
69
 
59
- * **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
70
+ # [3.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.3-next.0...@pie-lib/plot@3.0.0-next.0) (2026-01-19)
60
71
 
72
+ **Note:** Version bump only for package @pie-lib/plot
61
73
 
74
+ ## [2.27.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.41.0-mui-update.0...@pie-lib/plot@2.27.3-next.0) (2026-01-19)
62
75
 
76
+ ### Bug Fixes
63
77
 
78
+ - **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
64
79
 
65
80
  ## [2.27.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.1...@pie-lib/plot@2.27.2) (2025-11-27)
66
81
 
@@ -26,6 +26,8 @@ var _invariant = _interopRequireDefault(require("invariant"));
26
26
  var _d3Selection = require("d3-selection");
27
27
  var _excluded = ["disabled"];
28
28
  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); }
29
+ 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; }
30
+ 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
31
  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
32
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
33
  var log = (0, _debug["default"])('pie-lib:plot:grid-draggable');
@@ -109,6 +111,18 @@ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
109
111
  top: bounds.top * grid.y,
110
112
  bottom: bounds.bottom * grid.y
111
113
  };
114
+
115
+ // Normalize Y bounds so that:
116
+ // - top is <= 0 (negative or zero, allowing upward movement)
117
+ // - bottom is >= 0 (positive or zero, allowing downward movement)
118
+ // This compensates for the inverted Y scale (range.max -> 0, range.min -> size.height)
119
+ // Add a small buffer (1 grid unit) to ensure we can reach exact boundaries
120
+ var buffer = Math.abs(grid.y);
121
+ scaled = _objectSpread(_objectSpread({}, scaled), {}, {
122
+ top: Math.min(0, scaled.top) - buffer,
123
+ // More negative to allow reaching max
124
+ bottom: Math.abs(scaled.bottom) + buffer // More positive to allow reaching min
125
+ });
112
126
  log('[getScaledBounds]: ', scaled);
113
127
  return scaled;
114
128
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grid-draggable.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_draggable","_debug","utils","_interopRequireWildcard","_lodashEs","_invariant","_d3Selection","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","deltaFn","exports","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","_GridDraggable","invariant","isFunction","fromDelta","bounds","anchorPoint","_React$Component","GridDraggable","props","_this","_classCallCheck2","_defineProperty2","graphProps","domain","range","x","step","y","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","_opts$anchorPoint","key","event","K","toUpperCase","end","concat","start","state","Math","abs","out","grid","scaled","left","right","top","bottom","node","svg","ownerSVGElement","createSVGPoint","point","touches","length","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","_clientPoint","_slicedToArray2","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","_this$props","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","getDelta","_this$props2","onDragStop","onClick","lastX","lastY","isClick","tiny","_pointer","pointer","target","_pointer2","_inherits2","_createClass2","value","render","_this$props3","disabled","rest","_objectWithoutProperties2","onMouseDown","nativeEvent","preventDefault","isDragging","createElement","DraggableCore","onStart","onStop","axis","_extends2","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport { isFunction } from 'lodash-es';\nimport invariant from 'invariant';\nimport { pointer } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n startX: null,\n startY: null,\n };\n }\n\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: bounds.left * grid.x,\n right: bounds.right * grid.x,\n top: bounds.top * grid.y,\n bottom: bounds.bottom * grid.y,\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = pointer(e, e.target);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"grid-draggable.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_draggable","_debug","utils","_interopRequireWildcard","_lodashEs","_invariant","_d3Selection","_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","log","debug","deltaFn","exports","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","_GridDraggable","invariant","isFunction","fromDelta","bounds","anchorPoint","_React$Component","GridDraggable","props","_this","_classCallCheck2","graphProps","domain","range","x","step","y","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","_opts$anchorPoint","key","event","K","toUpperCase","end","concat","start","state","Math","abs","out","grid","scaled","left","right","top","bottom","buffer","min","node","svg","ownerSVGElement","createSVGPoint","point","touches","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","_clientPoint","_slicedToArray2","rawX","rawY","xOutside","deltaX","max","yOutside","deltaY","_this$props","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","getDelta","_this$props2","onDragStop","onClick","lastX","lastY","isClick","tiny","_pointer","pointer","target","_pointer2","_inherits2","_createClass2","value","render","_this$props3","disabled","rest","_objectWithoutProperties2","onMouseDown","nativeEvent","preventDefault","isDragging","createElement","DraggableCore","onStart","onStop","axis","_extends2","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport { isFunction } from 'lodash-es';\nimport invariant from 'invariant';\nimport { pointer } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n startX: null,\n startY: null,\n };\n }\n\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n let scaled = {\n left: bounds.left * grid.x,\n right: bounds.right * grid.x,\n top: bounds.top * grid.y,\n bottom: bounds.bottom * grid.y,\n };\n\n // Normalize Y bounds so that:\n // - top is <= 0 (negative or zero, allowing upward movement)\n // - bottom is >= 0 (positive or zero, allowing downward movement)\n // This compensates for the inverted Y scale (range.max -> 0, range.min -> size.height)\n // Add a small buffer (1 grid unit) to ensure we can reach exact boundaries\n const buffer = Math.abs(grid.y);\n scaled = {\n ...scaled,\n top: Math.min(0, scaled.top) - buffer, // More negative to allow reaching max\n bottom: Math.abs(scaled.bottom) + buffer, // More positive to allow reaching min\n };\n\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = pointer(e, e.target);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/lib/root.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = exports.Root = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -311,10 +312,9 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
311
312
  }
312
313
  }, isChart ? /*#__PURE__*/_react["default"].createElement(ChartTitle, {
313
314
  className: showPixelGuides ? 'rightMargin' : ''
314
- }, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
315
- style: isChart && {
316
- width: finalWidth
317
- },
315
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], (0, _extends2["default"])({}, isChart && {
316
+ width: finalWidth
317
+ }, {
318
318
  markup: title || '',
319
319
  onChange: onChangeTitle,
320
320
  placeholder: defineChart && titlePlaceholder || !disabledTitle && 'Click here to add a title for this graph',
@@ -325,12 +325,11 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
325
325
  activePlugins: activeTitlePlugins,
326
326
  disableScrollbar: true,
327
327
  onKeyDown: this.handleKeyDown
328
- })) : /*#__PURE__*/_react["default"].createElement(GraphTitle, {
328
+ }))) : /*#__PURE__*/_react["default"].createElement(GraphTitle, {
329
329
  className: showPixelGuides ? 'rightMargin' : ''
330
- }, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
331
- style: isChart && {
332
- width: finalWidth
333
- },
330
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], (0, _extends2["default"])({}, isChart && {
331
+ width: finalWidth
332
+ }, {
334
333
  markup: title || '',
335
334
  onChange: onChangeTitle,
336
335
  placeholder: defineChart && titlePlaceholder || !disabledTitle && 'Click here to add a title for this graph',
@@ -341,7 +340,7 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
341
340
  activePlugins: activeTitlePlugins,
342
341
  disableScrollbar: true,
343
342
  onKeyDown: this.handleKeyDown
344
- })))), showLabels && !isChart && /*#__PURE__*/_react["default"].createElement(_label["default"], {
343
+ }))))), showLabels && !isChart && /*#__PURE__*/_react["default"].createElement(_label["default"], {
345
344
  side: "top",
346
345
  text: labels.top,
347
346
  disabledLabel: disabledLabels,
package/lib/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","_extends2","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "3.2.0-next.0+c7578ca",
6
+ "version": "3.2.0-next.11",
7
7
  "description": "Some underlying components for building charts/graphs",
8
8
  "keywords": [
9
9
  "react",
@@ -14,18 +14,15 @@
14
14
  "module": "src/index.js",
15
15
  "author": "",
16
16
  "license": "ISC",
17
- "repository": {
18
- "type": "git",
19
- "url": "https://github.com/pie-framework/pie-lib"
20
- },
17
+ "repository": "pie-framework/pie-lib",
21
18
  "dependencies": {
22
19
  "@emotion/react": "^11.14.0",
23
20
  "@emotion/style": "^0.8.0",
24
21
  "@mapbox/point-geometry": "^1.1.0",
25
22
  "@mui/icons-material": "^7.3.4",
26
23
  "@mui/material": "^7.3.4",
27
- "@pie-lib/editable-html-tip-tap": "^1.2.0-next.0+c7578ca",
28
- "@pie-lib/render-ui": "^5.2.0-next.0+c7578ca",
24
+ "@pie-lib/editable-html-tip-tap": "^1.2.0-next.11",
25
+ "@pie-lib/render-ui": "^5.2.0-next.4",
29
26
  "assert": "^1.4.1",
30
27
  "d3-scale": "^4.0.2",
31
28
  "d3-selection": "^3.0.0",
@@ -41,6 +38,6 @@
41
38
  "peerDependencies": {
42
39
  "react": "^18.2.0"
43
40
  },
44
- "gitHead": "c7578cae82de46ec0dae41b7d1ef924401e6226d",
41
+ "gitHead": "26a92c2897eca32328a31262677c4f7a851fd751",
45
42
  "scripts": {}
46
43
  }
@@ -95,12 +95,25 @@ export const gridDraggable = (opts) => (Comp) => {
95
95
  log('bounds: ', bounds);
96
96
  const grid = this.grid();
97
97
 
98
- const scaled = {
98
+ let scaled = {
99
99
  left: bounds.left * grid.x,
100
100
  right: bounds.right * grid.x,
101
101
  top: bounds.top * grid.y,
102
102
  bottom: bounds.bottom * grid.y,
103
103
  };
104
+
105
+ // Normalize Y bounds so that:
106
+ // - top is <= 0 (negative or zero, allowing upward movement)
107
+ // - bottom is >= 0 (positive or zero, allowing downward movement)
108
+ // This compensates for the inverted Y scale (range.max -> 0, range.min -> size.height)
109
+ // Add a small buffer (1 grid unit) to ensure we can reach exact boundaries
110
+ const buffer = Math.abs(grid.y);
111
+ scaled = {
112
+ ...scaled,
113
+ top: Math.min(0, scaled.top) - buffer, // More negative to allow reaching max
114
+ bottom: Math.abs(scaled.bottom) + buffer, // More positive to allow reaching min
115
+ };
116
+
104
117
  log('[getScaledBounds]: ', scaled);
105
118
  return scaled;
106
119
  };
package/src/root.jsx CHANGED
@@ -316,11 +316,9 @@ export class Root extends React.Component {
316
316
  {isChart ? (
317
317
  <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>
318
318
  <EditableHtml
319
- style={
320
- isChart && {
321
- width: finalWidth,
322
- }
323
- }
319
+ {...(isChart && {
320
+ width: finalWidth,
321
+ })}
324
322
  markup={title || ''}
325
323
  onChange={onChangeTitle}
326
324
  placeholder={
@@ -336,11 +334,9 @@ export class Root extends React.Component {
336
334
  ) : (
337
335
  <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>
338
336
  <EditableHtml
339
- style={
340
- isChart && {
341
- width: finalWidth,
342
- }
343
- }
337
+ {...(isChart && {
338
+ width: finalWidth,
339
+ })}
344
340
  markup={title || ''}
345
341
  onChange={onChangeTitle}
346
342
  placeholder={