@pie-lib/plot 2.24.6-esmbeta.2 → 2.27.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,66 @@
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
+ # [2.27.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.26.0...@pie-lib/plot@2.27.0) (2025-10-16)
7
+
8
+ **Note:** Version bump only for package @pie-lib/plot
9
+
10
+
11
+
12
+
13
+
14
+ # [2.26.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.23.0...@pie-lib/plot@2.26.0) (2025-10-16)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **plot/graphing:** add title height calculations through observer PD-5208 ([f993541](https://github.com/pie-framework/pie-lib/commit/f99354174b23dcd6a1f3524a15f9b64c4041d7e2))
20
+
21
+
22
+
23
+
24
+
25
+ # [2.25.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.23.0...@pie-lib/plot@2.25.0) (2025-10-16)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * **plot/graphing:** add title height calculations through observer PD-5208 ([f993541](https://github.com/pie-framework/pie-lib/commit/f99354174b23dcd6a1f3524a15f9b64c4041d7e2))
31
+
32
+
33
+
34
+
35
+
36
+ # [2.24.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.23.0...@pie-lib/plot@2.24.0) (2025-10-16)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **plot/graphing:** add title height calculations through observer PD-5208 ([f993541](https://github.com/pie-framework/pie-lib/commit/f99354174b23dcd6a1f3524a15f9b64c4041d7e2))
42
+
43
+
44
+
45
+
46
+
47
+ ## [2.23.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.23.1...@pie-lib/plot@2.23.2) (2025-10-14)
48
+
49
+ **Note:** Version bump only for package @pie-lib/plot
50
+
51
+
52
+
53
+
54
+
55
+ ## [2.23.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.23.0...@pie-lib/plot@2.23.1) (2025-10-09)
56
+
57
+
58
+ ### Bug Fixes
59
+
60
+ * **plot/graphing:** add title height calculations through observer PD-5208 ([f993541](https://github.com/pie-framework/pie-lib/commit/f99354174b23dcd6a1f3524a15f9b64c4041d7e2))
61
+
62
+
63
+
64
+
65
+
6
66
  # [2.23.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.7.3...@pie-lib/plot@2.23.0) (2025-09-25)
7
67
 
8
68
 
package/lib/root.js CHANGED
@@ -43,6 +43,12 @@ var _label = _interopRequireDefault(require("./label"));
43
43
 
44
44
  var _utils = require("./utils");
45
45
 
46
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
47
+
48
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
+
50
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
51
+
46
52
  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; }
47
53
 
48
54
  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; }
@@ -113,14 +119,58 @@ var Root = /*#__PURE__*/function (_React$Component) {
113
119
  titleHeight: titleHeight,
114
120
  prevTitle: _this.props.title
115
121
  });
122
+
123
+ if (!_this.resizeObserver && typeof ResizeObserver !== 'undefined') {
124
+ _this.setupVisibilityObserver();
125
+ }
116
126
  }
117
127
  });
118
128
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleKeyDown", function () {
119
- setTimeout(_this.measureTitleHeight, 0);
129
+ setTimeout(function () {
130
+ _this.measureTitleHeight();
131
+ }, 0);
132
+ });
133
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setupVisibilityObserver", function () {
134
+ if (typeof ResizeObserver !== 'undefined' && _this.titleRef) {
135
+ _this.resizeObserver = new ResizeObserver(function (entries) {
136
+ var _iterator = _createForOfIteratorHelper(entries),
137
+ _step;
138
+
139
+ try {
140
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
141
+ var entry = _step.value;
142
+ var _entry$contentRect = entry.contentRect,
143
+ width = _entry$contentRect.width,
144
+ height = _entry$contentRect.height; // trigger if element becomes visible and we haven't measured this height yet
145
+
146
+ if (width > 0 && height > 0) {
147
+ setTimeout(function () {
148
+ _this.measureTitleHeight();
149
+ }, 10);
150
+ break;
151
+ }
152
+ }
153
+ } catch (err) {
154
+ _iterator.e(err);
155
+ } finally {
156
+ _iterator.f();
157
+ }
158
+ });
159
+
160
+ _this.resizeObserver.observe(_this.titleRef);
161
+ }
162
+ });
163
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "cleanupVisibilityObserver", function () {
164
+ if (_this.resizeObserver) {
165
+ _this.resizeObserver.disconnect();
166
+
167
+ _this.resizeObserver = null;
168
+ }
120
169
  });
121
170
  _this.state = {
122
171
  titleHeight: 0
123
172
  };
173
+ _this.resizeObserver = null;
124
174
  return _this;
125
175
  }
126
176
 
@@ -130,12 +180,14 @@ var Root = /*#__PURE__*/function (_React$Component) {
130
180
  var g = (0, _d3Selection.select)(this.g);
131
181
  g.on('mousemove', this.mouseMove.bind(this, g));
132
182
  this.measureTitleHeight();
183
+ this.setupVisibilityObserver();
133
184
  }
134
185
  }, {
135
186
  key: "componentWillUnmount",
136
187
  value: function componentWillUnmount() {
137
188
  var g = (0, _d3Selection.select)(this.g);
138
189
  g.on('mousemove', null);
190
+ this.cleanupVisibilityObserver();
139
191
  }
140
192
  }, {
141
193
  key: "componentDidUpdate",
package/lib/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.jsx"],"names":["Root","props","g","graphProps","onMouseMove","scale","snap","coords","_groups","x","invert","y","snapped","newValue","side","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","setTimeout","measureTitleHeight","state","on","mouseMove","bind","prevProps","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","classes","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","mathMlOptions","labelsCharactersLimit","size","width","height","domain","range","topPadding","leftPadding","left","rightPadding","right","finalWidth","padding","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","root","topPixelGuides","marginLeft","Array","keys","map","value","topPixelIndicator","r","display","chartTitle","graphTitle","__html","rightMargin","noPadding","noBorder","handleKeyDown","top","onChangeLabel","wrapper","chart","graphBox","sidePixelGuides","paddingTop","marginTop","reverse","sidePixelIndicator","bottom","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","styles","theme","border","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","svg","paddingLeft","overflow","cursor","userSelect","fontSize","typography","spacing","unit","textAlign","pointerEvents","marginRight","flexDirection","alignItems","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\nimport cn from 'classnames';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { ChildrenType } from './types';\nimport { GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\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 classes: PropTypes.object.isRequired,\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) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g._groups[0][0]);\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 }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\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 };\n\n handleKeyDown = () => {\n setTimeout(this.measureTitleHeight, 0);\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n classes,\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 return (\n <div className={classes.root}>\n {showPixelGuides && (\n <div className={classes.topPixelGuides} style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <div className={classes.topPixelIndicator}>\n <div>{value * 100}px</div>\n <div>|</div>\n </div>\n </Readable>\n ))}\n </div>\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 className={cn(isChart ? classes.chartTitle : classes.graphTitle, classes.disabledTitle)}\n dangerouslySetInnerHTML={{ __html: title || '' }}\n />\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n className={cn(\n { [classes.rightMargin]: showPixelGuides },\n isChart ? classes.chartTitle : classes.graphTitle,\n )}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) || (!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 </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 <div className={classes.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 <svg width={finalWidth} height={finalHeight} className={defineChart ? classes.defineChart : classes.chart}>\n <g\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n className={classes.graphBox}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </g>\n </svg>\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 <div\n className={classes.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 <div className={classes.sidePixelIndicator}>━ {value * 100}px</div>\n </Readable>\n ))}\n </div>\n )}\n </div>\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 </div>\n );\n }\n}\n\n// use default color theme style to avoid color contrast issues\nconst styles = (theme) => ({\n root: {\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 wrapper: {\n display: 'flex',\n position: 'relative',\n },\n svg: {},\n defineChart: {\n paddingLeft: '50px',\n overflow: 'visible',\n },\n chart: {\n overflow: 'visible',\n },\n graphBox: {\n cursor: 'pointer',\n userSelect: 'none',\n },\n graphTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n chartTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n disabledTitle: {\n pointerEvents: 'none',\n },\n rightMargin: {\n marginRight: '74px',\n },\n topPixelGuides: {\n display: 'flex',\n paddingTop: '6px',\n },\n topPixelIndicator: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n },\n sidePixelGuides: {\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n },\n sidePixelIndicator: {\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n },\n});\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
1
+ {"version":3,"sources":["../src/root.jsx"],"names":["Root","props","g","graphProps","onMouseMove","scale","snap","coords","_groups","x","invert","y","snapped","newValue","side","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","entry","contentRect","width","height","observe","disconnect","state","on","mouseMove","bind","cleanupVisibilityObserver","prevProps","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","classes","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","mathMlOptions","labelsCharactersLimit","size","domain","range","topPadding","leftPadding","left","rightPadding","right","finalWidth","padding","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","root","topPixelGuides","marginLeft","Array","keys","map","value","topPixelIndicator","r","display","chartTitle","graphTitle","__html","rightMargin","noPadding","noBorder","handleKeyDown","top","onChangeLabel","wrapper","chart","graphBox","sidePixelGuides","paddingTop","marginTop","reverse","sidePixelIndicator","bottom","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","styles","theme","border","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","svg","paddingLeft","overflow","cursor","userSelect","fontSize","typography","spacing","unit","textAlign","pointerEvents","marginRight","flexDirection","alignItems","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { select, mouse } from 'd3-selection';\nimport cn from 'classnames';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { ChildrenType } from './types';\nimport { GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\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 classes: PropTypes.object.isRequired,\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) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g._groups[0][0]);\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 classes,\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 return (\n <div className={classes.root}>\n {showPixelGuides && (\n <div className={classes.topPixelGuides} style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <div className={classes.topPixelIndicator}>\n <div>{value * 100}px</div>\n <div>|</div>\n </div>\n </Readable>\n ))}\n </div>\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 className={cn(isChart ? classes.chartTitle : classes.graphTitle, classes.disabledTitle)}\n dangerouslySetInnerHTML={{ __html: title || '' }}\n />\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n className={cn(\n { [classes.rightMargin]: showPixelGuides },\n isChart ? classes.chartTitle : classes.graphTitle,\n )}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) || (!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 </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 <div className={classes.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 <svg width={finalWidth} height={finalHeight} className={defineChart ? classes.defineChart : classes.chart}>\n <g\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n className={classes.graphBox}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </g>\n </svg>\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 <div\n className={classes.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 <div className={classes.sidePixelIndicator}>━ {value * 100}px</div>\n </Readable>\n ))}\n </div>\n )}\n </div>\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 </div>\n );\n }\n}\n\n// use default color theme style to avoid color contrast issues\nconst styles = (theme) => ({\n root: {\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 wrapper: {\n display: 'flex',\n position: 'relative',\n },\n svg: {},\n defineChart: {\n paddingLeft: '50px',\n overflow: 'visible',\n },\n chart: {\n overflow: 'visible',\n },\n graphBox: {\n cursor: 'pointer',\n userSelect: 'none',\n },\n graphTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n chartTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n disabledTitle: {\n pointerEvents: 'none',\n },\n rightMargin: {\n marginRight: '74px',\n },\n topPixelGuides: {\n display: 'flex',\n paddingTop: '6px',\n },\n topPixelIndicator: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n },\n sidePixelGuides: {\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n },\n sidePixelIndicator: {\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n },\n});\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.24.6-esmbeta.2",
6
+ "version": "2.27.0",
7
7
  "description": "Some underlying components for building charts/graphs",
8
8
  "keywords": [
9
9
  "react",
@@ -18,8 +18,8 @@
18
18
  "dependencies": {
19
19
  "@mapbox/point-geometry": "^0.1.0",
20
20
  "@material-ui/core": "^3.8.3",
21
- "@pie-lib/editable-html": "^11.18.6-esmbeta.2",
22
- "@pie-lib/render-ui": "^4.32.6-esmbeta.2",
21
+ "@pie-lib/editable-html": "^11.21.0",
22
+ "@pie-lib/render-ui": "^4.35.0",
23
23
  "@vx/axis": "^0.0.183",
24
24
  "@vx/event": "^0.0.182",
25
25
  "@vx/grid": "^0.0.183",
@@ -41,13 +41,6 @@
41
41
  "peerDependencies": {
42
42
  "react": "^16.8.1"
43
43
  },
44
- "gitHead": "4b33b4d3f54e0fb632808cf5ebfa23a100dc4e76",
45
- "scripts": {},
46
- "exports": {
47
- ".": {
48
- "import": "./esm/index.js",
49
- "require": "./lib/index.js",
50
- "default": "./esm/index.js"
51
- }
52
- }
44
+ "gitHead": "0c4b22e10cf3a7a5880d382f7dfed0ff0007d122",
45
+ "scripts": {}
53
46
  }
package/src/root.jsx CHANGED
@@ -17,6 +17,7 @@ export class Root extends React.Component {
17
17
  this.state = {
18
18
  titleHeight: 0,
19
19
  };
20
+ this.resizeObserver = null;
20
21
  }
21
22
 
22
23
  static propTypes = {
@@ -66,11 +67,13 @@ export class Root extends React.Component {
66
67
  const g = select(this.g);
67
68
  g.on('mousemove', this.mouseMove.bind(this, g));
68
69
  this.measureTitleHeight();
70
+ this.setupVisibilityObserver();
69
71
  }
70
72
 
71
73
  componentWillUnmount() {
72
74
  const g = select(this.g);
73
75
  g.on('mousemove', null);
76
+ this.cleanupVisibilityObserver();
74
77
  }
75
78
 
76
79
  componentDidUpdate(prevProps) {
@@ -107,11 +110,44 @@ export class Root extends React.Component {
107
110
  if (titleElement) {
108
111
  const titleHeight = titleElement.clientHeight;
109
112
  this.setState({ titleHeight, prevTitle: this.props.title });
113
+
114
+ if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {
115
+ this.setupVisibilityObserver();
116
+ }
110
117
  }
111
118
  };
112
119
 
113
120
  handleKeyDown = () => {
114
- setTimeout(this.measureTitleHeight, 0);
121
+ setTimeout(() => {
122
+ this.measureTitleHeight();
123
+ }, 0);
124
+ };
125
+
126
+ // handle edge case where chart is hidden with display:none and then shown with display:block
127
+ setupVisibilityObserver = () => {
128
+ if (typeof ResizeObserver !== 'undefined' && this.titleRef) {
129
+ this.resizeObserver = new ResizeObserver((entries) => {
130
+ for (let entry of entries) {
131
+ const { width, height } = entry.contentRect;
132
+ // trigger if element becomes visible and we haven't measured this height yet
133
+ if (width > 0 && height > 0) {
134
+ setTimeout(() => {
135
+ this.measureTitleHeight();
136
+ }, 10);
137
+ break;
138
+ }
139
+ }
140
+ });
141
+
142
+ this.resizeObserver.observe(this.titleRef);
143
+ }
144
+ };
145
+
146
+ cleanupVisibilityObserver = () => {
147
+ if (this.resizeObserver) {
148
+ this.resizeObserver.disconnect();
149
+ this.resizeObserver = null;
150
+ }
115
151
  };
116
152
 
117
153
  render() {