@pie-lib/graphing 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/axis/arrow.js +15 -25
  3. package/lib/axis/arrow.js.map +1 -1
  4. package/lib/axis/axes.js +41 -73
  5. package/lib/axis/axes.js.map +1 -1
  6. package/lib/axis/index.js +1 -1
  7. package/lib/bg.js +20 -31
  8. package/lib/bg.js.map +1 -1
  9. package/lib/container/index.js +27 -41
  10. package/lib/container/index.js.map +1 -1
  11. package/lib/container/reducer.js +2 -2
  12. package/lib/container/reducer.js.map +1 -1
  13. package/lib/coordinates-label.js +5 -5
  14. package/lib/coordinates-label.js.map +1 -1
  15. package/lib/graph-with-controls.js +37 -38
  16. package/lib/graph-with-controls.js.map +1 -1
  17. package/lib/graph.js +43 -69
  18. package/lib/graph.js.map +1 -1
  19. package/lib/grid-setup.js +6 -6
  20. package/lib/grid-setup.js.map +1 -1
  21. package/lib/grid.js +28 -46
  22. package/lib/grid.js.map +1 -1
  23. package/lib/index.js +3 -3
  24. package/lib/index.js.map +1 -1
  25. package/lib/labels.js +22 -38
  26. package/lib/labels.js.map +1 -1
  27. package/lib/mark-label.js +10 -20
  28. package/lib/mark-label.js.map +1 -1
  29. package/lib/toggle-bar.js +177 -45
  30. package/lib/toggle-bar.js.map +1 -1
  31. package/lib/tool-menu.js +49 -32
  32. package/lib/tool-menu.js.map +1 -1
  33. package/lib/tools/circle/bg-circle.js +27 -38
  34. package/lib/tools/circle/bg-circle.js.map +1 -1
  35. package/lib/tools/circle/component.js +36 -54
  36. package/lib/tools/circle/component.js.map +1 -1
  37. package/lib/tools/circle/index.js +5 -5
  38. package/lib/tools/circle/index.js.map +1 -1
  39. package/lib/tools/line/component.js +11 -25
  40. package/lib/tools/line/component.js.map +1 -1
  41. package/lib/tools/line/index.js +2 -2
  42. package/lib/tools/line/index.js.map +1 -1
  43. package/lib/tools/parabola/component.js +2 -2
  44. package/lib/tools/parabola/component.js.map +1 -1
  45. package/lib/tools/parabola/index.js +5 -5
  46. package/lib/tools/parabola/index.js.map +1 -1
  47. package/lib/tools/point/component.js +30 -47
  48. package/lib/tools/point/component.js.map +1 -1
  49. package/lib/tools/point/index.js +5 -5
  50. package/lib/tools/point/index.js.map +1 -1
  51. package/lib/tools/polygon/component.js +59 -107
  52. package/lib/tools/polygon/component.js.map +1 -1
  53. package/lib/tools/polygon/index.js +9 -19
  54. package/lib/tools/polygon/index.js.map +1 -1
  55. package/lib/tools/polygon/line.js +28 -41
  56. package/lib/tools/polygon/line.js.map +1 -1
  57. package/lib/tools/polygon/polygon.js +28 -42
  58. package/lib/tools/polygon/polygon.js.map +1 -1
  59. package/lib/tools/ray/component.js +11 -25
  60. package/lib/tools/ray/component.js.map +1 -1
  61. package/lib/tools/ray/index.js +2 -2
  62. package/lib/tools/ray/index.js.map +1 -1
  63. package/lib/tools/segment/component.js +8 -11
  64. package/lib/tools/segment/component.js.map +1 -1
  65. package/lib/tools/segment/index.js +2 -2
  66. package/lib/tools/segment/index.js.map +1 -1
  67. package/lib/tools/shared/arrow-head.js +2 -2
  68. package/lib/tools/shared/arrow-head.js.map +1 -1
  69. package/lib/tools/shared/line/index.js +43 -66
  70. package/lib/tools/shared/line/index.js.map +1 -1
  71. package/lib/tools/shared/line/line-path.js +29 -42
  72. package/lib/tools/shared/line/line-path.js.map +1 -1
  73. package/lib/tools/shared/line/with-root-edge.js +12 -14
  74. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  75. package/lib/tools/shared/point/arrow-point.js +24 -39
  76. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  77. package/lib/tools/shared/point/arrow.js +23 -37
  78. package/lib/tools/shared/point/arrow.js.map +1 -1
  79. package/lib/tools/shared/point/base-point.js +24 -38
  80. package/lib/tools/shared/point/base-point.js.map +1 -1
  81. package/lib/tools/shared/point/index.js +6 -6
  82. package/lib/tools/shared/point/index.js.map +1 -1
  83. package/lib/tools/shared/styles.js +7 -5
  84. package/lib/tools/shared/styles.js.map +1 -1
  85. package/lib/tools/shared/types.js +2 -2
  86. package/lib/tools/shared/types.js.map +1 -1
  87. package/lib/tools/sine/component.js +2 -2
  88. package/lib/tools/sine/component.js.map +1 -1
  89. package/lib/tools/sine/index.js +5 -5
  90. package/lib/tools/sine/index.js.map +1 -1
  91. package/lib/tools/vector/component.js +8 -11
  92. package/lib/tools/vector/component.js.map +1 -1
  93. package/lib/tools/vector/index.js +2 -2
  94. package/lib/tools/vector/index.js.map +1 -1
  95. package/lib/undo-redo.js +19 -31
  96. package/lib/undo-redo.js.map +1 -1
  97. package/lib/use-debounce.js +5 -13
  98. package/lib/use-debounce.js.map +1 -1
  99. package/lib/utils.js +2 -2
  100. package/lib/utils.js.map +1 -1
  101. package/package.json +4 -3
  102. package/src/graph-with-controls.jsx +10 -0
  103. package/src/toggle-bar.jsx +143 -13
  104. package/src/tool-menu.jsx +15 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph-with-controls.jsx"],"names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","domain","labels","onChangeMarks","onUndo","onRedo","onReset","range","size","tT","graphActions","changeCurrentTool","toggleLabelMode","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","PropTypes","func","arrayOf","string","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography","minHeight","margin","marginTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport {\n ExpansionPanel,\n ExpansionPanelDetails,\n ExpansionPanelSummary,\n Typography\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nconst getDefaultCurrentTool = toolType => toolsArr.find(tool => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel\n elevation={0}\n className={classes.expansionPanel}\n disabledGutters={true}\n square={true}\n >\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n toolbarTools: []\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n domain,\n labels,\n onChangeMarks,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const graphActions = (\n <React.Fragment>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {graphActions}\n </Collapsible>\n ) : (\n graphActions\n )}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n },\n expansionPanel: {\n backgroundColor: color.primaryLight()\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important'\n },\n summaryContent: {\n margin: '4px 0 !important'\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"file":"graph-with-controls.js"}
1
+ {"version":3,"sources":["../src/graph-with-controls.jsx"],"names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","propTypes","PropTypes","object","array","string","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","domain","draggableTools","labels","onChangeMarks","onChangeTools","onUndo","onRedo","onReset","range","size","tT","graphActions","changeCurrentTool","toggleLabelMode","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","func","arrayOf","styles","theme","width","display","justifyContent","padding","spacing","unit","color","text","backgroundColor","primaryLight","borderTop","primaryDark","borderBottom","borderLeft","borderRight","fontSize","typography","minHeight","margin","marginTop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAMA;;;;;;;;;;;;;;AAEO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAC,YAAY;AAAA,SAChDC,gBAASC,GAAT,CAAa,UAAAC,EAAE;AAAA,2CAAUA,EAAV;AAAcC,MAAAA,OAAO,EAAE,CAAC,CAACJ,YAAY,CAACK,IAAb,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAKH,EAAE,CAACI,IAAb;AAAA,OAAnB;AAAzB;AAAA,GAAf,KAAqF,EADrC;AAAA,CAA3C;;;;AAGA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,WAAR;AAAA,SAC7BA,WAAW,IAAID,KAAf,IAAwB,CAACA,KAAK,CAACJ,IAAN,CAAW,UAAAM,IAAI;AAAA,WAAIA,IAAI,CAACJ,IAAL,KAAcG,WAAW,CAACH,IAA9B;AAAA,GAAf,KAAsD,EAAvD,EAA2DH,OADtD;AAAA,CAAxB;;;;AAGA,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAH,KAAK;AAAA,SAAIA,KAAK,CAACJ,IAAN,CAAW,UAAAM,IAAI;AAAA,WAAIA,IAAI,CAACP,OAAT;AAAA,GAAf,CAAJ;AAAA,CAA9B;;;;AAEA,IAAMS,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAC,eAAe;AAAA,SACnDA,eAAe,CAACC,MAAhB,CAAuB,UAAAC,EAAE;AAAA,WAAI,CAAC,CAACC,gBAASZ,IAAT,CAAc,UAAAM,IAAI;AAAA,aAAIA,IAAI,KAAKK,EAAE,CAACT,IAAhB;AAAA,KAAlB,CAAN;AAAA,GAAzB,CADmD;AAAA,CAA9C;;;;AAGA,IAAMW,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAClB,YAAD,EAAemB,KAAf;AAAA,SACtCA,KAAK,CAACJ,MAAN,CAAa,UAAAC,EAAE;AAAA,WAAI,CAAC,CAAChB,YAAY,CAACK,IAAb,CAAkB,UAAAM,IAAI;AAAA,aAAIA,IAAI,KAAKK,EAAE,CAACT,IAAhB;AAAA,KAAtB,CAAN;AAAA,GAAf,CADsC;AAAA,CAAjC;;;;AAGP,IAAMa,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAC,QAAQ;AAAA,SAAIpB,gBAASI,IAAT,CAAc,UAAAM,IAAI;AAAA,WAAIA,IAAI,CAACJ,IAAL,KAAcc,QAAlB;AAAA,GAAlB,KAAiD,IAArD;AAAA,CAAtC;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,QAAZ,QAAYA,QAAZ;AAAA,MAAsBC,KAAtB,QAAsBA,KAAtB;AAAA,sBAClB,gCAAC,oBAAD;AACE,IAAA,SAAS,EAAE,CADb;AAEE,IAAA,SAAS,EAAEF,OAAO,CAACG,cAFrB;AAGE,IAAA,eAAe,EAAE,IAHnB;AAIE,IAAA,MAAM,EAAE;AAJV,kBAME,gCAAC,2BAAD;AACE,IAAA,OAAO,EAAE;AACPC,MAAAA,IAAI,EAAEJ,OAAO,CAACK,WADP;AAEPC,MAAAA,OAAO,EAAEN,OAAO,CAACO;AAFV,KADX;AAKE,IAAA,UAAU,eAAE,gCAAC,sBAAD;AALd,kBAOE,gCAAC,gBAAD;AAAY,IAAA,OAAO,EAAC;AAApB,KAAkCL,KAAlC,CAPF,CANF,eAeE,gCAAC,2BAAD;AAAuB,IAAA,SAAS,EAAEF,OAAO,CAACQ;AAA1C,KAAoDP,QAApD,CAfF,CADkB;AAAA,CAApB;;AAoBAF,WAAW,CAACU,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,MADG;AAEtBV,EAAAA,QAAQ,EAAES,sBAAUE,KAFE;AAGtBV,EAAAA,KAAK,EAAEQ,sBAAUG;AAHK,CAAxB;;IAMaC,iB;;;;;AAeX,6BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,0GAmBC,UAAC3B,IAAD,EAAOF,KAAP;AAAA,aAClB,MAAK8B,QAAL,CAAc;AAAE7B,QAAAA,WAAW,EAAED,KAAK,CAACJ,IAAN,CAAW,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAACC,IAAF,KAAWI,IAAf;AAAA,SAAZ;AAAf,OAAd,CADkB;AAAA,KAnBD;AAAA,wGAsBD;AAAA,aAAM,MAAK4B,QAAL,CAAc,UAAAC,KAAK;AAAA,eAAK;AAAEC,UAAAA,gBAAgB,EAAE,CAACD,KAAK,CAACC;AAA3B,SAAL;AAAA,OAAnB,CAAN;AAAA,KAtBC;AAGjB,UAAKD,KAAL,GAAa;AACX9B,MAAAA,WAAW,EAAEU,qBAAqB,CAACkB,KAAK,CAACI,WAAP,CADvB;AAEXD,MAAAA,gBAAgB,EAAE;AAFP,KAAb;AAHiB;AAOlB;;;;WAED,4BAAmBE,SAAnB,EAA8B;AAC5B,UAAQD,WAAR,GAAwB,KAAKJ,KAA7B,CAAQI,WAAR;;AAEA,UAAIC,SAAS,CAACD,WAAV,KAA0BA,WAA9B,EAA2C;AACzC,YAAMhC,WAAW,GAAGU,qBAAqB,CAACsB,WAAD,CAAzC;AAEA,aAAKH,QAAL,CAAc;AAAE7B,UAAAA,WAAW,EAAXA;AAAF,SAAd;AACD;AACF;;;WAOD,kBAAS;AAAA;;AACP,wBAAwC,KAAK8B,KAA7C;AAAA,UAAM9B,WAAN,eAAMA,WAAN;AAAA,UAAmB+B,gBAAnB,eAAmBA,gBAAnB;AACA,wBAmBI,KAAKH,KAnBT;AAAA,UACEM,YADF,eACEA,YADF;AAAA,UAEErB,OAFF,eAEEA,OAFF;AAAA,UAGEsB,SAHF,eAGEA,SAHF;AAAA,UAIEC,kBAJF,eAIEA,kBAJF;AAAA,UAKEC,kBALF,eAKEA,kBALF;AAAA,UAMEC,uBANF,eAMEA,uBANF;AAAA,UAOEC,QAPF,eAOEA,QAPF;AAAA,UAQEC,MARF,eAQEA,MARF;AAAA,UASEC,cATF,eASEA,cATF;AAAA,UAUEC,MAVF,eAUEA,MAVF;AAAA,UAWEC,aAXF,eAWEA,aAXF;AAAA,UAYEC,aAZF,eAYEA,aAZF;AAAA,UAaEC,MAbF,eAaEA,MAbF;AAAA,UAcEC,MAdF,eAcEA,MAdF;AAAA,UAeEC,OAfF,eAeEA,OAfF;AAAA,UAgBEC,KAhBF,eAgBEA,KAhBF;AAAA,UAiBEC,IAjBF,eAiBEA,IAjBF;AAAA,UAkBElC,KAlBF,eAkBEA,KAlBF;AAoBA,yBAA+C,KAAKa,KAApD;AAAA,UAAMxB,eAAN,gBAAMA,eAAN;AAAA,UAAuBK,KAAvB,gBAAuBA,KAAvB;AAAA,UAA8BnB,YAA9B,gBAA8BA,YAA9B,CAtBO,CAwBP;;AACAA,MAAAA,YAAY,GAAG,sBAAKA,YAAY,IAAI,EAArB,EAAyBe,MAAzB,CAAgC,UAAA6C,EAAE;AAAA,eAAI,CAAC,CAAC,0BAASA,EAAT,CAAN;AAAA,OAAlC,KAAyD,EAAxE,CAzBO,CA2BP;;AACA9C,MAAAA,eAAe,GAAGD,sBAAsB,CAACC,eAAe,IAAI,EAApB,CAAxC,CA5BO,CA8BP;;AACAK,MAAAA,KAAK,GAAGD,wBAAwB,CAAClB,YAAD,EAAemB,KAAK,IAAI,EAAxB,CAAhC;AAEA,UAAMV,KAAK,GAAGV,sBAAsB,CAACC,YAAD,CAApC,CAjCO,CAmCP;;AACA,UAAI,CAACU,WAAD,IAAgB,CAACF,eAAe,CAACC,KAAD,EAAQC,WAAR,CAApC,EAA0D;AACxDA,QAAAA,WAAW,GAAGE,gBAAgB,CAACH,KAAD,CAA9B;AACD;;AAED,UAAMoD,YAAY,gBAChB,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,oBAAD;AACE,QAAA,eAAe,EAAEnD,WAAW,IAAIA,WAAW,CAACH,IAD9C;AAEE,QAAA,QAAQ,EAAE,CAAC,CAAC0C,QAFd;AAGE,QAAA,cAAc,EAAEE,cAHlB;AAIE,QAAA,gBAAgB,EAAEV,gBAJpB;AAKE,QAAA,QAAQ,EAAE,kBAAA9B,IAAI;AAAA,iBAAI,MAAI,CAACmD,iBAAL,CAAuBnD,IAAvB,EAA6BF,KAA7B,CAAJ;AAAA,SALhB;AAME,QAAA,iBAAiB,EAAE,KAAKsD,eAN1B;AAOE,QAAA,YAAY,EAAE/D,YAPhB;AAQE,QAAA,aAAa,EAAEsD;AARjB,QADF,EAYG,CAACL,QAAD,iBAAa,gCAAC,oBAAD;AAAU,QAAA,MAAM,EAAEM,MAAlB;AAA0B,QAAA,MAAM,EAAEC,MAAlC;AAA0C,QAAA,OAAO,EAAEC;AAAnD,QAZhB,CADF;;AAiBA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWlC,OAAO,CAACyC,iBAAnB,EAAsCnB,SAAtC;AAAhB,sBACE;AAAK,QAAA,SAAS,EAAEtB,OAAO,CAAC0C;AAAxB,SACGlB,kBAAkB,gBACjB,gCAAC,WAAD;AAAa,QAAA,OAAO,EAAExB,OAAtB;AAA+B,QAAA,KAAK,EAAEyB;AAAtC,SACGa,YADH,CADiB,GAKjBA,YANJ,CADF,eAWE;AAAK,QAAA,GAAG,EAAE,aAAAK,CAAC;AAAA,iBAAK,MAAI,CAACC,SAAL,GAAiBD,CAAtB;AAAA;AAAX,QAXF,eAaE,gCAAC,iBAAD;AACE,QAAA,YAAY,EAAEtB,YADhB;AAEE,QAAA,eAAe,EAAE9B,eAFnB;AAGE,QAAA,kBAAkB,EAAEgC,kBAHtB;AAIE,QAAA,WAAW,EAAEpC,WAJf;AAKE,QAAA,MAAM,EAAEwC,MALV;AAME,QAAA,MAAM,EAAEE,MANV;AAOE,QAAA,gBAAgB,EAAEX,gBAPpB;AAQE,QAAA,KAAK,EAAEtB,KART;AASE,QAAA,aAAa,EAAE,CAAC8B,QAAD,GAAYI,aAAZ,GAA4Be,SAT7C;AAUE,QAAA,KAAK,EAAEV,KAVT;AAWE,QAAA,IAAI,EAAEC,IAXR;AAYE,QAAA,KAAK,EAAElC,KAZT;AAaE,QAAA,KAAK,EAAEhB;AAbT,QAbF,CADF;AA+BD;;;EA/HoC4D,kBAAMC,S;;;iCAAhCjC,iB,+CAENkC,qB;AACHhB,EAAAA,MAAM,EAAEtB,sBAAUuC,I;AAClBhB,EAAAA,MAAM,EAAEvB,sBAAUuC,I;AAClBf,EAAAA,OAAO,EAAExB,sBAAUuC,I;AACnBxE,EAAAA,YAAY,EAAEiC,sBAAUwC,OAAV,CAAkBxC,sBAAUG,MAA5B,C,CAAoC;;;iCANzCC,iB,kBASW;AACpBU,EAAAA,kBAAkB,EAAE,KADA;AAEpBC,EAAAA,uBAAuB,EAAE,EAFL;AAGpBhD,EAAAA,YAAY,EAAE;AAHM,C;;AAyHxB,IAAM0E,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBX,IAAAA,iBAAiB,EAAE,EADI;AAEvBC,IAAAA,QAAQ,EAAE;AACRW,MAAAA,KAAK,EAAE,SADC;AAERC,MAAAA,OAAO,EAAE,MAFD;AAGRC,MAAAA,cAAc,EAAE,eAHR;AAIRC,MAAAA,OAAO,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IAJf;AAKRC,MAAAA,KAAK,EAAEA,gBAAMC,IAAN,EALC;AAMRC,MAAAA,eAAe,EAAEF,gBAAMG,YAAN,EANT;AAORC,MAAAA,SAAS,sBAAeJ,gBAAMK,WAAN,EAAf,CAPD;AAQRC,MAAAA,YAAY,sBAAeN,gBAAMK,WAAN,EAAf,CARJ;AASRE,MAAAA,UAAU,sBAAeP,gBAAMK,WAAN,EAAf,CATF;AAURG,MAAAA,WAAW,sBAAeR,gBAAMK,WAAN,EAAf,CAVH;AAWR,kBAAY;AACVI,QAAAA,QAAQ,EAAEhB,KAAK,CAACiB,UAAN,CAAiBD;AADjB;AAXJ,KAFa;AAiBvBjE,IAAAA,cAAc,EAAE;AACd0D,MAAAA,eAAe,EAAEF,gBAAMG,YAAN;AADH,KAjBO;AAoBvBzD,IAAAA,WAAW,EAAE;AACXmD,MAAAA,OAAO,cAAOJ,KAAK,CAACK,OAAN,CAAcC,IAArB,OADI;AAEXY,MAAAA,SAAS,EAAE;AAFA,KApBU;AAwBvB/D,IAAAA,cAAc,EAAE;AACdgE,MAAAA,MAAM,EAAE;AADM,KAxBO;AA2BvB/D,IAAAA,OAAO,EAAE;AACPgD,MAAAA,OAAO,EAAE,CADF;AAEPgB,MAAAA,SAAS,EAAEpB,KAAK,CAACK,OAAN,CAAcC;AAFlB;AA3Bc,GAAL;AAAA,CAApB;;eAiCe,wBAAWP,MAAX,EAAmBrC,iBAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '@pie-lib/render-ui';\n\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport {\n ExpansionPanel,\n ExpansionPanelDetails,\n ExpansionPanelSummary,\n Typography\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = toolbarTools =>\n toolsArr.map(tA => ({ ...tA, toolbar: !!toolbarTools.find(t => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find(tool => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = tools => tools.find(tool => tool.toolbar);\n\nexport const filterByValidToolTypes = backgroundMarks =>\n backgroundMarks.filter(bM => !!allTools.find(tool => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter(bM => !!toolbarTools.find(tool => tool === bM.type));\n\nconst getDefaultCurrentTool = toolType => toolsArr.find(tool => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel\n elevation={0}\n className={classes.expansionPanel}\n disabledGutters={true}\n square={true}\n >\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nCollapsible.propTypes = {\n classes: PropTypes.object,\n children: PropTypes.array,\n title: PropTypes.string\n};\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string) // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n toolbarTools: []\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) =>\n this.setState({ currentTool: tools.find(t => t.type === tool) });\n\n toggleLabelMode = () => this.setState(state => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n domain,\n draggableTools,\n labels,\n onChangeMarks,\n onChangeTools,\n onUndo,\n onRedo,\n onReset,\n range,\n size,\n title\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter(tT => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const graphActions = (\n <React.Fragment>\n <ToolMenu\n currentToolType={currentTool && currentTool.type}\n disabled={!!disabled}\n draggableTools={draggableTools}\n labelModeEnabled={labelModeEnabled}\n onChange={tool => this.changeCurrentTool(tool, tools)}\n onToggleLabelMode={this.toggleLabelMode}\n toolbarTools={toolbarTools}\n onChangeTools={onChangeTools}\n />\n\n {!disabled && <UndoRedo onUndo={onUndo} onRedo={onRedo} onReset={onReset} />}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {graphActions}\n </Collapsible>\n ) : (\n graphActions\n )}\n </div>\n\n <div ref={r => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n range={range}\n size={size}\n title={title}\n tools={tools}\n />\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n graphWithControls: {},\n controls: {\n width: 'inherit',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.primaryLight(),\n borderTop: `solid 1px ${color.primaryDark()}`,\n borderBottom: `solid 0px ${color.primaryDark()}`,\n borderLeft: `solid 1px ${color.primaryDark()}`,\n borderRight: `solid 1px ${color.primaryDark()}`,\n '& button': {\n fontSize: theme.typography.fontSize\n }\n },\n expansionPanel: {\n backgroundColor: color.primaryLight()\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important'\n },\n summaryContent: {\n margin: '4px 0 !important'\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit\n }\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"file":"graph-with-controls.js"}
package/lib/graph.js CHANGED
@@ -1,12 +1,32 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.removeBuildingToolIfCurrentToolDiffers = exports.graphPropTypes = exports["default"] = exports.Graph = void 0;
9
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
+
26
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
+
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+
10
30
  var _react = _interopRequireDefault(require("react"));
11
31
 
12
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -33,48 +53,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
33
53
 
34
54
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
55
 
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
-
38
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
56
  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; }
41
57
 
42
- 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; }
43
-
44
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
45
-
46
- 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."); }
47
-
48
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
-
50
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
51
-
52
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
53
-
54
- 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; }
55
-
56
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57
-
58
- 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); } }
58
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
59
59
 
60
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
61
-
62
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
63
-
64
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
65
-
66
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
67
-
68
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
69
-
70
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
60
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
71
61
 
72
62
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
73
63
 
74
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
75
-
76
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
77
-
78
64
  var log = (0, _debug["default"])('pie-lib:graphing:graph');
79
65
  var graphPropTypes = {
80
66
  axesSettings: _propTypes["default"].shape(_axis.AxisPropTypes),
@@ -131,30 +117,27 @@ var removeBuildingToolIfCurrentToolDiffers = function removeBuildingToolIfCurren
131
117
  exports.removeBuildingToolIfCurrentToolDiffers = removeBuildingToolIfCurrentToolDiffers;
132
118
 
133
119
  var Graph = /*#__PURE__*/function (_React$Component) {
134
- _inherits(Graph, _React$Component);
120
+ (0, _inherits2["default"])(Graph, _React$Component);
135
121
 
136
122
  var _super = _createSuper(Graph);
137
123
 
138
124
  function Graph() {
139
125
  var _this;
140
126
 
141
- _classCallCheck(this, Graph);
127
+ (0, _classCallCheck2["default"])(this, Graph);
142
128
 
143
129
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
144
130
  args[_key] = arguments[_key];
145
131
  }
146
132
 
147
133
  _this = _super.call.apply(_super, [this].concat(args));
148
-
149
- _defineProperty(_assertThisInitialized(_this), "state", {});
150
-
151
- _defineProperty(_assertThisInitialized(_this), "componentDidMount", function () {
134
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {});
135
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "componentDidMount", function () {
152
136
  return _this.setState({
153
137
  labelNode: _this.labelNode
154
138
  });
155
139
  });
156
-
157
- _defineProperty(_assertThisInitialized(_this), "changeMark", function (oldMark, newMark) {
140
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMark", function (oldMark, newMark) {
158
141
  var _this$props = _this.props,
159
142
  onChangeMarks = _this$props.onChangeMarks,
160
143
  marks = _this$props.marks;
@@ -168,8 +151,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
168
151
  onChangeMarks(newMarks);
169
152
  }
170
153
  });
171
-
172
- _defineProperty(_assertThisInitialized(_this), "completeMark", function (markData) {
154
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "completeMark", function (markData) {
173
155
  var _this$props2 = _this.props,
174
156
  currentTool = _this$props2.currentTool,
175
157
  marks = _this$props2.marks;
@@ -181,8 +163,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
181
163
 
182
164
  _this.updateMarks(buildingMark, updatedMark);
183
165
  });
184
-
185
- _defineProperty(_assertThisInitialized(_this), "updateMarks", function (existing, update) {
166
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMarks", function (existing, update) {
186
167
  var addIfMissing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
187
168
  var _this$props3 = _this.props,
188
169
  onChangeMarks = _this$props3.onChangeMarks,
@@ -201,19 +182,17 @@ var Graph = /*#__PURE__*/function (_React$Component) {
201
182
  newMarks.splice(index, 1, update);
202
183
  onChangeMarks(newMarks);
203
184
  } else if (addIfMissing) {
204
- onChangeMarks([].concat(_toConsumableArray(newMarks), [update]));
185
+ onChangeMarks([].concat((0, _toConsumableArray2["default"])(newMarks), [update]));
205
186
  }
206
187
  });
207
-
208
- _defineProperty(_assertThisInitialized(_this), "getComponent", function (mark) {
188
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getComponent", function (mark) {
209
189
  if (!mark) return null;
210
190
  var tool = (_this.props.tools || []).find(function (t) {
211
191
  return t.type === mark.type;
212
192
  });
213
193
  return tool && tool.Component || null;
214
194
  });
215
-
216
- _defineProperty(_assertThisInitialized(_this), "onBgClick", function (point) {
195
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBgClick", function (point) {
217
196
  var x = point.x,
218
197
  y = point.y;
219
198
  var _this$props4 = _this.props,
@@ -245,11 +224,10 @@ var Graph = /*#__PURE__*/function (_React$Component) {
245
224
 
246
225
  _this.updateMarks(buildingMark, updatedMark, true);
247
226
  });
248
-
249
227
  return _this;
250
228
  }
251
229
 
252
- _createClass(Graph, [{
230
+ (0, _createClass2["default"])(Graph, [{
253
231
  key: "render",
254
232
  value: function render() {
255
233
  var _this2 = this;
@@ -278,20 +256,20 @@ var Graph = /*#__PURE__*/function (_React$Component) {
278
256
  marks: marks || [],
279
257
  currentTool: currentTool
280
258
  });
281
- return /*#__PURE__*/_react["default"].createElement(_plot.Root, _extends({
259
+ return /*#__PURE__*/_react["default"].createElement(_plot.Root, (0, _extends2["default"])({
282
260
  rootRef: function rootRef(r) {
283
261
  return _this2.rootNode = r;
284
262
  },
285
263
  title: title
286
- }, common), /*#__PURE__*/_react["default"].createElement(_labels["default"], _extends({
264
+ }, common), /*#__PURE__*/_react["default"].createElement(_labels["default"], (0, _extends2["default"])({
287
265
  value: labels
288
266
  }, common)), /*#__PURE__*/_react["default"].createElement("g", {
289
267
  transform: "translate(".concat(domain.padding, ", ").concat(range.padding, ")")
290
- }, /*#__PURE__*/_react["default"].createElement(_grid["default"], common), /*#__PURE__*/_react["default"].createElement(_axis.Axes, _extends({}, axesSettings, common)), /*#__PURE__*/_react["default"].createElement(_bg["default"], _extends({}, size, {
268
+ }, /*#__PURE__*/_react["default"].createElement(_grid["default"], common), /*#__PURE__*/_react["default"].createElement(_axis.Axes, (0, _extends2["default"])({}, axesSettings, common)), /*#__PURE__*/_react["default"].createElement(_bg["default"], (0, _extends2["default"])({}, size, {
291
269
  onClick: this.onBgClick
292
270
  }, common)), /*#__PURE__*/_react["default"].createElement("mask", {
293
271
  id: "myMask"
294
- }, /*#__PURE__*/_react["default"].createElement("rect", _extends({}, maskSize, {
272
+ }, /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({}, maskSize, {
295
273
  fill: "white"
296
274
  })), " "), /*#__PURE__*/_react["default"].createElement("g", {
297
275
  id: "marks",
@@ -300,7 +278,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
300
278
  var Component = _this2.getComponent(m);
301
279
 
302
280
  var markType = m.type;
303
- return /*#__PURE__*/_react["default"].createElement(Component, _extends({
281
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
304
282
  key: "".concat(markType, "-").concat(index, "-bg"),
305
283
  mark: _objectSpread(_objectSpread({}, m), {}, {
306
284
  disabled: true,
@@ -312,7 +290,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
312
290
  var Component = _this2.getComponent(m);
313
291
 
314
292
  var markType = m.type;
315
- return /*#__PURE__*/_react["default"].createElement(Component, _extends({
293
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
316
294
  key: "".concat(markType, "-").concat(index),
317
295
  mark: m,
318
296
  coordinatesOnHover: coordinatesOnHover,
@@ -324,7 +302,7 @@ var Graph = /*#__PURE__*/function (_React$Component) {
324
302
  labelNode: _this2.state.labelNode,
325
303
  isToolActive: currentTool && markType === currentTool.type
326
304
  }, common));
327
- }), /*#__PURE__*/_react["default"].createElement("foreignObject", _extends({
305
+ }), /*#__PURE__*/_react["default"].createElement("foreignObject", (0, _extends2["default"])({
328
306
  ref: function ref(labelNode) {
329
307
  return _this2.labelNode = labelNode;
330
308
  },
@@ -337,20 +315,16 @@ var Graph = /*#__PURE__*/function (_React$Component) {
337
315
  })))));
338
316
  }
339
317
  }]);
340
-
341
318
  return Graph;
342
319
  }(_react["default"].Component);
343
320
 
344
321
  exports.Graph = Graph;
345
-
346
- _defineProperty(Graph, "propTypes", _objectSpread(_objectSpread({}, graphPropTypes), {}, {
322
+ (0, _defineProperty2["default"])(Graph, "propTypes", _objectSpread(_objectSpread({}, graphPropTypes), {}, {
347
323
  currentTool: _propTypes["default"].object
348
324
  }));
349
-
350
- _defineProperty(Graph, "defaultProps", {
325
+ (0, _defineProperty2["default"])(Graph, "defaultProps", {
351
326
  onChangeMarks: function onChangeMarks() {}
352
327
  });
353
-
354
328
  var _default = Graph;
355
329
  exports["default"] = _default;
356
330
  //# sourceMappingURL=graph.js.map
package/lib/graph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graph.jsx"],"names":["log","graphPropTypes","axesSettings","PropTypes","shape","AxisPropTypes","backgroundMarks","array","className","string","collapsibleToolbar","bool","collapsibleToolbarTitle","domain","types","DomainType","labels","LabelType","labelModeEnabled","coordinatesOnHover","marks","onChangeMarks","func","range","size","width","number","isRequired","height","title","tools","getMaskSize","x","y","removeBuildingToolIfCurrentToolDiffers","currentTool","buildingMark","filter","m","building","newMarks","type","index","findIndex","splice","Graph","setState","labelNode","oldMark","newMark","props","markData","updatedMark","complete","updateMarks","existing","update","addIfMissing","mark","tool","find","t","Component","point","addPoint","undefined","graphProps","rootNode","maskSize","common","r","padding","onBgClick","map","getComponent","markType","disabled","isBackground","state","changeMark","completeMark","startDrag","stopDrag","pointerEvents","React","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Root, types, createGraphProps } from '@pie-lib/plot';\nimport debug from 'debug';\n\nimport Labels from './labels';\nimport { Axes, AxisPropTypes } from './axis';\nimport Grid from './grid';\nimport { LabelType } from './labels';\nimport Bg from './bg';\nimport { isDuplicatedMark } from './utils';\n\nconst log = debug('pie-lib:graphing:graph');\n\nexport const graphPropTypes = {\n axesSettings: PropTypes.shape(AxisPropTypes),\n backgroundMarks: PropTypes.array,\n className: PropTypes.string,\n collapsibleToolbar: PropTypes.bool,\n collapsibleToolbarTitle: PropTypes.string,\n domain: types.DomainType,\n labels: PropTypes.shape(LabelType),\n labelModeEnabled: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n marks: PropTypes.array,\n onChangeMarks: PropTypes.func,\n range: types.DomainType,\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n }),\n title: PropTypes.string,\n tools: PropTypes.array\n};\n\nconst getMaskSize = size => ({\n x: -23,\n y: -23,\n width: size.width + 46,\n height: size.height + 46\n});\n\nexport const removeBuildingToolIfCurrentToolDiffers = ({ marks, currentTool }) => {\n const buildingMark = marks.filter(m => m.building)[0];\n let newMarks = cloneDeep(marks);\n\n if (buildingMark && currentTool && buildingMark.type !== currentTool.type) {\n const index = newMarks.findIndex(m => isEqual(m, buildingMark));\n\n if (index >= 0) {\n newMarks.splice(index, 1);\n }\n }\n\n return newMarks;\n};\n\nexport class Graph extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n currentTool: PropTypes.object\n };\n\n static defaultProps = {\n onChangeMarks: () => {}\n };\n\n state = {};\n\n componentDidMount = () => this.setState({ labelNode: this.labelNode });\n\n changeMark = (oldMark, newMark) => {\n const { onChangeMarks, marks } = this.props;\n let newMarks = cloneDeep(marks);\n\n const index = newMarks.findIndex(m => isEqual(m, oldMark));\n\n if (index >= 0 && !isDuplicatedMark(newMark, marks, oldMark)) {\n newMarks.splice(index, 1, newMark);\n\n onChangeMarks(newMarks);\n }\n };\n\n completeMark = markData => {\n const { currentTool, marks } = this.props;\n const buildingMark = marks.filter(m => m.building)[0];\n\n if (!buildingMark || !currentTool) return;\n\n const updatedMark = currentTool.complete(buildingMark, markData);\n\n this.updateMarks(buildingMark, updatedMark);\n };\n\n updateMarks = (existing, update, addIfMissing = false) => {\n const { onChangeMarks, marks } = this.props;\n let newMarks = cloneDeep(marks);\n\n if (!update.building && isDuplicatedMark(update, marks)) {\n return;\n }\n\n const index = newMarks.findIndex(m => isEqual(m, existing));\n\n if (index >= 0) {\n newMarks.splice(index, 1, update);\n\n onChangeMarks(newMarks);\n } else if (addIfMissing) {\n onChangeMarks([...newMarks, update]);\n }\n };\n\n getComponent = mark => {\n if (!mark) return null;\n\n const tool = (this.props.tools || []).find(t => t.type === mark.type);\n\n return (tool && tool.Component) || null;\n };\n\n onBgClick = point => {\n const { x, y } = point;\n const { labelModeEnabled, currentTool, marks } = this.props;\n\n log('[onBgClick] x,y: ', x, y);\n\n if (labelModeEnabled || !currentTool) {\n return;\n }\n\n const buildingMark = marks.filter(m => m.building)[0];\n let updatedMark;\n\n // if the building mark has a different type, we just replace it\n if (buildingMark && currentTool && buildingMark.type === currentTool.type) {\n updatedMark = currentTool.addPoint({ x, y }, { ...buildingMark });\n } else {\n updatedMark = currentTool.addPoint({ x, y }, undefined);\n }\n\n this.updateMarks(buildingMark, updatedMark, true);\n };\n\n render() {\n const {\n axesSettings,\n currentTool,\n coordinatesOnHover,\n size,\n domain,\n backgroundMarks,\n range,\n title,\n labels,\n labelModeEnabled\n } = this.props;\n let { marks } = this.props;\n\n const graphProps = createGraphProps(domain, range, size, () => this.rootNode);\n const maskSize = getMaskSize(size);\n const common = { graphProps, labelModeEnabled };\n\n marks = removeBuildingToolIfCurrentToolDiffers({ marks: marks || [], currentTool });\n\n return (\n <Root rootRef={r => (this.rootNode = r)} title={title} {...common}>\n <Labels value={labels} {...common} />\n <g transform={`translate(${domain.padding}, ${range.padding})`}>\n <Grid {...common} />\n <Axes {...axesSettings} {...common} />\n <Bg {...size} onClick={this.onBgClick} {...common} />\n <mask id=\"myMask\">\n <rect {...maskSize} fill=\"white\" /> {/* TODO hardcoded color */}\n </mask>\n\n <g id=\"marks\" mask=\"url('#myMask')\">\n {(backgroundMarks || []).map((m, index) => {\n const Component = this.getComponent(m);\n const markType = m.type;\n\n return (\n <Component\n key={`${markType}-${index}-bg`}\n mark={{ ...m, disabled: true, isBackground: true }}\n labelNode={this.state.labelNode}\n {...common}\n />\n );\n })}\n\n {marks.map((m, index) => {\n const Component = this.getComponent(m);\n const markType = m.type;\n\n return (\n <Component\n key={`${markType}-${index}`}\n mark={m}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.changeMark}\n onComplete={this.completeMark}\n onClick={this.onBgClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={this.state.labelNode}\n isToolActive={currentTool && markType === currentTool.type}\n {...common}\n />\n );\n })}\n\n <foreignObject\n ref={labelNode => (this.labelNode = labelNode)}\n x=\"0\"\n y=\"0\"\n {...size}\n style={{ pointerEvents: 'none' }}\n />\n </g>\n </g>\n </Root>\n );\n }\n}\n\nexport default Graph;\n"],"file":"graph.js"}
1
+ {"version":3,"sources":["../src/graph.jsx"],"names":["log","graphPropTypes","axesSettings","PropTypes","shape","AxisPropTypes","backgroundMarks","array","className","string","collapsibleToolbar","bool","collapsibleToolbarTitle","domain","types","DomainType","labels","LabelType","labelModeEnabled","coordinatesOnHover","marks","onChangeMarks","func","range","size","width","number","isRequired","height","title","tools","getMaskSize","x","y","removeBuildingToolIfCurrentToolDiffers","currentTool","buildingMark","filter","m","building","newMarks","type","index","findIndex","splice","Graph","setState","labelNode","oldMark","newMark","props","markData","updatedMark","complete","updateMarks","existing","update","addIfMissing","mark","tool","find","t","Component","point","addPoint","undefined","graphProps","rootNode","maskSize","common","r","padding","onBgClick","map","getComponent","markType","disabled","isBackground","state","changeMark","completeMark","startDrag","stopDrag","pointerEvents","React","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Root, types, createGraphProps } from '@pie-lib/plot';\nimport debug from 'debug';\n\nimport Labels from './labels';\nimport { Axes, AxisPropTypes } from './axis';\nimport Grid from './grid';\nimport { LabelType } from './labels';\nimport Bg from './bg';\nimport { isDuplicatedMark } from './utils';\n\nconst log = debug('pie-lib:graphing:graph');\n\nexport const graphPropTypes = {\n axesSettings: PropTypes.shape(AxisPropTypes),\n backgroundMarks: PropTypes.array,\n className: PropTypes.string,\n collapsibleToolbar: PropTypes.bool,\n collapsibleToolbarTitle: PropTypes.string,\n domain: types.DomainType,\n labels: PropTypes.shape(LabelType),\n labelModeEnabled: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n marks: PropTypes.array,\n onChangeMarks: PropTypes.func,\n range: types.DomainType,\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired\n }),\n title: PropTypes.string,\n tools: PropTypes.array\n};\n\nconst getMaskSize = size => ({\n x: -23,\n y: -23,\n width: size.width + 46,\n height: size.height + 46\n});\n\nexport const removeBuildingToolIfCurrentToolDiffers = ({ marks, currentTool }) => {\n const buildingMark = marks.filter(m => m.building)[0];\n let newMarks = cloneDeep(marks);\n\n if (buildingMark && currentTool && buildingMark.type !== currentTool.type) {\n const index = newMarks.findIndex(m => isEqual(m, buildingMark));\n\n if (index >= 0) {\n newMarks.splice(index, 1);\n }\n }\n\n return newMarks;\n};\n\nexport class Graph extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n currentTool: PropTypes.object\n };\n\n static defaultProps = {\n onChangeMarks: () => {}\n };\n\n state = {};\n\n componentDidMount = () => this.setState({ labelNode: this.labelNode });\n\n changeMark = (oldMark, newMark) => {\n const { onChangeMarks, marks } = this.props;\n let newMarks = cloneDeep(marks);\n\n const index = newMarks.findIndex(m => isEqual(m, oldMark));\n\n if (index >= 0 && !isDuplicatedMark(newMark, marks, oldMark)) {\n newMarks.splice(index, 1, newMark);\n\n onChangeMarks(newMarks);\n }\n };\n\n completeMark = markData => {\n const { currentTool, marks } = this.props;\n const buildingMark = marks.filter(m => m.building)[0];\n\n if (!buildingMark || !currentTool) return;\n\n const updatedMark = currentTool.complete(buildingMark, markData);\n\n this.updateMarks(buildingMark, updatedMark);\n };\n\n updateMarks = (existing, update, addIfMissing = false) => {\n const { onChangeMarks, marks } = this.props;\n let newMarks = cloneDeep(marks);\n\n if (!update.building && isDuplicatedMark(update, marks)) {\n return;\n }\n\n const index = newMarks.findIndex(m => isEqual(m, existing));\n\n if (index >= 0) {\n newMarks.splice(index, 1, update);\n\n onChangeMarks(newMarks);\n } else if (addIfMissing) {\n onChangeMarks([...newMarks, update]);\n }\n };\n\n getComponent = mark => {\n if (!mark) return null;\n\n const tool = (this.props.tools || []).find(t => t.type === mark.type);\n\n return (tool && tool.Component) || null;\n };\n\n onBgClick = point => {\n const { x, y } = point;\n const { labelModeEnabled, currentTool, marks } = this.props;\n\n log('[onBgClick] x,y: ', x, y);\n\n if (labelModeEnabled || !currentTool) {\n return;\n }\n\n const buildingMark = marks.filter(m => m.building)[0];\n let updatedMark;\n\n // if the building mark has a different type, we just replace it\n if (buildingMark && currentTool && buildingMark.type === currentTool.type) {\n updatedMark = currentTool.addPoint({ x, y }, { ...buildingMark });\n } else {\n updatedMark = currentTool.addPoint({ x, y }, undefined);\n }\n\n this.updateMarks(buildingMark, updatedMark, true);\n };\n\n render() {\n const {\n axesSettings,\n currentTool,\n coordinatesOnHover,\n size,\n domain,\n backgroundMarks,\n range,\n title,\n labels,\n labelModeEnabled\n } = this.props;\n let { marks } = this.props;\n\n const graphProps = createGraphProps(domain, range, size, () => this.rootNode);\n const maskSize = getMaskSize(size);\n const common = { graphProps, labelModeEnabled };\n\n marks = removeBuildingToolIfCurrentToolDiffers({ marks: marks || [], currentTool });\n\n return (\n <Root rootRef={r => (this.rootNode = r)} title={title} {...common}>\n <Labels value={labels} {...common} />\n <g transform={`translate(${domain.padding}, ${range.padding})`}>\n <Grid {...common} />\n <Axes {...axesSettings} {...common} />\n <Bg {...size} onClick={this.onBgClick} {...common} />\n <mask id=\"myMask\">\n <rect {...maskSize} fill=\"white\" /> {/* TODO hardcoded color */}\n </mask>\n\n <g id=\"marks\" mask=\"url('#myMask')\">\n {(backgroundMarks || []).map((m, index) => {\n const Component = this.getComponent(m);\n const markType = m.type;\n\n return (\n <Component\n key={`${markType}-${index}-bg`}\n mark={{ ...m, disabled: true, isBackground: true }}\n labelNode={this.state.labelNode}\n {...common}\n />\n );\n })}\n\n {marks.map((m, index) => {\n const Component = this.getComponent(m);\n const markType = m.type;\n\n return (\n <Component\n key={`${markType}-${index}`}\n mark={m}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.changeMark}\n onComplete={this.completeMark}\n onClick={this.onBgClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={this.state.labelNode}\n isToolActive={currentTool && markType === currentTool.type}\n {...common}\n />\n );\n })}\n\n <foreignObject\n ref={labelNode => (this.labelNode = labelNode)}\n x=\"0\"\n y=\"0\"\n {...size}\n style={{ pointerEvents: 'none' }}\n />\n </g>\n </g>\n </Root>\n );\n }\n}\n\nexport default Graph;\n"],"file":"graph.js"}
package/lib/grid-setup.js CHANGED
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
8
12
  var _react = _interopRequireDefault(require("react"));
9
13
 
10
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -27,13 +31,9 @@ var _configUi = require("@pie-lib/config-ui");
27
31
 
28
32
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
29
33
 
30
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
-
32
34
  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; }
33
35
 
34
- 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; }
35
-
36
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
37
 
38
38
  var GridConfig = function GridConfig(props) {
39
39
  var classes = props.classes,
@@ -216,7 +216,7 @@ var GridSetup = function GridSetup(props) {
216
216
  };
217
217
 
218
218
  var onSizeChanged = function onSizeChanged(key, value) {
219
- var graph = _objectSpread(_objectSpread({}, size), {}, _defineProperty({}, key, value));
219
+ var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
220
220
 
221
221
  if (standardGrid) {
222
222
  graph.height = value;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"file":"grid-setup.js"}
1
+ {"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"file":"grid-setup.js"}