@pie-lib/graphing 2.4.3-next.264 → 2.4.3-next.271
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/lib/axis/axes.js +2 -2
- package/lib/axis/axes.js.map +1 -1
- package/lib/grid.js +101 -10
- package/lib/grid.js.map +1 -1
- package/package.json +2 -2
- package/src/axis/axes.jsx +3 -2
- package/src/grid.jsx +112 -12
package/lib/axis/axes.js
CHANGED
|
@@ -283,10 +283,10 @@ var RawYAxis = /*#__PURE__*/function (_React$Component2) {
|
|
|
283
283
|
tickClassName: classes.tick,
|
|
284
284
|
tickFormat: customTickFormat,
|
|
285
285
|
tickLabelProps: function tickLabelProps(value) {
|
|
286
|
-
var digits = value.toLocaleString().length || 1;
|
|
286
|
+
var digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;
|
|
287
287
|
return _objectSpread(_objectSpread({}, tickLabelStyles), {}, {
|
|
288
288
|
dy: 4,
|
|
289
|
-
dx: -
|
|
289
|
+
dx: -10 - digits * 9,
|
|
290
290
|
'data-pie-readable': false
|
|
291
291
|
});
|
|
292
292
|
},
|
package/lib/axis/axes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/axis/axes.jsx"],"names":["AxisPropTypes","includeArrows","PropTypes","object","graphProps","AxisDefaultProps","left","right","up","down","axisStyles","theme","line","stroke","color","primary","strokeWidth","arrow","fill","tick","labelFontSize","fontSize","typography","axisLabelHolder","padding","margin","textAlign","tickLabelStyles","fontFamily","cursor","sharedValues","firstNegativeX","firstNegativeY","distanceFromOriginToFirstNegativeX","distanceFromOriginToFirstNegativeY","deltaAllowance","dy","result","push","firstNegativeValue","interval","find","element","RawXAxis","props","classes","columnTicksValues","skipValues","scale","domain","size","range","tickValues","labelStep","min","labelProps","label","y","textAnchor","dx","necessaryRows","axisLabel","longestWord","necessaryWidth","x","value","max","width","__html","React","Component","types","GraphPropsType","isRequired","XAxis","RawYAxis","rowTickValues","length","customTickFormat","indexOf","height","digits","toLocaleString","YAxis","Axes","ticks","step","negative","Math","abs","xValues","yValues"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Axis } from '@vx/axis';\nimport { types } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport Arrow from './arrow';\nimport { withStyles } from '@material-ui/core';\nimport { countWords, findLongestWord, amountToIncreaseWidth, getTickValues } from '../utils';\nimport { color, Readable } from '@pie-lib/render-ui';\n\nexport const AxisPropTypes = {\n includeArrows: PropTypes.object,\n graphProps: PropTypes.object\n};\n\nconst AxisDefaultProps = {\n includeArrows: {\n left: true,\n right: true,\n up: true,\n down: true\n }\n};\n\nconst axisStyles = theme => ({\n line: {\n stroke: color.primary(),\n strokeWidth: 5\n },\n arrow: {\n fill: color.primary()\n },\n tick: {\n fill: color.primary(),\n '& > line': {\n stroke: color.primary()\n }\n },\n labelFontSize: {\n fontSize: theme.typography.fontSize\n },\n axisLabelHolder: {\n padding: 0,\n margin: 0,\n textAlign: 'center',\n '* > *': {\n margin: 0,\n padding: 0\n },\n fontSize: theme.typography.fontSize\n }\n});\n\nconst tickLabelStyles = {\n fontFamily: 'Roboto',\n fontSize: '14px',\n cursor: 'inherit'\n};\n\nexport const sharedValues = (\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy\n) => {\n let result = [];\n\n if (\n firstNegativeX === firstNegativeY &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY &&\n distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < dy &&\n dy < distanceFromOriginToFirstNegativeX + deltaAllowance\n ) {\n result.push(firstNegativeX);\n }\n\n return result;\n};\n\nexport const firstNegativeValue = interval => (interval || []).find(element => element < 0);\n\nexport class RawXAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const {\n includeArrows,\n classes,\n graphProps,\n columnTicksValues,\n skipValues,\n distanceFromOriginToFirstNegativeY,\n dy\n } = this.props;\n const { scale, domain, size, range } = graphProps || {};\n\n // Having 0 as a number in columnTicksValues does not make 0 to show up\n // so we use this trick, by defining it as a string:\n const tickValues =\n (domain.labelStep || range.labelStep) && domain.min <= 0\n ? ['0', ...columnTicksValues]\n : columnTicksValues;\n // However, the '0' has to be displayed only if other tick labels (y-axis or x-axis) are displayed\n\n const labelProps = label => {\n const y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;\n\n return {\n ...tickLabelStyles,\n textAnchor: 'middle',\n y: y,\n dx: label === '0' ? -10 : 0,\n dy: label === '0' ? -7 : 0\n };\n };\n\n const necessaryRows = countWords(domain.axisLabel);\n const longestWord = findLongestWord(domain.axisLabel);\n const necessaryWidth = amountToIncreaseWidth(longestWord);\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n scale={scale.x}\n top={scale.y(0)}\n left={0}\n label={domain.label}\n rangePadding={8}\n tickClassName={classes.tick}\n tickFormat={value => value}\n tickLabelProps={labelProps}\n tickValues={tickValues}\n />\n {includeArrows && includeArrows.left && (\n <Arrow direction=\"left\" x={domain.min} y={0} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.right && (\n <Arrow direction=\"right\" x={domain.max} y={0} className={classes.arrow} scale={scale} />\n )}\n {domain.axisLabel && (\n <foreignObject\n x={size.width + 15}\n y={scale.y(0) - 10}\n width={necessaryWidth}\n height={20 * necessaryRows}\n >\n <div\n dangerouslySetInnerHTML={{ __html: domain.axisLabel }}\n className={classes.labelFontSize}\n />\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst XAxis = withStyles(axisStyles)(RawXAxis);\n\nexport class RawYAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const { classes, includeArrows, graphProps, skipValues, rowTickValues } = this.props;\n const { scale, range, size } = graphProps || {};\n\n const necessaryWidth = range.axisLabel ? amountToIncreaseWidth(range.axisLabel.length) : 0;\n\n const customTickFormat = value => (skipValues && skipValues.indexOf(value) >= 0 ? '' : value);\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n orientation={'left'}\n scale={scale.y}\n top={0}\n height={size.height}\n left={scale.x(0)}\n label={range.label}\n labelProps={{ 'data-pie-readable': false }}\n rangePadding={8}\n tickLength={10}\n tickClassName={classes.tick}\n tickFormat={customTickFormat}\n tickLabelProps={value => {\n const digits = value.toLocaleString().length || 1;\n return {\n ...tickLabelStyles,\n dy: 4,\n dx: -4 - digits * 8,\n 'data-pie-readable': false\n };\n }}\n hideZero={true}\n tickTextAnchor={'bottom'}\n tickValues={rowTickValues}\n />\n\n {includeArrows && includeArrows.down && (\n <Arrow direction=\"down\" x={0} y={range.min} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.up && (\n <Arrow direction=\"up\" x={0} y={range.max} className={classes.arrow} scale={scale} />\n )}\n {range.axisLabel && (\n <foreignObject\n x={scale.x(0) - necessaryWidth / 2}\n y={-30}\n width={necessaryWidth}\n height=\"20\"\n >\n <Readable false>\n <div\n dangerouslySetInnerHTML={{ __html: range.axisLabel }}\n className={classes.axisLabelHolder}\n />\n </Readable>\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst YAxis = withStyles(axisStyles)(RawYAxis);\n\nexport default class Axes extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n xValues = () => {\n const { graphProps } = this.props;\n const { scale, domain } = graphProps || {};\n\n if (!domain || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...domain, step: domain.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n columnTicksValues: ticks,\n firstNegativeX: negative,\n distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative))\n };\n };\n\n yValues = () => {\n const { graphProps } = this.props;\n const { scale, range } = graphProps || {};\n\n if (!range || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...range, step: range.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n rowTickValues: ticks,\n firstNegativeY: negative,\n distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative))\n };\n };\n\n render() {\n const { graphProps } = this.props;\n const { domain, range } = graphProps || {};\n const {\n columnTicksValues,\n firstNegativeX,\n distanceFromOriginToFirstNegativeX\n } = this.xValues();\n const { rowTickValues, firstNegativeY, distanceFromOriginToFirstNegativeY } = this.yValues();\n const deltaAllowance = 6;\n const dy = 25;\n\n const skipValues = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy\n );\n\n // each axis has to be displayed only if the domain & range include it\n return (\n <React.Fragment>\n {range.min <= 0 ? (\n <XAxis\n {...this.props}\n skipValues={skipValues}\n columnTicksValues={columnTicksValues}\n distanceFromOriginToFirstNegativeY={distanceFromOriginToFirstNegativeY}\n dy={dy}\n />\n ) : null}\n {domain.min <= 0 ? (\n <YAxis\n {...this.props}\n skipValues={skipValues}\n rowTickValues={rowTickValues}\n distanceFromOriginToFirstNegativeX={distanceFromOriginToFirstNegativeX}\n />\n ) : null}\n </React.Fragment>\n );\n }\n}\n"],"file":"axes.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/axis/axes.jsx"],"names":["AxisPropTypes","includeArrows","PropTypes","object","graphProps","AxisDefaultProps","left","right","up","down","axisStyles","theme","line","stroke","color","primary","strokeWidth","arrow","fill","tick","labelFontSize","fontSize","typography","axisLabelHolder","padding","margin","textAlign","tickLabelStyles","fontFamily","cursor","sharedValues","firstNegativeX","firstNegativeY","distanceFromOriginToFirstNegativeX","distanceFromOriginToFirstNegativeY","deltaAllowance","dy","result","push","firstNegativeValue","interval","find","element","RawXAxis","props","classes","columnTicksValues","skipValues","scale","domain","size","range","tickValues","labelStep","min","labelProps","label","y","textAnchor","dx","necessaryRows","axisLabel","longestWord","necessaryWidth","x","value","max","width","__html","React","Component","types","GraphPropsType","isRequired","XAxis","RawYAxis","rowTickValues","length","customTickFormat","indexOf","height","digits","toLocaleString","replace","YAxis","Axes","ticks","step","negative","Math","abs","xValues","yValues"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,aAAa,EAAEC,sBAAUC,MADE;AAE3BC,EAAAA,UAAU,EAAEF,sBAAUC;AAFK,CAAtB;;AAKP,IAAME,gBAAgB,GAAG;AACvBJ,EAAAA,aAAa,EAAE;AACbK,IAAAA,IAAI,EAAE,IADO;AAEbC,IAAAA,KAAK,EAAE,IAFM;AAGbC,IAAAA,EAAE,EAAE,IAHS;AAIbC,IAAAA,IAAI,EAAE;AAJO;AADQ,CAAzB;;AASA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;AAAA,SAAK;AAC3BC,IAAAA,IAAI,EAAE;AACJC,MAAAA,MAAM,EAAEC,gBAAMC,OAAN,EADJ;AAEJC,MAAAA,WAAW,EAAE;AAFT,KADqB;AAK3BC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAEJ,gBAAMC,OAAN;AADD,KALoB;AAQ3BI,IAAAA,IAAI,EAAE;AACJD,MAAAA,IAAI,EAAEJ,gBAAMC,OAAN,EADF;AAEJ,kBAAY;AACVF,QAAAA,MAAM,EAAEC,gBAAMC,OAAN;AADE;AAFR,KARqB;AAc3BK,IAAAA,aAAa,EAAE;AACbC,MAAAA,QAAQ,EAAEV,KAAK,CAACW,UAAN,CAAiBD;AADd,KAdY;AAiB3BE,IAAAA,eAAe,EAAE;AACfC,MAAAA,OAAO,EAAE,CADM;AAEfC,MAAAA,MAAM,EAAE,CAFO;AAGfC,MAAAA,SAAS,EAAE,QAHI;AAIf,eAAS;AACPD,QAAAA,MAAM,EAAE,CADD;AAEPD,QAAAA,OAAO,EAAE;AAFF,OAJM;AAQfH,MAAAA,QAAQ,EAAEV,KAAK,CAACW,UAAN,CAAiBD;AARZ;AAjBU,GAAL;AAAA,CAAxB;;AA6BA,IAAMM,eAAe,GAAG;AACtBC,EAAAA,UAAU,EAAE,QADU;AAEtBP,EAAAA,QAAQ,EAAE,MAFY;AAGtBQ,EAAAA,MAAM,EAAE;AAHc,CAAxB;;AAMO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAC1BC,cAD0B,EAE1BC,cAF0B,EAG1BC,kCAH0B,EAI1BC,kCAJ0B,EAK1BC,cAL0B,EAM1BC,EAN0B,EAOvB;AACH,MAAIC,MAAM,GAAG,EAAb;;AAEA,MACEN,cAAc,KAAKC,cAAnB,IACAC,kCAAkC,GAAGE,cAArC,GAAsDD,kCADtD,IAEAA,kCAAkC,GAAGD,kCAAkC,GAAGE,cAF1E,IAGAF,kCAAkC,GAAGE,cAArC,GAAsDC,EAHtD,IAIAA,EAAE,GAAGH,kCAAkC,GAAGE,cAL5C,EAME;AACAE,IAAAA,MAAM,CAACC,IAAP,CAAYP,cAAZ;AACD;;AAED,SAAOM,MAAP;AACD,CArBM;;;;AAuBA,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,QAAQ;AAAA,SAAI,CAACA,QAAQ,IAAI,EAAb,EAAiBC,IAAjB,CAAsB,UAAAC,OAAO;AAAA,WAAIA,OAAO,GAAG,CAAd;AAAA,GAA7B,CAAJ;AAAA,CAAnC;;;;IAEMC,Q;;;;;;;;;;;;;WAQX,kBAAS;AACP,wBAQI,KAAKC,KART;AAAA,UACE3C,aADF,eACEA,aADF;AAAA,UAEE4C,OAFF,eAEEA,OAFF;AAAA,UAGEzC,UAHF,eAGEA,UAHF;AAAA,UAIE0C,iBAJF,eAIEA,iBAJF;AAAA,UAKEC,UALF,eAKEA,UALF;AAAA,UAMEb,kCANF,eAMEA,kCANF;AAAA,UAOEE,EAPF,eAOEA,EAPF;;AASA,iBAAuChC,UAAU,IAAI,EAArD;AAAA,UAAQ4C,KAAR,QAAQA,KAAR;AAAA,UAAeC,MAAf,QAAeA,MAAf;AAAA,UAAuBC,IAAvB,QAAuBA,IAAvB;AAAA,UAA6BC,KAA7B,QAA6BA,KAA7B,CAVO,CAYP;AACA;;;AACA,UAAMC,UAAU,GACd,CAACH,MAAM,CAACI,SAAP,IAAoBF,KAAK,CAACE,SAA3B,KAAyCJ,MAAM,CAACK,GAAP,IAAc,CAAvD,IACK,GADL,4BACaR,iBADb,KAEIA,iBAHN,CAdO,CAkBP;;AAEA,UAAMS,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;AAC1B,YAAMC,CAAC,GAAGV,UAAU,IAAIA,UAAU,CAAC,CAAD,CAAV,KAAkBS,KAAhC,GAAwCtB,kCAAkC,GAAG,CAA7E,GAAiFE,EAA3F;AAEA,+CACKT,eADL;AAEE+B,UAAAA,UAAU,EAAE,QAFd;AAGED,UAAAA,CAAC,EAAEA,CAHL;AAIEE,UAAAA,EAAE,EAAEH,KAAK,KAAK,GAAV,GAAgB,CAAC,EAAjB,GAAsB,CAJ5B;AAKEpB,UAAAA,EAAE,EAAEoB,KAAK,KAAK,GAAV,GAAgB,CAAC,CAAjB,GAAqB;AAL3B;AAOD,OAVD;;AAYA,UAAMI,aAAa,GAAG,uBAAWX,MAAM,CAACY,SAAlB,CAAtB;AACA,UAAMC,WAAW,GAAG,4BAAgBb,MAAM,CAACY,SAAvB,CAApB;AACA,UAAME,cAAc,GAAG,kCAAsBD,WAAtB,CAAvB;AAEA,0BACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,UAAD;AACE,QAAA,iBAAiB,EAAEjB,OAAO,CAACjC,IAD7B;AAEE,QAAA,KAAK,EAAEoC,KAAK,CAACgB,CAFf;AAGE,QAAA,GAAG,EAAEhB,KAAK,CAACS,CAAN,CAAQ,CAAR,CAHP;AAIE,QAAA,IAAI,EAAE,CAJR;AAKE,QAAA,KAAK,EAAER,MAAM,CAACO,KALhB;AAME,QAAA,YAAY,EAAE,CANhB;AAOE,QAAA,aAAa,EAAEX,OAAO,CAAC1B,IAPzB;AAQE,QAAA,UAAU,EAAE,oBAAA8C,KAAK;AAAA,iBAAIA,KAAJ;AAAA,SARnB;AASE,QAAA,cAAc,EAAEV,UATlB;AAUE,QAAA,UAAU,EAAEH;AAVd,QADF,EAaGnD,aAAa,IAAIA,aAAa,CAACK,IAA/B,iBACC,gCAAC,iBAAD;AAAO,QAAA,SAAS,EAAC,MAAjB;AAAwB,QAAA,CAAC,EAAE2C,MAAM,CAACK,GAAlC;AAAuC,QAAA,CAAC,EAAE,CAA1C;AAA6C,QAAA,SAAS,EAAET,OAAO,CAAC5B,KAAhE;AAAuE,QAAA,KAAK,EAAE+B;AAA9E,QAdJ,EAgBG/C,aAAa,IAAIA,aAAa,CAACM,KAA/B,iBACC,gCAAC,iBAAD;AAAO,QAAA,SAAS,EAAC,OAAjB;AAAyB,QAAA,CAAC,EAAE0C,MAAM,CAACiB,GAAnC;AAAwC,QAAA,CAAC,EAAE,CAA3C;AAA8C,QAAA,SAAS,EAAErB,OAAO,CAAC5B,KAAjE;AAAwE,QAAA,KAAK,EAAE+B;AAA/E,QAjBJ,EAmBGC,MAAM,CAACY,SAAP,iBACC;AACE,QAAA,CAAC,EAAEX,IAAI,CAACiB,KAAL,GAAa,EADlB;AAEE,QAAA,CAAC,EAAEnB,KAAK,CAACS,CAAN,CAAQ,CAAR,IAAa,EAFlB;AAGE,QAAA,KAAK,EAAEM,cAHT;AAIE,QAAA,MAAM,EAAE,KAAKH;AAJf,sBAME;AACE,QAAA,uBAAuB,EAAE;AAAEQ,UAAAA,MAAM,EAAEnB,MAAM,CAACY;AAAjB,SAD3B;AAEE,QAAA,SAAS,EAAEhB,OAAO,CAACzB;AAFrB,QANF,CApBJ,CADF;AAmCD;;;;EA/E2BiD,kBAAMC,S;;;;gBAAvB3B,Q,+CAEN3C,a;AACH6C,EAAAA,OAAO,EAAE3C,sBAAUC,M;AACnBC,EAAAA,UAAU,EAAEmE,YAAMC,cAAN,CAAqBC;;;gBAJxB9B,Q,kBAMWtC,gB;;AA4ExB,IAAMqE,KAAK,GAAG,sBAAWhE,UAAX,EAAuBiC,QAAvB,CAAd;;IAEagC,Q;;;;;;;;;;;;;WAOX,kBAAS;AACP,yBAA0E,KAAK/B,KAA/E;AAAA,UAAQC,OAAR,gBAAQA,OAAR;AAAA,UAAiB5C,aAAjB,gBAAiBA,aAAjB;AAAA,UAAgCG,UAAhC,gBAAgCA,UAAhC;AAAA,UAA4C2C,UAA5C,gBAA4CA,UAA5C;AAAA,UAAwD6B,aAAxD,gBAAwDA,aAAxD;;AACA,kBAA+BxE,UAAU,IAAI,EAA7C;AAAA,UAAQ4C,KAAR,SAAQA,KAAR;AAAA,UAAeG,KAAf,SAAeA,KAAf;AAAA,UAAsBD,IAAtB,SAAsBA,IAAtB;;AAEA,UAAMa,cAAc,GAAGZ,KAAK,CAACU,SAAN,GAAkB,kCAAsBV,KAAK,CAACU,SAAN,CAAgBgB,MAAtC,CAAlB,GAAkE,CAAzF;;AAEA,UAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAb,KAAK;AAAA,eAAKlB,UAAU,IAAIA,UAAU,CAACgC,OAAX,CAAmBd,KAAnB,KAA6B,CAA3C,GAA+C,EAA/C,GAAoDA,KAAzD;AAAA,OAA9B;;AAEA,0BACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,UAAD;AACE,QAAA,iBAAiB,EAAEpB,OAAO,CAACjC,IAD7B;AAEE,QAAA,WAAW,EAAE,MAFf;AAGE,QAAA,KAAK,EAAEoC,KAAK,CAACS,CAHf;AAIE,QAAA,GAAG,EAAE,CAJP;AAKE,QAAA,MAAM,EAAEP,IAAI,CAAC8B,MALf;AAME,QAAA,IAAI,EAAEhC,KAAK,CAACgB,CAAN,CAAQ,CAAR,CANR;AAOE,QAAA,KAAK,EAAEb,KAAK,CAACK,KAPf;AAQE,QAAA,UAAU,EAAE;AAAE,+BAAqB;AAAvB,SARd;AASE,QAAA,YAAY,EAAE,CAThB;AAUE,QAAA,UAAU,EAAE,EAVd;AAWE,QAAA,aAAa,EAAEX,OAAO,CAAC1B,IAXzB;AAYE,QAAA,UAAU,EAAE2D,gBAZd;AAaE,QAAA,cAAc,EAAE,wBAAAb,KAAK,EAAI;AACvB,cAAIgB,MAAM,GAAGhB,KAAK,CAACiB,cAAN,GAAuBC,OAAvB,CAA+B,OAA/B,EAAwC,EAAxC,EAA4CN,MAA5C,IAAsD,CAAnE;AAEA,iDACKlD,eADL;AAEES,YAAAA,EAAE,EAAE,CAFN;AAGEuB,YAAAA,EAAE,EAAE,CAAC,EAAD,GAAMsB,MAAM,GAAG,CAHrB;AAIE,iCAAqB;AAJvB;AAMD,SAtBH;AAuBE,QAAA,QAAQ,EAAE,IAvBZ;AAwBE,QAAA,cAAc,EAAE,QAxBlB;AAyBE,QAAA,UAAU,EAAEL;AAzBd,QADF,EA6BG3E,aAAa,IAAIA,aAAa,CAACQ,IAA/B,iBACC,gCAAC,iBAAD;AAAO,QAAA,SAAS,EAAC,MAAjB;AAAwB,QAAA,CAAC,EAAE,CAA3B;AAA8B,QAAA,CAAC,EAAE0C,KAAK,CAACG,GAAvC;AAA4C,QAAA,SAAS,EAAET,OAAO,CAAC5B,KAA/D;AAAsE,QAAA,KAAK,EAAE+B;AAA7E,QA9BJ,EAgCG/C,aAAa,IAAIA,aAAa,CAACO,EAA/B,iBACC,gCAAC,iBAAD;AAAO,QAAA,SAAS,EAAC,IAAjB;AAAsB,QAAA,CAAC,EAAE,CAAzB;AAA4B,QAAA,CAAC,EAAE2C,KAAK,CAACe,GAArC;AAA0C,QAAA,SAAS,EAAErB,OAAO,CAAC5B,KAA7D;AAAoE,QAAA,KAAK,EAAE+B;AAA3E,QAjCJ,EAmCGG,KAAK,CAACU,SAAN,iBACC;AACE,QAAA,CAAC,EAAEb,KAAK,CAACgB,CAAN,CAAQ,CAAR,IAAaD,cAAc,GAAG,CADnC;AAEE,QAAA,CAAC,EAAE,CAAC,EAFN;AAGE,QAAA,KAAK,EAAEA,cAHT;AAIE,QAAA,MAAM,EAAC;AAJT,sBAME,gCAAC,kBAAD;AAAU;AAAV,sBACE;AACE,QAAA,uBAAuB,EAAE;AAAEK,UAAAA,MAAM,EAAEjB,KAAK,CAACU;AAAhB,SAD3B;AAEE,QAAA,SAAS,EAAEhB,OAAO,CAACtB;AAFrB,QADF,CANF,CApCJ,CADF;AAqDD;;;;EApE2B8C,kBAAMC,S;;;;gBAAvBK,Q,+CAEN3E,a;AACHI,EAAAA,UAAU,EAAEmE,YAAMC,cAAN,CAAqBC;;;gBAHxBE,Q,kBAKWtE,gB;;AAkExB,IAAM+E,KAAK,GAAG,sBAAW1E,UAAX,EAAuBiE,QAAvB,CAAd;;IAEqBU,I;;;;;;;;;;;;;;;;8DAQT,YAAM;AACd,UAAQjF,UAAR,GAAuB,MAAKwC,KAA5B,CAAQxC,UAAR;;AACA,kBAA0BA,UAAU,IAAI,EAAxC;AAAA,UAAQ4C,KAAR,SAAQA,KAAR;AAAA,UAAeC,MAAf,SAAeA,MAAf;;AAEA,UAAI,CAACA,MAAD,IAAW,CAACD,KAAhB,EAAuB;AACrB;AACD;;AAED,UAAMsC,KAAK,GAAG,0DAAmBrC,MAAnB;AAA2BsC,QAAAA,IAAI,EAAEtC,MAAM,CAACI;AAAxC,SAAd;AACA,UAAMmC,QAAQ,GAAGjD,kBAAkB,CAAC+C,KAAD,CAAnC;AAEA,aAAO;AACLxC,QAAAA,iBAAiB,EAAEwC,KADd;AAELvD,QAAAA,cAAc,EAAEyD,QAFX;AAGLvD,QAAAA,kCAAkC,EAAEwD,IAAI,CAACC,GAAL,CAAS1C,KAAK,CAACS,CAAN,CAAQ,CAAR,IAAaT,KAAK,CAACS,CAAN,CAAQ+B,QAAR,CAAtB;AAH/B,OAAP;AAKD,K;;8DAES,YAAM;AACd,UAAQpF,UAAR,GAAuB,MAAKwC,KAA5B,CAAQxC,UAAR;;AACA,kBAAyBA,UAAU,IAAI,EAAvC;AAAA,UAAQ4C,KAAR,SAAQA,KAAR;AAAA,UAAeG,KAAf,SAAeA,KAAf;;AAEA,UAAI,CAACA,KAAD,IAAU,CAACH,KAAf,EAAsB;AACpB;AACD;;AAED,UAAMsC,KAAK,GAAG,0DAAmBnC,KAAnB;AAA0BoC,QAAAA,IAAI,EAAEpC,KAAK,CAACE;AAAtC,SAAd;AACA,UAAMmC,QAAQ,GAAGjD,kBAAkB,CAAC+C,KAAD,CAAnC;AAEA,aAAO;AACLV,QAAAA,aAAa,EAAEU,KADV;AAELtD,QAAAA,cAAc,EAAEwD,QAFX;AAGLtD,QAAAA,kCAAkC,EAAEuD,IAAI,CAACC,GAAL,CAAS1C,KAAK,CAACgB,CAAN,CAAQ,CAAR,IAAahB,KAAK,CAACgB,CAAN,CAAQwB,QAAR,CAAtB;AAH/B,OAAP;AAKD,K;;;;;;;WAED,kBAAS;AACP,UAAQpF,UAAR,GAAuB,KAAKwC,KAA5B,CAAQxC,UAAR;;AACA,kBAA0BA,UAAU,IAAI,EAAxC;AAAA,UAAQ6C,MAAR,SAAQA,MAAR;AAAA,UAAgBE,KAAhB,SAAgBA,KAAhB;;AACA,0BAII,KAAKwC,OAAL,EAJJ;AAAA,UACE7C,iBADF,iBACEA,iBADF;AAAA,UAEEf,cAFF,iBAEEA,cAFF;AAAA,UAGEE,kCAHF,iBAGEA,kCAHF;;AAKA,0BAA8E,KAAK2D,OAAL,EAA9E;AAAA,UAAQhB,aAAR,iBAAQA,aAAR;AAAA,UAAuB5C,cAAvB,iBAAuBA,cAAvB;AAAA,UAAuCE,kCAAvC,iBAAuCA,kCAAvC;;AACA,UAAMC,cAAc,GAAG,CAAvB;AACA,UAAMC,EAAE,GAAG,EAAX;AAEA,UAAMW,UAAU,GAAGjB,YAAY,CAC7BC,cAD6B,EAE7BC,cAF6B,EAG7BC,kCAH6B,EAI7BC,kCAJ6B,EAK7BC,cAL6B,EAM7BC,EAN6B,CAA/B,CAZO,CAqBP;;AACA,0BACE,gCAAC,iBAAD,CAAO,QAAP,QACGe,KAAK,CAACG,GAAN,IAAa,CAAb,gBACC,gCAAC,KAAD,eACM,KAAKV,KADX;AAEE,QAAA,UAAU,EAAEG,UAFd;AAGE,QAAA,iBAAiB,EAAED,iBAHrB;AAIE,QAAA,kCAAkC,EAAEZ,kCAJtC;AAKE,QAAA,EAAE,EAAEE;AALN,SADD,GAQG,IATN,EAUGa,MAAM,CAACK,GAAP,IAAc,CAAd,gBACC,gCAAC,KAAD,eACM,KAAKV,KADX;AAEE,QAAA,UAAU,EAAEG,UAFd;AAGE,QAAA,aAAa,EAAE6B,aAHjB;AAIE,QAAA,kCAAkC,EAAE3C;AAJtC,SADD,GAOG,IAjBN,CADF;AAqBD;;;;EAvF+BoC,kBAAMC,S;;;;gBAAnBe,I,+CAEdrF,a;AACH6C,EAAAA,OAAO,EAAE3C,sBAAUC,M;AACnBC,EAAAA,UAAU,EAAEmE,YAAMC,cAAN,CAAqBC;;;gBAJhBY,I,kBAMGhF,gB","sourcesContent":["import React from 'react';\nimport { Axis } from '@vx/axis';\nimport { types } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport Arrow from './arrow';\nimport { withStyles } from '@material-ui/core';\nimport { countWords, findLongestWord, amountToIncreaseWidth, getTickValues } from '../utils';\nimport { color, Readable } from '@pie-lib/render-ui';\n\nexport const AxisPropTypes = {\n includeArrows: PropTypes.object,\n graphProps: PropTypes.object\n};\n\nconst AxisDefaultProps = {\n includeArrows: {\n left: true,\n right: true,\n up: true,\n down: true\n }\n};\n\nconst axisStyles = theme => ({\n line: {\n stroke: color.primary(),\n strokeWidth: 5\n },\n arrow: {\n fill: color.primary()\n },\n tick: {\n fill: color.primary(),\n '& > line': {\n stroke: color.primary()\n }\n },\n labelFontSize: {\n fontSize: theme.typography.fontSize\n },\n axisLabelHolder: {\n padding: 0,\n margin: 0,\n textAlign: 'center',\n '* > *': {\n margin: 0,\n padding: 0\n },\n fontSize: theme.typography.fontSize\n }\n});\n\nconst tickLabelStyles = {\n fontFamily: 'Roboto',\n fontSize: '14px',\n cursor: 'inherit'\n};\n\nexport const sharedValues = (\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy\n) => {\n let result = [];\n\n if (\n firstNegativeX === firstNegativeY &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY &&\n distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance &&\n distanceFromOriginToFirstNegativeX - deltaAllowance < dy &&\n dy < distanceFromOriginToFirstNegativeX + deltaAllowance\n ) {\n result.push(firstNegativeX);\n }\n\n return result;\n};\n\nexport const firstNegativeValue = interval => (interval || []).find(element => element < 0);\n\nexport class RawXAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const {\n includeArrows,\n classes,\n graphProps,\n columnTicksValues,\n skipValues,\n distanceFromOriginToFirstNegativeY,\n dy\n } = this.props;\n const { scale, domain, size, range } = graphProps || {};\n\n // Having 0 as a number in columnTicksValues does not make 0 to show up\n // so we use this trick, by defining it as a string:\n const tickValues =\n (domain.labelStep || range.labelStep) && domain.min <= 0\n ? ['0', ...columnTicksValues]\n : columnTicksValues;\n // However, the '0' has to be displayed only if other tick labels (y-axis or x-axis) are displayed\n\n const labelProps = label => {\n const y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;\n\n return {\n ...tickLabelStyles,\n textAnchor: 'middle',\n y: y,\n dx: label === '0' ? -10 : 0,\n dy: label === '0' ? -7 : 0\n };\n };\n\n const necessaryRows = countWords(domain.axisLabel);\n const longestWord = findLongestWord(domain.axisLabel);\n const necessaryWidth = amountToIncreaseWidth(longestWord);\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n scale={scale.x}\n top={scale.y(0)}\n left={0}\n label={domain.label}\n rangePadding={8}\n tickClassName={classes.tick}\n tickFormat={value => value}\n tickLabelProps={labelProps}\n tickValues={tickValues}\n />\n {includeArrows && includeArrows.left && (\n <Arrow direction=\"left\" x={domain.min} y={0} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.right && (\n <Arrow direction=\"right\" x={domain.max} y={0} className={classes.arrow} scale={scale} />\n )}\n {domain.axisLabel && (\n <foreignObject\n x={size.width + 15}\n y={scale.y(0) - 10}\n width={necessaryWidth}\n height={20 * necessaryRows}\n >\n <div\n dangerouslySetInnerHTML={{ __html: domain.axisLabel }}\n className={classes.labelFontSize}\n />\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst XAxis = withStyles(axisStyles)(RawXAxis);\n\nexport class RawYAxis extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n render() {\n const { classes, includeArrows, graphProps, skipValues, rowTickValues } = this.props;\n const { scale, range, size } = graphProps || {};\n\n const necessaryWidth = range.axisLabel ? amountToIncreaseWidth(range.axisLabel.length) : 0;\n\n const customTickFormat = value => (skipValues && skipValues.indexOf(value) >= 0 ? '' : value);\n\n return (\n <React.Fragment>\n <Axis\n axisLineClassName={classes.line}\n orientation={'left'}\n scale={scale.y}\n top={0}\n height={size.height}\n left={scale.x(0)}\n label={range.label}\n labelProps={{ 'data-pie-readable': false }}\n rangePadding={8}\n tickLength={10}\n tickClassName={classes.tick}\n tickFormat={customTickFormat}\n tickLabelProps={value => {\n let digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;\n\n return {\n ...tickLabelStyles,\n dy: 4,\n dx: -10 - digits * 9,\n 'data-pie-readable': false\n };\n }}\n hideZero={true}\n tickTextAnchor={'bottom'}\n tickValues={rowTickValues}\n />\n\n {includeArrows && includeArrows.down && (\n <Arrow direction=\"down\" x={0} y={range.min} className={classes.arrow} scale={scale} />\n )}\n {includeArrows && includeArrows.up && (\n <Arrow direction=\"up\" x={0} y={range.max} className={classes.arrow} scale={scale} />\n )}\n {range.axisLabel && (\n <foreignObject\n x={scale.x(0) - necessaryWidth / 2}\n y={-30}\n width={necessaryWidth}\n height=\"20\"\n >\n <Readable false>\n <div\n dangerouslySetInnerHTML={{ __html: range.axisLabel }}\n className={classes.axisLabelHolder}\n />\n </Readable>\n </foreignObject>\n )}\n </React.Fragment>\n );\n }\n}\n\nconst YAxis = withStyles(axisStyles)(RawYAxis);\n\nexport default class Axes extends React.Component {\n static propTypes = {\n ...AxisPropTypes,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n static defaultProps = AxisDefaultProps;\n\n xValues = () => {\n const { graphProps } = this.props;\n const { scale, domain } = graphProps || {};\n\n if (!domain || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...domain, step: domain.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n columnTicksValues: ticks,\n firstNegativeX: negative,\n distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative))\n };\n };\n\n yValues = () => {\n const { graphProps } = this.props;\n const { scale, range } = graphProps || {};\n\n if (!range || !scale) {\n return;\n }\n\n const ticks = getTickValues({ ...range, step: range.labelStep });\n const negative = firstNegativeValue(ticks);\n\n return {\n rowTickValues: ticks,\n firstNegativeY: negative,\n distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative))\n };\n };\n\n render() {\n const { graphProps } = this.props;\n const { domain, range } = graphProps || {};\n const {\n columnTicksValues,\n firstNegativeX,\n distanceFromOriginToFirstNegativeX\n } = this.xValues();\n const { rowTickValues, firstNegativeY, distanceFromOriginToFirstNegativeY } = this.yValues();\n const deltaAllowance = 6;\n const dy = 25;\n\n const skipValues = sharedValues(\n firstNegativeX,\n firstNegativeY,\n distanceFromOriginToFirstNegativeX,\n distanceFromOriginToFirstNegativeY,\n deltaAllowance,\n dy\n );\n\n // each axis has to be displayed only if the domain & range include it\n return (\n <React.Fragment>\n {range.min <= 0 ? (\n <XAxis\n {...this.props}\n skipValues={skipValues}\n columnTicksValues={columnTicksValues}\n distanceFromOriginToFirstNegativeY={distanceFromOriginToFirstNegativeY}\n dy={dy}\n />\n ) : null}\n {domain.min <= 0 ? (\n <YAxis\n {...this.props}\n skipValues={skipValues}\n rowTickValues={rowTickValues}\n distanceFromOriginToFirstNegativeX={distanceFromOriginToFirstNegativeX}\n />\n ) : null}\n </React.Fragment>\n );\n }\n}\n"],"file":"axes.js"}
|
package/lib/grid.js
CHANGED
|
@@ -15,6 +15,8 @@ var vx = _interopRequireWildcard(require("@vx/grid"));
|
|
|
15
15
|
|
|
16
16
|
var _plot = require("@pie-lib/plot");
|
|
17
17
|
|
|
18
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
19
|
+
|
|
18
20
|
var _styles = require("@material-ui/core/styles");
|
|
19
21
|
|
|
20
22
|
var _utils = require("./utils");
|
|
@@ -25,6 +27,22 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
25
27
|
|
|
26
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
29
|
|
|
30
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
31
|
+
|
|
32
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
37
|
+
|
|
38
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
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) { _defineProperty(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; }
|
|
45
|
+
|
|
28
46
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
29
47
|
|
|
30
48
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -53,9 +71,59 @@ var Grid = /*#__PURE__*/function (_React$Component) {
|
|
|
53
71
|
var _super = _createSuper(Grid);
|
|
54
72
|
|
|
55
73
|
function Grid() {
|
|
74
|
+
var _this;
|
|
75
|
+
|
|
56
76
|
_classCallCheck(this, Grid);
|
|
57
77
|
|
|
58
|
-
|
|
78
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
79
|
+
args[_key] = arguments[_key];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
83
|
+
|
|
84
|
+
_defineProperty(_assertThisInitialized(_this), "getAdditionalGridProps", function (rowTickValues, columnTickValues) {
|
|
85
|
+
var _this$props$graphProp = _this.props.graphProps,
|
|
86
|
+
scale = _this$props$graphProp.scale,
|
|
87
|
+
_this$props$graphProp2 = _this$props$graphProp.size,
|
|
88
|
+
width = _this$props$graphProp2.width,
|
|
89
|
+
height = _this$props$graphProp2.height,
|
|
90
|
+
domain = _this$props$graphProp.domain,
|
|
91
|
+
range = _this$props$graphProp.range;
|
|
92
|
+
var rowTickLabelValues = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, range), {}, {
|
|
93
|
+
step: range.labelStep
|
|
94
|
+
})).filter(function (value) {
|
|
95
|
+
return rowTickValues.includes(value);
|
|
96
|
+
});
|
|
97
|
+
var columnTickLabelValues = (0, _utils.getTickValues)(_objectSpread(_objectSpread({}, domain), {}, {
|
|
98
|
+
step: domain.labelStep
|
|
99
|
+
})).filter(function (value) {
|
|
100
|
+
return columnTickValues.includes(value);
|
|
101
|
+
});
|
|
102
|
+
var minValueLength = rowTickLabelValues.length && Math.min.apply(Math, _toConsumableArray(rowTickLabelValues)).toString().replace(/[.-]/g, '').length || 1;
|
|
103
|
+
var maxValueLength = rowTickLabelValues.length && Math.max.apply(Math, _toConsumableArray(rowTickLabelValues)).toString().replace(/[.-]/g, '').length || 1;
|
|
104
|
+
var rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;
|
|
105
|
+
var horizontalDistanceToZero = scale.x(0);
|
|
106
|
+
var verticalDistanceToZero = scale.y(0);
|
|
107
|
+
var columnLabelLength = 28;
|
|
108
|
+
var rowStrokeDasharray = "".concat(horizontalDistanceToZero - rowLabelLength, " ").concat(rowLabelLength, " ").concat(width);
|
|
109
|
+
var columnStrokeDasharray = "".concat(verticalDistanceToZero, " ").concat(columnLabelLength, " ").concat(height);
|
|
110
|
+
var displayAdditionalGrid = domain.labelStep > 0 && range.labelStep > 0 && rowTickLabelValues && columnTickLabelValues && rowTickLabelValues.length > 1 && columnTickLabelValues.length > 1 && (rowTickLabelValues.length !== rowTickValues.length || columnTickLabelValues.length !== columnTickValues.length);
|
|
111
|
+
var filteredColumnValues = columnTickLabelValues.filter(function (value) {
|
|
112
|
+
return value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength;
|
|
113
|
+
});
|
|
114
|
+
var filteredRowValues = rowTickLabelValues.filter(function (value) {
|
|
115
|
+
return value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength;
|
|
116
|
+
});
|
|
117
|
+
return {
|
|
118
|
+
rowTickLabelValues: filteredRowValues,
|
|
119
|
+
columnTickLabelValues: filteredColumnValues,
|
|
120
|
+
rowStrokeDasharray: rowStrokeDasharray,
|
|
121
|
+
columnStrokeDasharray: columnStrokeDasharray,
|
|
122
|
+
displayAdditionalGrid: displayAdditionalGrid
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
return _this;
|
|
59
127
|
}
|
|
60
128
|
|
|
61
129
|
_createClass(Grid, [{
|
|
@@ -68,29 +136,51 @@ var Grid = /*#__PURE__*/function (_React$Component) {
|
|
|
68
136
|
}, {
|
|
69
137
|
key: "render",
|
|
70
138
|
value: function render() {
|
|
71
|
-
var
|
|
139
|
+
var _this2 = this;
|
|
72
140
|
|
|
73
141
|
var _this$props = this.props,
|
|
74
142
|
classes = _this$props.classes,
|
|
75
143
|
graphProps = _this$props.graphProps;
|
|
76
144
|
var scale = graphProps.scale,
|
|
77
|
-
size = graphProps.size,
|
|
145
|
+
_graphProps$size = graphProps.size,
|
|
146
|
+
height = _graphProps$size.height,
|
|
147
|
+
width = _graphProps$size.width,
|
|
78
148
|
domain = graphProps.domain,
|
|
79
149
|
range = graphProps.range;
|
|
80
150
|
var rowTickValues = (0, _utils.getTickValues)(range);
|
|
81
|
-
var
|
|
82
|
-
|
|
151
|
+
var columnTickValues = (0, _utils.getTickValues)(domain);
|
|
152
|
+
|
|
153
|
+
var _this$getAdditionalGr = this.getAdditionalGridProps(rowTickValues, columnTickValues),
|
|
154
|
+
rowTickLabelValues = _this$getAdditionalGr.rowTickLabelValues,
|
|
155
|
+
columnTickLabelValues = _this$getAdditionalGr.columnTickLabelValues,
|
|
156
|
+
rowStrokeDasharray = _this$getAdditionalGr.rowStrokeDasharray,
|
|
157
|
+
columnStrokeDasharray = _this$getAdditionalGr.columnStrokeDasharray,
|
|
158
|
+
displayAdditionalGrid = _this$getAdditionalGr.displayAdditionalGrid;
|
|
159
|
+
|
|
160
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.Grid, {
|
|
83
161
|
innerRef: function innerRef(r) {
|
|
84
|
-
return
|
|
162
|
+
return _this2.grid = r;
|
|
85
163
|
},
|
|
86
164
|
xScale: scale.x,
|
|
87
165
|
yScale: scale.y,
|
|
88
|
-
width:
|
|
89
|
-
height:
|
|
166
|
+
width: width,
|
|
167
|
+
height: height,
|
|
90
168
|
className: classes.grid,
|
|
91
169
|
rowTickValues: rowTickValues,
|
|
92
|
-
columnTickValues:
|
|
93
|
-
})
|
|
170
|
+
columnTickValues: columnTickValues
|
|
171
|
+
}), displayAdditionalGrid && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(vx.GridRows, {
|
|
172
|
+
scale: scale.y,
|
|
173
|
+
width: width,
|
|
174
|
+
tickValues: rowTickLabelValues,
|
|
175
|
+
stroke: _renderUi.color.primary(),
|
|
176
|
+
strokeDasharray: rowStrokeDasharray
|
|
177
|
+
}), /*#__PURE__*/_react["default"].createElement(vx.GridColumns, {
|
|
178
|
+
scale: scale.x,
|
|
179
|
+
height: height,
|
|
180
|
+
tickValues: columnTickLabelValues,
|
|
181
|
+
stroke: _renderUi.color.primary(),
|
|
182
|
+
strokeDasharray: columnStrokeDasharray
|
|
183
|
+
})));
|
|
94
184
|
}
|
|
95
185
|
}]);
|
|
96
186
|
|
|
@@ -101,6 +191,7 @@ exports.Grid = Grid;
|
|
|
101
191
|
|
|
102
192
|
_defineProperty(Grid, "propTypes", {
|
|
103
193
|
disabled: _propTypes["default"].bool,
|
|
194
|
+
disabledAdditionalGrid: _propTypes["default"].bool,
|
|
104
195
|
classes: _propTypes["default"].object.isRequired,
|
|
105
196
|
graphProps: _plot.types.GraphPropsType.isRequired
|
|
106
197
|
});
|
package/lib/grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/grid.jsx"],"names":["Grid","
|
|
1
|
+
{"version":3,"sources":["../src/grid.jsx"],"names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","nextProps","nextGraphProps","utils","isDomainRangeEqual","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","stroke"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n shouldComponentUpdate(nextProps) {\n const { graphProps } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return !utils.isDomainRangeEqual(graphProps, nextGraphProps);\n }\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"file":"grid.js"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.4.3-next.
|
|
6
|
+
"version": "2.4.3-next.271+c8d57f18",
|
|
7
7
|
"description": "Graphing components",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -43,6 +43,6 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^16.8.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "c8d57f184903e012d6c222f0eb2e94f0e53894ae",
|
|
47
47
|
"scripts": {}
|
|
48
48
|
}
|
package/src/axis/axes.jsx
CHANGED
|
@@ -196,11 +196,12 @@ export class RawYAxis extends React.Component {
|
|
|
196
196
|
tickClassName={classes.tick}
|
|
197
197
|
tickFormat={customTickFormat}
|
|
198
198
|
tickLabelProps={value => {
|
|
199
|
-
|
|
199
|
+
let digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;
|
|
200
|
+
|
|
200
201
|
return {
|
|
201
202
|
...tickLabelStyles,
|
|
202
203
|
dy: 4,
|
|
203
|
-
dx: -
|
|
204
|
+
dx: -10 - digits * 9,
|
|
204
205
|
'data-pie-readable': false
|
|
205
206
|
};
|
|
206
207
|
}}
|
package/src/grid.jsx
CHANGED
|
@@ -2,12 +2,14 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import * as vx from '@vx/grid';
|
|
4
4
|
import { types, utils } from '@pie-lib/plot';
|
|
5
|
+
import { color } from '@pie-lib/render-ui';
|
|
5
6
|
import { withStyles } from '@material-ui/core/styles';
|
|
6
7
|
import { getTickValues } from './utils';
|
|
7
8
|
|
|
8
9
|
export class Grid extends React.Component {
|
|
9
10
|
static propTypes = {
|
|
10
11
|
disabled: PropTypes.bool,
|
|
12
|
+
disabledAdditionalGrid: PropTypes.bool,
|
|
11
13
|
classes: PropTypes.object.isRequired,
|
|
12
14
|
graphProps: types.GraphPropsType.isRequired
|
|
13
15
|
};
|
|
@@ -15,26 +17,124 @@ export class Grid extends React.Component {
|
|
|
15
17
|
shouldComponentUpdate(nextProps) {
|
|
16
18
|
const { graphProps } = this.props;
|
|
17
19
|
const { graphProps: nextGraphProps } = nextProps;
|
|
20
|
+
|
|
18
21
|
return !utils.isDomainRangeEqual(graphProps, nextGraphProps);
|
|
19
22
|
}
|
|
20
23
|
|
|
24
|
+
getAdditionalGridProps = (rowTickValues, columnTickValues) => {
|
|
25
|
+
const {
|
|
26
|
+
graphProps: {
|
|
27
|
+
scale,
|
|
28
|
+
size: { width, height },
|
|
29
|
+
domain,
|
|
30
|
+
range
|
|
31
|
+
}
|
|
32
|
+
} = this.props;
|
|
33
|
+
const rowTickLabelValues = getTickValues({
|
|
34
|
+
...range,
|
|
35
|
+
step: range.labelStep
|
|
36
|
+
}).filter(value => rowTickValues.includes(value));
|
|
37
|
+
const columnTickLabelValues = getTickValues({
|
|
38
|
+
...domain,
|
|
39
|
+
step: domain.labelStep
|
|
40
|
+
}).filter(value => columnTickValues.includes(value));
|
|
41
|
+
|
|
42
|
+
const minValueLength =
|
|
43
|
+
(rowTickLabelValues.length &&
|
|
44
|
+
Math.min(...rowTickLabelValues)
|
|
45
|
+
.toString()
|
|
46
|
+
.replace(/[.-]/g, '').length) ||
|
|
47
|
+
1;
|
|
48
|
+
const maxValueLength =
|
|
49
|
+
(rowTickLabelValues.length &&
|
|
50
|
+
Math.max(...rowTickLabelValues)
|
|
51
|
+
.toString()
|
|
52
|
+
.replace(/[.-]/g, '').length) ||
|
|
53
|
+
1;
|
|
54
|
+
|
|
55
|
+
const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;
|
|
56
|
+
const horizontalDistanceToZero = scale.x(0);
|
|
57
|
+
const verticalDistanceToZero = scale.y(0);
|
|
58
|
+
const columnLabelLength = 28;
|
|
59
|
+
const rowStrokeDasharray = `${horizontalDistanceToZero -
|
|
60
|
+
rowLabelLength} ${rowLabelLength} ${width}`;
|
|
61
|
+
const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;
|
|
62
|
+
|
|
63
|
+
const displayAdditionalGrid =
|
|
64
|
+
domain.labelStep > 0 &&
|
|
65
|
+
range.labelStep > 0 &&
|
|
66
|
+
rowTickLabelValues &&
|
|
67
|
+
columnTickLabelValues &&
|
|
68
|
+
rowTickLabelValues.length > 1 &&
|
|
69
|
+
columnTickLabelValues.length > 1 &&
|
|
70
|
+
(rowTickLabelValues.length !== rowTickValues.length ||
|
|
71
|
+
columnTickLabelValues.length !== columnTickValues.length);
|
|
72
|
+
|
|
73
|
+
const filteredColumnValues = columnTickLabelValues.filter(
|
|
74
|
+
value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength
|
|
75
|
+
);
|
|
76
|
+
const filteredRowValues = rowTickLabelValues.filter(
|
|
77
|
+
value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
return {
|
|
81
|
+
rowTickLabelValues: filteredRowValues,
|
|
82
|
+
columnTickLabelValues: filteredColumnValues,
|
|
83
|
+
rowStrokeDasharray,
|
|
84
|
+
columnStrokeDasharray,
|
|
85
|
+
displayAdditionalGrid
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
|
|
21
89
|
render() {
|
|
22
90
|
const { classes, graphProps } = this.props;
|
|
23
|
-
const {
|
|
91
|
+
const {
|
|
92
|
+
scale,
|
|
93
|
+
size: { height, width },
|
|
94
|
+
domain,
|
|
95
|
+
range
|
|
96
|
+
} = graphProps;
|
|
24
97
|
const rowTickValues = getTickValues(range);
|
|
25
|
-
const
|
|
98
|
+
const columnTickValues = getTickValues(domain);
|
|
99
|
+
const {
|
|
100
|
+
rowTickLabelValues,
|
|
101
|
+
columnTickLabelValues,
|
|
102
|
+
rowStrokeDasharray,
|
|
103
|
+
columnStrokeDasharray,
|
|
104
|
+
displayAdditionalGrid
|
|
105
|
+
} = this.getAdditionalGridProps(rowTickValues, columnTickValues);
|
|
26
106
|
|
|
27
107
|
return (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
108
|
+
<>
|
|
109
|
+
<vx.Grid
|
|
110
|
+
innerRef={r => (this.grid = r)}
|
|
111
|
+
xScale={scale.x}
|
|
112
|
+
yScale={scale.y}
|
|
113
|
+
width={width}
|
|
114
|
+
height={height}
|
|
115
|
+
className={classes.grid}
|
|
116
|
+
rowTickValues={rowTickValues}
|
|
117
|
+
columnTickValues={columnTickValues}
|
|
118
|
+
/>
|
|
119
|
+
{displayAdditionalGrid && (
|
|
120
|
+
<>
|
|
121
|
+
<vx.GridRows
|
|
122
|
+
scale={scale.y}
|
|
123
|
+
width={width}
|
|
124
|
+
tickValues={rowTickLabelValues}
|
|
125
|
+
stroke={color.primary()}
|
|
126
|
+
strokeDasharray={rowStrokeDasharray}
|
|
127
|
+
/>
|
|
128
|
+
<vx.GridColumns
|
|
129
|
+
scale={scale.x}
|
|
130
|
+
height={height}
|
|
131
|
+
tickValues={columnTickLabelValues}
|
|
132
|
+
stroke={color.primary()}
|
|
133
|
+
strokeDasharray={columnStrokeDasharray}
|
|
134
|
+
/>
|
|
135
|
+
</>
|
|
136
|
+
)}
|
|
137
|
+
</>
|
|
38
138
|
);
|
|
39
139
|
}
|
|
40
140
|
}
|