@pie-lib/plot 2.5.1 → 2.5.3-next.1

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,17 @@
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.5.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.5.1...@pie-lib/plot@2.5.2) (2022-10-17)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **charting:** increase font size for axis labels and title ([50a10c4](https://github.com/pie-framework/pie-lib/commit/50a10c43a758726106cd6320191b992613389839))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.5.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.5.0...@pie-lib/plot@2.5.1) (2022-09-29)
7
18
 
8
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/draggable.jsx"],"names":["LocalDraggable","next","setState","x","y","Draggable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;WACnB,mCAA0BC,IAA1B,EAAgC;AAC9B,sIAAgCA,IAAhC,EAD8B,CAE9B;;AACA,WAAKC,QAAL,CAAc;AAAEC,QAAAA,CAAC,EAAE,CAAL;AAAQC,QAAAA,CAAC,EAAE;AAAX,OAAd;AACD;;;EALyCC,0B","sourcesContent":["import Draggable, { DraggableCore } from 'react-draggable';\n\nexport default class LocalDraggable extends Draggable {\n componentWillReceiveProps(next) {\n super.componentWillReceiveProps(next);\n //Remove the x/y state as these values have now been updated and will come through as props.\n this.setState({ x: 0, y: 0 });\n }\n}\n\nexport { DraggableCore };\n"],"file":"draggable.js"}
1
+ {"version":3,"file":"draggable.js","names":["LocalDraggable","next","setState","x","y","Draggable"],"sources":["../src/draggable.jsx"],"sourcesContent":["import Draggable, { DraggableCore } from 'react-draggable';\n\nexport default class LocalDraggable extends Draggable {\n componentWillReceiveProps(next) {\n super.componentWillReceiveProps(next);\n //Remove the x/y state as these values have now been updated and will come through as props.\n this.setState({ x: 0, y: 0 });\n }\n}\n\nexport { DraggableCore };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;IAEqBA,c;;;;;;;;;;;;WACnB,mCAA0BC,IAA1B,EAAgC;MAC9B,gIAAgCA,IAAhC,EAD8B,CAE9B;;MACA,KAAKC,QAAL,CAAc;QAAEC,CAAC,EAAE,CAAL;QAAQC,CAAC,EAAE;MAAX,CAAd;IACD;;;EALyCC,0B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph-props.js"],"names":["createSnapMinAndMax","min","max","step","parseInt","create","domain","range","size","getRootNode","domainMinMax","rangeMinMax","scale","x","width","y","height","snap","snapTo","bind"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAAwB;AAAA,MAArBC,GAAqB,QAArBA,GAAqB;AAAA,MAAhBC,GAAgB,QAAhBA,GAAgB;AAAA,MAAXC,IAAW,QAAXA,IAAW;AAClD;AACA;AAEA,SAAO;AACLA,IAAAA,IAAI,EAAJA,IADK;AAELF,IAAAA,GAAG,EAAEG,QAAQ,CAACH,GAAG,GAAGE,IAAP,CAAR,GAAuBA,IAFvB;AAGLD,IAAAA,GAAG,EAAEE,QAAQ,CAACF,GAAG,GAAGC,IAAP,CAAR,GAAuBA;AAHvB,GAAP;AAKD,CATD;;AAWO,IAAME,MAAM,GAAG,SAATA,MAAS,CAACC,MAAD,EAASC,KAAT,EAAgBC,IAAhB,EAAsBC,WAAtB,EAAsC;AAC1D,6BAAUH,MAAM,CAACL,GAAP,GAAaK,MAAM,CAACJ,GAA9B,EAAmC,mCAAnC;AACA,6BAAUK,KAAK,CAACN,GAAN,GAAYM,KAAK,CAACL,GAA5B,EAAiC,kCAAjC;AAEA,MAAMQ,YAAY,GAAGV,mBAAmB,CAACM,MAAD,CAAxC;AACA,MAAMK,WAAW,GAAGX,mBAAmB,CAACO,KAAD,CAAvC;AAEA,MAAMK,KAAK,GAAG;AACZC,IAAAA,CAAC,EAAE,4BACAP,MADA,CACO,CAACA,MAAM,CAACL,GAAR,EAAaK,MAAM,CAACJ,GAApB,CADP,EAEAK,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACM,KAAT,CAFN,CADS;AAIZC,IAAAA,CAAC,EAAE,4BACAT,MADA,CACO,CAACC,KAAK,CAACL,GAAP,EAAYK,KAAK,CAACN,GAAlB,CADP,EAEAM,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACQ,MAAT,CAFN;AAJS,GAAd;AASA,MAAMC,IAAI,GAAG;AACXJ,IAAAA,CAAC,EAAEK,cAAOC,IAAP,CAAY,IAAZ,EAAkBT,YAAY,CAACT,GAA/B,EAAoCS,YAAY,CAACR,GAAjD,EAAsDQ,YAAY,CAACP,IAAnE,CADQ;AAEXY,IAAAA,CAAC,EAAEG,cAAOC,IAAP,CAAY,IAAZ,EAAkBR,WAAW,CAACV,GAA9B,EAAmCU,WAAW,CAACT,GAA/C,EAAoDS,WAAW,CAACR,IAAhE;AAFQ,GAAb;AAKA,SAAO;AAAES,IAAAA,KAAK,EAALA,KAAF;AAASK,IAAAA,IAAI,EAAJA,IAAT;AAAeX,IAAAA,MAAM,EAANA,MAAf;AAAuBC,IAAAA,KAAK,EAALA,KAAvB;AAA8BC,IAAAA,IAAI,EAAJA,IAA9B;AAAoCC,IAAAA,WAAW,EAAXA;AAApC,GAAP;AACD,CAtBM","sourcesContent":["import invariant from 'invariant';\nimport { snapTo } from './utils';\nimport { scaleLinear } from 'd3-scale';\n\nconst createSnapMinAndMax = ({ min, max, step }) => {\n // for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle\n // for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5\n\n return {\n step,\n min: parseInt(min / step) * step,\n max: parseInt(max / step) * step\n };\n};\n\nexport const create = (domain, range, size, getRootNode) => {\n invariant(domain.min < domain.max, 'domain: min must be less than max');\n invariant(range.min < range.max, 'range: min must be less than max');\n\n const domainMinMax = createSnapMinAndMax(domain);\n const rangeMinMax = createSnapMinAndMax(range);\n\n const scale = {\n x: scaleLinear()\n .domain([domain.min, domain.max])\n .range([0, size.width]),\n y: scaleLinear()\n .domain([range.max, range.min])\n .range([0, size.height])\n };\n\n const snap = {\n x: snapTo.bind(null, domainMinMax.min, domainMinMax.max, domainMinMax.step),\n y: snapTo.bind(null, rangeMinMax.min, rangeMinMax.max, rangeMinMax.step)\n };\n\n return { scale, snap, domain, range, size, getRootNode };\n};\n"],"file":"graph-props.js"}
1
+ {"version":3,"file":"graph-props.js","names":["createSnapMinAndMax","min","max","step","parseInt","create","domain","range","size","getRootNode","invariant","domainMinMax","rangeMinMax","scale","x","scaleLinear","width","y","height","snap","snapTo","bind"],"sources":["../src/graph-props.js"],"sourcesContent":["import invariant from 'invariant';\nimport { snapTo } from './utils';\nimport { scaleLinear } from 'd3-scale';\n\nconst createSnapMinAndMax = ({ min, max, step }) => {\n // for graphing, if step is a value with decimals, we have to calculate the min & max for the grid taking in consideration that 0 has to be exactly in the middle\n // for example, if min: -5 & max: 5 & step: 0.75, in order to keep 0 in the middle we have to set min: -4.5 & max: 4.5\n\n return {\n step,\n min: parseInt(min / step) * step,\n max: parseInt(max / step) * step\n };\n};\n\nexport const create = (domain, range, size, getRootNode) => {\n invariant(domain.min < domain.max, 'domain: min must be less than max');\n invariant(range.min < range.max, 'range: min must be less than max');\n\n const domainMinMax = createSnapMinAndMax(domain);\n const rangeMinMax = createSnapMinAndMax(range);\n\n const scale = {\n x: scaleLinear()\n .domain([domain.min, domain.max])\n .range([0, size.width]),\n y: scaleLinear()\n .domain([range.max, range.min])\n .range([0, size.height])\n };\n\n const snap = {\n x: snapTo.bind(null, domainMinMax.min, domainMinMax.max, domainMinMax.step),\n y: snapTo.bind(null, rangeMinMax.min, rangeMinMax.max, rangeMinMax.step)\n };\n\n return { scale, snap, domain, range, size, getRootNode };\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAAwB;EAAA,IAArBC,GAAqB,QAArBA,GAAqB;EAAA,IAAhBC,GAAgB,QAAhBA,GAAgB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EAClD;EACA;EAEA,OAAO;IACLA,IAAI,EAAJA,IADK;IAELF,GAAG,EAAEG,QAAQ,CAACH,GAAG,GAAGE,IAAP,CAAR,GAAuBA,IAFvB;IAGLD,GAAG,EAAEE,QAAQ,CAACF,GAAG,GAAGC,IAAP,CAAR,GAAuBA;EAHvB,CAAP;AAKD,CATD;;AAWO,IAAME,MAAM,GAAG,SAATA,MAAS,CAACC,MAAD,EAASC,KAAT,EAAgBC,IAAhB,EAAsBC,WAAtB,EAAsC;EAC1D,IAAAC,qBAAA,EAAUJ,MAAM,CAACL,GAAP,GAAaK,MAAM,CAACJ,GAA9B,EAAmC,mCAAnC;EACA,IAAAQ,qBAAA,EAAUH,KAAK,CAACN,GAAN,GAAYM,KAAK,CAACL,GAA5B,EAAiC,kCAAjC;EAEA,IAAMS,YAAY,GAAGX,mBAAmB,CAACM,MAAD,CAAxC;EACA,IAAMM,WAAW,GAAGZ,mBAAmB,CAACO,KAAD,CAAvC;EAEA,IAAMM,KAAK,GAAG;IACZC,CAAC,EAAE,IAAAC,oBAAA,IACAT,MADA,CACO,CAACA,MAAM,CAACL,GAAR,EAAaK,MAAM,CAACJ,GAApB,CADP,EAEAK,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACQ,KAAT,CAFN,CADS;IAIZC,CAAC,EAAE,IAAAF,oBAAA,IACAT,MADA,CACO,CAACC,KAAK,CAACL,GAAP,EAAYK,KAAK,CAACN,GAAlB,CADP,EAEAM,KAFA,CAEM,CAAC,CAAD,EAAIC,IAAI,CAACU,MAAT,CAFN;EAJS,CAAd;EASA,IAAMC,IAAI,GAAG;IACXL,CAAC,EAAEM,aAAA,CAAOC,IAAP,CAAY,IAAZ,EAAkBV,YAAY,CAACV,GAA/B,EAAoCU,YAAY,CAACT,GAAjD,EAAsDS,YAAY,CAACR,IAAnE,CADQ;IAEXc,CAAC,EAAEG,aAAA,CAAOC,IAAP,CAAY,IAAZ,EAAkBT,WAAW,CAACX,GAA9B,EAAmCW,WAAW,CAACV,GAA/C,EAAoDU,WAAW,CAACT,IAAhE;EAFQ,CAAb;EAKA,OAAO;IAAEU,KAAK,EAALA,KAAF;IAASM,IAAI,EAAJA,IAAT;IAAeb,MAAM,EAANA,MAAf;IAAuBC,KAAK,EAALA,KAAvB;IAA8BC,IAAI,EAAJA,IAA9B;IAAoCC,WAAW,EAAXA;EAApC,CAAP;AACD,CAtBM"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grid-draggable.jsx"],"names":["log","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","dd","rootNode","getRootNode","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","point","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"mappings":"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","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/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } 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 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.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const [rawX, rawY] = clientPoint(rootNode, e);\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] = clientPoint(e.target, e);\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 /* eslint-disable no-unused-vars */\n //Note: we pull onClick out so that it's not in ...rest.\n const { disabled, onClick, ...rest } = this.props;\n /* eslint-enable no-unused-vars */\n\n const grid = this.grid();\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"],"file":"grid-draggable.js"}
1
+ {"version":3,"file":"grid-draggable.js","names":["log","debug","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","invariant","isFunction","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","dd","rootNode","getRootNode","clientPoint","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","point","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","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/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } 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 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.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const [rawX, rawY] = clientPoint(rootNode, e);\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] = clientPoint(e.target, e);\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 /* eslint-disable no-unused-vars */\n //Note: we pull onClick out so that it's not in ...rest.\n const { disabled, onClick, ...rest } = this.props;\n /* eslint-enable no-unused-vars */\n\n const grid = this.grid();\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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"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import Root from './root';\nimport Draggable from './draggable';\nimport { gridDraggable } from './grid-draggable';\nimport * as utils from './utils';\nimport * as trig from './trig';\nimport * as types from './types';\nimport { create as createGraphProps } from './graph-props';\n\nexport { Root, Draggable, gridDraggable, utils, trig, types, createGraphProps };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["import Root from './root';\nimport Draggable from './draggable';\nimport { gridDraggable } from './grid-draggable';\nimport * as utils from './utils';\nimport * as trig from './trig';\nimport * as types from './types';\nimport { create as createGraphProps } from './graph-props';\n\nexport { Root, Draggable, gridDraggable, utils, trig, types, createGraphProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA"}
package/lib/label.js CHANGED
@@ -50,6 +50,7 @@ var LabelComponent = function LabelComponent(props) {
50
50
 
51
51
  var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math' // 'languageCharacters'
52
52
  ];
53
+ var isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;
53
54
  var chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;
54
55
  var defaultStyle = {
55
56
  width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),
@@ -69,7 +70,7 @@ var LabelComponent = function LabelComponent(props) {
69
70
  return /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
70
71
  "false": true
71
72
  }, /*#__PURE__*/_react["default"].createElement("div", {
72
- className: (0, _classnames["default"])(classes.axisLabel, (_cn = {}, (0, _defineProperty2["default"])(_cn, classes.rotateLeftLabel, side === 'left' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.rotateRightLabel, side === 'right' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.editLabel, rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.customBottom, isChartBottomLabel || isDefineChartBottomLabel), _cn)),
73
+ className: (0, _classnames["default"])(isChart ? classes.chartLabel : classes.axisLabel, (_cn = {}, (0, _defineProperty2["default"])(_cn, classes.rotateLeftLabel, side === 'left' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.rotateRightLabel, side === 'right' && !rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.editLabel, rotatedToHorizontal), (0, _defineProperty2["default"])(_cn, classes.customBottom, isChartBottomLabel || isDefineChartBottomLabel), _cn)),
73
74
  style: rotatedToHorizontal ? rotatedStyle : defaultStyle,
74
75
  onClick: rotateLabel
75
76
  }, disabledLabel ? /*#__PURE__*/_react["default"].createElement("div", {
@@ -104,6 +105,12 @@ var _default = (0, _styles.withStyles)(function (theme) {
104
105
  margin: '4px',
105
106
  padding: '4px 0'
106
107
  },
108
+ chartLabel: {
109
+ fontSize: theme.typography.fontSize + 2,
110
+ textAlign: 'center',
111
+ margin: '4px',
112
+ padding: '4px 0'
113
+ },
107
114
  disabledLabel: {
108
115
  pointerEvents: 'none',
109
116
  width: '100%'
package/lib/label.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/label.jsx"],"names":["LabelComponent","props","classes","disabledLabel","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","chartValue","defaultStyle","width","top","left","rotatedStyle","rotateLabel","axisLabel","rotateLeftLabel","rotateRightLabel","editLabel","customBottom","__html","position","noBorder","theme","label","fill","color","secondary","fontSize","typography","textAlign","margin","padding","pointerEvents","backgroundColor","borderRadius","boxShadow","zIndex","rotate","transformOrigin","transformStyle"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport cn from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst LabelComponent = props => {\n const {\n classes,\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange\n } = props;\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 40}px`) ||\n (side === 'bottom' && `${graphHeight - 90}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: (side === 'right' && `${graphHeight - 22}px`) || 0,\n left: 0\n };\n\n const rotateLabel = () =>\n !disabledLabel && (side === 'left' || side === 'right') && setRotatedToHorizontal(true);\n\n return (\n <Readable false>\n <div\n className={cn(classes.axisLabel, {\n [classes.rotateLeftLabel]: side === 'left' && !rotatedToHorizontal,\n [classes.rotateRightLabel]: side === 'right' && !rotatedToHorizontal,\n [classes.editLabel]: rotatedToHorizontal,\n [classes.customBottom]: isChartBottomLabel || isDefineChartBottomLabel\n })}\n style={rotatedToHorizontal ? rotatedStyle : defaultStyle}\n onClick={rotateLabel}\n >\n {disabledLabel ? (\n <div className={classes.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={() => setRotatedToHorizontal(false)}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nexport default withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n margin: '4px',\n padding: '4px 0'\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%'\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: '4px',\n boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',\n zIndex: 10\n },\n rotateLeftLabel: {\n rotate: '-90deg',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute'\n },\n rotateRightLabel: {\n rotate: '90deg',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute'\n },\n customBottom: {\n position: 'absolute'\n }\n}))(LabelComponent);\n"],"file":"label.js"}
1
+ {"version":3,"file":"label.js","names":["LabelComponent","props","classes","disabledLabel","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","useState","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","width","top","left","rotatedStyle","rotateLabel","cn","chartLabel","axisLabel","rotateLeftLabel","rotateRightLabel","editLabel","customBottom","__html","position","noBorder","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","margin","padding","pointerEvents","backgroundColor","borderRadius","boxShadow","zIndex","rotate","transformOrigin","transformStyle"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport cn from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst LabelComponent = props => {\n const {\n classes,\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange\n } = props;\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n const isChart =\n isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 40}px`) ||\n (side === 'bottom' && `${graphHeight - 90}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: (side === 'right' && `${graphHeight - 22}px`) || 0,\n left: 0\n };\n\n const rotateLabel = () =>\n !disabledLabel && (side === 'left' || side === 'right') && setRotatedToHorizontal(true);\n\n return (\n <Readable false>\n <div\n className={cn(isChart ? classes.chartLabel : classes.axisLabel, {\n [classes.rotateLeftLabel]: side === 'left' && !rotatedToHorizontal,\n [classes.rotateRightLabel]: side === 'right' && !rotatedToHorizontal,\n [classes.editLabel]: rotatedToHorizontal,\n [classes.customBottom]: isChartBottomLabel || isDefineChartBottomLabel\n })}\n style={rotatedToHorizontal ? rotatedStyle : defaultStyle}\n onClick={rotateLabel}\n >\n {disabledLabel ? (\n <div className={classes.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={() => setRotatedToHorizontal(false)}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nexport default withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n margin: '4px',\n padding: '4px 0'\n },\n chartLabel: {\n fontSize: theme.typography.fontSize + 2,\n textAlign: 'center',\n margin: '4px',\n padding: '4px 0'\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%'\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: '4px',\n boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',\n zIndex: 10\n },\n rotateLeftLabel: {\n rotate: '-90deg',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute'\n },\n rotateRightLabel: {\n rotate: '90deg',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute'\n },\n customBottom: {\n position: 'absolute'\n }\n}))(LabelComponent);\n"],"mappings":"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"}
package/lib/root.js CHANGED
@@ -174,7 +174,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
174
174
  style: isChart && {
175
175
  width: finalWidth
176
176
  },
177
- className: (0, _classnames["default"])(classes.graphTitle, classes.disabledTitle),
177
+ className: (0, _classnames["default"])(isChart ? classes.chartTitle : classes.graphTitle, classes.disabledTitle),
178
178
  dangerouslySetInnerHTML: {
179
179
  __html: title || ''
180
180
  }
@@ -182,7 +182,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
182
182
  style: isChart && {
183
183
  width: finalWidth
184
184
  },
185
- className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.rightMargin, showPixelGuides), classes.graphTitle),
185
+ className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.rightMargin, showPixelGuides), isChart ? classes.chartTitle : classes.graphTitle),
186
186
  markup: title || '',
187
187
  onChange: onChangeTitle,
188
188
  placeholder: defineChart && titlePlaceholder || !disabledTitle && 'Click here to add a title for this graph',
@@ -316,6 +316,12 @@ var styles = function styles(theme) {
316
316
  padding: '12px 4px 0',
317
317
  textAlign: 'center'
318
318
  },
319
+ chartTitle: {
320
+ color: _renderUi.color.text(),
321
+ fontSize: theme.typography.fontSize + 4,
322
+ padding: '12px 4px 0',
323
+ textAlign: 'center'
324
+ },
319
325
  disabledTitle: {
320
326
  pointerEvents: 'none'
321
327
  },
package/lib/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/root.jsx"],"names":["Root","g","props","graphProps","onMouseMove","scale","snap","coords","_groups","x","invert","y","snapped","newValue","side","labels","onChangeLabels","isChart","on","mouseMove","bind","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","classes","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","title","rootRef","size","width","height","domain","range","topPadding","leftPadding","finalWidth","padding","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","root","topPixelGuides","marginLeft","Array","keys","map","value","topPixelIndicator","graphTitle","__html","rightMargin","noBorder","top","onChangeLabel","wrapper","left","chart","r","graphBox","right","sidePixelGuides","paddingTop","marginTop","reverse","sidePixelIndicator","bottom","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","func","object","styles","theme","border","color","primaryLight","text","backgroundColor","background","touchAction","position","display","svg","paddingLeft","overflow","cursor","userSelect","fontSize","typography","textAlign","pointerEvents","marginRight","flexDirection","alignItems","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ChildrenType } from './types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { select, mouse } from 'd3-selection';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\nimport Label from './label';\n\nexport class Root extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\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 };\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 }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\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 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 } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = showLabels ? 80 : 60;\n const finalWidth = width + leftPadding * 2 + (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 '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\n return (\n <div className={classes.root}>\n {showPixelGuides && (\n <div\n className={classes.topPixelGuides}\n style={{ marginLeft: isChart ? 60 : showLabels ? 30 : 10 }}\n >\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 style={\n isChart && {\n width: finalWidth\n }\n }\n className={cn(classes.graphTitle, classes.disabledTitle)}\n dangerouslySetInnerHTML={{ __html: title || '' }}\n />\n ) : (\n <EditableHtml\n style={\n isChart && {\n width: finalWidth\n }\n }\n className={cn({ [classes.rightMargin]: showPixelGuides }, classes.graphTitle)}\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={{ noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n />\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 />\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 />\n )}\n <svg\n width={finalWidth}\n height={finalHeight}\n className={defineChart ? classes.defineChart : classes.chart}\n >\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}, ${topPadding})`}\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 />\n )}\n {showPixelGuides && (\n <div\n className={classes.sidePixelGuides}\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: defineChart ? 25 : 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 isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n root: {\n border: `solid 1px ${color.primaryLight()}`,\n color: color.text(),\n backgroundColor: color.background(),\n touchAction: 'none',\n position: 'relative'\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.text(),\n fontSize: theme.typography.fontSize + 2,\n padding: '12px 4px 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 color: color.primaryLight(),\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 color: color.primaryLight(),\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,"file":"root.js","names":["Root","g","props","graphProps","onMouseMove","scale","snap","coords","mouse","_groups","x","invert","y","snapped","newValue","side","labels","onChangeLabels","isChart","select","on","mouseMove","bind","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","classes","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","title","rootRef","size","width","height","domain","range","topPadding","leftPadding","finalWidth","padding","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","root","topPixelGuides","marginLeft","Array","keys","map","value","topPixelIndicator","cn","chartTitle","graphTitle","__html","rightMargin","noBorder","top","onChangeLabel","wrapper","left","chart","r","graphBox","right","sidePixelGuides","paddingTop","marginTop","reverse","sidePixelIndicator","bottom","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","func","object","styles","theme","border","color","primaryLight","text","backgroundColor","background","touchAction","position","display","svg","paddingLeft","overflow","cursor","userSelect","fontSize","typography","textAlign","pointerEvents","marginRight","flexDirection","alignItems","marginBottom","withStyles"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { ChildrenType } from './types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { select, mouse } from 'd3-selection';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\nimport Label from './label';\n\nexport class Root extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\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 };\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 }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\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 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 } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = showLabels ? 80 : 60;\n const finalWidth = width + leftPadding * 2 + (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 '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\n return (\n <div className={classes.root}>\n {showPixelGuides && (\n <div\n className={classes.topPixelGuides}\n style={{ marginLeft: isChart ? 60 : showLabels ? 30 : 10 }}\n >\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 style={\n isChart && {\n width: finalWidth\n }\n }\n className={cn(\n isChart ? classes.chartTitle : classes.graphTitle,\n classes.disabledTitle\n )}\n dangerouslySetInnerHTML={{ __html: title || '' }}\n />\n ) : (\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) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n />\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 />\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 />\n )}\n <svg\n width={finalWidth}\n height={finalHeight}\n className={defineChart ? classes.defineChart : classes.chart}\n >\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}, ${topPadding})`}\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 />\n )}\n {showPixelGuides && (\n <div\n className={classes.sidePixelGuides}\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: defineChart ? 25 : 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 isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n )}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n root: {\n border: `solid 1px ${color.primaryLight()}`,\n color: color.text(),\n backgroundColor: color.background(),\n touchAction: 'none',\n position: 'relative'\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.text(),\n fontSize: theme.typography.fontSize + 2,\n padding: '12px 4px 0',\n textAlign: 'center'\n },\n chartTitle: {\n color: color.text(),\n fontSize: theme.typography.fontSize + 4,\n padding: '12px 4px 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 color: color.primaryLight(),\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 color: color.primaryLight(),\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"],"mappings":"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"}
package/lib/trig.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/trig.js"],"names":["log","toDegrees","radians","Math","PI","toRadians","degrees","angle","a","b","vd","y","hd","x","atan2","NINETY","ONE_EIGHTY","TWO_SEVENTY","acuteXAngle","abs","acuteYAngle","hypotenuse","alpha","out","sin","edges","domain","range","destX","max","min","destY","aToB","diffEdge","dX","dY","bToA","getOpposingSide","hyp","getShortestSide","xh","yh","Number","isFinite","isNaN","Infinity","console","warn","bounds","l","enabled","bind","xRadians","yRadians","xSide","xH","ySide","yH","side","Error","point","Point","multiplier","multByPoint","normalized","add"],"mappings":"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","sourcesContent":["import { xy } from '../lib/utils';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nconst log = debug('pie-lib:plot:trig');\n\nexport const toDegrees = radians => radians * (180 / Math.PI);\nexport const toRadians = degrees => degrees * (Math.PI / 180);\n/**\n * return angle in radians between 2 points using counting degrees counter clockwise\n *\n * 0,0 + 1,1 = 45 in radians\n * 1,1 + 0,0 = 45?\n * @param {Point} a\n * @param {Point} b\n */\nexport const angle = (a, b) => {\n const vd = b.y - a.y;\n const hd = b.x - a.x;\n log(a, b, 'vd: ', vd, 'hd: ', hd);\n const radians = Math.atan2(vd, hd);\n return radians < 0 ? radians + Math.PI * 2 : radians;\n};\n\nconst NINETY = Math.PI / 2;\nconst ONE_EIGHTY = Math.PI;\nconst TWO_SEVENTY = ONE_EIGHTY + NINETY;\n\nexport const acuteXAngle = a => {\n log(toDegrees(a));\n\n if (a < NINETY) {\n return a;\n }\n\n if (a < ONE_EIGHTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n if (a < TWO_SEVENTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n return Math.abs(Math.PI * 2 - a);\n};\n\nexport const acuteYAngle = a => NINETY - acuteXAngle(a);\n\nexport const hypotenuse = (a, alpha) => {\n const out = Math.abs(a / Math.sin(alpha));\n\n return out;\n};\n\n/**\n * return 2 edge points for a,b within domain + range.\n * - one edge is from following a -> b to the bounds\n * - one edge is from following b -> a to the bounds\n * @param {{min: number, max: number}} domain\n * @param {{min: number, max: number}} range\n * @param {{x: number, y: number}} a\n * @param {{x: number, y: number}} b\n * @returns [{x: number, y: number}, {x: number, y: number}]\n */\nexport const edges = (domain, range) => (a, b) => {\n // const xDest =\n const destX = a.x < b.x ? domain.max : domain.min;\n const destY = a.y < b.y ? range.max : range.min;\n const aToB = diffEdge(xy(destX, destY), a, b);\n\n const dX = b.x < a.x ? domain.max : domain.min;\n const dY = b.y < a.y ? range.max : range.min;\n const bToA = diffEdge(xy(dX, dY), b, a);\n return [aToB, bToA];\n};\n\n/** get length of side A of a triangle from H and angle Alpha */\nexport const getOpposingSide = (hyp, angle) => {\n log('[getOpposingSide] hyp: ', hyp, 'angle:', angle);\n return Math.abs(hyp * Math.sin(angle));\n};\n\nconst getShortestSide = (xh, yh) => {\n if (Number.isFinite(xh) && Number.isFinite(yh)) {\n if (xh === 0 && yh > 0) {\n return 'y';\n }\n if (yh === 0 && xh > 0) {\n return 'x';\n }\n return xh < yh ? 'x' : 'y';\n }\n if (isNaN(xh) && !isNaN(yh)) {\n return 'y';\n }\n if (!isNaN(xh) && isNaN(yh)) {\n return 'x';\n }\n if (xh === Infinity) {\n return 'y';\n }\n if (yh === Infinity) {\n return 'x';\n }\n\n // eslint-disable-next-line no-console\n console.warn('hypotenuse - which is shorter? x:', xh, 'y:', yh);\n};\n/**\n * return the difference between bounds and a as a Point\n * @param {*} bounds\n */\nexport const diffEdge = (bounds, a, b) => {\n let l = log.enabled ? log.bind(log, `diffEdge: [${a.x},${a.y} -> ${b.x},${b.y}]`) : () => {};\n const xRadians = angle(a, b);\n l('x angle', toDegrees(xRadians));\n const yRadians = Math.abs(xRadians - toRadians(90));\n l('y angle', toDegrees(yRadians));\n const xSide = Math.abs(a.x - bounds.x);\n\n /**\n * Draw 2 triangles:\n * 1 with a horizontal line from a to the graph x edge\n * 1 with a vertical line from a to the graph y edge\n * Calculate the hypotenuse for both, whichever is shorter\n * indicates that we should use that triangle to get the edge point.\n */\n const xH = hypotenuse(xSide, yRadians);\n\n const ySide = Math.abs(a.y - bounds.y);\n const yH = hypotenuse(ySide, xRadians);\n\n l('x: side', xSide, 'h:', xH);\n l('y: side', ySide, 'h:', yH);\n const side = getShortestSide(xH, yH);\n\n if (side !== 'x' && side !== 'y') {\n throw new Error('Cant decide which hypotenuse to use');\n }\n const point =\n side === 'x'\n ? new Point(xSide, getOpposingSide(xH, xRadians))\n : new Point(getOpposingSide(yH, yRadians), ySide);\n\n l('point:', point);\n const multiplier = new Point(b.x < a.x ? -1 : 1, b.y < a.y ? -1 : 1);\n l('multiplier:', multiplier);\n const out = point.multByPoint(multiplier);\n l('out:', out);\n const normalized = out.add(new Point(a.x, a.y));\n l('normalized:', normalized);\n return normalized;\n};\n"],"file":"trig.js"}
1
+ {"version":3,"file":"trig.js","names":["log","debug","toDegrees","radians","Math","PI","toRadians","degrees","angle","a","b","vd","y","hd","x","atan2","NINETY","ONE_EIGHTY","TWO_SEVENTY","acuteXAngle","abs","acuteYAngle","hypotenuse","alpha","out","sin","edges","domain","range","destX","max","min","destY","aToB","diffEdge","xy","dX","dY","bToA","getOpposingSide","hyp","getShortestSide","xh","yh","Number","isFinite","isNaN","Infinity","console","warn","bounds","l","enabled","bind","xRadians","yRadians","xSide","xH","ySide","yH","side","Error","point","Point","multiplier","multByPoint","normalized","add"],"sources":["../src/trig.js"],"sourcesContent":["import { xy } from '../lib/utils';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nconst log = debug('pie-lib:plot:trig');\n\nexport const toDegrees = radians => radians * (180 / Math.PI);\nexport const toRadians = degrees => degrees * (Math.PI / 180);\n/**\n * return angle in radians between 2 points using counting degrees counter clockwise\n *\n * 0,0 + 1,1 = 45 in radians\n * 1,1 + 0,0 = 45?\n * @param {Point} a\n * @param {Point} b\n */\nexport const angle = (a, b) => {\n const vd = b.y - a.y;\n const hd = b.x - a.x;\n log(a, b, 'vd: ', vd, 'hd: ', hd);\n const radians = Math.atan2(vd, hd);\n return radians < 0 ? radians + Math.PI * 2 : radians;\n};\n\nconst NINETY = Math.PI / 2;\nconst ONE_EIGHTY = Math.PI;\nconst TWO_SEVENTY = ONE_EIGHTY + NINETY;\n\nexport const acuteXAngle = a => {\n log(toDegrees(a));\n\n if (a < NINETY) {\n return a;\n }\n\n if (a < ONE_EIGHTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n if (a < TWO_SEVENTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n return Math.abs(Math.PI * 2 - a);\n};\n\nexport const acuteYAngle = a => NINETY - acuteXAngle(a);\n\nexport const hypotenuse = (a, alpha) => {\n const out = Math.abs(a / Math.sin(alpha));\n\n return out;\n};\n\n/**\n * return 2 edge points for a,b within domain + range.\n * - one edge is from following a -> b to the bounds\n * - one edge is from following b -> a to the bounds\n * @param {{min: number, max: number}} domain\n * @param {{min: number, max: number}} range\n * @param {{x: number, y: number}} a\n * @param {{x: number, y: number}} b\n * @returns [{x: number, y: number}, {x: number, y: number}]\n */\nexport const edges = (domain, range) => (a, b) => {\n // const xDest =\n const destX = a.x < b.x ? domain.max : domain.min;\n const destY = a.y < b.y ? range.max : range.min;\n const aToB = diffEdge(xy(destX, destY), a, b);\n\n const dX = b.x < a.x ? domain.max : domain.min;\n const dY = b.y < a.y ? range.max : range.min;\n const bToA = diffEdge(xy(dX, dY), b, a);\n return [aToB, bToA];\n};\n\n/** get length of side A of a triangle from H and angle Alpha */\nexport const getOpposingSide = (hyp, angle) => {\n log('[getOpposingSide] hyp: ', hyp, 'angle:', angle);\n return Math.abs(hyp * Math.sin(angle));\n};\n\nconst getShortestSide = (xh, yh) => {\n if (Number.isFinite(xh) && Number.isFinite(yh)) {\n if (xh === 0 && yh > 0) {\n return 'y';\n }\n if (yh === 0 && xh > 0) {\n return 'x';\n }\n return xh < yh ? 'x' : 'y';\n }\n if (isNaN(xh) && !isNaN(yh)) {\n return 'y';\n }\n if (!isNaN(xh) && isNaN(yh)) {\n return 'x';\n }\n if (xh === Infinity) {\n return 'y';\n }\n if (yh === Infinity) {\n return 'x';\n }\n\n // eslint-disable-next-line no-console\n console.warn('hypotenuse - which is shorter? x:', xh, 'y:', yh);\n};\n/**\n * return the difference between bounds and a as a Point\n * @param {*} bounds\n */\nexport const diffEdge = (bounds, a, b) => {\n let l = log.enabled ? log.bind(log, `diffEdge: [${a.x},${a.y} -> ${b.x},${b.y}]`) : () => {};\n const xRadians = angle(a, b);\n l('x angle', toDegrees(xRadians));\n const yRadians = Math.abs(xRadians - toRadians(90));\n l('y angle', toDegrees(yRadians));\n const xSide = Math.abs(a.x - bounds.x);\n\n /**\n * Draw 2 triangles:\n * 1 with a horizontal line from a to the graph x edge\n * 1 with a vertical line from a to the graph y edge\n * Calculate the hypotenuse for both, whichever is shorter\n * indicates that we should use that triangle to get the edge point.\n */\n const xH = hypotenuse(xSide, yRadians);\n\n const ySide = Math.abs(a.y - bounds.y);\n const yH = hypotenuse(ySide, xRadians);\n\n l('x: side', xSide, 'h:', xH);\n l('y: side', ySide, 'h:', yH);\n const side = getShortestSide(xH, yH);\n\n if (side !== 'x' && side !== 'y') {\n throw new Error('Cant decide which hypotenuse to use');\n }\n const point =\n side === 'x'\n ? new Point(xSide, getOpposingSide(xH, xRadians))\n : new Point(getOpposingSide(yH, yRadians), ySide);\n\n l('point:', point);\n const multiplier = new Point(b.x < a.x ? -1 : 1, b.y < a.y ? -1 : 1);\n l('multiplier:', multiplier);\n const out = point.multByPoint(multiplier);\n l('out:', out);\n const normalized = out.add(new Point(a.x, a.y));\n l('normalized:', normalized);\n return normalized;\n};\n"],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.js"],"names":["BaseDomainRangeType","min","PropTypes","number","isRequired","max","step","DomainType","shape","RangeType","SizeType","width","height","PointType","x","y","ChildrenType","oneOfType","arrayOf","node","ScaleType","func","SnapType","GraphPropsType","scale","snap","domain","range","size"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,GAAG,EAAEC,sBAAUC,MAAV,CAAiBC,UADW;AAEjCC,EAAAA,GAAG,EAAEH,sBAAUC,MAAV,CAAiBC,UAFW;AAGjCE,EAAAA,IAAI,EAAEJ,sBAAUC;AAHiB,CAA5B;;;AAMA,IAAMI,UAAU,GAAGL,sBAAUM,KAAV,CAAgBR,mBAAhB,CAAnB;;;;AAEA,IAAMS,SAAS,GAAGP,sBAAUM,KAAV,CAAgBR,mBAAhB,CAAlB;;;;AAEA,IAAMU,QAAQ,GAAGR,sBAAUM,KAAV,CAAgB;AACtCG,EAAAA,KAAK,EAAET,sBAAUC,MAAV,CAAiBC,UADc;AAEtCQ,EAAAA,MAAM,EAAEV,sBAAUC,MAAV,CAAiBC;AAFa,CAAhB,CAAjB;;;;AAKA,IAAMS,SAAS,GAAGX,sBAAUM,KAAV,CAAgB;AACvCM,EAAAA,CAAC,EAAEZ,sBAAUC,MAAV,CAAiBC,UADmB;AAEvCW,EAAAA,CAAC,EAAEb,sBAAUC,MAAV,CAAiBC;AAFmB,CAAhB,CAAlB;;;;AAKA,IAAMY,YAAY,GAAGd,sBAAUe,SAAV,CAAoB,CAACf,sBAAUgB,OAAV,CAAkBhB,sBAAUiB,IAA5B,CAAD,EAAoCjB,sBAAUiB,IAA9C,CAApB,EACzBf,UADI;;;;AAGA,IAAMgB,SAAS,GAAGlB,sBAAUM,KAAV,CAAgB;AACvCM,EAAAA,CAAC,EAAEZ,sBAAUmB,IAAV,CAAejB,UADqB;AAEvCW,EAAAA,CAAC,EAAEb,sBAAUmB,IAAV,CAAejB;AAFqB,CAAhB,CAAlB;;;;AAKA,IAAMkB,QAAQ,GAAGpB,sBAAUM,KAAV,CAAgB;AACtCM,EAAAA,CAAC,EAAEZ,sBAAUmB,IAAV,CAAejB,UADoB;AAEtCW,EAAAA,CAAC,EAAEb,sBAAUmB,IAAV,CAAejB;AAFoB,CAAhB,CAAjB;;;;AAKA,IAAMmB,cAAc,GAAGrB,sBAAUM,KAAV,CAAgB;AAC5CgB,EAAAA,KAAK,EAAEJ,SAAS,CAAChB,UAD2B;AAE5CqB,EAAAA,IAAI,EAAEH,QAAQ,CAAClB,UAF6B;AAG5CsB,EAAAA,MAAM,EAAEnB,UAAU,CAACH,UAHyB;AAI5CuB,EAAAA,KAAK,EAAElB,SAAS,CAACL,UAJ2B;AAK5CwB,EAAAA,IAAI,EAAElB,QAAQ,CAACN;AAL6B,CAAhB,CAAvB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const BaseDomainRangeType = {\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n step: PropTypes.number\n};\n\nexport const DomainType = PropTypes.shape(BaseDomainRangeType);\n\nexport const RangeType = PropTypes.shape(BaseDomainRangeType);\n\nexport const SizeType = PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n});\n\nexport const PointType = PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n});\n\nexport const ChildrenType = PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n .isRequired;\n\nexport const ScaleType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const SnapType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const GraphPropsType = PropTypes.shape({\n scale: ScaleType.isRequired,\n snap: SnapType.isRequired,\n domain: DomainType.isRequired,\n range: RangeType.isRequired,\n size: SizeType.isRequired\n});\n"],"file":"types.js"}
1
+ {"version":3,"file":"types.js","names":["BaseDomainRangeType","min","PropTypes","number","isRequired","max","step","DomainType","shape","RangeType","SizeType","width","height","PointType","x","y","ChildrenType","oneOfType","arrayOf","node","ScaleType","func","SnapType","GraphPropsType","scale","snap","domain","range","size"],"sources":["../src/types.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const BaseDomainRangeType = {\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n step: PropTypes.number\n};\n\nexport const DomainType = PropTypes.shape(BaseDomainRangeType);\n\nexport const RangeType = PropTypes.shape(BaseDomainRangeType);\n\nexport const SizeType = PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n});\n\nexport const PointType = PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired\n});\n\nexport const ChildrenType = PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n .isRequired;\n\nexport const ScaleType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const SnapType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired\n});\n\nexport const GraphPropsType = PropTypes.shape({\n scale: ScaleType.isRequired,\n snap: SnapType.isRequired,\n domain: DomainType.isRequired,\n range: RangeType.isRequired,\n size: SizeType.isRequired\n});\n"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,mBAAmB,GAAG;EACjCC,GAAG,EAAEC,qBAAA,CAAUC,MAAV,CAAiBC,UADW;EAEjCC,GAAG,EAAEH,qBAAA,CAAUC,MAAV,CAAiBC,UAFW;EAGjCE,IAAI,EAAEJ,qBAAA,CAAUC;AAHiB,CAA5B;;;AAMA,IAAMI,UAAU,GAAGL,qBAAA,CAAUM,KAAV,CAAgBR,mBAAhB,CAAnB;;;;AAEA,IAAMS,SAAS,GAAGP,qBAAA,CAAUM,KAAV,CAAgBR,mBAAhB,CAAlB;;;;AAEA,IAAMU,QAAQ,GAAGR,qBAAA,CAAUM,KAAV,CAAgB;EACtCG,KAAK,EAAET,qBAAA,CAAUC,MAAV,CAAiBC,UADc;EAEtCQ,MAAM,EAAEV,qBAAA,CAAUC,MAAV,CAAiBC;AAFa,CAAhB,CAAjB;;;;AAKA,IAAMS,SAAS,GAAGX,qBAAA,CAAUM,KAAV,CAAgB;EACvCM,CAAC,EAAEZ,qBAAA,CAAUC,MAAV,CAAiBC,UADmB;EAEvCW,CAAC,EAAEb,qBAAA,CAAUC,MAAV,CAAiBC;AAFmB,CAAhB,CAAlB;;;;AAKA,IAAMY,YAAY,GAAGd,qBAAA,CAAUe,SAAV,CAAoB,CAACf,qBAAA,CAAUgB,OAAV,CAAkBhB,qBAAA,CAAUiB,IAA5B,CAAD,EAAoCjB,qBAAA,CAAUiB,IAA9C,CAApB,EACzBf,UADI;;;;AAGA,IAAMgB,SAAS,GAAGlB,qBAAA,CAAUM,KAAV,CAAgB;EACvCM,CAAC,EAAEZ,qBAAA,CAAUmB,IAAV,CAAejB,UADqB;EAEvCW,CAAC,EAAEb,qBAAA,CAAUmB,IAAV,CAAejB;AAFqB,CAAhB,CAAlB;;;;AAKA,IAAMkB,QAAQ,GAAGpB,qBAAA,CAAUM,KAAV,CAAgB;EACtCM,CAAC,EAAEZ,qBAAA,CAAUmB,IAAV,CAAejB,UADoB;EAEtCW,CAAC,EAAEb,qBAAA,CAAUmB,IAAV,CAAejB;AAFoB,CAAhB,CAAjB;;;;AAKA,IAAMmB,cAAc,GAAGrB,qBAAA,CAAUM,KAAV,CAAgB;EAC5CgB,KAAK,EAAEJ,SAAS,CAAChB,UAD2B;EAE5CqB,IAAI,EAAEH,QAAQ,CAAClB,UAF6B;EAG5CsB,MAAM,EAAEnB,UAAU,CAACH,UAHyB;EAI5CuB,KAAK,EAAElB,SAAS,CAACL,UAJ2B;EAK5CwB,IAAI,EAAElB,QAAQ,CAACN;AAL6B,CAAhB,CAAvB"}
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","area","left","top","bottom","right","a","p","lineToArea","from","to","bounds","range","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter(v => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r)\n };\n });\n}\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom\n };\n};\n\nexport const point = o => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","invariant","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","range","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","head","area","left","top","bottom","right","tail","a","p","lineToArea","from","to","bounds","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","isEqual","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth"],"sources":["../src/utils.js"],"sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter(v => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r)\n };\n });\n}\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom\n };\n};\n\nexport const point = o => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.5.1",
6
+ "version": "2.5.3-next.1+7088b0ff",
7
7
  "description": "Some underlying components for building charts/graphs",
8
8
  "keywords": [
9
9
  "react",
@@ -38,6 +38,6 @@
38
38
  "peerDependencies": {
39
39
  "react": "^16.8.1"
40
40
  },
41
- "gitHead": "a847c8ebb4b4d6df9b7c011d2275c38910bf4ea1",
41
+ "gitHead": "7088b0ff539185f61af22b79f2f122c093e972cb",
42
42
  "scripts": {}
43
43
  }
package/src/label.jsx CHANGED
@@ -29,6 +29,9 @@ const LabelComponent = props => {
29
29
  // 'languageCharacters'
30
30
  ];
31
31
 
32
+ const isChart =
33
+ isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;
34
+
32
35
  const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;
33
36
  const defaultStyle = {
34
37
  width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),
@@ -58,7 +61,7 @@ const LabelComponent = props => {
58
61
  return (
59
62
  <Readable false>
60
63
  <div
61
- className={cn(classes.axisLabel, {
64
+ className={cn(isChart ? classes.chartLabel : classes.axisLabel, {
62
65
  [classes.rotateLeftLabel]: side === 'left' && !rotatedToHorizontal,
63
66
  [classes.rotateRightLabel]: side === 'right' && !rotatedToHorizontal,
64
67
  [classes.editLabel]: rotatedToHorizontal,
@@ -98,6 +101,12 @@ export default withStyles(theme => ({
98
101
  margin: '4px',
99
102
  padding: '4px 0'
100
103
  },
104
+ chartLabel: {
105
+ fontSize: theme.typography.fontSize + 2,
106
+ textAlign: 'center',
107
+ margin: '4px',
108
+ padding: '4px 0'
109
+ },
101
110
  disabledLabel: {
102
111
  pointerEvents: 'none',
103
112
  width: '100%'
package/src/root.jsx CHANGED
@@ -142,7 +142,10 @@ export class Root extends React.Component {
142
142
  width: finalWidth
143
143
  }
144
144
  }
145
- className={cn(classes.graphTitle, classes.disabledTitle)}
145
+ className={cn(
146
+ isChart ? classes.chartTitle : classes.graphTitle,
147
+ classes.disabledTitle
148
+ )}
146
149
  dangerouslySetInnerHTML={{ __html: title || '' }}
147
150
  />
148
151
  ) : (
@@ -152,7 +155,10 @@ export class Root extends React.Component {
152
155
  width: finalWidth
153
156
  }
154
157
  }
155
- className={cn({ [classes.rightMargin]: showPixelGuides }, classes.graphTitle)}
158
+ className={cn(
159
+ { [classes.rightMargin]: showPixelGuides },
160
+ isChart ? classes.chartTitle : classes.graphTitle
161
+ )}
156
162
  markup={title || ''}
157
163
  onChange={onChangeTitle}
158
164
  placeholder={
@@ -282,6 +288,12 @@ const styles = theme => ({
282
288
  padding: '12px 4px 0',
283
289
  textAlign: 'center'
284
290
  },
291
+ chartTitle: {
292
+ color: color.text(),
293
+ fontSize: theme.typography.fontSize + 4,
294
+ padding: '12px 4px 0',
295
+ textAlign: 'center'
296
+ },
285
297
  disabledTitle: {
286
298
  pointerEvents: 'none'
287
299
  },